19291

Формирование IP- адресов

Лекция

Информатика, кибернетика и программирование

Лекция 7 Формирование IP адресов Адреса IP Семейство протоколов TCP/IP используют 32 разрядную схему адресации которая для каждого узла определяет не только его собственный адрес но и адрес сети в которой этот узел находится. Перемещение компьютеров из одной сети в ...

Русский

2013-07-11

681 KB

61 чел.

Лекция 7

Формирование IP-  адресов

Адреса IP 

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

IP-адрес состоит из четырех последовательностей, по восемь бит каждая, всего - 32 бита. Для удобства восприятия, при записи IP-адреса используются десятичные числа, разделенные точками, X.Y.Z.W, например 194.67.67.97.  Старшие биты данного адреса соответствуют номеру IP- сети, младшие - номеру узла.

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

                                        

Например, число 2001 представляется в системе с десятичным основанием (в десятичной системе), как

2001= 2*103 +1*100 .

Двоичный эквивалент числа 2001 имеет вид

2001= 1024+512+256+128+64+16+1 = 1*210 +1*29 +1*28 +1*27 + 1*26 + 1*24  + +1*20 =11111010001.

Десятичное значение числа всегда равно сумме десятичных эквивалентов всех позиций, на которых в этой записи стоят единицы!

Десятичное значение байтов IP-адреса принимают значение от 0 до 255. Нулевые значения разрешаются не во всех байтах, только во втором и третьем, а адрес 255 используется для широкого вещания.  На рисунке 7_1 показано преобразование IP- адресов.

Двоичная позиция

27

26

25

24

23

22

21

20

Десятичное значение

128

64

32

16

8

4

2

1

Байт

1

1

0

0

0

0

1

0

128

+64

+2

=194

Сумма десятичных значений каждой позиции байта, равных 1, равна десятичному значению этого байта!

Рис. 7_1. Преобразование IP- адресов

Классы адресов

Выделяется пять классов IP-адресов, которые отличаются количеством бит в номере сети  и в номере узла. Класс адреса идентифицируется по значению первого байта. Узлам можно присваивать адреса классов от А до С, классы Е и D зарезервированы для специальных целей. В таблице 1 приведено описание классов. Класс адреса всегда определяется по значению первого байта!

Табл. 7_1. Описание классов адресов

Класс

Значение первого байта адреса

Возможное количество сетей

Возможное количество узлов

    А

1 -126

126

16777214

В

128 - 191

16 382

65534

С

192 - 223

2 097 150

254

D

224 - 239

нет

Применяется только для сообщений маршрутизаторов

E

240 - 247

нет

Экспериментальное использование

Адреса класса A используются в больших сетях с огромным количеством узлов, структура адреса выглядит так:

0

X.

Y.Z.W

номер сети

номер  узла

0

ххххххх

Адреса класса B используются в средних сетях, содержащих не более 2**16 узлов, и имеют следующую структуру:

X.Y.

Z.W

Номер сети

номер узла

10

хххххх

Адреса класса C используются в сетях с небольшим количеством узлов

X.Y.Z.

W

номер сети

номер узла

110

ххххх

В классе D обращение производится к группам машин,

X.Y.Z.W

1110

хххх

групповой

адрес

а адреса класса E зарезервированы на будущее:

X.Y.Z.W

11110

ххх

Зарезервировано

Некоторые IP-адреса зафиксированы и являются общеизвестными.

  •  0.0.0.0 – означает принятый маршрут по умолчанию, используется для упрощения таблиц маршрутизации;
  •  127.0.0.1 – используется для адресации на локальный узел (loopback adaptеr);
  •  255.255.255.255 – широковещательный адрес узлов  в пределах одной (данной) сети;
  •  все биты в адресе узла или сети установлены равными 1 – адресация на все узлы;
  •  все биты в адресе узла  установлены равными 0 – обозначает саму сеть;
  •  все биты в адресе сети установлены равными 0 – обозначает узел в данной сети.

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

Конкретная  IP-сеть определяется по номеру сети при нулевом номере узла, при использовании широковещательного номера узла обращение ведется сразу ко всем узлам данной сети.

IP- адрес, старший байт которого равен 127, считается служебным, и используются для тестирования и диагностики программного обеспечения. Взаимодействие в этом случае происходит в рамках одного узла. Например, когда IP-протокол получает пакет с адресом приемника 127.0.0.1, он не передает этот пакет на сетевую карту Ethernet, а выталкивает его обратно, на верхние уровни архитектуры связи TCP или UDP.

Распределение IP-адресов

Распределение IP- адресов до недавнего времени проводила корпорация Network Solutions, более известная как InterNIC (Network  Information Centre), которая следила за уникальностью адресного пространства.

В настоящее время управление адресами возложено также и  на некоммерческую организацию ARIN (American Registry for Internet Numbers). Обе эти организации осуществляют управление IP- адресами в Северной и Южной Америке, Южной Африке и странах Карибского бассейна. В Европе для этих целей служит организация RIPE (Reseaux IP Europeens) , а в Азии и Тихоокеанском регионе – APNIC (Asia Pacific Network Information Centre).

В InterNIC существуют зарезервированные диапазоны IP- адресов, которые локально используются в сетях, не  имеют зарегистрированных идентификаторов (частные сети). Эти адреса нормально распознаются маршрутизаторами. К ним относятся:

  •  Класс A: 10.0.0.0 – 10.255.255.255;
  •  Класс B: 172.16.0.0 – 172.31.255.255;
  •  Класс C: 192.168.0.0. – 192.168.255.255.

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

Маски, подсети и надсети

Подсети

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

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

Подсеть-это сеть или идентификатор сети, созданный при помощи переноса несколько бит из части IP-адреса, содержащую идентификатор узла, в часть, содержащую идентификатор сети. Например, в IP-адресах класса В третий байт используется для задания номера подсети, тогда маска 255.255.255.0 позволяет задать 256 различных подсетей с 254 узлами в каждой. Определяя маску 255.255.255.192, Вы адресуете 1024 подсети с 60 узлами в каждой.

Например, вы  получили от провайдера Интернет  идентификатор  сети класса   C    

IP= 194. 66.67.0 и хотите выделить пять подсетей для локализации трафика и снижения нагрузки на сеть. Каким образом выделить эти подсети? Сколько разрядов в адресе узлов отвести на адресацию подсетей?

При выделении подсетей необходимо руководствоваться следующими принципами:

  •  В идентификаторе подсети все нули и все единицы используются для служебных целей, таким образом, количество подсетей определяется, как 2k-2, где  k- количество бит, отведенных на адресацию подсетей в адресе.
  •  При определении количества подсетей, помните о дальнейшем расширении сети.
  •  Количество узлов в каждой подсети не превосходит 2n-2, где  n- количество бит, отведенных на адресацию узлов, так как в идентификаторе узла все 0 и все 1 используются служебным образом.

Подсети

Идентификатор подсети

Диапазон двоичных адресов

(последний байт)

Диапазон десятичных адресов

Служебный

000ххххх

нет

нет

Подсеть A

001ххххх

00100001..

.00111110

194.66.67.33..

.194.66.67.62

Подсеть B

010ххххх

01000001..

.01011110

194.66.67.65..

.194.66.67.94

Подсеть C

011ххххх

01100001..

.01111110

194.66.67.97..

.194.66.67.126

Подсеть D

100ххххх

10000001..

.10011110

194.66.67.129..

.194.66.67.158

Подсеть E

101ххххх

10100001..

.10111110

194.66.67.161..

.194.66.67.190

Для расширения

110ххххх

-

-

Служебный

111ххххх

нет

нет

Рис. 7_2. Выделение подсетей

Таким образом, в рассматриваемом примере, необходимое  количество подсетей 5+2=7. Для кодирования этого числа в двоичном счислении нужно три разряда. Выделенный IP-адрес относится к классу C, таким образом, последний байт адреса 194.66.67.0 можно использовать следующим образом (см. рис. 7_2).

Маски подсетей. 

Для распознавания того, какие биты в IP-адресе относятся к сети, а какие к узлу, протокол TCP/IP использует метод масок подсетей. В силу этого, любой сети присваивается маска, независимо от того, выделяем мы подсети или нет.

Под маской понимают 32-разрядное двоичное число в формате IP-адреса, единицы которого указывают на то, какие разряды указывают на адрес сети, и нули указывают на то, какие разряды указывают на адрес узла. В нашем примере, маска подсети имеет вид MASKA = 11111111.11111111.11111111.11100000=255.255.255.224.

Маршрутизатор определяет адреса сети и узла, используя операцию логическое И, которая рассчитывается по таблице истинности:

X

Y

X и Y

0

0

0

0

1

0

1

0

0

1

1

1

Продолжая рассмотрение нашего примера, при указанном адресе 194.66.67.75 и маске подсети 255.255.255.224  выделяется следующий сетевой адрес (рис. 7_3).

IP-адрес

11000010.

01000010.

01000011.

01001011

Маска

11111111

11111111

11111111

11100000

Действие логического И

11____1_

 

_1_ ___1_

 

_1__ __11

 

_1_ ____

Десятичные значения позиций в каждом байте

128+64+2

 

64+2

64+2+1

64

Сетевой адрес

194.66.67.64

Рис. 7_3. Определение адреса сети

Формирование масок возможно как постоянной, так и переменной длины VLSM (Variable Length Subnet Masks). Использование VLSM повышает эффективность использования адресного пространства IP в рамках одной организации

В зависимости от класса IP-сети, рекомендуются маски по умолчанию, представленные в таблице 7_2. Если сетевой администратор не использует подсети, то сохраняется соответствующая маска по умолчанию. По соглашению маски подсети присваиваются непрерывным последовательностям разрядов, начиная со старшего бита в байте. Десятичное значение крайнего правого бита маски может быть использовано для определения наименьшего возможного адреса подсети в байте.

Адреса IP, которые согласуются с масками по умолчанию для соответствующего класса, образуют классовую иерархию подсетей. При классовой  иерархии адресов, адреса класса A всегда используют 8 разрядов на адрес сети и 24 разряда на адрес узла. Для класса B на идентификатор сети приходится 16 бит и столько же на адрес узла. Для класса C идентификатор сети состоит из 24 разрядов, а идентификатор узла только из 8 разрядов.

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

Таблица  7_2. Маски по умолчанию для классов A, B и C

Класс сети

Маска по умолчанию

Класс A

255.0.0.0

Класс B

255.255.0.0.

Класс C

255.255.255.0

Присваивая адреса узлам в подсети, необходимо помнить:

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

Надсети

Использование подсетей подразумевает разбиение IP-адреса на подсети. Создание надсетей происходит объединением нескольких IP-адресов класса С в одну сеть. Таким образом, происходит отказ от классовой адресации.

Как правила, построение надсетей считается целесообразным, так как:

  •  Все адреса класса В уже присвоены, в то время, как многие С-адреса еще свободны.
  •  Один С-адрес поддерживает не более 254 узлов, что недостаточно для быстрорастущих организаций.
  •  Объем таблиц маршрутизации в Интернет приводит к огромным сложностям в управлении ими.
  •  С ростом Интернет существующие принципы IP-адресации должны как-то приспосабливаться к реальной жизни.

При создании надсети используются только соседние адреса, различающиеся в одном единственном разряде. Например, пара 194.66.66.0 и 194.66.67.0 может образовывать надсеть, а пара 194.66.67.0 и 194.66.68.0  – нет.

В случае пары 194.66.66.0 и 194.66.67.0 маска подсети MASKA= =11111111.11111111.11111110.00000000=255.255.254.0 позволяет отнести младший, двадцать четвертый, разряд адреса сети к идентификатору узла и породить 510 (29 –2) узлов.  Во втором случае, различие кодов захватывает уже три разряда, коды не соседние и надсеть на двух адресах 194.66.67.0 и 194.66.68.0  строить нельзя. На рисунке 3.6 выделены различающиеся разряды у этих пар.

В надсети можно объединять более чем две сети класса С. Для этого необходимо, чтобы различающиеся разряды в их адресах образовывали гиперкуб. Например, пять IP-адресов A1, A2, А3, A4 и А5 при маске подсети MASKA= 255.255.248.0 образуют надсеть. При этом три младших разряда в идентификаторе сети отводится для адресации узла. Адресуемое количество узлов в такой надсети равно 2046 (211 –2):

A1=222.22.16.0= 11011110.00010110.00010000.00000000,

A2=222.22.17.0= 11011110.00010110.00010001. 00000000,

А3=222.22.18.0= 11011110.00010110.00010010. 00000000,

A4=222.22.19.0= 11011110.00010110.00010011. 00000000,

А5=222.22.20.0= 11011110.00010110.00010100. 00000000,

MASKA= 11111111.11111111.11111000.00000000.

Для работы с бесклассовыми IP-адресами надсетей была изобретена бесклассовая междоменная маршрутизация CIDR (Classless InterDomain Routing). CIDR позволяет маршрутизаторам использовать маски подсетей, отличных от принятых по умолчанию, для классов A, B и C. Например, адрес 222.22.16.0/21 воспринимается маршрутизатором как имеющий маску подсети 255.255.248.0. Последовательность символов «/21» в адресе показывает маршрутизатору, что маску подсети составляют первые двадцать один бит.

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

Пара адресов образует надсеть

194.66.66.0

11000010.

01000010.

01000010.

00000000

194.66.67.0

11000010.

01000010.

01000011.

00000000

Соседние коды

Пара адресов образует надсеть

194.66.67.0

11000010.

01000010.

01000011.

00000000

194.66.85.0  

11000010.

01000010.

01000100.

00000000

Не соседние коды

Рис.7_ 4. Построение надсети

Протокол динамической конфигурации узла DHC

Протокол динамической конфигурации узла DHCP был разработан для централизованного управления  IP-адресами и служит расширением протокола BOOTP (Bootstrap Protocol – протокол для загрузки и настройки TCP/IP на бездисковых клиентах). Протокол выполняет динамическое выделение IP-адресов (IP-аренда) из определенного интервала, автоматически настраивает маску подсети, упрощает начальную настройку клиентских мест и снижает нагрузку на администратора сети.

Для работы необходимо инсталлировать сервер DHCP, который отвечает на запросы клиентов и следит за тем, чтобы в сети не было повторяющихся адресов. В сети может быть сколько угодно серверов DHCP, но каждому из них должен быть выделен свой собственный интервал IP-адресов. Эти интервалы не должны совпадать или пересекаться! Более того, можно выделить адресные интервалы, которые зарезервированы за определенными компьютерам и не отдаются во временную аренду.

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

После истечения 50% времени аренды, клиент может обратиться к серверу с просьбой о продлении аренды. Не получив подтверждения, клиент может вторично запросить продление, когда истечет 87,5% времени аренды. Если подтверждение не получено, процесс получения аренды начинается вновь.

Помните, если ваша сеть содержит маршрутизаторы между серверами DHCP и его клиентами, эти маршрутизаторы обязательно должны быть настроены на ретрансляцию пакетов DHCP (рис. 7_5).

Рис. 7_5 Настройка ретрансляции DHCP

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

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

Проверка настроек TCP/IP 

Проверка настроек протокола производится с помощью двух линейных команд – PING  и IPCONFIG.

Команда PING использует протокол ICMP для опроса TCP/IP узла, и ее работа дает представление о работающих настройках. Формат команды следующий:

PING < IP-адрес или  имя узла>

Команда PING производит 4 эхо-запроса, выводя соответствующие ответы.

При определении неисправностей, команда PING, как правило, используется в следующей последовательности:

  1.  PING 127.0.0.1, когда тестируется свой собственный адаптер, без выхода в сеть,
  2.  PING < свой IP-адрес> , определяет правильная настройка своего адреса ( нет ли адресов-дубликатов в сети),
  3.  PING < соседний IP-адрес в локальной сети>, проверка работы внутри сетевого сегмента,
  4.  PING < IP-адрес ближайшего интерфейса маршрутизатора, подключенного к вашему сегменту сети>,
  5.  PING < IP-адрес интерфейса маршрутизатора, не подключенного к вашему сегменту сети>, и т. д.

Команда IPCONFIG предоставляет доступ к большей части TCP/IP настроек.

Обычно  эту команду используется в формате, позволяющем собрать максимально возможную информацию об узле:

IPCONFIG  /ALL

IP-маршрутизация 

Windows 2003 поддерживает два типа маршрутизации: динамическую и статическую (рис. 7_6). В таблице 7_3 приведен сравнительный анализ статической и динамической маршрутизации.

Рис.7_6.  Настройка опций маршрутизации

Статическая маршрутизация не требует никаких дополнительных служб и может быть реализована NT-сервером с несколькими сетевыми картами. Для этого, при наличие нескольких сетевых интерфейсов у сервера Widows 2003,  необходимо настроить свойство TCP/IP и создать соответствующую таблицу маршрутизации командой ROUTE. 

Таблица 7_3. Сравнительный анализ видов маршрутизации

Статическая маршрутизация

Динамическая маршрутизация

Функция протокола маршрутизации

Встроенная функция IP

Маршрутизаторы  разделяют данные

Маршрутизаторы не разделяют данные

Таблицы поддерживаются автоматически

Таблицы создаются вручную

Требуется RIP или OSPF

Системы с несколькими сетевыми картами

Используется в больших и сложных сетях

Используется в небольших сетях

Статическая таблица маршрутизации состоит из записей, содержащих следующую информацию:

  •  Адрес сети. Может быть показан идентификатор, или IP-адрес узла-получателя, включая локальный адрес 0.0.0.0 и широковещательный адрес 255.255.255.255;
  •  Маска сети. Используется для сравнения адреса получателя с идентификатором  подсети;
  •  Адрес шлюза, т.е. следующий  IP-адрес интерфейса маршрутизатора для перехода;
  •  Интерфейс, т.е. IP-адрес сетевого интерфейса, по которому нужно переслать IP-пакет;
  •  Метрика, т.е. количество переходов (хопков) для достижения сети.

Рассмотрим таблицу маршрутизации для отдельного узла с IР-адресом 192.0.3.10, маской подсети 255.255.255.240  и адресом шлюза 192.0.3.113. Такая таблица маршрутизации может иметь вид, представленный в таблице 7_4.

Таблица 7_4. Таблица маршрутизации

Сетевой адрес

Маска сети

Адрес шлюза

Интерфейс

Метрика

Описание

0.0.0.0

0.0.0.0

192.0.3.113

192.0.3.10

1

Маршрут по умолчанию

127.0.0.0

255.0.0.0

127.0.0.1

127.0.0.1

1

Возвратный сетевой адрес

255.255.255.255

255.255.255.255

192.0.3.10

192.0.3.10

1

Адрес ограниченной широковещательной рассылки

192.0.3.255

255.255.255.255

192.0.3.10

192.0.3.10

1

Адрес широковещательной рассылки

5