NAT类型与检测
NAT類型與檢測
一、NAT分類
Full Cone NAT(完全圓錐型)
Address Restricted Cone NAT(地址限制圓錐型)
Port Restricted Cone NAT(端口限制圓錐型)
Symmetric NAT(對稱型)
1.Full Cone NAT
完全錐形NAT,所有從同一個內(nèi)網(wǎng)IP和端口號發(fā)送過來的請求都會被映射成同一個外網(wǎng)IP和端口號,并且任何一個外網(wǎng)主機都可以通過這個映射的外網(wǎng)IP和端口號向這臺內(nèi)網(wǎng)主機發(fā)送包。
2.Address Restricted Cone NAT
地址限制錐形NAT,它也是所有從同一個內(nèi)網(wǎng)IP和端口號發(fā)送過來的請求都會被映射成同一個外網(wǎng)IP和端口號。與完全錐形不同的是,外網(wǎng)主機只能夠向先前已經(jīng)向它發(fā)送過數(shù)據(jù)包的內(nèi)網(wǎng)主機發(fā)送包。
3.Port Restricted Cone NAT
端口限制錐形NAT,與限制錐形NAT很相似,只不過它包括端口號。也就是說,一臺IP地址X和端口P的外網(wǎng)主機想給內(nèi)網(wǎng)主機發(fā)送包,必須是這臺內(nèi)網(wǎng)主機先前已經(jīng)給這個IP地址X和端口P發(fā)送過數(shù)據(jù)包。
4.Symmetric NAT
對稱型NAT,所有從同一個內(nèi)網(wǎng)IP和端口號發(fā)送到一個特定的目的IP和端口號的請求,都會被映射到同一個IP和端口號。如果同一臺主機使用相同的源地址和端口號發(fā)送包,但是發(fā)往不同的目的地,NAT將會使用不同的映射。此外,只有收到數(shù)據(jù)的外網(wǎng)主機才可以反過來向內(nèi)網(wǎng)主機發(fā)送包。
二、使用STUN服務(wù)器檢測設(shè)備所處網(wǎng)絡(luò)的NAT類型
STUN服務(wù)器需要兩個公網(wǎng)IP,下面client是要檢測的設(shè)備,server是STUN服務(wù)器,并假設(shè)server的兩公網(wǎng)SOCKET的IP地址和端口號分別是IP1:port和IP2:port。
-- STEP1 --
client向server IP1:port發(fā)送請求,server使用IP1:port將收到請求的源IP和port(即設(shè)備的公網(wǎng)IP地址和端口號)回復(fù)給client,如果得到的公網(wǎng)IP和設(shè)備自身的IP一樣,則判斷設(shè)備自身處在公網(wǎng),無NAT,檢測結(jié)束,否則進行下一步STEP2。
-- STEP2 --
client向server IP1:port發(fā)送請求,server使用IP2:port來回復(fù),如果設(shè)備能收到回復(fù),則判斷為Full Cone NAT,檢測結(jié)束,否則進行下一步STEP3。
-- STEP3 --
client向server IP2:port發(fā)送請求,server使用IP2:port將收到的源IP和port回復(fù)給client,client判斷此port和STEP1得到的port是否一樣,如果不一樣,則為Symmetric NAT,檢測結(jié)束;如果一樣,則為Restricted Cone NAT,進行下一步STEP4繼續(xù)檢測是哪種Restricted Cone NAT。
-- STEP4 --
client向server IP2:port發(fā)送請求,要求server使用該IP的另一個端口來回復(fù),server使用IP2:port2回復(fù)請求,如果client能收到回復(fù),則判斷為 Address Restricted Cone NAT,否則為Port Restricted Cone NAT。
NAT類型與檢測
一、NAT分類
Full Cone NAT(完全圓錐型)
Address Restricted Cone NAT(地址限制圓錐型)
Port Restricted Cone NAT(端口限制圓錐型)
Symmetric NAT(對稱型)
1.Full Cone NAT
完全錐形NAT,所有從同一個內(nèi)網(wǎng)IP和端口號發(fā)送過來的請求都會被映射成同一個外網(wǎng)IP和端口號,并且任何一個外網(wǎng)主機都可以通過這個映射的外網(wǎng)IP和端口號向這臺內(nèi)網(wǎng)主機發(fā)送包。
2.Address Restricted Cone NAT
地址限制錐形NAT,它也是所有從同一個內(nèi)網(wǎng)IP和端口號發(fā)送過來的請求都會被映射成同一個外網(wǎng)IP和端口號。與完全錐形不同的是,外網(wǎng)主機只能夠向先前已經(jīng)向它發(fā)送過數(shù)據(jù)包的內(nèi)網(wǎng)主機發(fā)送包。
3.Port Restricted Cone NAT
端口限制錐形NAT,與限制錐形NAT很相似,只不過它包括端口號。也就是說,一臺IP地址X和端口P的外網(wǎng)主機想給內(nèi)網(wǎng)主機發(fā)送包,必須是這臺內(nèi)網(wǎng)主機先前已經(jīng)給這個IP地址X和端口P發(fā)送過數(shù)據(jù)包。
4.Symmetric NAT
對稱型NAT,所有從同一個內(nèi)網(wǎng)IP和端口號發(fā)送到一個特定的目的IP和端口號的請求,都會被映射到同一個IP和端口號。如果同一臺主機使用相同的源地址和端口號發(fā)送包,但是發(fā)往不同的目的地,NAT將會使用不同的映射。此外,只有收到數(shù)據(jù)的外網(wǎng)主機才可以反過來向內(nèi)網(wǎng)主機發(fā)送包。
二、使用STUN服務(wù)器檢測設(shè)備所處網(wǎng)絡(luò)的NAT類型
STUN服務(wù)器需要兩個公網(wǎng)IP,下面client是要檢測的設(shè)備,server是STUN服務(wù)器,并假設(shè)server的兩公網(wǎng)SOCKET的IP地址和端口號分別是IP1:port和IP2:port。
-- STEP1 --
client向server IP1:port發(fā)送請求,server使用IP1:port將收到請求的源IP和port(即設(shè)備的公網(wǎng)IP地址和端口號)回復(fù)給client,如果得到的公網(wǎng)IP和設(shè)備自身的IP一樣,則判斷設(shè)備自身處在公網(wǎng),無NAT,檢測結(jié)束,否則進行下一步STEP2。
-- STEP2 --
client向server IP1:port發(fā)送請求,server使用IP2:port來回復(fù),如果設(shè)備能收到回復(fù),則判斷為Full Cone NAT,檢測結(jié)束,否則進行下一步STEP3。
-- STEP3 --
client向server IP2:port發(fā)送請求,server使用IP2:port將收到的源IP和port回復(fù)給client,client判斷此port和STEP1得到的port是否一樣,如果不一樣,則為Symmetric NAT,檢測結(jié)束;如果一樣,則為Restricted Cone NAT,進行下一步STEP4繼續(xù)檢測是哪種Restricted Cone NAT。
-- STEP4 --
client向server IP2:port發(fā)送請求,要求server使用該IP的另一個端口來回復(fù),server使用IP2:port2回復(fù)請求,如果client能收到回復(fù),則判斷為 Address Restricted Cone NAT,否則為Port Restricted Cone NAT。
總結(jié)
- 上一篇: 剑指offer:汇编语言中有一种移位指令
- 下一篇: STL泛型算法:reverse