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

54
КОМПЬЮТЕРНЫЕ СЕТИ Лекция №10 Сетевой уровень. Введение. Маршрутизация Санкт-Петербург, 2012 Александр Масальских rusalmas@gmail

Upload: jesse-hendrix

Post on 31-Dec-2015

42 views

Category:

Documents


1 download

DESCRIPTION

Александр Масальских [email protected]. КОМПЬЮТЕРНЫЕ СЕТИ. Лекция № 10 Сетевой уровень. Введение. Маршрутизация. Санкт-Петербург, 2012. Сетевой уровень. Сетевой уровень решает задачу доставки пакетов от отправителя до получателя - PowerPoint PPT Presentation

TRANSCRIPT

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

Сетевой уровень. Введение. Маршрутизация

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

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

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

Сетевой уровень решает задачу доставки пакетов от отправителя до получателя

Сетевой уровень прокладывает маршрут на всём протяжении следования информации

Сетевой уровень должен обеспечить независимость предоставления своих сервисов от низлежащих технологий

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

КОММУТАЦИЯ ПАКЕТОВ С ОЖИДАНИЕМ

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

Задачи, ставившиеся при разработке сервисов сетевого уровня: Сервисы сетевого уровня не должны зависеть

от технологии маршрутизатора Транспортный уровень должен быть

независим от количества, типа и топологии присутствующих сетей с маршрутизаторами

Сетевые адреса, доступные транспортному уровню, должны использовать единую систему нумерации в локальных и глобальных сетях

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

Первый подход: маршрутизатор только перемещает пакет с места на место, подсеть изначально обладает ненадёжностью и хосты должны сами учитывать ошибки и управлять потоком.

Второй подход: надёжный, ориентированный на соединение сервис, с обеспечением качества обслуживания. ATM

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

Дейтаграммные сети, пакеты – дейтаграммы. Internet.

Подсети виртуальных каналов, с установкой виртуальных каналов. ATM.

РЕАЛИЗАЦИЯ СЕРВИСА БЕЗ УСТАНОВЛЕНИЯ СОЕДИНЕНИЯ

РЕАЛИЗАЦИЯ СЕРВИСА С УСТАНОВКОЙ СОЕДИНЕНИЯ

СРАВНЕНИЕ ДЕЙТАГРАММНОГО ПОДХОДА И ПОДХОДА С СОЕДИНЕНИЕМ

АЛГОРИТМЫ МАРШРУТИЗАЦИИ

Алгоритмы, определяющие путь прохождения пакетов называются алгоритмами маршрутизации.

В дейтаграммной подсети выбор маршрута решается для каждого пакета.

В подсети виртуальных каналов маршрут выбирается только при установке канала (сеансовая маршрутизация).

Процесс пересылки определяет по таблицам маршрутизации исходящую линию.

За заполнение и обновление таблиц отвечает алгоритм маршрутизации.

АЛГОРИТМЫ МАРШРУТИЗАЦИИ

Требования к алгоритму: КорректностьПростота НадёжностьУстойчивостьСправедливость Оптимальность

ПРОТИВОРЕЧИЕ СПРАВЕДЛИВОСТИ И ОПТИМАЛЬНОСТИ

АЛГОРИТМЫ МАРШРУТИЗАЦИИ

Неадаптивные алгоритмы не учитывают при выборе маршрута топологию и текущее состояние сети и не измеряют трафик на линиях. Таблицы маршрутизации формируются на этапе загрузки сети. Статическая маршрутизация.

Адаптивные алгоритмы учитывают эти свойства сети

ПРИНЦИП ОПТИМАЛЬНОСТИ МАРШРУТА

Принцип оптимальности маршрута. Если маршрутизатор B располагается на

оптимальном маршруте от A к С, то оптимальный маршрут от B к С совпадёт с частью оптимального маршрута от А к С.

Как следствие, можно рассмотреть множество оптимальных маршрутов в виде дерева, называемого входным деревом.

Входное дерево не обязательно уникально. Цель всем алгоритмов выбора маршрутов –

построение и использование входных деревьев для всех маршрутизаторов.

SINK TREE

(a) A subnet. (b) A sink tree for router B.

КОНЦЕПЦИЯ КРАТЧАЙШЕГО ПУТИ

Строим граф подсети: узлы – вершины, линии связи – дуги.

Вводим веса на дуги (можно брать одинаковые, можно учитывать длину линий и т.д.).

Можно учесть среднюю длину очереди, время задержки пересылки, и т.д.

При выборе маршрута между двумя маршрутизаторами находим кротчайший путь между ними в графе.

Существуют разные алгоритмы поиска кратчайшего пути.

АЛГОРИТМ ДЕЙКСТРЫ

МЕТОД ЗАЛИВКИ

Статический алгоритм Пришедший пакет посылается на все

исходящие линии, кроме той, по которой он пришёл

Порождает огромное количество дублированных пакетов. Вводят TTL для борьбы с бесконечной лавиной

Можно учитывать все маршрутизаторы, через который проходил пакет

Выборочная заливка (определение по косвенным признакам куда пересылать пакет)

МАРШРУТИЗАЦИЯ ПО ВЕКТОРУ РАССТОЯНИЙ

Динамический алгоритм Работает, опираясь на таблицу,

содержащую наилучшие известные пути к каждому из возможных адресатов.

Происходит постоянный обмен этими таблицами с соседями.

Алгоритм маршрутизации по вектору расстояний – распределённый алгоритм Беллмана – Форда (Bellman-Ford)

Применялся в ARPANET – RIP (Routing Information Protocol)

МАРШРУТИЗАЦИЯ ПО ВЕКТОРУ РАССТОЯНИЙ

ПРОБЛЕМА СЧЁТА ДО БЕСКОНЕЧНОСТИ

МАРШРУТИЗАЦИЯ С УЧЁТОМ СОСТОЯНИЯ ЛИНИЙ

Маршрутизация на основе векторов расстояний в ARPANET использовалась до 1979 года

Линии начали иметь различную пропускную способность

Алгоритм долго приходил к устойчивому состоянию (счёт до бесконечности)

МАРШРУТИЗАЦИЯ С УЧЁТОМ СОСТОЯНИЯ ЛИНИЙ

Маршрутизатор должен:1. Обнаруживать своих соседей и узнавать

их сетевые адреса.2. Измерять задержку или стоимость связи

с каждым соседом.3. Создавать пакет, со всей собранной

информацией.4. Посылать этот пакет всем

маршрутизаторам.5. Вычислять кратчайший пусть ко всем

маршрутизаторам.

МАРШРУТИЗАЦИЯ С УЧЁТОМ СОСТОЯНИЯ ЛИНИЙ. ЗНАКОМСТВО С СОСЕДЯМИ

Посылаем HELO по всем линиям. Маршрутизатор на том конце, должен послать ответ с информацией о себе (имена должны быть уникальны).

(a) Nine routers and a LAN.(b) A graph model of (a).

МАРШРУТИЗАЦИЯ С УЧЁТОМ СОСТОЯНИЯ ЛИНИЙ. ИЗМЕРЕНИЕ СТОИМОСТИ ЛИНИИ

Наиболее прямой способ – отправка ECHO всем.

Можно учесть загруженность линии (запускать таймер сразу при отправке на канальный уровень)

Можно не учитывать (запускать таймер при достижении очереди ECHO на отправка)

МАРШРУТИЗАЦИЯ С УЧЁТОМ СОСТОЯНИЯ ЛИНИЙ. ИЗМЕРЕНИЕ СТОИМОСТИ ЛИНИИ

МАРШРУТИЗАЦИЯ С УЧЁТОМ СОСТОЯНИЯ ЛИНИЙ. ФОРМИРОВАНИЕ ПАКЕТОВ СОСТОЯНИЯ ЛИНИЙ

Идентификатор отправителя Порядковый номер Возраст Список соседей с задержками

МАРШРУТИЗАЦИЯ С УЧЁТОМ СОСТОЯНИЯ ЛИНИЙ. РАСПРОСТРАНЕНИЕ ПАКЕТОВ СОСТОЯНИЯ ЛИНИЙ

Основная идея – алгоритм заливки Приходит пакет – смотрим адрес

отправителя, если уже есть запись – сверяем порядковые номера

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

Для защиты от ошибок – требуем подтверждения получения пакетов состояния линий

МАРШРУТИЗАЦИЯ С УЧЁТОМ СОСТОЯНИЯ ЛИНИЙ. РАСПРОСТРАНЕНИЕ ПАКЕТОВ СОСТОЯНИЯ ЛИНИЙ

The packet buffer for router B

МАРШРУТИЗАЦИЯ С УЧЁТОМ СОСТОЯНИЯ ЛИНИЙ. ВЫЧИСЛЕНИЕ НОВЫХ МАРШРУТОВ

Собрав все пакеты состояния линий, маршрутиазтор может построить полный граф подсети. Каждая линия представлена дважды.

Далее можно локально применять алгоритм Дейкстры для поиска минимального пути

Такой подход используют протокол внутреннего шлюза OSPF (Open Shortest Path First), IS-IS (Intermediate System to Intermediate System)

ИЕРАРХИЧЕСКАЯ МАРШРУТИЗАЦИЯ

Размер таблиц маршрутов увеличивается пропорционально увеличению размеров сети

Вводят иерархическую маршрутизацию Выделаются области – регионы. Каждый

маршрутизатор знает всё только в пределах своего региона.

Можно ввести несколько уровней иерархии: кластеры, зоны, группы и т.д.

ИЕРАРХИЧЕСКАЯ МАРШРУТИЗАЦИЯ

ШИРОКОВЕЩАТЕЛЬНАЯ МАРШРУТИЗАЦИЯ

Рассылка пакетов по всем пунктам назначения

Рассылка всемЗаливкаМногоадресная маршрутизация (в

пакете – все получатели, маршрутизатор генерирует новые пакеты с меньшими списками на линиях, где есть адресаты)

Связующее деревоПродвижение по встречному пути

ШИРОКОВЕЩАТЕЛЬНАЯ МАРШРУТИЗАЦИЯ. ПРОДВИЖЕНИЕ ПО ВСТРЕЧНОМУ ПУТИ

Когда приходит широковещательный пакет, маршрутизатор проверяет, используется ли линия, по которой пришёл пакет для нормальной передачи пакетов источнику широковещания.

Если да, то пакет прибыл по наилучшему маршруту и является первой копией. Тогда рассылаем заливкой.

Иначе отвергаем.

ШИРОКОВЕЩАТЕЛЬНАЯ МАРШРУТИЗАЦИЯ. ПРОДВИЖЕНИЕ ПО ВСТРЕЧНОМУ ПУТИ

Reverse path forwarding. (a) A subnet. (b) a Sink tree. (c) The tree built by reverse path forwarding.

МНОГОАДРЕСНАЯ РАССЫЛКА

Рассылка сообщений группам адресатов Необходимо управление группами Маршрутизаторы должны знать кто какой

группе принадлежит (или хосты оповещают маршрутизаторы, или маршрутизаторы сами опрашивают хосты)

Для рассылки маршрутизатор рассчитывает связующее дерево и отсекает ненужные линии к хостам, которых нет в группе, генерируя усечённое связующее дерево

При маршрутизации по векторам расстояний, применим алгоритм продвижения по встречному пути (когда нет хостов из группы – отсечка )

МНОГОАДРЕСНАЯ РАССЫЛКА

(a) A network. (b) A spanning tree for the leftmost router. (c) A multicast tree for group 1. (d) A multicast tree for group 2.

АЛГОРИТМЫ МАРШРУТИЗАЦИИ ДЛЯ МОБИЛЬНЫХ ХОСТОВ

Есть стационарные и есть мигрирующие (мобильные) хосты

У всех хостов есть постоянное местоположение, которое не меняется

Внешний агент – следит за мобильными хостами, временно находящимися в его области

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

АЛГОРИТМЫ МАРШРУТИЗАЦИИ ДЛЯ МОБИЛЬНЫХ ХОСТОВ

АЛГОРИТМЫ МАРШРУТИЗАЦИИ ДЛЯ МОБИЛЬНЫХ ХОСТОВ

1. Внешний агенту узнаёт о наличии гостя – мобильного хоста

2. Мобильный хост регистрируется в данной области, сообщая внешнему агенту свой домашний адрес, текущий адрес уровня передачи данных, подпись подлинности

3. Внешний агент связывается с внутренним агентом домашней области хоста

4. Внутренний проверяет идентификатор безопасности и разрешает связь

5. Внешний заносит в свою таблицу этот хост

АЛГОРИТМЫ МАРШРУТИЗАЦИИ ДЛЯ МОБИЛЬНЫХ ХОСТОВ

МАРШРУТИЗАЦИЯ В СПЕЦИАЛИЗИРОВАННЫХ СЕТЯХ

Мобильны как хосты, так и маршрутизаторы

Каждый узел состоит из маршрутизатора и хоста одновременно – специализированная сеть или мобильная специализированная сеть (MANET, Mobile Ad hoc network)

Протокол AODV (Ad hoc On-demand Distance Vector)

МАРШРУТИЗАЦИЯ В СПЕЦИАЛИЗИРОВАННЫХ СЕТЯХ

(a) Range of A's broadcast. (b) After B and D have received A's broadcast. (c) After C, F, and G have received A's broadcast. (d) After E, H, and I have received A's broadcast.Shaded nodes are new recipients. Arrows show possible reverse routes.

МАРШРУТИЗАЦИЯ В СПЕЦИАЛИЗИРОВАННЫХ СЕТЯХ

1. Смотрим Адрес источника и идентификатор запроса в локальной истории

2. Приемник ищет адрес назначения в таблице маршрутов. Если маршрут свежий (5 поле в табл. Больше или равно 5 полю в пакете), отправляем reply

3. Если меньше, то inc 6 поле, и посылаем запрос широковещательно.

Format of a ROUTE REQUEST packet.

ПОИСК В РАВНОРАНГОВЫХ СЕТЯХ. МЕТОД ХОРДЫ

ПОИСК В РАВНОРАНГОВЫХ СЕТЯХ. МЕТОД ХОРДЫ

SHA-1 хэш от адреса – 160-ти битное число – идентификатор узла

Функция последователя: successor(k) – возвращает идентификатор первого реального узла, следующего после k

Названия ресурсов хэшируем, получая ключи (key = hash (name))

Строится кортеж из полей name, адрес. Храниться будет на successor(hash(name)).

Два направления поиска Таблицы указателей

АЛГОРИТМЫ БОРЬБЫ С ПЕРЕГРУЗКОЙ

АЛГОРИТМЫ БОРЬБЫ С ПЕРЕГРУЗКОЙ

Методы без обратной связи – предотвратить возникновение перегрузок

Методы с обратной связью – с учетом состояния системы:

1. Наблюдение за системой с целью определения где и когда произойдёт перегрузка

2. Передача информации о перегрузке в необходимые места, где можно повлиять на ситуацию

3. Принятие мер по стабилизации системы

АЛГОРИТМЫ БОРЬБЫ С ПЕРЕГРУЗКОЙ

Влияющие на перегрузку политики: Транспортный:

Политика повторной передачи Политика кэширования пакетов с неверным

порядком Политика подтверждений Политика управления потоком Определение тайм-аутов

АЛГОРИТМЫ БОРЬБЫ С ПЕРЕГРУЗКОЙ

Сетевой: Виртуальные каналы или дейтаграммы Политика очередей пакетов и обслуживания Политика игнорирования пакетов Алгоритм маршрутизации Управление временим жизни пакетов

АЛГОРИТМЫ БОРЬБЫ С ПЕРЕГРУЗКОЙ

Передачи данных: Политика повторной передачи Политика кэширования пакетов с неверным

порядком Политика подтверждений Политика управления потоком

БОРЬБА С ПЕРЕГРУЗКОЙ В ПОДСЕТЯХ С ВИРТУАЛЬНЫМИ КАНАЛАМИ

Управление допуском - новые каналы не создаются, пока не исчезнет перегрузка.

Прокладка новых каналов мимо проблемных зон

Избежание перегрузки путём договорённостей при организации канала – резервирование ресурсов

БОРЬБА С ПЕРЕГРУЗКОЙ В ПОДСЕТЯХ С ВИРТУАЛЬНЫМИ КАНАЛАМИ

БОРЬБА С ПЕРЕГРУЗКОЙ В ПОДСЕТЯХ С ДЕЙТАГРАММНЫМ ПОДХОДОМ

Биты предупреждения во все пакеты Сдерживающие пакеты Сдерживающие пакеты для

ретрансляционных участков Сброс нагрузки (игнорирование пакетов) Случайное раннее обнаружение (TCP) Борьба с флуктуациями

(среднеквадратичное отклонение времени доставки пакетов)