Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Порт источника и порт приемника




16-битовые поля, содержащие номера портов, соответственно, источника и адресата UDP-пакета. Понятие "номер порта" обсуждается в "Протокол управления передачей TCP".

 

Длина

16-битовое поле, содержащее длину (в байтах) всего UDP-пакета, включая заголовок и данные.

Контрольная сумма

16-битовое поле, содержащее Internet-контрольную сумму, подсчитанную для UDP заголовка, данных пакета и псевдозаголовка. Псевдозаголовок (такой же, как для подсчета контрольной суммы в TCP-заголовке) включает в себя ряд полей IP-заголовка и имеет показанную на рис. 5.2. структуру.

0 7 15 31

 


IP-адрес источника
IP-адрес приемника
Нули Транспорт Длина IP-сегмента

Рис. 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.

 

0 7 15 31


Тип Код Контрольная сумма
Разное
Тело пакета: IP-заголовок и следующие за ним 8 байт данных или тестовые данные

Рис. 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 микросекунд передачи кадра данных вести проверку
столкновений (collisions) в шине, связанных с возможным одновременным началом
передачи данных и другими узлами сети;

4. при обнаружении столкновения прекратить передачу данных и перейти в состояние ожидания на период времени случайной длины, а потом возобновить попытки передачи кадра.

 

Обмен данными по протоколу Ethernet всегда реализуется программно-аппаратно с помощью двух компонентов:

• сетевого контроллера (чаще всего имеющего вид печатной платы, вставляемой в корпус ЭВМ), подключаемого к шине (коаксиальному кабелю, оптоволокну или витой паре медных проводов);

• драйвера сетевого контроллера, обеспечивающего интерфейс сетевого программного обеспечения (например, IP-модуля) с контроллером.

 

Примечание. В ОС UNIX сетевой контроллер и его драйвер принято называть "сетевым интерфейсом".

7.1.1. Формат кадра данных Ethernet

На рис. 7.1 представлен формат кадра данных протокола Ethernet. Для иллюстративных целей показана вложенность в кадр IP-сегмента (содержащего, в свою очередь, TCP-пакет).

Преамбула

64-битовое поле, содержащее фиксированную последовательность битов, используемую для синхронизации схем приема сигналов на узле-адресате.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...