Мультикаст. Мультикаст маршрутизация — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (rollbackEdits.php mass rollback)
 
(не показано 14 промежуточных версий 3 участников)
Строка 1: Строка 1:
'''Muticast''' (от англ. ''Мультивещание'') {{---}} метод передачи данных в компьютерных сетях, при котором адресатом сетевого пакета является группа получателей.  
+
'''Muticast''' (от англ. ''Мультивещание'') {{---}} метод передачи данных в компьютерных сетях, при котором адресатом сетевого пакета является группа заинтересованных получателей.  
[[Файл:Floyd_first.png|right|thumb|200px|Схема мультивещания]]
+
[[Файл:Multicast.jpg|right|Схема мультивещания]]
 +
 
 
= Применение =
 
= Применение =
Потоковое мультимедиа, видеоконференцсвязь, радио, рассылка почты поддерживают мультивещание.  
+
Потоковое мультимедиа, видеоконференцсвязь, радио, рассылка почты и котировок акций.
  
 
= Описание =
 
= Описание =
В одноадресной сети с каждым пользователем устанавливается отдельное соединение.
+
В multicast рассылке источник посылает единственный экземпляр пакета. Маршрутизаторы копируют пакеты заинтересованным пользователям.  
В многоадресной рассылке источник посылает единственный экземпляр по общему маршруту тем получателям, которые подписались на рассылку. Маршрутизаторы дублицируют пакеты заинтересованным пользователям.  
+
Преимущество этого подхода: добавление новых пользователей не приводит к допольнительной нагрузке на сеть. Пользователи получают только те пакеты, в которых они заинтересованы (в отличие от broadcast, где неинтересные пакеты необходимо фильтровать).
Преимущество этого подхода: добавление новых пользователей не влечет за собой необходимость увеличения пропускной способности сети по общему маршруту до потребителей услуги. Соответственно, снижается нагрузка на промежуточное оборудование.
 
  
== Протокол ==
+
== Как работает ==
При запуске на сервере приложения с поддержкой мультивещания, оно посылает в сеть уведомление, что соответствующая группа доступна для присоединения.  
+
При запуске на сервере приложения с поддержкой мультивещания, оно посылает в сеть уведомление, что соответствующая <i>группа</i> доступна для присоединения.  
Клиент, который хочет присоединиться к рассылке посылает уведомление об этом.  
+
Клиент, который хочет присоединиться к рассылке, посылает уведомление об этом устройству сети.  
 
Все промежуточные маршрутизаторы записывают, что за соответствующим маршрутом находится клиент соответствующей мультикастной группы.  
 
Все промежуточные маршрутизаторы записывают, что за соответствующим маршрутом находится клиент соответствующей мультикастной группы.  
Поскольку состав группы со временем может меняться, вновь появившиеся и выбывшие члены группы динамически учитываются в построении путей маршрутизации.
+
Поскольку состав группы со временем может меняться, вновь появившиеся и выбывшие члены группы динамически учитываются в построении путей маршрутизации (этим занимается протокол IGMP).
В локальной сети управлением мультикастными группами обычно занимается протокол IGMP.
 
Самым популярным протоколом мультивещания на транспортном уровне является [[Протоколы транспортного уровня (TCP, UDP, SCTP) | UDP]].
 
  
У групп получателей есть адрес. Отправители указывают данный адрес в destination поле отправляемых пакетов. Получатели сообщают адрес группы устройствам сети (маршрутизаторам), чтобы подписаться на рассылку пакетов данной группы.
+
Мультикаст не привязан к какому-то конкретному протоколу. По сути, всё, что его определяет — адреса. Однако, в абсолютном большинстве случаев используется протокол UDP. Это легко объясняется тем, что обычно с помощью многоадресной рассылки передаются данные, небольшая потеря которых некритична.
Пример: какие-то данные связаны с адресом группы 239.1.1.1. Отправитель указывает 239.1.1.1 в заголовке пакета. Получатель указывает, что заинтересован в пакетах группы 239.1.1.1: получатель присоединяется к группе 239.1.1.1. Обычно присоединение к группе происходит по протоколу Internet Group Management Protocol (IGMP).
 
  
 +
=== IP адреса ===
 +
В IPv4 был заложен блок адресов класса D: 224.0.0.0/4 (224.0.0.0-239.255.255.255). Адреса этого диапазона определяют мультикастовую группу. Один адрес — это одна группа, обычно она обозначается буквой «G».
 +
[[Файл:Ip-multicasting.jpg|right|Схема адресов multicast-групп]]
 +
То есть, говоря, что клиент подключен к группе 224.2.2.4, мы имеем ввиду, что он получает мультикастовый трафик с адресом
 +
назначения 224.2.2.4.
  
 
== IGMP ==
 
== IGMP ==
IGMP (англ. Internet Group Management Protocol) - протокол управления групповой (multicast) передачей данных в сетях, основанных на протоколе IP. IGMP используется маршрутизаторами и IP-узлами для организации сетевых устройств в группы.
+
IGMP (англ. Internet Group Management Protocol) - протокол управления групповой (multicast) передачей данных в сетях, основанных на протоколе IP.  
 +
 
 +
IGMP используется клиентским компьютером и соседними коммутаторами для соединения клиента и локального маршрутизатора, осуществляющего групповую передачу.
 +
 
 +
Сеть, предоставляющая услуги групповой передачи данных (например, видео) с использованием IGMP, может иметь следующую базовую архитектуру:
 +
 
 +
[[Файл:IGMP.jpg|center|Архитектура IGMP]]
  
 
== См. также ==
 
== См. также ==
 
* [[Сетевой уровень]]
 
* [[Сетевой уровень]]
 +
* [[Broadcast. Broadcast routing]]
  
 
== Источники информации ==
 
== Источники информации ==
*[https://en.wikipedia.org/wiki/IP_multicast Wikipedia]
+
*[https://en.wikipedia.org/wiki/IP_multicast IP Multicast]
 +
*[https://en.wikipedia.org/wiki/Internet_Group_Management_Protocol, IGMP]
 +
*[https://habrahabr.ru/post/217585/, Сети для самых маленьких (подробное описание multicast и протоколов)]

Текущая версия на 19:06, 4 сентября 2022

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

Схема мультивещания

Применение

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

Описание

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

Как работает

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

Мультикаст не привязан к какому-то конкретному протоколу. По сути, всё, что его определяет — адреса. Однако, в абсолютном большинстве случаев используется протокол UDP. Это легко объясняется тем, что обычно с помощью многоадресной рассылки передаются данные, небольшая потеря которых некритична.

IP адреса

В IPv4 был заложен блок адресов класса D: 224.0.0.0/4 (224.0.0.0-239.255.255.255). Адреса этого диапазона определяют мультикастовую группу. Один адрес — это одна группа, обычно она обозначается буквой «G».

Схема адресов multicast-групп

То есть, говоря, что клиент подключен к группе 224.2.2.4, мы имеем ввиду, что он получает мультикастовый трафик с адресом назначения 224.2.2.4.

IGMP

IGMP (англ. Internet Group Management Protocol) - протокол управления групповой (multicast) передачей данных в сетях, основанных на протоколе IP.

IGMP используется клиентским компьютером и соседними коммутаторами для соединения клиента и локального маршрутизатора, осуществляющего групповую передачу.

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

Архитектура IGMP

См. также

Источники информации