Что такое IP-адрес и зачем он нужен
Для того, чтобы маршрутизаторы могли определять куда направлять каждый конкретный пакет информации, передаваемый по сети, в заголовке каждого пакета обязательно указывается адрес отправителя и адрес получателя пакета.
Адреcация в сети Интернет организована очень просто. Каждой точке подключения любого устройства к сети (интерфейсу), присваивается уникальный номер, который и называют –IP-адресом.
Необходимо подчеркнуть, что IP-адрес присваивается не устройству (компьютеру или маршрутизатору), а именно интерфейсу, поскольку многие устройства могут иметь несколько точек подключения к сети, а следовательно и несколько различных IP-адресов.
Компьютеры и маршрутизаторы «знают» свои IP-адреса, и адреса своих «соседей в сети», а маршрутизаторы еще и могут определять с помощью таблиц маршрутизации, куда направлять пакеты со всеми прочими IP-адресами.
Для программно-аппаратных устройств IP-адрес это просто целое число для хранения которого выделяется ровно 4 байта памяти. Т.е. число в диапазоне от 0 до 4294967295. Человеку запоминать такие громоздкие числа сложно. Поэтому для наглядности, IP-адрес записывается в виде последовательность четырех чисел разделенных точками в диапазоне от 0.0.0.0 до 255.255.255.255. Каждое из этих четырех чисел соответствует значению отдельно каждого байта из тех четырех, в котором хранится все число.
Что такое IP-сети и маски подсетей.
Для обеспечения правильности работы маршрутизаторов и коммутаторов в сети, IP-адреса распределяются между интерфейсами не произвольно, а, как правило, группами, называемыми сетями или подсетями. Причем IP-адреса могут группироваться в сети и подсети только по строго определенным правилам.
Количество IP-адресов (размер) в любой подсети всегда должно быть кратно степени числа 2. То есть – 4, 8, 16, 32 и т.д. Других размеров подсетей быть не может. Причем, первым адресом подсети должен быть такой адрес, последнее (из четырех) чисел которого должно делиться без остатка на размер сети.
При использовании любой IP-сети нужно всегда помнить, что первый и последний адреса подсети – служебные и использовать их в качестве IP-адресов интерфейсов нельзя.
Для сокращения и упрощения описания подсетей, существует понятие «маска подсети». Маска указывает на размер подсети и может быть описана двумя вариантами записи – коротким и длинным.
Например, описать подсеть, размером 4 адреса, начинающейся с адреса 80.255.147.32 с помощью маски можно следующими вариантами:
Короткий – 80.255.147.32/30
Длинный – сеть 80.255.147.32, маска 255.255.255.252
Таблица соответствия для масок подсетей:
Размер сети | Короткая маска | Длинная маска |
/30 | 255.255.255.252 | |
/29 | 255.255.255.248 | |
/28 | 255.255.255.240 | |
/27 | 255.255.255.224 | |
/26 | 255.255.255.192 | |
/25 | 255.255.255.128 | |
/24 | 255.255.255.0 |
«Белые» и «серые» IP-адреса.
К сожалению, общее количество возможных IP-адресов ограничено. Во времена создания сети Интернет и разработки основных протоколов ее работы никто и подумать не мог, что более чем 4 миллиардов допустимых адресов может быть мало. Но с развитием сети Интернет этого количества уже давно не хватает. Поэтому предпринимаются различные меры для жесткой экономии IP-адресов.
Одним из способов экономии является разделение всего пула адресов на так называемые приватные или «серые» и реальные или «белые» IP-адреса.
В Интернет-сообществе существует договоренность, что часть адресов разрешено использовать толькодля устройств, работающих в локальных IP-сетях, не имеющих выхода в глобальную сеть Интернет. Эти IP-адреса принято называть приватнымиили «серыми».
Вот полный перечень возможных «серых» адресов:
Или 192.168.0.0/16
Или 172.16.0.0/12
Или 10.0.0.0/8
Все остальные IP-адреса называют реальными или «белыми».
Для того, чтобы пакеты с «серыми» адресами в заголовке не попадали в глобальный Интернет, на устройствах, установленных на границах локальных и глобальной сетей (т.н.«граничных маршрутизаторах») такие пакеты просто отфильтровываются. Поэтому, в разных локальных сетях могут работать устройства с одним и тем же «серым» IP-адресом и друг другу они «мешать не будут».
NAT-сервис.
Существует механизм, позволяющий устройствам с «серыми» адресами из локальных сетей все-таки получать доступ к информации из глобальной сети. Для этого на граничном маршрутизаторе устанавливаются программы, реализующие т.н. NAT-сервис.
Граничный маршрутизатор, как правило, имеет минимум два интерфейса один из который «смотрит» в локальную сеть с «серым» адресом, а другой, с «белым» адресом «смотрит» в глобальную сеть.
Суть работы NAT-сервиса заключается в следующем. Получив от устройства с «серым» адресом пакет с запросом на получение информации из глобальной сети, маршрутизатор запоминает, от какого «серого» адреса пришел запрос и заменяет в заголовке пакета «серый» адрес на свой «белый», а затем отправляет его в глобальную сеть. Получив из глобальной сети ответ, маршрутизатор определяет – для какого «серого» адреса пришла эта информация, заменяет в пакете свой «белый» адрес на «серый» адрес локального устройства и передает ему этот пакет.
При использовании NAT-сервиса пользователь компьютера с «серым» адресом может получить по своим запросам полный доступ к любым ресурсам глобальной сети. Т.е. как Клиентполучать любую информацию от Серверовв сети.
А вот Сервер, с «серым» IP-адресом «из-за NAT'а» работать не будет*), так как из глобальной сети получить доступ к этому компьютеру просто не удастся.
Применение NAT-сервиса целесообразно для домашних подключений частных лиц и небольших организаций, которые не имеют своих информационных ресурсов.
*) Вообще-то, это не совсем точно. Существует механизм т.н. «обратного NATа», с помощью которого можно обеспечить доступ из глобальной сети к серверам (MAIL, WWW, FTP и др.) клиента работающим под «серым» адресом, но это требует не тривиальной настройки маршрутизатора клиента и далеко не каждый маршрутизатор это умеет делать...
Рисунок 1
На рисунке 1 очень упрощенно нарисована схема сети Интернет. Вы видите маршрутизаторы (синие овалы со стрелочками) которые соединены между собой и два компьютера, которые подключены к провайдеру или другими словами “подключены к интернету“. Любая информация, которой будут обмениваться эти два компьютера будет проходить через цепочку маршрутизаторов. Интернет-маршрутизаторы имеют одну очень важную особенность которую нужно запомнить - они не пересылают информацию на серые IP адреса. Если посмотреть на рисунок 1, то получается, что компьютеры ПК1 и ПК2 должны иметь белые IP адреса. Тогда маршрутизаторы смогут пересылать им информацию и можно сказать, что при таких условиях компьютеры подключены к сети Интернет. Так оно и есть. Такое подключение называется - подключением напрямую. Благодаря тому, что у компьютера белый IP адрес, он “виден” интернет-маршрутизаторам, а значит “виден” всем кто подключен к сети Интернет.
Есть и еще один способ подключения к интернету. Он называется непрямым способом. Когда компьютер имеет серый IP адрес, но подключается к устройству, которое имеет белый IP адрес и, соответственно, подключено к сети Интернет напрямую.
Рисунок 2
При таком непрямом подключении, еще говорят, что компьютер находится за NAT (ПК2 на рисунке 2). NAT - это механизм в том самом устройстве к которому подключается компьютер с серым IP адресом. Задача механизма NAT (Network Address Translation) состоит в том, чтобы связать серый IP адрес компьютера и белый IP адрес устройства. Главное отличие от прямого подключения в том, что интернет-маршрутизаторы “не видят” серый IP адрес ПК2 (см. рис. 2), а значит компьютер ПК2 не виден из сети Интернет.
Под словами виден-не виден подразумевается следующее:
Если с компьютера ПК2 выполнить команду ping 82.112.111.35 (IP адрес ПК1 на рис. 2), то мы увидим, что пакеты (информация) доходят до компьютера ПК1. Значит он виден, компьютеру ПК2. Но если с компьютера ПК1 выполнить команду ping 192.168.0.100, то пакеты не дойдут до компьютера ПК2 (что интернет-маршрутизаторы не пересылают информацию по серым IP адресам?), а значит ПК2 не виден для компьютера ПК1.
Это не значит, что к ПК2 нельзя подключится удаленно. Такое удаленное подключение возможно, но это уже требует задействования вспомогательных механизмов.
Если компьютер подключен к сети Интернет через ADSL-модем, работающий в режиме роутера то компьютер имеет серый IP адрес, а ADSL модем в данном случае является тем устройством которое имеет белый IP адрес и подключено к интернету напрямую. Механизм NAT в этом случае работает в модеме. А вот если ADSL-модем работает в режиме бриджа, то тогда белый IP адрес получает компьютер.
«Динамические» и «статические» IP-адреса.
Еще один способ экономии IP-адресов, используемый в основном провайдерами – применение т.н. динамически выделяемых IP-адресов.
В идеальном случае каждое устройство в сети должно иметь постоянный (или «статический») IP-адрес. Но для устройств, подключающихся к сети только иногда – время от времени (на «сеанс связи»), закреплять на ними постоянные адреса слишком расточительно.
Для большинства клиентов, подключающихся только на сеанс связи, совершенно безразлично, какой именно IP-адрес им будет выделен, поэтому провайдеры обычно им выделяют т.н.«динамические» IP-адреса.
Суть приема заключается в следующем. Провайдер заранее выделяет некоторое количество адресов для подключения клиентов на сеанс связи. Причем общее количество таких адресов обычно значительно меньше, чем общее количество клиентов. При подключении очередного клиента, ему выдается произвольный и на данный момент свободный IP-адрес из этого зарезервированного списка и он у провайдера помечается как «занятый». При отключении клиента, признак заменяется на «свободный» и этот IP-адрес может быть выдан другому, вновь подключившемуся клиенту.
Если же клиенту важно, чтобы его IP-адрес был всегда один и тот же, то в этом случае провайдер «закрепляет» конкретный IP-адрес за клиентом, т.е. – ему выделяется «статический»IP-адрес.
Такое подключение может потребоваться клиентам, которые со своих компьютеров обращаются к особым – защищенным ресурсам сети, владельцы которых установили ограничение на доступ к своим ресурсам, или хотят его контролировать, для чего проверяют, а с какого IP-адреса произошло обращение к ресурсу.
Например, если сотрудник какой-либо организации подключается из дома к сети Интернет «на сеанс связи» и хочет обращаться к компьютерам, установленным у него на работе. Как правило, в организациях строго контролируется доступ извне в сеть предприятия, но при наличии статического IP-адреса для этого адреса можно сделать исключение. В случае динамического адреса такое исключение сделать нельзя, так как заранее неизвестно, какой именно IP-адрес получит клиент после подключения.