官术网_书友最值得收藏!

1.3 網(wǎng)絡(luò)地址轉(zhuǎn)換

IPv4使用一個(gè)32比特的二進(jìn)制數(shù)表達(dá)一個(gè)IP地址,理論上最多可以描述232(約43億)個(gè)地址。但是,隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,IPv4的地址空間已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足需求。于是IPv6協(xié)議出現(xiàn)了。而由于IPv6協(xié)議與IPv4協(xié)議并不完全兼容,現(xiàn)存的海量設(shè)備沒辦法快速更新?lián)Q代,多種因素導(dǎo)致IPv6的推行進(jìn)展緩慢。

在IPv6大規(guī)模應(yīng)用之前,人們想盡辦法解決IPv4地址將被耗盡的問題,其中最有效的辦法之一即網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation,NAT)技術(shù)。網(wǎng)絡(luò)地址轉(zhuǎn)換是將數(shù)據(jù)報(bào)文中的IP地址轉(zhuǎn)換為另一個(gè)IP地址的過程,根據(jù)轉(zhuǎn)換的地址不同分為源地址轉(zhuǎn)換和目的地址轉(zhuǎn)換兩種。

(1)源地址轉(zhuǎn)換(Source NAT,SNAT)

對IP報(bào)文中的源地址進(jìn)行轉(zhuǎn)換,一般應(yīng)用在局域網(wǎng)訪問公網(wǎng)的場景中,其組網(wǎng)參考圖1-10。

圖1-10 源地址轉(zhuǎn)換的組網(wǎng)

局域網(wǎng)內(nèi)的所有主機(jī)使用私有網(wǎng)段地址,當(dāng)局域網(wǎng)內(nèi)的主機(jī)訪問公網(wǎng)網(wǎng)絡(luò)時(shí),外發(fā)報(bào)文到達(dá)NAT服務(wù)器后進(jìn)行源地址轉(zhuǎn)換,NAT服務(wù)器將報(bào)文的源地址替換為公網(wǎng)地址。待NAT服務(wù)器收到應(yīng)答報(bào)文時(shí),再將應(yīng)答報(bào)文中的目的地址修改回請求端的源地址,然后轉(zhuǎn)發(fā)給請求端。用戶通過這種方案可以實(shí)現(xiàn)局域網(wǎng)內(nèi)多臺主機(jī)共享一個(gè)或者多個(gè)公網(wǎng)IP地址的目的,減少公網(wǎng)IP地址占用。

(2)目的地址轉(zhuǎn)換(Destination NAT,DNAT)

對IP報(bào)文中的目的地址進(jìn)行轉(zhuǎn)換,一般應(yīng)用在服務(wù)提供商網(wǎng)絡(luò)中,其組網(wǎng)參考圖1-11。

圖1-11 目的地址轉(zhuǎn)換的組網(wǎng)

以網(wǎng)站應(yīng)用為例,服務(wù)提供商對外提供網(wǎng)頁、在線音視頻服務(wù),由于業(yè)務(wù)量大,不能由一臺服務(wù)器承擔(dān)所有流量,一般服務(wù)提供商會在后端部署多臺服務(wù)器分擔(dān)流量。而服務(wù)提供商不可能把所有后端服務(wù)器都暴露在公網(wǎng)中,最主要的原因是要保障安全,當(dāng)然也因?yàn)镮P地址資源限制等。以圖1-11為例,服務(wù)提供商在最前端部署一臺DNAT服務(wù)器,該服務(wù)器分配有公網(wǎng)地址并接收外部請求。DNAT服務(wù)器收到訪問請求后,將目的地址轉(zhuǎn)換為內(nèi)部網(wǎng)絡(luò)中某后端的地址,然后將流量轉(zhuǎn)發(fā)到后端設(shè)備上進(jìn)行處理。后端設(shè)備處理完成后再將應(yīng)答報(bào)文轉(zhuǎn)回給DNAT服務(wù)器,DNAT服務(wù)器將應(yīng)答報(bào)文中的目的地址修改為請求報(bào)文的源地址后,將應(yīng)答報(bào)文轉(zhuǎn)回給請求端。

對于大流量、高轉(zhuǎn)發(fā)速率的場景,一般需要部署專用的DNAT服務(wù)器;對于流量較小的場景,可以使用Linux內(nèi)核提供的Netfilter功能實(shí)現(xiàn)DNAT服務(wù)器的功能。

主站蜘蛛池模板: 宾川县| 苏尼特右旗| 呈贡县| 廉江市| 玉田县| 封开县| 景东| 仪征市| 买车| 鄄城县| 广水市| 同仁县| 黄骅市| 石台县| 黔西县| 垣曲县| 东辽县| 缙云县| 南阳市| 华安县| 娄底市| 龙山县| 荔浦县| 鄄城县| 枞阳县| 武安市| 杭锦旗| 开化县| 贺兰县| 贞丰县| 阳西县| 汾西县| 武胜县| 镶黄旗| 宁海县| 津市市| 九江县| 周至县| 昌图县| 武冈市| 乌海市|