ТЕОРИЯ_Адресное пространство сети
Адресное пространство сети: IP-адреса используются для идентификации устройств в сети. Для взаимодействия по сети IP-адрес должен быть назначен каждому сетевому устройству (в том числе компьютерам, серверам, маршрутизаторам, принтерам и т.д.). Такие устройства в сети называют хостами. С помощью маски подсети определяется максимально возможное число хостов в конкретной сети. Маски подсети позволяют разделить одну сеть на несколько подсетей. Структура IP-адреса Одна часть IP-адреса представляет собой номер сети, другая – идентификатор хоста. Точно так же, как у разных домов на одной улице в адресе присутствует одно и то же название улицы, у хостов в сети в адресе имеется общий номер сети. И точно так же, как у различных домов имеется собственный номер дома, у каждого хоста в сети имеется собственный уникальный идентификационный номер – идентификатор хоста. Номер сети используется маршрутизаторами для передачи пакетов в нужные сети, тогда как идентификатор хоста определяет конкретное устройство в этой сети, которому должны быть доставлены пакеты. IP-адрес состоит из четырех частей, записанных в виде десятичных чисел с точками (например, 192.168.1.1). Каждую из этих четырех частей называют октетом. Октет представляет собой восемь двоичных цифр (например, 11000000, или 192 в десятичном виде). Таким образом, каждый октет может принимать в двоичном виде значения от 00000000 до 11111111, или от 0 до 255 в десятичном виде. На следующем рисунке показан пример IP-адреса, в котором первые три октета (192.168.1) представляют собой номер сети, а четвертый октет (16) – идентификатор хоста. Рис 2. Номер сети и идентификатор хоста Количество двоичных цифр в IP-адресе, которые приходятся на номер сети, и количество цифр в адресе, приходящееся на идентификатор хоста, могут быть различными в зависимости от маски подсети.
Маски подсети Маска подсети используется для определения того, какие биты являются частью номера сети, а какие – частью идентификатора хоста (для этого применяется логическая операция конъюнкции – «И»). Маска подсети включает в себя 32 бита. Если бит в маске подсети равен «1», то соответствующий бит IP-адреса является частью номера сети. Если бит в маске подсети равен «0», то соответствующий бит IP-адреса является частью идентификатора хоста. На следующем рисунке показана маска подсети, выделяющая номер сети (полужирным шрифтом) и идентификатор хоста в IP-адресе (который в десятичном виде записывается как 192.168.1.2). Маски подсети всегда состоят из серии последовательных единиц начиная с самого левого бита маски, за которой следует серия последовательных нулей, составляющих в общей сложности 32 бита. Маску подсети можно определить как количество бит в адресе, представляющих номер сети (количество бит со значением «1»). Например, «8-битной маской» называют маску, в которой 8 бит – единичные, а остальные 24 бита – нулевые. Маски подсети записываются в формате десятичных чисел с точками, как и IP-адреса. В следующих примерах показаны двоичная и десятичная запись 8-битной, 16-битной, 24битной и 29-битной масок подсети. Маски подсети всегда состоят из серии последовательных единиц начиная с самого левого бита маски, за которой следует серия последовательных нулей, составляющих в общей сложности 32 бита. Маску подсети можно определить как количество бит в адресе, представляющих номер сети (количество бит со значением «1»). Например, «8-битной маской» называют маску, в которой 8 бит – единичные, а остальные 24 бита – нулевые. Размер сети Количество разрядов в номере сети определяет максимальное количество хостов, которые могут находиться в такой сети. Чем больше бит в номере сети, тем меньше бит остается на идентификатор хоста в адресе. IP-адрес с идентификатором хоста из всех нулей представляет собой IP-адрес сети (192.168.1.0 с 24-битной маской подсети, например). IP-адрес с идентификатором хоста из всех единиц представляет собой широковещательный адрес данной сети (192.168.1.255 с 24битной маской подсети, например). Так как такие два IP-адреса не могут использоваться в качестве идентификаторов отдельных хостов, максимально возможное количество хостов в сети вычисляется следующим образом:
Поскольку маска всегда является последовательностью единиц слева, дополняемой серией нулей до 32 бит, можно просто указывать количество единиц, а не записывать значение каждого октета. Обычно это записывается как «/» после адреса и количество единичных бит в маске. Например, адрес 192.1.1.0 /25 представляет собой адрес 192.1.1.0 с маской 255.255.255.128. Пример 1 : Пусть есть адреса 192.168.0.1 и 192.168.0.65, какой из них находится в подсети 192.168.0.0 с маской 255.255.255.192 (или в нотации CIDR 192.168.0.0/26).
192.168.0.1 | = 11000000.10101000.00000000.00000001 |
255.255.255.192 | = 11111111.11111111.11111111.11000000 |
сумма | = 11000000.10101000.00000000.00000000 = 192.168.0.0 |
192.168.0.65 | = 11000000.10101000.00000000.01000001 |
255.255.255.192 | = 11111111.11111111.11111111.11000000 |
сумма | = 11000000.10101000.00000000.01000000 = 192.168.0.64 |
Как видно, адрес 192.168.0.65 при сложении с маской подсети дал другую подсеть, он находится в подсети 192.168.0.64/26. Пример 2: Пусть есть IP-адрес 192.168.0.148 и маска подсети 255.255.255.248. Определим основные параметры данной подсети: Применяем побитовым умножением (операция И) маски сети и ip адреса: 11000000.10101000.00000000.10010100 (192.168.0.148) 11111111.11111111.11111111.11111000 (255.255.255.248) 11000000.10101000.00000000.10010000 (192.168.0.144) Тогда имя подсети 192.168.0.144, Префикс сети — 29 (29 единиц двоичного кода в маске сети), Применяем побитовое сложение (операция ИЛИ) маски сети и ip адреса: 11000000.10101000.00000000.10010100 (192.168.0.148) 00000000.00000000.00000000.00000111 (!255.255.255.248) 11000000.10101000.00000000.10010111 (192.168.0.151) Тогда максимальный (широковещательный) адрес будет 192.168.0.151. Все адреса находящиеся между 144 и 151 (но не 144 и 151) мы можем назначать компьютерам, маршрутизаторам и прочему сетевому оборудованию (хостам).
Адресация узлов в tcp/ip-сетях Стек протоколов и адресное пространство
Использование сетевых протоколов предполагает наличие той или иной системы адресации взаимодействующих объектов. Множество всех адресов, которые являются допустимыми в рамках конкретной системы, называется адресным пространством.
Адресное пространство может иметь плоскую (линейную) организацию и представлять собой простое неструктурированное множество точек, или быть организованным, чаще всего иерархически. Адреса могут быть как числовыми, так и символьными, но в основе символьных адресов все равно лежат числа.
Стек протоколов TCP/IP предусматривает использование следующих типов сетевых адресов:
- числовой физический адрес узла сети;
- числовой логический IP-адрес хоста;
- символьное доменное имя хоста (DNS-имя).
Физические mac-адреса
Физический адрес узла сети (станции) определяется используемой сетевой технологией. В технологии локальных сетей в качестве физического адреса узла используется так называемый МАС-адрес сетевого адаптера станции или порта маршрутизатора.
МАС-адрес (от англ. Media Access Control) представляет собой уникальный код из разделенных дефисами шести байтов, например, 10-А1-17-3D-BC-01. Напомним, что для представления одного байта кода используется две цифры шестнадцатеричной системы счисления.
Уникальность МАС-адресов обеспечивается при производстве оборудования. Старшие 3 байта МАС-адреса содержат централизовано назначаемый код производителя, а значение младших 3 байтов выбирает он сам. Отметим, что адресное пространство MAC адресов технологии локальных сетей не является структурированным.
Числовые логические ip-адреса
При использовании TCP/IP для идентификации узлов сети и межсетевой маршрутизации пакетов каждый из хостов должен иметь уникальный числовой логический IP-адрес. Этот адрес обычно назначается администратором во время конфигурирования компьютеров и маршрутизаторов сети. При этом в случае, если узел одновременно входит в несколько IP-сетей, то он должен иметь несколько IP-адресов (по числу сетевых связей). Таким образом, IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.
Отметим, что IP-адреса не зависят от локальных физических MAC адресов и организованы иерархически. IP-адрес станции-хоста состоит из двух частей:
- левая (сетевая часть) адреса обозначает логическую сеть, в которую входит адресуемый хост;
- правая (машинная, компьютерная часть) адреса указывает на конкретный номер этого хоста в содержащей его логической сети.
Трансляция физических и логических адресов в tcp/ip
Независимость логических и физических адресов предоставляет значительные удобства для управления и администрирования сетей. Иначе, например, при смене на одном из компьютеров сетевой карты всем остальным узлам сети пришлось бы учитывать это изменение.
Согласно TCP/IP физические адреса (MAC) используются только в пределах локальной сети при обмене данными между ее узлами. Маршрутизатор для передачи пакета в одну из IP-сетей, непосредственно подключенных к его портам, должен оформить его в соответствии с требованиями принятой в этой сети технологии и указать в нем МАС-адрес получателя. Однако в пакете этот адрес отсутствует, поэтому перед маршрутизатором встает задача определения этого MAC-адреса по известному IP-адресу. С аналогичной задачей сталкивается и хост, при необходимости отправить пакет в удаленную IP-сеть через маршрутизатор.
В стеке протоколов с условным названием TCP/IP для определения локального физического MAC-адреса по IP-адресу используется протокол ARP (Address Resolution Protocol), особенности работы которого зависят от того, какая технология применена в данной сети.
В TCP/IP входит также и протокол RARP (Reverse Address Resolution Protocol), решающий обратную задачу — нахождение IP-адреса по известному локальному физическому адресу. RARP используется при старте тонких сетевых клиентов (бездисковых станций). Они при включении знают физический адрес своего сетевого адаптера, но не знают своего IP-адреса.