Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет к лабе 28.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
103.94 Кб
Скачать

Московский Технический Университет Связи и Информатики

Отчет к лабораторной работе № 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. Порт источника.

Порт источника идентифицирует порт, с которого отправлены пакеты.

Порт назначения.

Порт назначения идентифицирует порт, на который отправлен пакет

Номер последовательности.

Номер последовательности выполняет две задачи:

  1. Если установлен флаг SYN, то это начальное значение номера последовательности и первый байт данных — это номер последовательности плюс 1.

  2. В противном случае, если 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).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]