用于传递数据分组的网络节点单元和方法

文档序号:7635521阅读:206来源:国知局
专利名称:用于传递数据分组的网络节点单元和方法
技术领域
本发明涉及用于传递具有虚拟网络标记或者VLAN ID的数据分组的方法和网络节点单元,优选是交换机。
背景技术
已知虚拟LAN的组织形式用于面向分组的网络的逻辑分段一该网络在专业领域常常也称为LAN,即Local Area Network(局域网)。在标准IEEE 802.1Q中定义了一个VLAN(虚拟LAN),也就是在物理网络内部的虚拟局域网。
通过一组网络节点单元形成一个VLAN,这些网络节点单元组合成一个“广播域”。在此网络节点单元通常设计为交换机、网桥等。下面主要以交换机为例来描述网络节点单元,但是网络节点单元的这种特殊选择不表示限制。
如果虚拟LAN扩大到多个网络节点单元,则将在所交换的数据分组中识别目标和源的MAC地址(“介质访问控制”)增加该虚拟LAN的标识号码是有益的。该标识号码大多称为VLAN号码或者“VLANID”或者“虚拟LAN标识号码”。
除了MAC帧的类型字段之外,利用称作“帧标记”的方法把一个标识VLAN的VLAN ID作为“标记”嵌入数据分组中。该方法在已提到的IEEE 802.1Q中标准化并且采用一个字宽用于12位的标记。从中理论上对于VLAN ID得出0至4095的值。VLAN Id“0”和“4095”被保留或者说是不允许的,从而可能的VLAN ID的数目限制在4094。此外,在802.1Q网络中由于兼容性的原因可以没有标记地交换无标记的数据分组。
虚拟LAN的一个实施形式是所谓的基于端口的VLAN。在此一个VLAN在一个IP子网络内部(“互联网协议”)展开或跨越多个IP子网络,并且映射在一个网络节点单元的多个端子(“端口”)上。该网络节点单元通常形成为交换机,因此映射在该交换机的端子或者端口上也称为“交换端口映射”。
几乎所有交换机支持对MAC帧中VLAN标记的识别与检索。在对数据分组每一次进一步处理和传递之前进行识别和检索。在此过程中标记到达一个网络节点单元的端子一交换端口、但还没有标记的分组,也就是说具有VLAN标记。只要数据分组从交换机传送到一个预定的通信目标、例如一个参与面向分组的通信的计算机,则该标记通常由传送的交换机从MAC帧中清除。该措施除其它之外保证不支持根据802.1Q的MAC帧结构的网卡在计算机中的应用。
在许多情况下网络节点单元或交换机的处理软件对于这种情况也设置数据分组的标记,在该情况下要处理的数据分组已经包含一个具有VLAN ID的标记。对此在一个具有当前VLAN标记或者VLAN ID的802.1Q标题之前设置一个具有新的—一般是不同的VLAN ID的新802.1Q标题。对此最初的802.1Q标题保持不变,并且也向后移位新802.1Q标题的长度。
这种预置也用在目前公知的、用于在802.1Q隧道方法基础上连接面向分组的网络的方法,该802.1Q隧道方法保证透明连接以太网业务。
在现有技术中已知协议IEEE 802.1Q的专有扩充,以这些扩充能够扩展4094个可能VLAN ID的有限数目。对此应用作为VLAN ID的级联而公知的方法。对该级联理解为分级标记,在该级联中在最初的第一个802.1Q标题的前面添加一个附加的802.1Q标题。这等效于该观点,即在给标记区域重写第二VLAN ID之前,在数据分组的数据部分中首先存放最初的第一VLAN ID。前面描述的标记、也就是最初的第一个802.1Q标题在下面称为基本标记。类似地对第三、第四、…VLAN ID继续该方法,由此产生相应深度的分级VLAN ID级联。这种方法例如由业务供应商用于允许多个客户使用同一个基本结构,其中由客户交换的数据分组尽可能地不相互影响。
级联不能解决以下问题,即虽然将基本标记中的VLAN ID用于网元的传递判定—除了其它标准之外,可是没有采用更深度级联的VLANID。在现有技术中,当在不同发射者的数据分组中传递多重相同地址信息时会出现后面的、指向在网络中双重存在的地址的数据分组的不正确传递。例如可能通过使用伪地址的攻击者引起多重相同的地址信息。

发明内容
本发明的任务是,提供这样的单元,利用该单元通过具有虚拟网络标记的数据分组的级联扩大地址空间,而数据分组的地址信息不会导致数据分组的错误传递。
就装置而言通过具有权利要求1特征的网络节点单元来解决该任务,就方法而言通过具有权利要求3特征的方法解决该任务。
根据本发明设置一个网络节点单元,其能够识别并过滤在数据分组中的级联标记(Tag)。依赖于交换机的“可预先确定的”级联深度和在数据分组中识别的级联深度实现过滤和“学习”,也就是在管理表中记录数据分组的虚拟网络标记和地址信息。例如仅当数据分组中的级联深度没有超过处理能力、也就是说网络节点单元的“可预先确定的级联深度”时,才在管理表中记录数据分组的虚拟网络标记和地址信息、特别是MAC地址。
依赖于交换机的级联深度和能力实现数据分组的过滤(或者已过滤的传递)和在管理表中的记录,一直操作到确定的级联深度。因此一方面通过虚拟网络标记的级联扩大地址空间,另一方面在不同发送者的数据分组中的多重相同地址信息不会导致错误传递到所希望的地址类型,这在后面的实施例中详细说明。
因此,本发明的单元确保,即使在网络节点单元关于所考虑的级联VLAN ID有不同处理能力的情况下也能正确提供数据分组。
下面根据附图详细阐述用以阐述本发明优点以及具有示范设计方案的实施例。


图1示出布置在一个网络中的网络节点单元的示意结构图,图2示出布置在该网络的较大片段中的网络节点单元的示意结构图。
具体实施例方式
首先不参考附图描述在实施例中应用的、例如设计为交换机的网络节点单元的特性。
交换机的主要特征是,接收的数据分组仅仅移交给这样的端子或者“端口”,即该端子或端口是基于在数据分组中记录的用于传递的目标信息而设置的。在数据分组中记录的目标信息包括目标系统的MAC地址(Media Access Control,介质访问控制)和基本标记中的VLAN ID。发送给没有记录的MAC地址的数据分组传递给同一VLANID的所有端口。
为此在交换机中通常设置一个用于存储目标信息和对应端口的管理表,通过二者可以到达目标系统。
交换机在一个端口上检验接收数据分组的包含在数据分组中的源信息—特别是发送系统的MAC地址或者源MAC地址和所接收的数据分组的VLAN ID。如果源信息还没有记录在管理表中,则进行记录,该记录使源MAC地址与接收数据分组的端口和VLAN ID关联。同时记录具有到达时间的时间戳。如果已经记录了数据分组的源信息,则保留已经存在的记录并且更新时间戳。在管理表中重新或者改变记录在下面也称为“学习”。然后数据分组根据目标信息继续指向在该管理表中记录的端口。该过程称为“过滤”。
按交换机或者网络节点单元的设计方案存在源或者目标信息的不同管理表。在此,对“表”的概念的理解不局限于数据结构的特定形式。
只要在管理表中的记录超过预定的极限,交换机就不能再存储新的记录,并且具有未知目标信息的数据分组传递给同一VLAN ID的所有端口。该数据分组涌入(“Unicast Flooding”,单点涌入)整个虚拟LANs内部。
具有未知目标信息的数据分组传递到所有端口也出现在以下情况,在该情况下到达的数据分组的目标信息还没有记录在管理表中,因此由于这个原因还是未知的。在这种情况下数据分组同样在该虚拟LANs内部传递给交换机的除了接收数据分组的端口之外的所有端口。
在交换机中通常设置一个周期运行的过程,其也称为“时效计时器”。该过程检查管理表,并且清除比可调整的时间间隔更久的记录。利用该过程避免过时的记录导致超过管理表的容量。此外对管理表的这种清除对于移动终端设备的可到达性是有益的。
此外,所有交换机具有在下面提到的本发明特性1.交换机能够根据在数据分组中的级联标记(Tag)学习并过滤数据分组。对此以N表明数据分组的级联深度。其相当于级联标记的数目。一般适用N≥0。对于N=0的情况则存在一个没有标记的数据分组,对于N=1来说存在一个以VLAN ID标记的、没有级联的数据分组,对于N>1来说存在一个级联标记的数据分组。交换机处理具有级联深度N的数据分组的能力同样叫做级联深度。因为该能力用于表明交换机的可执行能力的特征,所以其叫做可预先确定的级联深度N。在目前常用的交换机中N=1。交换机的级联深度N用于刻画可以处理直到哪一级联深度的数据分组的特征。
2.交换机能够识别在具有级联深度N的VLAN标记后面是否存在另外的标记,但不用分析其内容。对于例如以N=2表征的交换机——也就是说该交换机可以处理在数据分组中直到两个的级联标记,这意味着该交换机也识别级联深度为三、四等的数据分组并且在下面的第三点中也是这样。
3.该交换机只学习并过滤级联深度≤N的数据分组。根据上述具有级联深度N=2的交换机的实例,既不过滤也不学习级联深度为三、四等的数据分组。在学习时在管理表中记录MAC地址、端口和全部VLAN ID级联。
交换机还没有过滤或学习的数据分组通常传递给交换机的所有其VLAN ID与数据分组的标记区域(Tag)中的VLAN ID一致的端子(端口)。在级联标记的情况下这也是适用的,因为N>1的标记不存放在数据分组的为此设置的部分中,而是例如存储在数据分组的有效数据字段内。可是,数据分组的传递限于所有其允许的VLAN ID一直到深度N都与数据分组的VLAN ID一致的端子(端口)是有益的。如果例如一个数据分组具有级联的VLAN ID 5/6/8,并且在一个能力为N=2的交换机上处理,则该数据分组传递给所有对于VLAN级联5/6得到允许的端口。
在第一实施形式中首先以此为出发点,即计算机PCA发送未标记的数据分组。该实施例因此适用于大多数对其网卡或通信协议不进行特殊调整的工作站计算机。
图1示出了由多个交换机SWA;SWC1、SWC2、SWC3形成的面向分组的网络NW的一部分。后面提到的交换机SWC1、SWC2、SWC3在下面也叫做核心交换机,并且形成一个网络CORE,其通过所谓的供应商交换机SWA透明地连接到计算机PCA。由业务供应商维护该供应商交换机SWA。计算机PCA的结构基本上是任意的,例如该计算机PCA可以实施为工作站计算机,也可以实施为网络节点单元如路由器、交换机等。
通过级联深度为N=1表征供应商交换机SWA。由计算机PCA给供应商交换机SWA发送一个数据分组。该供应商交换机SWA首先在接收的未标记数据分组中嵌入一个具有为接收端口设置的VLAN ID的标记。
现在交换机SWA识别,已处理的数据分组刚好具有一个标记(Tag)并因此没有超过其N=1的级联深度。因此最后进行学习过程,在该学习过程中在交换机SWA中从数据分组的MAC帧中取出源MAC地址。然后将该源MAC地址记录在为各VLAN ID预置的管理表之一中,在当前情况下记录在为事先由供应商交换机SWA用以标记数据分组的VLAN ID预置的管理表中。同时设置该记录的时间戳(Aging-Timer,时效计时器)。如果对于所考虑的源MAC地址来说已经在管理表中包含一个记录,则不进行记录。
此外从数据分组中取出一个目标MAC地址。该目标MAC地址与针对该VLAN ID的管理表的目标地址进行比较,在发现目标MAC地址相同的情况下将该数据分组传送给在表中列出的位置。
如果在MAC表中没有与数据分组中给出的目标MAC地址相对应的目标MAC地址的记录,则该数据分组发送给(涌向)在此所考虑的交换机SWA的、当前VLAN ID所指向的所有端子或者端口,也就是例如在核心交换机SWC方向上的端口。
核心交换机SWC按照级联方法的原理给由供应商交换机SWA接收的数据分组添加另一个标记。下面以此为出发点,核心交换机SWC能够仅仅在VLAN级上过滤、也就是说对于交换机SWC来说适用N=1。
可是根据所有在此考虑的交换机的第二点假设,其可以识别出数据分组包含多于N个标记、在当前情况下为两个。因此该核心交换机SWC既不学习所接收的数据分组的源MAC地址,也不过滤该数据分组,也就是说其不把该数据分组传递给特定的端子(端口),而是实施涌向,也就是说接收的数据分组传递给所有端口。
如果N=1的级联深度的上述特性适合于所有核心交换机SWC1、SWC2、SWC3,则在这些交换机上接收的数据分组涌入整个核心网络CORE,可是在此限制为允许VLANC的端口。然后一直执行接入交换机的任务,即实施MAC地址过滤,以便不给客户加载已涌入的数据分组或者单点帧(Unicast-Frame)。
图2示出由图1已知的网络NW的一个较大片段。对此具有相同功能符号的功能单元代表前面从图1已知的功能单元,从图1已知的计算机PCA和交换机SWA是例外,其现在以缩写符号PCA1和SWA1表示。
此外供应商交换机SWB1连接在核心交换机SWC2上。供应商交换机SWB1与一个计算机PCB1连接。在核心网CORE内部布置一个第四核心交换机SWC4,该交换机与供应商交换机SWA2、SWB2连接。另一个计算机PCB3与供应商交换机SWB2连接,最后计算机PCA2与供应商交换机SWA2连接。
称为“MAC地址欺骗”的方法作用于在网络NW中的未干扰的数据交换。该方法理解为,大多数出于恶意目的使用在已传送的数据分组中未分配的或未记录的MAC源地址。
欺骗的一种非恶意变形例如出现在802.1Q骨干线连接中支持802.1Q协议的路由器端口上。因为路由器在多个VLAN段中采用同一MAC地址。
欺骗的另一种非恶意变形出现在用于检验数据交换的测试单元、即所谓的通信量发生器的应用中。通信量发生器提供具有不同MAC地址的测试消息的仿真发送—也叫做MAC地址扫描—作为标准功能。
最后在以下情况中存在欺骗的一种非恶意形式,在该情况中供应商的各个客户冗余地连接到一个对于各客户不同的拓扑结构上,例如在应用“生成树协议”STP的情况下。为了避免双重占用常常预先规定,在不同的VLAN中不允许采用相同的网络地址。可是在上述路由器的情况下会遇到问题,因为正如已经阐述的,一个路由器在多个VLAN段中采用同一MAC地址。
下面以两个没有示出的客户A和B为出发点,这些客户经过交换机SWA1、SWA2、SWB1、SWB2连接到供应商网络。
为了阐述借助于本发明方法防止MAC地址欺骗,以此为出发点,即在客户B的计算机PCB1上需要一个执行软件,就计算机PCB1的通信而言可以通过该软件调整任意的源MAC地址。因此,对于由该计算机PCB1发送的数据分组来说,例如源MAC地址与计算机PCB1的没有示出的网卡的已调整MAC地址不一致。
此外以此为出发点,即这样调整计算机PCB1的如此预先给定的源MAC地址,使得其与计算机PCA1的真正源MAC地址相同。此外以此为出发点,即计算机PCB1最近刚向核心网CORE发送了一系列数据分组。在不应用本发明方法的情况下这样调整核心交换机SWC1、SWC2、SWC3、SWC4,使得其原则上借助从各个数据分组中得知的MAC地址进行过滤。
通过这种方式由计算机PCA2发送的数据分组不可能到达计算机PCA1,因为由PCA2发送的全部数据分组经过第三核心交换机SWC3错误地仅仅发送给第二核心交换机SWC2。通过这种方式数据分组决不会到达真正所希望的第一核心交换机SWC1并且经过该交换机到达第一计算机PCA1。
借助于本发明方法能够在802.1Q隧道网络中级联多个VLAN标记(并因此连接多于4094个客户),而不会在该网络中出现MAC地址欺骗的问题。在此根据专业人员的喜爱,将本发明的原理转用于在核心网络CORE中或者使用能够顾及所有VLAN标记并因此按照MAC地址进行过滤的交换机,或者使用低成本的交换机,其虽然只考虑标记的较低级联深度,可是为此不需要核心网络CORE中的过滤。
如果客户给交换机SWA1发送的不是未标记的数据分组而是已标记的数据分组,则以同样的方式使用本发明措施。
在第一实施方式中,对于这种情况使用可以识别至少两个标记、也就是具有N≥2的可预定级联深度的接入交换机SWA1。在此客户的标记用VLAN_a表示,用VLAN_A表示供应商通过供应商交换机SWA1的标记。然后在管理表中以索引(VLAN_A、VLAN_a)记录数据分组在客户自己的虚拟网络VLAN_a中的源MAC地址,通过级联给该数据分组添加供应商标记VLAN_A。通过该索引在客户VLAN和供应商VLAN之间重新建立一一对应关系。仅仅影响VLAN_A和VLAN_a具有相同值的数据分组。
根据第二实施方式,按照本发明方法,仅当在数据分组中已识别的级联水平超过值N+1时,能够过滤N个级联水平的交换机SWA1才不进行过滤。可是在这种结构中,在冗余连接的情况下通过VLAN STP方法(生成树协议)和在不同VLAN中应用相同的MAC地址可能出现在MAC地址欺骗中提到的问题,即相同的MAC地址在不同的VLAN中相互干扰。由于这个原因在实际的实施中给第一实施例以优先权。
本发明方法或者根据本发明设计的交换机有益地应用在通过透明的以太网业务连接业务供应商的客户中。“透明”意思是所涉及的或已发送数据的直接隧道化使得能够在所提供的数据端口上连接另外的交换机。在这种情况下已标记的数据分组发送给供应商交换机SWA1,参见上面描述。利用建议的本发明单元消除了由于预定的标记长度引起的、对4094个端口的限制。
权利要求
1.一种用于传递数据分组、专用于传递具有虚拟网络标记的数据分组的网络节点单元,具有-用于在数据分组中识别虚拟网络标记的已识别为超过预定级联深度的级联深度的单元,-用于依赖于可预定并且已识别的级联深度过滤传递具有级联的虚拟网络标记的数据分组的单元,-用于依赖于可预定并且已识别的级联深度在管理表中记录数据分组的虚拟网络标记和地址信息的单元。
2.按照权利要求1的网络单元,其特征在于,其设计为交换机。
3.一种用于传递具有虚拟网络标记的数据分组的方法,具有如下方法步骤-在数据分组中识别虚拟网络标记的已识别为超过预定级联深度的级联深度,-依赖于可预定并且已识别的级联深度过滤传递具有级联的虚拟网络标记的数据分组,-依赖于可预定并且已识别的级联深度在管理表中记录数据分组的虚拟网络标记和地址信息。
4.一种具有用于实施按照权利要求3所述方法的单元的计算机程序产品,该计算机程序产品连接到用于执行的网络单元上。
全文摘要
本发明涉及用于传递数据分组的网络节点单元和方法。网络节点单元(SWA、SWCn)(交换机)专用于传递具有虚拟网络标记的数据分组,并且包含用于在数据分组中识别虚拟网络标记的已识别为超过预定级联深度的级联深度的单元,用于依赖于可预定并且已识别的级联深度过滤传递具有级联的虚拟网络标记的数据分组的单元,用于依赖于可预定并且已识别的级联深度在管理表中记录数据分组的虚拟网络标记和地址信息的单元。
文档编号H04L29/06GK101080903SQ200680001439
公开日2007年11月28日 申请日期2006年7月11日 优先权日2005年7月27日
发明者O·韦茨 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1