Компьютерные сети. Конспект лекций часть 11

46. Технологии разработки клиент-серверных приложений (почтовые ящики, именованные каналы, сокеты).
Электронная почта - один из самых популярных сервисов Internet.
Основными областями применения электронной почты являются:
1. Ведение личной переписки.
2. Работа с информационными ресурсами Internet (списки рассылки, группы новостей, системы поиска файлов, системы пересылки файлов по электронной почте).
Электронная почта во многом похожа на обычную почтовую службу. Корреспонденция подготавливается либо специальной программой подготовки почты, либо обычным текстовым редактором. Затем пользователь должен вызвать программу отправки почты. Почтовый клиент вызывает программу отправки автоматически.
В электронной почте используется технология клиент/сервер. Почтовый клиент (mailer) выполняет функции составления и отправки писем, получения и отображения сообщений на компьютере пользователя. Почтовый сервер, находящийся на компьютере провайдера услуг или в локальной сети, принимает входящие сообщения электронной почты и сохраняет их в соответствующем почтовом ящике, а также пересылает сообщения из почтовых ящиков на другие серверы или на компьютер пользователя по запросу его почтового клиента. В отличие от многих других сервисов Internet электронные письма передаются по сети целиком, т. е. используется технология коммутации сообщений. Все IP-пакеты, содержащие письмо, собираются на каждом передающем компьютере.
Работа с электронной почтой возможна в двух режимах:
1. off-line - подключение к сети только на время отправки запроса или получения информации.
2. on-line - подключение к сети на все время запроса, поиска, обработки и получения информации.
В режиме работы off-line используется протокол копирования с Unix на Unix - UUCP. В качестве почтового клиента используется BML/UUPC.
В режиме on-line используются протоколы Internet:
- SMTP (простой протокол передачи почты), отправляет почту в Internet и принимает письма на почтовую машину;
- POP3 (протокол почтового офиса), передает письма пользователю по его инициативе.
В качестве почтовых клиентов в режиме on-line выступают Outlook Express, Netscape Mail, MS Internet Mail, Eudora Pro и т.д..
Примеры почтовых серверов: SendMail - самая первая программа, которая появилась для работы с почтой, PostFix, QMail и т. д..
2. Протоколы
Протокол SMTP (Simple Mail Transfer Protocol) был разработан для обмена почтовыми сообщениями в Internet. SMTP - протокол прикладного уровня, он не зависит от транспортной среды и может использоваться для доставки почты в сетях с протоколами, отличными от TCP/IP и X.25. Для обмена сообщениями SMTP использует 25 порт. Взаимодействие в рамках SMTP строится по принципу интерактивной двусторонней связи, которая устанавливается между отправителем и получателем почтового сообщения. При этом программа отправки почты инициирует соединение и посылает запросы на обслуживание, а программа-получатель на эти запросы отвечает. Фактически, отправитель выступает в роли клиента, а получатель - сервера. Канал связи устанавливается непосредственно между отправителем и получателем сообщения в режиме on-line. При таком взаимодействии почта достигает абонента в течение нескольких секунд после отправки. Время получения зависит от того, как часто адресат просматривает свой почтовый ящик.
Протокол UUCP (Unix-Unix-CoPy) хорошо подходит для телефонных линий связи. При использовании UUCP почта передается по принципу "stop-go", т.е. почтовое сообщение передается по цепочке почтовых серверов от одной машины к другой пока не достигнет машины-получателя или не будет отвергнуто по причине отсутствия абонента-получателя. С одной стороны, UUCP позволяет доставлять почту по плохим телефонным каналам, т.к. не требуется поддерживать линию все время доставки от отправителя к получателю, с другой стороны, возможен возврат сообщения через сутки после его отправки из-за того, что допущена ошибка в имени пользователя. Таким образом, если имеется возможность надежно работать в режиме on-line, то следует настраивать почту для работы по протоколу SMTP, если линии связи плохие или on-line используется чрезвычайно редко, то лучше использовать UUCP.
Протокол обмена почтовой информацией POP (Post Office Protocol) предназначен для разбора почты из почтовых ящиков пользователей на их рабочие места при помощи POP-клиентов. Если по протоколу SMTP пользователи отправляют корреспонденцию через Internet, то по протоколу POP пользователи получают корреспонденцию из своих почтовых ящиков на почтовом сервере в локальные файлы. POP-сервер позволяет пользователю обратиться к почтовому ящику только после ввода аутентифицирующих данных (например, пароля) и может не только передавать электронные сообщения, но и предоставлять информацию о том, что находится в почтовом ящике.
Другим протоколом разбора почты является протокол IMAP (Interactive Mail Access Protocol). Он был разработан как более надежная альтернатива POP и обладает более широкими возможностями по управлению процессом обмена с сервером. Работа протокола осуществляется по 143 порту. Главным отличием от POP является возможность поиска нужного сообщения и разбор заголовков сообщения.
4. Проблемы и ограничения.
При работе с электронной почтой существуют ограничения на тип передаваемой информации. Универсально (без преобразования) передается только текстовая информация на английском языке. С передачей сообщений на русском языке могут возникать проблемы из-за применения различных кодировок кириллицы: MS-DOS (CP 866), Windows (CP 1251), Macintosh, сетевая кодировка KOI8-R.
Для шифрования восьмибитных символов и двоичных вложений используются:
- Uuencode\Uudecode;
- MIME (Multipurpose Internet Mail Extension - Многоцелевые расширения почты Internet);
- BinHex (для Macintosh).
В настоящее время намечается переход к HTML-формату отправляемых почтовых сообщений.
Ограничения на размер передаваемого сообщения:
- по протоколу UUCP - не более 60 КБ;
- по современным интернет-протоколам (SMTP, POP3) - не более 1-2МБ.
5. Формат почтового сообщения.
Формат почтового сообщения Internet определен в документе RFC-822 (Standard for ARPA Internet Text Message). Почтовое сообщение состоит из трех частей: конверта, заголовка и тела сообщения. Пользователь видит заголовок и тело сообщения. Конверт используется только программами доставки. Заголовок всегда находится перед телом сообщения и отделен от него пустой строкой. RFC-822 регламентирует содержание заголовка сообщения. Заголовок состоит из полей. Поля состоят из имени поля и содержимого поля. Имя поля отделяется от содержимого символом ":".
Сообщение может содержать следующие поля:
1) Date - дата и время отправки сообщения;
2) From - адрес отправителя;
3) To - электронный адрес получателя сообщения;
4) Cc (carbon copy) - адреса, по которым отправляются копии сообщения. Получатели увидят, кому еще послано такое письмо;
5) Bcc (blind carbon copy) - адреса, по которым отправляются копии сообщения, но получатели об этом не узнают (скрытая или слепая копия);
6) Subject - лаконичная формулировка темы сообщения;
7) Reply-To - адрес, по которому должен быть отправлен ответ;
8) Comment - комментарий.
Некоторые поля должны присутствовать в каждом заголовке электронной почты, например, адрес получателя, другие являются необязательными.
Формат сообщения постоянно дополняется и совершенствуется. В RFC-1327 введены дополнительные поля для совместимости с почтой X.400. Кроме того, стоит обратить внимание на поля некоторых довольно часто встречающихся заголовков, которые не регламентированы в RFC-822. Так первое предложение заголовка, которое начинается со слова From, содержит UUCP-путь сообщения, по которому можно определить, через какие машины сообщение проходило. Поле Received содержит транзитные адреса почтовых серверов с датой и временем прохождения сообщения. Эта информация полезна при разборе трудностей с доставкой почты.
Если программное обеспечение электронной почты не имеет информации о том, как должна быть обработана строка заголовка, оно передает эту строку в неизменном виде. Поэтому в прикладных программах, в которых сообщения электронной почты применяются для обмена данными, можно вводить дополнительные строки в заголовок сообщения для управления обработкой.
1. API-интерфейс сокетов
Интерфейс, используемый приложением при взаимодействии с программным обеспечением транспортного протокола, называется интерфейсом прикладного программирования (Application Programming Interface - API). API интерфейс определяет набор операций, которые могут быть выполнены приложением при взаимодействии с программным обеспечением протокола.
Функции прикладного программного интерфейса сокетов (Sockets API) обеспечивают идентификацию конечных точек соединения, установку соединения, отправку сообщений, ожидание входящих сообщений, разрыв соединения и обработку ошибок.
2. Коммуникационная модель клиент-сервер
Приложение, использующее сокеты, состоит из распределенной программы, исполняемой на обоих концах канала связи. Программу, инициирующую передачу, называют клиентом. Приложение на другом конце соединения, называемое сервером, представляет собой модуль, пассивно ожидающий входящих запросов на установку соединений от удаленных клиентов. Как правило, серверное приложение загружается при запуске системы и активно прослушивает свой порт, ожидая входящих соединений. Клиентские приложения пытаются установить соединение с сервером, после чего начинается обмен данными. По завершении сеанса связи клиент, как правило, разрывает соединение.
Сокет идентифицирует пару, состоящую из IP-адреса и номера порта. Пара сокетов идентифицирует четыре компонента: адреса и номера портов отправителя и получателя.
Обращение к сокетам осуществляется при помощи соответствующих дескрипторов сокетов. В Win32 сокет отличается от описателя файла и представлен отдельным типом - SOCKET.
Сокет создается одной из двух функций:
SOCKET WSASocket (
int af,
int type,
int protocol,
LPWSAPROTOCOL_INFO IpProtocolInfo,
GROUP g,
DWORD dwFlags);
или
SOCKET socket (int af, int type, int protocol);
47. Глобальные компьютерные сети: структура, функции, типы.
Глобальные сети WAN (Wide Area Networks) служат для предоставления своих сервисов большому количеству конечных абонентов, разбросанных по большой территории.
Глобальные сети объединяют в единую структуру абонентов разных типов:
- отдельные компьютеры разных классов (от мэйнфреймов до ПК);
- ЛВС;
- удаленные терминалы.
WAN бывают:
- публичными (общественными) - создаются крупными телекоммуникационными компаниями для оказания платных услуг абонентам;
- частные - создаются крупной корпорацией для своих внутренних нужд.
Ввиду большой стоимости инфраструктуры глобальных сетей существует острая потребность передачи по одной сети всех типов трафика (телефонного, компьютерного, мультимедийного).
WAN предоставляют в основном транспортные услуги, перенося данные между ЛВС и компьютерами. Т.е. услуги трех нижних уровней модели OSI (физического, канального, сетевого). Различают глобальные сети на основе:
- выделенных каналов;
- коммутации каналов;
- коммутации пакетов.
Выделенный канал - это канал с фиксированной пропускной способностью, постоянно соединяющий двух абонентов. Глобальные сети с коммутацией каналов бывают двух типов:
- аналоговые телефонные сети (достаточно распространенные, низкие скорости (1,2 - 64 кбит/с), низкое качество канала, большое время на установление соединения, использование технологии частотного мультиплексирования - FDM);
- цифровые сети с интеграцией услуг ISDN (высокие скорости (2-622Мбит/c), высококачественные линии связи, быстрое установление соединения, мультиплексирование с разделением времени - TDM).
Глобальные сети с коммутацией пакетов бывают следующих типов:
- X.25 (Протоколы обладают большой избыточностью, хорошо работают на каналах низкого качества, на высококачественных каналах неэффективны, низкие скорости передачи);
- Frame Relay (Технология с поддержкой качества обслуживания, хорошо передает пульсации трафика, поддерживает службу постоянных виртуальных каналов, скорость до 2Мбит/с);
- ATM (Сети с гарантией качества обслуживания, возможность градации скорости передачи, скорость до 2,4Гбит/c, технология может применяться в ЛВС и глобальных сетях, высокая стоимость);
TCP/IP (Сети широко распространены, технология, на которой основана Internet).
48. Проколы канального уровня: SLIP, НDLС, PPP.
Протокол SLIP (Serial Line IP) был первым стандартом де-факто, позволяющим устройствам, соединенным последовательной линией связи, работать по протоколам TCP/IP. Он был создан в начале 80-х годов и в 1984 году встроен Риком Адамсом (Rick Adams) в операционную систему 4.2 Berkley Unix. Позднее SLIP был поддержан в других версиях Unix и реализован в программном обеспечении для ПК.
Правда, ввиду его функциональной простоты, SLIP использовался и используется в основном на коммутируемых линиях связи, которые не характерны для ответственных и скоростных сетевых соединений. Тем не менее коммутируемый канал отличается от некоммутируемого только более низким качеством и необходимостью выполнять процедуру вызова абонента, поэтому SLIP вполне применим и на выделенных каналах.
Протокол SLIP выполняет единственную функцию - он позволяет в потоке бит, которые поступают по выделенному (или коммутируемому) каналу, распознать начало и конец IP-пакета. Помимо протокола IP, другие протоколы сетевого уровня SLIP не поддерживает.
Для установления связи по протоколу SLIP компьютеры должны иметь информацию об IP-адресах друг друга. Однако возможна ситуация, когда, скажем, при осуществлении соединения между хостом и маршрутизатором последнему понадобится передать хосту информацию о его IP-адресе. В протоколе SLIP нет механизмов, дающих возможность обмениваться адресной информацией. Это ограничение не позволяет использовать SLIP для некоторых видов сетевых служб.
Другой недостаток SLIP - отсутствие индикации типа протокола, пакет которого инкапсулируется в SLIP-пакет. Поэтому через последовательную линию по протоколу SLIP можно передавать трафик лишь одного сетевого протокола - IP.
При работе с реальными телефонными линиями, зашумленными и поэтому искажающими пакеты при пересылке, требуются процедуры обнаружения и коррекции ошибок. В протоколе SLIP такие процедуры не предусмотрены. Эти функции обеспечивают вышележащие протоколы: протокол IP проводит тестирование целостности пакета по заголовку IP, а один из двух транспортных протоколов (UDP или TCP) проверяет целостность всех данных по контрольным суммам.
Таким образом, протокол SLIP выполняет работу по выделению из последовательности передаваемых по последовательному каналу бит границ IP-пакета. Протокол не имеет механизмов передачи адресной информации, идентификации типа протокола сетевого уровня, определения и коррекции ошибок.
Долгое время основным протоколом выделенных линий был протокол HDLC (High-level Data Link Control), имеющий статус стандарта ISO. Протокол HDLC на самом деле представляет собой семейство протоколов, в которое входят известные протоколы: LAP-B, образующий канальный уровень сетей Х.25, LAP-D - канальный уровень сетей ISDN, LAP-M - канальный уровень асинхронно-синхронных модемов, LAP-F - канальный уровень сетей frame relay.
Основные принципы работы протокола HDLC: режим логического соединения, контроль искаженных и потерянных кадров с помощью метода скользящего окна, управление потоком кадров с помощью команд RNR и RR, а также различные типы кадров этого протокола были уже рассмотрены в главе 3 при изучении еще одного представителя семейства HDLC - протокола LLC2.
Однако сегодня протокол HDLC на выделенных каналах вытеснил протокол "точка-точкам", Point-to-Point Protocol, PPP.
Дело в том, что одна из основных функций протокола HDLC - это восстановление искаженных и утерянных кадров. Действительно, применение протокола HDLC обеспечивает снижение вероятности искажения бита (BER) с 10-3, что характерно для территориальных аналоговых каналов, до 10-9.
Однако сегодня популярны цифровые каналы, которые и без внешних процедур восстановления кадров обладают высоким качеством (величина BER составляет10-8-10-9). Для работы по такому каналу восстановительные функции протокола HDLC не нужны. При передаче по аналоговым выделенным каналам современные модемы сами применяют протоколы семейства HDLC (синхронные модемы - HDLC, а асинхронно-синхронные с асинхронным интерфейсом - LAP-M, который также принадлежит семейству HDLC). Поэтому использование HDLC на уровне маршрутизатора или моста становится неоправданным.
Этот протокол разработан группой IETF (Internet Engineering Task Force) как часть стека TCP/IP для передачи кадров информации по последовательным глобальным каналам связи взамен устаревшего протокола SLIP (Serial Line IP). Протокол PPP стал фактическим стандартом для глобальных линий связи при соединении удаленных клиентов с серверами и для образования соединений между маршрутизаторами в корпоративной сети. При разработке протокола PPP за основу был взят формат кадров HDLC и дополнен собственными полями. Поля протокола PPP вложены в поле данных кадра HDLC. Позже были разработаны стандарты, использующие вложение кадра PPP в кадры frame relay и других протоколов глобальных сетей.
Основное отличие РРР от других протоколов канального уровня состоит в том, что он добивается согласованной работы различных устройств с помощью переговорной процедуры, во время которой передаются различные параметры, такие как качество линии, протокол аутентификации и инкапсулируемые протоколы сетевого уровня. Переговорная процедура происходит во время установления соединения.
Протокол РРР основан на четырех принципах: переговорное принятие параметров соединения, многопротокольная поддержка, расширяемость протокола, независимость от глобальных служб.
49. Глобальные связи на основе сетей с коммутацией каналов.
Для снижения стоимости глобального транспорта применяют динамически коммутируемые каналы, стоимость которых разделяется между многими абонентами этих каналов.
Наиболее дешевыми оказываются услуги телефонных сетей, так как их коммутаторы оплачиваются большим количеством абонентов, пользующихся телефонными услугами, а не только абонентами, которые объединяют свои локальные сети.
Телефонные сети делятся на аналоговые и цифровые в зависимости от способа мультиплексирования абонентских и магистральных каналов.
Наиболее популярными коммутируемыми каналами являются каналы, создаваемые обычными аналоговыми телефонными сетями. Со средней пропускной способностью 9600 бит/с коммутируемые аналоговые линии, оснащенные модемами, подходят только для пользователя с минимальными требованиями к времени реакции системы. Максимальная на сегодня пропускная способность в 56 Кбит/с достигается только в том случае, если все коммутаторы в сети на пути следования данных являются цифровыми, да и то такая скорость обеспечивается только в направлении "сеть - пользователь".
Чаще всего такие линии используются для индивидуального удаленного доступа к сети или же как резервные линии связи небольших офисов с центральным отделением предприятия.
Электромеханические коммутаторы, естественно, создают значительные помехи в коммутируемых каналах.
Для передачи данных по аналоговым коммутируемым телефонным каналам используются модемы, которые:
поддерживают процедуру автовызова абонента;
работают по 2-проводному окончанию, так как в телефонных сетях для коммутируемых каналов предусмотрено именно это окончание.
Чаще всего сегодня для коммутируемых каналов используются те же модели модемов, что и для выделенных, так как последние стандарты определяют два режима работы - по выделенным каналам и по коммутируемым. Естественно, такие комбинированные модели дороже моделей, поддерживающих только один режим работы - по коммутируемым каналам.
ISDN (Integrated Services Digital Network - цифровые сети с интегральными услугами) относятся к сетям, в которых основным режимом коммутации является режим коммутации каналов, а данные обрабатываются в цифровой форме.
Одним из базовых принципов ISDN является предоставление пользователю стандартного интерфейса, с помощью которого пользователь может запрашивать у сети разнообразные услуги. Этот интерфейс образуется между двумя типами оборудования, устанавливаемого в помещении пользователя (Customer Premises Equipment, СРЕ): терминальным оборудованием пользователя ТЕ (компьютер с соответствующим адаптером, маршрутизатор, телефонный аппарат) и сетевым окончанием NT, которое представляет собой устройство, завершающее канал связи с ближайшим коммутатором ISDN.
Построение глобальных связей на основе сетей ISDN в корпоративной сети ограничено в основном организацией удаленного доступа и объединением небольших локальных сетей на основании службы коммутации каналов. Служба коммутации пакетов по каналу типа D реализуется редко - это связано с его невысокой скоростью, которая обычно составляет не более 9600 бит/с. Поэтому сети ISDN используются так же, как и аналоговые телефонные сети, но только как более скоростные и надежные.


предыдущая страница.......................следующая страница




















































































































Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: