Типы передачи данных
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).
Широковещательный адрес
Широковещательный адрес — условный (не присвоенный никакому устройству в сети) адрес, который используется для передачи широковещательных пакетов в компьютерных сетях.
Впервые технология использования широковещательных адресов в IP сетях была предложена в 1982 году Робертом Гурвицем (англ. Robert Gurwitz ) и Робертом Хинденом (англ. Robert Hinden ) [1] .
Виды широковещательных адресов
В зависимости от уровня модели OSI различают несколько видов широковещательных адресов.
На уровне L2 используется широковещательный MAC-адрес FF:FF:FF:FF:FF:FF для передачи служебных датаграмм (например, ARP-запросов). Датаграммы, отправленные на такой адрес, принимаются всеми сетевыми устройствами локальной сети.
На уровне L3 используются широковещательные адреса, вид которых зависит от протокола. Так, в IP-сетях широковещательные адреса формируются следующим образом: к адресу подсети прибавляется побитовая инверсия маски подсети (то есть все биты адреса подсети, соответствующие нулям в маске, устанавливаются в «1»). Например, если адрес сети равен 192.168.0.0, маска подсети 255.255.255.0, то широковещательный адрес будет 192.168.0.255 [2] .
Классы широковещательных адресов в IP сетях
Различают такие применения широковещательных адресов:
Адрес в локальном сегменте IP сети Используется для передачи широковещательных пакетов всем устройствам в локальном сегменте сети. Все устройства в сети должны интерпретировать широковещательный адрес как свой собственный. Такое использование позволяет, в частности, находить шлюзы без статически заданных таблиц, а также сервера имён, времени и т. п. Адрес в удалённом сегменте IP сети Иногда используется для передачи широковещательных пакетов за пределы локального сегмента сети, например для поиска последней версии базы данных имён хостов, мониторинга серверов времени. Работает аналогично адресу в локальном сегменте IP сети, пакет маршрутизируется как обычный, пока не попадает на шлюз, подключённый к подсети, в которой адрес получателя является широковещательным. Широковещательный адрес на весь Интернет Использование такого адреса, естественно, крайне нежелательно.
Широковещательные адреса и безопасность сети
К использованию передачи пакетов на широковещательные адреса (англ. broadcasting ) следует относиться с предельной осторожностью. Некорректное использование может привести к нарушению работоспособности как отдельного сегмента, так и сети в целом (см. широковещательный шторм).
Исходя из соображений безопасности и обеспечения максимальной пропускной способности сети, на шлюзах может быть установлен запрет транзита пакетов на широковещательные адреса.
Примечания
- ↑IP — Local Area Network Addressing Issues. IEN—212 (англ.)
- ↑ Ранее все IP-адреса были строго распределены по классам подсетей. Например, для использования в локальных сетях были выделены три сегмента адресов (RFC 1918):
- 1 сеть класса A: 10.0.0.0 с маской 255.0.0.0
- 16 сетей класса B: 172.16.0.0 — 172.31.0.0 с маской 255.255.0.0
- 256 сетей класса C: 192.168.0.0 — 192.168.255.0 с маской 255.255.255.0
Аналогичная ситуация была и с глобально маршрутизируемыми IP-адресами (см. RFC 960, RFC 1466). Таким образом, как адреса подсетей, так и широковещательные адреса в них, были предопределены стандартами. Позднее распределение по классам заменили бесклассовым использованиемIP-адресов (CIDR) (см. RFC 1517, RFC 1518, RFC 4632).
Литература
- TCP/IP КРУПНЫМ ПЛАНОМ. Глава 12. Широковещательная и групповая адресация
- Standard Group MAC Addresses. A Tutorial Guide (англ.)
- TCP/IP
- Маршрутизация
- Архитектура компьютерных сетей
- Сетевая адресация
Как использовать broadcast?
Не могу понять как например отправить какой-то текст на broadcast своего роутера, как он вобше устроен.
Я пытался через telnet, netcat, ни там ни там не получилось, так-же заметил что порт надо, порт любой? Или я вобше совсем что-то не так делаю и понимаю? Может оно вобше на другом уровне работает где нету понятия порт.
Так-же хотелось бы знать как принимать все что идет по broadcast-у.
P.S: Я просто юзерь и хочу посмотреть как оно работает, прошу не судить строго). Спасибо.)
- Вопрос задан более трёх лет назад
- 9931 просмотр
7 комментариев
Простой 7 комментариев
Saboteur @saboteur_kiev Куратор тега Компьютерные сети
1. Как именно вы пытались это делать? У вас только слова — ни логов, ни примеров команд.
2. Какие устройства подключены к роутеру, как вы проверяли что ничего не работает?

Типа Программист @MegaCraZy6 Автор вопроса
Saboteur, ну пытался сделать так чтоб слушать широковещательный канал.
У меня адреса роутера 192.168.0.1, вот я и решил что тот канал на 192.168.0.255
netcat 192.168.0.255 1500

Типа Программист @MegaCraZy6 Автор вопроса
Saboteur, В итоге получил это (UNKNOWN) [192.168.0.255] 1500 (?) : Network is unreachable

Типа Программист @MegaCraZy6 Автор вопроса
Saboteur, Подключено две виртуальных машины на Линуксе, компьютер мой, и мобилка на крайняк,
Там адреса устройств 192.168.0.100, 192.168.0.101 и так далее
Saboteur @saboteur_kiev Куратор тега Компьютерные сети
попробуйте netcat с опцией -b
Отправить:
echo «Hi!» | nc -b -u 192.168.0.255 4000
Слушать:
nc -l 0.0.0.0 4000

Типа Программист @MegaCraZy6 Автор вопроса
Saboteur, В консоли того кто оправляет ничего, так-же как и в консоли того кто принимает, но ошибки нету, когда что-то ввожу в какую либо из консолей.. ничего не происходит.
П.С: сначала исполнял команду чтоб слушать.
Так-же забавно решил немного поиграться с коммандами а именно:
Отправить:
echo «Hi!» | nc -b -u 192.168.0.255 4000
Слушать:
netcat -u -l 0.0.0.0 -p 4000
Когда исполняю команду отправить в терминале где запущен слушать, пишет такое
Invalid connection to [192.168.0.105] from (UNKNOWN) [192.168.0.100] 54512
192.168.0.105 — Listener
192.168.0.100 — Sender
Вот такое вот я нашел, не понимаю почему не работае совсем никак если что на всех виртуальных машинах, и на физическом ПК стоит Debian
Saboteur @saboteur_kiev Куратор тега Компьютерные сети
похоже баг в самом nc вашей версии debian
Решения вопроса 2
Broadcast-адрес — это широковещательный адрес вашей сети, а роутер тут ни при чём. Всё, что будет отправлено на этот адрес, будет получено всеми хостами данной подсети.
В локальных сетях используется для технических нужд, таких как arp и других подобных. Совершенно непонятно, зачем туда что-то отправлять вручную.
Если интересно, какие широковещательные пакеты ходят в сети — просто посмотрите через Wireshark то, что пересылается на этот адрес.
Ответ написан более трёх лет назад
Нравится 1 1 комментарий

Типа Программист @MegaCraZy6 Автор вопроса
Нуу например просто чтоб знать как и что.
Broadcast — это вид передачи данных. Почитайте, что такое unicast, multicast — возможно тогда вы сообразите, что такое тип(метод или т.п.) передачи данных и как работает. Хотите запустить broadcast пакет — вросто включите на вашей сетевой карте получение адреса автоматически, и ваша сетевая сама отправит пакет на broadcast адрес в поисках DHCP-сервера. Т.е. broadcast — это просто отправка пакета, с абсолютно любым содержимым в качестве данных (обработка содержимого, это уже вопрос более высокого уровня, и на отправку влиять никак не будет) на широковещательный адрес сети — это последний допустимый адрес, который может быть в вашей сети. Коммутатор, просто видит, что адрес широковещательный, и распуливает этот пакет абсолютно во все дурки, в какие может — разбираться с тем, чей пакет будет уже устройство, которое не может передать пакет никуда дальше, конечный узел, к примеру комп или принтер. Устройство смотрит, что внутри, и решает ему это или нет. В случае DHCP-запроса, DHCP-сервер видит, что это его искали и отвечает. Если DHCP-сервера нет то все просто видят, что пакет не к ним, и они отбрасывают пакет. Что бы «увидеть», что и как, как и писали выше — ставите wireshark, включаете на сетевой автоматический адрес, и смотрите на пакет (не знаю правда, чем это вам поможет)) ).
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Веб-разработка
- +3 ещё
Как обойти запрет одновременной параллельной авторизации одного аккаунта на сайте с разных устройств(+-15)?
- 1 подписчик
- 20 часов назад
- 108 просмотров
Broadcast что это в ip
Нужны новые клиенты? Тогда Вам рекомендуем посмотреть этот раздел нашего сайта
_____
ПРЯМОЙ ШИРОКОВЕЩАТЕЛЬНЫЙ АДРЕС (Directed Broadcast Address)
Для того чтобы отправить данные ко всем устройствам в сети, используется широковещательный адрес (broadcast address). Широковещательные IP адреса заканчиваются двоичными единицами во всей хостовой части адреса.
Для приведенной сети в примере (172.16.0.0), в которой последние 16 бит составляют поле хоста или хостовую часть адреса, широковещательным адресом, по которому будет производиться рассылка широковещательных пакетов всем устройствам в этой сети, является 172.16.255.255.
Прямой широковещательный адрес может быть маршрутизирован. Однако, эта возможность по умолчанию отключена на маршрутизаторах Cisco.
ЛОКАЛЬНЫЙ ШИРОКОВЕЩАТЕЛЬНЫЙ АДРЕС (Local Broadcast Address)
Если IP устройство хочет связаться со всеми устройствами в локальной сети, оно в адресе назначения выставляет все единицы (255.255.255.255) и передает пакеты. Например, хосты, которые не знают их сетевого адреса, запрашивающие сервер для этого могут использовать этот адрес. Эта способ широковещательной рассылки никогда не может быть маршрутизирован.
ЛОКАЛЬНЫЙ АДРЕС ОБРАТНОЙ СВЯЗИ (Local Loopback Address)
Локальный адрес обратной связи используется для отправки системой сообщений самой себе для тестирования. Характерным примером такого адреса является 127.0.0.1.
ИДЕНТИФИКАТОР СЕТИ (Network ID)
Сетевая часть IP адреса также является идентификатором сети, который важен, потому что большинство хостов в сети могут связываться только с устройствами в той же сети.
Если хостам в сети необходимо связываться с устройствами с назначенным другим идентификатором сети, в ней должны быть устройства, которые могут маршрутизировать данные между сетями. Это верно даже тогда, когда устройства используют общий сетевой сегмент.
Идентификатор сети позволяет маршрутизатору пересылать пакеты в соответствующий сегмент сети. Идентификатор хоста помогает маршрутизатору доставлять фреймы второго уровня, инкапсулируя в пакет к определенному хосту в сети. В результате, IP адрес отображается в правильный MAC адрес, который необходим для процессов на уровне 2 на маршрутизаторе для адресации фрейма.
ИДЕНТИФИКАТОР ХОСТА (Host ID)
Каждый класс сети позволяет использовать фиксированное число адресов хостов. В сетях класса А, первый октет предназначен для адреса сети, оставляя последние три октета для использования в адресах хостов. Первый адрес хоста в каждой сети (все нули) зарезервирован как адрес сети, а последний адрес в сети (все единицы) зарезервирован для широковещательной рассылки.
Максимальное число хостов в сети класса А – 224-2 (исключая зарезервированные адрес сети и адрес широковещательной рассылки), что равно 16,777,214.
В сети класса В, первые два октета предназначены для адреса сети, оставляя последние два октета для использования в адресах хостов. Максимальное число хостов в сети класса В-2’6-2=65,534.
В сети класса С, первые три октета предназначены для адреса сети, оставляя последний октет для использования в адресах хостов. Максимальное число хостов в сети класса С -28-2=254.