Администрирование#01. Адресация в IP сетях
Некоторое введение: статьи о базовых понятиях я писала еще в универе по лекциям, затем их вычитывал мой научный руководитель (aka nixleader), поэтому тега «моё» не будет. Статьи не претендуют на оригинальность, есть множество других. Они, также, вероятно, могут встретится в сети (распространялись в универе и свободно висят в справочной системе на работе). Я постараюсь указывать места, где будет встречаться копипаста с других ресурсов (далее такое будет). Помимо простых вещей, попробую привести в литературную форму некоторые сложные маны, которые писала чисто для себя, и выложу их отдельно.
Администрирование#01. Адресация в IP сетях
В семействе протоколов TCP/IP используются три типа адресов: локальные (физические, аппаратные), IP-адреса и символьные (доменные) имена. Рассмотрим первые два типа адресов.
Основные термины:
Хост (Host) – устройство, работающее в сети на сетевом уровне модели OSI (компьютер, маршрутизатор и т.п.). Часто понятие путают с IP-адресом.
MAC-адрес — физический адрес компьютера (если точнее — сетевой карты или другого сетевого устройства). Размер адреса – 6 байт. Этот адрес должен быть уникальным для каждого устройства в локальной сети, и используется всеми устройствами для передачи данных внутри неё. (Как говорил мой преподаватель: «Вы еще не видели китайских сетевых карт: в одной серии карт может быть много повторяющихся MAC-адресов»).
IP-адрес — это 32 бита (4 байта), 4 октета, представляющие собой «логический» адрес хоста в сети (сетевой адрес). Нужно понимать, что у одного хоста может быть много IP-адресов.
IP-адреса обычно записываются в десятичной системе счисления виде четырёх октетов X1.X2.X3.X4, где X1 – старший байт адреса.
Есть консорциум IANA, который раздает IP-адреса по 5 организациям (ARIN, RIPE, APNIC, AfriNIC, LACNIC). Им выдаются сети класса А. Далее эти организации распределяют адреса по заявкам от организаций со статусом LIR (Local Internet Resource) подсетями /22 или крупнее, а в случае выделения провайдеро-независимого блока — /24 (класс C) и крупнее.
Маска подсети — указывает, какая часть IP-адреса приходится на адрес сети, а какая — на адрес хоста в ней. Без адреса сети или IP-адреса используется только в обсуждении количества используемых/необходимых адресов.
Маска — это последовательность скольких-то единичек в начале, а потом — нулей, составляющих в итоге 32 бита. Бит равный единице означает, что на его месте в IP-адресе бит будет входить в адрес сети. Нулевые биты в маске определяют позиции бит адреса хоста в IP-адресе.
Маска записывается через “/” после IP-адреса и может записываться как IP (например, 192.168.1.100/255.255.255.0; Здесь маска 255.255.255.0 — это 24 единички и 8 нулей (в двоичной системе), первые 24 символа будут адресом сети, оставшиеся 8 — адресом хоста), или как число от 0 до 32 (192.168.1.100/24 — здесь «/24» — это маска, то есть 24 единички в начале, остальные — нули).
Адрес сети – зарезервированный IP адрес, используемый для обозначения всей сети (совместно с указанием маски сети). В адресе сети на месте адреса хоста все биты выставляются в нули.
Широковещательный запрос — отправка пакета всем устройствам в сети. Для реализации такой рассылки назначается специальный широковещательный адрес: в IP-адрес после адреса сети (вместо адреса хоста) все биты выставляются в единицы.
Соответственно, максимально возможное количество хостов в сети вычисляется по формуле 2^(32-маска)-2. (Так как, когда вместо адреса хоста все нули — это адрес сети, а когда все единички — это широковещательный запрос, соответственно, теряем два адреса из всех вариантов)
Дополнительные сведения:
Маска /32 — указывает, что написан адрес одного и ровно 1 (одного) хоста
Маска /31 — используется для маршрутизации для соединения точка-точка, или если два адреса на один комп (это делается для экономии адресов и для сокращения количества записей о маршрутизации соответственно).
0.0.0.0/0 — весь интернет.
255.255.255.255 — широковещательный запрос всем в локальной сети. Используется обычно в случаях, когда хосту неизвестны настройки локальной сети.
Адреса, которые запрещены в сети интернет, или же «локальные» адреса, которые можно использовать для себя без ограничений (так называемые, «серые» адреса):
Для собственных локальных сетей:
127.0.0.0/8 – loopback – адреса которые доступны только внутри одного хоста
Классификация сетей
В сети класса А 2^24-2 хостов в одной сети, в B — 2^16-2, в C – 256 -2=254 хоста.
Адреса класса D используются для многоадресной (multicast) передачи.
Остальные адреса на данный момент зарезервированы и не используются.
Стоит отметить, что ранее классы использовались для маршрутизации. Теперь же вся маршрутизация «бесклассовая» и классы сетей указываются только для указания размера сети (например, “сеть класса C” обозначает сеть с 256 адресами (с маской /24) (любую, даже 10.2.4.0/24!!))
Структура IP-адреса
IP-адрес состоит из четырех частей, записанных в виде десятичных чисел с точками (например, 192.168.1.2). Каждую из этих четырех частей называют октетом. Октет представляет собой восемь двоичных цифр (например, 11000000, или 192 в десятичном виде). Таким образом, каждый октет может принимать в двоичном виде значения от 00000000 до 11111111, или от 0 до 255 в десятичном виде.
Количество двоичных цифр в IP-адресе, которые приходятся на адрес сети, и количество цифр в IP-адресе, приходящееся на адрес хоста, могут быть различными в зависимости от маски подсети.
Происхождение и принцип работы
Когда и как появился файл хостс? С самого начала появления компьютеров и локальной сети, для удобства пользователей, хостам присваивались имена.
Хост (от англ. host — «хозяин, принимающий гостей») — любое устройство, предоставляющее сервисы формата «клиент-сервер» в режиме сервера по каким-либо интерфейсам и уникально определённое на этих интерфейсах. В более частном случае, под хостом могут понимать любой компьютер, сервер, подключённый к локальной или глобальной сети.
Чтобы сопоставить имя хоста с ip адресом отправлялся запрос на главный хост, который в ответ направлял список всех имен и адресов к ним. Host file регулярно рассылался всем подключенным к сети компьютерам. Со временем, из-за развития глобальной сети значительно возросло количество пользователей, а значит и хостов и серверов. Файл хост стал разрастаться и стали появляться огромные задержки при регистрации и получении имен новыми компьютерами в сети. Проблему помогла решить служба доменных имен — DNS.
DNS (англ. Domain Name System — система доменных имён) — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства)
Необходимость в рассылке файла hosts компьютерам отпала. Теперь когда пользователь в адресной строке браузера набирает url-адрес какого либо сайта, происходит следующее:
- Так как запрос к файлу hosts имеет приоритет перед DNS службой, браузер сначала обращается именно к нашему файлу и проверяет не совпадает ли ip адрес запрашиваемого сайта с ip адресом localhost, то есть 128.0.0.1
- Если не совпадает, то проверяется файл hosts на наличие запрашиваемого адреса.
- Если адрес (имя хоста) в наличии, то идет переход по указанному хосту (ip-адресу)
- Если запрашиваемый адрес не найден, то сначала идет обращение к кешу DNS распознавателя, а потом уже соответственно к DNS серверу
- Если запрашиваемый сайт существует, то DNS сервер преобразовывает url адрес сайта в ip адрес и браузер уже переходит по данному ip адресу и загружает его содержимое.
Здесь важное замечание — в отличие от DNS сервера, файл hosts полностью контролируется пользователем (администратором) компьютера и имеет приоритет перед DNS.
Давайте узнаем, что вообще содержится в этом файле.
Найдите сетевой адрес и широковещательный адрес на основе IP-адреса и маски подсети
Преобразуйте IP-адрес и маску подсети в двоичное, маска подсети со всеми единицами — это сетевой адрес, оборотная сторона — это адрес хоста, сетевой адрес перед пунктирной линией и адрес хоста после пунктирной линии.
IP-адрес и маска подсети соединяются оператором AND, и в результате получается сетевой адрес (то есть номер хоста, все 0 — это сетевой адрес).
Сетевой адрес в результате операции не изменяется, адрес хоста становится 1, а результатом является широковещательный адрес.
Диапазон адресов — все хосты, включенные в этот сегмент сети.
Сетевой адрес +1 — это первый адрес хоста, а широковещательный адрес -1 — это последний адрес хоста.
Видно, что диапазон адресов: от сетевого адреса +1 до широковещательного адреса -1.
- Количество хостов = 2 ^ количество двоичных цифр хоста-2
Вычтите 2, потому что хост не включает сетевой адрес и широковещательный адрес.
Пример
IP-адрес хоста — 202.112.14.137, а маска — 255.255.255.224. Требуется вычислить сетевой адрес и широковещательный адрес сети, в которой расположен хост.
Сетевое расположение IP-адресов
Уникальные IP-адреса, которые назначаются специальными организациями (например, Интернет-провайдером), называются внешними, белыми или публичными. Публичные IP-адреса применяются для получения доступа к Интернету и осуществления взаимодействия с другими узлами через публичную сеть. Устройство с внешним IP-адресом видно другим пользователям в Интернете.
Кроме того, существуют частные IP-адреса, именуемые также серыми или внутренними. Серые IP-адреса назначаются устройствам в локальной сети и не видны в Интернете. К примеру, можно представить дом, в котором к WI-FI роутеру подключено несколько устройств. Все они объединены в одну сеть и имеют серые IP-адреса.
Публичные IP-адреса | Частные IP-адреса |
Глобальный (внешний) охват. | Местный (внутренний) охват. |
Используются для соединений через Интернет за пределами частной сети. | Используется для связи с другими устройствами в частной сети. |
Уникальный числовой код, не используемый другими устройствами. | Неуникальный числовой код, который может использоваться другими устройствами в других частных сетях. |
Можно узнать по поисковому запросу типа: «Мой IP-адрес» («What is my IP»). | Можно найти во внутренних настройках устройства. |
Назначаются интернет-провайдером. | Присваиваются маршрутизатором конкретному устройству. |
Платные. | Бесплатные. |
Может использоваться любое число, не входящее в диапазон частных IP-адресов. | 10.0.0.0 — 10.255.255.255 172.16.0.0 — 172.31.255.255 192.168.0.0 — 192.168.255.255 |
Пример: 8.8.8.8. | Пример: 10.11.12.13 |
Примеры имени хоста
Каждое из следующего является примером Полного Квалифицированного Доменного Имени с его именем хоста, списанным в сторону:
- pcsupport.lifewire.com : pcsupport
- www.google.com : www
- images.google.com : изображения
- products.office.com : продукты
- www.microsoft.com : www
Как видите, имя хоста (например, pcsupport ) — это просто текст, предшествующий имени домена (например, lifewire ), который, конечно, является текстом, предшествующим домену верхнего уровня ( dot-com ).
Как устройство получает свой IP-адрес
Теперь, когда Вы знаете основы работы IP-адресов, давайте сначала поговорим о том, как устройства получают свои IP-адреса. На самом деле существует два типа назначений IP: динамический и статический.
Динамический IP-адрес назначается автоматически при подключении устройства к сети. Для этого в подавляющем большинстве современных сетей (включая Вашу домашнюю сеть) используется протокол динамической конфигурации хоста (DHCP). DHCP встроен в Ваш роутер. Когда устройство подключается к сети, оно отправляет широковещательное сообщение с запросом IP-адреса. DHCP перехватывает это сообщение, а затем назначает IP-адрес этому устройству из пула доступных IP-адресов.
Для этой цели существуют определенные диапазоны частных IP-адресов. То, что используется, зависит от того, кто сделал Ваш роутер, или как Вы настроили его самостоятельно.
Дело в том, что динамические адреса иногда меняются. DHCP-серверы сдают в аренду IP-адреса устройствам, и когда срок аренды истекает, устройства должны возобновлять аренду. Иногда устройства получают другой IP-адрес из пула адресов, которые может назначить сервер.
В большинстве случаев это не имеет большого значения, и все будет «просто работать». Однако иногда Вам может потребоваться присвоить устройству IP-адрес, который не изменяется. Например, возможно, у Вас есть устройство, к которому Вам нужно получить доступ вручную, и Вам легче запомнить IP-адрес, чем имя. Или, может быть, у Вас есть определенные приложения, которые могут подключаться только к сетевым устройствам, используя их IP-адрес.
В этих случаях Вы можете назначить статический IP-адрес этим устройствам. Есть несколько способов сделать это. Вы можете вручную настроить устройство со статическим IP-адресом, хотя иногда это может быть затруднительным. Другое, более элегантное решение — настроить маршрутизатор для назначения статических IP-адресов определенным устройствам во время динамического назначением DHCP-сервером. Таким образом, IP-адрес никогда не меняется, но Вы не прерываете процесс DHCP, который обеспечивает бесперебойную работу.
Пример 2:
Аналогично, следующий компьютер ниже принадлежит к IP-сети 211.139.157.0. Он использует адрес хоста 9 в IP-сети, и его IP-адрес равен 211.139.157.9