logo search

30.Преобразование и трансляция сетевых адресов (arp и nat).

ARP (англ. Address Resolution Protocol — протокол определения адреса) — протокол в компьютерных сетях, предназначенный для определения MAC-адреса, имея IP-адрес другого компьютера.

Reverse ARP (RARP) - переводит адреса канального уровня в адреса сетевого уровня.(устарел)

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

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

  2. Все узлы локальной сети получают ARP-запрос и сравнивают указанный там IP-адрес с собственным.

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

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

NAT (Network Address Translation) – трансляция (подмена) сетевых адресов. Позволяет с одной стороны, противостоять нехватке IPv4 адресов, а с другой – повысить защищённость сети.

IPv4 адреса бывают публичные и приватные. Приватные адреса может использовать кто угодно в своей сети, для этого нет необходимости арендовать адресное пространство, или выделять адреса у провайдера. Очевидный недостаток таких адресов – к устройству, имеющему приватный адрес нельзя подключиться из интернета – только из вашей собственной локальной сети. Это связанно с тем, что ни один провайдер мира не знает, что эти адреса используются в вашей сети и соответственно эти сети отсутствуют в таблице маршрутизации сторонних маршрутизаторов и трафик к ним не маршрутизируется.

Трансляция адресов заключается в том, что есть некоторое NAT-устройство, например, сервер или маршрутизатор, который имеет один или несколько публичных адресов. Клиенты с приватными адресами пытаются отправить запросы напрямую получателю в интернете, но ip пакеты по пути попадают на такое устройство. При этом в пакете подменяется адрес отправителя: вместо приватного адреса клиента, устройство ставит в это поле один из своих публичных адресов, после чего пакет отправляется в сеть. Теперь у него и адрес отправителя и адрес получателя – публичные. Получатель обрабатывает пакет и возвращает на него ответ. Этот ответ, как несложно догадаться, идёт на публичный адрес устройства, занимающегося NAT-ом. Устройство помнит, когда и какой адрес оно подменяло и в этом пакете адрес получателя снова меняется: публичный адрес устройства заменяется на приватный адрес клиента, после чего пакет идёт дальше во внутреннюю сеть. Клиент получает данные, как будто бы никакого преобразования адресов не было.