CN111835644A - 报文转发方法及交换机 - Google Patents
报文转发方法及交换机 Download PDFInfo
- Publication number
- CN111835644A CN111835644A CN201910330726.4A CN201910330726A CN111835644A CN 111835644 A CN111835644 A CN 111835644A CN 201910330726 A CN201910330726 A CN 201910330726A CN 111835644 A CN111835644 A CN 111835644A
- Authority
- CN
- China
- Prior art keywords
- switch
- type
- ethernet header
- mac address
- message
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文转发方法及交换机。该方法包括:第一交换机生成第一下行报文;第一下行报文包括Y+1层以太头,所述第一下行报文的Y+1层以太头中内层以太头包括第一目的MAC地址、第一源MAC地址和第一以太类型,第一目的MAC地址为第一终端设备的MAC地址,所述第一下行报文的Y+1层以太头中每层外层以太头包括第二目的MAC地址、第一源MAC地址和第一以太类型,每层外层以太头中第二目的MAC地址依次对应Y个第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号,Y为大于或等于1的整数;第一交换机转发第一下行报文。能够实现新设备与传统交换机的混合组网。
Description
技术领域
本申请涉及通信领域,尤其涉及报文转发方法及交换机。
背景技术
运营商或企业在部署网络时,通常不希望被单家厂商绑定。另外在交换机逐步升级或者单纯利旧的场景下,都会发生新设备与传统交换机混合部署的情况。所以新设备支持与传统交换机混合部署显得尤为重要。
在极简企业网络架构中,不存在传统交换机,只包含极简设备。核心交换机为全网控制中心,承载集中路由,集中转发整网流量。极简设备可以作为接入交换机或汇聚交换机,只做直通转发,无媒体接入控制(media access control,MAC)表项。对于下行流量,核心交换机封装好每层的出端口号,极简设备按照出端口号转发报文,报文就能按照预先指定的路径到达用户终端。
现有传统交换机普遍采用查表转发的方式,而极简设备无MAC表项,报文无法在极简设备与传统交换机之间互通。因此需要提供一种报文转发方法,以解决极简设备与传统交换机混合组网的问题。
发明内容
本申请实施例提供了一种报文转发方法及交换机,能够实现极简设备与传统交换机混合组网。
第一方面,提供了一种报文转发方法。第一交换机生成第一下行报文;其中,所述第一下行报文包括Y+1层以太头,所述第一下行报文的Y+1层以太头中内层以太头包括第一目的MAC地址、第一源MAC地址和第一以太类型,所述第一目的MAC地址为第一终端设备的MAC地址,所述第一下行报文的Y+1层以太头中每层外层以太头包括第二目的MAC地址、第一源MAC地址和第一以太类型,每层外层以太头中第二目的MAC地址依次对应Y个第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号,Y为大于或等于1的整数;所述第一交换机转发所述第一下行报文。
其中,所述第一交换机可以为核心交换机。第一类型的交换机可以为极简设备,极简设备为不具有MAC表项的交换机,无法根据以太头查询MAC表项来进行报文转发。当报文包括多层以太头时,最内层以太头称为内层以太头,其他以太头称为外层以太头。
本申请实施例,第一交换机在向第一终端设备发送下行报文时,与传统的生成下行报文的方式不同,首先生成包括多层以太头的第一下行报文,通过多层以太头的目的MAC地址依次指示Y个第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号;再转发所述第一下行报文。由上可见,传统交换机,即具有MAC表项的交换机,在接收到上述第一下行报文后,可以根据上述第一下行报文的最外层报文头中的目的MAC地址,查询MAC表项,从而实现报文的转发;第一类型的交换机(极简设备),即不具有MAC表项的交换机,在接收到上述第一下行报文后,可以根据上述第一下行报文的最外层报文头后包括的端口号,从而实现报文的转发。因此,实现了传统交换机与极简设备的混合组网。
在一种可能的实施方式中,所述第一交换机先获取所述第一终端设备与所述第一交换机之间的路径信息,所述路径信息包括所述Y个第一类型的交换机的MAC地址和每个第一类型的交换机对应的端口号,然后根据所述路径信息,生成第一下行报文。根据该实施方式,可以在生成的第一下行报文中携带路径信息,从而使第一类型的交换机,无需MAC表项也能实现报文的转发。
在一种可能的实施方式中,第一交换机生成第一下行报文之前,先获取拓扑信息,所述拓扑信息用于指示所述第一终端设备与所述第一交换机之间包括X个第二类型的交换机第二类型,X为大于或等于1的整数。其中,第二类型的交换机可以为传统交换机。根据该实施方式,拓扑信息指示出第一终端设备与第一交换机之间既存在第一类型的交换机,又存在第二类型的交换机。
进一步地,所述第一交换机根据所述拓扑信息,先确定所述第一交换机与所述第一终端设备之间存在第二类型的交换机,再生成第一下行报文。根据该实施方式,第一交换机根据拓扑信息,确定所述第一交换机与所述第一终端设备之间既存在第一类型的交换机,又存在第二类型的交换机时,再采取这种多层以太头的封装方式,以便实现两种交换机的混合组网。
可以理解的是,如果路径上只有第一类型的交换机,可以采用这种多层以太头的封装方式,但是由于没有多种交换机兼容的需求,也可以采用单层以太头后面包括多个端口号的封装方式,有利于节约传输资源。
进一步地,所述第一交换机可以采用如下的拓扑发现过程来获取拓扑信息:所述第一交换机向X个第二类型的交换机发送第一简单网络管理协议(simple networkmanagement protocol,SNMP)报文;所述第一交换机从每个第二类型的交换机接收第二SNMP报文,所述第二SNMP报文携带管理信息库(management information base,MIB),所述MIB中存储与每个第二类型的交换机直连的交换机的信息;所述第一交换机根据所述MIB,确定所述拓扑信息。根据该实施方式,第一交换机可以预先获取与第二类型的交换机直连的交换机的信息,后续结合该信息,确定拓扑信息。
在一种可能的实施方式中,所述第一交换机可以通过如下方式获取第一终端设备与所述第一交换机之间的路径信息:所述第一交换机接收第一上行报文,所述第一上行报文包括Y+1层以太头,所述第一上行报文的Y+1层以太头中内层以太头包括的源MAC地址为所述第一终端设备的MAC地址,所述第一上行报文的Y+1层以太头中每层外层以太头依次包括Y个第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号;所述第一交换机对所述第一上行报文解封装,根据每层外层以太头以及每层外层以太头后包括的端口号,得到所述第一终端设备与所述第一交换机之间的路径信息。根据该实施方式,第一交换机通过接收包括多层以太头的上行报文,从而获取第一终端设备与所述第一交换机之间的路径信息。
第二方面,提供了一种报文转发方法。第二交换机接收第二下行报文,其中,所述第二下行报文包括第一以太头和第一端口的端口号,所述第一以太头包括第三目的MAC地址、第三源MAC地址和第三以太类型;其中,所述第三目的MAC地址为所述第二交换机的MAC地址;所述第二交换机对所述第二下行报文解封装,剥离所述第一以太头以及第一端口的端口号,得到第三下行报文;所述第二交换机通过所述第一端口转发所述第三下行报文。
其中,所述第二交换机可以为极简设备,即第一类型的交换机。所述第二下行报文可以是前述第一交换机转发的第一下行报文,即第二交换机直接与第一交换机相连的情况;或者,所述第二下行报文可以是前述第一下行报文经过第三交换机处理后的报文,即第二交换机与第一交换机之间存在第三交换机的情况,第三交换机可以为第一类型的交换机。
此外,需要说明的是,第三下行报文可以是包括一层以太头的报文,该层以太头的目的MAC地址为第一终端设备的MAC地址;这种情况下,第二交换机与第一终端设备直连,或者,第二交换机与第一终端设备之间不存在第一类型的交换机,只存在第二类型的交换机。
第三下行报文还可以是包括多层以太头的报文,例如,第三下行报文包括Z+1层以太头,所述第三下行报文的Z+1层以太头中内层以太头包括第一目的MAC地址、第一源MAC地址和第一以太类型,所述第一目的MAC地址为第一终端设备的MAC地址,所述第三下行报文的Z+1层以太头中每层外层以太头包括第二目的MAC地址、第一源MAC地址和第一以太类型,每层外层以太头中第二目的MAC地址依次对应Z个第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号,Z为大于或等于1的整数。第三源MAC地址与第一源MAC地址相同,第三以太类型与第一以太类型相同。可以理解的是,Z的数值取决于第二交换机与第一终端设备之间包含的第一类型的交换机的数目。
本申请实施例,第二交换机接收到包括多层以太头的第二下行报文后,若最外层以太头的目的MAC地址为所述第二交换机的MAC地址;所述第二交换机首先对所述第二下行报文解封装,剥离最外层以太头以及最外层以太头后包括的第一端口的端口号,得到第三下行报文;然后通过所述第一端口转发所述第三下行报文。由上可见,第二交换机可以根据最外层以太头以及最外层以太头后包括的端口号,对下行报文进行处理及转发,该转发过程无需MAC表项。
在一种可能的实施方式中,所述第二交换机为接入交换机;所述第二交换机通过所述第一端口向终端设备转发所述第三下行报文。根据该实施方式,可以实现极简设备作为接入交换机时与传统交换机的混合组网。
在一种可能的实施方式中,所述第二交换机为汇聚交换机;所述第二交换机通过所述第一端口向其他交换机转发所述第三下行报文。根据该实施方式,可以实现极简设备作为汇聚交换机时与传统交换机的混合组网。
在一种可能的实施方式中,所述第二交换机为第一类型的交换机;所述第二交换机接收第二下行报文之前,还包括配合第二类型的交换机的拓扑发现过程:所述第二交换机从第二类型的交换机接收第一链路层发现协议报文数据单元(link layer discoveryprotocol data unit,LLDPDU);所述第二交换机根据所述第一LLDPDU,向所述第二类型的交换机发送第二LLDPDU,所述第二LLDPDU携带所述第二交换机的设备标识,以使所述第二类型的交换机根据所述第二LLDPDU确定与所述第二类型的交换机直连的交换机的信息。根据该实施方式,可以使第二类型的交换机获取与所述第二类型的交换机直连的交换机的信息。
第三方面,提供了一种报文转发方法。第二交换机通过所述第二交换机的第一端口接收第一上行报文,其中,所述第一上行报文包括第二以太头,所述第二以太头包括第四目的MAC地址、第四源MAC地址和第四以太类型;所述第二交换机在所述第一上行报文外层封装第三以太头以及所述第一端口的端口号,得到第二上行报文;其中,所述第三以太头包括第五目的MAC地址、第五源MAC地址和第五以太类型,所述第五源MAC地址为所述第二交换机的MAC地址,所述第五目的MAC地址与所述第四目的MAC地址相同,所述第五以太类型与所述第四以太类型相同;所述第二交换机转发所述第二上行报文。
其中,所述第二交换机可以为极简设备,即第一类型的交换机,极简设备为不具有MAC表项的交换机,无法根据以太头查询MAC表项来进行报文转发。
本申请实施例,第二交换机首先通过所述第二交换机的第一端口接收第一上行报文,其中,所述第一上行报文包括第二以太头,所述第二以太头包括第四目的MAC地址、第四源MAC地址和第四以太类型;然后第二交换机不是直接转发所述第一上行报文,而是所述第二交换机在所述第一上行报文外层封装第三以太头以及所述第一端口的端口号,得到第二上行报文;其中,所述第三以太头包括第五目的MAC地址、第五源MAC地址和第五以太类型,所述第五源MAC地址为所述第二交换机的MAC地址,所述第五目的MAC地址与所述第四目的MAC地址相同,所述第五以太类型与所述第四以太类型相同;所述第二交换机转发所述第二上行报文。由上可见,第二交换机对接收到的上行报文,封装了一层外层以太头和报文的入端口号,也就是说,在上行报文中增加了路径信息,便于其他交换机获取该路径信息。
在一种可能的实施方式中,所述第二交换机选择一个可用上行端口;所述第二交换机通过所述可用上行端口向上层转发所述第二上行报文。根据该实施方式,可以实现第二交换机对上行报文的转发。
在一种可能的实施方式中,所述第二交换机为接入交换机;所述第二交换机通过所述第二交换机的第一端口从终端设备接收第一上行报文。根据该实施方式,可以实现极简设备作为接入交换机时与传统交换机的混合组网。
在一种可能的实施方式中,所述第二交换机为汇聚交换机;所述第二交换机通过所述第二交换机的第一端口从其他交换机接收第一上行报文。根据该实施方式,可以实现极简设备作为汇聚交换机时与传统交换机的混合组网。
在一种可能的实施方式中,所述第二交换机为第一类型的交换机;所述第二交换机通过所述第二交换机的第一端口接收第一上行报文之前,还包括第二交换机配合第二类型的交换机的拓扑发现过程:所述第二交换机从第二类型的交换机接收第一LLDPDU;所述第二交换机根据所述第一LLDPDU,向所述第二类型的交换机发送第二LLDPDU,所述第二LLDPDU携带所述第二交换机的设备标识,以使所述第二类型的交换机根据所述第二LLDPDU确定与所述第二类型的交换机直连的交换机的信息。根据该实施方式,可以使第二类型的交换机获取与所述第二类型的交换机直连的交换机的信息。
第四方面,提供了一种报文转发方法。第一交换机接收第三上行报文,其中,所述第三上行报文包括X+1层以太头,每层以太头包括目的MAC地址、源MAC地址和以太类型,X为大于或等于1的整数;所述第一交换机对所述第三上行报文解封装,剥离外层的X层以太头以及所述X层以太头中每层以太头后包括的端口号,得到第四上行报文;其中,所述X+1层以太头中最内层以太头包括的源MAC地址为终端设备的MAC地址;外层的X层以太头中每层以太头的源MAC地址依次对应所述第三上行报文经过的X个第一类型的交换机的MAC地址;所述第一交换机转发所述第四上行报文。
其中,所述第一交换机可以为核心交换机。第一类型的交换机可以为极简设备,极简设备为不具有MAC表项的交换机,无法根据以太头查询MAC表项来进行报文转发。当报文包括多层以太头时,最内层以太头称为内层以太头,其他以太头称为外层以太头。
本申请实施例,第一交换机接收到包括多层以太头的第三上行报文时,其中,所述第三上行报文包括X+1层以太头,每层以太头包括目的MAC地址、源MAC地址和以太类型,X为大于或等于1的整数;所述第一交换机首先对所述第三上行报文解封装,剥离外层的X层以太头以及所述X层以太头中每层以太头后包括的端口号,得到第四上行报文;其中,所述X+1层以太头中最内层以太头包括的源MAC地址为终端设备的MAC地址;外层的X层以太头中每层以太头的源MAC地址依次对应所述第三上行报文经过的X个第一类型的交换机的MAC地址;然后所述第一交换机转发所述第四上行报文。由上可见,第一交换机在接收到包括多层以太头的第三上行报文时,不是直接转发该第三上行报文,而是对第三上行报文进行处理后得到第四上行报文,再转发该第四上行报文,从而实现极简设备与传统交换机的混合组网。
在一种可能的实施方式中,所述第一交换机对所述第三上行报文解封装之后,所述第一交换机根据外层的X层以太头以及所述X层以太头中每层以太头后包括的端口号,确定所述终端设备与所述第一交换机之间的路径信息,所述路径信息包括X个第一类型的交换机的MAC地址和每个第一类型的交换机对应的端口号。根据该实施方式,第一交换机不仅实现了对上行报文的转发,而且根据上行报文的以太头中的信息获取了所述终端设备与所述第一交换机之间的路径信息。
在一种可能的实施方式中,所述第一交换机为核心交换机;所述第一交换机从其他交换机接收所述第三上行报文,所述其他交换机为接入交换机或汇聚交换机。根据该实施方式,核心交换机能够实现和极简设备以及传统交换机的兼容。
在一种可能的实施方式中,所述第一交换机接收第三上行报文之前,还包括获取网络拓扑信息的过程:所述第一交换机向第二类型的交换机发送第一SNMP报文;所述第一交换机从第二类型的交换机接收第二SNMP报文,所述第二SNMP报文携带MIB,所述MIB中存储与所述第二类型的交换机直连的交换机的信息。根据该实施方式,第一交换机可以预先获取与第二类型的交换机直连的交换机的信息,后续结合该信息,确定拓扑信息。
第五方面,本申请实施例提供了一种交换机,该交换机可以实现上述第一方面和/或第四方面方法设计中所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,该交换机的结构中包括处理器,该处理器被配置为支持该交换机执行上述第一方面和/或第四方面方法中相应的功能。该交换机还可以包括存储器,该存储器用于与处理器耦合,其保存该交换机必要的程序指令和数据。该交换机还可以包括通信接口,该通信接口用于发送或接收信息等。
第六方面,本申请实施例提供了一种交换机,该交换机可以实现上述第二方面和/或第三方面方法设计中所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,该交换机的结构中包括处理器,该处理器被配置为支持该交换机执行上述第二方面和/或第三方面方法中相应的功能。该交换机还可以包括存储器,该存储器用于与处理器耦合,其保存该交换机必要的程序指令和数据。该交换机还可以包括通信接口,该通信接口用于发送或接收信息等。
第七方面,本申请实施例提供了一种通信装置,该通信装置可以例如是芯片,该通信装置可以设置于上述第五方面的交换机中,该通信装置包括处理器和接口。该处理器被配置为支持该通信装置执行上述第一方面和/或第四方面方法中相应的功能。该接口用于支持该通信装置与其他通信装置或其他网元之间的通信。该通信装置还可以包括存储器,该存储器用于与处理器耦合,其保存该通信装置必要的程序指令和数据。
第八方面,本申请实施例提供了一种通信装置,该通信装置可以例如是芯片,该通信装置可以设置于上述第六方面的交换机中,该通信装置包括处理器和接口。该处理器被配置为支持该通信装置执行上述第二方面和/或第三方面方法中相应的功能。该接口用于支持该通信装置与其他通信装置或其他网元之间的通信。该通信装置还可以包括存储器,该存储器用于与处理器耦合,其保存该通信装置必要的程序指令和数据。
第九方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面或各方面的任意一种可能的设计中所述的方法。
第十方面,本申请实施例提供了一种计算机程序产品,其包含指令,当所述程序被计算机所执行时,该指令使得计算机执行上述各方面或各方面的任意一种可能的设计中所述的方法。
第十一方面,本申请实施例提供了一种计算机程序,其包含指令,当所述程序被计算机所执行时,该指令使得计算机执行上述各方面或各方面的任意一种可能的设计中所述的方法。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种报文转发方法通信示意图;
图3为本申请实施例提供的一种路径示意图;
图4为本申请实施例提供的一种报文结构示意图;
图5为本申请实施例提供的另一种报文转发方法通信示意图;
图6为本申请实施例提供的一种拓扑发现方法通信示意图;
图7为本申请实施例提供的另一种路径示意图;
图8为本申请实施例提供的另一种报文转发方法通信示意图;
图9为本申请实施例提供的一种报文封装方法示意图;
图10为本申请实施例提供的另一种报文封装方法示意图;
图11为本申请实施例提供的一种极简设备“X”作为汇聚交换机时的路径示意图;
图12为本申请实施例提供的一种上下行的报文转发流程示意图;
图13为本申请实施例提供的一种极简设备“X”作为接入交换机和汇聚交换机时的路径示意图;
图14为本申请实施例提供的另一种上下行的报文转发流程示意图;
图15为本申请实施例提供的一种第一交换机的示意性框图;
图16为本申请实施例提供的另一种第一交换机的示意性框图;
图17为本申请实施例提供的一种第二交换机的示意性框图;
图18为本申请实施例提供的另一种第二交换机的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
图1为本申请实施例提供的一种应用场景示意图。该应用场景涉及报文的转发,其中,主要应用于X-Lean极简设备与传统交换机混合部署的场景。如图1所示,主要涉及三种交换机,“S”设备为传统交换机,无需做任何改变,仍采用查表转发的方式。“X”设备(即极简设备)为接入或汇聚交换机,只做直通转发,无MAC表项。“1”设备是核心交换机、全网控制中心,承载集中路由,集中转发整网流量。本申请实施例主要涉及两个方面,一是“X”设备对上行报文的处理,需要封装以“X”设备的MAC地址为源MAC地址,目的MAC地址和以太类型从内层以太头拷贝而来的外层以太头。并从上行链路位图(uplink bitmap)中选择一个出端口将报文转发出去。二是X”设备对下行报文的处理,“X”设备收到目的MAC地址为自己的MAC地址的报文后,解封装外层以太头以及后面的端口标签,并根据端口标签将报文从对应的端口转发出去。
本申请实施例中,包括两个阶段:
1.拓扑发现阶段
传统交换机上使能链路层发现协议(link layer discovery protocol,LLDP);“X”设备上实现轻量级的LLDP,只有邻居设备发来链路层发现协议报文数据单元(linklayer discovery protocol data unit,LLDPDU)时才会回复LLDPDU。“X”设备无需存储管理信息库(management information base,MIB),也不需要周期性的发送LLDPDU;传统交换机与“X”设备之间的链路信息存储在传统交换机的MIB中,“1”设备通过简单网络管理协议(simple network management protocol,SNMP)获取这些信息。两个“X”设备间的链路信息通过极简设备发现协议(X-Lean discovery protocol,XLDP)获得;“1”设备最终整合这两种拓扑信息,从而获得整网拓扑。
2.报文转发阶段
通过将传统交换机的所有下行口加入到一个端口隔离组里,保证“1”设备的集中转发;传统交换机仍采用基于目的MAC地址的查表转发;对于上行报文,“X”设备额外封装一个以“X”设备的MAC地址为源MAC地址的标准以太头,目的MAC地址和以太类型与内层以太头相同,以及这个报文的入端口号。“1”设备接收到上行报文后,通过解封装以太头,获取并存储终端的位置信息。对于下行报文,“1”设备额外封装一个以“X”设备的MAC地址为目的MAC地址的标准以太头,源MAC地址和以太类型与内层以太头相同,以及“X”设备的出端口号。“X”设备解封装外层以太头,并根据后面的端口信息对报文进行转发。
可以理解的是,本申请实施例中,极简设备即“X”设备,极简设备中无MAC表项,无法单纯根据以太头进行报文转发,对于极简设备来说,下行报文中一定要携带极简设备的出端口号,以便极简设备根据该出端口号进行报文转发;传统交换机中有MAC表项,可以根据以太头查询MAC表项进行报文转发,对于传统交换机来说,下行报文中可以不携带传统交换机的出端口号。
需要说明的是,终端设备(可以称为用户(User))通往“1”设备的路径上可能仅包括一个“X”设备,“X”设备作为接入交换机或汇聚交换机。参照图1,用户C通往“1”设备的路径上仅包括一个“X”设备,为“X1”设备,其中,“X1”设备为汇聚交换机。终端通往“1”设备的路径上还可能包括多个“X”设备,一个“X”设备作为接入交换机,其他的“X”设备作为汇聚交换机。参照图1,用户D通往“1”设备的路径上包括两个“X”设备,分别为“X1”设备和“X2”设备,其中,“X2”设备为接入交换机,“X1”设备为汇聚交换机。
图2为本申请实施例提供的一种报文转发方法通信示意图。该实施例可以基于图1所示的应用场景,即假定极简设备与传统交换机混合组网,该方法可以包括如下操作流程。
步骤201,第一交换机生成第一下行报文。
其中,所述第一下行报文包括Y+1层以太头,Y+1层以太头中内层以太头包括第一目的MAC地址、第一源MAC地址和第一以太类型,所述第一目的MAC地址为第一终端设备的MAC地址,Y+1层以太头中每层外层以太头包括第二目的MAC地址、第一源MAC地址和第一以太类型,每层外层以太头中第二目的MAC地址依次对应Y个第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号,Y为大于或等于1的整数。
在一个示例中,第一交换机先获取第一终端设备与第一交换机之间的路径信息,所述路径信息包括Y个第一类型的交换机的MAC地址和每个第一类型的交换机对应的端口号,Y为大于或等于1的整数,然后根据所述路径信息生成第一下行报文。
图3为本申请实施例提供的一种路径示意图。以第一终端设备为用户D、第一交换机为“1”设备为例,从用户D通往“1”设备的路径为:用户D→“X1”设备→“S2”设备→“1”设备。其中,“X1”设备为第一类型的交换机,即极简设备,“S2”设备为第二类型的交换机,即传统交换机。第一类型的交换机对应的端口号为上行报文经过该交换机的入端口号,也为下行报文经过该交换机的出端口号,例如,“X1”设备对应的端口号为端口号“3”。上述路径信息包括“X1”设备的MAC地址和端口号“3”。
可以理解的是,Y的数值代表路径中包括的第一类型的交换机的数目。
在一个示例中,在步骤201之前,第一交换机获取拓扑信息,所述拓扑信息用于指示所述第一终端设备与所述第一交换机之间包括X个第二类型的交换机第二类型,X为大于或等于1的整数。
进一步地,所述第一交换机根据所述拓扑信息,确定所述第一交换机与所述第一终端设备之间存在第二类型的交换机。也就是说,第一交换机确定路径中既存在第一类型的交换机,又存在第二类型的交换机,因此有兼容性的需求。
进一步地,所述第一交换机向X个第二类型的交换机发送第一SNMP报文;所述第一交换机从每个第二类型的交换机接收第二SNMP报文,所述第二SNMP报文携带MIB,所述MIB中存储与每个第二类型的交换机直连的交换机的信息;所述第一交换机根据所述MIB,确定所述拓扑信息。也就是说,第一交换机基于SNMP协议,获取交换机之间的连接信息。
在一个示例中,所述第一交换机接收第一上行报文,所述第一上行报文包括Y+1层以太头,Y+1层以太头中内层以太头包括的源MAC地址为所述第一终端设备的MAC地址,Y+1层以太头中每层外层以太头依次包括Y个第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号;所述第一交换机对所述第一上行报文解封装,根据每层外层以太头以及每层外层以太头后包括的端口号,得到所述第一终端设备与所述第一交换机之间的路径信息。也就是说,第一交换机通过接收包括多层以太头的上行报文,从而根据以太头中携带的信息,得到所述第一终端设备与所述第一交换机之间的路径信息。
图4为本申请实施例提供的一种报文结构示意图。为了方便理解第一下行报文的结构,图4中给出了传统以太报文的结构作为对照。参照图4,传统以太报文包括以太头、载荷(payload)和帧校验序列(frame check sequence,FCS),以太头包括源MAC地址(MAC-SA)、目的MAC地址(MAC-DA)和以太类型(typelength)。对于下行报文,在传统以太报文的基础上额外封装Y层外层以太头和出端口号,对照图3所示的路径示意图,“1”设备额外封装一个以“X1”设备的MAC地址(记为MAC-X)为目的MAC地址的标准以太头,源MAC地址和以太类型与内层以太头相同,以及“X1”设备的出端口号。后续报文经过“X1”设备时,“X1”设备解封装外层以太头,并根据后面的端口信息对报文进行转发。
需要说明的是,第一交换机可以是在接收到第二终端设备(例如图3中的用户A)发送的报文后,出于转发该报文的目的,在该报文的基础上,根据所述路径信息,生成第一下行报文;或者,第一交换机可以是出于主动发送控制信息的目的,根据所述路径信息,生成包含控制信息的第一下行报文。
可以理解的是,图4中下行报文包括两层以太头,一层内层以太头和一层外层以太头,这仅是作为示意。实际第一交换机生成下行报文时,下行报文中可能包括多层外层以太头,外层以太头的数目取决于第一交换机与第一终端设备之间的路径包括的第一类型的交换机的数目,每层外层以太头中的目的MAC地址依次对应路径中的第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号,也就是说,可以根据第一交换机与第一终端设备之间的路径中经过的多个第一类型的交换机的次序,依次确定每层外层以太头中包括的第一类型的交换机的MAC地址。步骤202,第一交换机转发所述第一下行报文。
可以理解的是,第一交换机先要根据最外层以太头中包括的MAC地址,将第一下行报文转发给路径中包括的第一类型的交换机,最终再将第一下行报文转发给内层以太头中目的MAC地址对应的终端设备。从第一交换机到终端设备的报文转发过程中可能经过多个中间交换机,其中可能包括一个或多个第一类型的交换机(例如“X”设备),以及一个或多个第二类型的交换机(例如“S”设备)。
其中,第二类型的交换机进行报文转发的方式与传统方式相同,依据最外层以太头进行报文转发,在此不做赘述。
步骤203,第二交换机接收第二下行报文。
其中,所述第二下行报文包括第一以太头和第一端口的端口号,所述第一以太头包括第三目的MAC地址、第三源MAC地址和第三以太类型;其中,所述第三目的MAC地址为所述第二交换机的MAC地址。
其中,所述第二交换机可以为极简设备,即第一类型的交换机。所述第二下行报文可以是前述第一交换机转发的第一下行报文,即第二交换机直接与第一交换机相连的情况;或者,所述第二下行报文可以是前述第一下行报文经过第三交换机处理后的报文,即第二交换机与第一交换机之间存在第三交换机的情况,可以理解的是,第二交换机与第一交换机之间可以存在一个或多个第三交换机,第三交换机可以为传统交换机,也可以为极简设备。
可以理解的是,第二下行报文可以与第一下行报文的结构相同,即第二下行报文也为包括多层以太头的报文,其中,第一以太头为最外层以太头,第一端口的端口号为最外层以太头后包括的端口号。
在一个示例中,所述第二交换机为第一类型的交换机;所述第二交换机接收第二下行报文之前,还包括如下的配合第二类型的交换机的拓扑发现过程:所述第二交换机从第二类型的交换机接收第一LLDPDU;所述第二交换机根据所述第一LLDPDU,向所述第二类型的交换机发送第二LLDPDU,所述第二LLDPDU携带所述第二交换机的设备标识,以使所述第二类型的交换机根据所述第二LLDPDU确定与所述第二类型的交换机直连的交换机的信息。可以理解的是,当网络中均为第一类型的交换机时,也就是不存在第二类型的交换机时,第一类型的交换机不会接收到LLDPDU,也无需发送LLDPDU。当第一类型的交换机与第二类型的交换机混合组网时,第一类型的交换机只在接收到LLDPDU时,回复LLDPDU,有利于第二类型的交换机获取到包括第一类型的交换机在内的直连的交换机的信息。
步骤204,第二交换机对所述第二下行报文解封装,剥离所述第一以太头以及第一端口的端口号,得到第三下行报文。
可以理解的是,第三下行报文与第二下行报文相比,包含的以太头的层数少了一层,第三下行报文可以为多层以太头,也可以只包含一层以太头。
步骤205,第二交换机通过所述第一端口转发所述第三下行报文。
在一个示例中,所述第二交换机为接入交换机;所述第二交换机通过所述第一端口向终端设备转发所述第三下行报文。
在另一个示例中,所述第二交换机为汇聚交换机;所述第二交换机通过所述第一端口向其他交换机转发所述第三下行报文。可以理解的是,第二交换机与终端设备之间可能存在一个或多个交换机,例如,第二交换机与终端设备之间存在第四交换机,第四交换机可以为传统交换机,也可以为极简设备。
本申请实施例,第一交换机在向第一终端设备发送第一下行报文时,与传统的生成下行报文的方式不同,在第一下行报文中包括多层以太头以及每层以太头后包括的端口号,传统交换机,即具有MAC表项的交换机,在接收到上述第一下行报文后,可以根据上述第一下行报文的最外层报文头中的目的MAC地址,查询MAC表项,从而实现报文的转发;极简设备,即不具有MAC表项的交换机,在接收到上述第一下行报文后,可以根据上述第一下行报文的最外层以太头后包括的端口号,从而实现报文的转发。第二交换机接收到包括多层以太头的第二下行报文后,若最外层以太头的目的MAC地址为所述第二交换机的MAC地址;所述第二交换机首先对所述第二下行报文解封装,剥离最外层以太头以及最外层以太头后包括的第一端口的端口号,得到第三下行报文;然后通过所述第一端口转发所述第三下行报文,第二交换机可以根据最外层以太头以及最外层以太头后包括的端口号,对下行报文进行处理及转发,该转发过程无需MAC表项。
图5为本申请实施例提供的另一种报文转发方法通信示意图。该实施例可以基于图1所示的应用场景,即假定极简设备与传统交换机混合组网,该方法可以包括如下操作流程。
步骤501,第二交换机通过所述第二交换机的第一端口接收第一上行报文,其中,所述第一上行报文包括第二以太头,所述第二以太头包括第四目的MAC地址、第四源MAC地址和第四以太类型。
可以理解的是,第一上行报文可能包括多层以太头,也可能仅包括一层以太头,当第一上行报文包括多层以太头时,第二以太头为最外层以太头。
其中,所述第二交换机可以为极简设备,即第一类型的交换机。而对于传统交换机对上行报文的转发方法与通常的转发方法相同,即根据报文最外层以太头中包括的目的MAC地址,查询MAC表项,从而进行转发,在此不做赘述。
在一个示例中,所述第二交换机为接入交换机;所述第二交换机通过所述第二交换机的第一端口从终端设备接收第一上行报文。
在另一个示例中,所述第二交换机为汇聚交换机;所述第二交换机通过所述第二交换机的第一端口从其他交换机接收第一上行报文。可以理解的是,第二交换机与终端设备之间可能存在一个或多个交换机,例如,第二交换机与终端设备之间存在第四交换机,第四交换机可以为传统交换机,也可以为极简设备。在一个示例中,所述第二交换机为第一类型的交换机;所述第二交换机通过所述第二交换机的第一端口接收第一上行报文之前,还包括第二交换机配合第二类型的交换机的拓扑发现过程:所述第二交换机从第二类型的交换机接收第一LLDPDU;所述第二交换机根据所述第一LLDPDU,向所述第二类型的交换机发送第二LLDPDU,所述第二LLDPDU携带所述第二交换机的设备标识,以使所述第二类型的交换机根据所述第二LLDPDU确定与所述第二类型的交换机直连的交换机的信息。根据该实施方式,可以使第二类型的交换机获取与所述第二类型的交换机直连的交换机的信息。
步骤502,第二交换机在所述第一上行报文外层封装第三以太头以及所述第一端口的端口号,得到第二上行报文;其中,所述第三以太头包括第五目的MAC地址、第五源MAC地址和第五以太类型,所述第五源MAC地址为所述第二交换机的MAC地址,所述第五目的MAC地址与所述第四目的MAC地址相同,所述第五以太类型与所述第四以太类型相同。
参照图4所示的报文结构示意图,可以理解的是,第三以太头与第二以太头相比,仅改变了源MAC地址。对于上行报文,新设备“X”额外封装一个以“X”设备MAC为源MAC的标准以太头,目的MAC和以太类型与内层以太头相同,以及这个报文的入端口号。“1”设备可以根据以太头确定终端的位置。
步骤503,第二交换机转发所述第二上行报文。
在一种可能的实施方式中,所述第二交换机选择一个可用上行端口;所述第二交换机通过所述可用上行端口转发所述第二上行报文。
步骤504,第一交换机接收第三上行报文,其中,所述第三上行报文包括X+1层以太头,每层以太头包括目的MAC地址、源MAC地址和以太类型,X为大于或等于1的整数。
其中,所述第一交换机可以为核心交换机。第一类型的交换机可以为极简设备。当报文包括多层以太头时,最内层以太头称为内层以太头,其他以太头称为外层以太头。
所述第三上行报文可以是前述第二交换机转发的第二上行报文,即第二交换机直接与第一交换机相连的情况;或者,所述第三上行报文可以是前述第二上行报文经过第三交换机处理后的报文,即第二交换机与第一交换机之间存在第三交换机的情况。可以理解的是,第二交换机与第一交换机之间可以存在一个或多个第三交换机,第三交换机可以为传统交换机,也可以为极简设备。
在一种可能的实施方式中,所述第一交换机为核心交换机;所述第一交换机从其他交换机接收所述第三上行报文,所述其他交换机为接入交换机或汇聚交换机。根据该实施方式,核心交换机能够实现对极简设备和传统交换机的兼容。
在一种可能的实施方式中,所述第一交换机接收第三上行报文之前,还包括获取网络拓扑信息的过程:所述第一交换机向第二类型的交换机发送第一SNMP报文;所述第一交换机从第二类型的交换机接收第二SNMP报文,所述第二SNMP报文携带MIB,所述MIB中存储与所述第二类型的交换机直连的交换机的信息。根据该实施方式,第一交换机可以预先获取与第二类型的交换机直连的交换机的信息,后续结合该信息,确定拓扑信息。
步骤505,第一交换机对所述第三上行报文解封装,剥离外层的X层以太头以及所述X层以太头中每层以太头后包括的端口号,得到第四上行报文;其中,所述X+1层以太头中最内层以太头包括的源MAC地址为终端设备的MAC地址;外层的X层以太头中每层以太头的源MAC地址依次对应所述第三上行报文经过的X个第一类型的交换机的MAC地址。
可以理解的是,第四上行报文仅包括一层以太头。
在一个示例中,所述第一交换机对所述第三上行报文解封装之后,所述第一交换机根据外层的X层以太头以及所述X层以太头中每层以太头后包括的端口号,确定所述终端设备与所述第一交换机之间的路径信息,所述路径信息包括X个第一类型的交换机的MAC地址和每个第一类型的交换机对应的端口号。根据该示例,第一交换机不仅实现了对上行报文的转发,而且根据上行报文的以太头中的信息获取了所述终端设备与所述第一交换机之间的路径信息。
步骤506,第一交换机转发所述第四上行报文。
可以理解的是,第一交换机可以直接转发所述第四上行报文,例如,将第四上行报文转发至外网;第一交换机也可以根据以太头中的目的MAC地址,先对所述第四上行报文封装外层以太头,然后转发封装后的第四上行报文,例如,将第四上行报文转发至局域网内部。
本申请实施例,第二交换机首先通过所述第二交换机的第一端口接收第一上行报文,然后第二交换机不是直接转发所述第一上行报文,而是所述第二交换机在所述第一上行报文外层封装第三以太头以及所述第一端口的端口号,得到第二上行报文;所述第三以太头的源MAC地址为所述第二交换机的MAC地址,所述第二交换机转发所述第二上行报文。由上可见,第二交换机对接收到的上行报文,封装了一层外层以太头和报文的入端口号,也就是说,在上行报文中增加了路径信息,便于其他交换机获取该路径信息。第一交换机接收到包括多层以太头的第三上行报文时,首先对所述第三上行报文解封装,剥离外层的X层以太头以及所述X层以太头中每层以太头后包括的端口号,得到第四上行报文;然后所述第一交换机转发所述第四上行报文。由上可见,第一交换机在接收到包括多层以太头的第三上行报文时,不是直接转发该第三上行报文,而是对第三上行报文进行处理后得到第四上行报文,再转发该第四上行报文,从而实现第一交换机与极简设备和传统交换机的兼容。
下面对极简设备与传统交换机混合组网时的拓扑发现过程进行说明。
图6为本申请实施例提供的一种拓扑发现方法通信示意图。该实施例可以基于图3所示的路径示意图,即假定极简设备与传统交换机混合组网,参照图3,极简设备作为接入设备,S设备均为传统交换机,进行新旧设备的混合组网。为保证“1”设备能够获得整网拓扑,“1”要支持LLDP协议以及XLDP协议,传统交换机“S”全都使能LLDP协议,“X”设备支持轻量LLDP协议以及XLDP协议。
在拓扑发现时,1)“S”周期性地发送LLDPDU,S设备之间的交互仍按标准的LLDP协议进行;2)“X”设备只会被动接受LLDPDU,并回应LLDPDU而不需要存储收到的LLDPDU中的信息;3)“S”将收到的LLDPDU中的信息存储到本地MIB中;4)“1”设备就会通过SNMP协议获取包含MIB的信息,构建整网拓扑。
本申请实施例中,上行报文的转发过程作为下行报文转发的基础,通过上行报文的转发过程,可以使第一交换机得到第一交换机与第一终端设备之间的路径信息,当第一交换机要向第一终端设备发送下行报文时,根据该路径信息,进行报文封装,从而得到待发送的下行报文。
下面通过实施例,将上行报文的转发过程与下行报文的转发过程结合起来说明。
图7为本申请实施例提供的另一种路径示意图,极简设备“X”为接入交换机,与传统交换机“S”进行混合组网。图8为本申请实施例提供的另一种报文转发方法通信示意图,该实施例基于图7所示的路径示意图,可以包括如下操作流程。
终端向“1”设备发送报文,1)当报文到达“X”设备时,“X”设备封装一个以自身设备的MAC地址为源MAC地址,目的MAC地址和以太类型由内层以太头拷贝而来的标准外层以太头,并将报文进入“X”设备的端口号作为入端口标签封装在外层以太头后。此时报文外层以太头中的源MAC地址为X1的MAC地址,报文从X1的3号口进入,因此入端口号字段值为3。报文在X1设备上的封装如图9所示。然后“X”设备从自己的上行链路位图(UPLINK bitmap)中选择一个上行口将此报文发出。
2)当报文到达传统交换机“S”时,“S”通过查表转发的方式,将报文发出。
3)“1”设备收到报文时,会解析报文,从而获得终端的位置,是在哪个“X”设备的哪个端口下方。此时图例中“1”设备就能发现用户D(User D)的位置在设备X1的3号口下方。
4)“1”向终端发送报文时,需要将经过的“X”设备的MAC地址和出端口信息封装到报文中,就是封装以“X”设备的MAC地址为目的MAC地址,源MAC地址和以太类型从内层以太头拷贝而来外层以太头,并在外层以太头后继续封装一个出端口标签。图例中“1”设备需要向用户D发送报文,此时报文外层以太头的目的MAC地址为X1的MAC地址。报文经过X1的3号口能够到达用户D,因此出端口号的值为3,报文在设备“1”上的封装如图10所示。
5)当报文到达传统交换机“S”时,“S”通过查表转发的方式,将报文发出。
6)当报文到达“X”设备时,此时外层以太头的目的MAC地址是“X”设备的MAC地址,“X”设备就会解封装外层以太头和后面的端口标签。出端口标签对应了“X”设备的一个出端口号,“X”设备就会从此端口将报文发出。
如图11为极简设备“X”作为汇聚交换机时的路径示意图。相应地,上下行的报文转发流程如图12所示,可以看出,“X”作为汇聚交换机时与“X”作为接入交换机时转发过程类似,在此不做赘述。
本申请实施例,针对企业网络混合部署的场景,提出了一种报文转发方法,,使用该方法可以实现极简设备与传统交换机的混合组网。
如图13为极简设备“X”作为接入交换机和汇聚交换机时的路径示意图。相应地,上下行的报文转发流程如图14所示。本实施例中,上行报文经过每个极简设备时外层以太头封装方法一致,当终端通往“1”设备路径上存在多个“X”设备时,就需要封装多个外层以太头和入端口号。也就是说,每经过一个“X”设备时,就需要进行一次相应的报文转发流程。当“1”设备沿此路径给终端发送下行报文时,也需要对报文进行多次外层以太头的封装。逐级“X”设备会拆分最外层以太头和出端口标签,根据出端口将报文转发。
需要说明的是,本申请实施例可以不用区分路径上有无传统交换机,只要核心交换机与终端设备的路径上存在极简设备,在传输报文时全都采用多层以太头的报文封装方式,这样可以完全兼容混合组网。
上文描述了本申请实施例提供的报文转发方法,下文将描述本申请实施例提供的第一交换机和第二交换机。
图15为本申请实施例提供的第一交换机1500的示意性框图,第一交换机1500包括:
处理模块1510,用于生成第一下行报文;其中,所述第一下行报文包括Y+1层以太头,Y+1层以太头中内层以太头包括第一目的MAC地址、第一源MAC地址和第一以太类型,所述第一目的MAC地址为第一终端设备的MAC地址,Y+1层以太头中每层外层以太头包括第二目的MAC地址、第一源MAC地址和第一以太类型,每层外层以太头中第二目的MAC地址依次对应Y个第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号,Y为大于或等于1的整数;
收发模块1520,用于转发所述处理模块1510生成的第一下行报文。
本申请实施例,处理模块1510在准备向第一终端设备发送下行报文时,与传统的生成下行报文的方式不同,首先生成包括多层以太头的第一下行报文,通过多层以太头的目的MAC地址依次指示所述Y个第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号;再由收发模块1520转发所述第一下行报文。由上可见,传统交换机,即具有MAC表项的交换机,在接收到上述第一下行报文后,可以根据上述第一下行报文的最外层报文头中的目的MAC地址,查询MAC表项,从而实现报文的转发;极简设备,即不具有MAC表项的交换机,在接收到上述第一下行报文后,可以根据上述第一下行报文的最外层报文头后包括的端口号,从而实现报文的转发。
可选地,作为一个实施例,处理模块1510,还用于在生成第一下行报文之前,获取第一终端设备与第一交换机之间的路径信息,所述路径信息包括Y个第一类型的交换机的MAC地址和每个第一类型的交换机对应的端口号;处理模块1510,具体用于根据所述路径信息,生成第一下行报文。
可选地,作为一个实施例,处理模块1510,还用于在生成第一下行报文之前,获取拓扑信息,所述拓扑信息用于指示所述第一终端设备与所述第一交换机之间包括X个第二类型的交换机第二类型,X为大于或等于1的整数。
进一步地,所述处理模块1510,还用于在生成第一下行报文之前,根据所述拓扑信息,确定所述第一交换机与所述第一终端设备之间存在第二类型的交换机。
进一步地,所述收发模块1520,还用于向X个第二类型的交换机发送第一简单网络管理协议SNMP报文;从每个第二类型的交换机接收第二SNMP报文,所述第二SNMP报文携带MIB,所述MIB中存储与每个第二类型的交换机直连的交换机的信息;
所述处理模块1510,用于根据所述收发模块1520接收的MIB,确定所述拓扑信息。
可选地,作为一个实施例,所述处理模块1510用于获取第一终端设备与所述第一交换机之间的路径信息,包括:
所述处理模块1510用于通过所述收发模块接收第一上行报文,所述第一上行报文包括Y+1层以太头,Y+1层以太头中内层以太头包括的源MAC地址为所述第一终端设备的MAC地址,Y+1层以太头中每层外层以太头依次包括Y个第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号;
所述处理模块1510用于对所述收发模块1620接收的第一上行报文解封装,根据每层外层以太头以及每层外层以太头后包括的端口号,得到所述第一终端设备与所述第一交换机之间的路径信息。
应理解,本申请实施例中的处理模块1510可以由处理器或处理器相关电路组件实现,收发模块1520可以由收发器或收发器相关电路组件实现。
如图16所示,本申请实施例还提供一种第一交换机1600,该第一交换机1600包括处理器1610,存储器1620与收发器1630,其中,存储器1620中存储指令或程序,处理器1610用于执行存储器1620中存储的指令或程序。存储器1620中存储的指令或程序被执行时,该处理器1610用于执行上述实施例中处理模块1510执行的操作,收发器1630用于执行上述实施例中收发模块1520执行的操作。
应理解,根据本申请实施例的第一交换机1500或第一交换机1600可对应于本申请实施例的图2或图5对应的方法中的第一交换机,并且第一交换机1500或第一交换机1600中的各个模块的操作和/或功能分别为了实现图2或图5中的方法的相应流程,为了简洁,在此不再赘述。
图17为本申请实施例提供的第二交换机1700的示意性框图,该第二交换机1700包括:
收发模块1710,用于接收第二下行报文,其中,所述第二下行报文包括第一以太头和第一端口的端口号,所述第一以太头包括第一目的MAC地址、第一源MAC地址和第一以太类型;其中,所述第一目的MAC地址为所述第二交换机的MAC地址;
处理模块1720,用于对所述收发模块1710接收的第二下行报文解封装,剥离所述第一以太头以及第一端口的端口号,得到第三下行报文;
所述收发模块1710,还用于通过所述第一端口转发所述第三下行报文。
本申请实施例,收发模块1710接收到包括多层以太头的第二下行报文后,若最外层以太头的目的MAC地址为所述第二交换机的MAC地址;处理模块1720首先对所述第二下行报文解封装,剥离最外层以太头以及最外层以太头后包括的第一端口的端口号,得到第三下行报文;然后收发模块1710通过所述第一端口转发所述第三下行报文。由上可见,第二交换机可以根据最外层以太头以及最外层以太头后包括的端口号,对下行报文进行处理及转发,该转发过程无需MAC表项。
可选地,作为一个实施例,所述第二交换机为接入交换机;
所述收发模块1710用于通过所述第一端口转发所述第三下行报文,包括:
所述收发模块1710用于通过所述第一端口向终端设备转发所述第三下行报文。
可选地,作为一个实施例,所述第二交换机为汇聚交换机;
所述收发模块1710用于通过所述第一端口转发所述第三下行报文,包括:
所述收发模块1710用于通过所述第一端口向其他交换机转发所述第三下行报文。
可选地,作为一个实施例,所述第二交换机为第一类型的交换机;所述收发模块1710,还用于在接收第二下行报文之前,从第二类型的交换机接收第一LLDPDU;
所述处理模块1720,还用于根据所述第一LLDPDU,通过所述收发模块1710向所述第二类型的交换机发送第二LLDPDU,所述第二LLDPDU携带所述第二交换机的设备标识,以使所述第二类型的交换机根据所述第二LLDPDU确定与所述第二类型的交换机直连的交换机的信息。
应理解,本申请实施例中的处理模块1720可以由处理器或处理器相关电路组件实现,收发模块1710可以由收发器或收发器相关电路组件实现。
如图18所示,本申请实施例还提供一种第二交换机1800,该第二交换机1800包括处理器1810,存储器1820与收发器1830,其中,存储器1820中存储指令或程序,处理器1810用于执行存储器1820中存储的指令或程序。存储器1820中存储的指令或程序被执行时,该处理器1810用于执行上述实施例中处理模块1720执行的操作,收发器1830用于执行上述实施例中收发模块1710执行的操作。
应理解,根据本申请实施例的第二交换机1700或第二交换机1800可对应于本申请实施例的图2或图5对应的方法中的第二交换机,并且第二交换机1700或第二交换机1800中的各个模块的操作和/或功能分别为了实现图2或图5中的方法的相应流程,为了简洁,在此不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可以实现上述方法实施例提供的方法中与第一交换机相关的流程。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可以实现上述方法实施例提供的方法中与第二交换机相关的流程。
本申请实施例还提供一种通信装置,该通信装置可以是设备也可以是电路。该通信装置可以用于执行上述方法实施例中由第一交换机或第二交换机所执行的动作。
作为本实施例的另一种形式,提供一种包含指令的计算机程序产品,该指令被执行时执行上述方法实施例中由第一交换机或第二交换机所执行的动作。
应理解,本发明实施例中提及的处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本发明实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
还应理解,本文中涉及的第一、第二、第三、第四以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请的范围。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (20)
1.一种报文转发方法,其特征在于,所述方法包括:
第一交换机生成第一下行报文;其中,所述第一下行报文包括Y+1层以太头,所述第一下行报文的Y+1层以太头中内层以太头包括第一目的媒体接入控制MAC地址、第一源MAC地址和第一以太类型,所述第一目的MAC地址为第一终端设备的MAC地址,所述第一下行报文的Y+1层以太头中每层外层以太头包括第二目的MAC地址、第一源MAC地址和第一以太类型,每层外层以太头中第二目的MAC地址依次对应Y个第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号,Y为大于或等于1的整数;
所述第一交换机转发所述第一下行报文。
2.如权利要求1所述的方法,其特征在于,所述第一交换机生成第一下行报文之前,所述方法还包括:
所述第一交换机获取所述第一终端设备与所述第一交换机之间的路径信息,所述路径信息包括所述Y个第一类型的交换机的MAC地址和每个第一类型的交换机对应的端口号;
所述第一交换机生成第一下行报文,包括:
所述第一交换机根据所述路径信息,生成第一下行报文。
3.如权利要求2所述的方法,其特征在于,所述第一交换机生成第一下行报文之前,所述方法还包括:
所述第一交换机获取拓扑信息,所述拓扑信息用于指示所述第一终端设备与所述第一交换机之间包括X个第二类型的交换机,X为大于或等于1的整数。
4.如权利要求3所述的方法,其特征在于,所述第一交换机生成第一下行报文之前,所述方法还包括:
所述第一交换机根据所述拓扑信息,确定所述第一交换机与所述第一终端设备之间存在第二类型的交换机。
5.如权利要求3所述的方法,其特征在于,所述第一交换机获取拓扑信息,包括:
所述第一交换机向X个第二类型的交换机发送第一简单网络管理协议SNMP报文;
所述第一交换机从每个第二类型的交换机接收第二SNMP报文,所述第二SNMP报文携带管理信息库MIB,所述MIB中存储与每个第二类型的交换机直连的交换机的信息;
所述第一交换机根据所述MIB,确定所述拓扑信息。
6.如权利要求2所述的方法,其特征在于,所述第一交换机获取所述第一终端设备与所述第一交换机之间的路径信息,包括:
所述第一交换机接收第一上行报文,所述第一上行报文包括Y+1层以太头,所述第一上行报文的Y+1层以太头中内层以太头包括的源MAC地址为所述第一终端设备的MAC地址,所述第一上行报文的Y+1层以太头中每层外层以太头依次包括Y个第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号;
所述第一交换机对所述第一上行报文解封装,根据每层外层以太头以及每层外层以太头后包括的端口号,得到所述第一终端设备与所述第一交换机之间的路径信息。
7.一种报文转发方法,其特征在于,所述方法包括:
第二交换机接收第二下行报文,其中,所述第二下行报文包括第一以太头和第一端口的端口号,所述第一以太头包括第三目的媒体接入控制MAC地址、第三源MAC地址和第三以太类型;其中,所述第三目的MAC地址为所述第二交换机的MAC地址;
所述第二交换机对所述第二下行报文解封装,剥离所述第一以太头以及第一端口的端口号,得到第三下行报文;
所述第二交换机通过所述第一端口转发所述第三下行报文。
8.如权利要求7所述的方法,其特征在于,所述第二交换机为接入交换机;
所述第二交换机通过所述第一端口转发所述第三下行报文,包括:
所述第二交换机通过所述第一端口向终端设备转发所述第三下行报文。
9.如权利要求7所述的方法,其特征在于,所述第二交换机为汇聚交换机;
所述第二交换机通过所述第一端口转发所述第三下行报文,包括:
所述第二交换机通过所述第一端口向其他交换机转发所述第三下行报文。
10.如权利要求7至9中任一项所述的方法,其特征在于,所述第二交换机为第一类型的交换机;所述第二交换机接收第二下行报文之前,所述方法还包括:
所述第二交换机从第二类型的交换机接收第一链路层发现协议报文数据单元LLDPDU;
所述第二交换机根据所述第一LLDPDU,向所述第二类型的交换机发送第二LLDPDU,所述第二LLDPDU携带所述第二交换机的设备标识,以使所述第二类型的交换机根据所述第二LLDPDU确定与所述第二类型的交换机直连的交换机的信息。
11.一种交换机,其特征在于,所述交换机包括:
处理模块,用于生成第一下行报文;其中,所述第一下行报文包括Y+1层以太头,所述第一下行报文的Y+1层以太头中内层以太头包括第一目的媒体接入控制MAC地址、第一源MAC地址和第一以太类型,所述第一目的MAC地址为第一终端设备的MAC地址,所述第一下行报文的Y+1层以太头中每层外层以太头包括第二目的MAC地址、第一源MAC地址和第一以太类型,每层外层以太头中第二目的MAC地址依次对应Y个第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号,Y为大于或等于1的整数;
收发模块,用于转发所述第一下行报文。
12.如权利要求11所述的交换机,其特征在于,所述处理模块,还用于在生成第一下行报文之前,获取所述第一终端设备与所述交换机之间的路径信息,所述路径信息包括所述Y个第一类型的交换机的MAC地址和每个第一类型的交换机对应的端口号;
所述处理模块,用于生成第一下行报文,包括:
所述处理模块,用于根据所述路径信息,生成第一下行报文。
13.如权利要求12所述的交换机,其特征在于,所述处理模块,还用于在生成第一下行报文之前,获取拓扑信息,所述拓扑信息用于指示所述第一终端设备与所述交换机之间包括X个第二类型的交换机,X为大于或等于1的整数。
14.如权利要求13所述的交换机,其特征在于,所述处理模块,还用于在生成第一下行报文之前,根据所述拓扑信息,确定所述交换机与所述第一终端设备之间存在第二类型的交换机。
15.如权利要求13所述的交换机,其特征在于,
所述收发模块,还用于向X个第二类型的交换机发送第一简单网络管理协议SNMP报文;从每个第二类型的交换机接收第二SNMP报文,所述第二SNMP报文携带管理信息库MIB,所述MIB中存储与每个第二类型的交换机直连的交换机的信息;
所述处理模块,用于获取拓扑信息,包括:
所述处理模块,用于根据所述收发模块接收的MIB,确定所述拓扑信息。
16.如权利要求12所述的交换机,其特征在于,所述处理模块用于获取所述第一终端设备与所述交换机之间的路径信息,包括:
所述处理模块用于通过所述收发模块接收第一上行报文,所述第一上行报文包括Y+1层以太头,所述第一上行报文的Y+1层以太头中内层以太头包括的源MAC地址为所述第一终端设备的MAC地址,所述第一上行报文的Y+1层以太头中每层外层以太头依次包括Y个第一类型的交换机的MAC地址,每层外层以太头后包括对应的第一类型的交换机的端口号;
所述处理模块用于对所述收发模块接收的第一上行报文解封装,根据每层外层以太头以及每层外层以太头后包括的端口号,得到所述第一终端设备与所述交换机之间的路径信息。
17.一种交换机,其特征在于,所述交换机包括:
收发模块,用于接收第二下行报文,其中,所述第二下行报文包括第一以太头和第一端口的端口号,所述第一以太头包括第一目的媒体接入控制MAC地址、第一源MAC地址和第一以太类型;其中,所述第一目的MAC地址为所述交换机的MAC地址;
处理模块,用于对所述收发模块接收的第二下行报文解封装,剥离所述第一以太头以及第一端口的端口号,得到第三下行报文;
所述收发模块,还用于通过所述第一端口转发所述第三下行报文。
18.如权利要求17所述的交换机,其特征在于,所述交换机为接入交换机;
所述收发模块用于通过所述第一端口转发所述第三下行报文,包括:
所述收发模块用于通过所述第一端口向终端设备转发所述第三下行报文。
19.如权利要求17所述的交换机,其特征在于,所述交换机为汇聚交换机;
所述收发模块用于通过所述第一端口转发所述第三下行报文,包括:
所述收发模块用于通过所述第一端口向其他交换机转发所述第三下行报文。
20.如权利要求17至19中任一项所述的交换机,其特征在于,所述交换机为第一类型的交换机;所述收发模块,还用于在接收第二下行报文之前,从第二类型的交换机接收第一链路层发现协议报文数据单元LLDPDU;
所述处理模块,还用于根据所述第一LLDPDU,通过所述收发模块向所述第二类型的交换机发送第二LLDPDU,所述第二LLDPDU携带所述交换机的设备标识,以使所述第二类型的交换机根据所述第二LLDPDU确定与所述第二类型的交换机直连的交换机的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910330726.4A CN111835644B (zh) | 2019-04-23 | 2019-04-23 | 报文转发方法及交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910330726.4A CN111835644B (zh) | 2019-04-23 | 2019-04-23 | 报文转发方法及交换机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111835644A true CN111835644A (zh) | 2020-10-27 |
CN111835644B CN111835644B (zh) | 2021-11-19 |
Family
ID=72912486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910330726.4A Active CN111835644B (zh) | 2019-04-23 | 2019-04-23 | 报文转发方法及交换机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111835644B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050243818A1 (en) * | 2004-04-30 | 2005-11-03 | Infineon Technologies Ag | Router IP port for an IP router |
US20070071019A1 (en) * | 2005-09-26 | 2007-03-29 | Fujitsu Limited | Transmitting apparatus and frame transfer method |
CN105591834A (zh) * | 2015-07-10 | 2016-05-18 | 杭州华三通信技术有限公司 | Vxlan中的流量监控方法和装置 |
-
2019
- 2019-04-23 CN CN201910330726.4A patent/CN111835644B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050243818A1 (en) * | 2004-04-30 | 2005-11-03 | Infineon Technologies Ag | Router IP port for an IP router |
US20070071019A1 (en) * | 2005-09-26 | 2007-03-29 | Fujitsu Limited | Transmitting apparatus and frame transfer method |
CN105591834A (zh) * | 2015-07-10 | 2016-05-18 | 杭州华三通信技术有限公司 | Vxlan中的流量监控方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111835644B (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109873760B (zh) | 处理路由的方法和装置、以及数据传输的方法和装置 | |
CN111512601B (zh) | 分组的分段路由网络处理 | |
CN108259291B (zh) | Vxlan报文处理方法、设备及系统 | |
US10284461B2 (en) | Method and related apparatus for probing packet forwarding path | |
EP2712128A1 (en) | Message processing method and related device thereof | |
EP4231597A1 (en) | Method for forwarding bier message, and device and system | |
CN112019433B (zh) | 一种报文转发方法和装置 | |
EP4160950A1 (en) | Method and apparatus for sending message, and network device, system and storage medium | |
EP3955541B1 (en) | Message processing method | |
CN112737954B (zh) | 报文处理方法、装置、系统、设备及存储介质 | |
CN112104547B (zh) | Evpn多归属组网避免环路的方法及装置 | |
CN111404797B (zh) | 控制方法、sdn控制器、sdn接入点、sdn网关及ce | |
CN112822097A (zh) | 报文转发的方法、第一网络设备以及第一设备组 | |
CN110120906B (zh) | 用于实现双活接入trill园区边缘的方法和设备 | |
US20230216792A1 (en) | Method for Generating Routing Information, Method for Sending Location Information, Method for Forwarding Packet, and Device | |
CN111835644B (zh) | 报文转发方法及交换机 | |
CN109218258B (zh) | 数据包传输方法及网关设备 | |
CN102611603B (zh) | 静态mpls隧道转发表的建立、数据的传输方法及装置 | |
US20170149663A1 (en) | Control device, communication system, control method, and non-transitory recording medium | |
CN113068199B (zh) | 数据传输方法、设备、系统以及存储介质 | |
CN113746715A (zh) | 通信方法及装置 | |
CN112737946A (zh) | 用于IPv6网络的路由通告方法、装置、存储介质和系统 | |
CN112702251A (zh) | 报文检测方法、连通性协商关系建立方法以及相关设备 | |
US20220174009A1 (en) | Segment Routing-Based Data Transmission Method and Apparatus | |
CN113472653B (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 |