Перейти к содержимому

Какие ip адреса хостов являются некорректными

  • автор:

Понимание основ создания адресов TCP/IP и организации подсетей

Эта статья предназначена как общее введение в понятия сетей с межсетевым протоколом (IP) и организации подсетей. В конце статьи приводится глоссарий.

Применяется к: Windows 10 — все выпуски
Оригинальный номер базы знаний: 164015

Сводка

При настройке протокола TCP/IP на компьютере Windows для параметров конфигурации TCP/IP требуются:

  • IP-адрес
  • Маска подсети
  • Шлюз по умолчанию

Чтобы правильно настроить TCP/IP, необходимо понять, как создаются адреса для сетей TCP/IP и как они разделяются на сети и подсети.

Успех TCP/IP как сетевого протокола Интернета во многом объясняется его способностью подключать сети разных размеров и системы разных типов. Эти сети произвольно подразделяются на три основных класса (наряду с несколькими другими), которые имеют заранее определенные размеры. Каждая из них может быть разделена системными администраторами на более мелкие подсети. Маска подсети используется для разделения IP-адреса на две части. Одна часть определяет хост (компьютер), другая — сеть, к которой она принадлежит. Чтобы лучше понять, как работают IP-адреса и маски подсети, взгляните на IP-адрес и узнайте, как он организован.

IP-адреса: сети и хосты

IP-адрес — это 32-битный номер. Он уникально идентифицирует хост (компьютер или другое устройство, например, принтер или маршрутизатор) в сети TCP/IP.

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

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

Эти 8-битные разделы называются октетами. IP-адрес из этого примера будет иметь вид 11000000.10101000.01111011.10000100. Это число имеет немного больше смысла, поэтому для большинства применений преобразуем двоичный адрес в десятичное представление с точками (192.168.123.132). Десятичные числа, разделенные точками, — это октеты, преобразованные из двоичного представления в десятичное.

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

Чтобы этот процесс работал, IP-адрес состоит из двух частей. Первая часть IP-адреса используется в качестве сетевого адреса, последняя — как адрес хоста. Если взять пример адреса 192.168.123.132 и разделить его на эти две части, вы получите сеть 192.168.123. с хостом .132 или 192.168.123.0 — адрес сети. 0.0.0.132 — адрес хоста.

Маска подсети

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

В протоколе TCP/IP части IP-адреса, которые используются в качестве сетевых адресов и адресов хоста, не исправляются. Если у вас нет дополнительных сведений, то сетевые адреса и адреса хоста выше не могут быть определены. Эти сведения предоставляются в другом 32-битовом номере, который называется маской подсети. В этом примере маска подсети — 255.255.255.0. Неочевидно, что означает это число, если вы не знаете, что 255 в двоичном представлении равно 11111111. Таким образом, маска подсети будет иметь вид 11111111.11111111.11111111.00000000.

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

110000000.10101000.01111011.10000100 — IP-адрес (192.168.123.132)
11111111.11111111.11111111.00000000 — маска подсети (255.255.255.0)

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

11000000.10101000.01111011.00000000 — адрес сети (192.168.123.0)
00000000.00000000.00000000.10000100 — адрес узла (000.000.000.132)

Из данного примера с использованием маски подсети 255.255.255.0 видно, что код сети 192.168.123.0, а адрес узла 0.0.0.132. Когда пакет с конечным адресом 192.168.123.132 доставляется в сеть 192.168.123.0 (из локальной подсети или удаленной сети), компьютер получит его из сети и обработает.

Почти все десятичные маски подсети преобразовываются в двоичные числа, представленные единицами слева и нолями справа. Вот еще некоторые распространенные маски подсети:

Десятичный Binary
255.255.255.192 1111111.11111111.1111111.11000000
255.255.255.224 1111111.11111111.1111111.11100000

Internet RFC 1878 (доступен на InterNIC—Публичная информация об услугах регистрации доменных имен в сети Интернет) описывает действующие подсети и маски подсетей, используемые в сетевых протоколах TCP/IP.

Классы сетей

Интернет-адреса распределяются организацией InterNIC, которая администрирует Интернет. Эти IP-адреса распределены по классам. Наиболее распространены классы A, B и C. Классы D и E существуют, но не используются конечными пользователями. Каждый из классов адресов имеет свою маску подсети по умолчанию. Определить класс IP-адреса можно по его первому октету. Ниже описаны интернет-адреса классов A, B и C с примером адреса для каждого класса.

  • Сети класса A по умолчанию используют маску подсети 255.0.0.0 и имеют значения от 0 до 127 в первом октете. Адрес 10.52.36.11 является адресом класса A. В первом октете число 10, которое находится между 1 и 126 включительно.
  • Сети класса B по умолчанию используют маску подсети 255.255.0.0 и имеют в первом октете значение от 128 до 191. Адрес 172.16.52.63 является адресом класса B. В первом октете число 172, которое находится между 128 и 191 включительно.
  • Сети класса C по умолчанию используют маску подсети 255.255.255.0 и имеют в первом октете значение от 192 до 223. Адрес 192.168.123.132 является адресом класса C. В первом октете число 192, которое находится между 192 и 223 включительно.

В некоторых случаях значения маски подсети по умолчанию не соответствуют потребностям организации по какой-либо из следующих причин:

  • Физическая топология сети
  • Количество сетей (или узлов) не соответствует ограничениям маски подсети по умолчанию.

В следующем разделе описано распределение сетей с помощью масок подсети.

Образование подсетей

TCP/IP-сеть класса A, B или C может еще быть разбита на подсети системным администратором. Образование подсетей может быть необходимо при согласовании логической структуры адреса Интернета (абстрактный мир IP-адресов и подсетей) с физическими сетями, используемыми в реальном мире.

Возможно, системный администратор, которому был выделен блок IP-адресов, администрирует сети, организованные не соответствующим для них образом. Например, имеется глобальная сеть с 150 узлами в трех сетях (в разных городах), соединенных маршрутизатором TCP/IP. У каждой из этих трех сетей 50 узлов. Пользователю выделяется сеть класса C 192.168.123.0. (Пример, на самом деле диапазон, к которому принадлежит этот адрес, не выделяется в Интернете.) Это значит, что адреса с 192.168.123.1 по 192.168.123.254 можно использовать для своих 150 узлов.

Адреса 192.168.123.0 и 192.168.123.255 нельзя использовать в данном примере, так как двоичные адреса с составляющей узла из одних единиц и нолей недопустимы. Адрес, состоящий из нулей, недопустим, поскольку он используется для определения сети без указания узла. Адрес с числом 255 (в двоичном обозначении адрес узла, состоящий из одних единиц) используется для доставки сообщения на каждый узел сети. Достаточно запомнить, что первый и последний адрес любой сети и подсети нельзя присваивать отдельному узлу.

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

В этом случае вы делите сеть на четыре подсети, используя маску подсети, которая делает сетевой адрес больше, а возможный диапазон адресов хостов — меньше. Другими словами, вы «заимствуете» некоторые биты, которые используются для адреса хоста, и используете их для сетевой части адреса. Маска подсети 255.255.255.192 предоставляет четыре сети по 62 хостов каждая. Это работает, так как в двоичном представлении 255.255.255.192 — это то же самое, что и 11111111.1111111.110000000. Первые две цифры последнего октета становятся сетевыми адресами, поэтому вы получаете дополнительные сети 00000000 (0), 010000000 (64), 10000000 (128) и 110000000 (192). (Некоторые администраторы будут использовать только две подсети, использующие 255.255.255.192 в качестве маски подсети. Дополнительные сведения по этой теме см. в статье RFC 1878.) В этих четырех сетях для адресов узлов можно использовать последние шесть двоичных цифр.

Используя маску подсети 255.255.255.192, ваша сеть 192.168.123.0 становится четырьмя сетями 192.168.123.0, 192.168.123.64, 192.168.123.128 и 192.168.123.192. Эти четыре сети будут иметь такие допустимые адреса хостов:

192.168.123.1-62 192.168.123.65-126 192.168.123.129-190 192.168.123.193-254

Помните, что двоичные адреса хостов со всеми единицами или всеми нулями являются недействительными, поэтому нельзя использовать адреса с последним октетом 0, 63, 64, 127, 128, 191, 192 или 255.

Вы можете увидеть, как это работает, взглянув на два адреса хостов, 192.168.123.71 и 192.168.123.133. Если используется маска подсети класса C по умолчанию 255.255.255.0, оба адреса находятся в сети 192.168.123.0. Однако, если вы используете маску подсети 255.255.255.192, они находятся в разных сетях; 192.168.123.71 — в сети 192.168.123.64, 192.168.123.133 — в сети 192.168.123.128.

Шлюзы по умолчанию

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

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

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

Устранение неполадок

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

Неправильная маска подсети. Если сеть использует другую маску подсети, чем маска по умолчанию для своего класса адресов, и клиент по-прежнему настроен с помощью маски подсети по умолчанию для класса адресов, связь не будет работать с некоторыми соседними сетями, но не с удаленными. Например, если вы создаете четыре подсети (например, в примере подсетей), но используете неправильную маску подсети 255.255.255.0 в конфигурации TCP/IP, хосты не смогут определить, что некоторые компьютеры находятся в других подсетях, чем их собственные. В этой ситуации пакеты, предназначенные для хостов различных физических сетей, которые являются частью одного и того же адреса класса C, не будут отправлены в шлюз по умолчанию для доставки. Распространенным симптомом этой проблемы является то, что компьютер может связываться с хостами, которые находятся в локальной сети, и может общаться со всеми удаленными сетями, за исключением тех сетей, которые находятся поблизости и имеют один и тот же адрес класса A, B или C. Чтобы устранить эту проблему, просто введите правильную маску подсети в конфигурацию TCP/IP для этого хоста.

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

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

  • Одна физическая сеть имеет несколько маршрутизаторов.
  • Неправильный маршрутизатор настроен как шлюз по умолчанию.

Эта проблема распространена, если в организации есть маршрутизатор к внутренней сети TCP/IP и другой маршрутизатор, подключенный к Интернету.

Ссылки

Два популярных источника о TCP/IP:

  • «TCP/IP Illustrated, Volume 1: The Protocols», Richard Stevens, Addison Wesley, 1994
  • «Internetworking with TCP/IP, Volume 1: Principles, Protocols, and Architecture,» Douglas E. Comer, Prentice Hall, 1995

Рекомендуется, чтобы системный администратор, отвечающий за сети TCP/IP, имел хотя бы один из этих источников.

Глоссарий

  • Адрес трансляции — IP-адрес с частью хоста, которая полностью состоит из единиц.
  • Хост — компьютер или другое устройство в сети TCP/IP.
  • Интернет — глобальная коллекция сетей, подключенных друг к другу и имеющих общий диапазон IP-адресов.
  • InterNIC — организация, ответственная за администрирование IP-адресов в Интернете.
  • IP — сетевой протокол, используемый для отправки сетевых пакетов через сеть TCP/IP или Интернет.
  • IP-адрес — уникальный 32-битный адрес для хоста в сети TCP/IP или в Интернете.
  • Сеть — существует два варианта использования термина «сеть» в этой статье. Первый вариант — это группа компьютеров в одном сегменте физической сети. Второй вариант — это диапазон адресов IP-сети, выделенный системным администратором.
  • Сетевой адрес — IP-адрес с частью хоста, которая полностью состоит из нулей.
  • Октет — 8-битный номер, 4 из которых составляют 32-битный IP-адрес. Они имеют диапазон 00000000-11111111, соответствующий десятичным значениям 0–255.
  • Пакет — единица данных, передаваемая через сеть TCP/IP или глобальную сеть.
  • RFC (Запрос на комментарий) — документ, использующийся для определения стандартов в Интернете.
  • Маршрутизатор — устройство, которое передает сетевой трафик между различными IP-сетями.
  • Маска подсети — 32-битный номер, используемый для разграничения сетевой части и части хоста IP-адреса.
  • Подсеть — это сеть меньшего размера, созданная путем деления более крупной сети на равные части.
  • TCP/IP — в широком значении, набор протоколов, стандартов и утилит, обычно используемых в Интернете и крупных сетях.
  • Глобальная сеть (WAN) — большая сеть, которая является коллекцией сетей меньшего размера, разделенных маршрутизаторами. Интернет — пример большой сети WAN.

Обратная связь

Были ли сведения на этой странице полезными?

Какие ip адреса хостов являются некорректными

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

Посколько задачи, требующие обнаружения хостов столь различны, Nmap предоставляет большое разнообразие опций для различных методов. Задачу обнаружения хостов иногда называют пинг сканированием (ping scan), однако она намного превосходит использование обычных ICMP запросов ассоциирующихся с вездесущими ping утилитами. Пользователи могут полностью пропустить шаг пинг сканирования с помощью опции сканирования с целью составления списка ( -sL ) или просто отключив его ( -PN ), или сканировать сеть с помощью произвольных комбинаций мультипортовых TCP SYN/ACK, UDP и ICMP запросов. Целью всех этих запросов является получение ответов, указывающих, что IP адрес в настоящее время активен (используется хостом или сетевым устройством). В большинстве сетей лишь небольшой процент IP адресов активен постоянно. Это особенно характерно для адресных пространств вида 10.0.0.0/8. Такие сети имеют 16 млн. IP адресов, но я видел, как они используются компаниями, в которых не более тысячи машин. Функция обнаружения хостов может найти эти машины в этом необъятном море IP адресов.

Если не задано никаких опций обнаружения хостов, то Nmap посылает TCP ACK пакет на порт 80 и запрос на ICMP эхо ответ кажодй целевой машине. Исключение составляет ARP сканировании всех целей в сети. Для непривилегированных пользователей Unix оболочки, вместо ACK пакета посылается SYN используя системный вызов connect Эти умолчания равнозначны опциям -PA -PE . Такое сканирование достаточно для локальных сетей, но для исследования безопасности необходимо использовать более сложные наборы запросов.

Опции -P* (определяющие тип пинг сканирования) могут комбинироваться. Вы можете увеличить шансы обхода строго брандмауэра посылая множество запросов различных типов, используя различные TCP порты/флаги и ICMP коды. Также имейте в виду, что даже если вы определите различные -P* опции, по умолчанию применительно к целям локальной сети будет производиться и ARP сканирование ( -PR ) , т.к. оно почти всегда быстрее и более эффективно.

По умолчанию после обнаружения хостов Nmap начинает сканирование портов каждой активной машины. Так будет, даже если вы укажите на использование нестандартных методов обнаружения хостов, например, с использованием UDP запросов ( -PU ). Прочтите об опции -sP , чтобы узнать, как выполнить только обнаружение хостов, или используйте опцию -PN , чтобы пропустить обнаружение хостов и осуществить сканирование портов всех целевых машин. С помощью следующих опций можно настраивать функцию обнаружения хостов:

-sL (Сканирование с целью составления списка)

Это тип сканирования является «упрощенной» версией функции обнаружения хостов, при помощи которого просто будет создан список хостов заданной сети без посылки каких-либо пакетов целевым машинам. По умолчанию Nmap все же будет осуществлять обратное разрешение DNS с целью узнавания имен хостов. Часто бывает удивительно, как много полезной информации могут содержать обычные имена хостов. Например, fw.chi это имя брандмауэра одной Чикагской компании. В конце Nmap также сообщает общее количество IP адресов. Этот тип сканирования также является хорошим способом проверить, что вы действительно знаете IP адреса необходимых вам целей. Если имена хостов содержат неизвестные вам доменные имена, то стоит провести дальнейшее исследование, чтобы избежать сканирования сети не той компании, которая вам нужна.

Т.к. целью является просто составление списка целевых хостов, то опции с большим уровнем функциональности, такие как сканирование портов, определение ОС или пинг сканирование не могут сочетаться с рассматриваемой опцией. Если вы хотите отключить пинг сканирование, но хотите использовать опции с таким высоким уровнем функциональности, то почитайте об опции -PN .

-sP (Пинг сканирование)

Эта опция указывает Nmap произвести пинг сканирование (определение хостов), а затем вывести список доступных хостов, т.е. тех, которые ответили на запросы. Определение маршрутов и NSE скрипты также используются, если необходимо, однако дальнейшее тестирование (как сканирование портов или определение ОС) не производится. По умолчанию эта опция считается как бы на один шаг более тщательной, чем сканирование с целью составления простого списка хостов, и может быть использована в этих же целях. Она позволяет произвести исследование целевой сети без привлечения внимания. Знание, какие хосты в сети в данный момент работают, для атакующих ценне, чем просто список IP адресов и сетевых имен, предоставляемых опцией -sL.

Эта опция также полезна системным администраторам. Она может быть использована для подсчета количества работающих в сети машин или мониторинга доступности сервера. Это часто называют «пинг чисткой» (ping sweep) и результаты, предоставляемые этой опцией, заслуживают больше доверия, чем обычное пингование широковещательных адресов, т.к. большинство хостов не отвечают на подобные запросы.

По умолчанию опцией -sP посылаются запрос на ICMP это ответ и TCP ACK пакет на порт 80. Когда используется непривилегированным пользователем, посылается только SYN пакет (используя системные вызов connect ) на порт 80 целевой машины. Когда привилегированный пользователь производит сканирование целей локальной сети, то используются ARP запросы до тех пор, пока не будет задано —send-ip . Для большей гибкости опция -sP может быть скомбинирована с любой из опций -P* (за исключением -PN ). Если используется какой-либо из этих типов запросов и опции для задания номеров портов, то запросы по умолчанию (ACK и это ответы) опускаются. Когда между машиной с Nmap и целевой сетью расположен строгий брандмауэр, то рекомедуется использование таких расширенных методов сканирования. Иначе некоторые из хостов могут быть не определены, т.к. брандмауэр заблокировал запрос или ответ.

-PN (Не использовать пинг сканирование)

Указывает Nmap полностью пропустить этап обнаружения хостов. Обычно, Nmap использует этот этап для обнаружения активных машин, к которым можно применить более углубленное сканирование. По умолчанию Nmap производит углубленное сканирование, такое как сканирование портов, определение версии или определение ОС только обнаруженных работающих хостов. После отключения этапа обнаружения хостов опцией -PN , Nmap будет производить сканирование каждого заданого целевого IP адреса. Так что, если для сканирования будет определена сеть с адресным пространством класса B (/16), то будет произведено сканирование всех 65,536 IP адресов. Т.к. этап обнаружения хостов и составления списка целей сканирования пропущен, то Nmap будет исполнять запрошенные функции, как если бы каждый IP адрес был активен. Для машин локальной сети будет произведено ARP сканирование (пока не зададите —send-ip ), т.к. Nmap необходимы MAC адреса для дальнейшего сканирования целевых хостов. Раньше эта опция задавалась флагом P0 (используется нуль), но была переименова, чтобы избежать путаницы с пингованием с использованием IP протокола PO (используется буква O).

-PS (TCP SYN пингование)

Установленные флаг SYN указывает удаленной системе, что вы пытаетесь установить соединение. Если порт назначения закрыт, то в ответ посылается RST (сброс) пакет. Если порт открыт, то удаленная система предпримет второй шаг в 3-ех этапной последовательности установки TCP соединения путем ответа SYN/ACK TCP пакетом. Система, на которой работает Nmap, сбрасывает почти установленное соединение отвечая RST пакетом вместо ACK, что привело бы к установке полного соединения. RST пакет посылается ядром системы, на которой работает Nmap, в ответ на непредвиденный SYN/ACK пакет, а не самой Nmap.

Nmap не важно открыт порт или закрыт. Ответы пакетами RST или SYN/ACK описанными выше, указывают Nmap на то, что хост доступен и может отвечать на запросы.

-PA (TCP ACK пингование)

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

Опция -PA использует тот же порт по умолчанию, что и SYN запросы (80), и так же может принимать в качестве параметра список портов в том же формате. Если эту опцию пытается использовать непривилегированный пользователь или задана цель в формате IPv6, то используется механизм с использованием вызова connect описанный выше. Этот механизм несовершенен, т.к. при использовании вызова connect вместо ACK пакета посылается SYN.

Причина, по которой Nmap предоставляет оба типа пингования (SYN и ACK), состоит в повышении шансов обхода брандмауэров. Многие администраторы конфигурируют роутеры или другие простые брандмауэры на блокировку входящих SYN пакетов за исключением тех, что предназначены для публичных служб, таких как веб сайт или почтовый сервер. Тем самым предотвращаются все остальные соединения, и в то же время пользователи могут беспрепятственно выходить в Интернет. Такой подход не требует много ресурсов от брандмауэров/роутеров и широко поддерживается различными аппаратными и программными фильтрами. для реализации такого подхода имеет опцию —syn . Когда брандмауэр использует такие правила, то запросы с установленным флагом SYN ( -PS ), посланные на закрытые порты, с большой вероятностью будут заблокированы. В таких случаях более выгодно использовать запросы с флагом ACK, т.к. они не попадают под эти правила.

Другим популярным типом сетевого экрана является брандмауэр блокирующий все непредвиденные пакеты. Изначально эта функция поддерживалась только в наиболее продвинутых брандмауэрах, хотя с годами она становится все популярнее. Использующийся в Linux сетевой экран Netfilter/iptables реализует этот механизм с помощью опции —state , которая категоризирует пакеты в зависимости от состояния соединения. Против таких систем лучше использовать пакеты SYN, т.к. непредвиденные пакеты ACK с большой вероятностью будут распознаны как фиктивные и заблокированы. Решение такого затруднительного положение состоит в том, чтобы посылать и SYN и ACK запросы путем задания опций -PS и -PA .

-PU (UDP пингование)

Еще одной функцией используемой для обнаружения хостов является UDP пингование, которая посылает пустой (пока не задана опция —data-length ) UDP пакет на данные порты. Список портов задается в том же формает, что и для описанных выше опций -PS и -PA . Если порты не заданы, то по умолчанию используется 31338. Порт по умолчанию может быть задан во время компиляции путем изменения DEFAULT_UDP_PROBE_PORT_SPEC в nmap.h . По умолчанию выбран не распростаненный порт, т.к. отправка запросов на открытые порты нежелательна для этого типа сканирования.

Целью запроса UDP является получение в ответ ICMP пакета с ошибкой «порт недостижим». Это указывает Nmap на то, что машина работает и доступна. Другие типы ICMP ошибок, такие как хост/сеть недоступна или превышение TTL указывают на то, что машина выключена или недоступна. Отсутствие ответа интерпретируется этим же путем. Если такой запрос посылается на открытый порт, то большинство служб просто игнорируют пустой пакет и не посылают никакого ответа. Поэтому портом по умолчанию является 31338, т.к. он вряд ли будет использоваться какой-либо службой. Лишь некоторые службы, такие как Character Generator (chargen) protocol, ответят на пустой UDP пакет, и это также укажет Nmap на то, что машина доступна.

Основным преимуществом такого типа сканирования является то, что он позволяет обходить брандмауэры, фильтрующие только TCP запросы. Например, однажды у меня был беспроводной широкополосный роутер Linksys BEFW11S4. Внутренний интерфейс этого устройства фильтровал по умолчанию все TCP порты, в то время как в ответ на UDP запросы посылалось сообщение об ошибке «порт недостижим», что делало его работу бесполезной.

-PE ; -PP ; -PM (Типы пинг пакетов ICMP)

В дополнении к нестандратным методам обнаружения хостов с помощью TCP и UDP запросов, Nmap может посылать и стандартные пакеты, используемые вездесущей программой ping . Nmap посылает ICMP пакет типа 8 (эхо запрос) на целевой IP адрес, ожидая в ответ от доступного хоста пакет типа 0 (эхо ответ). К сожалению для сетевых исследователей, многие хосты и брандмауэры теперь блокируют такие пакеты вместо того, чтобы ответить на них, как это требуется в RFC 1122. По этой причине сканеры использующе только ICMP запросы редко бывают полезны при сканировании неизвестных целей в Интернете. Но они могут быть полезны системным администраторам, занимающимся мониторингом внутренней сети. Используйте опцию -PE , чтобы активировать такой тип сканирования.

Но Nmap использует не только стандратный эхо запрос. В стандарте ICMP (RFC 792) также определены запросы временной метки, информационные запросы и запросы адресной маски с кодами 13, 15 и 17 соответственно. Хотя они служат для того, чтобы узнать какую-либо информацию, такую как адресную маску или текущее время, они могут быть легко применены для обнаружения целей. Система, которая отвечает на них, работает и доступна. В настоящее время Nmap не использует информационные запросы, т.к. они не получиил широкого распространения. Стандарт RFC 1122 наставивает на том, что « хост НЕ ДОЛЖЕН посылать такие сообщения » . Запросы временной метки или адресной маски могут быть посланы путем задания опций -PP и -PM соответственно. Ответ на запрос временной метки (ICMP код 14) или на запрос адресной маски (код 18) указывают на то, что хост доступен. Эти запросы могут быть полезны, когда администраторы блокируют пакеты эхо запросов, но забывают о том, что другие типы ICMP запросов могут быть использованы в тех же целях.

-PO (пингование с использованием IP протокола)

Новейшей опцией для обнаружения хостов является пингование с использованием IP протокола, которая посылает IP пакеты с номером протокола, указанным в заголовке пакета. Список протоколов задается в том же формате, что и список портов в описанных выше опциях обнаружения хостов с помощью протоколов TCP и UDP. Если не указан ни один протокол, то по умолчанию будут использованы IP пакеты ICMP (протокол 1), IGMP (протокол 2) и IP-in-IP (протокол 4). Протоколы по умолчанию могут быть заданы во время компиляции путем изменения DEFAULT_PROTO_PROBE_PORT_SPEC в nmap.h . Имейте в виду, что для ICMP, IGMP, TCP (протокол 6) и UDP (протокол 17), пакеты посылаются с «правильными» заголовками протокола, в то время как для остальных протоколов пакеты посылаются без дополнительной информации после IP заголовка (пока не задана опция —data-length ).

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

-PR (ARP пингование)

Одной из наиболее популярных сфер применения Nmap является сканирование локальных сетей (LAN). В большинстве локальных сетей, особенно тех, которые используют диапазоны частных адресов определенные в RFC 1918, большое количество IP адересов не используется в любой момент времени. Когда Nmap пытается послать сырой IP пакет, такой как ICMP эхо запрос, операционная система должна определить MAC-адрес (ARP) соответствующий целевому IP, чтобы правильно адресовать фрейм. Это часто бывает медленно и проблематично, т.к. операционные системы не были написаны с учетом того, что им придется посылать миллионы ARP запросов недоступным хостам в короткий промежуток времени.

ARP сканирование позволяет Nmap вместо ARP запросов использовать свои собственные оптимизированные алгоритмы. И если Nmap получает ответ, то ей даже нет необходимости беспокоиться о других типах обнаружения хостов, основанных на IP пакетах. Этот делает ARP сканирование более быстрым и надежным. Поэтому оно применяется по умолчанию для сканирования локальных сетей. Даже если указаны другие типы сканирования (как -PE или -PS ), Nmap все равно использует ARP сканирование для машин локальной сети. Если вы абсолютно не хотите использовать такой тип сканирования, то задайте опцию —send-ip .

—traceroute (Отслеживать путь к хосту)

Отслеживание осуществляется после сканирования, используя результаты этого сканирования для определения порта и протокола, с помощью которых можно будет достичь цели. Процедура работает со всеми типами сканирования кроме сканирования с использованием системного вызова connect ( -sT ) и «ленивого» (idle) сканирования ( -sI ). Все отслеживания используют динамическую модель таймингов Nmap и осуществляются параллельно.

Процедура отслеживания маршрута работает путем посылки пакетов с низким TTL (time-to-live (временем-жизни) в попытке получить в ответ ICMP сообщение Time Exceeded (Превышение Времени Жизни) от промежуточных узлов между сканером и целевым хостом. Стандартные реализации процедуры отслеживания маршрута начинают с TTL равным 1, а затем увеличивают его до тех пор, пока не будет достигнут целевой хост. В реализации же этой процедуры в Nmap сначала устанавливается высокий TTL, а затем TTL уменьшается, пока не станет равным 0. Это позволяет Nmap использовать «умные» алгоритмы кэширования с целью увеличения скорости отслеживания маршрута. В среднем Nmap посылает 5-10 пакетов на хост, в зависимости от условий в сети. В случае сканирования единственной подсети (напр. 192.168.0.0/24), возможно будет необходимо послать только один пакет на каждый хост.

—reason (Показать причины состояний портов и хостов)

Показывает информацию о причинах, по которым каждый порт установлен в какое-либо состояние, и по которым каждый хост работает или нет. Эта опция выводит тип пакета, по которому было определено состояние порта или хоста. Например, RST пакет от закрытого порта или эхо ответ от работающего хоста. Информация, которую может предоставить Nmap, определяется типом сканирования или пингования. SYN сканирование и SYN пингование ( -sS и -PS ) описываются очень детально, а информация о сканировании с использованием TCP соединений ( -sT ) ограничена реализацией системного вызова connect . Эта функция автоматически активируется при использовании опции отладки ( -d ), и результаты ее работы хранятся в XML файлах, даже если эта опция не была задана.

-n (Не производить разрешение DNS имен)

-R (Производить разрешение DNS имен для всех целей)

Указыват Nmap всегда производить обратное разрешение DNS имен для каждого целевого IP адреса. Обычно DNS преобразование применяется только к доступным хостам.

—system-dns (Использовать системный DNS преобразователь)

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

—dns-servers [ , [ . ] ] (Сервера для обратного разрешения DNS)

По умолчанию Nmap определяет DNS сервера (для разрашения rDNS) из вашего resolv.conf файла (Unix) или из реестра (Win32). Вы можете использовать эту опцию для задания альтернативных серверов. Эта опция игнорируется, если вы используете —system-dns или сканирование по протоколу IPv6. Использование нескольких DNS серверов частно увеличивает скорость сканирования, особенно если вы выбираете официальные сервера для IP пространства вашей цели. Эта опция также может увеличить незаметность, т.к. ваши запросы могут быть перенаправлены любым рекурсивным DNS сервером в Интернете.

Эта опция также бывает полезна при сканировании частных сетей. Иногда лишь некоторые сервера имен предоставляют правильную rDNS информацию, и вы можете даже не знать, где они. Вы можете просканировать сеть на наличие открытого порта 53 (возможно с помощью фукнкции определения версии), затем попробовать составить список ( -sL ) указывая по очереди все сервера имен в опции —dns-servers до тех пор, пока не найдете тот, который работает.

Всё об IP адресах и о том, как с ними работать

Не так давно я написал свою первую статью на Хабр. В моей статье была одна неприятная шероховатость, которую моментально обнаружили, понимающие в сетевом администрировании, пользователи. Шероховатость заключается в том, что я указал неверные IP адреса в лабораторной работе. Сделал это я умышленно, так как посчитал что неопытному пользователю будет легче понять тему VLAN на более простом примере IP, но, как было, совершенно справедливо, замечено пользователями, нельзя выкладывать материал с ключевой ошибкой.

В самой статье я не стал править эту ошибку, так как убрав её будет бессмысленна вся наша дискуссия в 2 дня, но решил исправить её в отдельной статье с указание проблем и пояснением всей темы.

Для начала, стоит сказать о том, что такое IP адрес.

IP-адрес — уникальный сетевой адрес узла в компьютерной сети, построенной на основе стека протоколов TCP/IP (TCP/IP – это набор интернет-протоколов, о котором мы поговорим в дальнейших статьях). IP-адрес представляет собой серию из 32 двоичных бит (единиц и нулей). Так как человек невосприимчив к большому однородному ряду чисел, такому как этот 11100010101000100010101110011110 (здесь, к слову, 32 бита информации, так как 32 числа в двоичной системе), было решено разделить ряд на четыре 8-битных байта и получилась следующая последовательность: 11100010.10100010.00101011.10011110. Это не сильно облегчило жизнь и было решение перевести данную последовательность в, привычную нам, последовательность из четырёх чисел в десятичной системе, то есть 226.162.43.158. 4 разряда также называются октетами. Данный IP адрес определяется протоколом IPv4. По такой схеме адресации можно создать более 4 миллиардов IP-адресов.

Максимальным возможным числом в любом октете будет 255 (так как в двоичной системе это 8 единиц), а минимальным – 0.

Далее давайте разберёмся с тем, что называется классом IP (именно в этом моменте в лабораторной работе была неточность).

IP-адреса делятся на 5 классов (A, B, C, D, E). A, B и C — это классы коммерческой адресации. D – для многоадресных рассылок, а класс E – для экспериментов.

Класс А: 1.0.0.0 — 126.0.0.0, маска 255.0.0.0
Класс В: 128.0.0.0 — 191.255.0.0, маска 255.255.0.0
Класс С: 192.0.0.0 — 223.255.255.0, маска 255.255.255.0
Класс D: 224.0.0.0 — 239.255.255.255, маска 255.255.255.255
Класс Е: 240.0.0.0 — 247.255.255.255, маска 255.255.255.255

Теперь о «цвете» IP. IP бывают белые и серые (или публичные и частные). Публичным IP адресом называется IP адрес, который используется для выхода в Интернет. Адреса, используемые в локальных сетях, относят к частным. Частные IP не маршрутизируются в Интернете.

Публичные адреса назначаются публичным веб-серверам для того, чтобы человек смог попасть на этот сервер, вне зависимости от его местоположения, то есть через Интернет. Например, игровые сервера являются публичными, как и сервера Хабра и многих других веб-ресурсов.
Большое отличие частных и публичных IP адресов заключается в том, что используя частный IP адрес мы можем назначить компьютеру любой номер (главное, чтобы не было совпадающих номеров), а с публичными адресами всё не так просто. Выдача публичных адресов контролируется различными организациями.

Допустим, Вы молодой сетевой инженер и хотите дать доступ к своему серверу всем пользователям Интернета. Для этого Вам нужно получить публичный IP адрес. Чтобы его получить Вы обращаетесь к своему интернет провайдеру, и он выдаёт Вам публичный IP адрес, но из рукава он его взять не может, поэтому он обращается к локальному Интернет регистратору (LIR – Local Internet Registry), который выдаёт пачку IP адресов Вашему провайдеру, а провайдер из этой пачки выдаёт Вам один адрес. Локальный Интернет регистратор не может выдать пачку адресов из неоткуда, поэтому он обращается к региональному Интернет регистратору (RIR – Regional Internet Registry). В свою очередь региональный Интернет регистратор обращается к международной некоммерческой организации IANA (Internet Assigned Numbers Authority). Контролирует действие организации IANA компания ICANN (Internet Corporation for Assigned Names and Numbers). Такой сложный процесс необходим для того, чтобы не было путаницы в публичных IP адресах.

Поскольку мы занимаемся созданием локальных вычислительных сетей (LAN — Local Area Network), мы будем пользоваться именно частными IP адресами. Для работы с ними необходимо понимать какие адреса частные, а какие нет. В таблице ниже приведены частные IP адреса, которыми мы и будем пользоваться при построении сетей.

Из вышесказанного делаем вывод, что пользоваться при создании локальной сеть следует адресами из диапазона в таблице. При использовании любых других адресов сетей, как например, 20.*.*.* или 30.*.*.* (для примера взял именно эти адреса, так как они использовались в лабе), будут большие проблемы с настройкой реальной сети.

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

У всех IP адресов есть две части сеть и узел.
Сеть – это та часть IP, которая не меняется во всей сети и все адреса устройств начинаются именно с номера сети.
Узел – это изменяющаяся часть IP. Каждое устройство имеет свой уникальный адрес в сети, он называется узлом.

Маску принято записывать двумя способами: префиксным и десятичным. Например, маска частной подсети A выглядит в десятичной записи как 255.0.0.0, но не всегда удобно пользоваться десятичной записью при составлении схемы сети. Легче записать маску как префикс, то есть /8.

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

Таблица масок подсети

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

172.16.13.0 – адрес сети
172.16.13.1 – адрес первого устройства в сети
172.16.13.254 – адрес последнего устройства в сети
172.16.13.255 – широковещательный IP адрес
172.16.14.0 – адрес следующей сети

Итого 254 устройства в сети

Теперь вычислим сколько устройств может быть в сети, где у одного компьютера адрес 172.16.13.98 /16.

172.16.0.0 – адрес сети
172.16.0.1 – адрес первого устройства в сети
172.16.255.254 – адрес последнего устройства в сети
172.16.255.255 – широковещательный IP адрес
172.17.0.0 – адрес следующей сети

Итого 65534 устройства в сети

В первом случае у нас получилось 254 устройства, во втором 65534, а мы заменили только номер маски.

Посмотреть различные варианты работы с масками вы можете в любом калькуляторе IP. Я рекомендую этот.

До того, как была придумана технология масок подсетей (VLSM – Variable Langhe Subnet Mask), использовались классовые сети, о которых мы говорили ранее.

Теперь стоит сказать о таких IP адресах, которые задействованы под определённые нужды.

Адрес 127.0.0.0 – 127.255.255.255 (loopback – петля на себя). Данная сеть нужна для диагностики.
169.254.0.0 – 169.254.255.255 (APIPA – Automatic Private IP Addressing). Механизм «придумывания» IP адреса. Служба APIPA генерирует IP адреса для начала работы с сетью.

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

  • Cisco
  • Сетевые технологии

Какие ip адреса хостов являются некорректными

Отчет по лабораторной работе 1 по дисциплине Сети связи и системы коммутации

по дисциплине: «Сети связи и системы коммутации»

студента заочного отделения

4 курса 12001752 группы

Волошкина Владимира Сергеевича

Проверил: доцент кафедры ИТСиТ

Заливин Алексанр Николаевич

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

Выполнение лабораторной работы:

  1. Какие адреса из приведенного ниже списка являются допустимыми адресами хостов и почему:

127.0.127.127 – не допустим, служит для связывания компонентов сетевого уровня

127.0.127.0 – не допустим и 0 значение

  1. Перечислите все допустимые маски, по какому принципу они получаются:

1. если разряд маски равен 1, то соответствующий разряд адреса является разрядом адреса подсети,

Протокол ip это (ОСНОВНАЯ ТЕМА)

vedro-compota's picture

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

  1. 128.10.2.30 — традиционная десятичная форма представления адреса,
  2. 10000000 00001010 00000010 00011110 — двоичная форма представления этого же адреса.

Зарезервированные IP-адреса

Некоторые IP-адреса зарезервированы для специального применения, и администратор сети не вправе приписывать
их узлам сети. Зарезервированные адреса перечислены здесь.

Классы сетей ip

В общем случае IP-сети делятся на классыА, В, С, D и Е. — это позволяет , в частности, рациональнее использовать адресное пространство.

Назначение адресов сетей

Адрес в Интернете можно получить — например так .

Подсети

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

Выделение подсетей

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

Как выбрать IP-адреса для вашей сети

Чтоб настроить свою интрасеть, вам необходимо соответствующим образом сконфигурировать каждый хост (этим термином обозначается любой узел в сети TCP/IP), снабдив его IP-адресом и маской подсети. Их значения можно задавать либо вручную, либо автоматически с помощью сервера DHCP (Dynamic Host Configuration Protocol – протокол динамической настройки конфигурации хоста). (Подробнее о серверах DHCP см. в статье «Преобразование сети IPX в интрасеть».)

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

Один хост – один адрес

Каждый хост в вашей сети должен иметь собственный IP-адрес, и если вы собираетесь соединить свою сеть с Internet, то вам придется позаботиться о том, чтобы ваши хосты имели уникальные адреса в сети Internet. Регулированием процесса присвоения IP-адресов занимается комитет IANA (Internet Assigned Numbers Authority); это обеспечивает уникальность всех назначаемых адресов.

На ранних этапах развития Internet за получением уникальных IP-адресов необходимо было обращаться непосредственно в IANA. Поскольку сейчас количество пользователей Internet сильно возросло, IANA передает блоки адресов провайдерам услуг Internet, чтобы те выделяли IP-адреса своим клиентам.

Основная форма IP-адреса

Обычно IP-адреса записываются в виде последовательности, состоящей из четырех десятичных чисел от 0 до 225, разделенных точками. Типичный IP-адрес выглядит так: 198.168.45.249.

Каждое из четырех десятичных чисел, выраженное в двоичном виде, будет представлено 8-разрядным числом, которое называется октетом. Например, первое из десятичных чисел в нашем примере IP-адреса (198) в двоичной форме будет выглядеть как 11000110. Полный же IP-адрес (четыре октета) будет представлять собою 32-разрядное двоичное число. Таким образом, полное двоичное представление адреса 198.168.45.249 будет иметь вид 11000110.10101000.00101101.11111001. Использование 32-разрядных двоичных чисел позволяет создавать 4 294 967 296 уникальных IP-адресов – более чем достаточно для любой частной интрасети (хотя сеть Internet скоро может начать испытывать нехватку уникальных адресов).

Каждый IP-адрес разделяется по умолчанию на номер сети и номер хоста. Номер сети IP аналогичен номеру сети IPX. Подобно тому, как каждый сегмент ЛВС в сети IPX должен иметь свой уникальный номер сети IPX, каждый сегмент ЛВС в сети TCP/IP должен иметь свой уникальный номер сети IP.

Расшифровка двоичных чисел в IP-адресах была бы проще, если бы число разрядов, используемых для представления номера сети и номера хоста, было бы всегда одним и тем же. Однако число разрядов, используемых для представления каждого из этих номеров, меняется в зависимости от того, к какому классу (A, B или С) принадлежит данный адрес. Номер сети может быть представлен первыми 8, 16 или 24 разрядами, а номер хоста – последними 24, 16 или 8 разрядами.

Классы адресов, номера сетей и номера хостов

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

Если значение первого октета в IP-адресе находится в диапазоне от 1 до 126, то адрес принадлежит к классу А. В этом случае первый октет (8 разрядов) обозначает номер сети, а последние три октета (24 разряда) обозначают номер хоста. Например, IP-адрес 102.56.187.5 обозначает сеть с номером 102 и хост с номером 56.187.5.

Если значение первого октета в IP-адресе находится в диапазоне от 128 до 191, то адрес относится к классу B. В этом случае первые два октета (16 разрядов) указывают номер сети, а последние два октета (16 разрядов) указывают номер хоста. Например, IP-адрес 154.2.91.240 обозначает сеть с номером 154.2 и хост с номером 91.240.

Наконец, если значение первого октета в IP-адресе находится в диапазоне от 192 до 223, то адрес принадлежит к классу С. В этом случае первые три октета (24 разряда) обозначают номер сети, а последний октет обозначает номер хоста. IP-адреса со значениями первых октетов, равными 0, 127 и 224-255 зарезервированы для случаев, речь о которых пойдет в следующем разделе (см. рис. 1).

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

Первый октет
Класс От До Октетов в номере сети Октетов в номере хоcта Возможное число сетей Возможное число хостов в одной сети
0 0 Зарезервировано
A 1 126 1 3 126 16,777,214
127 127 Зарезервировано
B 128 191 2 2 16,384 65,534
C 192 223 3 1 2,097,152 254
224 255 Зарезервировано

Рис. 1. Классы IP-адресов

Зарезервированные номера хостов

Хотя число разрядов, используемых для обозначения номера хоста, в зависимости от класса адреса может составлять 8, 16 или 24, два номера хоста всегда остаются зарезервированными:

Эти зарезервированные номера хостов имеют специальное назначение. IP-адрес с нулевым номером хоста используется для адресации ко всей сети. Например, в сети класса С с номером 199.60.32 IP-адрес 199.60.32.0 обозначает сеть в целом.

Если все разряды в номере хоста в IP-адресе заполнены единицами, то широковещательное сообщение будет разослано всем хостам в этой сети. Предположим, например, что один из хостов в сети класса С с сетевым адресом 199.60.32.0 собирается направить сообщение всем остальным хостам, находящимся в той же сети. В этом случае сообщение должно быть передано на адрес 199.60.32.255.

Вычтя резервные адреса хостов в сетях класса А, получим, что к этому классу может принадлежать 16 777 214 хостов с уникальными номерами (см. рис. 1).

Назначение адресов: рекомендации и требования

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

При соблюдении этих правил хосты с одинаковыми номерами сети смогут связываться друг с другом без помощи маршрутизатора. Хосты с различными номерами сети должны взаимодействовать друг с другом через маршрутизатор, даже если они расположены в одном сегменте ЛВС (в том случае, если вы все же присвоили хостам из одного сегмента ЛВС различные номера сети).

Избыток хостов портит дело. На выручку приходят подсети

Хотя вы должны присвоить каждому сегменту ЛВС собственный сетевой номер, использовать все имеющиеся в сети IP-адреса было бы нереально. Например, чтобы использовать все 16 миллионов IP-адресов, возможных в сети класса А, пришлось бы поместить все эти адреса в один сегмент ЛВС.

Даже если бы создание такой сети было физически возможным, то один только объем сетевого трафика в ней сделал бы эту сеть неработоспособной. Даже в сетях класса С, позволяющих иметь 254 хоста, помещать их все в один сегмент было бы неразумно. Чтобы обойти требование «один сегмент – один сетевой номер», правила назначения IP-адресов допускают объединение хостов в подсети.

Предположим для примера, что сети моего предприятия выделен сетевой адрес класса В 134.234.0.0. В сети этого класса возможно наличие 65 534 хостов с различными номерами, и этого более чем достаточно для присвоения уникального IP-адреса каждому из них. Предположим, однако, что моя сеть состоит из трех сегментов ЛВС, соединенных через маршрутизатор, как показано на рис. 2. И хотя моей сети присвоен всего один адрес класса В (134.234.0.0), изменение конфигурации сети с целью подключения всех хостов к одному сегменту – вариант неприемлемый. Проблему можно разрешить, создав внутри сетевого адреса 134.234.0.0 подсети и присвоив каждому сегменту ЛВС различные номера подсетей.

Рис. 2. Для этой сети потребуется либо три уникальных сетевых номера, либо один сетевой номер, разделенный на подсети.

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

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

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

Каждый класс IP-адресов (А, В и С) имеет свою маску подсети, используемую по умолчанию. Например, для адреса класса С по умолчанию используется маска подсети 255.255.255.0.

В такой маске разряды во всех позициях, которые используются в IP-адресе для задания номера сети, заполняются единицами. Разряды же во всех позициях, которые используются для задания номера хоста, заполняются нулями. Например, для адреса класса С первые три октета используются для номера сети. В этом случае в используемой по умолчанию маске подсети первые три октета заполняются единицами (см. рис. 3).

Десятичный Двоичный
Класс A
Адрес 102.56.187.5 01100110.00111000.10111011.00000101
Маска подсети 255.0.0.0 11111111.00000000.00000000.00000000
Класс B
Адрес 134.234.0.5 10000110.11101010.00000000.00000101
Маска подсети 255.255.0.0 11111111.11111111.00000000.00000000
Класс C
Адрес 199.60.32.12 11000111.00111100.00100000.00001100
Маска подсети 255.255.255.0 11111111.11111111.11111111.00000000

Рис. 3. Двоичная и десятичная формы адресов, принадлежащих к классам А, В и C, и используемые по умолчанию маски подсетей для каждого класса адресов.

Если все 8 разрядов последнего октета подсети класса С заполнены нулями, то все 8 разрядов в последнем октете соответствующего IP-адреса должны быть использованы для номера хоста: это означает, что подсетей нет. В каждом классе адресов используемая по умолчанию маска подсети всегда означает, что подсетей нет. (Для адреса класса А такая маска имеет вид 255.0.0.0, для адреса класса В используемая по умолчанию маска имеет вид 255.255.0.0). На рис. 3 приведены в десятичной и двоичной форме примеры IP-адресов всех трех классов и маски подсетей, используемые по умолчанию для каждого класса адресов.

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

Предположим, например, что вы хотите использовать три разряда в номере хоста в адресе класса С (три старших разряда последнего октета) в качестве номера подсети. Тогда вы должны заполнить единицами три старших разряда последнего октета в маске подсети. Оставшиеся пять разрядов октета будут обозначать номер хоста; значения в этих разрядах нужно оставить равными нулю. Двоичная запись последнего октета маски подсети будет иметь вид 11100000 (или 224 в десятичной форме). На рис. 4 приведен полный вид маски подсети для адреса класса С в двоичном и десятичном видах.

Рис. 4. В данной маске подсети, соответствующей адресу класса С, три старших разряда в последнем октете заполнены единицами. Это означает, что указанные разряды будут использованы в качестве номера подсети.

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

Развернутый пример

Предположим, что мы хотим назначить IP-адреса хостам в трех сегментах ЛВС, изображенных на рис. 2, но в нашем распоряжении имеется только один адрес класса В. Нам понадобятся как минимум три подсети – по одной на каждый из трех сегментов ЛВС. Однако поскольку в будущем число сегментов ЛВС может увеличиться до 12, нам сразу же стоит позаботиться о том, чтобы формат адреса подсети позволял присвоить 12 различных адресов подсетей.

Во-первых, чтобы определить, какой должна быть маска подсети, нам нужно определить, сколько разрядов в используемом по умолчанию номере хоста потребуется для создания не менее 12 номеров подсетей. Нужно иметь в виду, что в номере подсети разрешены не любые сочетания нулей и единиц. Поэтому, если мы выберем для номера подсети три разряда в номере хоста, то сможем создать не более 6 подсетей. Трех разрядов вполне хватило бы для создания подсетей при нынешней конфигурации нашей сети, но тогда в запасе осталось бы всего три свободных адреса. Номер подсети из четырех разрядов позволит нам создать до 14 подсетей, поэтому мы должны выбрать для нее 4 позиции в номере хоста.

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

Рис. 5. Определение IP-адреса при наличии подсетей.

Если 4 из 16 разрядов используемого по умолчанию номера хоста будут задавать номер подсети, то останется еще 12 разрядов для указания собственно номера хоста. Эти 12 разрядов позволят задать 4096 уникальных номеров хостов в каждой подсети.

Для того чтобы определить полное число возможных IP-адресов, нам нужно умножить возможное число подсетей (14) на возможное число хостов в каждой подсети (4096), что даст 57 344 IP-адреса. Это на 8190 IP-адресов меньше, чем в единой сети класса В, не имеющей подсетей. Иными словами, за удобство использования подсетей приходится расплачиваться потерей некоторого количества IP-адресов. На рис. 6 показаны IP-адреса, возможные в сети класса С, в которой используются трехразрядные номера подсетей. Как можно видеть, при этом многие IP-адреса перестают существовать.

Подсеть От IP-адреса До IP-адреса Всего адресов в диапазоне
1 192.150.148.33 192.150.148.62 30
2 192.150.148.65 192.150.148.94 30
3 192.150.148.97 192.150.148.126 30
4 192.150.148.129 192.150.148.158 30
5 192.150.148.161 192.150.148.190 30
6 192.150.148.193 192.150.148.222 30

Рис. 6. Если маска подсети 255.255.255.224 используется для того, чтобы разделить сеть 192.150.148.0 класса C на подсети, то полное число возможных адресов уменьшается с 254 до 180.

Теперь допустим, что мы захотели присвоить серверу, изображенному на рис. 2, номер хоста 14 в подсети с номером 3. На рис. 5 показана процедура присвоения серверу реального IP-адреса. Мы должны начать с базового номера сети (134.234) и установить необходимые значения во всех разрядах двух последних октетов. Сначала необходимо указать номер подсети, используя для этого 4 старших разряда в третьем октете (для подсети с номером 3 мы должны записать в двоичном виде 0011). Затем надо указать номер хоста, используя последние 4 разряда третьего октета и все 8 разрядов последнего октета (для хоста с номером 14 мы должны записать в двоичном виде 0000 0000 1110). Если теперь мы возьмем получившийся двоичный номер и выразим значения каждого из его октетов по отдельности в десятичном виде, то получим IP-адрес сервера (134.234.48.14).

Внутренние и уникальные IP-адреса

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

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

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

Другим способом избежать конфликтов IP-адресов в системе Internet является использование адресов, зарезервированных для частных сетей. Для этой цели комитет IANA зарезервировал несколько блоков IP-адресов (см. рис. 7). Вы можете выбрать адрес класса А, В или С, причем в последнем случае количество возможных адресов сетей составляет 256.

Класс От IP-адреса До IP-адреса Всего адресов в диапазоне
A 10.0.0.0 10.255.255.255 16,777,216
B 172.16.0.0 172.16.255.255 65,536
C 192.168.0.0 192.168.255.255 65,536

Рис. 7. IP-адреса, зарезервированные для частных сетей TCP/IP.

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

Недостаток использования IP-адресов, зарезервированных для частных сетей, состоит в том, что если вы подключаете свою сеть к Internet, то вам придется заново настроить конфигурацию хостов, соединяемых с Internet. Вы должны будете либо присвоить каждому такому хосту уникальный IP-адрес, либо настроить соединяющий шлюз в качестве промежуточного таким образом, чтобы он преобразовывал зарезервированные IP-адреса в уникальные IP-адреса, которые используются в Internet и которые выделил вам провайдер. (Более подробную информацию об IP-адресах, зарезервированных для частных сетей, можно найти в спецификации RFC1918 по адресу http://ds.internic.net/rfc/rfc1918.txt.) (П.Т.: В настоящий момент данная ссылка не работает. Мне удалось найти этот документ по адресу http://www.faqs.org/rfcs/rfc1918.html. Или попробуйте поискать с помощью своей любимой поисковой системы. Например, Google или на сайте RFC.net)

Терри Л. Джеффресс (Terry L. Jeffress) – сотрудник агентства Niche Associates, которое занимается написанием и редактированием технических статей.

Похожие публикации:

  1. Как уменьшить размер файла мп3
  2. Как уничтожить танки в crysis 1
  3. Как установить adobe reader
  4. Как установить debian без графической оболочки

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

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