|
семейство протоколов обмена данными в сети Интернет называют стеком TCP/IP
(стек в переводе с английского как раз и обозначает "стопку").
Браузер
TCP
IP
Физический
протокол
. . .
Web-сервер
TCP
IP
Физический
протокол
. . .
Интернет
Машина клиента Машина сервера
Рис. 1.1. Организация обмена данными в Интернете
Каждый из протоколов в идеале "ничего не знает" о том, какой протокол "стоит
над
ним". Например, протокол IP (который обеспечивает несколько более простой
сервис
по сравнению с TCP) не использует возможности протокола TCP, а TCP, в свою оче-
Глава 1. Принципы работы Интернета 13
редь, "не догадывается" о существовании протокола HTTP (именно его задействует
браузер и понимает Web-сервер, на схеме протокол HTTP не обозначен).
Применение такой организации позволяет заметно упростить ту часть операционной
системы, которая отвечает за поддержку работы с сетью. А я тем временем прошу
вас
не пугаться. Нас будет интересовать в конечном итоге всего лишь протокол самого
высокого уровня, "возвышающийся" над всеми остальными протоколами, т. е. HTTP
и то, как он взаимодействует с протоколом TCP.
Семейство TCP/IP
Как мы уже знаем, в сети Интернет в качестве основного выбирается протокол TCP,
хотя, конечно, этот выбор обусловлен скорее историческими причинами, нежели его
действительными преимуществами (впрочем, преимуществ у TCP также предоста-
точно). Он ни в коей мере не претендует на роль низкоуровневого — наоборот, в
свою работу он вовлекает другие протоколы, например, IP (в свою очередь, IP
также
базируется на услугах, предоставляемых некоторыми другими протоколами). Прото-
колы TCP и IP настолько сильно связаны, что принято объединять их в одну группу
под названием семейство TCP/IP (в него включается также протокол UDP, который
мы рассматривать не будем). Ниже приводятся основные особенности протокола
TCP, входящего в семейство.
r Корректная доставка данных до места назначения гарантируется — разумеется,
если такая доставка вообще возможна. Даже если связь не вполне надежна (на-
пример, на линии помехи оттого, что в кабель попала вода, замерзшая зимой и ра-
зорвавшая оболочку провода), "потерянные" фрагменты данных посылаются сно-
ва и снова до тех пор, пока вся информация не будет передана.
r Передаваемая информация представлена в виде потока — наподобие того, как
осуществляется обмен с файлами практически во всех операционных системах.
Иными словами, мы можем "открыть" соединение и затем выполнять с ним те же
самые операции, к каким мы привыкли при работе с файлами. Таким образом,
программы на разных машинах (возможно, находящихся за тысячи километров
друг от друга), подключенных к Интернету, обмениваются данными так же не-
принужденно, как и расположенные на одном компьютере.
r TCP/IP устроен так, что он способен выбрать оптимальный путь распространения
сигнала между передающей и принимающей стороной, даже если сигнал проходит
через сотни промежуточных компьютеров. В последнем случае система выбирает
путь, по которому данные могут быть переданы за минимальное время, основыва-
ясь при этом на статистическую информацию работы сети и так называемые таб-
лицы маршрутизации.
r При передаче данные разбиваются на фрагменты — пакеты, которые и доставля-
ются в место назначения по отдельности. Разные пакеты вполне могут следовать
различными маршрутами в Интернете (особенно если их путь пролегает через де-
Часть I. Основы Web-программирования 14
сятки серверов), но для всех них гарантирована правильная "сборка" в месте на-
значения (в нужном порядке). Как уже упоминалось, принимающая сторона в слу-
чае обнаружения "недосдачи" пак
|
|