Организация межсетевого взаимодействия подразделений предприятия. Межсетевое взаимодействие. Шлюзы и межсетевые экраны. Сокрытие адресов NAT


Рис. 1.1.

LAN -интерфейсы (G0/0, G0/1, F0/0, F0/1) используются для связи с узлами (компьютерами, серверами), напрямую или через коммутаторы; WAN -интерфейсы (S1/1, S1/2) необходимы, чтобы связываться с другими маршрутизаторами и всемирной сетью Интернет . Интерфейсы могут подключаться к разным видам передающей среды, в которых могут использоваться различные технологии канального и физического уровней.

Когда адресат назначения находится в другой сети, то конечный узел пересылает пакет на шлюз по умолчанию , роль которого выполняет интерфейс маршрутизатора, через который все пакеты из локальной сети пересылаются в удаленные сети. Например, для сети 192.168.10.0/24 ( рис. 1.1) шлюзом по умолчанию является интерфейс F0/0 маршрутизатора А с адресом 192.168.10.1, а интерфейс F0/1 маршрутизатора В выполняет роль шлюза по умолчанию для сети 192.168.9.0/24. Через шлюз по умолчанию пакеты из удаленных сетей поступают в локальную сеть назначения.

При пересылке пакетов адресату назначения маршрутизатор реализует две основные функции:

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

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

Ниже приведен пример конфигурирования основных параметров интерфейсов маршрутизатора R-A ( рис. 1.1). Интерфейсам маршрутизатора нужно задать IP- адрес и включить их (активировать ), т.к. все интерфейсы маршрутизаторов Cisco в исходном состоянии выключены.

R-A(config)#int f0/0 R-A(config-if)#ip add 192.168.10.1 255.255.255.0 R-A(config-if)#no shutdown R-A(config-if)# int g0/1 R-A(config-if)#ip add 192.168.20.1 255.255.255.0 R-A(config-if)#no shutdown R-A(config-if)# int s1/1 R-A(config-if)#ip add 210.5.5.1 255.255.255.0 R-A(config-if)#clock rate 64000 R-A(config-if)#no shutdown R-A(config-if)# int s1/2 R-A(config-if)#ip add 210.8.8.1 255.255.255.0 R-A(config-if)#clock rate 64000 R-A(config-if)#no shutdown

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

Остальные маршрутизаторы сети ( рис. 1.1) конфигурируются аналогичным образом.

После конфигурирования интерфейсов в таблице маршрутизации отображаются прямо присоединенные сети , что позволяет направлять пакеты, адресованные узлам в этих сетях. Кроме того, в рассматриваемом примере на всех маршрутизаторах сконфигурирована динамическая маршрутизация с использованием протокола RIP , о котором пойдет речь в "Динамическая маршрутизация" настоящего курса. Результатом конфигурирования устройств сети ( рис. 1.1) является приведенная ниже таблица маршрутизации сетевого элемента R-A:

R-A>show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set R 192.168.9.0/24 via 192.168.20.2, 00:00:09, GigabitEthernet0/1 C 192.168.10.0/24 is directly connected, FastEthernet0/0 C 192.168.20.0/24 is directly connected, GigabitEthernet0/1 R 200.30.30.0/24 via 192.168.20.2, 00:00:09, GigabitEthernet0/1 R 200.40.40.0/24 via 192.168.20.2, 00:00:09, GigabitEthernet0/1 C 210.5.5.0/24 is directly connected, Serial1/1 R 210.6.6.0/24 via 210.5.5.2, 00:00:18, Serial1/1 R 210.7.7.0/24 via 210.5.5.2, 00:00:18, Serial1/1 C 210.8.8.0/24 is directly connected, Serial1/2

В таблице символом С помечены четыре сети непосредственно присоединенные (connected) к определенным интерфейсам маршрутизатора. Сеть 192.168.10.0/24 присоединена к интерфейсу FastEthernet 0/0 (или F0/0), сеть 192.168.20.0/24 - к интерфейсу GigabitEthernet 0/1(или G0/1), сеть 210.5.5.0/24 - к интерфейсу Serial 1/1 (или S1/1), сеть 210.8.8.0/24 - к S1/2. Когда узел направляет кадр другому узлу из той же прямо присоединенной сети, то в такой пересылке шлюз по умолчанию ( интерфейс маршрутизатора) участие не принимает. Передача кадра сообщения производится непосредственно адресату с использованием МАС-адресов источника и назначения.

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

В вышеприведенном примере маршруты к удаленным сетям помечены символом R , который указывает, что источником создания маршрутов к удаленным сетям является протокол RIP . Символом O помечаются маршруты, созданные протоколом OSPF , а символом D - протоколом EIGRP .

Перечень поддерживаемых протоколов маршрутизации можно посмотреть по команде Router(config)#router ? .

Вторая колонка (столбец) таблицы маршрутизации показывает адреса сетей, к которым проложен путь . Например, в первой строке указан маршрут к сети 192.168.9.0/24, который лежит через адрес следующего перехода ( next hop ) 192.168.20.2 и свой выходной интерфейс GigabitEthernet0/1. Таким образом, поступивший на один из интерфейсов маршрутизатора пакет, адресованный узлу в Сети 9, должен быть скоммутирован на выходной интерфейс G0/1. При адресации узлов, находящихся в других сетях, например в сети 210.6.6.0/24 или 210.7.7.0/24, в качестве выходного используется интерфейс Serial1/1.

В строке таблицы также указано значение таймера, например 00:00:09.

Кроме того, в квадратных скобках строк таблицы маршрутизации указаны, например: административное расстояние - 120 и метрика - 1. Административное расстояние (AD ) показывает степень достоверности (доверия) источника маршрута. Чем меньше AD , тем выше достоверность . Маршруты, созданные администратором вручную (статические маршруты), характеризуются значением AD = 1.

Источники (протоколы) маршрутизации имеют различные заданные по умолчанию административные расстояния (табл. 1.1).

Таблица 1.1. Административные расстояния по умолчанию
Источник (Протокол) Административное расстояние Источник (Протокол) Административное расстояние
Connected 0 OSPF 110
Static 1 IS-IS 115
eBGP 20 RIP 120
EIGRP 90 EIGRP (External) 170

Если на маршрутизаторе функционирует несколько протоколов, то в таблицу маршрутизации устанавливается маршрут , проложенный протоколом с наименьшим значением административного расстояния. В последней строке таблицы указано, что административное расстояниеEIGRP увеличено до 170, когда маршрут получен от внешнего (стороннего) маршрутизатора. Такой маршрут в таблице маршрутизации помечается символом D*EX .

Определение наилучшего (оптимального) пути любым протоколом маршрутизации производится на основе определенного критерия - метрики . Значение метрики используется при оценке возможных путей к адресату назначения. Метрика может включать разные параметры, например: количество переходов (количество маршрутизаторов) на пути к адресату, полосу пропускания канала, задержку, надежность , загрузку, обобщенную стоимость и другие параметры сетевого соединения. В вышеприведенной распечатке команды show ip route для маршрутов, созданных протоколом RIP , значение метрики равно 1. Это означает, что расстояние до маршрутизатора, к которому присоединена сеть назначения, составляет один переход. Наименьшая метрика означает наилучший маршрут. Метрика статического маршрута всегда равна 0.

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

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

Получив кадр на входной интерфейс, маршрутизатор:

  1. Декапсулирует пакет из кадра.
  2. Из заголовка пакета считывает IP-адрес узла назначения.
  3. С помощью маски вычисляет адрес сети назначения.
  4. Обращается к таблице маршрутизации, чтобы определить, на какой выходной интерфейс, ведущий к сети назначения, произвести коммутацию пакета.
  5. На выходном интерфейсе инкапсулирует пакет в новый кадр и отправляет его в направлении адресата назначения.

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

Межсетевые взаимодействия (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).

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

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


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


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

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

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

1) физический;

2) канальный;

3) сетевой;

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

5) сеансовый;

6) представительный;

7) прикладной.

Таблица 1.1

Семиуровневая модель протоколов межсетевого обмена OSI

Наименование

Прикладной

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

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

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

Сеансовый

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

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

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

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

Канальный

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

Физический

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

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

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

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

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

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

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

Различают следующие виды сетевого взаимодействия:

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

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

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

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

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

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

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

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

-Многоуровневая структура стека TCP/IP

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

Рис. 5.5. Многоуровневая архитектура стека TCP/IP

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

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

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

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

Поскольку на сетевом уровне не устанавливаются соединения, то нет никаких гарантий, что все пакеты будут доставлены в место назначения целыми и невредимыми или придут в том же порядке, в котором они были отправлены. Эту задачу -обеспечение надежной информационной связи между двумя конечными узлами -решает основной уровень стека 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-пакетов уровня межсетевого взаимодействия в кадры локальных технологий.

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

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

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

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

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

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

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

Рис. 5.8. Название единиц данных, используемые в TCP/IP

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

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

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

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

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

Выводы

· Составная сеть (internetwork или internet) - это совокупность нескольких сетей, называемых также подсетями (subnet), которые соединяются между собой маршрутизаторами. Организация совместной транспортной службы в составной сети называется межсетевым взаимодействием (internetworking).

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

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

· Протоколы маршрутизации (например, RIP или OSPF) следует отличать от собственно сетевых протоколов (например, IP или IPX). В то время как первые собирают и передают по сети чисто служебную информацию о возможных маршрутах, вторые предназначены для передачи пользовательских данных.

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

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

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

· Наибольшее распространение для построения составных сетей в последнее время получил стек 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 для именования единиц передаваемых данных на разных уровнях используют разные названия: поток, сегмент, дейтаграмма, пакет, кадр.