Вы находитесь на странице: 1из 8

Маршрутизация и передача пакетов в IP-сетях

Семестр 1. Внутренняя маршрутизация

Лекция 1. Принципы межсетевого взаимодействия


и коммутации IP-пакетов

Взаимодействие открытых систем


Сеть Интернет, работающая на базе протокола IP представляет собой
уникальное явление конца 20-го столетия. Уникальность заключается, прежде
всего, в том, что Интернет – это огромная открытая свободно развивающаяся и
при этом достаточно устойчиво работающая сетевая система, позволяющая
объединить практически все компьютеры в глобальную сеть.
Во многом это стало возможным благодаря развитию технологий
взаимодействия открытых систем. В частности Международным институтом по
стандартизации (ISO) в 1978 году была разработана (эталонная) Модель
взаимодействия открытых систем (OSI). Данная модель задает «каркас», в
рамках которого строится взаимодействие между системами. Она определяет
семь абстрактных уровней, на которых рассматривается взаимодействие между
устройствами: физический, канальный, сетевой, транспортный, сеансовый,
представления и прикладной уровни. Каждый уровень решает свойственные
ему задачи:
1. Физический уровень выполняет реальную физическую передачу
данных.
2. Канальный уровень производит передачу данных по каналу связи
(в рамках локального сетевого сегмента).
3. Сетевой уровень производит сквозную передачу данных между
взаимодействующими системами.
4. Транспортный уровень выполняет свободную от ошибок сквозную
передачу между взаимодействующими приложениями.
5. Сеансовый уровень управляет установкой/сбросом сеанса и
«диалогом» на протяжении сессии.
6. Уровень представления производит преобразование данных общего
характера. В частности он может производить преобразование
кодовых таблиц текстовых данных, что информацию можно было
прочитать на удаленной системе, куда она была отправлена.
7. Прикладной уровень производит преобразование данных
специфическое для конкретного приложения.
Мы не будем детально останавливаться на всех аспектах модели ISO OSI,
однако, рекомендуем внимательно с ней ознакомится, например в [0].
В рамах данного курса нас будут интересовать вопросы организации
сквозной передачи данных между оконечными системами, фактически –
сетевой уровень, и отчасти канальный, поскольку он обеспечивает передачу
данных в рамках отдельной подсети (составляющая часть общего процесса
перадачи).

Канальный уровень
Канальный уровень обеспечивает передачу данных между устройствами в
пределах сравнительно однородного сетевого сегмента. Такой сегмент может
быть построен с использованием определенной «канальной» технологии: ATM,
Ethernet, SDH, PPP, FDDI. Термин «сравнительно» подразумевает, что близкие (
а иногда и не только близкие) канальные технологии могут быть прозрачно
объединены в один сегмент. В частности не представляет проблем объединение
и коммутации пакетов между Ethernet и FDDI, поскольку кадры в обоих случаях
имеют родственную структуру и схему адресации. По возможностям адресации
все канальные технологии можно разделить на три основных класса:
1. P2P (PPP) – сетевые сегменты типа «точка-точка». В данном случае
в адресации нет необходимости, поскольку получатель единственен
и находится на противоположном конце «провода»
2. MABN (Ethernet, FDDI) – сетевые сегменты с множественным
доступом и возможностью широковещательной рассылки. В
данном случае требуется определенная схема адресации. В
частности, заголовок пакета Ethernet содержит адреса источника и
приемника длинной по 6 байт; предусмотрен специальный
широковещательный адрес (все единицы) с помощью которого
можно адресовать пакет всем компьютерам в сети.
3. P2MP (PSTN, ATM, FrameRelay) – сетевые сегменты с
множественным доступом но без возможности широковещательной
рассылки. В данном случае мы можем адресовать сообщение
любому получателю, но не всем одновременно. Как правило, сети
данного типа относятся к сетям с «виртуальными соединениями»
(ATM, FrameRelay) коммутацией каналов или сетям с
«коммутацией каналов» (PSTN).

Данная классификация существенна для нас, поскольку тип канальной


технологии влияет на сценарии передачи пакетов между устройствами
(маршрутизаторами), сценарии работы протоколов маршрутизации и
правильную конфигурацию сетевых устройств.
Существует другая классификация канальных технологий на LAN (Local
Area Network) и WAN (Wide Area Network). Первые относятся к «локально
сосредоточенным» технологиям с высокими скоростями и малыми задержками
пакетов, вторые относятся к «территориально распределенным» технологиям
служащих для передачи данных на большие расстояния. Технологии WAN не
являются средством для построения «глобальных сетей», поскольку передача
данных на большие расстояния еще не решает проблем масштабирования
связанных с поддержкой огромного количества подключенных пользователей.

Сетевой уровень: IP-протокол и объединение


гетерогенных сетей
Сетевой уровень (в нашем случае протокол IP) обеспечивает сквозную
передачу пакетов от источника данных до их получателя и решает проблемы
масштабирования для обеспечения глобальной связанности. В этой связи
уместно выделить два аспекта протокола IP: объединение гетерогенных
сегментов и масштабируемая схема глобальной адресации.

Адресация
В отличие от канальных адресов, которые в большинстве случаев
являются «плоскими», IP адрес структурирован, имеет две части: адрес сети и
адрес хоста в этой сети. Таким образом, все пространство сегментируется на
сети, что отчасти решает проблемы масштабируемости.
Длина IP адреса составляет 32 бита1. Особенность IP-адресации – гибкая
схема разделения адресного поля на «сеть» и «адрес».
1. Изначально. 8 бит. – сеть. 24 – адрес.
2. Классовая адресация.
A. 0X 8/24 0.0.0.0 – 127.255.255.255
B. 10X 16/16 128.0.0.0 – 191.255.255.255
C. 110X 24/8 192.0.0.0 – 223.255.255.255
D. 1110X групповые адреса.
E. 1111X экспериментальные адреса.
3. Классовая адресация + маска подсети.
4. Бесклассовая адресация/маршрутизация.

Объединение гетерогенных сетевых сегментов


Сетевой уровень позволяет осуществлять движение пакетов через
множество сетевых сегментов, построенных на различных канальных
технологиях. Это достигается за счет вложенной пакетной инкапсуляции.
Общая архитектура показана на рис. []. Сетевые сегменты соединены между
1
Это не случайно, поскольку протокол развивался в предверии 32-х разрядных машин
способных выполнять элементарные действия над адресами в рамках одного машинного цикла.
собой с помощью устройств третьего уровня – маршрутизаторов.
Существенное отличие этих устройств, от канального оборудования сетевых
сегментов заключается то том, что они работают на сетевом уровне, т.е.
анализируют заголовки IP пакетов.
Заголовки IP пакетов содержат помимо прочего глобальные адреса
источника и получателя данных (на данном этапе для нас важен адрес
получателя). Каждый маршрутизатор анализирует адрес получателя
приходящих на него пакетов и определяет исходящий интерфейс и IP адрес
следующего маршрутизатора в цепочке, куда нужно передать данные. Оба
маршрутизатора должны быть присоединены к одному сетевому сегменту, а это
значит, что доставку пакета можно передать канальному уровню. Поскольку
канальный уровень не имеет представления об IP адресах, необходимо заранее
преобразовать IP адрес следующего маршрутизатора в его канальный (MAC)
адрес. Эту функцию выполняет протокол ARP, работающий в составе
протокола IP. Канальный уровень, получив IP пакет и MAC адрес назначения,
интерпретирует IP пакет как данные, формирует кадр, и пересылает его на
следующий маршрутизатор в цепочке.
Каждый канальный сетевой сегмент ассоциируется с логической подсетью
IP. Логических подсетей IP на канальном сегменте может быть несколько. При
этом одна из них будет первичной, а остальные – вторичными. Позднее мы
увидим, что такое разделение существенно для нормальной работы некоторых
протоколов маршрутизации (в частности OSPF).
Классификация сетевых устройств
Теперь, когда мы разобрались с канальным и сетевым уровнем, полезно
систематизировать сетевые устройства (см таб. []).
Таб. 1. Классификации сетевых устройств.
Уровень OSI Устройства Краткое описание
1. Физический концентратор, Данные устройства воспринимают принимаемые
повторитель, данные как битовую последовательность, не
углубляясь в ее структуру. Эта битовая
последовательность воспроизводится на
противоположных портах устройства. Повторитель
имеет два порта и фактически является усилителем
сигнала, позволяя передавать его на длинные
расстояния. Концентратор имеет несколько портов
и позволяет создавать сегменты множественного
доступа. Сигнал, принятый на одном порте
концентратора ретранслируется в остальные.
2. Канальный коммутатор В большинстве случаев эти устройства работают по
мост, схеме «прозрачный бриджинг». Они анализируют
структуру кадра и, в частности, MAC адрес
источника пакета и обучаются, запоминая за
какими портами находятся рабочие станции. Это
позволяет им сегментировать трафик – пакет
передается именно в тот порт, в котором находится
адресуемая станция. Если адресуемая станция
находится за тем потром, откуда был получен
пакет, то пакет игнорируется. Мост можно считать
прототипом коммутатора. Логика работы этих
устройств одинаковая. Однако мосты для
обработки пакетов использовали центральный
процессор, а современные коммутаторы – СБИС
логику. Это отражается на возможном количестве
портов и общей производительности устройства.
3. Сетевой маршрутизатор, Маршрутизаторы производят обработку принятых
шлюз пакетов вплоть до третьего уровня. Для передачи
пакетов они руководствуются таблицами
маршрутизации, из которых можно узнать адрес
следующего маршрутизатора в пути до получателя.
Термин «шлюз» используется для устройств,
осуществляющих взаимодействие между
разнородными сетями. В данном случае
маршрутизатор может выполнять коммутацию
пакетов между различными канальными
протоколами. Термин «шлюз» использовался
раньше вместо термина «маршрутизатор».
Сценарий обработки принимаемых пакетов на IP уровне
Далее будет рассмотрена упрощенная блок-схема обработки принятого
устройством пакета, когда он поступает на уровень IP с канального уровня
(рис []).
 Система анализирует адрес получателя. Если он совпадает с адресом
одного из интерфейсов устройства, то пакет адресован данному
устройству и передается вверх по стеку протоколов.
 В противном случае на следующем шаге проверяется, не принадлежит ли
IP адрес получателя одной из присоединенных к устройству подсетей. В
ходе проверки маска подсети интерфейса накладывается на адрес
получателя пакета, и результат сравнивается с адресом подсети
интерфейса. Если IP адрес получателя пакета находится в
присоединенной подсети, устройство определяет канальный MAC адрес
(с помощью ARP) получателя и передает пакет получателю.
 В противном случае, если адрес получателя в пакете не принадлежит ни
одной из присоединенных подсетей, то устройство должно определить
следующий маршрутизатор. IP адрес маршрутизатора определяется по
таблице маршрутизиции, которая будет описана в следующем разделе.

Да
Равен одному из Пакет адресован самому
Анализируем адрес
IP адресов интерфейсов устройству. Передаем его вверх
получателя в IP пакете
устройтсва? по стеку протоколов.

Нет
Да
Принадлежит
Присоединенной
подсети?

Маршрутизация:
Устанавливаем адрес
следующего маршрутизатора в
присоединенной подсети

Да
Протокол ARP:
Передаем пакет на
Успешно? Устанавливаем MAC адрес
канальный уровень
узла назначения в подсети

Нет

Сбрасываем пакет

Рис. 1. Упрощенная блок-схема обработки пакета на IP уровне.


Рис. 2. Пример участка сети и движение пакета по нему.
Вопросы:
1. На примере сетка TCP/IP мы видим, что транспортный уровень является
частью операционной системы, а более высокие уровни реализуются в
приложении. Почему? Версии?
2. Две подсети можно объединить с помощью моста/коммутатора или
маршрутизатора. В чем принципиальная разница?
3. На каких типах сетей (P2P, NBMA, BMA) может работать протокол ARP, а на
каких нет? Почему?