家用路由器的硬體NAT具體是怎麼回事?

是不是類似網卡的卸載校驗和功能?為什麼刷第三方固件如openWRT就會失去硬體NAT的功能?


硬體NAT或者硬體QOS在專用網關類晶元中做專門的下行分發和流控,但是一般晶元廠家不會對第三方開源,第三方比如op或分支可能無法驅動啟用,這樣的話只能靠cpu搭配軟體來實現,這樣主控cpu壓力就大了。


水星(MERCURY) D12GB 1200M 11AC雙頻無線路由器 千兆有線埠 智能WiFi光纖寬頻大戶型穿牆

內置的「硬體NAT功能」默認開啟,將導致iOS設備直接刷新緩慢,載入延遲,請務必關閉,實測。

未經證實故障分析:需要外部網路發起 TCP 連接的一些服務,或者無狀態協議(諸如使用 UDP 的無狀態協議),可能被中斷。除非 NAT 路由器做出特別努力來支持此類協議,否則傳入的數據包將無法到達目的地。一些協議可以支持參與通信的雙方中的一方採用 NAT 機制(例如被動模式 FTP),但是當兩個系統均通過 NAT 與 Internet 分隔時,這些協議會失敗。

引用自:使用NAT的利弊-07net01-51CTO博客


好像說wrt系統是開源的,但是部分晶元的nat模塊是閉源的,不公開。所以硬體nat沒驅動支持不了只能用cpu去軟體nat。速度慢延遲高還吃資源

非專業人員的個人理解


可以理解為驅動,硬體NAT就是利用NAT專用晶元里的指令集去獨立完成NAT運算,CPU只需要指揮即可,和顯卡硬體加速同理,不過一個是圖像加速,一個是NAT處理加速。不僅是NAT,還有路由晶元,等等各種專用計算晶元。這些都是專門訂製,調試出來的,一旦安裝第三方固件,如果不能調用硬體加速,速度大概會慢一個數量級,估計延遲要往右撥一個小數點了。


應該是有特殊的模塊可以實現不經過cpu來實現nat,就像視頻的硬解碼一樣。它可以減輕cpu壓力。刷第三方沒有該功能可能是系統沒有進行深度定製。


類似於視頻的軟硬解,軟nat靠cpu完成轉發,硬nat靠專用晶元完成轉發。

但openwrt不一定有專用晶元的驅動,所以無法調用專用晶元進行硬nat,那隻能靠cpu進行軟nat了。


你能用這個路由器來正常上網的話就是nat在作用了…


推薦閱讀:

怎麼樣能通過聊天知道對方的IP地址?
為什麼現實中很少使用10.0.0.0網路?
請問4G和TCP/IP之間是什麼關係?
沒有外網ip需要建小型伺服器怎麼辦?

TAG:WiFi | 路由器 | 計算機網路 | 無線路由器 | TCPIP |