Самое первое, что надо сразу уяснить — IP-адреса назначаются не узлам составной сети. IP адреса назначаются сетевым интерфейсам узлов составной сети.
Очень многие (если не большинство) компьютеров в IP сети имеют единственный сетевой интерфейс (и как следствие один IP адрес). Но компьютеры и другие устройства могут иметь несколько (если не больше) сетевых интерфейсов — и каждый интерфейс будет иметь свой собственный IP адрес.
Так устройство с 6 активными интерфейсами (например, маршрутизатор) будет иметь 6 IP адресов — по одному на каждый интерфейс в каждой сети, к которой он подключен.
Итак, IP адрес определяет однозначно сеть и узел, который подключен к данной сети. IP адрес имеет длину 4 байта (8 бит), это дает в совокупности 32 бита доступной информации.
Для улучшения читабельности, IP адрес записывается в виде четырех чисел, разделенных точками:
например, 128.10.2.30 — десятичная форма представления адреса — 4 (десятичных) числа, разделенных (.) точками, а 10000000 00001010 00000010 00011110 — двоичная форма представления этого же адреса. 4-ре 8-ми разрядных числа (октета)
Так как каждое из четырех чисел — это десятичное представление 8-битного байта, то каждое число может принимать значения от 0 до 255 (что дает 256 уникальных значений — помните, ноль — это тоже величина).
Здесь надо отметить: Десятичная форма записи IP-адреса используется в основном при в операционных системах, как наиболее удобная при настройке.
Кроме двоичной формы, встречается шестнадцатеричная форма записи IP-адреса: С0.94.1.3
Для сведения: использование 32-разрядных двоичных чисел позволяет создавать 4 294 967 296 уникальных IP-адресов — более чем достаточно для любой частной интрасети (хотя сеть Internet скоро может начать испытывать нехватку уникальных адресов).
IP адрес состоит из двух логических частей — номера сети и номера узла в сети.
Конечно же, сразу возникает вопрос: а как определить в одном адресе, где номер сети, а где номер узла? Можно условится использовать, например, первые 8 бит адреса для номера сети, остальные для номеров узлов в той сети, или первые 16 бит, или первые 24 бита. Но в таком случае адресация получается абсолютно не гибкой, мы будем иметь или много маленьких сетей и мало больших, или наоборот.
Для того чтобы более рационально определиться с величиной сети и при том разграничить какая часть IP-адреса относится к номеру сети, а какая — к номеру узла условились использовать систему классов. Система классов использует значения первых бит адреса.
Но, таким образом, что значения этих первых бит адреса являются признаками того, к какому классу относится тот или иной IP-адрес.
Классы IP-адресов:
Итак, давайте в отдельной таблице приведем диапазоны номеров сетей и максимальное число узлов, соответствующих каждому классу сетей:
Класс | Первые биты | Наименьший адрес сети | Наибольший адрес сети | Максимальное количество узлов |
A | 1.0.0.0 | 126.0.0.0 | 224 (16 777 216-2) | |
B | 128.0.0.0 | 191.255.0.0 | 216 (65536-2) | |
C | 192.0.1.0 | 223.255.255.0 | 28 (256-2) | |
D | 224.0.0.0 | 239.255.255.255 | Multicast | |
E | 240.0.0.0 | 247.255.255.255 | зарезервирован |
Сети класса С являются наиболее распространенными.
— Если адрес начинается с последовательности 1110, то он является адресом класса D и обозначает особый, групповой адрес — multicast.
Если в пакете в качестве адреса назначения указан адрес класса D, то такой пакет должны получить все узлы, которым присвоен данный адрес. Но об этом мы еще поговорим ниже.
— Если адрес начинается с последовательности 11110, то это значит, что данный адрес относится к классу Е. Адреса этого класса зарезервированы для будущих применений.
Таким образом, можно однозначно определить, что:
Большие сети получают адреса класса А, средние — класса В, а маленькие — класса С. В зависимости от того к какому классу (А В С) принадлежит адрес, номер сети может быть представлен первыми 8, 16 или 24 разрядами, а номер хоста — последними 24, 16 или 8 разрядами.
Такова традиционная система классов, но и она не достаточно гибко определяет границы между номером сети и номером узла. С использованием классов границы проходят по границам байтов. Существует другой метод, который может проводить разделение границы между номером сети и номером узла в одном IP-адресе по границам битов! Но всему свое время, и прежде чем, познакомится с этим способом, мы должны рассмотреть следующий, очень немаловажный момент, который касается правил исключений в IP — адресации.
Особые IP-адреса
Существуют некоторые значения IP-адресов, которые зарезервированы заранее, то есть существуют IP-адреса, которые предназначены для особых целей. Для каких?
1) Если весь IP-адрес состоит только из двоичных нулей, то он обозначает адрес того узла, который сгенерировал этот пакет;
0 0 0 0 …………………………….. 0 0 0 0 |
этот режим используется только в некоторых сообщениях протокола межсетевых управляющих сообщений ICMP.
2) Если в поле номера сети стоят только нули, то по умолчанию считается, что узел назначения принадлежит той же самой сети, что и узел, который отправил пакет.
0 0 0 0 …….0 Номер узла |
IP-адрес с нулевым номером хоста используется для адресации ко всей сети. Например, в сети класса С с номером 199.60.32 IP-адрес 199.60.32.0 обозначает сеть в целом.
3) Если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета.
1 1 1 1 …………………………………..1 1 |
Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast).
4) Если в поле номера узла назначения стоят только единицы, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером сети. Например, пакет с адресом 192.190.21.255 доставляется всем узлам сети 192.190.21.0.
Номер сети 1111…………….11 |
Такая рассылка называется широковещательным сообщением (broadcast).
Предположим, например, что один из хостов в сети класса С с сетевым адресом 199.60.32.0 собирается направить сообщение всем остальным хостам, находящимся в той же сети. В этом случае сообщение должно быть передано на адрес 199.60.32.255.
При адресации хостов интерсети администратор должен обязательно учитывать все ограничения, которые вносятся особым назначением некоторых IP-адресов.
Таким образом, каждый администратор должен знать, что ни номер сети, ни номер узла не может состоять только из одних двоичных единиц или только из одних двоичных нулей. Отсюда следует, что максимальное количество узлов, приведенное в таблице для сетей каждого класса, на практике должно быть уменьшено на 2.
Особый смысл имеет IP-адрес, первый октет которого равен 127. Этот адрес зарезервирован для тестирования программ и взаимодействия процессов в пределах одной машины.
Когда программа посылает данные по IP-адресу 127.0.0.1, то образуется как бы петля.
Данные не передаются по сети, а возвращаются модулям верхнего уровня, как только что принятые.
Поэтому в IP-сети запрещается присваивать машинам IP-адреса, начинающиеся со 127! Этот адрес имеет название loopback.
Можно отнести адрес 127.0.0.0 ко внутренней сети модуля маршрутизации узла, а адрес 127.0.0.1 — к адресу этого модуля на внутренней сети.
На самом деле любой адрес сети 127.0.0.0 служит для обозначения своего модуля маршрутизации, а не только 127.0.0.1, например 127.0.0.3.
В протоколе IP нет понятия широковещательности в том смысле, в котором оно используется в протоколах канального уровня локальных сетей, когда данные должны быть доставлены абсолютно всем узлам.
Как ограниченный широковещательный IP-адрес, так и широковещательный IP-адрес имеют свои пределы распространения в интерсети.
— они ограничены либо сетью, к которой принадлежит узел-источник пакета, либо сетью, номер которой указан в адресе назначения. Поэтому деление сети с помощью маршрутизаторов на части локализует широковещательный шторм пределами одной из составляющих общую сеть частей просто потому, что нет способа адресовать пакет одновременно всем узлам всех сетей составной сети.
Нами уже упоминалась выше в таблице форма группового IP-адреса — multicast. Так вот именно IP адрес multicast означает, что данный пакет должен быть доставлен сразу нескольким узлам, которые образуют группу с номером, указанным в поле адреса.
Узлы сами идентифицируют себя, то есть определяют, к какой из групп они относятся. Один и тот же узел может входить в несколько групп. Члены какой-либо группы multicast не обязательно должны принадлежать одной сети. В общем случае они могут распределяться по совершенно различным сетям, находящимся друг от друга на произвольном количестве хопов.
Групповой адрес не делится на поля номера сети и узла и обрабатывается маршрутизатором особым образом.
Основное назначение multicast-адресов — распространение информации по схеме один-ко-многим.
Она работает следующим образом: хост, который хочет передавать одну и ту же информацию многим абонентам, с помощью специального протокола IGMP (Internet Group Management Protocol)сообщает о создании в сети новой мультивещательной группы с определенным адресом.
Машрутизаторы, поддерживающие мультивещательность, распространяют информацию о создании новой группы в сетях, подключенных к портам этого маршрутизатора.
Хосты, которые хотят присоединиться к вновь создаваемой мультивещательной группе, сообщают об этом своим локальным маршрутизаторам и те передают эту информацию хосту, инициатору создания новой группы.
Чтобы маршрутизаторы могли автоматически распространять пакеты с адресом multicast по составной сети, необходимо использовать в конечных маршрутизаторах специальные модифицированные протоколы обмена маршрутной информацией.
В общем, групповая адресация была предназначена для экономичного распространения в Internet или большой корпоративной сети аудио- или видеопрограмм, предназначенных сразу большой аудитории слушателей или зрителей.
Надо сказать, что если такие средства найдут широкое применение (сейчас они представляют в основном небольшие экспериментальные островки в общем Internet), то Internet сможет создать серьезную конкуренцию радио и телевидению.
Ну что ж, давайте, сделаем итог, который закрепит наше представление о том, что означает IP-адрес:
IP адрес может означать одно из трех:
1. Адрес IP сети (группа IP устройств, имеющих доступ к общей среде передаче — например, все устройства в сегменте Ethernet). Сетевой адрес всегда имеет биты интерфейса (хоста) адресного пространства установленными в 0 (если сеть не разбита на подсети — как мы еще увидим);
2. Широковещательный адрес IP сети (адрес для ‘разговора’ со всеми устройствами в IP сети). Широковещательные адреса для сети всегда имеют хостовые биты адресного пространства установленными в 1 (если сеть не разбита на подсети — опять же, как мы вскоре увидим).
3. Адрес интерфейса (например Ethernet-адаптер или PPP интерфейс хоста, маршрутизатора, сервера печать итд). Эти адреса могут иметь любые значения хостовых битов, исключая все нули или все единицы — чтобы не путать с адресами сетей и широковещательными адресами.
Для сети класса A …(один байт под адрес сети, три байта под номер хоста) 10.0.0.0 сеть класса А, потому что все хостовые биты равны 0. 10.0.1.0 адрес хоста в этой сети 10.255.255.255 широковещательный адрес этой сети, поскольку все сетевые биты установлены в 1 Для сети класса B…(два байта под адрес сети, два байта под номер хоста) 172.17.0.0 сеть класса B 172.17.0.1 адрес хоста в этой сети 172.17.255.255 сетевой широковещательный адрес Для сети класса C…(три байта под адрес сети, один байт под номер хоста) 192.168.3.0 адрес сети класса C 192.168.3.42 хостовый адрес в этой сеть 192.168.3.255 сетевой широковещательный адрес
Едва ли не все доступные сетевые IP адреса принадлежат классу C.
Маски в IP адресации
Итак, рассмотрена традиционная схема деления IP-адреса на номер сети, и номер узла, которая основана на понятии класса. Класс определяется значениями нескольких первых бит адреса. Теперь, например, можно определить, что поскольку первый байт адреса 185.23.44.206 попадает в диапазон 128-191, то этот адрес относится к классу В, а значит, номером сети являются первые два байта, дополненные двумя нулевыми байтами — 185.23.0.0, а номером узла — 0.0.44.206.
Очевидно, что определение номеров сети по первым байтам адреса также не вполне гибкий механизм для адресации. А что если использовать какой-либо другой признак, с помощью которого можно было бы более гибко устанавливать границу между номером сети и номером узла?
В качестве такого признака сейчас получили широкое распространение маски.
Маска — это тоже 32-разрядное число, она имеет такой же вид, как и IP-адрес. Маска используется в паре с IP-адресом, но не совпадает с ним.
Принцип отделения номера сети и номера узла сети с использованием маски состоит в следующем:
Двоичная запись маски содержит единицы в тех разрядах, которые в IP-адресе должны представляться как номер сети и нули в тех разрядах, которые представляются как номер хоста.
Каждый класс IP-адресов (А, В и С) имеет свою маску, используемую по умолчанию.
Поскольку номер сети является цельной частью адреса, единицы в маске также должны представлять непрерывную последовательность.
Таким образом, для стандартных классов сетей маски имеют следующие значения:
— класс А — 11111111. 00000000. 00000000. 00000000 (255.0.0.0);
— клас с В — 11111111. 11111111. 00000000. 00000000 (255.255.0.0);
— класс С — 11111111.11111111.11111111.00000000 (255.255.255.0).
Например:
Если адресу 185.23.44.206 назначить маску 255.255.255.0, то смотрим, что единицы в маске заданы в трех байтах, значит номер сети будет 185.23.44.0, а не 185.23.0.0, как это определено правилами системы классов.
Для записи масок используются и другие форматы, например, удобно интерпретировать значение маски, записанной в шестнадцатеричном коде: FF.FF.00.00 — маска для адресов класса В. Часто встречается и такое обозначение: IP-адрес/префикс сети. Например, 185.23.44.206/16 — эта запись говорит о том, что маска для этого адреса содержит 16 единиц (префикс сети), или что в указанном IP-адресе под номер сети отведено 16 двоичных разрядов. Нотация с префиксом сети также известна как бесклассовая междоменная маршрутизация (Classless Interdomain Routing — CIDR).
Таким образом, очень легко, снабжая каждый IP-адреспроизвольной маской(не обязательно кратной 8), отказаться от понятий классов адресов и тем самым сделать более гибкой систему IP адресации.
Рассмотрим пример: для IP-адреса129.64.134.5 назначим маску 255.255.128.0,что в двоичном виде будет выглядеть так:
IP-адрес 129.64. 134.5 — 10000001.01000000.1 0000110.00000101
Маска 255.255.128.0 — 11111111.11111111.1 0000000.00000000
Здесь 17 последовательных единиц в маске, накладываются на IP-адрес, и определяют номер сети : 10000001. 01000000. 10000000. 00000000 или 129.64.128.0,
а номер узла0000110.00000101или0.0.6.5.
Механизм масок очень широко распространен в IP-маршрутизации, причем маски могут использоваться для самых разных целей. С их помощью администратор может структурировать свою сеть, не требуя от поставщика услуг дополнительных номеров сетей!
На основе этого же механизма поставщики услуг могут объединять адресные пространства нескольких сетей путем введения так называемых префиксов с целью уменьшения объема таблиц маршрутизации, и повышения за счет этого производительности маршрутизаторов. (Создание надсетей).
Маски при записи всегда неразлучны с соответствующими адресами, IP-адрес маска подсети — именно так теперь и мы будем описывать адрес любого хоста сети.
Статьи к прочтению:
\
Похожие статьи:
-
Лабораторная работа 1 ПРИНЦИПЫ АДРЕСАЦИИ КОМПЬЮТЕРОВ В СЕТИ TCP/IP ЦЕЛЬ РАБОТЫ Изучение принципов адресации сетевых интерфейсов компьютеров глобальной…
-
Классы сервиса и уровни адаптации
Для различных видов информации (голос, видеоинформация и данные), передаваемой с помощью ATM, определены следующие классы сервисов: класс А…