- •Технологии построения локальных сетей (Колчин)
- •1. Эталонная модель взаимодействия открытых систем (osi)
- •2. Методы кодирования информации в сетях Ethernet
- •3. Топология локальных сетей
- •4. Ethernet 10/100 Мбит/с
- •6. Метод доступа в сетях Ethernet (csma/cd)
- •7. Структура кадра Ethernet, полезная нагрузка, min размер кадров
- •Коммутаторы Ethernet второго уровня
- •9. Ip v4. Заголовок ip. Тип сервиса
- •10. Адресация межсетевого протокола. Маска подсети. Ip mtu
- •12. Фрагментация протокола ip
- •13. Icmp-сообщения Межсетевой протокол управляющих сообщений.
- •Icmp-сообщения
- •15. Маршрутизация в лвс
- •16. Протокол udp, применение
- •17. Протокол tcp. Заголовок, флаги
- •6 Флагов:
- •Установка соединения
- •Завершение соединения
- •19. Модель tcp/ip
- •20.Технология ip Security и vpn
- •По степени защищенности используемой среды
- •По способу реализации
- •По назначению
- •21.Протокол dns
- •22. Протокол ftp
- •23. Протокол передачи почты (smtp, pop3)
- •24. Протокол dhcp
- •25. Транспортный протокол реального времени rtcp
23. Протокол передачи почты (smtp, pop3)
SMTP разработан для того, чтобы предоставлять надежные, эффективные механизмы для передачи электронной почты. SMTP передает сообщения от клиента серверу и между серверами, но не отвечает за управление почтовыми ящиками или за разрешение клиенту загружать входящую почту.
Работа SMTP
SMTP является протоколом прикладного уровня.
SMTP-связь инициируется пользовательской почтовой системой. Клиент устанавливает полнодуплексный канал передачи с SMTP-сервером или SMTP-получателем посредством команды HELO либо EHLO для начала сессии.
После того, как канал передачи был установлен, клиент выдает команду MAIL, которая информирует SMTP-сервер, что он хочет послать почту. Если сервер имеет возможность принять почту в данное время, он отвечает откликом ОК. Затем SMTP-отправитель (клиент) выдает одну или несколько команд RCPT, которая идентифицирует адресата(ов) сообщений, которые он хочет послать.
Если SMTP-сервер способен принять почтовые адреса для названных адресатов в команде RCPT, он выдает отклик ОК, и клиент может выдать еще одну команду RCPT. Если SMTP-сервер не способен доставить почту определенному адресату, он возвращает отклик ошибки, и клиент может затем перейти к следующей команде.
Клиент должен предоставить имя конечного хоста назначения, а также имя почтового ящика в почтовой системе: имя_пользователя@домен.
SMTP отправляет почту как по прямому, так и по обратному пути. Прямой путь – это маршрут, письмо которого должно придерживаться, чтобы достичь конечного адресата, независимо от того, использует оно прямой маршрут или серию ретрансляторов. Обратный путь – это имя SMTP-отправителя, которое может выглядеть так: имя_пользователя@домен. Команда MAIL использует обратный путь в качестве своего аргумента, а RCPT – прямой путь.
Как только SMTP-сервер принял адреса получателей и предоставил соответствующие отклики, клиент может выдать команду DATA, которая сообщает серверу о его намерении начать передачу почтового сообщения. Сервер отвечает кодом принятия намерения SMTP-отправителя, и затем клиент выдает данные. Если передача прошла успешно, сервер отвечает сообщением, подтверждающим прием и обработку, и затем клиент может выдать команду для закрытия соединения.
Команды SMTP
HELO |
Клиент, который поддерживает SMTP-расширения, выдает эту команду, когда инициализирует сессию. Если SMTP-сервер, принимающий эту команду, поддерживает SMTP-расширения, он возвратит отклик 250. Если SMTP-сервер не поддерживает SMTP-расширения, он возвратит отклик 500, который укажет SMTP-отправителю, что он не может использовать расширенные SMTP-команды. |
Используется для инициализации почтовой транзакции между SMTP-отправителем и получателем; очищает буферы обратного и прямого путей и почтовый буфер, вставляет аргумент обратного пути из этой команды в буфер обратного пути. |
|
RCPT |
Идентифицирует адресатов получаемой почты; несколько адресатов определяются посредством повторяющейся выдачи команды. |
DATA |
Основная команда. Строки, сопровождающие эту команду, определены как почтовые данные от отправителя адресату. Письмо заканчивается «точкой». |
QUIT |
Определяет, что получатель возвращает отклик ОК и закроет канал передачи. |
SEND |
Инициирует транзакцию, определяющую, что почтовые данные должны быть немедленно доставлены любому активно подключенному адресату, который способен принять почту. Если адресат не подключен или не способен принять почту, возвращается отклик 450. очищает буфер обратного и прямого путей и почтовый буфер, вставляет аргумент обратного пути, предоставленный этой командой, в буфер обратного пути. |
RSET |
Устанавливает, что текущая почтовая транзакция будет прервана. SMTP-получатель отвечает сообщением ОК. |
VRFY |
Инициирует транзакцию, определяющую доставку почтовых данных любому указанному адресату, который подключен в активном режиме и способен принять почту. Если адресат не подключен или не способен принять почту, определяет доставку в почтовый ящик адресата. Очищает буферы обратного и прямого путей и почтовый буфер, вставляет аргумент обратного пути, предоставленный этой командой, в буфер обратного пути. |
NOOP |
Не имеет эффекта ни над одним буфером и определяет бездействие системы до тех пор, пока SMTP-получатель не возвратит отклик ОК. |
Отклики SMTP
SMTP-отклики выдаются SMTP-получателем в ответ на команды SMTP-отправителя. Каждая команда должна порождать один отклик.
Ответ сервера состоит из 2 частей:
Отображаются трехзначные коды, которые сообщают об успешном или неуспешном завершении команды.
Строка текста (для пользователей).
Код и строка разделяются пробелом. Если ответ содержит несколько строк, то разделение идет в виде дефиса.
Существуют 4 категории ответа от сервера:
код ошибки
500 – ошибка в синтаксисе
501 - ошибка в синтаксисе и параметрах
502 – команда не поддерживается
503 – неправильная последовательность команд
504 – параметр команды не поддерживается
информационные коды – отображение дополнительной информации о команде: 211, 214.
служебные коды – отображение состояния службы с SMTP-сервера
220 – служба готова
221 – закрытие канала передачи данных
421 – служба недоступна (сервер не может принять почту, нет места на жестком диске)
код ответа на команды
250 – команда выполнена успешно
354 – можно начинать вводить сообщение
552 – превышены допустимые пределы хранения
553 – указано неправильно имя почтового ящика
554 – операция прекращена
Протокол POP3
РОРЗ - Post Office Protocol v. 3 — почтовый протокол, 3-я версия.
Ситуация, при которой доставка осуществляется в условиях постоянного соединения с Интернетом отправителя и получателя, показана на рис. 7.5, а. Иллюстрация ситуации, в которой отправитель находится в текущий момент на линии, а приемник — нет, приведена на рис. 7.5, б.
Протокол РОРЗ начинает свою работу, когда пользователь запускает почтовый редактор. Последний дозванивается до провайдера (если только машина уже не находится в подключенном состоянии) и устанавливает TCP-соединение с агентом передачи сообщений с использованием порта ПО. После установки соединения протокол РОРЗ проходит три последовательных состояния.
1. Авторизация.
2. Транзакции.
3. Обновление.
Авторизация связана с процессом входа пользователя в систему. В состоянии транзакций пользователь забирает свою почту и может пометить ее для удаления из почтового ящика. В состоянии обновления происходит удаление помеченной корреспонденции.
Можно посмотреть, как все это происходит, набрав команду вида telnet mail .isp.com ПО, где mail.isp.com следует заменить на DNS-имя почтового сервера провайдера. Telnet устанавливает TCP-соединение с портом 110, прослушиваемым РОРЗ-сервером. После установки TCP-соединения сервер посылает ASCII-сообщение, объявляя о своем присутствии. Обычно оно начинается с +0К, затем следует комментарий.
В состоянии авторизации клиент должен сообщить имя пользователя и пароль. После успешного входа в систему клиент может послать команду LIST для запроса списка писем, хранящихся в почтовом ящике. Каждая строка списка соответствует одному письму, в ней указываются его номер и размер. Точка является признаком конца списка.
После этого пользователь может запросить сообщения командой RETR и пометить их для удаления командой DELE. После получения (и, возможно, установки меток удаления) всех писем пользователь посылает команду QUIT для завершения состояния транзакций и входа в состояние обновления. После удаления сервером всех сообщений он посылает ответ и разрывает ТСР-соединение.
