Проще говоря:
------------------------------------------------------------
| TYPE | ASSOCIATIONS | SCOPE | EXAMPLE |
------------------------------------------------------------
| Unicast | 1 to 1 | Whole network | HTTP |
------------------------------------------------------------
| Broadcast | 1 to Many | Subnet | ARP |
------------------------------------------------------------
| Multicast | One/Many to Many | Defined horizon | SLP |
------------------------------------------------------------
| Anycast | Many to Few | Whole network | 6to4 |
------------------------------------------------------------
Одноадресная передача используется, когда два сетевых узла должны общаться друг с другом. Это довольно просто, поэтому я не собираюсь тратить на это много времени. TCP по определению является протоколом Unicast, за исключением случаев, когда задействован Anycast (подробнее об этом ниже).
Когда вам нужно, чтобы трафик видел более двух узлов, у вас есть варианты.
Если все узлы находятся в одной подсети, широковещательная передача становится жизнеспособным решением. Все узлы в подсети увидят весь трафик. TCP-подобное состояние соединения не поддерживается. Широковещательная рассылка - это функция уровня 2 в протоколе Ethernet, а также функция уровня 3 в IPv4.
Многоадресная передача похожа на широковещательную рассылку, которая может пересекать подсети, но в отличие от широковещательной передачи не затрагивает все узлы. Узлы должны подписаться на многоадресную группу для получения информации. Протоколы многоадресной передачи обычно являются протоколами UDP, поскольку по определению состояние соединения не может поддерживаться. Узлы, передающие данные в многоадресную группу, не знают, какие узлы получают. По умолчанию интернет-маршрутизаторы не пропускают многоадресный трафик. Для внутреннего использования, однако, это вполне допустимо; Таким образом, «Определен горизонт» в приведенном выше графике. Многоадресная передача - это функция третьего уровня IPv4 и IPv6.
Чтобы использовать anycast, вы рекламируете одну и ту же сеть в нескольких точках Интернета и полагаетесь на вычисления по кратчайшему пути для направления клиентов в несколько местоположений. Что касается самих сетевых узлов, то они используют одноадресное соединение для связи с любыми вашими узлами. Чтобы узнать больше о Anycast, попробуйте: что такое «anycast» и чем он полезен? , Anycast - это также функция уровня 3, но она зависит от того, как происходит объединение маршрутов.
Примеры
Некоторые примеры того, как не-одноадресные методы используются в реальном Интернете.
Широковещательный
ARP - это широковещательный протокол, который используется стеками TCP / IP для определения способа отправки трафика на другие узлы в сети. Если пункт назначения находится в той же подсети, ARP используется для определения MAC-адреса, который идет к указанному IP-адресу. Это передача уровня 2 (Ethernet) на зарезервированный MAC-адрес FF: FF: FF: FF: FF: FF.
Кроме того, протокол просмотра машин Microsoft основан на широковещательной передаче. Временные решения, такие как WINS, были созданы, чтобы разрешить просмотр между подсетями. Это включает в себя широковещательную рассылку уровня 3 (IP), которая представляет собой IP-пакет с адресом назначения, указанным в качестве широковещательного адреса подсети (в 192.168.101.0/24 широковещательный адрес будет 192.168.101.255).
Протокол NTP позволяет широковещательный метод для объявления источников времени.
Multicast
Внутри корпоративной сети Multicast может доставлять видео в реальном времени на несколько узлов без необходимости иметь значительную полосу пропускания со стороны сервера, обеспечивающего передачу видео. Таким образом, вы можете иметь видеосервер, поддерживающий поток 720p только на соединении 100 Мб, и при этом обслуживать его до 3000 клиентов.
Когда Novell перешла от IPX к IP, им пришлось выбрать протокол рекламы услуг, чтобы заменить протокол SAP в IPX. В IPX, Служба Advertising Protocol, сделал общесетевые обявление каждый раз , когда он объявил , услуга была доступна. Поскольку в TCP / IP отсутствовал такой протокол глобального оповещения, Novell решила использовать вместо этого протокол, основанный на многоадресной передаче: протокол определения местоположения службы. Новые серверы объявляют о своих услугах в группе многоадресной рассылки SLP. Клиенты, ищущие определенные типы услуг, объявляют о своей потребности в многоадресной группе и прослушивают одноадресные ответы.
Принтеры HP по умолчанию объявляют о своем присутствии в многоадресной группе. С правильными инструментами очень легко узнать, какие принтеры доступны в вашей сети.
Протокол NTP также позволяет использовать многоадресный метод (IP 224.0.1.1) для объявления источников времени в областях за пределами только одной подсети.
Anycast
Anycast - это нечто особенное, так как поверх него находятся слои Unicast. Anycast объявляет одну и ту же сеть в разных частях сети, чтобы уменьшить количество сетевых скачков, необходимых для доступа к этой сети.
Протокол перехода 6v4 IPv6 использует Anycast. Шлюзы 6to4 объявляют о своем присутствии по определенному IP, 192.88.99.1. Клиенты, желающие использовать шлюз 6to4, отправляют трафик на 192.88.99.1 и доверяют сети для доставки запроса на подключение к маршрутизатору 6to4.
NTP-сервисы для особенно популярных NTP-хостов вполне могут быть anycast, но у меня нет доказательств этого. В протоколе нет ничего, что могло бы предотвратить это.
Другие сервисы используют Anycast для улучшения локальности данных для конечных пользователей. Google делает Anycast со своими поисковыми страницами в некоторых местах (и гео-IP в других). Корневые DNS-серверы используют Anycast по аналогичным причинам. Сам ServerFault просто может пойти туда, у них есть центры обработки данных в Нью-Йорке и Орегоне, но он еще не был там.
Проблемы сети
Избыточный широковещательный трафик может лишить все узлы в этой подсети полосы пропускания. В наши дни это не так важно для полнодуплексных портов GigE, но в полудуплексные 10 Мб дни широковещательный шторм может очень быстро остановить сеть. Те полудуплексные сети с одним большим доменом коллизий на всех узлах были особенно уязвимы для широковещательных штормов, поэтому сетевые книги, особенно старые, говорят, что следят за широковещательным трафиком. Коммутируемые / полнодуплексные сети намного сложнее остановить с помощью широковещательного шторма, но это все же может произойти. Трансляция необходима для правильного функционирования IP-сетей.
Многоадресная передача имеет такую же возможность для злоупотреблений. Если один узел в многоадресной группе начнет отправлять огромные объемы трафика в эту группу, все подписанные узлы увидят весь этот трафик. Как и в случае широковещательной передачи, избыточный трафик Mcast может увеличить вероятность коллизий на таких соединениях, где это является проблемой.
Многоадресная рассылка является дополнительной функцией IPv4, но требуется для IPv6. Трансляция IPv4 заменяется многоадресной рассылкой в IPv6 (см. Также: Почему IPv6 не может отправлять трансляции? ). Часто отключается в сетях IPv4. Не случайно включение многоадресной рассылки является одной из многих причин, по которой сетевые инженеры опасаются переходить на IPv6, прежде чем они это сделают.
Расчет того, сколько трафика слишком много трафика зависит от нескольких вещей
- Полудуплексный или полнодуплексный: полудуплексные сети имеют гораздо меньшие допуски для трафика bcast / mcast.
- Скорость сетевых портов: чем быстрее ваша сеть, тем меньше это становится проблемой. В дни Ethernet 10 Мб 5-10% трафика на порту может быть трафиком bcast, если не больше, но на GigE менее 1% (возможно, намного меньше) более вероятно.
- Количество узлов в сети: чем больше узлов, тем больше неизбежного широковещательного трафика (ARP). Если вы используете определенные протоколы широковещательной рассылки, просмотр Windows или другие вещи, такие как пульс кластера, где начнутся проблемы, изменится.
- Сетевые технологии: проводной Ethernet достаточно быстр, так что, пока вы используете современное оборудование, bcast / mcast вряд ли вызовет у вас проблемы. Беспроводная связь, с другой стороны, может страдать от чрезмерного широковещательного трафика, поскольку она является общей средой для всех узлов и, следовательно, в одной области коллизий.
В конце концов, трафик Bcast и Mcast лишают порты полосы пропускания. Когда вы начинаете беспокоиться, это сильно зависит от вашей индивидуальной сети и допуска к переменной производительности. В общем, количество сетевых узлов не масштабируется так быстро, как скорость сети, поэтому общее количество передаваемых данных в процентах от трафика со временем уменьшается.
Некоторые сети запрещают многоадресную рассылку по определенным причинам, а другие никогда не тратят время на ее настройку. Есть несколько многоадресных протоколов, которые могут раскрыть интересную информацию (SLP - один из таких) любому, кто слушает правильные вещи. Лично я не возражаю против незначительного многоадресного трафика, так как самое большое раздражение, которое я видел с ним, это зараженные захваты сети, когда я делаю некоторый анализ сети; и для этого есть фильтры.