Читать «UNIX: разработка сетевых приложений» онлайн - страница 52

Уильям Ричард Стивенс

Часто эти службы предоставляются демоном inetd на узлах Unix (см. раздел 13.5). Стандартные службы делают возможным простейшее тестирование при помощи стандартного клиента Telnet.

Вот, например, тесты для сервера, определяющего время и дату, и для эхо-сервера.

aix % telnet freebsd daytime

Trying 12.106.32.254...            вывод клиента Telnet

Connected to freebsd.unpbook.com   вывод клиента Telnet

Escape character is '^]'.          вывод клиента Telnet

Mon Jul 28 11:56:22 2003           вывод сервера времени и даты

Connection closed by foreign host. вывод клиента Telnet (сервер закрыл

                                   соединение)

aix % telnet freebsd echo

Trying 12.106.32.254...          вывод клиента Telnet

Connected to freebsd.unpbook.com вывод клиента Telnet

Escape character is '^]'.        вывод клиента Telnet

hello, world                     ввод с клавиатуры

hello, world                     эхо-ответ сервера

^]                 ввод с клавиатуры для обращения к клиенту Telnet

telnet> quit       команда клиенту на завершение соединения

Connection closed. на этот раз соединение завершает клиент

В этих двух примерах мы вводим имя узла и название службы (daytime и echo). Соответствие названий служб и номеров портов (см. табл. 2.1) устанавливается в файле /etc/services (см. раздел 11.5).

Заметьте, что когда мы соединяемся с сервером daytime, сервер выполняет активное закрытие. В случае эхо-сервера активное закрытие выполняет клиент. Вспомним рис. 2.4, где показано, что узел, выполняющий активное закрытие, — это узел, проходящий состояние TIME_WAIT.

В современных системах стандартные службы чаще всего отключены по умолчанию, потому что через них могут быть проведены атаки типа «отказ в обслуживании» и другие, связанные с чрезмерным потреблением ресурсов.

2.13. Использование протоколов типичными приложениями Интернета

Таблица 2.2 иллюстрирует использование протоколов типичными приложениями Интернета.

Таблица 2.2. Использование протоколов типичными приложениями Интернета

Приложение IP ICMP UDP TCP SCRIPT
ping
traceroute
OSPF (протокол маршрутизации)
RIP (протокол маршрутизации)
BGP (протокол маршрутизации)
BOOTP (протокол bootstrap — протокол дистанционной загрузки и запуска устройств в сети)
DHCP (протокол bootstrap)
NTP (синхронизирующий сетевой протокол)
TFTP (упрощенный протокол передачи файлов)
SNMP (управление сетью)
SMTP (электронная почта)
Telnet (удаленный вход в систему)
FTP (передача файлов)
HTTP (протокол передачи HTML-файлов по сети WWW)
NNTP (сетевой протокол передачи новостей)
DNS (система доменных имен)
NFS (сетевая файловая система)
Sun RPC (удаленный вызов процедур)
DCE RPC (удаленный вызов процедур)
IUA (ISDN поверх IP)
M2UA, M3UA (телефонная связь SS7)
H.248 (управление шлюзом)
H.323 (IP-телефония)
SIP (IP-телефония)