Семейство протоколов TCP/IP. Организация информационного взаимодействия на сетевом уровне модели OSI


Добавил:DMT
Дата создания:21 июня 2008, 12:48
Дата обновления:21 июня 2008, 12:54
Просмотров:9552 последний сегодня, 22:23
Комментариев: 0

Организация информационного взаимодействия на сетевом уровне модели OSI

Блок данных канального уровня - пакет предназначен для доставки относительно небольшого фрагмента передаваемого сообщения. Для обеспечения возможности доставки этого фрагмента каждый пакет снабжается сетевым адресом пункта назначения и адресом источника данного сообщения. На основании этих данных каждый из пакетов перемещается по сети независимо от остальных пакетов, которые используются для доставки других компонентов этого же сообщения. Примерами протоколов сетевого уровня являются такие протоколы, как X.25, IPX, Apple Talk, однако в настоящее время наибольшее распространение имеет Internet протокол — IP.

Само название концепции построения глобальных сетей — Internet происходит от термина Internetworking (объединение сетей). Компонентами Internet являются сети.

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

Каждый из узлов данной сети должен иметь уникальный сетевой адрес, который состоит из двух компонентов — адрес сети (Net ID) и адрес узла (Host ID) в данной сети. Адрес узла является уникальным только в пределах данной сети.

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

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

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

Задачу определения пути, который должен привести данный пакет в пункт его назначения маршрутизатор решает локальным образом — он определяет только номер своего интерфейса, через который этот пакет должен быть отправлен. С точки зрения пользователей сети маршрутизатор представляет собой шлюз, через который обеспечивается информационный обмен с другими сетями. Определение номера порта маршрутизатор производит после анализа своей таблицы маршрутизации, которая ставит во взаимно однозначное соответствие адресу искомой сети номер интерфейса маршрутизатора или адрес другого маршрутизатора — шлюза. В том случае, если в процессе поиска маршрута, по которому должен следовать далее данный кадр, будет установлено, что он должен быть направлен далее через шлюз G, пакет должен быть отправлен через тот интерфейс данного маршрутизатора, который имеет такой же адрес сети, как и этот шлюз. Следует отметить, что для обеспечения правильного функционирования системы в целом маршрутизатор должен иметь несколько сетевых (IP) адресов – по одному (как минимум) для каждой подключенной к нему сети.

На рисунке 2.1.1 буквами R обозначены маршрутизаторы, буквами N — сети IP. Интерфейсы, которые маршрутизатор использует для подключ 4dbc ения к сетям, обозначены кружками соответствующего цвета.

Рис. 2.1.1.

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

•  Извлечение адреса назначения из пакета;

•  Определение сети назначения;

•  Определение интерфейса или шлюза;

•  Отправка пакета.

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

Как и всякий адрес протокола сетевого уровня, адрес протокола IP состоит из двух компонентов — из адреса сети (Net Id) и адреса узла сети (Host Id). Для обеспечения возможности более эффективного использования адресного пространства Internet используется пять форматов (классов) сетевого адреса IP: A, B, C, D и E. Четыре старших разряда сетевого адреса используются для того, чтобы определить тип используемого формата сетевого адреса.

Классификация сетевых адресов

Таблица 2.1.1

IP Address

Класс

31

30

29

28

27

24

23…16

15…8

7…0

A

0

Net Id

Host Id

B

1

0

Net Id

Host Id

C

1

1

0

Net Id

Host Id

D

1

1

1

0

Multicast Address

E

1

1

1

1

0

Reserved

Старшие 8 разрядов сетевого адреса класса A задают номер сети – от 1 до 127. В последующих трех байтах размещается адрес узла. Сети класса A, таким образом, могут содержать более 16 миллионов узлов. Сети класса B могут содержать до 65534, а сети класса C до 254 узлов. Сети класса D предназначены для определения IP адресов типа multicast. Сети класса E зарезервированы для дальнейшего использования.

Для написания адреса IP обычно используется так называемая десятичная – точечная (dotted-decimal) нотация. При использовании этой формы представления адрес записывается в виде четырех десятичных чисел – по одному числу на байт: 14 .0.0.1

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

•  Адрес сети;

•  Локальный адрес узла;

•  Адреса типа Broadcast;

•  Адреса типа Multicast;

•  Адреса типа loop back;

•  Адреса частных сетей.

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

Для обозначения локального адреса узла используется адрес, который состоит из одних 0: 0 .0.0.0

Адреса типа Broadcast используются в тех случаях, когда содержимое пакета адресовано группе абонентов сети. В сетях IP применяются два типа Broadcast адресов:

•  Адреса типа Limited Broadcast;

•  Адреса типа Directed Broadcast.

Адреса первого из указанных типов используются в том случае, когда пакет адресован всей сети в целом. В этом случае все 32 разряда адреса формируются равными «1»: 255 .255.255.255

В тех случаях, когда пакет адресован всем узлам конкретной сети, должен быть использован адрес типа направленный (directed) Broadcast. У адресов данного типа единицами формируется только значение Host Id. Поле адреса сети в данном случае соответствует номеру сети, в которую передается пакет данного типа. Ниже приведен пример адреса данного типа для сети 14.0.0.0: 14 .255.255.255

Адрес типа loop back представляет собой виртуальный адрес, который присваивается любому интерфейсу, сконфигурированному для обработки пакетов протокола IP. Этот адрес имеет только локальное значение в пределах данного узла и может быть использован для проверки функционирования программных компонентов, которые используются для реализации в данном устройстве стека протоколов TCP/IP. Для адресов данного типа используется одна из сеток класса A, в качестве номера узла обычно используется значение «1». Пример адреса типа loop back. 127 .0.0.1

Для того, чтобы обеспечить уникальность используемых сетевых адресов Internet, создан специальный комитет, который называется IANA (Internet Assigned Number Authority) и предназначен для контроля над соблюдением правил использования сетевых адресов IP. Непосредственное выделение уникальных сетевых адресов в регионах координируется центрами INTERNIC (Internet Network Information Center) например, в северной Америке эти функции, наряду с некоторыми другими могут выполняться организацией ARIN.

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

Помимо того, что сам адрес IP не является достаточно длинным для того, чтобы использоваться для создания достаточного количества уникальных сетевых узлов, размер адресного пространства ограничивается также многочисленными «мертвыми» зонами. Действительно, если какой-либо организации (например – IBM) выделена сеть адресов IP класса A (9.0.0.0), размер адресуемого пространства сокращается приблизительно на 224 независимо от того, может эта корпорация использовать это адресное пространство по назначению, или нет. Для решения данной проблемы был разработан специальный механизм, который позволял использовать внеклассовое разбиение сетей. В этом случае, сеть класса A может быть интерпретирована в качестве совокупности сетей класса B (например 255 сетей 9.1.0.0 - 9.255.0.0). Однако, этот метод не обеспечивает коренного решения проблемы и кроме того, порождает дополнительные трудности (доработка протоколов маршрутизации и появление дополнительных «мертвых» зон. (В рассмотренном выше примере адреса 9.1.0.0 и 9.1.255.255 уже не могут быть использованы для назначения узлам сети, поскольку являются адресом сети и адресом типа directed broadcast для данной сети, соответственно).

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

Концепция частных сетей в Internet и адресные диапазоны IP, которые могут быть использованы для построения данных сетей, сформулированы в специальном документе RFC 1918.(Address Allocation for Private Network).

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

В соответствии с RFC 1918 для построения сетей, которые попадают под определение «частная сеть» могут быть использованы следующие диапазоны адресов Internet:

Таблица 2.1.2.

Класс

Начальный адрес

Конечный адрес

Число сетей

A

10.0.0.1

10.255.255.255

1

B

172.16.0.0.

172.31.255.255

16

C

192.168.0.0.

192.168.255.255

255

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

Таблица 2.1.3.

Класс

Начальный адрес

Конечный адрес

A

0.1.0.0

126.0.0.0

B

128.0.0.0

191.255.0.0

C

192.0.1.0

223.255.255.0

D

224.0.0.0

239.255.255.255

E

240.0.0.0

247.255.255.255

Для того чтобы обеспечить информационное взаимодействие между компонентами сети Internet, необходимо установить соответствие между сетевыми адресами IP и адресами. Эта функция в стеке протоколов TCP/IP возложена на протокол, который называется ARP (Address Resolution Protocol).

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

Данная задача может быть решена различными способами. Наиболее простым способом решения данной задачи является использование в качестве адресов канального уровня значений Host Id сетевого адреса. Однако, сети в которых эта возможность может быть использована, (proNet) не получили достаточно широкого распространения в настоящее время.

Другим способом решения данной задачи является непосредственное включение физического адреса в качестве Host Id в сетевой адрес. Такой способ использован при построении схемы сетевого адреса в сетях IPX/SPX. Если учесть то, что физический адрес наиболее распространенных в настоящее время сетей IEEE 802.3 Ethernet представляет собой 48 битную последовательность, можно понять, что и этот метод не может быть использован в сетях IP по версии 4.

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

Организация ARP-взаимодействия компонентов сети. Для определения физического адреса А ф компонента сети по известному сетевому адресу А л станция B, которая желает организовать информационное взаимодействие со станцией A, формирует специальный блок данных канального уровня – кадр ARP. В этот кадр, наряду со служебной информацией, помещается сетевой адрес искомой станции. Для того, чтобы этот кадр мог достичь всех абонентов данной сети, в качестве МАС- адреса назначения этого пакета используется адрес типа broadcast. Сформированный таким образом кадр называется ARP – запрос (ARP request). Этот кадр передается в сеть и принимается всеми станциями, которые к ней подключены. Станции анализируют содержимое принятого запроса и одна из них, которая обнаружила в теле этого запроса свой сетевой адрес, формирует ответ на этот запрос (ARP reply). В кадр ARP reply станция помещает совой МАС – адрес и отправляет его в направлении источника запроса, используя при этом физический адрес станции отправителя.

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

Для промежуточного хранения результатов выполнения процедуры определения физического адреса может быть использовано аппаратно или программно – организованное буферное ОЗУ. В это ОЗУ заносятся результаты определения физического адреса по известному логическому, которые были получены данным конкретным устройством, в ответ на его ARP – запросы. Каждой записи, которая заносится в данное ОЗУ ставится в соответствие значение относительного момента времени, который соответствовал её формированию. Таким образом, запись в ARP cache имеет вид:

Сетевой адрес Физический адрес Возраст записи

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

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

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

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

В подобных случаях формирование ответов на запросы выполняется одной из станций данной сети, которая поддерживает функцию Proxy ARP (доверенный в части ARP). По умолчанию данная функция реализуется маршрутизаторами.

up