摘要:互联网技术移动报文发送和接收搜块设计:移动报文发送紧接者解析和构造报文模块,它的作用是将移动报文按照要求,填好IPv6包头,并加入扩展头,最后送到发送队列上。
3.3.6 移动报文发送和接收搜块设计
移动报文发送紧接者解析和构造报文模块,它的作用是将移动报文按照要求,填好IPv6包头,并加入扩展头,最后送到发送队列上。
解析和构造报文模块首先发送报文,然后构造数据。在数据中加入HA地址选项、类型2路由头,用于以后在IPv6层的扩展包头的产生。最后加入IPPROTO.MH类型并放入socket发送队列,传递到IPv6层。
为了处理移动报文,必须对Linux内核中ip6_mitpUt函数进行修改:在正常处理数据包的同时,斋要查找本地的绑定级存或BU列表,找出HoA和CoA,构造好IPv6包头(主要是源地址和R的地址),类型2路由头,HoA选项。整个发送流程如图3-34所示。
移动报文接收用于接收移动报文,主要作用是取出CoA和HoA,交换位胥,然后输入到解析和构造移动报文模块。其实现相对简单。
由于加入新的协议交换表项,当出现IPPROTO_MH类型的数据报时,首先通过IPv6输入模块处理,然后进入MIPv6模块进行处理o在通过几层调用后,最后通过移动头处理函数来处理报文中的HoA选项和类型2路由头,取出CoA和HoA,交换位置,传到解析和构造移动报文模块处理。同时在IPv6输入模块处理数据包时,对于不是本机地址的包,需要查询代理列表来确定这个地址是否为本机代理的地址。如果是,就通过隧道将其转发。整个接收流程如图3-35所示。
返回目录:
编辑特别推荐:
通信工程师备考资料免费领取
去领取