Типы передачи данных
В сетях IP существует 3 основных способа передачи данных: Unicast, Broadcast, Multicast.
Unicast (юникаст) – процесс отправки пакета от одного хоста к другому хосту.
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 группа представляет собой один multicast IP адрес
назначения. Когда хост рассылает данные для multicast группы, хост
помещает multicast IP адрес в заголовок пакета (в раздел пункта
назначения).
Для multicast групп выделен специальный блок IP адресов, от 224.0.0.0 до 239.255.255.255.
Broadcast (Широковещание)
Из-за того, что тип передачи broadcast используется для отправки пакетов
ко всем хостам в сети, пакеты использую специальный broadcast IP адрес.
Когда хост получает пакет, в заголовке которого в качестве адреса
получателя указан broadcast адрес, он обрабатывает пакет так, как будто
это unicast пакет.
Когда хосту необходимо передать какую-то информацию всем хостам в сети
используется способ передачи данных broadcast. Еще когда адрес
специальных сервисов (служб) или устройств заранее неизвестен, то для
обнаружения также используется 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).