常規地址轉換技術只轉換報文的源地址或目的地址,而雙向地址轉換(Bidirectional web
NAT)技術能夠將報文的源地址和目的地址同時轉換,該技術應用於內部網絡主機
地址與公網上主機地址重疊的狀況。如圖所示:內部網絡主機 PC1 和公網上主機
PC3的地址重疊。這種狀況下,內部網絡主機 PC2訪問主機 PC3的報文不會到達
目的主機,而會被錯誤的轉發到主機 PC1上。雙向 NAT技術經過在 RouterA上配
置重疊地址池到臨時地址的映射關係(在實現常規 NAT的基礎上),將重疊地址轉
換爲惟一的臨時地址,來保證報文的正確轉發。
例如,在 RouterA上配置雙向地址轉換:
第一步:配置常規 NAT(多對多地址轉換)。
配置 NAT地址池 200.0.0.1~200.0.0.100,並應用到廣域網接口。
第二步:配置一組重疊地址到臨時地址的映射。
10.0.0.0<-->3.0.0.0,子網掩碼爲 24位。
此映射表示,重疊地址池與臨時地址池一一對應,轉換規則爲:
臨時地址 = 臨時地址池首地址 + (重疊地址 – 重疊地址池首地址)
重疊地址 = 重疊地址池首地址 + (臨時地址 – 臨時地址池首地址)
當內部主機 PC2直接用域名訪問公網上的主機 PC3時,報文的處理流程以下:
(1) PC2 發送解析域名爲 www.web.com的Web服務器的DNS請求,經公網DNS
服務器解析後,RouterA收到DNS服務器的響應報文。RouterA檢查DNS響應
報文載荷中的解析回來的地址 10.0.0.1,經檢查該地址爲重疊地址(與重疊地
址池匹配),將地址 10.0.0.1 轉換爲對應的臨時地址 3.0.0.1。以後再對DNS
響應報文進行目的地址轉換(常規NAT處理),發送給PC2。
(2) PC2用 www.web.com對應的臨時地址 3.0.0.1發起訪問, 當報文到達RouterA
時,先轉換報文的源地址(常規NAT處理),再將報文的目的地址即臨時地址,
轉換爲對應的重疊地址 10.0.0.1。
(3) 將報文送到廣域網出接口,並經廣域網逐跳轉發至主機 PC3。
(4) 當 PC3給 PC2返回的報文到達 RouterA時,先檢查報文的源地址 10.0.0.1,
該地址爲重疊地址(與重疊地址池匹配),則將源地址轉換爲對應的臨時地址
3.0.0.1。以後再對返回報文的目的地址進行常規 NAT轉換,併發送給 PC2。