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

Обновлено: 28.06.2024

(2) псевдозаголовок используется при вычислении контрольной суммы, чтобы контролировать корректность доставки UDP-дейтограмм

Для общей синхронизации работы сервиспровайдеров и приложений в winsock введено понятие объектов событий, которые служат

Программа управления распределенной базой данных, в которой хранятся символьные имена сетей, различных сетевых объектов и ЭВМ вместе с их IP-адресами, называется

(3) это поле сообщает ЭВМ места назначения, какой протокольный хандлер следует использовать, но это не нужно для промежуточных маршрутизаторов в IPv6

(2) значение ресурса вычисляется согласно алгоритму, учитывающему наиболее вероятный поток данных через узел на основе flowspecs

Почему вместо UDP не используется непосредственно IP-дейтограммы, ведь и то и другое не требует соединения и подтверждения доставки?

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

(4) независимо от того, кто отправитель, а кто получатель - это производится автоматически и случайным образом

(3) нельзя, так как в случае необходимости фрагментации, выполнить ее будет нельзя (она реализуется только для пакетов UDP и TCP )

Чтобы позволить взаимодействующим приложениям идентифицировать себя с помощью имени и версии программного продукта используют

(1) асимметричность путей может возникнуть из-за разной маршрутной политики маршрутизаторов, находящихся в начале и в конце туннеля

(4) асимметричность путей возможна, так как маршрут задается адресом места назначения, а этот адрес разный на пути к адресату и на пути к концу туннеля

(2) в первом случае отправитель посылает всем маршрутизаторам запрос резервирования, а во втором не посылает

(3) в первом случае резервирование производится по интегралу прошедшего трафика, а во втором по пропускной способности

(4) в первом случае всем маршрутизаторам получатель посылает запрос резервирования, а во втором они должны быть сконфигурированы вручную

(1) Нагль предложил при однобайтовом обмене посылать первый байт, а последующие буферизовать до прихода подтверждения получения посланного

Чтобы работать с клиентами, которые не могут воспринимать уникастные IP-дейтограммы до того, как будет сконфигурирована программа, DHCP использует

Могут ли в рамках RSVP использоваться для одного из участков канала два или более стилей резервирования?

ЭВМ имеет одно или два виртуальных TCP-соединений с удаленными сетевыми объектами. ЭВМ подключена к WAN, имеющей постоянную загрузку внешнего канала от других LAN . Каково соотношение скоростей обмена для этих двух вариантов (быстродействие процессора предполагается достаточным)?

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

Если в случае использования IPv6 TCP-пакет попал в узел, где последующий сегмент требует фрагментации. Что будет предпринято?

(3) будет послано уведомление об ошибке и последующие пакеты будут иметь длину, удовлетворяющую требованиям критического сегмента

Можно ли использовать опцию протокола ICMP "Порт недоступен" для прямого выявления открытых портов с помощью ping ?

(2) валидатор используется для определения того, разрешен ли данному пользователю доступ к данному документу

(3) выбором выдержки между обнаружением более привлекательного маршрута и разрешением на его оповещение для других маршрутизаторов

(4) выбором выдержки между обнаружением более привлекательного маршрута и разрешением на его использование

(2) из-за требований реального времени TCP создает чрезмерные издержки благодаря большому размеру заголовков

(4) для решения задачи управления используется описание маршрутной политики и соответствующие базы данных RIB

TCP-протокол предусматривает длину сегмента 65495 байт. Такая длина не совместима с размером Ethernet-кадра. Зачем это придумали?

(3) TCP-сегмент может транспортироваться и другими протоколами и тогда такое ограничение не существенно

(3) поле нужно лишь в случае, когда применяется принудительная маршрутизация, тип опции и определяет положение поля

Почему для непосредственной передачи данных не используется IP-протокол (зачем-то используют TCP или UDP , а ведь это увеличивает протокольные издержки и снижает пропускную способность)?

(4) протокол служит для того, чтобы администратор мог разделить внутренний и внешний трафики автономной системы

В пакете флаг DF=1 (не фрагментировать), а на пути дейтограммы встретился участок, где фрагментация необходима. Как решается эта проблема?

(1) пакет будет выброшен, не будет получено отклика и отправитель будет вынужден при повторной отправке сделать DF=0

(4) так как виртуальное соединение было создано в предположении определенного значения MTU , соединение будет разорвано и сформировано вновь с требуемым значением MTU

(1) в WF зарезервированный ресурс равен максимальному ресурсу, заказанному одним из клиентов, а в SE минимальному

(1) UDP устаревший протокол и он везде, где только возможно, должен быть заменен TCP , который обеспечивает гарантированную доставку

(2) UDP имеет меньшую избыточность по заголовку и по этой причине должен применяться везде, где только возможно

(4) UDP используется в локальных сетях и для мультимедиа, а TCP (в основном в региональных) для информационного обмена, где требуется высокая надежность доставки

Аппаратное и программное обеспечение, работающие в сети, разрабатываются в разных фирмах. Для того чтобы оно было совместимо между собой, международной организацией по стандартам (ISO) была разработана базовая эталонная модель открытых систем (OSI - Open System Interconnection model). Эта модель описывает многоуровневую архитектуру сети, при которой все сетевые функции разделены на семь уровней (рис. 6.1) Каждому уровню соответствуют определенные сетевые операции, оборудование и протоколы. Протокол - это четко определенный набор правил и соглашений для взаимодействия одинаковых уровней сети. Интерфейс определяет услуги, которые нижний уровень предоставляет верхнему и способ доступа к ним. Задача каждого уровня - предоставление услуг вышестоящему уровню, "маскирую" детали реализации этих услуг. Когда два компьютера в сети работают друг с другом, каждый из сетевых уровней обменивается данными с себе подобным (на основе протокола этого уровня). Эта логическая или виртуальная связь изображена на рис. 6.2. пунктирной линией. Однако реальная передача данных происходит на самом нижнем - физическом уровне, где находится физическая среда передачи (сетевой кабель). Т. е. на самом деле данные перемещаются: -сверху вниз от прикладного уровня к физическому; -в рамках физического уровня горизонтально по сетевому кабелю к компьютеру - приемнику данных; -полученные данные затем двигаются вверх по уровням сетевой модели (рис. 6.2). Сетевая модель ISO/OSI определяет сеть в терминах нескольких функциональных уровней. Каждый сетевой уровень включает строго определенные функции и применяет для этого один или несколько протоколов: ·физический уровень передает данные по сетевым каналам и включает в себя аппаратные средства, необходимые для этого; ·канальный - предохраняет данные от повреждения на физическом уровне; ·сетевой - передает данные от одного сетевого компьютера к другому; ·транспортный - передает данные от одного приложения к другому; ·сеансовый - это сетевой интерфейс пользователя; ·представительский - занимается проблемами сетевого интерфейса к принтерам, мониторам и преобразованием форматов файлов; ·прикладной - это набор широко используемых сетевых приложений.

6.2.Основные функции уровней модели OSI

Каждый из семи уровней определяет перечень услуг, которые он предоставляет смежным уровням, реализуя определенный набор сетевых функций. 1.Физический уровень. -обеспечивает физический путь для передачи кодированных сигналов; -устанавливает характеристики этих сигналов (амплитуда, частота, длительность и т.д.); -определяет способ соединения СА с кабелем, тип разъемов, способ передачи; -обеспечивает поддержку потока битов, содержание которых на этом уровне не имеет значения; -отвечает за кодирование данных и синхронизацию битов. 2.Канальный уровень. -определяет правила совместного использования физического уровня узлами сети; -передает информацию адресованными порциями - кадрами; -определяет формат кадра и способ, согласно которому узел сети решает, когда можно передать или принять кадр. Используется два основных типа кадров (рис. 6.3).

6.3.Назначение протоколов

Операционная система управляет ресурсами компьютера, а сетевая операционная система обеспечивает управление аппаратными и программными ресурсами всей сети. Тем не менее, для передачи данных в сети нужен еще один компонент - протокол. Протокол - это правила и технические процедуры, позволяющие нескольким компьютерам при объединении в сеть общаться друг с другом. Отметим три основных момента, касающихся протоколов: 1.Существует множество протоколов. И хотя все они участвуют в реализации связи, каждый протокол имеет: -различные цели; -выполняет определенные задачи; -обладает своими преимуществами и ограничениями. 2.Функции протокола определяются уровнем, на котором он работает. Если, например, какой-то протокол работает на физическом уровне, то это означает, что он обеспечивает прохождение пакетов через плату СА и их поступление в сетевой кабель. В общем случае каждому уровню присущ свой набор правил (табл. 6.1) Таблица 6.1 3.Несколько протоколов могут работать совместно каждый на своем уровне. Это так называемый стек или набор протоколов (например, стек TCP/IP, объединяющий транспортный и сетевой протоколы).

6.4.Работа протоколов

Протоколы реализуются через заголовки, которые добавляются к пакетам по мере того, как они передаются по уровням. Каждый заголовок связывается с конкретным уровнем и в каждом последующем уровне воспринимается как часть пакета (рис. 6.8). При поступлении пакета в принимающий узел, заголовки соответствующих уровней используются для вызова заданной функции в принимающем узле. При передаче пакета выше этот заголовок изымается. И компьютер-отправитель, и компьютер-получатель должны выполнять каждое действие одинаковым способом с тем, чтобы пришедшие по сети данные совпали с отправленными. Если, например, два протокола будут по-разному разбивать данные на пакеты или по-разному добавлять данные (о последовательности пакетов, синхронизации и т. д.), то тогда компьютер, использующий один из протоколов, не сможет связаться с компьютером, на котором работает другой протокол. На работу протоколов ряда уровней оказывает влияние, является ли сеть с коммутацией соединений или с коммутацией пакетов. Широкое развитие межсетевых объединений ("интернет"), компонентами которых являются ЛВС, привело к тому, что данные из одной ЛВС в другую могут передаваться по одному из возможных маршрутов. Протоколы, которые поддерживают такую передачу, называются маршрутизируемыми протоколами. И их роль постоянно возрастает.

6.5.Основные типы протоколов

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

6.6.Наиболее распространенные стеки протоколов

Наиболее популярными в настоящее время являются стеки протоколов: TCP/IP разработанный более 20 лет назад по заказу МО США; IPX/SPX фирмы Novell и NETBEUI/NetBIOS фирмы IBM. 1.Стек TCP/IP включает в себя два основных протокола: -TCP (Transmission Control Protocol) - протокол для гарантированной доставки данных, разбитых на последовательность фрагментов. Соответствует транспортному уровню. -IP (Internet Protocol) - протокол для передачи пакетов, относится к разряду сетевых протоколов. Стек TCP/IP является промышленным стандартным набором протоколов, которые обеспечивают связь в неоднородной среде, т. е. обеспечивают совместимость между компьютерами разных типов. Кроме того, TCP/IP: -представляет доступ к ресурсам Интернет; -поддерживает маршрутизацию и обычно используется в качестве межсетевого протокола. Благодаря своей популярности TCP/IP стал стандартом де-факто для межсетевого взаимодействия. К другим специально созданным для стека TCP/IP протоколам относятся: SMTP (Simple Mail Protocol): - электронная почта; FTP (File Transfer Protocol) - обмен файлами между ЭВМ и др. Эти протоколы относятся к разряду прикладных протоколов. 2.Стек IPX / SPX (Novell) включает: -IPX (Internetwork Packet Exchange) - протокол межсетевой передачи пакетов, соответствует транспортному уровню и определяет формат передаваемых по сети кадров. На уровне IPX рабочие станции обмениваются блоками данных без подтверждения. -SPX (Sequenced Packet Exchange) - протокол последовательного обмена пакетами. Соответствует сетевому уровню. Перед началом обмена РС устанавливают между собой связь. На уровне протокола SPX гарантирована доставка передаваемых по сети кадров. При необходимости выполняются повторные передачи. Стек IPX / SPX поддерживает маршрутизацию и используется в сетях Novell. 3.Протокол NetBIOS (Network Basic Input/Output System) - базовая система ввода/вывода. Предназначен для передачи данных между РС, выполняет функции сетевого, транспортного и сеансового уровней. Этот протокол предоставляет программам средства осуществления связи с другими сетевыми программами. NetBEIU - расширенный интерфейс NetBIOS - небольшой быстрый и эффективный протокол транспортного уровня, который поставляется со всеми сетевыми продуктами Microsoft. Основной недостаток - он не поддерживает маршрутизацию. NWLink - реализация IPX / SPX фирмой Microsoft. Это транспортный маршрутизируемый протокол.

6.7.Сетевые службы и протоколы

6.8.Привязка протоколов

Процесс, который называется привязкой, позволяет с достаточной гибкостью настраивать сеть, т. е. сочетать протоколы и платы сетевых адаптеров, как того требует ситуация. Так, например, Ваш компьютер является членом рабочей группы одноранговой сети на базе Windows 95, и обмен данными осуществляется по протоколу NetBEIU. Если помимо этого Вам необходим доступ на сервер Вашей организации, работающей под управлением Novell NetWare, то первое, что необходимо сделать - установить на Вашем компьютере соответствующий протокол - IPX/SPX. Таким образом, два стека протоколов должны быть привязаны к одной плате сетевого адаптера - NetBEUT и IPX/SPX. При подключении к глобальной сети Интернет на Вашем компьютере дополнительно должен быть установлен еще один протокол TCP/IP. Порядок привязки определяет очередность, с которой операционная система выполняет программы. Если с одной платой СА связано несколько протоколов, то порядок привязки определяет очередность, с которой будут использоваться протоколы при попытках установить соединение. Обычно привязку выполняют при установке ОС или добавлении и настройке протокола. Например, если TCP/IP - первый протокол в списке привязки, то именно он будет использоваться при попытке установить связь. Если попытка неудачна, то компьютер попытается установить соединение, используя следующий по порядку протокол в списке привязки. Привязка (binding) не ограничивается установкой соответствия стека протокола плате СА. Стек протокола должен быть привязан к компонентам, уровень которых и выше, и ниже его уровня. Так, TCP/IP наверху может быть привязан к сеансовому уровню NetBIOS, а внизу - к драйверу платы СА. Драйвер, в свою очередь, привязан к плате СА.

6.9.Передача данных по сети

Для взаимодействия между собой в Интернете компьютеры разных типов и разнообразные операционные системы используют различные протоколы – наборы правил и соглашений, описывающие, каким именно образом происходит передача данных по сети. Протоколы Интернета TCP/IP понимают все компьютеры и сети Интернет, ТСP определяет каким образом данные будут разбиты на пакеты для передачи по сети, а протокол IP – занимается адресацией пакетов и доставкой их к месту назначения. Каждый пакет при этом имеет свою однозначную маркировку. В конечном пункте все пакеты собираются в один файл.

На какой протокол возложена маршрутизация пакетов

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

· дистанционно-векторные протоколы (основаны на алгоритме DVA — англ. distance vector algorithm);

· протоколы состояния каналов связи (основаны на алгоритме LSA — англ. link state algorithm).

По области применения выделяют протоколы:

· для междоменной маршрутизации;

· для внутридоменной маршрутизации.

· RIP — англ. routing information protocol;

· BGP — англ. border gateWay protocol;

· AODV — англ. ad hoc on-demand distance vector.

· IS-IS — англ. intermediate system to intermediate system (стек OSI);

· OSPF — англ. open shortest path first;

· NLSP — англ. NetWare link-services protocol (стек Novell);

· HSRP — англ. hot standby router/redundancy protocol (протокол резервирования шлюза в сетях Ethernet);

· CARP — англ. common address redundancy protocol (протокол резервирования шлюза в сетях Ethernet);

· OLSR — англ. optimized link-state routing;

· TBRPF — англ. topology dissemination based on reverse-path forwarding.

· EGP — англ. exterior gateway protocol;

· BGP — англ. border gateway protocol;

· IDRP — англ. inter-domain routing protocol;

· IS-IS level 3 — англ. intermediate system to intermediate system level 3.

· RIP — англ. routing information protocol;

· IS-IS level 1-2 — англ. intermediate system to intermediate system level 1‑2;

· OSPF — англ. open shortest path first;

· IGRP — англ. interior gateway routing protocol;

· EIGRP — англ. enhanced interior gateway routing protocol.

Какими параметрами описывается ТСР соединение

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

За счет чего обеспечивается надежность ТРС соединения

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

  • Базовая передача данных
  • Достоверность
  • Управление потоком
  • Разделение каналов
  • Работа с соединениями
  • Приоритет и безопасность

Базовая передача данных

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

Иногда пользователям бывает необходимо убедиться в том, что все данные, переданные ими протоколу TCP, уже отправлены. Для этой цели определена функция проталкивания (PUSH). Чтобы убедиться в том, что данные, отправленные протоколу TCP, действительно переданы, отправитель указывает, что их следует протолкнуть к получателю.

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

Достоверность

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

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

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

Управление потоком

Разделение каналов

Чтобы позволить на отдельно взятом узле многим процессам одновременно использовать коммуникационные возможности уровня TCP, протокол TCP предоставляет на каждом узле набор адресов или портов. Вместе с адресами сетей и узлов на коммуникационном уровне они образуют сокет (socket).

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

Работа с соединениями

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

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

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

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

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 -->

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

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 -->

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

  • Самая длинная маска 32 — это маршрут конкретному хосту, если в таблице маршрутизации есть такой маршрут, то выбирается он.
  • Затем выполняется поиск маршрута подсети с маской максимальной длины.
  • И только после этого используется маршрут по умолчанию, где маска / 0 под которую подходят все ip-адреса.

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

  • Как правило такая таблица содержит описание присоединенной сети, который подключен данный компьютер.
  • Адрес маршрутизатора по умолчанию (шлюз или 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 -->

Маршрутизация — поиск маршрута доставки пакета между сетями через транзитные узлы — маршрутизаторы.

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