Понятие сетевого уровня OSI. Адресация и сетевой адрес. Коммутация: каналов, пакетов, сообщений. Выявление маршрута: метод вектора расстояния, метод состояния связи. Выбор маршрута. Управление сетью: управление пото-ком данных, контроль последовательности, трансляция. Шлюзы.
Введение
Основное назначение сетевого уровня OSI заключается в передаче дан-ных получателю. На канальном уровне передача шла по физическому адресу получателя, при этом была задействована только одна сеть. На сетевом же уровне описываются методы доставки информации между независимыми и раз-ными подсетями (subnets), которые образуют составную сеть или интерсеть. (in-ternetworks). Подсети соединяются между собой маршрутизаторами. Компонен-тами интерсети могут являться как локальные, так и глобальные сети.
Передача информации по физическому адресу на канальном уровне чаще всего подразумевает, что все устройства в сети примут данные. При получении данных устройство будет сравнивать физический адрес пакета со своим адресом и решать – пропустить пакет или принять. Напротив, на сетевом уровне можно выбрать определенный маршрут следования пакета к получателю во избежания утечки данных в незадействованные сети. Для этого на сетевом уровне исполь-зуется коммутация (switching), адресация сетевого уровня (network addressing) и маршрутизация (routing algorithms). Сетевой уровень также отвечает за качество выбранного маршрута. На сетевом уровне происходит согласование протоколов канального уровня, использующихся в отдельных подсетях одной сети. Сетевой уровень выступает в качестве координатора, организующего работу всех подсе-тей, лежащих на пути продвижения пакета по интерсети. Для перемещения дан-ных в пределах подсетей сетевой уровень обращается к используемым в этих подсетях технологиям.
На сетевом уровне логически разделенным сетям присваиваются разные диапазоны сетевых (или логических) адресов. С помощью коммутации осуще-ствляется управление прохождением пакета через интерсеть. Оптимальный путь в интерсети определяется с помощью маршрутизации. Сетевой уровень также осуществляет обслуживание соединений.
Сетевой уровень как средство построения боль-ших сетей
Создание сложной, структурированной сети, которая включает в себя различные технологии, возможно и средствами канального уровня. Для этого могут быть использованы некоторые типы мостов и коммутаторов (коммутатор – это более интеллектуальный мост, который может обслуживать несколько портов). Мост или коммутатор разделяет сеть на сегменты и локализует трафик внутри сегмента. Тем самым сеть распадается на отдельные подсети, из которых могут быть построены составные сети достаточно крупных размеров. Однако построение сложных сетей только на основе повторителей, мостов и коммута-торов имеет существенные недостатки.
Во-первых, в топологии получившейся сети должны отсутствовать пет-ли. Мост и коммутатор может решить задачу доставки пакета адресату только тогда, когда между отправителем и получателем существует единственный путь. В то же время наличие избыточных связей, которые и образуют петли, часто необходимо для лучшей балансировки нагрузки, а также для повышения надежности сети за счет образования резервных путей.
Во-вторых, сегменты сети, расположенные между мостами или коммута-торами, слабо изолированы друг от друга, то есть не защищены от широковеща-тельных штормов. Если какая-либо станция посылает широковещательное со-общение, то это сообщение передается всем станциям всех сегментов сети. За-щита от штормов в таких сетях имеет количественный, а не качественный ха-рактер: администратор просто ограничивает количество широковещательных пакетов, которые разрешается генерировать узлу в единицу времени.
В-третьих, в сетях, построенных на основе мостов и коммутаторов, дос-таточно сложно решается задача управления трафиком на основе значения дан-ных, содержащихся в пакете. Так как администратору приходится иметь дело с двоичным представлением пакетов.
В-четвертых, реализация транспортной подсистемы на канальном и фи-зическом уровнях приводит к недостаточно гибкой, одноуровневой системе ад-ресации: в качестве адреса используется MAC-адрес, жестко связанный а сете-вым адаптером.
В-пятых, мосты и коммутаторы могут лишь частично осуществлять трансляцию протоколов канального уровня.
Наличие серьезных ограничений у протоколов канального уровня пока-зывает, что построение больших неоднородных сетей с использованием только этого уровня является весьма проблематичным. Поэтому естественное решение в данном случае – привлечение средств более высокого, сетевого уровня.
Следующая таблица отражает темы, изучаемые на сетевом уровне OSI.
Уровень OSI Темы Методы
Сетевой (Network) Addressing (Адресация) Logical Network (Логиче-ский сетевой адрес)
Service (Адрес службы)
Switching (Коммутация) Circuit (Каналов)
Message (Сообщений)
Packet (Пакетов)
Route discovery (Выявле-ние маршрута) Distance Vector (Дистан-ционно-векторные)
Link-State (Состояния связей)
Route selection (Характер маршрута) Dynamic (Динамический)
Static (Статический)
Connection services (Об-служивание соединений) Network layer flow control (Управление потоком сетевого уровня)
Packet sequence control (Порядок следования па-кетов)
Error control (Контроль ошибок)
Gateway services (Шлю-зы) Network layer translation (Шлюз сетевого уровня)
Адресация
У поставщиков и потребителей услуг в интерсети должен существовать способ отличать друг друга. Такое отличие производится с помощью присваи-вания адресов в интерсети. Как и на почте, в компьютерной сети на разных уровнях существуют разные адреса.
Если на канальном уровне в одной сети используется физический MAC адрес, то на сетевом уровне добавляются логический сетевой адрес и адрес службы.
Логический сетевой адрес
На канальном уровне для адресации устройств используется физический адрес. Однако такой адрес может использоваться только в пределах одной сети (так называемый локальный адрес). Локальный адрес может зависеть от техно-логий, используемых в подсети, поэтому он не подходит для адресации в интер-сети. Для доставки пакета по интерсети используется логический сетевой ад-рес. Такой адрес используется для логического разделения сетей в пределах одной интерсети.
Естественным способом формирования сетевого адреса является уни-кальная нумерация всех подсетей интерсети и нумерация всех узлов в пределах каждой подсети. Таким образом, сетевой адрес представляет собой пару: номер подсети и номер узла. В качестве номера узла может выступать либо физиче-ский адрес этого узла (так принято в стеке IPX/SPX), либо некоторое число, не связанное с локальной технологией, которое однозначно идентифицирует узел в пределах данной подсети. В первом случае сетевой адрес становится зависимым от локальный технологий, что ограничивает его применение. Второй подход бо-лее универсален и характерен для стека TCP/IP. В обоих случаях каждый узел составной сети имеет наряду со своим физическим адресом еще один – универ-сальный сетевой адрес.
Маршрутизаторы вкратце уже рассматривались в главе 4 «Коммуника-ционные устройства». Маршрутизатор – это межсетевое коммуникационное устройство, соединяющее подсети с разными логическими адресами. Маршру-тизатор направляет пакет в зависимости от сетевого адреса получателя с помо-щью выявления а затем и выбора определенного маршрута. Маршрутизация возможна только при использовании сетевых адресов.
Администратор должен знать правила выдачи логических адресов в сво-ей сети. Также необходимо следить, чтобы выданные логические адреса были уникальны в интерсети.
Адрес службы
Физические и логические адреса используются для передачи данных по интерсети. На одном компьютере, как уже говорилось ранее, может быть не-сколько серверов (сетевых служб). Каждая сетевая служба должна иметь свой уникальный адрес для приема и передачи информации. Такие адреса называют-ся адресом службы (service address). В некоторых протоколах адреса службы также называют портом (port) или гнездом (socket). Адрес службы используется на более высоких уровнях OSI. Одному компьютеру может быть присвоено не-сколько адресов служб.
В некоторых сетях для каждой сетевой службы уже зарезервированы оп-ределенные адреса служб. Обычно к пакету кроме сетевого и физического адре-са добавляется и адрес службы.
В компьютерной сети логический сетевой адрес указывает на сеть отпра-вителя или получателя. Физический адрес указывает на устройство отправителя или получателя. Адрес службы указывает на определенную сетевую службу на компьютере отправителя или получателя.
Коммутация
В больших интерсетях может существовать несколько способов доставки сообщения от отправителя к получателю. Можно привести сравнение с желез-ной дорогой, где поезда с помощью стрелок переводятся с одного пути на дру-гой. В компьютерной сети информация может быть также переведена с одного канала на другой. Существует три способа коммутации: коммутация каналов, коммутация пакетов и коммутация сообщений. (Channel, Packet and Message Switching).
Сети с коммутацией каналов имеют более богатую историю, они ведут свое происхождение от первых телефонных сетей. Сети с коммутацией пакетов сравнительно молоды, они появились в конце 60-х годов как результат экспери-ментов с первыми глобальными компьютерными сетями. Сети с коммутацией сообщений послужили прототипом современных сетей с коммутацией пакетов и сегодня они в чистом виде практически не существуют.
Каждый из этих видов имеет свои преимущества и недостатки, но по долгосрочным прогнозам многих специалистов будущее принадлежит техноло-гии коммутации пакетов, как более гибкой и универсальной.
Коммутация каналов (Channel Switching)
С помощью коммутации каналов отправитель и получатель устанавли-вают физический канал передачи информации на время соединения. Коммута-ция каналов используется на телефонной станции, вызывающий и вызываемый абоненты используют телефонный канал, который освобождается после завер-шения соединения. Телефонный номер можно сравнить с физическим адресом, а код города – с сетевым. Адресом службы в данном случае будет имя вызывае-мого по телефону человека. При коммутации каналов путь передачи информа-ции исчезает после окончания соединения.
Перед началом передачи информации требуется установить выполнить процедуру установления соединения. Отправитель инициирует запрос, который проходит через узлы и настраивает их на последующую передачу данных. За-прос маршрутизируется от одного узла к другому и в конце концов достигает получателя. Сеть может отказать в связи если емкость требуемого выходного канала исчерпана (отказ узла) или если получатель уже установил связь с кем-либо другим (отказ абонента). Если соединение установлено, то ему гарантиру-ется фиксированная пропускная способность.
В таблице приведены основные преимущества и недостатки коммутации каналов
Преимущества Недостатки
Выделенный канал передачи с гаран-тированной пропускной способностью Неэффективное использование носи-теля в связи с физическим выделением канала и фиксированием пропускной способности
Отсутствуют дополнительные задерж-ки после установления связи Выделенные каналы имеют сравни-тельно высокую стоимость
Невозможность применения аппарату-ры пользователя с разной скоростью. Все части канала работают с одинако-вой скоростью, т.к. данные сети не бу-феризуют информацию пользователя
Коммутация сообщений (Message Switching)
В данном способе коммутации не создается физического канала между отправителем и получателем. Вся передаваемая информация разделяется на со-общения, которые могут иметь произвольную длину. В отличие от пакета длина определяется не технологическими соображениями, а содержанием сообщения. Например, сообщением может быть текстовый документ, файл с кодом про-граммы, электронное письмо.
У каждого сообщения может быть своей получатель и передача происхо-дит через транзитные узлы. Транзитные компьютеры могут соединяться между собой как сетью с коммутацией пакетов, так и сетью с коммутацией каналов. Транзитный узел получает сообщение, сохраняет его некоторое время и переда-ет следующему узлу. Такой тип сети часто называют store-and-forward network, сеть с передачей данных с промежуточным хранением. По такой схеме обычно передаются сообщения, не требующие немедленного ответа, чаще всего это со-общения электронной почты.
Режим коммутации сообщений разгружает сеть для передачи трафика, требующего быстрого ответа, например службы WWW или файловой службы. Количество транзитных узлов обычно стараются свести к минимуму.
Если компьютеры подключены к сети с коммутацией пакетов, то число промежуточных компьютеров обычно стараются уменьшить до двух. Например, пользователь передает почтовое сообщение своему серверу исходящей почты, а тот сразу старается передать сообщение серверу входящей почты адресата.
Техника коммутации сообщений появилась в компьютерных сетях рань-ше техники коммутации пакетов, но потом была вытеснена последней, как бо-лее эффективной по критерию пропускной способности сети. Запись сообщения на диск занимает достаточно много времени, кроме того, наличие дисков пред-полагает специализированные компьютеры в качестве узлов, что удорожает сеть.
Сегодня коммутация сообщений работает только для некоторых не опе-ративных служб, причем чаще всего поверх сети с коммутацией пактов, как служба прикладного уровня.
В таблице приведены основные преимущества и недостатки коммутации сообщений
Преимущества Недостатки
Больше устройств могут пользоваться сетью в отличие от сети с коммутаци-ей каналов Невозможна передача трафика, кри-тичного ко времени доставки, напри-мер видео- и аудиопотоков
Промежуточное хранение разгружает сеть для передачи трафика, требующе-го быстрого ответа Достаточно дорогой вид коммутации, т.к. требует специальных устройств для временного хранения информации
Одно сообщение может быть послано сразу нескольким адресатам
Позволяет организовать взаимодейст-вие пользователей в режиме off-line, когда не ожидается немедленной реак-ции на сообщение
Коммутация пакетов (Packet Switching)
Коммутация пакетов – это техника коммутации абонентов, которая была специально разработана для эффективной передачи компьютерного трафика. Проблема коммутации каналов заключалось в том что они не могли эффективно работать с трафиком пульсирующего характера, который обычно генерируют сетевые службы. Например, при обращении к удаленному файловому серверу пользователь сначала просматривает содержимое каталога этого сервера, что порождает передачу небольшого объема данных. Затем он открывает требуе-мый файл в текстовом редакторе, и эта операция может создать достаточно ин-тенсивный обмен данными, особенно если файл содержит объемные графиче-ские включения. После отображения нескольких страниц файла пользователь некоторое время работает с ними локально, что вообще не требует передачи данных по сети, а затем возвращает модифицированные копии страниц на сер-вер – и это снова порождает интенсивную передачу данных по сети.
При коммутации пактов сообщение разбивается в исходном узле на сравнительно небольшие части, называемые пакетами. Сообщением называется логически завершенная порция данных – запрос на передачу файла, ответ на этот запрос, содержащий весь файл и т.п. Если сообщения могут иметь произ-вольную длину – от нескольких байт до многих мегабайт, то пакеты могут так-же иметь переменную длину, но в узких пределах, например от 46 до 1500 байт. При передаче пакеты могут храниться в оперативной памяти транзитных узлов, что уменьшает время передачи.
Существует два вида коммутации пакетов: дейтаграммная коммутация пакетов (datagram packet switching) и коммутация пакетов с помощью вирту-ального канала (virtual circuit packet switching).
При дейтаграммной коммутации пакетов каждый пакет считается не-зависимым информационным блоком и содержит полную адресную информа-цию. В зависимости от загрузки каналов каждый пакет может идти по своему маршруту, поэтому время доставки каждого пакета может быть различно. Во избежание путаницы у всех пакетов существует порядковый номер, и при прие-ме пакеты выстраиваются в соответствие их номеру.
Другой режим коммутации пакетов – передача пакетов по виртуально-му каналу. Перед тем, как начать передачу данных между двумя конечными узлами должен быть установлен виртуальный канал, который представляет со-бой единственный маршрут, соединяющий эти конечные узлы. Виртуальный канал может быть динамическим или постоянным. Динамический виртуальный канал устанавливается при передаче в сеть специального пакета – запроса на установление соединения. Этот пакет проходит через узлы и «прокладывает» виртуальный канал. Это означает, что узлы запоминают маршрут для данного соединения и при поступлении последующих пакетов данного соединения от-правляют их всегда по проложенному маршруту. Постоянные виртуальные ка-налы создаются администраторами сети путем ручной настройки узлов. При пе-редаче пакетов по виртуальному каналу как правило используется обслужива-ние соединений с установлением связи. (Обслуживание соединений на сетевом уровне будет рассмотрено далее).
При отказе коммутатора или канал на пути виртуального канала соеди-нение разрывается, и виртуальный канал нужно прокладывать заново. При этом он обойдет отказавшие участки сети.
Рассмотрим недостатки и преимущества дейтаграммной коммутации па-кетов и коммутации виртуального канала.
Каждый режим передачи пакетов имеет свои преимущества и недостат-ки. Дейтаграммный метод не требует предварительного установления соедине-ния и поэтому работает без задержки перед передачей данных. Это особенно выгодно для передачи небольшого объема данных, когда время установления соединения может быть соизмеримым со временем передачи данных. Кроме то-го, дейтаграммный метод быстрее адаптируется к изменениям в сети.
При использовании метода виртуальных каналов время, затраченное на установление виртуального канала, компенсируется последующей быстрой пе-редачей всего потока пакетов. Узлы распознают принадлежность пакета к вир-туальному каналу по специальной метке – номеру виртуального канала, а не анализирует адреса конечных узлов, как это делается при дейтаграммном мето-де.
В таблице приведены основные преимущества и недостатки коммутации сообщений
Преимущества Недостатки
Стоимость меньше, так как не требу-ется хранение больших объемов дан-ных Использующие пакетную коммутацию протоколы обычно являются более сложными, что увеличивает сложность эксплуатации
Малые задержки при передаче инфор-мации Пакеты чаще теряются, что требует их повторной пересылки
Пакеты могут быть маршрутизирова-ны минуя сбойные узлы
Данный способ является оптимальным способом использования пропускной способности сети
Выявление маршрута (Route discovery)
Вы уже изучили адресацию в интерсети, с помощью которой можно идентифицировать получателя и отправителя и коммутацию, с помощью кото-рой можно направлять пакеты по определенным маршрутам на узлах. Сейчас мы перешли непосредственно к маршрутизации, то есть к нахождению маршру-та в сети. Давайте запишем определение маршрутизации. (Нам даны два клиен-та в сети. Между ними необходимо передать информацию. Что мы сначала должны найти? – путь, маршрут)
Маршрутизация – процесс поиска пути и передача пакетов по этому пути между двумя конечными узлами в интерсети. (При какой коммутации работает маршрутизация?) Маршрутизация актуальна для сетей с применением коммута-ции сообщений или пакетов. (Какие адреса используются при маршрутизации?) При маршрутизации используются сетевые адреса, которые содержатся в каж-дом пакете.
Протоколы сетевого уровня составляют точную карту интерсети и выби-рают рациональные маршруты при любой топологии. Также появляется воз-можность выбирать альтернативные маршруты, что не умеют делать мосты и коммутаторы. (Что мы говорили про особенности реализации сети на канальном уровне – отсутствие петель). В сложных интерсетях почти всегда существует несколько альтернативных маршрутов для передачи пакетов между двумя ко-нечными узлами. Маршрут – это последовательность маршрутизаторов, кото-рые должен пройти пакет от отправителя до получателя. Выявление маршрута – это процесс нахождения маршрута и построения специальной информацион-ной структуры, которая называется таблицей маршрутизации. После построе-ния таблицы маршрутизации происходит коммутация пакета по указанному в таблице маршруту.
Существует два противоположных подхода к составлению маршрута – одношаговый и многошаговый. Один шаг, передача пакета от одного маршру-тизатора к другому, называется хопом (hop). При одношаговом подходе каждый маршрутизатор ответственен только за выбор одного хопа , а окончательный маршрут складывается в результате работы всех маршрутизаторов. (Показать на примере) В большинстве протоколов применяются одношаговые алгоритмы маршрутизации, и ниже будут рассматриваться именно эти алгоритмы. При многошаговом подходе узел-источник задает в пакете полный маршрут его сле-дования через все промежуточные маршрутизаторы. (Показать пример пакета) Такой подход также называют «маршрутизацией от источника» (Source routing). (Как будет изменяться скорость прохождения пакета при такой маршрутизации – уйдут задержки на поиск маршрута на промежуточных узлах. Как изменится вычислительная нагрузка на источник – увеличится). Он ускоряет время прохо-ждения пакета, но при этом большая нагрузка ложится на конечные узлы.
В первом столбце таблицы перечисляются номера подсетей, входящих в интерсеть. В каждой строке таблицы следом за номером сети указывается сете-вой адрес порта следующего маршрутизатора (или как говорят следующего хо-па hop), на который надо направить пакет, чтобы тот передвигался по направле-нию к сети с данным номером по рациональному маршруту. Далее в таблице отражен сетевой адрес выходного порта текущего маршрутизатора. Также таб-лица включает цену выбранного маршрута. Цена подсчитывается с помощью алгоритмов маршрутизации (routing algorithms) и может отражать следующие параметры: (какие параметры может отражать цена?) количество хопов – чис-ло маршрутизаторов, через которые пройдут данные прежде чем попадут к по-лучателю, количество тиков (tick count) – время, через которые данные попа-дут к получателю и относительные издержки, которые могут определяться сторонними издержками – например стоимостью передачи по данному пути и т.д.
Поскольку пакет может быть адресован в любую подсеть интерсети, мо-жет показаться что каждая таблица маршрутизации должна иметь записи обо всех подсетях, входящих в интерсеть. (Как вы думаете, при больших размерах сети каковы будут размеры таблицы маршрутизации?) Но в таком случае объем таблиц маршрутизации в крупной сети может оказаться большим, что повлияет на время ее просмотра, потребует дополнительного места для хранения и т.п. Поэтому на практике используют специальную запись – маршрутизатор по умолчанию (default). (Посмотрите, в нашей таблице несколько сетей имеют одинаковый следующий хоп, их можно заменить одной записью.) Обычно в таблице маршрутизации записывают номера сетей, непосредственно подсоеди-ненных к данному маршрутизатору или расположенных поблизости, на тупико-вых маршрутах. Обо всех же остальных сетях можно сделать в таблице единст-венную запись, указывающую на маршрутизатор, через который пролегает путь ко всем этим сетям.
Выявление маршрута может осуществляться двумя видами алгоритмов: алгоритмом дистанционно-векторного типа (distance vector, DVA) или алго-ритмом состояния связей (link-state, LSA).
Алгоритмы дистанционно-векторного типа (distance vec-tor, DVA)
Основа этого алгоритма – вектор маршрутизации, компонентами которо-го является цена от данного маршрутизатора до всех известных ему подсетей.
Каждый маршрутизатор периодически и широковещательно (что значит широковещательно? – по всей ли интерсети?) рассылает по подсети вектор. При получении вектора от соседа маршрутизатор наращивает цену до указанных в векторе сетей на цену до данного соседа. (Пример на доске) Также маршрутиза-тор добавляет к нему информацию об известных ему других сетях, (о каких се-тях он может добавить информацию?) о которых он узнал непосредственно (ес-ли они подключены к его портам) или из аналогичных объявлений других мар-шрутизаторов, а затем снова рассылает новое значение вектора по подсети. В конце концов, каждый маршрутизатор узнает информацию (о чем?) обо всех имеющихся в интерсети подсетях и о расстоянии до них через соседние мар-шрутизаторы.
Дистанционно-векторные алгоритмы хорошо работают только в неболь-ших интерсетях. (почему?) В больших сетях они засоряют линии связи интен-сивным широковещательным трафиком, к тому же изменения конфигурации могут отрабатывать по этому алгоритму не всегда корректно, (почему?) так как маршрутизаторы не имеют точного представления о топологии связей в сети, а располагают (какой информацией?) только обобщенной информацией – векто-ром. Любое изменение конфигурации передается через цепочки маршрутизато-ров сравнительно медленно. Однако здесь заметно отличие маршрутизатора от моста – если мост строит таблицу адресов, пассивно наблюдая за проходящими через него информационными кадрами, (показать на примере) маршрутизаторы по своей инициативе обмениваются специальными служебными пакетами. Это позволяет маршрутизаторам быстрее адаптироваться к изменениям конфигура-ции сети.
Наиболее распространенным протоколом маршрутизации на дистанци-онно-векторном алгоритме является RIP, существующий в двух версиях: RIP IP и RIP IPX.
Протоколы маршрутизации следует отличать от сетевых протоколов (на-пример, IP, IPX). И те и другие выполняют функции сетевого уровня OSI – уча-ствуют в доставке пакетов адресату через интерсеть. Но если первые собирают и передают по сети чисто служебную информацию, (что делают вторые?) вто-рые предназначены для передачи пользовательских данных. Протоколы мар-шрутизации используют сетевые протоколы как транспортное средство. При обмене маршрутной информацией пакеты протокола маршрутизации помеща-ются в поле данных пакетов сетевого уровня или даже транспортного уровня. Поэтому формально протоколы маршрутизации следовало бы отнести к более высокому уровню чем сетевой.
Итак, вы изучили один из алгоритмов одношаговой маршрутизации, ко-торый лучше подходит для небольших сетей. Сейчас мы перейдем к рассмотре-нию второго алгоритма:
Алгоритмы состояния связей (link-state, LSA)
Если в алгоритме DVA маршрутизатор владеет лишь обобщенной ин-формацией о сети, то при использовании LSA каждый маршрутизатор строит точный граф связей интерсети. Граф состоит из описания связей различных ти-пов: маршрутизатор-маршрутизатор, маршрутизатор-подсеть. Все маршрутиза-торы работают на основании одинаковых графов, (К чему это приводит?) что делает процесс маршрутизации более устойчивым к изменениям конфигурации. Широковещательная рассылка (что это такое - передача пакета всем непосред-ственным соседям маршрутизатора) используется здесь только при изменениях состояния связей, что происходит в надежных сетях не так часто. (Когда рассы-лался вектор в DVA?) Вершинами графа являются как маршрутизаторы, так и объединяемые ими подсети.
Чтобы понять, в каком состоянии находятся линии связи, подключенные к его портам, маршрутизатор обычно обменивается короткими пакетами HELLO со своими ближайшими соседями. Этот служебный трафик также засо-ряет сеть, но не в такой степени как RIP-пакеты, так как пакеты HELLO имеют намного меньший объем. Наиболее распространенными протоколами, исполь-зующими алгоритмы состояния связи, являются IS-IS (Intermediate System to In-termediate System) стека OSI, OSPF (Open Shortest Path First) стека TCP/IP, про-токол NLSP стека Novell.
Закрепление материала – рассмотрение как пакет проходит через роутер.
(на доске – маршрутизатор, две подсетки с адресами n10, n11, в одной физический адрес порта 21423, в другой AFAR, адрес следующего маршрутиза-тора – AFAT, сетевой адрес r10)
При передаче пакета из одной подсети в другую пакет сетевого уровня, инкапсулированный в кадр канального уровня первой сети, освобождается от заголовков канального уровня и окружается заголовками канального уровня следующей подсети. В поле адреса назначения нового кадра указывается ло-кальный адрес следующего маршрутизатора.
Характер маршрута (Route selection)
Мы рассмотрели существующие алгоритмы выбора одношагового мар-шрута. Сейчас мы перейдем к рассмотрению характера выявленного маршрута.
Маршрут может быть динамическим (dynamic route selection), и изме-няться в зависимости от текущего состояния интерсети, или статическим (static route selection), не изменяющимся.
Динамическая маршрутизация
Динамическая (или адаптивная) маршрутизация использует маршрут, выявленный с помощью одного из описанных выше алгоритмов. Выбор мар-шрута осуществляется на основании анализа таблиц маршрутизации, размещен-ных во всех маршрутизаторах и конечных узлах. В таблицы маршрутизации при динамической маршрутизации обычно добавляется информация об интервале времени, в течение которого данный маршрут будет оставаться действитель-ным. Это время называют временем жизни (Time To Live, TTL).
При использовании динамической маршрутизации разные пакеты могут проходить по разным маршрутам, в зависимости от текущего состояния сети. Работа по указанию маршрута для пакета производится на каждом маршрутиза-торе, и каждый маршрутизатор несет ответственность только за один хоп.
Динамический маршрут должен отвечать нескольким требованиям.
1. Он должен обеспечивать рациональность маршрута.
2. Алгоритмы выявления динамического маршрута должны быть доста-точно простыми, чтобы не требовать большого объема вычислений или порож-дать интенсивный трафик.
3. Алгоритмы должны обладать свойством сходимости, то есть всегда приводить к однозначному результату за приемлемое время.
Статический маршрут
При статической (или фиксированной) маршрутизации все записи в таб-лице маршрутизации являются статическими. Администратор сети сам решает, на какие маршрутизаторы надо передавать пакеты с теми или иными адресами, и вручную заносит соответствующие записи в таблицу маршрутизации.
Статическая маршрутизация приемлема только в небольших сетях с про-стой топологией. Однако она может быть также использована и для работы на магистралях крупных сетей, так как сама магистраль может иметь простую структуру с очевидными наилучшими путями следования пакетов в подсети, подсоединенные к магистрали.
Мы изучили сетевую адресацию, маршрутизацию и коммутацию. Сейчас мы переходим к изучению обслуживания соединений на сетевом уровне.
Обслуживание соединений
На канальном уровне уже рассматривалось обслуживание соединений. (на каком подуровне?) При этом осуществлялось управление потоком данных и контроль ошибок. На сетевом уровне как правило также проводится обслужи-вание соединений для повышения надежности, например если функции обслу-живания канального уровня не задействованы.
Существует три типа обслуживания соединений
1. Обслуживание соединения без подтверждений и без установления связи (Unacknowledged connectionless service), отправитель и получатель пере-дают кадры по каналу данных. Благодаря отсутствию управления потоком и контроля ошибок достигается высокая скорость.
2. Обслуживание соединения с установлением связи и подтвержде-ниями (Connection-oriented service). Устанавливается логическое соединение перед началом передачи любого блока данных. Выполняются процедуры кон-троля ошибок и управления потоком данных с помощью подтверждений.
3. Обслуживание соединения с подтверждениями без установления связи (Acknowledged connectionless services). Компромиссный вариант, отпра-витель и получатель передают кадры по каналу данных, при этом используют подтверждения для управления потоком и контроля ошибок. При этом не про-исходит временных задержек на установление связи. Используется только при соединениях типа точка-точка (point-to-point).
На сетевом уровне также используются подтверждения для обеспечения следующих операций:
1. Управление потоком данных на сетевом уровне (Network layer flow control). (что такое управление потоком – управление количеством данных по какому-либо пути)
2. Контроль ошибок (Error Control). (Что он осуществляет – обнаружива-ет ошибки и запрашивает повторную передачу)
3. Порядок следования пакетов (Packet sequence control) (Что он делает - переставляет полученные пакеты в определенном порядке)
Управление потоком данных на сетевом уровне
(Для каких устройств проводилось управление потоком на канальном уровне?) Если на канальном уровне управление потоком производилось с уче-том возможностей конечных устройств, то на сетевом уровне учитываются про-пускные возможности интерсети.
Обычно интерсеть состоит из большого количество устройств. В зависи-мости от создаваемого этими устройствами трафика, скорость передачи и ста-бильность сети постоянно изменяются. (Какой характер имеет трафик? Почему стабильность изменяется?) С помощью управления потоком решается задача надежной передачи данных по выбранному маршруту. К тому же в большинст-ве интерсетей существуют резервные маршруты для доставки пакетов, которые также могут открываться средствами сетевого уровня.
В связи с тем что управление потоком необходимо для избежания пере-грузок интерсети, его также называют управлением перегрузками (congestion control).
(С помощью каких инструментов проводилось управление потоком на сетевом уровне?) Управление потоком на сетевом уровне также производится с помощью окна (как статического так и динамического) или с помощью гаран-тированной скорости. (Что использовалось для подтверждения доставки паке-та?) Если на канальном уровне для подтверждения доставки пакета использова-лись подтверждения, то на сетевом уровне используется более сложный меха-низм. Это связано с тем, что в результате перегрузки или изменения маршрути-зации подтверждение может прийти слишком поздно. В частности, в некоторых протоколах используются специальные пакеты, сигнализирующие о возникшей перегрузке.
Контроль ошибок
(Какие два вида ошибок контролировались на канальном уровне?)
На сетевом уровне обнаруживаются такие ошибки, как потеря пакета, дублирование пакета или испорченные данные пакета. Хотя на сетевом уровне могут быть решены первые два вида ошибок с помощью порядковых номеров или подтверждений, обычно контроль потерянных и дублированных пакетов переносится на транспортный уровне. Третий тип ошибок обычно обнаружива-ется с помощью проверки контрольной суммы CRC. (Как часто должна подсчи-тываться CRC?) Контрольная сумма пакета должна пересчитываться на каждом хопе, так как изменяются заголовки сетевого уровня. Либо контрольная сумма должна записываться только для поля данных пакета.
Порядок следования пакетов
(Для чего необходимо менять порядок пакетов при приеме?)
Чтобы скомпоновать сообщение более высокого уровня, необходимо упорядочить пакеты. Порядок следования пакетов при приеме может изменить-ся, так как каждый пакет может идти своим маршрутом, и некоторые пакеты могут быть потеряны. Упорядочивание пакетов также часто производится не на сетевом, а на транспортном уровне.
Шлюзы (Gateway services)
Мы говорили о том, что интерсеть состоит из разных и независимых подсетей. Это означает, что каждая подсеть может использовать свои правила для физической адресации, также в них могут быть разными и сетевые протоко-лы выявления маршрута и обслуживания соединений. Но для формирования ин-терсети необходимо передавать информацию из одной подсети в другую. Для этой цели используются шлюзы, которые используются для соединения сетей с разными протоколами (что такое протоколы?).
Например, пакеты сетевого уровня имеют разную стандартную длину в двух подсетях. Шлюз сетевого уровня отвечает за перевод принятых данных в стандарт подсети-получателя. Кроме перевода формата данных, шлюз должен обеспечить требуемое обслуживание соединений в каждой подсети (какие функции обслуживания соединений вы помните на сетевом уровне?), например контролировать порядок следования пакетов и выявлять ошибки.
Шлюзы могут работать на любом уровне OSI. Шлюзы просто переводят данные из одного протокола в другой. Но как правило, большинство шлюзов работают на высших уровнях OSI.
Подведем итог.
На сетевом уровне данные передаются по интерсети – совокупности раз-ных и независимых подсетей. Для передачи информации используется сетевая адресация, далее выявляется маршрут, указывается характер маршрута и для передачи пакетов используется коммутация. На сетевом уровне также осущест-вляется обслуживание соединений. Для передачи данных в подсети с разными протоколами используются шлюзы.
Контроль изученного
1. How are physical device and network addresses used differently?
2. Which switching method divides upper-layer messages into smaller units that can be transported along different paths?
a. Circuit
b. Packet
c. Message
d. Permanent virtual circuit
3. The distance vector route discovery method makes more efficient use of the network bandwidth on extremely complex internetworks than the link-state method. (True or False)
4. Which connection service alleviates network congestion?
5. Your company has two LANs, each of which uses a different protocol. You need to interconnect both LANs but do not want to configure additional protocols for either network. What king of device could perform this task?
a. Bridge
b. Router
c. Brouter
d. Gateway
6. The layers of the OSI model (in order) are included in which of the follow-ing choices?
A. Physical, data link, network, transport, system, presentation, application
B. Physical, data link, network, transport, session, presentation, application
C. Physical, data link, network, transform, session, presentation, application
D. Presentation, data link, network, transport, session, physical, application
7. In the OSI model, what is the relationship of a layer (N) to the layer above it (layer N+1)?
A. Layer N provides services for layer N+1.
B. Layer N+1 adds a header to information received from layer N.
C. Layer N utilizes services provided by layer N+1.
D. Layer N has no effect on layer N+1.
8. Message data for any OSI layer consists of which two of the following? (2 ответа)
A. Datagram
B. A protocol
C. A header
D. The data of the next higher layer
9. Which two of the following terms are used to describe data units at the net-work layer? (2 ответа)
A. Datagram
B. Message
C. Frame
D. Packet
10. Which two of the following terms are used to describe data units at the data link layer? (2 ответа)
A. Datagram
B. Message
C. Frame
D. Packet
11. Which two of the following services provides flow control? (2 ответа)
A. Acknowledged connectionless
B. Unacknowledged connectionless
C. Unacknowledged connection-oriented
D. Connection-oriented
12. Which switching method employs virtual circuits?
A. Message
B. Circuit
C. Packet
D. All of the above
13. Which switching method makes the most efficient use of network band-width?
A. Message
B. Circuit
C. Packet
D. Methods are about equal
14. What is another name for a message switching network?
A. Connectionless
B. Datagram
C. Store-and-forward
D. Virtual circuit
15. Which two statements about virtual circuits are true? (2 ответа)
A. They usually are associated with connection-oriented services.
B. A virtual circuit represents a specific physical path through the network.
C. A virtual circuit appears to the connected devices as a dedicated network path.
D. Virtual circuits dedicate a communication channel to a single conversation.
16. Which of the following statements is true?
A. Hop count is a measure of routing cost.
B. Distance vector routing methods are technically simple and make efficient use of network bandwidth.
C. Link-state routing protocols rely on tick counts to make routing determina-tions.
D. Link-state routing protocols transmit routing information at regular inter-vals.
Ответы.
1. Используются на разных уровнях. Физические адреса постоянны, се-тевые нет. Физические адреса используются для передачи информации в не-большой сети, сетевые – в интерсети.
2. B
3. False
4. Network layer flow control
5. D
6. B
7. A
8. CD
9. AD
10. CD
11. AD
12. C
13. C
14. C
15. AC
16. A