无线数据报协定( 二 )


无线数据报协定

文章插图
模组结构缓冲区管理模组缓冲区管理模组分为传送缓冲区管理和接收缓冲区管理两个部分 。各部分通过信号量管理以保证传送接收报文间不发生冲突 。在缓冲区上溢时进行相应错误处理 。WDP协定处理模组实现连线埠号套用定址功能,分段/合段功能以及错误检测功能等 。WCMP协定处理模组主要处理以下异常情况: a.终点不可达:如运输协定(如WDP)没有特殊连线埠的侦听者等;b.参数问题:即处理分组的WDP结点发现WDP头中的域有问题从而导致不能完成对分组的处理时;c.报文太大:用于当分段报文的第一个数据报被接受且没有足够的快取空间用于存储整个报文的情况;d.合段失败:即组合分段的数据报的结点不能完成组合,它包括合段时间逾时和快取溢出两种情况;e.WCMP回应请求/应答:提供套用层的接口用于传送回应请求和接收回应应答,以用于诊断目的 。技术和方法多类型报文的处理上述各模组需要处理多种类型的报文,有UDP报文、WDP报文、管理报文等 。对于从底层接收到的UDP报文和WDP报文,将其放在接收缓冲区中;对于从上层协定模组接收到的回应服文则放入传送缓冲区中 。针对UDP报文和WDP报文的传送方的不同地址传送回应报文 。对于与管理模组的互动,是通过与系统管理模组建立socket连线定时传送管理轮询报文来实现 。从系统管理模组接收到的轮询报文放入接收缓冲区中,然后通过与上层协定的接口传送给上层协定栈 。上层协定栈传回的回应轮询报文也通过与上层协定的接口传送给承载网路模组 。再由承载网路模组通过与系统管理模组的接口回送给系统管理模组 。多执行绪技术为了充分发挥多执行绪任务调度的优势,在承载网路模组的实现中,报文的传送、接收等处理都是用单一进程、多个执行绪实现的 。除了对报文的接收传送,模组对缓冲区的管理也通过执行绪进行:定时检测缓冲区内的报文,将出错或过期的报文删除 。由于採用多执行绪技术,传送和接收缓冲区就成了两个最主要的共享资源 。对于这两个资源的访问需要考虑到临界资源访问冲突问题 。为此,我们使用互斥锁机制保证对资源的正确访问 。