[发明专利]一种处理报文的方法和网络设备有效
申请号: | 200810057201.X | 申请日: | 2008-01-30 |
公开(公告)号: | CN101222443A | 公开(公告)日: | 2008-07-16 |
发明(设计)人: | 林长望;张锋;章海锋;钱雪彪 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/06;H04L12/58 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 宋志强;麻海明 |
地址: | 310053浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理 报文 方法 网络设备 | ||
技术领域
本发明涉及网络通信技术,特别涉及一种处理报文的方法和网络设备。
背景技术
套接口(Socket)是目前进程之间相互访问的最广泛的实现方法,其主要功能是将一个进程发送的与协议有关的报文映射到指定的另一个进程中去。例如,网络设备接收到报文后,如果该报文是发送给该网络设备的,则需要通过与该报文的协议类型对应的Socket将该报文上送给网络设备的应用程序。
目前Socket主要分为四种:传输控制协议(TCP)Socket、用户数据报协议(UDP)Socket、原始(RAW)IP Socket以及原始链接(RAW Link)Socket。其中,TCP Socket和UDP Socket通过报文的源地址、目的地址、源端口号和目的端口号进行区分、RAW IP Socket通过报文的源地址、目的地址以及IP协议号进行区分、RAW Link Socket通过报文的接口索引以及链路层目的地址进行区分。在此,将报文中用于区分Socket类型的信息称为协议相关信息。每一种Socket根据具体协议的不同可以包含多个Socket,例如,对于Raw IP Socket可以包含针对开放式最短路径优先(OSPF)协议的Socket、针对互联网控制信息协议(ICMP)的Socket、针对互联网组管理协议(IGMP)的Socket、和针对独立组播(PIM)协议的Socket等。每一种具体的协议对应一个Socket,当网络设备接收到报文后,会根据该报文的具体协议选择对应的Socket,并将该报文送入该Socket的缓存区,由该Socket通知相应的应用程序来读取报文。
由于现有技术中,一种具体协议仅对应一个Socket,接收到该具体协议的报文后,均将该具体协议的报文送入同一个Socket的缓存区,例如,将接收到的所有OSPF报文都送入与OSPF协议对应的Socket的缓存区。然而,一种具体协议存在不同子类型的报文,其功能和重要性是不同的,例如OSPF协议报文分为5种子类型的报文,即保活(hello)报文、数据库描述(DD)报文、请求(Request)报文、更新(Update)报文以及响应(Ack)报文,其中,hello报文用于发现及维持邻居关系,其优先级远远高于其它子类型的报文,但是,由于同一种具体协议所有子类型的报文都被送至同一Socket缓存区,则Socket缓存区的溢出可能会导致重要的hello报文丢失,也可能会因为报文通信量很大而导致重要的hello报文无法及时处理,从而造成邻居关系中断、业务无法进行等严重后果。
发明内容
本发明提供了一种处理报文的方法和网络设备,能够避免将同一具体协议的所有报文放入同一Socket缓存区所造成的重要报文丢失或无法及时处理。
一种处理报文的方法,针对同一具体协议创建多个套接口Socket,将每个Socket与该具体协议的子类型进行绑定,该方法包括:
网络设备接收到报文后,根据该报文携带的具体协议标识和子类型标识,确定与该具体协议的子类型绑定的Socket,并将该报文送入该Socket的缓存区。
一种网络设备,其特征在于,该网络设备包括:报文接收单元、Socket确定单元,Socket,各Socket的缓存区;
所述报文接收单元,用于接收报文;
所述Socket确定单元,用于根据所述报文携带的具体协议标识和子类型标识,确定与该具体协议的子类型绑定的Socket,并将该报文提供给所述确定的Socket;
所述Socket,用于将所述报文送入自身的缓存区;
所述Socket的缓存区,用于缓存所述Socket发送的报文。
由以上技术方案可以看出,由以上描述可以看出,本发明提供的处理报文的方法和网络设备,针对同一具体协议创建多个Socket,将每个Socket与该具体协议的子类型进行绑定,网络设备接收到报文后,根据该报文携带的具体协议标识和子类型标识,确定与该具体协议的子类型绑定的Socket,并将该报文送入该Socket的缓存区。通过这种方法和网络设备可以将一种具体协议中重要的子类型的报文送入与该具体协议子类型绑定的Socket,即将该重要子类型的报文送入单独的Socket缓存区,而不会因为其它报文的通信量过多而对该重要子类型的报文造成影响,使得应用程序可以对该重要子类型的Socket缓存区进行优先读取,避免了重要子类型报文的丢失或无法及时处理,保证了网络系统的稳定性。
附图说明
图1为OSPF协议的报文头格式;
图2为本发明实施例提供的方法流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810057201.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:玻璃热管散热器
- 下一篇:在二层交换网络中透传BPDU报文的方法和系统