Главная страница

Учебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы


Скачать 22.28 Mb.
НазваниеУчебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы
АнкорOlifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
Дата12.03.2017
Размер22.28 Mb.
Формат файлаpdf
Имя файлаOlifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
ТипУчебник
#3698
страница82 из 99
1   ...   78   79   80   81   82   83   84   85   ...   99
ГЛАВА 23 Сетевые службы
С точки зрения пользователей компьютерные сети представляют собой набор служб (сервисов),
таких как электронная почта, WWW, интернет-телефония и интернет-телевидение. Транспортные
функции сети, обеспечивающие работу этих служб, скрыты от пользователей, хотя иногда и влияют
на некоторые детали предоставления службы, например, недостаточно высокая надежность доступа
в Интернет по телефонным каналам потребовала коротких TCP-сеансов в службе WWW при передаче
содержания веб-страниц. Помимо служб, ориентированных на конечных пользователей, существу­
ют службы, ориентированные на сетевых администраторов, решающих задачи конфигурирования
и управления сетевыми устройствами; в эту категорию входят службы FTP, telnet1 и SNMP. Дополняют
общую картину уже рассмотренные нами службы, помогающие компьютерам и сетевым устройствам
организовать свою работу, такие как службы DNS и DHCP.
1 Краткий обзор функций протокола telnet был приведен в главе 22.

Электронная почта
795
Электронная почта
Сетевая почтовая служба, или электронная почта, — это распределенное приложение, глав­
ной функцией которого является предоставление пользователям сети возможности обмениваться
электронными сообщениями.
Как и все сетевые службы, электронная почта построена в архитектуре клиент-сервер. По­
чтовый клиент всегда располагается на компьютере пользователя, а почтовый сервер, как правило, работает на выделенном компьютере.
Почтовый клиент (называемый также агентом пользователя) — это программа, предназна­
ченная для поддержания пользовательского интерфейса (обычно графического), а также для предоставления пользователю широкого набора услуг по подготовке электродных сообщений. В число таких услуг входит создание текста в различных форматах и кодиров­
ках, сохранение, уничтожение, переадресация, сортировка писем по разным критериям, просмотр перечня поступивших и отправленных писем, грамматическая и синтаксическая проверка текста сообщений, ведение адресных баз данных, автоответы, образование групп рассылки и прочее, и прочее. Кроме того, почтовый клиент поддерживает взаимодействие с серверной частью почтовой службы.
Почтовый сервер выполняет прием сообщений от клиентов, для чего он постоянно нахо­
дится в активном состоянии. Кроме того, он выполняет буферизацию сообщений, распре­
деление поступивших сообщений по индивидуальным буферам (почтовым ящикам) клиен­
тов, управляет объемами памяти, выделяемой клиентам, выполняет регистрацию клиентов и регламентирует их права доступа к сообщениям, а также решает много других задач.
Электронные сообщения
Почтовая служба оперирует электронными сообщениями — информационными структура­
ми определенного стандартного формата. Упрощенно электронное сообщение может быть представлено в виде двух частей, одна из которых (заголовок) содержит вспомогательную информацию для почтовой службы, другая часть (тело сообщения) — это собственно то
«письмо», которое предназначается для прочтения, прослушивания или просмотра адре­
сатом (RFC 8022).
Главными элементами заголовка являются адреса отправителя и получателя в виде
Polina@
domen.com,
где
Polina
— идентификатор пользователя почтовой службы, а
domen.com
— имя домена, к которому относится этот пользователь. Кроме этого, почтовая служба включает в заголовок дату и тему письма, делает отметки о применении шифрования, срочности до­
ставки, необходимости подтверждения факта прочтения этого сообщения адресатом и др.
Дополнительная информация заголовка может оповещать почтового клиента получателя об использовании той или иной кодировки. Помимо основной кодировки ASCII, совре­
менные почтовые системы позволяют создавать сообщения, включающие изображения
(в форматах GIF и JPEG), а также аудио- и видеофайлы.
Протокол SMTP
В качестве средств передачи сообщения почтовая служба использует стандартный, разрабо­
танный специально для почтовых систем протокол SMTP (Simple Mail Transfer Protocol —

796
Глава 23. Сетевые службы простой протокол передачи почты). Как и большинство других протоколов прикладного уровня, SMTP реализуется несимметричными взаимодействующими частями: SMTP- клиентом и SMTP-сервером. Важно отметить, что этот протокол ориентирован на передачу
данных по направлению от клиента к серверу, следовательно, SMTP-клиент работает на стороне отправителя, а SMTP-сервер — на стороне получателя. SMTP-сервер должен по­
стоянно быть в режиме подключения, ожидая запросов со стороны SMTP-клиента.
Логика работы протокола SMTP действительно является достаточно простой (как это и следует из его названия). После того как, применяя графический интерфейс своего по­
чтового клиента, пользователь щелкает на значке, инициирующем отправку сообщения,
SMTP-клиент посылает запрос на установление TCP-соединения на порт 25 (это назна­
ченный порт SMTP-сервера). Если сервер готов, то он посылает свои идентифицирую­
щие данные, в частности свое DNS-имя. Затем клиент передает серверу адреса (имена) отправителя и получателя. Если имя получателя соответствует ожидаемому, то после получения адресов сервер дает согласие на установление TCP-соединения, и в рамках этого надежного логического канала происходит передача сообщения. Используя одно
TCP-соединение, клиент может передать несколько сообщений, предваряя каждое из них указанием адресов отправителя и получателя. После завершения передачи TCP- и SMTP- соединения разрываются. Если в начале сеанса связи SMTP-сервер оказался не готов, то он посылает соответствующее сообщение клиенту, в ответ тот снова посылает запрос, пытаясь заново установить соединение. Если сервер не может доставить сообщение, то он передает отчет об ошибке отправителю сообщения и разрывает соединение. После того как передача сообщения благополучно заканчивается, переданное сообщение сохраняется в буфере на сервере.
П Р И М Е Ч А Н И Е ---------------------------------------------------------------------------------------------------------------
Х о т я в л ю б о м протоколе предполагается о б м е н д а н н ы м и м е ж д у в з а и м о д е й с т в у ю щ и м и частями,
то есть д а н н ы е переда ются в обе стороны, р а з л и ч а ю т протоколы, о р и е н т и р о в а н н ы е на передачу
(pull protocols), и протоколы, о р и е н т и р о в а н н ы е на п р и е м д а н н ы х (push protocols). В протоколах,
о р и е н т и рованны х на передачу, к которым, в частности, относится протокол S M T P , клиент является
и н и ц и а т о р о м передачи д а н н ы х на сервер, а в протоколах, о р и е н т и р о в а н н ы х на прием, к к о то р ы м
относятся, например, п р о т о к о л ы H T T P , P O P 3 и I M A P , клиент является и н и ц и а т о р о м получения
д а н н ы х от сервера.
Непосредственное взаимодействие
клиента и сервера
Теперь, когда мы обсудили основные составляющие почтовой службы, давайте рассмотрим несколько основных схем ее организации. Начнем с простейшего, практически не исполь­
зуемого сейчас варианта, когда отправитель непосредственно взаимодействует с получа­
телем. Как показано на рис. 23.1, у каждого пользователя на компьютере устанавливаются почтовые клиент и сервер.
Данила, используя графический интерфейс своего почтового клиента, вызывает функ­
цию создания сообщения, в результате на экране появляется стандартная незаполненная форма сообщения, в поля которой Данила вписывает свой адрес, адрес Полины и тему письма, а затем набирает текст письма. При этом он может пользоваться не только встроенным в почтовую программу текстовым редактором, но и привлекать для этой

Электронная почта
797
цели другие программы, например MS Word. Когда письмо готово, Данила вызывает функцию отправки сообщения, и встроенный SMTP-клиент посылает запрос на уста­
новление связи SMTP-серверу на компьютере Полины. В результате устанавливаются
SMTP- и TCP-соединения, и сообщение передается через сеть. Почтовый сервер Поли­
ны сохраняет письмо в памяти ее компьютера, а почтовый клиент по команде Полины выводит его на экран, при необходимости выполняя преобразование формата. Полина может сохранить, переадресовать или удалить это письмо. Понятно, что в том случае, когда Полина решит направить электронное сообщение Даниле, схема работы почтовой службы будет симметричной.
Протокол SMPT
Передача сообщения
Полины Даниле
| Порт 25 р
f
S M tW
\сервар/
шшш
Почтовый
сервер
/
э м т р
Л
уклиенту
Почтовый
клиент
Передача
электронного
сообщения
Данилы Полине
Буфер
для хранения
сообщений
Щ
Порт 25 Р
/БМТРЛ
І сервері
шшш
Почтовый
сервер
(S
мт р
Л
1 клиенту
Почтовый
клиент
i-а
Данила
Полина
Рис. 23.1. Схема непосредственного взаимодействия клиента и сервера
Схема с выделенным почтовым сервером
Рассмотренная только что простейшая схема почтовой связи кажется работоспособной, однако у нее есть серьезный и очевидный дефект. Мы упоминали, что для обмена сообще­
ниями необходимо, чтобы SMTP-сервер постоянно находился в ожидании запроса от
SMTP-клиента. Это означает, что для того чтобы письма, направленные Полине, доходили до нее, ее компьютер должен постоянно находиться в режиме подключения. Понятно, что такое требование для многих пользователей неприемлемо.
Естественным решением этой проблемы является размещение SMTP-сервера на специ­
ально выделенном для этой цели компьютере-посреднике. Это должен быть достаточно мощный и надежный компьютер, способный круглосуточно передавать почтовые со­
общения от многих отправителей ко многим получателям. Обычно почтовые серверы поддерживаются крупными организациями для своих сотрудников или провайдерами для своих клиентов.
.
^^мейії имен система DNS создает записи типа MX, в которых хранятся DNS-имена
пользователей, относящихся к этому домену.

798
Глава 23. Сетевые службы
Протокол SMPT
Протокол
доступа
(POP3,
IMAP)
Данила
danila@madeira.com
Почтовые
ящики
пользователей
\
Порт 25
Порт TCP
Почтовый
сервер
п т ш к
л
^
Полина
poiina@bim.com
.Почтовый
ящик Полины
и
Почтовый сервер Maii.bim.com
в домене Полины bim.com
Рис. 23.2. Схема с выделенным почтовым сервером в принимающем домене
На рис. 23.2 представлена схема с выделенным почтовым сервером. Чтобы не усложнять рисунок, мы показали на нем только те компоненты, которые участвуют в передаче со­
общения от Данилы к Полине. Для обратного случая схема должна быть симметрично дополнена.
1. Итак, пусть Данила решает послать письмо Полине, для чего он запускает на своем компьютере установленную на нем программу почтового клиента (например, Microsoft
Outlook или Mozilla Thunderbird). Он пишет текст сообщения, указывает необходимую сопроводительную информацию, в частности адрес получателя
poiina@bim.com,
и щелкает мышью на значке отправки сообщения. Поскольку готовое сообщение должно быть на­
правлено совершенно определенному почтовому серверу, клиент обращается к системе
DNS, чтобы определить имя почтового сервера, обслуживающему домен Полины bim.
com.
Получив от DNS в качестве ответа имя
maii.bim.com,
SMTP-клиент еще раз обраща­
ется к DNS, на этот раз, чтобы узнать IP-адрес почтового сервера
mail.bim.com.
2. SMTP-клиент посылает по данному IP-адресу запрос на установление ТСР-соединения через порт 25 (SMTP-сервер).
3. С этого момента начинается диалог между клиентом и сервером по протоколу SMTP, с которым мы уже знакомы. Заметим, что здесь, как и у всех протоколов, ориентиро­
ванных на передачу, направление передачи запроса от клиента на установление SMTP-

Электронная почта
799
соединения совпадает с направлением передачи сообщения. Если сервер оказывается готовым, то после установления TCP-соединения сообщение Данилы передается.
4. Письмо сохраняется в буфере почтового сервера, а затем направляется в индивиду­
альный буфер, отведенный системой для хранения корреспонденции Полины. Такого рода буферы называют почтовыми ящиками. Важно заметить, что помимо Полины у почтового сервера имеется еще много других клиентов, и это усложняет его работу.
То есть почтовый сервер должен решать самые разнообразные задачи по организации многопользовательского доступа, включая управление разделяемыми ресурсами и обе­
спечение безопасного доступа.
5. В какой-то момент, который принципиально не связан с моментом поступления сообще­
ний на почтовый сервер, Полина, запускает свою почтовую программу и выполняет команду проверки почты. После этой команды почтовый клиент должен запустить протокол доступа к почтовому серверу, однако этим протоколом уже не будет SMTP.
Напомним, что протокол SMTP используется тогда, когда необходимо передать данные на сервер, а Полине, напротив, нужно получить их с сервера. Для этого случая были разработаны другие протоколы, обобщенно называемые протоколами доступа к по­
чтовому серверу, такие, например, как POP3 и IMAP. Оба этих протокола относятся к протоколам, ориентированным на прием данных (протокол POP3 ожидает запрос на установление TCP-соединения через порт 110, a IMAP — через порт 143, на рисунке эти порты обобщенно показаны как порт TCP). В результате работы любого из них письмо Данилы оказывается в памяти компьютера Полины. Заметим, что на этот раз направление запроса от клиента к серверу не совпадает с направлением передачи дан­
ных, показанному стрелкой.
Схема с двумя почтовыми
серверами-посредниками
Прежде чем мы перейдем к сравнению двух протоколов доступа к почте, давайте по­
смотрим на еще одну схему организации почтовой службы, наиболее приближенную к реальности (рис. 23.3). Здесь передача сообщений между клиентами почты (на нашем рисунке между отправителем Данилой и получателем Полиной) проходит через два про­
межуточных почтовых сервера, каждый из которых обслуживает домен своего клиента.
На каждом из этих серверов установлены также и клиентские части протокола SMTP.
При отправке письма почтовый клиент Данилы передает сообщение по протоколу SMTP почтовому серверу домена, к которому относится Данила — RoyalMail.madeira.com. Это со­
общение буферизуется на данном сервере, а затем по протоколу SMTP передается дальше на почтовый сервер домена Полины — mail.bim.com, откуда описанным уже образом по­
падает на компьютер Полины.
Возникает вопрос, зачем нужна такая двухступенчатая передача через два почтовых сер­
вера? Прежде всего, для повышения надежности и гибкости процедуры доставки сообще­
ния. Действительно, в схеме с передачей сообщения сразу на сервер получателя почтовый клиент отправителя в случае неисправности почтового сервера должен самостоятельно справляться со сложившейся нештатной ситуацией. Если же посредником в передаче со­
общения является другой почтовый сервер, то это позволяет реализовывать разнообразные логические механизмы реакции на отказы на стороне сервера, который к тому же всегда находится в режиме подключения. Например, при невозможности передать письмо почто­

800
Глава 23. Сетевые службы вому серверу получателя сервер отправляющей стороны может не только рапортовать об этом своему клиенту, но и предпринимать собственные действия — пытаться снова и снова послать письмо, повторяя эти попытки в течение достаточно длительного периода.
Протоколы POP3 и IMAP
А теперь давайте, как мы и собирались, сравним два протокола доступа к почте: POP3
(Post Office Protocol v.3 — протокол почтового отделения версии 3) и IMAP (Internet Mail
Access Protocol — протокол доступа к электронной почте Интернета). Оба эти протокола решают одну и ту же задачу — обеспечивают доступ пользователей к корреспонденции, хранящейся на почтовом сервере. В связи с многопользовательским характером работы почтового сервера оба протокола поддерживают аутентификацию пользователей на основе идентификаторов и паролей. Однако протоколы POP3 и IMAP имеют принципиальные различия, важнейшее из которых состоит в следующем. Получая доступ к почтовому серверу по протоколу POP3, вы «перекачиваете» адресованные вам сообщения в память своего компьютера, при этом на сервере не остается никакого следа от считанной вами по­
чты. Если же доступ осуществляется по протоколу IMAP, то в память вашего компьютера передаются только копии сообщений, хранящихся на почтовом сервере.

Веб-служба
801
Это различие серьезно влияет на характер работы с электронной почтой. Сейчас очень распространенной является ситуация, когда человек в течение одного и того же периода времени использует несколько различных компьютеров: на постоянном месте работы, дома, в командировке. Теперь давайте представим, что произойдет с корреспонденцией пользова­
теля Полины, если она получает доступ к почте по протоколу POP3. Письма, прочитанные на работе, останутся в памяти ее рабочего компьютера. Придя домой, она уже не сможет прочитать их снова. Опросив почту дома, она получит все сообщения, которые поступили с момента последнего обращения к почтовому серверу, но из памяти сервера они исчезнут, и завтра на работе она, возможно, не обнаружит важные служебные сообщения, которые были загружены на диск ее домашнего ноутбука. Таким образом, получаемая Полиной корреспонденция будет «рассеяна» по всем компьютерам, которыми она пользовалась.
Такой подход не позволяет рационально организовать почту: распределять письма по папкам, сортировать их по разным критериям, отслеживать состояние переписки, отмечать письма, на которые послан ответ, и письма, еще требующие ответа и т. д. Конечно, если пользователь всегда работает только с одним компьютером, недостатки протокола POP3 не являются столь критичными. Но и в этом случае проявляется еще один «дефект» этого протокола — клиент не может пропустить, не читая, ни одного письма, поступающего от сервера. То есть объемное и возможно совсем ненужное вам сообщение может надолго заблокировать вашу почту.
Протокол IMAP был разработан как ответ на эти проблемы. Предположим, что теперь
Полина получает почту по протоколу IMAP. С какого компьютера она бы ни обратилась к почтовому серверу, ей будут переданы только копии запрошенных сообщений. Вся совокупность полученной корреспонденции останется в полной сохранности в памяти почтового сервера (если, конечно, не поступит специальной команды от пользователя об удалении того или иного письма). Такая схема доступа делает возможным для сервера предоставление широкого перечня услуг по рациональному ведению корреспонденции, то есть именно того, чего лишен пользователь при применении протокола POP3. Важным преимуществом IMAP является также возможность предварительного чтения заголовка письма, после чего пользователь может принять решение о том, есть ли смысл получать с почтового сервера само письмо.
1   ...   78   79   80   81   82   83   84   85   ...   99


написать администратору сайта