Широковещание. Обнаружение сервера с помощью широковещания.
Для обеспечения независимости приложения от параметров сокета сервера (сетевой адрес и номера порта), как правило, номер порта делают одним из параметров инициализации сервера и хранят в специальных конфигурационных файлах, которые считывается сервером при загрузке (реже номер порта передается в виде параметра в командной строке). Так, например, большинство серверов баз данных в качестве одного из параметров инициализации используют номер порта, а при конфигурации (или инсталляции) клиентских приложений указывается сетевой адрес и порт сервера.
В некоторых случаях удобно возложить поиск сетевого адреса сервера на само клиентское приложение (при условии, что номер порта сервера известен). В этих случаях используются широковещательные сетевые адреса, позволяющие адресовать сообщение о поиске сервера всем компьютерам сети. Предполагается, что сервер (или несколько серверов) должен находиться в состоянии ожидания (прослушивания) на доступном в сети компьютере. При получении сообщения от клиента, сервер определяет параметры сокета клиента и передает клиенту необходимые данные для установки канала связи. В общем случае в сети может находиться несколько серверов, которые откликнутся на запрос клиента. В этом случае алгоритм работы клиента должен предполагать процедуру обработки откликов и выбора подходящего сервера. Сразу следует оговориться, что реально данный метод можно применять только внутри сегмента локальной сети, т.к. широковещательные пакеты, как правило, не пропускаются маршрутизаторами и шлюзами .
Использование широковещательных адресов возможно только в протоколе UDP
Стандартный широковещательный адрес в формате TCP/IPзадается с помощью константыINADDR_BROADCAST, которая определена вWinsock2.h. По умолчанию использование стандартного широковещательного адреса не допускается и для его применения необходимо установить специальный режим использования сокетаSO_BROADCAST с помощью функцииsetsockopt. Проверить установленные для сокета режимы можно с помощью функцииgetsockopt(описание здесь не приводится).
-
Содержание
- Стек протоколов tcp/ip. Публичные и частные пространства адресов, типы портов. Параметры настройкиTcp/ip.
- Понятие сокета. Основные параметры сокета.
- Интерфейс Nimed Pipe.
- Интерфейс MailSlot.
- Структура программы tcp-сервера.
- Структура программы tcp-клиента.
- Структура программы udp-сервера.
- Структура программы udp-клиента.
- Структура параллельного сервера.
- Структура параллельного сервера. AcceptServer.GarbageCleaner.
- Широковещание. Обнаружение сервера с помощью широковещания.
- Применение символического адреса хоста.
- Основные сетевые утилиты и их назначение.
- Служба dns.
- Служба dhcp.
- Стандарты сообщений Internet.
- Почтовая служба. Протоколы smtp,pop3.
- Протокол http.
- Служба rpCи технологияXml-rpc.
- Nat,proxy-серверы, межсетевые экраны, ремайлеры.
- Web-сервисы:soap,xml,wsdl,uddi.
- Национальная инфраструктура информационной безопасности.