局域網(wǎng)中的電腦如何訪問(wèn)互聯(lián)網(wǎng)(如何訪問(wèn)局域網(wǎng)內(nèi)電腦)
我們了解了和網(wǎng)絡(luò)基本傳輸原理,知道網(wǎng)絡(luò)其實(shí)是由各種設(shè)備(如:交換機(jī)、路由器、防火墻等)連接在一起的,電腦終端呢是需要分配一個(gè)IP地址的。那么理論上我們只要給每臺(tái)需要連接網(wǎng)絡(luò)的設(shè)備分配一個(gè)IP地址,大家就可以互相連接到一起了。起初發(fā)明IP地址的時(shí)候是定義為一個(gè)32位的地址了,就是2的32次方個(gè)IP地址可以利用,當(dāng)初并沒(méi)有考慮這世界上會(huì)有這么多終端設(shè)備需要連接。導(dǎo)致這IP地址完全夠用啊,那怎么辦,這個(gè)時(shí)候就有了私有IP地址和公有IP地址的概念。
私有IP地址(private address)也叫專用地址,它們不會(huì)在互聯(lián)網(wǎng)上使用,只具有本地意義。因特網(wǎng)分配編號(hào)委員會(huì)(IANA)保留了3塊IP地址做為私有IP地址:
A類私有地址:10.0.0.0/8,范圍是:10.0.0.0~10.255.255.255
B類私有地址:172.16.0.0/12,范圍是:172.16.0.0~172.31.255.255
C類私有地址:192.168.0.0/16,范圍是:192.168.0.0~192.168.255.255
就是說(shuō)這類IP地址是只能是在內(nèi)部局域網(wǎng)中使用的,不能在互聯(lián)網(wǎng)上使用,所以我們?cè)诓榭醋约弘娔XIP的時(shí)候大多都是以192.168.X.X開(kāi)頭的私有IP地址了。那么如果局域網(wǎng)中的設(shè)備需要訪問(wèn)互聯(lián)網(wǎng),就必須要用公網(wǎng)IP地址進(jìn)行訪問(wèn)了,這個(gè)時(shí)候就有了NAT技術(shù)。網(wǎng)絡(luò)地址轉(zhuǎn)換NAT(Network Address Translation)是將一個(gè)IP地址轉(zhuǎn)換為另一個(gè)IP地址的過(guò)程。
NAT主要用于實(shí)現(xiàn)內(nèi)部網(wǎng)絡(luò)(使用私有IP地址)訪問(wèn)外部網(wǎng)絡(luò)(使用公有IP地址)的功能。當(dāng)內(nèi)網(wǎng)的主機(jī)要訪問(wèn)外網(wǎng)時(shí),通過(guò)NAT技術(shù)可以將其私網(wǎng)IP地址轉(zhuǎn)換為公網(wǎng)IP地址,可以實(shí)現(xiàn)多個(gè)私網(wǎng)用戶共用一個(gè)公網(wǎng)IP地址來(lái)訪問(wèn)外部網(wǎng)絡(luò),這樣既可保證網(wǎng)絡(luò)互通,又節(jié)省了公網(wǎng)IP地址。NAT除了解決IP地址短缺的問(wèn)題,還有兩個(gè)好處:
有效避免來(lái)自外網(wǎng)的攻擊,可以很大程度上提高網(wǎng)絡(luò)安全性。
控制內(nèi)網(wǎng)主機(jī)訪問(wèn)外網(wǎng),同時(shí)也可以控制外網(wǎng)主機(jī)訪問(wèn)內(nèi)網(wǎng),解決了內(nèi)網(wǎng)和外網(wǎng)不能互通的問(wèn)題。
NAT主要有三種類型:
1.Basic NAT
Basic NAT方式屬于一對(duì)一的地址轉(zhuǎn)換,在這種方式下只轉(zhuǎn)換IP地址,而不處理TCP/UDP協(xié)議的端口號(hào),一個(gè)公網(wǎng)IP地址不能同時(shí)被多個(gè)私網(wǎng)用戶使用。
Basic NAT實(shí)現(xiàn)過(guò)程如下:
Router收到內(nèi)網(wǎng)側(cè)Host發(fā)送的訪問(wèn)公網(wǎng)側(cè)Server的報(bào)文,其源IP地址為10.1.1.100。
Router從地址池中選取一個(gè)空閑的公網(wǎng)IP地址,建立與內(nèi)網(wǎng)側(cè)報(bào)文源IP地址間的NAT轉(zhuǎn)換表項(xiàng)(正反向),并依據(jù)查找正向NAT表項(xiàng)的結(jié)果將報(bào)文轉(zhuǎn)換后向公網(wǎng)側(cè)發(fā)送,其源IP地址是162.105.178.65,目的IP地址是211.100.7.34。
Router收到公網(wǎng)側(cè)的回應(yīng)報(bào)文后,根據(jù)其目的IP地址查找反向NAT表項(xiàng),并依據(jù)查表結(jié)果將報(bào)文轉(zhuǎn)換后向私網(wǎng)側(cè)發(fā)送,其源IP地址是211.100.7.34,目的IP地址是10.1.1.100。
由于Basic NAT這種一對(duì)一的轉(zhuǎn)換方式并未實(shí)現(xiàn)公網(wǎng)地址的復(fù)用,不能有效解決IP地址短缺的問(wèn)題,因此在實(shí)際應(yīng)用中并不常用。
2.NAPT
除了一對(duì)一的NAT轉(zhuǎn)換方式外,網(wǎng)絡(luò)地址端口轉(zhuǎn)換NAPT(Network Address Port Translation)可以實(shí)現(xiàn)并發(fā)的地址轉(zhuǎn)換。它允許多個(gè)內(nèi)部地址映射到同一個(gè)公有地址上,因此也可以稱為“多對(duì)一地址轉(zhuǎn)換”或地址復(fù)用。NAPT方式屬于多對(duì)一的地址轉(zhuǎn)換,它通過(guò)使用“IP地址+端口號(hào)”的形式進(jìn)行轉(zhuǎn)換,使多個(gè)私網(wǎng)用戶可共用一個(gè)公網(wǎng)IP地址訪問(wèn)外網(wǎng)。
NAPT實(shí)現(xiàn)過(guò)程如下:
Router收到內(nèi)網(wǎng)側(cè)Host發(fā)送的訪問(wèn)公網(wǎng)側(cè)Server的報(bào)文。比如收到Host A報(bào)文的源地址是10.1.1.100,端口號(hào)1025。
Router從地址池中選取一對(duì)空閑的“公網(wǎng)IP地址+端口號(hào)”,建立與內(nèi)網(wǎng)側(cè)報(bào)文“源IP地址+源端口號(hào)”間的NAPT轉(zhuǎn)換表項(xiàng)(正反向),并依據(jù)查找正向NAPT表項(xiàng)的結(jié)果將報(bào)文轉(zhuǎn)換后向公網(wǎng)側(cè)發(fā)送。比如Host A的報(bào)文經(jīng)Router轉(zhuǎn)換后的報(bào)文源地址為162.105.178.65,端口號(hào)16384。
Router收到公網(wǎng)側(cè)的回應(yīng)報(bào)文后,根據(jù)其“目的IP地址+目的端口號(hào)”查找反向NAPT表項(xiàng),并依據(jù)查表結(jié)果將報(bào)文轉(zhuǎn)換后向私網(wǎng)側(cè)發(fā)送。比如Server回應(yīng)Host A的報(bào)文經(jīng)Router轉(zhuǎn)換后,目的地址為10.1.1.100,端口號(hào)1025。
3.NAT Server
NAT具有屏蔽內(nèi)部主機(jī)的作用,但有時(shí)內(nèi)網(wǎng)需要向外網(wǎng)提供服務(wù),比如提供WWW服務(wù)或者FTP服務(wù)。這種情況下需要內(nèi)網(wǎng)的服務(wù)器不被屏蔽,外網(wǎng)用戶可以隨時(shí)訪問(wèn)內(nèi)網(wǎng)服務(wù)器。NAT Server可以很好地解決這個(gè)問(wèn)題,當(dāng)外網(wǎng)用戶訪問(wèn)內(nèi)網(wǎng)服務(wù)器時(shí),它通過(guò)事先配置好的“公網(wǎng)IP地址+端口號(hào)”與“私網(wǎng)IP地址+端口號(hào)”間的映射關(guān)系,將服務(wù)器的“公網(wǎng)IP地址+端口號(hào)”根據(jù)映射關(guān)系替換成對(duì)應(yīng)的“私網(wǎng)IP地址+端口號(hào)”。
NAT Server的地址轉(zhuǎn)換過(guò)程如下:
在Router上配置NAT Server的轉(zhuǎn)換表項(xiàng)。
Router收到公網(wǎng)用戶發(fā)起的訪問(wèn)請(qǐng)求,設(shè)備根據(jù)該請(qǐng)求的“目的IP209.102.1.68+端口號(hào)80”查找NAT Server轉(zhuǎn)換表項(xiàng),找出對(duì)應(yīng)的“私網(wǎng)IP192.168.1.68+端口號(hào)80”,然后用查找結(jié)果替換報(bào)文的“目的IP+端口號(hào)”。
Router收到內(nèi)網(wǎng)服務(wù)器的回應(yīng)報(bào)文后,根據(jù)該回應(yīng)報(bào)文的“源IP地址192.168.1.68+源端口號(hào)80”查找NAT Server轉(zhuǎn)換表項(xiàng),找出對(duì)應(yīng)的“公網(wǎng)IP209.102.1.68+端口號(hào)80”,然后用查找結(jié)果替換報(bào)文的“源IP地址+源端口號(hào)”。