logo search
Глава18

Протоколы общения компьютеров в сети

Сеть Интернет объединяет десятки миллионов компьютеров самых разных типов: от персональных компьютеров разных моделей и фасонов до огромных больших и сверхбольших компьютеров — мэйнфреймов. Найти общий язык общения таких «разношерстных» машин друг с другом — весьма сложная задача. Она разрешается благодаря использованию созданной для этой сети системы протоколов общения компьютеров.

Основу этой системы составляют два главных протокола:

ПРИМЕЧАНИЕ

В 2003 году был представлен новый протокол Fast TCP: поддерживаемая им пиковая скорость 8,5 Гбит/с (у протокола TCP всего 620 Мбит/с).

Протокол IP организует разбиение сообщений на электронные пакеты (IP—дейтаграммы1), маршрутизирует отправляемые пакеты и обрабатывает получаемые. TCP является типичным протоколом транспортного уровня: он управляет потоком данных, обрабатывает ошибки и гарантирует, что информационные пакеты получены все и собраны в нужном порядке.2

Последовательность процедур использования этих протоколов следующая. Информация для передачи упаковывается средствами прикладной программы в блоки определенного формата. Протокол IP разделяет эти блоки на пакеты, каждый из которых получает номер, чтобы можно было проверить потом полноту полученной информации, и заголовок.

Механизм работы межсетевых протоколов TCP/IP подобен действиям почтовой службы:

Электронные пакеты имеют стандартный размер: одно длинное сообщение может размещаться в нескольких пакетах, и, наоборот, в один пакет могут быть помещены несколько коротких сообщений, если у них одинаковый адрес получателя. Каждый пакет доставляется адресату независимо от всех других по оптимальному на текущий момент маршруту. Иначе говоря, взаимосвязанные пакеты и пакеты от одного компьютера к другому компьютеру могут передаваться разными путями. При этом по одному каналу могут передаваться пакеты, направляющиеся в совершенно разные части сети. Это позволяет наиболее эффективно использовать ресурсы системы телекоммуникаций и обходить поврежденные ее участки.

На приемном конце у получателя: проверяется качество каждого поступившего пакета (не произошло ли искажения информации при передаче), все пакеты одного длинного сообщения собираются вместе, проверяется наличие всех пакетов этого сообщения и, в случае полноты и достоверности пакетов, они объединяются в единое сообщение. Если пакет информации потерялся или исказился, запрашивается его копия. Поскольку сообщение восстанавливается только после получения всех неискаженных пакетов, последовательность их получения значения не имеет.

Протоколы IP и TCP настолько тесно связаны, что их часто приводят под одним названием — протоколы TCP/IP.

В калифорнийском технологическом институте (США) разработан новый протокол — FastTCP, обеспечивающий передачу пакетов данных размером 1500 байтов по сети Интернет со скоростью в несколько раз превышающей скорость, реализованную обычным протоколом TCP.

На основе протоколов IP и TCP разработаны многие сетевые прикладные сервисные протоколы, среди которых следует отметить:

Эти протоколы формируют в сети соответствующие им прикладные процессы, а задача протокола TCP — обеспечить передачу данных между этими процессами. Одновременно в сети может выполняться несколько процессов, и, чтобы протокол ТСР мог их опознать, они идентифицируются номерами, носящими название номеров порта. За некоторыми процессами номера порта жестко закреплены, например, порт 21 — процесс передачи файлов FTP, порт 23 — процесс удаленного доступа по протоколу Telnet и т. д.

Номер порта и IP-адрес (иногда такой набор называют сокетом) однозначно определяют процесс, выполняемый в сети.

Общение пользователей с системой осуществляется либо на базе операционной системы UNIX, часто используя текстовой интерфейс, либо, что гораздо распространеннее сейчас, в среде MS Windows, для которой существуют прикладные программы работы со всеми технологиями и сервисами Интернета, имеющие простой и удобный графический интерфейс. В среде UNIX для внутрисетевого кодирования информации используются коды КОI-8, а в среде Windows — коды в стандарте ANSI.