Нумеровать октеты и биты IP адреса принято в порядке их передачи (см. рис. 2). Старшим битом в адресе или любом его поле является бит, записываемый слева и передаваемый в первой позиции.
Типы адресов по способу рассылки – те же, что и в протоколе Ethernet:
индивидуальный (от англ. unicast): идентифицирует один интерфейс. Может являться как адресом отправителя, так и получателя пакета.
широковещательный (от англ. broadcast): если в качестве адреса назначения пакета указан broadcast адрес, рассылка производится всем узлам, входящим в ту же локальную сеть, что и отправитель пакета. Широковещательный адрес не может являться адресом отправителя пакета.
групповой (от англ. multicast): если в качестве адреса назначения пакета указан multicast адрес, получателями пакета может являться группа узлов. Организация групповой рассылки (определение состава группы) – отдельная задача, которая решается ручной настройкой маршрутизаторов и коммутаторов, либо применением динамических протоколов управления рассылками, например
IGMP (Internet Group Management Protocol). Групповой адрес не может являться адресом отправителя пакета.
6
2 Управление адресным пространством
2.1 Структура IP адреса
Адреса, используемые в протоколах канального уровня (MAC адреса Ethernet, Wi-Fi и т.д.), состоят из идентификатора производителя устройства и серийного номера устройства. MAC адрес никак не связан с расположением узла в сети, поэтому устройство может работать в любой локальной сети без смены MAC адреса.
В отличие от MAC адреса, IP адрес имеет логическую структуру, указывающую на расположение узла сети. В современной практике это сводится к разделению адреса на две части (рис. 3):
номер (также называемый адресом или префиксом) сети, идентифицирующий сеть, в которой находится интерфейс;
номер (адрес) узла (хоста, от англ. “host” – узел), идентифицирующий интерфейс внутри сети.
Рис. 3. Структура IP адреса
Номер сети, представленный старшими битами адреса, идентифицирует сеть в составе более крупной составной сети. Номер сети выбирается администратором произвольно или назначается по рекомендации специальной адми-
нистративной службы IANA (от англ. Internet Assigned Numbers Authority – «Администрация адресного пространства Интернет»).
Номер узла, идентифицирующий IP интерфейс внутри сети, независим от MAC адреса. Узлы, которые входят в несколько сетей, могут иметь несколько IP интерфейсов, каждый со своим IP адресом.
Действия узла, отправляющего (или пересылающего транзитом) IP пакет, зависят от IP адреса его получателя.
Если адрес получателя принадлежит той же локальной сети, что и интерфейс, через который ведется передача (совпадают номера сети), пакет вкладывается в кадр, в котором в качестве MAC адреса получателя будет указан адрес конечного получателя.
Если номера сети не совпадают (получатель не принадлежит локальной сети, к которой подключен отправитель кадра), кадр адресуется маршрутизатору (шлюзу), который будет пересылать пакет в направлении сети получателя.
7
IP адрес шлюза должен быть указан в настройках передающего интерфейса и находиться в одной с ним локальной сети.
Это означает, что каждый узел должен иметь информацию о том, какое количество бит в структуре IP адресов его интерфейсов занимают номер сети и номер узла, т.е. после какого бита (бит с номером N на рис. 3) находится граница между ними.
Взрывное развитие Интернета заставило неоднократно менять принципы управления адресным пространством протокола IP. Можно выделить три основных исторических этапа:
˗использование классовой адресации;
˗применение подсетей на базе классовой адресации;
˗использование бесклассовой адресации.
Каждый последующий способ определения структуры адреса является развитием предыдущего и, несмотря на то, что первые два способа устарели и практически не используются, некоторые термины, относившиеся к классовой адресации, используются до сих пор.
2.2 Классовая адресация
Метод описан как часть протокола IP в RFC 791 [1]. В нем размеры полей IP адреса определяются значениями его нескольких (от одного до пяти) старших бит. Длина номера сети может быть 8, 16 или 24 бита, соответственно адреса относят к «классу А», «классу В», «классу С». Номера сетей присваются Администрацией адресного пространства Интернет (IANA), номера узлов назначает администратор сети. Выбор класса зависит от размеров создаваемой сети: максимальное количество узлов в сети равно 232-N-2, где N – длина номера (префикса) сети в битах. Два узла вычитаются вследствие того, что адреса со всеми разрядами в номере узла, равными нулям или единицам, являются особыми и используются в специальных целях.
Форматы адресов для сетей классов А,В,С,Д и Е показаны на рисунках 4-8.
Класс А (диапазон адресов 0.0.0.0-127.255.255.255):
0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh
Номер сети |
|
Номер узла |
|
|
|
Рис. 4. Формат класса А
Сеть класса А может содержать до 224-2=16777214 узлов. Предполагалось, что сети класса А будут использовать крупные организации.
8
Класс B (диапазон адресов 128.0.0.0-191.255.255.255):
10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh
Номер сети |
Номер узла |
Рис. 5. Формат класса B
Максимальное количество узлов в сети класса В – 65534. Эти сети были предназначены для организаций среднего размера.
Класс C (диапазон адресов 192.0.0.0-223.255.255.255):
110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh
Номер сети |
|
Номер узла |
|
|
|
Рис. 6. Формат класса C |
|
|
|
||
Сети класса С (с максимальным количеством в 254 узла) – самые маленькие сети при классовой адресации.
Класс D (диапазон адресов 224.0.0.0-239.255.255.255):
1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
Рис. 7. Формат класса D
Адреса класса D являются групповыми (multicast).
Класс E (диапазон адресов 240.0.0.0-255.255.255.255):
11110xxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
Рис. 8. Формат класса E
Диапазон адресов класса E был зарезервирован для создания новых типов адресов. Однако они до сих пор не разработаны и, по-видимому, адреса этого диапазона никогда не будут назначаться.
Классовая адресация предполагает два уровня иерархии: на верхнем уровне находится глобальная составная сеть, на нижнем – отдельные локальные сети, каждая из которых имеет свой номер. Многим организациям такая схема оказалась неудобной по следующим причинам:
большой размер сетей классов А и В. Технологии, подобные Ethernet, не позволяют создавать эффективно работающую сеть с таким количеством узлов;
9
лишь три доступных размера сетей, из-за чего большая часть занятых адресов не использовалась.
Вэтой связи возникла потребность разделять сети на части (подсети). Формальное описание этой процедуры представлено в RFC 950 [2].
2.3 Деление сетей с классовой адресацией на подсети
В данном подразделе описываются дополнения к системе классовой адресации, позволившие разделять сети классов А, В и С на подсети. Поскольку в дальнейшем было принято решение отказаться от использования классовой адресации, данный метод также является устаревшим. Однако понятие масок подсети получило дальнейшее развитие и используется в бесклассовой адресации, описанной в п. 2.4.
При использовании подсетей на базе классовой адресации поле номера узла разделяется на поля номера подсети и номера узла, таким образом, IP адрес состоит из трех частей (рис. 9):
Рис. 9. Выделение номера подсети в IP адресе
Поле номера сети остается без изменений, его длина определяется исходя из класса адреса, как описано в п. 2.1. Граница же между номером подсети и номером узла может находиться между любыми двумя битами и определяется с помощью маски подсети, назначаемой сетевым администратором.
Маска подсети – это число длиной 32 бита, используемое в паре с IP адресом. Она, как и IP адрес, обычно записывается в десятичном виде с разделением байтов точкой. Маска подсети содержит биты «1» в тех разрядах, в которых в IP адресе находятся номер сети и номер подсети, и «0» в позициях, которые соответствуют номеру узла.
Маска подсети не входит в заголовок IP пакета, она прописывается в настройках сетевых интерфейсов всех узлов и маршрутизаторов сети.
Рассмотрим пример (рис.10): администратору необходимо разделить сеть класса В на подсети, в которых номер узла будет иметь длину 6 бит (максимальное количество узлов в такой подсети 62).
10