Слайд 1Образовательный комплекс
Компьютерные сети
Лекция 13
Межсетевой уровень TCP/IP (ч.2)
Слайд 2Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Содержание
Межсетевой уровень модели
TCP/IP
Маршрутизация IP
Формат IP-пакета
Протоколы ICMP, RARP
Слайд 3Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Маршрутизация IP
Обработка IP-пакетов…
Действия
источника при обработке IP-пакета
Присваивает параметру TTL (Time To Live) IP-пакета
значение, заданное вышележащим уровнем, либо значение по умолчанию
Вычисляет контрольную сумму заголовка
Определяет маршрут (согласно алгоритму выбора маршрута)
Если подходящего маршрута нет, вышележащему протоколу сообщается об ошибке маршрутизации
Определяет IP-адрес следующего перехода и NIC, который следует использовать для передачи IP-пакета
Передает пакет и информацию об IP-адресе следующего перехода и NIC протоколу ARP, который определяет MAC-адрес следующего перехода и пересылает пакет
Слайд 4Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Маршрутизация IP
Обработка IP-пакетов…
Действия
маршрутизатора при обработке IP-пакета
Проверяет контрольную сумму заголовка IP-пакета. В случае
несовпадения со значением, записанным в заголовке, пакет уничтожается.
Если IP-адрес получателя совпадает с IP-адресом маршрутизатора, обрабатывает пакет как получатель (см. следующий слайд)
Уменьшает значение параметра TTL (Time To Live) на 1
Если значение TTL стало равно 0, пакет уничтожается, источнику посылается ICMP-сообщение "Time Exceeded/TTL Expired"
Вычисляет контрольную сумму заголовка
Определяет маршрут (согласно алгоритму выбора маршрута)
Если подходящего маршрута нет, пакет уничтожается, источнику посылается ICMP-сообщение "Destination Unreachable/Network Unreachable"
Определяет IP-адрес следующего перехода и NIC, который следует использовать для передачи IP-пакета
Передает пакет и информацию об IP-адресе следующего перехода и NIC протоколу ARP, который определяет MAC-адрес следующего перехода и пересылает пакет
Слайд 5Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Маршрутизация IP
Обработка IP-пакетов
Действия
получателя при обработке IP-пакета
Проверяет контрольную сумму заголовка IP-пакета. В случае
несовпадения со значением, записанным в заголовке, пакет уничтожается.
Если IP-адрес получателя (в IP-пакете) не совпадает с IP-адресом узла, пакет уничтожается
Передает датаграмму без IP-заголовка вышележащему протоколу, указанному в заголовке
Если указанный протокол отсутствует, пакет уничтожается, источнику посылается ICMP-сообщение "Destination Unreachable/Protocol Unreachable"
Для пакетов TCP и UDP проверяется порт назначения и обрабатывается TCP-сегмент или UDP-заголовок
Если на указанном UDP-порте нет зарегистрированного приложения, пакет уничтожается, источнику посылается ICMP-сообщение "Destination Unreachable/Port Unreachable"
Если на указанном TCP-порте нет зарегистрированного приложения, пакет уничтожается, источнику посылается TCP-сегмент "Connection Reset"
Слайд 6Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Маршрутизация IP
Address Resolution
Protocol…
Address Resolution Protocol (ARP) – протокол разрешения адресов
определяет по IP-адресу
следующего перехода MAC-адрес следующего перехода (выполняет разрешение адресов межсетевого уровня в адреса уровня доступа к сети)
выполняет передачу пакета по разрешенному MAC-адресу
ARP поддерживает кеш ARP-запросов, который может содержать записи двух типов
динамические – формируются на основе результатов выполненных ARP-запросов и удаляются по истечении некоторого временного интервала (например, 10 мин.)
статические – формируются в результате выполнения специальных команд и присутствуют в кеше в течение неограниченного времени
Слайд 7Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Маршрутизация IP
Address Resolution
Protocol…
Для определения MAC-адреса по известному IP-адресу посылается ARP-запрос
Тип операции: ARP-запрос
IP-адрес
источника: IPA
IP-адрес приемника: IPB
MAC-адрес источника: MACA
MAC-адрес приемника: адрес широковещательной рассылки в используемой технологи передачи (обычно состоит из одних единиц)
B
IPA
MACA
A
IPB
MACB
ARP-запрос
Source IP: IPA
Dest. IP: IPB
Source MAC: MACA
Dest. MAC: 1…1
Слайд 8Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Маршрутизация IP
Address Resolution
Protocol
Все узлы получают и обрабатывают ARP-запрос. Узел, IP-адрес которого указан
в запросе, формирует и посылает ARP-ответ
Тип операции: ARP-ответ
IP-адрес источника: IPB
IP-адрес приемника: IPA
MAC-адрес источника: MACB
MAC-адрес приемника: MACA
B
IPA
MACA
A
IPB
MACB
ARP-ответ
Source IP: IPB
Dest. IP: IPA
Source MAC: MACB
Dest. MAC: MACA
Слайд 9Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Маршрутизация IP
Динамическая маршрутизация…
В
ходе динамической маршрутизации маршрутизаторы обмениваются информацией о сетевых соединениях и
автоматически изменяют свой таблицы маршрутизации
Однако, Интернет очень велик, и обмен информацией между всеми маршрутизаторами привел бы к росту служебного трафика и сильной загруженности маршрутизаторов, поэтому Интернет разбит на автономные системы
Автономная система – это группа маршрутизаторов из одной административной области, взаимодействующая с другими автономными системами посредством внешнего протокола маршрутизации, и использующая в пределах системы внутренний протокол маршрутизации
External Gateway Protocol (EGP) – внешний протокол маршрутизации
Interior Gateway Protocol (IGP) – внутренний протокол маршрутизации
Слайд 10Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Маршрутизация IP
Динамическая маршрутизация…
Внутренние
протокол маршрутизации (IGP)
Routing Information Protocol (RIP)
Open Shortest Path First (OSPF)
Interior
Gateway Routing Protocol (IGRP)
Extended Interior Gateway Routing Protocol (EIGRP)
Intermediate System to Intermediate System protocol (IS-IS)
Внешние протоколы маршрутизации (EGP)
Border Gateway Protocol (BGP)
Exterior Gateway Protocol (EGP)
Автономная
Система 1
Автономная
Система 2
EGP
IGP
IGP
Слайд 11Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Маршрутизация IP
Динамическая маршрутизация…
В
зависимости от алгоритмов, на которых основан алгоритм маршрутизации, он относится
к одному из двух типов
Дистанционно-векторные протоколы основаны на алгоритме вектор-длина (Distance Vector Algorithm, DVA)
Протоколы состояния канала связи основаны на алгоритме состояния канала (Link State Algorithm, LSA)
Слайд 12Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Маршрутизация IP
Динамическая маршрутизация…
Алгоритм
вектор-длина
Каждый маршрутизатор начинает функционировать, имея набор маршрутов к непосредственно подключенным
сетям
Периодически каждый маршрутизатор посылает копию своей таблицы маршрутизации всем маршрутизаторам, которым он может передавать данные через общую сеть
Соседние маршрутизаторы, используя принятую информацию, обновляют свои таблицы маршрутизации
Недостатки алгоритма
Медленное распространение информации об изменении структуры сети
Большой объем передаваемой информации
Не учитывается скорость и надежность каналов (маршрутов)
Слайд 13Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Маршрутизация IP
Динамическая маршрутизация…
Алгоритм
состояния канала
Каждый маршрутизатор предоставляет остальным информацию о
каналах, непосредственно подключенных к
нему;
состоянии (стоимости) этих каналов;
узлах, подключенных к этим каналам
Таким образом, каждый маршрутизатор имеет базу топологии, описывающие все узлы в его области (база одинакова на всех маршрутизаторах)
База топологии используется маршрутизатором для построения дерева кратчайших путей для каждого пункта назначения с собой в корне
На основании дерева кратчайших путей строится таблица маршрутизации
Слайд 14Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Маршрутизация IP
Динамическая маршрутизация
Алгоритм
состояния канала
Достоинства
Обычно посылается только информация о каналах состояние которых изменилось
(передача полной информации выполняется, как правило, 1-2 раза в час)
Протоколы обычно позволяют разбивать сеть на области, при этом маршрутизаторы должны поддерживать базу топологии только для своей области
Стоимость каналов можно определять на основе любых критериев (тип, пропускная способность, стоимость и т.д.)
Недостатки
Хранение и обработка базы топологии может потребовать значительного объема памяти (оперативной и дисковой)
Обработка базы топологии может потребовать большой вычислительной мощности
Слайд 16Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
fragment
offset (13 bit)
Формат
IP-пакета (v4)
Vers – версия протокола IP (мы рассматриваем 4 версию)
Len
– длина заголовка IP в 32-битных словах
Type Of Service (TOS) – тип сервиса IP-пакета, содержит 3 поля
Precedence (3 бита) – определяет происхождение и приоритет пакета (обычный, приоритетный, критический,…)
Type Of Service (4 бита) – определяет тип сервиса
Минимальная задержка
Максимальная пропускная способность
Максимальная надежность
Минимальные денежные затраты
Обычный сервис
Must Be Zero (MBZ, 1 бит) – должно быть 0
Vers(4)
Len(4)
TOS (8 bit)
Total Length
(16 bit)
Identification
(16 bit)
flags(3)
TTL (8 bit)
Protocol (8 bit)
Header
Checksum (16 bit)
Source IP
(32 bit)
Destination IP
(32 bit)
Options+Padding
(N*32 bit)
Data
Слайд 17Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
fragment
offset (13 bit)
Формат
IP-пакета (v4)
Total Length – общая длина пакета (заголовка и данных)
в байтах (максимум, 64Кб-1=65535)
Identification – уникальный номер, присваиваемый пакету источником, и используемый при сборке IP-пакета из фрагментов
Flags
MBZ (1 бит)
Don't Fragment (DF, 1 бит) – если DF=1, пакет нельзя фрагментировать
More Fragments (MF, 1 бит) – если MF=0, то данный фрагмент – последний
Fragment Offset – смещение данных из данного фрагмента в поле данных исходного пакета, выраженное в 64-битных блоках
Vers(4)
Len(4)
TOS (8 bit)
Total Length
(16 bit)
Identification
(16 bit)
flags(3)
TTL (8 bit)
Protocol (8 bit)
Header
Checksum (16 bit)
Source IP
(32 bit)
Destination IP
(32 bit)
Options+Padding
(N*32 bit)
Data
Слайд 18Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
fragment
offset (13 bit)
Формат
IP-пакета (v4)
Time To Live (TTL) – определяет время в секундах,
в течение которого может передаваться данный пакет
(в реальности время жизни меньше, поскольку маршрутизатор при обработке IP-пакета уменьшает это время на 1, а время обработки намного меньше 1 с)
Protocol – протокол вышележащего уровня, которому предназначены данные IP-пакета (список протоколов в UNIX можно посмотреть в файле /etc/protocols)
Header Checksum – контрольная сумма заголовка IP-пакета
Source IP-address – IP-адрес источника
Destination IP-address – IP-адрес получателя
Vers(4)
Len(4)
TOS (8 bit)
Total Length
(16 bit)
Identification
(16 bit)
flags(3)
TTL (8 bit)
Protocol (8 bit)
Header
Checksum (16 bit)
Source IP
(32 bit)
Destination IP
(32 bit)
Options+Padding
(N*32 bit)
Data
Слайд 19Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
fragment
offset (13 bit)
Формат
IP-пакета (v4)
Options – опции доставки IP-пакета, может содержать несколько опций
и имеет переменную длину. С помощью опций можно
Указать полностью или частично маршрут, по которому IP-пакет должен доставляться получателю
Записать маршрут, который прошел IP-пакет
Указать маршрутизаторам ставить в IP-пакете временную отметку, соответствующую времени обработки
и т.д.
Padding – дополнения поля Options до размера, кратного 32 битам
Data – данные протокола вышележащего уровня
Vers(4)
Len(4)
TOS (8 bit)
Total Length
(16 bit)
Identification
(16 bit)
flags(3)
TTL (8 bit)
Protocol (8 bit)
Header
Checksum (16 bit)
Source IP
(32 bit)
Destination IP
(32 bit)
Options+Padding
(N*32 bit)
Data
Слайд 20Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Формат IP-пакета
Фрагментация IP-пакетов…
При
передаче IP-пакета могут использоваться различные технологии уровня доступа к сети
Технологии
передачи имеют характеристику MTU (Maximum Transmission Unit), ограничивающую максимальный размер кадра
Если IP-пакет нельзя передать в одном кадре, он разбивается на фрагменты и передается фрагментами. Сборка исходного пакета из фрагментов производится получателем.
Для использования IP необходимо, чтобы размер MTU был не менее 576 байт
Слайд 21Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Формат IP-пакета
Фрагментация IP-пакетов…
В
исходном пакете значения полей
More Fragments (MF) = 0
Fragment Offset (FO)
= 0
При разбиении на фрагменты
Если флаг Don't Fragment = 1, пакет уничтожается
Исходя из значения MTU поле данных разбивается на несколько частей; размер блоков данных должен быть кратен 8
Блоки данных размещаются в IP-пакетах, которые представляют собой копии исходного пакета со следующими отличиями
Флаг MF устанавливается в единицу у всех фрагментов кроме последнего
Поле FO заполняется в соответствии с размещением данных фрагмента в поле данных исходного пакета
Копируются опции пакета (если в опциях задано копирование опции в каждый фрагмент)
Рассчитываются контрольные суммы заголовков фрагментов
Рассчитывается длина каждого фрагмента
Слайд 22Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Формат IP-пакета
Фрагментация IP-пакетов…
DF
flag = 0
Total Length = 2020
Identification =12345
Source IP = 1.2.3.4
Destination
IP = 5.6.7.8
Data
MF flag = 0
Fragment Offset = 0
DF flag = 0
Total Length = 1020
Identification =12345
Source IP = 1.2.3.4
Destination IP = 5.6.7.8
MF flag = 1
Fragment Offset = 0
Data
DF flag = 0
Total Length = 1020
Identification =12345
Source IP = 1.2.3.4
Destination IP = 5.6.7.8
MF flag = 0
Fragment Offset = 125
Data
Исходный пакет
Фрагменты
Header Checksum
Header Checksum
Header Checksum
Слайд 23Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Формат IP-пакета
Фрагментация IP-пакетов
Каждый
из фрагментов доставляется как независимый IP-пакет (например, они могут быть
доставлены по разным маршрутам)
При сборке фрагментов получатель выделяет буфер при приходе первого фрагмента и запускает таймер обратного отсчета
Начальное значение таймера берется из поля TTL фрагмента
При поступлении фрагментов данные из них записываются в буфер по заданному смещению
Если IP-пакет получен полностью, его обработка продолжается, если к истечению времени работы таймера IP-пакет не собран – он уничтожается
Слайд 24Internet Control Message Protocol (ICMP), Reversed Address Resolution Protocol (RARP)
Слайд 25Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
ICMP
Internet Control Message
Protocol (ICMP) – протокол управляющих сообщений Интернет, используется для оповещения
источника об ошибках, возникших при доставке IP-пакета
Протокол сетевого уровня
Использует IP в качестве нижележащего протокола
Не обеспечивает надежность доставки
Используется для сообщения об ошибках доставки любых IP-пакетов за исключением тех, которые содержат ICMP-пакеты
В случае фрагментированных пакетов сообщается об ошибке доставки только первого пакета
Маршрутизатор или получатель не обязательно посылают ICMP-сообщение при возникновении ошибки
Слайд 26Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
ICMP
Формат пакета
Заголовок IP
Type
Of Service = 0
Protocol = 1 (ICMP)
Type – тип сообщения
0
– echo reply
3 – destination unreachable
…
Code – код ошибки
Checksum – контрольная сумма сообщения ICMP
Data – дополнительная информация ICMP (обычно, заголовок и первые 64 бита данных IP-пакета, при доставке которого произошла ошибка)
Заголовок IP
Type
(8 бит)
Code
(8 бит)
Checksum
(16 бит)
Data
Слайд 27Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
RARP
Reversed Address Resolution
Protocol (RARP) – протокол обратного разрешения адресов, используется узлами, не
имеющими собственных IP-адресов
При старте сетевой системы узел, не имеющий IP-адреса, посылает широковещательный RARP-запрос
RARP предполагает, что в сети имеется RARP-сервер, поддерживающий базу соответствия между MAC-адресами и IP-адресами, и формирующий RARP-ответы
Слайд 28Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
RARP…
Для определения своего
IP-адреса узел посылает RARP-запрос
Тип операции: RARP-запрос
IP-адрес источника: 0.0.0.0
IP-адрес приемника: 255.255.255.255
MAC-адрес
источника: MACA
MAC-адрес приемника: адрес широковещательной рассылки в используемой технологи передачи (обычно состоит из одних единиц)
MACA
RARP-
клиент
IPB
MACB
RARP-запрос
Source IP: 0.0.0.0
Dest. IP: 255.255.255.255
Source MAC: MACA
Dest. MAC: 111…111
RARP-
сервер
Слайд 29Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
RARP
RARP-сервера, получившие запрос,
формируют и посылают RARP-ответ
Тип операции: ARP-ответ
IP-адрес источника: IPB
IP-адрес приемника: IPA
MAC-адрес
источника: MACB
MAC-адрес приемника: MACA
Узел будет использовать IP-адрес из первого полученного им RARP-ответа
B
MACA
A
IPB
MACB
RARP-ответ
Source IP: IPB
Dest. IP: IPA
Source MAC: MACB
Dest. MAC: MACA
Слайд 30Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Заключение
Существует несколько способов
управления маршрутизацией в сети (статическое, динамическое с разными протоколами)
Вспомогательные протоколы
межсетевого уровня
Address Resolution Protocol
Reversed Address Resolution Protocol
Internet Control Message Protocol
Слайд 31Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Тема следующей лекции
Уровень
Хост-Хост модели TCP/IP
Протокол UDP
Протокол TCP
Программный интерфейс сокетов
Слайд 32Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Вопросы для обсуждения
Слайд 33Компьютерные сети
Межсетевой уровень TCP/IP, часть 2
из 33
Литература
Сети TCP/IP. Ресурсы
Microsoft Windows 2000 Server. – М.: Русская редакция, 2001.
В.Г. Олифер,
Н.А. Олифер. Компьютерные сети. Принципы, технологии, протоколы.
СПб: Питер, 2001.