Слайд 1КОМПЬЮТЕРНЫЕ СЕТИ
Лекция №12
Сетевой уровень. Управляющие протоколы в Интернете. Маршрутизация в IP.
BGP
Воронеж, 2020
Русинова Елена Сергеевна
Слайд 2Сетевой уровень. ICMP
Internet Control Message Protocol (ICMP)
Сообщения от маршрутизаторов, обратная связь
Слайд 3Сетевой уровень. ARP
ARP (Address Resolution Protocol)
Слайд 4Сетевой уровень. ARP
ARP поддерживает на каждом интерфейсе таблицу соответствия адресов IP
и MAC. При включении таблицы пусты
Алгоритм работы протокола в широковещательных сетях:
IP запрашивает у ARP: «какой MAC адрес имеет интерфейс с адресом IP1»?
ARP смотрит таблицу если записи нет, то записываем исходящий пакет в буфер.
ARP формирует ARP запрос и отправляет широковещательным кадром Ethernet.
Все хосты получают кадр и передают IP1 из кадра своему ARP. Тот сравнивает IP1 с IP интерфейса, на который пришёл кадр и если совпадение, генерирует ARP- ответ.
Слайд 9Сетевой уровень. InRARP
Inverse Address Resolution Protocol, Inverse ARP
протокол для получения адресов сетевого
уровня (например IP адресов) других рабочих станций по их адресам канального уровня (например, DLCI в Frame Relay сетях). В основном используется во Frame Relay и ATM сетях.
ARP переводит адреса сетевого уровня в адреса канального уровня, в то же время InARP можно рассматривать как его инверсию. InARP реализовано как расширение ARP. Форматы пакетов этих протоколов одни и те же, различаются лишь коды операций и заполняемые поля.
Слайд 10Сетевой уровень. RARP
RARP (Reverse Address Resolution Protocol)
Выполняет обратное отображение адресов, то
есть преобразует физический адрес в IP-адрес.
Протокол применяется во время загрузки узла, он посылает групповое сообщение-запрос со своим физическим адресом. Сервер принимает это сообщение и просматривает свои таблицы в поисках соответствующего физическому, IP-адреса. После обнаружения найденный адрес отсылается обратно на запросивший его узел. Другие станции также могут «слышать» этот диалог и локально сохранить эту информацию в своих ARP-таблицах.
RARP является дополнением к ARP, и описан в RFC 903.
RARP отличается от «обратного» ARP (Inverse Address Resolution Protocol, или InARP), описанного в RFC 2390, который предназначен для получения IP-адреса, соответствующего MAC-адресу другого узла.
Слайд 11Сетевой уровень. BOOTP
Bootstrap Protocol
сетевой протокол, используемый для автоматического получения клиентом IP-адреса. Это
обычно происходит во время загрузки компьютера. BOOTP определён в RFC 951.
BOOTP позволяет бездисковым рабочим станциям получать IP-адрес прежде, чем будет загружена полноценная операционная система. Исторически это использовалось для Unix-подобных бездисковых станций, которые в том числе могли получать информацию о местоположении загрузочного диска посредством этого протокола.
Изначально предполагалось использование дискет для установки предварительного сетевого соединения, но позже поддержка протокола появилась в BIOS некоторых сетевых карт и во многих современных материнских платах.
Инкапсуляция происходит следующим образом: BOOTP->UDP->IP->…
Слайд 12Сетевой уровень. DHCP
DHCP (Dynamic Host Configuration Protocol)
Сетевой протокол, позволяющий компьютерам автоматически
получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Данный протокол работает по модели «клиент-сервер». Для автоматической конфигурации компьютер-клиент на этапе конфигурации сетевого устройства обращается к так называемому серверу DHCP, и получает от него нужные параметры. Сетевой администратор может задать диапазон адресов, распределяемых сервером среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает количество ошибок. Протокол DHCP используется в большинстве сетей TCP/IP.
DHCP является расширением протокола BOOTP, использовавшегося ранее для обеспечения бездисковых рабочих станций IP-адресами при их загрузке. DHCP сохраняет обратную совместимость с BOOTP.
Слайд 13DHCP. Распределение IP-адресов
Протокол DHCP предоставляет три способа распределения IP-адресов:
Ручное распределение. При
этом способе сетевой администратор сопоставляет аппаратному адресу каждого клиентского компьютера определённый IP-адрес.
Автоматическое распределение. При данном способе каждому компьютеру на постоянное использование выделяется произвольный свободный IP-адрес из определённого администратором диапазона.
Динамическое распределение. Этот способ аналогичен автоматическому распределению, за исключением того, что адрес выдаётся компьютеру не на постоянное пользование, а на определённый срок. Это называется арендой адреса. По истечении срока аренды IP-адрес вновь считается свободным, и клиент обязан запросить новый (он, впрочем, может оказаться тем же самым).
Слайд 14DHCP. Опции
Кроме IP-адреса, DHCP также может сообщать клиенту дополнительные параметры, необходимые
для нормальной работы в сети.
Некоторые из наиболее часто используемых опций:
IP-адрес маршрутизатора по умолчанию;
маска подсети;
адреса серверов DNS;
имя домена DNS.
Некоторые поставщики программного обеспечения могут определять собственные, дополнительные опции DHCP.
Слайд 17DHCP. Принцип работы протокола
Клиент отправляет сообщение типа DHCPDISCOVER, при этом в
качестве IP-адреса источника указывается 0.0.0.0 (компьютер ещё не имеет собственного IP-адреса), в качестве адреса назначения — 255.255.255.255
Клиент заполняет несколько полей сообщения начальными значениями:
В поле xid помещается уникальный идентификатор транзакции, который позволяет отличать данный процесс получения IP-адреса от других, протекающих в то же время.
В поле chaddr помещается аппаратный адрес (MAC-адрес) клиента.
В поле опций указывается последний известный клиенту IP-адрес. В данном примере это 192.168.1.100. Это необязательно и может быть проигнорировано сервером.
Сообщение DHCPDISCOVER может быть распространено за пределы подсети при помощи специально настроенных агентов ретрансляции DHCP, перенаправляющих поступающие от клиентов сообщения DHCP серверам в других подсетях.
Слайд 18DHCP. Принцип работы протокола
Выбрав одну из конфигураций, предложенных DHCP-серверами, клиент отправляет
запрос DHCP (DHCPREQUEST).
Он рассылается широковещательно;
при этом к опциям, указанным клиентом в сообщении DHCPDISCOVER, добавляется специальная опция — идентификатор сервера — указывающая адрес DHCP-сервера, выбранного клиентом (в данном случае — 192.168.1.1).
Слайд 19DHCP. Принцип работы протокола
Сервер подтверждает запрос и направляет это подтверждение (DHCPACK)
клиенту.
В подтверждении приводятся выданные настройки для клиента.
После этого клиент должен настроить свой сетевой интерфейс, используя предоставленные опции.
Слайд 21DHCP. Принцип работы протокола
Отказ DHCP
Если после получения подтверждения (DHCPACK) от сервера
клиент обнаруживает, что указанный сервером адрес уже используется в сети, он рассылает широковещательное сообщение отказа DHCP (DHCPDECLINE), после чего процедура получения IP-адреса повторяется. Использование IP-адреса другим клиентом можно обнаружить, выполнив запрос ARP.
Отмена DHCP
Если по каким-то причинам сервер не может предоставить клиенту запрошенный IP-адрес, или если аренда адреса удаляется администратором, сервер рассылает широковещательное сообщение отмены DHCP (DHCPNAK). При получении такого сообщения соответствующий клиент должен повторить процедуру получения адреса.
Слайд 22DHCP. Принцип работы протокола
Освобождение DHCP
Клиент может явным образом прекратить аренду IP-адреса.
Для этого он отправляет сообщение освобождения DHCP (DHCPRELEASE) тому серверу, который предоставил ему адрес в аренду. В отличие от других сообщений DHCP, DHCPRELEASE не рассылается широковещательно.
Информация DHCP
Сообщение информации DHCP (DHCPINFORM) предназначено для определения дополнительных параметров TCP/IP теми клиентами, которым не нужен динамический IP-адрес. Серверы отвечают на такой запрос сообщением подтверждения (DHCPACK) без выделения IP-адреса.
Слайд 25IP маршрутизация
Рассмотрим пример продвижения пакета в IP сети. Будем рассматривать адреса,
основанные на классах.
Пусть хост cit.mgu.com из сети 129.13.0.0 необходимо установить связь с FTP сервером unix.mgu.com. Пользователю известно только символьное имя.
Разрешение символьного имени через запрос серверу DNS
Ответ DNS сервера
Подключение FTP клиента к FTP серверу
Слайд 26IP маршрутизация
Формирование IP пакета с инкапсулированным DNS запросом.
Запрос помещается в
UDP дейтаграмму, которая инкапсулируется в IP пакет с DST IP адресом DNS сервера
Передача кадра Ethernet с IP пакетом маршрутизатору R3
Определение IP-адреса и MAC-адреса следующего маршрутизатора R2
Маршрутизатор R2 доставляет пакет DNS-серверу
DNS-сервер принимает кадр, извлекает IP, далее информация передаётся серверной части DNS, которая находит IP по имени
Слайд 27IP маршрутизация с использованием масок равной длины
Слайд 28IP маршрутизация с использованием масок равной длины
Слайд 29IP маршрутизация с использованием масок равной длины
Таблица маршрутизации R2
Слайд 30IP маршрутизация с использованием масок равной длины
Из пришедшего IP пакета извлекается
адрес IP_DEST
Ищем специфический маршрут для IP_DEST
(среди записей с маской 255.255.255.255)
Если совпадений не найдено, начинаем искать неспецифический маршрут. Для каждой записи
Маска M накладывается на IP_DEST (IP) AND M
Полученное число сравниваем со значением поля адреса назначения записи
Если есть совпадение, помечаем строку
Если строки ещё есть, продолжаем повторять, если нет, переходим к пункту 4.
Слайд 31IP маршрутизация с использованием масок равной длины
После просмотра всей таблицы выполняем
одно из 3 действий:
Если отмеченных строк не найдено, пакет отбрасывается
Если есть одна отмеченная строка, отправляем пакет по маршруту, указанному в этой строке
Если есть несколько отмеченных строк, выбираем строку с наиболее специфический маршрут
Слайд 32IP маршрутизация с использованием масок переменной длины
Слайд 33IP маршрутизация с использованием масок переменной длины
Слайд 34IP маршрутизация с использованием масок переменной длины
R2 таблица маршрутизации
Слайд 35IP маршрутизация. RIP
Routing Information Protocol — один из самых простых протоколов маршрутизации. Применяется в небольших компьютерных
сетях, позволяет маршрутизаторам динамически обновлять маршрутную информацию (направление и дальность в хопах), получая ее от соседних маршрутизаторов.
Дистанционно-векторный протокол
Слайд 37IP маршрутизация. RIP
Создание минимальной таблицы.
Рассылка минимальной таблицы соседям.
Получение RIP-сообщений от соседей
и обработка полученной информации.
Рассылка новой таблицы соседям.
Получение RIP-сообщений от соседей и обработка полученной информации.
Слайд 38IP маршрутизация. RIP
Минимальная таблица R1
Минимальная таблица R2
Слайд 39IP маршрутизация. RIP
Измененная таблица R1
Слайд 40IP маршрутизация. RIP
Второй раз измененная таблица R1
Слайд 41IP маршрутизация. RIPv2
В 1994 году был разработан протокол RIP2 (RFC 2453), который является расширением протокола
RIP, обеспечивающим передачу дополнительной маршрутной информации в сообщениях RIP и повышающим уровень безопасности.
Маршрутизация на основе масок.
Аутентификация.
Для IPv6 RIPNG (Next Generation)
Слайд 42IP маршрутизация. OSPF
OSPF (англ. Open Shortest Path First) — протокол динамической маршрутизации, основанный на технологии
отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути Алгоритм Дейкстры (Dijkstra’s algorithm).
Протокол OSPF был разработан IETF в 1988 году. Последняя версия протокола представлена в RFC 2328. Протокол OSPF представляет собой протокол внутреннего шлюза (Interior Gateway Protocol — IGP). Протокол OSPF распространяет информацию о доступных маршрутах между маршрутизаторами одной автономной системы.
OSPF имеет следующие преимущества:
Высокая скорость сходимости по сравнению с дистанционно-векторными протоколами маршрутизации;
Поддержка сетевых масок переменной длины (VLSM);
Оптимальное использование пропускной способности (т. к. строится минимальный остовный граф по алгоритму Дейкстры);
Слайд 43IP маршрутизация. OSPF
Построение таблиц происходит в 2 этапа:
Построение и поддержание базы
данных о состоянии связей сети (организуется через объявления о состоянии связей (Link State Advertisement, LSA)
Нахождение оптимальных маршрутов и генерация таблицы маршрутизации
Когда сеть не меняется, LSA не генерируются
Раз в 30 минут идёт обмен всеми записями таблицы.
Слайд 44IP маршрутизация. Внутренние и внешние шлюзовые протоколы
Интернет разбивается на Автономные Системы
(AS, Autonomous System) – совокупности сетей под единым административным управлением
Основная цель разбиения – многоуровневая маршрутизация.
Три уровня маршрутизации:
Определение последовательности AS
Определение последовательности сетей в AS
Путь к конечному узлу внутри сети
Маршрутизация между AS – Exterior Gateway Protocol, EGP
Внутри AS – Interior Gateway Protocol, IGP
Слайд 45IP маршрутизация. BGP
BGP, Border Gateway Protocol
Слайд 46IP маршрутизация. BGP
iBGP, Interior BGP
eBGP, Exterior BGP
UPDATE может объявить об одном
новом маршруте или аннулировать несколько переставших существовать
AS_Path;NextHop;Network/Mask_length
AS 1021; 194.200.30.1;202.100.5.0/24
AS 363, AS 1021; 132.15.64.3; 202.100.5.0/24
AS 520, AS 363, AS 1021; 201.14.110.3; 202.100.5.0/24
Слайд 47IP маршрутизация. BGP
Выбор наилучшего маршрута включает 3 фазы:
Расчёт преференции ко всем
маршрутам из каждой входной базы (является вопросом локальной конфигурации в том числе)
Расчёт самого выгодного маршрута для каждого из известных пунктов назначения, добавление в локальную базу
Выход из локальной базы и формирование базы для отдельных соседей. Посылаются только маршруты, которые сам использует.
Слайд 48IP маршрутизация. RIB
Маршрутная база данных RIB
Вся маршрутная информация хранится в специальной
базе данных RIB (routing information base). Маршрутная база данных BGP состоит из трех частей:
ADJ-RIBS-IN: Запоминает маршрутную информацию, которая получена из update-сообщений. Это список маршрутов, из которого можно выбирать. (policy information base - PIB).
LOC-RIB: Содержит локальную маршрутную информацию, которую BGP-маршрутизатор отобрал, руководствуясь маршрутной политикой, из ADJ-RIBS-IN
ADJ-RIBS-OUT: Содержит информацию, которую локальный BGP-маршрутизатор отобрал для рассылки соседям с помощью UPDATE-сообщений.