
- •Оглавление
- •От авторов
- •1. Основы сетей передачи данных
- •1. Эволюция компьютерных сетей
- •Два корня компьютерных сетей
- •Первые компьютерные сети
- •Конвергенция сетей
- •2. Общие принципы построения сетей
- •Простейшая сеть из двух компьютеров
- •Сетевое программное обеспечение
- •Физическая передача данных по линиям связи
- •Проблемы связи нескольких компьютеров
- •Обобщенная задача коммутации
- •Выводы
- •Вопросы и задания
- •3. Коммутация каналов и пакетов
- •Коммутация каналов
- •Коммутация пакетов
- •Выводы
- •Вопросы и задания
- •4. Архитектура и стандартизация сетей
- •Декомпозиция задачи сетевого взаимодействия
- •Модель OSI
- •Стандартизация сетей
- •Информационные и транспортные услуги
- •Выводы
- •Вопросы и задания
- •5. Примеры сетей
- •Обобщенная структура телекоммуникационной сети
- •Корпоративные сети
- •Интернет
- •Выводы
- •Вопросы и задания
- •6. Сетевые характеристики
- •Типы характеристик
- •Производительность
- •Надежность
- •Характеристики сети поставщика услуг
- •Выводы
- •Вопросы и задания
- •7. Методы обеспечения качества обслуживания
- •Обзор методов обеспечения качества обслуживания
- •Анализ очередей
- •Техника управления очередями
- •Механизмы кондиционирования трафика
- •Обратная связь
- •Резервирование ресурсов
- •Инжиниринг трафика
- •Работа в недогруженном режиме
- •Выводы
- •Вопросы и задания
- •2. Технологии физического уровня
- •8. Линии связи
- •Классификация линий связи
- •Типы кабелей
- •Выводы
- •Вопросы и задания
- •9. Кодирование и мультиплексирование данных
- •Модуляция
- •Дискретизация аналоговых сигналов
- •Методы кодирования
- •Мультиплексирование и коммутация
- •Выводы
- •Вопросы и задания
- •10. Беспроводная передача данных
- •Беспроводная среда передачи
- •Беспроводные системы
- •Технология широкополосного сигнала
- •Выводы
- •Вопросы и задания
- •11. Первичные сети
- •Сети PDH
- •Сети SONET/SDH
- •Сети DWDM
- •Сети OTN
- •Выводы
- •Вопросы и задания
- •3. Локальные вычислительные сети
- •Общая характеристика протоколов локальных сетей на разделяемой среде
- •Ethernet со скоростью 10 Мбит/с на разделяемой среде
- •Технологии Token Ring и FDDI
- •Беспроводные локальные сети IEEE 802.11
- •Выводы
- •Вопросы и задания
- •13. Коммутируемые сети Ethernet
- •Мост как предшественник и функциональный аналог коммутатора
- •Коммутаторы
- •Скоростные версии Ethernet
- •Архитектура коммутаторов
- •Выводы
- •Вопросы и задания
- •14. Интеллектуальные функции коммутаторов
- •Алгоритм покрывающего дерева
- •Агрегирование линий связи в локальных сетях
- •Фильтрация трафика
- •Виртуальные локальные сети
- •Ограничения коммутаторов
- •Выводы
- •Вопросы и задания
- •4. Сети TCP/IP
- •15. Адресация в стеке протоколов TCP/IP
- •Стек протоколов TCP/IP
- •Формат IP-адреса
- •Система DNS
- •Протокол DHCP
- •Выводы
- •Вопросы и задания
- •16. Протокол межсетевого взаимодействия
- •Схема IP-маршрутизации
- •Маршрутизация с использованием масок
- •Фрагментация IP-пакетов
- •Выводы
- •Вопросы и задания
- •17. Базовые протоколы TCP/IP
- •Протоколы транспортного уровня TCP и UDP
- •Общие свойства и классификация протоколов маршрутизации
- •Протокол RIP
- •Протокол OSPF
- •Маршрутизация в неоднородных сетях
- •Протокол BGP
- •Протокол ICMP
- •Выводы
- •Вопросы и задания
- •Фильтрация
- •Стандарты QoS в IP-сетях
- •Трансляция сетевых адресов
- •Групповое вещание
- •IPv6 как развитие стека TCP/IP
- •Маршрутизаторы
- •Выводы
- •Вопросы и задания
- •5. Технологии глобальных сетей
- •19. Транспортные услуги и технологии глобальных сетей
- •Базовые понятия
- •Технология Frame Relay
- •Технология ATM
- •Виртуальные частные сети
- •IP в глобальных сетях
- •Выводы
- •Вопросы и задания
- •20. Технология MPLS
- •Базовые принципы и механизмы MPLS
- •Протокол LDP
- •Мониторинг состояния путей LSP
- •Инжиниринг трафика в MPLS
- •Отказоустойчивость путей MPLS
- •Выводы
- •Вопросы и задания
- •21. Ethernet операторского класса
- •Обзор версий Ethernet операторского класса
- •Технология EoMPLS
- •Ethernet поверх Ethernet
- •Выводы
- •Вопросы и задания
- •22. Удаленный доступ
- •Схемы удаленного доступа
- •Коммутируемый аналоговый доступ
- •Коммутируемый доступ через сеть ISDN
- •Технология ADSL
- •Беспроводной доступ
- •Выводы
- •Вопросы и задания
- •23. Сетевые службы
- •Электронная почта
- •Веб-служба
- •IP-телефония
- •Протокол передачи файлов
- •Выводы
- •Вопросы и задания
- •24. Сетевая безопасность
- •Типы и примеры атак
- •Шифрование
- •Антивирусная защита
- •Сетевые экраны
- •Прокси-серверы
- •Протоколы защищенного канала. IPsec
- •Сети VPN на основе шифрования
- •Выводы
- •Вопросы и задания
- •Ответы на вопросы
- •Алфавитный указатель
ГЛАВА 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 и IMAP, клиент является инициатором получения данных от сервера.
Непосредственное взаимодействие клиента и сервера
Теперь, когда мы обсудили основные составляющие почтовой службы, давайте рассмотрим несколько основных схем ее организации. Начнем с простейшего, практически не исполь зуемого сейчас варианта, когда отправитель непосредственно взаимодействует с получа телем. Как показано на рис. 23.1, у каждого пользователя на компьютере устанавливаются почтовые клиент и сервер.
Данила, используя графический интерфейс своего почтового клиента, вызывает функ цию создания сообщения, в результате на экране появляется стандартная незаполненная форма сообщения, в поля которой Данила вписывает свой адрес, адрес Полины и тему письма, а затем набирает текст письма. При этом он может пользоваться не только встроенным в почтовую программу текстовым редактором, но и привлекать для этой
Электронная почта |
797 |
цели другие программы, например MS Word. Когда письмо готово, Данила вызывает функцию отправки сообщения, и встроенный SMTP-клиент посылает запрос на уста новление связи SMTP-серверу на компьютере Полины. В результате устанавливаются SMTP- и TCP-соединения, и сообщение передается через сеть. Почтовый сервер Поли ны сохраняет письмо в памяти ее компьютера, а почтовый клиент по команде Полины выводит его на экран, при необходимости выполняя преобразование формата. Полина может сохранить, переадресовать или удалить это письмо. Понятно, что в том случае, когда Полина решит направить электронное сообщение Даниле, схема работы почтовой службы будет симметричной.
|
|
Протокол SMPT |
Передача сообщения |
|
|
|
|
Полины Даниле |
|
|
|
|
|
|
| Порт 25р |
|
Передача |
Щ Порт 25 Р |
|
|
электронного |
|||
f S M tW |
|
сообщения |
/БМТРЛ |
|
\сервар/ |
/ эмтрЛ |
Данилы Полине |
І сервері |
(S мтрЛ |
шшш |
|
шшш |
||
уклиенту |
для храненияБуфер |
1 клиенту |
||
Почтовый |
Почтовый |
сообщений |
Почтовый |
Почтовый |
сервер |
|
|
i-а |
|
|
клиент |
|
|
клиент |
Данила |
|
|
|
Полина |
Рис. 23.1. Схема непосредственного взаимодействия клиента исервера
Схема с выделенным почтовым сервером
Рассмотренная только что простейшая схема почтовой связи кажется работоспособной, однако у нее есть серьезный и очевидный дефект. Мы упоминали, что для обмена сообще ниями необходимо, чтобы SMTP-сервер постоянно находился в ожидании запроса от SMTP-клиента. Это означает, что для того чтобы письма, направленные Полине, доходили до нее, ее компьютер должен постоянно находиться в режиме подключения. Понятно, что такое требование для многих пользователей неприемлемо.
Естественным решением этой проблемы является размещение SMTP-сервера на специ ально выделенном для этой цели компьютере-посреднике. Это должен быть достаточно мощный и надежный компьютер, способный круглосуточно передавать почтовые со общения от многих отправителей ко многим получателям. Обычно почтовые серверы поддерживаются крупными организациями для своих сотрудников или провайдерами для своих клиентов.
. |
^^мейії имен система DNSсоздает записи типа MX, вкоторыххранятся DNS-имена |
|
пользователей, относящихся к этомудомену. |
798 |
Глава 23. Сетевые службы |
Протокол SMPT |
Протокол |
|
доступа |
|
(POP3, |
|
IMAP) |
Почтовые |
|
Полина |
|
ящики |
Порт 25 Порт TCP |
||
poiina@bim.com |
|||
пользователей |
|
||
\ |
|
|
|
Данила |
п т ш к |
|
|
danila@madeira.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, то в память вашего компьютера передаются только копии сообщений, хранящихся на почтовом сервере.