Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

УП ВСС

.pdf
Скачиваний:
20
Добавлен:
11.06.2015
Размер:
5.76 Mб
Скачать

Глава 2. СЕТЕВЫЕ МОДЕЛИ ПЕРЕДАЧИ ДАННЫХ

2.1. Декомпозиция задачи удаленного сетевого взаимодействия

Организация обмена данными между узлами вычислительной сети является очень сложной задачей. Это обусловлено целым рядом факторов, наиболее важными из которых являются [9]:

различия в концепциях построения территориальнораспределенных вычислительных сетей;

процесс передачи данных между узлами предполагает решение комплекса задач, таких как способ адресации, маршрутизации (выбор маршрута доставки пакета данных), подтверждения получения данных, коррекции ошибок и множества других;

использование в качестве среды передачи данных различных проводных (коаксиальный кабель, витая пара, оптическое волокно) и радиоканалов;

существование множества различных сетевых архитек-

тур (Ethernet, Token Ring, IEEE 802 и др.) с отличающимися то-

пологиями и методами доступа к среде передачи данных;

использование в качестве узлов вычислительной сети вычислительных машин с разными архитектурами;

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

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

витие этой идеи в 1984 году появилась эталонная модель «Взаимодействие Открытых Систем» (OSI1, Open Systems Interconnections) [10].

Эталонная модель OSI/ISO быстро стала основной архитектурной моделью для передачи данных в вычислительных сетях, несмотря на то, что на момент ее появления существовали

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

1 Чаще всего обозначается OSI/ISO.

51

ются или не учитываются. Именно с этим связан тот факт, что на сегодняшний день модель OSI/ISO и, лежащие в ее основе протоколы, не завоевали той популярности, которой пользуются другие действующие стандарты, например, модель TCP/IP и др.

Тем не менее, эталонная модель OSI/ISO является самой полной моделью архитектуры объединенных сетей, которая также является наиболее часто используемой моделью1, на примере которой изучаются основы межсетевого обмена данными в современных вычислительных сетях.

2.2. Сетевая модель открытой системы OSI/ISO

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

эталонная модель OSI/ISO включает семь уровней, т.е. ка-

ждая из подзадач по замыслу разработчиков должна решаться на одном из уровней модели [5].

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

1Практически во всех учебниках изучение сетевых технологий начинается с рассмотрения этой модели и сравнения других архитектур с ней.

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

3Сетевая модель передачи данных представляет собой набор протоколов (стек протоколов).

4Интерфейс – определяет порядок и формат межуровнего обмена данными.

52

Узел № 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

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

 

 

 

 

 

(application layer)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

Представительный уровень

 

 

 

 

 

(presentation layer)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

Сеансовый уровень

 

 

 

 

 

(session layer)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

Транспортный уровень

 

 

 

 

 

(transport layer)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

Сетевой уровень

 

 

 

 

(network layer)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

Канальный уровень

 

 

 

 

(data link layer)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

Физический уровень

 

 

 

 

 

 

 

 

 

(physical layer)

 

 

 

Узел № 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

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

 

 

(application layer)

 

 

 

 

 

 

 

 

 

 

 

6

Представительный уровень

 

 

(presentation layer)

 

 

 

 

 

 

 

 

 

 

 

5

Сеансовый уровень

 

 

(session layer)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

Транспортный уровень

 

 

(transport layer)

 

3Сетевой уровень

(network layer)

2

Канальный уровень

(data link layer)

 

1

Физический уровень

 

(physical layer)

Рис. 1.17. Схема взаимодействия узлов вычислительной среды по модели OSI/ ISO

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

 

Таблица 1.2

Характеристика протоколов уровней модели OSI/ISO

Уровень

Характеристика протоколов уровня

 

Прикладной

Формирование запроса к одному или несколь-

 

 

ким узлам сети или прием аналогичных запро-

 

 

сов

 

Представительный

Преобразование к единому формату различных

 

 

типов данных, добавление форматирующей,

 

 

отображающей и шифрующей информации

 

Сеансовый

Организация сеанса, его синхронизация, до-

 

 

бавление информации о времени отправки со-

 

 

общения

 

 

Окончание табл. 1.2

 

53

Уровень

Характеристика протоколов уровня

 

 

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

Преобразование сообщений в пакеты, добав-

 

ление информации для обработки ошибок

Сетевой

Добавление адресов и информации о месте

 

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

 

пакетов

Канальный

Добавление информации для проверки ошибок

 

и подготовка данных для их передачи по физи-

 

ческой среде

Физический

Передача информационного блока в виде по-

 

тока битов в соответствии с установленным

 

способом доступа

В соответствии с моделью OSI/ISO исходное сообщение (например, электронное письмо) от узла № 1, подлежащее передаче узлу № 2, проходит через все уровни модели с седьмого по первый. Этот процесс можно представить как процесс преобразования электронного письма в электрические сигналы для их передачи по линиям связи, причем эти электрические сигналы несут в себе информацию о пункте назначения.

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

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

Несколько протоколов могут работать совместно каждый на своем уровне. В этом случае используют понятие стек протоколов или набор протоколов.

2.3. Понятие протокола и информационные блоки сетевого обмена

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

Протокол сетевого обмена определяет перечень фор-

матов, передаваемых по вычислительной сети данных, последовательность и правила обработки этих данных.

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

54

рые работают по правилам протоколов соответствующих уровней.

В зависимости от уровня эталонной модели различают следующие информационные блоки.

Кадр (frame) – информационный блок, источником и пунктом назначения которого являются объекты канального уровня, т.е. это тот информационный блок, который передается по физическим линиям связи.

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

Сообщение (message) – информационный блок, источниками и пунктами назначения которого являются все уровни выше транспортного.

Одной из наиболее сложных задач, решаемых сетевыми моделями, является задача адресации узлов вычислительной сети, каждый из которых должен иметь уникальный адрес. Проблема объединения сетей, функционирующих по разным протоколам, заключается в том, что в каждой сети используются различные способы адресации. Так, например, адресация в сетях AppleTalk отличается от адресации в сетях TCP/IP, которая, в свою очередь, отличается от адресации OSI/ISO и т.д.

2.4. Сетевая модель ТСР/IР

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

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

Используемая в современных вычислительных сетях версия стека протоколов TCP/IP была стандартизирована в начале 80-х годов документами, называемыми RFC1.

1 RFC (Request For Comment – Запросы для Комментария) – публикуются, а затем рецензируются и анализируются специалистами по Internet. Уточнения к протоколам публикуются в новых RFC. Более подробно об RFC в главе 5.

55

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

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

Вмодели TCP/IP, также как и в OSI/ISO, название информационного блока данных, передаваемого по сети, зависит от того, на каком уровне стека протоколов он обрабатывается.

Прикладное сообщение (сообщение) – информационный блок, обрабатываемый прикладным уровнем.

Пакет TCP (сегмент TCP) или UDP-дейтаграмма – ин-

формационные блоки, формируемые разными протоколами транспортного уровня.

IP-сегмент (IP-дейтаграмма) – информационный блок межсетевого уровня.

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

Вотличие от семиуровневой модели OSI/ISO сетевая модель TCP/IP является четырехуровневой. Рассмотрим функции, выполняемые уровнями иерархической модели TCP/IP.

Прикладной уровень определяет способ взаимодействия пользовательских приложений. В системах клиент-сервер при- ложение-клиент «должно знать», как посылать запрос, а прило- жение-сервер «должно знать», как ответить на запрос. Функции этого уровня реализуются такими протоколами, как HTTP, FTP, TelNet и др.

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

На межсетевом уровне решается задача определения адреса подключенных к сети узлов. На этом уровне выделяются логические сети и подсети и реализуется маршрутизация между ними. Концепция TCP/IP допускает, чтобы в качестве «подсе-

56

тей» выступали реальные сети с их собственными стеками протоколов, узлами, шлюзами и т.п.

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

В территориально распределенных сетях, подобных Internet, передача данных по каналам связи с использованием сложного коммуникационного оборудования чаще всего осуществляется по специальным протоколам, таким, как Х.25, Frame Relay, ATM и другим. В этом случае модель TCP/IP накладывается поверх того или иного несущего протокола.

Распределение протоколов стека TCP/IP по уровням показано на рис. 1.18. В состав стека протоколов TCP/IP входят следующие протоколы [1].

УРОВЕНЬМОДЕЛИ

 

 

 

FTP

 

 

 

 

TFTP

NFS

4

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

ПРОТОКОЛ

SMTP

 

 

SNMP

RPC

 

 

TelNet

 

 

 

DNS

 

3

Транспортный уровень

 

TCP

 

 

 

UDP

2

Межсетевой уровень

 

IP

 

 

RIP, ICMP

1

Сетевой уровень

 

ARP

 

 

 

RARP

 

 

 

 

 

Рис. 1.18. Соответствие протоколов уровням модели TCP/IP

 

 

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

FTP (File Transfer Protocol) – протокол передачи фай-

лов на основе TCP;

TFTP (Trivial File Transfer Protocol) – тривиальный протокол передачи файлов на основе UDP;

SMTP (Simple Mail Transfer Protocol) – протокол пере-

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

TelNet – протокол удаленного доступа к терминалу;

57

RPC (Remote Procedure Call) – протокол вызова (за-

пуска процессов на удаленном компьютере) удаленных процедур;

NFS (Network File System) – протокол сетевой файло-

вой системы;

SNMP (Simple Network Management Protocol) – про-

стой протокол управления сетевыми ресурсами;

DNS (Domain Name System) – протокол службы до-

менных имен.

Транспортный уровень:

TCP (Transmission Control Protocol) – протокол управления передачей;

UDP (User Datagramm Protocol) – протокол пользова-

тельских дейтаграмм.

Межсетевой уровень:

IP (Internet Protocol) – межсетевой протокол;

ICMP (Internet Control Message Protocol)1 – межсете-

вой протокол управления сообщениями решает задачу передачи управляющих и диагностических сообщений (сообщения передаются с помощью IP-дейтаграмм);

RIP (Routing Information Protocol) – протокол обмена трассировочной информацией между маршрутизаторами, обеспечивает динамическую маршрутизацию.

Сетевой уровень:

ARP (Address Resolution Protocol) – протокол разре-

шения адресов динамически преобразует IP-адрес в физический;

RARP (Reverse Address Resolution Protocol) – прото-

кол преобразования (обратный ARP) физического адреса в IPадрес.

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

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

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

58

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

2.5. Особенности транспортных сетевых протоколов

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

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

Несмотря на то, что для пользователя передача данных в сетях TCP/IP выглядит как потоковая, реально узлы вычислительной сети обмениваются информационными блоками конечной длины. При использовании протокола TCP (описание протокола в RFC 793) узлы обмениваются TCP – пакетами фиксированного размера (TCP – сегмент), а при использовании протокола UDP (описание протокола в RFC 768) – UDP – дейтаграммами.

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

59

Обмен данными между узлами по протоколу UDP значительно проще соответственно, и структура UDP-дейтаграммы имеет более простой вид (рис. 1.20) [9]–[10].

0

3

 

9

 

 

15

 

23

31

 

 

Порт источника

 

 

Порт приемника

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер в последовательности

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер подтверждения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Смещ.

 

Резерв

 

UAP

P

S

F

 

Размер окна

 

 

 

данных

 

 

RCS

S

YI

 

 

 

 

 

 

Контрольная

GKHT

 

NN

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Указатель

 

 

 

 

 

сумма

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дополнительные данные заголовка

 

Данные

 

 

 

 

 

выравнивания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Данные...(до 65495 байт)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заголовок ТСР пакета - 20 байт

Рис. 1.19. Структура TCP-пакета

В отличие от TCP сообщения, передаваемые с использованием протокола UDP, не разбиваются на части, а передаются целиком одной UDP-дейтаграммой.

Важным понятием при организации связи рассматриваемыми протоколами являются понятия: порт источника и порт приемника.

0

15

 

UDP-порт источника

 

UDP-порт приемника

 

 

 

 

 

Длина UDP-дейтаграммы

 

Контрольная сумма

 

 

 

 

Данные... (до 65507 байт, обычно <=8192)

 

 

 

 

31

Заголовок UDP-дейтаграммы - 8 байт

Рис. 1.20. Структура UDP-дейтаграммы

Поле «порт» в служебных заголовках занимает 2 байта (16 бит1) и характеризует прикладной процесс, передающий данные в пакете или дейтаграмме. Если IP-адрес указывает номер узла

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

216=65536.

60