家用路由器的硬體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需要建小型伺服器怎麼辦?