摘要:BIA技術在雙找主機的SocketAPI模塊與TCP/IP模塊之間加人一個API翻譯器,如圖4-50所示。API翮譯器包含域名解析器、地址映射器和函數(shù)映射器三個模塊。
4.8.5.1 BIA技術
BIA技術在雙找主機的SocketAPI模塊與TCP/IP模塊之間加人一個API翻譯器,如圖4-50所示。API翮譯器包含域名解析器、地址映射器和函數(shù)映射器三個模塊。其中,域名解析器負責對IPv4應用程序的請求域名做出正確的應答;地址映射器在主機內部維護一張IPv4與IPv6地址對的表格(分配的IPv4地址來自IPv4地址池中,采用未使用的IPv4地址,如0.0.0.1-0.0.0.255);函數(shù)映射器負責在IPv4的SocketAPI函數(shù)與IPv6的SocketAPI函數(shù)間相互翻譯。
IETFRFC3338中描述了采用BIA機制的雙棧主機與IPv6主機之間相互通信的過程,其中雙找主機Dual Stack向IPv6主機Host6發(fā)起通信的過程如下:
當雙桟主機DualStack上的IPv4應用向它的域名服務器DNS發(fā)送查詢目的主機的地址請求時,域名解析器攔截了這個請求,并產生一個新的查詢請求,轉發(fā)給DNS來解析A和AAAA兩種記錄。
DNS解析出Host6的AAAA記錄后,將它返回給域名解析器。
域名解析器要求地址映射器為IPv6地址分配一個IPv4地址。
地址映射器在IPv4地址池中選擇一個未用的保留地址,在映射表中注冊后返回給域IPv4應用SocketAPI(IPv4IPv6)API翻譯器
名解析器。
域名解析器為分配的IPv4地址產生一條A記錄,返回給IPv4應用程序。
IPv4應用程序調用IPv4的SocketAPI函數(shù),閑數(shù)映射器對調用命令進行攔截,判斷其是否來自于IPv6的應用。若不是,則跳過翻譯程序;否則.閑數(shù)映射器向地址映射器請求與該IPv4地址對應的IPv6地址,地址映射器查找映射表后將結果返回。函數(shù)映射器使用收到的這個AAAA型地址調用Host6上相應的IPv6 SocketAPI函數(shù)。
當函數(shù)映射器接收到Host6上IPv6SocketAPI函數(shù)的應答后,向地址映射器請求與Host6對應的IPv4地址。然后,函數(shù)映射器利用此IPv4地址繼續(xù)完成SocketAPI函數(shù)的調用。
由IPv6主機Host6發(fā)起到雙找主機DualStack的通信過程相對簡單一些。Host6通過它的DNS解析DualStack的AAAA記錄,然后向DualStack發(fā)送一個IPv6的數(shù)據(jù)包。為了通過調用IPv4的API函數(shù)和IPv4應用通信?函數(shù)映射器檢測到IPv6數(shù)據(jù)包到達DualStack后,向地址映射器發(fā)送一個IPv4地址請求,并用返回的IPv4地址發(fā)起一個IPv4的SocketAPI調用。然后,函數(shù)映射器再向地址映射器請求與該IPv4地址對應的原來的IPv6地址,按照這個地址對Host6做出答復。
返回目錄:
編輯推薦:
通信工程師備考資料免費領取
去領取