Распределённая информационная система. Определение, характеристики и примеры. Серверы приложений и прикладные протоколы. Протоколы электронной почты: SMTP, POP, IMAP

1. Распределённая информационная система. Определение, характеристики и примеры . –

Рсои – набор независимых компьютеров, представляющийся их пользователям единой ИС. Характеристики – 1) От пользователей скрыты различия между компьютерами 2) Пользователи и приложения единообразно работают в распределенных системах 3) РС должны легко поддаваться расширению. Примеры – Служба Web, Сеть рабочей станции в отделе компании

2. Требования, предъявляемые к распределённым системам: прозрачность, открытость и масштабируемость - 1) Прозрачность – рсои, которая представляется в виде единой КС. 2) Открытость – использование стандартного синтаксиса и семантики для реализации служб системы. Открытые РС обладают гибкостью – легкость конфигурирования системы, состоящей из разных компьютеров. 3) Масштабируемость – измеряется в трех направлениях: 1. По отношению к размеру 2. Географический 3. В административном смысле

3. Возможности и проблемы связанные с использованием распределенных систем.

4. Технология «Клиент - сервер». Обязанности клиента и сервера. Двухуровневая и многоуровневая модели клиент-сервер. –

Технология взаимодействия, в которой одна программа запрашивает выполнение какой-либо совокупности действий, а другая её выполняет, называется Технология клиент-сервер. Модель клиент-серверного взаимодействия определяется прежде всего распределением обязанности между клиентом и сервером. Можно логически выделить три уровня: 1) Уровень пользовательского интерфейса 2) Уровень обработки (прикладной уровень) 3) Уровень данных(управления данными).

Двухуровневая архитектура – архитектура, в которой прикладные и пользовательский сервисы реализованы на клиентской рабочей станции,а данные централизованно хранятся на сервере

Многоуровневая архитектура – архитектура, распределяющая пользовательские сервисы, прикладные сервисы и сервисы данных

5. Серверы приложений и прикладные протоколы . – Сервер приложений – это ПО, предназначенное для выполнения прикладных процессов. Сервер приложений взаимодействует с клиентами и взаимодействует с БД

Протоколы – это набор правил и технических процедур, регулирующих порядок выполнения некоторой связи между компьютерами в компьютерной сети.

Прикладные протоколы – протокол пересылки файлов FTP, протокол Telnet, протокол http, протоколы SMTP POP3(почтовые протоколы), протокол NNTP

6. Удаленный вызов процедур RPC . Принципы реализации, этапы выполнения, асинхронный вызов RPC . – Технология RPC широко используется для построения распределенных систем. Удаленный вызов процедур – класс технологий, позволяющих компьютерными программами вызывать функции или процедуры в другом адресном пространстве.(на удаленных компьютерах)

Принципы – Вызывающая процедура не должна уведомляться о том, что вызываемая процедура выполняется на другой машине и наоборот – это прозрачность. Для выполнения удаленной процедуры в библиотеку помещается специальная версия этой процедуры, называемая клиентской заглушкой.

Этапы выполнения – 1) Процедура клиента обычным образом вызывает клиентскую заглушку 2) Клиентская заглушка создает сообщение и вызывает локальную ос 3) ОС клиента пересылает сообщение удаленной ос 4) Удаленная ОС передает сообщение серверной заглушке 5) Серверная заглушка извлекает из сообщения параметры 6) Сервер выполняет вызов 7) Серверная заглушка запаковывает результаты в сообщение 8) ОС сервера пересылает сообщении ос клиента 9) ОС клиента принимает сообщение и передает его клиентской заглушке

7. Основные понятия web -программирования. – web-документ – гипертекстовый документ, содержащий в себе гиперссылки на различные информационные ресурсы. Web-сайт – совокупность объединенных по смыслу и связанных с помощью гиперссылок web-документов. Публикация ресурсов – возможность размещения на сервере некоторого гипертекстового документа. Гипертекст – форма представления информационных объектов

8. Язык HTML. Основные теги. Структура HTML-документа. Пример. html – документ – это текстовый ascii-файл, содержащий текст, и html-теги. Существуют две группы тегов – контейнеры<имя тега [список атрибутов]>текст и автономные (одиночные) теги(). Метаданные – необработанная информация, предназначенная для идентификации документа и указания режима отображения web-страницы. Последней версией HTML является HTML 4.01.

9. Язык HTML. Теги форматирования текста: абзацы, заголовки, стиль шрифта. Пример. – Атрибуты тега body – bgcolor(цвет фона),text, link (цвет гиперссылок). Заголовки - 1 самый крупный, 6 самые мелкий. Абзацы -

10. Язык HTML. Формирование таблиц. Пример создания таблицы на языке HTML. Основные теги таблицы -

..
начало и окончание таблицы.. - начало и окончание строки - заголовок таблицы

Прикладной уровень представляет собой комплекс программных средств, представленных в двух формах: в виде приложений (applications) и программ служб сервиса (services) .

Сопряжение человека с сетью обеспечивают приложения. Широко известны такие приложения этого уровня, как веб-браузеры гипертекстовой информационной службы (World Wide Web – WWW ), которые позволяют людям готовить сообщения для передачи по сети и принимать такие сообщения. Наиболее известными веб-браузерами являются Internet Explorer, Mozilla Firefox, Opera.

Программы служб сервиса готовят данные для передачи по сети, обеспечивая эффективное использование ресурсов сети. Разные типы информации (аудио-, видео-, текстовая информация ) требуют различных услуг, поскольку разнотипную информацию необходимо передать через общую сеть .

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

Протоколы и службы прикладного уровня обычно представлены соответствующими серверами. Однако сервер , как отдельное устройство, может объединять функции нескольких служб сервиса; или наоборот, служба одного вида услуг может быть представлена многими серверами разного уровня.

Наиболее распространенными протоколами и службами прикладного уровня являются:

  • протоколы электронной почты (Simple Mail Transfer Protocol – SMTP, Post Office Protocol – POP , – IMAP );
  • протокол передачи гипертекстовой информации, или веб-сервер ( Hypertext Transfer Protocol – HTTP);
  • протокол передачи файлов ( File Transfer Protocol – FTP) и простой протокол передачи файлов (Trivial FTP – TFTP );
  • система доменных имен (Domain Name System – DNS);
  • протоколы удаленного доступа ( Telnet и SSH ), обеспечивающие виртуальное соединение с удаленными сетевыми устройствами;
  • протокол динамического назначения адресов узлов (Dynamic Host Configuration Protocol – DHCP ).

Таким образом, приложения прикладного уровня обеспечивают интерфейс (сопряжение) человека с сетью. Службы сервиса используют программные средства протоколов, чтобы подготовить информацию для передачи по сети.

Существуют две модели построения сети:

  1. модель "клиент-сервер";
  2. модель соединения равноправных узлов сети ( peer -to- peer ).

В сети peer-to-peer связанные через сеть конечные узлы разделяют общие ресурсы (принтеры, файлы) без выделенного сервера . Каждое конечное устройство ( peer ) может функционировать либо как сервер , либо как клиент. Компьютер может выполнять роль сервера для одного соединения и роль клиента для другого.

Согласно модели "клиент-сервер" клиент запрашивает информацию, пересылая запрос выделенному серверу ( upload ), который в ответ на запрос посылает ( download ) файл , принимаемый клиентом. Следовательно, клиент инициирует процесс обмена информацией в среде "клиент- сервер " и получает от сервера требуемую информацию. Главным достоинством модели "клиент- сервер " является централизация управления сетью и обеспечение безопасности.

Ниже приведены краткие характеристики некоторых наиболее широко используемых протоколов прикладного уровня.

Протоколы передачи электронной почты

При передаче электронной почты и взаимодействии почтовых серверов между собой используется простой протокол передачи почты (Simple Mail Transfer Protocol – SMTP ), у которого номер порта 25. Для получения клиентом сообщения с сервера используется протокол почтового отделения ( Post Office Protocol – POP ) с номером порта 110 или протокол доступа к сообщениям ( Internet Messaging Access Protocol IMAP ).


Рис. 2.2.

При передаче сообщений между серверами используется Агент передачи почты (Mail Transfer Agent – MTA ). Агент MTA получает сообщения от MUA или от другого MTA и передает их по сети. Агенты MTA применяют протокол SMTP для передачи электронной почты между серверами. Если сообщение из сервера может быть отправлено сразу клиенту локальной сети, то подключается Агент доставки почты (Mail Delivery Agent – MDA ). Агент MDA получает прибывающую почту от MTA и помещает ее в соответствующие почтовые ящики пользователей, используя протокол РОР.

Протокол HTTP

Самым распространенным протоколом прикладного уровня в настоящее время является протокол передачи гипертекстовой информации ( Hypertext Transfer Protocol – HTTP ), который работает в сети Интернет. Его основным приложением является веб-браузер, который отображает данные на веб-страницах, используя текст, графику, звук и видео. Веб- страницы создаются с применением языка разметки гипертекста Hypertext Markup Language (HTML), который определяет местоположения для размещения текста, файлов и объектов, которые должны быть переданы от сервера по сети до веб-браузера. Номер порта протокола HTTP – 80, функционирует совместно с протоколом транспортного уровня TCP.

В ответ на запрос сервер посылает клиенту сети текст, аудио-, видео- и графические файлы, указанные в командах HTML. Браузер клиента повторно собирает все файлы, чтобы создать изображение веб-страницы, которая представляется пользователю.

Протокол HTTP характеризуется сравнительно невысоким уровнем безопасности, поскольку передаваемые по сети сообщения не зашифрованы. Для повышения уровня безопасности передачи сообщений через Интернет был разработан протокол HTTP Secure (HTTPS ). В этом протоколе используется процесс криптографирования данных (encryption ) и аутентификации (authentication ), что существенно повышает уровень безопасности. Номер порта протокола HTTPS – 443.

Протоколы передачи файлов FTP и TFTP

Протокол передачи файлов (File Transfer Protocol – FTP) – служба, ориентированная на предварительное соединение ( connection-oriented ), которая взаимодействует с протоколом транспортного уровня TCP. Главная цель протокола FTP состоит в том, чтобы передавать файлы от одного компьютера другому или копировать и перемещать файлы от серверов клиентам и от клиентов серверам. Это является главным отличием от протокола HTTP, который позволяет клиенту "скачивать" файлы с сервера, но не позволяет пересылать файлы на сервер.

Протокол передачи файлов FTP сначала устанавливает соединение между клиентом и сервером, используя команды запроса клиента и ответы сервера. При этом номер порта – 21. Затем производится обмен данными, когда номер порта – 20. Передача данных может производиться в режиме кода ASCII или в двоичном коде. Эти режимы определяют кодирование, используемое для файла данных, которое в модели OSI является задачей представительского (presentation) уровня. После завершения передачи файла соединение для передачи данных заканчивается автоматически. Управление сеансом связи происходит на сеансовом (Session) уровне.

Простой протокол передачи файлов (Trivial File Transfer Protocol – TFTP ) – служба без установления соединения ( connectionless ), которая работает совместно с протоколом транспортного уровня (User Datagram Protocol – UDP ). Протокол TFTP применяется на маршрутизаторах, чтобы передавать файлы конфигурации и операционную систему Cisco IOS , а также для передачи файлов между системами, которые поддерживают TFTP . Протокол TFTP характеризует простота и малый объем программного обеспечения. Он может читать или записывать файлы при соединении с сервером, но не ведет списки и каталоги. Поэтому протокол TFTP работает быстрее, чем протокол FTP.

Система доменных имен DNS

Система доменных имен (Domain Name System – DNS) используется в Интернете для того, чтобы переводить имена сайтов или доменов в числовые значения IP-адреса. Людям легче запомнить доменное имя , например, http://www.cisco.com , чем числовой адрес 198.133.219.25. Кроме того, числовые адреса могут со временем меняться. Например, в настоящее время указанный выше числовой адрес сайта http://www.cisco.com изменен на 72.163.4.161. Поскольку в ряде случаев требуется знание числового адреса, хост может обратиться к DNS-серверу и по имени получить соответствующий адрес. DNS использует распределенный набор серверов разного уровня иерархии, чтобы получить соответствие между именем и числовым адресом.

Операционные системы компьютеров содержат утилиту nslookup , которая позволяет пользователю вручную запрашивать имя сервера и идентифицировать название хоста. Когда клиент делает запрос, локальный сервер сначала проверяет собственные записи. Если соответствующих пар "имя-адрес" у него нет, то он связывается с другими серверами DNS более высокого уровня иерархии.

На рис. 2.3 приведен пример выполнения команды nslookup, которая позволяет пользователю вручную запросить адрес DNS-сервера . Команда выполняется в режиме командной строки (Пуск Программы Стандартные Командная строка ). В приведенном примере выполнено четыре команды.

TCP/IP – Transmission Control Protocol / Internet Protocol (Протокол Управления Передачей Данных / Межсетевой Протокол ). Стек TCP / IP – совокупность протоколов организации взаимодействия между структурами и программными компонентами сети; представляет собой программно реализованный набор протоколов межсетевого взаимодействия.

I должен обеспечить интеграцию в составную сеть любой др. сети, независимо от технологии передачи данных этой сети.

II должен обеспечить возможность передачи пакетов через составную сеть, используя разумный (оптимальный) на данный момент маршрут.

III решает задачу обеспечения надежной передачи данных между источником и адресатом.

IV объединяет все сетевые службы и услуги, предоставляемые сетью польз-лю.

В TCP/IP достаточно хорошо развит первый уровень, соответствующий 1 и 2 уровням OSI. Второй уровень TCP/IP – IP. Также присутствует ICMP – протокол управляющих сообщений сети. IP не гарантирует надежной передачи данных. Основная задача – выбор наилучшего маршрута. Решение этой задачи IP перекладывает на RIP и OSPF протоколы. Третий уровень – TCP, основная функция – надежность и правильность доставки данных. Также используется UDP, в нем каждый пакет передается независимо. Надежность доставки данных не гарантируется, т.к. не устанавливается связь заранее. Обычно по UDP передаются данные, не критичные к надежности. 4 уровень – набор служб и услуг, предлагаемых пользователю.

Протоколы прикладного уровня.

1) Telnet – протокол удаленного доступа (эмуляция терминала). Обеспечивает подключение пользователя за неинтеллектуальным терминалом (используется крайне редко)

2) FTP – протокол передачи данных

3) SMTP – протокол передачи электронной почты

4) POP3 – почтовый протокол

5) DNS – протокол доменных имен. Устанавливает соответствие символьный адрес – IP адрес.

6) HTTP – протокол передачи гипер текста

7) Kerberos – протокол защиты информации в сетях. Отвечает за пароли и ключи.

Telnet

Telnet – это прикладной протокол стека TCP/IP, обеспечивающий эмуляцию терминалов. Терминал – это устройство, состоящее из монитора и клавиатуры и используемое для взаимодействия с хост- компьютерами (обычно мэйнфреймами или мини-компьютерами), на которых выполняются программы. Программы запускаются на хосте, поскольку терминалы, как правило, не имеют собственного процессора.

Протокол Telnet функционирует поверх TCP/IP и имеет две важные особенности, отсутствующие в других эмуляторах: он присутствует практически в каждой реализации стека TCP/IP, а также является открытым стандартом (т. е. каждый производитель или разработчик легко может, реализовать его). Для некоторых реализаций Telnet нужно, чтобы хост был сконфигурирован как Telnet-сервер. Протокол Telnet поддерживается многими рабочими станциями, работающими под управлением MS-DOS, UNIX и любых версий Windows.

File Transfer Protocol (FTP), Trivial File Transfer Protocol (TFTP) и Network File System (NFS)

Стек TCP/IP содержит три протокола для передачи файлов : File Transfer Protocol (FTP), Trivial File Transfer Protocol (TFTP) и Network File System (NFS). Самым распространенным протоколом является FTP, поскольку именно его чаще всего выбирают для передачи файлов пользователи Интернета. С помощью FTP можно, работая на компьютере в одном городе, подключиться к хост- компьютеру, расположенному в другом городе, и скачать один или несколько файлов. (При этом, конечно, нужно знать имя учетной записи и пароль для удаленного хоста.) Пользователи Интернета нередко с помощью FTP скачивают различные файлы (например, сетевые драйверы или обновления системы).

FTP – это приложение, позволяющее с помощью протокола TCP передать данные от одного удаленного устройства к другому. Как и в протоколе Telnet, заголовок FTP и соответствующие данные инкапсулируются в поле полезной нагрузки пакета TCP. Преимущество FTP по сравнению с протоколами TFTP и NFS заключается в том, что FTP использует два TCP-порта: 20 и 21. Порт 21 – это управляющий порт для команд FTP, которые определяют способ передачи данных. Например, команда get служит для получения файла, а команда put используется для пересылки файла некоторому хосту. FTP поддерживает передачу двоичных или текстовых (ASCII) файлов, Для чего применяются команды binary и ascii. Порт 20 служит только для Передачи данных, задаваемых командами FTP.

FTP предназначен для передачи файлов целиком, что делает его удобным средством для пересылки через глобальную сеть файлов большого размера FTP не позволяет передать часть файла или некоторые записи внутри файла. Поскольку данные инкапсулированы в пакеты TCP, коммуникации с использованием FTP являются надежными и обеспечиваются механизмом служб с установлением соединения (что подразумевает отправку подтверждения после приема пакета). При FTP- коммуникациях выполняется передача одного потока данных, в конце которого следует признак конца файла (EOF).

TFTP – это файловый протокол стека TCP/IP, предназначенный для таких задач, как передача с некоторого сервера файлов, обеспечивающих загрузку бездисковой рабочей станции. Протокол TFTP не устанавливает соединений и ориентирован на пересылку небольших файлов в тех случаях, когда появление коммуникационных ошибок не является критичным и нет особых требований к безопасности. Отсутствие соединений при работе TFTP объясняется тем, что он функционирует поверх протокола UDP (через UDP-порт 69), а не с использованием TCP. Это означает, что в процессе передачи данных отсутствуют подтверждения пакетов или не задействованы службы с установлением

соединений, гарантирующие успешную доставку пакетов в пункт назначения.

Simple Mail Transfer Protocol (SMTP)

Протокол Simple Mail Transfer Protocol (SMTP) предназначен для передачи сообщений электронной почты между сетевыми системами. С помощью этого протокола системы UNIX, OpenVMS, Windows и Novell NetWare могут пересылать электронную почту поверх протокола TCP. SMTP можно рассматривать как альтернативу протоколу FTP при передаче файла от одного компьютера к другому. При работе с SMTP не нужно знать имя учетной записи и пароль для удаленной системы. Все, что нужно, – это адрес электронной почты принимающего узла. SMTP может пересылать только текстовые файлы, поэтому файлы в других форматах должны быть конвертированы в текстовый вид, только после этого их можно поместить в SМТР-сообщение.

Domain Name System (DNS) (служба имен доменов ) представляет собой службу стека TCP/IP, преобразующую имя компьютера или домена в IP-адрес или, наоборот, конвертирующую IP-адрес в компьютерное или доменное имя. Этот процесс называется разрешением (имен или адресов). Пользователям легче запоминать имена, а не IP-адреса в десятичном представлении с разделительными точками, однако поскольку компьютерам все равно нужны IP-адреса, то должен быть способ преобразования одного способа адресации в другой. Для этого служба DNS использует таблицы просмотра, в которых хранятся пары соответствующих значений.

Dynamic Host Configuration Protocol (DHCP)

Протокол Dynamic Host Configuration Protocol (DHCP ) (Протокол динамически конфигурации хоста) позволяет автоматически назначать в сети 1Р-адреса с помощью DHCP-сервера. Когда новый компьютер, настроенный на работу с DHCP, подключается к сети, он обращается к DHCP-серверу, который выделяет (сдает в аренду) компьютеру IP-адрес, передавая его посредством протокола DHCP. Длительность аренды устанавливается на DHCP-сервере сетевым администратором.

Address Resolution Protocol (ARP)

В большинстве случаев для отправки пакета принимающему узлу отправитель должен знать как IP-адрес, так и МАС-адрес. Например, при групповых передачах используются оба адреса (IP и MAC). Эти адреса не моя совпадать и имеют разные форматы (десятичный с разделительными точками и шестнадцатеричный соответственно).

Address Resolution Protocol (ARP) (Протокол разрешения адресов) позволяет передающему узлу получить МАС-адреса выбранного принимающего узла перед отправкой пакетов. Если исходному узлу нужен некоторый МАС-адрес, то он посылает широковещательный ARP-фрейм, содержащий свой собственный МАС-адрес и IP-адрес требуемого принимающего узла. Принимающий узел отправляет обратно пакет ARP-ответа, содержащий свой МАС-адрес. Вспомогательным протоколом является Reverse Address Resolution Protocol (RARP) (Протокол обратного разрешения имен), с помощью которого сетевой узел может определить свой собственный IP-адрес. Например, RARP используется бездисковыми рабочими станциями, которые не могут узнать свои адреса иначе как выполнив RARP-запрос к своему хост-серверу. Кроме того, RARP используется некоторыми приложениями для определения IP-адреса того компьютера, на котором он выполняются.

Simple Network Management Protocol (SNMP) (Простой протокол сетевого управления) позволяет администраторам сети непрерывно следить за активностью сети. Протокол SNMP был разработан в 1980-х годах для того, чтобы снабдить стек TCP/IP механизмом, альтернативным стандарту OSI на управление сетями – протоколу Common Management Interface Protocol (CMIP) (Протокол общей управляющей информации). Хотя протокол SNMP был создан для стека TCP/IP, он соответствует эталонной модели OSI. Большинство производителей предпочли использовать SNMP, а не CMIP, что объясняется большой популярностью протоколов TCP/IP, а также простотой SNMP. Протокол SNMP поддерживают многие сотни сетевых устройств, включая файловые серверы, карты сетевых адаптеров, маршрутизаторы, повторители, мосты, коммутаторы и концентраторы. В сравнении с этим, протокол CMIP применяется компанией IBM в некоторых сетях с маркерным кольцом, однако во многих других сетях он не встречается.

Лабораторная работа №16

Задание: создать и настроить учётную запись на Outlook.

Контрольные вопросы

1. Основные протоколы, используемые в электронной почте.

SMTP (англ. Simple Mail Transfer Protocol - простой протокол передачи почты) - это широко используемый сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.

POP3 (англ. Post Office Protocol Version 3 - протокол почтового отделения, версия 3) - стандартный Интернет-протокол прикладного уровня, используемый клиентами электронной почты для получения почты с удаленного сервера по TCP/IP-соединению.

IMAP (англ. Internet Message Access Protocol) - протокол прикладного уровня для доступа к электронной почте.

2. В чем состоит отличие РОР2 от РОРЗ?

У РОР2 и РОРЗ разные номера портов протокола.

РОР2 определен в документе RFC 937 (Post Office Protocol-Version 2, Butler, et al, 1985), a РОРЗ - в RFC 1225 (Post Office Protocol-Version 3, Rose, 1991).

3. Что такое APOP?

APOP расширяет возможности POP3 (протокол получения электронных сообщений через Интернет) путем использования метода проверки подлинности, при котором пароль шифруется при получении клиентом сообщений электронной почты.

4. Отличия РОР и IMAP

Почтовый протокол POP3 используется только для загрузки новых сообщений с почтового сервера. Он позволяет почтовому клиенту подключиться к серверу лишь на период времени, который требуется для загрузки сообщений.

Не допускается одновременное подключение нескольких почтовых клиентов к определенному ящику (разрешено только одно подключение).

При использовании почтового протокола IMAP соединение не разрывается до тех пор, пока ведется работа с ящиком в почтовой программе; загрузка сообщений с сервера производится только по запросу почтового клиента.

Разрешен одновременный доступ нескольких почтовых клиентов к ящику, причем каждый из них может отслеживать изменения, производимые другими подключенными клиентами, а также статус всех сообщений (прочитано, отправлен ответ, удалено).



5. Самый современный протокол эл.почты

IMAP - это самый новый, и поэтому менее популярный протокол чтения электронной почты.

Протокол позволяющий просматривать почту без предварительной загрузки?

IMAP позволяет работать с сообщениями электронной почты без их предварительной загрузки на компьютер получателя

Протокол наиболее удобный в использовании?

6. Схема отправки/получения электронного сообщения?

В качестве одного из элементов электронной почты, почтовый ящик представляет собой обычный каталог файловой системы (папку), а электронные письма ‑ файлы данных, находящиеся в данном каталоге. Естественно, вся технология приема и передачи электронных писем подчиняется определенным правилам, задаваемым протоколами и форматами данных. На стороне клиента (отправителя и получателя) используется специальное программное обеспечение ‑ почтовый клиент, в качестве которого может использоваться, например, Microsoft Outlook для Windows или Mozilla Thunderbird для Linux. Даже если вы работаете со своим почтовым ящиком через веб-интерфейс (подключаясь к сайту, например mail.ru), то вы все равно используете почтовое клиентское программное обеспечение, выполняющееся в среде сервера. Почтовые серверы и почтовые клиенты, независимо от того, на каком оборудовании, и с каким программным обеспечением, они работают, реализуют, как минимум два прикладных протокола, без которых невозможен обмен почтой. Один из них служит для передачи электронных писем ‑ это протокол SMTP (Simple Mail Transfer Protocol, простой протокол передачи почты), второй служит для приема POP3 (Post Office Protocol ver 3, протокол почтового офиса). Оба протокола на прикладном уровне реализованы в виде обмена текстовыми сообщениями в кодировке ASCII, т.е. являются телнетоподобными (telnet-like) протоколами.

7. Что такое MIME?

MIME (Multipurpose Internet Mail Extensions - многоцелевые расширения интернет-почты) - стандарт, описывающий передачу различных типов данных по электронной почте, а также, в общем случае, спецификация для кодирования информации и форматирования сообщений таким образом, чтобы их можно было пересылать по Интернету.

MIME определяет механизмы для передачи разного рода информации внутри текстовых данных (в частности, с помощью электронной почты), а именно: текст на языках, для которых используются кодировки, отличные от ASCII, и нетекстовые данные, такие, как картинки, музыка, фильмы и программы. MIME является также фундаментальным компонентом коммуникационных протоколов, таких, как HTTP, которым нужно, чтобы данные передавались в контексте сообщений, подобных e-mail, даже если данные реально не являются e-mail.

MIME определяет набор e-mail-заголовков для определения дополнительных атрибутов сообщения, включая тип контента, и определяет множество кодировок, которые могут быть использованы для представления 8-битных бинарных данных с помощью символов из 7-битного ASCII. MIME также определяет правила для кодирования символов из Extended ASCII (с кодами 128-255) в заголовках e-mail-сообщения, таких, как Subject:.

8. Отличие бесплатных почтовых серверов от платных?

Преимущества платного почтового сервера:

В пункте требований безопасности платных почтовых сервисов есть опциональный подпункт о том, чтобы даже спецслужбы не могут потребовать для себя преференции в чтении писем пользователей.

Надежность самой системы. Всем известны внезапные «падения» почтовых серверов Google или Яндекс, недоступность вашей почты в течение продолжительного периода времени, да и, кроме того, власти вполне могут вдруг ограничить доступ к тому или иному популярному сервису «случайно» на неизвестное время и миллионы пользователей останутся ни с чем.

Ключевой термин: протокол.

Протокол (protocol) - набор правил, алгоритм обмена информацией между абонентами сети.

Второстепенные термины

    Стек протоколов (protocol stack) - это комбинация протоколов. Каждый уровень определяет различные протоколы для управления функциями связи или ее подсистемами. Каждому уровню присущ свой набор правил.

    Привязка (binding) является установкой соответствия стека протоколов плате сетевого адаптера.

    Прикладные протоколы - это протоколы, работающие на верхнем уровне модели OSI и обеспечивающие взаимодействие приложений и обмен данными между ними.

    Транспортные протоколы - это протоколы, поддерживающие сеансы связи между компьютерами и гарантирующие надежный обмен данных между ними.

    Сетевые протоколы - это протоколы, обеспечивающие услуги связи, управляющие несколькими типами данных: адресацией, маршрутизацией, проверкой ошибок и запросами на повторную передачу и определяющие правила для осуществления связи в конкретных сетевых средах.

Назначение протоколов

Протоколы (protocols) - это правила и технические процедуры, позволяющие нескольким компьютерам при объединении в сеть общаться друг с другом.

Три основных момента, касающихся протоколов.

    Существует множество протоколов. И хотя все они участвуют в реализации связи, каждый протокол имеет различные цели, выполняет различные задачи, обладает своими преимуществами и ограничениями.

    Протоколы работают на разных уровнях модели OSI. Функции протокола определяются уровнем, на котором он работает.

    Если, например, какой-то протокол работает на Физическом уровне, то это означает, что он обеспечивает прохождение пакетов через плату сетевого адаптера и их поступление в сетевой кабель.

    Несколько протоколов могут работать совместно. Это так называемый стек, или набор, протоколов.

Как сетевые функции распределены по всем уровням модели OSI, так и протоколы совместно работают на различных уровнях стека протоколов. Уровни в стеке протоколов соответствуют уровням модели OSI. В совокупности протоколы дают полную характеристику функциям и возможностям стека.

Работа протоколов

Передача данных по сети, с технической точки зрения, должна быть разбита на ряд последовательных шагов, каждому из которых соответствуют свои правила и процедуры, или протокол. Таким образом, сохраняется строгая очередность в выполнении определенных действий.

Кроме того, эти действия (шаги) должны быть выполнены в одной и той же последовательности на каждом сетевом компьютере. На компьютере-отправителе эти действия выполняются в направлении сверху вниз, а на компьютере-получателе - снизу вверх.

Компьютер-отправитель

Компьютер-отправитель в соответствии с протоколом выполняет следующие действия:

    разбивает данные на небольшие блоки, называемые пакетами, с которыми может работать протокол;

    добавляет к пакетам адресную информацию, чтобы компьютер-получатель мог определить, что эти данные предназначены именно ему;

    подготавливает данные к передаче через плату сетевого адаптера и далее - по сетевому кабелю.

Компьютер-получатель

Компьютер-получатель в соответствии с протоколом выполняет те же действия, но только в обратном порядке:

    принимает пакеты данных из сетевого кабеля;

    через плату сетевого адаптера передает пакеты в компьютер;

    удаляет из пакета всю служебную информацию, добавленную компьютером-отправителем;

    копирует данные из пакетов в буфер - для их объединения в исходный блок данных;

    передает приложению этот блок данных в том формате, который оно использует.

И компьютеру-отправителю, и компьютеру-получателю необходимо выполнять каждое действие одинаковым способом, с тем чтобы пришедшие по сети данные совпадали с отправленными. Если, например, два протокола будут по-разному разбивать данные на пакеты и добавлять информацию (о последовательности пакетов, синхронизации и для проверки ошибок), тогда компьютер, использующий один из этих протоколов, не сможет успешно связаться с компьютером, на котором работает другой протокол.

Маршрутизируемые и немаршрутизируемые протоколы

До середины 80-х годов большинство локальных сетей были изолированными. Они обслуживали один отдел или одну компанию и редко объединялись в крупные системы. Однако, когда локальные сети достигли высокого уровня развития и объем передаваемой ими коммерческой информации возрос, ЛВС стали компонентами больших сетей.

Данные, передаваемые из одной локальной сети в другую по одному из возможных маршрутов, называются маршрутизированными. Протоколы, которые поддерживают передачу данных между сетями по нескольким маршрутам, называются маршрутизируемыми (routable) протоколами. Так как маршрутизируемые протоколы могут использоваться для объединения нескольких локальных сетей в глобальную сеть, их роль постоянно возрастает.

Протоколы в многоуровневой архитектуре

Несколько протоколов, которые работают в сети одновременно, обеспечивают следующие операции с данными:

    подготовку;

    передачу;

    прием;

    последующие действия.

Работа различных протоколов должна быть скоординирована так чтобы исключить конфликты или незаконченные операции. Этого можно достичь с помощью разбиения на уровни.

Стеки протоколов

Стек протоколов (protocol stack) - это комбинация протоколов. Каждый уровень определяет различные протоколы для управления функциями связи или ее подсистемами. Каждому уровню присущ свой набор правил.

Так же как и уровни в модели OSI, нижние уровни стека описывают правила взаимодействия оборудования, изготовленного разными производителями. А верхние уровни описывают правила для проведения сеансов связи и интерпретации приложений. Чем выше уровень, тем сложнее становятся решаемые им задачи и связанные с этими задачами протоколы.

Привязка

Процесс, который называется привязка, позволяет с достаточной гибкостью настраивать сеть, т.е. сочетать протоколы и платы сетевых адаптеров, как того требует ситуация. Например, два стека протоколов, IPX/SPX и TCP/IP, могут быть привязаны к одной плате сетевого адаптера. Если на компьютере более одной платы сетевого адаптера, то стек протоколов может быть привязан как к одной, так и к нескольким платам сетевого адаптера.

Порядок привязки определяет очередность, с которой операционная система выполняет протоколы. Если с одной платой сетевого адаптера связано несколько протоколов, то порядок привязки определяет очередность, с которой будут использоваться протоколы при попытках установить соединение. Обычно привязку выполняют при установке операционной системы или протокола. Например, если TCP/IP - первый протокол в списке привязки, то именно он будет использоваться при попытке установить связь. Если попытка неудачна, компьютер попытается установить соединение, используя следующий по порядку протокол в списке привязки.

Привязка (binding) не ограничивается установкой соответствия стека протоколов плате сетевого адаптера. Стек протоколов должен быть привязан (или ассоциирован) к компонентам, уровни которых и выше, и ниже его уровня. Так, TCP/IP наверху может быть привязан к Сеансовому уровню NetBIOS, а внизу - к драйверу платы сетевого адаптера. Драйвер, в свою очередь, привязан к плате сетевого адаптера.

Стандартные стеки

В компьютерной промышленности в качестве стандартных моделей протоколов разработано несколько стеков. Вот наиболее важные из них:

    набор протоколов ISO/OSI;

    IBM System Network Architecture (SNA);

    Digital DECnet;

    Novell NetWare;

    Apple AppleTalk;

    набор протоколов Интернета, TCP/IP.

Протоколы этих стеков выполняют работу, специфичную для своего уровня. Однако коммуникационные задачи, которые возложены на сеть, приводят к разделению протоколов на три типа:

    прикладной;

    транспортный;

    сетевой.

Схема расположения этих типов соответствует модели OSI.

Прикладные протоколы

Прикладные протоколы работают на верхнем уровне модели OSI. Они обеспечивают взаимодействие приложений и обмен данными между ними. К наиболее популярным прикладным протоколам относятся:

    АРРС (Advanced Program-to-Program Communication) - одноранговый SNA-протокол фирмы IBM, используемый в основном на AS/400;

    FTAM (File Transfer Access and Management) - протокол OSI доступа к файлам;

    X.400 - протокол CCITT для международного обмена электронной почтой;

    Х.500 - протокол CCITT служб файлов и каталогов на нескольких системах;

    SMTP (Simple Mail Transfer Protocol) - протокол Интернета для обмена электронной почтой;

    FTP (File Transfer Protocol) - протокол Интернета для передачи файлов;

    SNMP (Simple Network Management Protocol) - протокол Интернета для мониторинга сети и сетевых компонентов;

    Telnet - протокол Интернета для регистрации на удаленных хостах и обработки данных на них;

    Microsoft SMBs (Server Message Blocks, блоки сообщений сервера) и клиентские оболочки или редиректоры;

    NCP (Novell NetWare Core Protocol) и клиентские оболочки или редиректоры фирмы Novell;

    Apple Talk и Apple Share - набор сетевых протоколов фирмы Apple;

    AFP (AppleTalk Filling Protocol) - протокол удаленного доступа к файлам фирмы Apple;

    DAP (Data Access Protocol) - протокол доступа к файлам сетей DECnet.

Транспортные протоколы

Транспортные протоколы поддерживают сеансы связи между компьютерами и гарантируют надежный обмен данных между ними. К популярным транспортным протоколам относятся:

    TCP (Transmission Control Protocol) - TCP/IP-протокол для гарантированной доставки данных, разбитых на последовательность фрагментов;

    SPX - часть набора протоколов IPX/SPX (Internetwork Packet Exchange/Sequential Packet Exchange) для данных, разбитых на последовательность фрагментов, фирмы Novell;

    NWLink - реализация протокола IPX/SPX от фирмы Microsoft;

    NetBEUI - устанавливает сеансы связи между компьютерами (NetBIOS) и предоставляет верхним уровням транспортные услуги (NetBEUI);

    АТР (AppleTalk Transaction Protocol), NBP (Name Binding Protocol) - протоколы сеансов связи и транспортировки данных фирмы Apple.

Сетевые протоколы

Сетевые протоколы обеспечивают услуги связи. Эти протоколы управляют несколькими типами данных: адресацией, маршрутизацией, проверкой ошибок и запросами на повторную передачу. Сетевые протоколы, кроме того, определяют правила для осуществления связи в конкретных сетевых средах, например Ethernet или Token Ring. К наиболее популярным сетевым протоколам относятся:

    IP (Internet Protocol) - TCP/IP-протокол для передачи пакетов;

    IPX (Internetwork Packet Exchange) - протокол фирмы NetWare для передачи и маршрутизации пакетов;

    NWLink - реализация протокола IPX/SPX фирмой Microsoft;

    NetBEUI - транспортный протокол, обеспечивающий услуги транспортировки данных для сеансов и приложений NetBIOS;

    DDP (Datagram Delivery Protocol) - AppleTalk-протокол транспортировки данных.

Стандартные стеки коммуникационных протоколов

Важнейшим направлением стандартизации в области вычислительных сетей является стандартизация коммуникационных протоколов. В настоящее время в сетях используется большое количество стеков коммуникационных протоколов. Наиболее популярными являются стеки: TCP/IP, IPX/SPX, NetBIOS/SMB, DECnet, SNA и OSI. Все эти стеки, кроме SNA на нижних уровнях - физическом и канальном, - используют одни и те же хорошо стандартизованные протоколы Ethernet, Token Ring, FDDI и некоторые другие, которые позволяют использовать во всех сетях одну и ту же аппаратуру. Зато на верхних уровнях все стеки работают по своим собственным протоколам. Эти протоколы часто не соответствуют рекомендуемому моделью OSI разбиению на уровни. В частности, функции сеансового и представительного уровня, как правило, объединены с прикладным уровнем. Такое несоответствие связано с тем, что модель OSI появилась как результат обобщения уже существующих и реально используемых стеков, а не наоборот.

Стек OSI

Следует четко различать модель OSI и стек OSI. В то время как модель OSI является концептуальной схемой взаимодействия открытых систем, стек OSI представляет собой набор вполне конкретных спецификаций протоколов. В отличие от других стеков протоколов стек OSI полностью соответствует модели OSI, он включает спецификации протоколов для всех семи уровней взаимодействия, определенных в этой модели. На нижних уровнях стек OSI поддерживает Ethernet, Token Ring, FDDI, протоколы глобальных сетей, Х.25 и ISDN, - то есть использует разработанные вне стека протоколы нижних уровней, как и все другие стеки. Протоколы сетевого, транспортного и сеансового уровней стека OSI специфицированы и реализованы различными производителями, но распространены пока мало. Наиболее популярными протоколами стека OSI являются прикладные протоколы. К ним относятся: протокол передачи файлов FT AM, протокол эмуляции терминала VTP, протоколы справочной службы Х.500, электронной почты Х.400 и ряд других.

Протоколы стека OSI отличает большая сложность и неоднозначность спецификаций. Эти свойства явились результатом общей политики разработчиков стека, стремившихся учесть в своих протоколах все случаи жизни и все существующие и появляющиеся технологии. К этому нужно еще добавить и последствия большого количества политических компромиссов, неизбежных при принятии международных стандартов по такому злободневному вопросу, как построение открытых вычислительных сетей.

Из-за своей сложности протоколы OSI требуют больших затрат вычислительной мощности центрального процессора, что делает их наиболее подходящими для мощных машин, а не для сетей персональных компьютеров.

Стек OSI - международный, независимый от производителей стандарт. Его поддерживает правительство США в своей программе GOSIP, в соответствии с которой все компьютерные сети, устанавливаемые в правительственных учреждениях США после 1990 года, должны или непосредственно поддерживать стек OSI, или обеспечивать средства для перехода на этот стек в будущем. Тем не менее стек OSI более популярен в Европе, чем в США, так как в Европе осталось меньше старых сетей, работающих по своим собственным протоколам.

Стек TCP/IP

Стек TCP/IP был разработан по инициативе Министерства обороны США более 25 лет назад для связи экспериментальной сети ARPAnet с другими сетями как набор общих протоколов для разнородной вычислительной среды. Большой вклад в развитие стека TCP/IP, который получил свое название по популярным протоколам IP и TCP, внес университет Беркли, реализовав протоколы стека в своей версии ОС UNIX. Популярность этой операционной системы привела к широкому распространению протоколов TCP, IP и других протоколов стека. Сегодня этот стек используется для связи компьютеров всемирной информационной сети Internet, а также в огромном числе корпоративных сетей.

Стек TCP/IP на нижнем уровне поддерживает все популярные стандарты физического и канального уровней: для локальных сетей - это Ethernet, Token Ring, FDDI, для глобальных - протоколы работы на аналоговых коммутируемых и выделенных линиях SLIP, РРР, протоколы территориальных сетей Х.25 и ISDN.

Основными протоколами стека, давшими ему название, являются протоколы IP и TCP. Эти протоколы в терминологии модели OSI относятся к сетевому и транспортному уровням соответственно. IP обеспечивает продвижение пакета по составной сети, a TCP гарантирует надежность его доставки.

За долгие годы использования в сетях различных стран и организаций стек TCP/IP вобрал в себя большое количество протоколов прикладного уровня. К ним относятся такие популярные протоколы, как протокол пересылки файлов FTP, протокол эмуляции терминала telnet, почтовый протокол SMTP, используемый в электронной почте сети Internet, гипертекстовые сервисы службы WWW и многие другие.

Сегодня стек TCP/IP представляет собой один из самых распространенных стеков транспортных протоколов вычислительных сетей. Действительно, только в сети Internet объединено около 10 миллионов компьютеров по всему миру, которые взаимодействуют друг с другом с помощью стека протоколов TCP/IP.

Стремительный рост популярности Internet привел и к изменениям в расстановке сил в мире коммуникационных протоколов - протоколы TCP/IP, на которых построен Internet, стали быстро теснить бесспорного лидера прошлых лет - стек IPX/SPX компании Novell. Сегодня в мире общее количество компьютеров, на которых установлен стек TCP/IP, сравнялось с общим количеством компьютеров, на которых работает стек IPX/SPX, и это говорит о резком переломе в отношении администраторов локальных сетей к протоколам, используемым на настольных компьютерах, так как именно они составляют подавляющее число мирового компьютерного парка и именно на них раньше почти везде работали протоколы компании Novell, необходимые для доступа к файловым серверам NetWare. Процесс становления стека TCP/IP в качестве стека номер один в любых типах сетей продолжается, и сейчас любая промышленная операционная система обязательно включает программную реализацию этого стека в своем комплекте поставки.

Хотя протоколы TCP/IP неразрывно связаны с Internet и каждый из многомиллионной армады компьютеров Internet работает на основе этого стека, существует большое количество локальных, корпоративных и территориальных сетей, непосредственно не являющихся частями Internet, в которых также используют протоколы TCP/IP. Чтобы отличать их от Internet, эти сети называют сетями TCP/IP или просто IP-сетями.

Поскольку стек TCP/IP изначально создавался для глобальной сети Internet, он имеет много особенностей, дающих ему преимущество перед другими протоколами, когда речь заходит о построении сетей, включающих глобальные связи. В частности, очень полезным свойством, делающим возможным применение этого протокола в больших сетях, является его способность фрагментировать пакеты. Действительно, большая составная сеть часто состоит из сетей, построенных на совершенно разных принципах. В каждой из этих сетей может быть установлена собственная величина максимальной длины единицы передаваемых данных (кадра). В таком случае при переходе из одной сети, имеющей большую максимальную длину, в сеть с меньшей максимальной длиной может возникнуть необходимость деления передаваемого кадра на несколько частей. Протокол IP стека TCP/IP эффективно решает эту задачу.

Другой особенностью технологии TCP/IP является гибкая система адресации, позволяющая более просто по сравнению с другими протоколами аналогичного назначения включать в интерсеть сети других технологий. Это свойство также способствует применению стека TCP/IP для построения больших гетерогенных сетей.

В стеке TCP/IP очень экономно используются возможности широковещательных рассылок. Это свойство совершенно необходимо при работе на медленных каналах связи, характерных для территориальных сетей.

Однако, как и всегда, за получаемые преимущества надо платить, и платой здесь оказываются высокие требования к ресурсам и сложность администрирования IP-сетей. Мощные функциональные возможности протоколов стека TCP/IP требуют для своей реализации высоких вычислительных затрат. Гибкая система адресации и отказ от широковещательных рассылок приводят к наличию в IP-сети различных централизованных служб типа DNS, DHCP и т. п. Каждая из этих служб направлена на облегчение администрирования сети, в том числе и на облегчение конфигурирования оборудования, но в то же время сама требует пристального внимания со стороны администраторов.

Можно приводить и другие доводы за и против стека протоколов Internet, однако факт остается фактом - сегодня это самый популярный стек протоколов, широко используемый как в глобальных, так и локальных сетях.

Стек IPX/SPX

Этот стек является оригинальным стеком протоколов фирмы Novell, разработанным для сетевой операционной системы NetWare еще в начале 80-х годов. Протоколы сетевого и сеансового уровней Internetwork Packet Exchange (IPX) и Sequenced Packet Exchange (SPX), которые дали название стеку, являются прямой адаптацией протоколов XNS фирмы Xerox, распространенных в гораздо меньшей степени, чем стек IPX/SPX. Популярность стека IPX/SPX непосредственно связана с операционной системой Novell NetWare, которая еще сохраняет мировое лидерство по числу установленных систем, хотя в последнее время ее популярность несколько снизилась и по темпам роста она отстает от Microsoft Windows NT.

Многие особенности стека IPX/SPX обусловлены ориентацией ранних версий ОС NetWare (до версии 4.0) на работу в локальных сетях небольших размеров, состоящих из персональных компьютеров со скромными ресурсами. Понятно, что для таких компьютеров компании Novell нужны были протоколы, на реализацию которых требовалось бы минимальное количество оперативной памяти (ограниченной в IBM-совместимых компьютерах под управлением MS-DOS объемом 640 Кбайт) и которые бы быстро работали на процессорах небольшой вычислительной мощности. В результате протоколы стека IPX/SPX до недавнего времени хорошо работали в локальных сетях и не очень - в больших корпоративных сетях, так как они слишком перегружали медленные глобальные связи широковещательными пакетами, которые интенсивно используются несколькими протоколами этого стека (например, для установления связи между клиентами и серверами). Это обстоятельство, а также тот факт, что стек IPX/SPX является собственностью фирмы Novell и на его реализацию нужно получать лицензию (то есть открытые спецификации не поддерживались), долгое время ограничивали распространенность его только сетями NetWare. Однако с момента выпуска версии NetWare 4.0 Novell внесла и продолжает вносить в свои протоколы серьезные изменения, направленные на их адаптацию для работы в корпоративных сетях. Сейчас стек IPX/ SPX реализован не только в NetWare, но и в нескольких других популярных сетевых ОС, например SCO UNIX, Sun Solaris, Microsoft Windows NT.

Стек NetBIOS/SMB

Этот стек широко используется в продуктах компаний IBM и Microsoft. На физическом и канальном уровнях этого стека используются все наиболее распространенные протоколы Ethernet, Token Ring, FDDI и другие. На верхних уровнях работают протоколы NetBEUI и SMB.

Протокол NetBIOS (Network Basic Input/Output System) появился в 1984 году как сетевое расширение стандартных функций базовой системы ввода/вывода (BIOS) IBM PC для сетевой программы PC Network фирмы IBM. В дальнейшем этот протокол был заменен так называемым протоколом расширенного пользовательского интерфейса NetBEUI - NetBIOS Extended User Interface. Для обеспечения совместимости приложений в качестве интерфейса к протоколу NetBEUI был сохранен интерфейс NetBIOS. Протокол NetBEUI разрабатывался как эффективный протокол, потребляющий немного ресурсов и предназначенный для сетей, насчитывающих не более 200 рабочих станций. Этот протокол содержит много полезных сетевых функций, которые можно отнести к сетевому, транспортному и сеансовому уровням модели OSI, однако с его помощью невозможна маршрутизация пакетов. Это ограничивает применение протокола NetBEUI локальными сетями, не разделенными на подсети, и делает невозможным его использование в составных сетях. Некоторые ограничения NetBEUI снимаются реализацией этого протокола NBF (NetBEUI Frame), которая включена в операционную систему Microsoft Windows NT.

Протокол SMB (Server Message Block) выполняет функции сеансового, представительного и прикладного уровней. На основе SMB реализуется файловая служба, а также службы печати и передачи сообщений между приложениями.

Стеки протоколов SNA фирмы IBM, DECnet корпорации Digital Equipment и AppleTalk/AFP фирмы Apple применяются в основном в операционных системах и сетевом оборудовании этих фирм.

На рис. 3.4.3 показано соответствие некоторых, наиболее популярных протоколов уровням модели OSI. Часто это соответствие весьма условно, так как модель OSI - это только руководство к действию, причем достаточно общее, а конкретные протоколы разрабатывались для решения специфических задач, причем многие из них появились до разработки модели OSI. В большинстве случаев разработчики стеков отдавали предпочтение скорости работы сети в ущерб модульности - ни один стек, кроме стека OSI, не разбит на семь уровней. Чаще всего в стеке явно выделяются 3-4 уровня: уровень сетевых адаптеров, в котором реализуются протоколы физического и канального уровней, сетевой уровень, транспортный уровень и уровень служб, вбирающий в себя функции сеансового, представительного и прикладного уровней.

Реализация межсетевого взаимодействия средствами TCP/IP

В настоящее время стек TCP/IP является самым популярным средством организации составных сетей. На рис. 3.4.4 показана доля, которую составляет тот или иной стек протоколов в общемировой инсталляционной сетевой базе. До 1996 года бесспорным лидером был стек IPX/SPX компании Novell, но затем картина резко изменилась - стек TCP/IP по темпам роста числа установок намного стал опережать другие стеки, а с 1998 года вышел в лидеры и в абсолютном выражении. Именно поэтому дальнейшее изучение функций сетевого уровня будет проводиться на примере стека TCP/IP.

В стеке TCP/IP определены 4 уровня (рис. 3.4.5). Каждый из этих уровней несет на себе некоторую нагрузку по решению основной задачи - организации надежной и производительной работы составной сети, части которой построены на основе разных сетевых технологий.

Таблица 3.4.1. Многоуровневая архитектура стека TCP/IP

Уровень 1 Прикладной уровень
Уровень 2 Основной (транспортный) уровень
Уровень 3
Уровень 4 Уровень сетевых интерфейсов

Уровень межсетевого взаимодействия

Стержнем всей архитектуры является уровень межсетевого взаимодействгм, который реализует концепцию передачи пакетов в режиме без установления соединений, то есть дейтаграммным способом. Именно этот уровень обеспечивает возможность перемещения пакетов по сети, используя тот маршрут, который в данный момент является наиболее рациональным. Этот уровень также называют уровнем internet, указывая тем самым на основную его функцию - передачу данных через составную сеть.

Основным протоколом сетевого уровня (в терминах модели OSI) в стеке является протокол IP (Internet Protocol). Этот протокол изначально проектировался как протокол передачи пакетов в составных сетях, состоящих из большого количества локальных сетей, объединенных как локальными, так и глобальными связями. Поэтому протокол IP хорошо работает в сетях со сложной топологией, рационально используя наличие в них подсистем и экономно расходуя пропускную способность низкоскоростных линий связи. Так как протокол IP является дейтаграммным протоколом, он не гарантирует доставку пакетов до узла назначения, но старается это сделать.

К уровню межсетевого взаимодействия относятся и все протоколы, связанные с составлением и модификацией таблиц маршрутизации, такие как протоколы сбора маршрутной информации RIP (Routing Internet Protocol) и OSPF (Open Shortest Path First), а также протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol). Последний протокол предназначен для обмена информацией об ошибках между маршрутизаторами сети и узлом-источником пакета. С помощью специальных пакетов ICMP сообщает о невозможности доставки пакета, о превышении времени жизни или продолжительности сборки пакета из фрагментов, об аномальных величинах параметров, об изменении маршрута пересылки и типа обслуживания, о состоянии системы и т. п.

Основной уровень

Поскольку на сетевом уровне не устанавливаются соединения, то нет никаких гарантий, что все пакеты будут доставлены в место назначения целыми и невредимыми или придут в том же порядке, в котором они были отправлены. Эту задачу - обеспечение надежной информационной связи между двумя конечными узлами - решает основной уровень стека TCP/IP, называемый также транспортным.

На этом уровне функционируют протокол управления передачей TCP (Transmission Control Protocol) и протокол дейтаграмм пользователя UDP (User Datagram Protocol). Протокол TCP обеспечивает надежную передачу сообщений между удаленными прикладными процессами за счет образования логических соединений. Этот протокол позволяет равноранговым объектам на компьютере-отправителе и компьютере-получателе поддерживать обмен данными в дуплексном режиме. TCP позволяет без ошибок доставить сформированный на одном из компьютеров поток байт в любой другой компьютер, входящий в составную сеть. TCP делит поток байт на части - сегменты и передает их ниже лежащему уровню межсетевого взаимодействия. После того как эти сегменты будут доставлены средствами уровня межсетевого взаимодействия в пункт назначения, протокол TCP снова соберет их в непрерывный поток байт.

Протокол UDP обеспечивает передачу прикладных пакетов дейтаграммным способом, как и главный протокол уровня межсетевого взаимодействия IP, и выполняет только функции связующего звена (мультиплексора) между сетевым протоколом и многочисленными службами прикладного уровня или пользовательскими процессами.

Прикладной уровень

Прикладной уровень объединяет все службы, предоставляемые системой пользовательским приложениям. За долгие годы использования в сетях различных стран и организаций стек TCP/IP накопил большое количество протоколов и служб прикладного уровня. Прикладной уровень реализуется программными системами, построенными в архитектуре клиент-сервер, базирующимися на протоколах нижних уровней. В отличие от протоколов остальных трех уровней, протоколы прикладного уровня занимаются деталями конкретного приложения и "не интересуются" способами передачи данных по сети. Этот уровень постоянно расширяется за счет присоединения к старым, прошедшим многолетнюю эксплуатацию сетевым службам типа Telnet, FTP, TFTP, DNS, SNMP сравнительно новых служб таких, например, как протокол передачи гипертекстовой информации HTTP.

Уровень сетевых интерфейсов

Идеологическим отличием архитектуры стека TCP/IP от многоуровневой организации других стеков является интерпретация функций самого нижнего уровня - уровня сетевых интерфейсов. Протоколы этого уровня должны обеспечивать интеграцию в составную сеть других сетей, причем задача ставится так: сеть TCP/IP должна иметь средства включения в себя любой другой сети, какую бы внутреннюю технологию передачи данных эта сеть не использовала. Отсюда следует, что этот уровень нельзя определить раз и навсегда. Для каждой технологии, включаемой в составную сеть подсети, должны быть разработаны собственные интерфейсные средства. К таким интерфейсным средствам относятся протоколы инкапсуляции IP-пакетов уровня межсетевого взаимодействия в кадры локальных технологий. Например, документ RFC 1042 определяет способы инкапсуляции IP-пакетов в кадры технологий IEEE 802. Для этих целей должен использоваться заголовок LLC/ SNAP, причем в поле Туре заголовка SNAP должен быть указан код 0x0800. Только для протокола Ethernet в RFC 1042 сделано исключение - помимо заголовка LLC/ SNAP разрешается использовать кадр Ethernet DIX, не имеющий заголовка LLC, зато имеющий поле Туре. В сетях Ethernet предпочтительным является инкапсуляция IP-пакета в кадр Ethernet DIX.

Уровень сетевых интерфейсов в протоколах TCP/IP не регламентируется, но он поддерживает все популярные стандарты физического и канального уровней: для локальных сетей это Ethernet, Token Ring, FDDI, Fast Ethernet, Gigabit Ethernet, 100VG-AnyLAN, для глобальных сетей - протоколы соединений "точка-точка" SLIP и РРР, протоколы территориальных сетей с коммутацией пакетов Х.25, frame relay. Разработана также специальная спецификация, определяющая использование технологии ATM в качестве транспорта канального уровня. Обычно при появлении новой технологии локальных или глобальных сетей она быстро включается в стек TCP/IP за счет разработки соответствующего RFC, определяющего метод инкапсуляции IP-пакетов в ее кадры (спецификация RFC 1577, определяющая работу IP через сети ATM, появилась в 1994 году вскоре после принятия основных стандартов этой технологии).

Соответствие уровней стека TCP/IP семиуровневой модели ISO/OSI

Так как стек TCP/IP был разработан до появления модели взаимодействия открытых систем ISO/OSI, то, хотя он также имеет многоуровневую структуру, соответствие уровней стека TCP/IP уровням модели OSI достаточно условно (рис. 3.4.6). Рассматривая многоуровневую архитектуру TCP/IP, можно выделить в ней, подобно архитектуре OSI, уровни, функции которых зависят от конкретной технической реализации сети, и уровни, функции которых ориентированны на работу с приложениями (рис. 3.4.7).

Протоколы прикладного уровня стека TCP/IP работают на компьютерах, выполняющих приложения пользователей. Даже полная смена сетевого оборудования в общем случае не должна влиять на работу приложений, если они получают доступ к сетевым возможностям через протоколы прикладного уровня.

Протоколы транспортного уровня уже более зависят от сети, так как они реализуют интерфейс к уровням, непосредственно организующим передачу данных по сети. Однако, подобно протоколам прикладного уровня, программные модули, реализующие протоколы транспортного уровня, устанавливаются только на конечных узлах. Протоколы двух нижних уровней являются сетезависимыми, а следовательно, программные модули протоколов межсетевого уровня и уровня сетевых интерфейсов устанавливаются как на конечных узлах составной сети, так и на маршрутизаторах.

Каждый коммуникационный протокол оперирует с некоторой единицей передаваемых данных. Названия этих единиц иногда закрепляются стандартом, а чаще просто определяются традицией. В стеке TCP/IP за многие годы его существования образовалась устоявшаяся терминология в этой области (рис. 3.4.8).

Потоком называют данные, поступающие от приложений на вход протоколов транспортного уровня TCP и UDP.

Протокол TCP нарезает из потока данных сегменты.

Единицу данных протокола UDP часто называют дейтаграммой (или датаграм-мой). Дейтаграмма - это общее название для единиц данных, которыми оперируют протоколы без установления соединений. К таким протоколам относится и протокол межсетевого взаимодействия IP.

Дейтаграмму протокола IP называют также пакетом.

В стеке TCP/IP принято называть кадрами (фреймами) единицы данных протоколов, на основе которых IP-пакеты переносятся через подсети составной сети. При этом не имеет значения, какое название используется для этой единицы данных в локальной технологии.

Выводы по теме

    Формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне, но в разных узлах, называются протоколом.

    Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком коммуникационных протоколов.

    Работа различных протоколов скоординирована так, чтобы исключить конфликты или незаконченные операции. Этого достигается с помощью разбиения на уровни стека протоколов.

    Важнейшим направлением стандартизации в области вычислительных сетей является стандартизация коммуникационных протоколов. Наиболее популярными являются стеки: TCP/IP, IPX/SPX, NetBIOS/SMB, DECnet, SNA и OSI.

    Процесс, который называется привязка, позволяет с достаточной гибкостью сочетать протоколы и платы сетевых адаптеров, как того требует ситуация. Если на компьютере более одной платы сетевого адаптера, то стек протоколов может быть привязан как к одной, так и к нескольким платам сетевого адаптера.

    Коммуникационные задачи, которые возложены на компьютерную сеть, приводят к разделению протоколов на три типа:

    а) прикладной;

    б) транспортный;

    в) сетевой.

    Наибольшее распространение для построения составных сетей в последнее время получил стек TCP/IP. Стек TCP/IP имеет 4 уровня: прикладной, основной, уровень межсетевого взаимодействия и уровень сетевых интерфейсов. Соответствие уровней стека TCP/IP уровням модели OSI достаточно условно.

    Прикладной уровень объединяет все службы, предоставляемые системой пользовательским приложениям: традиционные сетевые службы типа telnet, FTP, TFTP, DNS, SNMP, а также сравнительно новые, такие, например, как протокол передачи гипертекстовой информации HTTP.

    На основном уровне стека TCP/IP, называемом также транспортным, функционируют протоколы TCP и UDP. Протокол управления передачей TCP решает задачу обеспечения надежной информационной связи между двумя конечными узлами. Дейтаграммный протокол UDP используется как экономичное средство связи уровня межсетевого взаимодействия с прикладным уровнем.

    Уровень межсетевого взаимодействия реализует концепцию коммутации пакетов в режиме без установления соединений. Основными протоколами этого уровня являются дейтаграммный протокол IP и протоколы маршрутизации (RIP, OSPF, BGP и др.). Вспомогательную роль выполняют протокол межсетевых управляющих сообщений ICMP, протокол группового управления IGMP и протокол разрешения адресов ARP.

    Протоколы уровня сетевых интерфейсов обеспечивают интеграцию в составную сеть других сетей. Этот уровень не регламентируется, но поддерживает все популярные стандарты физического и канального уровней: для локальных сетей - Ethernet, Token Ring, FDDI и т. д., для глобальных сетей - Х.25, frame relay, PPP, ISDN и т. д.

    В стеке TCP/IP для именования единиц передаваемых данных на разных уровнях используют разные названия: поток, сегмент, дейтаграмма, пакет, кадр.