报文转发方法、设备和系统的制作方法

文档序号:9757257阅读:282来源:国知局
报文转发方法、设备和系统的制作方法
【技术领域】
[0001]本发明涉及通信技术,尤其涉及一种报文转发方法、设备和系统。
【背景技术】
[0002]交换设备是网络中的关键节点,用于转发各设备之间传输的报文。现有技术的报文转发流程如下:以交换设备是交换机为例,假设某客户端设备要向服务器发送报文,该客户端设备发送的报文需要经过交换机;交换机收到报文后,记录下客户端设备的媒体接入控制(Media Access Control,简称:MAC)地址与交换机上接收报文的物理端口之间的对应关系,并根据报文中包含的服务器的MAC地址,将报文发送给服务器。当服务器向该客户端设备发送报文时,报文也经过交换机;交换机根据报文中包含的所述客户端设备的MAC地址、以及之前记录的对应关系,找到对应该客户端设备的交换机上的物理端口,将报文从此物理端口发送出去,就将报文发送给客户端设备。
[0003]但是,在上述的报文转发方式中,无法支持多个设备具有相同MAC地址的情况,无法适应例如多流量并发等场景的需要。

【发明内容】

[0004]本发明提供一种报文转发方法、设备和系统,以实现对具有相同MAC地址的多个设备的报文转发的支持。
[0005]第一方面,提供一种报文转发方法,应用于包括交换机和至少两个第二设备的网络,所述至少两个第二设备对应同一个MAC地址,且每一个第二设备连接至所述交换机上的一个物理端口,不同的所述第二设备连接的所述物理端口不同;所述方法包括:
[0006]交换机接收第一设备发送的报文,所述第一设备发送的报文中包含要发送至的所述第二设备对应的所述MAC地址;
[0007]所述交换机获取存储的至少两个流表项,每个所述流表项包括:所述MAC地址及对应的一个所述物理端口 ;所述至少两个流表项中的所述物理端口不同;
[0008]所述交换机将所述第一设备发送的报文分别发送至所述至少两个流表项中的所述物理端口,以使得所述报文到达至少两个所述物理端口对应的至少两个所述第二设备。
[0009]结合第一方面,在第一种可能的实现方式中,所述网络还包括控制器;在所述交换机接收第一设备发送的报文之前,还包括:
[0010]所述交换机通过与所述至少两个第二设备对应的至少两个所述物理端口,接收所述至少两个第二设备分别发送的报文;
[0011]所述交换机从所述第二设备发送的报文中获取所述第二设备对应的MAC地址;
[0012]所述交换机将所述MAC地址、以及至少两个所述物理端口发送至控制器,以使得所述控制器记录所述MAC地址与至少两个所述物理端口之间的对应关系。
[0013]结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述交换机接收第一设备发送的报文之后,获取存储的至少两个流表项之前,还包括:
[0014]所述交换机将所述第一设备发送的报文中包含的所述MAC地址,发送至所述控制器;
[0015]所述交换机接收所述控制器发送的所述至少两个流表项,并安装所述至少两个流表项,所述至少两个流表项是所述控制器根据所述对应关系构造。
[0016]结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,在所述交换机将所述MAC地址、以及接收所述至少两个第二设备分别发送的报文的至少两个物理端口发送至控制器之后,所述交换机接收第一设备发送的报文之前,还包括:所述交换机接收所述控制器发送的所述至少两个流表项,并安装所述至少两个流表项,所述至少两个流表项是所述控制器根据所述对应关系构造。
[0017]第二方面,提供一种报文转发方法,应用于包括交换机、控制器和至少两个第二设备的网络,所述至少两个第二设备对应同一个MAC地址,且每一个第二设备连接至所述交换机上的一个物理端口,不同的所述第二设备连接的所述物理端口不同;所述方法包括:
[0018]所述控制器接收交换机发送的所述MAC地址、以及与所述MAC地址对应的用于分别连接所述至少两个第二设备的至少两个所述物理端口,并记录所述MAC地址与所述至少两个物理端口之间的对应关系;
[0019]所述控制器根据所述对应关系,构造至少两个流表项,每个所述流表项包括:所述MAC地址及对应的一个所述物理端口 ;所述至少两个流表项中的所述物理端口不同;
[0020]所述控制器将所述至少两个流表项发送至所述交换机,以使得所述交换机根据所述流表项,将从第一设备接收的报文从所述流表项对应的物理端口发送至对应的所述至少两个第二设备。
[0021]结合第二方面,在第一种可能的实现方式中,
[0022]所述控制器根据所述对应关系,构造至少两个流表项之前,包括:所述控制器接收所述交换机发送的所述从第一设备接收的报文,所述报文中包含要发送至的所述第二设备对应的所述MAC地址;
[0023]所述控制器根据所述对应关系,构造至少两个流表项,包括:所述控制器根据所述MAC地址、以及所述对应关系,查询得到与所述MAC地址对应的至少两个所述物理端口 ;并根据所述MAC地址和对应的至少两个所述物理端口构造所述至少两个流表项。
[0024]结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制器根据所述对应关系,构造至少两个流表项,包括:
[0025]所述控制器根据所述对应关系,从所述MAC地址对应的至少两个物理端口中,选择预先设定的物理端口;
[0026]所述控制器构造与所述MAC地址和所述预先设定的物理端口对应的所述流表项。
[0027]第三方面,提供一种交换机,应用于包括交换机和至少两个第二设备的网络,所述至少两个第二设备对应同一个MAC地址,且每一个第二设备连接至所述交换机上的一个物理端口,不同的所述第二设备连接的所述物理端口不同;所述交换机包括:
[0028]存储单元,用于存储至少两个流表项;
[0029]接收单元,用于接收第一设备发送的报文,所述第一设备发送的报文中包含要发送至的第二设备对应的MAC地址;
[0030]处理单元,用于根据所述接收单元接收的所述报文中包含的所述MAC地址,获取所述存储单元存储的所述至少两个流表项,每个所述流表项包括:所述MAC地址及对应的一个所述物理端口 ;所述至少两个流表项中的所述物理端口不同;
[0031]发送单元,用于将所述接收单元接收的所述第一设备发送的报文,分别发送至所述处理单元获取的至少两个流表项中的所述物理端口,以使得所述报文到达至少两个所述物理端口对应的至少两个所述第二设备。
[0032]结合第三方面,在第一种可能的实现方式中,
[0033]所述接收单元,还用于通过与所述至少两个第二设备对应的至少两个所述物理端口,接收所述至少两个第二设备分别发送的报文;
[0034]所述处理单元,还用于从所述接收单元接收的所述第二设备发送的报文中,获取所述第二设备对应的MAC地址;以及通过所述发送单元将所述MAC地址、以及所述至少两个物理端口发送至控制器,以使得所述控制器记录所述MAC地址与至少两个所述物理端口之间的对应关系;
[0035]所述发送单元,还用于发送所述MAC地址、以及所述至少两个物理端口至所述控制器。
[0036]结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,
[0037]所述处理单元,还用于在所述接收单元接收第一设备发送的报文之后,获取存储的至少两个流表项之前,通过所述发送单元将所述第一设备发送的报文中包含的所述MAC地址,发送至所述控制器;
[0038]所述接收单元,还用于接收所述控制器发送的所述至少两个流表项,所述至少两个流表项是所述控制器根据所述对应关系构造;
[0039]所述处理单元,还用于将所述接收单元接收到的所述至少两个流表项安装至所述存储单元;
[0040]所述发送单元,还用于发送所述第一设备发送的报文中包含的所述MAC地址至所述控制器。
[0041]结合第三方面的第一种可能的实现方式,在第三种可能的实现方式中,
[0042]所述接收单元,还用于在所述发送单元将所述MAC地址、以及接收所述至少两个第二设备分别发送的报文的至少两个物理端口发送至控制器之后,所述接收单元接收第一设备发送的报文之前,接收所述控制器发送的所述至少两个流表项,所述至少两个流表项是所述控制器根据所述对应关系构造;
[0043]所述处理单元,还用于将所述接收单元接收到的所述至少两个流表项安装至所述存储单元。
[0044]第四方面,提供一种控制器,应用于包括交换机、控制器和至少两个第二设备的网络,所述至少两个第二设备对应同一个MAC地址,且每一个第二设备连接至所述交换机上的一个物理端口,不同的所述第二设备连接的所述物理端口不同;所述控制器包括:
[0045]信息管理单元,用于接收交换机发送的MAC地址、以及与所述MAC地址对应的用于分别连接所述至少两个第二设备的至少两个所述物理端口 ;并记录所述MAC地址与所述至少两个物理端口之间的对应关系;
[0046]流表项管理单元,用于根据所述信息管理单元记录的所述对应关系,构造至少两个流表项,每个所述流表项包括:所述MAC地址及对应的一个所述物理端口 ;所述至少两个流表项中的所述物理端口不同;
[0047]流表项发送单元,用于将所述流表项管理单元构造的所述至少两个流表项发送至所述交换机,以使得所述交换机根据所述流表项,将从第一设备接收的
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1