Программы

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

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

На рис.7.4. показано, как процессы, выполняющиеся на двух конечных узлах, передают свои данные через составную сеть.

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

Рис. 7. 4. Передача данных через составную сеть

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

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

Протоколы TCP и UDP ведут для каждого порта две очереди: очередь пакетов, поступающих в данный порт из сети, и очередь пакетов, отправляемых данным портом в сеть. Пакеты, поступающие на транспортный уровень, организуются операционной системой в виде множества очередей к точкам входа различных прикладных процессов. В терминологии TCP/IP такие системные очереди называются портами, причем входная и выходная очередь одного приложения рассматриваются как один порт. Порты имеют номера. Таким образом, номера портов идентифицируют приложения и прикладные процессы (рис.7.5.). Для серверных модулей общедоступных служб, таких как FTP, HTTP, DNS и т.д., назначаются хорошо известные стандартные номера портов (например, номер 21 закреплен за службой удаленного доступа к файлам FTP, a 23 - за службой удаленного управления telnet). Назначенные номера являются уникальными в пределах Интернета и назначаются приложениям централизованно в пределах 0 – 1023. Для серверных модулей менее распространенных приложений номера могут назначаться их разработчиками локально . Для других приложений, в том числе и для клиентов известных служб FTP, HTTP, telnet и т.д. ОС в ответ на поступление запроса от приложения выделяет ему динамически первый свободный номер из диапазона 1024 – 65535. После завершения работы приложения, номер его порта освобождается и может быть назначен другому приложению. Номера портов в пределах одного компьютера должны быть уникальными отдельно для TCP –протокола и отдельно для UDP – протокола. Два приложения, которые используют разные транспортные протоколы, могут получить одинаковые номера портов (например, одно – 1520 TCP, другое – 1520 UDP). Аналогично, могут совпадать номера портов, которые выделяют приложениям разные компьютеры одной сети.


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

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

Подразделение межсетевого взаимодействия должно предоставлять пользователям:

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

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

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

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

Некоторые сетевые экраны также позволяют осуществлять трансляцию адресов - динамическую замену внутрисетевых (серых) адресов или портов на внешние, используемые за пределами ЛВС.

Сетевые экраны подразделяются на различные типы в зависимости от следующих характеристик:

В зависимости от охвата контролируемых потоков данных сетевые экраны делятся на:

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

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

Шлюз по умолчанию (англ. Default gateway ), шлюз последней надежды (англ. Last hope gateway ) - в маршрутизируемых протоколах - адрес маршрутизатора, на который отправляется трафик, для которого невозможно определить маршрут исходя из таблиц маршрутизации. Применяется в сетях с хорошо выраженными центральными маршрутизаторами, в малых сетях, в клиентских сегментах сетей. Шлюз по умолчанию задаётся записью в таблице маршрутизации вида "сеть 0.0.0.0 с маской сети 0.0.0.0".

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

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

1. Использование единственного IP-адреса для доступа в Интернет с нескольких компьютеров;

2. Сокрытие внутренней структуры корпоративной сети.

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

Также, для сетей на базе протокола IP, не требующих непосредственного подключения к Интернет выделено три диапазона IP-адресов (IP-сетей):

 10.0.0.0 - 10.255.255.255;

 172.16.0.0 - 172.31.255.255;

 192.168.0.0 - 192.168.255.255;

Данные адреса также иногда называют частными или "серыми" IP-адресами. Таким образом любая организация может назначать узлам внутри своей локальной сети IP-адреса из указанных диапазонов. Однако, непосредственный доступ в Интернет из таких сетей невозможен. Данное ограничение можно обойти за счет технологии NAT.

Достаточно иметь единственный узел с доступом в Интернет и имеющим уникальный ("белый") IP-адрес, выданный провайдером. Такой узел будет назваетсяваться шлюзом. Шлюз должен иметь, как минимум два сетевых, адаптера (сетевых карты, модемов и т.д.), один из которых обеспечивает доступ в Интернет. Этому внешнему адаптеру присвоен "белый" IP-адрес. Остальным, внутренним адаптерам могут быть присвоены как "белые", так и "серые" IP-адреса. При прохождении сетевых пакетов через шлюз, с внутреннего адаптера на внешний происходит трансляция сетевых адресов (NAT).

В общем виде, существует довольно много схем трансляции сетевых адресов. Большинство из них описаны в RFC-1631, RFC-2663, RFC-2766, RFC-3022. В Lan2net NAT Firewall используется схема NAPT в терминах RFC-2663. Данная схема является разновидностью Traditional NAT, детального описанного в RFC-3022. В Linux подобная схема NAT называется "Masquarading".

В Lan2net NAT Firewall NAT выполняется для протоколов TCP, UDP и ICMP.

Трансляция сетевых адресов выполняется в процессе контроля транзитных соединений. Когда пакет IP-соединения с "серым" адресом источника передается драйвером TCP/IP к драйверу внешнего сетевого адаптера, драйвер Lan2net NAT Firewall перехватывает пакет и модифицирует в нем IP-адрес источника и номер порта источника для протоколов UDP и TCP. Для пакетов протокола ICMP модифицируется идентификатор запроса. После модификации пакета он передается драйверу внешнего сетевого адаптера и далее отсылается целевому узлу в Интернет. Для принятых ответных пакетов данного соединения происходит обратная модификация указанных параметров.

В процессе модификации, "серый" IP-адрес источника заменяется на "белый" IP-адрес, назначенный внешнему сетевому адаптеру. При дальнейшей передаче пакет выглядит, как будь-то, он отправлен с "белого" IP-адреса. Тем самым обеспечивается уникальность IP-адреса источника соединения в рамках всей сети Интернет.

Модификация номеров TCP- и UDP- портов источника и идентификатора ICMP-запроса осуществляется таким образом, чтобы значения данных параметров оставались уникальными в рамках всех транзитных и исходящих IP-соединений для данного сетевого адаптера. В Lan2net NAT Firewall уникальные номера портов источника и идентификаторов запроса назначаются из диапазона 30000-43000.

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

Как видно, описаный механизм обеспечивает прозрачный доступ в Интернет с узлов с "серыми" IP-адресами. Кроме того, все соединения после шлюза выглядят как, если бы они были установлены с единственного "белого" IP-адреса. Тем самым обеспечивается сокрытие внутренней структуры корпоративной или домашней сети.

Виртуальные сети VLAN и VPN

VPN (англ. Virtual Private Network - виртуальная частная сеть) - обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, Интернет). Несмотря на то, что коммуникации осуществляются по сетям с меньшим неизвестным уровнем доверия (например, по публичным сетям), уровень доверия к построенной логической сети не зависит от уровня доверия к базовым сетям благодаря использованию средств криптографии (шифрования, аутентификации, инфраструктуры открытых ключей, средств для защиты от повторов и изменений передаваемых по логической сети сообщений).

В зависимости от применяемых протоколов и назначения, VPN может обеспечивать соединения трёх видов: узел-узел, узел-сеть и сеть-сеть.

Уровни реализации

Обычно VPN развёртывают на уровнях не выше сетевого, так как применение криптографии на этих уровнях позволяет использовать в неизменном виде транспортные протоколы (такие как TCP, UDP).

Чаще всего для создания виртуальной сети используется инкапсуляция протокола PPP в какой-нибудь другой протокол - IP (такой способ использует реализация PPTP - Point-to-Point Tunneling Protocol) или Ethernet (PPPoE) (хотя и они имеют различия). Технология VPN в последнее время используется не только для создания собственно частных сетей, но и некоторыми провайдерами «последней мили» на постсоветском пространстве для предоставления выхода в Интернет.

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

Структура VPN

VPN состоит из двух частей: «внутренняя» (подконтрольная) сеть, которых может быть несколько, и «внешняя» сеть, по которой проходит инкапсулированное соединение (обычно используется Интернет). Возможно также подключение к виртуальной сети отдельного компьютера. Подключение удалённого пользователя к VPN производится посредством сервера доступа, который подключён как к внутренней, так и к внешней (общедоступной) сети. При подключении удалённого пользователя (либо при установке соединения с другой защищённой сетью) сервер доступа требует прохождения процесса идентификации, а затем процесса аутентификации. После успешного прохождения обоих процессов, удалённый пользователь (удаленная сеть) наделяется полномочиями для работы в сети, то есть происходит процесс авторизации.

Классификация VPN

Классифицировать VPN решения можно по нескольким основным параметрам.

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

маршрутизация. Фрагментация. Firewall .

На рис.5.33 показаны различные сценарии соединений между сетями:

0. LAN-LAN: научный сотрудник передает файл в рамках локальной сети кампуса;

1. LAN-WAN: научный сотрудник посылает письмо коллеги;

2. WAN-WAN: два гуманитария обмениваются мнениями;

3. LAN-WAN-LAN: научные сотрудники разных университетов общаются между собой.

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

Уровень 1: репитор копирует биты одного кабельного сегмента в другой;

Уровень 2: мост передает пакеты канального уровня из одной ЛВС в другую;

Уровень 3: мультипротокольный маршрутизатор передает пакеты между разными сетями;

Уровень 4: транспортный шлюз соединяет байтовые потоки на транспортном уровне;

Над уровнем 4: прикладной шлюз соединяет приложения в разных сетях.

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

Репитор - устройство обеспечивающее усиление и очистку сигнала. На МАС уровне трансивер обеспечивает передачу в пределах 500 метров. Репитор обеспечивает передачу на 2.5 км.

Мост способен хранить и маршрутизировать пакеты на канальном уровне. Он получает канальный пакет целиком и решает по какой линии его передать дальше.

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

На рис.5.34 показаны разные схемы включения шлюза.

Чем различаются сети

На рис.5.35 перечислены основные различия, которые могут встречаться на сетевом уровне.

Стыковка виртуальных каналов

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

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

Межсетевое взаимодействие без соединений

На рис.5.37 показано решение на основе соединения сетей на уровне дейтаграмм. В этом подходе единственный сервис, какой сетевой уровень предоставляет транспортному - "впрыскивание" дейтаграмм в подсеть. Дальше приходиться надеяться на удачу. Такое соединение возможно, если соединяемые подсети используют одни и те же сетевые или, очень близкие, протоколы. Вспомним проблемы мостов между подуровнями 802.х.

Другая проблема - адресация. Различия в адресации могут быть столь велики, что соединение станет не возможным. Например, в ТСР/IP используется 32 разрядный адрес, а в OSI - десятичный номер, подобный телефонному. Выход - распространять каждую адресацию на все машины в мире. Однако, очевидно, что это не работает.

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

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

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

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


Тунелирование

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

Межсетевая маршрутизация

рис.5.40. На этом рисунке внутри каждой сети также происходит маршрутизация. Она происходит и на межсетевом уровне. Так мы приходим к двум уровням маршрутизации: внутреннему межшлюзовому протоклу и внешнему. Поскольку каждая сеть в определенном смысле автономна, то часто используют термин - автономная система.

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

Фрагментация

В каждой сети есть свой максимальный размер пакетов. Это ограничение имеет несколько причин:

1. Аппаратура (например максимальный TDM слот)

2. Операционная система (все буфера по 512 байтов)

3. Протоколы (например, размер поля длины пакета)

4. Совместимость с некоторыми национальными и международными стандартами

5. Стремление сократить ошибку, наводимую повторной передачей

6. Желание предотвратить захват канала на долго одним пакетом.

Максимальный размер пакета колеблется от 48 байтов у АТМ до 65 515 байтов у IP (у протоколов более верхних уровней он еще больше).

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

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

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

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

Другой подход - разбив пакет на фрагменты трактовать каждый из них как обычный пакет. Это решение показано на рис.5.41(в). Сборка фрагментов происходит только в узле назначения. Однако, при таком подходе каждый хост должен уметь собирать пакеты из фрагментов.

Firewall

Итак нужен механизм, который бы различал "чистые" биты от "не чистых". Один способ шифровать данные. Так поступают при передаче данных. Со способами шифрования мы познакомимся позднее. Но шифрование бессильно против вирусов, хакеров и проч. нечести. Одним из средств борьбы с ними служат барьеры (firewall).

Барьер - современная форма крепостного рва. Компания может иметь сколь угодно сложную сеть, объединяющую много ЛАН. Однако, весь трафик в сеть и из этой сети идет только через один шлюз, где происходит проверка пакета на соответствие определенным требованиям. Если пакет не удовлетворяет этим требованиям, то он не допускает в или из сети.

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


Похожая информация.


ТЕМА 4. ПЕРЕДАЧА ДАННЫХ В КОМПЬЮТЕРНЫХ СЕТЯХ

2. Организация межсетевого взаимодействия.

1. Эталонная модель внутри- и межсетевого взаимодействия.

Таблица 2 - Семиуровневая модель (стек) протокола межсетевого обмена

OSI (International Standard Organization )

№ уровня

Наименование уровня

Уровень приложений (пользовательский)

Предоставление услуг на уровне конечного пользователя: электронная почта, теледоступ, www

Уровень представления данных

Интерпретация и сжатие данных

Уровень сессии

Аутентификация и проверка полномочий

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

Обеспечение корректной сквозной пересылки данных

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

Маршрутизация и ведение учета

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

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

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

Кабель или физический носитель

Характеристика уровней

1. Физический уровень определяет характеристики физической сети передачи данных, которая используется для межсетевого обмена. Параметры: напряжение в сети, сила тока, число контактов на разъемах, устойчивость к электрическим, магнитным и другим полям. В качестве среды передачи данных используется медный провод (экранированная /защищенная витая пара, коаксиальный кабель, оптоволоконный проводник и радиорелейная линия). Физический уровень осуществляет соединение, расторжение, управление каналом, определяет скорость передачи данных, топологию сети и т.д. Информация на этом уровне представлена в виде кадров.

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

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

4. Транспортный уровень поддерживает непрерывную передачу данных между взаимодействующими пользователями. Этот уровень является связующим звеном между нижними и верхними уровнями и разделяет средства формирования данных в сети от средств их передачи. Здесь осуществляется разделение информации по определенной длине и уточняется адрес назначения. Позволяет мультиплексировать сообщения или соединение. Используется TCP / IP протокол.

5. Уровень сессии осуществляет управление сеансами связи между 2мя прикладными пользовательскими процессами. Содержатся дополнительные функции: управление паролями, подсчет платы за пользование ресурсами сети, управление диалогом.

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

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

На разных уровнях обмен информацией происходит в различных единицах: биты – фреймы – кадры – пакеты - сеансовые сообщения - пользовательские сообщения.

Протокол передачи данных требует следующей информации:

1. Инициализация (установление соединения между взаимодействующими партнерами);

2. Синхронизация (механизм распознавания начала и окончания блока данных);

3. Блокирование (разбиение передаваемой информации на блоки данных строго определенной максимальной длины);

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

5. Обнаружение ошибок (установление битов четности и вычисление контрольных битов);

6. Нумерация блоков (позволяет установить ошибочно передаваемую или потерявшуюся информацию);

7. Методы восстановления (используются для повторной передачи данных);

8. Разрешение доступа (происходит распределение, контроль, управление доступом к данным).

2. Расмотрим организацию межсетевого взаимодействия.

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

Внутренние (расположены на файловом сервере);

Внешние (расположены на рабочей станции);

Выделенные (используются только как мост и не могут быть рабочей станцией);

Совмещенные (могут функционировать и как мост, и как рабочая станция);

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

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

В Интернете возможны два режима информационного обмена – это on - line и off - line . Первый термин переводится как “на линии”, а второй – “вне линии”. Имеется ввиду не просто существование линии, а наличие соединения по имеющейся линии связи.

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

О ff - line - это режим “отлаженной связи”. Пользователь передает порцию информации или получает ее в течение коротких сеансов связи, между которыми компьютер отключен от Интернета. Этот режим более экономичен, чем О n - line . В режиме О ff - line выполняется, например, работа с сообщениями электронной почты и с группами новостей.

Данный вопрос рассмотрим на примере наиболее распространенной и признанной эталонной модели взаимодействия открытых систем ISO/OSI (ВОС).

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

Эталонная модель содержит семь уровней (снизу вверх):

1. Физический.

2. Канальный (или передачи данных).

3. Сетевой.

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

5. Сеансовый.

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

7. Прикладной.

Таблица 6.3. Семиуровневая модель (стек) протоколов межсетевого обмена OSI



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

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

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

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

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

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

необходимо).

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

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

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

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

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

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

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

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

Наиболее известным протоколом транспортного уровня является TCP (Transmission Control Protocol), используемый в архитектуре протоколов DARPA и принятый в качестве стандарта Министерством обороны США. Он используется в качестве высоконадежного протокола взаимодействия между ЭВМ в сети с коммутацией пакетов.

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

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

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