用于开放流网络中建立带内连接的方法和交换机的制作方法

文档序号:8265622阅读:295来源:国知局
用于开放流网络中建立带内连接的方法和交换机的制作方法
【技术领域】
[0001] 本发明涉及通信领域,并且更具体地,涉及一种用于开放流网络中建立带内连接 的方法和交换机。
【背景技术】
[0002] 在开放流(OpenFlow)网络中,交换机和控制器之间有两种不同的连接模式,即带 内连接模式和带外连接模式。
[0003] 在带内连接模式下,控制器与交换机之间建立带内连接可以通过以下方式进行。 艮P,控制器和交换机建立带内连接,需要扩展现有协议,由交换机通过特定的消息将网络的 拓扑结构通知给控制器,控制器在获取了网络的拓扑结构之后,控制器才能与交换机建立 带内连接,并将用于实现控制器与交换机之间的报文转发的路径信息下发到中间交换机 上,然而,在该种方式下,需要扩展现有开放流协议,且不同厂商之间的控制器和交换机难 以兼容。

【发明内容】

[0004] 本发明实施例提供了一种用于开放流网络中建立带内连接的方法和交换机,能够 使得更多厂商的控制器和交换机兼容。
[0005] 第一方面,提供了一种用于开放流网络中建立带内连接的方法,包括:从第一端口 接收经过第一路径的同步序列编号SYN报文,其中,该SYN报文是由源交换机发往目标控制 器;根据经过该第一路径的该SYN报文,将该第一端口作为该目标控制器与该源交换机之 间的第一传输端口记录在带内连接列表中,并转发经过该第一路径的该SYN报文;从第二 端口接收该目标控制器针对该SYN报文向该源交换机发送的SYN响应报文;从该带内连接 列表中记录的该目标控制器与该源交换机之间的第一传输端口转发该SYN响应报文。
[0006] 结合第一方面,在第一方面的第一种可能的实现方式中,该方法还包括:记录第一 流表项,其中,在该第一流表项中,目的地址为该源交换机的地址,出端口为记录在所述带 内连接列表中的该目标控制器与该源交换机之间的第一传输端口。
[0007] 结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的 实现方式中,该方法还包括:将该第二端口作为该目标控制器与该源交换机之间的第二传 输端口记录在该带内连接列表中。
[0008] 结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式 中,该方法还包括:在确定未记录有目的地址为该目标控制器的地址,出端口为该第二端口 的流表项时,记录第二流表项;其中,在该第二流表项中,目的地址为该目标控制器的地址, 出端口为记录在所述带内连接列表中的该目标控制器与该源交换机之间的第二传输端口。
[0009] 结合第一方面,或第一方面的第一种或第二种中任一种可能的实现方式,在第一 方面的第四种可能的实现方式中,该转发经过该第一路径的该SYN报文,包括:在确定记录 有目的地址为该目标控制器的地址,出端口为该第二端口的流表项时,从该第二端口转发 经过该第一路径的该SYN报文。
[0010] 结合第一方面,或第一方面的第一种至第三种中任一种可能的实现方式,在第一 方面的第五种可能的实现方式中,该转发经过该第一路径的该SYN报文,包括:在确定未记 录有目的地址为该目标控制器的地址的流表项时,从该第一端口外的其他所有连接态端口 转发经过该第一路径的该SYN报文。
[0011] 结合第一方面,或第一方面的第一种至第五种中任一种可能的实现方式,在第一 方面的第六种可能的实现方式中,在该从第一端口接收经过第一路径的SYN报文之后,该 方法还包括:确定转发端口中的一个或多个端口处于断开态,记录处于断开态的该一个或 多个端口的信息,以及经过该第一路径的该SYN报文的信息;该转发经过该第一路径的该 SYN报文,包括:
[0012] 在该一个或多个端口中的端口从断开态变为连接态时,从变为连接态的端口转发 经过该第一路径的该SYN报文。
[0013] 结合第一方面,或第一方面的第一种至第六种中任一种可能的实现方式,在第一 方面的第七种可能的实现方式中,该方法还包括:将经过该第一路径的该SYN报文的生存 时间TTL值作为该目标控制器与该源交换机之间的第一传输端口对应的TTL值记录在该带 内连接列表中;以及在该根据经过该第一路径的该SYN报文,将该第一端口作为该目标控 制器与该源交换机之间的第一传输端口记录在带内连接列表中,并转发经过该第一路径的 该SYN报文之后,该方法还包括:从第三端口接收经过第二路径的该SYN报文,在经过该第 二路径的该SYN报文的TTL值大于该带内连接列表中记录的该目标控制器与该源交换机之 间的第一传输端口对应的TTL值时,将该目标控制器与该源交换机之间的第一传输端口从 该第一端口更新为该第三端口,将该带内连接列表中记录的该目标控制器与该源交换机之 间的第一传输端口对应的TTL值更新为经过该第二路径的该SYN报文的TTL值;以及丢弃 经过该第二路径的该SYN报文,在经过该第二路径的该SYN报文的TTL值不大于该带内连 接列表中记录的该目标控制器与该源交换机之间的第一传输端口对应的TTL值时,丢弃经 过该第二路径的该SYN报文。
[0014] 结合第一方面的第一种可能的实现方式,在第一方面的第八种可能的实现方式 中,该方法还包括:确定该目标控制器与该源交换机之间的第一传输端口断开时,删除该第 一流表项;或者,该方法还包括:接收第一结束FIN报文,该第一 FIN报文的源地址为该目 标控制器的地址以及目的地址为该源交换机的地址,以及根据该第一 FIN报文,在确定不 需要根据该第一流表项,转发其他目标控制器与该源交换机之间的报文时,删除该第一流 表项。
[0015] 结合第一方面的第三种可能的实现方式,在第一方面的第九种可能的实现方式 中,该方法还包括:确定该目标控制器与该源交换机之间的第二传输端口断开时,删除该第 二流表项;或者,该方法还包括:接收第一 FIN报文,该第一 FIN报文的源地址为该目标控 制器的地址以及目的地址为该源交换机的地址,以及根据该第一 FIN报文,在确定不需要 根据该第二流表项,转发该目标控制器与其他源交换机之间的报文时,删除该第二流表项。
[0016] 结合第一方面的第八种或第九种可能的实现方式,在第一方面的第十种可能的实 现方式中,该方法还包括:广播第二FIN报文,该第二FIN报文的源地址为该目标控制器的 地址以及目的地址为该源交换机的地址。
[0017] 第二方面,提供了一种用于开放流网络中建立带内连接的方法,包括:
[0018] 交换机广播发往目标控制器的SYN报文,该SYN报文携带有该交换机的地址信息 和该目标控制器的地址信息;
[0019] 从目标端口接收该目标控制器发送的针对该SYN报文的SYN响应报文;
[0020] 记录流表项,在该流表项中,出端口为该目标端口,目的地址为该目标控制器的地 址。
[0021] 结合第二方面,在第二方面的第一种可能的实现方式中,该方法还包括:
[0022] 确定该目标端口从连接态变为断开态;
[0023] 删除该流表项。
[0024] 结合第二方面,在第二方面的第二种可能的实现方式中,该方法还包括:
[0025] 接收FIN报文,该FIN报文的源地址为该目标控制器的地址以及目的地址为该交 换机的地址;
[0026] 在确定不需要根据该流表项转发其他交换机与该目标控制器之间的报文时,删除 该流表项。
[0027] 结合第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实 现方式中,该方法还包括:
[0028] 重新广播该SYN报文。
[0029] 第三方面,提供了一种交换机,包括收发单元、记录单元和确定单元;其中,该收发 单元用于:从第一端口接收经过第一路径的同步序列编号SYN报文,其中,该SYN报文是由 源交换机发往目标控制器的报文;转发经过该第一路径的该SYN报文;从第二端口接收该 目标控制器针对该SYN报文向该源交换机发送的SYN响应报文;从该确定单元确定的该目 标控制器与该源交换机之间的第一传输端口转发该SYN响应报文;
[0030] 该记录单元用于:根据经过该第一路径的该SYN报文,将该第一端口作为该目标 控制器与该源交换机之间的第一传输端口记录在带内连接列表中;
[0031] 该确定单元用于:根据该带内连接列表,确定该目标控制器与该源交换机之间的 第一传输端口。
[0032] 结合第三方面,在第三方面的第一种可能的实现方式中,该记录单元还用于:记录 第一流表项,其中,在该第一流表项中,目的地址为该源交换机的地址,出端口为记录在所 述带内连接列表中的该目标控制器与该源交换机之间的第一传输端口。
[0033] 结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的 实现方式中,该记录单元还用于:将该第二端口作为该目标控制器与该源交换机之间的第 二传输端口记录在该带内连接列表中。
[0034] 结合第三方面或第三方面的第一种或第二种可能的实现方式,在第三方面的第三 种可能的实现方式中,该确定单元还用于:确定是否记录有目的地址为该目标控制器的地 址,出端口为该第二端口的流表项;该记录单元还用于:在该确定单元确定未记录有目的 地址为该目标控制器的地址,出端口为该第二端口的流表项时,记录第二流表项,其中,在 该第二流表项中,目的地址为该目标控制器的地址,出端口为记录在所述带内连接列表中 的该目标控制器与该源交换机之间的第二传输端口。
[0035] 结合第三方面,或第三方面的第一种或第二种中任一种可能的实现方式,在第三 方面的第四种可能的实现方式中,该确定单元还用于:确定是否记录有目的地址为该目标 控制器的地址的流表项;该收发单元还用于:在该确定单元确定记录有目的地址为该目标 控制器的地址的流表项时,从该第二端口转发经过该第一路径的该SYN报文,其中,该目的 地址为该目标控制器的地址的流表项的出端口为该第二端口。
[0036] 结合第三方面,或第三方面的第一种至第三种中任一种可能的实现方式,在第三 方面的第五种可能的实现方式中,该确定单元还用于:确定是否记录有目的地址为该目标 控制器的地址的流表项;该收发单元还用于:在该确定单元确定未记录有目的地址为该目 标控制器的地址的流表项时,从该第一端口外的其他所有连接态端口转发经过该第一路径 的该SYN报文。
[0037] 结合第三方面,或第三方面的第一种至第五种中任一种可能的实现方式,在第三 方面的第六种可能的实现方式中,该确定单元还用于:在该收发单元从第一端口接收经过 第一路径的SYN报文之后,确定转发端口中的端口是否处于断开态;该记录单元还用于:在 该确定单元确定转发端口中的一个或多个端口处于断开态时,记录处于断开态的该一个或 多个端口的信息,以及经过该第一路径的该SYN报文的信息;该收发单元还用于:在该一个 或多个端口中的端口从断开态变为连接态时,从变为连接态的端口转发经过该第一路径的 该SYN报文。
[0038] 结合第三方面,或第三方面的第一种至第六种中任一种可能的实现方式,在第三 方面的第七种可能的实现方式中,该记录单元还用于:将经过该第一路径的该SYN报文的 生存时间TTL值作为该目标控制器与该源交换机的之间的第一传输端口对应的TTL值记 录在该带内连接列表中;在该确定单元确定经过该第二路径的该SYN报文的生存时间TTL 值大于该带内连接列表中记录的该目标控制器与该源交换机之间的第一传输端口对应的
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1