Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КИС_Лекции / Глава 1.pdf
Скачиваний:
101
Добавлен:
15.03.2015
Размер:
1.6 Mб
Скачать

Ю.Ф.Кожанов, Колбанев М.О ИНТЕРФЕЙСЫ И ПРОТОКОЛЫ СЕТЕЙ СЛЕДУЮЩЕГО ПОКОЛЕНИЯ

______________________________________________________________________________

. . .

Описание связей (LS Type, Link State ID, Advertising Router)

Header OSPF (Type=4)

IP

2 уровень

1 уровень

Рис. 1.35. Местоположение и формат протокола Link State Update

Сообщение Link State Acknowledgment распознается по типу (Type=5) заголовка. Оно предназначено для подтверждения приема различных сообщений в ответ на принятые сообщения Database Description. На рис. 1.36 показано местоположение и наименование полей в содержании сообщения Link State Acknowledgment. Порядок передачи бит кадра: слева направо/снизу вверх.

. . .

Список связей (LSA Header)

Header OSPF (Type=5)

IP

2 уровень

1 уровень

Рис. 1.36. Местоположение и формат протокола Link State Acknowledgment

Граничные маршрутизаторы автономной системы (ASBR) осуществляют маршрутизацию между автономными системами. Для сбора информации о других автономных системах они используют пограничный межсетевой протокол (Border Gateway Protocol, BGP), который в целом выполняет те же функции, что и OSPF.

1.8.4. Протокол межсетевых управляющих сообщений

Соединения в IP-сети устанавливают маршрутизаторы, которые при возникновении каких-либо проблем установления соединения должны извещать друг друга об ошибочных ситуациях. Для этих случаев используется протокол

межсетевых управляющих сообщений (Internet Control Message Protocol, ICMP)

[RFC 792, STD 5], являющийся составной частью IP и имеющийся в каждом модуле IP. ICMP-сообщения высылаются в различных случаях: при невозможности установления требуемого соединения, при отсутствии необходимого объема памяти для буферизации кадров, для извещения узла о наличии более короткого маршрута и т.д. Сообщения передаются модулем IP, который не является абсолютно надежным, ни какие сообщения о проблемах самого ICMP не посылаются.

ICMP расположен в модуле IP, используя номер протокола 1 (Prot=1). Местоположение и наименование полей ICMP изображено на рис. 1.37. Порядок передачи бит кадра: слева направо/снизу вверх.

Назначение полей пакета следующее.

Версия (Version) – для версии 4 Version=4 (двоичный код 0100).

Длина заголовка (Internet Header Length – IHL) – определяет длину заголовка в 32-

х битовых словах от поля Version до поля Type, имеет значение 5 (20 байт).

Тип услуги (Type of Service – TOS) – задает приоритетность пакета и критерий выбора маршрута, длина 8 бит, имеет значение 0, что означает обслуживание в режиме “с наибольшими усилиями”.

52

Глава 1 БАЗОВЫЕ ПРОТОКОЛЫ ИНТЕРНЕТ

______________________________________________________________________________

Данные (Data)

Сообщения ICMP (ICMP Data)

Тип ошибки (Type)

Код ошибки (Code)

Контрольная сумма сообщения (Checksum)

 

 

Адрес назначения

(Destination Address)

 

 

Адрес источника (Source Address)

Время жизни

Протокол

Контрольная сумма заголовка

(Time to Live)

( Protocol = 1)

 

(Header Checksum)

Идентификатор

(Identification)

Флаги

Смещение фрагмента

 

 

 

Flags=0

(Fragment Offset=0)

Версия

Длина

Тип услуги

Общая длина пакета (Total Length)

(Version)

(IHL)

(Type of Service=0)

 

 

2 уровень

1 уровень

Рис. 1.37. Местоположение в стеке протоколов и формат ICMP

Общая длина пакета (Total Length) – определяет длину пакета с полями:

заголовок IP, Type, Code, Checksum, ICMP Data, Data в байтах, длина 16 бит.

Идентификатор (Identification) – указывает на принадлежность пакета к определенной дейтаграмме, длина 16 бит. Все фрагменты (пакеты) одной дейтаграммы должны иметь одно и то же значение.

Флаги (Flags) – принимает значение 0. Это означает, что протокол не допускает фрагментации.

Смещение фрагмента (Fragment Offset - FO) – принимает значение 0. Это означает, что протокол не допускает фрагментации.

Время жизни (Time to Live – TTL) – определяет предельный срок перемещения пакета по сети, длина 1 байт. Устанавливается на передаче, каждый маршрутизатор вычитает из текущего значения единицу, при значении TTL=0 пакет уничтожается.

Протокол (Protocol – Prot) – принимает значение 1.

Контрольная сумма заголовка IP (Header Checksum) – используется для обнаружения ошибок при передаче пакета, длина 16 бит. Сумма всех 2-байтных слов заголовка от поля Version до поля Type совместно с контрольной суммой должна давать результат “все 0”.

Адрес источника (Source Address) – определяет сетевой адрес (IP-адрес) отправителя ICMP-пакета, длина 32 бита.

Адрес назначения (Destination Address) – определяет сетевой адрес источника (хоста), сформировавший ошибочный кадр, длина 32 бита.

Тип ошибки (Type) – в это поле помещается код типа ошибки, с кратким описанием причины ошибки в поле Код ошибки (Code).

Контрольная сумма сообщения ICMP (Checksum) – используется для обнаружения ошибок при передаче ICMP-пакета, длина 16 бит. Сумма всех 2-байтных слов сообщения от поля Type до поля 4-го уровня совместно с контрольной суммой дает результат “все 0”.

Сообщения ICMP (ICMP Data) – здесь размещается дополнительная информация с пояснением или указанием ошибки.

Данные (Data) – в это поле обычно помещается заголовок принятого с ошибками IP-кадра и его первые 64 бита данных.

Совокупность полей Type, Code, ICMP Data, Data для некоторых типовых случаев приведена в табл. 1.13.

53

Ю.Ф.Кожанов, Колбанев М.О ИНТЕРФЕЙСЫ И ПРОТОКОЛЫ СЕТЕЙ СЛЕДУЮЩЕГО ПОКОЛЕНИЯ

______________________________________________________________________________

Табл. 1.13

Тип

Коды сообщений (Code)

 

Данные

Примечания

 

(Type)

 

 

(ICMP Data)

(Data)

 

3

Недоступность: 0 – сети, 1 – узла, 2 –

Пусто

 

Заголовок

 

 

протокола, 3 – порта, 4 – требуется

 

 

принятого IP-кадра

 

фрагментация

при установленном

 

 

и его первые

64

 

флаге “запрет

фрагментации”, 5 –

 

 

бита данных

 

 

поврежден маршрут, …

 

 

 

 

4

0 – не хватает памяти для

Пусто

 

Заголовок

 

 

буферизации пакета

 

 

принятого IP-кадра

 

 

 

 

 

и его первые

64

 

 

 

 

 

бита данных

 

5

Указание о более коротком пути: 0 –

IP-адрес подходящего

Заголовок

 

 

к сети, 1 – к узлу, 2 – к сети из-за

шлюза

 

принятого IP-кадра

 

типа услуги, 3 – к узлу из-за типа

 

 

и его первые

64

 

услуги

 

 

 

бита данных

 

11

0 – истекло время жизни кадра,

Не используется

Заголовок

 

 

1 – истекло время фрагментации

 

 

принятого IP-кадра

 

кадра

 

 

 

и его первые

64

 

 

 

 

 

бита данных

 

12

0 – на место ошибки указывает

Указатель на ошибку

Заголовок

 

 

указатель (в байтах)

в

заголовке

принятого IP-кадра

 

 

 

(например, 3 – поле

и его первые

64

 

 

 

общей длины пакета)

бита данных

 

1.8.5.Протокол управления группами в Интернет

ВИнтернет предусмотрена возможность групповой рассылки сообщений (типа “всем маршрутизаторам данной подсети”, “всем узлам-участникам данной группы”, аудио или видеопрограмм) большой группе слушателей или зрителей. Узлы, которые хотят создать такие группы или присоединиться к созданной группе, высылают запрос или подтверждение, соответственно, используя протокол управления группами в Интернет (Internet Group Management Protocol, IGMP) [RFC 1112, STD 5],

являющийся составной частью IP и имеющийся в каждом модуле IP. Состав участников группы формируется динамически: узел может присоединиться или покинуть ее в любой момент. Один и тот же узел может входить в несколько групп, в одну и ту же группу могут входить узлы различных подсетей. Группы могут быть постоянными или временными. За постоянными группами закрепляются известные IP-адреса в соответствии с RFC 1700, группа может иметь или совсем не иметь участников. Временные групповые IP-адреса существуют только при наличии хотя бы одного участника. Рассылка сообщений модулем IP происходит шлюзами (маршрутизаторами) до тех пор, пока значение “время жизни” (TTL) больше 1, в противном случае дальнейшая рассылка по сети прекращается. IGMP для групповой рассылки использует адреса класса D в диапазоне от 224.0.0.0 до 239.255.255.255. Имеется ряд служебных адресов, например, адрес 224.0.0.1 носит смысл “всем узлам групп своей сети”. Группового адреса для всей глобальной сети Интернет не существует.

Для реализации групповой рассылки дейтаграмм необходимо произвести программное расширение функций в различных модулях. Во-первых, высший уровень должен определить для IP-модуля “время жизни” групповой дейтаграммы, в противном случае оно в модуле IP устанавливается по умолчанию со значением “1” и рассылка происходит только в пределах локальной сети. В адрес назначения подставляется групповой адрес, а в адрес источника – свой индивидуальный IP-адрес. Заказ на присоединение (или отсоединение) от приложения высшего уровня хоста поступает в IP-модуль с указанием IP-адреса группы и номера интерфейса. IP-модуль вносит

54

Глава 1

БАЗОВЫЕ ПРОТОКОЛЫ ИНТЕРНЕТ

______________________________________________________________________________

индивидуальный IP-адрес в список участников группы, после чего поступившая из канала связи дейтаграмма с групповым адресом доставляется вышележащему уровню. Поступившая дейтаграмма уничтожается, если ее групповой адрес не совпадает с номером и содержимым списка, никаких сообщений ICMP не высылается. Во-вторых, должна быть предусмотрена процедура перекодирования группового IP-адреса в групповой МАС-адрес. Для этого в 23 последних бита МАС-адреса 01:00:5Е:00:00:00 источника рассылки подставляется 23 последних бита IP-адреса. Например, сетевая служба времени с IP-адресом 224.0.1.1 посылается по МАС-адресу 01:00:5E:00:01:01. Заказ на доставку (или отсев) групповых пакетов поступает в IP-модуль от вышележащего уровня с указанием IP-адреса группы.

IGMP расположен в модуле IP, используя номер протокола 2 (Prot=2). Местоположение и наименование полей IGMP изображено на рис. 1.37. Порядок передачи бит кадра: слева направо/снизу вверх.

Назначение полей пакета следующее.

Версия (Version) – для версии 4 Version=4 (двоичный код 0100).

Длина заголовка (Internet Header Length – IHL) – определяет длину заголовка в 32-

х битовых словах от поля Version до поля Type, имеет значение 5 (20 байт).

Групповой адрес (Group Address)

Версия

 

Тип

Не используется.

Контрольная сумма сообщения

(Version)

 

операции

(Unused)

 

(Checksum)

 

 

(Type)

 

 

 

 

 

 

Адрес назначения

(Destination Address)

 

 

 

Адрес источника (Source Address)

Время жизни

Протокол

Контрольная сумма заголовка

(Time to Live)

(Protocol = 2)

 

(Header Checksum)

Идентификатор

(Identification)

Флаги

Смещение фрагмента

 

 

 

 

(Flags=0)

(Fragment Offset = 0)

Версия

Длина

Тип услуги

 

Общая длина пакета

(Version)

(IHL)

(Type of Service=0)

 

(Total Length)

2 уровень

1 уровень

Рис. 1.38. Местоположение в стеке протоколов и формат IGMP

Тип услуги (Type of Service – TOS) – задает приоритетность пакета и критерий выбора маршрута, длина 8 бит.

Общая длина пакета (Total Length) – определяет длину пакета с полями:

заголовок IP, Version, Type, Unused, Checksum, Group Address в байтах, длина 16 бит.

Идентификатор (Identification) – указывает на принадлежность пакета к определенной дейтаграмме, длина 16 бит. Все фрагменты (пакеты) одной дейтаграммы должны иметь одно и то же значение.

Флаги (Flags) – принимает значение 0.

Смещение фрагмента (Fragment Offset - FO) – принимает значение 0.

Время жизни (Time to Live – TTL) – определяет предельный срок перемещения пакета по сети, длина 1 байт. Устанавливается на передаче, каждый маршрутизатор вычитает из текущего значения единицу, при значении TTL=0 пакет уничтожается.

Протокол (Protocol) – принимает значение 2.

Контрольная сумма заголовка IP (Header Checksum) – используется для обнаружения ошибок при передаче пакета, длина 16 бит. Сумма всех 2-байтных слов заголовка от поля Version до поля Version совместно с контрольной суммой дает результат “все 0”.

55

Соседние файлы в папке КИС_Лекции