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