Ip адрес, подсети, маски


Содержание

IPv4 калькулятор подсетей

Параметр Десятичная запись Шестнадцатеричная запись Двоичная запись
IP адрес 188.64.174.135 BC.40.AE.87 10111100.01000000.10101110.10000111
Префикс маски подсети /24
Маска подсети 255.255.255.0 FF.FF.FF.00 11111111.11111111.11111111.00000000
Обратная маска подсети (wildcard mask) 0.0.0.255 00.00.00.FF 00000000.00000000.00000000.11111111
IP адрес сети 188.64.174.0 BC.40.AE.00 10111100.01000000.10101110.00000000
Широковещательный адрес 188.64.174.255 BC.40.AE.FF 10111100.01000000.10101110.11111111
IP адрес первого хоста 188.64.174.1 BC.40.AE.01 10111100.01000000.10101110.00000001
IP адрес последнего хоста 188.64.174.254 BC.40.AE.FE 10111100.01000000.10101110.11111110
Количество доступных адресов 256
Количество рабочих адресов для хостов 254

Познавательное о IPv4 .

IPv4 (англ. Internet Protocol version 4) — четвёртая версия интернет протокола (IP). Первая широко используемая версия. Протокол описан в RFC 791 (сентябрь 1981 года), заменившем RFC 760 (январь 1980 года).

IPv4 использует 32-битные (четырёхбайтные) адреса, ограничивающие адресное пространство 4 294 967 296 (2 32 ) возможными уникальными адресами.

Традиционной формой записи IPv4 адреса является запись в виде четырёх десятичных чисел (от 0 до 255), разделённых точками. Через дробь указывается длина маски подсети.

IP-адрес состоит из двух частей: номера сети и номера узла. В случае изолированной сети её адрес может быть выбран администратором из специально зарезервированных для таких сетей блоков адресов (10.0.0.0/8, 172.16.0.0/12 или 192.168.0.0/16). Если же сеть должна работать как составная часть Интернета, то адрес сети выдаётся провайдером либо региональным интернет-регистратором (Regional Internet Registry, RIR). Согласно данным на сайте IANA, существует пять RIR: ARIN, обслуживающий Северную Америку, а также Багамы, Пуэрто-Рико и Ямайку; APNIC, обслуживающий страны Южной, Восточной и Юго-Восточной Азии, а также Австралии и Океании; AfriNIC, обслуживающий страны Африки; LACNIC, обслуживающий страны Южной Америки и бассейна Карибского моря; и RIPE NCC, обслуживающий Европу, Центральную Азию, Ближний Восток. Региональные регистраторы получают номера автономных систем и большие блоки адресов у IANA, а затем выдают номера автономных систем и блоки адресов меньшего размера локальным интернет-регистраторам (Local Internet Registries, LIR), обычно являющимся крупными провайдерами. Номер узла в протоколе IP назначается независимо от локального адреса узла. Маршрутизатор по определению входит сразу в несколько сетей. Поэтому каждый порт маршрутизатора имеет собственный IP-адрес. Конечный узел также может входить в несколько IP-сетей. В этом случае компьютер должен иметь несколько IP-адресов, по числу сетевых связей. Таким образом, IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.

Есть два способа определения того, сколько бит отводится на маску подсети, а сколько — на IP-адрес. Изначально использовалась классовая адресация (INET), но со второй половины 90-х годов XX века она была вытеснена бесклассовой адресацией (CIDR), при которой количество адресов в сети определяется маской подсети.

Иногда встречается запись IP-адресов вида «192.168.5.0/24». Данный вид записи заменяет собой указание диапазона IP-адресов. Число после косой черты означает количество единичных разрядов в маске подсети. Для приведённого примера маска подсети будет иметь двоичный вид 11111111 11111111 11111111 00000000 или то же самое в десятичном виде: «255.255.255.0». 24 разряда IP-адреса отводятся под номер сети, а остальные 32-24=8 разрядов полного адреса — под адреса хостов этой сети, адрес этой сети и широковещательный адрес этой сети. Итого, 192.168.5.0/24 означает диапазон адресов хостов от 192.168.5.1 до 192.168.5.254, а также 192.168.5.0 — адрес сети и 192.168.5.255 — широковещательный адрес сети. Для вычисления адреса сети и широковещательного адреса сети используются формулы:

  • адрес сети = IP.любого_компьютера_этой_сети AND MASK (адрес сети позволяет определить, что компьютеры в одной сети)
  • широковещательный адрес сети = IP.любого_компьютера_этой_сети OR NOT(MASK) (широковещательный адрес сети воспринимается всеми компьютерами сети как дополнительный свой адрес, то есть пакет на этот адрес получат все хосты сети как адресованные лично им. Если на сетевой интерфейс хоста, который не является маршрутизатором пакетов, попадёт пакет, адресованный не ему, то он будет отброшен).

Запись IP-адресов с указанием через слэш маски подсети переменной длины также называют CIDR-адресом в противоположность обычной записи без указания маски, в операционных системах типа UNIX также именуемой INET-адресом.

В протоколе IP существует несколько соглашений об особой интерпретации IP-адресов: если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast). Если в поле номера узла назначения стоят только единицы, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером сети. Например, в сети 192.168.5.0 с маской 255.255.255.0 пакет с адресом 192.168.5.255 доставляется всем узлам этой сети. Такая рассылка называется широковещательным сообщением (direct broadcast).

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

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

Для получения IP-адреса клиент может использовать один из следующих протоколов:

  • DHCP (RFC 2131) — наиболее распространённый протокол настройки сетевых параметров.
  • BOOTP (RFC 951) — простой протокол настройки сетевого адреса, обычно используется для бездисковых станций.
  • IPCP (RFC 1332) в рамках протокола PPP (RFC 1661).
  • Zeroconf (RFC 3927) — протокол настройки сетевого адреса, определения имени, поиск служб.
  • RARP (RFC 903) Устаревший протокол, использующий обратную логику (из аппаратного адреса — в логический) популярного и поныне в широковещательных сетях протокола ARP. Не поддерживает распространения информации о длине маски (не поддерживает VLSM).

Адреса, используемые в локальных сетях, относят к частным. К частным относятся IP-адреса из следующих сетей:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

Также для внутреннего использования:

  • 127.0.0.0/8 — используется для коммуникаций внутри хоста.
  • 169.254.0.0/16 — используется для автоматической настройки сетевого интерфейса в случае отсутствия DHCP (за исключением первой и последней /24 подсети).

Полный список описания сетей для IPv4 представлен в RFC 6890.

Ip адрес, подсети, маски

Wikimedia Foundation . 2010 .

Смотреть что такое «Маска подсети» в других словарях:

Маска — получить на Академике рабочий купон на скидку Элизэ или выгодно маска купить с бесплатной доставкой на распродаже в Элизэ

МАСКА ПОДСЕТИ — 32 битовое число (константа), которое показывает диапазон IP адресов, находящихся в одной подсети. Она определяет, какая часть IP адреса сетевого узла относится к адресу самой сети, а какая часть к адресу узла в этой сети. Таким образом, маска… … Словарь бизнес-терминов

маска подсети — Шаблон или фильтр, используемый по отношению к адресу Internet для идентификации узлов отдельной подсети. Биты, имеющие значение 1 в маске подсети показывают значимые биты в адресе подсети, а биты, имеющие значение 0 , указывают на биты адреса,… … Справочник технического переводчика

Маска (значения) — Маска: В Викисловаре есть статья «маска» Маска предмет, накладка на лицо, который надевается, чтобы не быть узнанным либо для защиты лица … Википедия

Маска сети — В терминологии сетей TCP/IP маской подсети или маской сети называется битовая маска, определяющая, какая часть IP адреса узла сети относится к адресу сети, а какая к адресу самого узла в этой сети. Например, узел с IP адресом 12.34.56.78 и маской … Википедия

Маска адреса — двоичное выражение, используемое для определения, какие биты в IP адресе соответствуют адресу сети или подсети. По английски: Address mask См. также: IP адреса Финансовый словарь Финам … Финансовый словарь

маска адреса — Шаблон, с помощью которого осуществляется обработка сетевых адресов, в частности, фильтрация, позволяющая выделить диапазон адресов подсети крупной сети. [Л.М. Невдяев. Телекоммуникационные технологии. Англо русский толковый словарь справочник.… … Справочник технического переводчика

Битовая маска — Битовая маска определённые данные, которые используются для маскирования выбора отдельных битов или полей из нескольких битов из двоичной строки или числа. Применение Например, для получения значения пятого бита (считая слева) числа… … Википедия

адресная маска — Битовая маска, используемая для выбора битов из адреса IP для адресации подсети. Маска имеет размер 32 бита и выделяет адреса IP сети и один или несколько битов адреса хоста. Иногда называется маской подсети. … … Справочник технического переводчика

DHCP — Не следует путать с HDCP. DHCP Название: Dynamic Host Configuration Protocol Уровень (по модели OSI): Прикладной[источник не указан 24 дня] Семейство: TCP/IP Создан в: 1990 г. Порт/ >Википедия

Частный IP-адрес — Частный IP адрес[1][2] (англ. private IP address), также называемый внутренним, внутрисетевым, локальным или «серым» IP адрес, принадлежащий к специальному диапазону, не используемому в сети Интернет. Такие адреса предназначены для… … Википедия

Маска подсети — что это такое в деталях

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

Давайте закроем этот пробел знаний в работе сети и интернета в целом и выясним, что это такое и зачем она в принципе нужна. Информация будет изложена самым доступным и понятным языком.

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

Что такое маска подсети

Маска подсети (network mask, subnet mask) — это битовая маска (bitmask), которая используется для определения к какой подсети принадлежит определенный ИП адрес. Она не отправляется в заголовках IP-пакетов, т.е. не является ее частью, поэтому по айпи узнать ее просто никак нельзя.

Как и IP-адрес в IPv4 имеет размер в 32-бита. В двоичном формате, ноли и единицы не должны в ней чередоваться, так вначале всегда идут единички, а уже потом ноли.

Чаще всего пишется префиксом, например, 192.168.11.4/19. Посчитать префикс довольно легко, например, у 255.255.224.000, префикс будет — 19. Посчитайте просто все первые единички в двоичном формате.

Также, можно посчитать и в обратную сторону. Напишите столько единичек и сколько нужно, например, 15, потом допишите 17 нолей, чтобы получилось 32 и переведите это в десятичный формат, получится: 255.254.000.000. Не забывайте, после каждой 8 цифры ставить точку.

Интересно! Как и протокол IPv4 маска сети состоит тоже из 32 бит. И для запоминания, протокол IPv6 состоит из 128 бит.

Сам префикс означает вот что, например, возьмем префикс 20, это означает, что из 32 бит, 20 будут хранить информацию о самой сети, а 12 уже информацию о хосте. Посчитаем сколько это возможных IP адресов. 220 — 2 = 4 094. Убираем два адреса, т.к. они всегда зарезервированы под свои цели.

Для чего нужна маска сети

Она позволяет определить, кто находится с вами в одной (под)сети, а кто не в ней. Компьютеры, находящиеся внутри одной сети, обмениваются данными между собой напрямую, например, в локальной. Но если нужно выйти в глобальную паутину, то запрос идет уже через роутер — шлюз по умолчанию.

Она позволяет понять сеть нахождения IP-адреса, к примеру, адрес 193.150.14.87 и с маской 255.255.255.0 располагается в сети 193.150.14.0/24.

Рассчитывается это так: Используется функция поразрядной конъюнкции (побитовое И). Это просто, переводим все в бинарную/двоичную систему счисления. Ставим ИП-адрес и маску подсети друг над другом и считаем поочередно сверху и снизу. Если единички совпадают — то ставим 1, если есть хотя бы один ноль, то ставим 0. Потом переводим назад в десятичную и смотрим результат. Вот пример.

193.150.14.0/24 предполагает 256 айпи и как мы помним 2 мы от них убираем, т.к. они зарезервированы, остается 254.

Важно! Главное не ошибиться в расчетах и вообще указать ее правильно, так, например, если вы укажите 0.0.0.0 — то компьютер будет считать абсолютно все адреса локальными и даже не будет пытаться соединится с внешним интернетом. Это же работает и в обратную сторону — укажите не правильный префикс, то компьютер будет считать другой хост, который по сути находится с ним же в связке — внешним, и будет пытаться подключиться к нему через сетевой шлюз.

Как вычислить маску подсети для определенного количества ПК

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

Например, нам нужно выделить 30 IP-адресов для компьютеров в определенной фирме. Вычисляется все так: 28 — 30 — 2 = 256 — 30 — 2 = 224. Т.е. у нас получается: 255.255.255.224. Естественно для этих целей мы берем сеть класса C. Так, вы можете рассчитать ее для любого количества компьютеров.

Интересно! Также, с помощью нее можно разбивать большие сетки на несколько более маленьких. Это очень удобно, особенно в больших корпорациях.

В заключение

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

Что такое маска подсети? IP-адрес и маска подсети


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

Маска подсети, шлюз и адрес…

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

Несколько слов об IP-адресах

Прежде чем нырять в дебри и объяснять, что такое маска подсети, следует вспомнить о том, что такое IP-адрес: что значат входящие в него цифры и какие значения они могут принимать. Заранее оговорим один момент: вся информация в этой статье будет касаться протокола IPv4, так как именно он на сегодняшний день все еще остается самым «ходовым».

О локальных адресах

Для чего служит маска подсети?

Итак, мы вплотную подобрались к вопросу о том, что такое маска подсети. Фактически это краткая справка о том, какие компьютеры находятся в одной сети с вашим, а какие требуют шлюз для соединения. Маска – некий шаблон, накладываемый компьютером на IP-адрес, с которым он хочет соединиться. Если шаблон «ложится ровно», то все в порядке, если же нет – запрос отправляется на устройство, прописанное в настройках сети как шлюз по умолчанию.

Как выглядит маска подсети?

Если вы являетесь среднестатистическим пользователем домашней сети, состоящей из нескольких компьютеров, которая имеет шлюз для выхода в Интернет, то ваша маска подсети, вероятнее всего, выглядит так: 255.255.255.0. Эти цифры – так называемая маска подсети 24, которая указывает на то, что если первые три цифры в IP-адресе компьютера совпадают с вашим адресом, то он доступен напрямую.

Можно ли узнать маску подсети?

Несмотря на то что данный вопрос имеет под собой мало смысла, пользователи не перестают задавать его поисковым машинам. Определить маску подсети по IP практически невозможно, так как, исходя из одного лишь IP-адреса, невозможно точно сказать, какие именно масштабы имеет локальная или распределенная сеть. Отчасти в подобных случаях может помочь информация о шлюзе, например, если ваш компьютер имеет адрес 192.168.1.2, а шлюз – 192.168.0.1, то маска подсети должна быть как минимум 255.255.0.0, в противном случае шлюз будет недостижим.

О цене ошибок

А что может произойти, если вы допустите ошибку? Исходя из того, что мы теперь уже знаем о том, что такое маска подсети, можно с уверенностью утверждать: если она будет задана неверно, существует большая вероятность того, что ваш компьютер будет отрезан от внешнего мира. Например, если вписать в качестве маски 0.0.0.0, то операционная система будет считать любой IP-адрес локальным и не будет даже пытаться использовать шлюз, что приведет к потере возможности связываться с компьютерами вне вашей локальной сети.

Если же совершите другую ошибку, указав слишком «тесную» маску подсети, то ваш компьютер может начать испытывать проблемы уже с подключением к «соседям» по локальной сети – даже если вы будете обращаться к локальному IP, маска подсети будет указывать на то, что доступ к нему возможен только через шлюз, а это может привести либо к повышенной нагрузке на сеть, либо к абсолютной недоступности компьютеров в «локалке».

Варианты написания маски подсети

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

А что насчет более привычного варианта маски подсети, который используется в большинстве внутриквартирных локальных сетей? Разговор, естественно, идет о 255.255.255.0. Если вы внимательно читали эту статью, то о данной маске разговор уже шел, и количество ее зафиксированных бит составляет 24 (т. е. первые три числа по 8 бит).

Таким образом, можно провести простую логическую цепочку – на каждое фиксированное число приходится 8 бит, а это значит, что та же 255.0.0.0 будет записываться как /8, так как в ней зафиксировано только первое число.

Что же касается промежуточных вариантов, например, 255.255.255.128, то их битность также легко поддается вычислению, в данном случае это /25 – 24 бита первых трех зафиксированных чисел, а также еще один бит, делящий сегмент от 0 до 255 ровно пополам.

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

Калькулятор Сетей

Введите IP адрес хоста (сети) и маску сети, чтобы рассчитать адрес broadcast (широковещательный адрес), адрес сети, Cisco wildcard mask, диапазон допустимых адресов в сети и количество хостов.

Маска сети указывается в десятичном формате с разделяющими точками (255.255.255.0) либо в «CIDR notation» RFC 1517 (/25). Если маска сети не введена, используется маска сети по умолчанию установленная для сетей такого класса.

Полученные результаты представлены и в двоичном формате, для лучшего понимания принципов расчета адресов ip-сетей. Биты адресов разделены пробелом: биты до пробела это часть, определяющая принадлежность к сети (биты сети), после пробела — часть отвечающая за адреса хостов в сети (биты хостов). В адресе сети все «биты хостов» равны нулю, в широковещательном адресе все они равны 1.

Класс сети определяется ее первыми битами . Если сеть находится в диапазоне сетей Интранет (Private Internet RFC 1918) это указывается дополнительно.

Cisco wildcard — обратная маска сети, используется в списках доступа (ACL) сетевого оборудования Cisco.

Также Вы можете расчитать подсети и суперсети.

Чтобы разделить сеть на несколько подсетей, введите адрес и маску исходной сети:
В поле маска подсети введите маску вновь создаваемых подсетей и расчитайте результат.

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

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

Задания по расчету IP адресов и масок подсетей

Задание №1. Найти 2-ю и 4-ю подсети в классовой сети 175.100.0.0 при использовании маски 255.255.224.0 (префикс 19).

Задание №2. К какой подсети относится адрес 172.17.90.63/21?

Задание №3. Определить адрес 6-й подсети в 67.90.0.0/27

Задание №4. Для адреса 198.146.70.176/19 найти следующее:

  • Сетевой адрес
  • Широковещательный адрес
  • Маску подсети

Задание №5. Для адреса 52.92.25.205/19 найти следующее:

  • Сетевой адрес
  • Широковещательный адрес
  • Маску подсети

Задание №6. Найти общий суммаризированный адрес для адресов 17.89.133.56/17, 17.89.142.90/18, 17.89.252.2/17, 17.89.166.18/17.

Задание №7. Найти общий суммаризированный адрес для адресов 187.63.224.12/21, 187.63.1.85/21, 187.63.131.100/22, 187.63.148.71/20.

Задание №8. Даны адреса 23.149.22.3/28 и 23.149.55.1/26 с масками 255.255.255.240 и 255.255.255.192 соответственно. Вашей задачей является определить последние подсети при использовании указанных масок. Также определите следующие параметры этих найденных подсетей:

  • Сетевой адрес
  • Широковещательный адрес
  • Маску подсети
  • Количество хостов в каждой подсети

Курс по основам компьютерных сетей на базе оборудования Cisco. Этот курс поможет вам подготовиться к экзаменам CCENT/CCNA, так как за его основу взят курс Cisco ICND1.

4.2 IP-адрес в протоколе IPv4. Структура IP-адреса: как узнать номер сети и номер узла?

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

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

4.2.1 Введение

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

4.2.2 Структура IP-адреса и маска подсети

В протоколе IP есть две очень важные вещи, которые сделали его вездесущим. Первое – это заголовок IP-пакета, который определяет функционал протокола, а второе – это IP-адрес, который, следует заметить, является частью заголовка, но о нем стоит поговорить отдельно, чем мы сейчас и займемся. Я более чем уверен, что вы уже видели IP-адреса и более того, работали с ними, но если нет, то вот вам пример: 192.168.1.0. Для человека IP-адреса в протоколе IPv4 чаще всего представлены вот в таком виде.

Тут ничего сложного нет. Для нас IP-адрес разбит на четыре кусочка, разделителем между кусочками служат точки, каждый такой кусочек представляет собой один байт или один октет, следовательно, максимально возможное число, которое можно записать равно 255, а минимальное число ноль. Получается, что чисто теоретически можно использовать адреса от 0.0.0.0 до 255.255.255.255. Правда часть из этих адресов зарезервирована под специальные нужды, это мы обсудим в отдельной теме. Сейчас же будем считать, что нам доступно два в тридцать второй степени IP-адресов или 4 294 967 296, которых уже катастрофически не хватает, поэтому происходить плавное внедрение протокола IPv6.

На самом деле IP-адрес – это не просто четыре числа, разделенных точками, а более интересная и сложная сущность. Во-первых, следует заметить, что маршрутизаторы не знают десятичной системы счисления, так же, как и абонентские узлы, для них IP-адрес представлен набором нулей и единиц в нашем случае (192.168.1.0), IP-адрес для машины выглядит как-то так: 11000000 (192) 10101000 (168) 00000001 (1) 00000000 (0). Октеты в данном случае я разделил пробелами, думаю, тут всё очевидно: каждый байт – это восемь двоичных значений (0 или 1), а всего у нас для IP-адреса выделено четыре байта, то есть 32 бита, отсюда вытекает и два в тридцать второй степени IP-адресов.


Я сразу оговорился, что IP-адрес более сложная штука, чем кажется на первый взгляд. Дело всё в том, что IP-адрес включает в себя два параметра, которые позволяют идентифицировать узел в глобальной сети: номер узла и номер сети. Вообще, протокол IP предусматривает два механизма разбиения IP-адреса на номер сети и номер узла. Первый механизм называется классовая адресация, а второй механизм называется CIDR (Classless Inter-Domain Routing) или бесклассовая адресация. В этой теме мы сделаем поверхностный обзор этих механизмов, а в дальнейшем разберемся с ними детально.

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

Рисунок 4.2.1 Номера октетов и битов в IP-адресе

В таблице показана нумерация октетов и бит в октетах так, как это реализуется в сетях модели TCP/IP. Эта нумерация справедлива как для IP-адреса в отдельности, так для всего заголовка IP-пакета. Крайний левый байт или самый первый байт называется старшим и его порядковый номер ноль, последний байт — младший и его порядковый номер три. То же самое относится и к битам: самый старший бит имеет порядковый номер ноль, а самый младший бит в байте имеет порядковый номер семь. Такая нумерация называется от старшего к младшему или big-endian, иногда такой порядок называется сетевым порядком.

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

4.2.3 Классовые сети

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

Классовая адресация, как ясно из названия, делит всё пространство IP-адресов на классы, всего этих классов пять: A, B, C, D, E. Как понять к какому классу принадлежит IP-адрес? Да очень просто! Посмотреть на его первые биты. Приведу небольшой список, чтобы было понятно, к какому классу какой IP-адрес относится:

  • сети класса А определяются значением первого бита, если первый бит IP-адреса нулевой, то это означает, что он относится к сети класса А, во всех остальных случаях – это другой класс;
  • сети класса B определяются по значениям первых двух бит IP-адреса, IP-адрес относится к сети класса B в том случае, если первый бит имеет значение 1, а второй 0;
  • IP-адрес будет принадлежать к сети класса C, если первый бит адреса будет равен 1, второй бит тоже 1, а третий будет 0;
  • сети класса D определяются по первым четырем битам IP-адреса, при этом первый бит 1, второй бит 1, третий бит 1, а четвертый 0, стоит добавить, что сети класса D использовались для многоадресной рассылки или иначе multicast;
  • и наконец сети класса E были зарезервированы и их нельзя было использовать простым смертным, определялись они первыми четырьмя битами, каждый из которых должен был иметь значение 1.

Для ясности давайте посмотрим на примере IP-адресов для каждого класса:

  1. Сеть класса А. IP-адрес в десятичном виде: 10.10.0.1. IP-адрес в двоичном виде: 00001010 00001010 00000000 00000001. Обратите внимание на то, что первый бит равен нулю, он как раз и определяет, что данный IP-адрес принадлежит к сети класса A.
  2. Сеть класса B. IP-адрес в десятичном виде: 130.25.25.12. IP-адрес в двоичном виде: 1000 0010 00011001 00011001 000011000. Принадлежность к данному классу определяют первых два бита: 10.
  3. Сеть класса C. IP-адрес в десятичном виде: 192.168.1.0. IP-адрес в двоичном виде: 11000000 10101000 00000001 00000000. Значение первых трех бит определяют принадлежность этого адреса к классу C.
  4. Сеть класса D. IP-адрес в десятичном виде: 224.0.0.6. IP-адрес в двоичном виде: 11100000 00000000 00000000 00000110. Значение первых четырех бит выделены жирным.
  5. Сеть класса E. IP-адрес в десятичном виде: 240.10.10.10. IP-адрес в двоичном виде: 11110000 00001010 00001010 00001010.

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

4.2.4 Бесклассовые сети (CIDR) и маска подсети переменной длины (VLSM)

Бесклассовая адресация или CIDR – это механизм разделения сети на подсети в современных сетях передачи данных, этот механизм позволил существенно экономить адреса и не тратить лишнего. CIDR тесно связан с понятием VLSM (variable length subnet mask) или маска подсети переменной длинны, можно просто маска подсети или маска, на данный момент вас поймут верно. Становится понятно, что здесь уже нет жестких рамок классов, поскольку и самих классов нет. Теперь для того чтобы понять к какой подсети относится IP-адрес, самого IP-адреса недостаточно, нужна еще и маска подсети, которая, следует сказать, не передается по сети, она указывается только на конечных узлах и маршрутизаторах (а, например, L2 коммутаторы и хабы вообще ничего не знают про IP-адреса, первые работают на канальном уровне, а вторые реализуют механизмы физического уровня модели OSI 7, про разницу между хабами, коммутаторами и роутерами читайте здесь), и для нее нет отдельного поля в IP-пакете.

Как выглядит маска подсети? Да на самом деле, как IP-адрес, вот несколько примеров маски: 255.255.255.0, 255.255.254.0, 255.248.0.0. Заметили, здесь общего? Ну, кроме того, что во всех примерах первый октет 255. Общая составляющая будет заметна, если написать все эти маски в двоичном виде:

  • 255.255.255.0: 11111111 11111111 11111111 00000000;
  • 255.255.254.0: 11111111 11111111 11111110 00000000;
  • 255.248.0.0: 11111111 11111000 00000000 00000000.

Обратите внимание: у каждой маски вначале идут только единицы, затем идут только нули, чередоваться нули и единицы в маске подсети не могут. Например, не может быть вот такой маски: 255.254.255.0 или в двоичной системе: 11111111 11111110 11111111 00000000. И это очень важно, поскольку именно на границе нулей и единиц маски подсети находится граница между номером сети и номером узла в IP-адресе.

На примере будет все немного яснее, давайте возьмем следующий IP-адрес и маску: 192.168.1.25/24, иначе это можно было бы записать так: 192.168.1.25 с маской 255.255.255.0, число 24 означает количество единиц в маске. Если вам просто дать этот IP-адрес без маски, то вы не сможете сказать: какие биты этого IP-адреса отданы под номер сети, а какие под номер узла, с маской же все становится понятно. Чтобы понять где здесь номер сети, а где номер узла, нужно перевести и маску, и IP-адрес в двоичную систему счисления. Давайте сделаем всё это в виде таблицы.

Рисунок 4.2.2 Переводим IP-адрес и маску подсети в двоичный вид

Сразу отметим, что те биты IP-адреса, напротив которых в маске подсети стоят единицы, будут относиться к номеру сети, а те биты адреса, напротив которых у маски нули, относятся к номеру хоста. Чтобы узнать номер узла и номер сети нужно выполнить операцию «логическое И» между соответствующими битами IP-адреса и маски. Операция «логическое И» в двоичной системе счисления эквивалентна операции умножения в десятичной: 1×1=1, 1×0=0, 0×0=0. Вы уже понимаете, что номер сети в IP-адресе при использовании CIDR и VLSM определяется маской, а именно единичными битами маски, то есть для нашего случая номер сети это: 192.168.1.0, а под номера узлов у нас остается диапазон с 192.168.1.1 по 192.168.1.254, заметьте, что есть еще 192.168.1.255 — это широковещательный IP-адрес для данной сети и его нельзя назначить узлу или интерфейсу маршрутизатора.

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

4.2.5 Форма записи IP-адреса и сокращения

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

Форма записи октетов, разделенных точками, просто удобна для человека: 127.0.0.1. Но для машины IP-адрес число, которое может находиться в диапазоне от 00000000 00000000 00000000 00000000 до 11111111 11111111 11111111 11111111 или в десятичной системе счисления: от 0 до 4 294 967 295. И вы понимаете, что IP-адрес 127.0.0.1 — это не число 127001, это вот такое число 01111111 00000000 00000000 00000001 или в десятичной системе: 2 130 706 433. Более того, если вы запустите командую строку или эмулятор терминала в своей операционной системе, то сможете пропинговать IP-адрес 127.0.0.1, используя число выше, если не верите, то смотрите листинг ниже.

Маска подсети — одно из базовых понятий вычислительных сетей. Разбираем, что такое маска подсети, как она вычисляется и где используется

Вы хотите узнать все нюансы про маску подсети, которые не знают 99% системных администраторов? Тогда дочитайте наш материал до конца!

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

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

Глобальная сеть интернет, как и основная часть современных вычислительных сетей меньшего размера, реализована на основе стека TCP/IP. В качестве уникального идентификатора узла (в пределах одной сети), используется IP адрес . С этим вы наверняка знакомы — ведь ваш компьютер, а если быть точным сетевой интерфейс, тоже имеет уникальный ip адрес. Его вы указывали при настройке подключения. С его помощью ваш компьютер идентифицируется в сети, и получает возможность взаимодействовать с другими узлами. Точно также, как и любой другой компьютер или сетевое устройство.

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

Тут нужно сделать небольшое отступление. В настоящее время в основе сетей используется протокол ip 4-ой версии. И постепенно идет переход на использование версии IPv6. В обоих случаях, все сети разделяются на большие и маленькие сегменты. Делается это для упрощения их администрирования, с точки зрения масштабирования и безопасности. В таком случае, некоторые ip адреса будут использоваться не для идентификации сетевого узла, а для обозначения (адресации) сети (подсети), к которой он относится. В этом случае и используется ip маска подсети.

Немного о сетевой адресации

В настоящее время все существующие сети разделены на три класса: A, B и C. И имеют следующие характеристики

  • Диапазон значений первого октета 1-126
  • Допустимые адреса сетей 1.0.0.0 — 126.0.0.0
  • Количество сетей в классе 2^7-2
  • Количество узлов в сети 2^24-2
  • Диапазон значений первого октета 128-191
  • Допустимые адреса сетей 128.0.0.0 — 191.225.0.0
  • Количество сетей в классе 2^14
  • Количество узлов в сети 2^16-2
  • Диапазон значений первого октета 192-223
  • Допустимые адреса сетей 192.0.0.0 — 223.225.225.0
  • Количество сетей в классе 2^21
  • Количество узлов в сети 2^8-2

На картинке ниже представлены ip адреса, каждый из которых относится к своему типу классовой сети. В скобках указаны количества байт, которые отведены для обозначения адреса сети и узла соответственно.

В том случае, если отсутствует разбиение на подсети, для каждого класса используется стандартная маска:

Класс A — 255.0.0.0
Класс B — 255.255.0.0
Класс C — 255.255.255.0

Частные и зарегистрированные адреса

Как вы уже поняли, каждое устройство в сети интернет, должно иметь свой уникальный адрес. Но в таком случае количество доступных адресов быстро бы закончилось. Отчасти эта проблема была решена введение зарезервированных адресов. Их разрешили использовать для частных сетей, которые не публиковались бы в глобальной сети.

Класс A — 10.0.0.0
Класс B — 172.16.0.0 по 172.31.0.0
Класс С — 192.168.0.0 по 192.168.255.0

Зарезервированные адреса из этих диапазонов можно использовать при построении домашней сети, или сети предприятия. И все будет нормально работать.

У вас может возникнуть логичный вопрос — а как в таком случае подключаться к Интернет? Здесь ситуация разрешается с использованием одного или нескольких публичных ip адреса, которые выдает провайдер при подключении к сети. И все компьютеры частной сети используют его при подключении к Интернет. Это реализуется благодаря технологии NAT (трансляция сетевых адресов).

Подсети

Стоит почитать

Зачем искать информацию на других сайтах, если все собрано у нас?

Основы функционирования протокола TCP/IP (IP-адрес, маска подсети, основной шлюз; деление на подсети с помощью маски подсети; введение в IP-маршрутизацию).

Раздел № 3 «Протокол TCP/IP, служба DNS»

3.1 Основы функционирования протокола TCP/IP (IP-адрес, маска подсети, основной шлюз; деление на подсети с помощью маски подсети; введение в IP-маршрутизацию).


3.2 Служба DNS (домены, зоны; зоны прямого и обратного просмотра; основные и дополнительные зоны; рекурсивный и итеративный запросы на разрешение имен).

3.3 Диагностические утилиты TCP/IP и DNS.

Работа сетевых компонент операционных систем семейства Windows Server базируется на протоколе TCP/IP, а функционирование службы каталогов Active Directory полностью зависит от службы DNS. По этой причине описание протокола TCP/IP и службы DNS вынесено в отдельный раздел, предваряющий изучение остальных служб и компонент.

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

Основы функционирования протокола TCP/IP (IP-адрес, маска подсети, основной шлюз; деление на подсети с помощью маски подсети; введение в IP-маршрутизацию).

Адресация узлов в IP-сетях

В сетях TCP/IP принято различать адреса сетевых узлов трех уровней

— физический (или локальный) адрес узла (МАС-адрес сетевого адаптера или порта маршрутизатора); эти адреса назначаются производителями сетевого оборудования;

— IP-адрес узла (например, 192.168.0.1), данные адреса назначаются сетевыми администраторами или Интернет-провайдерами;

— символьное имя (например, www.microsoft.com); эти имена также назначаются сетевыми администраторами компаний или Интернет-провайдерами.

Рассмотрим подробнее IP-адресацию.

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

1. Unicast-адрес (единичная адресация конкретному узлу) — используется в коммуникациях «один-к-одному».

2. Broadcast-адрес (широковещательный адрес, относящийся ко всем адресам подсети) — используется в коммуникациях «один-ко-всем». В этих адресах поле идентификатора устройства заполнено единицами. IP-адресация допускает широковещательную передачу, но не гарантирует ее — эта возможность зависит от конкретной физической сети. Например, в сетях Ethernet широковещательная передача выполняется с той же эффективностью, что и обычная передача данных, но есть сети, которые вообще не поддерживают такой тип передачи или поддерживают весьма ограничено.

3. Multicast-адрес (групповой адрес для многоадресной отправки пакетов) — используется в коммуникациях «один-ко-многим». Поддержка групповой адресации используется во многих приложений, например, приложениях интерактивных конференций. Для групповой передачи рабочие станции и маршрутизаторы используют протокол IGMP, который предоставляет информацию о принадлежности устройств определенным группам.

Каждый сетевой интерфейс на каждом узле сети должен иметь уникальный unicast-адрес. IP-адрес имеет длину 4 байта (или 32 бита). Для удобства чтения адресов 32-битные числа разбивают на октеты по 8 бит, каждый октет переводят в десятичную систему счисления и при записи разделяют точками. Например, IP-адрес 11000000101010000000000000000001 записывается как 192.168.0.1.

IP-адрес состоит из двух частей — идентификатор сети (префикс сети, Network ID) и идентификатор узла (номер устройства, Host ID). Такая схема приводит к двухуровневой адресной иерархии. Структура IP-адреса изображена на рис. 3.1.

Биты:
Network ID Host ID

Идентификатор сети идентифицирует все узлы, расположенные на одном физическом или логическом сегменте сети, ограниченном IP-маршрутизаторами. Все узлы, находящиеся в одном сегменте должны имеет одинаковый идентификатор сети.

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

Таким образом, в целом IP-адрес будет уникален для каждого сетевого интерфейса всей сети TCP/IP.

Соотношение между идентификатором сети и идентификатором узла в IP-адресе определяется с помощью маски подсети (Network mask), которая имеет длину также 4 байта и также записывается в десятичной форме по 4 октета, разделенных точками. Старшие биты маски подсети, состоящие из 1, определяют, какие разряды IP-адреса относятся к идентификатору сети. Младшие биты маски, состоящие из 0, определяют, какие разряды IP-адреса относятся к идентификатору узла.

IP-адрес и маска подсети — минимальный набор параметров для конфигурирования протокола TCP/IP на сетевом узле.

Для обеспечения гибкости в присваивании адресов компьютерным сетям разработчики протокола определили, что адресное пространство IP должно быть разделено на три различных класса — А, В и С.

В дополнение к этим трем классам выделяют еще два класса. D — этот класс используется для групповой передачи данных. Е — класс, зарезервированный для проведения экспериментов.

IP-адреса класса А.

Старший бит любого IP-адреса в сети класса А всегда равен 0. Идентификатор сети состоит из 8 бит, идентификатор узла — 24 бита. Маска подсети для узлов сетей класса A — 255.0.0.0. Структура IP-адресов класса А приведена на рис. 3.2.

Network ID Host ID

IP-адреса класса B.

Два старших бита любого IP-адреса в сети класса B всегда равны 10. Идентификатор сети состоит из 16 бит, идентификатор узла — 16 бит. Маска подсети для узлов сетей класса B — 255.255.0.0. Структура IP-адресов класса B приведена на рис. 3.3.

Network ID Host ID

IP-адреса класса C.

Три старших разряда любого IP-адреса в сети класса C всегда равны 110. Идентификатор сети состоит из 24 разрядов, идентификатор узла — из 8 разрядов. Маска подсети для узлов сетей класса C — 255.255.255.0. Структура IP-адресов класса C приведена на рис. 3.4.

Network ID Host ID

IP-адреса класса D используются для групповых адресов (multicast-адреса). Четыре старших разряда любого IP-адреса в сети класса D всегда равны 1110. Оставшиеся 28 бит используются для назначения группового адреса.

Пять старших разряда любого IP-адреса в сети класса E равны 11110. Адреса данного класса зарезервированы для будущего использования (и не поддерживаются системой Windows Server).

Правила назначения идентификаторов сети (Network ID)

— первый октет идентификатора сети не может быть равен 127 (адреса вида 127.x.y.z предназначены для отправки узлом пакетов самому себе и используются как правило для отладки сетевых приложений, такие адреса называются loopback-адресами, или адресами обратной связи);

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

— все разряды идентификатора сети не могут состоять из одних 0 (в IP-адресах все биты, установленные в ноль, соответствуют либо данному устройству, либо данной сети);

— идентификатор каждой конкретной сети должен быть уникальным среди подсетей, объединенных в одну сеть с помощью маршрутизаторов.

Диапазоны возможных идентификаторов сети приведены в таблице 3.1.

Класс сети Наименьший идентификатор сети Наибольший идентификатор сети Количество сетей
Класс A 1.0.0.0 126.0.0.0
Класс B 128.0.0.0 191.0.0.0
Класс C 192.0.0.0 223.255.255.0

Правила назначения идентификаторов узла (Host ID)

— все разряды идентификатора узла не могут состоять из одних 1 (идентификатор узла, состоящий из одних 1, используется для широковещательных адресов, или broadcast-адресов);

— все разряды идентификатора сети не могут состоять из одних 0 (если разряды идентификатора узла равны 0, то такой адрес обозначает всю подсеть, например, адрес 192.168.1.0 с маской подсети 255.255.255.0 обозначает всю подсеть с идентификатором сети «192.168.1»;

— идентификатор узла должен быть уникальным среди узлов одной подсети.

Диапазоны возможных идентификаторов узла приведены в таблице 3.2.

Класс сети Наименьший идентификатор узла Наибольший идентификатор узла Количество узлов
Класс A w.0.0.1 w.255.255.254
Класс B w.x.0.1 w.x.255.254
Класс C w.x.y.1 w.x.y.254

Другим способом обозначения сети, более удобным и более кратким, является обозначение сети с сетевым префиксом. Такое обозначение имеет вид «/число бит маски подсети». Например, подсеть 192.168.1.0 с маской подсети 255.255.255.0 можно более кратко записать в виде 192.168.1.0/24, где число 24 длина маски подсети в битах.

Публичные и приватные (частные) IP-адреса

Все пространство IP-адресов разделено на 2 части: публичные адреса, которые распределяются между Интернет-провайдерами и компаниями международной организацией Internet Assigned Numbers Authority (сокращенно IANA), и приватные адреса, которые не контролируются IANA и могут назначаться внутрикорпоративным узлам по усмотрению сетевых администраторов. Если какая-либо компания приобрела IP-адреса в публичной сети, то ее сетевые узлы могут напрямую маршрутизировать сетевой трафик в сеть Интернет и могут быть прозрачно доступны из Интернета. Если внутрикорпоративные узлы имеют адреса из приватной сети, то они могут получать доступ в Интернет с помощью протокола трансляции сетевых адресов (NAT, Network Address Translation) или с помощью прокси-сервера. В простейшем случае с помощью NAT возможно организовать работу всей компании с использованием единственного зарегистрированного IP-адреса.

Механизм трансляции адресов NAT преобразует IP-адреса из частного адресного пространства IP (эти адреса еще называют «внутренние», или «серые IP») в зарегистрированное открытое адресное пространство IP. Обычно эти функции (NAT) выполняет либо маршрутизатор, либо межсетевой экран (firewall) — эти устройства подменяют адреса в заголовках проходящих через них IP-пакетов.

На практике обычно компании получают через Интернет-провайдеров небольшие сети в пространстве публичных адресов для размещения своих внешних ресурсов — web-сайтов или почтовых серверов. А для внутрикорпоративных узлов используют приватные IP-сети.

Пространство приватных IP-адресов состоит из трех блоков:

10.0.0.0/8 (одна сеть класса A);

172.16.0.0/12 (диапазон адресов, состоящий из 16 сетей класса B — от 172.16.0.0/16 до 172.31.0.0/16);


192.168.0.0/16 (диапазон адресов, состоящий из 256 сетей класса C — от 192.168.0.0/24 до 192.168.255.0/16).

Кроме данных трех блоков имеется еще блок адресов, используемых для автоматической IP-адресации (APIPA, Automatic Private IP Addressing). Автоматическая IP-адресация применяется в том случае, когда сетевой интерфейс настраивается для автоматической настройки IP-конфигурации, но при этом в сети отсутствует сервер DHCP. Диапазон адресов для APIPA — сеть класса B 169.254.0.0/16.

Отображение IP-адресов на физические адреса

Каждый сетевой адаптер имеет свой уникальный физический адрес (или MAC-адрес). За отображение IP-адресов адаптеров на их физические адреса отвечает протокол ARP (Address Resolution Protocol). Необходимость протокола ARP продиктована тем обстоятельством, что IP-адреса устройств в сети назначаются независимо от их физических адресов. Поэтому для доставки сообщений по сети необходимо определить соответствие между физическим адресом устройства и его IP-адресом — это называется разрешением адресов. В большинстве случаев прикладные программы используют именно IP-адреса. А так как схемы физической адресации устройств весьма разнообразны, то необходим специальный, универсальный протокол. Протокол разрешения адресов ARP был разработан таким образом, чтобы его можно было использовать для разрешения адресов в различных сетях. Фактически ARP можно использовать с произвольными физическими адресами и сетевыми протоколами. Протокол ARP предполагает, что каждое устройство знает как свой IP-адрес, так и свой физический адрес. ARP динамически связывает их и заносит в специальную таблицу, где хранятся пары «IP-адрес — физический адрес» (обычно каждая запись в ARP-таблице имеет время жизни 10 мин.). Эта таблица хранится в памяти компьютера и называется кэш протокола ARP (ARP-cache).

Работа протокола ARP заключается в отправке сообщений между сетевыми узлами:

ARP Request(запрос ARP) — широковещательный запрос, отправляемый на физическом уровне модели TCP/IP, для определения MAC-адреса узла, имеющего конкретный IP-адрес;

ARP Reply (ответ ARP) — узел, IP-адрес которого содержится в ARP-запросе, отправляет узлу, пославшему ARP-запрос, информацию о своем MAC-адресе;

RARP Request, или Reverse ARP Request (обратный ARP-запрос) — запрос на определение IP-адреса по известному MAC-адресу;

RARP Reply, или Reverse ARP Reply (обратный ARP-ответ) — ответ узла на обратный ARP-запрос.

Разбиение сетей на подсети с помощью маски подсети

Для более эффективного использования пространства адресов IP-сети с помощью маски подсети могут быть разбиты на более мелкие подсети (subnetting) или объединены в более крупные сети (supernetting).

Рассмотрим на примере разбиение сети 192.168.1.0/24 (сеть класса C) на более мелкие подсети. В исходной сети в IP-адресе 24 бита относятся к идентификатору сети и 8 бит — к идентификатору узла. Используем маску подсети из 27 бит, или, в десятичном обозначении, — 255.255.255.224, в двоичном обозначении — 11111111 11111111 11111111 11100000. Получим следующее разбиение на подсети:

Подсеть Диапазон IP-адресов Широковещательный адрес в подсети
192.168.1.0/27 192.168.1.1–192.168.1.30 192.168.1.31
192.168.1.32/27 192.168.1.33–192.168.1.62 192.168.1.63
192.168.1.64/27 192.168.1.65–192.168.1.94 192.168.1.95
192.168.1.96/27 192.168.1.97–192.168.1.126 192.168.1.127
192.168.1.128/27 192.168.1.129–192.168.1.158 192.168.1.159
192.168.1.160/27 192.168.1.161–192.168.1.190 192.168.1.191
192.168.1.192/27 192.168.1.193–192.168.1.222 192.168.1.223
192.168.1.224/27 192.168.1.225–192.168.1.254 192.168.1.255

Таким образом, мы получили 8 подсетей, в каждой из которых может быть до 30 узлов. Напомним, что идентификатор узла, состоящий из нулей, обозначает всю подсеть, а идентификатор узла, состоящий из одних единиц, означает широковещательный адрес (пакет, отправленный на такой адрес, будет доставлен всем узлам подсети).

IP-адреса в данных подсетях будут иметь структуру:

Network ID Host ID

Отметим очень важный момент. С использованием такой маски узлы с такими, например, IP-адресами, как 192.168.1.48 и 192.168.1.72, находятся в различных подсетях, и для взаимодействия данных узлов необходимы маршрутизаторы, пересылающие пакеты между подсетями192.168.1.32/27 и 192.168.1.64/27.

Примечание. Согласно стандартам протокола TCP/IP для данного примера не должно существовать подсетей 192.168.1.0/27 и 192.168.1.224/27 (т.е. первая и последняя подсети). На практике большинство операционных систем (в т.ч. системы семейства Microsoft Windows) и маршрутизаторов поддерживают работу с такими сетями.

Аналогично, можно с помощью маски подсети объединить мелкие сети в более крупные.

Например, IP-адреса сети 192.168.0.0/21 будут иметь следующую структуру:

Network ID Host ID

Диапазон IP-адресов данной сети: 192.168.0.1–192.168.7.254 (всего — 2046 узлов), широковещательный адрес подсети — 192.168.7.255.

Преимущества подсетей внутри частной сети:

— разбиение больших IP-сетей на подсети (subnetting) позволяет снизить объем широковещательного трафика (маршрутизаторы не пропускают широковещательные пакеты);

— объединение небольших сетей в более крупные сети (supernetting) позволяет увеличить адресное пространство с помощью сетей более низкого класса;

— изменение топологии частной сети не влияет на таблицы маршрутизации в сети Интернет (хранят только маршрут с общим номером сети);

— размер глобальных таблиц маршрутизации в сети Интернет не растет;

— администратор может создавать новые подсети без необходимости получения новых номеров сетей.

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

— 255.0.0.0 – маска для сети класса А;

— 255.255.0.0 — маска для сети класса В;

— 255.255.255.0 — маска для сети класса С.

Для администратора сети чрезвычайно важно знать четкие ответы на следующие вопросы:

— Сколько подсетей требуется организации сегодня?

— Сколько подсетей может потребоваться организации в будущем?

— Сколько устройств в наибольшей подсети организации сегодня?

— Сколько устройств будет в самой большой подсети организации в будущем?

Отказ от использования только стандартных классов IP-сетей (A, B, и C) называется бесклассовой междоменной маршрутизацией (Classless Inter-Domain Routing, CIDR).

Введение в IP-маршрутизацию

Для начала уточним некоторые понятия:

— сетевой узел (node) — любое сетевое устройство с протоколом TCP/IP;

— хост (host) — сетевой узел, не обладающий возможностями маршрутизации пакетов;

— маршрутизатор (router) — сетевой узел, обладающий возможностями маршрутизации пакетов

IP-маршрутизация — это процесс пересылки unicast-трафика от узла-отправителя к узлу –получателю в IP-сети с произвольной топологией.

Когда один узел IP-сети отправляет пакет другому узлу, в заголовке IP-пакета указываются IP-адрес узла отправителя и IP-адрес узла-получателя. Отправка пакета происходит следующим образом:

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

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

3) Если узел-отправитель и узел-получатель расположены в разных IP-сетях, то узел-отправитель посылает данный пакет сетевому узлу, который в конфигурации отправителя указан как «Основной шлюз» (default gateway). Основной шлюз всегда находится в той же IP-сети, что и узел-отправитель, поэтому взаимодействие происходит на канальном уровне (после выполнения ARP-запроса). Основной шлюз — это маршрутизатор, который отвечает за отправку пакетов в другие подсети (либо напрямую, либо через другие маршрутизаторы).

Рассмотрим пример, изображенный на рис. 3.5.

Узел B 192.168.0.7 255.255.255.0 Узел A 192.168.0.5 255.255.255.0 Маршрутизатор Узел C 192.168.1.10 255.255.255.0
192.168.0.1 192.168.1.1
Подсеть 192.168.0.0/24 Подсеть 192.168.1.0/24

В данном примере 2 подсети: 192.168.0.0/24 и 192.168.1.0/24. Подсети объединены в одну сеть маршрутизатором. Интерфейс маршрутизатора в первой подсети имеет IP-адрес 192.168.0.1, во второй подсети — 192.168.1.1. В первой подсети имеются 2 узла: узел A (192.168.0.5) и узел B (192.168.0.7). Во второй подсети имеется узел C с IP-адресом 192.168.1.10.

Если узел A будет отправлять пакет узлу B, то сначала он вычислит, что узел B находится в той же подсети, что и узел A (т.е. в локальной подсети), затем узел A выполнит ARP-запрос для IP-адреса 192.168.0.7. После этого содержимое IP-пакета будет передано на канальный уровень, и информация будет передана сетевым адаптером узла A сетевому адаптеру узла B. Это пример прямой доставки данных (или прямой маршрутизации, direct delivery).

Если узел A будет отправлять пакет узлу C, то сначала он вычислит, что узел C находится в другой подсети (т.е. в удаленной подсети). После этого узел A отправит пакет узлу, который в его конфигурации указан в качестве основного шлюза (в данном случае это интерфейс маршрутизатора с IP-адресом 192.168.0.1). Затем маршрутизатор с интерфейса 192.168.1.1 выполнит прямую доставку узлу C. Это пример непрямой доставки (или косвенной маршрутизации, indirect delivery) пакета от узла A узлу C. В данном случае процесс косвенной маршрутизации состоит их двух операций прямой маршрутизации.

В целом процесс IP-маршрутизации представляет собой серии отдельных операций прямой или косвенной маршрутизации пакетов.

Каждый сетевой узел принимает решение о маршрутизации пакета на основе таблицы маршрутизации, которая хранится в оперативной памяти данного узла. Таблицы маршрутизации существуют не только у маршрутизаторов с несколькими интерфейсами, но и у рабочих станций, подключаемых к сети через сетевой адаптер. Таблицу маршрутизации в системе Windows можно посмотреть по команде route print. Каждая таблица маршрутизации содержит набор записей. Записи могут формироваться различными способами:

— записи, созданные автоматически системой на основе конфигурации протокола TCP/IP на каждом из сетевых адаптеров;


— статические записи, созданные командой route print или в консоли службы Routing and Remote Access Service;

— динамические записи, созданные различными протоколами маршрутизации (RIP или OSPF).

Рассмотрим два примера: таблицу маршрутизации типичной рабочей станции, расположенной в локальной сети компании, и таблицу маршрутизации сервера, имеющего несколько сетевых интерфейсов.

В данном примере имеется рабочая станция с системой Windows XP, с одним сетевым адаптером и такими настройками протокола TCP/IP: IP-адрес — 192.168.1.10, маска подсети — 255.255.255.0, основной шлюз — 192.168.1.1.

Введем в командной строке системы Windows команду route print, результатом работы команды будет следующий экран (Рис 3.6; в скобках приведен текст для английской версии системы):

C:\>route print IPv4 таблица маршрута =========================================================================== Список интерфейсов (Interface List) 0x1 . MS TCP Loopback interface 0x10002 . 00 c0 26 a1 6e 05 . Realtek RTL8139 Family PCI Fast Ethernet NIC =========================================================================== =========================================================================== Активные маршруты (Active Routes):
Сетевой адрес (Network Destination) Маска сети (Netmask) Адрес шлюза (Gateway) Интерфейс (Interface) Метрика (Metric)
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.10
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1
192.168.1.0 255.255.255.0 192.168.1.10 192.168.1.10
192.168.1.10 255.255.255.255 127.0.0.1 127.0.0.1
192.168.1.255 255.255.255.255 192.168.1.10 192.168.1.10
224.0.0.0 240.0.0.0 192.168.1.10 192.168.1.10
255.255.255.255 255.255.255.255 192.168.1.10 192.168.1.10
Основной шлюз (Default Gateway): 192.168.1.1 =========================================================================== Постоянные маршруты (Persistent Routes): Отсутствует (None)

Список интерфейсов — список сетевых адаптеров, установленных в компьютере. Интерфейс MS TCP Loopback interface присутствует всегда и предназначен для обращения узла к самому себе. Интерфейс Realtek RTL8139 Family PCI Fast Ethernet NIC — сетевая карта.

Далее идет сама таблица маршрутов. Каждая строка таблицы — это маршрут для какой-либо IP-сети. Ее столбцы:

Сетевой адрес — диапазон IP-адресов, которые достижимы с помощью данного маршрута.

Маска сети — маска подсети, в которую отправляется пакет с помощью данного маршрута.

Адрес шлюза — IP-адрес узла, на который пересылаются пакеты, соответствующие данному маршруту.

Интерфейс — обозначение сетевого интерфейса данного компьютера, на который пересылаются пакеты, соответствующие маршруту.

Метрика — условная стоимость маршрута. Если для одной и той же сети есть несколько маршрутов, то выбирается маршрут с минимальной стоимостью. Как правило, метрика — это количество маршрутизаторов, которые должен пройти пакет, чтобы попасть в нужную сеть.

Проанализируем некоторые строки таблицы.

Первая строка таблицы соответствует значению основного шлюза в конфигурации TCP/IP данной станции. Сеть с адресом «0.0.0.0» обозначает «все остальные сети, не соответствующие другим строкам данной таблицы маршрутизации».

Вторая строка — маршрут для отправки пакетов от узла самому себе.

Третья строка (сеть 192.168.1.0 с маской 255.255.255.0) — маршрут для отправки пакетов в локальной IP-сети (т.е. той сети, в которой расположена данная рабочая станция).

Последняя строка — широковещательный адрес для всех узлов локальной IP-сети.

Последняя строка на Рис. 3.6 — список постоянных маршрутов рабочей станции. Это статические маршруты, которые созданы командой route print. В данном примере нет ни одного такого статического маршрута.

Теперь рассмотрим сервер с системой Windows 2003 Server, с тремя сетевыми адаптерами:

— Адаптер 1 — расположен во внутренней сети компании (IP-адрес — 192.168.1.10, маска подсети — 255.255.255.0);

— Адаптер 2 — расположен во внешней сети Интернет-провайдера ISP-1 (IP-адрес — 213.10.11.2, маска подсети — 255.255.255.248, ближайший интерфейс в сети провайдера — 213.10.11.1);

— Адаптер 3 — расположен во внешней сети Интернет-провайдера ISP-2 (IP-адрес — 217.1.1.34, маска подсети — 255.255.255.248, ближайший интерфейс в сети провайдера — 217.1.1.33).

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

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

В данном случае команда route print выдаст таблицу маршрутизации, изображенную на Рис. 3.7.

C:\>route print IPv4 таблица маршрута =========================================================================== Список интерфейсов (Interface List) 0x1 . MS TCP Loopback interface 0x10002 . 00 53 45 00 00 00 . WAN (PPP/SLIP) Interface 0x10003 . 00 03 47 97 61 81 . Intel(R) 10/100 Network Adapter 0x10004 . 00 02 b3 a6 be 48 . Intel(R) PRO/100 Adapter 0x10005 . 00 d0 b7 b7 fd df . Intel 8255x-based PCI Ethernet Adapter (10/100) =========================================================================== =========================================================================== Активные маршруты (Active Routes):
Сетевой адрес (Network Destination) Маска сети (Netmask) Адрес шлюза (Gateway) Интерфейс (Interface) Метрика (Metric)
0.0.0.0 0.0.0.0 213.10.11.1 213.10.11.2
196.15.20.16 255.255.255.0 217.1.1.33 217.1.1.33
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1
192.168.1.0 255.255.255.0 192.168.1.1 192.168.1.1
192.168.1.1 255.255.255.255 127.0.0.1 127.0.0.1
192.168.1.255 255.255.255.255 192.168.1.1 192.168.1.1
192.168.10.1 255.255.255.255 127.0.0.1 127.0.0.1
213.10.11.0 255.255.255.248 213.10.11.2 213.10.11.2
213.10.11.2 255.255.255.255 127.0.0.1 127.0.0.1
213.10.11.255 255.255.255.255 213.10.11.2 213.10.11.2
217.1.1.32 255.255.255.248 217.1.1.33 217.1.1.33
217.1.1.34 255.255.255.255 127.0.0.1 127.0.0.1
217.1.1.255 255.255.255.255 217.1.1.34 217.1.1.34
224.0.0.0 240.0.0.0 192.168.1.1 192.168.1.1
224.0.0.0 240.0.0.0 213.10.11.2 213.10.11.2
224.0.0.0 240.0.0.0 217.1.1.34 217.1.1.34
255.255.255.255 255.255.255.255 192.168.1.1 192.168.1.1
255.255.255.255 255.255.255.255 213.10.11.2 213.10.11.2
255.255.255.255 255.255.255.255 217.1.1.34 217.1.1.34
Основной шлюз (Default Gateway): 213.10.11.1 =========================================================================== Постоянные маршруты (Persistent Routes): Отсутствует (None)

В таблице в списке интерфейсов отображены три сетевых адаптера разных моделей, адаптер обратной связи (MS TCP Loopback interface) и WAN (PPP/SLIP) Interface — интерфейс для доступа в сеть через модемный пул.

Отметим особенности таблицы маршрутов сервера с несколькими сетевыми интерфейсами.

Первая строка похожа на первую строку в таблице рабочей станции. Она также соответствует значению основного шлюза в конфигурации TCP/IP данной станции. Заметим, что только на одном интерфейсе можно задавать параметр «Основной шлюз». В данном случае этот параметр был задан на одном из внешних интерфейсов (это же значение отражено и в конце таблице в строке «Основной шлюз»).

Как и в рабочей станции, для каждого интерфейса есть маршруты как для unicast-пакетов, так и для широковещательных (broadcast) для каждой подсети.

Во второй строке содержится статический маршрут, сконфигурированный в консоли Службы маршрутизации и удаленного доступа, для пересылки пакетов в сеть 196.15.20.16/24.

Поддержка таблиц маршрутизации.

Есть два способа поддержки актуального состояния таблиц маршрутизации: ручной и автоматический.

Ручной способ подходит для небольших сетей. В этом случае в таблицы маршрутизации вручную заносятся статические записи для маршрутов. Записи создаются либо командой route add, либо в консоли Службы маршрутизации и удаленного доступа.

В больших сетях ручной способ становится слишком трудоемким и чреват ошибками. Автоматическое построение и модификация таблиц маршрутизации производится так называемыми «динамическими маршрутизаторами». Динамические маршрутизаторы отслеживают изменения в топологии сети, вноят необходимые изменения в таблицы маршрутов и обмениваются данной информацией с другими маршрутизаторами, работающими по тем же протоколам маршрутизации. В Windows Server реализована динамическая маршрутизация в Службе маршрутизации и удаленного доступа. В данной службе реализованы наиболее распространенные протоколы маршрутизации — протокол RIP версий 1 и2 и протокол OSPF.
3.2 Служба DNS (домены, зоны; зоны прямого и обратного просмотра; основные и дополнительные зоны; рекурсивный и итеративный запросы на разрешение имен).

Историческая справка: Систему доменных имен разработал в 1983 году Пол Мокапетрис. Тогда же было проведено первое успешное тестирование DNS, ставшей позже одним из базовых компонентов сети Internet. С помощью DNS стало возможным реализовать масштабируемый распределенный механизм, устанавливающий соответствие между иерархическими именами сайтов и числовыми IP-адресами.

В 1983 году Пол Мокапетрис работал научным сотрудником института информатики (Information Sciences Institute, ISI), входящего в состав инженерной школы университета Южной Калифорнии (USC). Его руководитель, Джон Постел, предложил Полу придумать новый механизм, устанавливающий связи между именами компьютеров и адресами Internet, — взамен использовавшемуся тогда централизованному каталогу имен и адресов хостов, который поддерживала калифорнийская компания SRI International.

«Все понимали, что старая схема не сможет работать вечно, — вспоминает Мокапетрис. — Рост Internet становился лавинообразным. К сети, возникшей на основе проекта ARPANET, инициированного Пентагоном, присоединялись все новые и новые компании и исследовательские институты».

Предложенное Мокапетрисом решение — DNS — представляло собой распределенную базу данных, которая позволяла организациям, присоединившимся к Internet, получить свой домен.

«Как только организация подключалась к сети, она могла использовать сколь угодно много компьютеров и сама назначать им имена», — подчеркнул Мокапетрис. Названия доменов компаний получили суффикс .com, университетов — .edu и так далее.

Первоначально DNS была рассчитана на поддержку 50 млн. записей и допускала безопасное расширение до нескольких сотен миллионов записей. По оценкам Мокапетриса, сейчас насчитывается около 1 млрд. имен DNS, в том числе почти 20 млн. общедоступных имен. Остальные принадлежат системам, расположенным за межсетевыми экранами. Их имена неизвестны обычным Internet-пользователям.

Новая система внедрялась постепенно, в течение нескольких лет. В это время ряд исследователей экспериментировали с ее возможностями, а Мокапетрис занимался в ISI обслуживанием и поддержанием стабильной работы «корневого сервера», построенного на мэйнфреймах компании Digital Equipment. Копии таблиц хостов хранились на каждом компьютере, подключенном к Internet, еще примерно до 1986 года. Затем начался массовый переход на использование DNS.

Необходимость отображения имен сетевых узлов в IP-адреса

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

Есть два таких механизма — локальный для каждого компьютера файл hosts и централизованная иерархическая служба имен DNS.

Использование локального файла hosts и системы доменных имен DNS для разрешения имен сетевых узлов

На начальном этапе развития сетей, когда количество узлов в каждой сети было небольшое, достаточно было на каждом компьютере хранить и поддерживать актуальное состояние простого текстового файла, в котором содержался список сетевых узлов данной сети. Список устроен очень просто — в каждой строке текстового файла содержится пара «IP-адрес — имя сетевого узла». В системах семейства Windows данный файл расположен в папке “%system root%\system32\drivers\etc” (где %system root% обозначает папку, в которой установлена операционная система). Сразу после установки системы Windows создается файл hosts с одной записью «127.0.0.1 localhost».

С ростом сетей поддерживать актуальность и точность информации в файл hosts становится все труднее. Для этого надо постоянно обновляя содержимое этого файла на всех узлах сети. Кроме того, такая простая технология не позволяет организовать пространство имен в какую-либо структуру. Поэтому появилась необходимость в централизованной базе данных имен, позволяющей производить преобразование имен в IP-адреса без хранения списка соответствия на каждом компьютере. Такой базой стала DNS (Domain Name System) — система именования доменов, которая начала массовую работу в 1987 году.

Заметим, что с появлением службы DNS актуальность использования файла host совсем не исчезла, в ряде случаев использование этого файла оказывается очень эффективным.

Служба DNS: пространство имен, домены

DNS — это иерархическая база данных, сопоставляющая имена сетевых узлов и их сетевых служб IP-адресам узлов. Содержимое этой базы, с одной стороны, распределено по большому количеству серверов службы DNS, а с другой стороны, является централизованно управляемым. В основе иерархической структуры базы данных DNS лежит доменное пространство имен (domain namespace), основной структурной единицей которого является домен, объединяющий сетевые узлы (хосты), а также поддомены. Процесс поиска в БД службы DNS имени некого сетевого узла и сопоставления этому имени IP-адреса называется «разрешением имени узла в пространстве имен DNS».

Служба DNS состоит из трех основных компонент:

Пространство имен DNS и соответствующие ресурсные записи (RR, resource record) — это сама распределенная база данных DNS;

Серверы имен DNS — компьютеры, хранящие базу данных DNS и отвечающие на запросы DNS-клиентов;

DNS-клиенты (DNS-clients, DNS-resolvers) —компьютеры, посылающие запросы серверам DNS для получения ресурсных записей.


Пространство имен DNS — иерархическая древовидная структура, начинающаяся с корня, не имеющего имени и обозначаемого точкой “.”. Схему построения пространства имен DNS лучше всего проиллюстрировать на примере сети Интернет (Рис. 3.8).

Для доменов 1-го уровня различают 3 категории имен:

ARPA — специальное имя, используемое для обратного разрешения DNS (из IP-адреса в полное имя узла);

Общие (generic) имена 1-го уровня — 16 (на данный момент) имен, назначение которых приведено в таблице 3.4;

Двухбуквенные имена для стран — имена для доменов, зарегистрированных в соответствующих странах (например, ru — для России, ua — для Украины, uk — для Великобритании и т.д.).

Имя домена Назначение
aero Сообщества авиаторов
biz Компании (без привязки к стране)
com Коммерческие организации, преимущественно в США (например, домен microsoft.com для корпорации Microsoft)
coop Кооперативы
edu Образовательные учреждения в США
gov Правительственные учреждения США
info Домен для организаций, предоставляющих любую информацию для потребителей
int международные организации (например, домен nato.int для НАТО)
mil Военные ведомства США
museum Музеи
name Глобальный домен для частных лиц
net Домен для Интернет-провайдеров и других организаций, управляющих структурой сети Интернет
org Некоммерческие и неправительственные организации, преимущественно в США
pro Домен для профессиональных объединений (врачей, юристов, бухгалтеров и др.)
job Кадровые агентства
travel Туроператоры

Для непосредственного отображения пространства имен в пространство IP-адресов служат т.н. ресурсные записи (RR, resource record). Каждый сервер DNS содержит ресурсные записи для той части пространства имен, за которую он несет ответственность (authoritative). Таблица 3.5 содержит описание наиболее часто используемых типов ресурсных записей.

Тип ресурсной записи Функция записи Описание испоьзования
A Host Address Адрес хоста, или узла Отображает имя узла на IP-адрес (например, для домена microsoft.com узлу с именем www.microsoft.com сопоставляется IP-адрес с помощью такой записи: www A 207.46.199.60)
CNAME Canonical Name (alias) Какноническое имя (псевдоним) Отображает одно имя на другое
MX Mail Exchanger Обмен почтой Управляет маршрутизация почтовых сообщений для протокола SMTP
NS Name Server Сервер имен Указывает на серверы DNS, ответственные за конкретный домен и его поддомены
PTR Pointer Указатель Используется для обратного разрешения IP-адресов в имена узлов в домене in-addr.arpa
SOA Start of Authority Начальная запись зоны Используется для указания основного сервера для данной зоны и описания свойств зоны
SRV Service Locator Указатель на службу Используется для поиска серверов, на которых функционируют определенные службы (например, контроллеры доменов Active Directory или серверы глобального каталога)

Полное имя узла (FQDN, fully qualified domain name) состоит из нескольких имен, называемых метками (label) и разделенных точкой. Самая левая метка относится непосредственно к узлу, остальные метки — список доменов от домена первого уровня до того домена, в котором находится узел (данный список просматривается справа налево).

Серверы имен DNS.

Серверы имен DNS (или DNS-серверы) — это компьютеры, на которых хранятся те части БД пространства имен DNS, за которые данные серверы отвечают, и функционирует программное обеспечение, которое обрабатывает запросы DNS-клиентов на разрешение имен и выдает ответы на полученные запросы.

DNS-клиент — это любой сетевой узел, который обратился к DNS-серверу для разрешения имени узла в IP-адрес или, обратно, IP-адреса в имя узла.

Служба DNS: домены и зоны

Как уже говорилось выше, каждый DNS-сервер отвечает за обслуживание определенной части пространства имен DNS. Информация о доменах, хранящаяся в БД сервера DNS, организуется в особые единицы, называемые зонами (zones). Зона — основная единица репликации данных между серверами DNS. Каждая зона содержит определенное количество ресурсных записей для соответствующего домена и, быть может, его поддоменов.

Системы семейства Windows Server поддерживают следующие типы зон:

Стандартная основная(standard primary) — главная копия стандартной зоны; только в данном экземпляре зоны допускается производить какие-либо изменения, которые затем реплицируются на серверы, хранящие дополнительные зоны;

Стандартная дополнительная(standard secondary) — копия основной зоны, доступная в режиме «только-чтение», предназначена для повышения отказоустойчивости и распределения нагрузки между серверами, отвечающими за определенную зону; процесс репликации изменений в записях зон называется «передачей зоны» (zone transfer)
(информация в стандартных зонах хранится в тестовых файлах, файлы создаются в папке «%system root%\system32\dns», имя файла, как правило, образуется из имени зоны с добавлением расширения файла «.dns»; термин «стандартная» используется только в системах семейства Windows);

Интегрированная в Active Directory(Active Directory–integrated) — вся информация о зоне хранится в виде одной записи в базе данных Active Directory (такие типы зон могут существовать только на серверах Windows, являющихся контроллерами доменов Active Directory; в интегрированных зонах можно более жестко управлять правами доступа к записям зоны; изменения в записях зоны между разными экземплярами интегрированной зоны производятся не по технологии передачи зоны службой DNS, а механизмами репликации службы Active Directory);

Зона-заглушка (stub; только в Windows 2003) — особый тип зоны, которая для данной части пространства имен DNS содержит самый минимальный набор ресурсных записей (начальная запись зоны SOA, список серверов имен, отвечающих за данную зону, и несколько записей типа A для ссылок на серверы имен для данной зоны).

Рассмотрим на примере соотношение между понятиями домена и зоны. Проанализируем информацию, представленную на рис. 3.9.

В данном примере пространство имен DNS начинается с домена microsoft.com, который содержит 3 поддомена: sales.microsoft.com, it.microsoft.com и edu.microsoft.com (домены на рисунке обозначены маленькими горизонтальными овалами). Домен — понятие чисто логическое, относящееся только к распределению имен — древовидная структура доменов и поддоменов и для каждого домена свой список узлов. Понятие домена никак не связано с технологией хранения информации о домене. Зона — это способ представления информации о домене и его поддоменах в хранилище тех серверов DNS, которые отвечают за данный домен и поддомены. В данной ситуации, если для хранения выбрана технология стандартных зон, то размещение информации о доменах может быть реализовано следующим образом:

— записи, относящиеся к доменам microsoft.com и edu.microsoft.com, хранятся в одной зоне в файле «microsoft.com.dns» (на рисунке зона обозначена большим наклонным овалом);

— управление доменами sales.microsoft.com и it.microsoft.com делегировано другим серверам DNS, для этих доменов на других серверах созданы соответствующие файлы «sales.microsoft.com.dns» и «it.microsoft.com.dns» (данные зоны обозначены большими вертикальными овалами).

Делегирование управления — передача ответственности за часть пространства имен другим серверам DNS.

Зоны прямого и обратного просмотра

Зоны, рассмотренные в предыдущем примере, являются зонами прямого просмотра (forward lookup zones). Данные зоны служат для разрешения имен узлов в IP-адреса. Наиболее часто используемые для этого типы записей: A, CNAME, SRV.

Для определения имени узла по его IP-адресу служат зоны обратного просмотра (reverse lookup zones), основной тип записи в «обратных» зонах — PTR. Для решения данной задачи создан специальный домен. с именем «in-addr.arpa». Для каждой IP-сети в таком домене создаются соответствующие поддомены, образованные из идентификатора сети, записанного в обратном порядке. Записи в такой зоне будут сопоставлять идентификатору узла полное FQDN-имя данного узла. Например, для IP-сети 192.168.0.0/24 необходимо создать зону с именем «0.168.192.in-addr.arpa». Для узла с IP-адресом 192.168.0.10 и именем host.company.ru в данной зоне должна быть создана запись «10 PTR host.company.ru».

Алгоритмы работы итеративных и рекурсивных запросов DNS

Все запросы, отправляемые DNS-клиентом DNS-серверу для разрешения имен, делятся на два типа:

— итеративные запросы (клиент посылает серверу DNS запрос, в котором требует дать наилучший ответ без обращений к другим DNS-серверам);

— рекурсивные запросы (клиент посылает серверу DNS запрос, в котором требует дать окончательный ответ даже если DNS-серверу придется отправить запросы другим DNS-серверам; посылаемые в этом случае другим DNS-серверам запросы будут итеративными).

Обычные DNS-клиенты (например, рабочие станции пользователей), как правило, посылают рекурсивные запросы.

Рассмотрим на примерах, как происходит взаимодействие DNS-клиента и DNS-сервера при обработке итеративных и рекурсивных запросов.

Допустим, что пользователь запустил программу Обозреватель Интернета и ввел в адресной строке адрес «http://www.microsoft.com». Прежде чем Обозреватель установит сеанс связи с веб-сайтом по протоколу HTTP, клиентский компьютер должен определить IP-адрес веб-сервера. Для этого клиентская часть протокола TCP/IP рабочей станции пользователя (так называемый resolver) сначала просматривает свой локальный кэш разрешенных ранее имен в попытке найти там имя «www.microsoft.com». Если имя не найдено, то клиент посылает запрос DNS-серверу, указанному в конфигурации TCP/IP данного компьютера (назовем данный DNS-сервер «локальным DNS-сервером»), на разрешение имени «www.microsoft.com» в IP-адрес данного узла. Далее DNS-сервер обрабатывает запрос в зависимости от типа запроса.

Вариант 1 (итеративный запрос).

Если клиент отправил серверу итеративный запрос (напомним, что обычно клиенты посылают рекурсивные запросы), то обработка запроса происходит по следующей схеме:

— сначала локальный DNS-сервер ищет среди зон, за которые он отвечает, зону «microsoft.com»; если такая зона найдена, то в ней ищется запись для узла www; если запись найдена, то результат поиска сразу же возвращается клиенту;
в противном случае локальный DNS-сервер ищет запрошенное имя «www.microsoft.com» в своем кэше разрешенных ранее DNS-запросов; если искомое имя есть в кэше, то результат поиска возвращается клиенту;
если локальный DNS-сервер не нашел в своей базе данных искомую запись, то клиенту посылается IP-адрес одного из корневых серверов DNS;

— клиент получает IP-адрес корневого сервера и повторяет ему запрос на разрешение имени «www.microsoft.com»;
корневой сервер не содержит в своей БД зоны «microsoft.com», но ему известны DNS-серверы, отвечающие за зону «com», и корневой сервер посылает клиенту IP-адрес одного из серверов, отвечающих за эту зону;

— клиент получает IP-адрес сервера, отвечающего за зону «com», и посылает ему запрос на разрешение имени «www.microsoft.com»;
сервер, отвечающий за зону «com», не содержит в своей БД зоны «microsoft.com», но ему известны DNS-серверы, отвечающие за зону «microsoft.com», и данный DNS-сервер посылает клиенту IP-адрес одного из серверов, отвечающих уже за зону «microsoft.com»;

— клиент получает IP-адрес сервера, отвечающего за зону «microsoft.com», и посылает ему запрос на разрешение имени «www.microsoft.com»;
сервер, отвечающий за зону «microsoft.com», получает данный запрос, находит в своей базе данных IP-адрес узла www, расположенного в зоне «microsoft.com», и посылает результат клиенту;
клиент получает искомый IP-адрес, сохраняет разрешенный запрос в своем локальном кэше и передает IP-адрес веб-сайта программе Обозреватель Интернета (после чего Обзреватель устанавливает связь с веб-сайтом по протоколу HTTP).

Вариант 2 (рекурсивный запрос).

Если клиент отправил серверу рекурсивный запрос, то обработка запроса происходит по такой схеме:

— сначала локальный DNS-сервер ищет среди зон, за которые он отвечает, зону «microsoft.com»; если такая зона найдена, то в ней ищется запись для узла www; если запись найдена, то результат поиска сразу же возвращается клиенту;
в противном случае локальный DNS-сервер ищет запрошенное имя «www.microsoft.com» в своем кэше разрешенных ранее DNS-запросов; если иск

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Сдача сессии и защита диплома — страшная бессонница, которая потом кажется страшным сном. 8773 — | 7145 — или читать все.

Небольшой Блог Системного Администратора

Сложно ли рассчитать маску сети? Как по сетевой масске рассчитать количество адресов? Это очень просто. Для этого достаточно знать действия первого класса обычной школы и знать степени числа 2. Сетевой адрес состоит из двух частей: адреса сети и адреса хоста в этой сети. А маска сети как раз и является той разделительной чертой, которая разделяет эти адреса.

Теория: маска сети определяет, сколько бит в IP адресе идентифицирует сеть. Рассмотрим частные адреса (RFC1918) из сети класса «С»: они занимают диапазон 192.168.0.0 — 192.168.255.255. Маска этого сегмента 192.168.0.0/16.

Как рассчитать, сколько это адресов?

Запись 192.168.0.0/16 (255.255.0.0) означает, что под адрес сети занято 16 бит. Если адрес перевести в двоичное исчисление, то первые 16 бит это – 192.168. Это и есть адрес сети: 192.168.0.0.

Практика: адрес сети это первый адрес, данного сегмента. Этот адрес нельзя назначить никакому хосту. Если сеть задана в таком виде, то адреса типа : 192.168.1.0, 192.168.1.255 это просто адреса хостов, при такой маске их можно назначать компьютерам. Но если задать сеть как 192.168.1.0/24, то оба вышеуказанных адреса назначить каким-либо устройствам не удастся. В этом случае, первый адрес является адресом сети, а второй broadcast адресом для этой сети.

Broadcast адрес это второй служебный адрес для каждой сети. Он нужен для рассылки всем адресам сети. Если послать сетевой пакет на этот адрес, то он придет на все адреса своего сегмента сети. Broadcast адрес всегда последний адрес сети. Поэтому назначить адресов в любой сети можно всегда на два адреса меньше. В случае всего сегмента частых адресов класса «С» это адреса: 192.168.0.0 и 192.168.255.255.

Теперь как посчитать, сколько же адресов может быть в сети. Важное замечание: адресов в любой сети всегда четное! Более того, оно всегда кратно степени двойки. То есть число адресов – это число, равное два в степени: число бит, оставшееся от вычитания количества бит под адрес сети из полного числа бит. Всего в адресе 32 бита, в нашем случае под адрес сети выделено 16 бит, под адреса остается тоже 16. Это значит, чтобы узнать количество адресов в данной сети надо два возвести в 16 степень. Это будет 65536 адресов. Сеть такого масштаба вряд ли кому то нужна. Чаще бывают более мелкие сети. Например, маска /30 означает, что под адреса остается только 2 бита. Соответственно, два во второй степени будет четыре. Сколько же адресов можно использовать в такой сети для назначения устройствам? Правильный ответ: всего один! Потому что, как выяснили ранее, два адреса в каждой сети служебные. Остается два адреса. Но если мы хотим подключить компьютер с адресом с такой маской в сеть, то нам нужно будет ещё выделить адрес в этой сети для маршрутизатора, через который можно будет попасть в другие сети, поскольку в данной сети других адресов нет.

Крайние случаи: /0 и /32. Маска /0 означает все адреса, весь интернет. Маска /32 означает единичный хост. Такие адреса провайдеры выделяют для экономии. Соединение в таком случае возможно только точка-точка. То есть используется протокол PPP.

Расчет маски в нотации 255.255.255.0 довольно просто в случае, если первые 3 октета 255. В противном случае надо переводить десятичное число в двоичное и выяснять количество бит, которое оно означает. Либо вычитать это число из 256 и определить в какую степень нужно возвести двойку, чтобы получить это число. Степень и будет равна числу бит. В случае, если маска определяется только последним октетом, можно посчитать следующим образом. Максимальное число адресов в данной ситуации 256, нумерация начинается с нуля! Если последний октет 255 – это соответствует маске /32 и означает единичный хост. Если последний октет ноль, то этот случай соответствует маске /24 и адресов в данной сети – 256. промежуточные варианты определяются также, как я описал чуть выше. Например, последний октет 240. Вычитаем это число из 256, получаем 16. В сети с такой маской может быть 16 адресов и соответственно можно включить 14 компьютеров. А если такую сеть выделил провайдер, то только 13, так как один адрес придется использовать под маршрутизатор. Как видите все просто. Теперь как перевести из одного представления маски в другое. Возьмем опять маску 255.255.255.240. В такой сети может быть 16 адресов. 16 – это два в четвертой степени. Следовательно, под адреса выделено 4 бита. Значит под сеть – 28. Маска по C >

В заключение ещё один момент. Адреса сети имеют определенные значения. От маски сети зависит, какие значения они могут принимать. Для простоты возьмем сеть 192.168.1.0/24. в этой сети только один адрес сети: 192.168.1.0. Меняем маску на 25. В этом случае адресов в сети может только 128. наша сеть разбивается на две: 192.168.1.0/25 и 192.168.1.128/25. Если передадим ещё один бит маске сети — /26, то сетей будет уже 4 по 64 адреса: 192.168.1.0/26, 192.168.1.64/26, 192.168.1.128/26 и 192.168.1.192/26 и так далее. Думаю, что теперь каждый сможет определить, сколько адресов, какой адрес сети и какой адрес broadcast для сети 196.68.1.120/27.

Пример деления сети на меньшие подсети из блога компании Selectel:

Илон Маск рекомендует:  Что такое код asp hcmaxdiskspaceusage
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL