|
передаче
данных. Также все серверы участвуют в вышеописанной "лавине" поиска компьютера
по ее IP-адресу, на многих хранится какая-то информация, доступная или нет
извне.
Сервер — это именно машина ("железо"), а не логическая часть Сети, он может
иметь несколько различных IP-адресов (не говоря уже о доменных именах), так что
вполне может выглядеть из Интернета как несколько независимых систем.
Только что я сказал, что сервер — это "железо". Пожалуй, это слишком
механистиче-
ский подход. Мы можем придерживаться и другой точки зрения, тоже в некоторой
степени правильной. Отличительной чертой сервера является то, что он использует
один-единственный стек TCP/IP, т. е. на нем запущено только по одному
"экземпля-
ру" драйверов протоколов. Пожалуй, это будет даже правильнее, хотя в настоящее
время оба определения почти эквивалентны (просто современный компьютер не на-
столько мощен, чтобы на нем могли бы функционировать одновременно две операци-
онные системы, а следовательно, и несколько стеков TCP/IP). Посмотрим, как
будет с
этим обстоять дело в будущем.
У термина "сервер" есть и еще одно, совершенно другое, определение — это про-
грамма (в терминологии, TCP — процесс), обрабатывающая запросы клиентов. На-
пример, приложение, обслуживающее пользователей WWW, называется Web-
сервером. Как правило, из контекста будет ясно, что конкретно имеется в виду.
Все
же, чтобы не путаться, иногда я такие программы буду называть сетевыми демона-
ми.
Глава 1. Принципы работы Интернета 21
Узел
Любой компьютер, подключенный к Интернету, имеет свой уникальный IP-адрес. Нет
адреса — нет узла. Узел — совсем не обязательно сервер (типичный пример — кли-
ент, подключенный через модем к провайдеру). Вообще, мы можем дать такое опре-
деление: любая сущность, имеющая уникальный IP-адрес в Интернете, называется
узлом. С этой (логической) точки зрения Интернет можно рассматривать, как
множе-
ство узлов, каждый из которых потенциально может связаться с любым другим. За-
метьте, что на одной системе может быть расположено сразу несколько узлов, если
она имеет несколько IP-адресов. Например, один узел может заниматься только
дос-
тавкой и рассылкой почты, второй — исключительно обслуживанием WWW, а на
третьем работает DNS-сервер.
Помните, мы говорили о том, что TCP использует термин "процесс", и каждый про-
цесс для него однозначно идентифицируется IP-адресом и номером порта. Так вот,
этот самый IP-адрес и есть узел.
Порт
Некоторое число, которое идентифицирует программу, желающую принимать данные
из Интернета. Таким образом, порт — вторая составляющая адресации TCP. Любая
программа, стремящаяся передать данные другой, должна знать номер порта, кото-
рый закреплен за последней. Например, традиционно Web-серверу выделяется порт с
номером 80, поэтому, когда вы набираете какой-нибудь адрес в браузере, запрос
идет
именно на порт 80 указанного узла.
Сетевой демон
Сетевой демон — это программа, работающая на сервере и занимающаяся обслужи-
ванием различных пользователей, которые могут к ней подключаться. Иными слова-
ми, сетевой демон — это программа-сервер. Типичный пример — Web-сервер, а так-
же FTP- и Telnet-серверы.
Сам термин "сетевой демон" возник на базе устоявшейся терминологии Unix.
В этой системе демоном называют программу, которая постоянно работает на
машине в фоновом режиме, обычно с системными привилегиями суперпользо-
вателя (то есть, эта программа может делать на машине все, что ей угодно, и
не подчиняется правам доступа обычных пользователей). Демон не имеет ни-
какой связи с терминалом (экраном и клавиатурой), поэтому не может ни при-
нимать данные с клавиатуры, ни выводить их на экран. Вот из-за этой "бес-
телесности" его и называют демоном.
Впрочем, к Web-программированию написание сетевых демонов не имеет почти ни-
какого отношения, поскольку это — удел системного программирования. И все же
Часть I. Основы Web-программирования 22
скажу о них пару слов, т. к. эта область иногда довольно близко примыкает к
Web-
программированию. Написание сетевых демонов — дело непростое и, к тому же,
обычно требует полного контроля над "железом" сервера. Фирмы, "продающие" вир-
туальные хосты в Интернете (хостинг-провайдеры), не позволяют этого делать из
соображений безопасности, а также из-за
|
|