![[В стадии разработки]](images/undercon.gif)
| |
Протоколы
Интернета
Internet позволяет легко взаимодействовать друг с другом самым различным видам
компьютерных систем. Каким же образом это происходит? Благодаря стандартам. В
Internet применяются стандартизованные методы передачи данных, позволяющие
скрыть от пользователя все многообразие сетей и машин.
Наиболее фундаментальным стандартом, применяемым в Internet, является набор
сетевых протоколов TCP/IP (Transmission Control Protocol/Internet
Protocol), определяющих алгоритмы передачи данных. Поскольку все компьютеры
взаимодействуют с Internet через TCP/IP, нет необходимости в сложном и
дорогостоящем преобразовании протоколов, что значительно упрощает операции в
Internet. Протокол TCP/IP не зависит от конкретной операционной системы и, таким
образом, реализуется для всех типов компьютеров - IBM, APPLE и др.
TCP/IP
позволяет присвоить каждому компьютеру уникальный адрес Internet. Такой адрес
называется IP-адресом или адресом TCP/IP и выполняет ту же роль, что и обычный
телефонный номер, то есть позволяет установить связь между двумя пунктами сети.
Например, адрес TCP/IP 137.65.1.3 идентифицирует в сети один из основных
информационных компьютеров корпорации NOVELL. Однако в большинстве случаев
пользователи Internet применяют более удобную адресацию, называемую системой
имен доменов (Domain Name System, DNS). DNS - это иерархический распределенный
метод организации пространства имен в Internet, который позволяет уйти от
цифровой адресации и дает ряд других преимуществ.
Протокол управления передачей TCP
Транспортный уровень Internet
реализуется TCP (Transmission Control Protocol, Протокол контроля передачи) и
протоколом дейтаграмм пользователя UDP (User Datagram Protocol). TCP
обеспечивает транспортировку данных с установлением соединения, в то время как
UDP работает без установления соединения.
Протокол TCP предоставляет транспортные услуги, отличающиеся от услуг UDP.
Вместо ненадежной доставки дейтаграмм без установления соединений, он
обеспечивает гарантированную доставку с установлением соединений в виде байтовых
потоков.
Протокол TCP используется в тех случаях, когда требуется надежная доставка
сообщений. Он освобождает прикладные процессы от необходимости использовать
таймауты и повторные передачи для обеспечения надежности. Внутренняя структура
модуля TCP гораздо сложнее структуры модуля UDP.

Рисунок 1 -
Протоколы транспортного уровня TCP и UDP
TCP - надежный
байт-ориентированный (byte-stream) протокол с установлением
соединения. TCP находится на транспортном уровне стека TCP/IP,
между протоколом IP и собственно приложением. Протокол IP занимается
пересылкой дейтаграмм по сети, никак не гарантируя доставку,
целостность, порядок прибытия информации и готовность получателя к
приему данных; все эти задачи возложены на протокол TCP.
При получении дейтаграммы, в поле Protocol которой указан код протокола
TCP (6), модуль IP передает данные этой дейтаграммы модулю TCP. Эти
данные представляют собой TCP-сегмент, содержащий TCP-заголовок и данные
пользователя (прикладного процесса). Модуль TCP анализирует служебную
информацию заголовка, определяет, какому именно процессу предназначены
данные пользователя, проверяет целостность и порядок прихода данных и
подтверждает их прием другой стороне. По мере получения правильной
последовательности неискаженных данных пользователя они передаются
прикладному процессу. Ниже основные функции протокола TCP и их
реализация рассмотрены более подробно.
Базовая передача данных. Модуль TCP выполняет передачу
непрерывных потоков данных между своими клиентами в обоих направлениях.
Клиентами TCP являются прикладные процессы, вызывающие модуль TCP при
необходимости получить или отправить данные процессу-клиенту на другом
узле.
Протокол TCP рассматривает данные клиента как непрерывный не
интерпретируемый поток октетов. TCP разделяет этот поток на части для
пересылки на другой узел в TCP-сегментах некоторого размера. Для
отправки или получения сегмента модуль TCP вызывает модуль IP.
|
Протокол IP
Основу транспортных средств стека протоколов TCP/IP составляет протокол
межсетевого взаимодействия (InternetProtocol, IP). Он обеспечивает
передачу дейтаграмм от отправителя к получателям через объединенную систему
компьютерных сетей.
Название данного протокола - IntrenetProtocol- отражает его суть: он
должен передавать пакеты между сетями. В каждой очередной сети, лежащей на пути
перемещения пакета, протокол IP вызывает средства транспортировки, принятые в
этой сети, чтобы с их помощью передать этот пакет на маршрутизатор, ведущий к
следующей сети, или непосредственно на узел-получатель.
Протокол IP относится к протоколам без установления соединений. Перед IP не
ставится задача надежной доставки сообщений от отправителя к получателю.
Протокол IP обрабатывает каждый IP-пакет как независимую единицу, не имеющую
связи ни с какими другими IP-пакетами. В протоколе IP нет механизмов, обычно
применяемых для увеличения достоверности конечных данных, отсутствует
квитирование - обмен подтверждениями между отправителем и получателем, нет
процедуры упорядочивания, повторных передач или других подобных функций. Если во
время продвижения пакета произошла какая-либо ошибка, то протокол IP по своей
инициативе ничего не предпринимает для исправления этой ошибки. Например, если
на промежуточном маршрутизаторе пакет был отброшен по причине истечения времени
жизни или из-за ошибки в контрольной сумме, то модуль IP не пытается заново
послать испорченный или потерянный пакет. Все вопросы обеспечения надежности
доставки данных по составной сети в стеке TCP-IP решает протокол TCP, работающий
непосредственно над протоколом IP. Именно TCP организует повторную передачу
пакетов, когда в этом возникает необходимость.
Важной особенностью протокола IP, отличающей его от других сетевых протоколов
(например, от сетевого протокола IPX), является его способность
выполнять динамическую фрагментацию пакетов при передаче их между сетями с
различными, максимально допустимыми значениями поля данных кадров MTU. Свойство
фрагментации во многом способствовало тому, что протокол IP смог занять
доминирующие позиции в сложных составных сетях.
Имеется прямая связь между функциональной сложностью протокола и сложностью
заголовка пакетов, которые этот протокол использует. Это объясняется тем, что
основные служебные данные, на основании которых протокол выполняет то или иное
действие, переносятся между двумя модулями, реализующими этот протокол на разных
машинах, именно в полях заголовков пакетов. Поэтому очень полезно изучить
назначение каждого поля заголовка IP-пакета, и это изучение дает не только
формальные знания о структуре пакета,но и объясняет все основные режимы работы
протокола по обработке и передаче IP-дейтаграмм.
SMTP (Simple
Mail Transfer Protocol) - протокол электронной почты.
SMTP дает возможность подключенным к Internet пользователям обмениваться
электронной почтой. Благодаря этому и другим стандартам можно передавать
электронную почту из одного места в другое, причем не только сообщения, но и
программы, графику, звук, видео и другие типы данных.
SMTP -
Simple Mail Transfer Protocol), использует порт по умолчанию -25. Основной
недостаток протокола, это отсутствие аутентификации и "докачки" (как в FTP, HTTP)
сообщений, т.е. если посылается большое письмо (10Мбайт), то в случае разрыва
соединения сообщение придется передавать заново. Поэтому большие письма
необходимо резать на части.
Модель протокола: клиент инициирует соединение с сервером;
клиент посылает запросы на обслуживание; сервер отвечает на эти запросы.

Рисунок 2 -
Модель протокола SMTP
|
Post Office Protocol (POP)
- протокол доставки почты пользователю из его почтового ящика
почтового сервера POP. Когда почта пришла на сервер (по SMTP), она
раскладывается по почтовым ящикам. Чтобы забрать почту из ящика нужен
POP. |

Рисунок 3 - Модель
протокола POP
В протоколе РОРЗ оговорены три стадии процесса получения почты:
-
авторизация;
-
транзакция,
- обновление
(завершение транзакции).
После того как сервер и клиент РОРЗ установили соединение, начинается
стадия авторизации. На стадии авторизации клиент идентифицирует себя для
сервера. Если авторизация прошла успешно, сервер открывает почтовый ящик
клиента и начинается стадия транзакции. В ней клиент либо запрашивает у
сервера информацию (например, список почтовых сообщений), либо просит
его совершить определенное действие (например, выдать почтовое
сообщение). Наконец, на стадии обновления сеанс связи заканчивается.
Ответ сервера может иметь либо положительный, либо отрицательный ответ.
|
Протокол обмена гипертекстовой информацией
HTTP - это протокол прикладного уровня, разработанный для обмена гипертекстовой
информацией в сети Internet, используется Word Wide Web с 1990 года.
Реальная информационная система требует гораздо большего количества функций, чем
просто поиск. HTTP позволяет реализовать в рамках обмена данными набор методов
доступа, базирующихся на спецификации универсального идентификатора ресурсов (URI),
применяемого в форме универсального локатора ресурсов (URL) или универсального
имени ресурса (URN). Сообщения по сети при использовании протокола HTTP
передаются в формате, схожим с форматом почтового сообщения Internet или с
форматом сообщений MIME. HTTP используется для взаимодействия программ-клиентов
с программами-шлюзами, разрешающими доступ к ресурсам электронной почты Internet
(SMTP), спискам новостей (NNTP), файловым архивам (FTP), системам Gopher и WAIS.
Протокол разработан для доступа к этим ресурсам посредством промежуточных
программ-серверов (proxy), которые позволяют передавать информацию между
различными информационными службами без потерь. Протокол реализует принцип
"запрос/ответ". Запрашивающая программа - клиент - инициирует взаимодействие с
отвечающей программой -сервером, и посылает запрос, включающий в себя метод
доступа, адрес URL. серию протокола, информацию клиента,
иг возможно, тело cообразно момента. Сервер отвечает строкой состояния,
включающей версию протокола код возврата. Данное сообщение содержит информацию
сервера метаинформацию и тело сообщения.
При работе в Internet для обслуживания HTTP-запросов используется 80 порт TCP/IP.
Практика использования протокола такова, что клиент
устанавливает соединение и ждет ответа сервера. После отправки ответа сервер
инициирует разрыв соединения. Таким образом, при передаче сложных гипертекстовых
страниц соединение может устанавливаться несколько раз. Остановимся более
подробно на механизме взаимодействия и форме передаваемой информации.
|