Ipv4 – что это за адреса? Зачем они?
IPv4 – это четвертая версия протокола IP (Internet Protocol), она является основой сети Интернет, устанавливающей правила функционирования компьютерных сетей по принципу обмена пакетами. Этот протокол отвечает за установку соединения между узлами сети (компьютеры, серверы, мобильные устройства и т. п.) на основе IP-адресов.
IP-адрес – уникальный идентификатор устройства (компьютера, сервера), подключенного к локальной сети или Интернету.
IPv4-адреса чаще всего записываются в виде четырех десятичных чисел от 0 до 255, разделенных символом «.» (точка), например 192.168.1.1 (минимальный возможный адрес – 0.0.0.0, максимальный – 255.255.255.255).
Устройство без IP-адреса не может быть идентифицировано в сети и обмениваться информацией с другими устройствами.
Существуют понятия внутреннего и внешнего адреса. Внутренним принято называть адрес устройства внутри локальной сети, а внешним – адрес в сети Интернет.
Почему заканчиваются адреса?
IPv4 позволяет использовать около 4,22 млрд адресов, но этого мало. Проектная мощность инфраструктуры Интернета, заложенная в 1970-х годах, оказалась недостаточной, так как не предполагалось столь быстрого роста числа устройств потребителей адресов. Также ситуацию усугубил ряд факторов:
- Рост числа мобильных гаджетов, которые являются полноценными интернет-устройствами.
- В 90-е годы доминирующим способом интернет-соединения был телефонный модем, пул адресов распределялся между большим числом пользователей, однако развитие в 2000-е годы широкополосного доступа с постоянно активными в сети устройствами привело к резкому росту количества задействованных адресов.
- За последние 20 лет число пользователей Интернета многократно увеличилось, особенно это касается густонаселенных стран – Индии и Китая.
- Выдача адресов не всегда была эффективной: в первые годы организациям выдавались избыточные диапазоны и многие до сих пор используют публичные адреса внутри локальной сети.
- Использование виртуальных серверов требует нескольких публичных адресов на одном физическом хосте.
Кто раздает адреса, когда возникала проблема выдачи?
Управлением всемирным адресным пространством занимается американская некоммерческая организация IANA, а также пять региональных интернет-регистраторов (ARIN, APNIC, AfriNIC, LACNIC, RIPE NCC), ответственных за назначение IP-адресов конечным пользователям и локальным интернет-регистраторам (LIR) на определенных территориях.
В феврале 2011 года IANA выделила региональным интернет-регистраторам последние пять оставшихся блоков из своего адресного пространства. По прогнозу, в течение пяти лет все региональные интернет-регистраторы должны были исчерпать адреса и к сентябрю 2015 года об ограничении выдачи заявили все, кроме AfriNIC (обслуживает страны Африки). ARIN (обслуживает Северную Америку) объявил о полном исчерпании свободных IPv4 адресов, а для остальных регистраторов этот момент прогнозируется на 2017 год.
Что делать?
В первую очередь необходимо усилить контроль за распределением IPv4-адресов. Изначально выданные огромные диапазоны адресов необходимо вернуть, разбить на более маленькие блоки и раздать снова. Некоторые организации, получившие в свое время блоки, уже перестали существовать или не использовали свои адреса. Вот только их реестр не велся, и сейчас найти информацию будет достаточно сложно.
Реализация новых внутрисетевых механизмов, таких как виртуальный хостинг – несколько доменов на одном публичном адресе.
Индикация имени сервера (SNI, или Server Name Indication) – если у веб-сайта есть SSL-сертификат, то выделенный IP-адрес ему не нужен.
Внедрение новой системы IPv6 – последней версии интернет-протокола с огромными возможностями и максимальным количеством адресов 2 ^ 128 (практически неограниченное число возможных адресов). Только этот протокол несовместим с IPv4, устройство с адресом IPv6 не может напрямую взаимодействовать с устройством с IPv4, что сильно усложняет повсеместный переход на него.
Использование трансляции сетевых адресов (Network Address Translation, NAT) для того, чтобы множество локальных адресов вашей домашней сети преобразовывалось в один внешний или Carrier-grade NAT для предоставления широкополосного доступа интернет-провайдерами.
Что такое NAT?
NAT (Network Address Translation – преобразование сетевых адресов) – это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов. Механизм NAT описан в RFC 1631, RFC 3022. Практически любое маршрутизирующее устройство (интернет-маршрутизатор, сервер доступа, межсетевой экран) может производить преобразование адресов методом NAT.
NAT подменяет ваш локальный адрес на белый (публичный), который прописывается в пакете, пока он идет до веб-сервера, и возвращает его на ваше устройство.
Какие типы NAT бывают?
Статический NAT – преобразование одного внутреннего адреса в один внешний (один к одному). Все запросы на внешний адрес будут транслироваться на один внутренний, как будто это устройство имеет белый адрес и видимо извне.
Динамический NAT – преобразование внутреннего адреса на внешний из предоставленного диапазона. Трансляция осуществляется так же, как и в статическом NAT, только внешний адрес может меняться в зависимости от того, какой из адресов диапазона был свободен в момент преобразования.
Перегруженный NAT (NAPT, NAT Overload, PAT (Port Address Translation), маскарадинг, Many-to-One NAT) – форма динамического NAT, в которой несколько внутренних адресов преобразуются в один внешний, используя различные порты. Этот способ решает нехватку публичных адресов, так как может преобразовать неограниченное число локальных в один внешний.
NAT – это хорошо?
Да. NAT экономит публичные адреса, а сейчас это очень актуально. И это его первостепенная задача! Так как максимальное число возможных портов 65 000, теоретически такое же число локальных адресов может быть преобразовано в один внешний.
PAT и динамический NAT выполняют функции межсетевого экрана (защищают локальную сеть и ее устройства от вторжения), отбрасывают внешние соединения, которые не ожидаются и запрещены на устройстве. Пропускаются только те пакеты, которые соответствуют созданной исходящей трансляции.
NAT скрывает внутреннюю структуру сети, извне видно только устройство, осуществляющее маршрутизацию, а не то, которое инициализирует запрос в Интернет.
NAT – это плохо?
Нет, но есть минусы.
Протоколы, разработанные до массового внедрения NAT, могут плохо работать через NAT (FTP, протоколы туннелирования).
Через NAT пользовательская сессия перестает быть уникальной, так как все выходят в Интернет с одного белого адреса. Проблема может возникать с сайтами, которые разрешают доступ к сервису по IP-адресу, например голосование или скачивание файла с файлообменника.
Если 1000 человек пойдут на один сайт с одного внешнего адреса (именно так происходит с NAT), сервер может подумать, что на него совершается DDoS-атака, и заблокировать доступ для всех с этого IP.
NAT прожорливее на ресурсы устройства, чем обычная маршрутизация, хотя сейчас это не так актуально.
Какое будущее у NAT?
Carrier Grade NAT (CGN/CGNAT), также известный как Large Scale NAT (LSN), – следующий уровень развития реализации NAT; в первую очередь он рассчитан на интернет-провайдеров (ISP) и операторов связи, но также может стать хорошей заменой NAT-устройств в корпоративной сети. CGN позволяет обеспечить прозрачное подключение своих пользователей по протоколу IPv4 с использованием ограниченного количества публичных адресов. Не только конечный пользователь, но и оператор может назначать локальные адреса своим абонентам, централизованно преобразуя их во внешние на своем оборудовании. Такой сценарий называется NAT444, потому что имеет три разных IPv4 адреса: частная сеть пользователя, частная сеть оператора, публичная сеть Интернет.
Более подробно с Carrier Grade NAT (CGN/CGNAT) и реализацией его в системе DPI (Deep Packet Inspection) познакомимся в следующей статье.