穿过子网边界桥接子网的广播的制作方法

文档序号:7591116阅读:188来源:国知局
专利名称:穿过子网边界桥接子网的广播的制作方法
技术领域
本发明通常涉及穿过子网的边界桥接,包括子网广播报文的子网广播,以便在另外的独立子网中的广播的系统和方法。
背景技术
电子通讯对于现代世界的运作变得越来越重要。越来越多的个人和公司的关系取决于在各方面之间快速,可靠,无缝和即时的通讯。在许多行业中,人们已不再认为同时与位于各地的若干其它方同时进行声频和/或视频通讯的能力是一种方便或是奢侈;这是绝对必要的。
许多电子通讯牵涉到使用计算机终端的工作站或其它通讯设备在各方之间通讯。对那样的通讯能使用各种各样的方法。对于在单个“子网”(在单个路由器或桥接设备下互相通讯的一组机器)上用户之间的通讯,能使用路由器或桥接设备,公共的服务器(若有的话),以对等方式,或以任何其它合适的方式进行通讯。对于在不同的独立子网上的用户之间的通讯,一般必须使用因特网或某些其它通讯媒体或网络。
在“子网内”通讯(在单个子网中用户之间的通讯)和“子网间”通讯(在不同子网中用户之间的通讯)中,为发送数据报文到其它用户能使用各种通讯协议。一种那样的协称为“传输控制协议”或“TCP”。TCP允许位于同一或不同子网的机器之间的数据通讯。TCP的优点在于它保存完整且依次提交在数据报文中的数据包。因此,当从机器到机器提交冗长的报文时,尤其在报文“依次”提交是重要因素时,TCP是通常选择的协议。
然而,不是所有的报文需要增加的可靠性和“依次”提交的TCP通讯方式。例如,另外的通讯协议称为“用户数据报协议”或“UDP”。UDP允许以各种方式的报文提交,如通过广播到多台机器;通过发送到特定机器,到在产生UDP报文的机器的同一子网中的特定机器或到不同子网的特定机器,等等。虽然UDP在数据报文提交上作出最大的努力,此协议不保证提交。例如若数据报文对在给定系统上操作的协议太长,该报文容易丢失并一直不提交。
在每个数据包的提交不是至关重要的情况,UDP报文是十分有用的。例如,常使用UDP发送时间数据到给定子网的机器。提交每个时间数据包到子网上每个机器不是至关重要的,因为即使一台机器未收到一,二个给定的时间包,另外一个将在短时间内流到,使机器重新同步回到正确的系统时间(认为其时间在接收的时间包之间偏移一些)。
对数据报文的提交使用UDP的优点之一关系到UDP广播报文到一个子网的所有机器的能力。例如如上所述,UDP提交时间数据包能通过广播到子网的所有用户而完成。然而,此类UDP广播能力限于广播到单个子网的用户(通常,允许任一用户经过多个子网,或者因特网连接的系统发送UDP广播到所有用户将迅速被广播报文数据阻塞子网或因特网)。那样的报文数据的广播是有益的,因为当用户进入和离开该子网的通讯群体时,每个将接收广播报文而不需要维持,更新,和编辑数据报文接收者表。TCP不支持此类广播报文能力(相反,每个TCP报文必须规定预定的接收者)。
如上所述,不允许穿过子网边界的访问,因为那样的广播通讯(如到通讯网络上所有机器)将很快超越了通讯网络的带宽及资源。然而不存在UDP“多信道广播”。多信道广播允许UDP报文包发送到多个规定的接收者,即使一个或多个接收者位于与发出报文的子网不同的子网。然而与广播报文比较,此多信道广播系统是不良的,因为在每个发送的报文数据中必须指明每个报文所希望的接收者。此外,为了多信道广播的工作,在用于群体通讯的通讯网络中使用的所有路由器必须支持多信道广播。不幸的是,不是所有路由器支持此多信道广播特征。因而,任何多信道广播报文的提交不能保证到达所有预定的接收者。
因而在该领域中有对可靠的系统和方法的需求,它们能穿过子网边界桥接广播报文,而不会过分地阻塞通讯网络,同时对通讯群体中所有可达到的参与者仍然提供可靠的数据通讯。

发明内容
本发明涉及穿过子网边界桥接子网广播的方法,它包括(a)接收在第一子网产生的第一广播报文;(b)发送第一广播报文到第二子网;(c)在第二子网广播第一广播报文,其中第一广播报文不从第二子网发回到第一子网和/或它不在第一子网重播。本发明的另一个方面涉及处理广播报文的方法,包括(a)在第一子网接收第一广播;(b)判断第一广播报文是否在第一子网产生;和(c)若第一广播报文在第一子网产生,发送第一广播报文到第二子网。那样方法至少在某些例子中还包括标记第一广播报文以指明它从第一子网产生。第一广播报文还能发送到另外独立子网并在那里广播,且仍然不从这些另外的子网发回到第一子网。这些报文能使用如TCP或UDP那样任何合适的协议从第一子网发送到其它子网,且它们能使用包括UDP的任何合适的广播协议在这些其它子网上广播。
本发明的另外方面涉及实现包括上述桥接方法的各种桥接方法的系统。例如那样的系统能包括(a)适应于接收第一广播报文的接收器,其中第一广播报文在第一子网内产生,(b)适应于发送第一广播报文到第二子网的转发器;和(c)适应于在第一子网上广播从第一子网以外的子网产生的第二广播报文的重复器。在通讯中所涉及的所有子网能包括此类桥接结构,使能在子网之间的广播报文的交叉通讯。


从结合附图的下面细述,本发明的上述和其它对象、特征和优点将是显然且能被充分理解的,附图是图1示出能在按照本发明的某些例子的系统及方法中使用的,在通讯网络中互相通讯的两个子网;图2示出在按照本发明的某些例子的系统及方法中有用示例性网桥伙伴的更详细的视图;图3和4示出能在按照本发明的某些例子的系统及方法中使用的,经一个或多个通讯网络互相通讯的三个子网的例子;图5和6示出在按本发明的系统和方法的某些例子中使用的,由网桥伙伴实行的方法和/或处理;图7示出在按本发明的系统和方法的某些例子中,在应用程序层实行的方法和/或处理;图8示出在按本发明的系统和方法的某些例子中,在子网网桥层实行的方法和/或处理;图9示出其中实现本发明的某些方面的通用数字计算环境的原理图;和图10示出其中实现本发明的某些方面的基于笔的个人计算(PC)环境。
具体实施例方式
以上所述,本发明的诸方面关系的用于穿过子网边界桥接子网广播的系统和方法,以便在另外的独立子网上广播。为帮助读者,下面描述分成子段。这些子段包括术语;通常的桥接系统和方法;按本发明的示例性桥接系统和方法;示例硬件;和结论。
I,术语下列术语在专利说明中使用,并具有下面描述的意义,除非从上下文提供和/或明确另外的意义“网桥”指的是通过通讯网络向另外子网发送在一个子网产生的广播报文的系统,用于在另外子网内重播。“网桥”包括硬件,软件,和/或其组合。
“广播”指的是发送数据报文到特定子网的所有机器(不必需要机器使用该广播数据,即子网内一个或多个机器可以忽略该数据)。
“子网”指的是在单个路由器或网桥设备下互相通讯的所有机器。通常,用于机器间通讯的集线器和路由器直接连接位于同一子网的机器,使得位于单个子网的机器不需要通过如因特网那样的全球通讯网络互相通讯。另外,在单个子网上的机器能以对等方式互相通讯。
“报文”,“报文数据”,或“数据报文”指的是从一个机器发送被另一个机器接收的任何数据。
“机器”指的是用于经通讯网络通讯的任何设备。“机器”包括计算机终端或工作站,台式PC,基于笔或笔尖的PC,笔记本和/或膝上电脑,掌上机,PDA,电话等,但不限于这些。
“标记的”或“做标记”或“标记”指的是以某种方式使按本发明的系统或方法识别和/或确定(a)报文是否在给定子网内产生,(b)是否报文不是在给定子网内产生,和/或(c)产生报文的子网。此术语能广泛地解释为包括(a)用表明报文源的IP地址的数据编码报文,(b)用表明与该报文相关的传送端口的数据编码报文,(c)用表明在其发送期间处理该报文的任何硬件或机器的IP地址的数据编码报文,(d)用表明在其发送期间与处理该报文的任何硬件或机器相关的输入端口或输出端口的数据编码报文,(e)设置与该报文有关的标志,(f)用表明该报文以前已在一个子网广播过的数据编码报文,(g)用表明该报文已经通讯网络被发送过的数据编码报文,(h)用表明该报文以前尚未在另外子网广播的数据编码报文,(I)用表明该报文尚未经过通讯网络发送过的数据编码报文,等。
“监听器”或“接收器”指的是一设备,设备的组合或系统,它们检测和/或识别在子网的广播报文。在本专利说明中这些术语交替使用。监听器或接收器的功能以硬件,软件,和/或软硬件组合的方式实现。此外,监听器或接收器能实现除上面说明的以外的功能。
“转发器”指的是从一个机器向位于不同子网的另外机器发送报文(如经过通讯网络)的一设备,设备的组合,或系统。转发器的功能以硬件,软件,和/或软硬件组合的方式实现。此外,转发器能实现除上面说明的以外的功能。
“重复器(Replicator)”指的是接收经通讯网络传送的报文并向另外子网(如它位于的子网)广播的一设备,设备的组合,或系统。重复器的功能以硬件,软件,和/或软硬件组合的方式实现。此外重复器实现除上面说明的以外的功能。
在本发明某些例子中,监听器,转发器,和/或重复器的功能可以组合在一个或多个设备中,能实现监听器、转发器、和重复器功能的设备的例子是可从Cisco System Inc.可得到的Cisco Aironet350。
II,通常的桥接系统的方法本发明的例子一般涉及用于穿过子网边界发送子网的广播报文以便在另外子网广播的系统和方法。本发明的更特定的示例方面涉及用于穿过子网边界桥接子网广播的体系,它包括适应于接收第一广播报文的接收器,其中第一广播报文在第一子网内产生;适应于发送第一广播报文到第二子网的转发器;和适应于在第一子网上广播从第一子网之外的子网产生的第二广播报文的重复器。至少在本发明的某些例子中,转发器不将第二广播报文发回到产生它的子网中。
本发明的另外示例方面涉及用于桥接在第一和第二子网之间的子网广播的桥接系统。此类示例的桥接系统包括适应于接收在第一子网产生的第一广播报文的第一接收器;适应于接收在第二子网产生的第二广播报文的第二接收器;适应于发送第一广播报文到第二子网的第一转发器;适应于发送第二广播报文到第一子网的第二转发器;适应于在第一子网上广播第二广播报文的第一重复器;和适应于在第二子网上广播第一广播报文的第二重复器。在本发明的这方面的至少某些例子中,第一转发器不发送第二广播报文到第二子网,而第二转发器不发送第一广播报文到第一子网。此外在某些例子中,第一接收器,第一转发器,和第一重复器将形成第一网络部件,而第二接收器,第二转发器,和第二重复器将形成与第一网络部件通讯的第二网桥部分。在某些例子中,第一和第二监听器的功能由单个设备或设备组实现,而第一和第二转发器的功能由单个设备或设备组实现,而第一和第二重复器的功能由单个设备或设备组实现。
上述示例系统能包括在实施本发明中有用的另外设备。例如,系统能包括接收和/或发送各种报文的端口。此外,至少在某些例子中,78至少某些发送的报文是用户数据包协议(“UDP”)广播报文。
本发明的方面还涉及用于穿过子网边界桥接子网广播的方法,按本发明的这方面的示例方法包括接收在第一子网产生的第一广播报文;发送第一广播报文到第二子网;并在第二子网广播第一广播报文,其中第一广播报文(a)不从第二子网发回到第一子网和/或(b)不在第一子网上重播。至少在某些例子中广播报文能以某种合适的方式标记,以表明它从第一子网产生和/或表明它不在第二子网产生。此类标记能被按本发明的某些例子的系统和方法使用,作为帮助防止将报文发回给产生它的子网的手段。而且至少在本发明的某些例子中,至少某些广播报文是UDP广播报文。
按本发明的方法的另外方面,至少在某些例子中还包括发送第一广播报文到第三子网;并在第三子网上广播第一广播报文,其中第一广播报文(a)不从第三子网发回到第一子网和/或(b)不在第一子网上另外重播。第一广播报文能从第一或第二子网发送到第三子网而不背离本发明。对上述的另外例子,若需要在第三子网广播第一广播报文时,它能被标记,以表明它不在第三子网产生和/或表明它在第一子网产生。
本发明的另外示例方面涉及穿过子网边界桥接子网的另外方法。此示例方法包括接收在第一子网产生的第一广播报文;接收在第二子网产生的第二广播报文;发送第一广播报文到第二子网;发送第二广播报文到第一子网;在第二子网广播第一广播报文,其中第一广播报文(a)不从第二子网发回到第一子网和/或(b)不在第一子网重播;且在第一子网广播第二广播报文,其中第二广播报文(a)不从第一子网发回到第二子网和/或(b)不在第二子网重播。关于上述其它例子,在本发明的至少某些例子中,广播报文能被标记,表明原始的广播报文子网和/或表明广播报文不在它们重播的子网上产生。
本发明的又一个方面涉及处理广播报文的方法。那样方法能包括在第一子网接收第一广播报文;判断第一广播报文是否在第一子网产生;且当第一广播报文在第一子网产生时,发送第一广播报文到第二子网。然后第一广播报文能在第二子网上广播。在某些例子中,第一广播报文发送到第二子网中设备的端口。以类似方式,在本发明的这方面的至少某些例子中,第二广播报文能从第二子网发送到第一子网并在第一子网上广播。
在上述按本发明的各种示例系统的方法中,广播报文的起源能以任何合适的方式标记,标注或跟踪而不背离本发明。例如,判断广播报文是否在特定子网中产生能包括,判断在开始发送或接收广播报文的设备的子网上的起源IP地址,或在发送或接收广播报文的设备的子网上的起源端口号中的至少一个。在桥接过程期间,此类信息能对于处理报文的任何设备被跟踪。本发明的这些和其它更特别的特征将参考图1-10在下面更详细地描述。
III,按本发明的示例性桥接系统和方法图1示出能实现按本发明的桥接系统和方法的各种例子的系统300的简化原理图。系统300能包括通过如因特网那样的任何合适的通讯媒体或网络306互相链接的至少两个独立子网系统302和304。两个子网系统302和304能以任何合适的方式通讯而不背离本发明,包括业内众知的传统方式。
子网302和304能包括二个或多个连接到公共路由器316a和316b的机器308a-308h。为在子网上通讯,任何合适的机器能互相连结,机器包括计算机终端或工作站,台式PC,基于笔或笔尖的PC,笔记本和/或膝上电脑,掌上机,PDA,电话等。在图1中,在子网302的各个机器308a-308d包容在框312中,以表示这些机器在一个子网302中,而在子网304下的各个机器308e-308h包容在框314中,以表示这些机器在第二子网304中。当然,任何希望或合适数量的机器能包括在单个子网中而不背离本发明。此外,这些机器能以任何合适的方式连结到子网中,包括有线连结,无线连接,和任何本行业熟悉人士众知的传统方式。
子网302中的机器308a到308d能互相通讯(如发数据报文),而这些通讯不必发送到子网302之外,例如它们能通过路由器和网桥组件316a通讯而这些通讯而不必离开到通讯网络306,和/或它们能以对等方式使用跨接电缆直接互相通讯(为清楚起见,在图2中未示出在机器308a-308d之间的直接通讯连结)。而且广播类型的报文(如UDP广播报文)能发送到单个子网302的所有机器。那样广播类型报文能从子网302上任何一个单独机器308a-308d产生,从服务器(如传统使用的应用服务器或文件服务器),从路由器316a,或从子网302上任何其它合适的源产生。然而这些广播报文(尤其是UDP广播报文)必须停留在子网302中;它们不能经过通讯网络306向所有用户广播。类似地,在子网304中产生的广播报文能对子网304中所有机器308e-308h通讯。
报文数据也能经过如因特网那样的通讯网络306从一个子网302通讯到另外子网304(反之亦然)。每个子网302和304包括桥接部件或路由器316a和316b,使能经过通讯网络306在子网302和304之间通讯。例如,当子网302中的机器308a需要发送报文数据到子网304中的机器308h,机器308a发送数据报文(以一个或多个包)通过路由器316a,经通讯网络306,到子网304的路由器316b,后者随后将报文数据传送到机器308h,报文数据被标记,以包括预期的报文数据的接收方(如与机器308h相关的目标IP地址或端口),而各种服务器和/或路由器使用此标记信息正确地传送该报文数据。此类报文数据能使用任何合适类型的通讯协议发送,包括UDP和TCP,但不限于这些。经过此类通讯网络306的传送通讯是传统的,为本行业熟练人士所熟知。
按本发明的示例系统和方法,允许将从一个子网(如子网302)的广播报文数据传输到并广播到另外子网(如子网304)。图2原理性地示出此数据报文传输的例子。如图2所示,每个子网302和304包括“网桥伙伴-bridgepartner”318a和318b。在每个子网302和304中,此网桥伙伴318a和318b能具体地包含在子网中的任何一个或多个机器308a-308h之中,在服务器中,在路由器316a和316b中,和/或在一个或多个其它合适的设备中(包括为此特定目的提供的实际桥接设备,但不限于此)。
每个子网302和304包括监听(或接收)子网广播报文的“监听器”或接收器320a和320b。如图2所示,那样的广播报文能从如包括在单独子网的任何机器308a-h产生。在子网上的另外设备,如路由器和/或网桥部件也能产生广播报文。在一个子网产生的子网广播报文(如在子网302产生)开始不由另外子网的监听器(如320b)接收,因为如上所述,这些广播报文不离开到通讯网络306。
当监听器320a和320b接收广播报文时,按本发明的至少某些例子的系统和方法作出判断,该广播报文是否在监听器的子网产生,或在另外子网产生。若广播报文在监听器的子网产生(将在下面详细解释),广播报文随后送到构成网桥伙伴318a或318b的一部分的322a或322b。转发器322a或322b(或某些其它合适的设备或系统)重新格式化该报文(若需要或希望)成适合于经过通讯网络306发送的格式。在本发明的某些例子中,广播报文能从UDP协议重新格式化成TCP协议,以便经过通讯网络306发送。以保证提交的协议(如TCP)经通讯网络的发送对此通讯路径是有益的,因为它确实保证依次提交报文到另外的网桥伙伴。当然,任何合适的协议能用于此发送,包括UDP,而不背离本发明。另外,在本发明的至少某些例子中,报文被重新格式化,用于到其它桥接伙伴的特定提交。
当经过如因特网那样的通讯网络306发送数据报文时,报文通常用数据标记和/或编码,以表明(a)它的起源端口和/或IP地址和(b)它的目标或目的端口和/或IP地址。在图2示出的例子中,经通讯网络306发送数据报文的每个转发器322a和322b包括输出端口326a和326b。这些端口326a和326b能用作识别成经通讯306发送的数据报文的部分的原始端口。报文能发送,通过输入端口328a或328b(也称为“目标端口”或“目的端口”)通向接收方,输入端口又将报文分别发送给形成另外子网中网桥伙伴的部分的重复器324a或324b,重复器324a或324b(或某些其它合适的设备或系统)将输入的报文在需要时转换成适合广播的形式(如UDP格式),并将其广播到它的子网上的所有机器。
以此方式,在一个子网上的子网广播能被发送,以便在另外子网上广播,而不必经过通讯网络将报文广播到通讯网络上所有机器和/或不必规定拟提交的每个机器。而是,在一个子网中的网桥伙伴只需要指定报文以便经过通讯网络提交给任何其它希望的网桥伙伴,报文随后能经过包含其它希望的网桥伙伴的子网发送并广播。
注意特定例子,假设从子网302的机器产生广播报文,并希望此报文能广播到子网的机器302上的机器308b-308d,和子网302上的机器308e-308h,通过开始在子网302广播,机器308b-308h直接收到报文,因为它们与机器308a位于同一子网302。此外,监听器320a也收到广播报文。注意,此报文在子网302产生(和/或注意,此报文未从通讯网络306或从另外子网或从重复器324a接收),监听器320a发送报文到转发器322a以便送出端口326b,经过通讯网络306,通过子网304的重复器324b的输入端口328b。然后重复器324b广播报文到机器308e-308h,若必要,在合适时间进行报文数据的格式改变,以允许经过通讯网络306发送和/或经过第二子网304广播。借助如图2表明的类似过程,在子网304产生的广播报文能被发送以便在子网302广播。
在此例子中,当数据报文在子网304广播时(在通过通讯网络306从子网302发送后),广播报文随后被子网304的监听器320b听到。若此数据包随后通过转发器322b发回到子网302,此同一报文将无休止的在子网302和304之间来回反跳,导致数据报文通讯的不断循环。因此,按本发明的至少某些方面,数据报文那个被“标记”,以防止发送回到它们的起源子网和/或防止它们的起源子网重播。例如,在子网304上广播数据报文之前,重复器324b能标记该报文以表明该报文来自于重复器324b(如通过包括随着报文的数据位,表明它源自于转发器322a和/或通过转发器322a,转发器端口326a,重复器端口328b,和/或重复器i324b传送)。如上注意,数据报文通常被标记以包括它们的起源端口和目标端口。然后,当监听器320b通过监视起源端口数据等接收广播报文时,监听器320b能容易地判断,此广播报文是否源自于自己子网304或如子网302的另外子网。若报文源自于自己子网304的机器308e-308h,监听器320b能发送报文到转发器322b,以便发送到其它子网302。然而,若报文源自于或经过转发器322a或重复器324b(或它们的端口),监听器320将得知,此数据报文源自于自己子网302,且不应发回到子网302。
能使用标记和/或判断数据报文来源的各种方法而不背离本发明。例如,除了使用上述端口识别符以外,报文能用产生报文的机器或设备和/或该报文在发送期间经过的机器和/或设备的的IP地址标记,且监视器(或其它系统)能使用此信息判断,是否发送此报文到其它子网。作为另外的例子,一旦报文经过通讯网络发送时能设置标志,监听器或其它系统能寻找这些标志,能使用各种其它方法而不背离本发明。
虽然图2将监听器320a,转发器322a,和重复器324a示作网桥伙伴318a的分别部分,这是为了方便区分网桥伙伴318a的各种示例功能。这些功能可以在子网的任何希望数目的机器上以任何合适的方式实现而不背离本发明。例如,所有功能可以由子网上单个机器或设备实现。如包括针对桥接功能的一个机器或设备。作为另外的例子,所有功能可以由子网中的路由器316a或服务器实现,或功能可以在这些设备之间共享。作为又一个例子,对桥接伙伴318a的一个或多个功能可以使用涉及通讯的一个或多个机器308a-308d。本专业行家理解,在子网中能提供各种各样的实现这些各种功能的方法。
此外,虽然上面描述表明,在网桥部件中各种单元实现各种功能(如重复器加入标记到报文或监听器校验标记),这些仅仅是例子。本发明不局限于某些设备必须实现某些功能的情况。相反,能使用在网桥部件诸功能的任何合适的安排和/或分配,而不背离本发明。例如若希望,能使用转发器,或监听器,或其它设备或系统来提供标记,和/或能使用转发器,或重复器,或其它设备或系统来校验标记而不背离本发明。上面的描述仅提供在按本发明的桥接系统和方法中实现各种功能的合适的系统和方法的例子。
此外,本发明不局限于如图2所使得二个子网之间的通讯。而是若希望的话,能以结合图2描述的方式用桥接部件连结二个或多个子网。图3示出经过桥接部件318a、318b和318c并行地连接三个子网302、304、和400的例子。通过在此情况的“并行连接”,意味着每个桥接部件318a、318b和318c从它的转发器322a、322b和322c发送报文到所有其它子网的重复器324b和324c,如图3中从每个转发器322a、322b和322c向外的箭头所示。类似地在图3示出的例子中,每个重复器324a,324b和324c能从其它子网的转发器322a、322b和322c接收报文(如由指向重复器324a,324b和324c的箭头所示)。经过它在子网间传送数据报文的通讯系统306可以是相同或不同的,不背离本发明。以平行方式能互相连结任何希望数目的子网而不背离本发明。
图4示出按本发明的某些例子用于桥接通讯的多个子网互相连结的另外例子。图4示出“串行”连接,其中一个子网304用作二个其它子网302和400之间的网桥。在此例中,子网304的重复器324b分别从子网302和400的转发器322a,和322c接收输入报文。此外,子网304的转发器322b分别发送广播报文到子网302和400的重复器324a和324c。在子网302产生的报文发送到子网304,且子网304随后发送同一报文到子网400。此类似的方式,在子网400产生的报文经过子网304发送到子网302。子网302和400只与子网304通讯,而子网304能与子网302和400两者通讯。任何希望数目的子网能以串行方式互相通讯而不背离本发明。
能使用其它子网连接方法而不背离本发明,包括上述的并行和串行连结的组合。此外,不需要每个子网具有与所有其子网相同的连结安排。能使用子网连结的许多变化而不背离本发明。
图5-8包括描述在本发明中有用的各种示例方法的流程图。图5示出示例过程,它由在本发明的至少某些例子中一个网桥伙伴318a的监听器或接收器320a和转发器322a(或另外合适的设备或设备的组合)完成。过程开始(S500)后,监听器监听广播报文数据(“数据包”)(S502)。当接收到广播报文(S504)时,按本发明的至少某些例子的系统和方法判断,是否报文数据包在接收它的子网内产生,或者它在另外子网产生(S506)(若广播报文数据在不同子网产生,当此数据随后被传输并再次广播(如在另外子网)时,为本专利说明的目的,这被认为是报文数据的“重播”)。如上所述,报文数据能以各种不同方法标记,使得按本发明的例子的系统和方法能判断产生该报文数据的子网(或至少能判断,该报文是否在检测它的子网中产生)。使用如上述的标记技术,按本发明的至少某些例子的系统和方法还能决定,在给定子网产生的哪个广播报文将经过通讯网络发送(即,可以不希望发送在一个子网的每个广播报文到其它子网)。
若在S506判定,该报文不是重播的报文(即该广播报文数据在接收它的子网中产生——回答“否”),该报文数据随后被送到其它子网(S508)。如上所述在本发明的某些例子系统和方法中,此广播报文能从一个协议转换成另一个(如UDP到TCP),以便通过通讯网络传送到指定的机器或设备(如到另外“网桥伙伴”)。然而若在S506判定,该报文已在接收它的子网重播(回答“是”),该报文数据不发送到网桥伙伴(跳过S508)。然后在此两种情况,发生应有的报文的正常处理(S510),且按本发明的此例的系统和方法回到开始S502,并监听下一个广播报文数据。
图6示出处理的例子,它发生在当数据报文穿过网桥发送时,按本发明的至少某些例子的网络系统或方法的对方。当过程开始时(S600),重复器(如324a或324b)或其它合适的设备等待从其它子网接收数据报文(S602)。一旦包被接收(S604),按本发明的此例的系统和方法判断,此包是否在另外子网产生(S606)。若“是”,该包被标记成包含“重播”数据(以上述各种方式的任一种)(S608),并被重新配置以便在此子网广播(若需要),并向该子网的用户广播(S610)。若该包在检测到它的子网上产生(在S606的回答“否”),它不被标记成重播(S608和S610被跳过)。然后此包被发送到其它子网(如当由如结合图5所述的监听器检测到)。在判断该包是否已被重播之后,按本发明的此例的系统和方法随后以正常或传统方式处理该包(S612),并返回等待下一数据包(回到S602)。若经过通讯网络的所有发送在公共位置进入接收子网(如重复器324a),S606可以忽略(即,所有通过此路由来的包被标记为“重播”)。
图7和8一般示出,当在本发明的至少某些例子中接收报文数据包时,在应用程序层(图7)和子网网桥层(图8)实现的不同功能。如图7所示,在应用程序层,程序监听数据包(S702),且当接收到数据包时(S704),它以正常方式处理(S706)。因而在本发明的至少某些例子中,广播报文能在另外子网产生(并穿过网桥进入)的事实对应用程序是透明的。虽然按本发明的某些例子的系统和方法能包括在有关按本发明的桥接系统和方法的使用的应用程序层上处理(如包括如上所述的标记,检测标记,重新格式化数据报文等),至少在本发明的某些例子中,没有必要应用程序做任何那样的处理。相反,在本发明至少某些例子中,所有处理发生在子网网桥层上。
图8通常示出,在本发明至少某些例子中发生在子网网桥层的处理的例子。在此图示例中,一旦处理开始(S800),网桥监听广播报文数据包(S802)。当收到数据包(S804),作出判断,是否此数据包从网桥伙伴的位置的子网产生(如通过判断该数据包是否已在该子网重播-S806)。若该数据包以前未在其它子网广播(回答“否”),该数据包被桥接到涉及通讯的其它子网(S808)。若在S806中“是”(该包包含“重播”数据),该数据包不发送到其它子网。然后该子网网桥等待下一数据包(回到S802)。
当然,图5-8仅图示了在本发明的各种方面有用的可能方法的例子。可以采取从图5-8中描述的过程的各种改变而不背离本发明,包括增加步骤,舍去各种描述的步骤,和对描述的步骤的修改。此外,结合图5-8描述的方法不限于使用特定的硬件或软件系统,虽然这些方法能结合图1-4示出的示例系统使用。
IV.硬件示例图9示出能用于实现本发明的各种方面的通讯用数字计算环境的原理图,包括如桥接伙伴318a和/或机器308a-308h工作的所有或一部分,但不限于此。在图9中,计算机100包括处理单元110,系统存储器120,和将包括系统存储器120的各种系统组件连接到处理单元110的系统总线130。系统总线130能是若干类型总线结构的任一种,包括存储器总线或存储控制器,外围总线,和使用各种总线体系结构的任一种的局部总线。系统存储器120能包括只读存储器(ROM)140和随机存储器(RAM)150。
包含如在起动期间帮助在计算机100各单元之间传输信息的基本例行程序的基本输入/输出系统160(BIOS)存储在ROM140。计算机100还能包括用于读写硬盘(未示出)的硬盘驱动器170,用于读写可取走的磁盘190的磁盘驱动器180,和用于读写如CDROM或其它光介质的可取走的光盘192的光盘驱动器191。硬盘驱动器170,磁盘驱动器180,和光盘驱动器191分别通过硬盘驱动器接口192,磁盘驱动器接口193,和光盘驱动器接口194连接系统总线130。这些驱动器和它们相关的计算机可读介质提供计算机可执行指令,数据结构,程序模块,和用于个人计算机100的其它数据的非易失性存储。本专业行家认识到,在示例操作环境中也能使用能存储由计算机可访问的数据的其它类型计算机可读介质,如盒式磁带,闪存卡,数字视频盘,Bernoulli盒式带,随机存储器(RAM),只读存储器(ROM)等。
若干程序模块能存储在硬盘驱动器170,磁盘190,光盘192,ROM140,或RAM150中,包括操作系统195,一个或多个应用程序196,其它程序模块197,和程序数据198。用户能通过如键盘101和定位设备102(如鼠标)输入命令和信息到计算机100。其它输入设备(未示出)能包括麦克风,操纵杆,游戏垫,卫星碟,扫描器等。这些和其它输入设备常常通过连接到系统总线130的串行接口106连接到处理单元110,但也能通过其它接口连接,如并行口,游戏口,或通用串行总线(USB)等。而且,这些设备能经过合适接口(未示出)直接连接到系统总线130。
监视器107或其它类型显示设备也能经过如视频适配器108那样的接口连接系统总线130。除了监视器107以外,个人计算机通常包括其它外围输出设备(未示出),如扩音器和打印机。在一个例子中,提供笔数字化仪165和伴随的笔或笔尖166,以便数字地捕捉手写输入。虽然在图9中示出笔数字化仪165和串行接口106之间的连接,如本专业众知,实际上笔数字化仪165能直接连接处理单元110,或它能以任何合适的方式,如通过并行口或其它接口,连接到处理单元110和系统总线130。此外,虽然在图9中数字化仪示成与监视器170公开,数字化仪165的可用输入区域能与监视器107的显示区域公共延伸。另外,数字化仪165能集成到监视器107,或它能作为复盖或附属于监视器的分别设备而存在。
计算机100能使用到如远程计算机109那样的一个或多个远程计算机的逻辑连结在网络环境中操作。远程计算机109能是服务器,路由器,网络PC,对等设备或其它公共网络节点,它通常包括上述关于计算100的许多或所有单元,虽然在图9中示出存储设备111。在图9中画出的逻辑连接包括局域网(LAN)112和广域网(WAN)113。那样使用有线和无线连结的网络环境在办公室,企业范围计算机网络,内联网,和因特网中是常见的。
在LAN网络环境使用时,计算机100通过网络接口或适配器114连结局域网112。在WAN网络环境使用时,个人计算机100通常包括调制解调器115,或其它通过如因特网那样的广域网113建立通讯链路的装置。内置或外接到计算机100的调制解调器115能经过串行接口106连结系统总线130。在网络环境中,对于个人计算机100画出的程序模块或其部分能存储在远程存储设备。
可以理解,示出的网络连接是示例的,能使用其它在计算之间建立通讯链路的技术。设想存在各种众知协议的任一种,如TCP/IP,以太网,FTP,HTTP,UDP等,且系统能在客户-服务器配置中操作,允许用户从基于Web的服务器检索网页。能使用各种传统的Web浏览器的任一种以显示和操纵网页上的数据。
虽然图9的环境示出一示例性环境,可以理解也能使用其它计算环境。例如,本发明的一个或多个例子能使用具有少于图9所示及上面描述的所有方面的环境,且这些方面能以对普通人士明白的各种组合和子组合的形式出现。
图10示出能按本发明的各种方面使用的基于笔的个人计算机(PC)201。在图9的系统中的任何或所有特征,子系统,和功能可以包括在图10的计算机中。基于笔的个人计算机系统201包括大的显示表面,如数字化平板显示,最好是液晶显示,其中显示多个视窗203。使用笔尖204,用户能在数字化显示区域上选择,高亮度显示,和书写。合适的数字化显示板的例子包括如从Muloh Co.或Wacon Technology Co.可得到的笔数字化仪那样的电磁笔数字化仪。也能使用其它类型的笔数字化仪,如光数字化仪。基于笔的计算系统201解释使用笔尖204作出的姿态,以便操纵数据,输入文本,和执行传统的计算机应用任务,如创建,编辑,和修改电子报表,文字处理程序等。
笔尖204能装上按键或其它特征以扩展其能力。在一个例子中,笔尖204能作为“铅笔”或“钢笔”,其中一端组成书写部分而另一端组成“擦除”端,当它在显示屏上移动时在显示屏上的电子墨水被擦除。能使用其它类型的输入设备,如鼠标,跟踪球等。此外,能使用用户自己的手指,在触敏或近敏显示屏上选择或指示显示图象的部分。因而这里使用的“用户输入设备”试图具有广泛的定义,并包括众知输入设备的许多变种。
V,结论按本发明各种方面的桥接系统和方法能用于用户希望经过多个子网发送和接收广播报文的任何通讯。例如,二个或更多子网上的一组用户希望使用广播报文通讯,使得多个用户能自由进入或离开通讯群体而不会对通讯有不利的影响。能使用按本发明的例子的桥接系统和方法的示例系统可以包括如电子白板会话或其它协同应用的协同通讯会话,其它协同应用使用户能在不同工作站同时共享电子数据和信息,并同时观看同一信息,实时作出改变,并观看改变后的信息(如NetMeetingR Sessions(“NetMeting”是Redmond,Washington的Microsoft公司的注册商标)和/或WebExR Sessions(“WebExR”是San Jose,California的WebEx Communication Inc.的注册商标)。
上面已描述了本发明的各种例子,本专业普通人士理解,本发明将这些例子的所有组合及子组合包括在其范围内。此外,本专业的行家认识到,上述例子仅是本发明的例证。可以作出各种改变和修改而不背景在附后的权利要求中定义的本发明的精神和范围。
权利要求
1.用于穿过子网边界桥接子网广播的系统,包括适应于接收第一广播报文的接收器,其中第一广播报文在第一子网中产生;适应于发送第一广播报文到第二子网的转发器;和适应于在第一子网上广播从第一子网以外的子网产生的第二广播报文的重复器。
2.如权利要求1所述的系统,其特征在于,还包括用于接收第二广播报文的端口。
3.如权利要求1所述的系统,其特征在于,转发器不发送第二广播报文到产生该报文的子网。
4.如权利要求1所述的系统,其特征在于,第一广播报文和第二广播报文中至少一个是UDP广播报文。
5.如权利要求1所述的系统,其特征在于,第二广播报文从第二子网产生。
6.用于桥接在第一子网和第二子网之间的子网报文所述的桥接系统,包括适应于接收在第一子网产生的第一广播报文的第一接收器;适应于接收到第二子网产生的第二广播报文的第二接收器;适应于发送第一广播报文到第二子网的第一转发器;适应于发送第二广播报文到第一子网的第二转发器;适应于在第一子网广播第二广播报文的第一重复器;和适应于在第二子网广播第一广播报文的第二重复器。
7.如权利要求6所述的桥接系统,其特征在于,还包括用于接收第二广播报文的第一端口;和用于接收第一广播报文的第二端口。
8.如权利要求6所述的桥接系统,其特征在于,第一转发器不发送第二广播报文到第二子网,而第二转发器不发送第一广播报文到第一子网。
9.如权利要求6所述的桥接系统,其特征在于,第一广播报文和第二广播报文中至少一个是UDP广播报文。
10.如权利要求6所述的桥接系统,其特征在于,第一接收器,第一转发器,和第一重复器形成第一网桥部件,第二接收器,第二转发器,和第二重复器形成与第一网桥部件通讯的第二网桥部件。
11.用于穿过子网边界桥接子网广播的方法,其特征在于,包括接收在第一子网中产生的第一广播报文;发送第一广播报文到第二子网;和在第二子网广播第一广播报文,其中第一广播报文以下列组中至少一种选定的方式处理第一广播报文不从第二子网发回到第一子网,且第一广播报文不在第一子网重播。
12.如权利要求11所述的方法,其特征在于,还包括标记第一广播报文,表明它从第一子网产生。
13.如权利要求11所述的方法,其特征在于,还包括发送第一广播报文到第三子网;和在第三子网广播第一广播报文,其中第一广播报文以下列组中至少一种选定方式处理第一广播报文不从第三子网发回到第一子网,且第一广播报文不在第一子网重播。
14.如权利要求13所述的方法,其特征在于,第一广播报文从第一子网发送到第三子网。
15.如权利要求13所述的方法,其特征在于,第一广播报文从第二子网发送到第三子网。
16.如权利要求13所述的方法,其特征在于,第一广播报文在第三子网广播,标记第一广播报文,表明它不在第三子网产生。
17.如权利要求16所述的方法,其特征在于,当第一广播报文在第二子网广播时,标记第一广播报文,表明它不在第二子网产生。
18.如权利要求11所述的方法,其特征在于,当第一广播报文在第二子网广播时,标记第一广播报文,表明它不在第二子网产生。
19.如权利要求11所述的方法,其特征在于,第一广播报文是UDP广播报文。
20.用于穿过子网边界桥接子网广播所述的方法,其特征在于,包括接收在第一子网产生的第一广播报文;接收在第二子网产生的第二广播报文;发送第一广播报文到第二子网;发送第二广播报文到第一子网;在第二子网广播第一广播报文,其中第一广播报文以下列组中至少一个选定方式处理第一广播报文不从第二子网发回到第一子网,且第一广播报文不在第一子网重播;和在第一子网广播第二广播报文,其中第二广播报文以下列组中至少一个选定方式处理第二广播报文不从第一子网发回到第二子网,且第二广播报文不在第二子网重播。
21.如权利要求20所述的方法,其特征在于,还包括标记第一广播报文,表明它从第一子网产生;和标记第二广播报文,表明它从第二子网产生。
22.如权利要求20所述的方法,其特征在于,当第一广播报文在第二子网广播时,标记第一广播报文,表明它不在第二子网产生。
23.如权利要求22所述的方法,其特征在于,当第二广播报文在第一子网广播时,标记第二广播报文,表明它不在第一子网产生。
24.如权利要求20所述的方法,其特征在于,第一广播报文和第二广播报文的至少一个是UDP广播报文。
25.处理广播报文所述的方法,包括在第一子网接收第一广播报文;判断,第一广播报文是否在第一子网产生;和当第一广播报文在第一子网产生时,发送第一广播报文到第二子网。
26.如权利要求25所述的方法,其特征在于,第一广播报文发送到第二子网中的预定端口。
27.如权利要求26所述的方法,其特征在于,还包括在第二子网上广播第一广播报文。
28.如权利要求25所述的方法,其特征在于,还包括在第二子网上广播第一广播报文。
29.如权利要求25所述的方法,其特征在于,还包括在第二子网上接收第二广播报文;判断第二广播报文是否在第二子网产生;和当第二广播报文在第二子网产生时,发送第二广播报文到第一子网。
30.如权利要求29所述的方法,其特征在于,第二广播报文发送到第一子网中的预定端口。
31.如权利要求29所述的方法,其特征在于,还包括在第一子网上广播第二广播报文。
32.如权利要求29所述的方法,其特征在于,判断第一广播报文是否在第一子网中产生,包括判断所接收的第一广播报文的原始IP地址或原始的端口号的至少一个。
33.如权利要求32所述的方法,其特征在于,判断第二广播报文是否在第二子网中产生,包括判断所接收的第二广播报文的原始IP地址或原始的端口号的至少一个。
34.如权利要求29所述的方法,其特征在于,判断第二广播报文是否在第二子网中产生,包括判断所接收的第二广播报文的原始IP地址或原始的端口号的至少一个。
35.如权利要求29所述的方法,其特征在于,第一广播报文和第二广播报文的至少一个是UDP广播报文。
36.如权利要求25所述的方法,其特征在于,判断第一广播报文是否在第一子网中产生,包括判断所接收的第一广播报文的原始IP地址或原始的端口号的至少一个。
37.如权利要求25所述的方法,其特征在于,第一广播报文是UDP广播报文。
全文摘要
用于穿过子网边界桥接子网广播的方法包括(a)接收在第一子网产生的第一广播报文;(b)发送第一广播报文到第二子网;和(c)在第二子网上广播第一广播报文,其中第一广播报文不从第二子网发回到第一子网和/或不在第一子网重播。处理广播报文的其它方法包括(a)在第一子网接收第一广播报文;(b)判断第一广播报文是否在第一子网产生;(c)当第一广播报文在第一子网产生时,发送第一广播报文到第二子网。那样的方法还包括,至少在某些例子中,标记第一广播报文,表明它从第一子网产生。用于实现包括上述桥接方法的各种桥接方法的示例系统能包括如(a)适应于接收第一广播报文的接收器,其中第一广播报文在第一子网产生;(b)适应于发送第一广播报文到第二子网;和(c)适应于在第一子网广播从第一子网以外的子网产生的第二广播报文的重复器。在通讯中涉及的所有子网能包括此类结构,使能在各子网间广播报文数据的交叉通讯。
文档编号H04L12/56GK1540955SQ20041003221
公开日2004年10月27日 申请日期2004年3月24日 优先权日2003年4月24日
发明者P·T·-F·苏, R·J·贾雷特, P T -F 苏, 贾雷特 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1