CN101262425A - 基于网络地址转换的多播转发的方法 - Google Patents

基于网络地址转换的多播转发的方法 Download PDF

Info

Publication number
CN101262425A
CN101262425A CNA2008100367157A CN200810036715A CN101262425A CN 101262425 A CN101262425 A CN 101262425A CN A2008100367157 A CNA2008100367157 A CN A2008100367157A CN 200810036715 A CN200810036715 A CN 200810036715A CN 101262425 A CN101262425 A CN 101262425A
Authority
CN
China
Prior art keywords
nat
message
list
information
requirements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2008100367157A
Other languages
English (en)
Inventor
曹雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AVONACO COMMUNICATION SYSTEMS (SUZHOU) Co Ltd
Original Assignee
AVONACO COMMUNICATION SYSTEMS (SUZHOU) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AVONACO COMMUNICATION SYSTEMS (SUZHOU) Co Ltd filed Critical AVONACO COMMUNICATION SYSTEMS (SUZHOU) Co Ltd
Priority to CNA2008100367157A priority Critical patent/CN101262425A/zh
Publication of CN101262425A publication Critical patent/CN101262425A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于网络地址转换的多播转发的方法。它采用控制平面模块和数据平面模块通过共享存储空间进行数据信息交互的方法,由控制平面模块在共享存储空间的哈希表中创建一个空的NAT需求列表,报文做NAT前的源、目的IP地址和源、目的UDP端口四元组为哈希索引,根据客户的地址转换需求填充列表的NAT部分,并将每个NAT信息对应的路由信息填充到列表中;数据平面模块将到达设备的报文的四元组信息,在哈希表查找对应的NAT信息,若存在,每次从NAT需求列表取出一组NAT信息,修改报文的相应位置,然后将报文按NAT需求列表中的路由信息发出。该方法不复制报文体,只修改报文头,较好地整合了NAT和多播转发资源,提高了系统的整体性能。

Description

基于网络地址转换的多播转发的方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种基于网络地址转换的多播转
发的方法。
背景技术
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可见,其工作步骤为:
步骤1.1:在共享存储空间的哈希表中创建一个空的NAT需求列表,需求列表的大小由对应NAT需求决定,由报文做NAT前的源IP地址、目的IP地址、源UDP端口和目的UDP端口作为哈希索引。
步骤1.2:根据上层应用软件的地址转换需求填充上述需求列表的NAT部分。
步骤1.3:遍历已填充NAT信息的需求列表,通过netlink接口从linuxkernel获取到每个NAT信息对应的路由信息,并将路由信息填充到对应的需求列表中。
参见附图2,它是本实施例数据平面模块的工作流程图,由图2可见,其工作步骤为:
步骤2.1:报文到达设备后,报文接收单元接收报文。
步骤2.2:为报文做一些基本的校验,将报文送入工作队列。
步骤2.3:从工作队列中取出一个报文,得到该报文的源IP地址、目的IP地址、源UDP端口和目的UDP端口四元组,在共享空间的哈希表查找有无此四元组对应的NAT信息,如果有,执行步骤2.4;如果没有,则执行步骤2.5。
步骤2.4:获取该报文对应的NAT需求列表,根据NAT需求列表中NAT信息的组数确定发包次数。每次从NAT需求列表取出一组NAT信息,修改报文的相应位置,然后将报文按NAT需求列表中的路由信息发出。
步骤2.5:将此报文送到linux操作系统中,由linux决定此报文的用途和去向。
综上所述,本发明提供了一种实现基于NAT的多播转发的方法,本方法是根据NAT和多播转发的共性,采用控制平面模块和数据平面模块通过共享存储空间来进行数据信息的交互的方法,不复制报文体,只修改报文头,较好地整合了NAT和多播转发资源,提高了系统的整体性能。

Claims (1)

1.一种基于网络地址转换的多播转发的方法,其特征在于:它采用控制平面模块和数据平面模块通过共享存储空间来进行数据信息的交互;所述的控制平面模块为:在共享存储空间的哈希表中创建一个空的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决定此报文的用途和去向。
CNA2008100367157A 2008-04-28 2008-04-28 基于网络地址转换的多播转发的方法 Pending CN101262425A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2008100367157A CN101262425A (zh) 2008-04-28 2008-04-28 基于网络地址转换的多播转发的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2008100367157A CN101262425A (zh) 2008-04-28 2008-04-28 基于网络地址转换的多播转发的方法

Publications (1)

Publication Number Publication Date
CN101262425A true CN101262425A (zh) 2008-09-10

Family

ID=39962638

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008100367157A Pending CN101262425A (zh) 2008-04-28 2008-04-28 基于网络地址转换的多播转发的方法

Country Status (1)

Country Link
CN (1) CN101262425A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976208A (zh) * 2010-10-25 2011-02-16 中兴通讯股份有限公司 信息投递的方法和装置
CN103023942A (zh) * 2011-09-27 2013-04-03 奇智软件(北京)有限公司 一种服务器负载均衡方法、装置及系统
CN103034616A (zh) * 2012-12-07 2013-04-10 中国科学院声学研究所 一种多个操作系统访问存储介质的方法、计算机
CN106130908A (zh) * 2016-06-03 2016-11-16 北京小米移动软件有限公司 报文传输方法和装置、智能终端
US9961046B2 (en) 2015-09-15 2018-05-01 Juniper Networks, Inc. NAT port manager for enabling port mapping using remainders

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976208A (zh) * 2010-10-25 2011-02-16 中兴通讯股份有限公司 信息投递的方法和装置
CN101976208B (zh) * 2010-10-25 2014-08-13 中兴通讯股份有限公司 信息投递的方法和装置
RU2566953C2 (ru) * 2010-10-25 2015-10-27 ЗетТиИ Корпорейшн Способ и устройство для доставки информации
US9207974B2 (en) 2010-10-25 2015-12-08 Zte Corporation Information delivery method and device
CN103023942A (zh) * 2011-09-27 2013-04-03 奇智软件(北京)有限公司 一种服务器负载均衡方法、装置及系统
CN103023942B (zh) * 2011-09-27 2016-08-03 北京奇虎科技有限公司 一种服务器负载均衡方法、装置及系统
CN103034616A (zh) * 2012-12-07 2013-04-10 中国科学院声学研究所 一种多个操作系统访问存储介质的方法、计算机
CN103034616B (zh) * 2012-12-07 2015-09-09 中国科学院声学研究所 一种多个操作系统访问存储介质的方法、计算机
US9961046B2 (en) 2015-09-15 2018-05-01 Juniper Networks, Inc. NAT port manager for enabling port mapping using remainders
CN106130908A (zh) * 2016-06-03 2016-11-16 北京小米移动软件有限公司 报文传输方法和装置、智能终端
CN106130908B (zh) * 2016-06-03 2019-08-06 北京小米移动软件有限公司 报文传输方法和装置、智能终端

Similar Documents

Publication Publication Date Title
CN102334112B (zh) 用于虚拟机网络的方法和系统
CN108270676B (zh) 一种基于Intel DPDK的网络数据处理方法及装置
JP2023535150A (ja) レイヤ2ネットワーク内のインターフェイスベースのacl
CN203206278U (zh) 通用网络接口控制器
US7996569B2 (en) Method and system for zero copy in a virtualized network environment
EP2843906B1 (en) Method, apparatus, and system for data transmission
CN102170380B (zh) 内网访问外网的方法和设备
US9307053B2 (en) Direct data placement over user datagram protocol in a network environment
CN101656761B (zh) 地址变换装置、方法、名称解决系统、方法以及节点
JP6544401B2 (ja) パケット転送装置、制御装置、通信システム、通信方法及びプログラム
JP2017532903A (ja) 仮想ネットワークにおける分散型フロー状態p2p設定のためのシステムおよび方法
CN102938795B (zh) 通过隧道和地址转换实现IPv6地址访问IPv4资源的方法
CN101729404A (zh) 使层2主机地址与网络中的交换机屏蔽开的机制
CN105407140A (zh) 一种网络化测试系统的计算资源虚拟化系统及方法
WO2015180040A1 (zh) 流表管理方法及相关设备和系统
US20180262560A1 (en) Method and system for transmitting communication data
WO2016184283A1 (zh) 一种虚拟机数据流管理方法和系统
CN111556110B (zh) 一种用于私有云系统的不同物理业务网络自动化适配方法
CN102255982A (zh) 一种IPv4/IPv6转换网关以及转换方法
WO2018049691A1 (zh) 一种会话保持方法、设备及存储介质
CN101262425A (zh) 基于网络地址转换的多播转发的方法
CN109525684A (zh) 报文转发方法和装置
CN105554176A (zh) 发送报文的方法、装置和通信系统
CN106921551A (zh) 虚拟通信方法、系统及设备
CN114650290B (zh) 网络连通的方法、处理装置、终端及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
EE01 Entry into force of recordation of patent licensing contract

Assignee: Xinhaiyi Electric Communication Dev. Co., Ltd., Suzhou Industry Zone

Assignor: Avonaco Communication Systems (Suzhou) Co., Ltd.

Contract fulfillment period: 2009.1.1 to 2013.12.31 contract change

Contract record no.: 2009320000332

Denomination of invention: Multi-cast forward method based on network address translation

License type: exclusive license

Record date: 2009.3.12

LIC Patent licence contract for exploitation submitted for record

Free format text: EXCLUSIVE LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2009.1.1 TO 2013.12.31; CHANGE OF CONTRACT

Name of requester: SUZHOU INDUSTRIAL PARK NEW SEA UNION TELECOM DEVEL

Effective date: 20090312

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080910