Таким образом, каждая служба или приложение, запущенное на сетевом компьютере Windows, для установления связи с приложениями или службами на других сетевых компьютерах, должна послать сообщение, в котором указан IP-адрес компьютера-получателя и номер порта для подсоединения именно к данному приложению или службе. Компьютеры-получатели запроса прослушивают сетевой трафик, ожидая встретить сообщение, содержащее их собственный IP-адрес и определенный номер порта. Получив такое сообщение, они создают соединение с вызывающим компьютером и начинают процесс сетевого взаимодействия,

Например, серверы Web, ожидая подключений пользователей Интернета, прослушивают трафик и ждут сообщения, требующего установления связи с ними через порт 80 по протоколу TCP. Другие серверы ждут поступления сообщения с другим номером порта, на-серверы FTP, которые обеспечивают загрузку файлов Интернета, используют порт 20, почтовые серверы - порт 25 и так далее. Приложения, которым необходимо установить связь с этими серверами, должны направлять информацию именно в эти порты.

И тут возникает одна проблема - человеку, если он не наделен исключительными способностями, очень трудно оперировать с числовым кодом, составляющим IP-адрес. Поэтому для именования сетевых компьютеров в приложениях Winsock используются так называемые имена хостов.

Хостами по терминологии сетей TCP/IP называют любое устройство, подключенное к сети TCP/IP - рабочую станцию, сервер, маршрутизатор, сетевой принтер и так далее, имеющее собственный IP-адрес, и средства для сетевого взаимодействия. Имена хостов представляют собой набор символов длиной не более 255 знаков и включают в себя буквы, цифры, дефисы и точки. Каждый хост может иметь несколько имен хостов; имя компьютера Windows может не совпадать с его именем хоста.

Имена хостов имеет различную форму, но чаще всего используются две такие формы:

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

• Доменное имя, присваиваемое с помощью схемы именования DNS (Domain Name System - система имен доменов).

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

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

Получаемое таким образом уникальное имя, отражающее положение хоста в иерархии доменов, называется именем FQDЛ (Fully Qualified Domain Name - полностью определенное доменное имя). Имена FQDN представляют собой совокупность текстовых названий, каждое из которых входит в определенное пространство имен домена.

Например, имя email.acme.ru означает адрес почтового сервера email, расположенного в поддомене организации acme домена России ru. Имена иоддоменов в записи имени FQDN разделяются точками и называются суффиксами домена. В отличие от обычных адресов, запись суффиксов домена в имени FQDN происходит в обратном порядке, справа налево: в начале (т.е. крайним справа) указывается корневой домен, затем уровня, затем второго и так до конца.

Именование хостов с помощью псевдонимов, или имен FQDN, весьма удобно, поскольку позаимствовано из нашей повседневной жизни, и такие имена хорошо воспринимаются людьми, однако тут возникает одна проблема. Дело в том, что средства сетевого уровня не понимают имена хостов, поскольку используют IP-адреса. Поэтому средства прикладного уровня для передачи данных между хостами должны преобразовывать, или, как говорят, разрешать имена этих хостов в IP-адреса. Эта задача должна быть решена как для приложений Winsocк, так и NetBIOS (поскольку имена NetBIOS имеют тот же недостаток), и в обоих случаях разрешение имен выполняется различным образом.