[发明专利]基于网络地址转换的多播转发的方法无效
申请号: | 200810036715.7 | 申请日: | 2008-04-28 |
公开(公告)号: | CN101262425A | 公开(公告)日: | 2008-09-10 |
发明(设计)人: | 曹雷 | 申请(专利权)人: | 艾诺通信系统(苏州)有限责任公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 215021江苏省苏州市工业*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 网络地址 转换 转发 方法 | ||
技术领域
本发明涉及网络通信技术领域,尤其涉及一种基于网络地址转换的多播转
发的方法。
背景技术
NAT(网络地址转换)分成两种:一种是纯粹的IP(互联网协议)地址转换,私网地址和公网地址是一一对应的,主要是隔离私网和外部的公网用户。另一种是基于IP地址和四层协议端口号绑定的NAPT(网络地址端口变换)技术。主要用于解决IP地址不够用的问题,利用NAPT可以实现私网到公网的多对一的地址变换。
现有的NAT应用主要是NAPT技术的应用,NAPT的提出是为了解决公网IP地址不足的问题,通过把四层的端口号和IP地址绑定,可以用很少的外部公网IP地址实现大量的本地私网IP地址和外部连接,且NAPT过程对外部主机是完全透明的。NAPT将私网IP地址变换成分配给该子网的公网IP地址,同时把该公网IP对应的报文的4层的一个端口号分配给这个会话,以区分使用同一个IP地址的不同会话或连接。
多播技术提供一种一个发送者向一组接受者传送数据的有效传输方式。多播在现实中有许多应用。通常在多播传输中,数据被发送到接受者的多播地址,而不是每个接受者的单播地址,发送者只发送一个数据拷贝,由源端到目标端路径上的中间节点复制该数据。为了实现多播通信,就必须建立支持多播的路由协议,目前常用的多播路由协议有距离向量多播路由协议DVMRP、协议无关密集模式多播协议和协议无关分散牧师多播协议。
OCTEON CN38XX是一款多核处理器,每个处理器内核可以独立完成不同的任务,例如可以在一部分核上运行基于OCTEON Simple Exactive(以下简称SE)的数据平面(data plane)的代码,另外一部分核上运行控制平面(control plane)的操作系统(如linux),使其分工明确,加速数据处理。同时,不同的核之间可以通过共享存储空间来进行数据交换和通信。
SE提供了一个开发环境,在这个环境中,可以为OCTEON处理器开发数据平面(data plane)的代码。SE是由库libcvmx.a和一些包含了大量的内联函数的头文件组成,它提供了硬件抽象、内存管理和OCTEON同步机制。基于SE的代码可以在OCTEON处理器的每个核中以一个独立线程的方式运行。
发明内容
为了克服现有技术存在的不足,本发明提供一种能有效简化系统流程、提高系统整体性能的基于网络地址转换的多播转发的方法。
为达到上述发明目的,本发明采用的技术方案是提供一种基于网络地址转换的多播转发的方法,它采用控制平面模块和数据平面模块通过共享存储空间来进行数据信息的交互;所述的控制平面模块为:在共享存储空间的哈希表中创建一个空的NAT需求列表,需求列表的大小由对应NAT需求决定,由报文做NAT前的源IP地址、目的IP地址、源UDP端口和目的UDP端口四元组信息作为哈希索引,根据上层应用软件的地址转换需求填充上述需求列表的NAT部分;遍历已填充NAT信息的需求列表,通过netlink接口从linux kernel获取到每个NAT信息对应的路由信息,并将路由信息填充到对应的需求列表中;所述的数据平面模块为:将到达设备的报文由接收单元接收后送入工作队列,从工作队列中取出一个报文,得到该报文的源IP地址、目的IP地址、源UDP端口和目的UDP端口四元组信息,在共享空间的哈希表查找有无此四元组对应的NAT信息,如果有,则获取该报文对应的NAT需求列表,根据NAT需求列表中NAT信息的组数确定发包次数;每次从NAT需求列表取出一组NAT信息,修改报文的相应位置,然后将报文按NAT需求列表中的路由信息发出;如果没有,将该报文送到linux操作系统中,由linux决定此报文的用途和去向。
附图说明
图1是本发明实施例的控制平面模块的工作流程图;
图2是本发明实施例的数据平面模块的工作流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步描述:
实施例1:
本实施例采用的硬件设备是OCTEON CN38XX处理器,这是一款多核处理器,数据平面(data plane)的程序是基于SE开发平台,控制平面(control plane)用的是Linux操作系统。数据平面(data plane)的程序和控制平面(controlplane)程序分别运行在不同的核上,通过共享内存来进行数据交换和通信。
参见附图1,它是本实施例控制平面模块的工作流程图,由图1可见,其工作步骤为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于艾诺通信系统(苏州)有限责任公司,未经艾诺通信系统(苏州)有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810036715.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:圆片级玻璃微腔的制造方法
- 下一篇:网页上实现的网页区块截图的方法