
- •3 . Классификация сетей. Локальные сети, глобальные сети.
- •4.Ключевые аспекты организации уровня передачи данных. Обнаружение и исправление ошибок.
- •5. Ключевые аспекты организации уровня передачи данных. Обработка ошибок.
- •6. Ключевые аспекты организации уровня передачи данных.Сервисы, предоставляемые сетевому уровню
- •7. Ключевые аспекты организации уровня передачи данных. Формирование кадра.
- •8. Подуровень управления доступом к среде. Коммутация на уровне передачи данных. Повторители, концентраторы, мосты, коммутаторы, маршрутизаторы и шлюзы.
- •9. Подуровень управления доступом к среде. Коммутация на уровне передачи данных.Мосты между .X и .У
- •10. Подуровень управления доступом к среде. Проблема распределения канала. Динамическое распределение каналов
- •11. Подуровень управления доступом к среде. Проблема распределения канала. Протоколы без столкновений
- •12. Подуровень управления доступом к среде. Проблема распределения канала. Протоколы множественного доступа с контролем несущей.
- •13. Подуровень управления доступом к среде. Проблема распределения канала. Протоколы с ограниченной конкуренцией
- •14. Подуровень управления доступом к среде. Проблема распределения канала. Статическое распределение канала
- •15. Подуровень управления доступом к среде. Сети Ethernet.
- •16. Подуровень управления доступом к среде. Сеть Ethernet. Манчестерский код.
- •17. Подуровень управления доступом к среде. Сеть Ethernet. Протокол подуровня управления доступом к среде в Ethernet
- •18. Подуровень управления доступом к среде. Сеть Ethernet. Кабели Ethernet.
- •19. Подуровень управления доступом к среде. Система aloha
- •20. Прикладной уровень. Архитектура www
- •21. Прикладной уровень. Служба имен доменов dns.
- •22. Прикладной уровень. Служба доменов dns. Записи ресурсов
- •23. Прикладной уровень. Служба доменов dns. Пространство имен dns
- •24. Прикладной уровень. Служба доменов dns. Серверы имен
- •25. Прикладной уровень. Электронная почта. Архитектура и службы
- •26. Прикладной уровень. Электронная почта. Доставка сообщений
- •27. Прикладной уровень. Электронная почта. Пересылка писем
- •28. Проектирование сетевого уровня. Реализация сервиса без установления соединения.
- •29. Проектирование сетевого уровня. Сервисы, предоставляемые транспортному уровню.
- •30. Проектирование сетевого уровня. Сравнение подсетей виртуальных каналов и дейтаграмных подсетей.
- •31. Сетевой уровень в Интернете. Ip-адреса
- •Ip адрес
- •32. Сетевой уровень в Интернете. Управляющие протоколы Интернета.
- •33. Сетевой уровень в Интернете. Протокол ip.
- •34. Сетевой уровень. Алгоритмы маршрутизации. Выбор кратчайшего пути. Заливка.
- •35. Сетевой уровень. Управляющие алгоритмы маршрутизации. Выбор кратчайшего пути. Маршрутизация по вектору расстояний.
- •36. Сетевой уровень. Управляющие алгоритмы маршрутизации. Выбор кратчайшего пути. Маршрутизация с учётом состояния линий.
- •37. Службы и протоколы.
- •38. Службы на основе соединений и службы без установления соединений
- •39. Службы на основе соединений и службы без установления соединений
- •40. Транспортная служба. Примитивы транспортной службы.
- •41. Транспортная служба. Сокеты Беркли.
- •42. Транспортная служба. Услуги, предоставляемые верхним (транспортным) уровнем.
- •43. Транспортные протоколы Интернета: tcp
- •44. Транспортные протоколы Интернета: tcp Протокол tcp.
- •45. Транспортные протоколы Интернета: tcp. Модель службы tcp
- •46. Транспортные протоколы Интернета: tcp. Основы tcp
- •47. ТпИ: udp Вызов удаленной процедуры
- •48. ТпИ: udp Основы
26. Прикладной уровень. Электронная почта. Доставка сообщений
Электронная почта доставляется, когда отправитель устанавливает TCP-соединение с получателем и посылает по нему сообщения. Такая модель прекрасно работала тогда, когда все хосты сети ARPANET (а позднее — Интернет) были, по сути, постоянно на линии и могли принимать ТСР-соединения.
Однако с появлением пользователей, связывающихся с провайдерами с помощью модема, такой подход перестал оправдывать себя. Проблема вот в чем: что будет, если Элинор захочет отправить письмо Кэролайн, а та в данный момент не работает в Интернете? Получается, что Элинор не сможет установить ТСР-соединение с Кэролайн, следовательно, невозможно будет запустить протокол SMTP, и Кэролайн так и не получит поздравление с днем рождения.
Одно из решений заключается в создании агента передачи сообщений на машине провайдера, который бы принимал и хранил почту для своих пользователей в их почтовых ящиках. Поскольку такой агент может быть на линии постоянно, электронная почта может отправляться ему круглосуточно.
К сожалению, такое решение создает новую проблему: как пользователю забрать свою почту у агента передачи сообщений провайдера? Ответ таков: следует создать специальный протокол, который позволил бы пользовательскому агенту (на машине клиента) соединиться с агентом передачи сообщений провайдера (на машине провайдера) и скопировать хранящуюся для него почту. Одним из таких протоколов является РОРЗ (Post Office Protocol v. 3 — почтовый протокол, 3-я версия), определенный в документе RFC 1939.
Протокол РОРЗ начинает свою работу, когда пользователь запускает почтовый редактор. Последний дозванивается до провайдера (если только машина уже не находится в подключенном состоянии) и устанавливает TCP-соединение с агентом передачи сообщений с использованием порта ПО. После установки соединения протокол РОРЗ проходит три последовательных состояния.
1. Авторизация.
2. Транзакции.
3. Обновление.
Авторизация связана с процессом входа пользователя в систему. В состоянии транзакций пользователь забирает свою почту и может пометить ее для удаления из почтового ящика. В состоянии обновления происходит удаление помеченной корреспонденции.
Получение трех сообщений по протоколу РОРЗ
S: +0K РОРЗ-сервер готов
С: USER carolyn
S: +0K
С: PASS vegetables
S: OK вход в систему произведен
С: LIST
S: 1 2505
S: 2 14302
S: 3 8122
S: .
C: RETR 1
S: (отправляет сообщение 1)
С: DELE 1
С: RETR 2
S: (отправляет сообщение 2)
С: DELE 2
С: RETR 3
S: (отправляет сообщение 3)
С: DELE 3
С: QUIT
S: +0K Конец соединения с РОРЗ-сервером
В состоянии авторизации клиент должен сообщить имя пользователя и пароль. После успешного входа в систему клиент может послать команду LIST для запроса списка писем, хранящихся в почтовом ящике. Каждая строка списка соответствует одному письму, в ней указываются его номер и размер. Точка является признаком конца списка. После этого пользователь может запросить сообщения командой RETR и пометить их для удаления командой DELE. После получения (и, возможно, установки меток удаления) всех писем пользователь посылает команду QUIT для завершения состояния транзакций и входа в состояние обновления. После удаления сервером всех сообщений он посылает ответ и разрывает ТСР-соединение.
Теперь подведем небольшие итоги того, как происходит работа с электронной
почтой клиентов провайдера. Элинор создает сообщение для Кэролайн с помощью редактора электронной почты (то есть пользовательского агента) и щелкает на значке, чтобы отослать его. Программа передает письмо агенту передачи сообщений на хосте Элинор. Агент передачи сообщений видит, что письмо адресовано carolyn@xyz.com, и использует DNS для поиска записи MX для xyz.com (где xyz.com — провайдер Кэролайн). В ответ на запрос возвращается DNS-имя почтового сервера xyz.com. Агент передачи сообщений после этого снова обращается к DNS (например, используя gethostbyname): на этот раз ему нужно найти IP-адрес этой машины. Затем с помощью порта 25 найденной машины устанавливается ТСР-соединение с SMTP-сервером. Передавая команды SMTP агент пересылает сообщение в почтовый ящик для Кэролайн и разрывает ТСР-соединение.
Через некоторое время Кэролайн загружает свой компьютер, соединяется с провайдером и запускает программу электронной почты. Та устанавливает ТСР-соединение через порт 110 РОРЗ-сервера, работающего на машине провайдера. Имя DNS или IP-адрес этой машины обычно указывается при установке программы электронной почты либо его получают у провайдера. После установки TCP-соединения почтовая программа Кэролайн запускает протокол РОРЗ для копирования содержимого почтового ящика на локальный жесткий диск. При этом происходит обмен командами. По окончании передачи электронной почты ТСР-соединение разрывается. На самом деле в тот же момент можно разорвать и соединение с провайдером, поскольку вся почта уже находится на жестком диске у Кэролайн. Конечно, чтобы отправить ответ на письма, Кэролайн придется снова соединяться с провайдером, поэтому не всегда пользователи разрывают соединение сразу после загрузки почты.
IMAP (Interactive Mail Access Protocol — протокол интерактивного доступа к электронной почте), определенного в RFC 2060. В отличие от протокола РОРЗ, который подразумевает, что пользователь будет очищать почтовый ящик после каждого контакта с провайдером и будет работать с почтой в отключенном режиме, протокол IMAP предполагает, что вся почта будет оставаться в почтовых ящиках на сервере неограниченно долго. IMAP обладает широким набором механизмов для чтения сообщений или даже частей сообщений. Такое свойство полезно при использовании медленных модемов, поскольку можно прочесть только текстовую часть письма, к которому приложены большие видео- и аудиофрагменты. Поскольку основное предположение состоит в том, что пользователь не будет копировать на свой компьютер письма, в IMAP входят также инструменты для создания, удаления и других видов управления почтовыми ящиками, размещающимися на сервере. В отличие от РОРЗ, IMAP может заниматься как доставкой исходящей почты от пользователя в направлении места назначения, так и доставлять входящую почту пользователя.
В целом стиль протокола IMAP подобен РОРЗ. Различаются они количеством команд — в IMAP их десятки. Сервер IMAP прослушивает порт 143. Следует заметить, что не все провайдеры и не все программы работы с электронной почтой поддерживают оба протокола. Поэтому, выбирая программу и провайдера, следует выяснить, могут ли они работать хоть с одним из этих протоколов, и если да, то с какими именно протоколами.