Примеры адресации при коммутации и маршрутизации

 

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

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

5.3.1 Именно эту задачу организацию взаимодействия между любой произвольной парой узлов в составной (крупной, распределенной по большой территории) сети эффективно решают протоколы стека ТСР/IP (Transmission Control Protocol /Internet Protocol). На основе технологии ТСР/IP построена самая развитая в настоящее время глобальная составная сеть «Internet».

Каждый компьютер в сетях TCP/IP для идентификации сетевого интерфейса имеет 3-типа адресов:

локальный (аппаратный) адрес MAC-адрес;

сетевой адрес IP-адрес;

символьный адрес (доменный) DNS-имя.

5.3.1.1 Локальный или физический адрес узла, определяется технологией, с помощью которой построена сеть, и в которую входит узел. Для узлов, входящих в локальные сети, это МАС-адрес сетевого адаптера ПК или порта маршрутизатора, например, 11-А0-17-3D-BC-01.

Локальные адреса присваиваются производителями оборудования и являются уникальными адресами, так как назначаются централизовано. Для всех существующих технологий локальных сетей МАС адрес имеет формат 6 байтов: старшие 3 байта идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем по согласованию с разрешительным органом.

В большинстве технологий LAN для адресации узлов при обмене данными используются МАС-адреса. В технологиях X.25, ATM, Frame relay и др. применяются свои системы адресации. Однако при объединении различных сетей эти локальные (аппаратные) адреса становятся элементами адресов технологии, которая включает их в составную сеть, в данном случае технологии ТСР/IP.

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

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

5.3.1.2 Сетевой адрес IP-адрес в технологии ТСР/IP используется для собственной адресации составной сети, не зависящей от способов адресации узлов в отдельных подсетях.

Адрес в составной сети (IP-адрес ) состоит из номера сети и номера узла. В качестве номера узла может выступать либо локальный адрес узла подсети, например, МАС адрес либо сетевой, как для подсетей IPX/SPX.

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

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

Прежде чем оправить пакет в следующую подсеть маршрутизатор определяет сетевой адрес маршрутизатора этой подсети по его IP-адресу.

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

Следовательно, IP-адрес идентифицирует не отдельное устройство ПК или маршрутизатор, а одно сетевое соединение.

Номер сети может быть выбран администратором произвольно, если она не включается в глобальную сеть Internet. Если сеть должна работать как составная часть Internet, то IP-адрес назначается централизованно по рекомендации специального подразделения Internet NIC (Network Information Center,).

Обычно провайдеры услуг Internet получают диапазоны IP-адресов у подразделений NIC, а затем распределяют их между своими абонентами.

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

Деление IP-адреса на поле номера сети и номера узла гибкое, и граница между этими полями может устанавливаться произвольно.

Узел может входить в несколько IP-сетей. В этом случае узел должен иметь несколько IP-адресов, по числу сетевых связей.

5.3.1.3 Символьный адрес или DNS-имя заменяет цифровое представление IP-адреса узла (компьютера) набором символов, назначается администратором и состоит из нескольких частей, например, имени узла, имени организации, имени домена (SERV1.IBM.COM).

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

5.3.2 Составляющие полного символьного (доменного) имени в IP-сетях разделяются точкой и перечисляются, начиная с конца записи, в следующем порядке:

1 Символьное имя крупной группы (домена), состоящего из имени домена самого высокого уровня со своим символьным именем, например, by Беларусь; ru Россия; uk Великобритания; us США;

2 Имени сети провайдера, например, unibel;

3 Крупной составной сети, например, сети организации bsuir;

4. Символьное имя группы ПК локальной подсети или сегмента в крупной группе, например, kafstk;

5. Символьное имя ПК, с порядковым номером 1, например, class507-3_1.

Следуя принятому представлению, в данном случае, полное символьное (доменное) имя ПК №1 в компьютерном классе (а.507-3 БГУИР) запишется в виде class507-3_1.kafstk.bsuir.unibel.by. В двоичной форме представления IP-адрес может иметь вид 1101111 11111111 11111111 00000001, что означает первый компьютер из 254 возможных адресуемых компьютеров в сети, которой присвоен наибольший адрес класса С.

Между доменным именем DNS (Domain Name System), и IP-адресом узла нет никакой функциональной связи. Их соответствие устанавливается с помощью таблиц, составленных по системе доменных имен (DNS) администратором домена. Например, тому же символьному имени class507-3_1.kafstk.bsuir.unibel.by, может соответствовать IP-адрес в форме десятичной записи с точкой 223.255.161.1, а в двоичной форме 11011111 11111111 10100001 00000001.

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

Эта процедура может осуществляться тремя способами:

с использованием фиксированных границ полей (не нашел применения);

с использованием классов адресов от А до Е (Таблица 1);

с использованием «маски» в виде числа, которое указывает, какие биты поля IP-адреса содержат номер сети, а какие содержат номер узла.

 

Таблица 1 Структуры адресов классов в соответствии с протоколом IPv4

Класс А х х х х х х х второй байт третий байт четвертый байт
№ сети 1 байт, (126 стей) № узла сети 3 байта, число узлов 224-2
Наименьший адрес сети 1.0.0.0 , а наибольший адрес сети 126.0.0.0
 
Класс В х х х х х х х х х х х х х х третий байт четвертый байт
№ сети 2 байта, (191 126 сетей) № узла сети 2 байта, число узлов 216 2
Наименьший адрес сети 128.0.0.0, а наибольший адрес сети 191.255.0.0
 
Класс С х х х х х х х х х х х х х х х х х х х х х четвертый байт
№ сети 3 байта, (31 255 255 сетей) число узлов 28 2)
Наименьший адрес сети 192.0.0.0 , а наибольший адрес сети 223.255.255.0
 
Класс D х х х х Multicast групповые адреса для многоадресной рассылки (видео и т.п.)
Наименьший адрес сети 224.0.0.0 , а наибольший адрес сети 239.255.255.255
 
Класс E х х х Зарезервировано
Наименьший адрес сети 240.0.0.0 , а наибольший адрес сети 247.255.255.255
                                                             

 

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

Старшие разряды в первом байте адреса имеют следующие значения:

класс А, первый разряд «0»;

класс В, первый и второй разряды «1 0»;

класс С, первый, второй и третий разряды «1 1 0»;

класс D, первый, второй, третий, четвертый разряды «1 1 1 0»;

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

единиц в разрядах номера узла, если пакет адресуется всем узлам выбранной сети. Такой тип адреса называется «широковещательным» (broadcast).

Если все двоичные разряды IP-адреса имеют значение «1», то пакет рассылается всем узлам той же сети, в которой находится источник данных. Такой тип адреса называется «ограниченным широковещательным» (limited broadcast).

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

Если в поле адреса IP-пакета стоят все нули, то адрес считается «неопределенным» и в особых случаях он помещается в поле IP-адреса отправителя.

5.3.4 Деление адресов на фиксированные классы А, В, С имеет следующие недостатки:

1 Все возможные сети могут быть отнесены только к трем видам с фиксированным числом сетей каждого вида и фиксированным числом адресуемых узлов в каждом из них;

2 Наблюдается большой дефицит адресов, особенно классов А и В;

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

По мере увеличения количества сетей, а следовательно и потребности их сетевой адресации в определённый момент времени возникла задача сделать IP-адресацию более гибкой. Эта задача была решена путем разработки технологии «маски» переменной длины VLSM (Variable Length Subnet Mask).

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

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

Например, пусть имеются IP-адрес 192.168.4.1 и маска 255.255.255.0 в десятичной форме. Адрес и маска в двоичном виде запишутся так:

1 1 0 0 0 0 0 0. 1 0 1 0 1 0 0 0. 0 0 0 0 0 1 0 0. 0 0 0 0 0 0 0 1 адрес;

1 1 1 1 1 1 1 1. 1 1 1 1 1 1 1 1. 1 1 1 1 1 1 1 1. 0 0 0 0 0 0 0 0 маска.

1 1 0 0 0 0 0 0. 1 0 1 0 1 0 0 0. 0 0 0 0 0 1 0 0. 0 0 0 0 0 0 0 0 номер сети, как результат операции «И».

Номер этой сети в десятичной форме 192.168.4.0.

Для вычисления номера узла применяется побитовая операция «И» к двоичной записи адреса и инвертированной записи маски:

1 1 0 0 0 0 0 0. 1 0 1 0 1 0 0 0. 0 0 0 0 0 1 0 0. 0 0 0 0 0 0 0 1 адрес,

0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0. 1 1 1 1 1 1 1 1 инвертированная маска.

0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 1 номер узла в сети, как результат операции «И».

Номер узла в этой сети в десятичной форме 1.

Сетевой IP-адрес совместно с маской запишется в виде: 192.168.4.1/24, где /24 указывает на то, что под маску отведено первые 24 разряда адреса. Запись «/24» получила название «префикс».

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

Например, если в нашем рассмотрении адрес сети с номером 192.168.4.0. расширить на один разряд, т.е. использовать маску длиной в 25 разрядов, то можно адресовать уже не одну, а две сети:

Адреса сетей 192.168.4.0/25 и 192.168.4.1/25 в двоичной форме будет представлены как:

1 1 0 0 0 0 0 0. 1 0 1 0 1 0 0 0. 0 0 0 0 0 1 0 0. 0 0 0 0 0 0 0 1 сеть 1 и узел 1,

1 1 0 0 0 0 0 0. 1 0 1 0 1 0 0 0. 0 0 0 0 0 1 0 0. 1 0 0 0 0 0 0 1 сеть 2 и узел 1.

При этом маска в десятичном формате будет определяться числом 255.255.255.192.

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

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

10.0.0.0 частные адреса класса А;

172.16.0.0 ÷ 173.31.0.0 частные адреса класса B;

192.168.0.0 ÷ 192.168.255.0 частные адреса класса С.

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

5.3.5 В стеке протоколов ТСР/IP не предусмотрено «широковещание», для рассылки пакетов одновременно всем узлам IP-cети. Широковещательные пакеты могут адресоваться только в пределах локальных сетей на канальном уровне. На этом уровне и используется широковещательный способ установления соответствия между аппаратными МАС-адресами и сетевыми IP-адресами по протоколу разрешения IP-адресов ARP (Address Resolution Protocol).

На сетевом уровне используется централизованная служба DNS (Domain Name System система доменных имен), которая обеспечивает, на базе хранящихся таблиц соответствия, преобразование: «Доменное имя IP-адрес».

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

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

 

 

Рисунок 5.3 Пример нерационального использования пространства IP адресов при маршрутизации данных

 

Для «вырожденной» сети, которая образована линией связи и двумя портами маршрутизаторов требуется выделять отдельный номер «сети», например, (90.15. 40. 0, хотя в ней нет пользователей, и есть только два интерфейса пограничных маршрутизаторов, фактически два сетевых узла. В противном случае порты маршрутизаторов должны были бы иметь один и тот же адрес, что недопустимо, поскольку на один и тот же, согласно такой адресации, порт данные передаваться не могут.