Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Доклад 7 (Лекция 7). Протоколы прикладного уровня: электронной почты, ftp, telnet.

 

Сервис электронной почты в компьютерных сетях может быть реализуется на двух протоколах прикладного уровня.

Протокол SMTP

Simple Mail Transfer Protocol – протокол используется для отправки почты, как клиентом на сервер, так и сервером на другой сервер.

Порт по умолчанию – 25.

Дополненный расширениями протокол SMTP часто называют ESMTP (Extended SMTP).

Для начала работы клиент запрашивает соединение с сервером. После успешного установления соединения сервер сообщает клиенту свое доменное имя, тип и версию установленного программного обеспечения.

Затем клиент посылает серверу команды и ожидает ответы, либо подтверждающие исполнение команд, либо сообщающих о невозможности исполнения, либо содержащих информацию, запрошенную клиентом.

 

Сообщение, передаваемое по электронной почте, состоит из трех частей:

конверт (envelope);

заголовок (header);

тело (body).

 

Сообщение доставляется получателю в виде заголовка и тела.

Заголовок состоит из полей: текстовых строк, состоящих из имени поля, двоеточия и содержимого поля.

В заголовке допускается использование только символов в кодировке ASCII.

Тело сообщения, если это не просто текст, записанный латинскими буквами, должно быть закодировано в соответствии со спецификацией MIME. На приемной стороне тело при необходимости декодируется и преобразуется в понятный пользователю вид.

Поля заголовка

Название поля Значение поля
Date: Время отправки сообщения
From: Адрес отправителя
Reply-To: Адрес для ответа
To: Адреса получателей
Cc: Адреса получателей копий
Bcc: Адреса получателей скрытых копий.
Message-ID: Уникальный идентификатор сообщения
In-Reply-To: Уникальный идентификатор сообщения, на которое отвечает данное сообщение
References: Уникальные идентификаторы всех сообщений в цепочке ответов
Subject: Тема сообщения
Return-Path: Адрес отправителя, указанный на конверте сообщения
Received: Информация о прохождении сообщения. Каждый узел, через который прошло сообщение, должен добавить в заголовок поле "Received:", содержащее имена и адреса IP узлов, пославших и принявших сообщение, время прохождения и пр.
X-Mailer: Тип и версия почтовой программы клиента
MIME-Version: Используемая версия MIME
Content-Type: Тип данных, используемых в теле сообщения
Content-Transfer-Encoding: Способ кодирования символов, используемый в тексте сообщения
Comments: Комментарии
Priority: Приоритет письма (Normal, Urgent, Nonurgent)
Importance: Важность сообщения (High, Normal, Low)
Organization: Название организации отправителя

 

Электронная почта в Internet использует маршрутно-независимую адресацию. Формат электронного адреса:

имя_пользователя@почтовый_домен


где имя_пользователя – идентификатор пользователя, уникальный в пределах одного почтового домена;
@ (коммерческое at) – символ-разделитель;
почтовый_домен – уникальный идентификатор почтовой системы.

Имя пользователя может состоять из цифр, латинских букв и символов

! # $ % & " * + - / =? ^ _ ` { | } ~

Оно может состоять из нескольких полей, разделенных точкой, которая интерпретируется как часть имени пользователя.

Имя почтового домена имеет тот же формат, какой используется в доменных именах 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 забирает из хранилища сообщений. Для этой цели используется один из двух протоколов:

  • Post Office Protocol - Version 3 (POP3) – протокол почтового отделения, версия 3;
  • Internet Message Access Protocol (IMAP) – протокол доступа к сообщениям, обладающий более широкими возможностями манипулирования почтовыми ящиками, чем РОР3.

 
 

Довольно большое распространение получили агенты пользователя, использующие интерфейс 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

 

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

Ответ сервера может иметь два значения:

  • +OK - успешное завершение;
  • –ERR - неуспешное завершение.

 

Протокол IMAP

 

Протокол IMAP4 (Internet Message Access Protocol) позволяет клиентам получать доступ и манипулировать сообщениями электронной почты на сервере. Был разработан для замены POP3.

Порт по умолчанию – 143.

Протокол позволяет работать с несколькими почтовыми ящиками на одном или нескольких серверах IMAP как с файлами и каталогами на собственной машине пользователя. Сервер IMAP способен анализировать сообщение: выделять заданные поля заголовка и разбирать структуру тела сообщения. Несколько клиентов могут одновременно работать с одним и тем же ящиком.

 

Основные команды SMTP


EHLO (Расширенное HELO)
Формат команды:
EHLO полное_доменное_имя_клиента CRLF
или
EHLO адрес_отправителя CRLF

Если программное обеспечение сервера не поддерживает команду EHLO, то выдается сообщение об ошибке. В этом случае клиент должен попытаться повторить приветствие, используя команду HELO.


HELO (Приветствие)
Формат команды:
HЕLO полное_доменное_имя_клиента CRLF
или HЕLO адрес_отправителя CRLF

В ответ на эту команду сервер сообщает, готов ли он к продолжению диалога.


MAIL (Отправитель)
Формат команды:
MAIL FROM: адрес_отправителя дополнительные_параметры CRLF

Отправка электронного сообщения невозможна без успешного выполнения этой команды, для каждого письма команда MAIL должна быть выполнена только один раз.

На этот адрес письмо должно вернуться в случае невозможности доставки.


RCPT (Получатель)
Формат команды:
RCPT TO: адрес_получателя дополнительные_параметры CRLF

Сервер анализирует каждый адрес и после каждой команды RCPT выдает сообщение, свидетельствующее о возможности или невозможности доставки письма по указанному адресу.


DATA (Текст сообщения)
Формат команды:
DATA CRLF

C помощью этой команды серверу передается текст сообщения, состоящий из заголовка и отделенного от него пустой строкой тела сообщения.

Передача заканчивается строкой, состоящей из одной точки. Эта строка не является частью сообщения и удаляется на приемной стороне.


QUIT (Выход)
Формат команды:
QUIT CRLF

Командой QUIT клиент заканчивает диалог с сервером. Сервер посылает подтверждение и закрывает соединение. Получив это подтверждение, клиент тоже прекращает связь.


HELP (Помощь)
Формат команды:
HELP команда CRLF

или
HELP CRLF

Если команда HELP вызывается без параметров, сервер посылает клиенту список доступных команд. Если в качестве параметра передано название команды, то клиенту посылается описание этой команды.


QUIT
Закрытие сеанса связи

_____________________________________________________________________

Основные команды POP3


USER
Имя пользователя, оно является и идентификатором почтового ящика.


PASS
Пароль пользователя.


STAT
В ответ на команду STAT сервер возвращает количество сообщений и общее количество байтов в сообщениях.


LIST
Ответ на команду LIST без аргумента: список сообщений в почтовом ящике, содержащий их порядковые номера и размеры в байтах.
Если в качестве аргумента команды LIST указать номер сообщения, то в ответе будет содержаться информация только об одном запрошенном сообщении.


RETR
Требует в качестве аргумента номер существующего и не помеченного для удаления сообщения. В ответ сервер присылает запрошенное сообщение.


TOP
Команда возвращает заголовок, пустую строку и первые n строк тела сообщения. Первый аргумент – номер сообщения, второй аргумент – n.


DELE
Требует в качестве аргумента номер существующего и не помеченного для удаления сообщения. Указанное сообщение помечается для удаления. До конца сеанса обращаться к нему становится невозможно. После окончания диалога, когда сеанс переходит в состояние обновления, сообщение удаляется окончательно.


NOOP
Проверка соединения.


RSET
Сервер снимает все установленные ранее пометки для удаления.


QUIT
Завершение сеанса (переход в режим обновление - UPDATE). Если в ходе сеанса какие-то сообщения были помечены для удаления, то после выполнения команды QUIT они удаляются из ящика.

 

 

Протокол FTP. Протокол TFTP

 

 
 

Служба FTP предназначена для обмена файлами и построена по технологии "клиент-сервер". Взаимодействие клиента и сервера осуществляется по протоколу FTP (File Transfer Protocol – протокол передачи файлов).
Клиент посылает запросы серверу, принимает и передает файлы.
Сервер обрабатывает запросы клиента, передает и принимает файлы.

 

Взаимодействие клиента и сервера по протоколу FTP

FTP-клиент – это программный интерфейс пользователя, реализующий протокол передачи файлов FTP. Эта программа позволяет пользователю передавать файлы между двумя компьютерами, связанными между собой локальной (LAN) или глобальной (WAN) сетью. При этом компьютерные платформы могут быть различных типов.

FTP-серверы, как правило, доступны только для зарегистрированных пользователей и требуют при подключении:
ввода идентификатора (login – входное имя)
и пароля (password).

Многие FTP-серверы открыты и для свободного доступа, их часто называют анонимными. Для таких серверов
login (входное имя) – anonymous,
а в качестве пароля (password) рекомендуют ввести адрес своей электронной почты.

Большинство 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-интерфейса пользователя
  • telnet-процесса (серверная часть);
  • TELNET-протокола.

TELNET (TErminaL NETworking) – протокол и программные средства, позволяющие подключаться к удалённой машине и работать с ней через эмулируемый терминал (протокол виртуального терминала). Обеспечивает двунаправленную передачу данных. Стандартно используется 7-битовый код ASCII в 8-битовой упаковке.

Соединение TELNET создается на базе соединения TCP, используемого для передачи данных и управляющей информации TELNET. Соединение TCP создается между некоторым выбираемым пользователем-инициатором (Telnet-клиентом) портом и портом с номером 23, закрепленным за протоколом TELNET на удаленной машине (Telnet-сервере).

Протокол TELNET базируется на следующих трех принципах:

  • концепции сетевого виртуального терминала (NVT - network virtual terminal);
  • согласования дополнительных режимов;
  • симметричности терминалов и процессов.

NVT – это воображаемое устройство, находящееся на обоих концах соединения, у клиента и сервера, с помощью которого устанавливается соответствие между их реальными терминалами.

Модель, лежащая в основе TELNET, состоит из двух NVT, имеющих клавиатуру и экран и соединенных информационными каналами. Клавиатура одного NVT соединена с экраном удаленного NVT и наоборот. Возможен режим эхоотображения (как местного, так и удаленного) символов, поступающих с клавиатуры, на местный экран.


Модель, лежащая в основе TELNET

В протоколе TELNET предусмотрены следующие типы команд:

  • команды для согласования дополнительных режимов (опций);
  • команды управления и редактирования - ПРЕРЫВАНИЕ, ПРОВЕРКА ГОТОВНОСТИ, СТИРАНИЕ СИМВОЛА, СТИРАНИЕ СТРОКИ.

Режимы функционирования Telnet-клиентов и серверов:

  • полудуплексный;
  • символ за один раз;
  • строка за один раз.

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...