Сетевой уровень. (Лекция 9)

Содержание

Слайд 2

Основные составляющие Протокол IP – работает на всех компьютерах в цепочке

Основные составляющие

Протокол IP – работает на всех компьютерах в цепочке передачи.

На каждом решает кому отправить дальше (таблицы маршрутизации)
Протоколы маршрутизации – позволяют динамически менять таблицы маршрутизации
Иерархическая система адресации (IP-адреса)
Слайд 3

IP-адреса IP-адрес - 4-байтовое число (32 разряда) Например, 192.168.10.153 Он присваивается

IP-адреса

IP-адрес - 4-байтовое число (32 разряда)
Например, 192.168.10.153
Он присваивается каждому интерфейсу
Считается, что

IP-адрес состоит из двух частей:
сетевая часть (номер подсети)
интерфейсная часть (номер интерфейса узла)
Слайд 4

Устаревшее разделение сетей на классы

Устаревшее разделение сетей на классы

Слайд 5

Бесклассовая адресация

Бесклассовая адресация

Слайд 6

Иерархия IP-адресов

Иерархия IP-адресов

Слайд 7

Зарезервированные адреса 255.255.255.255 – широковещательный 127.0.0.0 / 8 – петля обратной

Зарезервированные адреса

255.255.255.255 – широковещательный
127.0.0.0 / 8 – петля обратной связи
10.0.0.0 /

8 и 192.168.0.0 / 16 – частные сети, подсоединенные к Интернету через NAT
Слайд 8

Принципы передачи данных по протоколу IP

Принципы передачи данных по протоколу IP

Слайд 9

Таблица маршрутизации route print Network Destination Netmask Gateway Interface Metric 0.0.0.0

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

Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 195.208.237.1

195.208.237.244 10
0.0.0.0 0.0.0.0 25.0.0.1 25.88.172.250 9256
25.0.0.0 255.0.0.0 On-link 25.88.172.250 9256
25.88.172.250 255.255.255.255 On-link 25.88.172.250 9256
25.255.255.255 255.255.255.255 On-link 25.88.172.250 9256
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.56.0 255.255.255.0 On-link 192.168.56.1 276
192.168.56.1 255.255.255.255 On-link 192.168.56.1 276
192.168.56.255 255.255.255.255 On-link 192.168.56.1 276
195.208.237.0 255.255.255.0 On-link 195.208.237.244 266
195.208.237.244 255.255.255.255 On-link 195.208.237.244 266
195.208.237.255 255.255.255.255 On-link 195.208.237.244 266
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.56.1 276
224.0.0.0 240.0.0.0 On-link 195.208.237.244 266
224.0.0.0 240.0.0.0 On-link 25.88.172.250 9256
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.56.1 276
255.255.255.255 255.255.255.255 On-link 195.208.237.244 266
255.255.255.255 255.255.255.255 On-link 25.88.172.250 9256
Слайд 10

Домашнее задание

Домашнее задание

Слайд 11

Формат IP-дейтаграммы

Формат IP-дейтаграммы

Слайд 12

Служебные протоколы. ICMP Internet Control Message Protocol — межсетевой протокол управляющих

Служебные протоколы. ICMP

Internet Control Message Protocol — межсетевой протокол управляющих сообщений
Передача информации

об ошибках в дейтаграммах (основная задача)
Используется в программе PING, которая проверяет работает ли удаленный компьютер
Используется в программе TRACEROUTE, определяющей маршрут до заданного компьютера
Слайд 13

Служебные протоколы. DHCP DHCP - протокол динамического конфигурирования узлов позволяет компьютерам

Служебные протоколы. DHCP

DHCP - протокол динамического конфигурирования узлов
позволяет компьютерам автоматически получать

IP-адрес и другие параметры
три способа распределения IP-адресов:
ручное
автоматическое
динамическое
Слайд 14

Принципы работы DHCP Компьютер отправляет широковещательный UDP – пакет: «Кто может

Принципы работы DHCP

Компьютер отправляет широковещательный UDP – пакет: «Кто может назначить

мне IP – адрес?»
DHCP – серверы сети отправляют в ответ DHCP – предложения
Клиент получает список предложений, выбирает нужное и отправляет DHCP – запрос на конкретный сервер
От сервера приходит DHCP – подтверждение (в нем указывается IP – адрес, присвоенный клиенту).
Слайд 15

Решение проблемы нехватки IP-адресов (NAT)

Решение проблемы нехватки IP-адресов (NAT)

Слайд 16

Hole punching

Hole punching

Слайд 17

Маршрутизация Маршрутизация (англ. routing) — процесс определения маршрута следования информации в

Маршрутизация

Маршрутизация (англ. routing) — процесс определения маршрута следования информации в сетях

связи (реализуется алгоритмом составления таблиц маршрутизации)
Типы маршрутизации:
статическая
динамическая
Алгоритмы маршрутизации:
дистанционно-векторный алгоритм
алгоритм состояния связей
Слайд 18

Иерархическая маршрутизация Вся сеть разбивается на вложенные подсети Внутри каждой автономной

Иерархическая маршрутизация

Вся сеть разбивается на вложенные подсети
Внутри каждой автономной подсети используются

протоколы внутренней маршрутизации
Автономные системы соединяются друг с другом с помощью шлюзов (gateway)
Маршрутизация между этими шлюзами - внешняя маршрутизация
Все вместе это может быть также автономной подсетью
Протоколы:
внутренняя: RIP (Routing Internet Protocol) и OSPF (Open Shortest Path First)
внешняя: BGP (Border Gateway Protocol)
Слайд 19

Идея Каждый узел хранит вектор расстояний, содержащий расстояния до подсетей и

Идея
Каждый узел хранит вектор расстояний, содержащий расстояния до подсетей и направления
Если

сеть недоступна – присваиваем расстоянию ∞
Вначале узлы знают только своих соседей

A

E

F

C

D

B

2

3

6

4

1

1

1

3

RIP: дистанционно-векторный протокол маршрутизации

Слайд 20

Обновление вектора расстояний Update(x,y,z) d := c(x,z) + d(z,y) # Расстояние

Обновление вектора расстояний

Update(x,y,z)
d := c(x,z) + d(z,y) # Расстояние от x до

y через z
if d < d(x,y)
# находим наилучшее
return d, z # Наилучшее расстояние и направление
else
return d(x,y), next_hop(x,y) # Лучшее - старое

x

z

y

c(x,z)

d(z,y)

d(x,y)

Слайд 21

Алгоритм Беллмана-Форда Цикл Для каждого узла x Для каждого узла z

Алгоритм Беллмана-Форда

Цикл
Для каждого узла x
Для каждого узла z
Для каждого направления y
d(x,y)

:= Update(x,y,z)
Пока расстояния не перестанут меняться
Слайд 22

Lecture 10: 2-10-2005 Исходные векторы A E F C D B

Lecture 10: 2-10-2005

Исходные векторы

A

E

F

C

D

B

2

3

6

4

1

1

1

3

Слайд 23

Lecture 10: 2-10-2005 Итерация №1 A E F C D B

Lecture 10: 2-10-2005

Итерация №1

A

E

F

C

D

B

2

3

6

4

1

1

1

3

Слайд 24

Lecture 10: 2-10-2005 Итерация №2 A E F C D B

Lecture 10: 2-10-2005

Итерация №2

A

E

F

C

D

B

2

3

6

4

1

1

1

3

Слайд 25

Неустойчивая работа при изменении конфигурации

Неустойчивая работа при изменении конфигурации

Слайд 26

OSPF: Алгоритм состояния связей Каждый узел хранит копию графа сети Узлы

OSPF: Алгоритм состояния связей

Каждый узел хранит копию графа сети
Узлы обмениваются информацией

о связях
Каждый узел вычисляет дерево кратчайших путей на графе
используется алгоритм Дейкстры
Пути пересчитываются в случае изменения топологии сети
Слайд 27

Алгоритм Дейкстры Дано: Граф с источником s и весами дуг c(u,v)

Алгоритм Дейкстры

Дано:
Граф с источником s и весами дуг c(u,v)
Требуется:
вычислить кратчайший

путь от s до каждого узла v
Слайд 28

Алгоритм Дейкстры Множества узлов «Готово» До них уже найдены кратчайшие пути

Алгоритм Дейкстры

Множества узлов
«Готово»
До них уже найдены кратчайшие пути
«просматриваем»
соседи узлов из «готово»
«пока

не дошли»:
остальные

Метки узлов
для уже просмотренных узлов d(v) = длина кратчайшего пути от источника s до v
для просматриваемых d(v) = min( d(соседа) + вес дуги от соседа ), где соседи берутся из «готово»

A

E

F

C

D

B

2

3

6

3

1

1

2

3

Источник s

готово

просматриваем

пока не дошли

Слайд 29

Алгоритм Дейкстры: начало A E F C D B 2 3

Алгоритм Дейкстры: начало

A

E

F

C

D

B

2

3

6

3

1

1

2

3

Источник s

Длина путей на
текущей итерации

готово

просматриваем

пока не дошли

Слайд 30

Алгоритм Дейкстры: начало Рассчитываем d(v) для v из просматриваемого множества, остальным

Алгоритм Дейкстры: начало

Рассчитываем d(v) для v из просматриваемого множества, остальным приписываем

бесконечность

A

E

F

C

D

B

2

3

6

3

1

1

2

3

готово

просматриваем

пока не дошли

Источник s

Слайд 31

Алгоритм Дейкстры: один шаг Находим узел с минимальным d(v) во множестве

Алгоритм Дейкстры: один шаг

Находим узел с минимальным d(v) во множестве просматриваемых
Добавляем этот

узел во множество просмотренных («готово»). Добавляем минимальную дугу до этого узла в дерево кратчайших путей
Обновляем множество «просматриваемых» и пересчитываем d(v)

A

E

F

C

D

B

2

3

6

3

1

1

2

3

0

2

3



6

5

готово

просматриваем

пока не дошли

Источник s

Слайд 32

Алгоритм Дейкстры: повторяем A C 2 3 6 3 1 1

Алгоритм Дейкстры: повторяем

A

C

2

3

6

3

1

1

2

3

F

B

D

E

готово

просматриваем

пока не дошли

Источник s

Слайд 33

Алгоритм Дейкстры 2 6 3 1 1 2 3 A C

Алгоритм Дейкстры

2

6

3

1

1

2

3

A

C

3

D

B

E

F

готово

просматриваем

пока не дошли

Источник s

Слайд 34

Алгоритм Дейкстры Зеленым отмечено дерево кратчайших путей 2 6 3 1

Алгоритм Дейкстры

Зеленым отмечено дерево кратчайших путей

2

6

3

1

1

2

3

A

C

3

D

B

E

F

Источник s

Слайд 35

BGP: внешняя маршрутизация Магистральные провайдеры Verison Retn.net ТрансТелеКом Golden telecom …..

BGP: внешняя маршрутизация

Магистральные провайдеры
Verison
Retn.net
ТрансТелеКом
Golden telecom
…..

Слайд 36

BGP: внешняя маршрутизация ISP предоставляют услуги связи только своим клиентам ISP

BGP: внешняя маршрутизация

ISP предоставляют услуги связи только своим клиентам
ISP обычно запрещают транзитный


трафик через свои сети
Магистральные ISP редко платят
друг другу за транзитный трафик

разрешено

не
разрешено

Слайд 37

BGP: внешняя маршрутизация K1 K2 K3 K4 П1 П2 П3 П4 П5

BGP: внешняя маршрутизация

K1

K2

K3

K4

П1

П2

П3

П4

П5

Слайд 38

BGP: автономные системы (AS) Автономная система – набор связанных сетей, использующих

BGP: автономные системы (AS)

Автономная система – набор связанных сетей, использующих единую

систему маршрутизации
Номера присваиваются автономным системам локальными интернет-регистраторами (LIR) обычно одновременно с выдачей блока IP-адресов
Пример:
ASN Яндекса = 13238
ASN ОАО «Вымпел-Коммуникации» = 8402 (Corbina)
Слайд 39

Граф AС – это фактор-граф интернета

Граф AС – это фактор-граф интернета

Слайд 40

BGP: внешняя маршрутизация Таблица маршрутизации BGP

BGP: внешняя маршрутизация

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

Слайд 41

Домашнее задание Скачайте и просмотрите BGP-маршрутную таблицу для MSK-IX http://www.msk-ix.ru/download/lg/msk_ipv4.txt.gz Информацию

Домашнее задание

Скачайте и просмотрите BGP-маршрутную таблицу для MSK-IX http://www.msk-ix.ru/download/lg/msk_ipv4.txt.gz
Информацию об автономных

системах российских и европейских провайдеров можно получить здесь http://www.db.ripe.net/whois
Список номеров AS, подключенных к MSK-IX можно найти здесь: http://www.msk-ix.ru/members/
Слайд 42

Маршрутизаторы

Маршрутизаторы

Слайд 43

Маршрутизаторы

Маршрутизаторы

Слайд 44

Устройство маршрутизатора Основная задача маршрутизатора - получение дейтаграммы и отправка ее по одному из своих интерфейсов

Устройство маршрутизатора

Основная задача маршрутизатора - получение дейтаграммы и отправка ее

по одному из своих интерфейсов
Слайд 45

Методы коммутации

Методы коммутации

Слайд 46

Мультипротокольная коммутация по меткам Multi-Protocol Label Switching (MPLS)

Мультипротокольная коммутация по меткам

Multi-Protocol Label Switching (MPLS)

Слайд 47

Обзор MPLS Используется для ускорения маршрутизации пакетов (RFC 3031) Идея: вместо

Обзор MPLS

Используется для ускорения маршрутизации пакетов (RFC 3031)
Идея: вместо номера сети

переменной длины использовать 20-битную метку
Метка размещается в заголовке MPLS между заголовками канального и сетевого уровня
Поддерживает все протоколы сетевого и канального уровней
Слайд 48

Формат MPLS-заголовка 20-битная метка CoS – поле, описывающее класс обслуживания пакета

Формат MPLS-заголовка

20-битная метка
CoS – поле, описывающее класс обслуживания пакета
S: индикатор конца

стека MPLS-заголовков
TTL: время жизни
Слайд 49

MPLS-маршрутизация Входной LSR(Label switching router) MPLS-домена присваивает пакетам метки, определяющие их

MPLS-маршрутизация

Входной LSR(Label switching router) MPLS-домена присваивает пакетам метки, определяющие их дальнейший

путь в сети
Внутренние LSR:
используют метку для определения следующего маршрутизатора
отправляют пакет следующему (могут изменить метку)
Выходной LSR убирает MPLS-заголовок с меткой и маршрутизирует пакет на основе IP-адреса
Слайд 50

MPLS-маршрутизация Маршрут коммутации по меткам (Label Switched Path) - это последовательность

MPLS-маршрутизация

Маршрут коммутации по меткам (Label Switched Path) - это последовательность устройств

в MPLS домене, через которые проследовал пакет с меткой при фиксированном размере стека меток
все маршруты LSP – однонаправленные
метка, устанавливаемая входным LSR однозначно определяет весь маршрут следования пакета через MPLS домен
Протокол обмена метками Label Distribution Protocol (LDP) согласует конкретные значения меток для создания целостных маршрутов коммутации по меткам
Слайд 51

Forwarding Equivalence Class Входной маршрутизатор присваивает метки на основе Forwarding Equivalence

Forwarding Equivalence Class

Входной маршрутизатор присваивает метки на основе Forwarding Equivalence Classes

(FEC)
Класс пакета может определяться:
IP-адресами источника/назначения
портами источника/назначения
протоколом
DSCP - Differentiated services code point
входным интерфейсом
Каждому FEC можно установить определенное PHB (Per-hop behavior)
Слайд 52

Пример 1 2 3 1 2 1 2 3 3 50 40

Пример

1

2

3

1

2

1

2

3

3

50

40

Слайд 53

Протокол IPv6

Протокол IPv6

Слайд 54

Протокол IPv6 IPv4 → IPv6 адрес – 16 байт причины перехода

Протокол IPv6

IPv4 → IPv6
адрес – 16 байт
причины перехода на Ipv6
недостаточность объёма

32-битного адресного пространства
разрастание таблиц маршрутизации
сложность массового изменения IP-адресов
относительная сложность обработки заголовков пакетов IPv4
Слайд 55

Рост адресного пространства

Рост адресного пространства

Слайд 56

IPv6: адреса записываются в виде 8 двухбайтных чисел: 2001:0db8:0049:0000:ab00:0000:0000:0102 сокращения записи:

IPv6: адреса

записываются в виде 8 двухбайтных чисел:
2001:0db8:0049:0000:ab00:0000:0000:0102
сокращения записи:
2001:0db8:0000:0000:0000:0000:1428:57ab
2001:0db8:0000:0000:0000::1428:57ab
2001:0db8:0:0:0:0:1428:57ab
2001:0db8:0:0::1428:57ab
2001:0db8::1428:57ab
2001:db8::1428:57ab

Слайд 57

IPv6: типы адресов Типы: unicast anycast multicast Зарезервированные адреса :: ↔

IPv6: типы адресов

Типы:
unicast
anycast
multicast
Зарезервированные адреса
:: ↔ 0.0.0.0
::1 ↔ 127.0.0.1
2002:ab:cd::/16 ↔ a.b.c.d

(6to4 адреса)
FF**:: - широковещательные
Слайд 58

IPv6: метки потоков Поток - это последовательность пакетов, посылаемых отправителем определённому

IPv6: метки потоков

Поток - это последовательность пакетов, посылаемых отправителем определённому адресату
Метки

потоков – случайные 24-битные числа
Направление передачи вычисляется только для первого пакета и помещается в кэш
Все остальные пакеты с такой же меткой от того же отправителя направляются туда же
Слайд 59

Формат заголовка IPv6

Формат заголовка IPv6

Слайд 60

Переход с IPv4 на IPv6 Взаимодействие IPv6 и IPv4 решения: туннелирование

Переход с IPv4 на IPv6

Взаимодействие IPv6 и IPv4
решения:
туннелирование (6to4, Teredo)


двойной стек
трансляция протоколов
несовместимость с DNS
решение:
ввод типа записи AAAA
ввод домена ip6.arpa
Слайд 61

Туннелирование

Туннелирование

Слайд 62

Групповая рассылка Multicasting

Групповая рассылка

Multicasting

Слайд 63

Приложения Телерадиовещание Распространение ПО Видеоконференции со многими участниками Многопользовательские игры

Приложения

Телерадиовещание
Распространение ПО
Видеоконференции со многими участниками
Многопользовательские игры

Слайд 64

Архитектура группового вещания Hosts Routers Протокол взаимодействия хостов и роутеров (IGMP) протоколы групповой маршрутизации Групповые адреса

Архитектура группового вещания

Hosts

Routers

Протокол
взаимодействия
хостов и роутеров (IGMP)

протоколы групповой
маршрутизации

Групповые адреса

Слайд 65

Архитектура группового вещания (RFC1112) Каждая группа имеет один IP-адрес Количество компьютеров

Архитектура группового вещания (RFC1112)

Каждая группа имеет один IP-адрес
Количество компьютеров в группе

не ограничено
Члены группы могут располагаться где угодно
Хосты могут присоединяться или покидать группу, когда захотят
Источники потока данных могут не быть участниками группы
Только хост и маршрутизаторы знают о том, что хост входит в группу
Аналогия:
Каждый групповой адрес – как радиочастота, которую любой может прослушивать.
Слайд 66

Групповые адреса IP-адреса класса D 224.0.0.0 – 239.255.255.255 Как происходит присвоение

Групповые адреса

IP-адреса класса D
224.0.0.0 – 239.255.255.255
Как происходит присвоение таких адресов?
Общеизвестные -

организацией IANA
Остальные – присваиваются динамические
Слайд 67

IP Multicast API Отправка – обычная (порт, sendto) Получение – две

IP Multicast API

Отправка – обычная (порт, sendto)
Получение – две новых функции
Join

Group – присоединение к группе
Leave Group – выход из группы
Получение – обычной операцией recvfrom
Программирование: у сокета нужно установить опцию setsockopt(… IP_ADD_MEMBERSHIP …)
Слайд 68

IGMP - Internet Group Management Protocol Протокол взаимодействия хостов и роутеров

IGMP - Internet Group Management Protocol

Протокол взаимодействия хостов и роутеров
Каждый

хост помнит все группы, в которые он входит – функции Socket API оповещают о них службу IGMP
Цель: поддерживать информацию маршрутизаторов о группах в актуальном состоянии
Слайд 69

IGMP: присоединение к группе Пример : R присоединяется к группе 224.2.0.1

IGMP: присоединение к группе

Пример : R присоединяется к группе 224.2.0.1
R посылает

IGMP Membership-Report по адресу 224.2.0.1
DR получает и впоследствии будет направлять пакеты группы 224.2.0.1 в сеть А
DR периодически рассылает IGMP Membership-Query по адресу 224.0.0.1
R сообщает, что он подписан на 224.2.0.1

R

R - получатель DR – определенный роутер

IGMP Membership-Report

Сеть A

Сеть B

DR

Данные для 224.2.0.1

Слайд 70

IGMP: выход из группы Пример : R покидает группу 224.2.0.1 R

IGMP: выход из группы

Пример : R покидает группу 224.2.0.1
R отправляет IGMP

Leave-Group to 224.2.0.1
DR получает его
Если в сети А больше нет участников группы 224.2.0.1 то DR перестает направлять туда пакеты.

Данные для 224.2.0.1

R

DR

IGMP Leave-Group

Сеть A

Сеть B

R - получатель DR – определенный роутер

Слайд 71

Как работает IGMP Среди маршрутизаторов, подсоединенных к одним и тем же

Как работает IGMP

Среди маршрутизаторов, подсоединенных к одним и тем же хостам

выбирается один, который будет опрашивать
Выбранный маршрутизатор периодически рассылает пакет Membership Query для всех групп (224.0.0.1), с TTL = 1
При получении хосты для каждой группы G, на которую они подписаны, выжидают случайное время (от 0 до 10 с)

Q

Маршрутизаторы:

Оконечные
системы:

Слайд 72

Как работает IGMP Когда время ожидания закончилось, хост отправляет пакет Membership

Как работает IGMP

Когда время ожидания закончилось, хост отправляет пакет Membership Report

по адресу G, с TTL = 1
Другие члены G услышав ответ, останавливают свои таймеры
Маршрутизаторы получают ответы от всех групп и останавливают транспортировку пакетов для групп без участников

Q

G

G

G

G

Маршрутизаторы:

Оконечные
системы:

Слайд 73

Как работает IGMP Заметим, что лавины широковещательных ответов не возникает, так

Как работает IGMP

Заметим, что лавины широковещательных ответов не возникает, так как

обычно отправляется всего один ответ на всю группу из-за случайности и блокировки
Период опросов – 1 - 1,5 мин
Когда хост впервые подключается к группе, он отправляет один или два ответа об участии, не дожидаясь запроса маршрутизатора
Слайд 74

Контроль зоны группового вещания – маленькие TTL

Контроль зоны группового вещания – маленькие TTL

Слайд 75

Маршрутизация группового трафика Цель – построить дерево распространения данных от источника

Маршрутизация группового трафика

Цель – построить дерево распространения данных от источника ко всем

получателям
Лавинное распространение и блокировка
Начинаем направлять трафик всем компьютерам в сети
Блокируем рассылку тем подсетям, где нет получателей
Протоколы: DVMRP, PIM-DM
Протоколы маршрутизации по состоянию канала
Маршрутизаторы сообщают всем группы, у которых есть получатели
Если нужно, вычисляют дерево кратчайших путей до получателей
Данные передаются в сеть, если только кто-то из этой сети оповестил их о своем участии в группе рассылки
Пример: MOSPF, PIM-SM