用于传输广播数据的方法和系统的制作方法

文档序号:9872719阅读:359来源:国知局
用于传输广播数据的方法和系统的制作方法
【技术领域】
[0001]本发明总体而言涉及计算机网络的领域。更确切地说,本发明涉及通过通信网关实施的用于传输广播数据的方法。当通信网关接收到广播数据时,其确定所述广播数据是否符合至少一个条件。若广播数据符合至少一个条件,则通信网关在至少一个封装包中封装广播数据并且将封装后的广播数据转发到另一通信网关。
【背景技术】
[0002]Bonjour是由苹果公司(Apple Inc.)开发的装置使用的用以实现自动且简易地发现因特网协议(IP)网络上的计算机、装置和服务的零配置网络组播域命名系统协议。Bon jour (如同其它组播服务,例如微软公司(Microsof t)的UPnP)使用行业标准IP协议以允许装置自动地发现彼此而不需要输入IP地址或配置DNS服务器。这为网络装置和服务的用户带来了简单性和易用性。消除了对设置例如动态主机配置协议、DNS和DNS服务目录等服务的需要,Bon jour使得每个装置能够连续地公布并发现服务。通过广播Bon jour服务消息,打印机、服务器和其它共享装置能够播发它们提供的服务。接着客户端装置监测Bonjour广告并连接到合适服务器,如同任何其他服务一样。协议还允许装置请求网络上的服务(服务发现)以及对传入请求作出响应。单个装置可以同时是客户端和服务器两者。自动发现让客户端能够容易地使用由另一装置或服务器提供的服务。
[0003]在不利的一面,Bonjour产生大量网络流量。在服务发现过程期间,当装置浏览服务时,其发送查询以发现具体服务是否在网络中或在域中可用。其发布初始查询并且接着在至多一小时的最大间隔在I秒、2秒、4秒、8秒等之后按指数律更不频繁地发送后续查询。同样地,当服务在网络上开始时,其通过相同的指数回退算法播报其呈现。在通过公用网络、专用网络、隧道或虚拟专用网络(VPN)连接的网络中,此类流量的数量可为大量的。随着在网络上存在数百或数千苹果客户端,组播流量迅速膨胀到惊人的比例。
[0004]Bonjour(和类似组播服务)存在的另一问题是仅单个子网或虚拟局域网(VLAN)内的装置可见服务广告的广播。因此,在具有大型多VLAN网络的企业中,Bon jour流量将不跨越VLAN。这意味着一个VLAN中的Bon jour装置(比如打印机)无法被另一 VLAN中的客户端装置使用。
[0005]因此,当两个网络连接在一起时或当一个主机通过基于IP的隧道连接到另一网络时,为了减少网络流量通常阻挡组播数据(例如来自Bonjour协议的数据)。此组播数据的阻挡给用户和主机带来不便,因为用户和主机不能够接收源自另一网络的组播数据。
[0006]因特网工程任务小组(IETF)请求注解(RFC)6513已经揭示了一种用以通过隧道和/或MPLS技术将基于IP的组播数据中继转发到不同网络的方法。IETF RFC 6513指定BGP/MPLS IP VPN内的组播流量如何从一个VPN站点行进到另一VPN站点的特定协议和操作步骤。
[0007]思科公司(Ci sco)已经揭不了一种Bon jour网关,其通过高速缓存来自一个或多个源/主机的Bon jour广告并且在Bon jour客户端询问或请求服务时回应Bon jour客户端。思科公司揭示的解决方案要求Bon jour网关了解Bon jour协议以便高速缓存Bon jour流量并且代表其它有Bon jour协议能力的装置进行请求或回复。Bon jour网关用作代理。
[0008]另一种方法是使用经专门配置的DNS服务器以向不同的网络提供基于IP的组播数据。然而,并且所有网络都被允许具有经专门配置的DNS服务器。
[0009]如果无区别地将组播数据链路层数据从一个网络传输、路由或转发到另一网络,那么隧道的容量会被组播数据链路层数据消耗。因此,需要在网关或路由器处实施智能的方法以便允许有区别地传输、路由或转发组播数据同时不消耗太多网络资源。

【发明内容】

[0010]根据本发明的一个实施例,第一网关允许来自第一网络的广播数据通过至少一个隧道传输到第二主机或第二网络。第一网关充当第一网络中的开放系统互连(OSI)模型的数据链路层处的网桥。第一网关在一个或多个封装因特网协议(IP)包中封装广播数据并且接着将一个或多个封装IP包传输到第二网络的第二主机或第二网关。在一个特定实施例中,第一网关充当第一网络中的路由器并且路由作为组播IP包和/或含有数据链路广播数据的所有IP包。在一个特定实施例中,广播数据必须符合至少一个条件以便使第一网关通过隧道传输广播数据。
[0011]根据本发明的一个实施例,广播数据属于OSI模型的网络层。根据本发明的一个实施例,广播数据属于OSI模型的数据链路层。
[0012]根据本发明的一个实施例,封装IP包封装含有属于OSI模型的网络层的广播数据的一个或多个帧或包。根据本发明的一个实施例,封装IP包封装属于OSI模型的数据链路层的一个或多个广播数据。在一个特定实施例中,当封装IP包封装含有属于OSI模型的数据链路层的广播数据的一个或多个帧或包时。广播数据通过第一网关从网络层包提取并且最初通过一个或多个网络层包封装。
[0013]根据本发明的一个实施例,针对第一网关确定是否应通过至少一个隧道将数据链路层广播数据传输到第二主机或第二网络的条件至少部分基于数据链路帧的地址、在数据链路帧中封装的IP包的端口编号、或数据链路帧的地址以及在数据链路帧中封装的IP包的端口编号两者。在一个特定实施例中,IP包是UDP包。在一个特定实施例中,数据链路层广播数据用于服务发现。
[0014]根据本发明的一个实施例,第一网关分布通过至少一个隧道接收的且源自第二主机或来自第二网络的一个或多个主机或节点的数据链路层广播数据。
[0015]根据本发明的一个实施例,使用一个或多个隧道来承载广播数据但不使用其它隧道。替代地,不能使用一个或多个隧道来承载广播数据但是可以使用其它隧道。替代地,使用策略来选择可以使用哪些隧道来承载广播数据。替代地,使用策略来选择不能使用哪些隧道来承载广播数据。在一个特定实施例中,存在用以传输广播数据的至少两个隧道并且所述两个隧道绑定在一起。
[0016]根据本发明的一个实施例,当第二网关接收到来自第一网关的广播数据时,第二网关将所述广播数据通过一个或多个其它隧道转发到一个或多个其它网关。
【具体实施方式】
[0017]以下说明仅提供优选示例性实施例和示例性实施例,且不意图限制本发明的范围、适用性或配置。实际上,优选示例性实施例和示例性实施例的以下说明将为所属领域的技术人员提供实施本发明的优选示例性实施例的有效说明。应理解,在不脱离如在所附权利要求书中阐述的本发明的精神和范围的情况下可以制得元件的功能和布置的各种变化。
[0018]同样,应注意,实施例可以描述为过程,过程描绘为流程图、流程图表、数据流图、结构图或方块图。尽管流程图可以将操作描述为顺序过程,但是许多操作可以并行或同时执行。另外,操作的顺序可以重新布置。当操作完成时,过程终止,但是过程可以具有不包含在图中的另外步骤。过程可以与方法、函数、步骤、子例程、子程序等相对应。当过程与函数相对应时,其终止与所述函数返回到调用函数或主函数相对应。
[0019]此外,如本文所揭示,术语“从存储装置”和“主存储器”可以表示用于存储数据的一个或多个装置,包含只读存储器(R0M)、随机存取存储器(RAM)、磁性RAM、磁心存储器、磁盘存储媒体、光学存储媒体、快闪存储器装置和/或用于存储信息的其它机器可读媒体。术语“机器可读媒体”包含但不限于便携式或固定存储装置、光学存储装置、无线信道以及能够存储、含有或承载指令和/或数据的各种其它媒体。机器可读媒体可以通过虚拟化来实现,且可以是虚拟机器可读媒体,包含在基于云的实例中的虚拟机器可读媒体。
[0020]此外,实施例可以由硬件、软件、固件、中间件、微码、硬件描述语言或其任意组合来实施。当以软件、固件、中间件或微码实施时,执行必要任务的程序代码、代码段或指令代码可以存储在例如存储单元等机器可读媒体中。处理单元可以执行必要任务。处理单元可以是CPU、ASIC半导体芯片、半导体芯片、逻辑单元、数字处理器、模拟处理器、FPGA或能够执行逻辑和算术函数的任何处理器。指令代码可以表示步骤、函数、子程序、程序、例程、子例程、模块、软件包、类别,或指令、数据结构或程序语句的任何组合。一个指令代码可以通过传递和/或接收信息、数据、自变量、参数或存储器内容耦合到另一指令代码或硬件电路。信息、自变量、参数、数据等可以经由包含存储器共享、消息传递、令牌传递、网络传输等任何合适的方式传递、转发或传输。处理单元可以通过虚拟化来实现,且可以是虚拟处理单元,包含在基于云的实例中的虚拟处理单元。
[0021]网络接口可以是虚拟网络接口,包含在基于云的实例中的虚拟网络接口。
[0022]图1示出了根据本发明的一个
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1