Что такое широковещательная передача сообщений
Перейти к содержимому

Что такое широковещательная передача сообщений

  • автор:

34. Одноадресная, широковещательная и многоадресная рассылка iPv4

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

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

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

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

В IPv4-сети узлы могут взаимодействовать одним из трёх следующих способов.

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

1.4.4 Широковещательная рассылка сообщений.

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

В сообщении может быть только один MAC-адрес получателя. Для того, чтобы один узел связался со всеми узлами локальной сети, на уникальный MAC-адрес, который опознает все узлы, отправляются широковещательные рассылки. В действительности широковещательный MAC-адрес (аппаратный адрес, зарезервированный для кадров, которые адресованы всем хостам в локальном сетевом сегменте) – представляет собой 48-битный адрес, в который входят все остальные адреса. Из-за своей длины MAC-адрес обычно представляется в шестнадцатеричном формате. Шестнадцатеричный MAC-адрес широковещательной рассылки выглядит как FFFF.FFFF.FFFF. Каждое F соответствует четырем другим знакам двоичного адреса.

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

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

Рисунок 21. Деление сети на подсети.

1.4.5 Address Resolution Protocol (ARP)

С помощью IP-протокола, который называется ARP можно определить MAC-адрес любого узла из той же локальной сети в три этапа:

  1. Отправляющий узел создает и отправляет кадр по MAC-адресу широковещательной рассылки. В кадре находится сообщение с IP-адресом узла назначения.
  2. Каждый сетевой узел получает этот кадр и сравнивает IP-адрес из сообщения со своим. Узел с соответствующим IP-адресом посылает отправителю свой MAC-адрес.
  3. Отправитель получает сообщение и сохраняет MAC-адрес и IP-адрес в таблице ARP.

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

1.5.1 Уровень распределения

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

  • физическое местоположение;
  • логическая функция;
  • требования безопасности;
  • требования приложения.

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

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

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

Рисунок 22. Ограничение широковещательной рассылки.

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

Рисунок 23. Территориальное распределение сетевых узлов.

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

Рисунок 24. Логические группы.

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

Broadcast (Широковещание)

Из-за того, что тип передачи broadcast используется для отправки пакетов ко всем хостам в сети, пакеты использую специальный broadcast IP адрес. Когда хост получает пакет, в заголовке которого в качестве адреса получателя указан broadcast адрес, он обрабатывает пакет так, как будто это unicast пакет.

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

Примеры, когда используется broadcast передача данных:

  • создание карты принадлежности адресов верхнего уровня к нижним (например, какой IP адрес на конкретном устройстве со своим MAC адресом)
  • запрос адреса (в качестве примера можно взять протокол ARP)
  • протоколы маршрутизации обмениваются информацией о маршрутах (RIP, EIGRP, OSPF)

Направленный broadcast (направленное широковещание)

Направленный broadcast отправляется всем хостам какой-то конкретной сети. Этот тип широковещания удобно использовать для отправки broadcast трафика всем хостам за пределами локальной сети. Например, хост хочет отправить пакет всем хостам в сети 172.16.5.0/24, но сам хост находится в другой сети. В данном случае хост-отправитель вложит в заголовок пакета в качестве адреса пункта назначения broadcast адрес 172.16.5.255. Хотя маршрутизаторы должны ограничивать (не передавать) направленный широковещательный трафик, их можно настроить на разрешение передачи broadcast трафика.

Ограниченный broadcast (ограниченное широковещание)

Ограниченный broadcast используется для передачи данных всем хостам в локальной сети. В такие пакеты в качестве пункта назначения вставляется IP адрес 255.255.255.255. Маршрутизаторы такой широковещательный трафик не передают. Пакеты, переданные ограниченным broadcast будут распространяться только в локальной сети. По этой причине локальные сети IP также называют широковещательным доменом (broadcast domain). Маршрутизаторы образуют границу для широковещательного домена. Без границы пакеты бы распространялись по всей сети, каждому хосту, уменьшая быстродействие сетевых устройств и забивая пропускную способность каналов связи. Приведем пример ограниченного broadcast: хост находится внутри сети 172.16.5.0/24 и хочет передать пакет всем хостам в его сети. Используя в качестве пункта назначения IP адрес 255.255.255.255, он отправляет широковещательный пакет. Этот пакет примут и обработают все хосты только в этой локальной сети (172.16.5.0/24). 2.Маршрутизация дейтаграмм Процесс маршрутизации дейтаграмм состоит в определении сле­дующего узла (nexthop) в пути следования дейтаграммы и пересылки дейтаграммы этому узлу, который является либо узлом назначения, либо промежуточным маршрутизатором, задача которого— опреде­лить следующий узел и переслать ему дейтаграмму. Ни узел-отправитель, ни любой промежуточный маршрутизатор не имеют ин­формации о всей цепочке, по которой пересылается дейтаграмма; ка­ждый маршрутизатор, а также узел-отправитель, основываясь на ад­ресе назначения дейтаграммы, находят только следующий узел ее маршрута. Маршрутизация дейтаграмм осуществляется на уровне протокола IP. Она выполняется на основе данных, содержащихся в таблице маршрутов. Строка в таблице маршрутов состоит из следующих по­лей: • адрес сети назначения; • адрес следующего маршрутизатора (т. е. узла, который знает, куда дальше отправить дейтаграмму, адресованную в сеть назначе­ния); • вспомогательные поля. Таблица может составляться вручную или с помощью специали­зированных протоколов. Каждый узел сети, в том числе и хост, имеет таблицу маршрутов, хотя бы самую простую. Пример маршрутизации

  • Допустим (рис. 3.1), хосты А и В находятся в сети 1, которая со­единяется с сетью 2 с помощью маршрутизатора G1. К сети 2 подключен маршрутизатор G2, соединяющий ее с сетью 3, в которой находится хост С.

Рис.3.1 – Пример маршрутизируемой сети Таблица маршрутов хоста А выглядит, например, так: Сеть 1 А Прочие сети G1 Это означает, что дейтаграммы, адресованные узлам сети 1, отправляет сам хост А (так как это его локальная сеть), а дейтаграммы, адресованные в любую другую сеть (это называется маршрут по умолчанию), хост А отправляет маршрутизатору G1, чтобы тот занялся их дальнейшей судьбой. Предположим, хост А посылает дейтаграмму хосту В. В этом случае, поскольку адрес В принадлежит той же сети, что и А, из таблицы маршрутов хоста А определяется, что доставка осуществляется непосредственно самим хостом А. Если хост А отправляет дейтаграмму хосту С, то он определяет то IP-адресу С, что хост С не принадлежит к сети 1. Согласно таблице маршрутов А, все дейтаграммы с пунктами назначения, не принадле­жащими сети 1, отправляются на маршрутизатор G1 (это называется маршрут по умолчанию). При этом хост А не знает, что маршрутизатор G1 будет делать с его дейтаграммой и каков будет ее дальнейший маршрут — это забота исключительно G1. G1 в свою очередь по своей габлице маршрутов определяет, что все дейтаграммы, адресованные в сеть 3, должны быть пересланы на маршрутизатор G2. Это может быть как явно указано в таблице, находящейся на G1, в виде Сеть 3 G2, так и в виде маршрута по умолчанию. На этом функции G1 заканчиваются, дальнейший пучь дейта­граммы ему неизвестен и его не интересует. Маршрутизатор G2, по­лучив дейтаграмму, определяет, что она адресована в одну из сетей (№3), к которым он присоединен непосредствен но, и доставляет дей­таграмму на хост С. Рассмотрим реальный пример подключения к Интернету локаль­ной сети организации (рис. 3.2), IP-адрес локальной сети -194.84.124.0/24 (сеть класса С). В эту сеть включен маршрутизатор G1. IP-интерфейс этого маршрутизатора, подключенный к локальной сети Ethernet, имеет адрес 194.84.124.1. Второй IP-интерфейс мар­шрутизатора подключен к выделенной линии (синхронный последо­вательный канал), ведущей к провайдеру Интернета. К другому концу этой линии подключен IP-интерфейс маршрутизатора G2, принадле­жащего провайдеру. Эти два интерфейса образуют отдельную сеть 194.84.0.116/30. В этой сети на номер интерфейса отведено всего 2 бита — четыре варианта адресов, из которых один (00) обозначает саму сеть, один (11) — широковещательный; таким образом, в подоб­ной сети могут находиться всего два узла — это минимально возмож­ная сеть. Интерфейс маршрутизатора G1 в сети 194.84.0.116/30 имеет адрес 194.84.0.117, а маршрутизатора G2— 194.84.0.118. Маршрути­затор G2 имеет еще некоторое количество интерфейсов, к части кото­рых подключены выделенные линии от других клиентов, к части — локальные сети коммуникационного центра, другие маршрутизаторы и магистральные линии дальней связи. Провайдер Организация G1 G2 A B Интернет 12 4 1 117 118 194.84.124.0/24 194.84.0.116/30 Выделенная линия Линия дальней связи Подключения других организация Рис.3.2 – Пример подключения организации к сети Интернет С точки зрения топологии соединения G2 является собственно маршрутизатором (router), так как он перенаправляет потоки дейтаграмм между своими многочисленными IP-интерфейсами, в то время как G1 является шлюзом(gateway) — интерфейсом между двумя разнородными средами передачи данных (локальной сетью Ethernet и выделенной линией). Все дейтаграммы, идущие вовне локальной сети, он безусловно транслирует на G2, и только G2 приступает именно к маршрутизации. Однако, с точки зрения общего подхода к задаче маршрутизации как определения следующего маршрутизатора в пути дейтаграммы на основе записей в таблице маршрутов, функции G1 и G2 не различаются, различается только сложность их маршрутных таблиц. Поэтому мы будем считать терми-ны «маршрутизатор» («router») и «шлюз» («gateway») синонимами и использовать термин «шлюз», говоря о маршрутизаторе, расположенном между локальной сетью конечного пользователя (например, сетью предприятия) и «внешним миром». Рассмотрим примеры маршрутных таблиц, с которыми имеет де­ло администратор локальной сети 194.84.124.0/24. Таблица маршрутов рядового хоста с адресом 194.84.124.4 (хост В на рис. 3.2). Значения флагов: U (Up) — маршрут работает; H(Host) — пунктом назначения является отдельный узел (хост), а не сеть; G (Gateway) -маршрут к сети назначения проходит через один или несколько про­межуточных маршрутизаторов. Интерфейс 1е0 обозначает Ethernet, 1оО-интерфейс обратной связи (loopback).

Destination Gateway Flags Interface
127.0.0.1 127.0.0.1 UH lo0
194.84.124.0 194.84.124.4 U le0
0.0.0.0 194.84.124.1 UG

Значение первой записи очевидно, вторая определяет, что дейта­граммы, адресованные в локальную сеть, хост отправляет самостоя­тельно через свой интерфейс 1е0. Третья запись (маршрут по умолча­нию) устанавливает, что все остальные дейтаграммы передаются на адрес 194,84.124.1, который является адресом следующего маршрути­затора (флаг G), для дальнейшей пересылки. Чтобы определить спо­соб достижения самого маршрутизатора, следует, очевидно, обратиться ко второй строке таблицы, так как адрес маршрутизатора при­надлежит сети 194.84.124.0. Заметим, что в этой таблице для простоты опущены маски сетей. Таблица маршрутов маршрутизатора, соединяющего локальную сеть с провайдером Интернета по выделенному каналу (G1 на рис. 2.3):

Destination Mask Gateway Interface
194.84.124.0 255.2S5.255.0 194.84.124.1 le0
194.84.0.116 255.255.255.252 194.84.0.117 sc0
0.0.0.0 0.0.0.0 194.84.0.118

В таблице явно показаны маски сетей. Первые две записи говорят о том, что маршрутизатор самостоя­тельно, через свои соответствующие IP-интерфейсы отправляет дей­таграммы, адресованные в сети, к которым он подключен непосредст­венно. Все остальные дейтаграммы перенаправляются к G2 (194.84.0.118). Интерфейс se0 обозначает последовательный (serial) канал — выделенную линию. 3. Статическая и динамичекая маршрутизация Таблица маршрутов может заполняться различными способами. Статическая маршрутизация применяется в том случае, когда исполь­зуемые маршруты не могут измениться в течение времени, например, для выше рассмотренных хоста и маршрутизатора, где просто отсут­ствуют какие-либо альтернативные маршруты. Статические маршру­ты конфигурируются администратором сети или конкретного узла. Для рядового хоста для приведенного выше примера достаточно указать только адрес шлюза (следующего маршрутизатора в маршру­те по умолчанию), остальные записи в таблице очевидны, и хост, зная свой собственный IP-адрес и сетевую маску, может внести их само­стоятельно. Адрес шлюза может быть как указан вручную, так и по­лучен автоматически при конфигурировании стека ТСР/IР через DHCP-сервер. В случае объединения сетей со сложной топологией, когда суще­ствует несколько вариантов маршрутов от одного узла к другому и (или) когда состояние сетей (топология, качество каналов связи) из­меняется с течением времени, таблицы маршрутов составляются ди­намически с помощью различных протоколов маршрутизации. Подчеркнем, что протоколы маршрутизации не осуществляют собственно маршрутизацию дейтаграмм — она в любом случае производится мо­дулем IP согласно записям в таблице маршрутов, как говорилось вы­ше. Протоколы маршрутизации на основании тех или иных алгорит­мов динамически редактируют таблицу маршрутов, т. е. вносят и удаляют записи, при этом часть записей может по-прежнему статиче­ски вноситься администратором. В зависимости от алгоритма работы различают дистанционно-векторные протоколы (distance vector protocols) и протоколы состоя­ния связей (link state protocols). По области применения существует разделение на протоколы внешней (exterior) и внутренней (interior) маршрутизации. Дистанционно-векторные протоколы реализуют алгоритм Беллмана-Форда (Bellman-Ford). Общая схема их работы такова: каждый маршрутизатор периодически широковещательно рассылает инфор­мацию о расстоянии от себя до всех известных ему сетей («вектор расстояний»). В начальный момент времени, разумеется, рассылается информация только о тех сетях, к которым маршрутизатор подключен непосредственно. Также каждый маршрутизатор, получив от кого-либо вектор рас­стояний, в соответствии с полученной информацией корректирует уже имеющиеся у него данные о достижимости сетей или добавляет новые, указывая маршрутизатор, от которого получен вектор, в качестве следующего маршрутизатора на пути в данные сети. Через не­которое время алгоритм сходится и все маршрутизаторы имеют ин­формацию о маршрутах до всех сетей. Дистанционно-векторные протоколы хорошо работают только в небольших сетях. Развитием технологии векторов расстояний явля­ются «векторы путей», применяющиеся в протоколе BGP. При работе протоколов состояния связей каждый маршрутизатор контролирует состояние своих связей с соседями и при изменении со­стояния (например, при обрыве связи) рассылает широковещательное сообщение, после получения которого все остальные маршрутизато­ры корректируют свои базы данных и пересчитывают маршруты. В отличие от дистанционно-векторных протоколов протоколы со­стояния связей создают на каждом маршрутизаторе базу данных, опи­сывающую полный граф сети и позволяющую локально и, следова­тельно, быстро производить расчет маршрутов. Распространенный протокол такого типа — OSPF — базируется на алгоритме SPF (Shortest Path First) поиска кратчайшего пути в графе, предложенном Дейкстрой (E.W.Dijkstra). Протоколы состояния связей существенно сложнее дистанционно-векторных, но обеспечивают более быстрое, оптимальное и кор­ректное вычисление маршрутов. Протоколы внутренней маршрутиза­ции (например, RIP, OSPF; собирательное название IGP — Interior Gateway Protocols) применяются на маршрутизаторах, действующих внутри автономных систем. Автономная система — это наиболее крупное деление Интернета, представляющее собой объединение се­тей с одинаковой маршрутизационной политикой и общей админист­рацией, например, совокупность сетей компании Глобал Один и ее клиентов в России. Область действия того или иного протокола внутренней маршру­тизации может охватывать не всю автономную систему, а только не­которое объединение сетей, являющееся ее частью. Такое объедине­ние мы будем называть системой сетей, или просто системой, иногда с указанием протокола маршрутизации, действующего в этой системе, например: RIP- система, OSPF-система. Маршрутизация между автономными системами осуществляется пограничными (border) маршрутизаторами, таблицы маршрутов кото­рых составляются с помощью протоколов внешней маршрутизации (собирательное название EGP — Exterior Gateway Protocols). Особен­ность последних состоит в том, что при расчете маршрутов они должны учитывать не только топологию графа сети, но и политиче­ские ограничения, вводимые администрацией автономных систем на маршрутизацию через свои сети трафика других автономных систем. В настоящее время наиболее распространенным протоколом внешней маршрутизации является BGP. 4. Фрагментация дейтаграмм Различные среды передачи имеют различный максимальный размер передаваемого блока данных (MTU — Media Transmission Unit), это число зависит от скоростных характеристик среды и вероятности возникновения ошибки при передаче. Например, размер MTU в 10 Мбит/с Ethernet равен 1536 октетам, в 100 Мбит/с FDDI — 4096 октетам. При передаче дейтаграммы из среды с большим MTU в среду с меньшим MTU может возникнуть необходимость во фрагментации дейтаграммы. Фрагментация и сборка дейтаграмм осуществляются модулем протокола IP. Для этого применяются поля «ID» (Identification), «Flags» и «Fragment Offset» заголовка дейтаграммы. Flags — ноле состоит из 3 бит, младший из которых всегда сбро­шен:

Значения бита DF (Don’t Fragment): 0 — фрагментация разрешена, 1 — фрагментация запрещена (если дейтаграмму нельзя передать без фрагментации, она уничтожается). Значения бита MF (More Fragments): 0 — данный фрагмент по­следний (единственный), 1-данный фрагмент не последний. ID (Identification) — идентификатор дейтаграммы — устанавлива­ется отправителем; используется для сборки дейтаграммы из фрагментов для определения принадлежности фрагментов одной дейта­грамме. Fragment Offset — смещение фрагмента. ‘Значение поля указыва­ет, на какой позиции в поле данных исходной дейтаграммы находится данный фрагмент. Смещение считается 64-битовыми порциями, т.е. минимальный размер фрагмента равен 8 октетам, а следующий фраг­мент в этом случае будет иметь смещение 1. Первый фрагмент имеет смешение нуль. Рассмотрим процесс фрагментации на примере. Допустим, дейта­грамма размером 4020 октетов (из них 20 октетов заголовка) перела­ется из среды FDDI (MTU=4096) в среду Ethernet (MTU=1536). На границе сред производится фрагментация дейтаграммы. Заголовки в данной дейтаграмме и во всех ее фрагментах одинаковой длины — 20 октетов. Исходная дейтаграмма: заголовок: ID-Х, Total Length-4020, DF-0, MF-0, FOffset-0 данные (4000 октетов): «А. А» (1472 октета), «В. В» (1472 октета), «С. С»(1056 октетов) Фрагмент 1 заголовок: Total Length=1492, DF=0, MF=1, FOffset=0 данные: «А. А» (1472 октета) Фрагмент 2 заголовок: Total Lenglh=1492, DF=0, MF=1, FOffsct=184 данные: «B. B» (1472 октета) Фрагмент 3 заголовок: Total Length=1076, DF=0, MF=0, FOffscl=368 данные: «С. С» (1056 октетов) Фрагментация может быть рекурсивной, т.е., например, фрагмен­ты 1 и 2 могут быть еще раз фрагментированы; при этом смещение (Fragment Offset) считается от начала исходной дейтаграммы. Максимальное число фрагментов равно 2 13 -8192 при минималь­ном (8 октетов) размере каждого фрагмента. При большем размере фрагмента максимальное число фрагментов соответственно уменьша­ется. При фрагментации некоторые опции копируются в заголовок фрагмента, некоторые нет. Все остальные поля заголовка дейтаграм­мы в заголовке фрагмента присутствуют. Следующие поля заголовка могут менять свое значение по сравнению с первоначальной дейта­граммой: поле опций, флаг «MF», «Fragment Offset», «Total Length» «IHL», контрольная сумма. Остальные поля копируются во фрагмен­ты без изменений. Каждый модуль IP должен быть способен передать дейтаграммы из 68 октетов без фрагментации (максимальный размер заголовка 60 октетов [IHL=15] + минимальный фрагмент 8 октетов). Сборка фрагментов осуществляется только в узле назначения дейтаграммы, поскольку разные фрагменты могут следовать в пункт назначения по разным маршрутам. Если фрагменты задерживаются или утрачены при передаче, то у остальных фрагментов, уже полу­ченных в точке сборки, TTL уменьшается на единицу в секунду до тех пор, пока не прибудут недостающие фрагменты. Если TTL стано­вится равным кулю, то все фрагменты уничтожаются и ресурсы, за­действованные на сборку дейтаграммы, высвобождаются. Максимальное количество идентификаторов дейтаграмм — 65536. Если использованы все идентификаторы, нужно ждать до истечения TTL, чтобы можно было вновь использовать тот же самый ID, по­скольку за TTL секунд «старая» дейтаграмма будет либо доставлена и собрана, либо уничтожена. Передача дейтаграмм с фрагментацией имеет определенные не­достатки. Например, как следует из предыдущего абзаца, максимальная скорость такой передачи равна 65536/TTL дейтаграмм в секунлу. Если учесть, что рекомендованная величина TTL равна 120, получаем максимальную скорость в 546 дейтаграмм в секунду. В среде FDDI MTU равен примерно 4100 октетам, откуда получаем максимальную скорость передачи данных н среде FDDI не более 18 Мбит/с, что существенно ниже возможностей этой среды. Другим недостатком фрагментации является низкая эффективность: при по­тере одного фрагмента заново передается вся дейтаграмма; при од­новременном ожидании отставших фрагментов нескольких дейтаграмм создается ощутимый дефицит ресурсов и замедляется работа узла сети. Способом обойти процесс фрагментации является применение алгоритма «Path MTU Discovery» («Выявление MTU на пути следова­нии»), который поддерживается протоколом TCP. Задачей алгоритма является обнаружение минимального MTU на всем пути от отправи­теля к месту назначения. Для этого посылаются дейтаграммы с уста­новленным битом DF («фрагментация запрещена»). Если они не доходят до места назначения, размер дейтаграммы уменьшается, и так происходит до тех пор, пока передача не будет успешной. После этого при передаче полезных данных создаются дейтаграммы с размером, соответствующим обнаруженному минимальному MTU. 5.Протокол ICMP Протокол ICMP (Internet Control Message Protocol – протокол управляющих сообщений Интернета) — неотъемлемая часть IP-модуля. Он обеспечивает обратную связь в виде диагностических сообщений, посылаемых отправителю при невозможности доставки его дейтаграммы и в других случаях. ICMP стандартизован в RFC-792, дополнения — в RCF-950,1256. ICMP-сообщения не порождаются при невозможности доставки: • дейтаграмм, содержащих ICMP-сообщения; • не первых фрагментов дейтаграмм, • дейтаграмм, направленных по групповому адресу (широкове­щание, мультикастинг); • дейтаграмм, адрес отправителя которых нулевой или групповой. Все ICMP-сообщения имеют IP-заголовок, значение поля «Protocol» равно единице. Данные дейтаграммы с ICMP-сообщением не передаются вверх по стеку протоколов для обработки, а обрабаты­ваются IP-модулем. После IP-заголовка следует 32-битное слово с полями «Тип», «Код» и «Контрольная сумма». Поля типа и кода определяют содер­жание ICMP-сообщения. Формат остальной части дейтаграммы зави­сит от вида сообщения. Контрольная сумма считается так же, как и в IР-заголовке, но в этом случае суммируется содержимое ICMP-сообщения. включая поля «Тип» и «Код»:

0 7 15 31
Тип Код Контрольная сумма

Виды ICMP-сообщений:

Тип Код Сообщение
0 0 Echo Reply (эхо-ответ)
3 Destination Unreachable (адресат недостижим (по различным причинам):
0 Net Unreachable (сеть недоступна)
1 Host Unreachable (хост недоступен)
2 Protocol Unreachable (протокол недоступен)
3 Port Unreachable (порт недоступен)
4 DF=1 (необходима фрагментация, но она запрещена)
5 Source Route failed (невозможно выполнить опцию , Source Route)
4 0 Source Quench (замедление источника)
5 Redirect (выбрать другой маршрутизатор для посылки дейтаграмм)
0 в данную есть
1 на данный хост
2 в данную сеть с данным TOS
3 на данный хост с данным ТOS
8 0 Echo Request (Эxo-зanpoc)
9 0 Router Advertisement (объявление маршрутизатора)
10 0 | Router Solicitation (запрос объявления маршрутизатора
0 при передаче
1 при сборке
12 Parameter problem (ошибка в параметрах)
0 Ошибка в IP-заголовке
1 Отсутствует необходимая опция
13 0 Timestamp (запрос временной метки)
14 0 Timestamp Reply (ответ на запрос временной метки)
17 0 Address Mask Request (запрос сетевой маски)
18 0 Address Mask Reply (ответ на запрос сетевой маски)

Ниже рассмотрены форматы ICMP-сообщений и даны коммента­рии к некоторым сообщениям. Типы 3,4, 11, 12

0 7 15 31
Тип Код Контрольная сумма
хххххххххххх Не используется
IP-заголовок + 64 бита оригинальной дейтаграммы

В сообщении типа 12 в поде “хххххххххх” (1 октет) заносится номер октета заголовка, в котором обнаружена ошибка; в сообщениях типов 3,4, 11 не используется. Все неиспользуемые поля заполняются нулями. Сообщения типа 4 (“Замедление источника”) генерируются в случае переполнения (или опасности переполнения) буферов обра­ботки дейтаграмм адресата или промежуточного узла на маршруте. При получении такого сообщения отправитель должен уменьшить скорость или приостановить отправку дейтаграмм до тех пор. пока не перестанет получать сообщения этого типа. IP-заголовок и начальные слова оригинальной дейтаграммы при­водятся для опознания ее отправителем и, возможно, анализа причи­ны сбоя. Тип 5

0 7 15 31
Тип Код Контрольная сумма
Адрес маршрутизатора
IP-заголовок 64 бита оригинальной дейтаграммы

Сообщения типа 5 направляются маршрутизатором отправителю дейтаграммы в случае, когда маршрутизатор считает, что дейтаграм­мы в данное место назначения следует направлять через другой мар­шрутизатор. Адрес нового маршрут изатора приведен во втором слове сообщения. Понятие “место назначения» конкретизируется значением поля “Код”. Информация о том, куда была на­правлена дейтаграмма, породившая ICMP-сообщения, извлекается из ее заголовка, присоединенного к сообщению. Отсутствие передачи сетевой маски ограничивает область применения сообщений типа 5. Сообщения типов 0 и 8 используются для тестирования связи по протоколу IP между двумя узлами сети. Тестирующий узел генериру­ет сообщения типа 8 (“Эхо-запрос»); при этом “Идентификатор” оп­ределяет данный сеанс тестирования (номер последовательности от­правляемых сообщений), поле “Номер по порядку” содержит номер данного сообщения внутри последовательности. В поле данных со­держатся произвольные данные, размер этого поля определяется об­щей длиной дейтаграммы, указанной в поле “Total length” IP- заголовка. Типы 0,8

0 7 15 31
Тип Код Контрольная сумма
Идентификатор Номер по порядку
Данные .

IP-модуль, получивший эхо-запрос, отправляет эхо-ответ. Для этого он меняет местами адреса отправителя и получателя, изменяет тип ICMP-сообщения на 0 и пересчитывает контрольную сумму. Тестирующий узел гго самому факту получения эхо-ответов, вре­мени оборота дейтаграмм, проценту потерь и последовательности прибытия ответов может сделать выводы о наличии и качестве связи с тестируемым узлом. На основе посылки и приема эхо-сообщений ра­ботает программа ping. Тип 9

0 7 15 31
Тип Код Контрольная сумма
NumAddr AddrEnirySize Время жизни
Адрес маршру газатора (1)
Приоритет(1)
Адрес маршрутизатора (2)
Приоритет (1)

Сообщения типа 9 (объявление маршрутизатора) периодически рассылаются маршрутизаторами хостам сети для того, чтобы хосты могли автоматически сконфигурировать свои маршрутные таблицы. Обычно такие сообщения рассылаются по мультикастинговому адре­су 224.0.0.1 (“всем хостам”) или по широковещательному. Сообщение содержит адреса одного или нескольких маршрутиза­торов, снабженных значениями приоритета для каждого маршрутиза­тора. Приоритет является числом со знаком, записанным в дополни­тельном коде; чем больше число, тем выше приоритет. Поле “NumAddr” содержит количество адресов маршрутизаторов в данном сообщении; значение поля “AddrEntrySize” равно двум (размер поля, отведенного на информацию об одном маршрутизаторе, в 32-битных словах). ‘Время жизни” определяет срок годности ин­формации, содержащейся в данном сообщении, в секундах. Тип 10 Сообщения типа 10 (запрос объявления маршрутизатора) состоит из двух 32-битных слов, первое из которых содержит поля “Тип”, “Код” и “Контрольная сумма”, а второе зарезервировано (заполняется нулями) Типы 17 и 18

0 7 15 31
Тип Код Контрольная сумма
Идентификатор Номер по порядку
Сетевая маска

Сообщения типов 17 и 18 (запрос и ответ на запрос значения мас­ки сети) используются в случае, когда хост желает узнать маску сети, в которой он находится. Для этого в адрес маршрутизатора (или широковещательно, если адрес маршрутизатора неизвестен) отправляет­ся запрос. Маршрутизатор отправляет в ответ сообщение с записан­ным в нем значением маски тон сети, из которой пришел запрос. В том случае, когда отправитель запроса еще не знает своего IP-адреса, ответ отправляется широковещательно. Поля “Идентификатор” и “Номер по порядку” могут использо­ваться для контроля соответствий запросов и ответов, но в большин­стве случаев игнорируются. 6. Протокол ARP Протокол ARP (Address Resolution Protocol — протокол распозна­вания адреса) предназначен для преобразования IP-адресов в МАС-адреса, часто называемые также физическими адресами. MAC рас­шифровывается как Media Access Control, контроль доступа к среде передачи. МАС-адреса идентифицируют устройства, подключенные к физическому каналу, пример МАС-адреса — адрес Ethernet. Для передачи IP-дейтаграммы по физическому каналу (будем рассматривать Ethernet) требуется инкапсулировать ее в кадр Ethernet и в заголовке кадра указать адрес Ethernet-карты, на которую будет доставлена эта дейтаграмма для ее последующей обработки выше­стоящим по стеку протоколом IP. IP-адрес, включенный в заголовок дейтаграммы, адресует IP-интерфейс какого-либо узла сети и не со­держит в себе никаких указаний ни на физическую среду передачи, к которой подключен этот интерфейс, ни тем более на физический ад­рес устройства (если таковой имеется), с помощью которого этот ин­терфейс сообщается со средой. Поиск по данному IP-адресу соответствующего Ethernet-адреса производится протоколом ARP, функционирующим на уровне досту­па к среде передачи. Протокол поддерживает в оперативной памяти динамическую агр-таблнцу в целях кэширования полученной инфор­мации. Порядок функционирования протокола следующий. С межсетевого уровня поступает IP-дейтаграмма для передачи в физический канал (Ethernet); вместе с дейтаграммой передается, среди прочих параметров, IP-адрес узла назначения. Если в arp-таблице не содержится записи об Elhernet-адресе, соответствующем нужному IP-адресу, модуль агр ставит дейтаграмму в очередь и формирует широ­ковещательный запрос. Запрос получают все узлы, подключенные к данной сети; узел, опознавший свой IP-адрес, отправляет arp –ответ (arp-response) со значением своего адреса Ethernet. Полученные дан­ные заносятся в таблицу, ждущая дейтаграмма извлекается из очереди и передается на инкапсуляцию в кадр Ethernet для последующей от­правки по физическому каналу. ARP-запрос или ответ включается в кадр Ethernet непосредственно после заголовка кадра. Форматы запроса и ответа одинаковы и различаются только ко­дом операции (Operation code, 1 и 2 соответственно).

0 7 15
Hardware type (Ethernet = 1 )
Protocol type (IP — 2048)
H-len (= 6 для Ethernet) Р-1еn( = 4 для IР)
Operation Code
Source hardware address (H-len октетов)
Source protocol address (P-len октетов)
Target hardware address (H-len октетов)
Target protocol address (P-len октетов)

Несмотря на то что АRР создавался специально для Ethernet, этот протокол может поддерживать различные типы физических сред (по­ле «Hardware type — тип физической среды», значение 1 соответствует Ethernet), а также различные типы обслуживаемых протоколов (поле «Protocol type — тип протокола», значение 2048 соответствует IP). По­ля Н-len и Р-len содержат длины физического и «протокольного» ад­ресов, соответственно, в октетах. Для Ethernet P-len=6, для IP P-len=4. Поля «Source hardware address» и «Source protocol address» содержат физический (Ethernet) и «протокольный» (IP) адреса отправителя. По­ля «Target hardware address» и «Target protocol address» содержат соот­ветствующие адреса получателя. При посылке запроса поле «Target hardware address» инициализируется нулями, а в поле «Destination (Адрес назначения)» заголовка Ethernet-кадра ставится широковеща­тельный адрес. Дейтаграмма, направленная во внешнюю (другую) сеть, должна быть передана маршрутизатору. Предположим, хост А отправляет дейтаграмму хосту В через маршрутизатор G. Несмотря на то, что в заголовке дейтаграммы, отправляемой из А, в поле «Destination» ука­зан IP-адрес В, кадр Ethernet, содержащий эту дейтаграмму, должен быть доставлен маршрутизатору. Это достигается тем, что IP-модуль при вызове ARP-модуля передает тому вместе с дейтаграммой в каче­стве IP-адреса узла назначения адрес маршрутизатора, извлеченный из таблицы маршрутов. Таким образом, дейтаграмма с адресом В ин­капсулируется в кадр с МАС-адресом G:

IP Source:A IP Destination: B Заголовок дейтаграммы
Ethernet Source: A Ethernet Destination: G Заголовок кадра Ethernet

Модуль Ethernet на маршрутизаторе G получает из сети этот кадр, так как кадр адресован ему, извлекает из кадра данные (т. е. дейтаграмму) и отправляет их для обработки модулю IP. Модуль IP обнаруживает, что дейтаграмма адресована не ему, а хосту В, и по своей таблице маршрутов определяет, куда ее следует переслать. Да­лее дейтаграмма опять опускается на нижний уровень, к соответст­вующему физическому интерфейсу, которому передается в качестве IP-адреса узла назначения адрес следующего маршрутизатора, извле ченный из таблицы маршрутов, или сразу адрес хоста В, если мар­шрутизатор G может доставить дейтаграмму непосредственно к нему. 7. ProxyARP ARP-ответ может отправляться не обязательно искомым узлом, вместо него это может сделать другой узел. Такой механизм называ­ется proxy ARP. Рассмотрим пример (рис. 3.3). Удаленный хост А подключается по коммутируемой линии к сети 194.84.124.0/24 через сервер доступа G. Сеть 194.84.124.0 на физическом уровне представляет собой Ethernet. Сервер G выдает хосту А IP-адрес 194.84.124.30, принадле­жащий сети 194.84.124.0. Следовательно, любой узел этой сети, на­пример хост В, полагает, что может непосредственно отправить дей­таграмму хосту А, поскольку они находятся в одной IP-сети. 194.84.124.30 G A B 194.84.124.0 Рис. 3.3 – Proxy ARP IP-модуль хоста В вызывает ARP-модуль для определения физи­ческого адреса А. Однако вместо А (который, разумеется, отклик­нуться не может, потому что физически не подключен к сети Ethernet) откликается сервер G, который и возвращает свой Ethernet-адрес как физический адрес хоста А. Вслед за этим В отправляет, a G получает кадр, содержащий дейтаграмму для А, которую G отправляет адреса­ту по коммутируемому каналу.

Типы передачи данных

Multicast (мультикаст) – процесс отправки пакета от одного хоста к некоторой ограниченной группе хостов.

Broadcast (бродкаст) – процесс отправки пакета от одного хоста ко всем хостам в сети.
Эти 3 типа передачи данных используются для различных целей, давайте рассмотрим более подробно.

Unicast

Тип передачи данных Unicast (индивидуальный) используется для обычной передачи данных от хоста к хосту. Способ Unicast работает в клиент-серверных и пиринговых (peer-to-peer, от равного к равному) сетях.

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

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

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

В течение процесса инкапсуляции передающий хост размещает свой IP адрес в заголовок unicast пакета в виде адреса источника, а ИП адрес принимающего хоста размещается в заголовке в виде адреса получателя. Используя эти два IP адреса, пакеты unicast могут передаваться через всю сеть (т.е. через все подсети).

Multicast

Тип передачи multicast разрабатывался для сбережения пропускной способности в IP сетях. Такой тип уменьшает трафик, позволяя хостам отправить один пакет выбранной группе хостов. Для достижения нескольких хостов назначения используя передачу данных unicast, хосту источнику было бы необходимо отправить каждому хосту назначения один и тот же пакет. С типом передачи данных multicast, хост источник может отправить всего один пакет, который может достичь тысячи хостов получателей.

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

Multicast клиенты

Хосты, которые хотят получить определенные multicast данные, называются multicast клиентами. Multicast клиенты используют сервисы инициированные (начатые) клиентскими программами для рассылки multicast данных группам.

Каждая multicast группа представляет собой один multicast IP адрес назначения. Когда хост рассылает данные для multicast группы, хост помещает multicast IP адрес в заголовок пакета (в раздел пункта назначения).

Для multicast групп выделен специальный блок IP адресов, от 224.0.0.0 до 239.255.255.255.

Broadcast (Широковещание)

Из-за того, что тип передачи broadcast используется для отправки пакетов ко всем хостам в сети, пакеты использую специальный broadcast IP адрес. Когда хост получает пакет, в заголовке которого в качестве адреса получателя указан broadcast адрес, он обрабатывает пакет так, как будто это unicast пакет.

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

  • создание карты принадлежности адресов верхнего уровня к нижним (например, какой IP адрес на конкретном устройстве со своим MAC адресом)
  • запрос адреса (в качестве примера можно взять протокол ARP)
  • протоколы маршрутизации обмениваются информацией о маршрутах (RIP, EIGRP, OSPF)

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

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

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

Существует два типа broadcast передачи данных: направленное широковещание и ограниченное широковещание.

Направленный broadcast (направленное широковещание)

Направленный broadcast отправляется всем хостам какой-то конкретной сети. Этот тип широковещания удобно использовать для отправки broadcast трафика всем хостам за пределами локальной сети.

Например, хост хочет отправить пакет всем хостам в сети 172.16.5.0/24, но сам хост находится в другой сети. В данном случае хост-отправитель вложит в заголовок пакета в качестве адреса пункта назначения broadcast адрес 172.16.5.255. Хотя маршрутизаторы должны ограничивать (не передавать) направленный широковещательный трафик, их можно настроить на разрешение передачи broadcast трафика.

Ограниченный broadcast (ограниченное широковещание)

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

Приведу пример ограниченного broadcast: хост находится внутри сети 172.16.5.0/24 и хочет передать пакет всем хостам в его сети. Используя в качестве пункта назначения IP адрес 255.255.255.255, он отправляет широковещательный пакет. Этот пакет примут и обработают все хосты только в этой локальной сети (172.16.5.0/24).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *