КОМПЬЮТЕРНЫЕ СЕТИ

49
КОМПЬЮТЕРНЫЕ СЕТИ Лекция №12 Сетевой уровень. Управляющие протоколы в Интернете. Маршрутизация в IP. BGP Санкт-Петербург, 2012 Александр Масальских rusalmas@gmail

description

Александр Масальских [email protected]. КОМПЬЮТЕРНЫЕ СЕТИ. Лекция № 12 Сетевой уровень. Управляющие протоколы в Интернете. Маршрутизация в IP. BGP. Санкт-Петербург, 2012. Сетевой уровень. ICMP. Internet Control Message Protocol (ICMP) Сообщения от маршрутизаторов , обратная связь. - PowerPoint PPT Presentation

Transcript of КОМПЬЮТЕРНЫЕ СЕТИ

КОМПЬЮТЕРНЫЕ СЕТИЛекция №12

Сетевой уровень. Управляющие протоколы в Интернете. Маршрутизация в IP. BGP

Санкт-Петербург, 2012

Александр Масальских [email protected]

СЕТЕВОЙ УРОВЕНЬ. 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

СЕТЕВОЙ УРОВЕНЬ. PROXY-ARP

СЕТЕВОЙ УРОВЕНЬ. INRARP

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 address 4

siaddr IP-адрес сервера. Возвращается в предложении DHCP 4

giaddr IP-адрес агента ретрансляции, если таковой участвовал в процессе доставки сообщения DHCP до сервера.

4

chaddr Аппаратный адрес (обычно MAC-адрес) клиента. 16

sname Необязательное имя сервера в виде нуль-терминированной строки. 64

fileНеобязательное имя файла на сервере, используемое бездисковыми

рабочими станциями при удалённой загрузке. Как и sname, представлено в виде нуль-терминированной строки.

128

options

Поле опций DHCP. Здесь указываются различные дополнительные параметры конфигурации. В начале этого поля указываются четыре особых байта со значениями 99, 130, 83, 99 («волшебные числа»), позволяющие серверу определить наличие этого поля.

переменная

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

DHCPDISCOVER

UDP Src = 0.0.0.0Dest = 255.255.255.255

OP0x01

OPTIONS

Опция DHCP 53:обнаружение DHCP

Опция DHCP 50:запрос адреса192.168.1.100

Предложение DHCPDHCPOFFER

UDP Src = 192.168.1.1Dest = 255.255.255.255

OP0x02

OPTIONS

Опция DHCP 53: предложение DHCP

Опция DHCP 1: маска подсети 255.255.255.0

Опция DHCP 3: маршрутизатор

192.168.1.1

Опция DHCP 51: срок аренды IP-адреса — 1

день

Опция DHCP 54: DHCP-сервер 192.168.1.1

Запрос DHCPDHCPREQUEST

UDP Src = 0.0.0.0Dest = 255.255.255.255

OP0x01

OPTIONS

Опция DHCP 53: запрос DHCP

Опция DHCP 50: запрос адреса 192.168.1.100

Опция DHCP 54: DHCP-сервер 192.168.1.1

ПодтверждениеDHCP

DHCPACK

UDP Src = 192.168.1.1 Dest = 255.255.255.255

OP0x02

OPTIONS

Опция DHCP 53: подтверждение DHCP

Опция DHCP 1: маска подсети 255.255.255.0

Опция DHCP 3: маршрутизатор

192.168.1.1

Опция DHCP 51: срок аренды

IP-адреса — 1 день

Опция DHCP 54: DHCP-сервер

192.168.1.1

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 МАРШРУТИЗАЦИЯ

IP МАРШРУТИЗАЦИЯ

Рассмотрим пример продвижения пакета в IP сети. Будем рассматривать адреса, основанные на классах.

Пусть хост cit.mgu.com из сети 129.13.0.0 необходимо установить связь с 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 МАРШРУТИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ МАСОК РАВНОЙ ДЛИНЫ

IP МАРШРУТИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ МАСОК РАВНОЙ ДЛИНЫ

IP МАРШРУТИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ МАСОК РАВНОЙ ДЛИНЫ

Таблица маршрутизации R2

IP МАРШРУТИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ МАСОК РАВНОЙ ДЛИНЫ

1. Из пришедшего IP пакета извлекается адрес IP_DEST

2. Ищем специфический маршрут для IP_DEST(среди записей с маской 255.255.255.255)

3. Если совпадений не найдено, начинаем искать неспецифический маршрут. Для каждой записи

a) Маска M накладывается на IP_DEST (IP) AND Mb) Полученное число сравниваем со значением

поля адреса назначения записиc) Если есть совпадение, помечаем строкуd) Если строки ещё есть, продолжаем

повторять, если нет, переходим к пункту 4.

IP МАРШРУТИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ МАСОК РАВНОЙ ДЛИНЫ

4. После просмотра всей таблицы выполняем одно из 3 действий:

a) Если отмеченных строк не найдено, пакет отбрасывается

b) Если есть одна отмеченная строка, отправляем пакет по маршруту, указанному в этой строке

c) Если есть несколько отмеченных строк, выбираем строку с наиболее специфический маршрут

IP МАРШРУТИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ МАСОК ПЕРЕМЕННОЙ ДЛИНЫ

IP МАРШРУТИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ МАСОК ПЕРЕМЕННОЙ ДЛИНЫ

IP МАРШРУТИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ МАСОК ПЕРЕМЕННОЙ ДЛИНЫ

R2 таблица маршрутизации

IP МАРШРУТИЗАЦИЯ. RIP

Routing Information Protocol — один из самых простых протоколов маршрутизации. Применяется в небольших компьютерных сетях, позволяет маршрутизаторам динамически обновлять маршрутную информацию (направление и дальность в хопах), получая ее от соседних маршрутизаторов.

Дистанционно-векторный протокол

IP МАРШРУТИЗАЦИЯ. RIP

IP МАРШРУТИЗАЦИЯ. RIP

1. Создание минимальной таблицы.2. Рассылка минимальной таблицы

соседям.3. Получение RIP-сообщений от соседей и

обработка полученной информации.4. Рассылка новой таблицы соседям.5. Получение 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 (англ. Open Shortest Path First) — протокол

динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути Алгоритм Дейкстры (Dijkstra’s algorithm).

Протокол OSPF был разработан IETF в 1988 году. Последняя версия протокола представлена в RFC 2328. Протокол 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; 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 (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 МАРШРУТИЗАЦИЯ. FULL VIEW