
- •Формат полей пакета tcp.
- •Назначение полей пакета tcp. Порт источника.
- •Порт назначения.
- •Номер последовательности.
- •Номер подтверждения.
- •Смещение данных.
- •Зарезервировано.
- •Флаги (управляющие биты)
- •Контрольная сумма.
- •Указатель важности
- •Отчет о результатах по 4-м командам п. 6.5-6.10 сопровождения системы.
- •Краткий ответ на 5 контрольных вопросов.
- •4. Что такое рутерная таблица и как она реализуется и используется при передаче ip пакетов.
- •5. Перечислите основные характеристики tcp протокола Internet.
- •6. Как организован механизм скользящего окна в пакете tcp?
- •7. Как работает возможность “push” tcp?
- •8. Как реализована возможность “urgent data” tcp?
- •9. Каковы функции протокола arp?
- •10. Каковы функции протокола dhcp?
Московский Технический Университет Связи и Информатики
Отчет к лабораторной работе № 28.
Основы сетевых технологий
Ознакомление с основами реализации TCP/IP протоколов на базе 100-мегабитной коммутируемой сети Ethernet.
Выполнила: Аликин С.С.
Проверил: Куриленко С.
Дата: 09.03.2009
Москва 2009
Отчет к лабораторной работе № 28.
Цель работы.
1.1. Изучение основ реализации TCP/IP протоколов в сетях на базе коммутируемого 100-мегабитного Ethernet..
1.2. Изучение способов реализации основных протоколов TCP/IP.
1.3. Получение практических навыков реализации технологии Ethernet и TCP/IP.
Спецификация оборудования и мат. обеспечения лаборатории 211.
Схема с форматом и назначением полей пакета IP и TCP.
Формат полей пакета IP.
Назначение полей пакета IP.
Поле версия характеризует версию IP-протокола (например, 4 или 6). Формат пакета определяется программой и, вообще говоря, может быть разным для разных значений поля версия. Только размер и положение этого поля незыблемы. Поэтому в случае изменений длины IP-адреса слишком тяжелых последствий это не вызовет.
Поле HLEN - длина заголовка, измеряемая в 32-разрядных словах, обычно заголовок содержит 20 октетов (HLEN=5, без опций и заполнителя). Заголовок для IPv6 имеет размер в два раза больше, чем для IPv4.
Поле полная длина определяет полную длину IP-дейтаграммы (до 65535 октетов), включая заголовок и данные.
Одно-октетное поле тип сервиса (TOS - type of service) характеризует то, как должна обрабатываться дейтаграмма. Формат поля TOS определен в документе RFC-1349. Это поле делится на 6 субполей:
Поля идентификатор, флаги (3 бита) и указатель фрагмента (fragment offset) управляют процессом фрагментации и последующей "сборки" дейтаграммы.
Идентификатор представляет собой уникальный код дейтаграммы, позволяющий идентифицировать принадлежность фрагментов и исключить ошибки при "сборке" дейтаграмм.
Бит 0 поля флаги является резервным, бит 1 служит для управления фрагментацией пакетов (0 - фрагментация разрешена; 1 - запрещена), бит 2 определяет, является ли данный фрагмент последним (0 - последний фрагмент; 1 - следует ожидать продолжения).
Поле время жизни (TTL - time to live) задает время жизни дейтаграммы в секундах, т.е. предельно допустимое время пребывания дейтаграммы в системе. При каждой обработке дейтаграммы, например в маршрутизаторе, это время уменьшается в соответствии со временем пребывания в данном устройстве или согласно протоколу обработки. Если TTL=0, дейтаграмма из системы удаляется. Во многих реализациях TTL измеряется в числе шагов, в этом случае каждый маршрутизатор выполняет операцию TTL=TTL-1. TTL помогает предотвратить зацикливание пакетов.
Поле протокол аналогично полю тип в Ethernet-кадре и определяет структуру поля данные.
Поле контрольная сумма заголовка вычисляется с использованием операций сложения 16-разрядных слов заголовка по модулю 1. Сама контрольная сумма является дополнением по модулю один полученного результата сложения. Обратите внимание, здесь осуществляется контрольное суммирование заголовка, а не всей дейтаграммы.
Поле опции не обязательно присутствует в каждой дейтаграмме. Размер поля опции зависит от того, какие опции применены. Если используется несколько опций, они записываются подряд без каких-либо разделителей. Каждая опция содержит один октет кода опции, за которым может следовать октет длины и серия октетов данных. Если место, занятое опциями, не кратно 4 октетам, используется заполнитель.
Адрес источника и адрес приемника, четырехбайтовые IP-адреса узлов сети. Подробно структура IP-адреса описана ниже.
Дополнительные данные заголовка – последовательность полей произвольной длины, описывающих необязательные данные заголовка. Такие данные используются для специальных целей (управление сетью, секретность и т.п.).
Данные выравнивания, не имеющие смысла данные, включаемые в заголовок только для выравнивания его длины до границы четырехбайтового слова.
Формат полей пакета tcp.
Бит |
0 — 3 |
4 — 9 |
10 — 15 |
16 — 31 |
0 |
Порт источника |
Порт назначения |
||
32 |
Последовательный номер |
|||
64 |
Номер подтверждения |
|||
96 |
Смещение данных |
Зарезервировано |
Флаги |
Окно |
128 |
Контрольная сумма |
Указатель важности |
||
160 |
Опции (необязательное) |
|||
160/192+ |
Данные |
Назначение полей пакета tcp. Порт источника.
Порт источника идентифицирует порт, с которого отправлены пакеты.
Порт назначения.
Порт назначения идентифицирует порт, на который отправлен пакет
Номер последовательности.
Номер последовательности выполняет две задачи:
Если установлен флаг SYN, то это начальное значение номера последовательности и первый байт данных — это номер последовательности плюс 1.
В противном случае, если SYN не установлен, первый байт данных — номер последовательности
Поскольку TCP-поток в общем случае может быть длиннее чем, число различных состояний этого поля, то все операции с номером последовательности должны выполняться по модулю 2^32. Это накладывается практическое ограничение на использование TCP. Если скорость передачи коммуникационной системы такова, чтобы в течение MSL (максимального времени жизни сегмента) произошло переполнение номера последовательности, то в сети может появиться два сегмента с одинаковым номером, относящихся к разным частям потока, и приемник получит некорректные данные.
Номер подтверждения.
Если установлен флаг ACK, то это поле содержит номер последовательности, ожидаемый получателем в следующий раз. Помечает этот сегмент как подтверждение получения.
Смещение данных.
Это поле определяет размер заголовка пакета TCP в 32-битных словах. Минимальный размер составляет 5 слов, а максимальный — 15, что составляет 20 и 60 байт соответственно. Смещение считается от начала заголовка TCP.
Зарезервировано.
Зарезервировано (6 бит) для будущего использования и должны устанавливаться в ноль. Из них два (8-й и 9-й) уже определены:
CWR (Congestion Window Reduced) — Поле «Окно перегрузки уменьшено» — флаг установлен отправителем, чтоб указать, что получен пакет с установленным флагом ECE (RFC 3168)
ECE (ECN-Echo) — Поле «Эхо ECN» — указывает, что данный хост способен на ECN (явное уведомление перегрузки) и для указания отправителю о перегрузках в сети.
Флаги (управляющие биты)
Это поле содержит 6 битовых флагов:
URG — Поле Указатель важности значимо (Urgent pointer field is significant)
ACK — Поле Номер подтверждения значимо (Acknowledgement field is significant)
PSH — (Push function) инструктирует получателя протолкнуть данные, накопившиеся в приемном буфере, в приложение пользователя
RST — Оборвать соединения, сбросить буфер (очистка буфера) (Reset the connection)
SYN — Синхронизация номеров последовательности (Synchronize sequence numbers)
FIN (final, бит) — флаг, будучи установлен, указывает на завершение соединения (FIN bit used for connection termination).