转发表项生成的方法、转发节点和控制器的制造方法
【技术领域】
[0001] 本发明涉及通信领域,尤其涉及一种转发表项生成的方法、转发节点和控制器。
【背景技术】
[0002] 软件定义网络(Software Define Network, SDN)的理念是将网络设备的控制层 面和转发层面进行分离,路由器等网络硬件设备只保留转发层面,控制层面的掌控权则交 给控制器,从而实现软件和硬件的分离。在这种网络结构下,控制器(Controller)控制 着网络中所有的转发节点。用户增加业务只需要操作控制器,而且控制器可以根据用户 业务需求来计算出每个业务需要的转发路径,即多协议标签交换(Multi-Protocol Label Switching,MPLS)转发路径,并生成MPLS转发表项,然后将该MPLS转发表项下发给到该 MPLS转发路径所经过的每个转发节点,转发节点接收到MPLS转发表项后,就可以根据MPLS 转发表项进行MPLS报文转发了。
[0003] 现有技术中,每个转发节点的MPLS转发表项是由控制器点对点地下发,这样就存 在一个技术问题,对于每条MPLS转发路径,控制器都需要向MPLS转发路径上的每个转发 节点分别下发对应该转发节点的MPLS转发表项,在网络上转发节点比较多、路径复杂的时 候,控制器与转发节点频繁交互,下发MPLS转发表项的效率比较低,而且也会占用控制器 大量的带宽。
【发明内容】
[0004] 本发明实施例提供了一种转发表项生成的方法、控制器和转发节点,以解决控制 器与转发节点频繁交互,使得生成MPLS转发表项的效率较低、且对控制器带宽占用较大的 问题。
[0005] 第一方面,提供了一种转发表项生成的方法,该方法包括:第一转发节点接收 Controller或第二转发节点发送的MPLS转发路径的MPLS转发路径信息,该MPLS转发路径 信息包括:入口节点信息、中间节点信息和出口节点信息;向第三转发节点发送该MPLS转 发路径信息;根据该MPLS转发路径信息,生成该第一转发节点的MPLS转发表项。
[0006] 结合所述第一方面,在所述第一方面的第一种可能的实现方式中,该根据该MPLS 转发路径信息,生成该第一转发节点的MPLS转发表项,包括:根据该MPLS转发路径信息中 的该入口节点信息、该中间节点信息和该出口节点信息中的任一项信息,确定该MPLS转发 路径是否包括该第一转发节点;当确定该MPLS转发路径包括该第一转发节点时,根据该 MPLS转发路径信息,生成该第一转发节点的MPLS转发表项。
[0007] 结合所述第一方面的第一种可能的实现方式,在所述第一方面的第二种可能的实 现方式中,该MPLS转发路径信息还包括该MPLS转发路径的路径标识(Identity,ID);该根 据该MPLS转发路径信息中的该入口节点信息、该中间节点信息和该出口节点信息中的任 一项信息,确定该MPLS转发路径是否包括该第一转发节点,包括:确定该第一转发节点的 MPLS转发路径记录信息是否包括该路径ID,该MPLS转发路径记录信息用于记录该第一转 发节点已生成的MPLS转发表项所对应的MPLS转发路径的路径ID ;当确定该第一转发节点 的MPLS转发路径记录信息不包括该路径ID时,根据该MPLS转发路径信息中的该入口节点 信息、该中间节点信息和该出口节点信息中的任一项信息,确定该MPLS转发路径是否包括 该第一转发节点。
[0008] 结合所述第一方面或所述第一方面的上述任意一种可能的实现方式,还提供了 所述第一方面的第三种可能的实现方式,在所述第一方面的第三种可能的实现方式中,该 MPLS转发路径信息还包括第一节点数和第二节点数,该第一节点数指示该MPLS转发路径 所经过的转发节点的总节点数,该第二节点数指示该MPLS转发路径所经过的转发节点中 已经生成MPLS转发表项的节点数;该向第三转发节点发送该MPLS转发路径信息,包括:确 定该第一节点数和该第二节点数的大小关系;当确定该第一节点数和该第二节点数不相等 时,向该第三转发节点发送该MPLS转发路径信息。
[0009] 第二方面,提供了一种转发表项生成的方法,该方法包括=Controller确定MPLS 转发路径;生成该MPLS转发路径的MPLS转发路径信息,该MPLS转发路径信息包括:入口节 点信息、中间节点信息和出口节点信息;向第一转发节点发送该MPLS转发路径信息,以便 于该第一转发节点根据该MPLS转发路径信息生成该第一转发节点的MPLS转发表项,还以 便于该第一转发节点向第二转发节点发送该MPLS转发路径信息。
[0010] 结合所述第二方面,在所述第二方面的第一种可能的实现方式中,该MPLS转发路 径信息还包括:该Controller为该MPLS转发路径分配的MPLS标签。
[0011] 结合所述第二方面的第一种可能的实现方式,在所述第二方面的第二种可能的实 现方式中,该MPLS标签为全局MPLS标签,该全局MPLS标签唯一指示该MPLS转发路径。
[0012] 结合所述第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方 式中,该MPLS标签为本地MPLS标签,该本地MPLS标签指示该Controller为该MPLS转发 路径经过的每个转发节点分配的MPLS标签。
[0013] 结合所述第二方面或所述第二方面的上述任意一种可能的实现方式,还提供了 所述第二方面的第四种可能的实现方式,在所述第二方面的第四种可能的实现方式中,该 MPLS转发路径信息还包括该MPLS转发路径的路径标识ID。
[0014] 结合所述第二方面或所述第二方面的上述任意一种可能的实现方式,还提供了 所述第二方面的第五种可能的实现方式,在所述第二方面的第五种可能的实现方式中,该 MPLS转发路径信息还包括第一节点数和第二节点数,该第一节点数指示该MPLS转发路径 所经过的转发节点的总节点数,该第二节点数指示该MPLS转发路径所经过的转发节点中 已经生成MPLS转发表项的节点数。
[0015] 第三方面,提出一种转发节点,该转发节点包括:路径接收模块,用于接收 Controller或第二转发节点发送的MPLS转发路径的MPLS转发路径信息,该MPLS转发路径 信息包括:入口节点信息、中间节点信息和出口节点信息;发送模块,用于向第三转发节点 发送该路径接收模块接收的该MPLS转发路径信息;转发表项生成模块,用于根据该路径接 收模块接收的该MPLS转发路径信息,生成该转发节点的MPLS转发表项。
[0016] 结合第三方面,在所述第三方面的第一种可能的实现方式中,该转发表项生成模 块包括:第一确定单元,用于根据该路径接收模块接收的该MPLS转发路径信息中的该入口 节点信息、该中间节点信息和该出口节点信息中的任一项信息,确定该MPLS转发路径是否 包括该第一转发节点;生成单元,用于当该第一确定单元确定该MPLS转发路径包括该转发 节点时,根据该MPLS转发路径信息,生成该转发节点的MPLS转发表项。
[0017] 结合所述第三方面的第一种可能的实现方式,在所述第三方面的第二种可能的实 现方式中,该路径接收模块接收的该MPLS转发路径信息还包括该MPLS转发路径的路径标 识ID,该第一确定单元还包括:路径标识确定子单元,用于确定该第一转发节点的MPLS转 发路径记录信息是