Доклад 7 (Лекция 7). Протоколы прикладного уровня: электронной почты, ftp, telnet.
Сервис электронной почты в компьютерных сетях может быть реализуется на двух протоколах прикладного уровня. Протокол SMTP Simple Mail Transfer Protocol – протокол используется для отправки почты, как клиентом на сервер, так и сервером на другой сервер. Порт по умолчанию – 25. Дополненный расширениями протокол SMTP часто называют ESMTP (Extended SMTP). Для начала работы клиент запрашивает соединение с сервером. После успешного установления соединения сервер сообщает клиенту свое доменное имя, тип и версию установленного программного обеспечения. Затем клиент посылает серверу команды и ожидает ответы, либо подтверждающие исполнение команд, либо сообщающих о невозможности исполнения, либо содержащих информацию, запрошенную клиентом.
Сообщение, передаваемое по электронной почте, состоит из трех частей: конверт (envelope); заголовок (header); тело (body).
Сообщение доставляется получателю в виде заголовка и тела. Заголовок состоит из полей: текстовых строк, состоящих из имени поля, двоеточия и содержимого поля. В заголовке допускается использование только символов в кодировке ASCII. Тело сообщения, если это не просто текст, записанный латинскими буквами, должно быть закодировано в соответствии со спецификацией MIME. На приемной стороне тело при необходимости декодируется и преобразуется в понятный пользователю вид. Поля заголовка
Электронная почта в Internet использует маршрутно-независимую адресацию. Формат электронного адреса: имя_пользователя@почтовый_домен
Имя пользователя может состоять из цифр, латинских букв и символов ! # $ % & " * + - / =? ^ _ ` { | } ~ Оно может состоять из нескольких полей, разделенных точкой, которая интерпретируется как часть имени пользователя. Имя почтового домена имеет тот же формат, какой используется в доменных именах Internet. Адрес может содержать комментарии в виде произвольных текстовых строк до и после значимой части. В этом случае значимую часть адреса заключают в угловые скобки. комментарий < имя_пользователя@почтовый_домен > комментарий Для маршрутизации электронной почты в Internet используется система DNS. Получив сообщение, предназначенное для отправки, почтовый сервер посылает запрос DNS с указанием имени почтового домена получателя. В ответ почтовый сервер получает список узлов, принимающих почту для данного домена. Список представляется в виде записей MX (Mail eXchange). Одному имени почтового домена могут соответствовать несколько записей МХ с различными приоритетами. Приоритеты обозначаются целыми числами, с их помощью определяется, в каком порядке почтовому серверу следует обращаться к узлам, принимающим почту для данного домена. Меньшему числу соответствует больший приоритет.
Структура электронной почты в Internet · MUA (Mail User Agent) – пользовательский агент, или клиентская почтовая программа; · MTA (Mail Transfer Agent) – транспортный агент, или почтовый сервер; · LDA (Local Delivery Agent) – агент локальной доставки; · MSA (Message Submission Agent) – агент подачи сообщения. MUA MUA предназначен для подготовки, отправки, получения и просмотра электронных писем. MUA отправителя должен сформировать заголовок сообщения, закодировать и оформить тело в соответствии со стандартом. MUA посылает сообщения по протоколу SMTP через MSA или MTA, используемый для отправки почты. Входящие письма MUA забирает из хранилища сообщений. Для этой цели используется один из двух протоколов:
Довольно большое распространение получили агенты пользователя, использующие интерфейс CGI для доступа пользователя к его почтовому ящику по протоколу НТТР или более безопасному HTTPS при помощи web-браузера. Такую реализацию MUA называют web-mail.
MTA представляют собой узлы, через которые передаются электронные сообщения. Письмо достигает хранилище сообщений, содержащее почтовый ящик получателя, проходя через один или несколько MTA, последний из которых передает письмо агенту локальной доставки (LDA). Каждый МТА, через который проходит почтовое сообщение, добавляет к его заголовку информацию о том, когда и откуда пришло это сообщение. Одной из наиболее популярных программных реализаций МТА является программа sendmail. MSA MSA это разновидность МТА, занимающийся в ряде случаев предварительной обработкой исходящей почты и необходимой корректировкой заголовка электронного письма.
LDA LDA это программа, которая вызывается агентом передачи сообщения для обработки поступившей почты. В основном эта обработка заключается в помещении сообщений в почтовые ящики адресатов, то есть в добавлении сообщений к соответствующим файлам или в размещении их в специальных каталогах пользователей или в базах данных. Для взаимодействия МТА и LDA используются механизмы межпроцессного взаимодействия (IPC). В некоторых случаях LDA может быть реализован как сервер, принимающий от МТА почту по протоколу LMTP (Local Mail Transfer Protocol), аналогичному SMTP. Хранилище сообщений Электронные сообщения помещаются в хранилище сообщений, откуда пользователь может их забрать в удобное для него время, соединившись с хранилищем сообщений по протоколу РОР3 или IMAP. Элемент хранилища сообщений, содержащий электронные сообщения, называется почтовым ящиком.
Доставка почтового сообщения
Процесс доставки электронного сообщения от отправителя к получателю 1. Сообщение, сформированное MUA отправителя, по протоколу SMTP посылается MSA. MSA проверяет, имеет ли данный MUA или пользователь право посылать почту из этой почтовой системы. В случае положительного результата, сообщение принимается для дальнейшей доставки. 2. MSA проверяет заголовок сообщения и, при необходимости, исправляет его. Готовое к отправке сообщение по протоколу SMTP отправляется на МТА исходящей почты. 3. МТА исходящей почты анализирует адрес получателя. Если сообщение предназначено для получателя домена, обслуживаемого данной почтовой системой, то оно доставляется получателю (см. пункты 6 – 10), в противном случае МТА запрашивает информацию о почтовом домене, указанном в адресе получателя, сервер DNS. Получив запрашиваемые данные, сервер DNS сообщает МТА, какие узлы принимают почту для данного домена, их адреса IP и приоритеты. 4. МТА отправителя пытается установить соединение по протоколу с принимающими почту узлами в соответствии с приоритетами, указанными в записях МХ, полученных от сервера DNS. Если соединение ни с одним узлом не удается установить, сообщение помещается в очередь, и через некоторое время попытки установить соединение повторяются. Если соединение установлено, то принимающий МТА, удостоверившись, что сообщение предназначено для пользователя его домена, и что почтовый ящик с указанным адресом действительно существует, принимает сообщение.
5. В принимающей почтовой системе сообщение может пройти через несколько промежуточных МТА, выполняющих различные виды обработки входящей почты: проверку на вирусы, фильтрацию спама, перенаправление к нужному хранилищу сообщений и пр. 6. Последний МТА передает сообщение LDA для локальной доставки. 7. LDA помещает сообщение в почтовый ящик адресата. 8. Получатель обращается к серверу РОР3 или IMAP, чтобы проверить поступившую почту. 9. Сервер забирает сообщение из почтового ящика. 10. Сервер посылает сообщение пользовательскому агенту получателя.
Если по какой-либо причине МТА (SMTP-сервер) отправителя не может связаться с МТА получателя, послание встает в очередь для отправки. Обычно через каждые 15 минут будет производится попытка переслать письмо из очереди. Примерно через четыре часа отправителю будет послано сообщение о проблеме, а спустя пять дней большинство серверов прекращают попытки и возвращают отправителю недоставленную почту, так что бесследно ваше письмо исчезнуть не может.
Протокол POP
Протокол РОР (Post Office Protocol) был разработан в 1984 году, последняя модификация протокола РОР3 используется в настоящее время.
Модель протокола РОР Протокол почтового отделения, версия 3 (POP3) предназначен для получения сообщений, находящихся в почтовом ящике пользователя на удаленном сервере электронной почты. В качестве клиента РОР3 выступает MUA пользователя, а сервер должен иметь доступ к хранилищу сообщений. Информация по протоколу РОР3 передается от сервера к клиенту. Порт по умолчанию – 110. Пользователь может получить доступ к РОР-серверу из любой точки доступа к Интернет. Процесс получения почты по протоколу РОР3 состоит из трех этапов (состояний):
Состояния сеанса РОР3
В ходе сеанса клиент посылает серверу команды, а сервер сообщает о результате выполнения каждой из них. Ответ сервера может иметь два значения:
Протокол IMAP
Протокол IMAP4 (Internet Message Access Protocol) позволяет клиентам получать доступ и манипулировать сообщениями электронной почты на сервере. Был разработан для замены POP3.
Порт по умолчанию – 143. Протокол позволяет работать с несколькими почтовыми ящиками на одном или нескольких серверах IMAP как с файлами и каталогами на собственной машине пользователя. Сервер IMAP способен анализировать сообщение: выделять заданные поля заголовка и разбирать структуру тела сообщения. Несколько клиентов могут одновременно работать с одним и тем же ящиком.
Основные команды SMTP
Если программное обеспечение сервера не поддерживает команду EHLO, то выдается сообщение об ошибке. В этом случае клиент должен попытаться повторить приветствие, используя команду HELO.
В ответ на эту команду сервер сообщает, готов ли он к продолжению диалога.
Отправка электронного сообщения невозможна без успешного выполнения этой команды, для каждого письма команда MAIL должна быть выполнена только один раз. На этот адрес письмо должно вернуться в случае невозможности доставки.
Сервер анализирует каждый адрес и после каждой команды RCPT выдает сообщение, свидетельствующее о возможности или невозможности доставки письма по указанному адресу.
C помощью этой команды серверу передается текст сообщения, состоящий из заголовка и отделенного от него пустой строкой тела сообщения. Передача заканчивается строкой, состоящей из одной точки. Эта строка не является частью сообщения и удаляется на приемной стороне.
Командой QUIT клиент заканчивает диалог с сервером. Сервер посылает подтверждение и закрывает соединение. Получив это подтверждение, клиент тоже прекращает связь.
или Если команда HELP вызывается без параметров, сервер посылает клиенту список доступных команд. Если в качестве параметра передано название команды, то клиенту посылается описание этой команды.
_____________________________________________________________________ Основные команды POP3
Протокол FTP. Протокол TFTP
Служба FTP предназначена для обмена файлами и построена по технологии "клиент-сервер". Взаимодействие клиента и сервера осуществляется по протоколу FTP (File Transfer Protocol – протокол передачи файлов). Клиент посылает запросы серверу, принимает и передает файлы. Сервер обрабатывает запросы клиента, передает и принимает файлы.
Взаимодействие клиента и сервера по протоколу FTP FTP-клиент – это программный интерфейс пользователя, реализующий протокол передачи файлов FTP. Эта программа позволяет пользователю передавать файлы между двумя компьютерами, связанными между собой локальной (LAN) или глобальной (WAN) сетью. При этом компьютерные платформы могут быть различных типов. FTP-серверы, как правило, доступны только для зарегистрированных пользователей и требуют при подключении: Многие FTP-серверы открыты и для свободного доступа, их часто называют анонимными. Для таких серверов Большинство Web-браузеров обеспечивают доступ к FTP-серверам без использования специальных FTP-клиентов. Например, URL-адрес: ftp://ftp.ware.ru/pub/win/internet/ftp/dl.zip означает “связаться с FTP-сервером с правами для анонимных пользователей, перейти в каталог pub, далее в каталог win, каталог internet, каталог ftp и взять файл dl.zip”. Сеанс работы с FTP-сервером можно провести в режиме командной строки. Для этого необходимо ввести команду ftp и после пробела ввести IP-адрес или DNS-адрес FTP-сервера. Если регистрация прошла успешно и связь установлена, то с помощью команд FTP можно выполнить все действия по работе с файлами. Протокол FTP Протокол FTP (File Transfer Protocol – протокол передачи файлов) используется службой FTP для передачи файлов, непосредственно взаимодействует с протоколом транспортного уровня TCP. FTP отличается от других приложений тем, что он использует два TCP соединения для передачи файла: 11. Управляющее соединение – соединение для посылки команд серверу и получения ответов от него. Для организации такого соединения используется протокол Telnet. Telnet-соединение устанавливается в один шаг – посылка запроса и ожидание ответа, получение которого свидетельствует о возможности передачи команд FTP. Канал управления существует на протяжении всей FTP-сессии и закрывается после завершения информационного обмена. 12. Соединение данных – соединение для передачи файлов. Передача файлов после установленного Telnet-соединения осуществляется через логическое соединение, организуемое протоколом TCP, который проверяет доступность портов, закрепленных за FTP. Канал данных формируется и ликвидируется по мере необходимости. Протокол FTP предусматривает два возможных режима установления связи для обмена файлами: · активный режим; · пассивный режим. Активный режим Действия клиента и сервера: 1. клиент устанавливает связь и посылает с нестандартного порта N (N>1024) запрос на порт сервера; 2. сервер посылает ответ на порт N клиента; 13. сервер устанавливает связь для передачи данных по порту 20 на порт клиента N+1. Пример установления связи для обмена файлами в активном режиме
Активный режим выгоден для FTP-сервера, но вреден для клиента. Так как FTP сервер пытается соединиться со случайным высоким (по номеру) портом на клиенте, то такое соединение может быть блокировано брандмауэром на стороне клиента. Пассивный режим Действия клиента и сервера 1.клиент устанавливает связь и посылает запрос (сообщает, что надо работать в пассивном режиме) на 21 порт сервера с нестандартного порта N (N>1024); 2.сервер назначает нестандартный порт P для канала данных (P>1024) и посылает на порт N клиента ответ, в котором сообщает номер порта P; 3.клиент устанавливает связь для передачи данных по порту N+1 на порт сервера P. Пассивный режим выгоден для клиента, но вреден для FTP-сервера. Клиент будет делать два соединения к серверу, при этом второе будет к случайному высокому порту. Такое соединение может быть блокировано брандмауэром на стороне сервера. Схема соединения по протоколу FTP в активном режиме Работа FTP на пользовательском уровне при передаче файлов содержит несколько этапов: 1.Идентификация (ввод имени-идентификатора и пароля); 2.Выбор каталога; 3.Определение режима обмена: · передача файлов в текстовом виде; · передача файлов в бинарном виде; 4.Выполнение команд обмена; 5.Завершение работы. Протокол FTP определяет запрос-ответный способ взаимодействия между программой-клиентом и программой-сервером. Протокол TFTP Иногда для передачи файлов используется упрощенный протокол TFTP (Trivial File Transfer Protocol – простейший протокол передачи файлов). Он работает поверх транспортного протокола UDP. Обмен осуществляется в стартстопном режиме (с подтверждением доставки каждого переданного информационного блока) пакетами стандартной длины (512 байт) с заголовком (4 байта). Контроль ошибок не выполняется. Пакет считается принятым, если на него получено подтверждение, в противном случае выполняется однократная повторная передача. Для начала обмена клиент случайным образом выбирает уникальный идентификатор TID (номер порта) и выдает на сервер запрос на чтение (RRQ) или запись (WRQ) файла. Запрос отправляется на UDP-порт 69 (порт инициализации). Сервер также случайным образом выбирают номер порта (уникальный идентификатор TID) и выдает клиенту подтверждение готовности (ACK). Затем начинается передача файла (команда DATA, блок данных, номер блока, …). Соединение закрывается после передачи пакета, имеющего длину менее 512 байт, и при получении пакета ERROR. Команды протокола TFTP: 1.Read request (RRQ) – запрос на чтение файла; 2.Write request (WRQ) – запрос на запись файла; 3.Data (DATA) – пакет данных; 4.Acknowledgment (ACK) – подтверждение; 5.Error (ERROR) – ошибка. Обычно TFTP используется при загрузке ОС в бездисковые рабочие станции и для загрузки конфигурационных файлов в маршрутизатор. Отсутствие авторизации в TFTP может явиться одной из угроз безопасности.
Протокол TELNET
Служба Telnet предназначена для эмуляции удаленного терминала и состоит из:
TELNET (TErminaL NETworking) – протокол и программные средства, позволяющие подключаться к удалённой машине и работать с ней через эмулируемый терминал (протокол виртуального терминала). Обеспечивает двунаправленную передачу данных. Стандартно используется 7-битовый код ASCII в 8-битовой упаковке. Соединение TELNET создается на базе соединения TCP, используемого для передачи данных и управляющей информации TELNET. Соединение TCP создается между некоторым выбираемым пользователем-инициатором (Telnet-клиентом) портом и портом с номером 23, закрепленным за протоколом TELNET на удаленной машине (Telnet-сервере). Протокол TELNET базируется на следующих трех принципах:
NVT – это воображаемое устройство, находящееся на обоих концах соединения, у клиента и сервера, с помощью которого устанавливается соответствие между их реальными терминалами. Модель, лежащая в основе TELNET, состоит из двух NVT, имеющих клавиатуру и экран и соединенных информационными каналами. Клавиатура одного NVT соединена с экраном удаленного NVT и наоборот. Возможен режим эхоотображения (как местного, так и удаленного) символов, поступающих с клавиатуры, на местный экран. В протоколе TELNET предусмотрены следующие типы команд:
Режимы функционирования Telnet-клиентов и серверов:
Читайте также: II. ПРОГРАММА ТЕОРЕТИКО-ПРИКЛАДНОГО СОЦИОЛОГИЧЕСКОГО ИССЛЕДОВАНИЯ Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|