CN102739542B - 一种组播报文传输方法及装置 - Google Patents
一种组播报文传输方法及装置 Download PDFInfo
- Publication number
- CN102739542B CN102739542B CN201210223888.6A CN201210223888A CN102739542B CN 102739542 B CN102739542 B CN 102739542B CN 201210223888 A CN201210223888 A CN 201210223888A CN 102739542 B CN102739542 B CN 102739542B
- Authority
- CN
- China
- Prior art keywords
- address
- message
- multicast
- public network
- source
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供一种组播报文传输方法,应用于NAT设备,包括:A、从NAT设备各个私网侧接口接收报文,并根据报文的目的地址识别出组播报文并转步骤B;B、接收管理员下发的私网IP地址、公网IP地址的静态映射关系保存在静态映射关系表中;C、根据组播报文携带的源IP地址查找所述静态映射关系表,如果查找到对应的公网IP地址,则将组播报文的源IP地址转换为公网IP地址后从所述公网接口发送出去,否则将该组播报文丢弃。本发明充分考虑了NAT设备对报文的处理特点,虽然需要配置,但对于设备的改造却非常小,总体实现简单,改造网络的成本极其低廉。
Description
技术领域
本发明涉及组播技术,尤其涉及一种穿越NAT的组播报文传输方法及装置。
背景技术
随着接入Internet的计算机数量的不断猛增,IPv4地址资源显得捉襟见肘。事实上,除了中国教育和科研计算机网(CERNET)外,一般用户几乎申请不到整段的C类IP地址。在其他ISP那里,即使是拥有几百台计算机的大型局域网用户,当他们申请IP地址时,所分配的地址也不过只有几个或十几个IP地址。显然,这样少的IP地址根本无法满足网络用户的需求。借助于NAT技术,私有IP地址通过路由器发送报文时,私有IP地址会被转换成“合法”的公网IP地址,因此一个局域网网络只需使用少量IP地址(甚至是1个)即可实现私有地址网络内所有计算机与Internet的通信需求。NAT将自动修改IP报文的源IP地址和目的IP地址,IP地址校验则在NAT处理过程中自动完成。然而以上描述仅仅是针对最常用的IP单播报文,IP组播报文作为一种特殊的IP报文,其无法像IP单播报文那样从NAT私网侧到达NAT公网侧。也就是说位于公网侧的用户无法接收私网侧组播源发送的组播报文,因为NAT设备仅仅支持基于会话的转换,而组播业务是单向的,不存在会话的概念,因此NAT设备会将组播报文丢弃掉。
为了解决上述问题,现有技术提出了一种借助MSDP协议的技术方案。其主要设计思路为:在NAT设备接收私网侧RP发送的MSDP协议消息,根据所述MSDP协议消息获取组播源的私网地址以及组播组地址;所述NAT设备根据地址转换关系,获取所述组播源的公网地址,并建立所述组播源的公网地址、私网地址以及组播组地址间的映射关系;所述NAT设备从公网侧的接口向公网侧RP发送注册报文,触发公网侧RP建立对应的组播组表项;所述NAT设备根据所述映射关系,对接收到的组播协议报文和组播数据进行转发。通过使用本发明,NAT设备代理私网的组播源向公网发送注册报文,并根据本地配置的映射关系转发组播协议报文和组播数据,实现了在存在NAT设备的网络中,私网组播流量能够穿越NAT设备到达公网。
然而这样的方案的实施需要具备三个条件,第一,NAT设备支持MSDP这种协议,第二,NAT私网侧的路由器必须也要支持MSDP协议,第三,NAT私网侧的路由器还需要运行PIM-SIM协议;然而很多用户的网络无法同时满足上述三个条件,用户必须对网络进行大范围的改造满足上述三个条件,或者只能仍受组播报文无法穿越NAT设备的问题。
发明内容
有鉴于此,本发明提供一种组播报文传输装置,该装置应用于NAT设备上,用于协助NAT设备私网侧的组播源穿越NAT设备到达NAT设备公网侧,该装置包括:
报文识别单元,用于从NAT设备各个私网侧接口接收报文,并根据报文的目的地址识别出组播报文,将组播报文提交给组播转换单元处理;
映射配置单元,用于接收管理员下发的私网IP地址、公网IP地址的静态映射关系保存在静态映射关系表中;
组播转换单元,用于根据组播报文携带的源IP地址查找所述静态映射关系表,如果查找到对应的公网IP地址,则将组播报文的源IP地址转换为公网IP地址后从所述公网接口发送出去,否则将该组播报文丢弃。
本发明还提供一种组播报文传输方法,该方法应用于NAT设备上,用于协助NAT设备私网侧的组播源穿越NAT设备到达NAT设备公网侧,该方法包括:
A、从NAT设备各个私网侧接口接收报文,并根据报文的目的地址识别出组播报文并转步骤B;
B、接收管理员下发的私网IP地址、公网IP地址的静态映射关系保存在静态映射关系表中;
C、根据组播报文携带的源IP地址查找所述静态映射关系表,如果查找到对应的公网IP地址,则将组播报文的源IP地址转换为公网IP地址后从所述公网接口发送出去,否则将该组播报文丢弃。
本发明充分考虑了NAT设备对报文的处理特点,虽然需要管理员对静态表项进行配置,但对于设备的改造却非常小,相对于现有技术来说,总体实现简单,对于用户来说,改造网络的成本极其低廉。
附图说明
图1是本发明一种实施方式中组播报文传输装置的逻辑结构图。
具体实施方式
本发明提供一种组播报文传输方法及装置,该装置应用于NAT设备上,用于协助NAT设备私网侧的组播源穿越NAT设备到达NAT设备公网侧,以计算机程序实现为例,该装置包括:报文识别单元、映射配置单元、组播转换单元以及单播转换单元。该装置运行于NAT设备时处理过程包括如下步骤:
步骤10,映射配置单元接收管理员下发的私网IP地址、公网IP地址以及组播组IP地址三者的映射关系保存在映射关系表中。
如前所述本发明处理的场景是组播源位于NAT私网侧的问题,此时组播源自身的IP地址一般是私网IP地址,为了让组播源发送的组播报文能穿越NAT,本发明需要现在在NAT设备上静态配置私网IP地址、公网IP地址以及组播组IP地址的映射关系,这样一来组播源发送组播报文时,组播报文的源IP地址(也就是组播源的IP地址)有了转换为公网IP地址的依据。请参考表1,之所以引入组播组IP地址是考虑到同一个组播源可能向多个组播组IP地址发送组播报文,有时候处于安全或者业务规划等考虑,同一个组播源发出的组播报文中有些允许发送到NAT公网侧,有些则是不允许发到NAT公网侧的,当然映射关系中组播组IP地址并不是必须的。
私网IP地址 | 公网IP地址 | 组播组IP地址 |
192.168.1.5 | 203.208.60.84 | 225.4.1.1 |
192.168.1.203 | 203.208.60.85 | 225.4.1.2 |
…… | …… | …… |
表1
步骤11,用于从NAT设备各个私网侧接口接收报文,并根据报文的目的地址识别出组播报文以及单播报文,并将组播报文提交给组播转换单元处理,将单播报文提交给单播转换单元处理;
NAT设备通常有多个私网侧接口用来接收来自私网侧各个主机发送的报文。在现有技术中,并不对报文的类型进行区分,统一地上送单播转换单元进行处理。而本发明则预先通过报文的目的地址(比如目的IP地址或者目的MAC地址)将单播报文和组播报文区分开来,避免组播报文被单播转换单元丢弃掉。
步骤12,单播转换单元从NAT地址池中选择一个公网IP地址,建立公网IP地址与报文源IP地址的NAT会话表项,并将单播报文的源IP地址替换为选择的公网IP地址后从公网接口发送出去;
NAT设备对于单播报文的处理机制是建立动态NAT会话表(也称为NAT流表),这个动态NAT会话表项通常还会转换前后的源端口以及报文的目的端口。单播转换单元正是根据这样的动态NAT会话表项确定从公网侧回来的单播报文到底归属于私网侧哪个主机。
步骤13,组播转换单元根据组播报文携带的源IP地址查找预先保存的静态映射关系表,如果查找到对应的公网IP地址,则将组播报文的源IP地址转换为公网IP地址后从所述公网接口发送出去,否则将该组播报文丢弃。
在本发明中,组播转换单元的转换是依据不再是NAT传统的动态NAT会话表项,而是静态映射关系表进行报文源IP地址转换的。而且一个动态NAT会话表项是一个包括双向会话元组的表项,而且其会有一个较短时间的老化机制,因此并不适合组播转换单元使用。因此本发明使用上述管理员配置的静态映射表项来做转换依据。请参考表1,如果一个组播报文的源IP地址为192.168.1.5,则组播转换单元将该地址修改为对应的203.208.60.84。如前所述,考虑到安全等因素在查找所述静态映射表时,可以使用组播报文的源IP地址以及目的IP地址(一个组播IP地址)去查找静态映射表。如果仅仅是源IP地址匹配而目的IP地址不匹配,此时可以视为查找失败,丢弃该组播报文,仅当源IP地址以及目的IP地址均匹配到时,组播转换单元才将所述组播报文的源IP地址转换为静态映射表中对应公网IP地址后从公网侧接口发送出去。
在本发明中,组播报文可以是组播协议报文也可以是组播数据报文,本发明并不需要向现有技术那样从组播业务层面去考虑问题,不涉及对组播协议报文的处理,仅仅涉及报文IP地址的转换。由此可见本发明充分考虑了NAT设备对报文的处理特点,虽然需要管理员对静态表项进行配置,但对于设备的改造却非常小,相对于现有技术来说,总体实现简单,对于用户来说,改造网络的成本极其低廉。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (6)
1.一种组播报文传输装置,该装置应用于NAT设备上,用于协助NAT设备私网侧的组播源穿越NAT设备到达NAT设备公网侧,其特征在于,该装置包括:
报文识别单元,用于从NAT设备各个私网侧接口接收报文,并根据报文的目的地址识别出组播报文,将组播报文提交给组播转换单元处理;
映射配置单元,用于接收管理员下发的私网IP地址、公网IP地址的静态映射关系保存在静态映射关系表中;
组播转换单元,用于根据组播报文携带的源IP地址查找所述静态映射关系表,如果查找到对应的公网IP地址,则将组播报文的源IP地址转换为公网IP地址后从公网接口发送出去,否则将该组播报文丢弃;
单播转换单元;所述报文识别单元进一步用于根据报文的目的IP地址识别出单播报文,将单播报文提交给单播转换单元处理;所述单播转换单元用于从NAT地址池中选择一个公网IP地址,建立动态NAT会话表,并将单播报文的源IP地址替换为选择的公网IP地址后从公网接口发送出去;
其中,所述映射关系表中进一步包括管理员下发的组播组IP地址,所述组播转换单元,用于根据组播报文携带的源IP地址以及组播组IP地址查找所述静态映射关系表,如果查找到对应的公网IP地址,则将组播报文的源IP地址转换为公网IP地址后从所述公网接口发送出去,否则将该组播报文丢弃。
2.如权利要求1所述的装置,其特征在于,所述组播报文为组播协议报文以及组播数据报文。
3.如权利要求1所述的装置,其特征在于,还包括开关单元,用于关闭组播转换单元对组播报文的转发功能。
4.一种组播报文传输方法,该方法应用于NAT设备上,用于协助NAT设备私网侧的组播源穿越NAT设备到达NAT设备公网侧,其特征在于,该方法包括:
A、从NAT设备各个私网侧接口接收报文,并根据报文的目的地址识别出组播报文并转步骤B;
B、接收管理员下发的私网IP地址、公网IP地址的静态映射关系保存在静态映射关系表中;
C、根据组播报文携带的源IP地址查找所述静态映射关系表,如果查找到对应的公网IP地址,则将组播报文的源IP地址转换为公网IP地址后从公网接口发送出去,否则将该组播报文丢弃;
D、从NAT地址池中选择一个公网IP地址,建立动态NAT会话表,并将单播报文的源IP地址替换为选择的公网IP地址后从公网接口发送出去;其中所述步骤A进一步包括:根据报文的目的IP地址识别出单播报文并转步骤D;
其中,所述映射关系表中进一步包括管理员下发的组播组IP地址;所述步骤C包括:根据组播报文携带的源IP地址以及组播组IP地址查找所述静态映射关系表,如果查找到对应的公网IP地址,则将组播报文的源IP地址转换为公网IP地址后从所述公网接口发送出去,否则将该组播报文丢弃。
5.如权利要求4所述的方法,其特征在于,所述组播报文为组播协议报文以及组播数据报文。
6.如权利要求4所述的方法,其特征在于,还包括开关单元,用于关闭组播转换单元对组播报文的转发功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210223888.6A CN102739542B (zh) | 2012-06-29 | 2012-06-29 | 一种组播报文传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210223888.6A CN102739542B (zh) | 2012-06-29 | 2012-06-29 | 一种组播报文传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102739542A CN102739542A (zh) | 2012-10-17 |
CN102739542B true CN102739542B (zh) | 2015-07-15 |
Family
ID=46994354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210223888.6A Active CN102739542B (zh) | 2012-06-29 | 2012-06-29 | 一种组播报文传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102739542B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067534B (zh) * | 2012-12-26 | 2016-09-28 | 中兴通讯股份有限公司 | 一种NAT实现系统、方法及Openflow交换机 |
CN104113484A (zh) * | 2013-04-19 | 2014-10-22 | 中兴通讯股份有限公司 | 报文的转发处理方法及装置 |
CN103763202B (zh) * | 2014-01-03 | 2018-05-15 | 新华三技术有限公司 | 一种基于nat的组播协议报文传输方法和设备 |
CN106302190A (zh) * | 2016-08-03 | 2017-01-04 | 杭州迪普科技有限公司 | 组播报文转发的方法及装置 |
CN106331209B (zh) * | 2016-08-18 | 2019-08-27 | 中国联合网络通信集团有限公司 | Ip地址分配方法及服务器 |
CN107277073A (zh) * | 2017-08-16 | 2017-10-20 | 北京新网数码信息技术有限公司 | 一种网络监控方法及装置 |
CN114884774B (zh) * | 2022-06-01 | 2023-10-03 | 北京东土军悦科技有限公司 | 数据包转发方法及装置、网络设备和计算设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030055766A (ko) * | 2001-12-27 | 2003-07-04 | 한국전자통신연구원 | 공중망에서 사설망 내의 디바이스를 제어하기 위한 장치및 방법 |
US6831917B1 (en) * | 2000-05-10 | 2004-12-14 | Cisco Technology, Inc. | Network address translation for multicast virtual sourcing |
CN101442564A (zh) * | 2008-12-25 | 2009-05-27 | 杭州华三通信技术有限公司 | 组播数据转发的方法和nat设备 |
CN102045179A (zh) * | 2009-10-09 | 2011-05-04 | 杭州华三通信技术有限公司 | 实现本地网络与公共网络间组播互通的方法和nat设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8037303B2 (en) * | 2006-03-13 | 2011-10-11 | Cisco Technology, Inc. | System and method for providing secure multicasting across virtual private networks |
-
2012
- 2012-06-29 CN CN201210223888.6A patent/CN102739542B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6831917B1 (en) * | 2000-05-10 | 2004-12-14 | Cisco Technology, Inc. | Network address translation for multicast virtual sourcing |
KR20030055766A (ko) * | 2001-12-27 | 2003-07-04 | 한국전자통신연구원 | 공중망에서 사설망 내의 디바이스를 제어하기 위한 장치및 방법 |
CN101442564A (zh) * | 2008-12-25 | 2009-05-27 | 杭州华三通信技术有限公司 | 组播数据转发的方法和nat设备 |
CN102045179A (zh) * | 2009-10-09 | 2011-05-04 | 杭州华三通信技术有限公司 | 实现本地网络与公共网络间组播互通的方法和nat设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102739542A (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102739542B (zh) | 一种组播报文传输方法及装置 | |
CN101409685B (zh) | 基于虚拟局域网映射的转发方法及接入设备 | |
CN101286990B (zh) | 二层组播的转发方法和装置 | |
CN101616014B (zh) | 一种实现跨虚拟专用局域网组播的方法 | |
CN104243269A (zh) | 一种虚拟扩展局域网报文的处理方法及装置 | |
CN102801599A (zh) | 一种通信方法和系统 | |
CN103166814A (zh) | 一种基于物联网的智能家居远程控制系统 | |
CN100407704C (zh) | 媒体接入控制层地址的动态学习方法 | |
CN104639363A (zh) | 用于在虚拟区域网络中管理云端装置的管理伺服器及其管理方法 | |
CN102281181B (zh) | 扩展端口桥设备中实现多播转发的方法、装置及系统 | |
CN102215172B (zh) | 一种实现跨虚拟专用局域网组播的方法和系统 | |
CN106375223B (zh) | 一种基于sdn的数据转发系统及方法 | |
CN104811371A (zh) | 一种全新的即时通信系统 | |
CN101951325A (zh) | 基于自动发现的网络终端配置系统及其配置方法 | |
CN102790811A (zh) | 一种在监控网络中穿越nat设备的方法和装置 | |
CN102820977A (zh) | 组播方法、装置及网络设备 | |
CN104954155B (zh) | 具有多个业务板的网络设备以及多业务板分担方法 | |
CN104168338A (zh) | 一种网络地址转换装置和方法 | |
CN101557341A (zh) | 一种基于介质访问控制转发表的报文转发方法及系统 | |
CN106210166B (zh) | 一种扩展无线控制器设备mac地址转发表的容量的系统 | |
CN103200119B (zh) | 一种以太网虚拟化互联站点内负载分担方法和边缘设备 | |
CN104811379A (zh) | 用于即时通信服务器互联互通的路由器寻址方法 | |
US20140092902A1 (en) | Method for processing multicast group, dci router and system | |
CN101986623B (zh) | Vpls mac表项空间的配置方法和装置 | |
CN104320340A (zh) | 软件定义网络中学习源mac地址的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310000 No. 68 in the 6 storey building Patentee after: Hangzhou Dipu Polytron Technologies Inc Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310000 No. 68 in the 6 storey building Patentee before: Hangzhou Dipu Technology Co., Ltd. |
|
CP01 | Change in the name or title of a patent holder |