TCP-IP крупным планом

       

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



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

Широковещательный адрес всех подсетей (all-subnets-directed broadcast address), также требует знания маски подсети в сети назначения. Только в этом случае можно определить различие между широковещательным адресом всех подсетей и широковещательным адресом сети. И идентификатор подсети, и идентификатор хоста, в данном случае, устанавливаются в единицы. Например, если маска подсети назначения 255.255.255.0, то IP адрес 128.1.255.255 это широковещательный запрос, направленный во все подсети. Однако, если сеть не разбита на подсети, это широковещательный запрос, направляемый в сеть.

В настоящее время такой тип широковещательных запросов считается устаревшим [Almquist 1993]. В настоящее время используются групповые запросы, а не широковещательные запросы, направленные во все подсети.

[Almquist 1993] отмечает, что в RFC 922 требуется, чтобы широковещательные запросы, направленные во все подсети, посылались во все подсети, однако не все маршрутизаторы это поддерживают. И это хорошо, так как неверно сконфигурированый хост, без собственной маски подсети, будет посылать эти "локальные" широковещательные запросы во все подсети. Например, если хост с IP адресом 128.1.2.3 не имеет установленной маски подсети, его широковещательный адрес по умолчанию устанавливается в 128.1.255.255. Однако, если маска подсети должна быть определена как 255.255.255.0, то широковещательные запросы от неправильно сконфигурированного хоста появятся во всех подсетях.

Первая широкораспространенная реализация TCP/IP, в системе 4.2BSD (1983 год), использовала для широковещательных адресов идентификатор хоста, установленного во все нули. Один из самых ранних примеров обращения к широковещательным IP адресам это IEN 212 [Gurwitz and Hinden 1982], и именно здесь было определено использовать широковещательные IP адреса с идентификаторами хостов, установленными во все единицы. (IEN это Internet Experiment Notes, непосредственный предшественник RFC.) В RFC 894 [Hornig 1984] говорится, что 4.2BSD использует нестандартный широковещательный адрес, однако в RFC 906 [Finlayson 1984] замечается, что тогда не существовало стандарта Internet для широковещательных адресов. При редакции RFC была сделана сноска на RFC 906, где говорилось об отсутствии стандарта на широковещательные адреса, однако очень рекомендовалось использовать широковещательные адреса с идентификаторами хоста, установленными во все единицы. К тому же, Berkeley начал использовать все единичные биты для широковещательного адреса, начиная с 4.3BSD (1986 год), однако некоторые операционные системы (и что интересно, даже SunOS 4.x) продолжали использовать нестандартные широковещательные адреса до начала 90-х.



Содержание раздела