CN1965540B - 用于检测对于协议定义的补充头部的支持的方法、系统和装置 - Google Patents

用于检测对于协议定义的补充头部的支持的方法、系统和装置 Download PDF

Info

Publication number
CN1965540B
CN1965540B CN2005800190772A CN200580019077A CN1965540B CN 1965540 B CN1965540 B CN 1965540B CN 2005800190772 A CN2005800190772 A CN 2005800190772A CN 200580019077 A CN200580019077 A CN 200580019077A CN 1965540 B CN1965540 B CN 1965540B
Authority
CN
China
Prior art keywords
leading
network equipment
head
network device
link
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
Application number
CN2005800190772A
Other languages
English (en)
Other versions
CN1965540A (zh
Inventor
珐塞·穆萨
斯塔拉姆·东图
士尔曼·博海德
艾力·戈尔杉
迈克尔·R·史密斯
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN1965540A publication Critical patent/CN1965540A/zh
Application granted granted Critical
Publication of CN1965540B publication Critical patent/CN1965540B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)

Abstract

本发明公开了用于检测网络设备是否支持定义补充头部(302)的协议的各种方法和系统。一种方法包括检测由发送设备生成的前导(202)内的值,并验证也由发送设备生成的头部(302)的头部格式遵从一种协议的头部格式定义。该协议的头部格式定义定义了补充头部(302)。前导(202)可以是以太网前导。在一个实施例中,前导是收敛数据链路(CDL)前导或用于传送操作、维护和管(OAM)信息的其他类型的前导。

Description

用于检测对于协议定义的补充头部的支持的方法、系统和装置
技术领域
本发明涉及联网领域,更具体而言,涉及检测网络组件对定义补充头部的协议的使用。
背景技术
网络设备(如网桥和路由器)经常包括许多组件。例如,路由器可以包括若干个不同线路卡。在网络设备转发和/或路由分组时,该网络设备内的不同组件彼此通信。
通常,网络设备制造商在网络设备内实现特殊协议,以提高网络设备的性能或可靠性。用在网络设备内的特殊协议一般通过将特殊头部粘贴到进入网络设备的分组来进行操作。该特殊头部包括由网络设备内的各种组件使用的信息。例如,网络设备内的每个线路卡支持给传入分组加上特殊头部作为标签的协议。该特殊头部包括通过执行转发查找或者通过对分组应用访问控制而获得的信息。该特殊头部一般在分组退出网络设备之前被移去。这种特殊协议通常是专用于特定网络设备制造商的专有协议。
一般来说,网络设备内的所有组件都将保证支持该特殊协议。例如,某些网络设备只接受特定供应商的线路卡。该供应商的线路卡中的每一个支持该特殊协议,从而确保了网络设备内的所有线路卡都将支持该特殊协议。因此,一般不需要确定网络设备内的特定组件是否支持该特殊协议。由于假设特定网络设备或网络环境内的所有组件都支持该特殊协议,因此用于识别特定组件实际上是否支持该特殊协议的机制未被实现。
在某些情形中,希望将可以使用特殊协议的情形扩展到不能假设所有组件都支持该特殊协议的环境。因此,希望能够确定组件是否支持特殊协议。
发明内容
本发明公开了用于检测网络设备是否支持定义补充头部的协议的方法和系统的各种实施例。在某些实施例中,一种方法包括检测由发送设备生成的前导内的值,并验证也由发送设备生成的头部的头部格式遵从一种协议的头部格式定义。这种方法可由耦合到发送设备的接收设备执行。该协议的头部格式定义定义了补充头部。头部的头部格式是响应于检测到前导内的值而验证的。可以通过检测前导内的令牌的至少一部分,来检测前导内的值。前导可以是以太网前导(即,在以太网链路上发送的前导)。在一个实施例中,前导是收敛数据链路(CDL)前导或用于传送操作、维护和管理(OAM)信息的其他类型的前导。在验证了头部的头部格式后,执行验证的设备还可以将遵从头部格式定义的补充头部发送到发送设备。
头部的头部格式可以在检测到第N个前导内的第N个令牌之后验证。检测第N个令牌的操作可以包括检测N个连续接收到的前导的每一个中的字段值的改变。响应于头部的头部格式的验证,可以从第N+1个前导中提取出信息(例如,设备标识符)。这种信息可用于检测配置错误(例如,回送错误)。
在其他实施例中,一种方法包括发送包括某一值的前导,随后发送头部。该值标识头部的头部格式遵从该协议的头部格式定义。这种方法可由耦合到接收设备的发送设备执行。头部格式定义定义了补充头部。可以发送多个前导。每个前导可以包括相应令牌。随后可以发送包括设备标识符的附加前导。
在一个实施例中,一种系统包括第一网络设备和耦合到第一网络设备的第二网络设备。第二网络设备被配置为检测前导内的值,该前导由第一网络设备生成。响应于检测到前导内的值,第二网络设备被配置为验证也由第一网络设备生成的头部的头部格式遵从一种协议的头部格式定义。该头部格式定义定义了补充头部。第一网络设备类似地被配置为检测由第二网络设备生成的第二前导内的值,以验证也由第二网络设备生成的第二头部的头部格式遵从该协议的头部格式定义。
在一个实施例中,一种装置包括接口。该接口包括补充头部验证模块。该接口还可以包括前导验证模块。该接口被配置为接收第一前导。补充头部验证模块被配置为响应于前导验证模块检测到第一前导是信息承载前导,检测第一前导内的值。补充头部验证模块被配置为响应于检测到第一前导内的值,标识第一头部是补充头部。
该接口还可以包括配置错误检测模块。该接口被配置为接收第一前导,并且配置错误检测模块被配置为响应于检测到第一前导内的值,检测回送错误。
在另一个实施例中,一种装置包括接口,该接口包括前导生成模块。前导生成模块被配置为在前导内包括某一值。该值指示补充头部的头部格式遵从该协议的头部格式定义。
前述内容是总结,从而必然包含对细节的简化、概括和省略;因此,本领域技术人员将意识到,该总结只是示例性的,而不应当以任何方式限制本发明。这里公开的操作可以以多种方式实现,并且可以进行这些改变和修改,而不脱离本发明和其更宽广的范围。由权利要求所定义的本发明的其他方面将在下面给出的非限制性具体实施方式中变清楚。
附图说明
本发明的更完全的理解可以通过参考下面的描述和附图而得到,在附图中,相似的标号指示相似的特征。
图1图示了根据本发明一个实施例的系统,其中一个网络设备基于包含在前导中的信息确定另一个网络设备是否支持定义补充头部的协议。
图2示出了由不支持定义补充头部的协议的网络设备生成的分组的内容。
图3示出了由支持定义补充头部的协议的网络设备生成的分组的内容。
图4图示了典型的以太网前导。
图5示出了信息承载前导的示例。
图6是图示了根据本发明一个实施例的网络设备确定对等网络设备是否支持定义补充头部的协议的方式的流程图。
图7是图示了根据本发明一个实施例的网络设备在前导中包括信息的方式的流程图。
图8是根据本发明一个实施例的被配置为在发送前导之前将信息编码到前导中并检测接收的前导中的信息的接口的框图。
图9-11图示了采用图6和7中所示的方法的虚拟网络设备的示例。
尽管本发明容易受到各种修改和替换形式的影响,但是在附图和具体实施方式中提供了本发明的特定实施例作为示例。应当理解,附图和具体实施方式并不是要将本发明限制在公开的特定形式。相反,本发明意图覆盖落在由权利要求定义的本发明的精神和范围内的所有修改、等同物和替换。
具体实施方式
图1示出了两个网络设备,网络设备110和网络设备120。网络设备110通过链路130耦合到网络设备120。网络设备110和120可以是路由器、网桥、交换机或任何其他类型的网络设备。网络设备110和120还可以是这种路由器、交换机等的组件(例如,线路卡)。
在该示例中,链路130是以太网链路。网络设备110和120经由链路130向彼此发送以太网分组。每个分组的前面有前导(preamble)。如果没有分组经由链路发送(即,如果链路空闲),则网络设备110和120彼此发送前导。(注意,在替换实施例中,在空闲时段期间不发送前导。)
网络设备110被配置为支持定义补充头部的协议。支持该协议的网络设备利用补充头部彼此交换信息,补充头部被附接到在网络设备之间交换的分组。在支持该协议的设备之间交换的分组除了包括已经是分组的一部分的任何其他头部外,还将包括补充头部。例如,由网络设备120发送的所有以太网分组都包括以太网头部。如果网络设备120是以太网设备并且网络设备120还支持定义补充头部的协议,则从网络设备120发送来的分组将包括正常以太网分组和补充头部。该协议通过指定补充头部的诸如内容和/或格式之类的特征来定义补充头部。
非补充头部是包括由所有网络设备用于路由和/或转发分组的信息的头部,而无论这些网络设备是否支持定义补充头部的协议。在许多情形中,补充头部不可区分于非补充头部。例如,补充头部定义可以不包括保证对于补充头部唯一的值。如果补充头部中的信息没有唯一地标识头部是补充头部,则接收补充头部的设备将不能确定是将补充头部解释为补充头部还是解释为非补充头部。如果接收网络设备将补充头部解释为非补充头部,或相反,则可能产生转发错误。例如,如果网络设备将补充头部解释为以太网头部,则设备将补充头部的一部分解释为目的地地址。然而,该补充头部的一部分可能不包括地址信息。因此,尝试使用该信息作为分组的目的地地址可能导致分组被发送到不正确的目的地或被误处理。
为了避免由于误解释头部而引起的错误,网络设备110需要确定网络设备120是否支持定义补充头部的协议。换句话说,网络设备110需要确定由网络设备120发送的分组是否包括补充头部。
网络设备110通过检查由网络设备120生成的前导以查找一个或多个特殊值,来确定网络设备120是否支持该协议。如果网络设备110在由网络设备120生成的前导内检测到(一个或多个)特殊值,则网络设备110确定网络设备120支持该协议。否则,网络设备110确定网络设备120不支持该协议。在后一情形中,网络设备110还可以以信号方式告知配置错误。
另外,网络设备120也可以确定网络设备110是否支持定义补充头部的协议。为了通知网络设备120网络设备110支持该协议,网络设备110向网络设备120发送包含一个或多个特殊值的一个或多个前导。
图2示出了分组200,其包括非补充头部(头部204),但不包括补充头部。在该示例中,分组200的前面有前导202。分组200包括非补充头部204、有效载荷206和校验和208。分组的内容被顺序发送,从图2的顶部到底部。从而,前导202被首先发送,然后是非补充头部204、有效载荷206和校验和208。
图3图示了分组300,其包括由协议定义的补充头部302。与分组200类似,分组300的前面也有前导202。分组300包括补充头部302、非补充头部204、有效载荷206和校验和208。
注意,非补充头部是包括由相应路由或转发协议使用的信息的分组的一部分(一般在有效载荷或数据(这些都是分组的一部分)之前发送)。例如,典型的非补充头部包括适合用于相应协议的寻址信息(例如,以太网头部将包括源媒体访问控制(MAC)地址和目的地MAC地址)。补充头部是除了分组的现有部分(例如,非补充头部、有效载荷和校验和)外,另外提供的分组的一部分(例如,在分组的非补充头部之前发送)。补充头部的内容对于确定非补充头部的内容的路由或转发协议的操作不是必需的。另外,注意,前导既不是补充头部,也不是非补充头部。前导包括可用于促进分组的适当接收的值(例如,通过同步发送和接收设备和/或通知接收设备分组将要发送)。
在图1的示例中,网络设备110最初不知道由网络设备120生成的分组是图2的分组还是图3的分组。此外,由网络设备120生成的分组中的信息可能不包括允许网络设备110确定分组是图2中所示类型还是图3中所示类型的信息。注意,网络设备120可能最初也不知道由网络设备110生成的分组类型。
当网络设备110和120加电(power-on)时,网络设备110和120开始经由链路130交换信息。如上所述,网络设备110被配置为分析经由链路130从网络设备120接收到的一个或多个前导,以获取某些信息。如果在(一个或多个)前导内检测到该信息,则网络设备110确定网络设备120支持定义补充头部的协议。因此,网络设备110确定网络设备120正在生成包括补充头部的分组,如图3的分组300。如果在由网络设备120生成的任何前导内未检测到该信息,则网络设备110确定网络设备120不支持定义补充头部的协议。在这种情形中,网络设备110确定网络设备120正在生成缺少补充头部的分组,例如图2的分组200。
如果网络设备110确定网络设备120支持该协议,则网络设备110将从网络设备120接收到的每个分组的第一部分视作补充头部(第一部分的大小由在协议中提供的补充头部的定义确定)。然后,网络设备110将分组的下一部分当作非补充头部处理。
通过检测网络设备120是否支持该协议,网络设备110能够检测某些配置错误的类型。例如,在一个实施例中,网络设备110的接口被配置为工作在取决于补充头部的模式中。如果该接口错误地连接到不支持定义补充头部的协议的接口,则该接口将不能适当执行。因此,如果网络设备110的接口未能在由网络设备120生成的前导中检测到适当的信息,则该接口将发生配置错误。另外,该接口可以丢弃从网络设备110接收到的所有分组,因为该接口将不能正确地解释这些分组。
图4图示了标准以太网前导400。前导400长八个字节。前导对于前七个字节重复值“01”。在第八字节中,“01”重复三次,接着是值“11”。前导400的每个字节的值表明该前导是标准以太网前导。由于前导400的每位的值是预先定义的,因此前导400不能用于承载任何其他信息。
图5图示了前导500。与前导400类似,前导500用在以太网环境中。然而,与前导400不同的是,前导500可用于承载信息(因此,前导500在图5中被标识为“信息承载前导”)。前导500由诸如收敛数据链路(CDL)之类的协议定义,该协议被思科系统公司用于在以太网网络中的网络设备之间传送操作、维护和管理(OAM)信息。注意,在其他实施例中,可以使用其他类型的信息承载前导,其可以包括与图5中所示的不同的字段。
前导500包括八个字节。第一字节(字节1)包括分组开始(SOP)字段(该字段的值由接收设备用于同步分组接收)。下一字节(字节2)包括OAM信息,包括各种缺陷指示。在一个实施例中,OAM字段包括若干子字段,包括长度为两位的分组类型字段(未示出)。分组类型字段可以具有值“10”、“00”或“11”(在某些实施例中,只使用值“10”和“00”)。在图5的信息承载前导的分组类型字段中不允许使用值“01”,因为“01”是在图4的正常的、非信息承载以太网前导内的相同位的位置处定义的值。因此,在该实施例中,通过检查对应于给定前导中的分组类型字段的位的位置的值是否等于“01”,可以将以太网前导与信息承载以太网前导相区分。如果这两个值相等,则该前导是正常的、非信息承载前导。否则,分组被标识为信息承载前导。
如果该前导是CDL前导,则“00”的分组类型字段表明分组将跟着前导。如果反之分组类型字段具有值“10”,则这表明链路空闲,从而没有分组跟着前导(相反,另一前导将跟着当前的前导)。分组类型字段值“11”在CDL中保留。然而,也可以定义其中对应于CDL分组类型字段的位的值是“11”的前导,并且该前导可用于传送指示发送设备是否支持定义补充头部的协议的信息。
前导500的字节3被用作消息信道。各种应用可以通过在连续前导的字节3中包括消息的连续部分来发送消息,一次一个字节。
前导500的字节4-7包括应用专用信息。各种应用可以使用字节4-7中的一个或多个来传送该应用所用的信息。应用专用信息字段与消息信道的不同之处在于,应用专用信息的一个字节可以在单个前导中发送。消息信道和应用专用信息字段说明了前导是如何可以传送信息的。
前导500的最后一个字节包括可用于验证前导500的其他部分的校验和。该校验和是根据前导500的其他部分中的一个或多个的值生成的。接收网络设备通过重新计算校验和并将重新计算的校验和与接收的校验和相比较,来验证前导的其他部分的内容。
诸如消息信道和应用专用信息字段之类的信息承载字段被用于传送标识了发送设备是否支持定义补充头部的协议的信息。例如,在一个实施例中,发送设备被配置为在应用专用信息字段中包括令牌,以标识发送设备支持定义补充头部的协议。在其他实施例中,令牌序列被用于标识发送设备支持该协议(例如,以减少错误检测发送设备支持或不支持该协议的可能性)。发送设备在每个前导的应用专用信息字段中包括一个令牌,直到令牌的整个序列已被发送为止。
图6图示了网络设备使用包括在前导中的信息来确定对等(peer)网络设备是否支持定义补充头部的特定协议的方式。该方法可在每次网络设备加电和/或每次链路连接到网络设备时由网络设备使用。
该方法开始于600。在610,网络设备接收来自对等网络设备的前导。前导或者可以是不包括任何信息的正常前导,或者可以是可包括信息的信息承载前导。
在620,网络设备确定在610接收的前导是否是信息承载前导。如上所述,可以通过检查前导内的一个或多个位的值,来区分信息承载前导与非信息承载前导。例如,CDL前导在前导内在正常以太网前导中将具有二进制值“01”的位置处包括二进制值“00”或“10”。从而,如果网络设备正在确定该前导是CDL前导还是正常以太网前导,则网络设备检测接收的前导内的特定字段是否具有值“00”或“10”(或者仅仅是检测该字段是否具有除“01”以外的值)。
如果该前导不是信息承载前导(如在620确定的),则该前导将不包括可用于确定对等网络设备是否支持定义补充头部的协议的任何信息。在该实施例中,如果前导不是信息承载前导,则网络设备丢弃在该前导后接收的分组(如果有的话),如在620-630指示的。通过丢弃分组,网络设备将不会偶尔误解释后续分组(例如,通过尝试将正常头部视作补充头部,或反之)。
如果前导是信息承载前导(如在620确定的),则网络设备随后使用包括在前导中的信息来确定对等网络设备是否支持补充头部。在该示例中,信息以N个令牌的形式传送,其中N是大于或等于1的整数。如果N大于1(N>1),则每个令牌在不同前导中传送。例如,如果三个令牌T1-T3被用于验证对等网络设备是否支持补充头部,则T1在前导X中传送,T2在前导X+1中传送,T3在前导X+2中传送。
如图所示,网络设备确定前导是否包括适当令牌,如620和640所示。例如,网络设备可以通过分析前导(或前导的一个或多个选定字段)以查找一个或多个不同值,来检测适当的前导。如果前导包括适当令牌,则网络设备将接收(而不是丢弃)在该前导之后发送的分组(如果有的话),如650所示。网络设备可以例如通过将分组存储到输入缓冲器中来接收分组。如果前导不包括适当令牌,则丢弃任何后续分组,如640和630所示。
在图6的示例中,网络设备在验证对等网络设备支持补充头部之前,检查N个令牌,每个令牌在连续前导内。从而,如果还未接收到N个令牌,如在660确定的,则网络设备将接收下一前导(通过再次执行功能610)并检查该前导以查找适当的令牌,如上所述。
在一个实施例中,N的值是1。然而,在至少某些情形中,利用大于1的N值,可以减少网络设备错误地将对等网络设备验证为支持补充头部的可能性。例如,可能有这样的偶然性:即,运行在对等网络设备上的应用不经意地生成与用在验证中的一个令牌相同的值。然而,运行在对等网络设备上的应用生成一系列令牌的偶然性明显低很多。在这种情形中,一组多个令牌被用于验证。在某些实施例中,相同的令牌被用于验证N次中的每一次(例如,每次执行功能640时,网络设备查找前导内的相同值)。在其他实施例中,从1到N的每个令牌具有不同值。例如,网络设备可以检查三个令牌,具有相应值64、127和3。从而,执行功能640包括检查前导以查找这三个不同值之一,然后在这三个不同值中的每一个已在某一前导内检测到之后验证对等网络设备支持补充头部。
在某些实施例中,接收令牌的顺序也是预先指定的。在这种实施例中,执行功能640包括基于已在在先前导中检测到哪些值来查找特定值。可以指定承载令牌的那些前导之间的插入前导的数目(例如,在一个实施例中,不允许插入前导)。例如,在一个实施例中,网络设备只有在网络设备接收到四个连续前导(其中第一前导包含具有值10的令牌,第二前导包含具有值227的令牌,第三前导包含具有值1014的令牌,第四前导包含具有值599的令牌)的情况下,才检测到对等网络设备支持补充头部。
一旦已检测到N个适当令牌(具有适当值并且以预指定的顺序(如果有的话)接收的“适当”令牌),如在660确定的,网络设备就验证对等网络设备支持用于生成补充头部的协议。在某些实施例中,验证(至少使用前导)在该点完成。
在图示示例中,网络设备还使用包括在前导中的信息来检查配置错误。注意,在替换实施例中,这种信息是从包括N个令牌之一的前导的另一字段中获得的。例如,用于检测配置错误的信息可以包括在前导的消息信道中,而用于验证对定义补充头部的协议的支持的令牌可以包括在同一前导的应用专用信息字段中。或者,用于检测配置错误的信息可以包括在附接到分组的补充头部中,其在包括令牌的N个前导之后被接收到。
在图6中,在670,网络设备从接收的下一前导中获得对等网络设备的设备标识符。设备标识符可以包括在被用于传送N个令牌的前导的同一字段中。基于设备标识符,网络设备检查回送(loopback)错误,如680所示,这种错误在同一网络设备的两个接口偶然彼此连接时发生。如果在前导中接收到的设备标识符与网络设备的设备标识符相同,则网络设备检测到回送错误,并且开始丢弃随后接收到的分组,如680和630所示。如果检测到回送错误,则网络设备还可以生成错误指示(例如,通过向管理员发送消息)。如果在670接收到的设备标识符不同于网络设备的设备标识符,则网络设备确定接口耦合到另一个网络设备,从而不发生回送错误。在该示例中,网络设备随后开始转发从对等网络设备接收到的分组,如690所示。该方法随后在699结束。
图6的方法可以单次(例如,当网络设备加电时)或连续执行。例如,在第一次验证对等网络设备正在生成补充头部后,网络设备可以重复功能610并开始重新验证随后接收到的前导。因此,可以检查由网络设备接收到的每个前导以查看前导是否包含令牌或设备ID。在其他实施例中,图6的方法在设备启动后被执行多于一次,但是不连续执行(例如,该方法可以以某一基于时间和/或事件的间隔执行)。
注意,在某些实施例(例如,使用CDL前导来传送令牌的实施例)中,被用于验证对等网络设备支持协议和/或验证没有发生配置错误的前导在链路空闲时(即,在链路上不发送数据分组时)发送。这允许在不导致在链路上发生伪造数据流量的情况下执行验证。
图7图示了网络设备(例如,图1的网络设备110)发送前导到对等网络设备(例如,图1的网络设备120),从而允许对等网络设备也执行验证(例如,对等网络设备可以使用图6的方法)的方式。图7的方法也可以由对等网络设备在生成前导以发送到网络设备时执行。
图7的方法开始于700。如在图6的示例中一样,在图7的示例中,N个令牌被用于验证网络设备是否支持补充头部。如710和720所示,如果还未发送包含令牌的N个前导,则网络设备发送包括适当令牌的前导。执行功能720可以包括在前导的特定字段内包括特定值。要包括的特定值取决于使用的验证方案。例如,如果N大于1并且有预指定的N个令牌的顺序,则要包括的特定值将取决于包括在在先(一个或多个)前导中的(一个或多个)令牌的值。
前导也可以用于传送用于检测各种配置错误(如回送错误)的信息。因此,如730所示,如果已经发送了N个令牌,如710所确定的,则网络设备可以发送包括网络设备的设备标识符(例如,网络设备的MAC地址)的前导。在一个实施例中,该设备标识符被包括在用于传送N个令牌的前导的同一字段中。注意,在其他实施例中,该信息被包括在补充头部中,而不是被包括在前导中(或者除了这一情形以外)。图7的方法在799结束。
如图6的方法一样,图7的方法可以执行单次(例如,当网络设备加电时),执行恒定次数(例如,在网络设备加电后三次),连续执行,或者以各种基于时间和/或事件的间隔执行。例如,在一个实施例中,网络设备重复功能710-730,直到网络设备接收到指示对等网络设备已经成功完成对网络设备支持补充头部和/或不存在配置错误的验证的消息为止。
图8图示了网络设备(例如,图1的网络设备110)的接口。接口800可以耦合到一个或多个链路(如图1的链路130)。如图所示,接口800包括出口模块810(其用在当接口800在链路上发送分组时)和入口模块820(其用在当接口800从链路接收分组时)。
出口模块810包括前导生成模块830。前导生成模块830操作来生成将经由链路发送的前导。前导生成模块830可以根据图7的方法操作,以将适当的令牌编码到由接口800发送的前导中。
注意,在某些实施例中,接口800可以操作在若干种不同模式中。一种模式支持定义补充头部的协议。当接口800操作在该模式中时,接口800在链路上与分组一同发送补充头部。另一种模式不支持定义补充头部的协议。当接口800操作在该模式中时,不经由链路输出补充头部。在支持不同模式的实施例中,前导生成模块830检测接口800的当前模式。如果当前模式不支持该协议,则前导生成模块830不在传出前导中包括适当令牌。如果相反地当前模式支持该协议,则前导生成模块830在传出前导中包括适当令牌。
入口模块820包括前导验证模块840、补充头部验证模块850和配置错误检测模块860。前导验证模块840检测接收到的前导是否是信息承载前导(例如,通过确定每个接收到的前导是标准以太网前导还是CDL前导)。补充头部验证模块850检查接收到的前导内的一个或多个令牌,以查看对等网络设备是否支持定义补充头部的协议。配置错误检测模块860基于在前导和/或补充头部中传送的其他信息检测配置错误(例如,回送错误)。入口模块820可操作来执行图6的方法。
在某些实施例中,入口模块820和出口模块810实现在一个或多个状态机中。这种状态机可以实现在一个或多个专用集成电路(ASIC)或可编程逻辑器件(PLD)(如现场可编程门阵列(FPGA))中。例如,在使用三个令牌来验证对等网络设备是否支持定义补充头部的协议的实施例中,PLD包括三个寄存器,每个寄存器编程有三个令牌之一的值。PLD还包括用于将每个传入前导的字段与寄存器中的值相比较的逻辑。
或者,用于实现入口模块820和出口模块810的状态机实现在软件中。例如,状态机可以实现在运行在线路卡处理器上的软件中。无论何时当在连续接收的前导之间检测到前导的特定信息承载字段(如应用专用信息字段)的值的改变时,在每个接口处的硬件生成到线路卡处理器的中断。
可执行来实现入口模块820和出口模块810的程序指令被存储在诸如存储器(例如,RAM(随机访问存储器))之类的各种计算机可读介质上。在某些实施例中,这种软件被存储在诸如CD(致密盘)、DVD(数字通用光盘)、硬盘、光盘、磁带设备、软盘等之类的计算机可读介质上。在执行时,软件被从另一个计算机可读介质上加载到存储器中。指令和/或数据也可以经由网络(如因特网)或载波介质被传递到计算设备以存储在存储器中。在某些实施例中,计算机可读介质是诸如网络和/或无线链路之类的载波介质,在其上传送承载有数据和/或指令的信号,如电、电磁或数字信号。
虚拟网络设备
图9-11提供了一种环境的示例,该环境包括使用上述技术来确定对等网络设备是否支持定义补充头部的协议的网络设备。图9是包括若干个虚拟网络设备的网络的框图。在图9中,若干个客户端902(1)-902(n)经由网络彼此通信并与若干个服务器904(1)-904(n)通信。客户端902(1)-902(n)可以包括访问联网服务的多种不同设备。例如,客户端902(1)可以是手机,客户端902(2)可以是个人计算机,客户端902(n)可以是个人数字助理(PDA)。服务器904(1)-904(n)提供各种服务,如各种基于软件的服务和/或对共享存储设备的访问。
耦合客户端902(1)-902(n)和服务器904(1)-904(n)的网络针对若干网络层加以描述。离客户端902(1)-902(n)最近的层是接入层910。接入层910包括若干个网络设备920(1)-920(n)。在该示例中,接入层910是分组从客户端902(1)-902(n)进入网络的主要层。
分发层912聚集经由接入层910接收到的流,并将这些聚集后的流提供给核心层914。在该示例中,分发层912包括网络设备922(1)-922(n)。核心层914是网络的逻辑中心部分,各种聚集后的流通过该部分。核心层914包括网络设备924(1)-924(n)。
在该示例中,数据中心916包括两组网络设备:网络设备926(1)-926(n)和网络设备928(1)-928(n)。网络设备928(1)-928(n)提供对到各种服务器904(1)-904(n)的网络的访问。网络设备926(1)-926(n)聚集来自网络设备928(1)-928(n)的流,并将聚集后的流提供给核心层914。
注意,在某些实施例中,网络不包括图9中所示的网络层(例如,某些层可被合并和/或去除,并且除了图9中所示的层和/或替代图9中所示的层,还可以包括替换层)。另外,客户端和服务器可以不同于图9中所示的方式耦合到网络(例如,某些客户端和/或服务器可以耦合到核心和/或分发层中的各个网络设备)。另外,设备相对于彼此的物理位置可以不同于图9中所示的逻辑位置。例如,同一网络层中的两个设备可以物理上位于不同楼层中,不同建筑物中,或者在不同校园中。相反地,不同网络层中的两个设备可以位于同一房间中。
在某些实施例中,位于网络的外边缘处的网络设备920(1)-920(n)和928(1)-928(n)的操作不同于位于网络的内层中的网络设备922(1)-922(n)、924(1)-924(n)和926(1)-926(n)。例如,在一个实施例中,网络设备920(1)-920(n)是附属网络设备,其由网络的内层(例如,分发和核心层)中的网络设备控制或从属于这些网络设备。在这种实施例中,非附属网络设备提供L2(第2层)和L3(第3层)转发和路由,而附属网络设备只具有相对有限的转发和/或路由能力。在其他实施例中,附属网络设备不执行任何L2转发或L3路由。相反地,附属网络设备仅仅将所有分组转发到非附属网络设备来进行L2转发和L3路由。在某些实施例中,耦合到附属网络设备的非附属网络设备控制附属网络设备的操作。在某些实施例中,附属网络设备被视作附属网络设备所从属于的网络设备的远程线路卡。还注意,在替换实施例中,非附属网络设备(而不是附属网络设备)被用在接入层和数据中心中。
网络设备920(1)-920(n)、922(1)-922(n)、924(1)-924(n)、926(1)-926(n)和928(1)-928(n)可以包括各种路由器、交换机、网关和其他网络设备。在许多实施例中,为了使网络工作,在每层处可能只需要一个网络设备。然而,在每层处可以包括多个网络设备,如图9中所示,以提供冗余。
注意,可变标识符“n”被用在这里描述的图的若干情形中以更简单地指代一系列相关或类似元件中的最后一个元件。这种可变标识符的重复使用并不一定是暗示这一系列元件的大小之间的关联,尽管这种关联可能是存在的。这种可变标识符的使用并不要求每个一系列元件与由相同可变标识符限定的另一系列元件具有相同的元件数目(例如,每个网络层中的网络设备的数目可能变化)。相反,在每个使用情形中,由“n”(或任何其他这种标识符)标识的变量可能与同一可变标识符的其他情形具有相同或不同的值。
多条链路实现在不同网络层的设备之间以提供附加冗余。例如,如图9中所示,接入层910中的每个网络设备920(1)-920(n)通过两条(或更多条)不同链路耦合到分发层912。类似地,分发层912中的每个网络设备922(1)-922(n)通过两条(或更多条)不同链路耦合到核心层914。在一个实施例中,每条链路是以太网链路。
在每个网络层内,多个冗余网络设备被配置为共同操作为单个虚拟网络设备。例如,如图9中所示,分发层912中的两个或更多个网络设备操作为虚拟网络设备1002。类似地,网络设备924(1)-924(n)中的两个或更多个操作为单个虚拟网络设备1004,网络设备926(1)-926(n)中的两个或更多个操作为单个虚拟网络设备1006。关于两个分发层网络设备如何共同操作为分发层虚拟网络设备1002的更多细节在图10A、10B和11中示出。虚拟网络设备可以通过虚拟链路束耦合到其他虚拟网络设备,耦合到网络设备和/或耦合到客户端和/或服务器,如下所述。通常,任何多端口的设备(无论是物理设备还是虚拟网络设备,物理设备例如是网络设备、客户端或服务器)都可以通过虚拟链路束耦合到虚拟网络设备,虚拟链路束包括若干条链路,这些链路中的某一些终止在虚拟网络设备内的不同子单元上。
图10A示出了在接入层910中有两个网络设备920(1)和920(2)的网络的示例。在分发层912中也有两个网络设备922(1)和922(2)。在该示例中,这两个网络设备922(1)和922(2)操作为单个虚拟网络设备1002。每个网络设备920(1)-920(2)通过两条链路耦合到分发层912。在该示例中,这两条链路中的每一条耦合到网络设备922(1)和922(2)中的不同一个。这提供了冗余,从而允许网络设备920(1)和920(2)即使在网络设备922(1)或922(2)之一发生故障或者给定接入层网络设备和给定分发层网络设备之间的链路之一发生故障的情况下,也能够继续与分发层912通信。
将网络设备920(1)和920(2)中的每一个耦合到虚拟网络设备1002的冗余链路可以操作为单条逻辑链路,在这里被称为虚拟链路束。网络设备920(1)使将网络设备920(1)耦合到虚拟网络设备1002的两条链路操作为虚拟链路束1050(1)。在这种实施例中,耦合到链路之一的网络设备920(1)中的每个接口被包括在对应于虚拟链路束1050(1)的接口束中。网络设备920(2)类似地使将网络设备920(2)耦合到虚拟网络设备1002的两条链路操作为虚拟链路束1050(2)。在某些实施例中,虚拟链路束1050(1)和1050(2)各自操作为以太网信道(EtherChannel,TM)或聚集链路(如在IEEE802.3中描述的)。
如图10A中所示,每个虚拟链路束1050(1)和1050(2)包括终止在分发层912中的不同网络设备处的链路。例如,虚拟链路束1050(1)将网络设备920(1)耦合到网络设备922(1)和网络设备922(2)。这不同于传统的实现方式,在传统实现方式中,逻辑链路只允许存在于单对网络设备之间。
在某些实施例中,网络设备920(1)和920(2)知道(例如,通过在每个网络设备内维护的各种状态信息)每个虚拟链路束1050(1)和1050(2)包括终止在分发层912中的不同网络设备上的链路。在这种实施例中,网络设备920(1)和920(2)可以基于该感知选择在其上发送分组的特定虚拟链路束内的链路。
在其他实施例中,网络设备922(1)和922(2)操作来隐藏这一事实:即,这种单条逻辑链路实际上包括终止在不同网络设备处的链路。例如,如图10A中所示,网络设备922(1)和922(2)操作为单个虚拟网络设备1002。图10B图示了从接入层910中的网络设备920(1)的角度,网络设备920(1)是如何通过冗余链路对耦合到分发层912中的单个网络设备,虚拟网络设备1002的。网络设备920(2)对虚拟网络设备1002具有类似的角度。
在例如图10B所示的实施例中(其中网络设备920(1)和920(2)将其自身视为连接到单个网络设备),简化了虚拟链路束的使用。例如,如果网络设备920(1)知道虚拟链路束1050(1)终止在两个不同网络设备处,则网络设备920(1)基于生成树协议来选择在其上发送特定分组的链路。相比于网络设备920(1)仅仅将虚拟网络设备1002视作单个实体的情形,生成树协议的使用可能涉及更多开销(overhead)和/或对于哪些链路可用于发送给定分组有更多的限制(例如,生成树协议可能阻挡除一条链路外的所有链路,从而防止利用除一条非阻挡链路外的所有链路)。例如,当将虚拟网络设备1002视作单个实体时,网络设备920(1)仅仅基于负载共享约束来选择在其上发送分组的链路。类似地,如果虚拟链路束1050(1)内的一条链路发生故障,则网络设备920(1)不需要改变生成树协议的应用方式。相反地,网络设备920(1)仅仅继续使用虚拟链路束1050(1)内的无故障链路。
包括在虚拟网络设备1002内的各个网络设备(如网络设备922(1)和922(2))在这里各自被称为“虚拟网络设备子单元”。在某些实施例中,虚拟网络设备子单元922(1)和922(2)各自实现在独立机箱(chassis)中(即,每个机箱容纳单个虚拟网络设备子单元)。例如,在图10A中,网络设备922(1)和922(2)各自可以实现在独立机箱中。即使虚拟网络设备子单元922(1)和922(2)共享机箱,也可以使每个虚拟网络设备子单元操作为独立的网络设备,从而允许一个虚拟网络设备子单元即使在虚拟网络设备中的另一(或其他)虚拟网络设备子单元发生故障的情况下也可以继续操作。例如,虚拟网络设备子单元922(1)和虚拟网络设备子单元922(2)可以处于同一机箱中,但是每个虚拟网络设备子单元可以具有独立的硬件、端口、上行链路接口和电源,并且每个可以独立于另一个从机箱中移去。如果虚拟网络设备子单元922(1)发生故障(例如,由于电源故障或软件错误),则虚拟网络设备子单元922(2)可以继续运行。在这种实施例中,虚拟网络设备子单元922(1)可以被移去以进行修理或替换,而不中断虚拟网络设备子单元922(2)的操作。
在某些实施例中,将网络设备耦合到附属网络设备的虚拟链路束中的链路是专门链路(这里被称为上行链路),其用于将附属网络设备耦合到虚拟网络设备。每条上行链路既可以传送分组,也可以传送在网络设备之一内生成的附加信息。例如,在一个实施例中,如果分组被在上行链路上从接入层附属网络设备传送到分发层网络设备,则与分组一同在上行链路上传送的附加信息包括标识附属网络设备的端口中的哪一些接收分组的信息。附加信息还包括指示发送设备是否已对分组执行了任何转发或路由的信息。在某些实施例中,上行链路的使用允许虚拟网络设备控制耦合到该虚拟网络设备的从属网络设备。上行链路的使用还有助于虚拟网络设备能够为从属的附属网络设备执行路由和/或转发。耦合到上行链路的网络设备或附属网络设备内的接口在这里被称为上行链路接口。
图11更详细地示出了包括在虚拟网络设备中的每个网络设备的内部。这里,虚拟网络设备1002包括两个虚拟网络设备子单元922(1)和922(2)。注意,在其他实施例中,虚拟网络设备1002包括多于两个组分网络设备。在该示例中,虚拟网络设备1002位于网络的分发层。然而,类似的虚拟网络设备可以实现在其他网络层中(例如,数据中心和/或核心层内)。
虚拟网络设备1002耦合到若干个接入层网络设备920(1)-920(3)。网络设备920(2)和920(3)各自通过两条上行链路耦合到虚拟网络设备1002,每一条耦合到每个虚拟网络设备子单元922(1)和922(2)。网络设备920(2)通过虚拟链路束1050(2)耦合到虚拟网络设备,网络设备920(3)通过虚拟链路束1050(3)耦合到虚拟网络设备1002。结果,即使这些上行链路之一和/或虚拟网络设备子单元922(1)和922(2)之一发生故障,网络设备920(2)和920(3)也能继续与分发层通信。网络设备920(1)通过三条上行链路耦合到虚拟网络设备1002:两条上行链路耦合到虚拟网络设备子单元922(1),一条上行链路耦合到虚拟网络设备子单元922(2)。这三条上行链路共同形成虚拟链路束1050(1)。即使这三条上行链路中的两条和/或虚拟网络设备子单元922(1)和922(2)之一发生故障,网络设备920(1)也能继续与分发层通信。网络设备920(1)-920(3)各自将到虚拟网络设备1002的多条上行链路操作为单条逻辑上行链路。另外,在某些实施例中,每个网络设备920(1)-920(3)就好像该网络设备耦合到单个分发层设备,即虚拟网络设备1002那样进行操作,而不是好像该网络设备耦合到两个独立的分发层网络设备那样进行操作。
分发层虚拟网络设备子单元922(1)还通过单条链路耦合到服务器904(3)。与接入层网络设备920(1)-920(3)不同,服务器904(3)不将分发层网络设备子单元922(1)和922(2)视作单个逻辑网络设备。在该示例中,如果网络设备922(1)或将服务器904(3)耦合到网络设备922(1)的链路发生故障,则服务器904(3)不能经由分发层通信。注意,在替换实施例中,诸如服务器904(3)但具有多个端口的服务器可以通过虚拟链路束耦合到每个虚拟网络设备子单元,并且该服务器可以与虚拟网络设备子单元922(1)和922(2)交互,就好像这些子单元是单个虚拟网络设备1002那样。
虚拟网络设备子单元922(1)包括若干个卡,包括控制卡1102(1)以及线路卡1104(1)和1104(3)。类似地,虚拟网络设备子单元922(2)包括控制卡1102(2)以及线路卡1104(2)和1104(4)。控制卡1102(1)包括控制单元1110(1)、转发引擎1112(1)以及接口1120(1)和1120(3)。控制卡1102(2)类似地包括控制单元1110(2)、转发引擎1112(2)以及接口1120(2)和1120(4)。
在虚拟网络设备子单元922(1)中,线路卡1104(1)包括转发引擎1114(1)以及接口1120(5)、1120(7)和1120(9)。接口1120(7)耦合到网络设备920(3)。接口1120(9)耦合到网络设备920(1)。在该示例中,接口1120(5)未被使用。线路卡1104(3)包括转发引擎1114(3)、接口1120(11)和1120(13)以及端口1120(15)。接口1120(11)和1120(13)分别耦合到网络设备920(2)和920(1)。接口1120(15)耦合到服务器904(3)。在网络设备920(1)-920(3)是由虚拟网络设备1002控制的附属网络设备的实施例中,接口1120(7)、1120(9)、1120(11)和1120(13)操作为上行链路接口,而未耦合到附属网络设备的接口1120(15)操作为正常端口。
在虚拟网络设备子单元922(2)中,线路卡1104(2)包括转发引擎1114(2)以及接口1120(6)、1120(8)和1120(10)。接口1120(8)耦合到附属网络设备920(2),接口1120(6)和1120(10)未被连接。线路卡1104(4)包括转发引擎1114(4)、接口1120(12)和1120(14)以及端口1120(16)。接口1120(12)和1120(16)分别耦合到附属网络设备920(3)和920(1)。接口1120(14)未被使用。在网络设备920(1)-920(3)是由虚拟网络设备1002控制的附属网络设备的实施例中,接口1120(8)、1120(12)和1120(16)操作为上行链路接口。
注意,尽管图11的接口被描述为既充当入口接口又充当出口接口,但是也可以使用只充当入口接口或者只充当出口接口的接口。例如,图11中所示的每个接口的功能可以利用一个只作入口的接口和一个只作出口的接口实现。类似地,虚拟链路束1050(1)-1050(3)可以各自包括只将分组从相应网络设备920(1)-920(3)传送到虚拟网络设备1002的若干条链路和只将分组从虚拟网络设备1002传送到相应网络设备920(1)-920(3)的若干条链路。
在图示实施例中,虚拟网络设备子单元922(1)中的控制卡1102(1)经由虚拟网络设备链路1160耦合到虚拟网络设备子单元922(2)中的控制卡1102(2)。在该示例中,虚拟网络设备链路1160包括两条链路(这两条链路被用于提供增强的故障容错和/或带宽;然而,在其他实施例中可以使用一条链路)。在该示例中,这些链路是一类上行链路,除了分组外,还承载信息(例如,类似于在线路卡之间发送的头部)。虚拟网络设备链路1160中的上行链路被用于在虚拟网络设备子单元922(1)和922(2)之间交换信息以及分组,该信息控制虚拟网络设备1002的操作。通过经由这些上行链路通信,虚拟网络设备子单元922(1)和922(2)协调其行为,从而使虚拟网络设备子单元922(1)和922(2)对于网络设备920(1)-920(3)表现为单个虚拟网络设备。
从而,提供虚拟网络设备子单元922(1)和922(2)之间的互连允许虚拟网络设备子单元922(1)和922(2)操作为单个虚拟网络设备1002。网络设备920(1)-920(3)利用其与单个物理设备通信相同的方式来与虚拟网络设备1002通信。例如,如果网络设备920(2)正在处理去往服务器904(3)的分组,则网络设备920(2)选择网络设备束1050(2)中的两条上行链路之一,以在其上发送分组。在某些实施例中,该选择是基于负载共享标准的。在这种情形中,由于虚拟网络设备1002表现为单个网络设备,因此网络设备920(2)就将到虚拟网络设备子单元922(2)的上行链路选为到虚拟网络设备子单元922(1)的上行链路,而不考虑这样的事实:即,只有虚拟网络设备子单元922(1)有到服务器904(3)的直接连接。如果分组要被发送到虚拟网络设备子单元922(2),则网络设备920(2)使用包括在虚拟网络设备子单元922(1)和922(2)之间的虚拟网络设备链路1160中的上行链路之一来将分组发送到虚拟网络设备子单元922(1),虚拟网络设备子单元922(1)继而又可以将分组提供给分组的目的地,服务器904(3)。
在其他实施例中,网络设备920(1)-920(3)知道虚拟链路束1050(1)和1050(2)实际终止在两个不同网络设备上。网络设备920(1)-920(3)基于该信息控制分组的发送。例如,在该情形中,网络设备920(2)基于这一事实:即,网络设备920(2)识别出逻辑链路内到两个不同网络设备的独立连接,通过选择耦合到虚拟网络设备子单元922(1)的上行链路,而不是耦合到虚拟网络设备子单元922(2)的上行链路,来处理去往服务器904(3)的分组。
各自通过虚拟链路束1050(1)耦合到网络设备920(1)的接口1120(13)、1120(9)和1120(16)形成了接口束(例如,以太网信道(TM)端口束)。类似地,接口1120(11)和1120(8)形成了另一接口束,其通过虚拟链路束1050(2)耦合到网络设备920(2)。接口1120(7)和1120(12)形成了第三接口束,其通过虚拟链路束1050(3)耦合到网络设备920(3)。在虚拟网络设备1002内,同一接口束中的每个接口被分配以相同的逻辑标识符。例如,接口1120(13)、1120(9)和1120(16)各自被分配以相同的逻辑标识符。在某些实施例中,经由这些接口之一接收到的分组被加上标签或者以其他方式与逻辑标识符相关联,以表明这些分组是经由将虚拟网络设备1002耦合到网络设备920(1)的虚拟接口束接收到的。注意,类似的接口束被实现在每个网络设备920(1)-920(3)内,并且包括在这些束中的接口也被每个网络设备(或者在虚拟网络设备1002控制网络设备920(1)-920(3)的配置的实施例中,是被虚拟网络设备1002)分配以相同的逻辑标识符。例如,网络设备920(1)可以为耦合到虚拟链路束1050(1)的每个接口分配相同的逻辑标识符。
分组和特定逻辑标识符之间的关联被虚拟网络设备1002内的转发引擎用来将分组路由和转发到网络设备920(1)-920(3)并路由和转发来自网络设备920(1)-920(3)的分组。例如,当经由上行链路接口1120(13)接收到来自发送设备(例如,耦合到网络设备920(1)的客户端)的分组时,虚拟网络设备子单元922(1)通过将发送设备的MAC地址与上行链路接口1120(13)的逻辑标识符相关联,获知该MAC地址在上行链路接口1120(13)“之后”。虚拟网络设备子单元922(1)将该关联通知给虚拟网络设备子单元922(1)中的每个转发引擎以及虚拟网络设备子单元922(2)中的每个转发引擎。基于该关联,去往该MAC地址的分组将从具有关联逻辑标识符的上行链路接口发送。由于在这种情况下,上行链路接口1120(9)(在虚拟网络设备子单元922(1)中)和上行链路接口1120(16)(在虚拟网络设备子单元922(2)中)也都具有与上行链路接口1120(13)相同的逻辑标识符,因此去往该MAC地址的分组可以经由上行链路接口1120(9)、1120(13)和1120(16)中的任何一个转发。
相同的逻辑标识符被用于由虚拟网络设备子单元922(1)和922(2)中的每一个标识上行链路接口,并且虚拟网络设备子单元协调操作以为相同上行链路接口束内的每个上行链路接口分配相同的逻辑标识符。当经由由特定逻辑标识符标识的上行链路接口束转发分组时,每个虚拟网络设备子单元922(1)和922(2)生成散列值,以在该上行链路接口束内选择在其上发送分组的上行链路接口之一。虚拟网络设备子单元中的每一个使用这些散列值来标识该虚拟网络内的本地上行链路接口。从而,每个虚拟网络设备子单元将只选择对于该虚拟网络设备子单元来说位于本地的上行链路接口。例如,如果虚拟网络设备子单元922(1)正在经由包括接口1120(9)、1120(13)和1120(16)的上行链路接口束转发分组,则由虚拟网络设备子单元生成的散列值将标识接口1120(9)或1120(13)之一。
在上述示例中,通过将每个散列值与上行链路接口束中的本地上行链路接口相关联,减少了虚拟交换链路1160的使用。实质上,相对于虚拟网络设备子单元922(2)上的特定上行链路接口束中的远程上行链路接口,虚拟网络设备子单元922(1)更倾向于使用同一上行链路接口束内的本地上行链路接口。类似地,相对于包括在虚拟网络设备子单元922(1)中的上行链路接口,虚拟网络设备子单元922(2)更倾向于使用特定上行链路接口束内的本地上行链路接口。例如,如果虚拟网络设备子单元922(2)需要经由上行链路接口转发分组,则虚拟网络设备子单元922(2)将经由上行链路接口1120(12)转发该分组,而不是转发该分组跨过虚拟网络设备链路1160以经由上行链路接口1120(7)发送。通过更倾向于本地接口,减少了在虚拟网络设备链路1160上发送的流量的量,这是因为每个虚拟网络设备子单元922(1)和922(2)将从本地接口转发本地接收到的分组(即,经由除了那些耦合到虚拟网络设备链路1160的接口以外的接口接收到的分组)。
在某些实施例中,对于给定虚拟链路束,该虚拟链路束被在中心位置处管理(例如,针对诸如L2协议之类的控制协议)。例如,针对虚拟链路束1050(1)的所有控制协议处理可以在虚拟网络设备子单元922(1)的控制单元1110(1)中发生。该控制协议处理的结果随后被传输到虚拟网络设备子单元922(2)的控制单元1110(2)和/或网络设备920(1)中的控制器。控制单元1110(2)随后在控制如何处理从上行链路接口1120(16)(该接口位于耦合到虚拟链路束1050(1)的上行链路接口束中)发送来的和经由上行链路接口1120(16)接收到的分组时使用(但不修改)该信息。例如,控制单元1110(2)使用该信息来在线路卡1104(2)和/或1104(4)上建立或修改查找表。以这种方式,实际的控制协议处理被集中在控制单元1110(1)中,而不是分布在虚拟网络设备1002的若干个控制单元内。
控制协议处理的中心点可以在虚拟链路束之间变化。例如,尽管虚拟链路束1050(1)的控制协议处理由控制单元1110(1)管理,但是虚拟链路束1050(2)的控制协议处理可以由控制单元1110(2)管理。换句话说,控制单元1110(2)可以执行针对虚拟链路束1050(2)的所有控制协议处理,并且由控制单元1110(2)生成的信息随后可以被传输到控制单元1110(1)以在虚拟网络设备子单元922(1)内使用(但不修改)。
在针对每个虚拟链路束的控制协议处理在虚拟网络设备1002内实现中心点管理的实施例中,L2协议可以跨虚拟链路束运行,和/或接口束可被用作路由的L3接口。如果虚拟网络设备1002内的虚拟网络设备子单元各自针对本地接口彼此独立地执行控制协议处理,则不可获得这些能力。另外,在实现控制协议处理的中心点的实施例中,用户可以通过访问单个虚拟网络设备子单元来修改虚拟链路束的控制协议行为。在上述示例中,当更新虚拟链路束1050(1)的控制协议行为时,用户可以仅仅访问虚拟网络设备子单元922(1)(而不是访问虚拟网络设备子单元922(1)和922(2))。虚拟网络设备子单元922(1)随后将由用户对控制协议作出的任何改变自动传播到网络设备922(2)。此外,由于虚拟链路束的使用允许若干条上行链路被当作单条逻辑上行链路加以管理,因此与不使用虚拟链路束的情形相比,需要配置更少的上行链路接口。例如,如果每个虚拟链路束包括两条上行链路,则需要由用户配置的虚拟网络设备1002内的上行链路接口的数目被减半。
虚拟网络设备子单元922(1)和922(2)实现某些行为以充当虚拟网络设备1002,从网络设备920(1)-920(3)的角度,虚拟网络设备1002表现为单个逻辑网络设备。例如,无论何时当虚拟网络设备子单元922(2)接收到来自本地网络设备、客户端或服务器的分组并且该分组的目的地逻辑标识符标识上行链路接口束时,虚拟网络设备子单元922(2)都从所标识的上行链路接口束内的本地上行链路接口发送分组。虚拟网络设备子单元922(2)还可以将分组提供给虚拟网络设备子单元922(1),但是虚拟网络设备子单元922(1)不应当在虚拟链路束上输出该分组。这样,目的地设备只从虚拟网络设备1002接收到分组的一份拷贝(而不是从每个虚拟网络设备子单元922(1)和922(2)各收到一份拷贝),并且维护了虚拟网络设备1002作为单个实体的表观。
为了以这种方式操作,耦合到虚拟链路束中的链路的每个出口上行链路接口被配置为对经由虚拟网络设备链路1160接收到的流量进行过滤。例如,经由虚拟网络设备链路1160在虚拟网络设备子单元922(1)处接收到分组。接收分组的接口1120(1)或1120(3)更新与分组相关联的信息(例如,在头部中)以指示分组是经由虚拟网络设备链路1160接收到的(在替换实施例中,虚拟网络设备子单元922(2)中的发送接口可以更新该信息)。当虚拟网络设备子单元922(1)在查找表中查找分组的目的地地址时,查找表返回标识本地上行链路接口1120(9)和1120(13)的逻辑标识符。分组随后被转发到上行链路接口1120(13)(例如,基于负载共享考虑选定的)。当上行链路接口1120(13)接收到分组时,上行链路接口1120(13)只有在分组不是经由虚拟交换链路1160接收到的情况下才输出分组,因为如果分组是经由虚拟交换链路接收到的,则另一虚拟网络设备子单元922(2)已经经由虚拟链路束发送了该分组。从而,上行链路接口1120(13)可以基于附接到分组的指示分组是否是经由虚拟网络设备链路1160接收到的信息,来过滤来自经由上行链路接口1120(13)发送的分组流中的分组。
在某些实施例中,MAC通知帧被用于使虚拟网络设备子单元922(1)中的L2表的内容与虚拟网络设备子单元922(2)中的L2表的内容保持同步,反之亦然。无论何时当在虚拟网络设备子单元内生成涉及虚拟链路束之后的端口或包括在上行链路接口束中的上行链路接口的MAC通知时(例如,该通知可由一个线路卡生成以更新另一个线路卡上的L2表),都经由虚拟网络设备链路1160发送MAC通知的拷贝。类似地,如果虚拟网络设备子单元确定分组应当被洪泛(flood),则虚拟网络设备子单元将经由虚拟网络设备链路1160发送该分组的拷贝,从而确保该虚拟网络设备子单元将接收到由对等虚拟网络设备子单元中的转发引擎生成的任何MAC通知响应的拷贝。
作为示例,假设虚拟网络设备子单元922(1)洪泛分组,这是因为包括在虚拟网络设备子单元922(1)中的(一个或多个)转发引擎不知道哪一个端口或上行链路接口与分组的目的地地址相关联。作为洪泛分组的一部分,虚拟网络设备子单元922(1)经由虚拟交换链路1160将分组的拷贝发送到虚拟网络设备子单元922(2)。如果虚拟网络设备子单元922(2)内的转发引擎已经知道该目的地地址在特定上行链路接口或端口之后(例如,如果转发表已经包括将目的地地址与网络设备920之一的端口相关联的条目),则该转发引擎生成标识该关联的MAC通知,该MAC通知被分发到虚拟网络设备子单元922(2)内的任何其他转发引擎。由于分组最初是经由虚拟网络设备链路1160接收到的,因此虚拟网络设备子单元922(2)还经由虚拟网络设备链路1160发送回MAC通知的拷贝。该MAC通知随后在包括在虚拟网络设备子单元922(1)中的转发引擎之间分发。在基于MAC通知被更新后,虚拟网络设备子单元922(1)中的转发引擎现在知道了由目的地地址标识的设备的位置。因此,去往该设备的随后接收到的分组不被洪泛。
当连接到单个虚拟网络设备子单元的虚拟链路束中的所有物理链路都发生故障时,虚拟链路束转移到耦合到单个虚拟网络设备子单元的正常链路束。此时,每个虚拟网络设备子单元相对于该网络设备束的行为被修改。例如,假设耦合到虚拟网络设备子单元922(2)的虚拟链路束1050(1)中的所有上行链路都发生故障。此时,虚拟网络设备子单元922(2)不再具有任何可以经由虚拟链路束1050(1)发送分组的本地上行链路接口。因此,虚拟网络设备子单元922(2)将需要经由虚拟链路束1050(1)发送的所有流量重定向经过虚拟网络设备链路1160。另外,由于网络设备922(2)不再能够经由虚拟链路束1050(1)发送分组,因此虚拟网络设备子单元922(1)将停止过滤经由虚拟网络设备链路1160接收到的流量被经由虚拟链路束1050(1)发送。如果耦合到虚拟网络设备子单元922(2)的虚拟链路束1050(1)中的上行链路中的至少一条被恢复,则虚拟链路束1050(1)将转变回正常操作模式,其中虚拟网络设备子单元922(2)将经由虚拟链路束1050(1)发送本地接收到的分组,并且虚拟网络设备子单元922(1)将过滤经由虚拟网络设备链路1160接收到的分组被经由虚拟链路束1050(1)发送。
虚拟网络设备链路1160(其将虚拟网络设备子单元922(1)和922(2)耦合在一起以形成虚拟网络设备1002)和包括在虚拟链路束1050(1)-1050(3)中的上行链路(其将网络设备920(1)-920(3)耦合到虚拟网络设备1002)都是在其上传送补充头部的链路的示例。例如,虚拟网络设备链路1160操作在特殊模式中,其中经由虚拟网络设备链路1160传送的每个分组附接有承载控制信息的补充头部。该控制信息可以标识哪一个接口或接口束首先接收到附接有补充头部的分组。该控制信息还可以标识由虚拟网络设备子单元之一执行的转发查找的结果。例如,如果虚拟网络设备子单元922(1)经由接口1120(9)接收到分组,则转发引擎1114(1)(其与接口1120(9)一样,是同一线路卡,线路卡1104(1)的一部分)可以对分组执行转发查找。线路卡1104(1)可以将补充头部附接到分组。补充头部包括标识包括接口1120(9)的接口束的信息以及标识转发查找的结果的信息。分组和补充头部被转发到控制卡1102(1),控制卡1102(1)继而又可以经由虚拟网络设备链路1160将分组和补充头部转发到虚拟网络设备子单元922(2)。
补充头部也在将虚拟网络设备1002耦合到网络设备920(1)-920(3)的上行链路上传送。在一个实施例中,用于定义用在虚拟网络设备链路1160上的补充头部的同一协议被用于定义在上行链路上传送的补充头部。在其他实施例中,不同协议定义用在每类链路上的补充头部。在上行链路上传送的补充头部可以包括标识网络设备920(1)-920(3)之一上的接口以及由网络设备920(1)-920(3)之一执行的转发查找的结果(如果有的话)的信息。例如,网络设备920(1)经由接口I1(未示出)接收到分组。作为响应,网络设备920(1)将补充头部附接到分组。补充头部标识接口I1。网络设备920(1)随后将分组和附接的补充头部经由虚拟链路束1050(1)中的上行链路之一发送到虚拟网络设备1002。
接口1120(1)-1120(4)可以各自执行图6和7中所示的方法,以验证每个接口耦合到支持补充头部的接口。这继而又可以指示是否已经发生任何配置错误和/或防止发生转发错误(例如,由于将非补充头部误解释为补充头部而可能引起的转发错误)。例如,接口1120(1)可能偶然耦合到接口1120(6)。在该示例中,接口1120(6)不支持定义经由虚拟网络设备链路1160发送的补充头部的协议(例如,在一个实施例中,只有包括在线路卡1102(1)和1102(2)上的接口支持该协议)。通过执行图6的方法,接口1120(1)可以检测到接口1120(6)不支持定义用在虚拟网络设备链路1160上的补充头部的协议。结果,接口1120(1)将会错误地将由接口1120(6)发送的非补充头部解释为补充头部。
接口1120(1)-1120(4)也可以使用图6和7的方法来验证没有配置错误(如回送错误)发生。例如,如果用户偶然将接口1120(1)耦合到1120(3)(这两个接口都包括在同一虚拟网络设备子单元中),则可能发生回送错误。接口1120(1)可以执行图6的方法来检测该回送错误。
尽管已经针对特定实施例描述了本发明,但是可以向本领域技术人员提出各种改变和修改。这些改变和修改落在权利要求的范围内。
工业应用性
本发明的实施例可用在联网领域中。

Claims (18)

1.一种用于检测对于协议定义的补充头部的支持的方法,包括:
检测由发送设备生成的前导内的值;以及
验证头部的头部格式遵从一种协议的头部格式定义,其中
所述头部由所述发送设备生成,
所述协议的头部格式定义定义补充头部,并且
所述验证是响应于检测到所述值而执行的。
2.如权利要求1所述的方法,其中
所述前导领先于以太网分组,
所述前导是收敛数据链路前导,并且
所述前导包括操作、维护和管理信息。
3.如权利要求1或2所述的方法,其中所述检测所述前导内的值的操作包括:
检测所述前导内的令牌的至少一部分。
4.如权利要求3所述的方法,其中
所述验证是在检测到由所述发送设备生成的第N个前导内的第N个令牌之后执行的,并且
检测所述第N个令牌的操作包括检测N个连续接收的前导的每一个中的字段值的改变。
5.如权利要求2所述的方法,还包括:
响应于所述验证确定在所述前导之后接收到的头部是补充头部。
6.如权利要求4所述的方法,还包括:
响应于所述验证从由所述发送设备生成的第N+1个前导中提取信息;以及
响应于所述信息检测配置错误,其中
所述信息包括设备标识符;并且
所述配置错误是回送错误。
7.如权利要求6所述的方法,其中
所述检测和所述验证是由虚拟网络设备子单元执行的。
8.如权利要求4所述的方法,还包括:
响应于所述验证,向所述发送设备发送根据所述协议生成的一个或多个头部。
9.一种用于检测对于协议定义的补充头部的支持的系统,包括:
第一网络设备;和
耦合到所述第一网络设备的第二网络设备,其中
所述第二网络设备被配置为:
检测前导内的值,
响应于检测到所述前导内的所述值,验证头部的头部格式遵从一种协议的头部格式定义,并且
所述头部格式定义定义补充头部,
所述前导由所述第一网络设备生成,并且
所述头部由所述第一网络设备生成。
10.如权利要求9所述的系统,其中
所述第一网络设备被配置为:
检测第二前导内的所述值,所述第二前导由所述第二网络设备生成;以及
响应于检测到所述第二前导内的所述值,验证第二头部的头部格式遵从所述协议的头部格式定义。
11.一种用于检测对于协议定义的补充头部的支持的装置,包括:
被配置为接收第一前导的接口,其中所述接口包括被配置为检测所述第一前导内的值的补充头部验证模块,并且其中所述补充头部验证模块还被配置为响应于检测到所述前导内的值而识别第一头部是补充头部。
12.如权利要求11所述的装置,其中所述接口还包括被配置为检测所述第一前导是信息承载前导的前导验证模块,并且其中所述补充头部验证模块被配置为响应于所述前导验证模块检测到所述第一前导是信息承载前导而检测所述第一前导内的值。
13.如权利要求12所述的装置,其中
所述接口还包括配置错误检测模块,
所述接口被配置为接收第一前导,并且
所述配置错误检测模块被配置为响应于检测到所述第一前导内的所述值,检测回送错误。
14.如权利要求12或13所述的装置,其中
所述接口还包括前导生成模块,并且
所述前导生成模块被配置为在第二前导中包括所述值。
15.如权利要求14所述的装置,其中
所述接口被配置为在发送所述前导之后发送以太网分组,并且所述前导是收敛数据链路前导。
16.如权利要求14所述的装置,其中
所述前导生成模块被配置为在N个前导的每一个中包括N个值中的相应一个,并且
所述前导生成模块被配置为在附加前导中包括设备标识符。
17.一种用于检测对于协议定义的补充头部的支持的系统,包括:
用于检测由发送设备生成的前导内的值的装置;以及
用于验证头部的头部格式遵从一种协议的头部格式定义的装置,其中
所述头部由所述发送设备生成,
所述协议的头部格式定义定义补充头部,并且
所述头部的头部格式是响应于检测到所述前导内的所述值而验证的。
18.如权利要求17所述的系统,包括:
用于发送第二前导的装置,所述第二前导包括所述值;以及
用于在发送所述第二前导之后发送第二头部的装置。
CN2005800190772A 2004-06-30 2005-06-30 用于检测对于协议定义的补充头部的支持的方法、系统和装置 Active CN1965540B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/881,074 US7436836B2 (en) 2004-06-30 2004-06-30 Method and apparatus for detecting support for a protocol defining supplemental headers
US10/881,074 2004-06-30
PCT/US2005/023068 WO2006004823A1 (en) 2004-06-30 2005-06-30 Method and apparatus for detecting support for a protocol defining supplemental headers

Publications (2)

Publication Number Publication Date
CN1965540A CN1965540A (zh) 2007-05-16
CN1965540B true CN1965540B (zh) 2010-10-27

Family

ID=35094357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800190772A Active CN1965540B (zh) 2004-06-30 2005-06-30 用于检测对于协议定义的补充头部的支持的方法、系统和装置

Country Status (6)

Country Link
US (2) US7436836B2 (zh)
EP (1) EP1782580B1 (zh)
CN (1) CN1965540B (zh)
AT (1) ATE450103T1 (zh)
DE (1) DE602005017910D1 (zh)
WO (1) WO2006004823A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7921226B2 (en) * 2004-07-20 2011-04-05 Alcatel-Lucent Usa Inc. User specific request redirection in a content delivery network
EP1708096A1 (de) * 2005-03-31 2006-10-04 Ubs Ag Rechnernetzwerksystem zum Synchronisieren einer zweiten Datenbank mit einer ersten Datenbank sowie Vorgehensweisen hierfür
DE102007050941A1 (de) * 2007-10-23 2009-04-30 Phoenix Contact Gmbh & Co. Kg Verfahren zum Übertragen von Daten in einem Kommunikationsnetz, Sende- und Empfangsvorrichtung für ein Kommunikationsnetz
CN101436955B (zh) * 2007-11-12 2012-04-04 华为技术有限公司 以太网物理层oam开销的发送、接收方法及发送、接收装置
WO2009115481A1 (en) * 2008-03-20 2009-09-24 Nokia Siemens Networks Oy Method and device for data processing via a gigabit ethernet optical transmission link
US8121133B2 (en) * 2008-05-15 2012-02-21 Cisco Technology, Inc. Stream regulation in a peer to peer network
US8321670B2 (en) * 2008-07-11 2012-11-27 Bridgewater Systems Corp. Securing dynamic authorization messages
WO2010074448A2 (ko) * 2008-12-22 2010-07-01 엘지전자 주식회사 무선 통신 시스템에서 상향링크 자원 요청 및 할당 방법
JP5205289B2 (ja) * 2009-01-14 2013-06-05 パナソニック株式会社 端末装置およびパケット送信方法
US8625630B2 (en) * 2009-03-05 2014-01-07 Lg Electronics Inc. Method and apparatus for updating system information in broadband wireless communication system
US8301972B2 (en) * 2009-05-27 2012-10-30 Seagate Technology Llc Apparatus for correcting single bit insertion or deletion in a data payload with a checksum corrector
US9494933B1 (en) * 2009-06-19 2016-11-15 The Boeing Company Processing packets in an aircraft network data processing system
US8694664B2 (en) * 2010-11-23 2014-04-08 Cisco Technology, Inc. Active-active multi-homing support for overlay transport protocol
JP6019586B2 (ja) * 2012-01-10 2016-11-02 株式会社リコー ネットワーク通信装置
US8638895B2 (en) * 2012-03-01 2014-01-28 Broadcom Corporation Extension of Ethernet PHY to channels with bridged tap wires
DE112013004094B4 (de) * 2012-10-22 2018-03-29 Intel Corporation Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht
US9548887B2 (en) 2013-08-09 2017-01-17 Cisco Technology, Inc. Proactive creation of multicast state in an overlay transport network to achieve fast convergence on failover
US9762545B2 (en) 2014-11-03 2017-09-12 Cisco Technology, Inc. Proxy forwarding of local traffic by edge devices in a multi-homed overlay virtual private network
US10651974B2 (en) * 2017-02-28 2020-05-12 Marvell Asia Pte, Ltd. Method and apparatus for updating error detection information in packets
CN111342929A (zh) * 2018-12-18 2020-06-26 中国电信股份有限公司 信息发送和接收方法及其装置、信息处理系统
US11451492B2 (en) 2020-12-22 2022-09-20 Honeywell International Inc. Methods, systems, and apparatuses for enhanced parallelism of time-triggered ethernet traffic using interference-cognizant network scheduling

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492630A (zh) * 2002-09-16 2004-04-28 ƽ 测量网络运行流量经历的网络运行参数

Family Cites Families (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2059724B (en) * 1979-09-28 1984-04-04 Racal Datacom Ltd Data transmission systems
US5058110A (en) 1989-05-03 1991-10-15 Ultra Network Technologies Protocol processor
US5371852A (en) 1992-10-14 1994-12-06 International Business Machines Corporation Method and apparatus for making a cluster of computers appear as a single host on a network
US5473599A (en) 1994-04-22 1995-12-05 Cisco Systems, Incorporated Standby router protocol
WO1996013932A1 (en) * 1994-10-27 1996-05-09 Index Systems, Inc. Apparatus and methods for downloading recorder programming data in a video signal
US5822512A (en) 1995-05-19 1998-10-13 Compaq Computer Corporartion Switching control in a fault tolerant system
US5680589A (en) 1995-06-08 1997-10-21 Klingman; Edwin E. Ring communication system using ISDN
US5684800A (en) 1995-11-15 1997-11-04 Cabletron Systems, Inc. Method for establishing restricted broadcast groups in a switched network
US6064671A (en) 1995-12-08 2000-05-16 Killian; Michael G. Multi-homed end system for increasing computers network bandwidth
US6085238A (en) 1996-04-23 2000-07-04 Matsushita Electric Works, Ltd. Virtual LAN system
US5872783A (en) 1996-07-24 1999-02-16 Cisco Systems, Inc. Arrangement for rendering forwarding decisions for packets transferred among network switches
US6229787B1 (en) 1996-09-11 2001-05-08 Nortel Networks Limited Mechanism to achieve very fast failover in ATM backbone networks using multi-homed circuits
US20030110344A1 (en) 1996-09-18 2003-06-12 Andre Szczepanek Communications systems, apparatus and methods
US5864535A (en) 1996-09-18 1999-01-26 International Business Machines Corporation Network server having dynamic load balancing of messages in both inbound and outbound directions
EP0944981B1 (en) 1996-10-23 2005-06-29 Infoglobal S.L. Apparatus for integration of several physical media for data communications
GB2320169B (en) 1996-11-29 2001-08-08 3Com Ireland Network configuration
US6108300A (en) 1997-05-02 2000-08-22 Cisco Technology, Inc Method and apparatus for transparently providing a failover network device
US5959972A (en) 1997-05-27 1999-09-28 3Com Corporation Method of port/link redundancy in an ATM switch
US5959989A (en) 1997-06-25 1999-09-28 Cisco Technology, Inc. System for efficient multicast distribution in a virtual local area network environment
US6081512A (en) 1997-06-30 2000-06-27 Sun Microsystems, Inc. Spanning tree support in a high performance network device
US5959968A (en) 1997-07-30 1999-09-28 Cisco Systems, Inc. Port aggregation protocol
US6006264A (en) 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6275953B1 (en) 1997-09-26 2001-08-14 Emc Corporation Recovery from failure of a data processor in a network server
US6687758B2 (en) 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US6032194A (en) 1997-12-24 2000-02-29 Cisco Technology, Inc. Method and apparatus for rapidly reconfiguring computer networks
US6181681B1 (en) 1997-12-29 2001-01-30 3Com Corporation Local area network media access controller layer bridge
US6202114B1 (en) 1997-12-31 2001-03-13 Cisco Technology, Inc. Spanning tree with fast link-failure convergence
US5978852A (en) 1998-01-06 1999-11-02 3Com Corporation LAN switch interface for providing arbitration between different simultaneous memory access requests
US6195351B1 (en) 1998-01-28 2001-02-27 3Com Corporation Logical switch set
US6363077B1 (en) 1998-02-13 2002-03-26 Broadcom Corporation Load balancing in link aggregation and trunking
US7411916B2 (en) 1998-02-26 2008-08-12 Nortel Networks Limited Data forwarding method and apparatus
WO1999050974A1 (en) 1998-03-30 1999-10-07 Motorola Inc. Method for routing data in a communication system
US6567403B1 (en) 1998-04-30 2003-05-20 Hewlett-Packard Development Company, L.P. Virtual-chassis switch network topology
US6421787B1 (en) 1998-05-12 2002-07-16 Sun Microsystems, Inc. Highly available cluster message passing facility
US6222820B1 (en) 1998-05-28 2001-04-24 3Com Corporation Method of VCC/VPC redundancy for asynchronous transfer mode networks
DE69817159T2 (de) 1998-05-29 2004-05-06 International Business Machines Corp. Vermittlungssystem mit einem Maskiermechanismus zur Änderung des internen Leitweglenkungsprozesses
US6604136B1 (en) 1998-06-27 2003-08-05 Intel Corporation Application programming interfaces and methods enabling a host to interface with a network processor
US6181699B1 (en) 1998-07-01 2001-01-30 National Semiconductor Corporation Apparatus and method of assigning VLAN tags
KR100484209B1 (ko) 1998-09-24 2005-09-30 삼성전자주식회사 디지털컨텐트암호화/해독화장치및그방법
US6690668B1 (en) 1998-10-19 2004-02-10 Texas Instruments Incorporated Modular interconnection of network switches
US6657973B1 (en) 1998-10-27 2003-12-02 Matsushita Electric Industrial Co., Ltd. Communications node, network system and method of controlling network system
US6487591B1 (en) 1998-12-08 2002-11-26 Cisco Technology, Inc. Method for switching between active and standby units using IP swapping in a telecommunication network
US6898189B1 (en) 2000-08-23 2005-05-24 Cisco Technology, Inc. Restartable spanning tree for high availability network systems
US6665304B2 (en) 1998-12-31 2003-12-16 Hewlett-Packard Development Company, L.P. Method and apparatus for providing an integrated cluster alias address
JP3581589B2 (ja) 1999-01-11 2004-10-27 株式会社日立製作所 通信ネットワークシステムおよび通信ネットワークシステムにおけるサービス管理方法
US6519231B1 (en) 1999-01-12 2003-02-11 Nortel Networks Limited Method and apparatus providing a spanning tree protocol for a data communications network having a multi-link trunk
US6674713B1 (en) 1999-02-23 2004-01-06 Cisco Technology, Inc. Method and apparatus for providing continuous voice and call communications between a data network and a telephony network
US6535490B1 (en) 1999-03-04 2003-03-18 3Com Corporation High availability spanning tree with rapid reconfiguration with alternate port selection
US6658016B1 (en) 1999-03-05 2003-12-02 Broadcom Corporation Packet switching fabric having a segmented ring with token based resource control protocol and output queuing control
US6711163B1 (en) 1999-03-05 2004-03-23 Alcatel Data communication system with distributed multicasting
WO2000072533A1 (en) 1999-05-21 2000-11-30 Broadcom Corporation Stacked network switch configuration
US6460088B1 (en) 1999-05-21 2002-10-01 Advanced Micro Devices, Inc. Method and apparatus for port vector determination at egress
US7315552B2 (en) 1999-06-30 2008-01-01 Broadcom Corporation Frame forwarding in a switch fabric
US6678241B1 (en) 1999-11-30 2004-01-13 Cisc Technology, Inc. Fast convergence with topology switching
US6735198B1 (en) 1999-12-21 2004-05-11 Cisco Technology, Inc. Method and apparatus for updating and synchronizing forwarding tables in a distributed network switch
US6735205B1 (en) 2000-01-10 2004-05-11 Sun Microsystems, Inc. Method and apparatus for fast packet forwarding in cluster networking
US6687751B1 (en) 2000-01-28 2004-02-03 3Com Corporation Multi-point link aggregation spoofing
US7065096B2 (en) 2000-06-23 2006-06-20 Mips Technologies, Inc. Method for allocating memory space for limited packet head and/or tail growth
US6760776B1 (en) 2000-04-10 2004-07-06 International Business Machines Corporation Method and apparatus for processing network frames in a network processor by embedding network control information such as routing and filtering information in each received frame
JP2001313639A (ja) 2000-04-27 2001-11-09 Nec Corp ネットワーク構成データ管理システム及び方法並びに記録媒体
GB2362538B (en) 2000-05-20 2002-05-08 3Com Corp Method for synchronising databases in stacked network units
US6728780B1 (en) 2000-06-02 2004-04-27 Sun Microsystems, Inc. High availability networking with warm standby interface failover
EP1162793B1 (en) 2000-06-09 2012-08-15 Broadcom Corporation Gigabit switch with multicast handling
US6738345B1 (en) 2000-06-21 2004-05-18 Motorola, Inc. Method for failover management in a synchronous optical network using standard protocols
US6938095B2 (en) 2000-06-28 2005-08-30 Pluris, Inc. Method and apparatus for establishing and sharing a virtual change notification list among a plurality of peer nodes
US6966034B2 (en) * 2000-06-30 2005-11-15 Microsoft Corporation Supplemental request header for applications or devices using web browsers
JP2002026909A (ja) 2000-07-11 2002-01-25 Hitachi Ltd 回線多重化方法及び情報中継装置
US20020087716A1 (en) * 2000-07-25 2002-07-04 Shakeel Mustafa System and method for transmitting customized multi priority services on a single or multiple links over data link layer frames
US6829215B2 (en) 2000-10-31 2004-12-07 Marconi Intellectual Property (Ringfence) Inc. IP multi-homing
US7383574B2 (en) 2000-11-22 2008-06-03 Hewlett Packard Development Company L.P. Method and system for limiting the impact of undesirable behavior of computers on a shared data network
US6910148B1 (en) 2000-12-07 2005-06-21 Nokia, Inc. Router and routing protocol redundancy
US6856591B1 (en) 2000-12-15 2005-02-15 Cisco Technology, Inc. Method and system for high reliability cluster management
US6996102B2 (en) 2000-12-21 2006-02-07 Nortel Networks Limited Method and apparatus for routing data traffic across a multicast-capable fabric
US6868095B2 (en) 2001-01-08 2005-03-15 Zarlink Semiconductor V.N. Inc. Control channel implementation in a packet switched communications network
GB2371706B (en) 2001-01-30 2003-04-23 3Com Corp Link aggregation control for network devices
US20020176450A1 (en) 2001-01-31 2002-11-28 Sycamore Networks, Inc. System and methods for selectively transmitting ethernet traffic over SONET/SDH optical network
US20020103921A1 (en) 2001-01-31 2002-08-01 Shekar Nair Method and system for routing broadband internet traffic
US7054276B2 (en) 2001-02-07 2006-05-30 International Business Machines Corporation System and method for a multicast network messaging service
AU2002306495A1 (en) 2001-02-13 2002-08-28 Candera, Inc. Storage virtualization and storage management to provide higher level storage services
US8429296B2 (en) 2001-03-06 2013-04-23 Pluris, Inc. Method and apparatus for distributing routing instructions over multiple interfaces of a data router
US7174390B2 (en) 2001-04-20 2007-02-06 Egenera, Inc. Address resolution protocol system and method in a virtual network
JP3956685B2 (ja) 2001-05-31 2007-08-08 古河電気工業株式会社 ネットワーク間接続方法、仮想ネットワーク間接続装置およびその装置を用いたネットワーク間接続システム
US7130305B2 (en) 2001-07-02 2006-10-31 Stonesoft Oy Processing of data packets within a network element cluster
JP2003023444A (ja) 2001-07-06 2003-01-24 Fujitsu Ltd 仮想ルータを利用した動的な負荷分散システム
US20030007489A1 (en) * 2001-07-09 2003-01-09 Ram Krishnan Data extraction system for packet analysis
US7139267B2 (en) 2002-03-05 2006-11-21 Industrial Technology Research Institute System and method of stacking network switches
US6980534B1 (en) 2001-07-20 2005-12-27 Cisco Technology, Inc. System and method for efficient selection of a packet data servicing node
JP2003046594A (ja) 2001-08-01 2003-02-14 Canon Inc 無線データ通信装置およびその制御方法
DE10143356A1 (de) 2001-09-04 2003-03-27 Philips Corp Intellectual Pty Akzeptanz-Filter
US7173934B2 (en) 2001-09-10 2007-02-06 Nortel Networks Limited System, device, and method for improving communication network reliability using trunk splitting
US6910149B2 (en) 2001-09-24 2005-06-21 Intel Corporation Multi-device link aggregation
US7463639B1 (en) 2001-09-26 2008-12-09 Junpier Networks, Inc. Edge devices for providing a transparent LAN segment service and configuring such edge devices
EP1309135B1 (en) 2001-10-30 2005-03-02 Alcatel Forwarding of IP packets for routing protocols
FR2832006B1 (fr) 2001-11-05 2004-08-06 Airbus France Procede de mise en oeuvre d'un reseau de communication redondant de type ethernet full-duplex commute
US7127633B1 (en) 2001-11-15 2006-10-24 Xiotech Corporation System and method to failover storage area network targets from one interface to another
US7061875B1 (en) 2001-12-07 2006-06-13 Cisco Technology, Inc. Spanning tree loop guard
JP3967141B2 (ja) 2002-01-28 2007-08-29 富士通株式会社 フレーム中継システムおよびフレーム中継装置
US7145918B2 (en) 2002-02-12 2006-12-05 F 3 Incorporation Bandwidth control method and device for network switch
US6941487B1 (en) 2002-03-07 2005-09-06 Riverstone Networks, Inc. Method, system, and computer program product for providing failure protection in a network node
US20030223379A1 (en) 2002-05-28 2003-12-04 Xuguang Yang Method and system for inter-domain loop protection using a hierarchy of loop resolving protocols
US7096383B2 (en) 2002-08-29 2006-08-22 Cosine Communications, Inc. System and method for virtual router failover in a network routing system
US7483432B2 (en) 2002-09-23 2009-01-27 Alcatel Lucent Usa Inc. Packet transport arrangement for the transmission of multiplexed channelized packet signals
US7539185B2 (en) 2002-10-07 2009-05-26 Broadcom Corporation Fast-path implementation for an uplink double tagging engine
US8051211B2 (en) 2002-10-29 2011-11-01 Cisco Technology, Inc. Multi-bridge LAN aggregation
US6980091B2 (en) 2002-12-10 2005-12-27 Current Technologies, Llc Power line communication system and method of operating the same
US7570643B2 (en) 2003-02-12 2009-08-04 Cisco Technology, Inc. Efficient framing procedure for variable length packets
US7634020B2 (en) * 2003-03-11 2009-12-15 Texas Instruments Incorporated Preamble for a TFI-OFDM communications system
US7672228B1 (en) 2003-03-19 2010-03-02 Extreme Networks, Inc. System and method for network loop detection and recovery
CN100550955C (zh) 2003-05-26 2009-10-14 华为技术有限公司 大容量宽带接入方法及系统
US20050044186A1 (en) 2003-06-13 2005-02-24 Petrisor Gregory C. Remote interface optical network
US7317722B2 (en) 2003-08-20 2008-01-08 3Com Corporation System and method for distributed multicast routing
US7522596B2 (en) 2003-08-25 2009-04-21 Alcatel Lucent Enhanced DVMRP for destination-based forwarding of multicast data
US7751416B2 (en) 2003-09-18 2010-07-06 Cisco Technology, Inc. Virtual network device
US7178052B2 (en) 2003-09-18 2007-02-13 Cisco Technology, Inc. High availability virtual switch
US20050089014A1 (en) 2003-10-27 2005-04-28 Macrovision Corporation System and methods for communicating over the internet with geographically distributed devices of a decentralized network using transparent asymetric return paths
US8493839B2 (en) 2003-11-20 2013-07-23 Hewlett-Packard Development Company, L.P. Method and system of teamed network adapters with offloaded connections
US7502865B2 (en) 2003-12-18 2009-03-10 Intel Corporation Addresses assignment for adaptor interfaces
US7391771B2 (en) 2004-01-23 2008-06-24 Metro Packet Systems Inc. Method of sending information through a tree and ring topology of a network system
US7460537B2 (en) * 2004-01-29 2008-12-02 Brocade Communications Systems, Inc. Supplementary header for multifabric and high port count switch support in a fibre channel network
US8990430B2 (en) 2004-02-19 2015-03-24 Cisco Technology, Inc. Interface bundles in virtual network devices
US7286853B2 (en) 2004-03-24 2007-10-23 Cisco Technology, Inc. System and method for aggregating multiple radio interfaces into a single logical bridge interface
US7889733B2 (en) 2004-04-28 2011-02-15 Cisco Technology, Inc. Intelligent adjunct network device
US7706364B2 (en) 2004-05-19 2010-04-27 Cisco Technology, Inc. Virtual network device clusters
US7639605B2 (en) 2006-02-08 2009-12-29 Cisco Technology, Inc. System and method for detecting and recovering from virtual switch link failures
TWI338209B (en) * 2007-09-07 2011-03-01 Quanta Comp Inc Engaging apparatus and electronic equipment utilizing the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1492630A (zh) * 2002-09-16 2004-04-28 ƽ 测量网络运行流量经历的网络运行参数

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Carlos Marcelo Pedroso, Keiko Fonseca,.Modeling weight round robin packet scheduler with petri nets.Communication systems. ICCS 2002. The 8th international comference, IEEE1.2002,1342-345.
Carlos Marcelo Pedroso,Keiko Fonseca,.Modeling weight round robin packet scheduler with petri nets.Communication systems.ICCS 2002. The 8th international comference, IEEE1.2002,1342-345. *
Dake Liu, Ulf Nordqvist, Christer Svensson,.Configuration-based architecture for high speed andgeneral-purpose protocol processing.Signal processing systems,1999 IEEE workshop ,IEEE.1999,540-547.
Dake Liu, Ulf Nordqvist, Christer Svensson,.Configuration-based architecture for high speed andgeneral-purpose protocol processing.Signal processing systems,1999 IEEE workshop,IEEE.1999,540-547. *
同上.

Also Published As

Publication number Publication date
CN1965540A (zh) 2007-05-16
DE602005017910D1 (de) 2010-01-07
US7436836B2 (en) 2008-10-14
US20060002299A1 (en) 2006-01-05
US20090086641A1 (en) 2009-04-02
ATE450103T1 (de) 2009-12-15
EP1782580B1 (en) 2009-11-25
US8059652B2 (en) 2011-11-15
EP1782580A1 (en) 2007-05-09
WO2006004823A1 (en) 2006-01-12

Similar Documents

Publication Publication Date Title
CN1965540B (zh) 用于检测对于协议定义的补充头部的支持的方法、系统和装置
US10069765B2 (en) Interface bundles in virtual network devices
US6910149B2 (en) Multi-device link aggregation
US8667095B2 (en) Local auto-configuration of network devices connected to multipoint virtual connections
US10158558B1 (en) Segment routing of packets according to a multicast distribution tree in a network
US8755382B2 (en) Intelligent adjunct network device
US8401026B2 (en) Achieving about an equal number of active links across chassis in a virtual port-channel environment
CN1939004B (zh) 虚拟网络设备中的分布式转发
US7978595B2 (en) Method for processing multiple active devices in stacking system and stacking member device
US8514743B2 (en) Maintaining balance of active links across network devices in a double-sided virtual port-channel environment
US20050117598A1 (en) VRRP technology keeping VR confidentiality
CN110011941B (zh) 一种报文转发方法及设备
US7170892B2 (en) Network element, and associated method, for facilitating communication of data between elemental devices
CN1871822B (zh) 用于接入层交换机的基于端口的负载共享
US6947375B2 (en) System and method for network card switchovers in an IP network
US6687754B1 (en) Method of detecting a device in a network
CN107483340B (zh) 一种动态路由通告方法及sdn控制器和网络系统
CN114006854A (zh) 通信方法及网络设备
CN114422435A (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
C14 Grant of patent or utility model
GR01 Patent grant