Адресация процессов
Для успешного обмена сообщениями между процессами, выполняющимися на двух различных хостах, необходимо, чтобы они могли идентифицировать друг друга. Идентификация требует наличия следующей информации о процессе:
□ имя или адрес хоста, которому принадлежит процесс;
□ идентификатор процесса внутри хоста.
Сначала рассмотрим адрес хоста. В Интернет-приложениях хосты идентифицируются с помощью IP-адресов, которые будут подробно изучены нами в главе 4. Пока нам достаточно знать, что IP-адрес представляет собой 32-разрядное двоичное число, уникальное для каждого хоста сети (говоря точнее, это число уникально для каждого интерфейса, с помощью которого осуществляется подключение хоста к сети). Проблема уникальности IP-адресов является очень важной, и в главе 4 мы подробно ее обсудим.
Идентификация процесса внутри хоста производится с помощью уникального для каждого процесса хоста номера порта. Популярные Интернет-протоколы прикладного уровня имеют стандартизированные (говорят: хорошо известные) значения номеров портов. Так, процесс, использующий протокол HTTP, получает порт номер 80, а процесс, использующий протокол SMTP, — порт номер 25. Хорошо известные номера портов можно найти в документе RFC 1700 (который в настоящее время является несколько устаревшим) и на сайте _http://www.iana.org (RFC 3232). Когда разработчик создает новое сетевое приложение, он должен назначить приложению собственный номер порта.