移動設備在Wi-Fi和無線網絡間無縫連接
在無線網普遍使用的環境中,如何提供隨時無縫移動連接的網絡是一個難題,但如今隨著位置標識/身份標識分離協議出現已經成為一個現實,它提供了一種數據包路由方法,它可以在不改變終端軟件的前提下實現虛擬機在服務器之間的無縫遷移,讓移動設備在Wi-Fi和無線網絡之間的無縫遷移。
一、傳統IP轉發機制不適用于在網絡之間遷移的節點。因為IP地址(IPv4和IPv6)包含一個網絡號和一個網卡地址,所以轉發難度加大。
網絡號可用于將數據包轉發到相應的網絡;網卡地址則可用于選擇網絡節點。一旦節點移動到另一個網絡,地址上的網絡段就會失效。如果要在節點移動時更新終端IP地址,則需要修改節點軟件,但是這種方法不適用于VM或移動設備。
二、在傳統網絡中,終端節點不會移動,需要發送數據包的節點會通過DNS查找或檢查之前從該目標接收到的數據包,查找目標節點的終端標識符(End Point Identifier, EID)。
EID就是目標節點的IP地址,而路由位置標識(Routing Locator, RLOC)部分則可以精確確定本地網絡的目標地址。數據包將從本地網絡發送到提供互聯網通路的路由器。這臺路由器負責使用標準路由協議確定如何到達目標網絡。
三、LISP標準包含以下幾個定義:
1、EID:終端標識符是終端初始化時分配到的IP地址,它通常由動態主機配置協議(Dynamic Host Configuration Protocol)確定。在網絡遷移過程中,設備或虛擬機的EID不會發生變化。
2、ETR:出口通道路由器(Egress Tunnel Router)是負責將數據包從互聯網傳輸到本地網絡的路由器,而目標終端節點就位于本地網絡中。
3、ITR:入口通道路由器是負責將數據包從本地網絡傳輸到互聯網的路由器,而源節點就位于本地網絡中。由于數據包在兩個方向移動,所以路由器將作為離開網絡的數據包的ITR,和來自互聯網,去往網絡節點的數據包的ETR。
4、RLOC:路由位置標識是指IP地址的網絡標識符部分。它可用于將數據包從ITR傳輸到ETR。
四、當節點移動時,傳統的數據包轉發方法就會失效。發送數據包的節點會通過DNS或之前通過傳統方式接收到的數據包,學習目標的EID。然而,在移動網絡中,EID所包含的RLOC是無效的。移動節點的EID是在節點初始化時分配的。當節點移動時,RLOC部分就不能再用于將數據包轉發到移動目標。
五、LISP會在通向移動節點的數據包上添加一個額外IP頭,從而解決這個問題。入口通道路由器(ITR)會通過位置標識/身份標識分離協議(LISP)定義的映射功能學習到移動節點的當前位置。
當ITR接收到來自本地網絡節點的數據包時,它就會查詢LISP映射功能。映射功能會返回(響應)RLOC,用于確定當前位置到目標節點的路徑。
六、然后,ITR會在離開的數據包前面添加一個傳統包頭,然后在其中添加從映射服務中學習到的RLOC。接著,數據包會通過標準路由協議轉發到互聯網。LISP不需要對任何路由協議或互聯網核心路由器進行修改。
七、在到達目標網絡時,接收端出口通道路由器會刪掉所添加的包頭。然后,它會將數據包從它的本地網絡轉發到目標節點。對于目標節點而言,接收的數據包就好像從未發生移動一樣。所以LISP不要求對節點軟件進行任何修改。
當一個ETR需要轉發數據包但又不知道該使用哪一個RLOC時,它會發送一個“映射請求”到“映射解析器”。映射解析器會使用通過BPG學習到的信息確定相應的ETR。
然后,映射解析器會將映射請求轉發給ETR,ETR則會通過發送映射響應原始的ITR。ITR會在數據包上附加額外的包頭信息,并且將接收到的RLOC添加在目標地址域中。