一种报文处理方法及控制器设备的制造方法

文档序号:8415504阅读:326来源:国知局
一种报文处理方法及控制器设备的制造方法
【技术领域】
[0001]本发明涉及计算机网络技术领域,尤其涉及一种报文处理方法及控制器设备。
【背景技术】
[0002]OpenFlow网络是一种新型网络架构,将网络设备控制面与数据面分离开来。OpenFlow网络的网络设备包括交换机和控制器,交换机与网络中的主机直连,用于向主机转发数据包以及将主机发送的数据包转发出去,控制器与交换机直连,通过向交换机下发流表来实现对交换机的管理,每个流表项就是一个转发规则。
[0003]OpenFlow网络中的控制器与交换机中存储了网际协议(Internet Protocol, IP)地址与媒体访问控制(Media Access Control, MAC)地址的映射关系。主机之间要实现通信,需要根据对方主机的IP地址向交换机发送地址解析协议(Address Resolut1nProtocol, ARP)报文,查询对方主机的MAC地址,交换机或控制器查询到相应的映射关系则返回对方主机的MAC地址。由于使用部分IP地址的主机没有上线等原因,控制器和交换机中并未存储这些IP地址与使用这些IP地址的主机的MAC地址的映射关系,这类主机可以称作未知主机。当网络中的主机发送用于查询未知主机的MAC地址的报文给直连的交换机后,直连的交换机会将报文发送给控制器,控制器会一直发送报文给管辖的其它所有交换机,直到收到包括未知主机的MAC地址的报文后再反馈给相应的交换机。
[0004]这套交互机制的缺陷在于:在网络复杂或者交换机查询未知主机的MAC地址的报文较多时,控制器与交换机会有很多重复性的关于查询未知主机的MAC地址的报文交互,导致了大量报文的产生,既占用了控制器及交换机大量的设备资源,又浪费了网络带宽。

【发明内容】

[0005]本发明实施例提供了一种报文处理方法及控制器设备,用以减少控制器与交换机的重复性的关于查询未知主机MAC地址的报文交互,避免设备资源和网络带宽的浪费。
[0006]本发明实施例提供的一种报文处理方法包括:
[0007]控制器接收第一交换机发送的请求报文,所述请求报文是所述第一交换机接收到与自身连接的主机的获取使用指定IP地址的主机的MAC地址的请求后发送的;
[0008]所述控制器查询本地记录,确定不包括所述MAC地址时,向与自身连接的交换机发送用于查询所述MAC地址的报文;
[0009]当所述控制器确定自身发送的报文的数量达到第一预设值,并且没有接收到反馈的所述MAC地址时,在丢弃drop流表中增加一条流表项,所述流表项用于指示交换机丢弃后续接收到的由主机发送的用于查询所述MAC地址的报文;
[0010]所述控制器将所述流表项发送给所述第一交换机。
[0011]本发明实施例提供的一种控制器设备包括:
[0012]第一请求接收单元,用于接收第一交换机发送的请求报文,所述请求报文是所述第一交换机接收到与自身连接的主机的获取使用指定IP地址的主机的MAC地址的请求后发送的;
[0013]查询单元,用于查询本地记录,确定不包括所述MAC地址时,向与自身连接的交换机发送用于查询所述MAC地址的报文;
[0014]处理单元,用于当确定自身发送的报文的数量达到第一预设值,并且没有接收到反馈的所述MAC地址时,在丢弃drop流表中增加一条流表项,所述流表项用于指示交换机丢弃后续接收到的由主机发送的用于查询所述MAC地址的报文;
[0015]第一流表发送单元,用于将所述流表项发送给所述第一交换机。
[0016]本发明实施例中,当所述控制器确定发送的用于查询所述MAC地址的报文的数量达到第一预设值时,在drop流表中增加一条流表项,所述流表项用于指示交换机丢弃后续接收到的由主机发送的用于查询所述MAC地址的报文;所述控制器将所述流表项发送给所述第一交换机;这样,使得第一交换机能够根据接收的流表项不再向控制器发送用于查询所述MAC地址的报文,避免了第一交换机重复地过多次地向所述控制器发送用于查询所述MAC地址的报文,以及避免了所述控制器重复地过多次地向各个交换机发送用于查询所述MAC地址的报文,减少了网络的报文数量,节约了控制器和交换机的设备资源以及网络带宽,进而提升了网络效率。
【附图说明】
[0017]图1是本发明实施例提供的一种报文处理方法的流程示意图;
[0018]图2是本发明实施例提供的OpenFlow网络的结构示意图;
[0019]图3是本发明实施例提供的OpenFlow网络的报文交互示意图;
[0020]图4是本发明实施例提供的控制器设备的结构示意图;
[0021]图5是本发明实施例提供的另一控制器设备的结构示意图。
【具体实施方式】
[0022]本发明实施例提供了一种报文处理方法及控制器设备,用于避免OpenFlow网络出现大量的重复的用于查询未知主机的MAC地址的报文,节约控制器和交换机的设备资源以及网络带宽,进而提升网络效率。
[0023]参见图1,本发明实施例提供的一种报文处理方法包括:
[0024]SlOl:控制器接收第一交换机发送的请求报文,所述请求报文是所述第一交换机接收到与自身连接的主机的获取使用指定IP地址的主机的MAC地址的请求后发送的。
[0025]第一交换机接收到与自身连接的主机发送用于获取使用指定IP地址的主机的MAC地址的请求之后,先查询第一交换机的本地记录,确定本地记录中不包括所述MAC地址,再向控制器发送用于查询所述MAC地址的请求报文。
[0026]S102:所述控制器查询本地记录,确定不包括所述MAC地址时,向与自身连接的交换机发送用于查询所述MAC地址的报文。
[0027]第一交换机可能是一个交换机,也可能是多个交换机,当第一交换机包括多个交换机时,控制器先后接收多个交换机发送的查询所述MAC地址的请求报文,并在查询本地记录确定不包括所述MAC地址时,分别向控制器连接的各个交换机发送用于查询所述MAC地址的报文。
[0028]具体的,控制器在向控制器连接的各个交换机发送用于查询所述MAC地址的报文时,采用广播方式,广播对象不包括第一交换机。
[0029]S103:当所述控制器确定自身发送的报文的数量达到第一预设值,并且没有接收到反馈的所述MAC地址时,在丢弃drop流表中增加一条流表项,所述流表项用于指示交换机丢弃后续接收到的由主机发送的用于查询所述MAC地址的报文。
[0030]控制器发送的用于查询所述MAC地址的报文的数量,与控制器的广播次数有关。例如:控制器管理10个交换机,其中I个交换机与发送用于查询所述MAC地址的报文的主机直连,则控制器向剩余的9个交换机发送用于查询所述MAC地址的报文,单次广播发送的报文数量为9,当广播次数为η时,发送的报文数量则为9*η。
[0031]可选地,当发送的报文数量达到第一预设值时,控制器停止广播。
[0032]S104:所述控制器将所述流表项发送给所述第一交换机。
[0033]控制器将所述流表项发送给第一交换机之后,第一交换机根据所述流表项,丢弃后续接收的来自主机的用于查询所述MAC地址的报文,这样,能够避免第一交换机重复向控制器发送用于查询所述MAC地址的报文,节约控制器和交换机的设备资源,以及节省网络带宽。
[0034]步骤S102之后,当所述控制器确定自身发送的用于查询所述M
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1