КОМПЬЮТЕРНЫЕ СЕТИ Лекция 12 Сетевой уровень. Управляющие протоколы в Интернете. Маршрутизация в IP. BGP Санкт-Петербург, 2012 Александр Масальских
С ЕТЕВОЙ УРОВЕНЬ. ICMP Internet Control Message Protocol (ICMP) Сообщения от маршрутизаторов, обратная связь
С ЕТЕВОЙ УРОВЕНЬ. ARP ARP (Address Resolution Protocol)
С ЕТЕВОЙ УРОВЕНЬ. ARP ARP поддерживает на каждом интерфейсе таблицу соответствия адресов IP и MAC. При включении таблицы пусты Алгоритм работы протокола в широковещательных сетях: 1. IP запрашивает у ARP: «какой MAC адрес имеет интерфейс с адресом IP1»? 2. ARP смотрит таблицу если записи нет, то записываем исходящий пакет в буфер. 3. ARP формирует ARP запрос и отправляет широковещательным кадром Ethernet. 4. Все хосты получают кадр и передают IP1 из кадра своему ARP. Тот сравнивает IP1 с IP интерфейса, на который пришёл кадр и если совпадение, генерирует ARP- ответ.
С ЕТЕВОЙ УРОВЕНЬ. ARP- ЗАПРОС
С ЕТЕВОЙ УРОВЕНЬ. ARP- ОТВЕТ
С ЕТЕВОЙ УРОВЕНЬ. ARP
С ЕТЕВОЙ УРОВЕНЬ. P ROXY -ARP
С ЕТЕВОЙ УРОВЕНЬ. I N RARP Inverse Address Resolution Protocol, Inverse ARP протокол для получения адресов сетевого уровня (например IP адресов) других рабочих станций по их адресам канального уровня (например, DLCI в Frame Relay сетях). В основном используется во Frame Relay и ATM сетях. ARP переводит адреса сетевого уровня в адреса канального уровня, в то же время InARP можно рассматривать как его инверсию. InARP реализовано как расширение ARP. Форматы пакетов этих протоколов одни и те же, различаются лишь коды операций и заполняемые поля.
С ЕТЕВОЙ УРОВЕНЬ. RARP RARP (Reverse Address Resolution Protocol) Выполняет обратное отображение адресов, то есть преобразует физический адрес в IP-адрес. Протокол применяется во время загрузки узла, он посылает групповое сообщение-запрос со своим физическим адресом. Сервер принимает это сообщение и просматривает свои таблицы в поисках соответствующего физическому, IP- адреса. После обнаружения найденный адрес отсылается обратно на запросивший его узел. Другие станции также могут «слышать» этот диалог и локально сохранить эту информацию в своих ARP-таблицах. RARP является дополнением к ARP, и описан в RFC 903. RARP отличается от «обратного» ARP (Inverse Address Resolution Protocol, или InARP), описанного в RFC 2390, который предназначен для получения IP-адреса, соответствующего MAC-адресу другого узла.
С ЕТЕВОЙ УРОВЕНЬ. BOOTP Bootstrap Protocol сетевой протокол, используемый для автоматического получения клиентом IP-адреса. Это обычно происходит во время загрузки компьютера. BOOTP определён в RFC 951. BOOTP позволяет бездисковым рабочим станциям получать IP-адрес прежде, чем будет загружена полноценная операционная система. Исторически это использовалось для Unix-подобных бездисковых станций, которые в том числе могли получать информацию о местоположении загрузочного диска посредством этого протокола. Изначально предполагалось использование дискет для установки предварительного сетевого соединения, но позже поддержка протокола появилась в BIOS некоторых сетевых карт и во многих современных материнских платах. Инкапсуляция происходит следующим образом: BOOTP- >UDP->IP->…
С ЕТЕВОЙ УРОВЕНЬ. DHCP DHCP (Dynamic Host Configuration Protocol) Сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Данный протокол работает по модели «клиент-сервер». Для автоматической конфигурации компьютер-клиент на этапе конфигурации сетевого устройства обращается к так называемому серверу DHCP, и получает от него нужные параметры. Сетевой администратор может задать диапазон адресов, распределяемых сервером среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает количество ошибок. Протокол DHCP используется в большинстве сетей TCP/IP. DHCP является расширением протокола BOOTP, использовавшегося ранее для обеспечения бездисковых рабочих станций IP-адресами при их загрузке. DHCP сохраняет обратную совместимость с BOOTP.
DHCP. Р АСПРЕДЕЛЕНИЕ IP- АДРЕСОВ Протокол DHCP предоставляет три способа распределения IP-адресов: Ручное распределение. При этом способе сетевой администратор сопоставляет аппаратному адресу каждого клиентского компьютера определённый IP- адрес. Автоматическое распределение. При данном способе каждому компьютеру на постоянное использование выделяется произвольный свободный IP-адрес из определённого администратором диапазона. Динамическое распределение. Этот способ аналогичен автоматическому распределению, за исключением того, что адрес выдаётся компьютеру не на постоянное пользование, а на определённый срок. Это называется арендой адреса. По истечении срока аренды IP-адрес вновь считается свободным, и клиент обязан запросить новый (он, впрочем, может оказаться тем же самым).
DHCP. О ПЦИИ Кроме IP-адреса, DHCP также может сообщать клиенту дополнительные параметры, необходимые для нормальной работы в сети. Некоторые из наиболее часто используемых опций: IP-адрес маршрутизатора по умолчанию; маска подсети; адреса серверов DNS; имя домена DNS. Некоторые поставщики программного обеспечения могут определять собственные, дополнительные опции DHCP.
ПолеОписание Длина (байты) op Тип сообщения. Может принимать два значения: BOOTREQUEST (1, запрос от клиента к серверу) BOOTREPLY (2, ответ от сервера к клиенту).1 htype Тип аппаратного адреса. Допустимые значения этого поля определены в RFC «Assigned Numbers». Например, для MAC-адреса Ethernet 10 Мбит/с это поле принимает значение 1.1 hlen Длина аппаратного адреса в байтах. Для MAC-адреса Ethernet 6.1 hops Количество промежуточных маршрутизаторов (так называемых агентов ретрансляции DHCP), через которые прошло сообщение. Клиент устанавливает это поле в 0.1 xid Уникальный идентификатор транзакции, генерируемый клиентом в начале процесса получения адреса.4 secs Время в секундах с момента начала процесса получения адреса. Может не использоваться (в этом случае оно устанавливается в 0).2 flags Поле для флагов специальных параметров протокола DHCP.2 ciaddr IP-адрес клиента. Заполняется только в том случае, если клиент уже имеет собственный IP-адрес и способен отвечать на запросы ARP (это возможно, если клиент выполняет процедуру обновления адреса по истечении срока аренды).4
ПолеОписание Длина (байты) yiaddr 'your' (client) IP address4 siaddr IP-адрес сервера. Возвращается в предложении DHCP4 giaddr IP-адрес агента ретрансляции, если таковой участвовал в процессе доставки сообщения DHCP до сервера.4 chaddr Аппаратный адрес (обычно MAC-адрес) клиента.16 sname Необязательное имя сервера в виде нуль-терминированной строки.64 file Необязательное имя файла на сервере, используемое бездисковыми рабочими станциями при удалённой загрузке. Как и sname, представлено в виде нуль-терминированной строки.128 options Поле опций DHCP. Здесь указываются различные дополнительные параметры конфигурации. В начале этого поля указываются четыре особых байта со значениями 99, 130, 83, 99 («волшебные числа»), позволяющие серверу определить наличие этого поля.переменная
DHCP. П РИНЦИП РАБОТЫ ПРОТОКОЛА Клиент отправляет сообщение типа DHCPDISCOVER, при этом в качестве IP-адреса источника указывается (компьютер ещё не имеет собственного IP-адреса), в качестве адреса назначения Клиент заполняет несколько полей сообщения начальными значениями: В поле xid помещается уникальный идентификатор транзакции, который позволяет отличать данный процесс получения IP-адреса от других, протекающих в то же время. В поле chaddr помещается аппаратный адрес (MAC-адрес) клиента. В поле опций указывается последний известный клиенту IP-адрес. В данном примере это Это необязательно и может быть проигнорировано сервером. Сообщение DHCPDISCOVER может быть распространено за пределы подсети при помощи специально настроенных агентов ретрансляции DHCP, перенаправляющих поступающие от клиентов сообщения DHCP серверам в других подсетях.
DHCP. П РИНЦИП РАБОТЫ ПРОТОКОЛА Выбрав одну из конфигураций, предложенных DHCP-серверами, клиент отправляет запрос DHCP (DHCPREQUEST). Он рассылается широковещательно; при этом к опциям, указанным клиентом в сообщении DHCPDISCOVER, добавляется специальная опция идентификатор сервера указывающая адрес DHCP-сервера, выбранного клиентом (в данном случае ).
DHCP. П РИНЦИП РАБОТЫ ПРОТОКОЛА Сервер подтверждает запрос и направляет это подтверждение (DHCPACK) клиенту. В подтверждении приводятся выданные настройки для клиента. После этого клиент должен настроить свой сетевой интерфейс, используя предоставленные опции.
Обнаружение DHCP DHCPDISCOVER UDP Src = Dest = OP 0x01 OPTIONS Опция DHCP 53: обнаружение DHCP Опция DHCP 50: запрос адреса Предложение DHCP DHCPOFFER UDP Src = Dest = OP 0x02 OPTIONS Опция DHCP 53: предложение DHCP Опция DHCP 1: маска подсети Опция DHCP 3: маршрутизатор Опция DHCP 51: срок аренды IP-адреса 1 день Опция DHCP 54: DHCP- сервер Запрос DHCP DHCPREQUEST UDP Src = Dest = OP 0x01 OPTIONS Опция DHCP 53: запрос DHCP Опция DHCP 50: запрос адреса Опция DHCP 54: DHCP- сервер Подтверждение DHCP DHCPACK UDP Src = Dest = OP 0x02 OPTIONS Опция DHCP 53: подтверждение DHCP Опция DHCP 1: маска подсети Опция DHCP 3: маршрутизатор Опция DHCP 51: срок аренды IP-адреса 1 день Опция DHCP 54: DHCP-сервер
DHCP. П РИНЦИП РАБОТЫ ПРОТОКОЛА Отказ DHCP Если после получения подтверждения (DHCPACK) от сервера клиент обнаруживает, что указанный сервером адрес уже используется в сети, он рассылает широковещательное сообщение отказа DHCP (DHCPDECLINE), после чего процедура получения IP- адреса повторяется. Использование IP-адреса другим клиентом можно обнаружить, выполнив запрос ARP. Отмена DHCP Если по каким-то причинам сервер не может предоставить клиенту запрошенный IP-адрес, или если аренда адреса удаляется администратором, сервер рассылает широковещательное сообщение отмены DHCP (DHCPNAK). При получении такого сообщения соответствующий клиент должен повторить процедуру получения адреса.
DHCP. П РИНЦИП РАБОТЫ ПРОТОКОЛА Освобождение DHCP Клиент может явным образом прекратить аренду IP- адреса. Для этого он отправляет сообщение освобождения DHCP (DHCPRELEASE) тому серверу, который предоставил ему адрес в аренду. В отличие от других сообщений DHCP, DHCPRELEASE не рассылается широковещательно. Информация DHCP Сообщение информации DHCP (DHCPINFORM) предназначено для определения дополнительных параметров TCP/IP теми клиентами, которым не нужен динамический IP-адрес. Серверы отвечают на такой запрос сообщением подтверждения (DHCPACK) без выделения IP-адреса.
IP МАРШРУТИЗАЦИЯ
Рассмотрим пример продвижения пакета в IP сети. Будем рассматривать адреса, основанные на классах. Пусть хост cit.mgu.com из сети необходимо установить связь с FTP сервером unix.mgu.com. Пользователю известно только символьное имя. 1. Разрешение символьного имени через запрос серверу DNS 2. Ответ DNS сервера 3. Подключение FTP клиента к FTP серверу
IP МАРШРУТИЗАЦИЯ 1. Формирование IP пакета с инкапсулированным DNS запросом. Запрос помещается в UDP дейтаграмму, которая инкапсулируется в IP пакет с DST IP адресом DNS сервера 2. Передача кадра Ethernet с IP пакетом маршрутизатору R3 3. Определение IP-адреса и MAC-адреса следующего маршрутизатора R2 4. Маршрутизатор R2 доставляет пакет DNS- серверу 5. DNS-сервер принимает кадр, извлекает IP, далее информация передаётся серверной части DNS, которая находит IP по имени
IP МАРШРУТИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ МАСОК РАВНОЙ ДЛИНЫ
Таблица маршрутизации R2
IP МАРШРУТИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ МАСОК РАВНОЙ ДЛИНЫ 1. Из пришедшего IP пакета извлекается адрес IP_DEST 2. Ищем специфический маршрут для IP_DEST (среди записей с маской ) 3. Если совпадений не найдено, начинаем искать неспецифический маршрут. Для каждой записи a) Маска M накладывается на IP_DEST (IP) AND M b) Полученное число сравниваем со значением поля адреса назначения записи c) Если есть совпадение, помечаем строку d) Если строки ещё есть, продолжаем повторять, если нет, переходим к пункту 4.
IP МАРШРУТИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ МАСОК РАВНОЙ ДЛИНЫ 4. После просмотра всей таблицы выполняем одно из 3 действий: a) Если отмеченных строк не найдено, пакет отбрасывается b) Если есть одна отмеченная строка, отправляем пакет по маршруту, указанному в этой строке c) Если есть несколько отмеченных строк, выбираем строку с наиболее специфический маршрут
IP МАРШРУТИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ МАСОК ПЕРЕМЕННОЙ ДЛИНЫ
R2 таблица маршрутизации
IP МАРШРУТИЗАЦИЯ. RIP Routing Information Protocol один из самых простых протоколов маршрутизации. Применяется в небольших компьютерных сетях, позволяет маршрутизаторам динамически обновлять маршрутную информацию (направление и дальность в хопах), получая ее от соседних маршрутизаторов. Дистанционно-векторный протокол
IP МАРШРУТИЗАЦИЯ. RIP
1. Создание минимальной таблицы. 2. Рассылка минимальной таблицы соседям. 3. Получение RIP-сообщений от соседей и обработка полученной информации. 4. Рассылка новой таблицы соседям. 5. Получение RIP-сообщений от соседей и обработка полученной информации.
IP МАРШРУТИЗАЦИЯ. RIP Минимальная таблица R1 Минимальная таблица R2
IP МАРШРУТИЗАЦИЯ. RIP Измененная таблица R1
IP МАРШРУТИЗАЦИЯ. RIP Второй раз измененная таблица R1
IP МАРШРУТИЗАЦИЯ. RIP V 2 В 1994 году был разработан протокол RIP2 (RFC 2453), который является расширением протокола RIP, обеспечивающим передачу дополнительной маршрутной информации в сообщениях RIP и повышающим уровень безопасности. Маршрутизация на основе масок. Аутентификация. Для IPv6 RIPNG (Next Generation)
IP МАРШРУТИЗАЦИЯ. OSPF OSPF (англ. Open Shortest Path First) протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути Алгоритм Дейкстры (Dijkstras algorithm). Протокол OSPF был разработан IETF в 1988 году. Последняя версия протокола представлена в RFC Протокол OSPF представляет собой протокол внутреннего шлюза (Interior Gateway Protocol IGP). Протокол OSPF распространяет информацию о доступных маршрутах между маршрутизаторами одной автономной системы. OSPF имеет следующие преимущества: Высокая скорость сходимости по сравнению с дистанционно-векторными протоколами маршрутизации; Поддержка сетевых масок переменной длины (VLSM); Оптимальное использование пропускной способности (т. к. строится минимальный остовный граф по алгоритму Дейкстры);
IP МАРШРУТИЗАЦИЯ. OSPF Построение таблиц происходит в 2 этапа: Построение и поддержание базы данных о состоянии связей сети (организуется через объявления о состоянии связей (Link State Advertisement, LSA) Нахождение оптимальных маршрутов и генерация таблицы маршрутизации Когда сеть не меняется, LSA не генерируются Раз в 30 минут идёт обмен всеми записями таблицы.
IP МАРШРУТИЗАЦИЯ. В НУТРЕННИЕ И ВНЕШНИЕ ШЛЮЗОВЫЕ ПРОТОКОЛЫ Интернет разбивается на Автономные Системы (AS, Autonomous System) – совокупности сетей под единым административным управлением Основная цель разбиения – многоуровневая маршрутизация. Три уровня маршрутизации: Определение последовательности AS Определение последовательности сетей в AS Путь к конечному узлу внутри сети Маршрутизация между AS – Exterior Gateway Protocol, EGP Внутри AS – Interior Gateway Protocol, IGP
IP МАРШРУТИЗАЦИЯ. BGP BGP, Border Gateway Protocol
IP МАРШРУТИЗАЦИЯ. BGP iBGP, Interior BGP eBGP, Exterior BGP UPDATE может объявить об одном новом маршруте или аннулировать несколько переставших существовать AS_Path;NextHop;Network/Mask_length AS 1021; ; /24 AS 363, AS 1021; ; /24 AS 520, AS 363, AS 1021; ; /24
IP МАРШРУТИЗАЦИЯ. BGP Выбор наилучшего маршрута включает 3 фазы: Расчёт преференции ко всем маршрутам из каждой входной базы (является вопросом локальной конфигурации в том числе) Расчёт самого выгодного маршрута для каждого из известных пунктов назначения, добавление в локальную базу Выход из локальной базы и формирование базы для отдельных соседей. Посылаются только маршруты, которые сам использует.
IP МАРШРУТИЗАЦИЯ. RIB Маршрутная база данных RIB Вся маршрутная информация хранится в специальной базе данных RIB (routing information base). Маршрутная база данных BGP состоит из трех частей: 1. ADJ-RIBS-IN: Запоминает маршрутную информацию, которая получена из update-сообщений. Это список маршрутов, из которого можно выбирать. (policy information base - PIB). 2. LOC-RIB: Содержит локальную маршрутную информацию, которую BGP-маршрутизатор отобрал, руководствуясь маршрутной политикой, из ADJ-RIBS- IN 3. ADJ-RIBS-OUT: Содержит информацию, которую локальный BGP-маршрутизатор отобрал для рассылки соседям с помощью UPDATE-сообщений.
IP МАРШРУТИЗАЦИЯ. F ULL VIEW