CN106471780B - 基于远程链路搭档来配置本地链路的方法、系统及逻辑 - Google Patents

基于远程链路搭档来配置本地链路的方法、系统及逻辑 Download PDF

Info

Publication number
CN106471780B
CN106471780B CN201580037161.0A CN201580037161A CN106471780B CN 106471780 B CN106471780 B CN 106471780B CN 201580037161 A CN201580037161 A CN 201580037161A CN 106471780 B CN106471780 B CN 106471780B
Authority
CN
China
Prior art keywords
pcs
local
port
message
sublink
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
CN201580037161.0A
Other languages
English (en)
Other versions
CN106471780A (zh
Inventor
布鲁斯·麦克洛克林
尤利安托·科克什·柯
陈启中
志·文·西蒙·陈
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 CN106471780A publication Critical patent/CN106471780A/zh
Application granted granted Critical
Publication of CN106471780B publication Critical patent/CN106471780B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/083Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed

Abstract

提供用于配置网络设备上的端口用于与远程设备进行通信的方法和系统。在一个示例中,网络设备通过本地端口接收来自远程搭档设备上的物理编码子层(PCS)发射机的消息。一方面,如果网络设备确定本地PCS接收器未对齐消息中所接收的数据,那么端口配置模块将端口分区以在每一个都具有第二数据传输速率的多个子端口上传输数据。另一方面,如果网络设备确定本地PCS接收器在多个子链路的至少一个上的消息中检测到编码违规错误,那么端口配置模块聚合端口的多个子端口,以在具有第一数据传输速率的端口上传输数据。

Description

基于远程链路搭档来配置本地链路的方法、系统及逻辑
技术领域
本公开总体上涉及通信领域,并且更具体地涉及配置网络元件上的一个或多个端口以与其他设备的端口通信。
背景技术
现代计算要求大量的计算资源。例如,每个云计算、软件即服务(SaaS)、软件定义网络(SDN)可以依靠彼此连接并且被配置来建立网络的大量网络元件。一些网络资源(例如,处理能力,存储设备)可以基于多物理元件而被虚拟化,从而允许服务提供者(例如,基于需求)来动态地扩展资源。数据中心可以存放用来虚拟化网络资源的物理元件,然而建立和维持数据中心可能花费巨大成本。例如,需要时间和资源来“背靠背(back-to-back)”地物理地连接两个设备(即将线缆从一个设备的背面连接到其他设备的背面)并且手动地配置设备以使彼此通信。设备的可能数以千计的(或成千上万的)巨大的数量仅仅加重了所需的成本。
附图说明
为了提供对于本公开以及其特征与优点的更完整的理解,结合附图参照下列描绘,其中,相似的标号代表相似的部分,其中:
图1A与图1B是根据本说明书的系统的实施例的简化示意图。
图2A、图2B以及图2C根据本公开的实施例示出了用于一个或多个网络元件之间的通信的系统的示意图。
图3根据本公开的实施例示出了用于在本地设备与远程设备之间进行通信的示例性逻辑图;
图4是根据本公开的实施例的用于在本地设备与远程设备之间进行通信的示例性逻辑图;
图5是根据本公开的实施例的用于在本地设备与远程设备之间进行通信的示例性逻辑图。
具体实施方式
概况
在一个示例中,用于在网络设备与远程搭档(partner)设备之间通信的方法包括:通过本地端口由网络设备接收来自远程搭档设备上的物理编码子层(PCS)发射器的消息;由网络设备确定本地端口的配置;如果本地端口被配置来在具有第一传输速率的单独链路上传输数据,并且如果由网络设备确定本地PCS接收器未能对齐在消息中所接收的数据,则将端口分区以在每一个都具有第二传输速率的多个子链路上传输数据;以及如果本地端口被配置为在多个子链路上传输数据,并且如果由网络设备确定本地PCS接收器在多个子链路的至少一个子链路上的消息中检测到编码违规错误(code violation error),则聚合该端口的多个子链路来在具有第一数据传输速率的链路上传输数据。在该方法的实现方式中,第一传输速率是端口的全数据传输速率容量。在该方法的另一实现方式中,分区还包括使每个子链路具有第一数据传输速率的相等份额。
在该方法的又一实现方式中,确定本地PCS接收器未能对齐在第一消息中所接收的数据包括:由本地PCS接收器接收消息中的多个PCS线路(lane);以及确定本地PCS接收器未能对齐第一消息中的多个PCS线路中的每个PCS线路上的数据。在该实现方式中,网络设备可以在一段时间内周期性地确定本地PCS接收器是否对齐在第一消息中所接收的数据;并且仅仅在所述一段时间之后的时间做出本地PCS接收器未能对齐数据的确定时,端口才被分区。该实现方式还可以包括一个或多个10GBASE-R PCS链路、40GBASE-R PCS链路、以及100GBASE-R PCS链路中的每一个均是符合电气与电子工程师协会(IEEE)802.3-2012标准的物理层设备。在该方法的其他实现方式中,本地PCS接收器在第二消息中检测到编码违规错误包括:由本地PCS接收器接收包括多个子链路的至少一个子链路上的线路对齐标志块的消息;以及基于线路对齐标志块未符合与多个子链路的至少一个子链路相关联的PCS协议来生成编码违规错误。该实现方式还可以包括在一段时间内周期性地确定本地PCS接收器是否在第二消息中检测到代码违规错误;并且其中仅仅如果在所述一段时间之后的时间做出本地PCS接收器检测到编码违规错误的确定,,则端口的多个子链路被聚合。在该方法的其他实现方式中,PCS发射器包括如下项中的至少一个:一个或多个10GBASE-R PCS链路、40GBASE-R PCS链路、或者100GBASE-R PCS链路。在实现方式中,PCS接收器包括40GBASE-RPCS链路和多个子链路,该多个子链路包括四个10GBASE-R PCS链路。在另一实现方式中,PCS接收器包括100GBASE-R PCS链路以及多个子链路,该多个子链路包括十个10GBASE-RPCS链路。
在另一示例中,网络设备包括本地端口、至少一个存储器元件、耦接到至少一个存储器元件与本地端口的至少一个处理器、以及端口配置模块,该端口配置模块当被至少一个处理器执行时被配置来:通过本地端口接收来自远程搭档设备上的物理编码子层(PCS)发射器的消息;由网络设备确定本地端口的配置;如果本地端口被配置来在具有第一传输速率的单独链路上传输数据,并且如果确定本地接收器未能对齐在消息中接收到的数据,则将端口分区以在具有第二传输速率的多个子链路上传输数据;以及如果本地端口被配置来在多个子链路上传输数据,并且如果确定本地PCS接收器在多个子链路的至少一个子链路上的消息中检测到编码违规错误,则集合端口的多个子链路来在具有第一数据传输速率的链路上传输数据。在网络设备的实现方式中,第一数据传输速率是端口的全数据传输速率容量。在网络设备的另一实现方式中,分区还包括使每个子链路具有第一数据传输速率的相等份额。
在网络设备的又一实现方式中,确定本地PCS接收器未能对齐在第一消息中所接收的数据包括:由本地PCS接收器接收消息中的多个PCS线路;以及确定本地PCS接收器未能对齐第一消息中的多个PCS线路的每个PCS线路上的数据。在该实现方式中,网络设备可以在一段时间内周期性地确定本地PCS接收器是否对齐在第一消息中所接收的数据;以及仅仅当在所述一段时间之后的时间做出本地PCS接收器未能对齐数据的确定时,端口被分区。该实现方式还可以包括一个或多个10GBASE-R PCS链路、40GBASE-R PCS链路、或者100GBASE-R PCS链路中的每一个是符合电气与电子工程师协会(IEEE)802.3-2012标准的物理层设备。
在网络设备的其他实现方式中,本地PCS接收器在第二消息中检测到代码违规错误包括:由本地PCS接收器接收包括多个子链路的至少一个子链路上的线路对齐标志模块的消息;以及基于线路对齐标志块未符合与多个子链路的至少一个子链路相关联的PCS协议来生成编码违规错误。该实现方式还可以包括在一段时间内周期性地确定本地PCS接收器是否在第二消息中检测到代码违规错误;并且其中仅仅当在所述一段时间之后的时间做出本地PCS接收器检测到编码违规错误的确定时,端口的多个子链路被集合。在网络设备的其他实现方式中,PCS发射器包括如下项中的至少一个:一个或多个10GBASE-R PCS链路、40GBASE-R PCS链路、或者100GBASE-R PCS链路。在实现方式中,PCS接收器包括40GBASE-RPCS链路以及包括四个10GBASE-R PCS链路的多个子链路。在网络设备的另一实现方式中,PCS接收器包括100GBASE-R PCS链路以及包括十个10GBASE-R PCS链路的多个子链路。
在又一实现方式中,包括用于网络设备与远程搭档设备之间进行通信的一个或多个指令的计算机可读非暂态介质,当的指令被在处理器上执行时,配置处理器来执行一个或多个操作,包括:通过本地端口由网络设备接收来自远程搭档设备的物理编码子层(PCS)发送器的消息;由网络设备确定本地端口的配置;如果本地端口被配置来在具有第一数据传输速率的单独链路上传输数据,并且如果由网络设备确定本地PCS接收器未能对齐在消息中所接收的数据,则将端口分区以在每个具有第二数据传输速率的多个子链路上传输数据;以及如果本地端口被配置为在内多个子链路上传输数据,并且如果由网络设备确定本地PCS接收器在多个子链路的至少一个子链路上的消息中检测到编码违规错误,则聚合端口的多个子链路以在具有第一数据传输速率的链路上传输数据。在计算机可读非暂态介质的实现方式中,第一数据传输速率是端口的全数据传输速率容量。在计算机可读非暂态介质的另一实现方式中,分区还包括使每个子链路具有第一数据传输速率的相等份额。
在计算机可读非暂态介质的又一实现方式中,确定本地PCS接收器未能对齐在第一消息中所接收的数据包括:由本地PCS接收器接收消息中的多个PCS线路;以及确定本地PCS接收器未能对齐第一消息中的多个PCS线路中的每个PCS线路上的数据。在该实现方式中,网络设备可以在一段时间内周期性地确定本地PCS接收器是否对齐在第一消息中所接收的数据;并且仅仅当在所述一段时间之后的时间做出本地PCS接收器未能对齐数据的确定时,端口被分区。该实现方式可以还包括一个或多个10GBASE-R PCS链路、40GBASE-R PCS链路、以及100GBASE-R PCS链路中的每一个是符合电气与电子工程师协会(IEEE)802.3-2012标准的物理层设备。
在计算机可读非暂态介质的其他实现方式中,本地PCS接收器在第二消息中检测到编码违规错误包括:由本地PCS接收器接收包括多个子链路的至少一个子链路上的线路对齐标志块的消息;以及基于线路对齐标志块未符合与多个子链路的至少一个子链路相关联的PCS协议来生成编码违规错误。该实现方式可还包括在一段时间内周期性地确定本地PCS接收器是否在第二消息中检测到编码违规错误;并且其中仅仅当在所述一段时间之后的时间做出本地PCS接收器检测到编码违规错误的确定时,端口的多个子链路被聚合。
在计算机可读非暂态介质的其他实现方式中,PCS发送器包括如下项中的至少一个:一个或多个10GBASE-R PCS链路、40GBASE-R PCS链路、或者100GBASE-R PCS链路。在实现方式中,PCS接收器包括40GBASE-R PCS链路,并且多个子链路包括四个10GBASE-R PCS链路。在计算机可读非暂态介质的另一实现方式中,PCS接收器包括100GBASE-R PCS链路,并且多个子链路包括十个10GBASE-R PCS链路。
示例实施例
数据中心是现代网络服务的重要方面。数据中心可以存放包括诸如路由器、服务器以及交换机的大量的网络组件硬件。设备可以被通过线(诸如线缆)连接或者被无线地连接。在有线连接的情境下,存在包括诸如铜缆、光纤等等的许多物理布线选择。通过连接的通信可以采用任何数量的通信协议,开放系统互连(OSI)模型的每个不同的层(例如,层1:物理层;层2:数据链路层;层3:网络层等等)。对于以太网,通信标准被提供在电气与电子工程师协会(IEEE)802.3-2012以太标准(本文称作“802.3”和“IEEE 802.3”)中。
建立数据中心中的硬件之间的网络连接所要求的资源的任何微小的减少都可以得到大量的节约。在连接两个设备(诸如通过线缆)之后,上述两个设备都可以手动地被配置用于彼此通信。在一些示例中,(本地)网络组件可以被连接到具有不能被配置的固定设置的远程设备。在其他示例中,本地设备可以是远程设备的子设备,并且远程设备可以是本地设备的家长设备。在这些情境下,无论家长设备是否明确地方式它的配置和/或性能,子设备都可以被自动地配置来与家长设备兼容。
在仅仅本地设备可以被配置的情境下,存在的挑战是确定(例如,建立、设置、或修改)本地设备的配置以在建立与远程设备的通信(即对来自/去往远程设备的数据进行发送、接收、解码、和/或处理)之前与远程设备进行兼容。其他挑战是在没有来自远程设备的主动参与的情境下确定本地设备的配置。例如,远程设备可能没有发送它的性能列表或者主动地与本地设备协商匹配配置。
用于配置本地端口的传统系统通过使用从PCS传输单元所接收的线路信息(即可操作的线路的数量)来改变在高速以太网信号中编码的可操作的线路的数量(即运作中的虚拟PCS线路)。这些传统的系统不论线路的数量而保持设备之间的相同的高速协议(即40G/100G协议)。这些传统的系统仅仅改变来自一个设备的线路数量以及传输,来匹配从另一设备接收的线路数量。如本说明的实施例所公开的,当基于一组条件的检测来改变针对多个子链路中的每个子链路的协议时,这些系统不能保持总数据传输速率。
其他传统的系统采用802.3条款73自动协商(Auto-negotiate)或光纤信道自动协商(FibreChannel Auto-Negotiate)。条款73自动协商被局限于铜缆以及背板以太网(例如,介质40GBase-KR4、40GBase-CR4、以及100GBase-CR10)。然而,条款73自动协商并不支持非铜缆以及非背板介质(例如,10GBase-R、40GBase-SR4、100GBase-SR10、40GBase-LR4、100GBase-LR4、以及100GBase-ER4)。本文所公开的方法与系统提供对在任何以上所标识的介质(诸如40GBase-KR4、40GBase-CR4、100GBase-CR10、10GBase-R、40GBase-SR4、100GBase-SR10、40GBase-LR4、100GBase-LR4、以及100GBase-ER4)上的端口的自动配置。
图1A与图1B是根据本说明书的系统的实施例的简化框图。现参考图1A,系统70包括服务器1到n(即,服务器102a、102b、以及102c),其中n可以是大于或等于0的任何数字。在该示例中,服务器102通过网络扩展硬件104被连接到(家长)网络交换机106。网络交换机106进而将服务器耦接到一个或多个网络(例如,互联网124和/或网络109)。网络扩展硬件104包括接口110、112、以及端口配置模块111。接口110可操作地耦接网络扩展硬件104与网络交换机106。网络扩展硬件104在接口110上发送和/或接收(例如,去往/来自网络交换机106的)数据交换机。网络交换机106在接口110上发送和/或接收(例如,去往/来自网络扩展硬件104的)数据。接口112可操作地耦接网络扩展硬件104与服务器102a-c。网络扩展硬件104可以在接口112上发送和/或接收(例如,去往/来自服务器102a-c的)数据。服务器102a-c在接口112上发送和/或接收(例如,去往/来自网络扩展硬件104的)数据。端口配置模块111被可操作地耦接到接口110与接口112中的每一个。模块111可以标识和/或修改接口110与接口112中的每一个的配置。
在一个示例中,系统70与包括多服务器、交换机、路由器、和/或其他网络组件的数据中心相对应。网络扩展硬件104可以是储存在具有服务器102的服务器机架中的设备。在该示例中,网络扩展硬件104扩展网络交换机106的端口(即,接口110内的端口)的范围,从而有效地作为针对网络交换机106的远程线卡。系统70并不局限于此示例,并且系统70可以包括本地设备要求用于与远程设备进行通信的配置的任何系统(例如,其中远程设备具有固定且未知的配置)。
图1B示出了数据中心内的系统70的示例实现方式的系统100。在这个示例中,数据中心web区域130和/或数据中心会议区域140是系统70的实现方式,其中web服务器132或MCS/MCC服务器144分别是服务器102a-c的实现方式。在具体实现方式中,通信系统100可以被配设用于生成、管理、托管(host)、和/或以其他方式提供虚拟会议。在一定的情境下(许多情境在下面被详细示出),通信系统100可以基于与第一设备所连接的第二设备(例如,远程设备)的端口(或连接于该端口的链路)来配置第一设备的端口(或连接于该端口的链路)。通信系统100的架构可适用于任何类型的会议或会见技术,例如,视频会议架构(例如,TelepresenceTM)、web摄像机架构、智能手机部署、个人计算应用(例如,SkypeTM)、多媒体会议平台(例如,MeetingPlaceTM、WebExTM等等)、桌面应用、或设法管理视频数据的或任何其他适当的环境。
通信系统100可以包括可以通过各种附着点来实现适合的网络连接的任何数量的端点112a-e。在这个具体的示例中,通信系统100可以包括内联网120、公共电话交换网络(PSTN)122、以及互联网124,互联网124(在该具体示例中)提供到数据中心web区域130与数据中心会议区域140的路径。
数据中心web区域130包括多个web服务器132、数据库134、以及记录元件136。数据中心会议区域140包括安全套接层硬件(SSL HW)加速器142、多个多媒体会议服务器(MCS)/媒体会议控制器(MCC)144、协作桥146、会议区域管理器148、以及端口配置模块150。作为总体构想,每个MCS可以被配置来实现用于修改端口配置的端口配置模块。此外,每个MCC可以被配置来管理来自数据中心会议区域140的MCS。应当注意,各种类型的路由器和交换机可以被采用以促进图1B的任何组件之间的通信。
贯穿本公开,在配置本地端口方面,参考10G模式或40G模式。然而本领域技术人员将意识到,本公开的教导等同地适用于其他配置。例如,教导可以适用于配置10G模式与100G模式之间、25G模式与100G模式之间、或者任何低传输模式到高传输模式之间的端口(在每个模式下编码均不兼容)。此外,本文所描述的端口配置操可适用于任何端点(例如,端点112a-e)、网络组件(例如,网络组件116、118、132、134、136、和/或144)或者节点。
图2A、图2B以及图2C根据本公开的实施例示出了用于网络组件之间的通信的一个或多个系统的示意图。现参考图2A,图2A示出了通过链路216耦接到远程设备204的本地设备202。远程设备204包括四个每秒10千兆比特(10G)端口(端口214a、214b、214c、以及214d),每一个被耦接到包括介质访问控制(MAC)层以及10G物理编码子层(PCS)层的相应的10G物理元件(例如,OSI模型的PHY层)。每一个远程10G PCS包括根据IEEE802.3标准的10GPCS接收器以及10G PCS发射器。本地设备202包括耦接到本地接口206的端口配置管理器213。本地接口206包括每秒40千兆比特(40G)的端口208、存储器212、处理器210、40G硬件块209、以及10G硬件块211。40G硬件块209包含MAC层以及40G PCS层。40G PCS包括根据IEEE802.3标准的40G PCS接收器以及40G PCS发射器。10G硬件块211包含四个10G物理元件;每个物理元件包括MAC层以及10G PCS层。本地10G PCS的每一个包括根据IEEE802.3标准的10G PCS接收器以及10G PCS发射器。40G端口208、存储器212、以及处理器210中的每一个可操作地被耦接到彼此。处理器210可以(例如,通过块209或块211)访问(例如,发送、接收、延迟、修改、删除等等)端口208上的数据和/或存储器212上的数据。链路216的一端被耦接到在本地设备202的接口206上的40G端口208。链路216的另一端包括四个链路,每个链路被耦接到远程设备204上的四个10G端口(即,端口214a、214b、214c以及214d)中的一个。
在一个实施例中,本地设备202可以包括类似于(或完全近似于)接口206的一个或多个接口。该一个或多个接口可以每个都包含端口、存储器、以及处理器和/或可以共用公共的端口、存储器、和/或处理器。例如,接口110可以包括类似于接口206的多个接口。
在操作中,在本地设备可以通过链路与远程设备建立通信之前,本地设备必须用与远程设备上的端口兼容的设置来配置本地端口。如果本地端口与远程设备不兼容,那么在本地设备上所接收的来自远程设备的数据可能被误解(例如,引起错误或不能对齐数据)。如果本地端口与远程端口兼容,那么在本地端口上所接收的来自远程设备的数据可以被正确地理解(例如不引起错误和/或成功地对齐数据)。
本地端口可以被配置来使用多个硬件块中的一个硬件块来操作,以用于接收和/或发送数据。例如,本地端口208的一个配置(例如,由端口配置模块213确定)是使用40G块209来发送和/或接收数据。当使用40G块209时,本地设备202处的40G PCS使用每秒40千兆比特的高速以太网PCS标准(即,IEEE802.3条款82、“40GBASE-R PCS”或“100GBASE-R PCS”)来编码和/或解码数据,其中该标准包括线路对齐标志块,用于界定(delimit)传输信号中的多个虚拟PCS线路。本地端口208的另一配置(例如,由端口配置模块213确定)是使用10G块211来发送和/或接收数据。当使用10G块211时,在本地设备202处的四个10G PCS中的每一个使用10GBASE-R PCS编码来编码和/或解码数据,其中10GBASE-R PCS编码不包括线路对齐标志块。在图2A的示例中,端口配置管理器213基于在本地设备202处由活跃的PCS所检测到的条件而选择性地激活40G操作模式(即,使用40G块209与40G PCS)或者10G操作模式(即,使用10G块211与至少一个10G PCS)。在示例中,在某时刻仅仅一个模式是活跃的,因此当一个模式活跃的时候,其他模式不活跃。在一些情境下,在操作模式下设置端口也可以要求对端口分区或聚合端口(或子端口)。
配置端口(例如,本地端口208)可以包括将端口分区成一个或多个子端口(例如,用于在一个或多个链路上传输数据)。例如,端口可以是40G四通道小型可插拔(Quad SmallForm-factor Pluggable,QSFP或QSFP+)端口。QSFP端口包括38个引脚,上述38个引脚包括四对发射器引脚与四对接收器引脚。在一个示例中,单独40端口的发射器引脚与接收器引脚对可以被分为对应于四个物理端口或链路(即,四个10G端口)。例如,QSFP端口可以物理地分区成四个物理子端口,其中每个物理子端口可以在QSFP端口上包括一对发射器引脚以及一对接收器引脚。在另一示例中,端口可以虚拟地被分区成一定数量的子端口。在虚拟分区中,40G QSFP端口可以例如使用复用而被映射到在该端口的一定数量的虚拟信道上的具体编码。被分区的端口(无论虚拟的或是物理的)可以被耦接到与端口类型相对应(例如基于数据编码)的(一个或多个)硬件块(例如,10G块211的每个物理组件)。类似地,当端口的所有分区被聚合到单独的端口(例如,端口上的所有发射器引脚与所有接收器引脚用作单独端口)时,端口可以被耦接到于端口类型相对应(例如,基于数据编码)的硬件块(例如,40G块209)。
在图2A中,远程设备204处的四个10G PCS使用每秒10千兆比特的以太网标准(即IEEE802.3条款49、“10GBASE-R PCS”)来编码用于在端口216上传输的数据。因此,被在本地设备202的端口208所接收的(来自远程设备204的)数据是来自四个10G端口(以及四个对应的10G PCS)的并行接收数据,每个10G端口均使用10GbE编码。在这个情境下,如果本地端口208在40G模式中,本地设备202将误解从远程设备214接收的数据,这部分由于数据在10GbE协议下被编码而不在40GbE协议(即,条款82编码)下被编码。例如,可能由于(从远程设备204发送的)数据不包括线路对齐标志块而(在本地设备202处)生成错误。当在40G模式中检测到错误(例如,未能对齐线路),端口配置管理器213可以通过将本地端口从40G模式转换到10G模式来修改本地端口的配置。当被激活时,10G模式保持本地端口208的总数据传输速率(40G数据传输速率)并且用新的编码协议将数据传输速率划分到若干信道(即,四个10G信道)。在实施例中,端口配置管理器213可以例如通过设置存储器中的一个或多个比特(例如,在硬件寄存器中“0”用于10G模式或者“1”用于40G模式)、打开或者关闭门以便物理地连接/断开本地端口与硬件块(例如,硬件块209与211)、和/或选择性地激活本地端口的模式的任何其他的方法,来修改本地端口的配置。
在实施例中,当远程设备处的远程端口的配置是固定的(和/或不能由本地设备配置)时,本文所描述的系统和方法自动地配置本地端口以用于与远程设备通信。例如,配置本地端口可以包括自动地在若干物理信道或逻辑信道间划分数据传输速率。本地设备202上的本地端口208的数据传输速率可以被划分到多个(在这个例子中是4)物理信号或逻辑信道,用于与可能具有固定的配置的远程设备204上的端口218进行通信。配置设备的传统方法(例如,条款73自动协商)要求两个设备(例如,本地设备与远程设备)都是自动检测协议中的活跃的参与者(例如,每个设备明确地发送协议性能信号到另一设备)。有益之处在于,本公开的实施例基于检测一设备从另一设备(例如,从远程设备)接收的数据内容而仅需要一个设备(例如,本地设备)参与自动配置端口。
转至图2B,图2B示出了通过链路220被耦接到远程设备204的本地设备202。图2B中的组件与在图2A中的组件相似。在图2B中,设备202包括端口配置管理器213、处理器210、10G块211、40G块209、以及存储器212,然而示出这些元件不仅仅出于清晰来简化附图。图2A与图2B之间的差别在于,在图2B中,远程设备204包括40G端口,而不是一个或多个10G端口。另一差别在于,链路216(图2A)是40G到4×10G链路,而链路220(图2B)是40G到40G链路。
基于本地端口的配置和远程端口的配置,可能出现或可能不出现一定数量的错误条件。在图2B的一个实现方式中,远程40G端口218使用40GbE协议在单独的40G端口上传输数据。在这个示例中,如果本地端口208没有被配置用于40GbE协议,则可能发生错误。例如,如果本地端口被配置为在端口(例如,QSFP端口)上的四个10GbE子端口(例如,在10G模式中而不在40G模式中和/或不论物理的端口或是虚拟的端口),则在40GbE协议下的来自远程设备的数据传输可以引起本地设备生成错误(例如,基于意外地出现线路对齐标志块的编码违规错误)。然而,如果本地端口被配置为使用40GbE协议在单个端口上接收数据(例如,使用40G模式而不是10G模式),那么在40GbE协议下的来自远程设备的数据传输将不会产生错误并且两个设备可以建立双向的通信。
在图2B的另一实现方式中,远程40G端口218使用10GbE协议在四个虚拟10G子端口上传输数据(例如,通过在40G端口上将4个信号复用到链路上)。在这个示例中,如果本地端口208未被配置用于10GbE协议,则错误可能发生。例如,如果本地端口被配置为使用40GbE协议来接收单个端口上的数据(例如,使用40G模式而不是10G模式),那么来自远程设备的在10GbE中协议下的数据传输可能引起本地设备生成错误(例如,基于缺少线路对齐标志块而无法对齐数据)。然而,如果本地端口在端口上被配置为四个10GbE子端口(例如,在10G模式而不是40G模式中),那么来自远程设备的在10GbE协议下的数据的传输将不会产生错误并且两个设备能够建立双向的通信。
图2C示出了具有40G端口的远程设备204以及具有4个单独的10G端口222a-d的本地设备202。在图2C中,设备202包括端口配置管理器213、处理器210、10G块211、40G块209、以及以相似于图2A的方式被耦接的存储器212;然而,这些元件被示出并不仅仅为了清晰来简化附图。设备202中10G端口222a-d是每一个被配置来在10GbE协议下发生以及接收数据的四个单独的10G端口(例如,4个SFP+端口)。端口222a-d中的每一个被耦接到40G块206并且每一个被耦接到10G块211(例如,每一个被耦接到10G块的相应的一个物理元件)。
因此,如果由本地设备从远程设备接收的数据以IEEE40GbE协议被编码,那么一个或多个本地10G端口将接收线路对齐标志块(即,基于IEEE802.340G/100G以太网规范)。由于IEEE10GbE标准并未定义线路对齐标志块,因此线路对齐标志块的出现被作为编码违规错误(例如,由10G PCS接收器)检测到。虽然40GbE包含4个虚拟PCS线路,但PCS线路可能不必要对应于连接到本地设备202中的10G端口的物理链路。因此本地设备上的10G PCS接收器(例如,10GBASE-R PCS接收器)(一个接收器用于一个端口)在接收到线路对齐标志块时检测到错误(例如,编码违规错误)。在这个示例中,检测到编码违规错误(在10GbE模式中)是远程设备以40GbE标准运行的指示。在检测到编码违规错误之后,本地设备可以针对接收的数据使用40GbE标准(例如,激活40G模式)配置端口。例如,处理器可以基于来自四个10G端口222的输入来虚拟化40G端口。因此,尽管数据在四个单独的10G端口222上被接收,但虚拟40G端口可以使用40GbE标准与远程设备通信。在另一实现方式中,本地设备不提供虚拟化的40G端口。替代地,家长设备提供将其40G端口逻辑分区成四个串行10G端口。在这个情境下,家长设备从4个单独的端口发送数据到在本地设备上的物体的10G端口(222a-d)。
在一个实施例中,本地设备是子设备(例如,从属设备)并且必须将它的本地端口配置成与家长设备上的端口匹配(或相兼容)。在实施例中,本地设备上的处理器和/或端口配置管理器可以生成针对本地端口的配置。在另一实施例中,本地设备202是网络扩展设备(例如,图1A中的设备104)并且远程设备是网络交换机(例如,图1A中的网络交换机106)。
图3是根据本公开的实施例的本地设备与远程设备之间通信的示例逻辑图(逻辑300)。逻辑300从302处开始并且推进到304处。在304处,(例如,由网络组件上的本地端口)接收来自远程搭档设备上的物理编码子层(PCS)发射器的消息。该消息可以在本地设备的本地端口上被接收。在接收到消息时,在306处做出本地端口的配置的确定。配置能够用于在单独端口或者多个子端口(例如,连接到多个链路或子链路)上传输数据。在实施例中,多个子端口可以具有本地端口的全数据传输速率的相等份额。
在308处,如果本地端口被(例如,被本地设备上的处理器)确定具有在多个子端口上传输数据的配置,其中,每个子端口具有第二数据传输速率,那么算法推进到310处。例如,多个子端口可以是物理独立的端口的集合(例如,四个分开的10G端口)。在另一示例中,多个子端口可以是单独物理端口的虚拟分部(例如,被虚拟地分成四个独立的10G端口的单个的40G QSFP或者QSFP+端口)。在310处,确定本地PCS是否在多个子端口的至少一个上检测到消息中(例如,通过网络设备上的本地端口接收的数据中)的编码违规错误。在仅仅一个子端口上要求没有编码违规错误能够有利地使得即使当链路仅仅连接到一个子端口的时候,逻辑也能够正确地配置本地端口。
根据本公开,编码违规错误是高速编码(例如,40G/100G协议)被以更低速率在链路上发送(通过端口)的指示。(例如,被10GBASE-R PCS所检测到的)编码违规错误可以是由于存在线路对齐标志块,线路对齐标志块在40GbE/100GbE协议中被定义,而根据10GbE协议不被包括在内。在这个情境下,10GBASE-R PCS意识到线路对齐标志块编码违规错误。在一个示例中,当接收到(来自远程设备端口/PCS)包含线路标志块的信号时,10GBASE-R PCS接收器生成编码违规错误。本地网络设备可以检测到由本地PCS(即,10GBASE-R PCS)所生成的编码违规错误。
如果本地PCS接收器(在310处)检测到在一个子端口上的编码违规错误,那么算法推进到312处。在312处,端口的多个子端口(例如,连接到(一个或多个)链路)被聚合为用于以第一数据传输速率传送数据的单个端口。任何编码违规错误指示更低速度的端口(以及相应的PCS)已经接收到来自更高速的端口(以及相应的PCS)的传输。因此如果本地端口采用低速,那么表明当前(低的)速度应该被增加到更高的速度。在一个示例中,当前速度可以是10G(例如,在10G模式中)并且可以增加到40G(例如,通过激活40G模式)。在另一示例中,当前速度可以是10G并且增加到100G40G(例如,通过激活100G模式)。在子端口被聚合为单一的端口之后,算法返回到304。这创建环路,以使得在满足将多个子端口聚合为单个端口的条件之后,算法继续接收来自远程搭档的数据以测试新的端口配置是否使得以所期望的格式成功地接收数据。如果本地PCS接收器(在310处)未在子端口之一上检测到编码违规错误,那么算法推进到320处。
如果(在306处)确定本地端口被配置由具有第一数据传输速率的单个端口(在单独链路上)传输数据(314),那么算法推进到316处。在316处,确定(例如,处理器确定)本地PCS接收器是否未能对齐消息中所接收的数据。消息中的数据可以是在一段时间内在本地端口上所捕获的数据流。在实施例中,数据被储存在存储器上(例如,随机存取存储器)以由网络组件进行检查。在一个示例中,在316处,确定(例如,由处理器确定)本地PCS接收器是否成功地对齐(与未能对齐相反)消息中所接收的数据。在316处,如果本地PCS未对齐(未成功),那么算法推进到318处。在318处,端口被分区以在每一个具有第二数据传输速率的多个子端口(连接到链路或子链路)上传输数据。在对齐所接收的数据流中的数据方面的任何失败都指示高速端口(以及相应的PCS)已经接收了来自更低速度端口(以及相应的PCS)的传输。因此,如果本地端口是高速的,则指示当前(高)速度应该被降低到更低的速度。在一个示例中,当前速度可以是40G(例如,在40G模式中)并且可以被降低到4×10G(例如,通过激活10G模式)。在另一示例中,当前速度可以是100G并且可以被降低到4×10G(例如,通过激活10G模式)。在子端口被分区到子端口中之后,算法返回304处。如果确定本地PCS并非未对齐消息(即成功地对齐消息中的数据),那么算法推进到320处。
在一方面,本公开的方法和系统利用本地端口的已知数据传输容量来有选择地生成各种IEEE PCS编码协议(例如,10GBASE-R PCS以及40G/100GBASE-R PCS)和/或基于检测到各种错误条件并且没有来自远程搭档的活跃的配合来有选择地生成传输容量的分配。在实施例中,协议的组合以及传输容量的分配被指定,以使得该分配的数据传输速率的总和等于端口的最大数据传输速率。例如,如果端口的最大传输速率是100G,那么端口可以被分区为十个单独的10G物理端口(例如,子端口)用于与链路搭档的通信(例如,使用100G主机上对应于每个端口和/或10G模式的的相应引脚)。在另一实施例中,端口的分配可以是端口容量的虚拟分配。此外,独立的物理端口可以虚拟地被聚合为单个虚拟端口(和/或链路)用于与链路搭档(例如,远程设备)连接。
图4是根据本公开实施例的用于本地设备与远程设备之间的通信的示例逻辑图(逻辑400)。逻辑400在起始点402开始。在402之后,在404处逻辑配置本地40G以太网端口链路用于在单个的40G端口(例如,连接到单个链路)上传输数据。这个配置设置端口用于在单个端口(通过单个链路)上向远程端口(例如,在远程链路搭档、家长网络交换机等等上)发送数据和/或从远程端口接收数据,其中单个端口被设置为端口的全数据传输速率容量(在这个情境下是40G)。在配置本地端口之后,逻辑推进到406处,在406处,确定本地PCS是否接收获得在本地端口上所接收的数据(例如从远程设备上的PCS发射器接收的数据)的所有PCS线路上的线路对齐以及40GBASE-R PCS块锁定。块锁定可以由PCS接收器是否检测到64B/66B编码中的块来确定。在一个示例中,当PCS接收器成功地检测到所接收的数据块中的(一个或多个)头端并且能够基于头端的位置来标识块的时候,块锁定(即,根据IEEE802.3条款49块同步)被实现。例如,在64B/66B编码中,每个块是66比特长度并且块的前两个比特是头端。在这个示例中,PCS接收器通过标识头端以及基于头端的位置(即,访问包括相应头端的66比特块)访问(例如,标识和/或输出)66比特块来实现块锁定。线路对齐可以基于检测多个PCS线路的每一个中的一个或多个线路对齐标志块而被确定。在接收器检测到线路对齐标志块之后,所接收的信号中的虚拟PCS线路可以相对于彼此被转变(纠偏(de-skew))来在每一条线路中对齐线路对齐标志块。在一个示例中,如果一条线路中的线路对齐标志块被成功地(例如,通过PCS接收器)对齐另一线路中的线路对齐标志块(例如,针对每一条线路中的连续接收的预定数量的线路对齐标志块),那么PCS线路被对齐。
如果确定(例如,在406处)40GBASE-R PCS块锁定以及线路对齐在从远程设备接收的数据的所有PCS线路上已被实现(即,在图4中为“是”),那么算法推进到412,在412处,可终止于此(或推进到其他逻辑)。根据本公开,当本地端口被配置用于在单个的链路上以端口的全数据传输速率容量进行数据传输时,成功地在所有PCS线路上实现块锁定以及对齐指示本地端口的配置与远程端口的配置相匹配(在这个情境下,本地端口与远程端口二者都被配置用于在单个40G链路上进行40G传输)。
如果确定(例如,在406处)40GBASE-R PCS块锁定与线路对齐并未在从远程设备接收的数据的所有PCS线路上被实现(即,未能实现,在图4中为“否”),那么逻辑400前进到408处。在实施例中,本地端口是包括(或访问)本地40GBASE-R PCS接收器的40G QSFP,并且远程端口是包括(或访问)相应的一个或多个10GBASE-R PCS发送器的一个或多个SPF端口。在这样的实施例中,由于由一个或多个远程的10GBASE-R PCS发射器所生成的信号中缺少40GBASE-R PCS线路对齐标志块,因此本地40GBASE-R PCS接收器将不会实现线路对齐。根据本公开,未能在所有PCS线路上实现40GBASE-R PCS块锁定与线路对齐指示远程端口的配置是在四个单独的10G链路上配置传输。
在实施例中,406仅仅在404完成后的一段时间(例如,等待时间、或者延迟)之后被执行。在另一实施例中,406在一段时间内周期性地被执行,所述一段时间开始于404完成并且在一定时间量之后结束。在之后的实施例中,在一段时间期间,只要确定是否定的(即在图4中“否”),算法可以继续执行406。然而,如果在一段时间内的任何时刻确定是肯定的(即,在图4中为“是”),则算法可以推进到412处。在一些实施例中,逻辑400可以使得处理器(例如,在存储器中)储存该确定是肯定的指示,然后等待直到完成前进到412。在其他实施例中,逻辑400可以在确定的时刻结束等待时段。在一个示例中,等待时段可能是大约2秒。
在408处,逻辑400配置本地40G以太网端口用于在四个独立的10G端口(例如,4×10G)上传输数据并且之后推进到410处。虽然新的配置可能不改变端口的总数据传输速率(即,总传输速率如在404处一样保持40G),但它可以改变端口传输数据的方式(例如,在连接到端口的一些数量的链路上发送和/或接收来自远程链路搭档的数据)。
在410处,逻辑400确定10GBASE-R PCS块锁定是否在四个链路的至少一个上已经被实现,并且确定在四个端口的至少一个端口上是否检测到任何编码违规错误。根据本公开,在PCS线路的至少一个上实现10GBASE-R PCS块锁定以及没有编码违规错误指示本地端口的配置与远程端口的配置相匹配。在这个情境下,本地端口被配置用于在四个独立的10G端口上进行40G传输。如果确定10GBASE-R PCS块锁定已经被实现并且不存在编码违规错误(即,四个链路中的至少一个的同一线路必须两个条件都满足)(即,在图4中为“是”),逻辑400推进到412处。然而,本地PCS未能在至少一个线路上实现10GBASE-R PCS块锁定并且检测到了编码违规错误指示远程端口被配置作为单个40G端口。因此,在确定在至少一个线路上10GBASE-R PCS块锁定没有被实现或者存在编码违规错误(即,在图4中为“否”)时,逻辑400返回404处。此外,在仅仅一个端口上要求PCS块以及没有编码违规错误使得逻辑能够即使当链路216被连接到四个10G端口中的仅仅一个时也能正确地配置本地端口。
贯穿本公开,参考配置本地端口用于10G模式或者40G模式。然而,本领域技术人员应当意识到本公开的教导等同地适用于诸如配置本地端口用于10G模式或100G模式。例如,图5是根据本公开实施例的针对本地设备与远程设备之间通信的示例逻辑图(逻辑500)。逻辑500包括与逻辑400的过程相对应的过程。逻辑400的教导适用于逻辑500。逻辑400与逻辑500之间的关键差别是逻辑400的执行配置40G端口而逻辑500的执行配置100G端口。在逻辑500中,100G端口可以被分成十个10G端口(子端口)和/或从十个10G端口聚合成单个100G链路。
在实施例中,逻辑300、逻辑400、以及逻辑500中的一个或多个可以基于从远程设备接收的数据由网络设备实现,以配置本地端口,从而允许网络设备在设备被一个或多个链路所连接之后,在没有来自远程设备的配合以及没有用户输入(即,人为介入)的情况下来配置自身。逻辑300、逻辑400、和/或逻辑500可以由网络设备可访问的处理器、专用集成电路(ASIC)、或者网络设备来执行。
在本公开的上下文中,本文所使用的网络代表用于接收与发送通过通信系统传播的信息分组的互联通信路径的一系列点或节点。网络在源和/或主机之间提供通信接口,并且可以是任何局域网(LAN)、无线局域网(WLAN)、城域网(MAN)、内联网、外联网、广域网(WAN)、虚拟私有网络(VPN)、或依据网络拓扑结构促进网络环境中通信的任何其他合适的架构或系统。网络可以包括经由通信介质耦接到彼此(以及彼此通信)的任何数量的硬件或软件元件。
在一个具体的实例中,本公开的架构可以与服务提供商数字用户线路(DSL)部署相联系。在其他示例中,本公开的架构可以等同地适用于其他通信环境,例如,企业广域网(WAN)部署、布线场景、总宽带、固定式无线实例、针对在最后阶段架构中采用光纤的任何宽带网络架构的光纤接入x(FTTx)、以及电缆数据服务接口规范(DOCSIS)有线电视(CATV)、。架构也可以协同任何3G/4G/LTE蜂窝无线以及WiFi/WiMAX环境来操作。本公开的架构可以包括能够进行传输控制协议/互联网协议(TCP/IP)通信以用于在网络中发送和/或接收分组的配置。
如本文的说明书所采用的,术语“网路元件”意指包括任何上述元件、以及服务器、端用户设备、路由器、交换机、线缆箱、网关、桥、负载均衡器、防火墙、内联服务节点、代理、处理器、模块、或者任何合适的设备、组件、元件、专有装置、或者可操作以在网络环境中交换、接收、以及发送信息的对象。这些网络元件可以包括促进其操作的任何合适的硬件、软件、组件、模块、接口、或对象。这可以包括允许有效数据或信息交换的适当的算法以及通信协议。
在一个实现方式中,本文所描述的网络扩展硬件、交换机、服务器、接口和/或端口可以包括实现(或促进)本文所讨论的用于实现网络组件的配置之间的通信功能的软件。这可以包括促进本文所描述的活动的网络扩展硬件、交换机、服务器、和/或任何适合的元件的例子的实现方式。此外,这些元件的每一个可以具有内部的结构(例如,处理器、存储器元件等等)来促进本文所描述的一些操作。在其他实施例中,这些用于实现网络元件间的通信和/或网络元件的配置的功能可以在这些元件外部被执行,或者被包括在一些其他网络元件中来实现预期的功能。替代地,网络扩展硬件、交换机、服务器、接口、和/或端口可以包括可与其他网络元件相协调以实现本文所描述的配置功能的软件(或往复式软件)。在其他实施例中,一个或一些设备可以包括促进这些操作的任何适合的算法、硬件、软件、组件、模块、接口、或者对象。
在某些的示例实现方式中,本文所概述的设备、接口、和/或端口配置功能可以由在一个或多个非暂态有形介质中所编码的逻辑(例如,专用集成电路(ASIC)中提供的嵌入式逻辑、数字信号处理器(DSP)指令、在由一个或多个处理器(例如,210)或其他相似的机器执行的软件(可能地包括目标代码和源代码)等)来实现。在这些实例的一些实例中,一个或多个存储器元件可以储存用于本文描述操作的数据。这包括存储器元件能够储存被执行用来实施本说明所描述的活动的指令(例如软件、代码等等)。存储器元件还被配置来储存诸如映射库的数据库,来使得在本文所描述的网络元件之间能够进行通信和/或实现网络元件的配置。处理器可以执行与数据相关联的任何类型的指令来实现在本说明中所详细描述的操作。在一个示例中,处理器能够将元件或对象(例如,数据)从一个状态或事物转换到另一个状态或事物。在另一示例中,本文所描述的活动可以用固定的逻辑或者可编程的逻辑(例如,由处理器执行的软件/计算机指令)来实现,并且本文所参与的元件可以是一些类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或者包括数字逻辑、软件、代码、电子指令的ASIC、或者它们任何适合的组合)。
任何这些元件(例如,网络元件、接口、网络扩展硬件、端口等等)可以包括如本文所描述的用于储存信息的存储器元件,该信息用于实现网络元件间的通信和/或网络元件的配置)。此外,这些设备中的每一个可以包括可以执行软件或算法的处理器来执行如本说明书中所论述的尺寸估算活动。按需地基于特定需求,这些设备还可以将信息保存在任何适合的存储器元件(随机存取存储器(RAM)、ROM、EPROM、EEPROM、ASIC等等)、软件、硬件、或任何其他适合的组件、设备、元件、或对象中。本文所讨论的任何存储项应该理解为包含在广义的“存储器元件”中。相似地,本说明书中所描述的任何可能的处理元件、模块、以及机器应该被理解为包含在广义的术语“处理器”中。每个网络元件还可以包括用于在网络环境中接收、发送、和/或以其他方式传输数据或信息的适合的接口。
此外,应当注意,通过以上提供的示例,可以针对两个、三个、或四个网络元件来描述交互。然而,这仅仅用于明晰与示例的目的。在某些情境下,通过仅仅参考有限数量的网络元件来描述给定流程集合的一个或多个功能会更加简单。应当意识到本文所描述的系统是易于伸缩的、并且还可以容纳大量的组件以及更加复杂/精细的布置与配置。相应地,所提供的示例不应该限制范围或抑制能够实现网络元件之间的通信和/或网络元件的配置的广义技术,因为这些示例潜在地适用于多种其他结构。
同样重要的是应当注意在图3、图4、以及图5中的步骤仅仅示出了可以由本文所描述的逻辑执行/或在逻辑中执行的一些可能的场景。这些步骤中的一些可以适当地被删除或移动,或者这些步骤可以在不偏离本公开的范围的情境下,相当程度地被修改或者改变。此外,这些操作中的一些被描述为被同时执行或者平行于一个或多个另外的操作被执行。然而,这些操作的时序可能相当程度地被改变。上述操作流程出于示例与讨论的目而提供。网络扩展硬件、网络组件提供大量的灵活性,因为在不偏离本公开的教导的情境下,可以提供任何适合的布置、时序、配置以及定时机制。
还应当注意许多先前的讨论可以暗示单独的客户短-服务器关系。事实上,在本公开的某些实现方式中,递送层存在大量服务器。而且,本公开可以易于扩展适用于中间服务器,尤其在架构中的上游,但这不一定与经由“n”个服务器的“m”个客户相关。任何这种置换、扩展、以及配置清晰地在本公开的宽泛范围中。
在一个示例的实现方式中,如本文所讨论的任何存储器可以被用来储存在实现过程中所访问的信息。此外,如本说明书所公开的,网络扩展硬件、接口、或端口可以包括可执行软件或算法以实现网络元件之间的通信和/或网络元件的配置的处理器实例。基于特定需要适当地,这些设备还可以将信息(例如,变量)保存在任何适合的存储元件(随机存取存储器(RAM)、ROM、EPROM、EEPROM、ASIC等等)、软件、硬件、或任何其他适合的组件、设备、元件、或对象中。本文所讨论的任何存储项(例如,数据库、表格、树、缓存等等)应该被理解为包含在广义术语“存储器元件”中。相似地,在本说明书中所描述的任何可能的处理元件、模块、以及机制应该被理解为包括在广义术语“处理器”中。网络扩展硬件、接口、或端口中的每一个还可以包括用于接收、发送、和/或以其他方式在网络环境中传输数据或信息的适合的接口。
以上描述一些实施例的特征,以使得本领域技术人员可以更好地理解本公开的方面。本领域技术人员应当意识到他们可以容易地使用本公开以作为设计或修改用于执行与本文所介绍的实施例相同的目的和/或是实现相同优势的其他过程和结构的基础。本领域技术人员应到了解这种等同的建设不偏离本公开的精神与范围,并且他们在不偏离本公开的精神与范围下可以做各种变化、替代、以及改造。
本公开的特定实施例可以易于包括片上系统(SOC)中央处理单元(CPU)封装。SOC代表将计算机组件或其他电子系统集成到单独的芯片的集成电路(IC)。它可以包含数字、模拟、混合信号、以及射频功能:其全部可以在单独芯片基底上提供。其他实施例可以包括多芯片模块(MCM),MCM具有位于单独电子封装中并且被配置通过电子封装与彼此紧密互联的多个芯片。在各种其他实施例中,数字信号处理功能可以被实现在专用集成电路(ASIC)、现场可编程门阵列(FPGA)以及其他半导体芯片中的一个或多个硅核心。
在示例实现方式中,本文所描述的处理活动的至少一些部分还可以在软件中被实现。在一些实施例中,一个或多个这种特性可以在本公开的附图的元件以外提供的硬件中被实现,或以任何适当的方法结合来实现期望的功能。各种组件可以包括可以协调从而实现本文所描述的操作的软件(或往复式软件)。在其他实施例中,这些元件可以包括促进操作的任何适合的算法、硬件、软件、组件、模块、接口、或对象。
在一个示例实施例中,本文所公开的任何数量的实施例可以在相关联的电子设备的底板上被实施。底板可以是可以容纳电子设备的内部电子系统的各种组件并且还提供用于其他外部设备的连接器的一般电路板。更具体地,底板可以提供电子连接,系统的其他组件能够通过上述电子连接以电子的方式通信。任何适合的处理器(包括数据信号处理器、微处理器、辅助芯片组等等)、计算机可读非暂态存储元件等等可以被基于特定的配置要求、处理需求、计算机设计等等而适当地耦接到底板上。诸如外部存储设备、附加传感器、用于音频/视频播放的控制器、以及外部设备之类的其他组件可以作为插卡通过线缆作为插入卡被附接至地板或被集成到底板自身上。
任何适合配置的处理器组件能够执行与数据相关联的任何类型的指令来实现本文所详细描述的操作。本文所公开的任何处理器可以将元件或对象(例如,数据)从一个状态或事物转换到另一状态或事物。在另一示例中,本文所描述的活动可以用固定的逻辑或者可编程的逻辑(例如,由处理器执行的软件和/或计算机指令)来实现,并且本文所涉及的元件可以是一些类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除只读存储器(EEPROM))、包括数字逻辑、软件、代码、电子指令的ASIC、闪存、光盘、CD-ROM、DVD ROM、磁卡或光卡、适用于储存电子指令的其他类型的机器可读介质、或它们任何适合的组合。在操作中,处理器可以适当地按需将信息存储在任何适合类型的非暂态存储设备介质(例如,随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)等等)、软件、硬件、或任何其他适合的组件、设备、元件、或对象中。而且,在处理器中被追踪、发送、接收、或储存的数据可以基于特定的需求与实现方式而在任何数据库、寄存器、表格、缓存、列队、控制列表、或存储结构中被提供,所有这些都能在适合的时间表中被引用。本文所讨论的任何存储项应该被理解为包括在宽泛的术语“存储器”或“存储器元件”中。相似地,本文所描述的任何可能的处理元件、模块、以及机制应该被理解为包括在广义的术语“微处理器”或“处理器”中。
本文所描述的实现所有或部分功能的计算机程序逻辑被以各种形式体现,包括但不局限于源代码形式、计算机可执行形式、以及各种中间形式(例如,由汇编器、编译器、链接器、或者定位器生成的形式)。在示例中,源代码包括在各种编程语言中所实现的一系列计算机程序指令,例如,用于各种操作系统或者操作环境的目标代码、汇编语言、或者高级语言(例如,OpenCL、Fortran、C、C++、JAVA、或HTML。源代码可以是计算机可执行形式(例如,通过解释程序),或者源代码可以被转换(例如,通过转换器、汇编器、编译器)为计算机可执行形式。
应当注意本文提供了大量示例,可针对两个、三个、四个或更多的电子组件描述交互。然而,这仅仅是为了清晰和示例。应当意识到系统可以以任何适合的方式被加强。随着相似的设计替代,附图中任何所示出的组件、模块、以及元件可以在各种可能的配置中被组合,所有这些显然都在本说明书的宽泛的范围之内。在一定的情境中,通过参考有限数量的电子元件来描述给定流程集合的一个或多个功能可能更加简单。应当意识到附图的电子电路以及它的教导是易于扩展的,并且可以容纳大量的组件以及更加复杂/精细的排列以及配置。相应地,所提供的示例不应该限制范围或阻碍可能适用于大量的其他架构的电子电路的宽泛的教导。
应当注意在本说明中,对包括在“一个实施例”、“示例实施例”、“实施例”、“另一实施例”、“一些实施例”、“各种实施例”、“其他实施例”、“替代实施例”中的各种特性(例如,元件、结构、模块、组件、步骤、操作、性质等等)等的引用意在指任何这种特性被包括在本公开的一个或多个实施例中,但是可以组合在相同实施例中或可以不一定被组合在相同的实施例中。
大量其他改变、代替、变化、变更以及修改可以被本领域技术人员所查明,并且本公开意在包括落在所附权利要求的范围内的所有这些改变、代替、变化、变更以及修改。为了辅助美国专利商标局(USPTO)以及此外辅助在此申请上所公布的任何专利的任何读者理解所附的权力要求,申请者希望注意,申请者:(a)并不意欲使任何所附权利要求援引存在于申请日的35U.S.C章节112的第六段,除非“用于...的手段”或者“用于...的步骤”的词语在特定的权利要求中被具体地采用;以及(b)并不意欲通过在说明书中的任何陈述以其他方式被反映在所附的权利要求中的任何方面来限制本公开。在(上述)这些示例中的“用于...的手段”可以包括(但不局限于)使用本文所讨论的任何适合的组件、以及任何适合的软件、电路、转发器、计算机代码、逻辑、算法、硬件、控制器、接口、链路、总线、通信路径等等。在第二个示例中,系统包括存储器,该存储器还包括当被执行时使得系统来执行上述讨论的任何活动的机器可读指令。
应当注意以上描述的装置的所有可选的特征还可以针对本文所描述的方法或处理而被实现,并且在示例中的细节可以在一个或多个实施例中的任何地方被采用。
根据良好建立的原则:引用关于Paulson,30F.3d1475,1480(Fed.Cir.1994)的专利审查指南(MPEP)2111.01(IV)中的“申请者有权利做他或她自己的编纂者”,特定术语在本文中被清楚地定义。清楚地意指那些术语具有所提供的定义,并且未被给出与那些定义不一致的任何解释。

Claims (20)

1.用于在网络设备与远程搭档设备之间通信的方法,包括:
由所述网络设备经由本地端口接收来自所述远程搭档设备上的物理编码子层PCS发射器的第一消息;
由所述网络设备确定所述本地端口的配置;
如果所述本地端口被配置来在具有第一数据传输速率的单个链路上传输数据,则:
如果由所述网络设备确定本地PCS接收器未能对齐在所述第一消息中接收的数据,则将端口分区以在多个子链路上传输数据,其中,每个子链路具有第二数据传输速率;以及
如果所述本地端口被配置来在所述多个子链路上传输数据,则:
如果由所述网络设备确定所述本地PCS接收器在所述多个子链路中的至少一个子链路上的第二消息中检测到编码违规错误,则聚合所述端口的多个子链路以在具有所述第一数据传输速率的链路上传输数据。
2.根据权利要求1所述的方法,其中,所述第一数据传输速率是所述端口的全数据传输速率容量。
3.根据权利要求1所述的方法,其中,所述分区还包括使每个子链路具有所述第一数据传输速率的相等份额。
4.根据权利要求1所述的方法,其中,确定所述本地PCS接收器未能对齐在第一消息中接收的数据包括:
由所述本地PCS接收器接收所述第一消息中的多个PCS线路;以及
确定所述本地PCS接收器未能对齐在所述第一消息中的所述多个PCS线路的每个PCS线路上的数据。
5.根据权利要求4所述的方法,其中,所述网络设备在一段时间内周期性地确定所述本地PCS接收器是否对齐在所述第一消息中接收的数据;以及其中仅当在所述一段时间之后的时间做出所述本地PCS接收器未能对齐所述数据的确定时,所述端口被分区。
6.根据权利要求1所述的方法,其中,所述本地PCS接收器检测第二消息中的编码违规错误包括:
由所述本地PCS接收器接收所述第二消息,所述第二消息包括所述多个子链路中的所述至少一个子链路上的线路对齐标志块;以及
基于所述线路对齐标志块未符合与所述多个子链路中的所述至少一个子链路相关联的PCS协议,生成所述编码违规错误。
7.根据权利要求6所述的方法,还包括:
在一段时间内周期性地确定所述本地PCS接收器是否检测到所述第二消息中的编码违规错误;以及
其中仅当在所述一段时间之后的时间做出所述本地PCS接收器检测到所述编码违规错误的确定时,所述端口的多个子链路被聚合。
8.根据权利要求1所述的方法,其中,所述PCS发射器包括如下各项中的至少一项:一个或多个10GBASE-R PCS链路、40GBASE-R PCS链路、或者100GBASE-R PCS链路。
9.根据权利要求1所述的方法,其中,所述PCS接收器包括40GBASE-R PCS链路,并且所述多个子链路包括四个10GBASE-R PCS链路,或者所述PCS接收器包括100GBASE-R PCS链路,并且所述多个子链路包括十个10GBASE-R PCS链路。
10.根据权利要求8所述的方法,其中,所述一个或多个10GBASE-R PCS链路、40GBASE-RPCS链路、以及100GBASE-R PCS链路中的每一个均是符合电气与电子工程师协会IEEE802.3-2012标准的物理层设备。
11.一种网络设备,包括:
本地端口;
至少一个存储器元件;
耦接到所述至少一个存储器元件与所述本地端口的至少一个处理器;以及
端口配置模块,当被所述至少一个处理器执行时被配置来:
经由所述本地端口接收来自远程搭档设备上的物理编码子层PCS发射器的第一消息;
由所述网络设备确定所述本地端口的配置;
如果所述本地端口被配置为在具有第一数据传输速率的单个链路上传输数据,则:
如果确定所述本地PCS接收器未能对齐在所述第一消息中接收的数据,则将所述端口分区以在多个子链路上传输数据,其中每个子链路具有第二数据传输速率;以及
如果所述本地端口被配置以在所述多个子链路上传输数据,则:
如果确定所述本地PCS接收器在所述多个子链路中的至少一个子链路上的第二消息中检测到编码违规错误,则聚合所述端口的多个子链路以在具有所述第一数据传输速率的链路上传输数据。
12.根据权利要求11所述的网络设备,其中,确定所述本地PCS接收器未能对齐在第一消息中接收的数据包括:
由所述本地PCS接收器接收所述第一消息中的多个PCS线路;以及
确定所述本地PCS接收器未能对齐在所述第一消息中的所述多个PCS线路中的每个PCS线路上的数据。
13.根据权利要求11所述的网络设备,其中,所述本地PCS接收器检测第二消息中的编码违规错误包括:
由所述本地PCS接收器接收所述第二消息,所述第二消息包括在所述多个子链路中的所述至少一个子链路上的线路对齐标识块;以及
基于所述线路对齐标志块未符合与所述多个子链路中的所述至少一个子链路相关联的PCS协议,生成所述编码违规错误。
14.根据权利要求13所述的网络设备,还包括:
在一段时间内周期性地确定所述本地PCS接收器是否在所述第二消息中检测到编码违规错误;以及
其中仅当在所述一段时间之后的时间做出所述本地PCS接收器检测到所述编码违规错误的确定时,所述端口的多个子链路被聚合。
15.根据权利要求11所述的网络设备,其中所述PCS接收器包括40GBASE-R PCS链路,并且所述多个子链路包括四个10GBASE-R PCS链路,或者所述PCS接收器包括100GBASE-R PCS链路,并且所述多个子链路包括十个10GBASE-R PCS链路。
16.一种计算机可读非暂态介质,该计算机可读非暂态介质包括用于在网络设备与远程搭档设备之间通信的一个或多个指令,当所述一个或多个指令在处理器上被执行时将所述处理器配置为执行一个或多个操作,所述一个或多个操作包括:
由所述网络设备通过本地端口接收来自所述远程搭档设备上的物理编码子层PCS发射器的第一消息;
由所述网络设备确定所述本地端口的配置;
如果所述本地端口被配置来在具有第一数据传输速率的单个链路上传输数据,则:
如果由所述网络设备确定本地PCS接收器未能对齐在所述第一消息中接收的数据,则将所述端口分区以在多个子链路上传输数据,其中每个子链路具有第二数据传输速率;
如果所述本地端口被配置为在所述多个子链路上传输数据,则:
如果由所述网络设备确定所述本地PCS接收器在所述多个子链路中的至少一个子链路上的第二消息中检测到编码违规错误,则聚合所述端口的多个子链路以在具有所述第一数据传输速率的链路上传输数据。
17.根据权利要求16所述的计算机可读非暂态介质,其中,确定所述本地PCS接收器未能对齐在所述第一消息中接收的数据包括:
由所述本地PCS接收器接收所述第一消息中的多个PCS线路;以及
确定所述本地PCS接收器未能对齐在所述第一消息中的所述多个PCS线路中的每个PCS线路上的数据。
18.根据权利要求16所述的计算机可读非暂态介质,其中,所述本地PCS接收器检测第二消息中的编码违规错误包括:
由所述本地PCS接收器接收所述第二消息,所述第二消息包括所述多个子链路中的所述至少一个子链路上的线路对齐标识块;以及
基于所述线路对齐标志块未符合与多个子链路中的所述至少一个子链路相关联的PCS协议,生成编码违规错误。
19.根据权利要求18所述的计算机可读非暂态介质,还包括:
在一段时间内周期性地确定所述本地PCS接收器是否在所述第二消息中检测到编码违规错误;以及
其中仅当在所述一段时间之后的时间做出所述本地PCS接收器检测到所述编码违规错误的确定时,所述多个子链路被聚合。
20.根据权利要求16所述的计算机可读非暂态介质,其中,所述PCS接收器包括40GBASE-R PCS链路,并且所述多个子链路包括四个10GBASE-R PCS链路,或者所述PCS接收器包括100GBASE-R PCS链路,并且所述多个子链路包括十个10GBASE-R PCS链路。
CN201580037161.0A 2014-07-09 2015-07-07 基于远程链路搭档来配置本地链路的方法、系统及逻辑 Active CN106471780B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/327,085 US9608865B2 (en) 2014-07-09 2014-07-09 Method, system and logic for configuring a local link based on a remote link partner
US14/327,085 2014-07-09
PCT/US2015/039380 WO2016007514A1 (en) 2014-07-09 2015-07-07 Method, system and logic for configuring a local link based on a remote link partner

Publications (2)

Publication Number Publication Date
CN106471780A CN106471780A (zh) 2017-03-01
CN106471780B true CN106471780B (zh) 2019-09-13

Family

ID=53724462

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580037161.0A Active CN106471780B (zh) 2014-07-09 2015-07-07 基于远程链路搭档来配置本地链路的方法、系统及逻辑

Country Status (4)

Country Link
US (1) US9608865B2 (zh)
EP (1) EP3167580B1 (zh)
CN (1) CN106471780B (zh)
WO (1) WO2016007514A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9608865B2 (en) 2014-07-09 2017-03-28 Cisco Technology, Inc. Method, system and logic for configuring a local link based on a remote link partner
US9532488B2 (en) * 2015-03-09 2016-12-27 Vapor IO Inc. Rack for computing equipment
WO2017040489A1 (en) * 2015-08-31 2017-03-09 Intel Corporation Register read and write operations over auto negotiation next pages
CN108023743B (zh) 2016-10-31 2020-04-28 华为技术有限公司 一种端口的自协商方法和设备
US10565149B2 (en) 2018-04-06 2020-02-18 Embrionix Design Inc. Standardized hot-pluggable transceiving unit, hosting unit and method for applying delays based on port positions
CN110532060B (zh) * 2019-08-10 2022-05-03 佳都科技集团股份有限公司 一种混合网络环境数据采集方法及系统
US11863357B2 (en) * 2019-11-29 2024-01-02 Intel Corporation Communication link re-training
CN116846517B (zh) * 2023-08-31 2024-01-02 之江实验室 一种网络数据的传输方法、装置、存储介质及电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0596648A1 (en) * 1992-11-02 1994-05-11 National Semiconductor Corporation Network link endpoint capability detection
US7200153B2 (en) * 2001-09-20 2007-04-03 Intel Corporation Method and apparatus for autosensing LAN vs WAN to determine port type
US7433971B2 (en) * 2001-11-16 2008-10-07 Intel Corporation Interface and related methods for dynamic channelization in an ethernet architecture
US7720068B2 (en) * 2006-08-23 2010-05-18 Solarflare Communications, Inc. Method and system for a multi-rate gigabit media independent interface
KR20130033059A (ko) 2011-09-26 2013-04-03 한국전자통신연구원 동적 레인 운용을 위한 다중 레인 기반 이더넷 장치 및 이더넷 장치의 운용 방법
US20140003283A1 (en) * 2012-06-28 2014-01-02 David J. Koenen Network lane reconfiguration
US9608865B2 (en) 2014-07-09 2017-03-28 Cisco Technology, Inc. Method, system and logic for configuring a local link based on a remote link partner

Also Published As

Publication number Publication date
CN106471780A (zh) 2017-03-01
WO2016007514A1 (en) 2016-01-14
US9608865B2 (en) 2017-03-28
EP3167580A1 (en) 2017-05-17
EP3167580B1 (en) 2020-09-02
US20160013978A1 (en) 2016-01-14

Similar Documents

Publication Publication Date Title
CN106471780B (zh) 基于远程链路搭档来配置本地链路的方法、系统及逻辑
US11082262B2 (en) Flow entry generating method and apparatus
CN106664261B (zh) 一种配置流表项的方法、装置和系统
CN103444143B (zh) 网络系统及策略路由设置方法
CN106797324A (zh) 用于在误配置时支持分布式中继控制协议(drcp)操作的方法和系统
CN106416132A (zh) 使用控制器处的交换机建模接口控制网络交换机的系统和方法
CN105308914A (zh) 用于在通信故障时支持分布式中继控制协议(drcp)操作的方法和系统
CN106603550B (zh) 一种网络隔离方法及装置
CN105376154A (zh) 渐进式mac地址学习
CN104025522A (zh) 扩展基于openflow的分离式体系结构网络的网络功能性
CN105337853A (zh) 一种软件定义网络中的实例建立方法和装置
CN108289061B (zh) 基于sdn的业务链拓扑系统
CN108809794A (zh) 基于sdn的传送网虚拟网络创建方法和装置及传送网络系统
CN110351286A (zh) 一种软件定义网络中链路洪泛攻击检测响应机制
WO2021098824A1 (zh) 网络切片创建方法、基础网络控制器、系统和存储介质
CN113810206A (zh) 一种网络自动化编排管理方法、实体、控制器及电子设备
KR102168047B1 (ko) 클라우드 네트워크들에서의 가상 회로들
CN105812221B (zh) 虚拟可扩展本地区域网络中数据传输的设备和方法
CN105049367B (zh) 一种聚合链路的流量分配方法和接入设备
CN107769964B (zh) 专线核查方法及系统
CN104954439B (zh) 一种云服务器及其节点互联方法、云服务器系统
CN111211977B (zh) 一种支持外界多异构信道连接的舰船通信方法及系统
CN109688071A (zh) 一种灵活以太网报文转发方法及装置
CN110249611A (zh) 流量工程业务映射
CN108989157A (zh) 用于智能设备控制的方法、装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant