IP-адреса общего пользования и частные адреса
Все IP-адреса можно разделить на две группы - адреса общего пользования и частные.
Адреса общего пользования (public) – это те адреса, по которым любой компьютер, соединённый с Интернетом, может получить доступ к веб-сайту.
IANA назначает диапазоны IP-адресов общего пользования для организаций, чтобы те впоследствии могли присваивать эти адреса индивидуальным компьютерам. Это предохраняет организации от использования одних и тех же IP-адресов общего пользования.
Частные (private) адреса используются только в рамках локальной сети. Их использование позволяет различным локальным сетям использовать одни и те же IP-адреса.
Это возможно, потому что IANA резервирует для частного использования три блока IP-адресов:
• С 10.0.0.0 по 10.255.255.255. Блок 10 – это один сетевой номер класса А.
• С 172.16.0.0 по 172.31.255.255. Блок 172 – это 16 сетевых номеров класса В.
• С 192.168.0.0 по 192.168.255.255. Блок 192 – это 256 сетевых номеров класса С.
Не существует официальных правил, когда использовать один из перечисленных блоков частных сетевых IP-адресов. Обычно используют тот, который больше подходит по размеру.
Адреса, входящие в эти диапазоны, вычеркнуты из таблиц глобальной маршрутизации Интернета. Если кто-то, находящийся за пределами локальной сети, запросит или передаст информацию на адрес, например, 192.168.0.4, то ему будет отказано: этот адрес не является глобально маршрутизируемым.
Для того чтобы узлы с частными адресами могли через Интернет связываться между собой или с узлами, имеющими глобальные адреса, необходимо использовать технологию трансляции сетевых адресов (Network Address Translation, NAT).
Это осуществляется через так называемые NAT-маршрутизаторы, которые, получая пакеты от узлов обслуживаемой сети, заменяют указанный адрес на уникальный IP-адрес и транслируют дальше пакеты. Уникальность компьютеров во внутренней сети обеспечивается за счёт номеров портов, идентифицирующих соединение. В NAT-маршрутизаторе ведётся специальная таблица, предназначенная для преобразования сетевых адресов.
Одной из наиболее популярных причин использования технологии NAT является дефицит IP-адресов. Если по каким-либо причинам предприятию, у которого имеется потребность подключения к Интернету, не удаётся получить у поставщика услуг необходимого количества глобальных IP-адресов, то оно может прибегнуть к технологии NAT.
Потребность в трансляции IP-адресов возникает и тогда, когда предприятие из соображений безопасности желает скрыть адреса узлов своей сети, чтобы не дать возможности злоумышленникам составить представление о структуре и масштабах своей сети, а также о структуре и интенсивности исходящего и входящего трафиков.
Бесклассовая модель (CIDR)
Предположим, в локальной сети, подключаемой к Интернет, находится 2000 компьютеров. Каждому из них требуется выдать IP–адрес. Для получения необходимого адресного пространства нужны либо 8 сетей класса C, либо одна сеть класса В. Сеть класса В вмещает 65534 адреса, что много больше требуемого количества. При общем дефиците IP–адресов такое использование сетей класса В расточительно. Однако если мы будем использовать 8 сетей класса С, возникнет следующая проблема: каждая такая IP–сеть должна быть представлена отдельной строкой в таблицах маршрутов на маршрутизаторах, потому что с точки зрения маршрутизаторов — это 8 абсолютно никак не связанных между собой сетей, маршрутизация дейтаграмм в которые осуществляется независимо, хотя фактически эти IP–сети и расположены в одной физической локальной сети и маршруты к ним идентичны. Таким образом, экономя адресное пространство, мы многократно увеличиваем служебный трафик в сети и затраты по поддержанию и обработке маршрутных таблиц.
С другой стороны, нет никаких формальных причин проводить границу сеть–хост в IP–адресе именно по границе октета. Это было сделано исключительно для удобства представления IP–адресов и разбиения их на классы. Если выбрать длину сетевой части в 21 бит, а на номер хоста отвести, соответственно, 11 бит, мы получим сеть, адресное пространство которой содержит 2046 IP–адресов, что максимально точно соответствует поставленному требованию. Это будет одна сеть, определяемая своим уникальным 21–битным номером, следовательно, для ее обслуживания потребуется только одна запись в таблице маршрутов.
Единственная проблема, которую осталось решить: как определить, что на сетевую часть отведен 21 бит? В случае классовой модели старшие биты IP–адреса определяли принадлежность этого адреса к тому или иному классу и, следовательно, количество бит, отведенных на номер сети.
В случае адресации вне классов, с произвольным положением границы сеть–хост внутри IP–адреса, к IP–адресу прилагается 32–битовая маска, которую называют маской сети (netmask) или маской подсети (subnet mask). Сетевая маска конструируется по следующему правилу:
• на позициях, соответствующих номеру сети, биты установлены;
• на позициях, соответствующих номеру хоста, биты сброшены.
Описанная выше модель адресации называется бесклассовой (CIDR) – Classless Internet Direct Routing, прямая бесклассовая маршрутизация в Интернет). В настоящее время классовая модель считается устаревшей и маршрутизация и (большей частью) выдача блоков IP–адресов осуществляются по модели CIDR, хотя классы сетей еще прочно удерживаются в терминологии.
Запись адресов в бесклассовой модели. Для удобства записи IP–адрес в модели CIDR часто представляется в виде a.b.c.d / n, где a.b.c.d — IP адрес, n — количество бит в сетевой части.
Пример: 137.158.128.0/17.
Маска сети для этого адреса: 17 единиц (сетевая часть), за ними 15 нулей (хостовая часть), что в октетном представлении равно
11111111.11111111.10000000.00000000 = 255.255.128.0.
Представив IP–адрес в двоичном виде и побитно умножив его на маску сети, мы получим номер сети (все нули в хостовой части). Номер хоста в этой сети мы можем получить, побитно умножив IP–адрес на инвертированную маску сети.
Пример: IP = 205.37.193.134/26 или, что то же,
IP = 205.37.193.134 netmask = 255.255.255.192.
Распишем в двоичном виде:
IP = 11001101 001001011100011110000110 маска = 11111111111111111111111111000000
Умножив побитно, получаем номер сети (в хостовой части – нули):
network = 11001101 00100101 11000111 10000000 или, в октетном представлении, 205.37.193.128/26, или, что тоже, 205.37.193.128 netmask 255.255.255.192.
Хостовая часть рассматриваемого IP адреса равна 000110, или 6. Таким образом, 205.37.193.134/26 адресует хост номер 6 в сети 205.37.193.128/26. В классовой модели адрес 205.37.193.134 определял бы хост 134 в сети класса С 205.37.193.0, однако указание маски сети (или количества бит в сетевой части) однозначно определяет принадлежность адреса к бесклассовой модели.
Очевидно, что сети классов А, В, С в бесклассовой модели представляются при помощи масок, соответственно, 255.0.0.0 (или /8), 255.255.0.0 (или /16) и 255.255.255.0 (или /24).
Задание на практическую работу
1. Дан IP адрес и маска (Таблица 4).
2. Дайте определение маски. Запишите альтернативный формат записи маски.
3. Определите максимально возможное число хостов в вашей подсети.
4. Определите номер сети и номер узла по системе классов и с использованием маски.
5. Определите IP-адреса подсетей (2 подсети, 4 подсети, 8 подсетей).
6. Сформулируйте вывод по практической работе.
7. Составьте отчет о проделанной работе.
Таблица 4 – Задание на практическую работу по вариантам
Вариант IP адрес Маска
1 172.12.0.65 255.255.255.128
2 172.19.10.12 255.255.255.192
3 129.12.41.6 255.255.255.224
4 152.55.20.84 255.255.255.128
5 161.22.9.16 255.255.255.192
6 89.124.165.83 255.255.255.224
7 170.45.83.129 255.255.255.128
8 182.72.96.148 255.255.255.192
9 189.89.24 4.40 255.255.255.224
10 173.11.2.6 255.255.255.128
Контрольные вопросы
1. Что такое маска подсети?
2. Чему равно максимальное значение октета в маске?
3. Что такое supernetting?
4. Что такое subnetting?
5. Как выбирать маску при supernetting?
6. Как выбирать маску при subnetting?
7. Чему равна маска для сетей класса A?
8. Чему равна маска для сетей класса B?
9. Чему равна маска для сетей класса C?
10. Перечислите частные адреса для известных классов сетей?
11. Что такое общий IP адрес?