Протоколы TCP/IP прикладного уровня
Верхний уровень TCP/IP - это уровень приложений, или прикладной уровень.

При отправке данных от одного приложения приложению другого хоста сети, данные приложения передаются на нижний транспортный уровень, где информация подготавливается к передаче.
Ниже приведен список стандартных протоколов Internet прикладного уровня:
- Протокол имен доменов
- Протокол внешних шлюзов
- Протокол передачи файлов
- Протокол Name/Finger
- Протокол Telnet
- Упрощенный протокол передачи файлов
Помимо стандартных протоколов, в TCP/IP реализован ряд других популярных протоколов Internet прикладного уровня. Среди них такие протоколы, как:
- Протокол локальной сети Distributed Computer Network (DCN)
- Протокол удаленного выполнения команд
- Протокол удаленного входа в систему
- Протокол удаленной оболочки
- Протокол Wake On LAN
- Протокол информации о маршрутизации
- Протокол сервера времени
В TCP/IP не предусмотрены API для этих протоколов прикладного уровня.
Протокол имен доменов
Протокол имен доменов (DOMAIN позволяет хосту выступать в качестве сервера имен для других хостов.
В качестве протокола нижнего уровня протокол DOMAIN применяет UDP или TCP. С помощью этого протокола имена хостов в локальной сети из одного домена могут присваиваться независимо от других доменов. Обычно протокол DOMAIN работает на основе UDP. Однако если ответные сообщения протокола UDP усекаются, то вместо него применяется TCP. Протокол DOMAIN в TCP/IP поддерживает оба транспортных протокола.
В иерархической системе имен DOMAIN для преобразования имен и адресов Internet применяются локальные процедуры преобразования, работающие на основе локальной базы данных имен, которая обслуживается демоном named. Если указанное хостом имя отсутствует в локальной базе данных, процедура преобразования обращается к удаленному серверу имен DOMAIN. Если необходимая информация не найдена и на удаленном сервере, то процедура преобразования просматривает файл /etc/hosts.
Протокол DOMAIN реализован в TCP/IP в виде демона named и процедур преобразования. Для него не предусмотрен API.
Протокол внешних шлюзов
Протокол внешних шлюзов (EGP) позволяет внешними шлюзам автономных систем обмениваться информацией о маршрутизации.
Автономные системы
Если шлюз расположен в той же самой автономной системе, то он называется внутренним соседом, а если в другой автономной системе, то внешним соседом. Шлюзы, которые применяют протокол EGP для обмена информацией о маршрутизации, называются равноправными шлюзами EGP или партнерами. С помощью EGP шлюзы автономных систем предоставляют доступ к информации своим соседям EGP.
С помощью протокола EGP внешние шлюзы могут запрашивать у других внешних шлюзов согласие на обмен информацией о досягаемости сетей, проверять работоспособность соседей EGP и обмениваться сообщениями с информацией об изменении маршрутов.
Протокол EGP позволяет внешним шлюзам обмениваться информацией о досягаемости лишь тех сетей, которые достижимы из автономной сети шлюза. Таким образом, внешний шлюз передает с помощью EGP информацию своим соседям EGP , но не распространяет информацию о соседях EGP за пределы автономной системы.
Протокол EGP не анализирует метрики расстояний, которые указываются в сообщениях о маршрутизации, передаваемых другими протоколами. В поле расстояния EGP указывает, существует ли данный путь (значение 255 означает, что сеть недостижима). Это значение не применяется для выбора наикратчайшего из двух маршрутов, если эти маршруты не относятся к одной автономной системе. Поэтому EGP не применяется в качестве алгоритма маршрутизации. В результате существует только один путь от внешнего шлюза до любой сети.
В отличие от Протокола информации о маршрутизации (RIP), который применяется в автономных системах Internet для динамической настройки маршрутов, маршруты EGP фиксированы и заданы в файле /etc/gated.conf. EGP применяет IP в качестве протокола нижнего уровня.
Типы сообщений EGP
Здесь приведены сведения о различных типах сообщений Протокола внешних шлюзов (EGP).
|
Протокол передачи файлов
Протокол передачи файлов (FTP) предназначен для обмена данными между хостами различных типов, а также для обмена файлами между внешними хостами через промежуточные системы.
FTP служит для выполнения таких задач, как просмотр списка удаленных каталогов, переход в другой удаленный каталог, создание и удаление каталогов в другой системе и передача набора файлов по одному запросу. FTP обеспечивает защиту данных при передаче, отправляя внешнему хосту имя пользователя и пароль учетного файла пользователя. Хотя в основном FTP предназначен для приложений, этот протокол может применяться и для интерактивного диалога между пользователями.
Для передачи файлов протокол FTP применяет соединения TCP/IP, обеспечивающие надежную доставку данных в режиме потока, а для передачи команд и ответов - соединения Telnet. FTP распознает некоторые форматы файлов, в том числе NETASCII, IMAGE и Local 8.
В TCP/IP протокол FTP реализован в виде команд клиента (ftp) и сервера (ftpd). Для него не предусмотрен интерфейс прикладных программ (API).
При создании анонимных пользователей и каталогов ftp убедитесь в том, что эти каталоги (например, /u/ftp) принадлежат
пользователю root и не допускают записи (например, dr-xr-xr-x). Для создания учетных файлов таких
пользователей, файлов и каталогов предназначен сценарий
/usr/samples/tcpip/anon.ftp.
Упрощенный протокол передачи файлов (TFTP)
Упрощенный протокол передачи файлов (TFTP) предназначен для обмена файлами с внешними хостами.
Для передачи файлов TFTP применяется ненадежный Протокол пользовательских дейтаграмм, поэтому он обычно работает быстрее, чем FTP. Как и FTP, TFTP поддерживает передачу файлов в формате NETASCII и в 8-разрядном двоичном формате. В отличие от FTP, TFTP не поддерживает просмотр каталогов или переход в другой каталог внешнего хоста. Кроме того, в нем не предусмотрена защита с помощью пароля. TFTP позволяет работать только с общими каталогами.
В TCP/IP протокол TFTP реализован в виде команд клиента (tftp и utftp) и сервера (tftpd). Команда utftp применяется в конвейере вместо команды tftpd. В TCP/IP не предусмотрен API для данного протокола.
Протокол Name/Finger
Протокол Name/Finger (FINGER) - это протокол Internet прикладного уровня, предоставляющий интерфейс для передачи данных между командой finger и демоном fingerd.
Демон fingerd предоставляет информацию о пользователях, которые в настоящий момент работают на указанном удаленном хосте. Если в команде finger вы укажете пользователя отдельного хоста, то будет показана информация об этом пользователе. Протокол FINGER должен поддерживаться как удаленным, так и локальным хостом. В качестве протокола нижнего уровня FINGER применяет Протокол управления передачей (Протокол управления передачей).
Протокол Telnet
Протокол Telnet (TELNET) предназначен для взаимодействия терминалов и связанных с ними процессов.
TELNET часто применяется программами эмуляции терминала для входа в удаленную систему. Однако TELNET может применяться и для установления соединения между терминалами или процессами. Протокол TELNET применяется многими другими протоколами (например, FTP) для создания канала, предназначенного для передачи управляющей информации.
В TCP/IP протокол TELNET реализован в виде команд клиента tn, telnet или tn3270. Демон telnetd не предоставляет API для работы с TELNET.
В TCP/IP предусмотрены следующие параметры TELNET, которые применяются по согласованию между клиентом и сервером:
| Флаг | Описание |
|---|---|
| BINARY TRANSMISSION (Применяется в сеансах tn3270) | Передача символьной информации в двоичном формате. |
| SUPPRESS GO_AHEAD (Операционная система подавляет опции GO-AHEAD). | После установления соединения между отправителем и получателем данных отправителю не нужно передавать опцию GO_AHEAD. Если опция GO_AHEAD нежелательна, то участники соединения могут ее подавлять при передаче данных в обоих направлениях. Для каждого направления соединения это действие выполняется независимо. |
| TIMING MARK (Запрос распознан, но ответ отрицательный) | Уведомляет, что переданные ранее данные были полностью обработаны. |
| EXTENDED OPTIONS LIST | Увеличивает список опций TELNET еще на 256 опций. В стандартном списке опций TELNET содержится только 256 опций. |
| ECHO (Пользовательская команда) | Передает полученные и выведенные на экран данные обратно отправителю. |
| TERM TYPE | Разрешает серверу определить тип терминала, с которым взаимодействует программа TELNET пользователя. |
| SAK (Ключ защиты) | Настраивает среду, необходимую для установления защищенных соединений между программой TELNET пользователя и удаленным терминалом. |
| NAWS (Согласование размера окна) | Разрешает клиенту и серверу динамически согласовывать размер окна. Этот параметр применяется приложениями, которые поддерживают изменение размера окна в процессе передачи данных. |
Протокол распределенной вычислительной сети
Автономная система - это набор сетей и шлюзов, которые находятся под единым управлением.
Протокол локальной сети (HELLO) - это протокол внутренних шлюзов для автономной системы. (За дополнительной информацией обратитесь к разделу Протокол внешних шлюзов.) HELLO предоставляет информацию о соединениях, маршрутах и времени прохождения пакетов по определенному маршруту. С помощью этой информации любой компьютер сети может определить наикратчайший маршрут к целевому хосту на основе временной задержки, а затем динамически обновить информацию о маршрутах к данному хосту.
Дополнительная информация приведена в описании демона gated.
Протокол удаленного выполнения команд
Протокол удаленного выполнения команд позволяет запускать команды на удаленных хостах, поддерживающих этот протокол. Он реализован в виде команд клиента (rexec) и сервера (rexecd).
Дополнительная информация приведена в описании команды rexec и описании демона rexecd.
Протокол удаленного входа в систему
Протокол удаленного входа в систему позволяет пользователям входить в удаленные системы и работать с их терминалами так, как если бы они были напрямую подключены к этим системам. Этот протокол реализован в виде команд клиента (rlogin) и сервера (rlogind).
Дополнительная информация приведена в описании команды rlogin и описании демона rlogind.
Протокол удаленной оболочки
Протокол удаленной оболочки позволяет запускать командную оболочку на удаленных хостах, поддерживающих этот протокол. Он реализован в виде команд клиента (rshd) и сервера (rshd).
Дополнительная информация приведена в описании команды rsh и описании демона rshd.
Протокол Wake On LAN
Протокол Wake On LAN (WOL) позволяет восстановить работу одного или нескольких хостов, подключенных к сети и находящихся в ждущем режиме. Для восстановления работы применяется особый пакет, отправляемый на заданный адрес или на адреса заданной подсети.
Дополнительная информация об использовании WOL приведена в описании команды wol.
Протокол информации о маршрутизации
Протокол информации о маршрутизации (RIP) собирает информацию о длине маршрута, измеряемой в транзитных участках, а также обслуживает записи таблиц маршрутизации ядра. Он реализован в виде серверов routed и gated.
Дополнительная информация приведена в описании демонов routed и gated.
Протокол сервера времени
Демон timed применяется для синхронизации системного времени хостов.
Он построен по принципу клиент/сервер. Дополнительная информация приведена в описании команды timedc и описании демона timed.