CN112448900A - 一种数据传输方法及装置 - Google Patents
一种数据传输方法及装置 Download PDFInfo
- Publication number
- CN112448900A CN112448900A CN201910824502.9A CN201910824502A CN112448900A CN 112448900 A CN112448900 A CN 112448900A CN 201910824502 A CN201910824502 A CN 201910824502A CN 112448900 A CN112448900 A CN 112448900A
- Authority
- CN
- China
- Prior art keywords
- forwarding table
- interface
- network
- network address
- switching
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000005540 biological transmission Effects 0.000 title claims abstract description 36
- 238000012545 processing Methods 0.000 claims description 22
- 238000011144 upstream manufacturing Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 8
- 239000010410 layer Substances 0.000 description 45
- 238000013461 design Methods 0.000 description 37
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 230000002159 abnormal effect Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 230000002776 aggregation Effects 0.000 description 7
- 238000004220 aggregation Methods 0.000 description 7
- 230000006855 networking Effects 0.000 description 7
- 239000012792 core layer Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 101000987013 Homo sapiens Tumor protein p53-inducible protein 13 Proteins 0.000 description 3
- 102100027879 Tumor protein p53-inducible protein 13 Human genes 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000000224 chemical solution deposition Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5077—Network service management, e.g. ensuring proper service fulfilment according to agreements wherein the managed service relates to simple transport services, i.e. providing only network infrastructure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0843—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5019—Ensuring fulfilment of SLA
- H04L41/5022—Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3045—Virtual queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/149—Network analysis or design for prediction of maintenance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种数据传输方法及装置,涉及计算机技术领域,解决了PFC死锁的问题。所述方法包括:第一交换设备从第一入接口接收第二交换设备发送的包括目的主机地址、第一优先级标识以及第一数据的第一数据报文,若在预设的第一转发表中存在与目的主机地址、第一入接口、第一优先级标识匹配的第一表项,第一转发表中每个表项对应有切换策略,则第一交换设备根据第一表项对应的第一切换策略,通过第二优先级标识对应的队列发送包括目的主机地址、第二优先级标识以及第一数据的第二数据报文。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据传输方法及装置。
背景技术
随着网络技术的发展,数据中心已成为提供因特网络服务、分布式并行计算等的基础架构。为数据中心设计可扩展的网络架构和高效的路由算法是当前学术界的研究热点。业界一般采用克洛斯(CLOS)网络来搭建数据中心。
为了融合高速存储块数据传输协议(fibre channel,FC)、远程直接内存访问(remote direct memory access,RDMA)等专用承载的无损业务,基于优先级的流量控制(priority flow control,PFC)成为数据中心CLOS组网的主流技术。PFC的工作原理为:在一条以太网链路上创建8个虚拟队列,并为每条虚拟队列指定相应优先级,允许单独暂停和重启其中任一条虚拟队列,同时允许其他虚拟队列的流量无中断通过。
虽然,PFC可通过给不同队列映射不同优先级来实现基于队列的流控,但同时也因PFC反压引入了新的问题:PFC死锁(dead lock)。PFC死锁是指当多个交换机之间因链路故障或者其他重路由场景等原因形成环形缓存依赖(cyclic buffer dependency,CBD)的情况下,若某个交换机的入接口出现拥塞,各自端口缓存消耗超过阈值,而又相互等待对方释放资源,从而导致所有交换机上的数据流都永久阻塞的一种网络状态,严重影响数据传输。
目前,使用最广泛的是事后解除PFC死锁的方法,如:每台交换机独立检测PFC死锁并恢复,当交换机检测到一个队列一段时间内持续处于PFC-暂停(XOFF)状态时,就认为发生了PFC死锁,交换机触发中断通知软件着手PFC死锁恢复,如:忽略该PFC死锁队列的PFC-XOFF状态,继续调度(如:向对端发包或者直接丢包等)。但是,这种方式会导致PFC死锁恢复期间丢包,并且,交换机之间如果持续CBD会陷入PFC解锁后又再次PFC死锁的循环。
发明内容
本申请提供一种数据传输方法及装置,以解决PFC死锁的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种数据传输方法,所述方法包括:第一交换设备从第一入接口,接收第二交换设备发送的包括目的主机地址、第一优先级标识以及第一数据的第一数据报文,确定在用于转发先下后上down-up数据流的预设的第一转发表中是否匹配到目的主机地址、第一入接口以及第一优先级标识;若预设的第一转发表中存在与目的主机地址、第一入接口以及第一优先级标识匹配的第一表项,则第一交换设备根据第一表项对应的包括第二优先级标识的第一切换策略,通过第二优先级标识对应队列向第三交换设备发送包括目的主机地址、第二优先级标识以及第一数据的第二数据报文。
基于第一方面所述的方法,第一交换设备可以预先为用于转发down-up数据流的表项配置切换策略,在第一交换设备接收到数据报文后,第一交换设备可以在预设的第一转发表中匹配该数据报文,查看与该数据报文匹配的表项是否包括在预设的第一转发表中,若包括,则表示该数据报文为down-up数据流,继而根据与该数据报文匹配的表项对应的切换策略,修改数据报文中的优先级标识,并将修改后的数据报文切换到新的队列传输出去,避免交换设备上接口的拥塞,由此避开PFC死锁。
在一种可能的设计中,结合第一方面,第一转发表由第二转发表中满足第一条件的表项生成,第二转发表中每个表项包括网络地址、入接口以及出接口;其中,第一条件包括下述一种或者多种:表项中的入接口、出接口均为上行口;在第三转发表中匹配到表项中包括的网络地址以及出接口;第三转发表中每个表项包括网络地址、出接口;在第三转发表项中未匹配到表项中包括的网络地址以及入接口。基于该可能的设计,通过判断第二转发表包括的表项中的入接口、出接口的类型,和/或第二转发表包括的表项是否是最优路由,对入接口、出接口均为上行口和/或为最优路由的表项配置切换策略,无需将所有表项配置切换策略,避免对无效的表项配置切换策略,节约资源。
在一种可能的设计中,结合第一方面的可能的设计,所述方法还包括:第一交换设备生成第二转发表,从第二转发表中,确定满足第一条件的表项,根据满足第一条件的表项,生成第一转发表。基于该可能的设计,第一交换设备仅为满足第一条件的表项配置切换策略,避免对无效的表项配置切换策略,节约资源。
在一种可能的设计中,结合第一方面或者第一方面的任一可能的设计,第一转发表包括的表项中的网络地址所标识的网络不是第一交换设备的直连网络。基于该可能的设计,将不发往本地网络的数据流确定为down-up数据流,对用于转发该down-up数据流的表项配置切换策略,简单易行。
在一种可能的设计中,结合第一方面或者第一方面的任一可能的设计,所述方法还包括:第一交换设备从第三转发表中,确定出网络地址所标识的网络不是第一交换设备的直连网络的表项;其中,第三转发表中的表项包括网络地址、出接口;第一交换设备根据确定出的表项生成第一转发表。基于该可能的设计,第一交换设备可以为第三转发表中用于转发down-up数据流的表项配置切换策略,简单易行。
在一种可能的设计中,结合第一方面或者第一方面的任一可能的设计,第一转发表中每个表项包括的网络地址所标识的网络包括在预设的目的网络中。基于该可能的设计,将发往预设的目的网络数据流确定为down-up数据流,对用于转发该down-up数据流的表项配置切换策略,简单易行。
在一种可能的设计中,结合第一方面或者第一方面的任一可能的设计,所述方法还包括:第一交换设备从第三转发表中,确定出网络地址所标识的网络包括在预设的目的网络的表项;其中,第三转发表中的表项包括网络地址、出接口;第一交换设备根据确定出的表项生成第一转发表。基于该可能的设计,第一交换设备可以为第三转发表中用于转发down-up数据流的表项配置切换策略,简单易行。
在一种可能的设计中,结合第一方面或者第一方面的任一可能的设计在第一交换设备从第二交换设备接收第一数据报文之前,所述方法还包括:第一交换设备接收第三交换设备发送的第一路由报文,根据第一路由报文,生成第二转发表;其中,第一路由报文包括网络地址以及第一下一跳网络地址;第二转发表中表项包括网络地址、入接口以及出接口。
具体的,第一交换设备根据第一路由报文,生成第二转发表,包括:第一交换设备根据第一下一跳网络地址,确定第一交换设备上、与第三交换设备连接的第一物理接口;根据第一路由报文生成向第二交换设备发送的第二路由报文;其中,第二路由报文包括网络地址以及第二下一跳网络地址;根据第二下一跳网络地址,确定第一交换设备上、与第二交换设备连接的第二物理接口;将第一物理接口作为出接口、第二物理接口作为入接口,得到第二转发表。基于该可能的设计,可以通过路由传播方法生成第二转发表,简单易行。
在一种可能的设计中,结合第一方面或者第一方面的任一可能的设计第一交换设备从第二交换设备接收第一数据报文之前,所述方法还包括:第一交换设备根据LSDB以及最短路径算法SPF,得到从第一交换设备到目的网络的下一跳网络地址,根据LSDB以及SPF,得到从第一交换设备的上游设备到达目的网络的下一跳网络地址,根据网络地址、从第一交换设备到目的网络的下一跳网络地址、从第一交换设备的上游设备到达目的网络的下一跳网络地址得到第二转发表。基于该可能的设计,可以通过本地预配置的LSDB以及SPF计算出发往目的网络的入接口、出接口,根据计算出的入接口、出接口生成第二转发表,简单易行。
第二方面,本申请提供一种交换装置,该交换装置可以为第一交换设备上的第一交换设备或者第一交换设备中的芯片或者片上系统;该交换装置可以实现上述各方面或者各可能的设计中第一交换设备置所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。如:该交换装置可以包括:接收单元,处理单元,发送单元;
接收单元,用于从第一入接口,接收第二交换设备发送的包括目的主机地址、第一优先级标识以及第一数据的第一数据报文。
处理单元,用于确定在预设的第一转发表中是否匹配到目的主机地址、第一入接口以及第一优先级标识。
发送单元,用于若预设的第一转发表中存在与目的主机地址、第一入接口以及第一优先级标识匹配的第一表项,则根据第一表项对应的包括第二优先级标识的第一切换策略,通过第二优先级标识对应的队列向第三交换设备发送包括目的主机地址、第二优先级标识以及第一数据的第二数据报文。
其中,该交换装置的具体实现方式可以参考第一方面或第一方面的任一种可能的设计提供的数据传输方法中第一交换设备的行为功能,在此不再重复赘述。因此,该提供的交换装置可以达到与第一方面或者第一方面的任一种可能的设计相同的有益效果。
第三方面,提供了一种交换装置,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该交换装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该交换装置执行如上述第一方面或者第一方面的任一种可能的设计所述的数据传输方法。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面或者上述方面的任一种可能的设计所述的数据传输方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面或者上述方面的任一种可能的设计所述的数据传输方法。
第六方面,提供了一种芯片系统,该芯片系统包括处理器、接收器、发送器,用于支持交换装置实现上述方面中所涉及的功能,例如处理器通过接收器从第一入接口,接收第二交换设备发送的包括目的主机地址、第一优先级标识以及第一数据的第一数据报文,确定在用于转发先下后上down-up数据流的预设的第一转发表中是否匹配到目的主机地址、第一入接口以及第一优先级标识,若预设的第一转发表中存在与目的主机地址、第一入接口以及第一优先级标识匹配的第一表项,则根据第一表项对应的包括第二优先级标识的第一切换策略,由发送器通过第二优先级标识对应的队列向第三交换设备发送包括目的主机地址、第二优先级标识以及第一数据的第二数据报文。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存交换装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
其中,第三方面至第六方面中任一种设计方式所带来的技术效果可参见上述第一方面或者第一方面的任一种可能的设计所带来的技术效果,不再赘述。
附图说明
图1为本申请实施例提供的PFC示意图;
图2a为本申请实施例提供的一种PFC死锁示意图;
图2b为本申请实施例提供的又一种PFC死锁示意图;
图2c为路由表与FIB之间的关系示意图;
图3a为本申请实施例提供的一种CLOS组网示意图;
图3b为本申请实施例提供的又一种CLOS组网示意图;
图4为本申请实施例提供的一种交换装置示意图;
图5为本申请实施例提供的一种数据传输方法流程图;
图6a为第一转发表、第二转发表以及第三转发表之间的关系示意图;
图6b为第一转发表、第三转发表之间的关系示意图;
图6c为第一转发表、第三转发表之间的又一关系示意图;
图7为本申请实施例提供的一种生成第二转发表中表项的流程图;
图8为本申请实施例提供的一种生成第二转发表中表项的示意图;
图9为本申请实施例提供的一种交换装置90的组成示意图。
具体实施方式
首先,对本申请实施例涉及的相关技术术语进行介绍:
PFC,是为了满足以太网的无丢包要求而制定的一种暂停机制。PFC允许在一条以太网链路上创建8个虚拟通道(或者称为队列),每条虚拟通道对应一个优先等级,允许单独暂停和重启其中任意一条虚拟通道,同时允许其它虚拟通道的流量无中断通过。PFC使网络为单个虚拟链路创建无丢包类别的服务,使其能够与同一接口上的其它流量类型共存。
不同虚拟通道(或者队列)的优先等级不同,本申请实施例中,以虚拟通道为队列进行说明,队列的优先等级可以用差分服务代码点(differential services code point,DSCP)或者虚拟局域网标签(virtual local area network tag,VLAN Tag)或者服务质量(quality of services,QoS)等标识。因队列的优先等级与队列一一对应,所以,可以采用队列的优先等级来唯一标识队列。数据报文可以从同一入接口下的一个队列切换到另一个队列上。
例如,如图1所示,交换机A的出接口与交换机B的入接口之间的一条以太网链路上可以创建8个队列,交换机B的出接口与交换机C的入接口之间的一条以太网链路上可以创建8个队列。以队列的优先等级用DSCP标识为例,队列1的优先等级为DSCP1,队列2的优先等级为DSCP2,以此类推,队列8的优先等级为DSCP2,若一个数据报文携带DSCP8,则表示该数据报文在队列8上传输,若该数据报文携带的DSCP3,则表示该数据报文在队列3上传输。如图1所示,若交换机B向交换机C发送的第6个队列上传输的数据报文较多,导致交换机C出现拥塞,则交换机C可以通知交换机B暂停第6个队列上的数据报文的传输,其他队列上正常传输。交换机B接收到该暂停通知后,可以将数据报文从队列6切换到其他队列,如:队列3,在队列3上传输。
PFC死锁,是指当多个交换机之间因链路故障或者其他重路由场景等原因形成环形缓存依赖(cyclic buffer dependency,CBD)的情况下,若某个交换机的入接口出现拥塞,各自端口缓存消耗超过阈值,而又相互等待对方释放资源,从而导致所有交换机上的数据流都永久阻塞的一种网络状态,严重影响数据传输。
其中,形成CBD的必要条件为:交换机之间形成“∞”字型的环路,或者,交换机之间形成“△”字型的环路。
例如,图2a所示的二级CLOS组网中存在两条无损队列,其中,交换机11、交换机22、交换机23、交换机12之间形成“∞”字型的CBD。若交换机23发往交换机12的数据流在交换机12的某个接口上出现拥塞,交换机12则向交换机23(即上游设备)发送反压信息(XOFF:流量停止信息),交换机23接收到反压信息后,会根据反压信息向交换机11发送流量停止信息,以此类推,交换机11接收到交换机23发送的反压信息后,向交换机22发送反压信息,交换机22向交换机23发送反压信息,形成PFC死锁。
又例如,如图2b所示,交换机A、交换机B以及交换机C之间形成“△”字型的CBD,若交换机A发往交换机B的数据流在交换机B上出现拥塞,交换机B则向交换机A(即上游设备)发送反压信息(XOFF:流量停止信息),交换机A接收到反压信息后,会根据反压信息向交换机C发送流量停止信息,以此类推,交换机C接收到交换机A发送的反压信息后,向交换机B发送反压信息,交换机B向交换机A发送反压信息,形成PFC死锁。
路由表(routing table),可以称为路由择域信息库(routing informationbase,RIB),路由表是一个存储在交换设备中的电子表格(文件)或类数据库,路由表可以包括一个或多个表项,每个表项可以看做为指向目的网络(或者特定网络地址)的路径,该路径可以是有效的,用来转发数据报文,或者,该路径是无效的,不能用来转发数据报文。
路由表中每个表项至少可以包括<网络地址,出接口>,还可以包括其他信息,如:优先级(pre)、路由开销(cost)等等。网络地址可以包括IP地址或者指网络地址的前几个比特,网络地址可以用于标识最终接收第一数据(或者因特网协议(internet protocol,IP)包)的目的地址或者目的网络。网络地址可以包括IP地址和子网掩码(或者称为前缀长度(prefix length)),如:网络地址=IP地址/子网掩码,由IP地址与子网掩码(mask)一起标识目的主机或者路由器所在的网段的地址。例如,若一个IP地址为:192.168.1.1,子网掩码255.255.255.0,则网络地址为192.168.1.1/24,该网络地址可以用于标识网段192.168.1.0。
需要说明的是,本申请实施例中,路由表中可以新增第一转发表以及第二转发表,第一转发表中可以包括一个或者多个表项,每个表项包括<网络地址,入接口,优先级标识>,优先级标识可以为DSCP或者VLAN Tag等。第二转发表可以包括一个或者多个表项,第二转发表包括的表项可以包括<网络地址,入接口,出接口>。具体的,第一转发表可以根据第二转发表中满足相应条件的表项生成,第二转发表的生成过程可参照下述图5所示方法的第二个场景中方式一或者方式二所述。
此外,本申请实施例所述的第一转发表、第二转发表为示例性命名,可理解的是,还可以采用其他名称,如:第一转发表可以称为数据面转发表,第二转发表可以称为控制面转发表等等,不予限制。
转发信息库(forwarding information base,FIB),可以称为转发表(forwardingtable),或者,在本申请实施例中,FIB可以称为第三转发表。转发表和路由表是两种不同的表,它们共享相同的信息,但是用于不同的目的。转发表在内容上是路由表的一个子集,转发表是依靠路由表来生成的。转发表是一个存储在交换设备中的电子表格(文件)或者类数据库,转发表可以包括一个或者多个表项,每个表项可以看做为指向目的网络(或者特定网络地址)的有效路径,表项可以用来转发数据报文。转发表中的表项至少可以包括:<网络地址,出接口>,还可以包括优先级(pre)、路由开销(cost)等等。例如,如图2c所示,FIB为路由表(或者RIB)的子集。
下面结合说明书附图对本申请实施例的实施方式进行详细描述。
本申请实施例提供的数据传输方法可以应用于多级互联交换网络,如:多级的克洛斯(CLOS)网络。其中,多级的CLOS可以包括基于叶-脊(leaf-spine)的2级CLOS网络或者3级CLOS或者3级以上的CLOS网络。
参照图3a,为本申请实施例提供的2级CLOS网络,如图3a所示,该2级CLOS网络可以包括由上至下的二层交换设备以及底层的服务器或者主机。其中,由上至下的二层分别为核心层、边缘层。核心层的交换设备称为核心交换设备或者脊(spine)交换设备或者根交换设备,边缘层的交换设备称为边缘交换设备或者叶(leaf)交换设备。spine交换设备中的每个交换设备连接每个leaf交换设备,leaf交换设备交换设备之间不直接相连,每个leaf交换设备与主机或服务器直接相连。例如,如图3a所示,交换设备21、交换机22、交换机23以及交换机24与主机或者服务器直接相连,交换机11、交换机12分别与交换设备21、交换机22、交换机23以及交换机24相连。
参照图3b,为本申请实施例提供的3级CLOS网络(或者称为全三层胖树(fat tree)组网),如图3b所示,该3级CLOS网络可以包括由上至下的三层交换设备以及底层的服务器或者主机。其中,由上至下的三层分别为核心层、汇聚层、边缘层。核心层的交换设备称为核心交换设备,汇聚层的交换设备称为汇聚(aggregation,AGG)交换设备,边缘层的交换设备称为边缘交换设备。核心交换设备中的每个交换设备连接每个汇聚交换设备,汇聚交换设备与其处于同一网络的边缘交换设备连接,汇聚交换设备之间不直接相连,边缘交换设备之间也不直接相连,主机或服务器与边缘交换设备直接相连。
其中,图3a、图3b中的交换设备主要用于数据转发或者交换。具体的,本申请实施例所述的交换设备可以为交换机、路由器、交换机或者路由器中用于实现本申请实施例中所述的数据传输方法的芯片或者片上系统(system on chip,SOC)、或其他具有数据转发或者交换功能的设备,不予限制。
需要说明的是,在一个3级以上的CLOS网络中,如:3+1级CLOS交换网络中,i为大于或者等于2的整数,将第一组交换设备中的交换设备称为边缘交换设备,将第i+1组交换设备中的交换设备称为核心交换设备或者根交换设备,将第二组至第j组交换设备中的交换设备称为中间交换设备,j取(2,i+1)中的任一整数。在i+1级CLOS网络中,仅边缘交换设备连接计算节点(如:服务器或者主机)。
此外,图3a、图3b仅为示例性附图,图3a、图3b包括的设备的数量不受限制,且除图3a、图3b所示设备之外,该架构还可以包括其他设备。此外,图3a、图3b中各个设备的名称不受限制,除图3a、图3b所示名称之外,各个设备还可以命名为其他名称,不予限制。
以图3a为例,在图3a所示CLOS组网中,存在3条无损数据流:交换设备21→交换设备11→交换设备23→交换设备12→交换设备24,交换设备24→交换设备12→交换设备22→交换设备11→交换设备21,以及交换设备22→交换设备11→交换设备23。从图3a可知,从交换设备11→交换设备23→交换设备12的数据流为先下后上(down-up)数据流,从交换设备12→交换设备22→交换设备11的数据流也为down-up数据流,从交换设备22→交换设备11→交换设备23的数据流为先上后下(up-down)数据流。其中,down-up数据流可以指:从趋向CLOS根的上行(up)口进入、再从趋向CLOS根的up口发出的数据流,down-up数据流为非正常数据流,up-down数据流可以从趋向CLOS根的up口进入、再从远离CLOS根的下行(down)口发出的数据流,up-down数据流为正常数据流。本申请实施例中,上行(up)口和下行(down)口为相对概念,上行口可以指交换设备上趋向CLOS根的物理接口,下行口可以指交换设备远离CLOS根的物理接口。
由图3a可知,两个非正常的down-up数据流:从交换设备11→交换设备23→交换设备12的数据流和从交换设备12→交换设备22→交换设备11之间可以形成上述的“∞”字型的环路,在交换设备11、交换机12、交换设备22以及交换设备23中某个交换设备的接口上的拥塞的情况下,容易陷入PFC死锁。
为解决图3a所示的PFC死锁的问题,可以在数据传输之前,识别出非正常的down-up数据流,并对非正常的down-up数据流进行队列切换,将该非正常的down-up数据流切换到其他队列上,如:切换到其他空闲队列或者无损队列上,以此避免交换设备接口上的拥塞,避免(或者提前预防)PFC死锁。但是,形成非正常的down-up数据流的必要条件是数据流的入接口、出接口均为上行(up)口,如:若数据流从交换机22的一个up口流入交换机22,再从交换机22的又一个up口发送出去,则该数据流必定会向CLOS根部发送,形成down-up数据流,所以,只有识别出数据流的入接口、出接口的类型,即可根据数据流的入接口、出接口的类型确定出非正常的down-up数据流,进而对该非正常的down-up数据流进行队列,避免PFC死锁。
但是,现有技术中,等价多路径(equal cost multiple path,ECMP)在交换芯片ingress pipeline中的报文匹配模块(或者称为入向过滤处理器(ingress filterprocesser,IFP))后面,IFP完全看不到出接口,即IFP在ECMP之前执行报文匹配,导致IFP只知道数据报文的入接口(ingress port),IFP无法匹配出接口(egress port),导致无法根据入接口、出接口的类型识别出非正常的down-up数据流,并对非正常的down-up数据流进行队列切换。
为解决上述问题,本申请实施例提供了一种数据传输方法,在数据传输之前,预先为用于转发非正常的down-up数据流的表项配置切换策略,后续,在数据报文传输过程中,一旦有数据报文的目的主机地址、入接口以及优先级标识匹配到第一转发表,则表示该数据报文为非正常传输的down-up数据流,按照与数据报文的目的主机地址、入接口以及优先级标识匹配的第一表项对应的切换策略,将该数据报文切换到新的队列上,通过新的队列(如无损队列或者空闲队列)传输该数据报文,避免交换设备的接口上出现拥塞,以此避免PFC死锁。具体的,该方法可参照图5所示方法。
在具体实现时,图3a、图3b所示各交换设备均可以采用图4所示的组成结构,或者包括图4所示的部件。图4为本发明实施例提供的交换装置的可能的结构图。该交换装置例如为前述边缘交换机、接入交换机、汇聚交换机和核心交换机。该交换装置400可以为交换设备或者交换设备中的芯片或者片上系统,如图4所示,该交换装置400包括处理器401、发送器402、接收器403、物理接口404。进一步的,该交换装置400还可以包括存储器405。其中,处理器401、发送器402、接收器403、物理接口404之间可以通过通信总线连接。
其中,处理器401是中央处理器(central processing unit,CPU)、通用处理器网络处理器(network processor,NP)、数字信号处理器(digital signal processing,DSP)、微处理器、微控制器、可编程逻辑器件(programmable logic device,PLD)或它们的任意组合。处理器401还可以是其它具有处理功能的装置,例如电路、器件或软件模块,不做限制。
发送器402、接收器403,用于与其他设备或其它通信网络进行通信。该其它通信网络可以为以太网,无线接入网(radio access network,RAN),无线局域网(wireless localarea networks,WLAN)等。发送器402、接收器403可以是模块、电路、收发器或者任何能够实现通信的装置。发送器402、接收器403在物理上可以相互独立也可以集成在一起。
发送器402可以通过物理接口404将数据包发送给相邻的交换设备。接收器403可以通过物理接口404接收相邻的交换设备发送的数据包。
存储器405,用于存储指令。其中,指令可以是计算机程序。
其中,存储器405可以是只读存储器(read-only memory,ROM)或可存储静态信息和/或指令的其他类型的静态存储设备,也可以是随机存取存储器(random accessmemory,RAM)或可存储信息和/或指令的其他类型的动态存储设备,还可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或其他磁存储设备等,不予限制。
需要指出的是,存储器405可以独立于处理器401存在,也可以和处理器401集成在一起。存储器405可以用于存储路由表、转发表,还可以存储指令或者程序代码或者一些数据等。存储器405可以位于交换装置400内,也可以位于交换装置400外,不做限制。处理器401用于执行存储器405中存储的指令实现本申请下述实施例提供的数据传输发送。
在一种示例中,处理器401可以包括一个或多个CPU,例如图4中的CPU0和CPU1。
作为一种可选的实现方式,交换装置400包括多个处理器,例如,除图4中的处理器401之外,还可以包括处理器406。
需要指出的是,交换装置400可以是路由器、交换机、嵌入式设备、芯片系统或有图4中类似结构的设备。此外,图4中示出的组成结构并不构成对该交换装置的限定,除图4所示部件之外,该交换装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
此外,本申请的各实施例之间涉及的动作、术语等均可以相互参考,不予限制。本申请的实施例中各个设备之间交互的消息名称或消息中的参数名称等只是一个示例,具体实现中也可以采用其他的名称,不予限制。
下面以图3a所示架构为例,对本申请实施例提供的数据传输方法进行描述。下述实施例中的各交换设备可以具备图4所示部件,不予赘述。
图5为本申请实施例提供的一种数据传输方法,如图5所示,该方法可以包括:
步骤501:第一交换设备从第一入接口,接收第二交换设备发送的第一数据报文。
其中,第一交换设备可以为图3a中的任一交换设备。第二交换设备可以为与第一交换设备连接的任一节点。例如,若第一交换设备为图3a中的交换机22,第二交换设备可以为图3a中的交换机12。
其中,第一数据报文为在第一队列上传输的、发往第一目的网络的数据报文。第一数据报文可以包括目的主机地址、第一优先级标识以及第一数据,还可以包括其他信息,不予限制。具体的,第一数据报文可以包括报头(header)和净荷(playload)。目的主机地址以及第一优先级标识可以携带在第一数据报文的报头中,第一数据可以携带在第一数据报文的净荷中。
其中,目的主机地址可以用于唯一标识目的网络中的某个主机,目的主机地址可以为目的主机的因特网协议(internet protocol,IP)地址,目的主机地址可以由网络地址和主机号(或者称为主机地址)组成,目的主机为最终接收第一数据的主机或者服务器,网络地址可以为目的主机所在网络的网络地址。例如,目的主机地址可以为:192.168.1.1,其中,若该目的主机所在网络的网络地址为192.168.1.0/24,则该主机在网络中的主机号为:0.0.0.1。
其中,第一入接口可以为第一交换设备上、用于接收第一数据报文的物理接口。
其中,第一优先级标识可以用于标识原本配置好的、用于传输该第一数据报文的第一队列。第一优先级标识可以为DSCP或者VLAN Tag等,不予限制。
其中,第一数据报文携带的第一数据可以为图3a中任一服务器生成的、发往目的服务器(或者目的网络)的第一数据,生成第一数据的服务器可以称为源数据设备。
步骤502:第一交换设备确定在预设的第一转发表中是否匹配到目的主机地址、第一入接口以及第一优先级标识。
其中,预设的第一转发表可以在数据传输之前,预先配置在第一交换设备上,预设的第一转发表可以包括一个或多个表项,第一转发表包括的表项包括网络地址、入接口以及优先级标识,每个表项对应一个切换策略,每个表项用于转发down-up数据流。
其中,预设的第一转发表中每个表项可以为<网络地址,入接口,优先级标识>,该表项可以表示从该入接口发往目的网络、且在该优先级标识所标识的队列上传输的数据流为down-up数据流,以该表项包括的优先级标识为源优先级标识为例,该表项<网络地址,入接口,源优先级标识>对应的切换策略可以为action<目的优先级标识>,该切换策略可以用于指示将在源优先级标识所标识的队列上传输的数据报文切换到目的优先级标识所标识的队列上。
例如,假设预设的第一转发表中包括第一表项<目的网络A,接口2,优先级标识1>,该第一表项的切换策略为<目的网络A,接口2,优先级标识1>action<优先级标识2>,优先级标识1用于标识队列1,优先级标识2用于标识队列2。若有从接口2进入、且在队列1上传输的、发往目的网络A的数据报文,则将该数据报文切换到优先级标识2所标识的队列2上,同时,将该数据报文包括的队列优先级标识从优先级标识1修改为优先级标识2,并将修改后的数据报文通过队列2发送出去。优先级标识可以为DSCP或者VLAN Tag。
示例性的,第一交换设备可以从第三转发表和/或第二转发表中识别出用于转发down-up数据流的表项,将识别出的表项转换成格式为:<网络地址,入接口,优先级标识>的表项后添加到预设的第一转发表。其中,第三转发表可以为本地存储的FIB,第二转发表可以为根据下述图7或者其他方式生成的转发表。
其中,用于转发down-up数据流的表项满足下述条件一~条件三中任一个条件,第一交换设备从本地存储的第三转发表和/或第二转发表中识别满足条件一~条件三中任一条件的表项,将该表项作为需要配置切换策略的表项存储到预设的第一转发表。具体的,条件一~条件三可参照图5所示方法中的第一个场景中所述。
示例性的,第一交换设备可以以目的主机地址、第一入接口以及第一优先级标识为索引,遍历预设的第一转发表中每个表项,若预设的第一转发表中,存在第一表项,该第一表项包括的网络地址与目的主机地址对应的网段相同,该第一表项包括的入接口与第一入接口相同,该第一表项包括的优先级标识与第一优先级标识相同,则确定在预设的第一转发表中匹配到目的主机地址以及第一入接口。反之,若预设的第一转发表中,不存在与目的主机地址对应的网段相同、与第一入接口相同、与第一优先级标识相同的第一表项,则确定在预设的第一转发表中未匹配到目的主机地址以及第一入接口。
其中,目的主机地址对应的网段可以指目的主机地址与子网掩码相与后的结果。
步骤503:若在预设的第一转发表中存在与目的主机地址、第一入接口以及第一优先级标识匹配的第一表项,则第一交换设备根据第一表项对应的切换策略,通过第二优先级标识对应的队列向第三交换设备发送第二数据报文。
其中,第三交换设备可以为从第一交换设备向目的网络发送数据报文的下一跳。
其中,第一表项对应的切换策略可以用于指示在第二队列上传输数据报文。具体的,切换策略可以包括第二优先级标识,第二优先级标识可以用于标识第二队列,如:第二优先级标识可以为用于标识第二队列的DSCP或者VLAN Tag等。需要说明的是,第二队列可以用于传输up-down数据流。
其中,第二数据报文可以为在第二队列上传输的、发往第一目的网络的数据报文。第二数据报文可以包括目的主机地址、第二优先级标识以及发往目的网络的第一数据,还可以包括其他信息,不予限制。
进一步的,若在预设的第一转发表中不存在与目的主机地址、第一入接口以及第一优先级标识匹配的任何表项,则第一交换设备在第一优先级标识所标识的第一队列上,向第三交换设备发送第一数据报文。
需要说明的是,图5所示方法以第一交换设备为例对本申请实施例提供的数据传输方法进行了描述,可理解的是,CLOS网络中的其他任意交换设备都可以预先为用于转发down-up数据流的表项配置切换策略,并参照图5所示方法,根据预先配置的切换策略执行数据传输过程。
基于图5所示方法,第一交换设备可以预先为用于转发down-up数据流的表项配置切换策略,在第一交换设备接收到数据报文后,第一交换设备可以在预设的第一转发表中匹配该数据报文,查看与该数据报文匹配的表项是否包括在预设的第一转发表中,若包括,则表示该数据报文为down-up数据流,继而根据与该数据报文匹配的表项对应的切换策略,将该数据报文切换到新的队列传输出去,由此避开PFC死锁。
在图5所示方法的第一个场景中,可以将第二转发表中满足条件一的表项识别出来,将识别出来的表项中的出接口替换成优先级标识,将替换后的表项保存到预设的第一转发表,同时为该表项配置切换策略,或者,将第二转发表中满足条件二或者条件三的表项识别出来,根据识别出来的表项生成格式为<目的网络,入接口,优先级标识>的表项,并将生成的表项保存到预设的第一转发表中,同时,为该表项配置切换策略:
条件一、可以包括(1.1)~(1.2)中的一种或者多种:(1.1)、表项中的入接口、出接口均为上行(up)口;(1.2)、在第三转发表中匹配到表项中包括的网络地址以及出接口;(1.3)、在第三表项中未匹配到表项中包括的网络地址以及入接口。第三转发表如上所述,第三转发表为本地存储的FIB。
本申请实施例中,条件一还可以称为第一条件或者其他名称,不予限制。
示例性的,第一交换设备生成第二转发表后,从第二转发表中确定出满足上述第一条件的表项,根据满足第一条件的表项,生成第一转发表,如:将第二转发表中满足第一条件的表项<网络地址,入接口,出接口>替换为<目的网络,入接口,优先级标识>,并将替换后的表项存储到第一转发表中。
其中,优先级标识可以用于标识入接口与出接口之间的无损逻辑通道(或者无损队列),为特定的队列。具体的,将表项的格式<网络地址,入接口,出接口>替换为格式<目的网络,入接口,优先级标识>的方式可参照现有技术,不予赘述。
图6a为第一转发表与第二转发表、第三转发表之间的关系示意图,如图6a所示,第一转发表为第二转发表中满足第一条件的表项与第三转发表的交集,第二转发表、第三转发表为路由表的子集。其中,第二转发表的生成方法可参照图7所示或者下述方式二所述。
例如,第一交换设备可以生成第二转发表,并查询第二转发表,遍历第二转发表中每个表项,查看第二转发表中各个表项包括的入接口、出接口的属性,若发现第二转发表中某个表项包括的入接口、出接口均为上行(up)口,则确定该表项用于转发从第一交换设备向上级发送的数据流,即转发down-up数据流,将该表项的格式<网络地址,入接口,出接口>替换为<目的网络,入接口,优先级标识>,将替换后的表项存储到第一转发表中,并为该表项配置切换策略;和/或者,
第一交换设备可以生成第二转发表,并查询第二转发表,遍历第二转发表中每个表项,查看第二转发表中各个表项包括的网络地址、出接口,若在第三转发表中匹配到与网络地址、出接口相同的表项,如:第二转发表中包括某个表项1,该某个表项1包括的网络地址、出接口与第三转发表中表项2包括的网络地址、入接口相同,则确定该表项1用于转发从第一交换设备向上级发送的数据流,即转发down-up数据流,将该表项1的格式<网络地址、出接口、出接口>替换为<目的网络、出接口、优先级标识>,将替换后的表项存储到第一转发表中,并为该表项配置切换策略;和/或者。
第一交换设备可以生成第二转发表,并查询第二转发表,遍历第二转发表中每个表项,查看第二转发表中各个表项包括的网络地址、入接口,若在第三转发表中未匹配到与网络地址、入接口相同的表项,如:第二转发表中包括的某个表项,该某个表项包括网络地址1、入接口1,但第三转发表中未存在包括网络地址1、入接口1的表项,则确定第二转发表中包括的某个表项用于转发从第一交换设备向上级发送的数据流,即转发down-up数据流,将该某个表项的格式<网络地址,入接口,出接口>替换为<目的网络,入接口,优先级标识>,将替换后的表项存储到第一转发表中,并为该表项配置切换策略。
其中,第一转发表中各个表项包括的优先级标识可以用于标识特定的无损队列。
其中,可参照现有技术确定入接口、出接口的属性,不予赘述。
例如,若第二转发表中的表项1<网络地址1,in_port(物理接口1),ou_tport(物理接口2)>中,in_port(物理接口1)、out_port(物理接口1)均为上行口,且表项1中的网络地址1、out_port(物理接口1)匹配到第三转发表中的表项2<网络地址1,in_port(物理接口2)>,则将表项1<网络地址1,in_port(物理接口1),out_port(物理接口2)>替换为<网络地址1,in_port(物理接口1),优先级标识1>,将表项<网络地址1,in_port(物理接口1),优先级标识1>存储到预设的第一转发表中,并为<网络地址1,in_port(物理接口1),优先级标识1>配置切换策略,如:配置切换策略1<优先级标识2>,优先级标识可以为DSCP或者VLAN Tag。
如此,可以为第三转发表中满足第一条件的表项配置切换策略,无需为第三转发表中用于转发数据流的全部表项配置策略策略,节约配置切换策略的表项,避免无效的路由占用资源。
条件二、表项中网络地址所标识的网络不是第一交换设备的直连网络。
其中,第一交换设备的直连网络可以指与第一交换设备直接连接的主机或者服务器所在的网络。
示例性的,第一交换设备可以查询本地存储的第三转发表(或者FIB),遍历第三转发表中每个表项,查看表项包括的网络地址所标识的网络,若某个表项包括的网络地址所标识的网络不是第一交换设备所处网络,则确定该表项用于转发从第一交换设备向上级发送的数据流,即转发down-up数据流,将该表项划分到预设的第一转发表中,并为该表项配置切换策略。如图6b所示,第一转发表包括第三转发表中满足条件二的表项,第一转发表为第三转发表的子集,第三转发表为FIB,第三转发表为路由表中的子集。
例如,假设第一交换设备所处网络的网络地址为网络2,若表项1为<网络地址1,入接口1,优先级标识DSCP1或者VLAN Tag1>,则根据表项1包括的网络地址1确定该表项用于转发发往网络地址1,而不是网络2,即不是发往第一交换设备所处网络,则将表项1归入预设的第一转发表中,并为表项1配置切换策略,如:配置切换策略1<DSCP2或者VLAN Tag2>。
条件三、表项包括的网络地址所标识的网络包括在预设的目的网络中。
其中,预设的目的网络可以根据需要设置,不予限制。预设的目的网络可以为一个或者多个,预设的目的网络可以为最终接收第一数据的主机或者服务器所在的网络。需要说明的是,第一交换设备所处网络不包括在预设的目的网络中。
示例性的,第一交换设备可以查询本地存储的第三转发表(或者称为FIB),遍历第三转发表中每个表项,查看表项包括的网络地址所标识的网络,若某个表项包括的网络地址所标识的网络落入预设的目的网络中,则确定该表项用于转发down-up数据流,将该表项划分到预设的第一转发表中,并为该表项配置切换策略。如图6c所示,第一转发表包括第三转发表中满足条件三的表项,第一转发表为第三转发表的子集,第三转发表为FIB,第三转发表为路由表中的子集。
例如,假设预设的目的网络包括网络1、网络3以及网络4,若表项1为<网络地址1,入接口1,DSCP1或者VLAN Tag1>,则根据表项1包括的网络地址1确定该表项用于转发发往网络地址1,包括在预设的目的网络中,则将表项1归入预设的第一转发表中,并为表项1配置切换策略,如:配置切换策略1<DSCP2或者VLAN Tag2>。
需要说明的是,第一交换设备可以根据表项中网络地址、入接口等的更新,实时更新预设的第一转发表中的第一表项以及第一表项对应的切换策略,保证预设的第一转发表中每个第一表项用于转发down-up数据流。例如:
若预设的第一转发表中的第一表项对应的第二转发表中入接口和/或出接口的属性发生变化,如:变为down口,则将该第一表项从预设的第一转发表中删除,同时,删除该第一表项对应的切换策略;或者,
若预设的第一转发表中的第一表项中的网络地址所标识的目的网络为第一交换设备所处网络,则将该第一表项从预设的第一转发表中删除,同时,删除该第一表项对应的切换策略;或者,
若预设的第一转发表中的第一表项对应的第二转发表失效(如:该第二转发表所标识的路径上的交换设备故障等),则将该第一表项从预设的第一转发表中删除,同时,删除该第一表项对应的切换策略。
其中,本申请实施例中,第二转发表的格式为<网络地址,入接口,出接口>,网络地址前缀和网络地址一样,可以唯一标识一个目的网络,网络地址可以为IP地址+子网掩码,入接口(in_port(s),出接口(out_port(s)为第一交换设备上的两个不同物理接口,根据该第二转发表可知:从入接口接收到的发往目的网络的数据报文从出接口发送出去。例如,假设交换机1上的路由表中存在第二转发表为<网络地址1,入接口1,出接口2>,若交换机1从入接口1接收到发往网络地址1的数据报文,则交换机1从自身的出接口2发出该数据报文。
需要说明是,第一交换设备可根据到达目的网络的路径的变更,实时更新路由表。例如,若新增指向目的网络的路径,则将新增路径对应的第二转发表添加到路由表中;若已有第二转发表指向的路径发生故障或者失效,则将该已有第二转发表从路由表中删除等等。
在图5所示方法的第二个场景中,可参照方式一或方式二生成第二转发表:
方式一:通过路由传播方法生成第二转发表。
示例性的,第一交换设备接收第三交换设备发送的第一路由报文;其中,第一路由报文包括网络地址以及第一下一跳网络地址;第一交换设备根据第一路由报文,生成第二转发表;其中,第二转发表中的表项包括网络地址、入接口以及出接口。
其中,第一交换设备根据第一路由报文,生成第二转发表,可以包括:
第一交换设备根据第一下一跳网络地址,确定第一交换设备上、与第三交换设备连接的第一物理接口;第一交换设备根据第一路由报文生成向第二交换设备发送的第二路由报文;其中,第二路由报文包括网络地址以及第二下一跳网络地址;第一交换设备根据第二下一跳网络地址,确定第一交换设备上、与第二交换设备连接的第二物理接口;第一交换设备将第一物理接口作为出接口、第二物理接口作为入接口,得到第二转发表中的表项。
具体的,该实现方式可参照图7所示:
参照图7,为本申请实施例提供的一种生成第二转发表的方法流程图,如图7所述,该方法可以包括步骤701~步骤705:
步骤701:第一交换设备接收第三交换设备发送的第一路由报文。
其中,第一路由报文可以用于建立从第一交换设备发往目的网络的数据报文的传输路径,第一路由报文可以包括网络地址、第一下一跳(next-hop)网络地址,还可以包括其他信息,不予限制。
其中,网络地址可以用于唯一标识目的网络,网络地址可以由目的网络的因特网协议(internet protocol,IP)地址+子网掩码组成。
其中,下一跳可以为从本地交换设备(如:第一交换设备)到达目的网络的路径上,与本地交换设备相邻的下一个交换设备;或者,可以描述为下一跳为从本地交换设备到达目的网络的下一跳。下一跳网络地址可以为下一跳的网络层接口地址或者下一跳的IP地址。
具体的,第一路由报文中的下一跳网络地址可以为第三交换设备上的网络层接口地址,该网络层接口地址连向第一交换设备,下一跳可以为第三交换设备。
例如,如图8所示,目的网络为交换机23所处子网,假设第一交换设备为交换机22,则从交换机22到目的网络的下一跳为交换机11。假设第一交换设备为交换机12,则从交换机12到目的网络的下一跳为交换机22。
步骤702:第一交换设备根据第一路由报文包括的第一下一跳网络地址,确定第一交换设备上、与第三交换设备连接的第一物理接口。
其中,第一物理接口可以为从第一交换设备发往目的网络的数据报文的出接口,第一交换设备可以将发往目的网络的数据报文从第一物理接口发出去。第一物理接口可以包括一个或者多个物理接口,即发往目的网络的数据报文的出接口的个数不受限制,可以为一个,也可以为多个。
示例性的,第一交换设备根据第一下一跳网络地址,确定第一交换设备上、与第三交换设备连接的第一物理接口可以包括:
第一交换设备以第一下一跳网络地址为索引,查询IP配置表,从IP配置表中找到与第一下一跳网络地址对应的网络层接口地址;与第一下一跳网络地址对应的网络层接口地址为第一交换设备上、连向第三交换设备的网络层接口地址;
第一交换设备以与第一下一跳网络地址对应的网络层接口地址为索引,查询本地配置的接口配置表,从接口配置表中找到与该网络层接口地址对应的第一物理接口。
其中,IP配置表可以预先配置在第一交换设备上,IP配置表可以包括第一交换设备的网络层接口地址与第一交换设备的邻居节点的网络层接口地址间的对应关系。
其中,接口配置表可以预先配置在第一交换设备上,接口配置表可以包括网络层接口地址与物理接口间的对应关系。
其中,本申请实施例中,一个交换设备可以具备多个物理接口,如:可以具备32个网络层接口,这些物理接口可以从0开始编号,也可以从1开始编号,不予限制。
例如,以第一交换设备为图8所示的交换机22为例,下表一示出了交换机22中存储的IP配置表,如表一所示,本机的网络层接口10.3.1.1/24与邻居节点的网络层接口10.3.1.2/24连接,本机的网络层接口10.3.2.1/24与邻居节点的网络层接口10.3.2.2/24连接,本机的网络层接口10.3.3.1/24与邻居节点的网络层接口10.3.3.2/24连接。若交换机22收到的路由报文中下一跳网络地址为10.3.1.2/24,则以10.3.1.2/24为索引,查询表一,得到与下一跳网络地址10.3.1.2/24对应的网络层接口为10.3.1.1/24。
下表二示出了交换机22中存储的接口配置表,如表二所示,本机的网络层接口10.3.1.1/24对应本机的物理接口:接口1,本机的网络层接口10.3.2.1/24对应本机的物理接口:接口2,本机的网络层接口10.3.3.1/24对应本机的物理接口:接口3。若交换机22根据表一查询得到网络层接口地址为10.3.1.1/24,则以10.3.1.1/24为索引,查询表二,得到与第一网络层接口10.3.1.1/24对应的第一物理接口:接口1。
表一
邻居节点的网络层接口地址 | 本机网络层接口地址 |
10.3.1.2/24 | 10.3.1.1/24 |
10.3.2.2/24 | 10.3.2.1/24 |
10.3.3.2/24 | 10.3.3.1/24 |
表二
网络层接口地址 | 物理接口 |
10.3.1.1/24 | 接口1 |
10.3.2.1/24 | 接口2 |
10.3.3.1/24 | 接口3 |
步骤703:第一交换设备根据第一路由报文,向第二交换设备发送第二路由报文。
其中,第二路由报文可以用于建立从第二交换设备发往目的网络的传输路径,第二路由报文包括网络地址、第二下一跳网络地址。
其中,第二路由报文包括的网络地址与第一路由报文包括的网络地址相同,第二路由报文包括的第二下一跳网络地址可以指从第二交换设备到达目的网络的下一跳的网络地址,该下一跳可以为第一交换设备,第二路由报文包括的第二下一跳网络地址可以为第一交换设备连向第二交换设备的网络层接口地址。
示例性的,第一交换设备可以根据第一路由报文中的网络地址以及整网的链路状态数据库,确定发往该网络地址所标识的目的网络需要走哪些交换设备,当确定到达目的网络需要走第二交换设备时,第一交换设备查IP配置表,找到连向第二交换设备的网络层接口,将找到的网络层接口地址作为第二下一跳网络地址、将第二下一跳网络地址、网络地址封装在一起生成二路由报文。
其中,整网的链路状态数据库可以预先配置在第一交换设备上,整网的链路状态数据库可以包括第一交换设备所处网络的物理拓扑连接、各个网络节点之间的连接关系、与网络节点连接的网络等。
步骤704:第一交换设备根据第二下一跳网络地址,确定第一交换设备上、与第二交换设备连接的第二物理接口。
其中,第二物理接口可以为发往目的网络的数据报文的入接口,第一交换设备可以从第二物理接口接收发往目的网络的数据报文。第二物理接口可以包括一个或者多个物理接口,即发往目的网络的数据报文的入接口的个数不受限制,可以为一个,也可以为多个。
示例性的,第一交换设备可以以第二路由报文包括的第二下一跳网络地址为索引,查询第一交换设备本地存储的接口配置表,找到与第二路由报文包括的第二下一跳网络地址对应的物理接口,将该物理接口作为第二物理接口。
例如,以第一交换设备为图8所示的交换机22为例,交换机22中存储的接口配置表如表二所示,当第二路由报文包括的下一跳网络地址为:10.3.2.1时,根据查询表二可知,与第二路由报文包括的下一跳网络地址对应的第二物理接口为:接口2。
步骤705:第一交换设备根据网络地址、第一物理接口以及第二物理接口,生成第二转发表。
示例性的,第一交换设备可以将第二物理接口作为入接口(in_port(s),将第一物理接口作为出接口(out_port(s)),将网络地址、入接口(in_port(s)以及出接口(out_port(s))组合在一起,得到第二转发表<网络地址,入接口,出接口>。
需要说明的是,一个表项中的出接口可以为一个或者多个,一个表项中的入接口为一个。例如,若第一物理接口为接口3、接口4,第二物理接口为接口1、接口2,网络地址为10.2.0.0/16,则生成的第二转发表中包括表项<10.2.0.0/16,接口1,接口3或者接口4>、表项<10.2.0.0/16,接口2,接口3或者接口4>。
进一步的,第一交换设备可以将第二转发表记录到路由表中。
至此,第一交换设备到达目的网络的路径建立完成。
需要说明的是,图7所示方法以建立第一交换设备到达目的网络的路径为例进行了描述,可理解的是,CLOS网络中的任一交换设备可采用图7所示方法建立到达多个目的网络的多个路径,不予赘述。
下面结合图8,以第一交换设备为交换机22、第三交换设备为交换机11、第二交换设备为交换机12,目的网络为交换机23所处子网,网络地址为10.2.10.0/24,源端为交换机21所处子网的主机为例,对图7所示方法进行描述:
在图8所示组网中,若源端需要向该目的网络发送数据报文,则在发送数据报文之前,需要建立(或者打通)从远端到目的端的路径,其建立过程即为交换机23将网络地址通知给远端的过程,具体可以包括:交换机12发现其与交换机23不通,交换机23向交换机11发送携带{网络地址10.2.10.0/24,下一跳:交换机23}的路由报文(如图8中①所示),打通从交换机23与交换机11之间的链路,以此类推,交换机11收到交换机23发送的路由报文后,生成第二转发表<10.2.10.0/24,入接口,出接口>,并向交换机22发送携带{网络地址10.2.10.0/24,下一跳:交换机11}的路由报文(如图8中②所示),打通交换机11与交换机22之间的链路。交换机22收到交换机11发送的路由报文后,生成第二转发表<10.2.10.0/24,入接口,出接口>,并向交换机12发送携带{网络地址10.2.10.0/24,下一跳:交换机22}的路由报文(如图8中③所示),打通交换机22与交换机12之间的链路。交换机12收到交换机22发送的路由报文后,生成第二转发表<10.2.10.0/24,入接口,出接口>,并向交换机21发送携带{网络地址10.2.10.0/24,下一跳:交换机12}的路由报文(如图8中④所示),打通交换机12与交换机21之间的链路。交换机21收到交换机12发送的路由报文后,生成第二转发表<10.2.10.0/24,入接口,出接口>。
后续,交换机21可以将远端生成的第一数据携带在数据报文中,并将数据报文经交换机21到交换机12的链路、交换机12到与交换机22的链路、交换机22到交换机11的链路、交换机11到交换机23的链路,发送给交换机23下的目的主机。
方式二:根据整网链路状态生成第二转发表。
示例性的,第一交换设备根据链路状态数据库(link state datebase,LSDB)以及最短路径算法(shortest path firsh,SPF)得到第一交换设备到目的网络的下一跳网络地址,将第一交换设备到目的网络的下一跳网络地址对应的物理接口作为出接口;
第一交换设备根据LSDB以及SPF得到从第一交换设备的上游设备到达目的网络的下一跳网络地址,将从第一交换设备的上游设备到达目的网络的下一跳网络地址对应的物理接口作为入接口;
第一交换设备可以将网络地址、入接口、出接口组合在一起生成第二转发表中的表项<网络地址,入接口,出接口>。
其中,LSDB可以预先配置在第一交换设备上,LSDB可以包括第一交换设备所处网络的物理拓扑连接、各个网络节点之间的连接关系、与网络节点连接的网络等。
例如,图8所示网络为2级CLOS网络,该网络包括交换机21、交换机22、交换机23、交换机11、交换机12,交换机11与交换机21、交换机22、交换机23连接,交换机12与交换机21、交换机22连接,以交换机22为第一交换机,目的网络为交换机23所处子网,网络地址为10.2.10.0/24为例,交换机22可以根据LSDB以及SPF,计算从本地到达目的网络的最短路径为:交换机12→本地→交换机11→....,从本地到目的网络的下一跳网络地址为交换机11的网络地址,将与交换机11连接的物理接口2作为出接口,从第一交换设备的上游设备到达目的网络的下一跳网络地址为本地的网络层接口地址,将与本地网络层接口地址对应的物理接口1作为入接口,将<网络地址10.2.10.0/24,物理接口1,物理接口2>作为到达目的网络的第二转发表。
上述本申请实施例提供的实施例中,从交换设备之间交互的角度对本申请实施例提供的方法进行了介绍。可以理解的是,交换设备为了实现上述本申请实施例提供的方法中的各功能,交换设备包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对交换设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图9示出了一种交换装置90的结构图,该交换装置90可以为第一交换设备或者第一交换设备中的芯片或者片上系统,该交换装置90可以用于执行上述实施例中涉及的第一交换设备的功能。作为一种可实现方式,图9所示交换装置90包括:接收单元901,处理单元902以及发送单元903。
接收单元901,用于从第一入接口,接收第二交换设备发送的第一数据报文;其中,所述第一数据报文包括目的主机地址、第一优先级标识以及第一数据。例如,接收单元901可以支持交换装置90执行步骤501。
处理单元902,用于确定在预设的第一转发表中是否匹配到所述目的主机地址、所述第一入接口以及所述第一优先级标识;其中,所述预设的第一转发表包括一个或者多个表项,每个表项用于转发先下后上down-up数据流,每个表项对应有切换策略。例如,处理单元902可以支持交换装置90执行步骤502。
发送单元903,用于若所述预设的第一转发表中存在与所述目的主机地址、所述第一入接口以及第一优先级标识匹配的第一表项,则根据所述第一表项对应的切换策略,通过第二队列优先级标识的队列向第三交换设备发送第二数据报文;其中,所述切换策略包括所述第二优先级标识;所述第二数据报文包括所述目的主机地址、第二优先级标识以及第一数据。例如,发送单元903支持交换装置90执行步骤503。
具体的,该可能的设计中,上述图5所示方法实施例中涉及第一交换设备的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。该可能的设计中所述的交换装置90用于执行图5所示数据传输方法中第一交换设备的功能,因此可以达到与上述数据传输方法相同的效果。
需要说明的是,作为再一种可实现方式,图9所示交换装置90可以包括:处理模块和通信模块。通信模块可以集成发送单元903、接收单元901的功能。处理模块可以集成处理单元902的功能,用于对交换装置90的动作进行控制管理,例如,处理模块用于支持该交换装置90执行步骤502、以及本文所描述的技术的其它过程。通信模块用于支持交换装置90执行步骤501、步骤503等以及与其他网络实体的通信。进一步的,图9所示交换装置90还可以包括存储模块,用于存储交换装置90的程序代码和数据。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块可以是收发电路或接收器、发送器等。存储模块可以是存储器。当处理模块为处理器,通信模块为接收器、发送器,存储模块为存储器时,图9所示交换装置90可以为图4所示交换装置。
本申请实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分流程可以由计算机程序来指令相关的硬件完成,该程序可存储于上述计算机可读存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。计算机可读存储介质可以是前述任一实施例的交换装置(包括数据发送端和/或数据接收端)的内部存储单元,例如交换装置的硬盘或内存。上述计算机可读存储介质也可以是上述交换装置的外部存储设备,例如上述交换装置上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述交换装置的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述交换装置所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,本申请说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、终端或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,SSD)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (22)
1.一种数据传输方法,其特征在于,所述方法包括:
第一交换设备从第一入接口,接收第二交换设备发送的第一数据报文;其中,所述第一数据报文包括目的主机地址、第一优先级标识以及第一数据;
所述第一交换设备确定在预设的第一转发表中是否匹配到所述目的主机地址、所述第一入接口以及所述第一优先级标识;其中,所述第一转发表包括一个或者多个表项,所述第一转发表中每个表项包括网络地址、入接口以及优先级标识,所述第一转发表中每个表项对应有切换策略;
若所述预设的第一转发表中存在与所述目的主机地址、所述第一入接口以及所述第一优先级标识匹配的第一表项,则所述第一交换设备根据所述第一表项对应的第一切换策略,通过第二优先级标识对应的队列向第三交换设备发送第二数据报文;其中,所述第一切换策略包括所述第二优先级标识;所述第二数据报文包括所述目的主机地址、所述第二优先级标识以及所述第一数据。
2.根据权利要求1所述的方法,其特征在于,所述第一转发表由第二转发表中满足第一条件的表项生成,所述第二转发表中每个表项包括网络地址、入接口以及出接口;
其中,所述第一条件包括下述一种或者多种:表项中的入接口、出接口均为上行口;
在第三转发表中匹配到表项中包括的网络地址以及出接口;所述第三转发表中每个表项包括网络地址、出接口;
在所述第三转发表中未匹配到表项中包括的网络地址以及入接口。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述第一交换设备生成所述第二转发表;
所述第一交换设备从所述第二转发表中,确定满足所述第一条件的表项;
所述第一交换设备根据满足所述第一条件的表项,生成所述第一转发表。
4.根据权利要求1所述的方法,其特征在于,所述第一转发表中每个表项包括的网络地址所标识的网络不是所述第一交换设备的直连网络。
5.根据权利要求1或4所述的方法,其特征在于,所述方法还包括:
所述第一交换设备从第三转发表中,确定出网络地址所标识的网络不是所述第一交换设备的直连网络的表项;其中,所述第三转发表中的表项包括网络地址、出接口;
所述第一交换设备根据确定出的表项生成所述第一转发表。
6.根据权利要求1所述的方法,其特征在于,所述第一转发表中每个表项包括的网络地址所标识的网络包括在预设的目的网络中。
7.根据权利要求1或6所述的方法,其特征在于,所述方法还包括:
所述第一交换设备从第三转发表中,确定出网络地址所标识的网络包括在预设的目的网络的表项;其中,所述第三转发表中的表项包括网络地址、出接口;
所述第一交换设备根据确定出的表项生成所述第一转发表。
8.根据权利要求1-7任一项所述的方法,其特征在于,在第一交换设备从第二交换设备接收第一数据报文之前,所述方法还包括:
所述第一交换设备接收所述第三交换设备发送的第一路由报文;其中,所述第一路由报文包括所述网络地址以及第一下一跳网络地址;
所述第一交换设备根据所述第一路由报文,生成第二转发表;其中,所述第二转发表中的表项包括所述网络地址、入接口以及出接口。
9.根据权利要求8所述的方法,其特征在于,所述第一交换设备根据所述第一路由报文,生成第二转发表,包括:
所述第一交换设备根据所述第一下一跳网络地址,确定所述第一交换设备上、与所述第三交换设备连接的第一物理接口;
所述第一交换设备根据所述第一路由报文生成向所述第二交换设备发送的第二路由报文;其中,所述第二路由报文包括所述网络地址以及第二下一跳网络地址;
所述第一交换设备根据所述第二下一跳网络地址,确定所述第一交换设备上、与所述第二交换设备连接的第二物理接口;
所述第一交换设备将所述第一物理接口作为出接口、所述第二物理接口作为入接口,得到所述第二转发表。
10.根据权利要求1-9任一项所述的方法,其特征在于,第一交换设备从第二交换设备接收第一数据报文之前,所述方法还包括:
所述第一交换设备根据链路状态数据库LSDB以及最短路径算法SPF,得到从所述第一交换设备到目的网络的下一跳网络地址;
所述第一交换设备根据所述LSDB以及所述SPF,得到从所述第一交换设备的上游设备到达目的网络的下一跳网络地址;
所述第一交换设备根据所述网络地址、从所述第一交换设备到目的网络的下一跳网络地址、从所述第一交换设备的上游设备到达目的网络的下一跳网络地址,生成第二转发表。
11.一种交换装置,其特征在于,所述交换装置包括:
接收单元,用于从第一入接口,接收第二交换设备发送的第一数据报文;其中,所述第一数据报文包括目的主机地址、第一优先级标识以及第一数据;
处理单元,用于确定在预设的第一转发表中是否匹配到所述目的主机地址、所述第一入接口以及所述第一优先级标识;其中,所述第一转发表包括一个或者多个表项,所述第一转发表中每个表项包括网络地址、入接口以及优先级标识,所述第一转发表中每个表项对应有切换策略;
发送单元,用于若所述预设的第一转发表中存在与所述目的主机地址、所述第一入接口以及所述第一优先级标识匹配的第一表项,则根据所述第一表项对应的第一切换策略,通过第二优先级标识对应的队列向第三交换设备发送第二数据报文;其中,所述第一切换策略包括所述第二优先级标识;所述第二数据报文包括所述目的主机地址、所述第二优先级标识以及所述第一数据。
12.根据权利要求11所述的交换装置,其特征在于,所述第一转发表由第二转发表中满足第一条件的表项生成,所述第二转发表中每个表项包括网络地址、入接口以及出接口;
其中,所述第一条件包括下述一种或者多种:表项中的入接口、出接口均为上行口;
在第三转发表中匹配到表项中包括的网络地址以及出接口;所述第三转发表中每个表项包括网络地址、出接口;
在所述第三转发表中未匹配到表项中包括的网络地址以及入接口。
13.根据权利要求12所述的交换装置,其特征在于,
所述处理单元,还用于生成所述第二转发表,从所述第二转发表中,确定满足所述第一条件的表项,根据满足所述第一条件的表项,生成所述第一转发表。
14.根据权利要求11所述的交换装置,其特征在于,所述第一转发表中每个表项包括的网络地址所标识的网络不是第一交换设备的直连网络。
15.根据权利要求11或14所述的交换装置,其特征在于,
所述处理单元,还用于从第三转发表中,确定出网络地址所标识的网络不是所述第一交换设备的直连网络的表项,根据确定出的表项生成所述第一转发表;其中,所述第三转发表中的表项包括网络地址、出接口。
16.根据权利要求11所述的交换装置,其特征在于,所述第一转发表中每个表项包括的网络地址所标识的网络包括在预设的目的网络中。
17.根据权利要求11或16所述的交换装置,其特征在于,
所述处理单元,还用于从第三转发表中,确定出网络地址所标识的网络包括在预设的目的网络的表项,根据确定出的表项生成所述第一转发表;其中,所述第三转发表中的表项包括网络地址、出接口。
18.根据权利要求11-17任一项所述的交换装置,其特征在于,
所述接收单元,还用于在接收第一数据报文之前,接收所述第三交换设备发送的第一路由报文;其中,所述第一路由报文包括所述网络地址以及第一下一跳网络地址;
所述处理单元,具体用于根据所述第一路由报文,生成第二转发表;其中,所述第二转发表中的表项包括所述网络地址、入接口以及出接口。
19.根据权利要求18所述的交换装置,其特征在于,
所述所述处理单元,具体用于根据所述第一下一跳网络地址,确定第一交换设备上、与所述第三交换设备连接的第一物理接口;根据所述第一路由报文生成向所述第二交换设备发送的第二路由报文,根据第二下一跳网络地址,确定所述第一交换设备上、与所述第二交换设备连接的第二物理接口;将所述第一物理接口作为出接口、所述第二物理接口作为入接口,得到所述第二转发表中的表项;
其中,所述第二路由报文包括所述网络地址以及所述第二下一跳网络地址。
20.根据权利要求11-19任一项所述的交换装置,其特征在于,
所述所述处理单元,具体用于根据链路状态数据库LSDB以及最短路径算法SPF,得到从第一交换设备到目的网络的下一跳网络地址;根据所述LSDB以及所述SPF,得到从所述第一交换设备的上游设备到达目的网络的下一跳网络地址;
根据所述网络地址、从所述第一交换设备到目的网络的下一跳网络地址、从所述第一交换设备的上游设备到达目的网络的下一跳网络地址,生成第二转发表。
21.一种交换装置,其特征在于,包括:至少一个处理器、存储器和总线,其中,所述存储器用于存储计算机程序,使得所述计算机程序被所述至少一个处理器执行时实现如权利要求1-10中任一项所述的数据传输方法。
22.一种计算机可读存储介质,其特征在于,包括:计算机软件指令;
当所述计算机软件指令在计算机设备或内置在计算机设备的芯片中运行时,使得所述计算机设备执行如权利要求1-10中任一项所述的数据传输方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910824502.9A CN112448900B (zh) | 2019-09-02 | 2019-09-02 | 一种数据传输方法及装置 |
PCT/CN2020/113094 WO2021043181A1 (zh) | 2019-09-02 | 2020-09-02 | 一种数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910824502.9A CN112448900B (zh) | 2019-09-02 | 2019-09-02 | 一种数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112448900A true CN112448900A (zh) | 2021-03-05 |
CN112448900B CN112448900B (zh) | 2023-05-19 |
Family
ID=74734193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910824502.9A Active CN112448900B (zh) | 2019-09-02 | 2019-09-02 | 一种数据传输方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112448900B (zh) |
WO (1) | WO2021043181A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113691434A (zh) * | 2021-08-31 | 2021-11-23 | 深圳云天励飞技术股份有限公司 | 数据传输系统、方法、电子设备及存储介质 |
CN113923173A (zh) * | 2021-10-22 | 2022-01-11 | 深圳市风云实业有限公司 | 网络交换设备数据面快速启动恢复方法 |
CN113965471A (zh) * | 2021-10-22 | 2022-01-21 | 上海交通大学 | 基于RoCEv2协议的网络构建方法及系统 |
CN113965523A (zh) * | 2021-10-28 | 2022-01-21 | 锐捷网络股份有限公司 | 一种基于环路的pfc死锁的处理方法及装置 |
CN114448896A (zh) * | 2022-03-10 | 2022-05-06 | 中国工商银行股份有限公司 | 一种网络优化方法和装置 |
WO2023005530A1 (zh) * | 2021-07-28 | 2023-02-02 | 中兴通讯股份有限公司 | 报文处理方法及网络处理设备、存储介质 |
CN116192777A (zh) * | 2022-12-30 | 2023-05-30 | 中国联合网络通信集团有限公司 | 路径学习方法、装置及存储介质 |
CN117278499A (zh) * | 2023-11-16 | 2023-12-22 | 苏州元脑智能科技有限公司 | 一种网络链路创建方法、装置、设备及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745320B (zh) * | 2022-04-28 | 2023-03-10 | 山西大学 | 一种针对单故障情形的路由保护方法 |
CN115941383B (zh) * | 2022-11-28 | 2023-12-22 | 北京神经元网络技术有限公司 | 宽带现场总线多域交换系统网络域分配方法、装置和设备 |
CN118487785A (zh) * | 2023-02-10 | 2024-08-13 | 华为技术有限公司 | 源地址验证方法、通信装置及系统 |
CN115941599B (zh) * | 2023-03-10 | 2023-05-16 | 珠海星云智联科技有限公司 | 一种用于预防pfc死锁的流量控制方法、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888379A (zh) * | 2013-12-03 | 2014-06-25 | 江苏达科信息科技有限公司 | 一种基于可信调度的改进队列调度算法 |
CN107547391A (zh) * | 2017-06-08 | 2018-01-05 | 新华三技术有限公司 | 一种报文传输方法和装置 |
CN108028788A (zh) * | 2015-09-25 | 2018-05-11 | 英特尔公司 | 在lan接口重置期间活动的链路 |
US20180241688A1 (en) * | 2017-02-22 | 2018-08-23 | Cisco Technology, Inc. | Distributing and Rate Limiting Packets Among Multiple Paths in a Single Stage Switching Topology to a Reordering Node |
CN108768781A (zh) * | 2018-06-06 | 2018-11-06 | 清华大学 | 避免死锁的无丢失流量控制方法及装置 |
US20190207868A1 (en) * | 2019-02-15 | 2019-07-04 | Intel Corporation | Processor related communications |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981480A (zh) * | 2017-12-27 | 2019-07-05 | 华为技术有限公司 | 一种数据传输方法及第一设备 |
-
2019
- 2019-09-02 CN CN201910824502.9A patent/CN112448900B/zh active Active
-
2020
- 2020-09-02 WO PCT/CN2020/113094 patent/WO2021043181A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888379A (zh) * | 2013-12-03 | 2014-06-25 | 江苏达科信息科技有限公司 | 一种基于可信调度的改进队列调度算法 |
CN108028788A (zh) * | 2015-09-25 | 2018-05-11 | 英特尔公司 | 在lan接口重置期间活动的链路 |
US20180241688A1 (en) * | 2017-02-22 | 2018-08-23 | Cisco Technology, Inc. | Distributing and Rate Limiting Packets Among Multiple Paths in a Single Stage Switching Topology to a Reordering Node |
CN107547391A (zh) * | 2017-06-08 | 2018-01-05 | 新华三技术有限公司 | 一种报文传输方法和装置 |
CN108768781A (zh) * | 2018-06-06 | 2018-11-06 | 清华大学 | 避免死锁的无丢失流量控制方法及装置 |
US20190207868A1 (en) * | 2019-02-15 | 2019-07-04 | Intel Corporation | Processor related communications |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023005530A1 (zh) * | 2021-07-28 | 2023-02-02 | 中兴通讯股份有限公司 | 报文处理方法及网络处理设备、存储介质 |
CN113691434A (zh) * | 2021-08-31 | 2021-11-23 | 深圳云天励飞技术股份有限公司 | 数据传输系统、方法、电子设备及存储介质 |
CN113691434B (zh) * | 2021-08-31 | 2022-09-20 | 深圳云天励飞技术股份有限公司 | 数据传输系统、方法、电子设备及存储介质 |
CN113923173A (zh) * | 2021-10-22 | 2022-01-11 | 深圳市风云实业有限公司 | 网络交换设备数据面快速启动恢复方法 |
CN113965471A (zh) * | 2021-10-22 | 2022-01-21 | 上海交通大学 | 基于RoCEv2协议的网络构建方法及系统 |
CN113923173B (zh) * | 2021-10-22 | 2023-12-15 | 深圳市风云实业有限公司 | 网络交换设备数据面快速启动恢复方法 |
CN113965523A (zh) * | 2021-10-28 | 2022-01-21 | 锐捷网络股份有限公司 | 一种基于环路的pfc死锁的处理方法及装置 |
CN114448896A (zh) * | 2022-03-10 | 2022-05-06 | 中国工商银行股份有限公司 | 一种网络优化方法和装置 |
CN114448896B (zh) * | 2022-03-10 | 2024-01-30 | 中国工商银行股份有限公司 | 一种网络优化方法和装置 |
CN116192777A (zh) * | 2022-12-30 | 2023-05-30 | 中国联合网络通信集团有限公司 | 路径学习方法、装置及存储介质 |
CN116192777B (zh) * | 2022-12-30 | 2024-06-04 | 中国联合网络通信集团有限公司 | 路径学习方法、装置及存储介质 |
CN117278499A (zh) * | 2023-11-16 | 2023-12-22 | 苏州元脑智能科技有限公司 | 一种网络链路创建方法、装置、设备及存储介质 |
CN117278499B (zh) * | 2023-11-16 | 2024-03-01 | 苏州元脑智能科技有限公司 | 一种网络链路创建方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112448900B (zh) | 2023-05-19 |
WO2021043181A1 (zh) | 2021-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112448900B (zh) | 一种数据传输方法及装置 | |
JP7417825B2 (ja) | スライスベースルーティング | |
EP2911348B1 (en) | Control device discovery in networks having separate control and forwarding devices | |
CA2963580C (en) | Data forwarding method, device, and system in software-defined networking | |
KR101703088B1 (ko) | Sdn 기반의 통합 라우팅 방법 및 그 시스템 | |
US8576721B1 (en) | Local forwarding bias in a multi-chassis router | |
TW202034737A (zh) | 在網路運算環境中的路由最佳化 | |
CN111263373B (zh) | 数据处理方法、控制器和转发设备 | |
CN108881018B (zh) | 用于在diameter信令路由器处路由diameter消息的方法、系统及装置 | |
WO2021082575A1 (zh) | 一种报文转发方法、设备、存储介质及系统 | |
CN111147372B (zh) | 下行报文发送、转发方法和装置 | |
CN108289061B (zh) | 基于sdn的业务链拓扑系统 | |
WO2022166465A1 (zh) | 一种报文处理方法及相关装置 | |
CN105812257A (zh) | 业务链路由管理系统及其使用方法 | |
CN108400922B (zh) | 虚拟局域网络配置系统与方法及其计算机可读存储介质 | |
WO2024093778A1 (zh) | 一种报文处理方法以及相关装置 | |
CN113285877B (zh) | 一种报文转发的控制方法及相关装置 | |
JPWO2019240158A1 (ja) | 通信システム及び通信方法 | |
CN110300073A (zh) | 级联端口的目标选择方法、聚合装置及存储介质 | |
CN109347734A (zh) | 一种报文发送方法、装置、网络设备和计算机可读介质 | |
US10382250B2 (en) | Information processing system and control method for information processing system | |
CN116074236A (zh) | 报文转发方法及装置 | |
CN115473765A (zh) | 报文传输方法、设备及系统 | |
CN115118544B (zh) | 通信方法及设备、通信系统 | |
CN117319281A (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 |