NAT(地址翻譯)的相關(guān)概念及其工作原理

字號:

IP地址耗盡促成了CIDR的開發(fā),但CIDR開發(fā)的主要目的是為了有效的使用現(xiàn)有的internet地址。而同時根據(jù)RFC 1631(IP Network Address Translator)開發(fā)的NAT卻可以在多重的internet子網(wǎng)中使用相同的IP,用來減少注冊IP地址的使用。
    NAT技術(shù)使得一個私有網(wǎng)絡可以通過internet注冊IP連接到外部世界,位于inside網(wǎng)絡和outside網(wǎng)絡中的NAT路由器在發(fā)送數(shù)據(jù)包之前,負責把內(nèi)部IP翻譯成外部合法地址。內(nèi)部網(wǎng)絡的主機不可能同時于外部網(wǎng)絡通信,所以只有一部分內(nèi)部地址需要翻譯。
    NAT的翻譯可以采取靜態(tài)翻譯(static translation)和動態(tài)翻譯(dynamic translation)兩種。靜態(tài)翻譯將內(nèi)部地址和外部地址一對一對應。當NAT需要確認哪個地址需要翻譯,翻譯時采用哪個地址pool時,就使用了動態(tài)翻譯。采用portmultiplexing技術(shù),或改變外出數(shù)據(jù)的源port技術(shù)可以將多個內(nèi)部IP地址影射到同一個外部地址,這就是PAT(port address translator)。
    當影射一個外部IP到內(nèi)部地址時,可以利用TCP的load distribution技術(shù)。使用這個特征時,內(nèi)部主機基于round-robin機制,將外部進來的新連接定向到不同的主機上去。注意:load distributiong只有在影射外部地址到內(nèi)部的時候才有效。
    NAT使用的幾種情況:
    a,連接到internet,但卻沒有足夠的合法地址分配給內(nèi)部主機。
    b,更改到一個需要重新分配地址的ISP。
    c,有相同的IP地址的兩個internat合并。
    d,想支持負載均衡(主機)。
    采用NAT后,一個最主要的改變就是你失去了端對端IP的traceability,也就是說,從此你不能再經(jīng)過NAT使用ping和traceroute,其次就是曾經(jīng)的一些IP對IP的程序不再可以正常運行,潛在的不易被觀察到的缺點就是增加了網(wǎng)絡延時。
    NAT可以支持大部分IP協(xié)議,但有幾個協(xié)議需要注意,首先tftp,rlogin,rsh,rcp和ipmulticast都被NAT支持,其次就是bootp,snmp和路由表更新全部給拒絕了。
    NAT的幾個相關(guān)概念:
    Inside Local IP address: 指定于內(nèi)部網(wǎng)絡的主機地址,全局,但為私有地址。
    Inside Global IP address: 代表一個或更多內(nèi)部IP到外部世界的合法IP。
    Outside Global IP address: 外部網(wǎng)絡主機的合法IP。
    Outside Local IP address: 外部網(wǎng)絡的主機地址,看起來是內(nèi)部網(wǎng)絡的,私有地址。
    Simple Translation Entry: 影射IP到另一個地址的Entry。
    Extended Translation Entry:影射IP地址和端口到另一個pair的Entry。