- •Глава 1
- •БАЗОВЫЕ ПРОТОКОЛЫ ИНТЕРНЕТ
- •1.1. Упрощенная архитектура сети Интернет
- •1.2. Модель OSI. Понятие об интерфейсах и протоколах.
- •Рекомендация ITU-T X.200
- •1.3. Стек протоколов Интернет
- •1.4. Протоколы доступа в Интернет
- •1.5. Адресация в Интернет
- •1.5.2. IP-адресация версии 4
- •1.6. Физический уровень
- •1.7.1. Технология Ethernet
- •1.7.2. Технология Token Ring
- •1.7.3. Технология FDDI
- •1.8.1. Протокол Интернет версии 4
- •1.8.2. Протокол преобразования адресов
- •1.8.3. Протокол маршрутизации выбора кратчайшего пути первым
- •1.8.4. Протокол межсетевых управляющих сообщений
- •1.8.5. Протокол управления группами в Интернет
- •1.8.6. Протокол Интернет версии 6
- •1.9.1. Протокол управления передачей
- •1.9.2. Протокол дейтаграмм пользователя
- •1.10.1. Ин формационный протокол маршрутизации
- •1.10.2. Протокол динамической конфигурации оконечных устройств
- •1.10.3. Протокол разрешения доменных имен
- •1.12.1. Протокол Telnet
- •1.12.2. Протокол пересылки файлов. Простейший протокол пересылки файлов
- •1.12.3. Простой протокол передачи почты
- •1.12.4. Протокол передачи гипертекста
- •1.12.5. Простой протокол управления сетью
Ю.Ф.Кожанов, Колбанев М.О ИНТЕРФЕЙСЫ И ПРОТОКОЛЫ СЕТЕЙ СЛЕДУЮЩЕГО ПОКОЛЕНИЯ
______________________________________________________________________________
В первом сообщении сторона А инициирует установление соединения высылая условный номер первого (Flag=S) байта Sec=9053. В ответном сообщении сторона Б подтверждает его получение (F=А) и высылает условный номер своего первого (Flag=S) байта Sec=9186. Третье сообщение завершает установление логического канала обмена информацией. В четвертом сообщении сторона А форсированно (F=P) отправляет свои данные длиной 241 байт, с условным номером своего первого байта Sec=9053+1=9054, подтверждая условный номер первого байта в ожидаемом следующем сегменте: Аск=9187. В пятом сообщении сторона Б подтверждает получение блока данных длиной 241 байт условным номером первого байта в ожидаемом следующем сегменте, т.е. Аск=9054+241=9295. Шестое и седьмое сообщения описывают процесс передачи 51 байта от стороны Б к стороне А. В восьмом сообщении сторона Б извещает об окончании соединения (F=F), на которое сторона А отвечает подтверждением (F=А) и осуществляет сброс соединения (F=R).
1.9.2.Протокол дейтаграмм пользователя
Протокол дейтаграмм пользователя (User Datagram Protocol, UDP) [RFC 768, STD 6] обеспечивает канал обмена данными между прикладными процессами в составной сети, допуская пропадание и дублирование сегментов.
Местоположение и наименование полей UDP изображено на рис. 1.41. Порядок передачи бит кадра: слева направо/снизу вверх.
Номер порта источника (Source Port) – определяет номер приложения, от которого поступил сегмент, длина 16 бит.
Номер порта назначения (Destination Port) – определяет номер приложения, к которому следует доставить сегмент, длина 16 бит.
Длина (Length) – определяет длину сегмента (заголовок + данные) в байтах, длина
16 бит.
Контрольная сумма (Checksum) – используется для обнаружения ошибок при передаче пакета, длина 16 бит. Вычисляется как сумма всех 2-байтных слов дейтаграммы UDP и 96-битового псевдо заголовка IP (Адрес источника + Адрес назначения + 00000000 + Протокол + Общая длина пакета).
В поле данных (Data) размещаются протоколы верхних уровней, которые идентифицируются полем Номером порта.
Данные (Data)
Длина (Length) Контрольная сумма (Checksum)
Номер порта источника (Source Port) Номер порта назначения (Destination Port)
3 уровень
2 уровень
1 уровень
Рис. 1.41. Местоположение в стеке протоколов и формат UDP
ВОПРОСЫ К РАЗДЕЛУ 1.9
1. Какие основные функции протокола TCP?
Ответ. Обеспечивает гарантированную доставку, сегментирует длинные данные приложений, обеспечивает сквозное взаимодействие “из конца в конец”.
2. Что означают значения порядковый номер и номер подтверждения в TCP? Ответ. Условный номер первого байта в передаваемом сегменте, условный номер
первого байта в ожидаемом следующем сегменте. 3. Какие основные функции протокола UDP?
Ответ. Обеспечивает не гарантированную доставку данных.
62
Глава 1 |
БАЗОВЫЕ ПРОТОКОЛЫ ИНТЕРНЕТ |
______________________________________________________________________________
1.10.Сеансовый уровень
1.10.1.Ин формационный протокол маршрутизации
Рассмотренный ранее протокол маршрутизации OSPF предназначен для маршрутизации IP-пакетов в больших сетях со сложной топологией. Наряду с его очевидными достоинствами (учет петель, учет битов качества обслуживания, высокая устойчивость к изменению топологии сети) он обладает одним недостатком, а именно – высокой вычислительной сложностью. Поэтому чаще всего его применяют в больших автономных сетях и на мощных маршрутизаторах в магистральной сети. Для работы в небольших автономных сетях с количеством промежуточных маршрутизаторов между узлами не более 15 часто используют более простые протоколы. К таким протоколам относится внутренний информационный протокол маршрутизации (Routing Information Protocol, RIP-2) [RFC 2453, STD 56], учитывающий самую простую метрику – количество проходных маршрутизаторов между узлами. RIP представляет собой протокол дистанционно-векторного типа, в качестве критерия целесообразности использования того или иного пути (метрики) используется число переходов (хопов, Hop) через промежуточные маршрутизаторы от узла отправителя до заданного узла назначения. Формализовано задача поиска оптимального пути состоит в просмотре содержимого таблицы маршрутизации и нахождении минимума функции вида
D( I , J ) = min {d (I , K ) + D( K , J ) },
K
где I – номер узла отправителя, J – номер узла назначения, D(I , J) – метрика наилучшего пути между узлами I и J, d(I , K) – метрика между узлом I до соседнего узла K.
Построение таблиц маршрутов происходит следующим образом.
В исходном состоянии администратор сети вручную создает минимальную таблицу маршрутизации, учитывающую только непосредственно подсоединенные сети. После этого маршрутизатор сам начинает посылать сообщения RIP о содержании своей таблицы и получать такие сведения от других маршрутизаторов. Сообщение RIP содержат несколько параметров о каждой известной маршрутизатору сети: IP-адрес, ее маску, метрику. Получив сообщение RIP, маршрутизатор прибавляет к каждой текущей метрике единицу, анализирует новые сообщения с целью помещения их в свою таблицу и рассылает результат другим маршрутизаторам. Сети, имеющую метрику более 15 считаются недостижимыми.
Предположим, что текущий маршрут имеет метрику D и она получена от маршрутизатора G. Если новая метрика, полученная от какого либо другого маршрутизатора лучше, чем D, то текущий маршрут заменяется новым с новой метрикой. Но если новая метрика получена от того же маршрутизатора, то текущий маршрут заменяется всегда, даже если он имеет худшую метрику. Таким образом, в таблице маршрутов хранится информация только о наилучших (с точки зрения принятого критерия) путях.
Рассылку таблиц каждый маршрутизатор осуществляет с периодом 30 секунд, используя не надежный протокол UDP, поэтому сообщения RIP могут теряться. Однако если через 180 секунд сообщения от какого либо маршрутизатора не поступают, то он считается недоступным, а вся информация о маршрутах, полученная от него, считается недействительной и стирается. Чтобы избежать “зацикливания”, маршрутная информация, хранящаяся в таблице, никогда не передается тому маршрутизатору, от которого она получена. При выходе из строя отдельного маршрутизатора из-за конечного времени распространения маршрутной информации могут возникнуть некоторые периоды нестабильной работы, если не принять специальных мер.
63
Ю.Ф.Кожанов, Колбанев М.О ИНТЕРФЕЙСЫ И ПРОТОКОЛЫ СЕТЕЙ СЛЕДУЮЩЕГО ПОКОЛЕНИЯ
______________________________________________________________________________
Рассмотрим сеть из 5 подсетей, структура которой изображена на рис. 1.42. Метрики между всеми маршрутизаторами для простоты примем равными единице. В приведенных таблицах маршрутизаторов B, C, D, E приняты сокращения: Сеть – IPадрес сети, Мет – метрика до этой сети, Ист – IP-адрес интерфейса маршрутизатора, от которого была получена информация для составления этой записи. Проследим поэтапное изменение записей таблиц при изменении конфигурации сети, а именно, при выходе из строя интерфейса между маршрутизаторами А и В.
|
|
|
C |
1 |
C |
|
|
А |
|
B |
1 |
1 |
E |
||
1 |
|
|
|||||
1 |
|
|
|
|
|
|
|
A |
|
|
|
|
|
1 |
1 |
|
|
1 |
1 |
|
|
||
|
|
D |
|
|
E |
||
|
|
B |
|
1 |
D |
|
|
|
|
|
|
|
Рис. 1.42. Структура фрагмента IP-сети
1. Содержание таблиц маршрутизаторов B, C, D, E в исправной сети (табл. 1.15). На этом этапе маршрутизаторы хранят таблицу о наикратчайших маршрутах.
Поступление сведений о сетях с худшей метрикой игнорируются. |
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Табл. 1.15 |
|
|
|
|
|||
Маршрутизатор |
|
Маршрутизатор |
|
Маршрутизатор |
|
|
Маршрутизатор |
|||||||||||||
|
сети B |
|
|
|
сети C |
|
|
|
сети D |
|
|
|
|
сети E |
|
|||||
Сеть |
|
Мет |
Ист |
|
Сеть |
|
Мет |
Ист |
|
Сеть |
|
Мет |
Ист |
|
|
Сеть |
|
Мет |
|
Ист |
A |
|
2 |
A |
|
A |
|
3 |
B |
|
A |
|
3 |
B |
|
|
A |
|
4 |
|
C |
B |
|
1 |
B |
|
B |
|
2 |
B |
|
B |
|
2 |
B |
|
|
B |
|
3 |
|
C |
C |
|
2 |
C |
|
C |
|
1 |
C |
|
C |
|
3 |
E |
|
|
C |
|
2 |
|
C |
D |
|
2 |
D |
|
D |
|
3 |
B |
|
D |
|
1 |
D |
|
|
D |
|
2 |
|
D |
E |
|
3 |
C |
|
E |
|
2 |
E |
|
E |
|
3 |
E |
|
|
E |
|
1 |
|
E |
|
1. Предположим, |
произошло |
повреждение интерфейса на |
участке |
A – B. |
До |
||||||||||||||
истечения тайм-аута 180 секунд все пакеты, следующие к маршрутизатору А будут утеряны. При истечении тайм-аута маршрутизатор В отметит сеть А недоступной и сообщит об этом соседним маршрутизаторам C и D. Сеть Е об этом еще не уведомлена
и продолжает слать пакеты сети А через сеть С (см. табл. 1.16). |
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Табл. 1.16 |
|
|
|
||
Маршрутизатор |
|
Маршрутизатор |
|
Маршрутизатор |
|
Маршрутизатор |
||||||||||||
|
сети B |
|
|
|
сети C |
|
|
|
сети D |
|
|
|
сети E |
|
||||
Сеть |
|
Мет |
Ист |
|
Сеть |
|
Мет |
Ист |
|
Сеть |
|
Мет |
Ист |
|
Сеть |
|
Мет |
Ист |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A |
|
4 |
C |
B |
|
1 |
B |
|
B |
|
2 |
B |
|
B |
|
2 |
B |
|
B |
|
3 |
C |
C |
|
2 |
C |
|
C |
|
1 |
C |
|
C |
|
3 |
E |
|
C |
|
2 |
C |
D |
|
2 |
D |
|
D |
|
3 |
B |
|
D |
|
1 |
D |
|
D |
|
2 |
D |
E |
|
3 |
C |
|
E |
|
2 |
E |
|
E |
|
3 |
E |
|
E |
|
1 |
E |
3.Маршрутизатор D получает от сети Е (табл.1.17) ложное сообщение о наличии
унее доступа к сети А с метрикой 4 и помещает эту запись в свою таблицу маршрутов. Маршрутизатор D и раньше получал от маршрутизатора Е такие сообщения, но игнорировал их, т.к. у него был путь к сети А через сеть В с лучшей метрикой. Теперь
64
Глава 1 |
БАЗОВЫЕ ПРОТОКОЛЫ ИНТЕРНЕТ |
______________________________________________________________________________
уже и пакеты от сети D к сети А начинают следовать по ложному маршруту DÆEÆCÆB, получая сообщения ICMP.
|
|
|
|
|
|
|
|
|
|
|
|
|
Табл. 1.17 |
|
|
|
||
Маршрутизатор |
|
Маршрутизатор |
|
Маршрутизатор |
|
Маршрутизатор |
||||||||||||
|
сети B |
|
|
|
сети C |
|
|
|
сети D |
|
|
|
сети E |
|
||||
Сеть |
|
Мет |
Ист |
|
Сеть |
|
Мет |
Ист |
|
Сеть |
|
Мет |
Ист |
|
Сеть |
|
Мет |
Ист |
|
|
|
|
|
|
|
|
|
|
A |
|
5 |
Е |
|
A |
|
4 |
C |
B |
|
1 |
B |
|
B |
|
2 |
B |
|
B |
|
2 |
B |
|
B |
|
3 |
C |
C |
|
2 |
C |
|
C |
|
1 |
C |
|
C |
|
3 |
E |
|
C |
|
2 |
C |
D |
|
2 |
D |
|
D |
|
3 |
B |
|
D |
|
1 |
D |
|
D |
|
2 |
D |
E |
|
3 |
C |
|
E |
|
2 |
E |
|
E |
|
3 |
E |
|
E |
|
1 |
E |
|
|
4. Наконец |
, маршрутизатор Е получает сообщение от маршрутизатора С о |
|||||||||||||||
недоступности сети А и извещает об этом маршрутизатор D (табл. 1.18). |
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Табл. 1.18 |
|
|
|
||
Маршрутизатор |
|
Маршрутизатор |
|
Маршрутизатор |
|
Маршрутизатор |
||||||||||||
|
сети B |
|
|
|
сети C |
|
|
|
сети D |
|
|
|
сети E |
|
||||
Сеть |
|
Мет |
Ист |
|
Сеть |
|
Мет |
Ист |
|
Сеть |
|
Мет |
Ист |
|
Сеть |
|
Мет |
Ист |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B |
|
1 |
B |
|
B |
|
2 |
B |
|
B |
|
2 |
B |
|
B |
|
3 |
C |
C |
|
2 |
C |
|
C |
|
1 |
C |
|
C |
|
3 |
E |
|
C |
|
2 |
C |
D |
|
2 |
D |
|
D |
|
3 |
B |
|
D |
|
1 |
D |
|
D |
|
2 |
D |
E |
|
3 |
C |
|
E |
|
2 |
E |
|
E |
|
3 |
E |
|
E |
|
1 |
E |
Как видно из приведенного примера, из-за выхода из строя отдельных маршрутизаторов в сети могут возникать длительные переходные процессы с пересылкой ложных путей. Избегают это простым способом: при получении сообщения о неисправности какой либо сети, все последующие записи о новых маршрутах производятся после удлиненного тайм-аута. Действительно, если бы в нашем примере маршрутизатор D не вносил бы сразу запись о новом маршруте, то информация о неисправности сети А успела бы дойти до маршрутизатора Е, который выслал бы маршрутизатору D истинную информацию.
RIP-сообщения передаются в дейтаграммах UDP. Каждый узел, использующий RIP, запускает свои процессы передачи и приема маршрутной информации через порт 520. Оконечные устройства, обычно используют RIP пассивно, только принимая сообщения для определения активных шлюзов и для составления своей таблицы маршрутов. Местоположение и наименование полей RIP изображено на рис. 1.43. Порядок передачи бит кадра: слева направо/снизу вверх.
Команда (Command) – длина 1 байт, имеет значение 1 при запросе всей таблицы маршрутов или ее части; имеет значение 2 при рассылке всей таблицы маршрутов или ее части. Рассылка производится в трех случаях: по запросу (одному маршрутизатору запрошенной части маршрутов), регулярно через 30 секунд (всех маршрутов всем соседним маршрутизаторам), при изменении метрики (измененной части маршрутов всем соседним маршрутизаторам).
Версия (Version) – принимает значение 2, длина 1 байт.
Последующие поля содержат индивидуальные записи о каждом маршруте. Общее число записей не должно превосходить 25, каждая запись занимает 20 байт и включает в себя идентификатор адреса, маршрутную этикетку и подробности маршрута.
Идентификатор адреса (Address Family Identifier) – длина 2 байта, принимает значение 2, если используется формат представления адреса для Интернет. Значение
65
