Основы коммуникационных протоколов
- Протокол
IP
Протокол
IP (Internet Protocol) является частью стеков протоколов TCP/IP, которые представляют собой четырёхуровневую модель, представленную на РИС.1
Рисунок 1. Четырёхуровневый стек протоколов
TCP/IP
Данный протокол спроектирован для передачи данных в обоих направлениях между сетями, формирующими интернет. Хотя чаще он испульзуется совместно с протоколом TCP.IP-протокол содержит
:
- Адресную информацию
- Управляющую информацию
- Передаваемые данные
- Пакеты, в которых вся эта информация хранится и передаётся
Вообще пакет-одно из основных понятий в теме интернет протоколов.
Пакет определяется как логически сгруппированная единица информации, содержащая заголовок и пользовательские данные.Заголовок содержит управляющую информацию,которая помогает ему добраться до места назначения.
Структура IP-пакета представлена на РИС.2
Рисунок2. Структура IP-пакета
Рассмотрим подробно все поля на РИС.2
:
- Версия
-текущая версия протокола IP
- Длина заголовка-д
лина заголовка дейтаграммы в 32-битных словах
- Тип службы-
способ управления дейтагаммой
- Общая длина-
общая длина всего IP паета целиком в байтах
- Идентификатор фрагмента-
целое число используемое для сборки дейтаграммы из фрагментов т.е пакетов
- Флаги-
3 битное поле, где первый бит определяет, фрагментирован ли пакет.Второй бит указывает,является ли пакет последним в серии. Третий бит не используется
- Смещение фрагмента-
смещение данных фрагмента относительно данных исходного пакета.Предназначен для корректной сборки дейтаграмм.
- Время жизни(TTL)-
Счетчик, значение которого уменьшается на единицу каждый раз, когда пакет обрабатывается очередным хостом. При нулевом значении счётчика пакет уничтожается.
- Протокол-
Указывает какому протоколу более высокого уровня предназначается для обработки принимаемый пакет.
- Контрольная сумма заголовка-
контролирует целостность заголовка пакета.
- Адрес источник
/адрес приёмника-отпраляющий и принимающие узлы соответственно
- Параметры-
содержат параметры безопасности
- Данные-
собственно данные
IP-дейтаграммы являются основной ифундаментальной единицей передачи данных в интернет.IP-дейтаграмма является элементом данных, передаваемых между IP-модулями.
2.Протокол
TCP
Протокол
IP имеет много недостатков, одним из которыхявляется ненадёжная доставка пакетов-пакеты могут пропадать из-за ошибок передачи, плохоймаршрутизации или из-за деградации. Протокол TCP (Transmission Control Protocol) помогает решить эти проблеммы, устанавливая потокоориентированное соединение. Фактически стек TCP/IP основан преимущественно на функциональности протокола TCP, который в свою очередь изпользует протокол IP
Протокол
TCP выстраивает и подсчитывет байты потока данных используя 32-битный номер последовательности. Каждый TCP-пакет содержит начальный номер последовательности(номер первого байта данных) и номер подтверждения (номер последнего байта данных). Для повышения эффективности передачи данных реализуется концепция скользящего окна
На РИС.3 показан пример скользящего окна протокола
TCP
Рисунок3. Пример скользящего окна TCP
Структура
TCP-пакета показана на РИС.4
Рисунок 4.
Структура TCP-пакета
3.Протокол
UDP
Протокол
UDP(User Datagram Protocol) аналогично протоколу IP не является ориентированым на соединение протоколом. Он так же не обеспечивает надёжную доставку дейтаграмм.Сообщения UDP могут теряться, дублироваться или приходить в неправильном порядке.Из-за того что протокол UDP содержит заголовки меньшего размера, он гораздо меньше загружает сеть, чем TCP,и таким образом может обеспечить передачу пакета быстрее, чем способна обработать принимающая станция.
Протокол
UDP обычно используется в тех случаях, когда протоколы более высоких уровней обеспечивают исправление ошибок и управление потоком.
Из популярных серверных доменов, использующих
UDP можно назвать TFTP(Trivial File Transfer Protocol) и DNS (Domain Name System).
Сообщения UDP (пользовательские дейтаграммы) вкладываются в
IP-дейтаграммы и передаются по сети интернет.
Фотмат
UDP-дейтаграммы приведён на РИС.5
Рисунок 5. Формат UDP-дейтаграммы
4.Протокол
ICMP
Протокол
ICMP (Internet Control Message Protocol) передаёт пакеты сообщений об ошибках и другую информацию, относящуюся к станции-отправителю. Узлы и сетевое оборудование используют данный механизм для передачи управляющей информации и информации об ошибках, если эта информация имеет отношение к обработке IP-пакетов.
Формат
ICMP включает поле типа сообщения, в котором указывается тип сообщения, поле кода, которое содержит детальную информацию о типе,и поле контрольной суммы.
Пример дейтаграммы
ICMP показан на РИС.6
Рисунок 6.
Пример дейтаграммы ICMP
Определенно много типов полезных сообщений
ICMP,т.е сообщений сообщающих принимающему узлу информацию различного типа об узле-отправителе.Их подробные описания приведены на РИС.7
Рисунок 7.Схема сообщений
ICMP
Рассмотрим более подробно
коды этих ответов:
- Эхо-ответ(тип 0)
/эхо-запрос (тип 8) является основным механизмом тестирования тестирования соединения между двумя узлами.Грубо говоря это знаменитая команда ping ,которая посылает эхо запрос к определённому узлу.Этот узел должен ответить. Если интересно, можете попробовать войти в инет, затем в DOS или режиме её эмуляции набрать ping [ip-адрес] и посмотреть результат.
- Пункт назначения недоступен (тип 3)
Причин недоступности узла может быть много, но результат один-коннекта с этим узлом нету.
- Подавление источника (тип 4)
Посылаются узлу-отправителю, когда принимающая сторона не успевает обработать приходящие дейтаграммы и её приходится их отбрасывать. Запросы на подавление источника чаще всего играют роль запросов на уменьшение скорости, с которой посылаются исходный дейтаграммы.
- Перенаправление (тип 5)
Переодически отправляется узлом получателю для поддержания в актуальном состоянии таблиц маршрутизации.Грубо говоря для проверки правильности адреса-назначения.
- Лимит времени превышен (тип
11) В каждой дейтаграмме, гуляющей по просторам инета, есть такое поле TTL, которое определяет время жизни этой самой дейтаграммы (количество переходов через маршрутизаторы). Если TTL=0, то она уничтожается маршрутизатором и узлу отправителю посылается соответствующее ICMP сообщение.
- Неверный параметр дейтаграммы
(тип 12) Формируется, если повреждён заголовок дейтаграммы
- Временная метка-запрос (тип 13)
/временная метка-ответ (тип 14) Данные типы предоставляют средства регулирования временных параметров сети. Станция-отправитель передаёт метку времени(время, когда сообщение было отправленно), а станция-получатель принимает эту метку времени и вычисляет задержку для синхронизации внутренних часов.
- Информационный запрос (тип 15)
/информационный ответ (тип 16) Альтернатива протоколу RARP.Используется станциями-отправителями для получения интернет-адреса для сети, к которой они подключены.
- Запрос маски адреса (тип 17)/ответ маски адреса (тип 18)
То же, что и для типов 15/16, только результатом запроса является значение маски подсети, к которой они подключенны.