OSI и ее протоколы. Часть 2

Напомню нашим читателям, что в первой части статьи мы коснулись краткого описания протоколов OSI. Следующим протоколом в нашем списке идет TELNET.

Протокол TELNET существует уже давно. Он хорошо опробован и широко распространен. Создано множество реализаций для самых разных операционных систем. TELNET представляет собой протокол эмуляции терминала, широко используемый в Интернете для входа в систему на сетевых компьютерах. Что это значит? Ни много ни мало данный протокол позволяет удаленному пользователю, установив TCP-соединение с сервером, передавать ему команды, как если бы работа проводилась локально на консоли сервера. Работа TELNET организована по принципу взаимодействия клиент/сервер и основана на базе протокола TCP. Сервер Telnet выполняет роль шлюза, через который клиенты Telnet взаимодействуют друг с другом. Обмен данными по протоколу осуществляется по дуплексному многопользовательскому протоколу: один сервер рассчитан на обслуживание одновременно нескольких клиентов (встроенный в Windows XP сервер Telnet поддерживает не более двух клиентов Telnet). Протокол держится на трех главных принципах:

. NVT, или Netvork Virtual Terminal — принцип виртуальных терминалов. Согласно данному принципу каждый участник соединения выполняет роль виртуального сетевого терминала.
. Принцип №2, или принцип дополнительных сервисов. Если хост предоставляет дополнительный сервис (не NVT, а любой другой), и клиент в состоянии его использовать, то telnet предоставляет возможность сделать это.
. И, наконец, принцип №3 — принцип синхронизированной симметрии терминалов и сервисов. Все участники соединения равноправны.

Яркий пример использование протокола — программа Hyper Terminal, которая отличается от "черного окна" наличием GUI (Graphic User Interface):

Рис. 1. HyperTerminal

Вскоре после своего появления на свет протокол Telnet приобрел необычайную популярность, которая в большей степени была обусловлена относительной простотой и высокой функциональностью. Однако идеальным Telnet не мог стать в принципе, хотя бы потому, что имел существенный недостаток — данные по протоколу передаются в сеть в открытом виде, т.е. не шифруются. Результат — слабая защищенность. Решением данной задачи стало создание SSH как более защищенного протокола.

SSH (Secure Shell)

SSH (Secure Shell) — сетевой протокол прикладного уровня, позволяющий производить удаленное управление компьютером и передачу файлов. По функциональности аналогичен протоколу Telnet с той лишь разницей, что использует алгоритмы шифрования передаваемой информации. Криптографическая защита протокола SSH может быть построена на различных алгоритмах шифрования. Как клиенты, так и серверы, поддерживающие данный протокол, многоплатформенны, однако с уклоном на UNIX: поддержка SSH реализована во всех UNIX-системах, и на большинстве из них в числе стандартных утилит присутствуют клиент и сервер ssh. Однако любителям Windows сильно уж огорчаться по этому поводу вовсе не стоит: на сегодняшний день существует множество реализаций SSH-клиентов и для Windows-платформ. Довольно интересной особенностью SSH можно считать его способность туннелировать графический интерфейс — т.н. "X Tunnelling" (только для UNIX-подобных систем или приложений, использующих GUI X Window System); а также передавать через безопасный канал связи (Port Forwarding) внутри себя любой другой сетевой протокол, обеспечивая возможность безопасной пересылки. На данный момент известны две версии протокола: 1.0 и 2.0. Первая из них из-за недопустимо высокого числа обнаруженных уязвимостей была отсеяна еще в конце 90-x. Вторая — 2.0 — широко используется и по сей день.

Протокол TFTP

Протокол TFTP (Trivial File Transfer Protocol), или простой протокол передачи файлов. В качестве транспортной службы этот протокол использует UDP. Изначально он разрабатывался как достаточно простой для выполнения, поэтому не следует удивляться тому, что он во многом уступает всем нам привычному FTP. С помощью этого протокола можно только скачивать или закачивать файлы. В протоколе TFTP не предусмотрена возможность просмотра содержимого директорий и аутентификация пользователя. TFTP осуществляет обмен файлами с удаленным компьютером — обычно под управлением UNIX, на котором выполняется служба или демон протокола Trivial File Transfer Protocol (TFTP). Синтаксис команд данного протокола выглядит следующим образом:
tftp [-i] [узел] [{get | put}] [источник] [результат]

А теперь расшифруем:
-i — задает режим передачи двоичных файлов (иногда называемых режимом октета). Если ключ -i не задан, передача производится в текстовом режиме ASCII. Этот режим используется по умолчанию.
узел — указывает имя локального или удаленного компьютера.
put — передает файл-источник с локального компьютера в файл-результат на удаленном компьютере. Так как протокол TFTP не поддерживает проверку полномочий пользователя, пользователь должен войти в систему на удаленном компьютере и иметь права записи файлов.
get — передает файл-источник с удаленного компьютера в файл-результат на локальном компьютере.
источник — задает имя файла для передачи.
результат — задает, куда записывать получаемый файл. Если имя результата не задано, будет использовано имя источника.
/? — отображает справку в командной строке.
С точки зрения безопасности TFTP далеко не идеален: как уже было сказано выше, пакеты данного протокола передаются без аутентификационных данных, что с легкостью может быть использовано для несанкционированного удаленного доступа. Чтобы предотвратить подобный доступ, большинство TFTP-серверов должны регламентировать, какие именно файлы могут быть получены с использованием TFTP.

SMB

Протокол SMB (Server Message Block) относится к стеку протоколов NetBios/SMB и соответствует прикладному и представительному уровням модели OSI. Данный протокол описывает правила взаимодействия рабочей станции с сервером. На основе SMB реализуется файловая служба, а также служба печати и передачи сообщений. Если более подробно, то посредством SMB осуществляется:
1. Управление сессиями связи: инициализация и разрыв канала между рабочей станцией и сетевыми ресурсами файлового сервера.
2. Файловый доступ. Результатом обращения рабочей станции к файловому серверу может стать создание и удаление каталогов, создание, открытие и закрытие файлов, чтение и запись в файлы, переименование и удаление файлов, поиск файлов, получение и установка файловых атрибутов, блокировка записей.
3. Сервис печати. Посредством SMB рабочая станция организует очередь файлов (на печать) на сервере.
4. Сервис сообщений. SMB поддерживает простую передачу сообщений. Можно послать простое сообщение, широковещательное сообщение, послать начало блока сообщений, переслать имя пользователя или получить имя машины.

POP3

Популярный протокол для получения сообщений электронной почты. На серверах POP3 разрешен доступ только к одному почтовому ящику, в отличие от серверов IMAP, которые предоставляют доступ к нескольким папкам на сервере (cм. далее). Чисто условно сеанс POP3 можно разделить на две фазы: фазу аутентификации и фазу обмена данными. В фазе аутентификации пользователь должен сообщить свой идентификатор и пароль. Если аутентификация была произведена успешно, то система позволяет работать с содержимым почтового ящика. POP3 очень похож на SMTP с той только разницей, что сообщения можно принимать, но нельзя отправлять. Команды POP3 передаются в ходе сеанса Telnet через 110 TCP порт. Когда соединение установлено, сервер отправляет приглашение. Затем клиент и сервер POP3 обмениваются информацией до тех пор, пока соединение не будет закрыто или прервано (если клиент и сервер некоторое время (обычно 10 минут) не взаимодействуют друг с другом, сервер автоматически прерывает соединение и при этом не переходит в т.н. режим update). POP3-сессия состоит из нескольких режимов. Как только сервер отправил приглашение клиенту, сессия переходит в режим authorization (авторизация). В этом режиме клиент должен идентифицировать себя на сервере. После успешной идентификации сессия переходит в режим transaction (передача). В этом режиме клиент запрашивает сервер выполнить определенные команды. Когда клиент отправляет команду QUIT, сессия переходит в режим UPDATE. В этом режиме POP3-сервер освобождает все занятые ресурсы и завершает работу. После этого TCP- соединение закрывается. Примеры команд POP3:

user и pass — команды фазы аутентификации (авторизации), за которыми следуют логин и пароль соответственно;
stat — выдает статус почтового ящика клиента;
list — система сообщает число сообщений и их размер в байтах;
retr — выдает текст сообщения;
dele — команда подготовки сообщения к удалению (сообщения удаляются только в момент окончания сеанса, а во время сеанса помечаются как удаленные);
rset — снимает метку на удаление сообщения;
quit — завершает сеанс работы с сервером.

Рис. 2. Сеанс POP3

SMTP

Simple Mail Transfer Protocol — протокол управляет обменом сообщениями электронной почты между агентами передачи сообщений. В отличие от POP3, который предназначен для приема почты, SMTP — протокол передачи. Отличительной особенностью данного протокола связи, пожалуй, следует считать его мультипрофильность: SMTP не зависит от транспортной среды и может использоваться для доставки почты в сетях с различными протоколами, отличными от TCP/IP. В основе такой универсальности лежит технология IPCE (InterProcess Communication Environment), которая позволяет взаимодействовать процессам, поддерживающим SMTP в интерактивном режиме. Взаимодействие в рамках SMTP строится по принципу двусторонней связи. Между отправителем и получателем почтового сообщения устанавливается соединение, при котором отправитель инициирует сеанс и посылает запросы на обслуживание, а получатель отвечает на эти запросы. При такой схеме взаимодействия можно считать, что отправитель выступает в роли клиента, а получатель — в роли сервера. Для инициализации канала обмена почтой и его закрытия используются команды HELO и QUIT соответственно. Протокол допускает рассылку почтовых сообщений в режиме оповещения: в этом случае отправитель в адресе получателя указывает несколько пользователей или один групповой адрес. Для отладки или проверки соединения по SMTP можно использовать telnet. Для этого вслед за адресом машины следует ввести номер порта.

IMAP

IMAP (Internet Message Access Protocol) — интернет-протокол прикладного уровня для доступа к электронной почте. В отличие от уже упоминавшегося POP3, IMAP предоставляет пользователю куда большие возможности для работы с почтовыми ящиками, находящимися на центральном сервере. Почтовая программа, использующая этот протокол, получает доступ к хранилищу корреспонденции на сервере так, как будто эта корреспонденция расположена на компьютере получателя. Электронными письмами можно манипулировать с компьютера пользователя (клиента) без необходимости постоянной пересылки с сервера и обратно файлов с полным содержанием писем, что достаточно удобно.

NNTP

NNTP — основной и единственный протокол, по которому пользователи могут подключаться к news-серверам и участвовать в дискуссиях. NNTP работает на 119-м TCP-порту (при подключении к NNTP-серверу по SSL (т.н. NNTPS) используется порт 563). Структура протокола напоминает протоколы приема и передачи электронной почты. Основные отличия технологии NNTP от e-mail следующие:
. Отсылаемые сообщения общедоступны;
. Сообщения сгруппированы по темам обсуждения;
. Возможно отозвать посланное сообщение.
Фактически решения на технологии NNTP очень похожи на веб-форумы за исключением того, что копия базы данных сообщений хранится на компьютере пользователя (или хотя бы список тем сообщений на усмотрение пользователя).

DHCP

DHCP (от англ. Dynamic Host Configuration Protocol — протокол динамической конфигурации узла) — это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Для этого компьютер обращается к специальному серверу, называемому сервером DHCP. Сетевой администратор может задать диапазон адресов, распределяемых среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает количество ошибок. Протокол DHCP используется в большинстве крупных сетей TCP/IP. DHCP является расширением протокола BOOTP, использовавшегося ранее для обеспечения бездисковых рабочих станций IP-адресами при их загрузке. DHCP сохраняет обратную совместимость с BOOTP. Стандарт протокола DHCP был принят в октябре 1993 г. Последняя версия протокола (март 1997 г.) описана в RFC 2131. Новая версия DHCP, предназначенная для использования в среде IPv6, носит название DHCPv6 и определена в RFC 3315 (июль 2003 г.).

DNS

Протокол DNS (Domain Name System) выполняет две основные функции. Он позволяет клиентским компьютерам запрашивать DNS-сервер об IP-адресе или имени какого-либо хоста в сети, а также производить обмен информацией между базами данных серверов DNS. В этом протоколе используется стандартный формат типа "запрос/ответ", где клиент посылает пакет запроса, и сервер отвечает либо пакетом с информацией, полученной из базы данных, либо сообщением об ошибке, в котором указывается причина отказа в обработке запроса. В своей работе этот протокол использует порт 53 и хорошо известные протоколы — TCP или UDP.

IRC

IRC (англ. Internet Relay Chat — ретранслируемый интернет-чат) — сетевой сервис, обслуживаемый одноименным протоколом. Был создан в 1988 году финским студентом Ярко Ойкариненом (Jarkko Oikarinen) как система, при помощи которой можно общаться через сеть Интернет в режиме реального времени. На компьютерном сленге IRC часто называют "ирцем" и даже "иркой" или просто "каналами" (см. далее). Популярность IRC начала стремительно нарастать… после операции "Буря в пустыне" (1991 г.), когда сообщения со всего мира собирались в одном месте и в режиме online транслировались в IRC. Подобным образом IRC использовался все в том же 1991-м во время путча в СССР, когда пользователи из Москвы в реальном времени сообщали всему миру о происходящем на улицах.

При подключении к серверу IRC с помощью клиента IRC пользователь может войти в любой из доступных ему каналов. Канал представляет собой виртуальную "комнату", в которой общаются несколько пользователей. Понятно, что все сообщения, попадающие в канал, видны всем пользователям данного канала. Каждый канал имеет свое название и, как правило, определенную тему. В IRC нет ограничения на количество людей, которые могут находиться одновременно на канале, а также никаких ограничений на количество каналов, которые могут формироваться на сервере. Разные серверы могут объединяться в сети с единым пространством имен пользователей и каналов. Крупные мировые IRC-сети в своем составе могут насчитывать сотни серверов. Как яркий пример использования IRC можно привести программу mIRC, которую в народе ласково обзывают "миркой".
Заканчивая разговор о протоколах прикладного уровня, следует сказать следующее: их общее количество на самом деле огромно и отнюдь не ограничивается описанными выше. Некоторые из них можно считать старожилами, появившимися еще на заре развития сети Internet (FTP, Telnet), другие — например, SNMP — достаточно молоды. В любом случае общее количество протоколов прикладного уровня постоянно растет, и это понятно: появляются новые прикладные задачи, а вместе с ними — и новые протоколы.

Продолжение следует

Олег Бойцев, Boyscout_zone@mail.ru


Компьютерная газета. Статья была опубликована в номере 06 за 2007 год в рубрике сети

©1997-2024 Компьютерная газета