Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Протокол IP.doc
Скачиваний:
2
Добавлен:
07.07.2019
Размер:
402.94 Кб
Скачать

Подсети

Как было показано ранее, у всех хостов сети должен быть один и тот же номер се­ти. Это свойство IP-адресации может вызвать проблемы при росте сети. Напри­мер, представьте, что университет создал сеть класса В, используемую факульте­том информатики в качестве Ethernet. Год спустя факультету электротехники понадобилось подключиться к Интернету, для чего был куплен повторитель для расширения сети факультета информатики и проложен кабель из его здания. Од­нако время шло, число компьютеров в сети росло, и четырех повторителей (мак­симальный предел для сети Ethernet) стало не хватать. Понадобилось создание новой архитектуры.

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

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

В литературе, посвященной Интернет технологиям, части сети называются подсетями.

Как центральный маршрутизатор узнает, в какую из подсетей (Ethernet) на­править пришедший пакет? Одним из способов является поддержание маршру­тизатором таблицы из 65 536 записей, говорящих о том, какой из маршрутизато­ров использовать для доступа к каждому из хостов. Эта идея будет работать, но потребуется очень большая таблица и много операций по ее обслуживанию, вы­полняемых вручную, при добавлении, перемещении и удалении хостов.

Была изобретена альтернативная схема работы. Вместо одного адреса клас­са В с 14 битами для номера сети и 16 битами для номера хоста было предло­жено использовать несколько другой формат — формировать адрес подсети из нескольких битов. Например, если в университете существует 35 подразделе­ний, то 6-битным номером можно кодировать подсети, а 10-битным — номера хостов. С помощью такой адресации можно организовать до 64 сетей Ethernet по 1022 хоста в каждой (адреса 0 и -1 не используются, как уже говорилось, поэто­му не 1024 (210), а именно 1022 хоста). Такое разбиение может быть изменено, если окажется, что оно не очень подходит.

Все, что нужно маршрутизатору для реализации подсети, это наложить маску подсети, показывающую разбиение адреса на номер сети, подсети и хоста (рис. 5.51). Маски подсетей также записываются в виде десятичных чисел, раз­деленных точками, с добавлением косой черты, за которой следует число битов номера сети и подсети. Например, на рис. 5.51 маску подсети можно записать в виде 255.255.252.0. Альтернативная запись будет включать /22, показывая, что маска подсети занимает 22 бита.

За пределами сети разделение на подсети незаметно, поэтому нет нужды с по­явлением каждой подсети обращаться в ICANN или изменять какие-либо внеш­ние базы данных. В данном примере первая подсеть может использовать IP-ад­реса, начиная с 130.50.4.1; вторая — начиная с 130.50.8.1; третья — 130.50.12.1, и т. д. Чтобы понять, почему на каждую подсеть уходит именно четыре единицы в адресе, вспомните двоичную запись этих адресов:

Подсеть 1: 10000010 00110010 000001| 00 00000001

Подсеть 2: 10000010 00110010 000010| 00 00000001

Подсеть 3: 10000010 00110010 000011| 00 00000001

Здесь вертикальная черта (|) показывает границу номера подсети и хоста. Слева расположен 6-битный номер подсети, справа — 10-битный номер хоста.

Чтобы понять, как функционируют подсети, следует рассмотреть процесс об­работки IP-пакетов маршрутизатором. У каждого маршрутизатора есть таблица, содержащая IP-адреса сетей (вида <сеть, 0>) и IP-адреса хостов (вида <эта_ сеть, хост>). Адреса сетей позволяют получать доступ к удаленным сетям, а ад­реса хостов — обращаться к локальным хостам. С каждой таблицей связан сете­вой интерфейс, применяющийся для получения доступа к пункту назначения, а также другая информация.

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

При разбиении сети на подсети таблицы маршрутизации меняются — добав­ляются записи вида <эта_сеть, подсеть, 0> и <эта_сеть, эта_подсеть, хост>. Таким образом, маршрутизатор подсети k знает, как получить доступ ко всем другим подсетям и как добраться до всех хостов своей подсети. Ему нет нужды знать детали адресации хостов в других подсетях. На самом деле, все, что для этого требуется от маршрутизатора, это выполнить двоичную операцию И над маской подсети, чтобы избавиться от номера хоста, а затем найти получившийся адрес в таблицах (после определения класса сети). Например, пакет, адресован­ный хосту с IP-адресом 130.50.15.6 и прибывающий на центральный маршрути­затор, после выполнения операции И с маской 255.255.252.0/22 получает адрес 130.50.12.0. Это значение ищется в таблицах маршрутизации, и с его помощью определяется выходная линия маршрутизатора к подсети 3. Итак, разбиение на подсети уменьшает объем таблиц маршрутизаторов путем создания трехуровне­вой иерархии, состоящей из сети, подсети и хоста.