中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

VPP全錐型NAT實現(xiàn)

2020-12-04    來源:

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

 
本期智匯華云,華云數(shù)據(jù)特別邀請到華云數(shù)據(jù)網(wǎng)絡組開發(fā)工程師許猛為大家?guī)?ldquo;VPP全錐型NAT實現(xiàn)”。
 
內容介紹
 
在現(xiàn)實Internet網(wǎng)絡環(huán)境中,大多數(shù)計算機主機都位于防火墻或NAT之后,只有少部分主機能夠直接接入Internet。很多時候,我們希望網(wǎng)絡中的兩臺主機能夠直接進行通信,即所謂的P2P通信,而不需要其他公共服務器的中轉。由于主機可能位于防火墻或NAT之后,在進行P2P通信之前,我們需要進行檢測以確認它們之間能否進行P2P通信以及如何通信。這種技術通常稱為NAT穿透(NAT Traversal)。最常見的NAT穿透是基于UDP的技術,如RFC3489中定義的STUN協(xié)議。
 
RFC5780為了檢測NAT類型,對NAT定義了三種映射規(guī)則Mapping跟Filtering,組合形成9種類型,包含RFC3489種定義的4種類型:Full Cone NAT、Restricted Cone NAT、Port Restricted Cone NAT、Symmetric NAT。
 
根據(jù)NAT實現(xiàn)原理,對稱NAT安全性最高,全錐形NAT安全性最低,這也意味著對稱NAT實現(xiàn)P2P條件最苛刻。VPP作為網(wǎng)絡轉發(fā)平面,VPP默認支持對稱型NAT,要實現(xiàn)P2P必須要求對方為全錐形NAT,在現(xiàn)實網(wǎng)絡環(huán)境中,網(wǎng)絡路徑中幾乎不存在,為了最大程度支持P2P,VPP實現(xiàn)全錐形NAT,這種模式下,很適合類似視頻推流里P2P。
 
NAT類型分類
 
RFC3489NAT的UDP的實現(xiàn)方式有4種類型:
 
Full Cone NAT
·          
完全錐形NAT,所有從同一個內網(wǎng)IP和端口號發(fā)送過來的請求都會被映射成同一個外網(wǎng)IP和端口號,并且任何一個外網(wǎng)主機都可以通過這個映射的外網(wǎng)IP和端口號向這臺內網(wǎng)主機發(fā)送包。
 
Restricted Cone NAT
 
限制錐形NAT,它也是所有從同一個內網(wǎng)IP和端口號發(fā)送過來的請求都會被映射成同一個外網(wǎng)IP和端口號。與完全錐形不同的是,外網(wǎng)主機只能夠向先前已經(jīng)向它發(fā)送過數(shù)據(jù)包的內網(wǎng)主機發(fā)送包。
 
Port Restricted Cone NAT
 
端口限制錐形NAT,與限制錐形NAT很相似,只不過它包括端口號。也就是說,一臺IP地址X和端口P的外網(wǎng)主機想給內網(wǎng)主機發(fā)送包,必須是這臺內網(wǎng)主機先前已經(jīng)給這個IP地址X和端口P發(fā)送過數(shù)據(jù)包。
 
Symmetric NAT
 
對稱NAT,所有從同一個內網(wǎng)IP和端口號發(fā)送到一個特定的目的IP和端口號的請求,都會被映射到同一個IP和端口號。如果同一臺主機使用相同的源地址和端口號發(fā)送包,但是發(fā)往不同的目的地,NAT將會使用不同的映射。此外,只有收到數(shù)據(jù)的外網(wǎng)主機才可以反過來向內網(wǎng)主機發(fā)送包。
 
RFC5780中9種NAT類型:

 
下面介紹一種Mapping Behavior(映射規(guī)則)和 Fieltering Behavior(過濾規(guī)則):
 
Mapping Behavior:
 
l  Endpoint-Independent Mapping:
 
對于一個內網(wǎng)的EedpointP,其對應的外網(wǎng)EndpointG是基本固定的,不會隨著通訊外部主機的不同而變化。
 
Filtering Behavior:
 
l  Endpoint-Independent Filtering:
 
對于這種過濾型,NAT在主機的一個外網(wǎng)EndpointG1收到包,只要找到與之對應的內網(wǎng)EndpointP1,NAT就會轉發(fā)這個資料包給相應的內網(wǎng)EndpointP1,不管這個資料包的來源是哪里。(安全性最低,穿透性最高)
 
VPP Full Cone NAT
 
VPP通過三元組(其實是四元組,fib用來做)記錄內網(wǎng)IP跟出口網(wǎng)關的對應關系以及協(xié)議,而不記錄對端IP以及PORT,所以回程不會檢查過濾源IP及PORT。
 
簡化版NAT報文處理流程如下,文件in2out.c out2in.c:
 
1、 內網(wǎng)發(fā)起的對外請求
2、 查找user的in2out表,如果不存在則根據(jù)映射算法計算出 NAT轉換后的IP、PORT,建立轉換關系in2out以及out2in表
3、 根據(jù)映射關系替換原始包頭的IP、PORT重新計算校驗和
4、 發(fā)送報文
5、 外網(wǎng)回復報文,進入到out2in流程,查找out2in表,找到對應映射關系
6、 根據(jù)映射關系替換原始包頭的IP、PORT重新計算校驗和
7、 接受報文
8、 發(fā)送給內網(wǎng)地址
 
In2out處理簡化流程:


 
Out2in處理流程:


標簽: NAT 華云數(shù)據(jù) 

版權申明:本站文章部分自網(wǎng)絡,如有侵權,請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:以現(xiàn)代化基礎架構擁抱新零售時代

下一篇:中國聯(lián)通貴安云數(shù)據(jù)中心微模塊機房運營