Трансляция сетевых адресов

NAT (от англ. Network Address Translation — «преобразование сетевых адресов») — это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов

Преобразование адресов методом NAT может производиться почти любым маршрутизирующим устройством — маршрутизатором, сервером доступа, межсетевым экраном. Наиболее популярным является SNAT, суть механизма которого состоит в замене адреса источника (англ. source) при прохождении пакета в одну сторону и обратной замене адреса назначения (англ. destination) в ответном пакете. Наряду с адресами источник/назначение могут также заменяться номера портов источника и назначения.

Принимая пакет от локального компьютера, роутер смотрит на IP-адрес назначения. Если это локальный адрес, то пакет пересылается другому локальному компьютеру. Если нет, то пакет надо переслать наружу в интернет. Но ведь обратным адресом в пакете указан локальный адрес компьютера, который из интернета будет недоступен. Поэтому роутер «на лету» производит трансляцию IP-адреса и порта и запоминает эту трансляцию у себя во временной таблице. Через некоторое время после того, как клиент и сервер закончат обмениваться пакетами, роутер сотрет у себя в таблице запись о n-ом порте за сроком давности.

Помимо source NAT (предоставления пользователям локальной сети с внутренними адресами доступа к сети Интернет) часто применяется также destination NAT, когда обращения извне транслируются межсетевым экраном на компьютер пользователя в локальной сети, имеющий внутренний адрес и потому недоступный извне сети непосредственно (без NAT).

Существует 3 базовых концепции трансляции адресов: статическая (Static Network Address Translation), динамическая (Dynamic Address Translation), маскарадная (NAPT, NAT Overload, PAT).

Статический NAT — Отображение незарегистрированного IP-адреса на зарегистрированный IP-адрес на основании один к одному. Особенно полезно, когда устройство должно быть доступным снаружи сети.

Динамический NAT — Отображает незарегистрированный IP-адрес на зарегистрированный адрес от группы зарегистрированных IP-адресов. Динамический NAT также устанавливает непосредственное отображение между незарегистрированным и зарегистрированным адресом, но отображение может меняться в зависимости от зарегистрированного адреса, доступного в пуле адресов, во время коммуникации.

Перегруженный NAT (NAPT, NAT Overload, PAT, маскарадинг) — форма динамического NAT, который отображает несколько незарегистрированных адресов в единственный зарегистрированный IP-адрес, используя различные порты. Известен также как PAT (Port Address Translation). При перегрузке каждый компьютер в частной сети транслируется в тот же самый адрес, но с различным номером порта

15. Автоматическое назначение адресов

  • DHCP (dynamic host configuration protocol) – протокол удаленной настройки сетевых узлов,
  • Обеспечивает удалённое автоматизированное присвоение узлам сети IP-адресов и других настроек
  • Режимы работы
    • Ручной – жесткое соответствие MAC и IP адресов, задаётся вручную на сервере
    • Автоматический – жесткое соответствие MAC и IP адресов, задаётся автоматически сервером, бессрочно
    • Динамический – адреса выделяются автоматически на ограниченное время (lease duration, срок аренды)

 

16. IP- и MAC-адреса. Разрешение адресов

IP-адрес

IP-адрес (ай-пи адрес, сокращение от англ. Internet Protocol Address) — сетевой

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

IP-адрес состоит из двух частей: номера сети и номера узла.

IP-адрес называют статическим (постоянным, неизменяемым), если он

прописывается в настройках устройства пользователем, либо если назначается

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

неограниченного промежутка времени и не может быть присвоен другому устройству.

IP-адрес называют динамическим (непостоянным, изменяемым), если он

назначается автоматически при подключении устройства к сети и используется в

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

подключения.

Динамические IP-адреса также бывают виртуальными, обслуживание

виртуального IP-адреса производится по технологии NAT: пользователям

предоставляется возможность беспрепятственно получать информацию из сети

Интернет, при этом теряется всякая возможность иного доступа к компьютеру из сети,

так например, компьютер с таким ip не может использоваться в качестве веб-сервера.

MAC-адрес

MAC-адрес (от англ. Media Access Control — управление доступом к среде,

также Hardware Address) — это уникальный идентификатор, присваиваемый каждой

единице оборудования компьютерных сетей. Большинство сетевых протоколов

канального уровня используют одно из трёх пространств MAC-адресов, управляемых

IEEE: MAC-48, EUI-48 и EUI-64. Адреса в каждом из пространств теоретически

должны быть глобально уникальными. Не все протоколы используют MAC-адреса, и не

все протоколы, использующие MAC-адреса, нуждаются в подобной уникальности этих

адресов.

В широковещательных сетях (таких, как сети на основе Ethernet) MAC-адрес

позволяет уникально идентифицировать каждый узел сети и доставлять данные только

этому узлу. Таким образом, MAC-адреса формируют основу сетей на канальном

уровне, которую используют протоколы более высокого (сетевого) уровня. Для

преобразования MAC-адресов в адреса сетевого уровня и обратно применяются

специальные протоколы (например, ARP и RARP в сетях TCP/IP).

¤ ARP (Address resolution protocol) – определение локального (MAC) адреса по IP

¤ RARP (Reverse address resolution protocol) – определение IP-адреса по локальному (MAC)

Принцип работы

  1. Узел, которому нужно выполнить отображение IP-адреса на локальный адрес, формирует ARP запрос, вкладывает его в кадр протокола канального уровня, указывая в нем известный IP-адрес, и рассылает запрос широковещательно.
  2. Все узлы локальной сети получают ARP запрос и сравнивают указанный там IP-адрес с собственным.
  3. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес и отправляет его уже направленно, так как в ARP запросе отправитель указывает свой локальный адрес.

Преобразование адресов выполняется путем поиска в таблице. Эта таблица, называемая ARP-таблицей, хранится в памяти и содержит строки для каждого узла сети. В двух столбцах содержатся IP- и Ethernet-адреса. Если требуется преобразовать IP-адрес в Ethernet-адрес, то ищется запись с соответствующим IP-адресом. Ниже приведен пример упрощенной ARP-таблицы.

 

Семестр

17. Маршрутизация: основные понятия и принципы

Маршрутизатор (router) – сетевое устройство, предназначенное для объединения сетей (в т.ч. различных) в составные сети

Маршрутизатор – это компьютер, выполняющий следующие функции:

    1. передача сетевых пакетов между сетями
    2. выбор наилучшего маршрута для пакета

Маршрутизация — процесс определения маршрута следования информации в

сетях связи.

Статическая маршрутизация

Статическая маршрутизация - вид маршрутизации, при котором маршруты

указываются в явном виде при конфигурации маршрутизатора. Вся маршрутизация при

этом происходит без участия каких-либо протоколов маршрутизации.

При задании статического маршрута указывается:

Адрес сети (на которую маршрутизируется трафик), маска сети

Адрес шлюза (узла), который отвечает за дальнейшую маршрутизацию (или

подключен к маршрутизируемой сети напрямую)

(опционально) метрика (иногда именуется также "ценой") маршрута. При

наличии нескольких маршрутов на одну и ту же сеть некоторые

маршрутизаторы выбирают маршрут с минимальной метрикой (однако,

например, ядро Linux просто игнорирует параметр metric в таблице

маршрутизации, и предназначается он только для протоколов маршрутизации,

наподобие RIP).

Достоинства

Лёгкость отладки и конфигурирования в малых сетях.

Отсутствие дополнительных накладных расходов (из-за отсутствия протоколов

маршрутизации)

Мгновенная готовность (не интервал для

конфигурирования/подстройки)

Низкая нагрузка на процессор маршрутизатора

Предсказуемость в каждый момент времени

Недостатки

Очень плохое масштабирование (добавление (N+1)-ой сети потребует сделать

2*(N+1) записей о маршрутах, причём на большинстве маршрутизаторов

таблица маршрутов будет различной, при N>3-4 процесс конфигурирования

становится весьма трудоёмким).

Низкая устойчивость к повреждениям линий связи (особенно, в ситуациях, когда

обрыв происходит между устройствами второго уровня и порт маршрутизатора

не получает статус down).

Отсутствие динамического балансирования нагрузки

Необходимость в ведении отдельной документации к маршрутам, проблема

синхронизации документации и реальных маршрутов.

В реальных условиях статическая маршрутизация используется в условиях

наличия шлюза по умолчанию (узла, обладающего связностью с остальными узлами) и

1-2 сетями. Помимо этого статическая маршрутизация используется для

"выравнивания" работы маршрутизирующих протоколов в условиях наличия туннеля

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

через сам туннель).

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

Шлюз по умолчанию (англ. Default gateway), шлюз последней надежды (англ.

Last hope gateway) — в маршрутизируемых протоколах — адрес маршрутизатора, на

который отправляется трафик, для которого невозможно определить маршрут исходя

из таблиц маршрутизации. Применяется в сетях с хорошо выраженными центральными

маршрутизаторами, в малых сетях, в клиентских сегментах сетей. Шлюз по умолчанию

задаётся записью в таблице маршрутизации вида "сеть 0.0.0.0 с маской сети 0.0.0.0".

Таблица маршрутизации

Таблица маршрутизации — электронная таблица (файл) или база данных,

хранящаяся на маршрутизаторе или сетевом компьютере, описывающая соответствие

между адресами назначения и интерфейсами, через которые следует отправить пакет

данных до следующего маршрутизатора. Является простейшей формой правил

маршрутизации.

Таблица маршрутизации обычно содержит:

адрес сети или узла назначения, либо указание, что маршрут является

маршрутом по умолчанию

маску сети назначения (для IPv4-сетей маска /32 (255.255.255.255) позволяет

указать единичный узел сети)

шлюз, обозначающий адрес маршрутизатора в сети, на который необходимо

отправить пакет, следующий до указанного адреса назначения

интерфейс (в зависимости от системы это может быть порядковый номер, GUID

или символьное имя устройства)

метрику — числовой показатель, задающий предпочтительность маршрута. Чем

меньше число, тем более предпочтителен маршрут (интуитивно представляется

как расстояние).

Метрика

Метрика — числовое значение, влияющее на выбор маршрута в компьютерных

сетях. В случае статической маршрутизации это значение обычно не изменяется в

пределах сессии.

Протокол маршрутизации

Протокол маршрутизации — сетевой протокол, используемый

маршрутизаторами для определения возможных маршрутов следования данных в

составной компьютерной сети. Применение протокола маршрутизации позволяет

избежать ручного ввода всех допустимых маршрутов, что, в свою очередь, снижает

количество ошибок, обеспечивает согласованность действий всех маршрутизаторов в

сети и облегчает труд администраторов.

Протоколы маршрутизации делятся на два вида, зависящие от типов алгоритмов,

на которых они основаны:

Дистанционно-векторные протоколы, основаны на Distance Vector Algorithm

(DVA);

Протоколы состояния каналов связи, основаны на Link State Algorithm (LSA).

Так же протоколы маршрутизации делятся на два вида в зависимости от сферы

применения:

Междоменной маршрутизации;

Внутридоменной маршрутизации.