第二章 背景知識與相關研究
2.2 NAT 特性
2.2.1 NAT 對應(Mapping)建立規則
當內部網路裝置需要連接外部網路時,NAT 設備會為此連線請求配置一個外部 IP 地址和埠號,稱為一個 NAT 對應( Mapping),讓內部網路裝置可以將網路封 包傳遞至外部網路。NAT 設備不見得會為每個新的連線請求建立新的對應。NAT 設備建立對應的規則可以分為三類,以下分別描述。
2.2.1.1 獨立對應 (Independent Mapping)
當某個內部網路裝置首次連接外部網路時,NAT 設備會建立新的對應,將此裝
置對應為某個外部 IP 地址和埠號。之後同一內部裝置連接外部網路其他不同的
目的端地址或埠號時,NAT 將會使用相同對應(同一外部 IP 地址和埠號)去做資 料傳遞。此種對應建立規則稱之為(與外部裝置無關之)獨立對應(Independent Mapping)。其運作範例如圖 2.2。當 Client A 將網路封包傳送至 Client B 時,NAT 設備將IP 地址對應為 60.12.101.61:9001。之後 Client A 傳遞給 Client C 或 Client B 的不同埠號時,NAT 設備仍將此傳送請求透過同一對應(60.12.101.61:9001)傳 遞。
獨立對應(Independent Mapping) Mapping Table
Source IP:Port Translation IP:Port Destination IP:Port 192.168.0.1:1001 60.12.101.61:9001 59.125.22.72:2001 192.168.0.1:1001 60.12.101.61:9001 59.125.22.72:2002 192.168.0.1:1001 60.12.101.61:9001 59.125.33.83:3001 192.168.0.1:1001 60.12.101.61:9001 59.125.33.83:3002
7 59.125.22.72:2001 59.125.22.72:2002 Src:192.168.0.1:1001
Dst:59.125.22.72:2001
Src:60.12.101.61:9001 Dst:59.125.22.72:2001
192.168.1.254 60.12.101.61
Src:60.12.101.61:9001
圖2.2 獨立對應(Independent Mapping)範例
2.2.1.2 地址相依對應 (Address Dependent Mapping)
當內部網路裝置需要連接外部網路時,NAT 設備根據連線請求的目的端 IP 地址 決定是否對應至已存在的對應(重複使用該對應的外部 IP 地址和埠號)。當目的端 IP 地址與之前存在的某個對應的目的端 IP 地址相同時,NAT 設備會將來源端 IP 地址對應為該對應的外部IP 地址和埠號。當目的端 IP 地址與任何之前對應的目 的端IP 地址皆不相同時,NAT 設備會為此連線請求建立新的對應。此種對應建 立規則稱之為地址相依對應(Address Dependent Mapping)。其運作範例如圖 2.3。
當Client A 將網路封包傳送至 Client B 時,雖然目的端的 IP 地址相同而埠號不 相同,NAT 設備仍會將這個連線請求對應至已存在的 60.12.101.61:9001。當 Client A 將網路封包傳送給 Client C 時,NAT 設備也會因為 Client C 的地址與 Client B 不同而建立新的對應(此處使用另一個 Port:9002)。
地址相依對應(Address Dependent Mapping) Mapping Table Source IP:Port Translation IP:Port Destination IP:Port 192.168.0.1:1001 60.12.101.61:9001 59.125.22.72:2001 192.168.0.1:1001 60.12.101.61:9001 59.125.22.72:2002 192.168.0.1:1001 60.12.101.61:9002 59.125.33.83:3001 192.168.0.1:1001 60.12.101.61:9002 59.125.33.83:3002
8 59.125.22.72:2001 59.125.22.72:2002 Src:192.168.0.1:1001
Dst:59.125.22.72:2001
Src:60.12.101.61:9001 Dst:59.125.22.72:2001
192.168.1.254 60.12.101.61
Src:60.12.101.61:9001
圖2.3 地址相依對應(Address Dependent Mapping)範例
2.2.1.3 地址與埠相依對應 (Address and Port Dependent Mapping)
當內部網路裝置需要連接外部網路時,NAT 設備根據連線請求的目的端 IP 地址 Port Dependent Mapping)。其運作範例如圖 2.4。當 Client A 與 Client B 建立兩筆 資料連線時,這兩個連線的目的端IP 地址相同但埠號不相同。NAT 設備會為這 兩筆連線分別建立不同的對應(分別使用埠號 9001 和 9002)。Client A 與 Client C 建立兩筆資料連線的狀況類似。NAT 設備也會將這兩筆請連線請求建立不同的 對應(分別使用埠號 9003 和 9004)。
地址與埠相依對應(Address and Port Dependent Mapping) Mapping Table Source IP:Port Translation IP:Port Destination IP:Port 192.168.0.1:1001 60.12.101.61:9001 59.125.22.72:2001 192.168.0.1:1001 60.12.101.61:9002 59.125.22.72:2002 192.168.0.1:1001 60.12.101.61:9003 59.125.33.83:3001 192.168.0.1:1001 60.12.101.61:9004 59.125.33.83:3002
9 59.125.22.72:2001 59.125.22.72:2002 Src:192.168.0.1:1001
Dst:59.125.22.72:2001
Src:60.12.101.61:9001 Dst:59.125.22.72:2001
192.168.1.254 60.12.101.61
Src:60.12.101.61:9002
圖2.4 地址與埠相依對應(Address and Port Dependent Mapping)範例
2.2.2 NAT 過濾(Filtering)規則
NAT 過濾(Filtering)是指外部網路需主動與內部網路進行資料傳遞時,NAT 設備 會針對外部網路發起的連線請求加以過濾限制,避免內部網路裝置接收到不必要 的訊息。NAT 過濾規則可以分為三類:獨立過濾、地址相依過濾、地址與埠相 依過濾。以下分別敘述。
2.2.2.1 獨立過濾 (Independent Filtering)
當外部網路裝置傳送封包至 NAT,要求傳遞至某個內部網路裝置時,如果 NAT
先前已為此內部裝置建立對應,則此封包不會被阻擋。其運作範例如圖 2.5。當
內部裝置Client A 將網路封包傳送至外部裝置 Client B 時,NAT 設備會為 Client A 建立對應,將其地址與埠號轉換為 60.12.101.61:9001。之後 NAT 設備允許 Client B 的另一個埠號或其他外部裝置 Client C 透過此對應 60.12.101.61:9001 將資料傳 送給Client A。此種過濾規則稱為獨立過濾 (Independent Filtering)。
Mapping Table
Source IP:Port Translation IP:Port Destination IP:Port 192.168.0.1:1001 60.12.101.61:9001 59.125.22.72:2001
10
192.168.1.254 60.12.101.61
Src:59.125.33.83:3002 59.125.22.72:2001 59.125.22.72:2002
圖2.5 獨立過濾(Independent Filtering)範例
2.2.2.2 地址相依過濾 (Address Dependent Filtering)
此過濾規則要求 NAT 設備記錄每個對應的外部網路裝置地址。當外部網路裝置
欲傳遞資料至某個對應時,若此外部網路裝置地址與對應記錄的不符,則此資料 將被 NAT 設備過濾阻擋。此種過濾規則稱為地址相依過濾 (Address Dependent Filtering)。其運作範例如圖 2.6。當 Client A 將網路封包傳送至 Client B 時,NAT 設備將IP 對應為 60.12.101.61:9001。之後 Client B 的其他 Port 可利用此對應 IP 與 Client A 進行資料傳遞,但 NAT 設備會過濾限制不同 IP 地址的 Client C 對 Client A 的傳送請求。
Mapping Table
Source IP:Port Translation IP:Port Destination IP:Port 192.168.0.1:1001 60.12.101.61:9001 59.125.22.72:2001
ADSL NAT
192.168.1.254 60.12.101.61
Src:59.125.33.83:3002 59.125.22.72:2001 59.125.22.72:2002
X X
圖2.6 地址相依過濾(Address Dependent Filtering)範例
11
2.2.2.3 地址與埠相依過濾(Address and Port Dependent Filtering)
此過濾規則要求 NAT 設備記錄每個對應的外部網路裝置地址與埠號。如有外部
網路裝置欲傳遞資料至某個對應時,若此外部網路裝置地址與埠號與對應記錄的
不完全相符,則此資料將被 NAT 設備過濾阻擋。此過濾規則稱為地址與埠相依
過濾(Address and Port Dependent Filtering)。其運作範例如圖 2.7。當 Client A 將 網路封包傳送至Client B Port:2001 時,NAT 設備將 IP 對應為 60.12.101.61:9001。
之後Client B 埠號 2001 的程式可利用此對應 IP 將資料回傳到 Client A,但 NAT 設備會過濾限制Client B 的其他不同埠號如 2002 以及不同 IP 地址的 Client C 對 Client A 的傳送請求。
Mapping Table
Source IP:Port Translation IP:Port Destination IP:Port 192.168.0.1:1001 60.12.101.61:9001 59.125.22.72:2001
ADSL NAT
192.168.1.254 60.12.101.61
Src:59.125.33.83:3002 59.125.22.72:2001 59.125.22.72:2002
X X X
圖2.7 地址與埠相依過濾(Address and Port Dependent Filtering)範例
12