По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Пока не начали, ознакомьтесь с материалом про обнаружение соседей в сетях. Реактивное распределение достижимости Возвращаясь к рисунку 9 в качестве справки, предположим, что развернута реактивная плоскость управления, и B хотел бы начать обмен потоками данных с G. Как C может разработать информацию о пересылке, необходимую для правильного переключения этого трафика? Маршрутизатор может отправить запрос по сети или отправить запрос контроллеру, чтобы обнаружить путь к месту назначения. Например: Когда B впервые подключается к сети, и C узнает об этом вновь подключенном хосте, C может отправить информацию о B в качестве достижимого пункта назначения на контроллер, подключенный к сети. Точно так же, когда G подключается к сети и D узнает об этом вновь подключенном хосте, D может отправить информацию о G как о достижимом пункте назначения контроллеру, подключенному к сети. Поскольку контроллер узнает о каждом хосте (или достижимом месте назначения), подключенном к сети (а в некоторых системах, также обо всей топологии сети), когда C необходимо узнать, как достичь хоста G, маршрутизатор может запросить контроллер, который может предоставить эту информацию. Примечание. Концепция централизованного контроллера подразумевает, что один контроллер предоставляет информацию для всей сети, но это не то, как термин централизованная плоскость управления обычно используется в мире сетевой инженерии. Однако идея централизации в сетевой инженерии довольно расплывчата. Вместо того, чтобы указывать на отдельное устройство, термин "централизованный" обычно используется для обозначения непереносимых скачков по сети и не вычисляемых каждым сетевым устройством независимо. Маршрутизатор (или хост) может отправить пакет проводника, который записывает маршрут от источника к месту назначения и сообщает эту информацию источнику проводника, который затем используется как исходный маршрут. Рисунок 10 иллюстрирует это. Используя рисунок 10 и предполагая исходную маршрутизацию на основе хоста: Хосту A необходимо отправить пакет H, но у него нет пути. A отправляет explorer на свой шлюз по умолчанию, маршрутизатор C. C не имеет маршрута к месту назначения, поэтому он пересылает explorer пакет по всем каналам, кроме того, по которому он получил пакет; следовательно, к B, D и E. B является хостом, не имеет дополнительных интерфейсов и не является целью explorer, поэтому он игнорирует explorer пакет. Ни у D, ни у E нет пути к H, поэтому они оба перенаправляют explorer на все интерфейсы, кроме того, на котором они получили пакет; следовательно, на канал с множественным доступом, совместно используемый между ними и F. F получает две копии одного и того же explorer пакета; он выбирает один на основе некоторых локальных критериев (таких как первый полученный или некоторая политика плоскости управления) и пересылает его на все интерфейсы, на которых он не получил пакет, к G. G получает пакет и, учитывая, что у него нет пути к H, пересылает его на единственное другое соединение, которое у него есть, что ведет к H. H принимает explorer и отвечает. В этой схеме каждое устройство на пути добавляет себя в список пройденных узлов перед пересылкой explorer пакета на все интерфейсы, кроме того, на котором он был получен. Таким образом, когда H получает explorer пакет (который в конечном итоге направлен на поиск пути к H), пакет теперь описывает полный путь от A до H. Когда H отвечает explorer, он помещает этот путь в тело пакета; когда A получит ответ, у него теперь будет полный путь от A до H. Примечание. В некоторых реализациях A не будет ни генерировать, ни получать ответ на пакет explorer. А с первого роутера, может выполнять эти функции. Точно так же сам H может не отвечать на эти пакеты explorer, а скорее G или любое другое сетевое устройство вдоль пути, имеющее информацию о том, как добраться до G. Однако в этих случаях общая концепция и обработка остаются теми же. Затем, чтобы отправить пакеты в H, A вставляет этот путь в заголовок пакета в виде исходного маршрута, содержащего путь [A, C, D, F, G, H]. Когда каждый маршрутизатор получает этот пакет, он проверяет исходный маршрут в заголовке, чтобы определить, на какой маршрутизатор перенаправить трафик следующему. Например, C проверит информацию о маршруте от источника в заголовке пакета и определит, что пакет должен быть отправлен в D следующим, в то время как D изучит эту информацию и определит, что ему нужно отправить пакет F. Примечание. В некоторых реализациях каждый explorer фактически отправляется в пункт назначения, который затем определяет, по какому пути должен идти трафик. На самом деле существует несколько различных способов реализации исходной маршрутизации; процесс, приведенный здесь, является лишь одним примером, объясняющим общую идею исходной маршрутизации. Упреждающее распределение доступности Проактивные плоскости управления, в отличие от реактивных плоскостей управления, распределяют информацию о достижимости и топологии по всей сети, когда информация становится доступной, а не тогда, когда она необходима для пересылки пакетов. Основная проблема, с которой сталкиваются плоскости упреждающего управления, заключается в обеспечении надежной передачи информации о доступности и топологии между узлами в сети, в результате чего все устройства имеют одинаковую информацию о доступности. Удаление информации о плоскости управления может привести к возникновению постоянных петель маршрутизации или к созданию черных дыр маршрутизации (так называемых, потому что они потребляют трафик, передаваемый в пункты назначения без следа), и то и другое серьезно снижает полезность сети для приложений. Существует несколько широко используемых механизмов для обеспечения надежной передачи информации плоскости управления по сети. Плоскость управления может периодически передавать информацию, задерживая более старую информацию. Это похоже на формирование соседей, поскольку каждый маршрутизатор в сети будет передавать имеющуюся информацию о доступности всем соседям (или на всех интерфейсах, в зависимости от плоскости управления) на основе таймера, обычно называемого таймером обновления или объявления. Информация о доступности, однажды полученная, хранится в локальной таблице и истекает по таймауту в течение некоторого периода времени, часто называемого таймером удержания (опять же, как при обнаружении соседа). Остальные описанные здесь механизмы полагаются на существующую систему обнаружения соседей, чтобы гарантировать надежную доставку - и постоянную надежность - информации о доступности. Во всех этих системах: Список соседей используется не только для управления передачей новой информации о доступности, но и для проверки правильности получения информации о доступности. Список соседей используется не только для управления передачей новой информации о доступности, но и для проверки правильности получения информации о доступности. В контексте распределения достижимости на основе соседей существует несколько обычно используемых механизмов для передачи определенной информации о доступности с устройства на устройство; часто любая заданная плоскость управления будет использовать более одного из описанных здесь методов. Плоскость управления может использовать порядковые номера (или какой-либо другой механизм) для обеспечения правильной репликации. Порядковые номера могут фактически использоваться для описания отдельных пакетов и больших блоков информации о доступности; Рисунок 11 иллюстрирует это. Получив пакет, получатель может отправить подтверждение получения пакета, отметив порядковые номера, которые он получил. Отдельный порядковый номер может использоваться для описания достижимости отдельного сетевого уровня. Информация (NLRI), передаваемая по сети. Информация NLRI, распределенная по нескольким пакетам, затем может быть описана с использованием одного порядкового номера. Плоскость управления может описывать базу данных для обеспечения правильной репликации. Например, плоскость управления может описывать информацию в базе данных как: Список порядковых номеров, соответствующих отдельным записям, содержащий информацию о доступности, содержащуюся в базе данных. Группы смежных порядковых номеров, содержащиеся в базе данных (несколько более компактный способ представления всех порядковых номеров) Набор порядковых номеров в паре с хешами информации в каждой записи информации о доступности; это имеет то преимущество, что не только описывает записи в базе данных, но также дает возможность получателю проверять содержимое каждой записи, но без переноса всей базы данных для выполнения проверки. Хэш по блокам записей о достижимости, содержащихся в базе данных, который может быть вычислен получателем для тех же записей и напрямую сравнен, чтобы определить, отсутствуют ли записи. Эти типы дескрипторов баз данных могут передаваться периодически, или только при наличии изменений, или даже в других конкретных ситуациях, чтобы не только обеспечить синхронизацию баз данных сетевыми устройствами, но и определить, что отсутствует или находится в ошибке, поэтому дополнительная информация может быть запрошена. Каждая из этих схем имеет преимущества и недостатки. Как правило, протоколы реализуют схему, которая позволяет реализации не только проверять отсутствующую информацию, но также информацию, которая была случайно повреждена либо в памяти, либо во время передачи.
img
Такой большой и интересный инструмент - а разворачивать как? В одной из предыдущих статей мы знакомились с таким инструментом разработчика, как ELK. Сегодня мы разберемся, как правильно подготовить этот комплекс для практической работы. Для начала напомним, что ELK это один из наиболее удобных инструментов разработчика, предназначенный для быстрого выявления неполадок в работе объемных программ путем сбора и анализа логов. Этот комплекс состоит из трех приложений: поисковика Elasticsearch, сборщика данных Logstash и визуализатора Kibana. Весь комплекс разрабатывается компанией Elastic. Ознакомимся с системными требованиями. На каждом из серверов в системе рекомендуется иметь не менее 8 физических ядер и не менее 48 Гб оперативной памяти. Кроме того, если данные планируется собирать с крупной системы, то объем внутренней памяти будем оценивать по принципу "чем больше тем лучше". 8 Тб это рекомендуемые требования, но этот показатель может варьироваться. Ну и, разумеется, чем выше скорость соединения между серверами - тем быстрее будет проводиться обработка информации. Рекомендуемый показатель - 1Гб/с. Система из трех таких серверов позволит обрабатывать до тысячи событий в секунду, собирать и отображать 95% данных за отдельные периоды времени (5 минут, сутки),хранить данные до 90 дней и обслуживать до 10 клиентов по протоколу HTTP одновременно. Поскольку все элементы данного решения реализованы на Java, первым делом нужно установить актуальную версию Oracle Java. Также рекомендуется изучить дополнительную информацию о компонентах ELK на предмет совместимости версий. Если на Вашей рабочей станции установлены Ubuntu или Debian, устанавливаем соединение с репозиторием для скачивания Oracle Java. Если вы пользуетесь CentOS то качаем программную среду на сервер с сайта разработчика. После того, как процесс установки завершится рекомендуется проверить актуальную версию с помощью соответствующей команды консоли. Если все хорошо, то это значит, что почва подготовлена, и можно переходить к следующему этапу А им станет скачивание и установка поискового инструмента Elasticsearch. Это также не вызовет особой сложности достаточно скопировать в систему публичный ключ репозитория, установить с ним соединение (пользователи Debian и Ubuntu могут столкнуться с отсутствием загрузочного пакета apt-transport-https его нужно будет установить дополнительно), скачать актуальную версию Elasticsearch и запустить процесс установки. Чтобы работа приложения была корректной, его стоит добавить в автозагрузку. Затем проверяем, штатно ли прошла установка, запустив программу. Итак, все запустилось нормально. Можно переходить к этапу конфигурирования Elasticsearch. Это не займет много времени нужно будет отредактировать пару строк в файле конфигурации /etc/elasticsearch/elasticsearch.yml. Во-первых, чтобы не собирать лишнюю информацию, указываем хост локального интерфейса, через который будет передавать данные Logstash (по умолчанию, данные собираются со всех сетевых интерфейсов), а во-вторых, указываем путь к хранилищу данных, откуда мы и будем с ними работать. Рекомендуется выделить под хранилище значительные объемы памяти чем сложнее проект, тем больше будут весить собираемые логи. После завершения процесса настройки перезапускаем и проверяем программу. Далее нас ждет установка веб-панели Kibana. Этот процесс почти не отличается от установки Elasticsearch, ключи репозиториев будут одинаковыми. В целом, все то же самое устанавливаем соединение с репозиторием, скачиваем, устанавливаем, добавляем в автозагрузку, запускаем, проверяем. Стоит обозначить, что приложение загружается довольно долго, поэтому проверку лучше осуществить через пару минут после отдачи команды на запуск приложения. Редактирование настроек Kibana можно осуществить через файл /etc/kibana/kibana.yml. Здесь нас интересует строка с указанием интерфейса, который будет "слушать" Kibana. Это могут быть все интерфейса, либо один определенный в данном случае нужно будет указать конкретный ip-адрес нужного сервера. Далее проверим сам веб-интерфейс, для этого указываем адрес - например, http://10.1.4.114:5601. Наконец, перейдем к этапу установки Logstash. Здесь все то же самое, только перед проверочным запуском программу нужно настроить. Можно отредактировать основной файл настроек /etc/logstash/logstash.yml, но рациональнее будет создать несколько файлов конфигурации в директории /etc/logstash/conf.d, чтобы группировать настройки по назначению. Создаем файлы input.conf и output.conf. В первом файле мы указываем порт, на который будем принимать информацию, а также параметры ssl, если в этом есть необходимость. Во втором файле указываем параметры передачи данных в Elasticsearch. Данные лучше передавать под указанным дополнительно индексом, также используя маску в виде даты. Также можно отключить функцию отправки данных в общий лог системы, чтобы не занимать место в хранилище дублированными фрагментами информации. Кроме этого, потребуется создать файл с параметрами обработки данных. Дело в том, что не всегда удобно работать с полным объемом, и приходится делать выборку ключевых данных. Создаем файл filter.confи указываем параметры, на основании которых будут фильтроваться необходимые данные. Также при необходимости можно настроить, например, корректное отображение даты или географического местоположения сервера, с которого будет поступать информация. Завершив конфигурирование, можно проверить работу программы, запустив ее и просмотрев внутренний файл лога /var/log/logstash/logstash-plain.log. Основной пакет программ установлен теперь осталось установить программы, которые будут отправлять данные, на сервера. Компания Elastic предлагает использовать Filebeat, но можно воспользоваться и альтернативными вариантами. Здесь процесс установки аналогичен предыдущим. Файл настроек по умолчанию позволяет сразу работать с программой, но можно и подредактировать его при необходимости. Если все сделано правильно, программный комплекс уже начал собирать логи. Следующим шагом будет открытие веб-интерфейса Kibana и настройка паттерна индекса, чтобы лог открывался в веб-интерфейсе по умолчанию, а в сохраняемых данных не было путаницы.
img
232 или 4 294 967 296 IPv4 адресов это много? Кажется, что да. Однако с распространением персональных вычислений, мобильных устройств и быстрым ростом интернета вскоре стало очевидно, что 4,3 миллиарда адресов IPv4 будет недостаточно. Долгосрочным решением было IPv6, но требовались более быстрое решение для устранения нехватки адресов. И этим решением стал NAT (Network Address Translation). Что такое NAT Сети обычно проектируются с использованием частных IP адресов. Это адреса 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16. Эти частные адреса используются внутри организации или площадки, чтобы позволить устройствам общаться локально, и они не маршрутизируются в интернете. Чтобы позволить устройству с приватным IPv4-адресом обращаться к устройствам и ресурсам за пределами локальной сети, приватный адрес сначала должен быть переведен на общедоступный публичный адрес. И вот как раз NAT переводит приватные адреса, в общедоступные. Это позволяет устройству с частным адресом IPv4 обращаться к ресурсам за пределами его частной сети. NAT в сочетании с частными адресами IPv4 оказался полезным методом сохранения общедоступных IPv4-адресов. Один общедоступный IPv4-адрес может быть использован сотнями, даже тысячами устройств, каждый из которых имеет частный IPv4-адрес. NAT имеет дополнительное преимущество, заключающееся в добавлении степени конфиденциальности и безопасности в сеть, поскольку он скрывает внутренние IPv4-адреса из внешних сетей. Маршрутизаторы с поддержкой NAT могут быть настроены с одним или несколькими действительными общедоступными IPv4-адресами. Эти общедоступные адреса называются пулом NAT. Когда устройство из внутренней сети отправляет трафик из сети наружу, то маршрутизатор с поддержкой NAT переводит внутренний IPv4-адрес устройства на общедоступный адрес из пула NAT. Для внешних устройств весь трафик, входящий и выходящий из сети, выглядит имеющим общедоступный IPv4 адрес. Маршрутизатор NAT обычно работает на границе Stub-сети. Stub-сеть – это тупиковая сеть, которая имеет одно соединение с соседней сетью, один вход и выход из сети. Когда устройство внутри Stub-сети хочет связываться с устройством за пределами своей сети, пакет пересылается пограничному маршрутизатору, и он выполняет NAT-процесс, переводя внутренний частный адрес устройства на публичный, внешний, маршрутизируемый адрес. Терминология NAT В терминологии NAT внутренняя сеть представляет собой набор сетей, подлежащих переводу. Внешняя сеть относится ко всем другим сетям. При использовании NAT, адреса IPv4 имеют разные обозначения, основанные на том, находятся ли они в частной сети или в общедоступной сети (в интернете), и является ли трафик входящим или исходящим. NAT включает в себя четыре типа адресов: Внутренний локальный адрес (Inside local address); Внутренний глобальный адрес (Inside global address); Внешний местный адрес (Outside local address); Внешний глобальный адрес (Outside global address); При определении того, какой тип адреса используется, важно помнить, что терминология NAT всегда применяется с точки зрения устройства с транслированным адресом: Внутренний адрес (Inside address) - адрес устройства, которое транслируется NAT; Внешний адрес (Outside address) - адрес устройства назначения; Локальный адрес (Local address) - это любой адрес, который отображается во внутренней части сети; Глобальный адрес (Global address) - это любой адрес, который отображается во внешней части сети; Рассмотрим это на примере схемы. На рисунке ПК имеет внутренний локальный (Inside local) адрес 192.168.1.5 и с его точки зрения веб-сервер имеет внешний (outside) адрес 208.141.17.4. Когда с ПК отправляются пакеты на глобальный адрес веб-сервера, внутренний локальный (Inside local) адрес ПК транслируется в 208.141.16.5 (inside global). Адрес внешнего устройства обычно не переводится, поскольку он является общедоступным адресом IPv4. Стоит заметить, что ПК имеет разные локальные и глобальные адреса, тогда как веб-сервер имеет одинаковый публичный IP адрес. С его точки зрения трафик, исходящий из ПК поступает с внутреннего глобального адреса 208.141.16.5. Маршрутизатор с NAT является точкой демаркации между внутренней и внешней сетями и между локальными и глобальными адресами. Термины, inside и outside, объединены с терминами local и global, чтобы ссылаться на конкретные адреса. На рисунке маршрутизатор настроен на предоставление NAT и имеет пул общедоступных адресов для назначения внутренним хостам. На рисунке показано как трафик отправляется с внутреннего ПК на внешний веб-сервер, через маршрутизатор с поддержкой NAT, и высылается и переводится в обратную сторону. Внутренний локальный адрес (Inside local address) - адрес источника, видимый из внутренней сети. На рисунке адрес 192.168.1.5 присвоен ПК – это и есть его внутренний локальный адрес. Внутренний глобальный адрес (Inside global address) - адрес источника, видимый из внешней сети. На рисунке, когда трафик с ПК отправляется на веб-сервер по адресу 208.141.17.4, маршрутизатор переводит внутренний локальный адрес (Inside local address) на внутренний глобальный адрес (Inside global address). В этом случае роутер изменяет адрес источника IPv4 с 192.168.1.5 на 208.141.16.5. Внешний глобальный адрес (Outside global address) - адрес адресата, видимый из внешней сети. Это глобально маршрутизируемый IPv4-адрес, назначенный хосту в Интернете. На схеме веб-сервер доступен по адресу 208.141.17.4. Чаще всего внешние локальные и внешние глобальные адреса одинаковы. Внешний локальный адрес (Outside local address) - адрес получателя, видимый из внутренней сети. В этом примере ПК отправляет трафик на веб-сервер по адресу 208.141.17.4 Рассмотрим весь путь прохождения пакета. ПК с адресом 192.168.1.5 пытается установить связь с веб-сервером 208.141.17.4. Когда пакет прибывает в маршрутизатор с поддержкой NAT, он считывает IPv4 адрес назначения пакета, чтобы определить, соответствует ли пакет критериям, указанным для перевода. В этом пример исходный адрес соответствует критериям и переводится с 192.168.1.5 (Inside local address) на 208.141.16.5. (Inside global address). Роутер добавляет это сопоставление локального в глобальный адрес в таблицу NAT и отправляет пакет с переведенным адресом источника в пункт назначения. Веб-сервер отвечает пакетом, адресованным внутреннему глобальному адресу ПК (208.141.16.5). Роутер получает пакет с адресом назначения 208.141.16.5 и проверяет таблицу NAT, в которой находит запись для этого сопоставления. Он использует эту информацию и переводит обратно внутренний глобальный адрес (208.141.16.5) на внутренний локальный адрес (192.168.1.5), и пакет перенаправляется в сторону ПК. Типы NAT Существует три типа трансляции NAT: Статическая адресная трансляция (Static NAT) - сопоставление адресов один к одному между локальными и глобальными адресами; Динамическая адресная трансляция (Dynamic NAT) - сопоставление адресов “многие ко многим” между локальными и глобальными адресами; Port Address Translation (PAT) - многоадресное сопоставление адресов между локальными и глобальными адресами c использованием портов. Также этот метод известен как NAT Overload; Static NAT Статический NAT использует сопоставление локальных и глобальных адресов один к одному. Эти сопоставления настраиваются администратором сети и остаются постоянными. Когда устройства отправляют трафик в Интернет, их внутренние локальные адреса переводятся в настроенные внутренние глобальные адреса. Для внешних сетей эти устройства имеют общедоступные IPv4-адреса. Статический NAT особенно полезен для веб-серверов или устройств, которые должны иметь согласованный адрес, доступный из Интернета, как например веб-сервер компании. Статический NAT требует наличия достаточного количества общедоступных адресов для удовлетворения общего количества одновременных сеансов пользователя. Статическая NAT таблица выглядит так: Dynamic NAT Динамический NAT использует пул публичных адресов и назначает их по принципу «первым пришел, первым обслужен». Когда внутреннее устройство запрашивает доступ к внешней сети, динамический NAT назначает доступный общедоступный IPv4-адрес из пула. Подобно статическому NAT, динамический NAT требует наличия достаточного количества общедоступных адресов для удовлетворения общего количества одновременных сеансов пользователя. Динамическая NAT таблица выглядит так: Port Address Translation (PAT) PAT транслирует несколько частных адресов на один или несколько общедоступных адресов. Это то, что делают большинство домашних маршрутизаторов. Интернет-провайдер назначает один адрес маршрутизатору, но несколько членов семьи могут одновременно получать доступ к Интернету. Это наиболее распространенная форма NAT. С помощью PAT несколько адресов могут быть сопоставлены с одним или несколькими адресами, поскольку каждый частный адрес также отслеживается номером порта. Когда устройство инициирует сеанс TCP/IP, оно генерирует значение порта источника TCP или UDP для уникальной идентификации сеанса. Когда NAT-маршрутизатор получает пакет от клиента, он использует номер своего исходного порта, чтобы однозначно идентифицировать конкретный перевод NAT. PAT гарантирует, что устройства используют разный номер порта TCP для каждого сеанса. Когда ответ возвращается с сервера, номер порта источника, который становится номером порта назначения в обратном пути, определяет, какое устройство маршрутизатор перенаправляет пакеты. Картинка иллюстрирует процесс PAT. PAT добавляет уникальные номера портов источника во внутренний глобальный адрес, чтобы различать переводы. Поскольку маршрутизатор обрабатывает каждый пакет, он использует номер порта (1331 и 1555, в этом примере), чтобы идентифицировать устройство, с которого выслан пакет. Адрес источника (Source Address) - это внутренний локальный адрес с добавленным номером порта, назначенным TCP/IP. Адрес назначения (Destination Address) - это внешний локальный адрес с добавленным номером служебного порта. В этом примере порт службы 80: HTTP. Для исходного адреса маршрутизатор переводит внутренний локальный адрес во внутренний глобальный адрес с добавленным номером порта. Адрес назначения не изменяется, но теперь он называется внешним глобальным IP-адресом. Когда веб-сервер отвечает, путь обратный. В этом примере номера портов клиента 1331 и 1555 не изменялись на маршрутизаторе с NAT. Это не очень вероятный сценарий, потому что есть хорошая вероятность того, что эти номера портов уже были прикреплены к другим активным сеансам. PAT пытается сохранить исходный порт источника. Однако, если исходный порт источника уже используется, PAT назначает первый доступный номер порта, начиная с начала соответствующей группы портов 0-511, 512-1023 или 1024-65535. Когда портов больше нет, и в пуле адресов имеется более одного внешнего адреса, PAT переходит на следующий адрес, чтобы попытаться выделить исходный порт источника. Этот процесс продолжается до тех пор, пока не будет доступных портов или внешних IP-адресов. То есть если другой хост может выбрать тот же номер порта 1444. Это приемлемо для внутреннего адреса, потому что хосты имеют уникальные частные IP-адреса. Однако на маршрутизаторе NAT номера портов должны быть изменены - в противном случае пакеты из двух разных хостов выйдут из него с тем же адресом источника. Поэтому PAT назначает следующий доступный порт (1445) на второй адрес хоста. Подведем итоги в сравнении NAT и PAT. Как видно из таблиц, NAT переводит IPv4-адреса на основе 1:1 между частными адресами IPv4 и общедоступными IPv4-адресами. Однако PAT изменяет как сам адрес, так и номер порта. NAT перенаправляет входящие пакеты на их внутренний адрес, ориентируясь на входящий IP адрес источника, заданный хостом в общедоступной сети, а с PAT обычно имеется только один или очень мало публично открытых IPv4-адресов, и входящие пакеты перенаправляются, ориентируясь на NAT таблицу маршрутизатора. А что относительно пакетов IPv4, содержащих данные, отличные от TCP или UDP? Эти пакеты не содержат номер порта уровня 4. PAT переводит наиболее распространенные протоколы, переносимые IPv4, которые не используют TCP или UDP в качестве протокола транспортного уровня. Наиболее распространенными из них являются ICMPv4. Каждый из этих типов протоколов по-разному обрабатывается PAT. Например, сообщения запроса ICMPv4, эхо-запросы и ответы включают идентификатор запроса Query ID. ICMPv4 использует Query ID. для идентификации эхо-запроса с соответствующим ответом. Идентификатор запроса увеличивается с каждым отправленным эхо-запросом. PAT использует идентификатор запроса вместо номера порта уровня 4. Преимущества и недостатки NAT NAT предоставляет множество преимуществ, в том числе: NAT сохраняет зарегистрированную схему адресации, разрешая приватизацию интрасетей. При PAT внутренние хосты могут совместно использовать один общедоступный IPv4-адрес для всех внешних коммуникаций. В этом типе конфигурации требуется очень мало внешних адресов для поддержки многих внутренних хостов; NAT повышает гибкость соединений с общедоступной сетью. Многочисленные пулы, пулы резервного копирования и пулы балансировки нагрузки могут быть реализованы для обеспечения надежных общедоступных сетевых подключений; NAT обеспечивает согласованность для внутренних схем адресации сети. В сети, не использующей частные IPv4-адреса и NAT, изменение общей схемы адресов IPv4 требует переадресации всех хостов в существующей сети. Стоимость переадресации хостов может быть значительной. NAT позволяет существующей частной адресной схеме IPv4 оставаться, позволяя легко изменять новую схему общедоступной адресации. Это означает, что организация может менять провайдеров и не нужно менять ни одного из своих внутренних клиентов; NAT обеспечивает сетевую безопасность. Поскольку частные сети не рекламируют свои адреса или внутреннюю топологию, они остаются достаточно надежными при использовании в сочетании с NAT для получения контролируемого внешнего доступа. Однако нужно понимать, что NAT не заменяет фаерволы; Но у NAT есть некоторые недостатки. Тот факт, что хосты в Интернете, по-видимому, напрямую взаимодействуют с устройством с поддержкой NAT, а не с фактическим хостом внутри частной сети, создает ряд проблем: Один из недостатков использования NAT связан с производительностью сети, особенно для протоколов реального времени, таких как VoIP. NAT увеличивает задержки переключения, потому что перевод каждого адреса IPv4 в заголовках пакетов требует времени; Другим недостатком использования NAT является то, что сквозная адресация теряется. Многие интернет-протоколы и приложения зависят от сквозной адресации от источника до места назначения. Некоторые приложения не работают с NAT. Приложения, которые используют физические адреса, а не квалифицированное доменное имя, не доходят до адресатов, которые транслируются через NAT-маршрутизатор. Иногда эту проблему можно избежать, реализуя статические сопоставления NAT; Также теряется сквозная трассировка IPv4. Сложнее трассировать пакеты, которые подвергаются многочисленным изменениям адресов пакетов в течение нескольких NAT-переходов, что затрудняет поиск и устранение неполадок; Использование NAT также затрудняет протоколы туннелирования, такие как IPsec, поскольку NAT изменяет значения в заголовках, которые мешают проверкам целостности, выполняемым IPsec и другими протоколами туннелирования; Службы, требующие инициирования TCP-соединений из внешней сети, или stateless протоколы, например, использующие UDP, могут быть нарушены. Если маршрутизатор NAT не настроен для поддержки таких протоколов, входящие пакеты не могут достичь своего адресата; Мы разобрали основные принципы работы NAT. Хотите больше? Прочитайте нашу статью по настройке NAT на оборудовании Cisco.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59