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

Обновлено: 21.11.2024

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

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

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

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

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

Для простоты MAC-адреса каждой сетевой карты будут сокращены до четырех шестнадцатеричных цифр.

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

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

Обратите внимание, что на изображении выше маршрутизатор R1 создает границу между сетью 11.11.11.x и сетью 22.22.22.x. И у нас есть R2, создающий границу между сетями 22.22.22.x и 33.33.33.x. Оба маршрутизатора имеют интерфейс в сети 22.22.22.x.

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

Заполнение таблицы маршрутизации

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

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

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

Например, на изображении выше левый интерфейс маршрутизатора R1 настроен на IP-адрес 11.11.11.1. Это сообщает R1, что сеть 11.11.11.x существует вне его левого интерфейса. Таким же образом R1 узнает, что сеть 22.22.22.x расположена на его правом интерфейсе.

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

Другой способ известен как статический маршрут. Статический маршрут — это маршрут, который вручную настраивается администратором. Это было бы так, как если бы вы явно сказали R1, что сеть 33.33.33.x существует за R2, и чтобы добраться до нее, R1 должен отправлять пакеты на интерфейс R2 (настроенный с IP-адресом 22.22.22.2).

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

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

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

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

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

Тем не менее, таблица маршрутизации сообщает маршрутизатору, на какой IP-адрес следует пересылать пакет. Но, как мы узнали ранее, доставка пакетов всегда является работой уровня 2. И для того, чтобы маршрутизатор создал заголовок L2, который доставит пакет на следующий адрес L3, маршрутизатор должен поддерживать таблицу ARP.

Заполнение таблицы ARP

Протокол разрешения адресов (ARP) — это мост между уровнями 3 и 2. При предоставлении IP-адреса ARP разрешает коррелирующий MAC-адрес. Устройства используют ARP для заполнения таблицы ARP или иногда называемой кэшем ARP, которая представляет собой сопоставление IP-адреса с MAC-адресами.

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

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

В отличие от таблицы маршрутизации, таблица ARP заполняется «по мере необходимости». Это означает, что на изображении выше маршрутизатор R1 не будет инициировать запрос ARP для MAC-адреса узла B, пока не получит пакет, который должен быть доставлен узлу B.

Но, как мы обсуждали ранее, таблица ARP — это просто сопоставление IP-адресов с MAC-адресами. Когда таблица ARP маршрутизатора R1 будет полностью заполнена, она будет выглядеть так, как показано на этом рисунке.

Еще раз, для простоты изображения в этой статье просто используют четыре шестнадцатеричных цифры для MAC-адресов. На самом деле MAC-адрес состоит из 12 шестнадцатеричных цифр. Если это проще, вы можете просто повторить четырехзначный шестнадцатеричный MAC-адрес три раза, присвоив левому интерфейсу R2 «настоящий» MAC-адрес bb22.bb22.bb22.

Работа маршрутизатора

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

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

Но сначала мы обсудим, как узел A доставляет пакет на свой шлюз по умолчанию (R1). Затем мы посмотрим, что R1 делает с пакетом, отправленным с узла A на узел B, а затем с другим пакетом, отправленным с узла A на узел C.

Хост A передает пакет маршрутизатору R1

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

Хост A создаст заголовок L3 с IP-адресом источника 11.11.11.77 и IP-адресом назначения 22.22.22.88 (для хоста B) или 33.33.33.99 (для хоста C). Этот заголовок L3 будет служить для получения данных «от начала до конца».

Но этого заголовка L3 будет недостаточно для доставки пакета на R1. Придется использовать что-то еще.

Затем хост A инкапсулирует заголовок L3 в заголовок L2, который будет включать MAC-адрес источника aaaa.aaa.aaaa и MAC-адрес назначения aa11.aa11.aa11 — MAC-адрес, который идентифицирует сетевой адаптер маршрутизатора R1. Этот заголовок L2 будет служить для доставки пакета через первый переход.

У хоста А уже настроен IP-адрес шлюза по умолчанию, и, возможно, хост А уже обменивается данными с внешними хостами. Таким образом, узел A, скорее всего, уже имел запись в таблице ARP с MAC-адресом маршрутизатора R1. И наоборот, если бы это была первая связь узла А с внешним узлом, формированию заголовка L2 предшествовал бы запрос ARP для обнаружения MAC-адреса R1.

В этот момент пакет будет у R1. IP-адрес назначения пакета будет либо 22.22.22.88 для сообщения, отправленного на хост B, либо 33.33.33.99 для сообщения, отправленного на хост C. Оба этих адресата существуют в таблице маршрутизации R1 — разница в том, что один маршрут указывает на интерфейс, а другой маршрут указывает на IP-адрес следующего перехода.

Маршруты, указывающие на интерфейс

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

Процесс аналогичен тому, что обсуждалось ранее. Маршрутизатор использует информацию заголовка L3, чтобы определить, куда отправить пакет дальше, а затем создает заголовок L2, чтобы доставить его туда. В этом случае следующий (и последний) переход, который должен пройти этот пакет, — это NIC на узле B.

Заголовок L3 останется без изменений — он идентичен заголовку L3, созданному узлом А.

Что отличается, так это заголовок L2. Обратите внимание, что MAC-адрес источника — bb11.bb11.bb11 — MAC-адрес правого интерфейса маршрутизатора R1. Старый заголовок L2, созданный узлом A для передачи пакета на R1, был удален, и был сгенерирован новый заголовок L2 (R1) для доставки его следующему сетевому адаптеру.

MAC-адрес назначения, конечно же, bbbb.bbbb.bbbb — MAC-адрес для хоста B.

Маршруты, указывающие на адрес следующего перехода

Для пакета, отправленного с узла A на узел C, IP-адрес назначения будет 33.33.33.99. Когда R1 обращается к своей таблице маршрутизации, он определяет, что следующий переход для сети 33.33.33.x существует по IP-адресу 22.22.22.2 — IP-адрес левого интерфейса R2.

По сути, это указывает маршрутизатору R1 использовать заголовок L2, который передаст пакет маршрутизатору R2, чтобы продолжить пересылку этого пакета по пути.

Поскольку текущий «переход» находится между R1 и R2, их MAC-адреса будут составлять MAC-адреса источника и назначения:

Опять же, заголовок L3 остается неизменным, он включает те же IP-адреса источника и назначения, которые изначально были установлены узлом А — эти адреса представляют два «конца» связи. Однако заголовок L2 полностью обновляется на каждом узле.

Если бы у R1 не было MAC-адреса R2, он просто инициировал бы запрос ARP для IP-адреса в маршруте: 22.22.22.2. С этого момента у него не будет проблем с созданием правильного заголовка L2, который будет передавать пакет от R1 к R2.

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

Этот процесс можно продолжить по мере необходимости. Если бы узел A пытался связаться с узлом X, у которого на пути было 10 маршрутизаторов, процесс был бы идентичным. Каждый транзитный маршрутизатор на пути будет иметь маршрут, сопоставляющий сеть узла X с IP-адресом следующего перехода на пути. До тех пор, пока не появится последний маршрутизатор, который будет напрямую подключен к сети, в которой находится узел X. И этот последний маршрутизатор будет отвечать за доставку пакета на конечный узел — сам узел X.

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

Пересылка пакетов — это основной метод обмена информацией между системами в сети. Пакеты передаются между интерфейсом-источником и интерфейсом-получателем, обычно в двух разных системах. Когда вы вводите команду или отправляете сообщение на нелокальный интерфейс, ваша система пересылает эти пакеты в локальную сеть. Затем интерфейс с IP-адресом назначения, указанным в заголовках пакетов, извлекает пакеты из локальной сети. Если адрес назначения не находится в локальной сети, пакеты затем пересылаются в следующую соседнюю сеть или переход. По умолчанию пересылка пакетов настраивается автоматически при установке ОС Solaris.

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

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

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

В этом разделе содержатся задачи по администрированию пересылки и маршрутизации пакетов на маршрутизаторах и хостах IPv4. Информацию о маршрутизации в сети с поддержкой IPv6 см. в разделе Настройка маршрутизатора IPv6.

Протоколы маршрутизации, поддерживаемые ОС Solaris

Протоколы маршрутизации подразделяются на протоколы внутреннего шлюза (IGP), протоколы внешнего шлюза (EGP) или их комбинацию. Протоколы внутреннего шлюза обмениваются маршрутной информацией между маршрутизаторами в сетях, находящихся под общим административным управлением. В топологии сети, показанной на рис. 5–3, маршрутизаторы запускают протокол IGP для обмена маршрутной информацией. Протоколы внешнего шлюза позволяют маршрутизатору, соединяющему локальную сеть с внешней сетью, обмениваться информацией с другим маршрутизатором во внешней сети. Например, маршрутизатор, соединяющий корпоративную сеть с интернет-провайдером, запускает протокол EGP для обмена информацией о маршрутизации со своим аналогом маршрутизатора у интернет-провайдера. Протокол пограничного шлюза (BGP) — это популярный EGP, который используется для передачи информации о маршрутизации между различными организациями и IGP.

В следующей таблице представлена ​​информация о протоколах маршрутизации Solaris и расположение соответствующей документации по каждому протоколу.

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

Пакеты

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

Маршрутизаторы

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

Путь к маршрутизатору

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

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

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

  • Cisco: основы сетевой безопасности
  • Журнал PC: определение пакета
  • Журнал PC: определение коммутации пакетов
  • Журнал PC: определение потери пакетов
  • Журнал PC: определение маршрутизатора
  • Oracle: пересылка и маршрутизация пакетов в сетях IPv4
  • Cisco: что такое сетевой коммутатор и маршрутизатор?

Дэн Стоун начал профессионально писать в 2006 году, специализируясь на образовании, технологиях и музыке. Он веб-разработчик в коммуникационной компании, ранее работал на телевидении. Стоун получил степень бакалавра журналистики и магистра коммуникативных исследований в Университете Северного Иллинойса.

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

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

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

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

определяет содержимое таблиц переадресации маршрутизатора

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

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

явно разделяет плоскость данных и плоскость управления, реализуя эти функции плоскости управления как отдельную службу, обычно на удаленном «контроллере»

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

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

услуги могут включать:
1. гарантированная доставка

<р>2. гарантированная доставка с ограниченной задержкой = гарантированная доставка в пределах указанной задержки между хостами (в пределах 100 мс)

<р>3. доставка пакетов по порядку

<р>4. гарантированная минимальная пропускная способность = служба эмулирует поведение канала передачи с заданной скоростью передачи данных между отправляющим и принимающим хостами — пока хост-отправитель передает биты со скоростью ниже указанной скорости, все пакеты в конечном итоге доставляются хосту-получателю< /p> <р>5. безопасность = шифровать дейтаграммы и источник и расшифровывать их в месте назначения

с BES не гарантируется получение пакетов в том порядке, в котором они были отправлены, и даже не гарантируется их возможная доставка; не гарантируется ни сквозная задержка, ни минимальная пропускная способность

пересылка и маршрутизация?

принимают решение о пересылке на основе значений в полях фрейма канального уровня

таким образом, маршрутизаторы являются устройствами сетевого уровня

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

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

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

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

аппаратная логика просто просматривает таблицу переадресации в поисках самого длинного совпадения префикса

должно выполняться в наносекундах

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

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

Тернарная адресуемая память (TCAM) также часто используется для поиска

в память передается 32-битный IP-адрес, который возвращает содержимое записи таблицы переадресации для этого адреса практически за постоянное время

<р>1. обработка физического и канального уровня
2. номер версии пакета, контрольная сумма и время обработки поля в реальном времени
3. счетчики, используемые для управления сетью (например, количество полученных IP-датаграмм), должны быть обновлены

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

поддерживает таблицы маршрутизации и прикрепленную информацию о состоянии ссылок

вычисляет таблицу переадресации для маршрутизатора

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

самое сердце роутера

полностью содержится в маршрутизаторе — сеть внутри сетевого маршрутизатора

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

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

порты ввода-вывода функционируют как традиционные устройства ввода-вывода в традиционной ОС

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

затем пакет был скопирован из входного порта в память обработки

процессор извлечет файл dest. адрес из заголовка, найдите соответствующий выходной порт в таблице переадресации и скопируйте пакет в буфер выходного порта

пропускная способность памяти такова, что макс. B пакетов в секунду может быть записано в память или прочитано из памяти — общая пропускная способность пересылки (скорость, с которой пакеты передаются от входных портов к выходным портам) должна быть меньше B/2

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

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

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

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

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

b/c каждый пакет должен проходить по одной шине, скорость коммутации маршрутизатора ограничена скоростью шины (одна машина на кольцевой развязке за раз)

кроссбарный коммутатор — это сеть межсоединений, состоящая из 2N шин, которые соединяют N входных портов с N выходными портами

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

когда пакет поступает из порта A и его необходимо перенаправить на порт Y, контроллер коммутатора закрывает точку пересечения на пересечении шин A и Y, а порт A затем отправляет пакет на свою шину, которая принимается только автобус У.

другие пакеты могут пересылаться по другим линиям

Кроссбарные коммутаторы способны пересылать несколько пакетов параллельно

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

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

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

очереди пакетов могут формироваться как на входных, так и на выходных портах

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

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

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

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

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

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

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

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

на практике оператор сети может настроить очередь таким образом, чтобы пакеты, несущие информацию об управлении сетью (на что указывает номер порта источника или получателя), получали приоритет над пользовательским трафиком; пакеты передачи голоса по IP в реальном времени могут иметь приоритет над нереальным трафиком, таким как пакеты электронной почты SMTP и IMAP

каждый класс приоритета обычно имеет свою очередь

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

вместо строгого приоритета обслуживания между классами циклический планировщик чередует обслуживание между классами

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

обслуживает классы по кругу (1, затем 2, затем 1 и т. д.)

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

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

т.е. дейтаграммы в реальном времени (IP-телефония) из трафика не в реальном времени (FTP)

6 = передается по протоколу TCP

17 = передается по протоколу UDP

роль номера протокола в дейтаграмме IP аналогична роли поля номера порта в сегменте транспортного уровня

маршрутизаторы обычно отбрасывают дейтаграммы, в которых обнаружена ошибка

<р>2. TCP/UDP и IP не обязательно должны принадлежать к одному и тому же стеку протоколов

предназначен для редкого использования — отсюда и решение сэкономить накладные расходы, не включая информацию в поля опций в каждом заголовке дейтаграммы

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

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

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

поскольку каждый IP DG инкапсулируется в кадр канального уровня для передачи от одного маршрутизатора к другому, MTU протокола канального уровня накладывает жесткое ограничение на длину IP-датаграммы

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

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

Чтобы узел назначения мог выполнять эти задачи повторной сборки, разработчики протокола IP (версия 4) поместили поля идентификации, флага и смещения фрагментации в заголовок дейтаграммы IP. При создании дейтаграммы хост-отправитель помечает дейтаграмму идентификационным номером, а также адресами источника и получателя.

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

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

b/c IP является ненадежным сервисом, один или несколько фрагментов могут никогда не прибыть к месту назначения — для того, чтобы узел назначения был абсолютно уверен, что он получил последний фрагмент исходного DG, последний фрагмент бит флага установлен на 0, тогда как для всех остальных фрагментов этот бит флага установлен на 1

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