[发明专利]一种报文处理方法及系统有效
申请号: | 201910473300.4 | 申请日: | 2019-05-31 |
公开(公告)号: | CN112019491B | 公开(公告)日: | 2022-09-13 |
发明(设计)人: | 文奇 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | H04L69/16 | 分类号: | H04L69/16;H04L69/163 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 许小静 |
地址: | 430000 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 报文 处理 方法 系统 | ||
本发明公开了一种报文处理方法及系统,涉及通信技术领域。报文处理方法包括:从TCP/IP协议栈获取至少一种第一报文、对应的第一套接字和TCP连接状态,每种第一报文基于一种预设协议;从脚本中获取基于预设协议编辑的解析和封装规则以及状态确定规则,将第一报文解析为预定格式的第一数据,并确定预设协议的连接状态;将第一数据和预设协议的连接状态上传给应用。本发明基于预设协议编辑脚本,通过调用脚本实现支持多协议以及单协议多版本的协议栈处理功能,简化网络设备中的协议处理和协议开发。
技术领域
本发明涉及通信技术领域,具体是涉及一种报文处理方法及系统。
背景技术
软件定义网络(Software Defined Networking,SDN)包括控制器和转发设备,控制器和转发设备之间通过控制通道协议进行通信,常用的控制通道协议包括国际互联网工程任务组(The Internet Engineering Task Force,IETF)制定的路径计算通信协议(PathComputation Element Communication Protocol,PCEP)和边界网关协议(Border GatewayProtocol,BGP)等。随着网络通信协议的快速发展,网络管理系统需要处理越来越多的协议,以满足网络设备多样化和智能化的需求。
目前,网络管理系统对每种通信协议都需要开发并应用一套协议栈,不仅在网络设备运行时占用系统资源,而且面对层出不穷的通信协议版本,需要针对该通信协议的更新及时释放补丁。由于通信协议发布存在版本繁多、迭代频繁、以及改动范围不可控等问题,导致网络管理系统难以进行匹配和规划,而且每次迭代更新会挤占大量开发资源。难以实现快速迭代更新,严重制约产品开发和市场销售。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种报文处理方法及系统,基于预设协议编辑脚本,通过调用脚本实现支持多协议以及单协议多版本的协议栈处理功能,简化网络设备中的协议处理和协议开发。
本发明提供一种报文处理方法,其包括:
从TCP/IP协议栈获取至少一种第一报文、对应的第一套接字和TCP连接状态,每种所述第一报文基于一种预设协议;
从脚本中获取基于所述预设协议编辑的解析和封装规则以及状态确定规则,将所述第一报文解析为预定格式的第一数据,并确定所述预设协议的连接状态;
将所述第一数据和预设协议的连接状态上传给应用。
在上述技术方案的基础上,所述脚本包括数据模型脚本和状态分析脚本,所述数据模型脚本包括所述预设协议的基本信息以及解析和封装规则,所述状态分析脚本包括所述预设协议的基本信息和状态确定规则。
在上述技术方案的基础上,所述数据模型脚本和状态分析脚本均还包括TCP端口信息,所述TCP端口绑定所述第一套接字;
所述方法还包括:
预先加载所述数据模型脚本,将所述数据模型脚本转换为内部数据模型,并存入关联所述TCP端口信息的第一缓存区;
预先加载所述状态分析脚本,从所述状态分析脚本中提取所述状态确定规则,并存入关联所述TCP端口信息的第二缓存区。
在上述技术方案的基础上,所述从脚本中获取基于所述预设协议编辑的解析和封装规则以及状态确定规则,将所述第一报文解析为预定格式的第一数据包括:
根据所述TCP端口信息,从所述第一缓存区中读取所述内部数据模型;
利用C++反射机制,基于所述内部数据模型构建解析类和管理类,将所述第一报文解析为所述第一数据。
在上述技术方案的基础上,所述从脚本中获取基于所述预设协议编辑的解析和封装规则以及状态确定规则,确定所述预设协议的连接状态还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910473300.4/2.html,转载请声明来源钻瓜专利网。