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

Обновлено: 03.07.2024

Объединение нескольких локальных сетей в глобальную ( распределенную, составную ) WAN - сеть происходит с помощью устройств и протоколов сетевого Уровня 3 семиуровневой эталонной модели или уровня межсетевого взаимодействия четырехуровневой модели TCP/IP . Если LAN объединяют рабочие станции, периферию , терминалы и другое сетевое оборудование в одной аудитории или в одном здании, то WAN обеспечивают соединение LAN на широком географическом пространстве. В составную распределенную сеть ( internetwork , internet ) входят как локальные сети и подсети ( subnet ), так и отдельные пользователи. Устройствами, объединяющими LAN в составную сеть , являются:

  • маршрутизаторы ( routers );
  • модемы;
  • коммуникационные серверы.

Наиболее распространенными устройствами межсетевого взаимодействия сетей, подсетей и устройств являются маршрутизаторы. Они представляют собой специализированные компьютеры для выполнения специфических функций сетевых устройств. В лекции 4 было показано, что маршрутизаторы используются, чтобы сегментировать локальную сеть на широковещательные домены, т. е. являются устройствами LAN , но они применяются и как устройства формирования глобальных сетей. Поэтому маршрутизаторы имеют как LAN -, так и WAN -интерфейсы. Маршрутизаторы используют WAN -интерфейсы, чтобы связываться друг с другом, и LAN -интерфейсы – для связи с узлами (компьютерами), например через коммутаторы. Поэтому маршрутизаторы являются устройствами как локальных, так и глобальных сетей . Маршрутизаторы являются также основными устройствами больших корпоративных сетей .

На рис. 6.1 приведен пример того, как маршрутизаторы А, В и С объединяют несколько локальных сетей ( локальные сети № 1, № 2, № 3) в распределенную (составную) сеть . Поэтому маршрутизаторы имеют интерфейсы как локальных, так и глобальных соединений. К локальным сетям, созданным на коммутаторах , маршрутизатор присоединен через интерфейсы, которые на рис. 6.1 обозначены через F0/1, что означает: интерфейс Fast Ethernet , слот 0, номер 1. Глобальные соединения на рис. 6.1 представлены последовательными или серийными ( serial ) интерфейсами S0/1, S0/2. Через такой же последовательный интерфейс реализовано соединение составной сети с сетью Интернет ( Internet ). Подобная структурная схема , включающая несколько последовательно соединенных маршрутизаторов, характерна для многих корпоративных сетей .

Составная сеть на маршрутизаторах

В большинстве случаев соединение маршрутизатора локальной сети с сетью Интернет производится через сеть провайдера. Терминальное (оконечное) оборудование ( Data Terminal Equipment – DTE ), к которому относится и маршрутизатор , подсоединяется к глобальной сети (или к сети провайдера) через канальное коммуникационное оборудование ( Data Communications Equipment , или Data Circuit -Terminating Equipment , – DCE ). Маршрутизатор обычно является оборудованием пользователя, а оборудование DCE предоставляет провайдер . Услуги, предоставляемые провайдером для терминальных устройств DTE , доступны через модем или цифровое устройство согласования с каналом связи ( Channel Service Unit / Data Service Unit – CSU / DSU ), которые и являются оборудованием DCE ( рис. 6.2). Оборудование DCE является ведущим в паре DCE - DTE , оно обеспечивает синхронизацию и задает скорость передачи данных.

Устройства распределенных сетей

Поскольку маршрутизаторы в распределенных сетях ( рис. 6.1) часто соединяются последовательно, из двух последовательно соединенных серийных интерфейсов маршрутизаторов один должен выполнять роль устройства DCE , а второй – устройства DTE ( рис. 6.3).

Последовательное соединение маршрутизаторов


Рис. 6.3. Последовательное соединение маршрутизаторов

Главными функциями маршрутизаторов являются:

  • выбор наилучшего пути для пакетов к адресату назначения;
  • продвижение ( коммутация ) принятого пакета с входного интерфейса на соответствующий выходной интерфейс.

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

Протоколы канального ( data link ) уровня WAN описывают, как по сети передаются кадры. Они включают протоколы, обеспечивающие функционирование через выделенные соединения " точка-точка " и через коммутируемые соединения. Основными WAN протоколами и стандартами канального уровня являются: High-level Data Link Control ( HDLC ), Point-to-Point Protocol ( PPP ), Synchronous Data Link Control ( SDLC ), Serial Line Internet Protocol ( SLIP ), X.25, Frame Relay , ATM . Основными протоколами и стандартами физического уровня являются: EIA / TIA -232, EIA / TIA -449, V.24, V.35, X.21, G.703, EIA-530 , ISDN , E1, E3, XDSL , SDH ( STM -1, STM -4 и др.).

Функционируя на Уровне 3 модели OSI , маршрутизаторы принимают решения, базируясь на сетевых логических адресах (IP-адресах). Для определения наилучшего пути передачи данных через связываемые сети маршрутизаторы строят таблицы маршрутизации и обмениваются сетевой маршрутной информацией с другими маршрутизаторами. Администратор может конфигурировать статические маршруты и поддерживать таблицы маршрутизации вручную. Однако большинство таблиц маршрутизации создается и поддерживается динамически, за счет использования протоколов маршрутизации ( routing protocol ), которые позволяют маршрутизаторам автоматически обмениваться информацией о сетевой топологии друг с другом.

Функционирование маршрутизаторов происходит под управлением сетевой операционной системы ( Internetwork Operation System – IOS ), текущая ( running ) версия которой находится в оперативной памяти RAM ( рис. 6.4). Помимо текущей версии IOS оперативная память хранит активный конфигурационный файл ( Active Configuration File ) и таблицы протоколов динамической маршрутизации , выполняет буферизацию пакетов и поддерживает их очередь , обеспечивает временную память для конфигурационного файла маршрутизатора, пока включено питание.

Загрузка операционной системы IOS в оперативную память обычно производится из энергонезависимой флэш-памяти ( Flash ), которая является перепрограммируемым запоминающим устройством ( ППЗУ ). После модернизации IOS она перезаписывается во флэш-память , где может храниться несколько версий. Версию операционной системы можно также сохранять на TFTP -сервере ( рис. 6.4).

Постоянное запоминающее устройство ( ПЗУ – ROM ) содержит программу начальной загрузки ( bootstrap ) и сокращенную версию операционной системы, установленную при изготовлении маршрутизатора. Обычно эта версия IOS используется только при выходе из строя флэш-памяти. Память ROM также поддерживает команды для теста диагностики аппаратных средств (Power-On Self Test – POST ).

Элементы памяти и программы маршрутизатора


Рис. 6.4. Элементы памяти и программы маршрутизатора

Энергонезависимая (non- volatile ) оперативная память NVRAM маршрутизатора является перепрограммируемым запоминающим устройством (ППЗУ). NVRAM хранит стартовый ( startup ) конфигурационный файл , который после изменения конфигурации перезаписывается в ППЗУ, где создается резервная копия ( backup ). Конфигурационные файлы содержат команды и параметры для управления потоком трафика, проходящим через маршрутизатор . Конфигурационный файл используется для выбора сетевых протоколов и протоколов маршрутизации , которые определяют наилучший путь для пакетов к адресуемой сети. Первоначально конфигурационный файл обычно создается с консольной линии (console) и помимо памяти NVRAM может сохраняться на TFTP -сервере ( рис. 6.4). Временное хранение входящих и исходящих пакетов обеспечивается в памяти интерфейсов, которые могут быть выполнены на материнской плате или в виде отдельных модулей.

При включении маршрутизатора начинает функционировать программа начальной загрузки bootstrap, которая тестирует оборудование и загружает операционную систему IOS в оперативную память RAM . В оперативную память загружается также конфигурационный файл , хранящийся в NVRAM . В процессе конфигурирования маршрутизатора задаются адреса интерфейсов, пароли, создаются таблицы маршрутизации , устанавливаются протоколы, проводится проверка параметров. Процесс коммутации и продвижения данных проходит под управлением операционной системы.

6.2. Принципы маршрутизации

Информационный поток данных, созданный на прикладном уровне, на транспортном уровне "нарезается" на сегменты, которые на сетевом уровне снабжаются заголовками и образуют пакеты (см. рис. 1.7, рис. 1.8). Заголовок пакета содержит сетевые IP-адреса узла назначения и узла источника. На основе этой информации средства сетевого уровня – маршрутизаторы осуществляют передачу пакетов между конечными узлами составной сети по определенному маршруту.

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

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

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

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

Определения пути пакета

Путь от маршрутизатора A к маршрутизатору В может быть выбран:

  1. через маршрутизатор С;
  2. через маршрутизаторы D и E;
  3. через маршрутизаторы F, G и H.

Оценка наилучшего пути производится на основе метрики. Например, если метрика учитывает только количество маршрутизаторов на пути к адресату, то будет выбран первый маршрут . Если же метрика учитывает полосу пропускания линий связи , соединяющих маршрутизаторы, то может быть выбран второй или третий маршрут при условии, что на этом пути наиболее широкополосные линии связи.

При выборе первого пути функция коммутации реализуется за счет продвижения поступившего на интерфейс 1а маршрутизатора A пакета на интерфейс 2а. Таким образом, пакет попадает на интерфейс 1с маршрутизатора С, который продвинет полученный пакет на свой выходной интерфейс 3с, т. е. передаст полученный пакет маршрутизатору В.

В процессе передачи пакета по сети используются как сетевые логические адреса (IP-адреса), так и физические адреса устройств ( MAC-адреса в сетях Ethernet ). Например, при передаче информации с компьютера Host X локальной сети Сеть 1, ( рис. 6.6) на компьютер Host Y, находящийся в удаленной Сети 2, определен маршрут через маршрутизаторы A, B, C.

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


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

Когда узел Host Х Сети 1 передает пакет адресату Host Y из другой Сети 2, ему известен сетевой IP- адрес получателя, который записывается в заголовке пакета, т. е. известен адрес 3-го уровня. При инкапсуляции пакета в кадр источник информации Host Х должен задать в заголовке кадра канальные адреса назначения и источника, т. е. адрес 2-го уровня (табл. 6.1).

У передающего узла нет информации об адресе канального уровня (MAC-адресе) узла назначения Host Y, поэтому Host Х в заголовке кадра в качестве адреса назначения задаст MAC-адрес входного интерфейса 1а маршрутизатора A. Именно через этот интерфейс , называемый шлюзом по умолчанию ( Default gateway ), все пакеты из локальной Сети 1 будут передаваться в удаленные сети. Однако и этот адрес источнику информации Host Х не известен. Процесс нахождения МАС-адреса по известному сетевому адресу реализуется с помощью протокола разрешения адресов Address Resolution Protocol – ARP, который входит в стек протоколов TCP/IP .

Мы поможем найти Вам клиентов!

Процесс доставки IP пакета и маршрутизаторы. Определение пути.

Нужны новые клиенты? Тогда Вам рекомендуем посмотреть этот раздел нашего сайта
_____

Процесс доставки IP пакета и маршрутизаторы. Определение пути.

Процесс доставки IP пакета и маршрутизаторы. Определение пути.

В процессе доставки IP пакетов, маршрутизатор, работающий на третьем уровне, определяет, куда отправлять пакет с данными и по какому пути. Ниже приведены функции маршрутизатора в процессе доставки пакета.

Функции маршрутизатора в процессе доставки IP пакета

10. Маршрутизатор получает фрейм на один из его интерфейсов.

11. Маршрутизатор деинкапсулирует фрейм и использует информацию о протоколе из фрейма для определения, что пакет сетевого уровня должен быть передан IP процессу.

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

14. Исходящий интерфейс инкапсулирует пакет в соответствии со средой передачи и посылает в сетевой сегмент.

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

■ Статическая маршрутизация (Static routing): Этот тип маршрутизации требует, чтобы сетевой администратор вручную заполнял информацию о маршрутах в таблице маршрутизации.

■ Динамическая маршрутизация (Dynamic routing): Этот тип маршрутизации создает таблицу маршрутизации динамически, используя информацию, полученную от протоколов маршрутизации.

■ Маршрут по умолчанию (Default route): Этот тип маршрута замещает необходимость указания явных маршрутов во все сети. Маршрут по умолчанию может быть настроен статически или может быть получен от протокола динамической маршрутизации.

В таблице маршрутизации хранится только одна запись для сети. Если существует больше чем один источник информации для определения пути к определенной точке назначения, то для работы процесса маршрутизации необходимо выбрать источник информации, который будет использоваться в таблице маршрутизации. Множество источников источников информации о маршрутах появляется из-за наличия нескольких протоколов маршрутизации и информации о статических или динамических маршрутах, которые доступны в данный момент времени. Протоколы маршрутизации используют различную метрику для оценки дистанции и предпочтительности маршрута к сети назначения. В процессе маршрутизации Cisco, решает эту проблему, назначая веса каждому источнику информации, потому что непосредственно из различных протоколов маршрутизации нельзя выбрать информацию о лучшем пути. Эти номера известны как административное расстояние (administrative distance). Лучший, наиболее верный источник имеет меньший номер.

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

Для маршрутизации пакета маршрутизатор должен владеть следующей информацией:

  • Адрес назначения
  • Соседний маршрутизатор, от которого он может узнать об удаленных сетях
  • Доступные пути ко всем удаленным сетям
  • Наилучший путь к каждой удаленной сети
  • Методы обслуживания и проверки информации о маршрутизации

Маршрутизатор узнает об удаленных сетях от соседних маршрутизаторов или от сетевого администратора. Затем маршрутизатор строит таблицу маршрутизации, которая описывает, как найти удаленные сети.

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

Что такое маршрутизатор (шлюз, gateway)?

Маршрутизатором, или шлюзом, называется узел сети с несколькими IP-интерфейсами (содержащими свой MAC-адрес и IP-адрес), подключенными к разным IP-сетям, осуществляющий на основе решения задачи маршрутизации перенаправление дейтаграмм из одной сети в другую для доставки от отправителя к получателю.

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

Процесс IP-маршрутизации

IP-маршрутизация - простой процесс, который одинаков в сетях любого размера. Например, на рисунке показан процесс пошагового взаимодействия хоста А с хостом В в другой сети. В примере пользователь хоста А запрашивает по ping IP-адрес хоста В. Дальнейшие операции не так просты, поэтому рассмотрим их подробнее:

  • В командной строке пользователь вводит ping 172.16.20.2. На хосте А генерируется пакет с помощью протоколов сетевого уровня IP и ICMP.


  • IP обращается к протоколу ARP для выяснения сети назначения для пакета, просматривая IP-адрес и маску подсети хоста А. Это запрос к удаленному хосту, т.е. пакет не предназначен хосту локальной сети, поэтому пакет должен быть направлен маршрутизатору для перенаправления в нужную удаленную сеть.
  • Чтобы хост А смог послать пакет маршрутизатору, хост должен знать аппаратный адрес интерфейса маршрутизатора, подключенный к локальной сети. Сетевой уровень передает пакет и аппаратный адрес назначения канальному уровню для деления на кадры и пересылки локальному хосту. Для получения аппаратного адреса хост ищет местоположение точки назначения в собственной памяти, называемой кэшем ARP.
  • Если IP-адрес еще не был доступен и не присутствует в кэше ARP, хост посылает широковещательную рассылку ARP для поиска аппаратного адреса по IP-адресу 172.16.10.1. Именно поэтому первый запрос Ping обычно заканчивается тайм-аутом, но четыре остальные запроса будут успешны. После кэширования адреса тайм-аута обычно не возникает.
  • Маршрутизатор отвечает и сообщает аппаратный адрес интерфейса Ethernet, подключенного к локальной сети. Теперь хост имеет всю информацию для пересылки пакета маршрутизатору по локальной сети. Сетевой уровень спускает пакет вниз для генерации эхо-запроса ICMP (Ping) на канальном уровне, дополняя пакет аппаратным адресом, по которому хост должен послать пакет. Пакет имеет IP-адреса источника и назначения вместе с указанием на тип пакета (ICMP) в поле протокола сетевого уровня.
  • Канальный уровень формирует кадр, в котором инкапсулируется пакет вместе с управляющей информацией, необходимой для пересылки по локальной сети. К такой информации относятся аппаратные адреса источника и назначения, а также значение в поле типа, установленное протоколом сетевого уровня (это будет поле типа, поскольку IP по умолчанию пользуется кадрами Ethernet_II). Рисунок 3 показывает кадр, генерируемый на канальном уровне и пересылаемый по локальному носителю. На рисунке 3 показана вся информация, необходимая для взаимодействия с маршрутизатором: аппаратные адреса источника и назначения, IP-адреса источника и назначения, данные, а также контрольная сумма CRC кадра, находящаяся в поле FCS (Frame Check Sequence).
  • Канальный уровень хоста А передает кадр физическому уровню. Там выполняется кодирование нулей и единиц в цифровой сигнал с последующей передачей этого сигнала по локальной физической сети.


  • Сигнал достигает интерфейса Ethernet 0 маршрутизатора, который синхронизируется по преамбуле цифрового сигнала для извлечения кадра. Интерфейс маршрутизатора после построения кадра проверяет CRC, а в конце приема кадра сравнивает полученное значение с содержимым поля FCS. Кроме того, он проверяет процесс передачи на отсутствие фрагментации и конфликтов носителя.
  • Проверяется аппаратный адрес назначения. Поскольку он совпадает с адресом маршрутизатора, анализируется поле типа кадра для определения дальнейших действий с этим пакетом данных. В поле типа указан протокол IP, поэтому маршрутизатор передает пакет процессу протокола IP, исполняемому маршрутизатором. Кадр удаляется. Исходный пакет (сгенерированный хостом А) помещается в буфер маршрутизатора.
  • Протокол IP смотрит на IP-адрес назначения в пакете, чтобы определить, не направлен ли пакет самому маршрутизатору. Поскольку IP-адрес назначения равен 172.16.20.2, маршрутизатор определяет по своей таблице маршрутизации, что сеть 172.16.20.0 непосредственно подключена к интерфейсу Ethernet 1.
  • Маршрутизатор передает пакет из буфера в интерфейс Ethernet 1. Маршрутизатору необходимо сформировать кадр для пересылки пакета хосту назначения. Сначала маршрутизатор проверяет свой кэш ARP, чтобы определить, был ли уже разрешен аппаратный адрес во время предыдущих взаимодействий с данной сетью. Если адреса нет в кэше ARP, маршрутизатор посылает широковещательный запрос ARP в интерфейс Ethernet 1 для поиска аппаратного адреса для IP-адреса 172.16.20.2.
  • Хост В откликается аппаратным адресом своего сетевого адаптера на запрос ARP. Интерфейс Ethernet 1 маршрутизатора теперь имеет все необходимое для пересылки пакета в точку окончательного приема. На рисунке показывает кадр, сгенерированный маршрутизатором и переданный по локальной физической сети.


Кадр, сгенерированный интерфейсом Ethernet 1 маршрутизатора, имеет аппаратный адрес источника от интерфейса Ethernet 1 и аппаратный адрес назначения для сетевого адаптера хоста В. Важно отметить, что, несмотря на изменения аппаратных адресов источника и назначения, в каждом передавшем пакет интерфейсе маршрутизатора, IP-адреса источника и назначения никогда не изменяются. Пакет никоим образом не модифицируется, но меняются кадры.

  • Хост В принимает кадр и проверяет CRC. Если проверка будет успешной, кадр удаляется, а пакет передается протоколу IP. Он анализирует IP-адрес назначения. Поскольку IP-адрес назначения совпадает с установленным в хосте В адресом, протокол IP исследует поле протокола для определения цели пакета.
  • В нашем пакете содержится эхо-запрос ICMP, поэтому хост В генерирует новый эхо-ответ ICMP с IP-адресом источника, равным адресу хоста В, и IP-адресом назначения, равным адресу хоста А. Процесс запускается заново, но в противоположном направлении. Однако аппаратные адреса всех устройств по пути следования пакета уже известны, поэтому все устройства смогут получить аппаратные адреса интерфейсов из собственных кэшей ARP.

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

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

В стеке TCP/IP маршрутизаторы и конечные узлы принимают решения о том, кому передавать пакет для его успешной доставки узлу назначения, на основании так называемых таблиц маршрутизации (routing tables).

Таблица представляет собой типичный пример таблицы маршрутов, использующей IP-адреса сетей, для сети, представленной на рисунке.


Таблица маршрутизации для Router 2


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

Как нетрудно видеть, в таблице определено несколько маршрутов с разными параметрами. Читать каждую такую запись в таблице маршрутизации нужно следующим образом:

Чтобы доставить пакет в сеть с адресом из поля Сетевой адрес и маской из поля Маска сети, нужно с интерфейса с IP-адресом из поля Интерфейс послать пакет по IP-адресу из поля Адрес шлюза, а «стоимость» такой доставки будет равна числу из поля Метрика.

В этой таблице в столбце "Адрес сети назначения" указываются адреса всех сетей, которым данный маршрутизатор может передавать пакеты. В стеке TCP/IP принят так называемый одношаговый подход к оптимизации маршрута продвижения пакета (next-hop routing) – каждый маршрутизатор и конечный узел принимает участие в выборе только одного шага передачи пакета. Поэтому в каждой строке таблицы маршрутизации указывается не весь маршрут в виде последовательности IP-адресов маршрутизаторов, через которые должен пройти пакет, а только один IP-адрес - адрес следующего маршрутизатора, которому нужно передать пакет. Вместе с пакетом следующему маршрутизатору передается ответственность за выбор следующего шага маршрутизации. Одношаговый подход к маршрутизации означает распределенное решение задачи выбора маршрута. Это снимает ограничение на максимальное количество транзитных маршрутизаторов на пути пакета.

Для отправки пакета следующему маршрутизатору требуется знание его локального адреса, но в стеке TCP/IP в таблицах маршрутизации принято использование только IP-адресов для сохранения их универсального формата, не зависящего от типа сетей, входящих в интерсеть. Для нахождения локального адреса по известному IP-адресу необходимо воспользоваться протоколом ARP.

Одношаговая маршрутизация обладает еще одним преимуществом - она позволяет сократить объем таблиц маршрутизации в конечных узлах и маршрутизаторах за счет использования в качестве номера сети назначения так называемого маршрута по умолчанию – default (0.0.0.0), который обычно занимает в таблице маршрутизации последнюю строку. Если в таблице маршрутизации есть такая запись, то все пакеты с номерами сетей, которые отсутствуют в таблице маршрутизации, передаются маршрутизатору, указанному в строке default. Поэтому маршрутизаторы часто хранят в своих таблицах ограниченную информацию о сетях интерсети, пересылая пакеты для остальных сетей в порт и маршрутизатор, используемые по умолчанию. Подразумевается, что маршрутизатор, используемый по умолчанию, передаст пакет на магистральную сеть, а маршрутизаторы, подключенные к магистрали, имеют полную информацию о составе интерсети.

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

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

Записи в таблице маршрутизации, относящиеся к сетям, непосредственно подключенным к маршрутизатору, в поле "Метрика" содержат нули («подключено»).

Алгоритмы маршрутизации

Основные требования к алгоритмам маршрутизации:

  • точность;
  • простота;
  • надёжность;
  • стабильность;
  • справедливость;
  • оптимальность.

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

  • алгоритмы простой маршрутизации;
  • алгоритмы фиксированной маршрутизации;
  • алгоритмы адаптивной маршрутизации.

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

Простая маршрутизация

Это способ маршрутизации не изменяющийся при изменении топологии и состоянии сети передачи данных (СПД).

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

В целом, простая маршрутизация не обеспечивает направленную передачу пакета и имеет низкую эффективности. Основным ее достоинством является обеспечение устойчивой работы сети при выходе из строя различных частей сети.

Фиксированная маршрутизация

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

  • Однопутевая фиксированная маршрутизация – это когда между двумя абонентами устанавливается единственный путь. Сеть с такой маршрутизацией неустойчива к отказам и перегрузкам.
  • Многопутевая фиксированная маршрутизация – может быть установлено несколько возможных путей и вводится правило выбора пути. Эффективность такой маршрутизации падает при увеличении нагрузки. При отказе какой-либо линии связи необходимо менять таблицу маршрутизации, для этого в каждом узле связи храниться несколько таблиц.

Адаптивная маршрутизация

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

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

Показатели алгоритмов (метрики)

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

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

  • Длина маршрута.
  • Надежность.
  • Задержка.
  • Ширина полосы пропускания.

Длина маршрута

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

Надежность

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

Задержка

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

Полоса пропускания

Полоса пропускания относится к имеющейся мощности трафика какого-либо канала. При прочих равных показателях, канал Ethernet 10 Mbps предпочтителен любой арендованной линии с полосой пропускания 64 Кбайт/с. Хотя полоса пропускания является оценкой максимально достижимой пропускной способности канала, маршруты, проходящие через каналы с большей полосой пропускания, не обязательно будут лучше маршрутов, проходящих через менее быстродействующие каналы.

p, blockquote 1,0,0,0,0 -->

Марутшрутизация в компьютерных сетях

p, blockquote 2,0,0,0,0 -->

Маршрутизация состоит из двух этапов:

Этапы маршрутизации

p, blockquote 4,0,0,0,0 -->

Варианты действий маршрутизатора

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

p, blockquote 5,0,0,0,0 -->

Схема маршрутизации пример

p, blockquote 6,0,0,0,0 -->

Рассмотрим маршрутизатор D, на него пришел пакет, и маршрутизатор должен решить, что ему делать с этим пакетом. Начнем с того, какие вообще возможны варианты действий у маршрутизатора. Первый вариант, сеть которой предназначен пакет подключена непосредственно к маршрутизатору. У маршрутизатора D таких сетей 3, в этом случае маршрутизатор передает пакет непосредственно в эту сеть.

p, blockquote 7,0,0,0,0 -->

Сети маршрутизатора

p, blockquote 8,0,0,0,0 -->

Второй вариант, нужная сеть подключена к другому маршрутизатору (А), и известно, какой маршрутизатор нужен. В этом случае, маршрутизатор D передает пакет на следующий маршрутизатор, который может передать пакет в нужную сеть, такой маршрутизатор называется шлюзом.

p, blockquote 9,0,0,0,0 -->

Передача пакетов у маршрутизаторов

p, blockquote 10,0,0,0,0 -->

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

p, blockquote 11,0,0,0,0 -->

  • Во-первых у маршрутизатора есть несколько интерфейсов, к которым подключены сети. Нужно определить в какой из этих интерфейсов отправлять пакет.
  • Затем нужно определить, что именно делать с этим пакетом. Есть 2 варианта, можно передать пакет в сеть (192.168.1.0/24), либо можно передать его на один из маршрутизаторов подключенные к этой сети. Если передавать пакет на маршрутизатор, то нужно знать, какой именно из маршрутизаторов подключенных к этой сети, выбрать для передачи пакета.

Знать какой маршрутизатор выбрать

p, blockquote 13,0,0,0,0 -->

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

Эту информацию маршрутизатор хранит в таблице маршрутизации. На картинке ниже показан ее упрощенный вид, в которой некоторые служебные столбцы удалены для простоты понимания.

p, blockquote 14,0,0,0,0 -->

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

p, blockquote 15,0,1,0,0 -->

p, blockquote 16,0,0,0,0 -->

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

Продолжим рассматривать маршрутизатор D, у него есть три интерфейса. Ниже на картинке представлен вид таблицы маршрутизации для windows, которые в качестве идентификатора интерфейса используют ip-адрес, который назначен этому интерфейсу. Таким образом в столбце интерфейс есть 3 ip-адреса, которые соответствуют трем интерфейсам маршрутизатора.

p, blockquote 17,0,0,0,0 -->

Интерфейс маршрутизации

p, blockquote 18,0,0,0,0 -->

p, blockquote 19,0,0,0,0 -->

Шлюз подсоединен (Маршрутизация)

p, blockquote 20,0,0,0,0 -->

Если же нам нужно передать пакет на следующий маршрутизатор то в поле шлюз указывается ip-адрес этого маршрутизатора.

p, blockquote 21,0,0,0,0 -->

Шлюз (Маршрутизация)

p, blockquote 22,0,0,0,0 -->

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

В операционной системе linux таблица маршрутизации выглядит немного по-другому, основное отличие это идентификатор интерфейсов. В linux вместо ip-адресов используется название интерфейсов. Например, wlan название для беспроводного сетевого интерфейса, а eth0 название для проводного интерфейса по сети ethernet.

p, blockquote 23,0,0,0,0 -->

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

p, blockquote 24,0,0,0,0 -->

Также здесь некоторые столбцы удалены для сокращения (Flags, Ref и Use). В других операционных системах и в сетевом оборудовании вид таблицы маршрутизации может быть несколько другой, но всегда будут обязательны столбцы ip-адрес, маска подсети, шлюз, интерфейс и метрика.

p, blockquote 25,0,0,0,0 -->

Только следующий шаг!

Часто возникает вопрос, что делать, если сеть для который пришел пакет находится не за одним маршрутизатором? Чтобы в неё попасть, нужно пройти не через один, а через несколько маршрутизаторов, что в этом случае нужно вносить в таблицу маршрутизации.

p, blockquote 26,0,0,0,0 -->

Следующий шаг в маршрутизации

p, blockquote 27,0,0,0,0 -->

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

p, blockquote 28,0,0,0,0 -->

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

p, blockquote 29,0,0,0,0 -->

маршрутизатор знает следующий шаг

p, blockquote 30,1,0,0,0 -->

Метрика

Можно заметить, что в нашей схеме в одну и ту же сеть, например вот в эту (10.2.0.0/16) можно попасть двумя путями, первый путь проходят через один маршрутизатор F, а второй путь через два маршрутизатора B и E.

p, blockquote 31,0,0,0,0 -->

2 пути маршрутизации

p, blockquote 32,0,0,0,0 -->

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

p, blockquote 33,0,0,0,0 -->

Какой путь выбрать? Для этого используются поле метрика таблицы маршрутизации.

p, blockquote 34,0,0,0,0 -->

Таблица метрика в маршрутизации

p, blockquote 35,0,0,0,0 -->

Метрика это некоторое число, которые характеризует расстояние от одной сети до другой. Если есть несколько маршрутов до одной и той же сети, то выбирается маршрут с меньшей метрикой.

p, blockquote 36,0,0,0,0 -->

Метрика в маршрутизации

p, blockquote 37,0,0,0,0 -->

Раньше, метрика измерялось в количестве маршрутизаторов, таким образом расстояние через маршрутизатор F было бы один, а через маршрутизаторы B и E два.

p, blockquote 38,0,0,0,0 -->

метрика измерялось в количестве маршрутизаторов

p, blockquote 39,0,0,0,0 -->

p, blockquote 40,0,0,0,0 -->

Записи в таблице маршрутизации

Откуда появляются записей в таблице маршрутизации? Есть два варианта статическая маршрутизация и динамическая маршрутизация.

p, blockquote 41,0,0,0,0 -->

При статической маршрутизации, записи в таблице маршрутизации настраиваются вручную, это удобно делать если у вас сеть небольшая и изменяется редко, но если сеть крупная, то выгоднее использовать динамическую маршрутизацию, в которой маршруты настраиваются автоматически. В этом случае маршрутизаторы сами изучают сеть с помощью протоколов маршрутизации RIP, OSPF, BGP и других.

p, blockquote 42,0,0,0,0 -->

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

p, blockquote 43,0,0,0,0 -->

Маршрут по умолчанию

p, blockquote 44,0,0,0,0 -->

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

p, blockquote 45,0,0,1,0 -->

Предполагается что этот маршрутизатор лучше знает структуру сети, и способен найти маршрут в составной сети. Для обозначения маршрута по умолчанию, в таблице маршрутизации используются четыре нуля в адресе подсети и четыре нуля в маске (0.0.0.0, маска 0.0.0.0), а иногда также пишут default.

p, blockquote 46,0,0,0,0 -->

Ниже пример маршрута по умолчанию в таблице маршрутизации в операционной системе linux.

p, blockquote 47,0,0,0,0 -->

пример маршрута по умолчанию в таблице маршрутизации в операционной системе linux

p, blockquote 48,0,0,0,0 -->

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

p, blockquote 49,0,0,0,0 -->

Длина маски подсети

Рассмотрим пример. Маршрутизатор принял пакет на ip-адрес (192.168.100.23), в таблице маршрутизации есть 2 записи (192.168.100.0/24 и 192.168.0.0/16) под который подходит этот ip-адрес, но у них разная длина маски. Какую из этих записей выбрать? Выбирается та запись, где маска длиннее, предполагается, что запись с более длинной маской содержит лучший маршрут интересующей нас сети.

p, blockquote 50,0,0,0,0 -->

Чтобы понять почему так происходит, давайте рассмотрим составную сеть гипотетического университета. Университет получил блок ip-адресов, разделил этот блок ip-адресов на две части, и каждую часть выделил отдельному кампусу.

p, blockquote 51,0,0,0,0 -->

Длина маски подсети в маршрутизации

p, blockquote 52,0,0,0,0 -->

На кампусе находятся свои маршрутизаторы, на которых сеть была дальше разделена на части предназначенные для отдельных факультетов. Разделение сетей производится с помощью увеличения длины маски, весь блок адресов имеет маску / 16, блоки кампусов имеют маску / 17, а блоки факультетов / 18.

p, blockquote 53,0,0,0,0 -->

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

p, blockquote 54,0,0,0,0 -->

фрагмент таблицы маршрутизации

p, blockquote 55,0,0,0,0 -->

p, blockquote 56,0,0,0,0 -->

p, blockquote 57,0,0,0,0 -->

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

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

  • Как правило такая таблица содержит описание присоединенной сети, который подключен данный компьютер.
  • Адрес маршрутизатора по умолчанию (шлюз или gateway) через который, выполняется подключение к интернет, или к корпоративной сети предприятия.
  • А также могут быть дополнительные маршруты к некоторым знакомым сетям, но это необязательно.

Для того чтобы просмотреть таблицу маршрутизации, можно использовать команды route или ip route (route print (Windows); route и ip route (Linux)).

p, blockquote 60,0,0,0,0 --> p, blockquote 61,0,0,0,1 -->

Читайте также: