Порт источника и порт приемника
16-битовые поля, содержащие номера портов, соответственно, источника и адресата UDP-пакета. Понятие "номер порта" обсуждается в "Протокол управления передачей TCP".
Длина 16-битовое поле, содержащее длину (в байтах) всего UDP-пакета, включая заголовок и данные. Контрольная сумма 16-битовое поле, содержащее Internet-контрольную сумму, подсчитанную для UDP заголовка, данных пакета и псевдозаголовка. Псевдозаголовок (такой же, как для подсчета контрольной суммы в TCP-заголовке) включает в себя ряд полей IP-заголовка и имеет показанную на рис. 5.2. структуру.
Рис. 5.2.
Если поле "Контрольная сумма" UDP-заголовка содержит нулевое значение, это означает, что источник UDP-пакета контрольную сумму не подсчитывал, и приемник выполнять ее проверку не должен. Некоторые реализации протокола UDP (например, в SunOS - клоне ОС UNIX от Sun Microsystems) контрольную сумму не подсчитывают в принципе, полагаясь на возможности контроля целостности данных, реализованные в протоколах сетевого уровня (например, в Ethernet). 6. Межсетевой протокол управляющих сообщений ICMP Межсетевой протокол управляющих сообщений ICMP (Internet Control Message Protocol), специфицированный в RFC 792, играет роль транспортного протокола для управляющей и диагностической информации, которой обмениваются между собой IP-, TCP- или UDP-модули скрытно от приложений. Протокол ICMP поддерживается в обязательном порядке каждым IP-модулем. Его транспортный адрес в IP-заголовке равен 1. 6.1. Заголовок ICMP-пакета Поскольку протокол ICMP используется для транспортировки весьма различной информации, то фиксируется лишь общая структура заголовка ICMP-пакета, имеющего формат, показанный на рис. 6.1.
Рис. 6.1
Тип однобайтовое поле, содержащее идентификатор типа ICMP-пакета. Возможные значения этого поля приведены в таблице. Код однобайтовое поле, значение которого конкретизирует назначение ICMP-пакета определенного типа.
Контрольная сумма 16-битовое поле, содержащее Internet-контрольную сумму, подсчитанную для всего ICMP-пакета целиком.
Разное четырехбайтовое поле, предназначенное для хранение разнообразной информации, специфичной для ICMP-пакетов определенного типа (например, номера в TCP-последовательности, IP-адреса и т.п.).
Тело пакета здесь содержится заголовок IP-сегмента, явившегося порождения данного ICMP-пакета, и впервые 8 байт данных тела этого IP-сегмента. Если ICMP-пакет есть результат проявления аномалии в TCP- или UDP- взаимодействии, то эти 8 байт будут представлять собой первые восемь байтов, соответственно, TCP- или UDP- заголовка, что дает возможность определить, в частности, номера портов (а, следовательно, и использующие их прикладные программы). Для ICMP- пакетов некоторых типов это может содержать не начало IP-сегмента, а тестовые данные. Источниками и обработчиками ICMP-пакетов могут быть как модули IP-модули, так и TCP- и UDP- модули (но никогда прикладные программы). Проблемы в доставке и обработке ICMP-пакетов никогда не приводят к порождению новых ICMP-пакетов, уведомляющих об этих проблемах. Сделано это с целью избежать возможных бесконечных циклов генерации ICMP-пакетов в сети. 6.2. Типы ICMP-пакетов Здесь рассматриваются 6 типов ICMP-пакетов, реализованных во всех клонах и версиях ОС UNIX. 6.2.1. Адресат не доступен ICMP-пакет этого типа генерируется в следующих случаях:
1. сеть, узел сети, протокол или порт являются недоступными; 2. в ходе продвижения по сети IP-сегмента потребовалась его фрагментация, однако в заголовке сегмента установлен флаг DF, запрещающий делать это; 3. предписываемый маршрут, указанный в поле дополнительных данных IP-сегмента, оказался недействительным (несуществующим или неактивным). 6.2.2. Подавление источника В ситуациях, когда некоторый узел (как правило, шлюз) не имеет достаточно места в своих буферах для размещения интенсивно поступающих к нему данных, он может послать узлам-источникам ICMP-пакет данного типа (source quench). Узел-источник в ответ на такое уведомление обязан уменьшить темп передачи данных. В ранних UNIX-реализациях протоколов ТСРЛР ICMP-пакеты этого типа игнорировались. В TCP-реализациях, поддерживающих алгоритм медленного старта, в ответ на это сообщение уменьшается размер "окна перегруженности". UDP-модули игнорируют это сообщение, информируя при этом обслуживаемую прикладную программу о требовании приемника уменьшить интенсивность и/или размер дэйтаграмм. 6.2.3. Перенаправление ICMP-пакет этого типа посылается источнику данных, когда узел-шлюз обнаруживает, что источник может направлять свои данные непосредственно к следующему шлюзу маршрута. Такой ICMP-пакет содержит в себе IP-адрес этого шлюза. Этот IP-адрес должен быть включен в таблицу маршрутизации на узле-источнике данных. 6.2.4. Эхо Для реализации эха IP-модуль на узле А отправляет узлу В ICMP-пакет типа "запрос эха", содержащий в своем теле вместо IP-заголовка тестовые данные произвольной длины. Узел В, получив такой запрос, возвращает узлу А ICMP-пакет типа "ответ на запрос эха", содержащий те же данные, что и в запросе. Эхо-посылки используются для проверки достижимости удаленных узлов сети и измерения времени прохождения данных. 6.2.5. Исчерпано время жизни ICMP-пакет данного типа посылается источнику IP-сегмента, который должен быть сброшен по одной из двух причин: 1. исчерпано время жизни IP-сегмента; 2. исчерпано допустимое время на сборку фрагментированного IP-сегмента. 6.2.6. Неверный параметр С помощью ICMP-пакета данного типа источник IP-сегмента информируется о том, что данный сегмент сброшен вследствие наличия ошибки в каком-либо из полей его заголовка.
7. Протоколы сетевого уровня Содержание 7.1 Ethernet 7.2 ПротоколSLIP 7.3 Протокол SLIP
Ниже кратко описывается реализация стека протоколов TCP/IP на базе ряда протоколов сетевого уровня. 7.1.Ethernet Протокол Ethernet был разработан в начале 1970-х годов совместно фирмами Xerox, DEC и Intel. На его базе в 1982 г. был принят международный стандарт IEEE 802.3. Использование протокола сетевого уровня Ethernet совместно с протоколами ТСРЛР регламентируется RFC 894. Основными характеристиками протокола Ethernet являются следующие: • шинная логическая топология сети; • скорость передачи данных 10 мегабит в секунду; • используется для построения локальных вычислительных сетей; • обмен данными между узлами сети осуществляется кадрами; • для разделения шины между многими узлами используется механизм CSMA/CD; • обеспечивает широковещательную (broadcast) и многопунктовую (multicast) рассылку данных. В качестве физической среды передачи данных Ethernet использует: • "толстый" коаксиальный кабель (так называемый 10base5 Ethernet); • "тонкий" коаксиальный кабель (10base2); • оптоволоконный кабель; • витая пара (10baseT).
В первых трех случаях физическая топология сети реально является шинной, в последнем -физическая топология сети представляет собой "звезду".
Примечание. Существуют современные версии Ethernet, обеспечивающие скорость передачи в 100 мегабит в секунду. Примечание. Ethernet позволяет объединить в локальную сеть узлы, расположенные друг от друга на расстоянии от нескольких десятков метров (10baseT) до нескольких километров (сегменты 10base5, связанные повторителями). Механизм CSMA/CD (Carrier Sense Multiple Acces with Collision Detection -Множественный Доступ с Контролем Носителя и Обнаружением Столкновений) подразумевает следующий алгоритм получения узлом сети доступа к шине: 1. прослушивание шины (sense carrier) на предмет наличия в ней сигналов передачи данных другими узлами; 2. если шина занята, то отложить передачу, если свободна - начать передачу данных; 3. в течение первых 47 микросекунд передачи кадра данных вести проверку
4. при обнаружении столкновения прекратить передачу данных и перейти в состояние ожидания на период времени случайной длины, а потом возобновить попытки передачи кадра.
Обмен данными по протоколу Ethernet всегда реализуется программно-аппаратно с помощью двух компонентов: • сетевого контроллера (чаще всего имеющего вид печатной платы, вставляемой в корпус ЭВМ), подключаемого к шине (коаксиальному кабелю, оптоволокну или витой паре медных проводов); • драйвера сетевого контроллера, обеспечивающего интерфейс сетевого программного обеспечения (например, IP-модуля) с контроллером.
Примечание. В ОС UNIX сетевой контроллер и его драйвер принято называть "сетевым интерфейсом". 7.1.1. Формат кадра данных Ethernet На рис. 7.1 представлен формат кадра данных протокола Ethernet. Для иллюстративных целей показана вложенность в кадр IP-сегмента (содержащего, в свою очередь, TCP-пакет). Преамбула 64-битовое поле, содержащее фиксированную последовательность битов, используемую для синхронизации схем приема сигналов на узле-адресате.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|