Ip адрес диапазон – IP адрес: что это такое, как расшифровывается и как выглядит уникальный адрес в интернете (ipv4)

Диапазоны IP-адресов для внутренних сетей 📶 Беспроводная сеть

Проектирование универсального устройства дистанционного управления Bluetooth (ДУ) состояло из трех основных фаз: разработки платформы

Здесь перечислены Bluetooth профили, которые являются существенными при проектировании универсального пульта дистанционного упраляния Bluetooth:

Каждое устройство дистанционного управления (ДУ), оснащенное Bluetooth технологией, может установить беспроводную связь с максимально

Число электронных устройств и соответствующих устройств дистанционного управления (ДУ) в обычном применении постоянно увеличивается.

При помощи технологии Bluetooth можно создать упрощенный вариант беспроводной сети. Во многих случаях пользователю

Сетевые адаптеры являются наиболее известными и популярными устройствами, использующими технологию Bluetooth. Наибольшее ко­личество моделей

Производители устройств снабжают свою продукцию различным про­граммным обеспечением. Одной из наиболее популярных программ является

Устройства с интерфейсом USB при первом подключении к компьютеру автоматически определяются системой. Далее происходит

Щелчок кнопкой мыши на ярлыке Bluetooth Places открывает соот­ветствующее окно, в котором можно не

Чтобы установить соединение с другим компьютером, оборудован­ным Bluetooth-устройством, необходимо первоначально провести поиск Bluetooth-устройств (Bluetooth

При подключении к другому (удаленному) компьютеру с помощью сервиса Personal Area Network данному компьютеру

Ныне люди не любят отрекаться от своих повседневных навыков коммуникации (коммуникации речью, электронной почты,

Частные IP-адреса, серые IP-адреса, публичные IP-адреса, белые IP-адреса. Bogon сети и адреса.

Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжаем изучать основы работы компьютерных сетей и протокол сетевого уровня IP, а если быть более точным, то его версию IPv4. В этой теме мы поговорим о специальных IP-адресах и их назначении. Более подробно остановимся на таких понятиях как: частный IP-адрес, серый IP-адрес, белый IP-адрес и публичный IP-адрес. Также мы немного разберемся с вопросом: откуда берутся IP-адреса и кто их выдает, но разговор будет поверхностным, так как юридические и формальные вопросы — это не совсем наша тема.

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

Оглавление первой части: «Основы взаимодействия в компьютерных сетях».

Оглавление четвертой части: «Сетевой уровень: протокол IP и его версия IPv4».

4.7.1 Введение

Содержание статьи:

Еще одна скучная тема, в которой придется что-то запоминать или делать шпаргалку, но разобраться с диапазонами частных и публичных IP-адресов следует, как минимум для того, чтобы знать где, что и когда следует использовать. Также стоит заметить, что помимо частных и публичных IP-адресов в протоколе IPv4 существует еще несколько специальных подсетей, адреса которых следует использовать только таким образом, как это сказано в специальных RFC, сейчас мы их только коротко опишем, а если будут темы, в которых мы будем использовать эти адреса, то разберемся более детально на практике.

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

4.7.2 Частные и серые IP-адреса, адреса, не маршрутизируемые в Интернете

Начнем мы разговор с частных IP-адресов, которые кто угодно и когда угодно может использовать в своих сетях для своих целей. Если сильно не умничать, то можно сказать, что частные IP-адреса – это такие адреса, которые не уникальны в пределах всего мира, но они должны быть уникальны в пределах локальной сети. Вообще, ниже мы перечислим все специальные IP-адреса, но сейчас стоит заметить, что специальные IP-адреса и их назначение описано в документе RFC 6890, а для частных адресов есть отдельный документ RFC 1918.

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

Сеть

Пояснение

10.0.0.0/8

Почти 17 млн. IP-адресов, которые можно использовать в своей локальной сети. Никаких особых рекомендаций для этой подсети нет.

100.64.0.0/10

Сеть на 4.194 млн. адресов, RFC 6598 рекомендует использовать эту сеть провайдерам, которые выпускают нас в Интернет. Если вы получаете от провайдера серый IP-адрес, то, скорее всего, он будет в этом диапазоне: от 100.64.0.1 до 100.127.255.254.

172.16.0.0/12

Немногим больше 1 млн. IP-адресов. Никаких особых рекомендаций для этой подсети нет.

192.168.0.0/16

Частная подсеть на 65 534 IP-адреса, без особых рекомендаций.

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

4.7.3 Публичные IP-адреса

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

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

4.7.4 Серые и белые IP-адреса

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

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

Рисунок 4.7.1 Схема, поясняющая про серые и белые IP-адреса

Рисунок 4.7.1 Схема, поясняющая про серые и белые IP-адреса

На нашем маршрутизаторе работает NAT, компьютеры на схеме – это наша маленькая сеть. Облако — это какая-то внешняя сеть, в которую компьютеры выходят через роутер, на котором работает NAT, то есть когда компьютер 192.168.1.2/24 отправляет пакет во внешнюю сеть, он отправляет его роутеру, роутер видит, что пакет пришел из-под IP-адреса 192.168.1.2 и что этот пакет нужно направить во внешнюю сеть, а значит ему нужно «перебить» этот адрес, на тот, который будет удобен устройствам во внешней сети, в данном случае это 192.168.8.1.

То есть в нашем случае серые IP-адреса – это подсеть 192.168.1.0/24, а белым IP-адресом является 192.168.8.1. Но постой, скажете вы, ведь 192.168.8.1 – это IP-адрес из частного диапазона, почему ты его называешь белым? Вот в этом и суть, NAT используется не только в тех случаях, когда вам нужно «перебить» IP-адреса из частного диапазона в публичный, другими словами «выйти» в Интернет, но и в ряде других ситуаций, в которых «белым» IP-адресом зачастую является частный адрес. Поэтому не совсем верно будет говорить, что белый IP-адрес – это публичный адрес, а серый IP – это частный адрес

.

Схема реализована в Cisco Packet Tracer, о том как установить и запустить Packet Tracer в Ubuntu, о том как установить Packet Tracer на Windows 10 и о том, как пользоваться Cisco Packet Tracer. Если непонятны условные обозначения на схеме, то в теме условные обозначения компьютерной сети, вы сможете найти описание.

4.7.5 Примерная схема получения IP-адреса. PI и PA IP-адреса

Для начала разберемся с вопросом: что такое PI и PA адреса? PI-адрес очень похож по написанию на IP-адрес, более того, PI адрес является публичным IP-адресом, но все дело в том, что это не просто IP-адрес, а провайдеронезависимый IP-адрес (PI – Provider Independed). Есть еще PA-адреса, сокращение от Provider Aggregatable, это публичные IP-адреса, которые вы можете получать от провайдеров и которые принадлежат провайдерам, если вы отключитесь от провайдера, то он у вас такой адрес заберет.

Если же у вас много денег и вы можете позволить себе купить PI-адрес, причем просто один IP-адрес вы не купите, вам придется покупать целую подсеть, размером где-то /23 (если вам непонятны слова подсеть и эта запись, то сперва рекомендую ознакомиться с публикациями классовые IP сети, а затем прочитать про CIDR, VLSM и маску подсети переменной длины), то эти PI-адреса будут всегда с вами, и никакой провайдер забрать у вас их не сможет, поэтому вы всегда сможете сменить провайдера, в довесок к PI-адресам вам выдадут номер автономной системы (ASN) и с этим все добром вам придется жить. Если вы захотите использовать PI-адреса, то уже не получится купить у провайдера «обычный интернет на скорости 100 Мбит/c», придется договариваться о BGP соединение, в этом случае ваш провайдер будет рассказывать всем остальным в мире, что он знает вашу сеть.

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

  1. Во главе всей этой схемы стоит организация, называемая ICANN (Internet Corporation for Assigned Names and Numbers) или корпорация по управлению доменными именами и IP-адресами, говорят, что она некоммерческая, но создана при участии правительства США, как понятно из названия, для поддержания порядка в хаосе Интернет-адресов, из названия также понятно, что у нее два основных направления, в которых можно вести некоммерческую деятельность.
  2. IANA (администрация адресного пространства Интернета), эта структура подчиняется непосредственно ICANN и занимается контролем IP-адресов во всем мире. В ее задачи входит распределять IP-адреса и номера AS между регионами планеты Земля. Но распределяет она не абы кому, а только конкретным организациям, которые являются главными в своем регионе, их называют RIR.
  3. RIR (региональная регистратура Интернета). У RIR можно запросить только очень крупный блок IP-адресов, также RIR выдает номера автономных систем и оформляет так называемых LIR. Всего в мире пять RIR: AfriNIC (Африка), RIPE NCC (Европа, Россия и Ближний восток), APNIC (Австралия и вся остальная Азия), ARIN (США и Канада), LACNIC (Южная Америка, Центральная Америка и Мексика). Кто угодно RIRом стать не может, его назначает IANA, RIRы не продают IP-адреса, они лишь регистрируют LIRы и решают конфликтные ситуации, если кто-то где-то накосячит, но LIRы платят своими RIRам членские взносы.
  4. LIR или локальный регистратор, к которому можно подкатить на хромой кобыле и купить несколько сотен PI-адресов. LIRом может стать любой желающий, платите только деньги, раньше чтобы стать LIR, нужно было взять 4096 IP-адресов. LIRы делятся на пять категорий, в зависимости от количества IP-адресов, которые у них есть: Extra Large, Large, Medium, Small и Extra Small. Категорию присваивает RIR.
  5. NIR есть только в некоторых странах, например, в Китае, N – национальный.

На Рисунке 4.7.2  показаны сферы влияния различных RIR.

Рисунок 4.7.2 Региональные интернет регистраторы

Рисунок 4.7.2 Региональные интернет регистраторы

Стоит сказать, что если вы не провайдеры или не крупный дата-центр, то за PI-адресами вам придется бежать в LIR или самому становится LIR, но если вы не провайдер и не дата-центр, то, вероятно, вам это не нужно.

4.7.6 Специальные IP-адреса

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

Сеть

Краткое описание

0.0.0.0/8

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

0.0.0.0/32

Такую подсеть может использовать узел в качестве IP-адреса источника, когда делает запрос к DHCP-серверу.

127.0.0.0/8

Одна из самых бесполезных специальных IP подсетей, так как для задачи, которую она решает, было бы достаточно одного IP-адреса с маской /32. Любой адрес из этой сети является циклическим, иногда такой адрес называют локальным хостом или localhost. Если вам нужно реализовать схему взаимодействия клиент-сервер на одном компьютере в одной операционной системе без виртуализации, то, вероятно, вам придется использовать IP-адрес из этой подсети. Когда машина делает запрос к адресу из этой подсети, она делает запрос сама к себе, при этом физическая сетевая карта не используется. Если вам нужно проверить работу сетевых библиотек своего компьютера, то используйте адрес из данной подсети. Часто адрес из подсети 127.0.0.0/8 называют loopback-адресом, он есть, он всегда доступен, но ни один физический интерфейс за ним не закреплен.

169.254.0.0/16

Адреса из этого диапазона иногда называют канальными адресами, хотя это не совсем правильно переведено, оригинал раскрывает суть: Link-Local Address. В протоколе IPv6 с Link-Local Address придется работать часто, в IPv4 не очень. Сеть 169.254.0.0/16 используется в тех случаях, когда компьютер настроен на получение IP-адреса от DHCP-сервера, но по каким-то причинам не может его получить, в этом случае узел сам себе назначает IP из этой подсети, в надежде, что какой-нибудь узел из этой подсети тоже назначит себе такой адрес. Механизм работы узлов в такой ситуации описан в RFC 3927.

192.0.0.0/24

IETF просто взял и забрал у нас эту подсеть, в RFC 6890 об этом сказано

192.0.0.0/29

Dual-Stack Lite (DS-Lite). Описано в RFC 6333. Когда мы будем говорить про IPv6 разберемся с этой подсетью.

192.0.0.170/32

Используется для NAT из IPv6 в IPv4 и обратно.

192.0.0.171/32

DNS64, опять же тема из IPv6 и мы ее не касаемся сейчас.

192.0.2.0/24 и 198.51.100.0/24

Можно использовать только для примеров в документации.

192.88.99.1/32

Этот IP-адрес может использовать кто и угодно. На него узлы отправляют пакеты, когда хотят попасть из сети IPv4 в сеть IPv6.

192.88.99.0/24

В IPv6 очень хорошо реализован механизм распространения пакетов anycast, а вот эта сеть является костыликом IPv4, позволяющим эмитировать этот самый anycast.

198.18.0.0/15

Можно использовать только для тестов на производительность каналов связи и компьютерной сети.

224.0.0.0/4

Эта сеть используется для многоадресной рассылки (multicast), при этом стоит учесть, что глобально маршрутизируемыми являются подсети 233.0.0.0/8 и 234.0.0.0/8, а часть блоков из общей подсети являются зарезервированными, если интересно, то RFC 5771.

240.0.0.0/4

Это примерно 1/16 IP-адресов из всего пула IPv4, которые никому и никогда не давали и, наверное, не дадут, так как эти адреса зарезервированы для экспериментов.

255.255.255.255/32

Этот адрес часто используют узлы настроенные по DHCP, когда делают запрос к DHCP серверу, указывая его в поле IP-адрес назначения IP пакета.

4.7.7 Выводы

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

Адресация, зарезервированные сетевые адреса, виды адресов.

Вы также можете скачать PDF версию этой шпаргалки, распечатать и пользоваться 😉

Здесь предствлено несколько таблиц, которые помогут вам делить сети на подсети.

Классовая адресация (classfull)
КлассПервые битыДиапазон сетиМаска сети
A01.0.0.0 – 126.0.0.0255.0.0.0
B10128.0.0.0 – 191.255.0.0255.255.0.0
C110192.0.0.0 – 223.255.255.0255.255.255.0
D1110224.0.0.0 – 239.255.255.255255.255.255.255
E11110240.0.0.0 – 247.255.255.255Зарезервировано
Зарезервированные (частные) диапазоны IP-адресов
10.0.0.0 – 10.255.255.255Зарезервированные (частные, внутренние, внутрисетевые, локальные, серые, неанонсированные) адреса не используются в сети Интернет и используются только в локальных сетях.
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255
Адреса обратной связи
127.0.0.0 – 127.255.255.255Предназначены для петлевых интерфейсов (localhost, loopback).
Адрес сети и адрес узла (хоста)
Адрес сетиАдрес хоста 
255.255.240.0 Маска в десятичном форматеМаска подсети соответствует префиксу /20
11111111.11111111.11110000.00000000Маска в двоичном формате
192.168.181.78 IP-адрес в десятичном форматеМаска делит IP-адрес на 2 порции: сети и адреса
11000000.10101000.10110101.01001110IP-адрес в двоичном формате
Зарезервированные специальные адреса
Шлюз по умолчанию (default gateway)В IP-адресе все нули
0.0.0.0 IP-адрес в десятичном формате
00000000.00000000.00000000.00000000IP-адрес в двоичном формате
Широковещательный адрес всех сетейВ IP-адресе все единицы
255.255.255.255 IP-адрес в десятичном формате
11111111.11111111.11111111.11111111IP-адрес в двоичном формате
Идентификатор сетиВ порции адреса хоста все нули
192.168.176.0 IP-адрес в десятичном формате
11000000.10101000.10110000.00000000IP-адрес в двоичном формате
Широковещательный адрес конкретной сетиВ порции адреса хоста все единицы
192.168.191.255 IP-адрес в десятичном формате
11000000.10101000.10111111.11111111IP-адрес в двоичном формате
Идентификатор хоста сети, которой он принадлежитВ порции адреса сети все нули
0.0.5.78 IP-адрес в десятичном формате
00000000.00000000.00000101.01001110IP-адрес в двоичном формате
Широковещательный адрес всем узлам текущей сетиВ порции адреса сети все единицы
255.255.245.78 IP-адрес в десятичном формате
11111111.11111111.11110101.01001110IP-адрес в двоичном формате
VLSM
VLSM – Переменная длина маски подсети (Variable Length Subnet Mask). VLSM позволяет разделять сети на подсети различного размера (т.е. у которых переменная длина маски).
CIDR
CIDR – Бесклассовая междоменная адрессация (Classless Inter-Domain Routing). CIDR позволяет агрегировать (суммировать) маршрутные записи. Другими словами, уменьшать количество записей хранящихся в таблице маршрутизатора и передаваемых другому маршрутизатору.
2827262524232221Степени двойки
256128643216842
21621521421321221121029
6553632768163848192409620481024512

ip адреса для локальных сетей

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

диапазон ip адресов для локальных сетей

NAT и ip адресация для локальной сети

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

Это обусловлено тем, что в «глобальной паутине» для передачи данных используется протокол версии 4 (IPv4), в котором адрес любого сетевого устройства представляет собой число из 32 бит.

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

Оптимальным решением проблемы станет использование для локальной сети динамических IP-адресов, за автоматическое распределение которых отвечает решающий протокол DHCP (Dynamic Host Configuration Protocol).

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

Для подключения локального компьютера к интернету используется технология NAT (Network Address Translation), которая внедрена на всех современных маршрутизаторах. Она преобразует локальный IP-адрес устройства в публичный т.е. тот, который используется в сети Интернет.

Глобальный IP-адрес компьютера должен быть уникальным: он присваивается только одному подключенному к мировой сети пользователю.

Какие ip адреса можно использовать в локальной сети?

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

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

Дело в том, что при подключении компьютеров из локальной сети к сети Интернет происходит автоматическая регистрация IP адресов через IANA — особую организацию, которая следит за распределением всех существующих имён и номеров (которые записаны в RFC).

Приведем рекомендованные диапазоны ip адресов для локальной сети:

 — 10.10.0.0 – 10.255.255.255 — сеть класса A, возможно до 16121856 различных адресов хостов.

 — 172.16.0.0 – 172.31.255.255 — группа 16-ти смежных сетей класса B, можно использовать до различных 1048576 адресов хостов.

 — 192.168.0.0 – 192.168.255.255 — группа 16-ти смежных сетей класса C, возможно до различных 65536 адресов хостов.

Кроме того, существуют петлевые интерфейсы, которые не используют обмен между узлами сети. Для них выделен интервал адресов 127.0.0.0 — 127.255.255.255

При этом выбор конкретного диапазона зависит только от размеров вашей локальной сети. Так, в домашних или других небольших сетях обычно используют диапазон адресов 192.168.0.1 -192.168.0.254, при котором можно подключать до 254 клиентов.

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

Как выбрать диапазон IP-адресов для домашней сети

Мы уже говорили, что для использования в локальных сетях выделено несколько диапазонов IP-адресов. Например, 192.168.1.0 – 192.168.1.255. Этого диапазона достаточно для подключения 253 устройств. Воспользуемся им, потому что вряд ли дома у вас будет большее число компьютеров. А дополнительный набор цифр вас еще больше запутает.

Все устройства обязательно должны находиться в одной сети, иначе они просто не смогут «увидеть» друг друга. Сеть точно так же, как и компьютер имеет свой IP-адрес. У нас это 192.168.1.0. Он не заносится ни в какие настройки, но он есть, и его нужно знать и понимать, что это такое. IP-адрес сети определяется маской подсети.

Маска подсети (в данном случае 255.255.255.0) показывает, что IP-адрес этой сети занимает первые три цифры IP-адреса (помните, мы уже говорили, что IP-адрес может состоять из четырех цифр, разделенных точками). Это значит, что когда вы будете назначать IP-адрес какому-либо устройству, менять эти три цифры нельзя (иначе устройство окажется в другой сети с другой маской и не увидит вашу сеть).

Кроме этого, та же маска показывает количество устройств, которые вы вообще можете подключить. Это количество ограничено количеством свободных IP-адресов в вашей сети. Маска 255.255.255.0 говорит нам, что первые три цифры IP-адреса (то есть 192.168.1) мы менять не можем. Значит, для назначения IP-адреса какому-нибудь нашему устройству мы можем воспользоваться только четвертой цифрой. Подошли еще к одной важной аксиоме.

Самая большая цифра в IP-адресе 255. (любая из четырех его составляющих) Так происходит потому, что для IP-адреса (в тех самых пакетах протокола TCP /IP) выделено 4 Байта памяти. А 1 Байт – это 8 бит. А один бит – это и есть тот самый нолик или единичка. Значит максимальная цифра в IP это 2⁸. Первые три байта заняты 192.168.1. Остается еще одна 2⁸, которую мы можем использовать в качестве IP-адреса для наших устройств, то есть 255 значимых цифр (без 0). Значит, в нашей сети мы можем «гулять» от адреса 192.168.1.0 до адреса 192.168.1.255 (не включительно). Все так, только с небольшими ограничениями.

Занятые IP. 192.168.1.0 – это адрес сети, чтобы наши устройства не запутались, так же как мы сейчас, этот адрес для назначения сетевым устройствам использовать нельзя. 192.168.1.0 — это IP-адрес вашей сети (у сетей тоже обязательно должен быть IP-адрес). Соответственно, если вы назначите его одному из ваших сетевых устройств, он потеряет свою уникальность. Далее один из адресов диапазона  обязательно присваивается роутеру (или маршрутизатору, или модему) (обычно 192.168.1.1 – но это не критически) и 192.168.1.255 тоже использовать нельзя. Позже напишу статью про Broadcast.

Диапазон IP для домашних сетей. 192.168.1.0 – это не придуманный мной случайный набор цифр. Это один из диапазонов IP, выделенный для использования в домашних и небольших офисных сетях. Небольших, потому что в такую сеть можно подключить до 253 устройств. Почему до 253? Потому что IP-адрес нашей сети 192.168.1.0, а маска — 255.255.255.0. Маска как бы «шаблон» максимального IP-адреса, который вы можете выбрать для своего устройства.

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

Как подключить устройство к сети

Итак. Знаниями мы уже более или менее вооружились, теперь настраиваем IP на наших устройствах. Для этого на первом компьютере идем в Панель управления→Центр управления сетями и общим доступом. Там слева выбираем «Изменение параметров адаптера». Это и есть настройки той самой сетевой платы-адаптера, который отвечает за сетевые соединения и за передачу данных. Их в этом окне может быть несколько: например для Wi-Fi и локальной сети. Включаете нужный (если выключен) и вызываете его свойства или кнопкой в окне или командой в контекстном меню. Далее выбираете «Протокол Интернета версии 4». В этом окне и вводите все те параметры, о которых мы с вами говорили в этой статье. Если у вас динамическая IP-адресация, то ставите галочку в получить IP-адрес автоматически. Все остальное сразу же станет неактивным. Если у вас статическая, тогда «Использовать следующий IP-адрес».

su9atdny

Заполняем все поля.

  1. IP-адрес. Это IP вашего устройства. Как мы уже говорили, он может быть в диапазоне от 192.168.1.1 до 192.168.1.254, но при этом не повторять ни IP роутера или модема, ни любого другого устройства в вашей сети. Так как роутер обычно имеет IP 192.168.1.1, то ставьте, допустим, 192.168.1.2. Ту же процедуру вы повторяете со всеми следующими подключаемыми устройствами. У них у всех должны быть абсолютно идентичные настройки, которые отличаются только IP-адресами.

  2. Маска подсети. О ней мы уже тоже говорили. Операционная система вам подскажет стандартный вариант 255.255.255.0. Менять его в домашней сети, по сути, нет никакого смысла. Только информации ради можно сказать одно — это не минимальная маска. Можно сделать и сеть, рассчитанную на гораздо меньшее количество устройств, но смысла особого в этом я не вижу. Разве что ускорение трафика на доли секунды. Может и займемся этим немного позже, когда будем глубже изучать операционную систему и все, что с ней связано. Маска сети тоже должна быть идентична для всех устройств.

  3. Основной шлюз. Это адрес вашего модема или роутера, по которому ваши устройства будут находить вход в интернет. С этого же адреса, соответственно, они будут получать основную долю трафика. Он, конечно, тоже должен быть одинаковый для всей вашей сети.

  4. DNS– сервера. Предпочитаемый и альтернативный. Их необходимо узнать у вашего провайдера. Иногда можно поставить и свои, например, от Google: предпочитаемый 8.8.8.8 и альтернативный 8.8.4.4. Сначала у меня так и было. Потом провайдер изменил настройки, соответственно, у меня пропал интернет. Я позвонила в техподдержку и узнала об этом их новшестве. Стало немного хуже.

Абсолютно аналогичным образом поступаете с каждым следующим устройством, которое вы будете подключать к своей сети. Кто знает, кто придет к вам в гости и с каким «умным» телефоном, или сколько ноутбуков-компьютеров-телефонов для себя или близких вы еще будете покупать.

Как подключить к домашней сети устройство с другой операционной системой

Точно также. Таким же образом к своей сети вы можете подключить любое устройство на базе Android, Linux или любой другой операционной системы. Настройки те же – могут немного отличаться названия. Например, в Android маска сети не 255.255.255.0 как в Windows, а 24 (3 цифры по 8 бит), что аналогично 255.255.255.0. Причем ОС на базе Linux сразу же увидит вашу Windows, но не наоборот. Устройство на Android (телефон или планшет) увидит Windows в своей сети, если вы установите на него любой файловый менеджер – они там все с сетевой поддержкой. Те же танцы с Windows XP. Они с 7 не совсем дружат.

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

Приведенные мной настройки – это не аксиома. Это наиболее стандартный вариант. Поэтому я и объясняла в первой части статьи все эти нюансы, чтобы вы, если у вас что-то не получается, могли хотя бы приблизительно представить, «где у вас собака зарыта». Не знаю, насколько понятно у меня получилось, но надеюсь, что смогла ответить хоть на какие-то ваши вопросы. Если что-то не так – в конце каждой статьи вы можете оставить комментарий или задать вопрос. Обещаю ответить в тот же день.

 

Поддержите проект

Друзья, сайт Netcloud каждый день развивается благодаря вашей поддержке. Мы планируем запустить новые рубрики статей, а также некоторые полезные сервисы. 

У вас есть возможность поддержать проект и внести любую сумму, которую посчитаете нужной.

Country IP v 1.0

Вставьте название страны в формате Alpha2 (?)



или выберите страну из списка ниже Выберите странуАвстралияАвстрияАзербайджанАлбанияАлжирАмериканское СамоаАнгильяАнголаАндорраАнтарктидаАнтигуа и БарбудаАргентинаАрменияАрубаАфганистанБагамыБангладешБарбадосБахрейнБеларусьБелизБельгияБенинБермудыБолгарияБоливия, Многонациональное ГосударствоБонайре, Саба и Синт-ЭстатиусБосния и ГерцеговинаБотсванаБразилияБританская территория в Индийском океанеБруней-ДаруссаламБуркина-ФасоБурундиБутанВануатуВенгрияВенесуэла Боливарианская РеспубликаВиргинские острова, БританскиеВиргинские острова, СШАВьетнамГабонГаитиГайанаГамбияГанаГваделупаГватемалаГвинеяГвинея-БисауГерманияГернсиГибралтарГондурасГонконгГренадаГренландияГрецияГрузияГуамДанияДжерсиДжибутиДоминикаДоминиканская РеспубликаЕгипетЗамбияЗападная СахараЗимбабвеИзраильИндияИндонезияИорданияИракИран, Исламская РеспубликаИрландияИсландияИспанияИталияЙеменКабо-ВердеКазахстанКамбоджаКамерунКанадаКатарКенияКипрКиргизияКирибатиКитайКокосовые (Килинг) островаКолумбияКоморыКонгоКонго, Демократическая РеспубликаКорея, Народно-Демократическая РеспубликаКорея, РеспубликаКоста-РикаКот д’ИвуарКубаКувейтКюрасаоЛаосЛатвияЛесотоЛиберияЛиванЛивийская Арабская ДжамахирияЛитваЛихтенштейнЛюксембургМаврикийМавританияМадагаскарМайоттаМакаоМалавиМалайзияМалиМалые Тихоокеанские отдаленные островаМальдивыМальтаМароккоМартиникаМаршалловы островаМексикаМикронезия, Федеративные ШтатыМозамбикМолдова, РеспубликаМонакоМонголияМонтсерратМьянмаНамибияНауруНепалНигерНигерияНидерландыНикарагуаНиуэНовая ЗеландияНовая КаледонияНорвегияОбъединенные Арабские ЭмиратыОманОстров БувеОстров МэнОстров НорфолкОстров РождестваОстров Херд и острова МакдональдОстрова КайманОстрова КукаОстрова Теркс и КайкосПакистанПалауПалестинская территорияПанамаПапский Престол (город Ватикан)Папуа-Новая ГвинеяПарагвайПеруПиткернПольшаПортугалияПуэрто-РикоРеспублика МакедонияРеюньонРоссияРуандаРумынияСамоаСан-МариноСан-Томе и ПринсипиСаудовская АравияСвазилендСвятая Елена, Остров вознесенияСеверные Марианские островаСейшелыСен-БартельмиСенегалСен-МартенСент-Винсент и ГренадиныСент-Китс и НевисСент-ЛюсияСент-Пьер и МикелонСербияСингапурСинт-МартенСирийская Арабская РеспубликаСловакияСловенияСоединенное КоролевствоСоединенные ШтатыСоломоновы островаСомалиСуданСуринамСьерра-ЛеонеТаджикистанТаиландТайвань (Китай)Танзания, Объединенная РеспубликаТимор-ЛестеТогоТокелауТонгаТринидад и ТобагоТувалуТунисТуркменияТурцияУгандаУзбекистанУкраинаУоллис и ФутунаУругвайФарерские островаФиджиФилиппиныФинляндияФолклендские острова (Мальвинские)ФранцияФранцузская ГвианаФранцузская ПолинезияФранцузские Южные территорииХорватияЦентрально-Африканская РеспубликаЧадЧерногорияЧешская РеспубликаЧилиШвейцарияШвецияШпицберген и Ян МайенШри-ЛанкаЭквадорЭкваториальная ГвинеяЭландские островаЭль-СальвадорЭритреяЭстонияЭфиопияЮжная АфрикаЮжная Джорджия и Сандвичевы островаЮжная ОсетияЮжный СуданЯмайкаЯпония

Диапазон ip региона uy


45.6.248.0-45.6.251.255 45.6.252.0-45.6.255.255 45.228.64.0-45.228.67.255 131.0.212.0-131.0.215.255 138.59.12.0-138.59.15.255 138.99.44.0-138.99.47.255 152.156.0.0-152.156.255.255 161.0.120.0-161.0.127.255 164.73.0.0-164.73.255.255 167.56.0.0-167.63.255.255 167.108.0.0-167.108.255.255 167.116.0.0-167.116.255.255 168.121.184.0-168.121.187.255 170.247.168.0-170.247.171.255 179.0.156.0-179.0.159.255 179.24.0.0-179.31.255.255 186.8.0.0-186.8.63.255 186.8.64.0-186.8.127.255 186.8.128.0-186.8.255.255 186.48.0.0-186.51.255.255 186.52.0.0-186.55.255.255 190.0.128.0-190.0.159.255 190.64.0.0-190.64.127.255 190.64.128.0-190.64.255.255 190.99.96.0-190.99.111.255 190.108.0.0-190.108.31.255 190.112.52.0-190.112.55.255 190.112.192.0-190.112.195.255 190.112.200.0-190.112.203.255 190.132.0.0-190.132.255.255 190.133.0.0-190.133.255.255 190.134.0.0-190.135.255.255 192.146.237.0-192.146.237.255 200.0.68.0-200.0.69.255 200.0.86.0-200.0.87.255 200.0.88.0-200.0.88.255 200.0.204.0-200.0.207.255 200.2.32.0-200.2.63.255 200.3.12.0-200.3.15.255 200.7.84.0-200.7.85.255 200.7.86.0-200.7.87.255 200.10.60.0-200.10.61.255 200.10.62.0-200.10.63.255 200.12.155.0-200.12.155.255 200.12.156.0-200.12.156.255 200.35.152.0-200.35.155.255 200.40.0.0-200.40.127.255 200.40.128.0-200.40.191.255 200.40.192.0-200.40.223.255 200.40.224.0-200.40.239.255 200.40.240.0-200.40.255.255 200.58.128.0-200.58.143.255 200.58.144.0-200.58.159.255 200.71.0.0-200.71.15.255 200.71.16.0-200.71.31.255 200.93.240.0-200.93.240.255 200.93.241.0-200.93.241.255 200.93.242.0-200.93.242.255 200.93.243.0-200.93.243.255 200.93.244.0-200.93.244.255 200.93.245.0-200.93.245.255 200.93.246.0-200.93.246.255 200.93.247.0-200.93.247.255 200.108.192.0-200.108.223.255 200.108.224.0-200.108.239.255 200.108.240.0-200.108.255.255 200.115.72.0-200.115.79.255 200.124.192.0-200.124.207.255 200.124.208.0-200.124.223.255 200.125.0.0-200.125.15.255 200.125.16.0-200.125.31.255 200.125.32.0-200.125.47.255 200.125.48.0-200.125.63.255 201.217.128.0-201.217.159.255 201.217.160.0-201.217.191.255 201.219.224.0-201.219.231.255 201.219.252.0-201.219.255.255 201.221.0.0-201.221.15.255 201.221.16.0-201.221.31.255 201.221.32.0-201.221.47.255 201.221.48.0-201.221.63.255
Всего хорошего:)
posle.info

Конвертируем диапазон IP в бесклассовую адресацию (CIDR) и обратно в Go / Habr

При прохождения очередного собеседования мне задали небольшое тестовое задание, написать на Go сетевой сканер открытых портов. Задание в принципе не сложное, но одним из условий было, что в качестве параметра может быть передан как IP-адрес, так и диапазон сетевых адресов в виде сетевой маски: 192.168.8.0/21.

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

Немного теории, но тем, кто уже знаком с терминами можно пропустить и сразу перейти к алгоритму.

И так, что такое IP я думаю всем понятно и пояснять не нужно. Теперь что такое CIDR (или сетевая маска). Представим, что у нас есть IP: «192.168.11.10». На самом деле это 8-битовые значения разделенные точками, и каждая отдельная часть это так называемый октет. Понятно, что IP можно представить в виде 32-битового числа.

Именно такое число и передается в IP-пакете. Теперь давайте представим, что у нас есть подсеть состоящая из 8 хостов — 192.168.11.0 до 192.168.11.7 (Note: 192.168.11.0 нельзя использовать в качестве адреса какого-либо сетевого интерфейса, так как этот адрес используется как идентификатор подсети, поэтому фактически адресов будет 7, но для нашего пример это пока не имеет значения.)
Понятно, что подсетей может быть несколько в рамках одном большой сети и отправлять пакет внутри своей подсети нужно напрямую, а скажем если пакет нужно направить в другую подсеть допусти на IP: 192.168.11.22, то его нужно направить сетевому маршрутизатору, который перенаправить этот пакет в другую подсеть. Хранить на хосте отправителе все адреса своей подсети накладно и бессмысленно, поэтому мы просто храним сетевую маску и для выше обозначенной сети из 8 хостов она будет равна — 255.255.255.248. Теперь если разложить сетевую маску на биты — получим 29 единиц и 3 нулей.

Маска подсети никогда не может перемешивать “1” и “0”, поэтому всегда сначала идет последовательность “1”, а потом последовательность “0”. Теперь диапазон выше обозначенных адресов 192.168.11.0 до 192.168.11.7, можно представить как <IP адрес подсети>/<Маска подсети>, т.e. 192.168.11.0/29. Это и есть бесклассовая адресация или Classless Inter-Domain Routing (CIDR) и в этой компактной форме можно представить любой диапазон IP адресов. Относительно правильного разбиения на подсети и маршрутизации имеет смысл обратиться к специализированной литературе и не является целью данной статьи — я надеюсь меня простят сетевые администраторы.

И так сам алгоритм c комментариями приведен ниже. Сразу скажу, что для диапазона 216.58.192.12 — 216.58.192.206, нет возможности разбить на одну подсеть и алгоритм сразу разобьет диапазон на несколько подсетей:
{
«216.58.192.12/30»,
«216.58.192.16/28»,
«216.58.192.32/27»,
«216.58.192.64/26»,
«216.58.192.128/26»,
«216.58.192.192/29»,
«216.58.192.200/30»,
«216.58.192.204/31»,
«216.58.192.206/32”
}

Convert IPv4 range into CIDR
// Convert IPv4 range into CIDR
func iPv4RangeToCIDR(ipStart string, ipEnd string) (CIDRs []string, err error) {

  cidr2mask := []uint32{
     0x00000000, 0x80000000, 0xC0000000,
     0xE0000000, 0xF0000000, 0xF8000000,
     0xFC000000, 0xFE000000, 0xFF000000,
     0xFF800000, 0xFFC00000, 0xFFE00000,
     0xFFF00000, 0xFFF80000, 0xFFFC0000,
     0xFFFE0000, 0xFFFF0000, 0xFFFF8000,
     0xFFFFC000, 0xFFFFE000, 0xFFFFF000,
     0xFFFFF800, 0xFFFFFC00, 0xFFFFFE00,
     0xFFFFFF00, 0xFFFFFF80, 0xFFFFFFC0,
     0xFFFFFFE0, 0xFFFFFFF0, 0xFFFFFFF8,
     0xFFFFFFFC, 0xFFFFFFFE, 0xFFFFFFFF,
  }
 
// Переведем IP в беззнаковые целые числа. 
  ipStartUint32 := iPv4ToUint32(ipStart)
  ipEndUint32 := iPv4ToUint32(ipEnd)

// Если диапазон задан неверно, просто вернем ошибку.
  if ipStartUint32 > ipEndUint32 {
     log.Fatalf("start IP:%s must be less than end IP:%s", ipStart, ipEnd)
  }

  for ipEndUint32 >= ipStartUint32 {
     maxSize := 32

// Определим максимальную маску подсети доступную для текущего IP адреса. 
     for maxSize > 0 {
        maskedBase := ipStartUint32 & cidr2mask[maxSize - 1]

        if maskedBase != ipStartUint32 {
           break
        }
        maxSize--
     }

// Проверим, если маска превышает диапазон указанный в конечном IP адресе. И если превышает, проведем коррекцию. 
     x := math.Log(float64(ipEndUint32 - ipStartUint32 + 1)) / math.Log(2)
     maxDiff := 32 - int(math.Floor(x))
     if maxSize < maxDiff {
        maxSize = maxDiff
     }

// Сохраним CIDR 
  CIDRs = append(CIDRs,  uInt32ToIPv4(ipStartUint32) + "/" +  strconv.Itoa(maxSize))

// Увеличим диапазон на размерность подсети и повторим цикл. 
     ipStartUint32 += uint32(math.Exp2(float64(32 - maxSize)))
  }
  return CIDRs, err
}

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

Convert CIDR to IPv4 range
// Convert CIDR to IPv4 range
func CIDRRangeToIPv4Range(CIDRs []string) (ipStart string, ipEnd string, err error) {
  var ip uint32        // ip address
  var ipS uint32     // Start IP address range
  var ipE uint32         // End IP address range

  for _, CIDR := range CIDRs {
     cidrParts := strings.Split(CIDR, "/")

     ip = iPv4ToUint32(cidrParts[0])
     bits, _ := strconv.ParseUint(cidrParts[1], 10, 32)

     if ipS == 0 || ipS > ip {
        ipS = ip
     }

     ip = ip | (0xFFFFFFFF >> bits)

     if ipE < ip {
        ipE = ip
     }
  }

  ipStart = uInt32ToIPv4(ipS)
  ipEnd = uInt32ToIPv4(ipE)

  return ipStart, ipEnd, err
}

Note: только для Go разработчиков: алгоритм можно сделать еще более производительным, если возвращать данные в формате — (IP, *IPNet, error), но для универсальности я возвращаю данные как string.

Код сетевого сканера лежит тут: GitHub. Если поставите звездочку, буду благодарен, но только, если я ее заслужил :))

Ссылки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *