2017-07-18 70 views
1

假設我支持Restricted Cone NAT,我希望能夠接收來自某個端點EP-A(互聯網上某個不在NAT後面的PC)的UDP消息。我首先發送一個UDP數據包到那個EP-A在NAT中打出一個洞。受限制的圓錐NAT有多少映射?

這意味着NAT需要記住的映射:

(My local endpoint, EP-A)

但是,當我再次發送UDP數據包到另一個遠程端點EP-B會發生什麼?新映射(My local endpoint, EP-B)會覆蓋舊映射嗎?或者NAT會記住兩者嗎?

如果NAT能夠記住多個這樣的映射,那麼最大值是多少?

我明白,這可能會有所不同,從一個NAT到另一個,因此,如果沒有它的RFC,我會還的任何統計數據非常感興趣,「建議NAT製造商」,...

回答

1

新映射(我的本地端點EP-B)會覆蓋舊映射嗎?

還是將NAT記得兩者兼而有之?

一般是的。飽和後通常會保留舊的映射並丟棄新的映射,可能會出現ICMP錯誤。

如果NAT能夠記住多個這樣的映射,那麼最大值是多少?

如果您有權訪問系統,則取決於實施,通常可配置。

因此,如果沒有它的RFC,我會還的任何統計數據非常感興趣

實際有對NAT幾個RFC文檔,4787特指NAT在UDP的情況下, 。但是他們沒有指定具體的數字,因爲這取決於設備和網絡的大小。

根據我的個人經驗,運行基於UDP的DHT節點或DNS解析程序可能足以覆蓋家庭路由器(自定義固件可以緩解此問題)的默認配置或不執行EIM的CGNAT。

我記得讀過一些研究論文,研究各種ISP的映射保留時間,端口編號行爲和NAT映射類型,但我不記得他們是否也測試過飽和。

+0

謝謝!你會碰巧知道平均家庭路由器上的最大映射數量的大概數量(按數量級)? –

+0

舉一個例子:dd-wrt(第三方基於linux的固件)默認有4k的限制,從我的經驗來看,股票固件可以低於這個限制。此外,表格大小不是唯一的限制。如果udp應用程序對不同的IP進行許多短暫的交換,超時也很重要。因爲與TCP不同,NAT不知道連接何時關閉。 – the8472

+0

4k看起來並不算太壞,我擔心它會高達256或更多。儘管如此,它還不到便宜30美元的設備上的4k。 –