500 likes | 687 Views
Александр Масальских rusalmas@gmail.com. КОМПЬЮТЕРНЫЕ СЕТИ. Лекция № 12 Сетевой уровень. Управляющие протоколы в Интернете. Маршрутизация в IP. BGP. Санкт-Петербург, 2012. Сетевой уровень. ICMP. Internet Control Message Protocol (ICMP) Сообщения от маршрутизаторов , обратная связь.
E N D
Александр Масальскихrusalmas@gmail.com КОМПЬЮТЕРНЫЕ СЕТИ Лекция №12 Сетевой уровень. Управляющие протоколы в Интернете. Маршрутизация в IP. BGP Санкт-Петербург, 2012
Сетевой уровень. ICMP • Internet Control Message Protocol (ICMP) • Сообщения от маршрутизаторов, обратная связь
Сетевой уровень. ARP • ARP (Address Resolution Protocol)
Сетевой уровень. ARP • ARP поддерживает на каждом интерфейсе таблицу соответствия адресов IP и MAC. При включении таблицы пусты • Алгоритм работы протокола в широковещательных сетях: • IP запрашивает у ARP: «какой MAC адрес имеет интерфейс с адресом IP1»? • ARP смотрит таблицу если записи нет, то записываем исходящий пакет в буфер. • ARP формирует ARP запрос и отправляет широковещательным кадром Ethernet. • Все хосты получают кадр и передают IP1 из кадра своему ARP. Тот сравнивает IP1 с IP интерфейса, на который пришёл кадр и если совпадение, генерирует ARP- ответ.
Сетевой уровень. InRARP • Inverse Address Resolution Protocol, Inverse ARP • протокол для получения адресов сетевого уровня (например IP адресов) других рабочих станций по их адресам канального уровня (например, DLCI в FrameRelay сетях). В основном используется во FrameRelay и ATM сетях. • ARP переводит адреса сетевого уровня в адреса канального уровня, в то же время InARP можно рассматривать как его инверсию. InARP реализовано как расширение ARP. Форматы пакетов этих протоколов одни и те же, различаются лишь коды операций и заполняемые поля.
Сетевой уровень. RARP • RARP (Reverse Address Resolution Protocol) • Выполняет обратное отображение адресов, то есть преобразует физический адрес в IP-адрес. • Протокол применяется во время загрузки узла, он посылает групповое сообщение-запрос со своим физическим адресом. Сервер принимает это сообщение и просматривает свои таблицы в поисках соответствующего физическому, IP-адреса. После обнаружения найденный адрес отсылается обратно на запросивший его узел. Другие станции также могут «слышать» этот диалог и локально сохранить эту информацию в своих ARP-таблицах. • RARP является дополнением к ARP, и описан в RFC 903. • RARP отличается от «обратного» ARP (InverseAddressResolutionProtocol, или 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.
DHCP. Принцип работы протокола • Клиент отправляет сообщение типа DHCPDISCOVER, при этом в качестве IP-адреса источника указывается 0.0.0.0 (компьютер ещё не имеет собственного IP-адреса), в качестве адреса назначения — 255.255.255.255 • Клиент заполняет несколько полей сообщения начальными значениями: • В поле xid помещается уникальный идентификатор транзакции, который позволяет отличать данный процесс получения IP-адреса от других, протекающих в то же время. • В поле chaddr помещается аппаратный адрес (MAC-адрес) клиента. • В поле опций указывается последний известный клиенту IP-адрес. В данном примере это 192.168.1.100. Это необязательно и может быть проигнорировано сервером. • Сообщение DHCPDISCOVER может быть распространено за пределы подсети при помощи специально настроенных агентов ретрансляции DHCP, перенаправляющих поступающие от клиентов сообщения DHCP серверам в других подсетях.
DHCP. Принцип работы протокола • Выбрав одну из конфигураций, предложенных DHCP-серверами, клиент отправляет запрос DHCP (DHCPREQUEST). • Он рассылается широковещательно; при этом к опциям, указанным клиентом в сообщении DHCPDISCOVER, добавляется специальная опция — идентификатор сервера — указывающая адрес DHCP-сервера, выбранного клиентом (в данном случае — 192.168.1.1).
DHCP. Принцип работы протокола • Сервер подтверждает запрос и направляет это подтверждение (DHCPACK) клиенту. • В подтверждении приводятся выданные настройки для клиента. • После этого клиент должен настроить свой сетевой интерфейс, используя предоставленные опции.
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 из сети 129.13.0.0 необходимо установить связь с FTP сервером unix.mgu.com. Пользователю известно только символьное имя. • Разрешение символьного имени через запрос серверу DNS • Ответ DNS сервера • Подключение FTP клиента к FTP серверу
IP маршрутизация • Формирование IP пакета с инкапсулированным DNS запросом. Запрос помещается в UDP дейтаграмму, которая инкапсулируется в IP пакет с DST IP адресом DNS сервера • Передача кадра Ethernet с IP пакетом маршрутизаторуR3 • Определение IP-адреса и MAC-адреса следующего маршрутизатораR2 • МаршрутизаторR2 доставляет пакет DNS-серверу • DNS-сервер принимает кадр, извлекает IP, далее информация передаётся серверной части DNS, которая находит IP по имени
IP маршрутизация с использованием масок равной длины
IP маршрутизация с использованием масок равной длины
IP маршрутизация с использованием масок равной длины • Таблица маршрутизации R2
IP маршрутизация с использованием масок равной длины • Из пришедшего IP пакета извлекается адрес IP_DEST • Ищем специфический маршрут для IP_DEST(среди записей с маской 255.255.255.255) • Если совпадений не найдено, начинаем искать неспецифический маршрут.Для каждой записи • Маска M накладывается на IP_DEST (IP) AND M • Полученное число сравниваем со значением поля адреса назначения записи • Если есть совпадение, помечаем строку • Если строки ещё есть, продолжаем повторять, если нет, переходим к пункту 4.
IP маршрутизация с использованием масок равной длины • После просмотра всей таблицы выполняем одно из 3 действий: • Если отмеченных строк не найдено, пакет отбрасывается • Если есть одна отмеченная строка, отправляем пакет по маршруту, указанному в этой строке • Если есть несколько отмеченных строк, выбираем строку с наиболее специфический маршрут
IP маршрутизация с использованием масок переменной длины
IP маршрутизация с использованием масок переменной длины
IP маршрутизация с использованием масок переменной длины • R2 таблица маршрутизации
IP маршрутизация. RIP • RoutingInformationProtocol— один из самых простых протоколов маршрутизации. Применяется в небольших компьютерных сетях, позволяет маршрутизаторам динамически обновлять маршрутную информацию (направление и дальность в хопах), получая ее от соседних маршрутизаторов. • Дистанционно-векторный протокол
IP маршрутизация. RIP • Создание минимальной таблицы. • Рассылка минимальной таблицы соседям. • Получение RIP-сообщений от соседей и обработка полученной информации. • Рассылка новой таблицы соседям. • Получение RIP-сообщений от соседей и обработка полученной информации.
IP маршрутизация. RIP • Минимальная таблица R1 • Минимальная таблица R2
IP маршрутизация. RIP • Измененная таблица R1
IP маршрутизация. RIP • Второй раз измененная таблица R1
IP маршрутизация. RIPv2 • В 1994 году был разработан протокол RIP2 (RFC 2453), который является расширением протокола RIP, обеспечивающим передачу дополнительной маршрутной информации в сообщениях RIP и повышающим уровень безопасности. • Маршрутизация на основе масок. • Аутентификация. • Для IPv6 RIPNG (Next Generation)
IP маршрутизация. OSPF • OSPF (англ. OpenShortestPathFirst) — протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-statetechnology) и использующий для нахождения кратчайшего пути Алгоритм Дейкстры (Dijkstra’salgorithm). • Протокол OSPF был разработан IETF в 1988 году. Последняя версия протокола представлена в RFC 2328. Протокол OSPF представляет собой протокол внутреннего шлюза (InteriorGatewayProtocol — 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; 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
IP маршрутизация. BGP • Выбор наилучшего маршрута включает 3 фазы: • Расчёт преференции ко всем маршрутам из каждой входной базы (является вопросом локальной конфигурации в том числе) • Расчёт самого выгодного маршрута для каждого из известных пунктов назначения, добавление в локальную базу • Выход из локальной базы и формирование базы для отдельных соседей. Посылаются только маршруты, которые сам использует.
IP маршрутизация. RIB • Маршрутная база данных RIB • Вся маршрутная информация хранится в специальной базе данных RIB (routinginformationbase). Маршрутная база данных BGP состоит из трех частей: • ADJ-RIBS-IN:Запоминает маршрутную информацию, которая получена из update-сообщений. Это список маршрутов, из которого можно выбирать. (policyinformationbase - PIB). • LOC-RIB:Содержит локальную маршрутную информацию, которую BGP-маршрутизатор отобрал, руководствуясь маршрутной политикой, из ADJ-RIBS-IN • ADJ-RIBS-OUT:Содержит информацию, которую локальный BGP-маршрутизатор отобрал для рассылки соседям с помощью UPDATE-сообщений.