Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
та запрашивает передающую систему, чтобы та 
передала его еще раз. Все это происходит незаметно для программного обеспече- 
ния, эксплуатирующего TCP/IP. 
В Web-программировании нам вряд ли придется работать с TCP/IP напрямую (разве 
что в очень экзотических случаях) — обычно можно использовать более высокоуров- 

невые "языки", например, HTTP, служащий для обмена информацией между серве- 
ром и браузером. Собственно, этому протоколу посвящена значительная часть книги.
 
Его мы рассмотрим подробно чуть позже. А пока давайте поговорим еще немного о 
том, что касается TCP/IP, чтобы не возвращаться к этому впоследствии. 
Адресация с Сети 
Машин в Интернете много, это факт. Так что вопрос о том, как можно их 
эффективно 
идентифицировать в пределах этой сети, оказывается далеко не праздным. Кроме 
того, практически все современные операционные системы работают в многозадач- 
ном режиме (поддерживают одновременную работу нескольких программ). Это зна- 
чит, что возникает также вопрос о том, как нам идентифицировать конкретную сис- 

тему или программу, желающую обмениваться данными через Сеть. Эти две задачи 
решаются стеком TCP/IP при помощи IP-адреса и номера порта. Давайте посмотрим, 
как. 
Все, о чем рассказано далее, не является непреложной истиной. Скорее даже 
наоборот. Местами может показаться, что я "ломлюсь в открытую дверь" — 
пытаюсь доказать существование того, что и так существует. И все-таки, на 
мой взгляд, чтобы понять что-то, нужно сначала проникнуться мыслью, что 
основы этого "что-то" довольно просты, пусть даже они и абстрактны. 
IP-адрес 
Любой компьютер, подключенный к Интернету и желающий обмениваться информа- 
цией со своими "сородичами", должен иметь некоторое уникальное имя, или IP- 
адрес. Вот уже 30 лет (думаю, и в ближайшее десятилетие тоже) IP-адрес выглядит 

примерно так: 
127.12.232.56 
Как мы видим, это — четыре 8-разрядных числа (то есть принадлежащих диапазону 
от 0 до 255 включительно), соединенные точками. Не все числа допустимы в записи 

IP-адреса: ряд из них используется в служебных целях (например, адрес 127.0.0.1 

выделен для обращения к локальной машине — той, на которой был произведен за-

Глава 1. Принципы работы Интернета 15 
прос, а число 255 соответствует широковещательной рассылке в пределах текущей 
подсети). Мы не будем здесь обсуждать эти исключения детально. 
Возникает вопрос: ведь компьютеров в Интернете миллионы (а скоро будут миллиар- 

ды). Как же мы, простые пользователи, запросив IP-адрес машины, в считанные се- 

кунды с ней соединяемся? Как "оно" (и что это за "оно"?) узнает, где на самом 
деле 
расположен компьютер и устанавливает с ним связь, а в случае неверного адреса 
аде- 
кватно на это реагирует? Вопрос актуален, поскольку машина, с которой мы 
собира- 
емся связаться, вполне может находиться за океаном, и путь к ней пролегает 
через 
множество промежуточных серверов. 
В деталях вопрос определения пути к адресату довольно сложен. Однако достаточно 

нетрудно представить себе общую картину, точнее, некоторую ее модель. Предполо- 

жим, что у нас есть 1 миллиард компьютеров (давайте завысим цифры), каждый из 
которых напрямую соединен с 11 (к примеру) другими через кабели. Получается 
эта- 
кая паутина из кабелей, не так ли? Кстати, это объясняет, почему одна из 
наиболее 
популярных служб Интернета, базирующаяся на протоколе HTTP, названа WWW 
(World Wide Web, или Всемирная паутина). 
Следует заметить, что в реальных условиях, конечно же, компьютеры не со- 
единяют друг с другом таким большим количеством каналов. Вместо этого 
применяются всевозможные внутренние таблицы, которые позволяют компью- 
теру "знать", где конкретно располагаются некоторые ближайшие его соседи. 
То есть любая машина в Сети имеет информацию о том, через какие узлы 
должен пройти сигнал, чтобы достигнуть самого близкого к ней адресата — а 
если не обладает этими знаниями, то получает их у ближайшего "сородича" в 
момент загрузки операционной системы. Разумеется, размер таких таблиц ог- 
раничен и они не могут содержать маршруты до всех машин в Интернете (хотя 
в самом начале развития Интернета, когда компьютеров в Сети было немного, 
именно так и обстояло дело). Потому-то я и провожу аналогию с одиннадца- 
тью соседями. 
Итак, мы сидим за компьютером номер 1 и желаем соединиться с машиной 
somehost с таким-то IP-адресом. Мы даем нашему компьютеру запрос: выясни-ка у 
своих соседей, не знают ли они чего о somehost. Он рассылает в одиннадцать 
сторон 
этот запрос (счит
 
<<-[Весь Текст]
Страница: из 287
 <<-