D) механизм контроля перегрузок.

E) механизм следования

15. Какой протокол, описанный в документе RFC 854, являющийся популярным протоколом прикладного уровня, применяется для удаленного доступа к сети.

A)Telnet

B) ТСР/IР

C) ТРС

D) ISO

E) TCP

Лекция 9. Сетевой уровень и маршрутизация

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

План лекции:

1. Модели сетевого обслуживания

2.Понятие модели сетевого обслуживания

3. Происхождение дейтаграммной службы и службы виртуальных каналов

4.Основы маршрутизации

5. Алгоритм маршрутизации, основанный на состоянии линий

6. Алгоритм дистанционно-векторной маршрутизации

7. Сравнение алгоритмов маршрутизации

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

9. Резюме

10. Вопросы для самоконтроля

11. Тесты для самоконтроля знаний

В предыдущей лекции мы говорили о том, что транспортный уровень предоставляет службы связи между двумя процессами, работающими на двух разных хостах. Для предоставления служб связи между процессами транспортный уровень опирается на службы связи между хостами, предоставляемые сетевым уровнем. Мы узнали, что транспортный уровень пользуется службой сетевого уровня, не имея информации о том, как эта служба реализована.

НЕ нашли? Не то? Что вы ищете?

Эта лекция посвящена как раз тому, как сетевой уровень реализует службы связи между хостами. Мы увидим, что, в отличие от транспортного уровня, «кусок» сетевого уровня присутствует в каждом хосте и маршрутизаторе сети. Благодаря этому протоколы сетевого уровня являются одними из самых сложных. Мы начнем наше обсуждение с изучения всевозможных служб, которые могут предоставляться сетевым уровнем. Затем мы рассмотрим теоретическое обоснование сетевого уровня — алгоритмы маршрутизации, определяющие пути, по которым движутся пакеты через сеть от отправителя к получателю.

1. Модели сетевого обслуживания

На рис. 9.1 изображена схема простой сети с двумя хостами, HI и Н2, и несколькими маршрутизаторами на пути от хоста HI до хоста Н2. Пусть хост HI посылает информацию хосту Н2. Рассмотрим роль сетевого уровня на этих хостах и промежуточных маршрутизаторах. Сетевой уровень хоста HI принимает сегменты от транспортного уровня хоста HI, инкапсулирует каждый сегмент в дейтаграмму (единицу обмена сетевого уровня), после чего отправляет дейтаграммы в путь к их адресату; то есть он посылает дейтаграммы своему ближайшему маршрутизатору R1. На принимающем хосте Н2 сетевой уровень получает дейтаграммы от своего ближайшего маршрутизатора (в данном случае R2), извлекает сегменты транспортного уровня и доставляет их транспортному уровню хоста Н2. Основная задача маршрутизаторов заключается в «продвижении» дейтаграмм из входных линий связи в выходные линии. Обратите внимание, что на рис. 4.1 маршрутизаторы показаны с сокращенным стеком протоколов, то есть без уровней выше сетевого, потому что на маршрутизаторах не работают протоколы прикладного и транспортного уровней (исключая задачи контроля).

Рис. 9.1 Сетевой уровень

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

□ Определение пути. Сетевой уровень должен определить маршрут, или путь, по которому следуют пакеты от отправителя к получателю. Алгоритмы, рассчитывающие эти маршруты, называются алгоритмами маршрутизации. Алгоритм маршрутизации определяет, например, путь, по которому пакеты движутся от хоста HI к хосту Н2. Большая часть этой главы посвящена алгоритмам маршрутизации. В разделе «Основы маршрутизации» мы изучим теорию алгоритмов маршрутизации, уделив особое внимание двум наиболее распространенным классам алгоритмов маршрутизации: маршрутизации с учетом состояния линии и дистанционно-векторной маршрутизации. Мы увидим, что сложность алгоритмов маршрутизации значительно возрастает с увеличением количества маршрутизаторов в сети. Это служит мотивом для использования иерархической маршрутизации, которую мы обсудим в разделе «Иерархическая маршрутизация».

□ Продвижение данных. Когда пакет прибывает на вход маршрутизатора, маршрутизатор должен переместить его на соответствующую выходную линию. Например, пакет, прибывающий с хоста H1 на маршрутизатор R2, должен быть передан следующему маршрутизатору на пути к хосту Н2. В разделе «Устройство маршрутизатора» мы обсудим устройство маршрутизатора и поговорим о коммутации (продвижении) пакета с входной линии в выходную.

□ Установка соединения. Как было показано при обсуждении протокола TCP, прежде чем начинать продвижение данных от отправителя к получателю, требовалось выполнить процедуру тройного рукопожатия. Это давало отправителю и получателю возможность настроить необходимые параметры состояния соединения (например, задать порядковый номер и начальный размер окна управления потоком). Аналогичным образом, некоторые архитектуры сетевых уровней (например, ATM) требуют, чтобы маршрутизаторы вдоль выбранного пути от отправителя до получателя обменялись рукопожатиями друг с другом, чтобы настроить параметры, прежде пакеты сетевого уровня с данными начнут свое движение. На сетевом уровне этот процесс называют установкой соединения (call setup). Сетевой уровень архитектуры Интернета не выполняет установки соединения.

Термины «маршрутизация» и «продвижение данных» многие авторы часто путают и используют как синонимы. Мы постараемся применять эту терминологию более точно. «Маршрутизацией» мы будем называть глобальный (охватывающий всю сеть) процесс определения всего пути, который проходит дейтаграмма от отправителя до получателя. «Продвижением данных» мы станем называть локальные действия конкретного маршрутизатора по перемещению дейтаграммы из интерфейса входной линии связи в интерфейс выходной линии. Используя аналогию с вождением автомобиля, маршрутизацию можно сравнить с процессом составления карты и прокладки маршрута от отправителя до получателя в виде последовательности перекрестков. Мы увидим, что подобно тому, как для прокладки маршрутов могут потребоваться несколько карт (например, городская карта для езды по городу, карта области для езды за пределами города и т. д.), в определении пути от отправителя до получателя могут участвовать несколько протоколов. Продолжая нашу аналогию с вождением автомобиля, продвижение данных соответствует процессу преодоления единственного перекрестка — автомобиль подъезжает к перекрестку, водитель определяет направление до следующего перекрестка на своем пути к конечной цели, а затем выбирает соответствующую дорогу к этому перекрестку.

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

2. Понятие модели сетевого обслуживания

Когда транспортный уровень передающего хоста посылает пакет в сеть (то есть передает его сетевому уровню того же хоста), может ли транспортный уровень положиться на сетевой уровень в деле доставки пакета получателю? Когда посылается большое количество пакетов, будут ли они доставлены транспортному уровню в том же порядке, в котором были отправлены? Сохранятся ли длительности временных интервалов между двумя последовательными пакетами? Будет ли сеть предоставлять обратную связь, извещая о перегрузке? Каковы абстрактные свойства канала, соединяющего транспортные уровни передающего и принимающего хостов? Ответы на эти вопросы определяются моделью обслуживания, предоставляемого сетевым уровнем. Модель сетевого обслуживания определяет характеристики сквозного транспорта данных между двумя периферийными устройствами сети, то есть между передающей и получающей оконечными системами.

Возможно наиболее важной абстракцией, предоставляемой сетевым уровнем более высоким уровням, является виртуальный канал (Virtual Channel, VC). В главе 1 говорилось, что пакетная сеть с виртуальными каналами ведет себя во многом подобно телефонной сети, в которой вместо «виртуальных каналов» используются «реальные каналы». «Жизнь» виртуального канала состоит из трех фаз.

1. Установка виртуального канала. Во время этой фазы отправитель связывается с сетевым уровнем, указывает адрес получателя и ждет, пока сеть установит виртуальный канал. Сетевой уровень определяет путь от отправителя до получателя, то есть последовательность линий связи и пакетных коммутаторов, через которые будут проходить все пакеты данного виртуального канала. Как было показано в главе 1, этот процесс обычно подразумевает обновление таблиц в каждом пакетном коммутаторе вдоль пути виртуального канала. Во время установки виртуального канала сетевой уровень может также зарезервировать ресурсы (например, пропускную способность) вдоль пути виртуального канала.

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

3. Разрыв виртуального канала. Эта процедура начинается, когда отправитель (или получатель) информирует сетевой уровень о своем желании разорвать виртуальный канал. Затем, как правило, сетевой уровень информирует оконечную систему на другой стороне сети о разрыве соединения и обновляет таблицы в каждом пакетном коммутаторе пути, показывая, что виртуального канала более не существует.

Между установкой виртуального канала на сетевом уровне и установкой соединения на транспортном уровне есть едва различимая, но важная разница. В установку соединения на транспортном уровне вовлечены только две оконечные системы. Две оконечные системы договариваются об обмене данными и совместно определяют параметры (например, начальные порядковые номера и размер окна управления потоком) соединения транспортного уровня, прежде чем данные начнут перемещаться по соединению транспортного уровня. Хотя две оконечные системы «знают» о соединении транспортного уровня, коммутаторам сети ничего о нем не известно. Вместе с тем в случае сетевого уровня, основанного на виртуальных каналах, пакетные коммутаторы вдоль пути между двумя оконечными системами вовлекаются в установку виртуального канала, и таким образом каждый коммутатор знает все обо всех виртуальных каналах, проходящих через него.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76