Глава 20 Широковещательная передача

Глава 20

Широковещательная передача

20.1. Введение

В этой главе мы расскажем о широковещательной передаче (brodacasting), а в следующей главе — о многоадресной передаче (multicasting). Во всех предыдущих примерах рассматривалась направленная (одноадресная) передача (unicasting), когда процесс общается только с одним определенным процессом. Действительно, TCP работает только с адресами направленной передачи, хотя UDP и символьные сокеты поддерживают и другие парадигмы передачи. В табл. 20.1 представлено сравнение различных видов адресации.

Таблица 20.1. Различные формы адресации

Тип IPv4 Ipv6 TCP UDP Количество идентифицируемых интерфейсов Количество интерфейсов, куда доставляется сообщение
Направленная передача Один Один
Передача наиболее подходящему узлу Пока нет Набор Один из набора
Многоадресная передача Не обязательно Набор Все в наборе
Широковещательная передача Все Все

С введением IPv6 к парадигмам адресации добавилась передача наиболее подходящему узлу (anycasting). Ее вариант для IPv4 не получил широкого распространения. Он описан в RFC 1546 [88]. Передача наиболее подходящему узлу для IPv6 определяется в документе RFC 3513 [44]. Этот режим позволяет обращаться к одной (обычно «ближайшей» в некоторой метрике) из множества систем, предоставляющих одинаковые сервисы. Правильная конфигурация системы маршрутизации позволяет узлам пользоваться сервисами передачи наиболее подходящему узлу по IPv4 и IPv6 путем добавления одного и того же адреса в протокол маршрутизации в нескольких местах. Однако RFC 3513 разрешает иметь адреса такого типа только маршрутизаторам; узлы не имеют права предоставлять сервисы передачи наиболее подходящему узлу. На момент написания этой книги интерфейс API для использования адресов передачи наиболее подходящему узлу еще не определен. Архитектура IPv6 в настоящий момент находится на стадии совершенствования, и в будущем узлы, вероятно, получат возможность динамически предоставлять сервисы передачи наиболее подходящему узлу.

Вот наиболее важные положения из табл. 20.1:

? Поддержка многоадресной передачи не обязательна для IPv4, но обязательна для IPv6.

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

? Широковещательная и многоадресная передачи требуют наличия протокола UDP или символьного IP и не работают с TCP.

Одним из применений широковещательной передачи является поиск сервера в локальной подсети, когда известно, что сервер находится в этой локальной подсети, но его IP-адрес для направленной передачи неизвестен. Иногда эту процедуру называют обнаружением ресурса (resource discovery). Другое применение — минимизация сетевого трафика в локальной сети, когда несколько клиентов взаимодействуют с одним сервером. Можно привести множество примеров интернет-приложений, использующих для этой цели широковещательную передачу. Некоторые из них используют и многоадресную передачу.

? Протокол разрешения адресов (Address Resolution Protocol, ARP). Это фундаментальная часть IPv4, а не пользовательское приложение. ARP отправляет широковещательный запрос в локальную подсеть, суть которого такова: «Система с IP-адресом a.b.c.d, идентифицируйте себя и сообщите свой аппаратный адрес».

? Протокол начальной загрузки (Bootstrap Protocol, BOOTP). Клиент предполагает, что сервер находится в локальной подсети, и посылает запрос на широковещательный адрес (часто 255.255.255.255, поскольку клиент еще не знает IP-адреса, маски подсети и адреса ограниченной широковещательной передачи в этой подсети).

? Протокол синхронизации времени (Network Time Protocol, NTP). В обычном сценарии клиент NTP конфигурируется с IP-адресом одного или более серверов, которые будут использоваться для определения времени, и опрашивает серверы с определенной частотой (с периодом 64 с или больше). Клиент обновляет свои часы, используя сложные алгоритмы, основанные на значении истинного времени (time-of-day), возвращаемом серверами, и величине периода RTT обращения к серверам. Но в широковещательной локальной сети вместо того, чтобы каждый клиент обращался к одному серверу, сервер может отправлять текущее значение времени с помощью широковещательных сообщений каждые 64 с для всех клиентов в локальной подсети, ограничивая тем самым сетевой трафик.

? Демоны маршрутизации. Наиболее часто используемый демон маршрутизации routed распространяет по локальной сети широковещательные сообщения, содержащие таблицу маршрутизации. Это позволяет всем другим маршрутизаторам, соединенным с локальной сетью, получать объявления маршрутизации. При этом в конфигурацию каждого маршрутизатора не обязательно должны входить IP-адреса соседних маршрутизаторов. Это свойство также используется (многие могут отметить, что «используется неправильно») узлами локальной сети, прослушивающими объявления о маршрутизации и изменяющими в соответствии с этим свои таблицы маршрутизации.

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

4.6.3 Передача Параметров

Из книги C++ автора Хилл Мюррей

4.6.3 Передача Параметров Когда вызывается функция, дополнительно выделяется пмять под ее формальные параметры, и каждый формальный парметр инициализируется соответствующим ему фактическим парметром. Семантика передачи параметров идентична семантике инициализации. В


Глава 2 Передача файлов через Интернет

Из книги 200 лучших программ для Интернета. Популярный самоучитель автора Краинский И

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


Передача параметров

Из книги ArchiCAD 11 автора Днепров Александр Г

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


7.6. Условные переменные: время ожидания и широковещательная передача

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

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


15.8. Передача дескрипторов

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

15.8. Передача дескрипторов Когда мы говорим о передаче открытого дескриптора от одного процесса другому, обычно подразумевается одно из двух:? наследование всех открытых дескрипторов родительского процесса дочерним после вызова fork;? сохранение открытых дескрипторов при


5.18.2 Широковещательная рассылка в локальной подсети

Из книги Сетевые средства Linux автора Смит Родерик В.

5.18.2 Широковещательная рассылка в локальной подсети Несколько IP-адресов используется для указания на широковещательную рассылку. В такой рассылке датаграммы можно направить на заданный набор систем в пределах ограниченной области.IP-адрес 255.255.255.255 (т.е. адрес, содержащий


Передача данных

Из книги 1С: Бухгалтерия 8 с нуля. 100 уроков для начинающих автора Гладкий Алексей Анатольевич

Передача данных Код для отправки и посылки файлов приведен в листинге 12.5.Листинг 12.5private void butSend_Click(object sender, EventArgs e) { // Открываем файл для отправки и получаем его поток Stream fileStream; try {  fileStream = new FileStream(fileSend, FileMode.Open); } catch (Exception exFile) {  MessageBox.Show("Не могу открыть " + exFile.ToString()); 


Урок № 67. Передача собственных материалов в переработку на сторону и передача продукции из давальческого сырья

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич

Урок № 67. Передача собственных материалов в переработку на сторону и передача продукции из давальческого сырья В процессе производственной деятельности предприятия часто приходится осуществлять передачу собственных материалов стороннему переработчику для выпуска


Глава 10 Передача файлов

Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич

Глава 10 Передача файлов Вспоминаю времена, когда построение сети было делом дорогим, а Интернет — еще дороже, и для обмена файлами приходилось бегать с дискетами 3,5 или 5,25 дюймов. Если кто-либо застал те времена, то, вероятно, вспоминает их с ужасом. Дискеты постоянно


Передача прав

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард


20.3. Направленная и широковещательная передачи

Из книги Разработка ядра Linux автора Лав Роберт

20.3. Направленная и широковещательная передачи Прежде чем рассматривать широковещательную передачу, необходимо уяснить, что происходит, когда дейтаграмма UDP отправляется на адрес направленной передачи. На рис. 20.2 представлены три узла Ethernet. Рис. 20.2. Пример направленной


Фрагментация IP-пакетов и широковещательная передача

Из книги Все секреты Minecraft автора Миллер Меган

Фрагментация IP-пакетов и широковещательная передача В Беркли-ядрах фрагментация широковещательных дейтаграмм запрещена. Если размер IP-дейтаграммы, посылаемой на широковещательный адрес, превышает размер MTU исходящего интерфейса, возвращается ошибка EMSGSIZE [128, с. 233–234].


Глава 21 Многоадресная передача

Из книги автора

Глава 21 Многоадресная передача 21.1. Введение Как показано в табл. 20.1, адрес направленной передачи идентифицирует одиночный интерфейс, широковещательный адрес идентифицирует все интерфейсы в подсети, а адрес многоадресной передачи — набор (множество) интерфейсов.


Передача параметров

Из книги автора

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


Передача энергии

Из книги автора

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