SCRIPT обрабатывает данные, которые находятся в буфере отправки на основании правил передачи SCRIPT (подробнее см. главу 5 [117]). Передающий SCRIPT должен дождаться получения порции SACK, в которой передается кумулятивное уведомление о приеме, чтобы удалить данные из буфера отправки сокета.
2.12. Стандартные службы Интернета
В табл. 2.1 перечислены некоторые стандартные службы, предоставляемые большинством реализаций TCP/IP. Заметьте, что все они поддерживают и TCP, и UDP, и номер порта для обоих протоколов один и тот же.
Таблица 2.1. Стандартные службы TCP/IP, предоставляемые в большинстве реализаций
Имя | Порт TCP | Порт UDP | RFC | Описание |
---|---|---|---|---|
echo | 7 | 7 | 862 | Сервер возвращает то, что посылает клиент |
discard | 9 | 9 | 863 | Сервер игнорирует все данные, присланные клиентом |
daytime | 13 | 13 | 867 | Сервер возвращает время и дату в формате, удобном для восприятия человеком |
chargen | 19 | 19 | 864 | TCP-сервер посылает непрерывный поток символов, пока соединение не будет разорвано клиентом. UDP-сервер посылает дейтаграмму со случайным количеством символов каждый раз, когда клиент посылает дейтаграмму |
time | 37 | 37 | 868 | Сервер возвращает текущее время в виде двоичного 32-разрядного числа. Это число представляет собой количество секунд, прошедших с полуночи 1 января 1900 года (UTC) |
Часто эти службы предоставляются демоном 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-телефония) | • | • | • |