Малко известни подробности за работата на NAT - CiscoLab - Мрежова лаборатория

работата

Като го стартирате и посочите един от публичните STUN сървъри като параметър на командния ред, ще разберете вашия NAT тип:

Горният резултат е получен на компютър зад рутер ZyXEL Prestige 645R.

Резултатът за рутер Cisco 1721 с IOS версия 12.2 от своя страна изглежда така:

Същият резултат беше получен на базиран на FreeBSD рутер с NAT, управляван от natd демон.

И ето как изглежда резултатът за PIX (забележка HunSolo за CiscoLab)

Остава да обясним какво са "произволен порт", "запазва портове" и "без фиби" в горните резултати.

Нека да разгледаме отново реда от NAT таблицата в нашия пример:

Както можете да видите от примера, нашият рутер се опитва да запази номера на порта непроменен (11.22.33.44:1053 и 192.168.0.141:1053), което означава, че STUN клиент, работещ в неговата локална мрежа, ще докладвазапазва портовеза него. Между другото, във FreeBSD този резултат се постига чрез ключа "-same_ports" или "-s" в стартовия ред или конфигурационния файл на natd демона.

Отговорът на този въпрос зависи от това дали рутерът поддържа фиби или не. Ако го поддържа, пакетът ще бъде обработен по обичайния начин и (ако рутерът използва Full Cone или Port Restricted NAT имплементация) ще достигне местоназначението си - до хост 192.168.0.141. Ако не ("no hairpin"), пакетът ще бъде изпуснат от рутера. Името на функцията "фиби" (фиби) идва от факта, че ако изобразите преминаването на такъв пакет на фигурата, формата на неговата траектория ще изглежда като U-образна фиби. Друго обяснение е, че думата "шнола" се превежда по същия начин като "завъртане на 180 градуса". Когато рутерът поддържа функцията "фиби".пакетите, които попадат под неговото действие, наистина ще бъдат завъртяни на 180 градуса и изпратени обратно към локалната мрежа.