摘要:互聯(lián)網(wǎng)技術(shù)移動報文發(fā)送和接收搜塊設(shè)計:移動報文發(fā)送緊接者解析和構(gòu)造報文模塊,它的作用是將移動報文按照要求,填好IPv6包頭,并加入擴展頭,最后送到發(fā)送隊列上。
3.3.6 移動報文發(fā)送和接收搜塊設(shè)計
移動報文發(fā)送緊接者解析和構(gòu)造報文模塊,它的作用是將移動報文按照要求,填好IPv6包頭,并加入擴展頭,最后送到發(fā)送隊列上。
解析和構(gòu)造報文模塊首先發(fā)送報文,然后構(gòu)造數(shù)據(jù)。在數(shù)據(jù)中加入HA地址選項、類型2路由頭,用于以后在IPv6層的擴展包頭的產(chǎn)生。最后加入IPPROTO.MH類型并放入socket發(fā)送隊列,傳遞到IPv6層。
為了處理移動報文,必須對Linux內(nèi)核中ip6_mitpUt函數(shù)進(jìn)行修改:在正常處理數(shù)據(jù)包的同時,齋要查找本地的綁定級存或BU列表,找出HoA和CoA,構(gòu)造好IPv6包頭(主要是源地址和R的地址),類型2路由頭,HoA選項。整個發(fā)送流程如圖3-34所示。
移動報文接收用于接收移動報文,主要作用是取出CoA和HoA,交換位胥,然后輸入到解析和構(gòu)造移動報文模塊。其實現(xiàn)相對簡單。
由于加入新的協(xié)議交換表項,當(dāng)出現(xiàn)IPPROTO_MH類型的數(shù)據(jù)報時,首先通過IPv6輸入模塊處理,然后進(jìn)入MIPv6模塊進(jìn)行處理o在通過幾層調(diào)用后,最后通過移動頭處理函數(shù)來處理報文中的HoA選項和類型2路由頭,取出CoA和HoA,交換位置,傳到解析和構(gòu)造移動報文模塊處理。同時在IPv6輸入模塊處理數(shù)據(jù)包時,對于不是本機地址的包,需要查詢代理列表來確定這個地址是否為本機代理的地址。如果是,就通過隧道將其轉(zhuǎn)發(fā)。整個接收流程如圖3-35所示。
返回目錄:
編輯特別推薦:
中級通信專業(yè)實務(wù)
通信工程師備考資料免費領(lǐng)取
去領(lǐng)取