WO2018032962A1 - 一种信息同步的方法,装置及*** - Google Patents

一种信息同步的方法,装置及*** Download PDF

Info

Publication number
WO2018032962A1
WO2018032962A1 PCT/CN2017/095280 CN2017095280W WO2018032962A1 WO 2018032962 A1 WO2018032962 A1 WO 2018032962A1 CN 2017095280 W CN2017095280 W CN 2017095280W WO 2018032962 A1 WO2018032962 A1 WO 2018032962A1
Authority
WO
WIPO (PCT)
Prior art keywords
next hop
information
message
field
attribute
Prior art date
Application number
PCT/CN2017/095280
Other languages
English (en)
French (fr)
Inventor
闫长江
庄顺万
吴楠
陈国义
李振斌
宋宝华
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to ES17840937T priority Critical patent/ES2910849T3/es
Priority to EP22154847.2A priority patent/EP4060961A1/en
Priority to EP17840937.1A priority patent/EP3490201B1/en
Publication of WO2018032962A1 publication Critical patent/WO2018032962A1/zh
Priority to US16/279,401 priority patent/US10999194B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/304Route determination for signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • H04L45/655Interaction between route computation entities and forwarding entities, e.g. for route determination or for flow table update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS

Definitions

  • the present application relates to the field of communications technologies, and in particular, to a method, an apparatus, and a system for synchronizing information.
  • the SDN system includes a controller and a forwarding device, wherein the controller can be used for performing flow control of the network, and the forwarding device can be used for forwarding processing the received data packet.
  • the SDN technology is used to separate the control plane of the network device from the forwarding plane (also called the data plane), realize flexible control of network traffic, and accelerate the innovation of network services.
  • the controller advertises the route to the forwarding device using the BGP protocol
  • the routes advertised by the BGP route and the forwarding device are saved in the same BGP routing information table (English: Route Information Bate, RIB).
  • “routing information table RIB”, “routing information table”, “RIB” and “routing table” can be used interchangeably).
  • the route sent by the controller is treated as a normal BGP route.
  • the related applications of the route advertised by the common BGP are affected. For example, the forwarding device A issues the route P1 of the prefix X to the forwarding device B, and the controller issues the route P2 of the same prefix X to the forwarding device B.
  • the forwarding device B receives two routes of the same prefix X.
  • the forwarding device B forwards the route to the forwarding device C.
  • the priority of the route P2 is higher than the priority of the route P1.
  • the forwarding device B sends the route P2 to the forwarding device C.
  • the application related to the route P1 is affected. For example, if the BGP MED (Multi-Exit-Disc) attribute associated with the route P1 is set to 100, the route P1 is introduced to the intermediate system of the forwarding device C to the Intermediate System to Intermediate System (ISIS) RIB.
  • ISIS Intermediate System to Intermediate System
  • the route P2 is preferred, and the MED attribute of the route P2 is set to 200, the route P2 is not introduced into the ISIS RIB, and therefore, the ordinary BGP-published route with the forwarding device is affected. P1 related applications.
  • the controller uses the First Path Computation Element Protocol (PCEP) or other existing routing protocols to advertise routes to the forwarding device, it also faces similar questions.
  • PCEP First Path Computation Element Protocol
  • the ordinary PECP route between the routing and forwarding devices issued by the controller or the routes in other routing protocols are stored in the common routing information table RIB of the same PCEP routing information table RIB or other routing protocols.
  • the route advertised by the controller is treated as a normal PECP route or a common route in other routing protocols.
  • the route advertised by the controller is preferred, the related applications of the route advertised by the ordinary PCEP or other routing protocols are affected.
  • the embodiment of the present application provides a method for synchronizing information.
  • the controller sends the routing entry information to the forwarding device, and the forwarding device establishes a routing table that separately stores the routing entry information sent by the controller.
  • the preferred route in the routing table is added to the RM RIB, so that the RM module can pass the route, static route, ISIS route, Open Shortest Path First (OSPF) route, and BGP route sent by the controller.
  • the routes generated by the different protocols are routed, and the routes advertised in the routing protocol between the routing and forwarding devices advertised by the controller are stored in different routing tables, so that the routes between the forwarding devices are not affected.
  • the embodiment of the present application provides a method for synchronizing information.
  • the controller determines a routing routing protocol (CRP) routing entry information, where the CRP routing entry information includes a routing prefix and The mapping relationship of the addresses of the first next hop of the network device.
  • CRP routing routing protocol
  • the above-mentioned "CRP” refers to a protocol that runs between a controller and a forwarding device and supports the controller to issue a route to the forwarding device.
  • the controller generates a first message, where the first message carries the CRP routing entry information, and is used to advertise a CRP route.
  • the first message includes first identifier information, where the first identifier information is used to indicate that the network device saves the CRP routing entry information in a CRP routing table of the network device. Then, the controller sends the first message to the network device, so that the network device saves the CRP routing entry information in the CRP routing table according to the first identification information, and according to the The CRP routing table guides packet forwarding.
  • the method for synchronizing information in the embodiment of the present application by running the CRP protocol between the controller and the network device, and by using indication information, such as the first identification information mentioned above, enables the network device to create a separate according to the indication information.
  • the CRP routing table is used to save the CRP routing entry information sent by the controller. Because the network device saves the CRP route advertised by the controller and the route advertised according to the routing protocol between the network devices in different routing tables, the routing policy related to the CRP route does not affect the network device according to the network device.
  • the routing protocol issues related applications for routing-related routing policies.
  • the CRP routing entry information further includes a routing priority, where the routing priority is used to identify that the CRP routing is used in a guide The priority when the text is forwarded.
  • the route priority By carrying the route priority in the CRP routing entry, you can flexibly set the CRP route priority. For example, you can set the CRP route as the preferred route to control the traffic using the routes advertised by the controller. For the subsequent complex policy control for routing, it can be completed by upgrading the controller. It is not necessary to implement complex policies like all existing routing policies, such as BGP routing policies. Therefore, the flow control is simpler and more flexible.
  • the client considers that the internally deployed IGP route should be trusted, and the external route is not trusted should not be preferred.
  • the CRP route priority can also be set lower than the ISIS route. And the priority of OSPF routes. It can be seen that by routing CRP The priority is set to meet the different needs of customers.
  • the CRP routing entry information further includes attribute information of the first next hop, where the first The attribute information of one hop includes the following attribute information types of one or more next hops: bandwidth, load balancing ratio, and type of next hop.
  • the CRP routing entry information carries the attribute information of the next hop, so that the network device can obtain the attribute information of the next hop in the CRP routing table, and send the attribute information of the next hop to the forwarding.
  • the message is forwarded.
  • the first identifier information may be directly represented by a value of SAFI in the SAFI field.
  • the NLRI field includes a Type Length Value (TLV) field, and a Type T field of the TLV field indicates that the type of the TLV field is a BGP route synchronization type, where the TLV field is The value V field carries the route prefix.
  • TLV Type Length Value
  • the first message is a first PCEP message.
  • the first PCEP Message includes a message type Message-Type field, a route object Route object field, and a next hop object Next Hop object field.
  • the Message-Type field carries the first identification information.
  • the Route object field carries the route prefix.
  • the Next Hop object field carries an address of the first next hop.
  • the first identification information may be directly represented by the value of the Message-Type in the Message-Type field.
  • the first message is a first BGP UPDATE message.
  • the first BGP UPDATE message includes a multi-protocol reachable network layer reachability information MP_REACH_NLRI attribute field and a route synchronization attribute Route Synchronization Attribute field.
  • the MP_REACH_NLRI attribute field includes a sub-address family identifier SAFI field, a network layer reachability information NLRI field, and a next hop information field.
  • the SAFI field indicates that the MP_REACH_NLRI attribute field is encapsulated based on an encapsulation format supported by the BGP synchronization address family, and carries the first identification information.
  • the NLRI field carries the route priority
  • the next hop information field carries the address of the first next hop.
  • the Route Synchronization Attribute field carries the route priority.
  • the Route Synchronization Attribute field includes a sub-TLV field, where the sub-TLV field includes a T field, an L field, and a V field, where the T field indicates the route priority, and the V The field indicates a value determined based on the routing priority.
  • the first identifier information may be directly represented by a value of SAFI in the SAFI field.
  • the Route Attribute object field includes a sub-TLV field, where the sub-TLV field includes a T field, an L field, and a V field, where the T field indicates the route priority, and the V The field indicates a value determined based on the routing priority.
  • the first identification information may be directly represented by the value of the Message-Type in the Message-Type field.
  • the first message is a first BGP UPDATE message.
  • the first BGP UPDATE message includes a multi-protocol reachable network layer reachability information MP_REACH_NLRI attribute field and a next hop attribute Next Hop Attribute field.
  • the MP_REACH_NLRI attribute field includes a sub-address family identifier SAFI field, a network layer reachability information NLRI field, and a next hop information field.
  • the SAFI field indicates that the MP_REACH_NLRI attribute field is encapsulated based on an encapsulation format supported by the BGP synchronization address family, and carries the first identification information.
  • the NLRI field carries the route prefix.
  • the next hop information field carries an address of the first next hop.
  • the Next Hop Attribute field carries attribute information of the first next hop.
  • the Next Hop Attribute field includes at least one sub-TLV field, and a type of the attribute information of each of the next hops corresponds to one of the at least one sub-TLV field.
  • Each sub-TLV field includes a T field, an L field, and a V field, the T field indicating any one of types of attribute information of the next hop, the V field indicating an attribute based on the corresponding next hop The content determined by the type of information.
  • the first message is a first PCEP Message.
  • the first PCEP Message includes a message type Message-Type field, a route object Route object field, a next hop object Next Hop object field, and a next hop attribute object Next Hop Attribute object field.
  • the Message-Type field carries the first identification information.
  • the Route object field carries the route prefix.
  • the Next Hop object field carries an address of the first next hop.
  • the Next Hop Attribute object carries attribute information of the first next hop.
  • the Next Hop Attribute object field includes at least one sub-TLV field, and an attribute information type of each next hop corresponds to one of the at least one sub-TLV field.
  • Each sub-TLV field includes a T field, an L field, and a V field, the T field indicating any one of types of attribute information of the next hop, the V field indicating an attribute based on the corresponding next hop The content determined by the type of information.
  • the first identifier information may be directly from the value of the Message-Type in the Message-Type field. Said.
  • the method further includes: the controller generates a second message, where the second message carries the network device The entry information of the second next hop.
  • the entry information of the second next hop includes a mapping relationship between an address of the second next hop of the network device and attribute information of the second next hop.
  • the second message includes second identifier information, where the second identifier information is used to indicate that the network device saves the entry information of the second next hop in a next hop table of the network device.
  • the controller sends the second message to the network device, so that the network device saves the entry information of the second next hop in the next step of the network device according to the second identifier information. Jump in the table.
  • the address of the second next hop may be the same as the address of the first next hop, or may be different.
  • the attribute information type of the second next hop includes but is not limited to the types of the following parameters: the type of the next hop access, such as the Internet Protocol (IP) network, and the virtual extended local area network (English: Virtual Extensible Local Area Network) , VXLAN), etc.; Band Width and load balancing ratio (Weight).
  • IP Internet Protocol
  • VXLAN Virtual Extensible Local Area Network
  • Weight Band Width and load balancing ratio
  • the controller separately sends the next hop information to the network device, and does not need to bind the route prefix.
  • the network device saves the next hop address and the next hop attribute information in the separately maintained next hop table, so that the controller separately manages the next hop information of the network device, and the separate management includes separately creating or updating the next hop. information.
  • the foregoing solution makes the controller more flexible for the next hop management of the network device; and effectively saves the system occupied by the routing prefix between the controller and the network device, and the information exchange for the next hop management. Resources; the amount of information that network devices need to parse is reduced, and the service processing efficiency of network devices is also improved.
  • the controller when the controller separately sends the next hop information to the network device, the controller carries the attribute information of the next hop customized by the controller, and describes the different differentiated features between the next hop by using the attribute information of the next hop. For example, some applications need to describe the available bandwidth of the next hop, the load balancing ratio of the next hop, and so on.
  • the network device may be configured to obtain the attribute information of the next hop in the next hop table, and send the attribute information of the next hop to the FIB table for guiding packet forwarding.
  • the second message is a second BGP UPDATE message.
  • the second BGP UPDATE message includes a multi-protocol reachable network layer reachability information MP_REACH_NLRI attribute field and a next hop attribute Next Hop Attribute field.
  • the MP_REACH_NLRI attribute field includes a sub-address family identifier SAFI field, a network layer reachability information NLRI field, and a next hop information field.
  • the SAFI field indicates that the MP_REACH_NLRI attribute field is encapsulated based on an encapsulation format supported by the BGP synchronization address family, and carries the second identification information.
  • the second identifier information may be directly represented by a value of SAFI in the SAFI field.
  • the second message is a second PCEP Message.
  • the second PCEP Message includes a message type Message-Type field, a next hop object Next Hop object field, and a next hop attribute object Next Hop Attribute object field.
  • the Message-Type field is used to carry the second identifier information.
  • the Next Hop object field carries an address of the second next hop.
  • the Next Hop Attribute object field carries attribute information of the second next hop.
  • the Next Hop Attribute object field includes at least one sub-TLV field, and an attribute information type of each next hop corresponds to one of the at least one sub-TLV field.
  • Each of the sub-TLV fields includes a T field, an L field, and a V field, where the T field indicates any one of the attribute information types of the next hop, and the V field indicates attribute information based on the corresponding next hop.
  • the content determined by the type.
  • the second identifier information may be directly represented by the value of the Message-Type in the Message-Type field.
  • the first PCEP message further includes a request parameter (English: Request Parameters, RP) object object field.
  • the message-type carrying the second identifier information specifically includes: the Message-Type field and the RP object field jointly carrying the second identifier information. That is, the second identification information may be jointly represented by the value of Message-Type in the Message-Type field and the value of the R flag in the RP object field.
  • the method further includes: the controller generates a third message, where the third message carries the network The address of the third next hop of the device.
  • the third message includes third identifier information, where the third identifier information is used to indicate that the network device deletes the third corresponding to the address of the third next hop in the locally saved next hop table.
  • One-hop entry The controller sends the third message to the network device, so that the network device deletes the entry of the third next hop according to the indication of the third identifier information.
  • the network device deletes the first hop in the separately saved next hop table according to the first identifier information carried in the first message.
  • the first hop entry corresponding to the one-hop address does not need to be bundled with the route prefix and deletes an unavailable next hop through a large number of revoked routing messages, thereby saving network resources.
  • the next hop corresponding to the multiple routing entries can be deleted, and multiple routing entries using the next hop can be deleted. Therefore, only one message needs to be sent between the controller and the network device to quickly and batchly delete routing entries. Therefore, the number of interactive messages between the controller and the forwarding device is greatly reduced, system resources are saved, and service processing efficiency is improved.
  • the third message is a third BGP UPDATE Message.
  • the third BGP UPDATE message includes a Multi-Protocol Unreach Network Reachability Information (MP_UNREACH_NLRI) attribute field.
  • the MP_UNREACH_NLRI attribute field includes a sub-address family identifier SAFI field and an unreachable network layer unreachability information NLRI field.
  • the SAFI field indicates that the MP_UNREACH_NLRI attribute field is encapsulated based on an encapsulation format supported by the BGP synchronization address family, and carries the third identification information.
  • the unreachable NLRI field carries the third next hop site.
  • the third message is a third PCEP Message.
  • the third PCEP Message includes a message type Message-Type field and a next hop object Next Hop object field.
  • the message-type field indicates that the third PCEP message is used to send the address of the third next hop to the network device, and is used to carry the third identifier information.
  • the Next Hop object field carries an address of the third next hop.
  • the third identifier information may be directly represented by the value of the Message-Type in the Message-Type field.
  • the third PCEP message further includes a request parameter (RP) object Field.
  • the message-type carrying the third identifier information specifically includes: the Message-Type field and the RP object field jointly carrying the third identifier information. That is, the third identification information may be jointly represented by the value of the Message-Type in the Message-Type field and the value of the R flag in the RP object field.
  • the method further includes: the controller receiving a fourth message sent by the network device.
  • the fourth message carries the routing status report information, where the routing status report information includes a mapping relationship between the routing prefix and the status information of the CRP route.
  • the controller updates the statistics of the route prefix according to the received routing status report information, as a basis for recalculating the CRP route.
  • the status information of the CRP route includes, but is not limited to, the status of the route, such as whether the route is legal, whether it is preferred, whether it is sent to the FIB, the survival time of the route, and the status of the next hop, such as whether the next hop is legal. Whether it is used, etc.; next hop bandwidth occupation ratio; next hop packet loss rate; next hop packet delay; next hop survival time.
  • the controller can obtain the routing status information reported by the network device periodically and in real time, and can know the status of the routing of the network device in real time, which serves as a basis for adjusting the routing, and improves the reliability and real-time performance of the traffic control.
  • the method further includes: the controller receiving a fifth message sent by the network device;
  • the fifth message carries the next hop status report information, where the next hop status report information includes a mapping relationship between the address of the fourth next hop of the network device and the status information of the fourth next hop; the controller And updating the statistics information of the fourth next hop according to the received next hop status report information, as a basis for recalculating the next hop of the network device.
  • the next hop status report information includes, but is not limited to, the status of the next hop, such as whether the next hop is legal, whether it is used, etc.; the next hop bandwidth occupation ratio; the next hop packet loss rate; the next hop packet delay Time; next hop survival time.
  • the controller can obtain the next hop state information reported by the forwarding device on a regular basis and in real time, and can know the status of the forwarding device in real time, and calculate the basis of the next hop to improve the reliability and real-time performance of the traffic control.
  • an embodiment of the present application provides a method for synchronizing information.
  • a network device receives control.
  • the first message is sent by the controller;
  • the first message carries the control routing protocol CRP routing entry information determined by the controller, and is used to advertise a CRP route.
  • the CRP routing entry information includes a mapping relationship between a routing prefix and an address of a first next hop of the network device, where the first message includes first identification information.
  • the network device saves the CRP routing entry information in the local CRP routing table according to the indication of the first identifier information, and guides the packet forwarding according to the CRP routing table.
  • a separate CRP routing table is created on the network device to save the CRP routing entry information sent by the controller.
  • the route advertised by the routing protocol between the CRP route and the network device is saved in a different routing table, so that the routing policy related to the CRP route does not affect the route represented by the routing protocol between the network devices.
  • the CRP routing entry information further includes a routing priority, where the routing priority is used to identify that the CRP routing is used in a guide The priority when the text is forwarded.
  • the route priority By carrying the route priority in the CRP routing entry, you can flexibly set the CRP route priority. For example, you can set the CRP route as the preferred route to control the traffic using the routes advertised by the controller. For the subsequent complex policy control for routing, it can be completed by upgrading the controller. It is not necessary to implement complex policies like all existing routing policies, such as BGP routing policies. Therefore, the flow control is simpler and more flexible.
  • the client considers that the internally deployed IGP route should be trusted, and the external route is not trusted should not be preferred.
  • the CRP route priority can also be set lower than the ISIS route. And the priority of OSPF routes. It can be seen that by setting the priority of the CRP route, the different needs of the customer can be met.
  • the CRP routing entry information further includes attribute information of the first next hop, the first next The attribute information of the hop includes the types of attribute information of one or more of the following next hops: bandwidth, load balancing ratio, and type of next hop access.
  • the method further includes:
  • the network device saves the address of the first next hop and the attribute information of the first next hop in an entry of a first next hop of a next hop table of the network device, where A next hop entry records a mapping relationship between the address of the first next hop and the attribute information of the first next hop.
  • the CRP routing entry information carries the attribute information of the next hop, so that the network device can obtain the attribute information of the next hop in the CRP routing table, and send the attribute information of the next hop to the FIB. Guide the message forwarding.
  • the method further includes: acquiring, by the network device, attribute information of the first next hop, and The attribute information of the first next hop is sent to the forwarding information table to guide packet forwarding.
  • the method further includes:
  • the network device receives the second message sent by the controller; the second message carries the entry information of the second next hop of the network device.
  • the second next hop entry information records the a mapping relationship between the address of the second next hop of the network device and the attribute information of the second next hop.
  • the second message includes second identifier information, and the network device according to the indication of the second identifier information The entry information of the second next hop is saved in the In the next hop table of the network device.
  • the controller separately sends the next hop information to the network device without binding the route prefix.
  • the network device saves the next hop address and the next hop attribute information in the separately maintained next hop table, so that the controller separately manages the next hop information of the network device, and the separate management includes separately creating or updating the next hop. information.
  • the foregoing solution makes the controller more flexible for the next hop management of the network device; and effectively saves the system occupied by the routing prefix between the controller and the network device, and the information exchange for the next hop management. Resources; the amount of information that network devices need to parse is reduced, and the service processing efficiency of network devices is also improved.
  • the controller When the controller separately sends the next hop information to the network device, it carries the next hop attribute information associated with the next hop customized by the controller, and describes the difference between the next hop and the next hop by using the next hop attribute information.
  • the network device can obtain the next hop attribute information in the next hop table, and send the next hop attribute information to a forwarding information table (FIB) table for guiding the message. Forward.
  • FIB forwarding information table
  • the method further includes:
  • the network device receives a third message sent by the controller; the third message carries an address of a third next hop of the network device, and the third message includes third identifier information; the network device And deleting, according to the indication of the third identifier information, an entry of a third next hop corresponding to the address of the third next hop in the next hop table saved by the network device.
  • the network device deletes the first hop in the separately saved next hop table according to the first identifier information carried in the first message.
  • the first hop entry corresponding to the one-hop address does not need to be bundled with the route prefix and deletes an unavailable next hop through a large number of revoked routing messages, thereby saving network resources.
  • the network device is saved by the network device
  • the entry of the third next hop corresponding to the address of the third next hop is deleted in the hop table, and specifically includes:
  • the network device searches for the next hop table and hits the entry of the third next hop according to the indication of the third identifier information, using the address of the third next hop as a key, and hits the entry of the third next hop.
  • the entry of the third next hop is deleted.
  • the method further includes:
  • the network device deletes a routing entry associated with the address of the third next hop.
  • the controller determines that the next hop is unavailable. By deleting the next hop, multiple routing entries using the next hop can be deleted. Therefore, only one message needs to be sent between the controller and the network device to quickly and batchly delete routing entries. Therefore, the number of interactive messages between the controller and the forwarding device is greatly reduced, system resources are saved, and service processing efficiency is improved.
  • the method further includes:
  • the network device generates a fourth message, where the fourth message carries the routing status report information, and the routing status report information records a mapping relationship between the routing prefix and the status information of the CRP route.
  • the network device sends the fourth message to the controller, so that the controller updates the statistics of the route prefix according to the received routing status report information, as a recalculation of the CRP route. in accordance with.
  • the status information of the CRP route includes, but is not limited to, the status of the route, such as whether the route is legal, whether it is preferred, whether it is sent to the FIB, the survival time of the route, and the status of the next hop, such as whether the next hop is legal. Whether it is used, etc.; next hop bandwidth occupation ratio; next hop packet loss rate; next hop packet delay; next hop survival time.
  • the controller can obtain the routing status information reported by the network device periodically and in real time, and can know the status of the routing of the network device in real time, which serves as a basis for adjusting the routing, and improves the reliability and real-time performance of the traffic control.
  • the fourth message is a fourth BGP UPDATE message.
  • the fourth BGP UPDATE Message includes an MP_REACH_NLRI attribute field and a Route Status Report Attribute field.
  • the MP_REACH_NLRI attribute field includes an NLRI field, and the NLRI field is used to carry the route prefix.
  • the Route Status Report Attribute field is used to carry status information of the CRP route.
  • the Route Status Report Attribute field includes at least one sub-TLV field, and a status information type of each of the CRP routes corresponds to one of the at least one sub-TLV field.
  • Each sub-TLV field includes a T field, an L field, and a V field, where the T field indicates any one of status information types of the CRP route, and the V field indicates a status information type based on the corresponding CRP route. Determined content.
  • the fourth message is a fourth PCEP Message.
  • the fourth PCEP Message includes a message type Message-Type field, a route object Route object field, and a route status report attribute object Route Status Report Attribute object field.
  • the Message-Type field indicates that the fourth PCEP Message is used to send the routing status report information to the controller.
  • the Route object field carries the route prefix.
  • the Route Status Report Attribute object field carries status information of the CRP route.
  • the Route Status Report Attribute object field includes at least one sub-TLV field, and a status information type of each of the CRP routes corresponds to one of the at least one sub-TLV field.
  • Each sub-TLV field includes a T field, an L field, and a V field, where the T field indicates any one of status information types of the CRP route, and the V field indicates a status information type based on the corresponding CRP route. Determined content.
  • the method further includes:
  • the network device generates a fifth message; the fifth message carries next hop status report information, where the next hop status report information includes an address of the fourth next hop of the network device and the fourth next The mapping relationship of the status information of the hop. Sending, by the network device, the fifth message to the controller, so that the controller is connected according to the The received next hop status report information is used to update the statistics of the next hop as a basis for recalculating the next hop of the network device.
  • the next hop status report information includes, but is not limited to, the status of the next hop, such as whether the next hop is legal, whether it is used, etc.; the next hop bandwidth occupation ratio; the next hop packet loss rate; the next hop packet delay Time; next hop survival time.
  • the controller can obtain the next hop state information reported by the forwarding device on a regular basis and in real time, and can know the status of the forwarding device in real time, and calculate the basis of the next hop to improve the reliability and real-time performance of the traffic control.
  • the fifth message is a fifth BGP UPDATE message.
  • the fifth BGP UPDATE message includes a multi-protocol reachable network layer reachability information MP_REACH_NLRI attribute field and a next hop status report attribute Next Hop Status Report Attribute field.
  • the MP_REACH_NLRI attribute field includes a network layer reachability information NLRI field, and the NLRI field is used to carry the address of the fourth next hop.
  • the Next Hop Status Report Attribute field is used to carry status information of the fourth next hop.
  • the Next Hop Status Report Attribute field includes at least one sub-TLV field, and a status information type of each next hop corresponds to one of the at least one sub-TLV field.
  • Each sub-TLV field includes a T field, an L field, and a V field, where the T field indicates any one of the status information types of the next hop, and the V field indicates status information based on the corresponding next hop. The content determined by the type.
  • the fifth message is a fifth PCEP Message.
  • the fifth PCEP Message includes a message type Message-Type field, a next hop object Next Hop object field, and a next hop status report attribute object Next Hop Status Report Attribute object field.
  • the Message-Type field indicates that the fifth PCEP Message is used to send the next hop status report information to the controller.
  • the Next Hop object field carries an address of the fourth next hop.
  • the Next Hop Status Report Attribute object field carries status information of the fourth next hop.
  • the Next Hop Status Report Attribute object field includes at least one sub-TLV field, and a status information type of each next hop corresponds to one of the at least one sub-TLV field.
  • Each sub-TLV field includes a T field, an L field, and a V field, where the T field indicates any one of the status information types of the next hop, and the V field indicates status information based on the corresponding next hop. The content determined by the type.
  • the embodiment of the present application provides a controller for performing the method in the first aspect or any possible implementation manner of the first aspect.
  • the controller comprises means for performing the method of the first aspect or any of the possible implementations of the first aspect.
  • the embodiment of the present application provides a network device, where the method in any of the possible implementations of the second aspect or the second aspect is performed.
  • the network device comprises means for performing the method of the second aspect or any of the possible implementations of the second aspect.
  • the embodiment of the present application provides a communication system, including the controller provided by the third aspect and the network device provided by the fourth aspect.
  • an embodiment of the present application provides a controller, where the controller includes: an input interface and an output. Interface, processor, and memory. Wherein, the input interface, the output interface, the processor and the memory can be connected by a bus system.
  • the memory is for storing a program, instruction or code for executing a program, instruction or code in the memory to perform the method of the first aspect or any possible implementation of the first aspect.
  • the embodiment of the present application provides a network device, where the network device includes: an input interface, an output interface, a processor, and a memory.
  • the input interface, the output interface, the processor and the memory can be connected by a bus system.
  • the memory is for storing a program, instruction or code for executing a program, instruction or code in the memory, and performing the method of any of the second aspect or any of the possible implementations of the second aspect.
  • the embodiment of the present application provides a computer readable storage medium for storing a computer program for performing the first aspect, the second aspect, any possible implementation of the first aspect, or the second An instruction of a method in any of the possible implementations.
  • FIG. 1 is a schematic diagram of a controller issuing a route in the prior art
  • FIG. 2 is a schematic diagram of an application scenario according to an embodiment of the present application.
  • FIG. 3 is a schematic flowchart diagram of a method for information synchronization according to an embodiment of the present application
  • FIG. 4 is a schematic diagram of a multi-protocol extended reachable network layer reachability information MP_REACH_NLRI field encapsulated by an encapsulation format supported by a BGP synchronous address family according to an embodiment of the present application;
  • FIG. 5 is a schematic diagram of a TLV field in an NLRI field according to an embodiment of the present application.
  • FIG. 6 is a schematic diagram of a package format of a common message header of a PCEP message according to an embodiment of the present application
  • FIG. 7 is a schematic diagram of a package format of a common object header of an object of a PCEP Message according to an embodiment of the present application
  • FIG. 8 is a schematic diagram of a package format of a route object Route object in a PCEP Message according to an embodiment of the present application
  • FIG. 9 is a schematic diagram of a package format of a sub-object Sub-object in a route object Route object according to an embodiment of the present application.
  • FIG. 10 is a schematic diagram of a package format of a sub-object Sub-object in a route object Route object according to another embodiment of the present application;
  • FIG. 11 is a schematic diagram of a package format of a Next Hop object of a next hop object in a PCEP Message according to an embodiment of the present application;
  • FIG. 12 is a schematic diagram of an MP_UNREACH_NLRI field encapsulated by an encapsulation format supported by a BGP synchronization address family according to an embodiment of the present application;
  • FIG. 13 is a schematic diagram of a controller according to an embodiment of the present application.
  • FIG. 14 is a schematic diagram of a network device according to an embodiment of the present application.
  • FIG. 15 is a schematic structural diagram of hardware of a controller according to an embodiment of the present application.
  • FIG. 16 is a schematic structural diagram of hardware of a network device according to an embodiment of the present application.
  • FIG. 2 shows an SDN 100 to which the embodiment of the present application is applied.
  • the SDN 100 includes a controller 110 and a plurality of network devices 120.
  • the controller 110 may also be referred to as a control device, a control system, and a control node.
  • the controller 120 may be an intelligent network controller (SNC), but the embodiment of the present application is not limited thereto.
  • SNC intelligent network controller
  • the network device 120 can be used to forward the message.
  • the network device may be a traditional router, a switch, or the like in a traditional path computation unit (PCE) network, or a routing and forwarding device such as a router or a switch in the SDN that controls the forwarding and separation.
  • PCE path computation unit
  • the application embodiment does not limit this.
  • FIG. 2 shows five routers: R1 to R5, it should be understood that FIG. 2 exemplarily shows only one controller and five routers, which may include any other number of controllers and network devices, this application The embodiment does not limit this.
  • the controller 110 determines the routing entry information, collects the corresponding routing information, and distributes the routing information to the network device 120 by collecting the network element resource information and the network topology information of each network device 120. After receiving the route issued by the controller, the network device 120 saves it in the routing table maintained by the network device 120 separately.
  • the route advertised by the controller and the route advertised by other protocols are sent to the Routine Management (RM) RIB. For example, the RM RIB shown in Figure 1 and the RM RIB are routed through the protocol to select one. The optimal route is used as the basis for the network device 120 to forward the packet.
  • RM Routine Management
  • the method 300 for synchronizing information provided by the embodiment of the present application is described in detail below with reference to FIG.
  • the method 300 can be applied to the SDN 100 shown in FIG. 2, but the embodiment of the present application is not limited thereto.
  • the method includes:
  • the controller determines a control routing protocol CRP routing entry information, where the CRP routing entry information records a mapping relationship between the routing prefix and the address of the first next hop.
  • CRP refers to a protocol that runs between a controller and a forwarding device and supports the controller to issue a route to the forwarding device.
  • the forwarding device saves the route generated and advertised by the controller to a routing table maintained by the forwarding device.
  • the routing table is called a CRP routing table.
  • the CRP protocol may be an extended protocol formed by extending an existing routing protocol, so as to carry a route sent by the controller to the forwarding device, for example, a BGP extended protocol formed by extending an existing routing protocol BGP, or an existing PCEP protocol. Expansion of the extended PCEP protocol.
  • the CRP protocol can also be an extension of the routing protocol used between newly created legacy forwarding devices.
  • the CRP protocol may also be a newly created protocol dedicated to the interaction between the controller and the traditional forwarding device and carrying the routing information sent by the controller.
  • the specific protocol of the route carrying the controller is not limited in this application.
  • the traditional forwarding device in the embodiment of the present application can be understood as a non-pure or hybrid SDN forwarding device, such as the function of the traditional forwarding device control and forwarding, and the SDN control forwarding separation field.
  • the CRP routing table can be understood as a routing table for storing routes advertised by the controller to distinguish it from other forms of routing tables, such as a routing table for storing routes advertised between forwarding devices.
  • the network device saves the CRP routing table of the route advertised by the controller and saves the common BGP route (for example, the network).
  • BGP routing table for routes advertised between devices.
  • the CRP routing table includes multiple routing entries, which are called CRP routing entries.
  • the routing information recorded in each CRP routing entry is called CRP routing entry information.
  • the route advertised by the controller to the forwarding device is called "CRP route”.
  • the CRP routing table can be as shown in Table 1:
  • the CRP routing table includes multiple CRP routing entries.
  • Network field indicates the route prefix, which is usually expressed by destination address/mask (destination/Mask). If a natural mask is used, the mask can be omitted.
  • Next-Hop field indicates the address of the next hop
  • Status field indicates the routing status
  • Preference field indicates a route priority; the route priority is used to indicate that the CRP route is used to guide the priority of packet forwarding. The smaller the value of the route priority, the higher the route priority. The priority of the CRP route can be flexibly set by using the Preference field.
  • Topology field indicates the topology identifier of the network device. When the corresponding topology identifier is specified, the corresponding topology is used according to the specified identifier information. If no specific identifier is specified, the default global topology is used.
  • Band Width field indicates the available bandwidth of the next hop.
  • the information of each CRP routing entry includes at least the mapping relationship between the route prefix and the next hop address.
  • the information contained in other fields is optional information. Default configuration.
  • the "Status" field described above may be composed of 32 bits, each bit representing a routing state.
  • the encapsulation format of the "Status” field is shown in Table 2:
  • V—Valid 1 indicates a legal route, and 0 indicates an illegal route.
  • 0xD0000000 The three bits of V, B, and D are 1, and the A bit is 0, indicating that the route is legal, optimal, and sent to the FIB, but the route is not activated.
  • V—Valid where 0 is a legal route and 1 is an illegal route.
  • 0 indicates that the route is sent to the FIB
  • 1 indicates that the route is not sent to the FIB.
  • the foregoing state information may also be represented by other values, which is not specifically limited in the embodiment of the present application.
  • Status field may also be encapsulated in other package formats, which are merely exemplary and should not be construed as limiting the application.
  • the controller may be configured to control traffic of the network, and send control routing information to the network device.
  • the controller can be the controller 110 shown in FIG. 2.
  • the network device may be specifically any one of R1 to R5 shown in FIG. 2.
  • the controller may be specifically an SNC, but the embodiment of the present application does not limit this.
  • the controller calculates the CRP route by collecting network element resource information and network topology information of each network device, and determines the CRP routing entry information.
  • the network element resource information includes, but is not limited to, label information, interface resource information, virtual local area network (VLAN) information, and a tunnel ID.
  • the network topology information is information describing nodes and links in the network and connection relationships between the nodes.
  • the controller can obtain topology information of the entire network based on various existing topology collection protocols, such as the Interior Gateway Protocol (IGP), the ISIS protocol, and the OSPF protocol.
  • the network topology information includes, but is not limited to, path information between respective network devices in the SDN.
  • the network topology information further includes weight information of a path between the network devices, and the like.
  • the controller generates a first message, and is used to advertise a CRP route.
  • the controller generates a first message, where the first message carries the CRP routing entry information, and is used to advertise the CRP route, where the first message includes first identifier information, where the first The identifier information is used to instruct the network device to save the CRP routing entry information in the CRP routing table of the network device.
  • the network device may specifically be a switch or a router.
  • the network device may be specifically any one of R1 to R5 shown in FIG. 2.
  • the first message may be a first BGP update message BGP UPDATE Message.
  • the first BGP UPDATE Message includes an MP_REACH_NLRI attribute field.
  • the MP_REACH_NLRI attribute field includes a Subsequent Address Family Identifier (SAFI) field, a network layer reachability information NLRI field, and a next hop information field.
  • SAFI Subsequent Address Family Identifier
  • the SAFI field indicates that the MP_REACH_NLRI attribute field is encapsulated based on an encapsulation format supported by the BGP synchronization address family, and carries the first identification information.
  • the NLRI field carries the route prefix, and the next hop information field carries the address of the first down hop.
  • the first identifier information is directly represented by the value of SAFI in the SAFI field of the BGP synchronization address family.
  • the BGP synchronization address family may be added to the existing BGP address family, and the CRP routing entry information is encapsulated according to the encapsulation format supported by the newly added BGP synchronization address family.
  • the encapsulation format of the added MP_REACH_NLRI of the BGP synchronization address family is as shown in FIG. 4 .
  • FIG. 4 is a schematic diagram of an MP_REACH_NLRI attribute field encapsulated by an encapsulation format indicated by a BGP synchronization address family according to an embodiment of the present application.
  • MP_REACH_NLRI can be understood as NLRI multi-protocol extended attribute information, which includes three parts: address family information domain, next hop information domain, and network layer reachability information (NLRI) domain.
  • the address family information field includes an address family identifier field (2 bytes) and a sub-address family identifier field (1 byte).
  • the Address Family Identifier (AFI) is used to identify the network layer protocol. For example, AFI takes 1 for IPv4 and AFI for 2 for IPv6.
  • the SAFI identifies the type of the sub-address family. For example, SAFI takes 1 for unicast, SAFI takes 2 for multicast, and SAFI takes 128 for virtual private network (VPN).
  • VPN virtual private network
  • the AFI value is 1, and the SAFI value is 1, indicating that the NLRI field carries an IPv4 unicast route; the AFI value is 1, and the SAFI value is 128 indicates the BGP-VPNv4 route carried in the NLRI field; the AFI value is 1.
  • the SAFI value of 4 indicates the BGP label route carried in the NLRI field.
  • the BGP synchronization address family can be understood as an extended sub-address family in the IPv4 or IPv6 address family in the existing BGP protocol, that is, the AFI value can be 1 or 2.
  • the value of SAFI can be determined according to standards set by the Internet Engineering Task Force (IETF).
  • the next hop information field includes an address length field (1 byte) of the next hop and an address field (variable length) of the next hop.
  • the address length field of the next hop is used to identify the length of the address field of the next hop, and the length of the address field of the next hop is determined by the length identified by the address length field of the next hop.
  • a 1-byte reserved field is left between the next hop information field and the NLRI field.
  • the NLRI field includes the NLRI field.
  • the NLRI field can be represented by a binary ⁇ Length-Prefix>.
  • Length indicates the length of the route prefix in bytes.
  • Prefix Contains the route prefix, followed by padding bits to ensure that the end of the field conforms to the byte boundary. The value of the padding bit is meaningless.
  • the NLRI field includes a TLV field (variable length).
  • FIG. 5 is a schematic diagram of a TLV field in an NLRI field according to an embodiment of the present application.
  • the type T field indicates that the type of the TLV field is a BGP synchronization type
  • the length L field indicates the length of the V field
  • the value V field carries the content determined according to the BGP synchronization type.
  • the L field value is 16 bits, that is, 2 bytes
  • the V field is a route prefix of the length indicated by the L field value.
  • the BGP synchronization type includes the BGP route synchronization type.
  • Type 1 type listed herein is a BGP route synchronization type, which is merely exemplary, and should not be construed as limiting the application.
  • the embodiment of the present application does not exclude the possibility of indicating other types by Type1 or indicating the BGP route synchronization type by other means.
  • the number of types of NLRIType in the embodiment of the present application is also not particularly limited.
  • the first message is a first PCEP message Message.
  • the first PCEP Message includes a message type Message-Type field, a route object Route object field, and a next hop object Next Hop object field.
  • the Message-Type field indicates that the first PCEP message is used to advertise the CRP route to the network device, and is used to carry the first identifier information.
  • the Route object field carries the route prefix.
  • the Next Hop object field carries an address of the first next hop.
  • the first identifier information is directly represented by the value of the Message-Type in the Message-Type field.
  • a message type may be added to the existing Message-Type to indicate the first PCEP Message.
  • the first PCEP message may also be referred to as a PCE-initiated route message.
  • a PCEP Message consists of a common message header and a variable-length message body consisting of a series of objects.
  • the first PCEP Message includes a common message header, the routing object, and the next hop object.
  • FIG. 6 is a schematic diagram of a package format of a common message header of a first PCEP Message according to an embodiment of the present application.
  • Version (Ver) field (3 bits): Identifies the PCEP version number, and the current version number is 1.
  • Flags field (5 bits): tag, there is no tag currently defined, the allocated 5 bits is reserved, the sender must be set to 0, and the receiver must ignore.
  • Message-Type field (8 bits): Message type. To be defined.
  • the Message-Type in the first PCEP message may be understood as a message based on the Message-Type extension in the existing PCEP protocol.
  • Type the value of Message-Type can be determined according to the standards set by the IETF.
  • Message-Length field (16 bits): The total length of the PCEP message (including the length of the common header) in bytes.
  • An object object of a PCEP Message includes a common object header and an object body.
  • the encapsulation format of the common object header is as shown in FIG. 7:
  • Object-Class field (8-bit): Identifies the kind of PCEP object.
  • Object-Type (OT) field (4 bits): identifies the type of PCEP object.
  • the Object-Class field and the OT field are managed by the Internet Assigned Numbers Authority (IANA) to uniquely identify a PCEP object.
  • IANA Internet Assigned Numbers Authority
  • the value of Object-Class is 1 and the value of Object-Type is 1, and the two together uniquely determine the OPEN object.
  • an Object-Class includes at least one Object-Type.
  • Res field (2 bits): Reserved field, padded with 0 when sent, ignored when received.
  • Processing rule tag (P) field (1 bit): Processing rule. Not covered in this application.
  • Ignore tag (I) field (1 bit): Ignore the field. Not covered in this application.
  • Object Length field (16 bits): Identifies the length of the object, including the length of the object header, in bytes.
  • the object body includes a series of one or more optional sub-TLV fields.
  • the sub-TLV fields all include a T field, an L field, and a V field.
  • the T field identifies the type of the sub-object, which occupies 2 bytes;
  • the L field identifies the length of the sub-object, including the message header unit is a byte;
  • the V-field identifies the content determined according to the type of the sub-object.
  • the object body includes a series of sub-objects, and the sub-objects may be encapsulated in an encapsulation format of a sub-object defined by RFC3209.
  • the encapsulation format of the Route object is as shown in FIG. 8:
  • the value of the object-class class (Object-Class) is to be defined and managed by IANA; the object type (Object-Type, OT) value is 1; the Object-Class and the Object-Type together determine the Route object uniquely.
  • the Res field is filled with 0 when sent, and ignored when received.
  • the Processing Rule Flag (P) field and the Ignore Tag (I) field are not used in this Route object and are set to 0.
  • the value of the Object Length is the length of the Route object, including the object header.
  • the Route object includes one or more sub-objects Sub-object, the sub-object is variable length, and the length of the sub-object field is determined by the length identified by the object length field.
  • the Sub-object in the Route object is an IPv4 prefix sub-object, and carries an IPv4 address prefix.
  • the encapsulation format shown in FIG. 9 can be used for encapsulation, as shown in FIG.
  • IPv4prefix sub-object The fields of the IPv4prefix sub-object are explained as follows:
  • Attribute (L) field of the child object In the Route object, the L bit is not used yet and is set to 0.
  • Sub-object type (Type) field The value is 0x01, indicating the IPv4 address.
  • the value of the Type is only an exemplary description and is not specifically limited.
  • Sub-Object Length The length of the sub-object.
  • IPv4 address field IPv4 address. This address is treated as a prefix based on the following prefix length (Prefix Length). Bits that exceed the prefix are ignored on reception and are set to 0 on transmission.
  • Prefix length field The length of the IPv4 prefix.
  • Padding field set to 0 when transmitting, and ignored when receiving.
  • IPv4 prefix object The content of an IPv4 prefix object is a 4-byte IPv4 address, a 1-byte prefix length and a 1-byte padding field.
  • the abstract node represented by this sub-object is a series of nodes with the same IP address prefix.
  • the prefix length of 32 indicates that it is a single IPv4 node.
  • the Sub-object in the Route object is an IPv6 prefix sub-object, and carries an IPv6 address prefix.
  • the package format shown in FIG. 10 can be used for packaging, as shown in FIG.
  • Attribute (L) field of the child object In the Route object, the L bit is not used yet and is set to 0.
  • Sub-object type (Type) field The value is 0x02, indicating the IPv6 address.
  • Sub-Object Length The length of the sub-object.
  • IPv6 address field IPv6 address. This address is treated as a prefix based on the following prefix length (Prefix Length). Bits that exceed the prefix are ignored on reception and are set to 0 on transmission.
  • Prefix Length prefix length
  • Prefix length field The length of the IPv6 prefix.
  • Padding field set to 0 when transmitting, and ignored when receiving.
  • IPv6 prefix sub-object The content of an IPv6 prefix sub-object is a 16-byte IPv6 address, a 1-byte prefix length and a 1-byte padding field.
  • the abstract nodes represented by such sub-objects are a series of nodes belonging to the same IP prefix. Among them, the prefix length of 128 indicates a single IPv6 node.
  • the encapsulation format of the Route object enumerated herein is only an exemplary description.
  • the encapsulation format of the Route object and the value of the related field in the Route object are not specifically limited.
  • the embodiment of the present application does not exclude the possibility of encapsulating the Route object by using other encapsulation formats.
  • the encapsulation format of the Next Hop object of the next hop object is as shown in FIG.
  • the value of the object-class class (Object-Class) is to be defined and managed by IANA.
  • the object type (Object-Type, OT) value is 1
  • the object body (Object body) carries a 4-byte IPv4 unicast address; when the value is 2, the Object body carries a 16-byte long IPv6 unicast address.
  • the Object-Class and Object-Type together uniquely determine the Next Hop object.
  • the Res field is filled with 0 when sent, and ignored when received.
  • the Processing Rule Flag (P) field and the Ignore Tag (I) field are not used in this Route object and are set to 0.
  • the value of the Object Length is the length of the Next Hop object, including the object header.
  • the controller sends the first message to the network device.
  • the controller sends the first message to the network device, so that the network device saves the CRP routing entry information in the CRP routing table of the network device according to the first identifier information.
  • the controller sends the first message to the network device, so that the network device saves the CRP routing entry information in the CRP routing table of the network device according to the first identifier information.
  • the packet forwarding is guided according to the CRP routing table.
  • the controller itself saves the CRP routing table, and after the controller determines the CRP routing entry information, the CRP routing entry information is saved in the CRP routing table saved by the controller.
  • the network device receives the first message.
  • the network device saves the CRP routing entry information in a CRP routing table of the network device.
  • the network device after receiving the first message, the network device, according to the first identifier information carried in the first message, identifies that the CRP routing entry information carried in the first message needs to be saved locally.
  • the CRP routing entry information is saved in the local CRP routing table, and the packet forwarding can be guided according to the CRP routing table.
  • the network device after receiving the first message, searches for the entry in the locally saved CRP routing table by using the route prefix carried in the first message as a key, if If the corresponding entry is hit, the CRP routing entry information is used to update the corresponding information in the found entry. If no corresponding entry is created, a CRP routing entry is created, and the CRP routing entry information is saved to the newly created CRP routing entry.
  • the CRP protocol is run between the controller and the forwarding device, and a separate CRP routing table is created on the forwarding device, which is used to save the CRP routing entry information sent by the controller.
  • the preferred route in the CRP routing table is added to the RM RIB so that the RM module can route between routes generated by different routing protocols, such as CRP routing, ISIS routing, BGP routing, and OSPF routing.
  • the route advertised by the routing protocol between the CRP route and the forwarding device is saved in a different routing table, so that the routing policy related to the CRP route does not affect the routing in the routing protocol between the forwarding devices.
  • the CRP routing entry information further includes: route synchronization attribute information, where the route synchronization attribute information is used by the controller to carry route attribute information that is set by the controller when sending the route prefix.
  • the route synchronization attribute includes, but is not limited to, the route priority, the topology, and attribute information of a next hop.
  • the attribute information of the next hop includes at least one attribute information type of the next hop.
  • the type of the attribute information of the next hop includes, but is not limited to, the type of the next hop access, such as an Internet Protocol (IP) network, a Virtual Extensible Local Area Network (VXLAN), or the like; Band Width and load balancing ratio (Weight).
  • IP Internet Protocol
  • VXLAN Virtual Extensible Local Area Network
  • Weight Band Width and load balancing ratio
  • the BGP UPDATE message carries the CRP routing entry information
  • the first BGP UPDATE message further includes a route synchronization Route Synchronization attribute Attribute field.
  • the Route Synchronization Attribute carries the route synchronization attribute information.
  • the Route Synchronization Attribute field includes at least one sub-TLV field, and each route synchronization attribute information type corresponds to one of the at least one sub-TLV field.
  • Each sub-TLV field includes a T field, an L field, and a V field, where the T field indicates any one of types of the route synchronization attribute information, and the V field indication is determined based on the corresponding route synchronization attribute information type.
  • the type of the route synchronization attribute information includes the route priority.
  • the first PCEP message further includes a PCEP routing attribute object Route Attribute.
  • An object field where the PCEP Route Attribute object field carries the route synchronization attribute information.
  • the PCEP Route Attribute object field includes at least one sub-TLV field, and each route synchronization attribute information type corresponds to one of the at least one sub-TLV field, and each sub-TLV field includes a T field, An L field indicating a type of the route synchronization attribute information, and a V field indicating a content determined based on a type of the corresponding route synchronization attribute information.
  • the type of the route synchronization attribute information includes the route priority.
  • the specific content or value of the TLV may be set according to the specific conditions of each message, and the same setting manner may be adopted, or different setting manners may be adopted.
  • the T field is 1, the route priority type may be identified; the L field is 2 bytes; and the V field is a value of a specific route priority, such as 3.
  • the topology type can be identified; the L field is 2 bytes; and the V field is a specific topology identifier, such as 1.
  • the next hop available bandwidth type can be identified; the L field is 2 bytes; the V field is a value of a specific available bandwidth, such as 20000 kbit/sec.
  • the next hop load balancing ratio type can be identified; the L field is 2 bytes; the V field is a specific load balancing ratio, such as 50%, and identifies the next hop to participate in 50% load sharing.
  • route synchronization attribute information enumerated above are merely exemplary and should not be construed as limiting the application.
  • the field for carrying the route synchronization attribute information is not limited to the above-mentioned Route Synchronization Attribute field or Route Attribute object field, and may be carried by other existing or newly added fields, which is not specifically limited in this application.
  • the Type 1 type is the route priority type
  • the Type 2 type is the topology type
  • Type 3 is the next hop available bandwidth type
  • Type 4 is the next hop load balancing ratio type
  • the embodiment of the present application does not exclude the possibility of indicating other types through Type 1 to Type 4, or otherwise indicating the route priority type, the topology type, the next hop available bandwidth type, and the next hop load balancing ratio type. Moreover, the number of types of route synchronization attribute information in the embodiment of the present application is also not particularly limited.
  • next hop attribute field may also be separately used to carry the attribute information of the next hop.
  • the BGP UPDATE message carries the CRP routing entry information
  • the first BGP UPDATE message further includes a next hop attribute Next Hop Attribute field
  • the Next Hop Attribute The field carries attribute information of the first next hop.
  • the Next Hop Attribute field includes at least one sub-TLV field
  • an attribute information type of each next hop corresponds to one sub-TLV field of the at least one sub-TLV field
  • each sub-TLV field includes a T field.
  • an L field indicating any one of types of attribute information of the next hop
  • the V field indicating content determined based on the attribute information type of the corresponding next hop.
  • the first PCEP message further includes a PCEP next hop attribute object, a Next Hop Attribute object field, where the bearer The attribute information of the first next hop.
  • the PCEP Next Hop Attribute object field includes at least one sub-TLV field, and an attribute information type of each next hop corresponds to one of the at least one sub-TLV field, and each sub-TLV field includes a T field, an L field, and a V field, the T field indicating any one of attribute information types of the next hop, the V field Indicates content determined based on the attribute information type of the corresponding next hop.
  • the specific content or value of the TLV may be set according to the specific conditions of each message, and the same setting manner may be adopted. Different setting manners may also be adopted, which is not limited in this application.
  • the T field is 1, the available bandwidth type may be identified; the L field is 2 bytes; and the V field is a value of a specific available bandwidth, such as 20000 kbit/sec.
  • the load balancing ratio type can be identified; the L field is 2 bytes; the V field is a specific load balancing ratio, such as 50%, and identifies the next hop to participate in 50% load sharing.
  • the attribute information types of the next hop listed above are merely exemplary and should not be construed as limiting the application.
  • the field for carrying the attribute information of the next hop is not limited to the above-mentioned Next Hop Attribute field or the Next Hop Attribute object field, and may be carried by other existing or newly added fields, which is not specifically limited in this application.
  • the Type 1 type listed here is an available bandwidth type
  • the Type 2 type is a load balancing ratio type
  • the present application should not be limited in any way.
  • the embodiment of the present application does not exclude the possibility of indicating other types through Type 1 and Type 2, or otherwise indicating the available bandwidth type and load balancing type.
  • the number of types of the Next Hop Attribute is not particularly limited in the embodiment of the present application.
  • the CRP route priority can be flexibly set.
  • the CRP route is set as the preferred route, so that the traffic advertised by the controller is used to control the traffic. purpose.
  • the subsequent complex policy control for routing it can be completed by upgrading the controller. It is not necessary to implement complex policies like all existing routing policies, such as BGP routing policies. Therefore, the flow control is simpler and more flexible.
  • the client considers that the internally deployed IGP route should be trusted, and the external route is not trusted should not be preferred.
  • the CRP route priority can also be set lower than the ISIS route. And the priority of OSPF routes. It can be seen that by setting the priority of the CRP route, the different needs of the customer can be met.
  • the routing attribute information carries the attribute information of the next hop, so that the network device can obtain the attribute information of the next hop in the CRP routing table, and the attribute information of the next hop Send to the FIB to guide packet forwarding.
  • the route is The synchronization attribute information is saved in the CRP routing table. Specifically, when the network device receives the first message, and uses the route prefix carried in the first message as a key value to perform a CRP routing table search, and hits the corresponding entry, the route synchronization attribute information is used to update the hit. The corresponding information in the entry. If the corresponding entry is not hit, a new entry is created, and the route synchronization attribute information is saved in the new entry.
  • the network device After the network device receives the first message, save the attribute information of the next hop to the local next hop table according to the indication of the first identifier information. Specifically, the network device saves the attribute information of the first next hop to the CRP routing table, and uses the address of the first next hop carried in the first message as a key value. Searching in the next hop table saved by itself, if the corresponding entry is hit, the corresponding information in the found entry is updated by using the attribute information of the next hop, and if there is no hit entry, a new one is created. An entry for storing an address of the first next hop and a genus of the first next hop Sexual information.
  • the network device may process the default value according to an existing rule, for example, setting the inter-protocol routing priority to 1, not Limit the bandwidth of the next hop, do not set the load balancing ratio of the next hop, and do not specify the type of the next hop.
  • the format of the next hop table can be as shown in Table 3:
  • next hop table includes multiple entries of the next hop, including multiple fields:
  • Next-Hop field indicates the address of the next hop
  • Type field indicates the type of next hop access, such as IP network, VXLAN, etc.
  • Band Width field indicates the available bandwidth of the next hop
  • Weight field indicates the next hop load balancing ratio. Calculated as a percentage, 100 means that this next hop does not participate in load balancing.
  • the "Status" field described above may be composed of 32 bit bits, each bit representing a next hop state.
  • the encapsulation format of the "Status” field is shown in Table 4:
  • V-valid where 1 indicates a legal next hop and 0 indicates an invalid next hop.
  • V-valid where 0 is the legal next hop and 1 is the illegal next hop.
  • the foregoing state information may also be represented by other values, which is not specifically limited in the embodiment of the present application.
  • Status field may also be encapsulated in other package formats, which are merely exemplary and should not be construed as limiting the application.
  • the network device saves the information of the next hop to a table maintained by the network device separately, and the table is referred to as a “next hop table”.
  • next hop table only one next hop table is maintained in the network device, and the next hop is The table is associated with all routing tables maintained by the network device. Specifically, each next hop entry in the next hop table records the mapping relationship between the address of the next hop and the attribute information of the next hop. The mapping between the route prefix and the address of the next hop is recorded in the routing table.
  • the routing table may have multiple routing prefixes corresponding to the same next hop A. That is, there are multiple routing entries in the routing table. The routing prefixes of the multiple routing entries are different, but they all correspond to the same.
  • the address of a next hop A On the network device, an entry exists in the next hop table to record the address of the next hop A and the attribute information of the next hop A. The network device associates the entry of the next hop A with all routing entries of the routing table that use the address of the next hop A.
  • all routing tables include a plurality of routing tables used by the network device to store routes advertised by different protocols.
  • the network device independently maintains multiple next hop tables, where each next hop table corresponds to a routing table that stores routes advertised by each protocol, for example, next hop table 1 and ISIS.
  • the routing table corresponds
  • the next hop table 2 corresponds to the CRP routing table. That is, the plurality of next hop tables are respectively associated with the plurality of routing tables, in other words, there is a one-to-one mapping relationship between the plurality of next hop tables and the plurality of routing tables.
  • the network device itself saves a CRP table, where the CRP table includes the CRP routing table and the next hop table.
  • the CRP table includes a plurality of CRP entries, and the CRP entry includes the CRP routing entry and the entry of the next hop.
  • the entry information of the next hop listed in Table 3 is merely an example and is not intended to limit the application.
  • various information is listed in Table 3, those skilled in the art can understand that the entry information of the next hop may include one or more of the various information, and does not have to include all the information.
  • the information of the next hop entry may also include only the information represented by other fields not listed herein, which is not specifically limited in this embodiment of the present application.
  • the controller determines entry information of the second next hop of the network device.
  • the entry information of the second next hop records a mapping relationship between the address of the second next hop and the attribute information of the second next hop.
  • the address of the second next hop may be the same as the address of the first next hop, or may be different from the address of the first next hop.
  • the attribute information type of the second next hop includes but is not limited to the types of the following parameters: the type of the next hop access, such as IP, VXLAN, etc.; the available bandwidth (Band Width) and the load balancing ratio (Weight).
  • the controller generates a second message, configured to send entry information of the second next hop.
  • the second identifier information is used to indicate that the network device saves the entry information of the second next hop in the local next hop table, and specifically includes:
  • the second identifier information is used to indicate that the network device creates or updates entry information of the second next hop in the next hop table.
  • the second message is a second BGP UPDATE message
  • the second BGP UPDATE message includes a multi-protocol reachable network layer reachability information MP_REACH_NLRI attribute field and a next hop attribute Next Hop Attribute Field.
  • the MP_REACH_NLRI attribute field includes a sub-address family identifier SAFI field, a network layer reachability information NLRI field, and a next hop information field.
  • the SAFI field indicates that the MP_REACH_NLRI attribute field is encapsulated based on an encapsulation format supported by the BGP synchronization address family, and carries the second identification information.
  • the second identifier information may be directly represented by the value of SAFI in the SAFI field.
  • the NLRI field carries an address of the second next hop or the next hop information field carries an address of the second next hop.
  • the NLRI field includes a type length value TLV field, and the type T field of the TLV field indicates that the type of the TLV field is a next hop synchronization type, and the value V field of the TLV field carries the second The address of the next hop.
  • the Next Hop Attribute field carries attribute information of the second next hop.
  • the Next Hop Attribute field includes at least one sub-TLV field, and an attribute information type of each next hop corresponds to one of the at least one sub-TLV field.
  • the second message is a second PCEP Message.
  • the second PCEP Message includes a message type Message-Type field, a next hop object Next Hop object field, and a next hop attribute object Next Hop Attribute object field.
  • the Message-Type field is used to carry the second identifier information.
  • the Next Hop object field carries an address of the second next hop.
  • the Next Hop Attribute object field carries attribute information of the second next hop.
  • the Next Hop Attribute object field includes at least one sub-TLV field, and the attribute information type of each next hop corresponds to one of the at least one sub-TLV field, and each sub-TLV field includes a T a field, an L field, and a V field, the T field indicating any one of attribute information types of the next hop, the V field indicating content determined based on the attribute information type of the corresponding next hop.
  • the second identifier information is directly represented by a value of a Message-Type in the Message-Type field.
  • the second PCEP message further includes a request parameter (English: Request Parameters, RP) object object field.
  • the Message-Type field is used to carry the second identifier information, and specifically includes that the Message-Type field and the RP object field jointly carry the second identifier information, that is, the second identifier information is used by the Message-
  • the value of Message-Type in the Type field is represented together with the value of the R flag in the RP object field.
  • the encapsulation format of the RP object and the interpretation of each field can refer to the related definition of RFC5440.
  • the Message-Type field is used to identify that the second PCEP Message is used to separately send the next The message of the hop information, where the next hop information includes at least the address of the next hop.
  • the network device saves the entry information of the second next hop in the local next hop table. That is, the Message-Type field and the RP object field jointly carry the second identifier information.
  • a field for carrying the second identifier information together with the Message-Type field is not limited to the RP object field, and may be carried by other existing or newly added fields.
  • the application is not specifically limited.
  • the R flag is set to 0 here, and the network device saves the entry information of the second next hop in the local next hop table, and the same should not be limited.
  • the embodiment of the present application does not exclude the possibility that the network device saves the entry information of the second next hop when the R flag is set to 1 or other values.
  • the attribute information types of the next hop listed above are merely exemplary and should not be construed as limiting the application.
  • the field for carrying the attribute information of the next hop is not limited to the above-mentioned Next Hop Attribute field or the Next Hop Attribute object field, and may be carried by other existing or newly added fields, which is not specifically limited in this application.
  • the Type 1 type listed here is an available bandwidth type
  • the Type 2 type is a load balancing ratio type
  • the present application should not be limited in any way.
  • the embodiment of the present application does not exclude the possibility of indicating other types through Type 1 and Type 2, or otherwise indicating the available bandwidth type and load balancing type.
  • the number of attribute information types of the next hop in the embodiment of the present application is also not particularly limited.
  • the controller sends the second message to the network device, so that the network device saves the entry information of the second next hop in the network device according to the second identifier information. In the next hop table.
  • the controller itself saves the next hop table, and after determining the entry information of the second next hop, the controller saves the second next hop in the next hop table saved by itself Entry information.
  • the network device receives the second message.
  • the network device saves the entry information of the second next hop in the next hop table.
  • the network device saves the entry information of the second next hop in the next hop table, specifically:
  • the network device After receiving the second message, the network device searches for the entry in the next hop table saved by using the address of the second next hop carried in the second message as a key, if the hit corresponds The entry of the second next hop is updated by using the entry information of the second next hop. If the corresponding entry is not hit, a new next hop entry is created, and the second next hop entry information is saved to the newly created next hop entry.
  • the network device may process the default value according to the existing rule, for example, the bandwidth of the next hop is not limited.
  • the load balancing ratio of the next hop is not set, and the type of next hop access is not specified.
  • the controller may separately send the next hop information to the forwarding device.
  • the controller separately manages the next hop information of the forwarding device. Separate management involves creating or updating next hop information separately without having to bind a route prefix.
  • the above solution makes the controller more flexible for the next hop management of the forwarding device; and effectively saves the information exchange between the controller and the forwarding device, because the system resources occupied by the routing prefix are carried, and the information that the forwarding device needs to parse is reduced. It also improves the service processing efficiency of the forwarding device.
  • the method may further include S311-S315.
  • the controller generates a third message.
  • the third message carries the address of the third next hop of the network device, where the third message includes third identifier information, where the third identifier information is used to indicate that the network device is locally saved.
  • the entry of the third next hop corresponding to the address of the third next hop is deleted in the hop table.
  • the third message is a third BGP UPDATE Message.
  • the third BGP UPDATE message includes a multi-protocol unreachable network layer reachability information MP_UNREACH_NLRI attribute field.
  • the MP_UNREACH_NLRI attribute field includes a sub-address family identifier SAFI field and an unreachable network layer reachability information NLRI field.
  • the SAFI field indicates that the MP_UNREACH_NLRI attribute field is encapsulated based on an encapsulation format supported by the BGP synchronization address family, and carries the third identifier information.
  • the third identifier information is directly represented by a value of SAFI in the SAFI field of the BGP synchronization address family.
  • the unreachable NLRI field carries the address of the third next hop or the next hop information field carries the address of the third next hop.
  • the encapsulation format of the MP_UNREACH_NLRI added to the BGP synchronization address family is as shown in FIG. 12 .
  • the MP_UNREACH_NLRI can be understood as the multi-protocol extended attribute information of the network layer unreachable NLRI, which includes the address family information domain and the unreachable network layer reachability information (NLRI) domain.
  • the unreachable NLRI field includes the unreachable NLRI field.
  • the unreachable NLRI field may be identified by a binary ⁇ Length-Next Hop>.
  • Length Length of the address field of the next hop, in bytes.
  • Next Hop contains the address of the next hop, followed by the padding bit, which is used to ensure that the end of the field conforms to the byte boundary, and the value of the padding bit is meaningless.
  • the unreachable NLRI field may include a TLV field (variable length).
  • a schematic diagram of the TLV field can be referred to FIG.
  • the type T field indicates that the type of the TLV field is a BGP synchronization type
  • the length L field indicates the length of the V field
  • the value V field carries the content determined according to the BGP synchronization type.
  • the next hop synchronization type may be identified.
  • the L field value is 16 bits, that is, 2 bytes, indicating a specific length value of the V field.
  • the V field is a 4-byte IPv4 address.
  • the V field is a 16-byte IPv6 address
  • the V field is a 2-byte next hop. address.
  • Type 2 type listed herein as the next hop synchronization type is merely exemplary and should not be construed as limiting the application.
  • the embodiment of the present application does not exclude other types by using Type 2, or use other parties.
  • To indicate the possibility of the next hop sync type is also not particularly limited.
  • the third message is a third PCEP Message.
  • the third PCEP Message includes a message type Message-Type field and a next hop object Next Hop object field.
  • the message-type field indicates that the third PCEP message is used to send the address of the third next hop to the network device, and is used to carry the third identifier information.
  • the third identifier information is directly represented by the value of the Message-Type in the Message-Type field.
  • the Next Hop object field carries an address of the third next hop.
  • the encapsulation format of the third PCEP message is the same as the encapsulation format of the second PCEP message.
  • the encapsulation format of the second PCEP message refers to the foregoing description of the encapsulation format of the second PCEP message.
  • the Message-Type in the third PCEP message may be understood as a message type based on the Message-Type extension in the existing PCEP protocol, and the value of the Message-Type may be determined according to a standard established by the IETF.
  • the third identifier information is carried according to the extended Message-Type, and is used to indicate that the network device deletes the third next hop in the locally saved next hop table. The entry of the third next hop corresponding to the address.
  • the third identification information is directly represented by the value of the Message-Type in the Message-Type field.
  • the third PCEP message may also be referred to as a PCE instantiated next hop message PCE-initiated Next Hop Message.
  • the third PCEP Message further includes a status request parameter (English: Request Parameters, RP) object object field.
  • the message-type field carries the third identifier information, which specifically includes: the Message-Type field and the RP object field jointly bear the third identifier information. That is, the third identification information is represented by the value of the Message-Type in the Message-Type field and the value of the R flag in the RP object field.
  • each field in the RP object can refer to the related definition of RFC5440.
  • the Message-Type field is used to identify that the third PCEP Message is a message for sending an address of the third next hop.
  • the network device deletes the entry of the third next hop corresponding to the address of the third next hop in the locally saved next hop table. That is, the Message-Type field and the RP object field jointly carry the third identifier information.
  • a field for carrying the third identifier information together with the Message-Type field is not limited to the RP object field, and may be carried by other existing or newly added fields.
  • the application is not specifically limited.
  • the R flag listed here is set to 1, and the network device deletes the entry of the third next hop corresponding to the address of the third next hop in the locally stored next hop table, and the same does not The application constitutes any qualification.
  • the network device may delete the entry of the third next hop when the R flag is set to 0 or other value.
  • the embodiment of the present application does not exclude the possibility that the network device deletes the entry of the third next hop when the R flag is set to 0 or other values.
  • the controller sends the third message to the network device.
  • the network device receives the third message.
  • the network device deletes the entry of the third next hop in the locally saved next hop table according to the indication of the third identifier information.
  • the network device searches for the entry in the next hop table saved by using the address of the third next hop carried in the third message as a key, if the hit occurs.
  • the entry of the third next hop deletes the entry of the third next hop in the next hop table. If the corresponding entry is not hit, the process ends.
  • the method further includes:
  • the network device deletes a routing entry associated with an address of the third next hop.
  • each routing table may record a routing entry associated with the address of the third next hop.
  • the third next hop address is used as an index to find all routing entries of the address using the third next hop, and delete the All routing entries associated with the address of the third next hop.
  • the next hop corresponding to the multiple route prefixes is deleted, and multiple routing tables using the next hop can be deleted. item. Only one message needs to be sent between the controller and the forwarding device to quickly and batchly delete routing entries. Therefore, the number of interactive messages between the controller and the forwarding device is greatly reduced, system resources are saved, and service processing efficiency is improved.
  • S301-S305, S306-S310, and S311-S315 is not specifically limited in this application.
  • S306-S310 may be executed before S301-S305 or after S301-S305.
  • S311-S315 may be performed before S306-S310 or after S306-S310.
  • the method 300 may further include S316-S318:
  • the network device generates a fourth message. .
  • the fourth message carries the routing status report information, and the routing status report information records the mapping relationship between the routing prefix and the status information of the CRP route.
  • the status information of the CRP route includes, but is not limited to, the status of the route, such as whether the route is legal, whether it is preferred, whether it is sent to the FIB, the survival time of the route, and the status of the next hop, such as whether the next hop is legal. Whether it is used, etc.; next hop bandwidth occupation ratio; next hop packet loss rate; next hop packet delay; next hop survival time.
  • the status information related to the next hop may also be carried in the next hop status report information described in the following step 319. See the description below for details.
  • the fourth message is a fourth BGP UPDATE message
  • the fourth BGP UPDATE message includes an MP_REACH_NLRI attribute field and a route status report attribute Route Status Report Attribute field.
  • the NLRI field is included in the MP_REACH_NLRI attribute field.
  • the NLRI field is used to carry the route prefix.
  • the Route Status Report Attribute field is used to carry status information of the CRP route.
  • the Route Status Report Attribute field includes at least one sub-TLV field, and the type of status information of each CRP route corresponds to the at least one sub-TLV field, and each sub-TLV field includes a T field and an L field.
  • a V field the T field indicating any one of status information types of the CRP route, the V field indicating content determined based on a status information type of the corresponding CRP route.
  • the fourth message is a fourth PCEP Message
  • the fourth PCEP The Message includes a message type Message-Type field, a route object Route object field, and a route status report attribute object Route Status Report Attribute object field.
  • the Message-Type field indicates that the fourth PCEP Message is used to send the routing status report information to the controller.
  • the Route object field carries the route prefix.
  • the Route Status Report Attribute object field carries status information of the CRP route.
  • the Route Status Report Attribute object field includes at least one sub-TLV field, and the type of status information of each CRP route corresponds to the at least one sub-TLV field, and each sub-TLV field includes a T field, an L field, and a V field.
  • the T field indicates any one of the status information types of the CRP route
  • the V field indicates content determined based on the status information type of the corresponding CRP route.
  • the current state of the route of the CRP route may be identified; the L field is 2 bytes; and the V field indicates the specific content of the current state of the route of the CRP route. For example, whether the current route is legal, whether it is preferred, whether it is activated, and so on.
  • Type 1 type listed herein is the route current state of the CRP route.
  • the Status type is only an exemplary description, and should not be construed as limiting the application.
  • the embodiment of the present application does not exclude the possibility of indicating other types by Type1, or otherwise indicating the current status of the route of the CRP route.
  • the number of types of the TLV Type is not particularly limited in the embodiment of the present application.
  • the network device locally stores a routing status report information table for saving the routing status report information.
  • the CRP table includes the routing status report information table.
  • the routing status report information table is as shown in Table 5:
  • the routing status report information table includes multiple fields, and the fields are explained as follows:
  • Network field indicates the route prefix
  • Next-Hop field indicates the address of the next hop
  • Status field indicates the routing status
  • Age field indicates the lifetime of the current route.
  • Band Width field indicates the available bandwidth of the next hop.
  • routing status report information may include one or more of the various status information, and does not necessarily include all status information. Alternatively, the routing status report information may also include only the status information represented by other fields not listed herein, which is not specifically limited in this embodiment of the present application.
  • the network device sends a fourth message to the controller.
  • the network device periodically reports the status information of the CRP route. For example, in the case of a stable operation of the system, the network device reports the status information of the traffic statistics and the bandwidth usage information to the controller.
  • the network device reports status information of the route in real time. For example, when an important event occurs in the system, for example, when the entry corresponding to the routing information is changed from the preference to the non-preferred, or the routing entry is unsuccessful, the network device reports the status information of the route to the control. Device.
  • the controller receives the fourth message.
  • the controller updates the statistics of the route prefix according to the received routing status report information, as a basis for recalculating the CRP route.
  • the controller can obtain the routing state information reported by the forwarding device in a timely manner and in real time, and can know the state of the forwarding device in real time, and serve as a basis for adjusting the routing, thereby improving the reliability and real-time performance of the traffic control.
  • the method 300 may further include S319-S321.
  • the network device generates a fifth message.
  • the fifth message carries the next hop status report information, and the next hop status report information records the mapping relationship between the address of the fourth next hop and the status information of the fourth next hop.
  • the next hop status report information includes, but is not limited to, the status of the next hop, such as whether the next hop is legal, whether it is used, etc.; the next hop bandwidth occupation ratio; the next hop packet loss rate; the next hop packet delay Time; next hop survival time.
  • the fifth message is a fifth BGP UPDATE Message.
  • the fifth BGP UPDATE message includes a multi-protocol reachable network layer reachability information MP_REACH_NLRI attribute field and a next hop status report attribute Next Hop Status Report Attribute field.
  • the MP_REACH_NLRI attribute field includes a network layer reachability information NLRI field, and the NLRI field is used to carry the address of the fourth next hop.
  • the Next Hop Status Report Attribute field is used to carry status information of the fourth next hop.
  • the Next Hop Status Report Attribute field includes at least one sub-TLV field, and the status information type of each next hop corresponds to one of the at least one sub-TLV field.
  • Each sub-TLV field includes a T field, an L field, and a V field, where the T field indicates any one of the status information types of the next hop, and the V field indicates status information based on the corresponding next hop. The content determined by the type.
  • the fifth message is a fifth PCEP Message.
  • the fifth PCEP Message includes a message type Message-Type field, a next hop object Next Hop object field, and a next hop status report attribute object Next Hop Status Report Attribute object field.
  • the Message-Type field indicates that the fifth PCEP Message is used to send the next hop status report information to the controller.
  • the Next Hop object field carries an address of the fourth next hop.
  • the Next Hop The Status Report Attribute object field carries status information of the fourth next hop.
  • the Next Hop Status Report Attribute object field includes at least one sub-TLV field, and the status information type of each next hop corresponds to one of the at least one sub-TLV field.
  • Each sub-TLV field includes a T field, an L field, and a V field, where the T field indicates any one of the status information types of the next hop, and the V field indicates status information based on the corresponding next hop. The content determined by the type.
  • next hop current status Status type may be identified; the L field is 2 bytes; and the V field indicates the specific content of the next hop status Status, such as whether the current route is Legal, whether it is preferred, whether it is activated, etc.
  • Type 1 type listed herein is the next hop current status.
  • the Status type is merely exemplary and should not be construed as limiting the application.
  • the embodiment of the present application does not exclude the possibility of indicating other types by Type1, or otherwise indicating the current status of the next hop.
  • the number of types of the TLV Type is not particularly limited in the embodiment of the present application.
  • the network device locally stores a next hop status report information table for saving the next hop status report information.
  • the CRP table includes the next hop status report information table.
  • the next hop status report information table is as shown in Table 6:
  • next hop status report information table includes multiple fields, and the fields are explained as follows:
  • Next-Hop field indicates the next hop network address
  • Type field indicates the next hop type
  • Band Width field indicates the available bandwidth of the next hop
  • Weight field indicates the next hop load balancing ratio
  • Loss field indicates the number of packets lost.
  • Delay field indicates the delay in milliseconds.
  • next hop status report letter The information may include one or more of the plurality of status information without necessarily including all status information. Alternatively, the next hop status report information may also include other status information that is not represented by other fields listed herein, which is not specifically limited in this embodiment of the present application.
  • the network device sends the fifth message to the controller.
  • the network device periodically reports the next hop state information. For example, in the case of stable operation of the system, the network device reports the status information of the next hop such as the traffic statistics and the bandwidth usage information to the controller.
  • the network device reports the status information of the next hop in real time. For example, when an important event occurs in the system, for example, the entry corresponding to the next hop information is changed from reachable to unreachable, or the bandwidth usage of the egress link corresponding to the next hop exceeds a threshold (for example, 90%). When the situation occurs, the network device reports the status information of the next hop to the controller.
  • a threshold for example, 90%
  • the controller receives the fifth message.
  • the controller updates the statistics of the next hop information of the network device according to the received next hop status report information, as a basis for recalculating the next hop information.
  • the controller can obtain the next hop state information reported by the forwarding device in a timely manner, and can know the state of the forwarding device in real time, and calculate the basis of the next hop to improve the reliability and real-time performance of the traffic control. .
  • S301-S305, S306-S310, S311-S315, S316-S318, and S319-S321 is not specifically limited.
  • FIG. 13 is a schematic diagram of a controller 400 in accordance with an embodiment of the present application.
  • the controller 400 can be the controller 110 of FIG. 2 and can be used to perform the method illustrated in FIG. As shown in FIG. 13, the controller 400 includes a processing module 401 and a transmitting module 402.
  • the processing module 401 is configured to determine control routing protocol CRP routing entry information, where the CRP routing entry information includes a mapping relationship between the routing prefix and the address of the first next hop.
  • the processing module 401 is further configured to generate a first message, where the first message carries the CRP routing entry information, and is used to advertise a CRP route.
  • the first message includes first identifier information, where the first identifier information is used to indicate that the network device saves the CRP routing entry information in a CRP routing table of the network device.
  • the sending module 402 is configured to send the first message to the network device, so that the network device saves the CRP routing entry information in the CRP routing table according to the first identifier information, and according to the The CRP routing table guides packet forwarding.
  • the first message is a first border gateway protocol BGP update message UPDATE Message.
  • the first BGP UPDATE message includes a multi-protocol reachable network layer reachability information MP_REACH_NLRI attribute field.
  • the MP_REACH_NLRI attribute field includes a sub-address family identifier SAFI field, a network layer reachability information NLRI field, and a next hop information field.
  • the SAFI field indicates that the MP_REACH_NLRI attribute field is encapsulated based on an encapsulation format supported by the BGP synchronization address family, and carries the first identification information.
  • the NLRI field carries the route prefix.
  • the NLRI field includes a type length value TLV field, and the type T field of the TLV field indicates that the type of the TLV field is a BGP route.
  • the synchronization type, the value V field of the TLV field carries the route prefix, and the next hop information field carries the address of the first next hop.
  • the first identifier information may be directly represented by a value of SAFI in the SAFI field.
  • the first message is a first path calculation unit communication protocol message PCEP Message
  • the first PCEP message includes a message type Message-Type field, a route object Route object field, and a next hop object.
  • a Next Hop object field carries the first identifier information
  • the Route object field carries the route prefix
  • the Next Hop object field carries an address of the first next hop.
  • the first identifier information may be directly represented by the value of the Message-Type in the Message-Type field.
  • a CRP routing table is created on the network device to save the CRP routing entry information sent by the controller by running the CRP protocol between the controller and the network device.
  • the preferred route in the CRP routing table is added to the RM RIB so that the RM module can route between routes generated by different routing protocols, such as CRP routing, ISIS routing, BGP routing, OSPF routing, etc., and because of this control
  • the route advertised by the routing protocol between the CRP route and the forwarding device is stored in a different routing table, so that the routing policy related to the CRP route does not affect the routing policy embodied by the routing protocol in the forwarding device.
  • the CRP routing entry information further includes: route synchronization attribute information, where the route synchronization attribute information is used by the controller to carry route attribute information that is set by the controller when sending the route prefix.
  • the route synchronization attribute includes, but is not limited to, the route priority, the topology, and attribute information of a next hop.
  • the attribute information of the first next hop includes the type of attribute information of one or more of the following next hops: a bandwidth, a load balancing ratio, and a type of a next hop.
  • the BGP UPDATE message carries the CRP routing entry information
  • the first BGP UPDATE message further includes a route synchronization Route Synchronization attribute Attribute field, which is used to carry the route. Synchronization properties.
  • the specific carrying mode that is, the message structure or the field format, etc., may be referred to the description of the corresponding part in the foregoing method embodiment, and details are not described herein again.
  • the first PCEP message further includes a PCEP routing attribute object, a Route Attribute object field, for carrying the route. Synchronization properties.
  • the specific carrying mode that is, the message format and the field format, etc., reference may be made to the description of the corresponding part in the foregoing method embodiment, and details are not described herein again.
  • the specific content or value of the TLV may be set according to the specific conditions of each message, and the same setting manner may be adopted, or different setting manners may be adopted. This is not limited.
  • the network device may process the default value according to an existing rule, for example, setting the inter-protocol routing priority to 1, not Limit the bandwidth of the next hop, do not set the load balancing ratio of the next hop, and do not specify the type of the next hop.
  • the route priority in the route attribute information, you can flexibly set the CRP route priority. For example, setting a CRP route as a preferred route enables the purpose of controlling traffic using a route advertised by the controller. For the subsequent complex policy control for routing, it can be completed by upgrading the controller. It is not necessary to implement complex policies like all existing routing policies, such as BGP routing policies. Therefore, the flow control is simpler and more flexible.
  • the client considers that the internally deployed IGP route should be trusted, and the external route is not trusted should not be preferred.
  • the CRP route priority can also be set lower than the ISIS route. And the priority of OSPF routes. It can be seen that by setting the priority of the CRP route, the different needs of the customer can be met.
  • next hop attribute field may also be separately used to carry the attribute information of the next hop.
  • the BGP UPDATE message carries the CRP routing entry information
  • the first BGP UPDATE message further includes a next hop synchronization Next Hop Synchronization attribute Attribute field, which is used to carry The attribute information of the next hop.
  • the message format or the field format (such as the field or the extended field) refer to the description of the corresponding part in the foregoing method embodiment, and details are not described herein again.
  • the PCEP message carries the CRP routing entry information
  • the first PCEP message further includes a PCEP next hop attribute object Next Hop Attribute object field, which is used to carry The attribute information of the next hop.
  • the specific carrying mode that is, the message format and the field format (such as the field or the extended field), may be referred to the description of the corresponding part in the foregoing method embodiment, and details are not described herein again.
  • the information about the next hop is carried in the CRP routing entry information, so that the network device can obtain the attribute information of the next hop in the CRP routing table, and send the attribute information of the next hop.
  • the FIB guide the packet forwarding.
  • the processing module 401 is further configured to generate a second message.
  • the second message carries the entry information of the second next hop of the network device, and the entry information of the second next hop records the address of the second next hop of the network device and the second next The mapping relationship of the attribute information of the hop.
  • the second message includes second identifier information, where the second identifier information is used to indicate that the network device saves the entry information of the second next hop in a next hop table of the network device.
  • the sending module 402 is further configured to send the second message to the network device, so that the network device saves the entry information of the second next hop in the network according to the second identifier information.
  • the next hop table of the device is further configured to send the second message to the network device, so that the network device saves the entry information of the second next hop in the network according to the second identifier information.
  • the next hop table of the device is further configured to send the second message to the network device, so that the network device saves the entry information of the second next hop in the network according to the second identifier information.
  • the second message is a second BGP UPDATE message, which is used to carry the information of the second next hop, and the specific message format or field format (such as which fields or extensions are adopted).
  • the description of the corresponding part in the foregoing method embodiment the description of the corresponding part is omitted.
  • the second message is a second PCEP Message.
  • the specific format of the message or the format of the field refer to the description of the corresponding part in the foregoing method embodiment, and no longer Narration.
  • the controller can separately send the next hop information to the network device, so that the controller separately manages the next hop information of the network device. Separate management involves creating or updating next hop information separately without having to bind a route prefix.
  • the above scheme makes the controller more flexible for the next hop management of the network device; and an effective section In the information exchange between the provincial controller and the network device, the system resources occupied by the routing prefix are carried; the information that the network device needs to be parsed is reduced, and the service processing efficiency of the network device is also improved.
  • the controller separately sends the next hop information to the network device
  • the attribute information of the next hop customized by the controller is carried, so that the network device can obtain the attribute information of the next hop in the next hop table.
  • the attribute information of the next hop is sent to the FIB table to guide packet forwarding.
  • the processing module 401 is further configured to generate a third message, where the third message carries an address of a third next hop of the network device, and the third message includes third identifier information, where The third identifier information is used to indicate that the network device deletes the entry of the third next hop corresponding to the address of the third next hop in the locally saved next hop table.
  • the sending module 402 is further configured to send the third message to the network device, so that the network device deletes the entry of the third next hop according to the indication of the third identifier information.
  • the third message is a third BGP UPDATE message, and is used to delete the entry of the third next hop.
  • the message format or the field format (such as which fields or extension fields are used), refer to the description of the corresponding parts in the foregoing method embodiments, and details are not described herein again.
  • the third message is a third PCEP message, and is used to delete an entry of the third next hop.
  • the message format or the field format (such as which fields or extension fields are used), refer to the description of the corresponding parts in the foregoing method embodiments, and details are not described herein again.
  • next hop corresponding to the multiple hops can be deleted, and multiple routing entries using the next hop can be deleted. Therefore, only one message needs to be sent between the controller and the network device to quickly and batchly delete routing entries. Therefore, the number of interactive messages between the controller and the network device is greatly reduced, system resources are saved, and service processing efficiency is improved.
  • the controller 400 further includes a receiving module 403.
  • the receiving module 403 is configured to receive a fourth message sent by the network device, where the fourth message carries routing status report information, where the routing status report information records a mapping between the route prefix and status information of the CRP route. relationship.
  • the processing module 401 is further configured to update the statistics of the route prefix according to the received routing status report information, as a basis for recalculating the CRP route.
  • the status information of the CRP route includes, but is not limited to, the status of the route, such as whether the route is legal, whether it is preferred, whether it is sent to the FIB, the survival time of the route, and the status of the next hop, such as whether the next hop is legal. Whether it is used, etc.; next hop bandwidth occupation ratio; next hop packet loss rate; next hop packet delay; next hop survival time.
  • the controller can obtain the routing status information reported by the network device periodically and in real time, and can know the status of the routing of the network device in real time, which serves as a basis for adjusting the routing, and improves the reliability and real-time performance of the traffic control.
  • the receiving module 403 is further configured to receive a fifth message sent by the network device; the fifth message carries next hop status report information, and the next hop status report information records a fourth next hop The mapping relationship between the address and the status information of the fourth next hop.
  • the processing module 401 is further configured to update the statistics of the fourth next hop according to the received next hop status report information, as a basis for recalculating the next hop of the network device.
  • the next hop status report information includes, but is not limited to, a status of a next hop, such as whether the next hop is legal, Whether it is used, etc.; next hop bandwidth occupation ratio; next hop packet loss rate; next hop packet delay; next hop survival time.
  • the controller can obtain the next hop state information reported by the forwarding device on a regular basis and in real time, and can know the status of the forwarding device in real time, and calculate the basis of the next hop to improve the reliability and real-time performance of the traffic control.
  • the controller 400 may correspond to a controller in the method 300 for information synchronization according to an embodiment of the present application, and each module in the controller 400 and the other operations and/or functions described above are respectively The corresponding process of the method 300 in FIG. 3 is implemented. For brevity, no further details are provided herein.
  • FIG. 14 is a schematic diagram of a network device 500 in accordance with an embodiment of the present application.
  • the network device 500 can be used to perform the method illustrated in FIG.
  • the network device 500 includes a receiving module 501 and a processing module 502.
  • the receiving module 501 is configured to receive a first message sent by the controller, where the first message carries information about a CRP routing entry determined by the controller, and is used to advertise a CRP route; the CRP routing entry records a route prefix. And mapping the address of the first next hop, where the first message includes the first identifier information.
  • the processing module 502 is configured to save the CRP routing entry information in the local CRP routing table according to the indication of the first identifier information, and guide the packet forwarding according to the CRP routing table.
  • a separate CRP routing table is created on the network device to save the CRP routing entry information sent by the controller.
  • the route advertised by the routing protocol between the CRP route and the network device is saved in a different routing table, so that the routing policy related to the CRP route does not affect the route represented by the routing protocol between the network devices.
  • the CRP routing entry information further includes: route synchronization attribute information, where the route synchronization attribute information is used by the controller to carry route attribute information that is set by the controller when sending the route prefix.
  • the route synchronization attribute includes, but is not limited to, the route priority, the topology, and attribute information of a next hop.
  • the attribute information of the first next hop includes the type of attribute information of one or more of the following next hops: a bandwidth, a load balancing ratio, and a type of a next hop.
  • the route priority By carrying the route priority in the CRP routing entry, you can flexibly set the CRP route priority. For example, you can set the CRP route as the preferred route to control the traffic using the routes advertised by the controller. For the subsequent complex policy control for routing, it can be completed by upgrading the controller. It is not necessary to implement complex policies like all existing routing policies, such as BGP routing policies. Therefore, the flow control is simpler and more flexible.
  • the client considers that the internally deployed IGP route should be trusted, and the external route is not trusted should not be preferred.
  • the CRP route priority can also be set lower than the ISIS route. And the priority of OSPF routes. It can be seen that by setting the priority of the CRP route, the different needs of the customer can be met.
  • the processing module 502 is further configured to save the address of the first next hop and the attribute information of the first next hop in a first next hop of a next hop table of the network device.
  • the entry of the first next hop records the mapping relationship between the address of the first next hop and the attribute information of the first next hop.
  • the network device can implement separate management of the next hop, for example, by deleting the next hop separately.
  • the information of the next hop entry is deleted to delete all the routing entries associated with the next hop, so as to achieve the purpose of deleting the routing entries in batches, which can effectively reduce the number of interactive messages between the controller and the network device, and save System resources have improved business processing efficiency.
  • processing module 502 is further configured to obtain the attribute information of the first next hop, and send the attribute information of the first next hop to the forwarding information table, which is used to guide packet forwarding. .
  • the receiving module 501 is further configured to receive a second message sent by the controller, where the second message carries entry information of a second next hop of the network device;
  • the hopped entry information records a mapping relationship between the address of the second next hop of the network device and the attribute information of the second next hop, where the second message includes the second identifier information.
  • the processing module 502 is further configured to save, according to the indication of the second identifier information, the entry information of the second next hop in a next hop table of the network device.
  • the network device separately creates or updates the next hop information by receiving the next hop information separately sent by the controller, without binding the route prefix.
  • the foregoing solution makes the controller more flexible for the next hop management of the network device; and effectively saves the information exchange between the controller and the network device, because the system resources occupied by the routing prefix are carried, and the information that the network device needs to parse is reduced. It also improves the business processing efficiency of network devices.
  • the processing module 502 is further configured to obtain the attribute information of the second next hop, and send the attribute information of the second next hop to the forwarding information table to guide packet forwarding.
  • the receiving module 501 is further configured to receive a third message sent by the controller, where the third message carries an address of a third next hop of the network device, where the third message includes a Three identification information.
  • the processing module 502 is further configured to: delete, according to the indication of the third identifier information, a table of a third next hop corresponding to an address of the third next hop in a next hop table saved by the network device item.
  • the processing module 502 searches for the next hop table and hits the third hop table by using the address of the third next hop as a key according to the indication of the third identifier information. Item, deleting the entry of the third next hop.
  • the processing module is further configured to delete the routing entry associated with the address of the third next hop.
  • next hop corresponding to the multiple hops can be deleted, and multiple routing entries using the next hop can be deleted. Therefore, only one message needs to be sent between the controller and the network device to quickly and batchly delete routing entries. Therefore, the number of interactive messages between the controller and the forwarding device is greatly reduced, system resources are saved, and service processing efficiency is improved.
  • the processing module 502 is further configured to generate a fourth message, where the fourth message carries routing status report information, where the routing status report information records a mapping relationship between the routing prefix and status information of the CRP route. .
  • the network device 500 further includes a sending module 503, where the sending module 503 is configured to send the fourth message to the controller, so that the controller updates the according to the received routing status report information.
  • the statistics of the route prefix are used as the basis for recalculating the CRP route.
  • the status information of the CRP route includes, but is not limited to, the status of the route, such as whether the route is legal, whether it is preferred, whether it is sent to the FIB or the medium, the survival time of the route, and the state of the next hop, such as whether the next hop is Legal, whether it is used, etc.; next hop bandwidth occupancy ratio; next hop packet loss rate; next hop packet delay; next hop lifetime.
  • the controller can obtain the routing status information reported by the network device periodically and in real time, and can know the status of the routing of the network device in real time, which serves as a basis for adjusting the routing, and improves the reliability and real-time performance of the traffic control.
  • the fourth message is a fourth BGP UPDATE message, and is used to carry the routing status report information.
  • the fourth message is a fourth PCEP message, and is used to carry the routing status report information.
  • the processing module 502 is further configured to generate a fifth message, where the fifth message carries next hop status report information, and the next hop status report information records an address of the fourth next hop and a fourth The mapping relationship of state information of one hop.
  • the sending module 503 is further configured to send the fifth message to the controller, so that the controller updates the statistics information of the next hop according to the received next hop status report information, as a recalculation The basis of the next hop of the network device.
  • the next hop status report information includes, but is not limited to, the status of the next hop, such as whether the next hop is legal, whether it is used, etc.; the next hop bandwidth occupation ratio; the next hop packet loss rate; the next hop packet delay Time; next hop survival time.
  • the controller can obtain the next hop state information reported by the forwarding device on a regular basis and in real time, and can know the status of the forwarding device in real time, and calculate the basis of the next hop to improve the reliability and real-time performance of the traffic control.
  • the fifth message is a fifth BGP UPDATE message, and is used to carry the next hop state information.
  • the message format or the field format (such as which fields or extension fields are used), refer to the description of the corresponding parts in the foregoing method embodiments, and details are not described herein again.
  • the fifth message is a fifth PCEP message, and is used to carry the next hop state information.
  • the network device 500 may correspond to a network device in a method for information synchronization according to an embodiment of the present application, and each module in the network device and the other operations and/or functions described above are respectively implemented for The corresponding process of the method 300 in 3, for brevity, will not be repeated here.
  • the controller 400 and the network device 500 provided in the foregoing embodiments of the present application are only illustrated by the division of the foregoing functional modules. In actual applications, the function distribution may be completed by different functional modules as needed, that is, the device is The internal structure is divided into different functional modules to perform all or part of the functions described above.
  • FIG. 15 is another schematic diagram of a controller 600 in accordance with an embodiment of the present application.
  • the controller 600 can be the controller 110 of FIG. 2 that can be used to perform the method 300 of FIG.
  • the controller 600 includes an input interface 601, an output interface 602, a processor 603, and a memory 604.
  • the input interface 601, output interface 602, processor 603, and memory 604 can be coupled by a bus system 605.
  • the memory 604 is used to store programs, instructions or code.
  • the processor 604 is configured to execute The program, instruction or code in the memory 604 controls the input interface 601 to receive signals, controls the output interface 602 to transmit signals, and completes operations in S301-S303, S306-S308, S311, S312, S318, S321.
  • FIG. 16 is another schematic diagram of a network device 700 according to an embodiment of the present application.
  • the network device 700 can be used to perform the method 300 of FIG.
  • the network device 700 includes an input interface 701, an output interface 702, a processor 703, and a memory 704.
  • the input interface 701, the output interface 702, the processor 703, and the memory 704 can be connected by a bus system 705.
  • the memory 704 is configured to store programs, instructions or code.
  • the processor 704 is configured to execute a program, an instruction, or a code in the memory 704 to control the input interface 701 to receive a signal, control the output interface 702 to send a signal, and complete S304, S305, S309, S310, S313-S316, and S319. , the operation in S320.
  • the processor 603 and the processor 703 may be a central processing unit (Central Processing Unit (CPU), and may be other general-purpose processors, digital signal processors (DSPs). , an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, and the like.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the memory 604 and memory 704 can include read only memory and random access memory and provide instructions and data to the processor 603 and the processor 703, respectively.
  • Memory 604 or a portion of memory 704 may also include non-volatile random access memory.
  • the memory 604 or the memory 704 can also store information of the device type.
  • the bus system 605 and the bus system 705 may include, in addition to the data bus, a power bus, a control bus, a status signal bus, and the like. However, for the sake of clarity, the various buses are labeled as bus systems in the figure.
  • the steps of method 300 may be accomplished by integrated logic circuitry of hardware in processor 603 and processor 703, or instructions in software.
  • the steps of the positioning method disclosed in the embodiments of the present application may be directly implemented by the hardware processor, or may be performed by a combination of hardware and software modules in the processor.
  • the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
  • the storage medium is located in memory 604 and memory 704, respectively, processor 603 reads the information in memory 604, processor 703 reads the information in memory 704, and completes the steps of method 300 described above in conjunction with its hardware. To avoid repetition, it will not be described in detail here.
  • the controllers provided in FIG. 13 and FIG. 15 and the network devices provided in FIG. 14 and FIG. 16 are applied to the SDN 100 shown in FIG. 2 to implement information synchronization.
  • the processing module 401 in FIG. 13 can be implemented by the processor 603 of FIG. 15, the sending module 402 can be implemented by the output interface 602 of FIG. 15, and the receiving module 403 can be implemented by the input interface 601 of FIG. .
  • the processing module 502 in FIG. 14 is implemented by the processor 703 of FIG. 16
  • the transmitting module 503 can be implemented by the output interface 702 of FIG. 16
  • the receiving module 501 can be implemented by the input interface 701 of FIG.
  • the present application also provides a communication system including a controller and a network device, and the controller may be a controller provided by the embodiment corresponding to FIG. 13 and FIG.
  • the network device may be the network device provided by the embodiment corresponding to FIG. 14 and FIG. 16.
  • the communication system is for performing the method 300 of the embodiment corresponding to Figures 3-12.
  • the size of the sequence number of each process does not imply an order of execution.
  • the order of execution of each process should be determined by its function and internal logic, and should not be construed as limiting the implementation process of the embodiments of the present application.
  • modules and method steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods to implement the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present application.
  • the functions described herein can be implemented in hardware, software, or any combination thereof.
  • the functions, if implemented in the form of software functional modules and sold or used as separate products, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种信息同步的方法,该方法包括控制器向网络设备发送第一消息,该第一消息中携带CRP路由表项信息,用于发布CRP路由。第一消息中包括第一标识信息,转发设备接收第一消息后,根据所述第一标识信息的指示,将所述CRP路由表项信息保存在网络设备的CRP路由表中。本申请的技术方案中,由于控制器发布的路由与转发设备之间的路由协议中发布的路由保存在不同的路由表中,不会影响与转发设备间路由协议发布的路由相关的应用。

Description

一种信息同步的方法,装置及***
本申请要求于2016年08月19日提交中国专利局、申请号为201610698182.3、申请名称为“一种信息同步的方法,装置及***”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种信息同步的方法、装置及***。
背景技术
近年来,软件定义网络(英文:Software Define Network,SDN)的价值已经得到电信网络运营商的认可,是未来网络的演进方向。SDN***包括控制器和转发设备,其中,控制器可以用于进行网络的流量控制,转发设备可以用于对接收到的数据包进行转发处理。采用SDN技术,将网络设备的控制面与转发面(也可称之为数据面)分离开来,实现网络流量的灵活控制,加快了网络业务的创新。
边界网关协议(英文:Border Gateway Protocol,BGP)是一种用于自治***(英文:Autonomous System,AS)之间的动态路由协议,主要用于交换AS之间的可达路由信息,构建AS域间的传播路径。当前使用的版本是BGP-4(RFC4271)。BGP协议作为因特网(Internet)外部路由协议标准,被广泛应用于因特网服务提供商(Internet Service Provider,ISP)之间。为了提供对多种网络层协议的支持,国际互联网工程任务组(英文:The Internet Engineering Task Force,IETF)对BGP-4进行了扩展,形成多协议扩展BGP(英文:Multi-protocol Extensions for BGP,MP-BGP)。
当前SDN架构下,如果控制器使用BGP协议向转发设备发布路由,其所发布的路由与转发设备之间使用普通BGP发布的路由保存在同一个BGP路由信息表(英文:Route Information Bate,RIB)(本申请中“路由信息表RIB”、“路由信息表”、“RIB”与“路由表”可以互换使用)中。如图1所示,控制器发送的路由被当做普通BGP路由处理,当优选控制器发布的路由后,会影响通过所述普通BGP发布的路由的相关应用。例如,转发设备A发布前缀X的路由P1给转发设备B,控制器发布相同前缀X的路由P2给转发设备B。此时,转发设备B接收到两条相同前缀X的路由。转发设备B向转发设备C转发路由,在进行路由选路时,路由P2的优先级高于路由P1的优先级。转发设备B将路由P2发送给转发设备C,此时,会影响到与路由P1相关的应用。比如:规定与路由P1关联的BGP MED(Multi-Exit-Disc)属性设置为100时,将路由P1引入到转发设备C的中间***到中间***(英文:Intermediate System to Intermediate System,ISIS)RIB中,而此时,由于路由P2被优选,而路由P2的MED属性设置为200,此时,路由P2不会被引入到ISIS RIB中,因此,影响了与转发设备间的普通的BGP发布的路由P1的相关应用。
如果控制器使用第一路径计算单元通信协议(英文:Path Computation Element Protocol,PCEP)或其他已有路由协议向转发设备发布路由,也面临着上述相似的问 题,即控制器所发布的路由与转发设备之间的普通PECP路由或者其他路由协议中的路由保存在同一个PCEP路由信息表RIB或其他路由协议下的普通路由信息表RIB中。这样的话,控制器发布的路由被当做普通PECP路由或者其他路由协议中的普通路由处理,当优选控制器发布的路由后,会影响通过所述普通PCEP或其他路由协议发布的路由的相关应用。
发明内容
有鉴于此,本申请实施例提供了一种信息同步的方法,控制器将路由表项信息发送给转发设备,转发设备建立单独保存该控制器发送的路由表项信息的路由表。该路由表中优选的路由被添加到RM RIB中,使得RM模块可以在控制器发送的路由,静态路由,ISIS路由,开放式最短路径优先(Open Shortest Path First,OSPF)路由以及BGP路由等通过不同协议所生成的路由间进行路由选择,并且由于该控制器发布的路由与转发设备之间的路由协议中发布的路由保存在不同的路由表中,从而不会影响与转发设备间的路由相关的应用。
第一方面,本申请实施例提供了一种信息同步的方法,首先,控制器确定控制路由协议(英文:Control Routing Protocol,CRP)路由表项信息,所述CRP路由表项信息包括路由前缀和网络设备的第一下一跳的地址的映射关系。上述的“CRP”是指:运行在控制器和转发设备之间,支持所述控制器向所述转发设备发布路由的协议。所述控制器生成第一消息,在所述第一消息中携带所述CRP路由表项信息,用于发布CRP路由。所述第一消息中包括第一标识信息,所述第一标识信息用于指示该网络设备将所述CRP路由表项信息保存在该网络设备的CRP路由表中。然后,所述控制器向所述网络设备发送所述第一消息,以便于所述网络设备根据所述第一标识信息将所述CRP路由表项信息保存在所述CRP路由表中,并根据所述CRP路由表指导报文转发。
因此,本申请实施例的信息同步的方法,通过在控制器和网络设备之间运行CRP协议,并通过指示信息,例如上述提到的第一标识信息,使得网络设备可以根据该指示信息创建单独的CRP路由表,用于保存控制器发送的CRP路由表项信息。由于网络设备将该控制器发布的CRP路由与根据网络设备之间的路由协议发布的路由保存在不同的路由表中,从而使得与CRP路由相关的路由策略不会影响到与根据网络设备之间的路由协议发布的路由相关的路由策略的相关应用。
结合第一方面,在第一方面的第一种可能的实现方式中,所述CRP路由表项信息进一步包括路由优先级,所述路由优先级用于标识所述CRP路由在被用于指导报文转发时的优先级。
通过在CRP路由表项信息中携带路由优先级,可以实现对CRP路由优先级的灵活设置,例如,将CRP路由设置为优选路由,从而实现使用控制器发布的路由对流量进行控制的目的。对于后续针对路由的各种复杂的策略控制,通过升级控制器即可完成,无需像现有路由策略,比如BGP路由策略,需要所有设备都实现复杂的策略。因而,使得流量调控更为简单,灵活。另外,在某些应用场景下,客户认为内部部署的IGP路由受信任应该被优选,而外部路由不受信任不应被优选,则也可以将所述CRP路由的优先级设置为低于ISIS路由以及OSPF路由的优先级。由此可见,通过对CRP路由 的优先级进行设定,可以满足客户的不同需求。
结合第一方面以及上述可能的实现方式,在第一方面的第二种可能的实现方式中,所述CRP路由表项信息进一步包括所述第一下一跳的属性信息,所述第一下一跳的属性信息包括以下一种或多种下一跳的属性信息类型:带宽、负载均衡比例和下一跳的类型。
通过CRP路由表项信息中携带下一跳的属性信息,使得网络设备可以在所述CRP路由表中,获取所述下一跳的属性信息,并将所述下一跳的属性信息发送到转发信息表(Forwarding Information Base,FIB)中,指导报文转发。
结合第一方面以及上述可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一消息为第一更新消息BGP UPDATE Message。所述第一BGP UPDATE Message中包括多协议扩展可达网络层可达性信息(Multi-Protocol Reach Network Reachability Information,简称“MP_REACH_NLRI”)属性字段。所述MP_REACH_NLRI属性字段中包括子地址族标识SAFI字段、网络层可达信息NLRI字段和下一跳信息字段。所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第一标识信息。所述NLRI字段承载所述路由前缀。所述下一跳信息字段承载所述第一下一跳的地址。
其中,该第一标识信息可以由该SAFI字段中的SAFI的值直接表示。
可选的,所述NLRI字段包括类型长度值类型长度值(Type Length Value,TLV)字段,所述TLV字段的类型T字段表示所述TLV字段的类型为BGP路由同步类型,所述TLV字段的值V字段承载所述路由前缀。
结合第一方面以及上述可能的实现方式,在第一方面的第四种可能的实现方式中,所述第一消息为第一PCEP Message。所述第一PCEP Message包括消息类型Message-Type字段、路由对象Route object字段以及下一跳对象Next Hop object字段。所述Message-Type字段承载所述第一标识信息。所述Route object字段承载所述路由前缀。所述Next Hop object字段承载所述第一下一跳的地址。
其中,该第一标识信息可以由该Message-Type字段中的Message-Type的值直接表示。
结合第一方面的第二种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第一消息为第一BGP UPDATE Message。所述第一BGP UPDATE Message中包括多协议可达网络层可达信息MP_REACH_NLRI属性字段和路由同步属性Route Synchronization Attribute字段。所述MP_REACH_NLRI属性字段中包括子地址族标识SAFI字段、网络层可达信息NLRI字段和下一跳信息字段。所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第一标识信息。所述NLRI字段承载所述路由优先级,所述下一跳信息字段承载所述第一下一跳的地址。所述Route Synchronization Attribute字段承载所述路由优先级。在一个可选的实现方式中,所述Route Synchronization Attribute字段包括一个子TLV字段,所述子TLV字段包括T字段、L字段和V字段,所述T字段表示所述路由优先级,所述V字段指示基于所述路由优先级所确定的值。
其中,该第一标识信息可以由该SAFI字段中的SAFI的值直接表示。
可选的,所述NLRI字段包括类型长度值TLV字段,所述TLV字段的类型T字段表示所述TLV字段的类型为BGP路由同步类型,所述TLV字段的值V字段承载所述路由前缀。
结合第一方面的第二种可能的实现方式,在第一方面的第六种可能的实现方式中,所述第一消息为第一PCEP Message。所述第一PCEP Message包括消息类型Message-Type字段、路由对象Route object字段、下一跳对象Next Hop object字段以及路由属性对象Route Attribute object字段。所述Message-Type字段用于承载所述第一标识信息。所述Route object字段承载所述路由前缀。所述Next Hop object字段承载所述第一下一跳的地址。所述Route Attribute object字段承载所述路由优先级。在一个可选的实现方式中,所述Route Attribute object字段包括一个子TLV字段,所述子TLV字段包括T字段、L字段和V字段,所述T字段表示所述路由优先级,所述V字段指示基于所述路由优先级所确定的值。
其中,该第一标识信息可以由该Message-Type字段中的Message-Type的值直接表示。
结合第一方面的第三种可能的实现方式,在第一方面的第七种可能的实现方式中,所述第一消息为第一BGP UPDATE Message。所述第一BGP UPDATE Message中包括多协议可达网络层可达信息MP_REACH_NLRI属性字段和下一跳属性Next Hop Attribute字段。所述MP_REACH_NLRI属性字段中包括子地址族标识SAFI字段、网络层可达信息NLRI字段和下一跳信息字段。所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第一标识信息。所述NLRI字段承载所述路由前缀。所述下一跳信息字段承载所述第一下一跳的地址。所述Next Hop Attribute字段承载所述第一下一跳的属性信息。在一个可选的实现方式中,所述Next Hop Attribute字段包括至少一个子TLV字段,每种所述下一跳的属性信息的类型与所述至少一个子TLV字段中的一个子TLV字段对应。每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述下一跳的属性信息的类型中的任意一种,所述V字段指示基于所对应的下一跳的属性信息类型所确定的内容。
其中,所述第一标识信息可以由该SAFI字段中的SAFI的值直接表示。
结合第一方面的第三种可能的实现方式,在第一方面的第八种可能的实现方式中,所述第一消息为第一PCEP Message。所述第一PCEP Message包括消息类型Message-Type字段、路由对象Route object字段、下一跳对象Next Hop object字段以及下一跳属性对象Next Hop Attribute object字段。所述Message-Type字段承载所述第一标识信息。所述Route object字段承载所述路由前缀。所述Next Hop object字段承载所述第一下一跳的地址。所述Next Hop Attribute object承载所述第一下一跳的属性信息。在一个可选的实现方式中,所述Next Hop Attribute object字段包括至少一个子TLV字段,每种下一跳的属性信息类型与所述至少一个子TLV字段中的一个子TLV字段对应。每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述下一跳的属性信息的类型中的任意一种,所述V字段指示基于所对应的下一跳的属性信息的类型所确定的内容。
其中,该第一标识信息可以由该Message-Type字段中的Message-Type的值直接 表示。
结合第一方面以及上述可能的实现方式,在第一方面的第九种可能的实现方式中,所述方法还包括:所述控制器生成第二消息,所述第二消息携带所述网络设备的第二下一跳的表项信息。所述第二下一跳的表项信息包括所述网络设备的第二下一跳的地址与第二下一跳的属性信息的映射关系。所述第二消息中包括第二标识信息,所述第二标识信息用于指示所述网络设备将所述第二下一跳的表项信息保存在所述网络设备的下一跳表中。所述控制器向所述网络设备发送所述第二消息,以便于所述网络设备根据所述第二标识信息将所述第二下一跳的表项信息保存在所述网络设备的下一跳表中。
其中,所述第二下一跳的地址可以与所述第一下一跳的地址相同,也可以不同。第二下一跳的属性信息类型包括但不限于以下参数的类型:下一跳接入的类型,例如互联网协议(英文:Internet Protocol,IP)网络,虚拟扩展局域网(英文:Virtual Extensible Local Area Network,VXLAN)等;可用带宽(Band Width)以及负载均衡比例(Weight)等。
上述技术方案中,控制器向网络设备单独发送下一跳信息,无需绑定路由前缀。使得网络设备在单独维护的下一跳表中保存下一跳地址与下一跳属性信息,实现了控制器对网络设备的下一跳信息进行单独管理,单独管理包括单独创建或者更新下一跳信息。上述方案使得控制器对于网络设备的下一跳管理更加灵活;并且有效的节省控制器与网络设备之间,对于下一跳管理所进行的信息交互中,由于携带所述路由前缀所占用的***资源;网络设备需要解析的信息减少,也提高了网络设备的业务处理效率。
进一步的,控制器向网络设备独立发送下一跳信息时,携带控制器定制的下一跳的属性信息,通过下一跳的属性信息来描述与其它下一跳之间不同的差异化特征,例如,某些应用需要描述下一跳的可用带宽,下一跳的负载均衡比例等。使得网络设备可以在下一跳表中,获取所述所述下一跳的属性信息,并将所述下一跳的属性信息发送到FIB表中,用于指导报文转发。
结合第一方面的第九种可能的实现方式,在第一方面的第十种可能的实现方式中,所述第二消息为第二BGP UPDATE Message。所述第二BGP UPDATE Message中包括多协议可达网络层可达性信息MP_REACH_NLRI属性字段和下一跳的属性Next Hop Attribute字段。所述MP_REACH_NLRI属性字段中包括子地址族标识SAFI字段、网络层可达性信息NLRI字段和下一跳信息字段。所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第二标识信息。所述NLRI字段承载所述第二下一跳的地址或所述下一跳信息字段承载所述第二下一跳的地址。所述Next Hop Attribute字段承载所述第二下一跳的属性信息。在一个可选的实现方式中,所述Next Hop Attribute字段包括至少一个子TLV字段,每种下一跳的属性信息类型与所述至少一个子TLV字段中的一个子TLV字段对应。每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述第二下一跳的属性信息的类型中的任意一种,所述V字段指示基于所对应的所述第二下一跳的属性信息的类型所确定的内容。
其中,所述第二标识信息可以由该SAFI字段中的SAFI的值直接表示。
结合第一方面的第九种可能的实现方式,在第一方面的第十一种可能的实现方式中,所述第二消息为第二PCEP Message。所述第二PCEP Message包括消息类型Message-Type字段、下一跳对象Next Hop object字段以及下一跳属性对象Next Hop Attribute object字段。所述Message-Type字段用于承载所述第二标识信息。所述Next Hop object字段承载所述第二下一跳的地址。所述Next Hop Attribute object字段承载所述第二下一跳的属性信息。在一个可选的实现方式中,所述Next Hop Attribute object字段包括至少一个子TLV字段,每种下一跳的属性信息类型与所述至少一个子TLV字段中的一个子TLV字段对应。每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述下一跳的属性信息类型中的任意一种,所述V字段指示基于所对应的下一跳的属性信息类型所确定的内容。
其中,该第二标识信息可以由该Message-Type字段中的Message-Type的值直接表示。
可选的,所述第一PCEP Message还包括状态请求参数(英文:Request Parameters,RP)对象object字段。所述Message-Type承载所述第二标识信息具体包括:所述Message-Type字段和所述RP object字段共同承载所述第二标识信息。即所述第二标识信息可以由该Message-Type字段中Message-Type的值与RP object字段中R标记的值来共同表示。
结合第一方面以及上述可能的实现方式,在第一方面的第十二种可能的实现方式中,所述方法还包括:所述控制器生成第三消息,所述第三消息携带所述网络设备的第三下一跳的地址。所述第三消息中包括第三标识信息,所述第三标识信息用于指示所述网络设备在本地保存的下一跳表中删除与所述第三下一跳的地址对应的第三下一跳的表项。所述控制器向所述网络设备发送所述第三消息,以便所述网络设备根据所述第三标识信息的指示删除所述第三下一跳的表项。
可见,通过控制器发送的携带有第一下一跳地址的第一消息,网络设备根据第一消息中携带的第一标识信息,在单独保存的下一跳表中删除与所述第一下一跳地址对应的第一下跳表项,不必再捆绑路由前缀以及通过大量撤销路由消息来删除某个不可用的下一跳,节省了网络资源。并且,当存在多条路由表项同时对应同一个下一跳时,通过删除该多条路由表项所对应的下一跳,进而可以删除使用该下一跳的多条路由表项。因此,控制器和网络设备设备之间只需要发送一条消息,即可实现快速,批量删除路由表项的目的。因而大大减少了控制器和转发设备之间交互消息的数量,节省了***资源,提高了业务处理效率。
结合第一方面的第十二种可能的实现方式,在第一方面的第十三种可能的实现方式中,所述第三消息为第三BGP UPDATE Message。所述第三BGP UPDATE Message中包括多协议不可达网络层可达性信息(Multi-Protocol Unreach Network reachability Information,MP_UNREACH_NLRI)属性字段。所述MP_UNREACH_NLRI属性字段中包括子地址族标识SAFI字段、不可达网络层不可达性信息NLRI字段。所述SAFI字段指示该MP_UNREACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第三标识信息。所述不可达NLRI字段承载所述第三下一跳的地 址。
其中,所述第三标识信息可以由该SAFI字段中的SAFI的值直接表示。
结合第一方面的第十二种可能的实现方式,在第一方面的第十四种可能的实现方式中,所述第三消息为第三PCEP Message。所述第三PCEP Message包括消息类型Message-Type字段以及下一跳对象Next Hop object字段。所述Message-Type字段指示所述第三PCEP Message用于向所述网络设备发送所述第三下一跳的地址,并用于承载所述第三标识信息。所述Next Hop object字段承载所述第三下一跳的地址。
其中,所述第三标识信息可以由所述Message-Type字段中Message-Type的值直接表示。
结合第一方面的第十四种可能的实现方式,在第一方面的第十五种可能的实现方式中,所述第三PCEP Message还包括状态请求参数(英文:Request Parameters,RP)对象object字段。所述Message-Type承载所述第三标识信息具体包括:所述Message-Type字段和所述RP object字段共同承载所述第三标识信息。即所述第三标识信息可以由该Message-Type字段中Message-Type的值与RP object字段中R标记的值来共同表示。
结合第一方面以及上述可能的实现方式,在第一方面的第十六种可能的实现方式中,所述方法还包括:所述控制器接收所述网络设备发送的第四消息。所述第四消息携带路由状态报告信息,所述路由状态报告信息包括所述路由前缀与所述CRP路由的状态信息的映射关系。所述控制器根据接收到的所述路由状态报告信息,更新所述路由前缀的统计信息,作为重新计算所述CRP路由的依据。
所述CRP路由的状态信息包括但不限于:路由的状态,例如路由是否合法,是否被优选,是否被发送到FIB中等;路由的存活时间;下一跳的状态,例如下一跳是否合法,是否被使用等;下一跳带宽占用比例;下一跳丢包率;下一跳发包延时;下一跳存活时间。
因此,控制器可以定期、实时获取网络设备上报的路由状态信息,能够实时了解网络设备路由的状态,作为调整路由的依据,提高了流量调控的可靠性以及实时性。
结合第一方面以及上述可能的实现方式,在第一方面的第十七种可能的实现方式中,所述方法还包括:所述控制器接收所述网络设备发送的第五消息;所述第五消息携带下一跳状态报告信息,所述下一跳状态报告信息包括所述网络设备的第四下一跳的地址和说一声第四下一跳的状态信息的映射关系;所述控制器根据接收到的所述下一跳状态报告信息,更新所述第四下一跳的统计信息,作为重新计算所述网络设备的下一跳的依据。
所述下一跳状态报告信息包括但不限于:下一跳的状态,例如下一跳是否合法,是否被使用等;下一跳带宽占用比例;下一跳丢包率;下一跳发包延时;下一跳存活时间。
因此,控制器可以定期、实时获取转发设备上报的下一跳状态信息,能够实时了解转发设备的状态,作为计算,调整下一跳的依据,提高了流量调控的可靠性以及实时性。
第二方面,本申请实施例提供了一种信息同步的方法,首先,网络设备接收控制 器发送的第一消息;所述第一消息携带所述控制器确定的控制路由协议CRP路由表项信息,用于发布CRP路由。所述CRP路由表项信息包括路由前缀和所述网络设备的第一下一跳的地址的映射关系,所述第一消息中包括第一标识信息。然后,所述网络设备根据所述第一标识信息的指示,将所述CRP路由表项信息保存在本地CRP路由表中,并根据所述CRP路由表指导报文转发。
通过在控制器和网络设备之间运行CRP协议,网络设备上创建单独的CRP路由表,用于保存控制器发送的CRP路由表项信息。由于该控制器发布的CRP路由与网络设备之间的路由协议发布的路由保存在不同的路由表中,从而使得CRP路由相关的路由策略不会影响到网络设备间的路由协议中路由所体现的路由策略的相关应用。
结合第二方面,在第二方面的第一种可能的实现方式中,所述CRP路由表项信息进一步包括路由优先级,所述路由优先级用于标识所述CRP路由在被用于指导报文转发时的优先级。
通过在CRP路由表项信息中携带路由优先级,可以实现对CRP路由优先级的灵活设置,例如,将CRP路由设置为优选路由,从而实现使用控制器发布的路由对流量进行控制的目的。对于后续针对路由的各种复杂的策略控制,通过升级控制器即可完成,无需像现有路由策略,比如BGP路由策略,需要所有设备都实现复杂的策略。因而,使得流量调控更为简单,灵活。另外,在某些应用场景下,客户认为内部部署的IGP路由受信任应该被优选,而外部路由不受信任不应被优选,则也可以将所述CRP路由的优先级设置为低于ISIS路由以及OSPF路由的优先级。由此可见,通过对CRP路由的优先级进行设定,可以满足客户的不同需求。
结合第二方面以及上述可能的实现方式中,在第二方面的第二种可能的实现方式中,所述CRP路由表项信息进一步包括第一下一跳的属性信息,所述第一下一跳的属性信息包括以下一种或多种下一跳的属性信息的类型:带宽、负载均衡比例和下一跳接入的类型。所述方法还包括:
所述网络设备将所述第一下一跳的地址和所述第一下一跳的属性信息保存在所述网络设备的下一跳表的第一下一跳的表项中,所述第一下一跳的表项记录所述第一下一跳的地址与所述第一下一跳的属性信息的映射关系。
通过CRP路由表项信息中携带下一跳的属性信息,使得网络设备可以在所述CRP路由表中,获取所述下一跳的属性信息,并将所述下一跳的属性信息发送到FIB中,指导报文转发。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述方法还包括:所述网络设备获取所述第一下一跳的属性信息,并将所述第一下一跳的属性信息发送到转发信息表中,用于指导报文转发。
结合第二方面以及上述可能的实现方式,在第二方面的第四种可能的实现方式中,所述方法还包括:
所述网络设备接收所述控制器发送的第二消息;所述第二消息携带所述网络设备的第二下一跳的表项信息.所述第二下一跳的表项信息记录所述网络设备的第二下一跳的地址与第二下一跳的属性信息的映射关系.所述第二消息中包括第二标识信息;所述网络设备根据所述第二标识信息的指示,将所述第二下一跳的表项信息保存在所述 网络设备的下一跳表中。
因此,控制器向网络设备单独发送下一跳信息,无需绑定路由前缀。使得网络设备在单独维护的下一跳表中保存下一跳地址与下一跳属性信息,实现了控制器对网络设备的下一跳信息进行单独管理,单独管理包括单独创建或者更新下一跳信息。上述方案使得控制器对于网络设备的下一跳管理更加灵活;并且有效的节省控制器与网络设备之间,对于下一跳管理所进行的信息交互中,由于携带所述路由前缀所占用的***资源;网络设备需要解析的信息减少,也提高了网络设备的业务处理效率。控制器向网络设备独立发送下一跳信息时,携带控制器定制的与该下一跳关联的下一跳属性信息,通过下一跳属性信息来描述与其它下一跳之间不同的差异化特征,例如,某些应用需要描述下一跳的可用带宽,下一跳的负载均衡比例等。使得网络设备可以在下一跳表中,获取所述下一跳属性信息,并将所述下一跳属性信息发送到转发信息表(英文:Forwarding Information Base,FIB)表中,用于指导报文转发。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述方法还包括:所述网络设备以所述第二下一跳的地址为关键字,查找所述下一跳表,获取所述第二下一跳的属性信息,并将所述第二下一跳的属性信息发送到转发信息表中,指导报文转发。
结合第二方面以及上述可能的实现方式,在第二方面的第六种可能的实现方式中,所述方法还包括:
所述网络设备接收所述控制器发送的第三消息;所述第三消息携带所述网络设备的第三下一跳的地址,所述第三消息中包括第三标识信息;所述网络设备根据所述第三标识信息的指示,在所述网络设备保存的下一跳表中删除与所述第三下一跳的地址对应的第三下一跳的表项。
可见,通过控制器发送的携带有第一下一跳地址的第一消息,网络设备根据第一消息中携带的第一标识信息,在单独保存的下一跳表中删除与所述第一下一跳地址对应的第一下跳表项,不必再捆绑路由前缀以及通过大量撤销路由消息来删除某个不可用的下一跳,节省了网络资源。
结合第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,所述网络设备根据所述第三标识信息的指示,在所述网络设备保存的下一跳表中删除与所述第三下一跳的地址对应的第三下一跳的表项,具体包括:
所述网络设备根据所述第三标识信息的指示,以所述第三下一跳的地址为关键字,查找所述下一跳表,命中所述第三下一跳的表项,将所述第三下一跳的表项删除。
结合第二方面的第七种可能的实现方式,在第二方面的第八种可能的实现方式中,所述方法还包括:
所述网络设备删除与所述第三下一跳的地址关联的路由表项。
当存在多条路由表项同时对应同一个下一跳时,控制器确定该下一跳不可用时,通过删除该下一跳,进而可以删除使用该下一跳的多条路由表项。因此,控制器和网络设备设备之间只需要发送一条消息,即可实现快速,批量删除路由表项的目的。因而大大减少了控制器和转发设备之间交互消息的数量,节省了***资源,提高了业务处理效率。
结合第二方面以及上述可能的实现方式,在第二方面的第九种可能的实现方式中,所述方法还包括:
所述网络设备生成第四消息,所述第四消息携带路由状态报告信息,所述路由状态报告信息记录所述路由前缀与所述CRP路由的状态信息的映射关系;
所述网络设备向所述控制器发送所述第四消息,以使所述控制器根据接收到的所述路由状态报告信息,更新所述路由前缀的统计信息,作为重新计算所述CRP路由的依据。
所述CRP路由的状态信息包括但不限于:路由的状态,例如路由是否合法,是否被优选,是否被发送到FIB中等;路由的存活时间;下一跳的状态,例如下一跳是否合法,是否被使用等;下一跳带宽占用比例;下一跳丢包率;下一跳发包延时;下一跳存活时间。
因此,控制器可以定期、实时获取网络设备上报的路由状态信息,能够实时了解网络设备路由的状态,作为调整路由的依据,提高了流量调控的可靠性以及实时性。
结合第二方面的第九种可能的实现方式,在第二方面第第十种可能的实现方式中,所述第四消息为第四BGP UPDATE Message。所述第四BGP UPDATE Message包括MP_REACH_NLRI属性字段和路由状态报告属性Route Status Report Attribute字段。所述MP_REACH_NLRI属性字段中包括NLRI字段,所述NLRI字段用于承载所述路由前缀。所述Route Status Report Attribute字段用于承载所述CRP路由的状态信息。在一个可选的实现方式中,所述Route Status Report Attribute字段包括至少一个子TLV字段,每种所述CRP路由的状态信息类型与所述至少一个子TLV字段中的一个子TLV字段对应。每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述CRP路由的状态信息类型中的任意一种,所述V字段指示基于所对应的CRP路由的状态信息类型所确定的内容。
结合第二方面的第九种可能的实现方式,在第二方面第第十一种可能的实现方式中,所述第四消息为第四PCEP Message。所述第四PCEP Message包括消息类型Message-Type字段、路由对象Route object字段以及路由状态报告属性对象Route Status Report Attribute object字段。所述Message-Type字段指示所述第四PCEP Message用于向所述控制器发送所述路由状态报告信息。所述Route object字段承载所述路由前缀。所述Route Status Report Attribute object字段承载所述CRP路由的状态信息。在一个可选的实现方式中,所述Route Status Report Attribute object字段包括至少一个子TLV字段,每种所述CRP路由的状态信息类型与所述至少一个子TLV字段中的一个子TLV字段对应。每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述CRP路由的状态信息类型中的任意一种,所述V字段指示基于所对应的CRP路由的状态信息类型所确定的内容。
结合第二方面以及上述可能的实现方式,在第二方面的第十二种可能的实现方式中,所述方法还包括:
所述网络设备生成第五消息;所述第五消息携带下一跳状态报告信息,所述下一跳状态报告信息包括所述网络设备的第四下一跳的地址和所述第四下一跳的状态信息的映射关系。所述网络设备向所述控制器发送所述第五消息,以使所述控制器根据接 收到的所述下一跳状态报告信息,更新下一跳的统计信息,作为重新计算所述网络设备的下一跳的依据。
所述下一跳状态报告信息包括但不限于:下一跳的状态,例如下一跳是否合法,是否被使用等;下一跳带宽占用比例;下一跳丢包率;下一跳发包延时;下一跳存活时间。
因此,控制器可以定期、实时获取转发设备上报的下一跳状态信息,能够实时了解转发设备的状态,作为计算,调整下一跳的依据,提高了流量调控的可靠性以及实时性。
结合第二方面的第十二种可能的实现方式,在第二方面的第十三种可能的实现方式中,所述第五消息为第五BGP UPDATE Message。所述第五BGP UPDATE Message包括多协议可达网络层可达信息MP_REACH_NLRI属性字段和下一跳状态报告属性Next Hop Status Report Attribute字段。所述MP_REACH_NLRI属性字段中包括网络层可达信息NLRI字段,所述NLRI字段用于承载所述第四下一跳的地址。所述Next Hop Status Report Attribute字段用于承载所述第四下一跳的状态信息。在一个可选的实现方式中,所述Next Hop Status Report Attribute字段包括至少一个子TLV字段,每种下一跳的状态信息类型与所述至少一个子TLV字段中的一个子TLV字段对应。每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述下一跳的状态信息类型中的任意一种,所述V字段指示基于所对应的下一跳的状态信息类型所确定的内容。
结合第二方面的第十二种可能的实现方式,在第二方面的第十四种可能的实现方式中,所述第五消息为第五PCEP Message。所述第五PCEP Message包括消息类型Message-Type字段、下一跳对象Next Hop object字段以及下一跳状态报告属性对象Next Hop Status Report Attribute object字段。所述Message-Type字段指示所述第五PCEP Message用于向所述控制器发送所述下一跳状态报告信息。所述Next Hop object字段承载所述第四下一跳的地址。所述Next Hop Status Report Attribute object字段承载所述第四下一跳的状态信息。在一个可选的实现方式中,所述Next Hop Status Report Attribute object字段包括至少一个子TLV字段,每种下一跳的状态信息类型与所述至少一个子TLV字段中的一个子TLV字段对应。每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述下一跳的状态信息类型中的任意一种,所述V字段指示基于所对应的下一跳的状态信息类型所确定的内容。
第三方面,本申请实施例提供一种控制器,用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,该控制器包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。
第四方面,本申请实施例提供一种网络设备,用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,该网络设备包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的模块。
第五方面,本申请实施例提供了一种通信***,包括第三方面提供的控制器和第四方面提供的网络设备。
第六方面,本申请实施例提供了一种控制器,所述控制器包括:输入接口、输出 接口、处理器和存储器。其中,输入接口、输出接口、处理器以及所述存储器之间可以通过总线***相连。该存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第一方面或第一方面的任意可能的实现方式中的方法。
第七方面,本申请实施例提供了一种网络设备,所述网络设备包括:输入接口、输出接口、处理器和存储器。其中,输入接口、输出接口、处理器以及所述存储器之间可以通过总线***相连。该存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第二方面或第二方面的任意可能的实现方式中的方法。
第八方面,本申请提实施例供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行第一方面、第二方面、第一方面任意可能的实现方式或第二方面任意可能的实现方式中的方法的指令。
附图说明
图1为现有技术中控制器发布路由的示意图;
图2为根据本申请一实施例的应用场景示意图;
图3为根据本申请实施例的用于信息同步的方法的流程示意图;
图4为根据本申请一实施例的基于BGP同步地址族所支持的封装格式封装的多协议扩展可达网络层可达性信息MP_REACH_NLRI字段的示意图;
图5为根据本申请一实施例的NLRI字段中TLV字段的示意图;
图6为根据本申请一实施例的PCEP Message的公共的消息头的封装格式示意图;
图7为根据本申请一实施例的PCEP Message的对象object的公共的对象头的封装格式示意图;
图8为根据本申请一实施例的PCEP Message中的路由对象Route object的封装格式示意图;
图9为根据本申请一实施例的路由对象Route object中的子对象Sub-object的封装格式示意图;
图10为根据本申请另一实施例的路由对象Route object中的子对象Sub-object的封装格式示意图;
图11为根据本申请一实施例的PCEP Message中的下一跳对象Next Hop object的封装格式示意图;
图12为根据本申请一实施例的基于BGP同步地址族所支持的封装格式封装的MP_UNREACH_NLRI字段的示意图;
图13为根据本申请一实施例的控制器的示意图;
图14为根据本申请一实施例的网络设备的示意图;
图15为根据本申请一实施例的控制器的硬件结构示意图;
图16为根据本申请一实施例的网络设备的硬件结构示意图。
具体实施方式
本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
除非有相反的说明,本申请实施例提及“第一”、“第二”、“第三”、“第四”以及“第五”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序。
下面结合图2对本申请实施例的场景进行示例性的说明。
图2示出了本申请实施例应用的SDN100。该SDN100包括控制器110和多个网络设备120。在本申请中,控制器110还可称之为控制设备,控制***,控制节点。可选地,该控制器120具体可以为智能网络控制器(英文:Smart Network Controller,SNC),但本申请实施例不限于此。
网络设备120可以用于对报文进行转发处理。网络设备具体可以为传统路径计算单元(英文:Path Computation Element,PCE)网络中的传统路由器、交换机等路由转发设备,也可以是基于控制转发分离的SDN中的路由器或交换机等路由转发设备,本申请实施例对此不做限定。
图2示出了五个路由器:R1至R5,应理解,图2仅示例性地示出了一个控制器和五个路由器,该网络100可以包括任意其它数量的控制器和网络设备,本申请实施例对此不做限定。
控制器110通过收集各个网络设备120的网元资源信息以及网络拓扑信息,确定路由表项信息,生成相应的路由,发布给网络设备120。网络设备120接收到控制器发布的路由以后,将其保存在网络设备120单独维护的路由表中。控制器器发布的路由与通过其它协议发布的路由均发送到路由管理(英文:Routing Management,RM)RIB,例如,图1所示的RM RIB,RM RIB经过协议间路由选路,选择出一条最优路由,作为网络设备120转发报文的依据。
下面结合附图3对本申请实施例提供的信息同步的方法300进行详细说明。该方法300可以应用于图2所示的SDN100,但本申请实施例不限于此。如图3所示,所述方法包括:
S301、控制器确定控制路由协议CRP路由表项信息,所述CRP路由表项信息记录有路由前缀和第一下一跳的地址的映射关系。
本申请所述的“CRP”是指:运行在控制器和转发设备之间,支持所述控制器向所述转发设备发布路由的协议。基于该CRP协议,转发设备把控制器生成并发布的路由保存到该转发设备单独维护的路由表中,该路由表称之为“CRP路由表”。该CRP协议可以是对已有路由协议的扩展所形成的扩展协议从而可以携带控制器向转发设备发送的路由,例如对已有路由协议BGP扩展后形成的BGP扩展协议,或者对已有PCEP协议扩展形成的扩展PCEP协议。该CRP协议也可以是对新创建的传统转发设备间使用的路由协议的扩展。该CRP协议还可以是新创建的专门用于控制器和传统转发设备之间交互并携带控制器发送的路由信息的协议。本申请对携带控制器下布的路由的具体协议不做限定。另外,本申请实施例中所说的传统转发设备可以理解为非纯粹或混合SDN转发设备,如既具有传统转发设备控制和转发的功能又具备SDN控制转发分离场 景下根据控制器发布的路由进行转发的功能的转发设备。此外,该CRP路由表可以理解为用于保存控制器所发布的路由的路由表,以区别于其他形式的路由表,例如用于保存转发设备之间发布的路由的路由表。在通过扩展协议的方式携带所述CRP路由表项信息的情况下,例如由扩展BGP协议携带的情况下,网络设备将保存有控制器发布的路由的CRP路由表与保存普通BGP路由(例如网络设备之间发布的路由)的BGP路由表。该CRP路由表中包括多条路由表项,称之为“CRP路由表项”。每条CRP路由表项所记录的路由信息,称之为CRP路由表项信息。控制器向转发设备发布的所述路由,称之为“CRP路由”。
示例,所述CRP路由表可以如表1所示:
Figure PCTCN2017095280-appb-000001
表1
如表1所示,所述CRP路由表包括多条CRP路由表项。对CRP路由表1中的各字段解释如下:
Network字段:表示路由前缀,通常使用目的地址/掩码(destination/Mask)表示,如果使用自然掩码,掩码可省略;
Next-Hop字段:表示下一跳的地址;
Status字段:表示路由状态;
Preference字段:表示路由优先级;所述路由优先级用于指示所述CRP路由用于指导报文转发时的优先级。路由优先级的数值越小,表示路由优先级越高。通过所述Preference字段可以灵活设置所述CRP路由的优先级。
Topology字段:表示网络设备的拓扑标识。指定相应的拓扑标识时,即按照指定的标识信息,使用相应的拓扑;未指定具体标识,即使用缺省的全局拓扑。
Band Width字段:表示下一跳的可用带宽。
其中,在控制器向网络设备发布CRP路由时,每条CRP路由表项信息至少要包括路由前缀与下一跳的地址的映射关系,其它的字段所包含的信息为可选携带的信息,可以缺省配置。当网络设备接收到报文以后,可以根据该CRP路由表的指导,将报文转发至下一跳网络设备。
在一个具体的实施方式中,上述的“Status”字段,可以由32位比特组成,每个比特代表一种路由状态。示例,“Status”字段的封装格式如表2所示:
                  0 1 2 3 4 5 6
                               
                               
表2
V—Valid,1表示合法路由,0表示非法路由;
B—Best,1表示最优路由,0表示非最优路由;
A—Active,1表示激活路由,0表示非激活路由;
D—Download to FIB,1表示路由发送到FIB,0表示路由没有发送到FIB。
对于“Status”的编码,示例说明如下:
0x80000000:只有V比特为1,表示路由是合法路由,非最优路由、非激活路由以及没有被发送到FIB。
0xD0000000:V、B、D三个比特位为1,A比特位为0,表示该路由是合法的、最优的、并且被发送到了FIB,但是该路由未被激活。
本申请仅以如上四个比特位为例,说明如何使用CRP路由表中Status字段,本领域技术人员可以理解,上述四个比特位中,0和1还可以表示相反的含义,比如:
V—Valid,0表示合法路由,1表示非法路由;
B—Best,0表示最优路由,1表示非最优路由;
A—Active,0表示激活路由,1表示非激活路由;
D—Download to FIB,0表示路由发送到FIB中,1表示路由没有发送到FIB。
也可以用其它数值来表示上述状态信息,本申请实施例对此不作具体限定。
本领域技术人员可以理解,Status字段还可以采用其它的封装格式进行封装,此处仅是示例性说明,不应理解为对本申请的限定。
需理解,表1中列出的多种信息仅是例举,并不对本申请构成限定。另外,虽然表1中列出了多种信息,但是本领域技术人员可以理解,所述CRP路由表项信息不必包括全部信息。或者,CRP路由表项信息也可以包括未在此处列出的其它字段所表示的信息,本申请实施例对此不作具体限定。
在一个具体的实施方式中,所述控制器可以用于对网络的流量进行控制,向所述网络设备发送控制路由信息。例如,所述控制器可以是图2所示的控制器110。所述网络设备可以具体为图2所示的R1至R5中任意一个。作为一个可选的例子,该控制器可以具体为SNC,但本申请实施例对此不作限定。
所述控制器通过收集各个网络设备的网元资源信息以及网络拓扑信息,来计算所述CRP路由,确定所述CRP路由表项信息。所述网元资源信息包括但不限于标签信息、接口资源信息、虚拟局域网(英文:Virtual Local Area Network,VLAN)信息以及隧道ID。所述网络拓扑信息是描述网络中节点和链路以及节点之间的连接关系的信息。控制器可以基于现有的各种拓扑收集协议,比如内部网关协议(英文:Interior Gateway Protocol,IGP),ISIS协议,OSPF协议,来获得全网的拓扑信息。所述网络拓扑信息包括但不限于SDN中各个网络设备之间的路径信息。可选的,所述网络拓扑信息还包括各个网络设备之间的路径的权重信息等。
S302、控制器生成第一消息,用于发布CRP路由。
具体的,所述控制器生成第一消息,所述第一消息携带所述CRP路由表项信息,用于发布所述CRP路由,所述第一消息中包括第一标识信息,所述第一标识信息用于指示网络设备将所述CRP路由表项信息保存在该网络设备的CRP路由表中。
所述网络设备具体的可以是交换机,路由器。网络设备可以具体为图2所示的R1至R5中任意一个。
在一个具体的实施方式中,所述第一消息可以为第一BGP更新消息BGP UPDATE Message。所述第一BGP UPDATE Message中包括MP_REACH_NLRI属性字段。所述MP_REACH_NLRI属性字段中包括子地址族标识(英文:Subsequent Address Family Identifier,SAFI)字段、网络层可达性信息NLRI字段和下一跳信息字段。所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第一标识信息。所述NLRI字段承载所述路由前缀,所述下一跳信息字段承载所述第一下跳的地址。
其中该第一标识信息由该BGP同步地址族SAFI字段中SAFI的值所直接表示。
在本申请实施例中,可以在现有的BGP地址族中新增BGP同步地址族,并基于新增的BGP同步地址族所支持的封装格式,封装上述CRP路由表项信息。具体的,该BGP同步地址族新增的MP_REACH_NLRI的封装格式如图4所示。
图4是根据本申请一实施例的基于BGP同步地址族所指示的封装格式封装的MP_REACH_NLRI属性字段的示意图。
MP_REACH_NLRI可以理解为NLRI的多协议扩展属性信息,它包括地址族信息域、下一跳信息域、网络层可达性信息(NLRI)域三部分。
其中,地址族信息域包括地址族标识字段(2字节)、子地址族标识字段(1字节)。地址族标识(英文:Address Family Identifier,AFI)用于标识网络层协议,例如,AFI取1,表示IPv4;AFI取2,表示IPv6。SAFI标识子地址族的类型,例如,SAFI取1,表示单播;SAFI取2,表示组播;SAFI取128,表示虚拟专用网络(英文:Virtual Private Network,VPN)。更具体地,AFI值为1,SAFI值为1,表示NLRI字段中承载的是IPv4单播路由;AFI值为1,SAFI值为128表示NLRI字段中承载的BGP-VPNv4路由;AFI值为1,SAFI值为4表示NLRI字段中承载的BGP标签路由。
在本申请实施例中,BGP同步地址族可以理解为现有的BGP协议中IPv4或IPv6地址族中扩展的子地址族,即,AFI值可以为1或2。SAFI的值可以根据国际互联网工程任务组(英文:Internet Engineering Task Force,IETF)制定的标准确定。
下一跳信息域包括下一跳的地址长度字段(1字节)和下一跳的地址字段(可变长度)。下一跳的地址长度字段用于标识下一跳的地址字段的长度,下一跳的地址字段的长度由下一跳的地址长度字段所标识的长度决定。
下一跳信息域与NLRI域之间留有1字节保留字段。
NLRI域包括NLRI字段。
在一个具体的实施方式中,NLRI字段可以由一个二元组<Length-Prefix>表示。Length:表示路由前缀的长度,以字节为单位。Prefix:包含了路由前缀,后面则是填充比特,用于保证字段结尾符合字节边界,填充比特的值无意义。
在另一个具体的实施方式中,NLRI字段包括TLV字段(可变长度)。图5是根据本申请实施例的NLRI字段中TLV字段的示意图。其中,类型T字段表示该TLV字段的类型为BGP同步类型,长度L字段表示V字段的长度,值V字段承载根据所述BGP同步类型所确定的内容。在本申请实施例中,具体地,T字段值为1时,可以标识BGP路由同步(Route Entry Synchronization)类型。可选的,L字段值为16比特,即,2字节;V字段为L字段值所指示的长度的路由前缀。所述BGP同步类型包括所述BGP路由同步类型。
应理解,这里所列举的Type1类型为BGP路由同步类型仅为示例性说明,不应对本申请构成任何限定。本申请实施例不排除通过Type1来指示其他类型,或者用其他方式来指示BGP路由同步类型的可能。并且,本申请实施例对于NLRIType的类型的数量也并未特别限定。
在另一个具体的实施方式中,所述第一消息为第一PCEP消息Message。所述第一PCEP Message包括消息类型Message-Type字段、路由对象Route object字段以及下一跳对象Next Hop object字段。所述Message-Type字段指示所述第一PCEP Message用于向所述网络设备发布所述CRP路由,并用于承载所述第一标识信息。所述Route object字段承载所述路由前缀。所述Next Hop object字段承载所述第一下一跳的地址。
其中,该第一标识信息由该Message-Type字段中Message-Type的值所直接表示。
在本申请实施例中,可以在现有的Message-Type中新增消息类型,用于指示所述第一PCEP Message。其中,在本申请实施例中,所述第一PCEP Message也可以称之为PCE实例化路由消息PCE-initiated Route Message。通常,一个PCEP Message由一个公共的消息头和一个长度可变的消息体构成,消息体由一系列对象组成。具体的,所述第一PCEP Message包括一个公共的消息头、所述路由对象以及所述下一跳对象。
所述第一PCEP Message的公共的消息头的封装格式,如图6所示。图6是根据本申请一实施例的第一PCEP Message的公共的消息头的封装格式示意图。
对其中各字段的解释如下:
版本(Ver)字段(3比特):标识PCEP版本号,当前版本号为1。
标记(Flags)字段(5比特):标记,目前没有定义标记,分配的5bits为预留位,发送端必须置为0,接收端必须忽略。
消息类型(Message-Type)字段(8比特):消息类型。待定义。
在本申请实施例中,所述第一PCEP Message(例如上述的PCE实例化路由消息PCE-initiated Route Message)中的Message-Type,可以理解为基于现有的PCEP协议中Message-Type扩展的消息类型,Message-Type的值可以根据IETF制定的标准确定。
消息长度(Message-Length)字段(16比特):PCEP消息的总的长度(包括公共头部的长度),单位为字节(bytes)。
一个PCEP Message的对象object包括公共的对象头以及对象体,
所述公共的对象头的封装格式,如图7所示:
对于公共的对象头中的各字段解释如下:
对象总类(Object-Class)字段(8比特):标识PCEP对象的种类。
对象类型(Object-Type,OT)字段(4比特):标识PCEP对象的类型。
Object-Class字段和OT字段由因特网地址分配组织(英文:Internet Assigned Numbers Authority,IANA)管理,共同唯一确定一个PCEP对象。例如,在PCEP的OPEN对象中,Object-Class的值为1,Object-Type的值为1,二者共同唯一确定OPEN对象。
通常,一个Object-Class包括至少一个Object-Type。
保留(Res)字段(2比特):保留字段,发送时填充为0,收到时忽略。
处理规则标记(P)字段(1比特):处理规则。本申请中未涉及。
忽略标记(I)字段(1比特):忽略字段。本申请中未涉及。
对象长度(Object Length)字段(16比特):标识对象的长度,包含对象头的长度,单位是字节。
可选的,所述对象体包括一系列的一个或多个可选的子TLV字段。所述子TLV字段都包括T字段、L字段和V字段。所述T字段标识子对象的类型,占2个字节;所述L字段标识子对象的长度,包含消息头部单位是字节;所述V字段标识根据子对象的类型所确定的内容。
可选的,所述对象体包括一系列的子对象,所述子对象可以采用RFC3209定义的子对象的封装格式进行封装。
具体的,作为示例,所述Route object的封装格式,如图8所示:
对于Route object的各字段的解释如下:
对象总类(Object-Class)的值待定义,由IANA管理;对象类型(Object-Type,OT)值为1;Object-Class和Object-Type两个一起唯一确定所述Route object。保留(Res)字段发送时填充为0,收到时忽略;
处理规则标记(P)字段和忽略标记(I)字段在本Route object中未使用,设置为0。
对象长度(Object Length)的值为Route object的长度,包括对象头。
所述Route object包括一个或多个子对象Sub-object,子对象为可变长度,子对象字段的长度由对象长度字段所标识的长度决定。
在一个具体的实施方式中,Route object中Sub-object为IPv4前缀子对象,携带IPv4地址前缀,作为示例,可以使用图9所示的封装格式进行封装,如图9所示:
IPv4prefix子对象的各字段解释如下:
子对象的属性(L)字段:在所述Route object中,L位暂未使用,设置为0。
子对象类型(Type)字段:取值为0x01,表示IPv4地址。对于Type的取值,仅为示例性说明,不作具体限定。
子对象长度(Length)字段:子对象的长度。
IPv4地址字段:IPv4地址。这个地址被看作是基于下列的前缀长度(Prefix Length)的前缀。超出前缀的位在接收时被忽略,并且在传输时被设置为0。
前缀长度(Prefix length)字段:IPv4前缀的长度。
填充(Padding)字段:传输时设置为0,接收时忽略。
一个IPv4前缀对象的内容是一个4字节的IPv4地址,一个1字节的前缀长度和一个1字节的填充域。这个子对象所表示的抽象节点是一系列有相同IP地址前缀的节点。其中,前缀长度为32表示是一个单个IPv4节点。
在另一个具体的实施方式中,所述Route object中Sub-object为IPv6前缀子对象,携带IPv6地址前缀。作为示例,可以使用图10所示的封装格式进行封装,如图10所示:
IPv6prefix子对象的各字段解释如下:
子对象的属性(L)字段:在所述Route object中,L位暂未使用,设置为0。
子对象类型(Type)字段:取值为0x02,表示IPv6地址。
子对象长度(Length)字段:子对象的长度。
IPv6地址字段:IPv6地址。这个地址被看作是基于下列的前缀长度(Prefix Length)的前缀。超出前缀的位在接收时被忽略,并且在传输时被设置为0。
前缀长度(Prefix length)字段:IPv6前缀的长度。
填充(Padding)字段:传输时设置为0,接收时忽略。
一个IPv6前缀子对象的内容是一个16字节的IPv6地址,一个1字节的前缀长度和一个1字节的填充域。这种子对象所表示的抽象节点是一系列属于相同IP前缀的节点。其中,值为128的前缀长度表示了一个单个的IPv6节点。
应理解,这里所列举的各子段的取值和/或长度仅为示例性说明,不应对本申请构成任何限定。本申请实施例不排除Object-Type字段取值为其它值的可能。
应理解,这里所列举的Route object的封装格式,仅为示例性说明,本申请实施例对于Route object的封装格式以及Route object中相关字段的取值,不作具体限定。本申请实施例不排除采用其它的封装格式对Route object进行封装的可能。
具体的,作为示例,所述下一跳对象Next Hop object的封装格式,如图11所示:
对于Next Hop object的各字段的解释如下:
对象总类(Object-Class)的值待定义,由IANA管理。对象类型(Object-Type,OT)值为1时,对象体(Object body)承载的是一个4字节长的IPv4单播地址;值为2时,Object body承载的是一个16字节长的IPv6单播地址。Object-Class和Object-Type两个一起唯一确定所述Next Hop object。
保留(Res)字段发送时填充为0,收到时忽略;
处理规则标记(P)字段和忽略标记(I)字段在本Route object中未使用,设置为0。
对象长度(Object Length)的值为Next Hop object的长度,包括对象头。
应理解,这里所列举的各子段的取值和/或长度仅为示例性说明,不应对本申请构成任何限定。本申请实施例不排除Object-Type字段取值为其它值的可能。
S303、控制器向网络设备发送所述第一消息。
具体的,所述控制器向所述网络设备发送所述第一消息,以便于所述网络设备根据所述第一标识信息将所述CRP路由表项信息保存在所述网络设备的CRP路由表中, 根据所述CRP路由表指导报文转发。
可选的,所述控制器自身保存有CRP路由表,控制器确定所述CRP路由表项信息后,在所述控制器保存的CRP路由表中保存所述CRP路由表项信息。
S304、网络设备接收所述第一消息。
S305、网络设备将所述CRP路由表项信息保存在所述网络设备的CRP路由表中。
具体的,网络设备接收到所述第一消息后,根据所述第一消息中携带的第一标识信息,识别出需要将所述第一消息中携带的所述CRP路由表项信息保存到本地CRP路由表后,将所述CRP路由表项信息保存在本地CRP路由表中,进而可以根据所述CRP路由表指导报文转发。
在一个具体的实施方式中,网络设备接收到所述第一消息后,以所述第一消息中携带的路由前缀为关键字,在本地保存的所述CRP路由表中进行表项查找,如果命中相应的表项,则使用所述CRP路由表项信息更新所找到的表项中的相应信息。如果没有命中相应的表项,则创建一条CRP路由表项,将所述CRP路由表项信息保存到新创建的CRP路由表项中。
通过上述技术方案,在控制器和转发设备之间运行CRP协议,转发设备上创建单独的CRP路由表,用于保存控制器发送的CRP路由表项信息。CRP路由表中优选的路由被添加到RM RIB中,使得RM模块可以在CRP路由、ISIS路由,BGP路由,OSPF路由等通过不同的路由协议所生成的路由之间进行路由选择。并且由于该控制器发布的CRP路由与转发设备之间的路由协议发布的路由保存在不同的路由表中,从而使得CRP路由相关的路由策略不会影响到转发设备间的路由协议中路由所体现的路由策略的相关应用。
可选的,所述CRP路由表项信息还包括:路由同步属性信息,所述路由同步属性信息用于所述控制器发送路由前缀时携带通过所述控制器制定的路由属性信息。
所述路由同步属性包括但不限于:所述路由优先级、所述拓扑以及下一跳的属性信息。
所述下一跳的属性信息包括至少一种下一跳的属性信息类型。所述下一跳的属性信息类型包括但不限于:下一跳接入的类型,比如:互联网协议(英文:Internet Protocol,IP)网络、虚拟扩展局域网(Virtual Extensible Local Area Network,VXLAN)等;可用带宽(Band Width)以及负载均衡比例(Weight)等。
在一个具体的实施方式中,在上述以BGP UPDATE Message承载所述CRP路由表项信息的实施例中,所述第一BGP UPDATE Message还包括路由同步Route Synchronization属性Attribute字段。Route Synchronization Attribute承载所述路由同步属性信息。可选的,所述Route Synchronization Attribute字段包括至少一个子TLV字段,每种路由同步属性信息类型与所述至少一个子TLV字段中的一个子TLV字段对应。每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述路由同步属性信息的类型中的任意一种,所述V字段指示基于所对应的路由同步属性信息类型所确定的内容。所述路由同步属性信息的类型包括所述路由优先级。
在另一个具体的实施方式中,在上述以PCEP Message承载所述CRP路由表项信息的实施例中,所述第一PCEP Message还包括PCEP路由属性对象Route Attribute  object字段,所述PCEP Route Attribute object字段承载所述路由同步属性信息。可选的,所述PCEP Route Attribute object字段包括至少一个子TLV字段,每种路由同步属性信息类型与所述至少一个子TLV字段中的一个子TLV字段对应,每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述路由同步属性信息的类型中的任意一种,所述V字段指示基于所对应的路由同步属性信息的类型所确定的内容。所述路由同步属性信息的类型包括所述路由优先级。
上述两种携带所述路由同步属性信息的实施方式中,TLV的具体内容或取值可以根据各消息的具体情况设定,可以采用相同的设置方式,也可以采用不同的设置方式,本申请对此不做限定。在一个具体的实施例中,比如,T字段为1时,可以标识路由优先级类型;L字段为2字节;V字段为具体路由优先级的数值,比如3。再比如,T字段为2时,可以标识拓扑类型;L字段为2字节;V字段为具体的拓扑标识,比如1。T字段为3时,可以标识下一跳可用带宽类型;L字段为2字节;V字段为具体的可用带宽的数值,比如20000kbit/sec。再比如,T字段为4时,可以标识下一跳负载均衡比例类型;L字段为2字节;V字段为具体的负载均衡比例,比如50%,标识下一跳参与50%的负载分担。
应理解,上述列举的路由同步属性信息的类型仅为示例性说明,不应对本申请构成任何限定。用于承载路由同步属性信息的字段并不限于上述Route Synchronization Attribute字段或Route Attribute object字段,还可以通过其他现有的或新增的字段来承载,本申请对此并未特别限定。并且,这里所列举的Type1类型为路由优先级类型,Type2类型为拓扑类型,Type3为下一跳可用带宽类型,Type4为下一跳负载均衡比例类型,同样不应对本申请构成任何限定。本申请实施例不排除通过Type1至Type4来指示其他类型,或者用其他方式来指示路由优先级类型、拓扑类型、下一跳可用带宽类型以及下一跳负载均衡比例类型的可能。并且,本申请实施例对于路由同步属性信息的类型的数量也并未特别限定。
可选的,在本申请中,还可以单独采用下一跳属性字段来携带所述下一跳的属性信息。
在一个具体的实施方式中,在上述以BGP UPDATE Message承载所述CRP路由表项信息的实施例中,所述第一BGP UPDATE Message还包括下一跳属性Next Hop Attribute字段,所述Next Hop Attribute字段承载所述第一下一跳的属性信息。可选的,所述Next Hop Attribute字段包括至少一个子TLV字段,每种下一跳的属性信息类型与所述至少一个子TLV字段中的一个子TLV字段对应,每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述下一跳的属性信息的类型中的任意一种,所述V字段指示基于所对应的下一跳的属性信息类型所确定的内容。
在另一个具体的实施方式中,在上述以PCEP Message承载所述CRP路由表项信息的实施例中,所述第一PCEP Message还包括PCEP下一跳属性对象Next Hop Attribute object字段,所述承载所述第一下一跳的属性信息。可选的,所述PCEP Next Hop Attribute object字段包括至少一个子TLV字段,每种下一跳的属性信息类型与所述至少一个子TLV字段中的一个子TLV字段对应,每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述下一跳的属性信息类型中的任意一种,所述V字段 指示基于所对应的下一跳的属性信息类型所确定的内容。
上述两种单独采用下一跳属性字段来携带所述下一跳的属性信息的实施方式中,所述TLV的具体内容或取值可以根据各消息的具体情况设定,可以采用相同的设置方式,也可以采用不同的设置方式,本申请对此不做限定。在本申请实施例中,比如,T字段为1时,可以标识可用带宽类型;L字段为2字节;V字段为具体的可用带宽的数值,比如20000kbit/sec。再比如,T字段为2时,可以标识负载均衡比例类型;L字段为2字节;V字段为具体的负载均衡比例,比如50%,标识下一跳参与50%的负载分担。
应理解,上述列举的下一跳的属性信息类型仅为示例性说明,不应对本申请构成任何限定。用于承载下一跳的属性信息的字段并不限于上述Next Hop Attribute字段或Next Hop Attribute object字段,还可以通过其他现有的或新增的字段来承载,本申请对此并未特别限定。并且,这里所列举的Type1类型为可用带宽类型,Type2类型为负载均衡比例类型,同样不应对本申请构成任何限定。本申请实施例不排除通过Type1和Type2来指示其他类型,或者用其他方式来指示可用带宽类型和负载均衡类型的可能。并且,本申请实施例对于Next Hop Attribute的类型的数量也并未特别限定。
在本申请中,通过在路由属性信息中携带路由优先级,可以实现对CRP路由优先级的灵活设置,例如,将CRP路由设置为优选路由,从而实现使用控制器发布的路由对流量进行控制的目的。对于后续针对路由的各种复杂的策略控制,通过升级控制器即可完成,无需像现有路由策略,比如BGP路由策略,需要所有设备都实现复杂的策略。因而,使得流量调控更为简单,灵活。另外,在某些应用场景下,客户认为内部部署的IGP路由受信任应该被优选,而外部路由不受信任不应被优选,则也可以将所述CRP路由的优先级设置为低于ISIS路由以及OSPF路由的优先级。由此可见,通过对CRP路由的优先级进行设定,可以满足客户的不同需求。
进一步的,通过路由属性信息中携带所述下一跳的属性信息,使得网络设备可以在所述CRP路由表中,获取所述下一跳的属性信息,并将所述下一跳的属性信息发送到FIB中,指导报文转发。
需要说明的是,当所述CRP路由表项信息包括所述路由同步属性信息时,在所述网络设备接收到所述第一消息后,根据所述第一标识信息的指示,将所述路由同步属性信息保存到所述CRP路由表中。具体地,当网络设备接收所述第一消息,以第一消息中携带的路由前缀为关键值,进行CRP路由表查找,命中相应的表项,则使用所述路由同步属性信息更新所命中的表项中的相应信息。如果没有命中相应的表项,则创建一条新的表项,将所述路由同步属性信息保存到所述新的表项中。
进一步的,在所述网络设备接收到所述第一消息后,根据所述第一标识信息的指示,将所述下一跳的属性信息保存到本地的下一跳表中。具体地,所述网络设备除了将所述第一下一跳的属性信息保存到所述CRP路由表以外,还以所述第一消息中携带的第一下一跳的地址为关键值,在自身保存的下一跳表中进行查找,如果命中相应的表项,则使用所述下一跳的属性信息更新所找到的表项中的相应信息,如果没有命中表项,则创建一条新的表项,用于保存所述第一下一跳的地址和所述第一下一跳的属 性信息。
需要说明的是,当所述第一消息中未携带所述路由同步属性信息时,则网络设备可以按照现有的规则以缺省值处理,例如:设置协议间选路优先级为1,不限制下一跳的带宽,不设置下一跳的负载均衡比例,不指定下一跳的类型。
示例,所述下一跳表的格式可以如表3所示:
Figure PCTCN2017095280-appb-000002
表3
如表3所示,下一跳表中包括多条下一跳的表项,包括多个字段:
Next-Hop字段:表示下一跳的地址;
Type字段:表示下一跳接入的类型,比如:IP网络、VXLAN等;
Status字段:表示下一跳状态;
Band Width字段:表示下一跳可用带宽;
Weight字段:表示下一跳负载均衡比例。以百分比计算,100表示此下一跳不参与负载均衡。
在一个具体的实施方式中,上述的“Status”字段,可以由32位比特组成,每个比特代表在一种下一跳状态。示例,“Status”字段的封装格式如表4所示:
                  0 1 2 3 4 5 6
                               
                               
表4
V-valid,1表示合法下一跳,0表示不合法下一跳;
U-used,1表示被使用的下一跳,0表示未被使用的下一跳。
Status编码示例说明:
0xC0000000:V、U比特都为1,表示该下一跳是合法的、且正被使用。
本示例以如上两个比特位为例,结合本申请说明如何使用下一跳表中的Status字段。本领域技术人员可以理解,上述两个个比特位中,0和1还可以表示相反的含义,比如:
V-valid,0表示合法下一跳,1表示不合法下一跳;
U-used,0表示被使用的下一跳,1表示未被使用的下一跳。
也可以用其它数值来表示上述状态信息,本申请实施例对此不作具体限定。
本领域技术人员可以理解,Status字段还可以采用其它的封装格式进行封装,此处仅是示例性说明,不应理解为对本申请的限定。
需要说明的是,网络设备把下一跳的信息保存到该网络设备单独维护的表中,该表称之为“下一跳表”。
在一个具体的实施方式中,该网络设备中仅维护一个下一跳表,将该一个下一跳 表与该网络设备所维护的所有路由表相关联。具体来说,下一跳表中的每个下一跳表项都记录有下一跳的地址与下一跳的属性信息的映射关系。而路由表中则记录有路由前缀与下一跳的地址的映射关系。而路由表中可能存在多个不同的路由前缀对应同一个下一跳A的地址的情形,即路由表中存在多条路由表项,该多条路由表项的路由前缀不同,但是都对应同一个下一跳A的地址。而在网络设备中,下一跳表中也存在一条表项,用于记录该下一跳A的地址以及该下一跳A的属性信息。网络设备会将下一跳A的表项与路由表中所有使用下一跳A的地址的路由表项相关联。
上述“所有的路由表”包括该网络设备用于保存通过不同协议发布的路由的多个路由表。
在另一个具体的实施方式中,该网络设备独立维护多个下一跳表,每个下一跳表与保存每个协议发布的路由的路由表相对应,例如:下一跳表1与ISIS路由表相对应,下一跳表2与CRP路由表相对应。即该多个下一跳表与所述多个路由表分别关联,换言之,该多个下一跳表与该多个路由表之间存在一一映射的关系。
作为示例,可以以下一跳的地址为索引,查找到使用该下一跳的地址的所有路由表项,本领域技术人员可以理解,不排除采用其它字段作为索引,来查找与下一跳地址相对应的路由表项,此处仅是示例性说明,不应理解为对本申请的限定。
可选的,所述网络设备自身保存有CRP表,所述CRP表包括所述CRP路由表和所述下一跳表。所述CRP表包括多条CRP表项,所述CRP表项包括所述CRP路由表项和所述下一跳的表项。
需理解,表3中列出的下一跳的表项信息仅是例举,并不对本申请构成限定。另外,虽然表3中列出了多种信息,但是本领域技术人员可以理解,下一跳的表项信息可以包括所述多种信息中的一种或多种,而不必包括全部信息。或者,下一跳的表项信息也可以仅包括未在此处列出的其它字段所表示的信息,本申请实施例对此不作具体限定。
可选的,所述方法300还可以包括S306-S310:
S306、所述控制器确定所述网络设备的第二下一跳的表项信息。
所述第二下一跳的表项信息记录第二下一跳的地址与第二下一跳的属性信息的映射关系。所述第二下一跳的地址可以和所述第一下一跳的地址相同,也可以与所述第一下一跳的地址不同。
第二下一跳的属性信息类型包括但不限于以下参数的类型:下一跳接入的类型,例如IP,VXLAN等;可用带宽(Band Width)以及负载均衡比例(Weight)等。
S307、所述控制器生成第二消息,用于发送所述第二下一跳的表项信息。
具体地,所述控制器生成第二消息,所述第二消息携带所述第二下一跳的表项信息,所述第二消息中包括第二标识信息,所述第二标识信息用于指示所述网络设备将所述第二下一跳的表项信息保存在本地的下一跳表中。所述下一跳的表项信息中可以不必包括路由前缀,使得控制器可以单独向网络设备发送下一跳的信息。
所述第二标识信息用于指示所述网络设备将所述第二下一跳的表项信息保存在本地的下一跳表中,具体包括:
所述第二标识信息用于指示所述网络设备在所述下一跳表中创建或者更新所述第二下一跳的表项信息。
在一个具体的实施方式中所述第二消息为第二BGP UPDATE Message,所述第二BGP UPDATE Message中包括多协议可达网络层可达性信息MP_REACH_NLRI属性字段和下一跳的属性Next Hop Attribute字段。所述MP_REACH_NLRI属性字段中包括子地址族标识SAFI字段、网络层可达性信息NLRI字段和下一跳信息字段。所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第二标识信息。其中,该第二标识信息可以由该SAFI字段中SAFI的值所直接表示。所述NLRI字段承载所述第二下一跳的地址或所述下一跳信息字段承载所述第二下一跳的地址。可选的,所述NLRI字段包括类型长度值TLV字段,所述TLV字段的类型T字段表示所述TLV字段的类型为下一跳同步类型,所述TLV字段的值V字段承载所述第二下一跳的地址。所述Next Hop Attribute字段承载所述第二下一跳的属性信息。可选的,所述Next Hop Attribute字段包括至少一个子TLV字段,每种下一跳的属性信息类型与所述至少一个子TLV字段中的一个子TLV字段对应。每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述第二下一跳的属性信息类型中的任意一种,所述V字段指示基于所对应的所述第二下一跳的属性信息类型所确定的内容。
在另一个具体的实施方式中,所述第二消息为第二PCEP Message。所述第二PCEP Message包括消息类型Message-Type字段、下一跳对象Next Hop object字段以及下一跳属性对象Next Hop Attribute object字段。所述Message-Type字段用于承载所述第二标识信息。所述Next Hop object字段承载所述第二下一跳的地址。所述Next Hop Attribute object字段承载所述第二下一跳的属性信息。可选的,所述Next Hop Attribute object字段包括至少一个子TLV字段,每种下一跳的属性信息类型与所述至少一个子TLV字段中的一个子TLV字段对应,每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述下一跳的属性信息类型中的任意一种,所述V字段指示基于所对应的下一跳的属性信息类型所确定的内容。
在本申请实施例中,所述第二PCEP Message中的Message-Type可以理解为基于现有的PCEP协议中Message-Type扩展的消息类型,Message-Type的值可以根据IETF制定的标准确定。通过新定义一个Message-Type的值,用来指示第二PCEP Message是用于更新或者创建下一跳的消息。第二PCEP Message也可以称之为PCE实例化下一跳消息PCE-initiated Nexthop Message。
可选的,所述第二标识信息由该Message-Type字段中Message-Type的值所直接表示。
可选的,所述第二PCEP Message还包括状态请求参数(英文:Request Parameters,RP)对象object字段。所述Message-Type字段用于承载所述第二标识信息,具体包括所述所述Message-Type字段和所述RP object字段共同承载所述第二标识信息,即第二标识信息由该Message-Type字段中Message-Type的值与所述RP object字段中R标记的值来共同表示。
具体地,所述RP object的封装格式以及各字段的解释可以参照RFC5440的相关定义。所述Message-Type字段用于标识所述第二PCEP Message是用于单独发送下一 跳信息的消息,所述下一跳信息至少包括下一跳的地址。当RP object中的R标记置为0时,所述网络设备将所述第二下一跳的表项信息保存在本地的所述下一跳表中。即Message-Type字段和所述RP object字段共同承载所述第二标识信息。
本领域技术人员可以理解,用于和所述Message-Type字段共同承载所述第二标识信息的字段并不限于上述RP object字段,还可以通过其他现有的或新增的字段来承载,本申请对此并未特别限定。并且,这里例举R标记置为0,所述网络设备将所述第二下一跳的表项信息保存在本地的所述下一跳表中,同样不应对本申请构成任何限定。本申请实施例不排除通过R标记置为1或者其他值时,所述网络设备保存所述第二下一跳的表项信息的可能。
上述两种携带所述下一跳的属性信息的实施方式中,TLV的具体内容或取值可以根据各消息的具体情况设定,可以采用相同的设置方式,也可以采用不同的设置方式,本申请对此不做限定。在一个具体的实施例中,比如,T字段为1时,可以标识可用带宽类型;L字段为2字节;V字段为具体的可用带宽的数值,比如20000kbit/sec。再比如,T字段为2时,可以标识负载均衡比例类型;L字段为2字节;V字段为具体的负载均衡比例,比如50%,标识下一跳参与50%的负载分担。
应理解,上述列举的下一跳的属性信息类型仅为示例性说明,不应对本申请构成任何限定。用于承载下一跳的属性信息的字段并不限于上述Next Hop Attribute字段或Next Hop Attribute object字段,还可以通过其他现有的或新增的字段来承载,本申请对此并未特别限定。并且,这里所列举的Type1类型为可用带宽类型,Type2类型为负载均衡比例类型,同样不应对本申请构成任何限定。本申请实施例不排除通过Type1和Type2来指示其他类型,或者用其他方式来指示可用带宽类型和负载均衡类型的可能。并且,本申请实施例对于下一跳的属性信息类型的数量也并未特别限定。
S308、控制器向网络设备发送所述第二消息。
具体地,所述控制器向所述网络设备发送所述第二消息,以便于所述网络设备根据所述第二标识信息将所述第二下一跳的表项信息保存在所述网络设备的下一跳表中。
可选的,所述控制器自身保存有下一跳表,控制器确定所述第二下一跳的表项信息后,在自身保存的下一跳表中保存所述第二下一跳的表项信息。
S309、网络设备接收所述第二消息。
S310、网络设备将所述第二下一跳的表项信息保存在所述下一跳表中。
在一个具体的实施方式中,网络设备将所述第二下一跳的表项信息保存在所述下一跳表中,具体包括:
网络设备接收到所述第二消息后,以所述第二消息中携带的所述第二下一跳的地址为关键字,在自身保存的下一跳表中进行表项查找,如果命中相应的表项,则使用所述第二下一跳的表项信息更新所找到的表项。如果没有命中相应的表项,则创建一条新的下一跳的表项,将所述第二下一跳的表项信息保存到新创建的下一跳的表项中。
需要说明的是,当所述第二消息中未携带所述第二下一跳的属性信息时,则网络设备可以按照现有的规则以缺省值处理,例如:不限制下一跳的带宽,不设置下一跳的负载均衡比例,不指定下一跳接入的类型。
通过本实施例提供的技术方案,控制器可以向转发设备单独发送下一跳信息,实 现了控制器对转发设备的下一跳信息进行单独管理。单独管理包括单独创建或者更新下一跳信息,而不必绑定路由前缀。上述方案使得控制器对于转发设备的下一跳管理更加灵活;并且有效的节省控制器与转发设备的信息交互中,由于携带所述路由前缀所占用的***资源;转发设备需要解析的信息减少,也提高了转发设备的业务处理效率。
进一步的,控制器向转发设备独立发送下一跳信息时,携带控制器定制的下一跳的属性信息,使得网络设备可以在下一跳表中,获取所述所述下一跳的属性信息,并将所述下一跳的属性信息发送到FIB表中,用于指导报文转发。
可选的,所述方法还可以包括S311-S315。
S311、控制器生成第三消息。
所述第三消息携带所述网络设备的第三下一跳的地址,所述第三消息中包括第三标识信息,所述第三标识信息用于指示所述网络设备在本地保存的下一跳表中删除与所述第三下一跳的地址对应的第三下一跳的表项。
在一个具体的实施方式中,第三消息为第三BGP UPDATE Message。
所述第三BGP UPDATE Message中包括多协议不可达网络层可达性信息MP_UNREACH_NLRI属性字段。所述MP_UNREACH_NLRI属性字段中包括子地址族标识SAFI字段、不可达网络层可达性信息NLRI字段。所述SAFI字段指示该MP_UNREACH_NLRI属性字段是基于所述BGP同步地址族所支持的封装格式封装的,并承载所述第三标识信息。其中,该所述第三标识信息由该BGP同步地址族SAFI字段中SAFI的值所直接表示。所述不可达NLRI字段承载所述第三下一跳的地址或所述下一跳信息字段承载所述第三下一跳的地址。
该BGP同步地址族新增的所述MP_UNREACH_NLRI的封装格式如图12所示。
其中,MP_UNREACH_NLRI可以理解为网络层不可达NLRI的多协议扩展属性信息,它包括地址族信息域和不可达网络层可达性信息(NLRI)域两部分。
其中,关于地址族信息域的相关说明参见关于图4的相关说明,此处不再赘述。
不可达NLRI域包括不可达NLRI字段。
在一个具体的实施方式中,不可达NLRI字段可以由一个二元组<Length-Next Hop>标识。Length:表示下一跳的地址字段的长度,以字节为单位。Next Hop:包含了下一跳的地址,后面则是填充比特,用于保证字段结尾符合字节边界,填充比特的值无意义。
在另一个具体的实施方式中,不可达NLRI字段可以包括TLV字段(可变长度)。TLV字段的示意图可参照图5。其中,类型T字段表示该TLV字段的类型为BGP同步类型,长度L字段表示V字段的长度,值V字段承载根据所述BGP同步类型所确定的内容。在本申请实施例中,具体地,T字段值为2时,可以标识下一跳同步类型。可选的,L字段值为16比特,即,2字节,指示V字段具体的长度值。例如:当L字段为4时,V字段为一个4字节的IPv4地址,当L字段为16时,V字段为一个16字节唱的IPv6地址;V字段为2字节的下一跳的地址。
应理解,这里所列举的Type2类型为下一跳同步类型仅为示例性说明,不应对本申请构成任何限定。本申请实施例不排除通过Type2来指示其他类型,或者用其他方 式来指示下一跳同步类型的可能。并且,本申请实施例对于NLRIType的类型的数量也并未特别限定。
在另一个具体的实施方式中,所述第三消息是第三PCEP Message。所述第三PCEP Message包括消息类型Message-Type字段和下一跳对象Next Hop object字段。所述Message-Type字段指示所述第三PCEP Message用于向所述网络设备发送所述第三下一跳的地址,并用于承载所述第三标识信息。其中,所述第三标识信息由该Message-Type字段中Message-Type的值所直接表示。所述Next Hop object字段承载所述第三下一跳的地址。
所述第三PCEP Message的封装格式与所述第二PCEP Message的封装格式相同,具体说明,参见前文中对于第二PCEP Message的封装格式的相关说明。
在本申请实施例中,所述第三PCEP Message中的Message-Type可以理解为基于现有的PCEP协议中Message-Type扩展的消息类型,Message-Type的值可以根据IETF制定的标准确定。
在一个具体的实施方式中,根据所述扩展的Message-Type承载所述第三标识信息,用于指示所述网络设备在本地保存的下一跳表中删除与所述第三下一跳的地址对应的第三下一跳的表项。所述第三标识信息由该Message-Type字段中Message-Type的值所直接表示。第三PCEP Message也可以称之为PCE实例化下一跳消息PCE-initiated Next Hop Message。
在另一个具体的实施方式中,所述第三PCEP Message还包括状态请求参数(英文:Request Parameters,RP)对象object字段。所述Message-Type字段承载所述第三标识信息,具体包括:所述Message-Type字段和所述RP object字段共同承载所述第三标识信息。即第三标识信息由该Message-Type字段中Message-Type的值与所述RP object字段中R标记的值来共同表示。
具体地,所述RP object中各字段的解释可以参照RFC5440的相关定义。所述Message-Type字段用于标识所述第三PCEP Message是用于发送所述第三下一跳的地址的消息。当RP object中的R标记置为1时,所述网络设备在本地保存的下一跳表中删除与所述第三下一跳的地址对应的第三下一跳的表项。即Message-Type字段和所述RP object字段共同承载所述第三标识信息。
本领域技术人员可以理解,用于和所述Message-Type字段共同承载所述第三标识信息的字段并不限于上述RP object字段,还可以通过其他现有的或新增的字段来承载,本申请对此并未特别限定。并且,这里列举的R标记置为1,所述网络设备在本地保存的下一跳表中删除与所述第三下一跳的地址对应的第三下一跳的表项,同样不应对本申请构成任何限定。也可以是R标记置为0或者其他值时,所述网络设备删除所述第三下一跳的表项。本申请实施例不排除通过R标记置为0或者其他值时,所述网络设备删除所述第三下一跳的表项的可能。
S312、控制器向网络设备发送所述第三消息。
S313、网络设备接收所述第三消息。
S314、网络设备根据所述第三标识信息的指示,在本地保存的下一跳表中删除所述第三下一跳的表项。
具体地,网络设备接收到所述第三消息后,以所述第三消息中携带的第三下一跳的地址为关键字,在自身保存的下一跳表中进行表项查找,如果命中第三下一跳的表项,则在所述下一跳表中删除所述第三下一跳的表项。如果没有命中相应的表项,则处理结束。
可选的,所述方法还包括:
S315、所述网络设备删除与所述第三下一跳的地址关联的路由表项。
具体的,在网络设备中保存有多个路由表,每个路由表中都可能记录有与所述第三下一跳的地址相关联的路由表项。当网络设备确定所述第三下一跳的地址不可用时,会以该第三下一跳地址为索引,查找到使用该第三下一跳的地址的所有路由表项,并删除与所述第三下一跳的地址关联的所有路由表项。
通过本实施例提供的技术方案,当有多条路由前缀同时对应同一个下一跳,通过删除该多条路由前缀所对应的下一跳,进而可以删除使用该下一跳的多条路由表项。控制器和转发设备之间只需要发送一条消息,即可实现快速,批量删除路由表项的目的。因而大大减少了控制器和转发设备之间交互消息的数量,节省了***资源,提高了业务处理效率。
需要说明的是,本申请对S301-S305、S306-S310以及S311-S315的执行顺序不作具体限定。例如:S306-S310可以在S301-S305之前执行,也可以在S301-S305之后执行。S311-S315可以在S306-S310之前执行,也可以在S306-S310之后执行。
可选的,所述方法300还可以包括S316-S318:
S316、网络设备生成第四消息。。
所述第四消息携带路由状态报告信息,所述路由状态报告信息记录所述路由前缀和所述CRP路由的状态信息的映射关系。
所述CRP路由的状态信息包括但不限于:路由的状态,例如路由是否合法,是否被优选,是否被发送到FIB中等;路由的存活时间;下一跳的状态,例如下一跳是否合法,是否被使用等;下一跳带宽占用比例;下一跳丢包率;下一跳发包延时;下一跳存活时间。其中与下一跳相关的状态信息(例如下一跳的状态,例如下一跳是否合法,是否被使用等,下一跳带宽占用比例,下一跳丢包率,下一跳发包延时,以及下一跳存活时间)也可以放在以下步骤319中描述的下一跳状态报告信息中携带。具体可以参见下面说明。
在一个具体的实施方式中,所述第四消息为第四BGP UPDATE Message,所述第四BGP UPDATE Message包括MP_REACH_NLRI属性字段和路由状态报告属性Route Status Report Attribute字段。所述MP_REACH_NLRI属性字段中包括NLRI字段。所述NLRI字段用于承载所述路由前缀。所述Route Status Report Attribute字段用于承载所述CRP路由的状态信息。可选的,所述Route Status Report Attribute字段包括至少一个子TLV字段,每个所述CRP路由的状态信息的类型与所述至少一个子TLV字段对应,每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述CRP路由的状态信息类型中的任意一种,所述V字段指示基于所对应的CRP路由的状态信息类型所确定的内容。
在另一个具体的实施方式中,所述第四消息为第四PCEP Message,所述第四PCEP  Message包括消息类型Message-Type字段、路由对象Route object字段以及路由状态报告属性对象Route Status Report Attribute object字段。所述Message-Type字段指示所述第四PCEP Message用于向所述控制器发送所述路由状态报告信息。所述Route object字段承载所述路由前缀。所述Route Status Report Attribute object字段承载所述CRP路由的状态信息。可选的。所述Route Status Report Attribute object字段包括至少一个子TLV字段,每个所述CRP路由的状态信息的类型与所述至少一个子TLV字段对应,每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述CRP路由的状态信息类型中的任意一种,所述V字段指示基于所对应的CRP路由的状态信息类型所确定的内容。
在本申请实施例中,比如,T字段为1是,可以标识所述CRP路由的路由当前状态Status类型;L字段为2字节;所述V字段指示CRP路由的路由当前状态Status的具体内容,比如当前路由是否合法,是否优选,是否激活等。
应理解,这里所列举的Type1类型为所述CRP路由的路由当前状态Status类型仅为示例性说明,不应对本申请构成任何限定。本申请实施例不排除通过Type1来指示其他类型,或者用其他方式来指示所述CRP路由的路由当前状态Status类型的可能。并且,本申请实施例对于TLV Type的类型的数量也并未特别限定。
在一个具体的实施方式中,所述网络设备在本地保存有路由状态报告信息表,用于保存所述路由状态报告信息。可选的,所述CRP表包括所述路由状态报告信息表。作为示例,所述路由状态报告信息表如表5所示:
Figure PCTCN2017095280-appb-000003
表5
如表5所示,路由状态报告信息表中包括多个字段,对于各字段解释如下:
Network字段:表示所述路由前缀;
Next-Hop字段:表示下一跳的地址;
Status字段:表示路由状态;
Age字段:表示当前路由的存活时间;
Band Width字段:表示下一跳的可用带宽。
对于Status字段的封装格式以及相关说明参见表2以及对表2进行的相关说明,此处不再赘述。
需理解,表5中列出的多种状态信息仅是例举,并不对本申请构成限定。另外, 虽然表5中列出了多种状态信息,但是本领域技术人员可以理解,路由状态报告信息可以包括所述多种状态信息中的一种或多种,而不必包括全部状态信息。或者,路由状态报告信息也可以仅包括未在此处列出的其它字段所表示状态信息,本申请实施例对此不作具体限定。
S317、网络设备向控制器发送第四消息。
在一个具体的实施方式中,网络设备周期性上报所述CRP路由的状态信息。例如,在***稳定运行的情况下,通过配置或者协商,180秒上报一次,网络设备将流量统计信息以及带宽使用信息等路由的状态信息上报给控制器。
在另一个具体的实施方式中,网络设备实时上报所述路由的状态信息。例如,在***发生重要事件时,比如路由信息所对应的表项由优选变为不再优选,或者路由表项迭代隧道不成功等情况发生时,网络设备将所述路由的状态信息上报给控制器。
S318、控制器接收所述第四消息。
控制器根据接收到的路由状态报告信息,更新所述路由前缀的统计信息,作为重新计算所述CRP路由的依据。
通过以上技术方案,控制器可以定期、实时获取转发设备上报的路由状态信息,能够实时了解转发设备的状态,作为调整路由的依据,提高了流量调控的可靠性以及实时性。
可选的,所述方法300还可以包括S319-S321。
S319、网络设备生成第五消息。
所述第五消息携带下一跳状态报告信息,所述下一跳状态报告信息记录第四下一跳的地址和第四下一跳的状态信息的映射关系。
所述下一跳状态报告信息包括但不限于:下一跳的状态,例如下一跳是否合法,是否被使用等;下一跳带宽占用比例;下一跳丢包率;下一跳发包延时;下一跳存活时间。
在一个具体的实施方式中,所述第五消息为第五BGP UPDATE Message。所述第五BGP UPDATE Message包括多协议可达网络层可达信息MP_REACH_NLRI属性字段和下一跳状态报告属性Next Hop Status Report Attribute字段。所述MP_REACH_NLRI属性字段中包括网络层可达信息NLRI字段,所述NLRI字段用于承载所述第四下一跳的地址。所述Next Hop Status Report Attribute字段用于承载所述第四下一跳的状态信息。可选的,所述Next Hop Status Report Attribute字段包括至少一个子TLV字段,每种下一跳的状态信息类型与所述至少一个子TLV字段中的一个子TLV字段对应。每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述下一跳的状态信息类型中的任意一种,所述V字段指示基于所对应的下一跳的状态信息类型所确定的内容。
在另一个具体的实施方式中,所述第五消息为第五PCEP Message。所述第五PCEP Message包括消息类型Message-Type字段、下一跳对象Next Hop object字段以及下一跳状态报告属性对象Next Hop Status Report Attribute object字段。所述Message-Type字段指示所述第五PCEP Message用于向所述控制器发送所述下一跳状态报告信息。所述Next Hop object字段承载所述第四下一跳的地址。所述Next Hop  Status Report Attribute object字段承载所述第四下一跳的状态信息。可选的,所述Next Hop Status Report Attribute object字段包括至少一个子TLV字段,每种下一跳的状态信息类型与所述至少一个子TLV字段中的一个子TLV字段对应。每个子TLV字段都包括T字段、L字段和V字段,所述T字段表示所述下一跳的状态信息类型中的任意一种,所述V字段指示基于所对应的下一跳的状态信息类型所确定的内容。
在本申请实施例中,比如,T字段为1是,可以标识下一跳当前状态Status类型;L字段为2字节;所述V字段指示下一跳状态Status的具体内容,比如当前路由是否合法,是否优选,是否激活等。
应理解,这里所列举的Type1类型为所述下一跳当前状态Status类型仅为示例性说明,不应对本申请构成任何限定。本申请实施例不排除通过Type1来指示其他类型,或者用其他方式来指示所述下一跳当前状态Status类型的可能。并且,本申请实施例对于TLV Type的类型的数量也并未特别限定。
在另一个具体的实施方式中,所述网络设备在本地保存有下一跳状态报告信息表,用于保存下一跳状态报告信息。可选的,所述CRP表包括所述下一跳状态报告信息表。作为示例,所述下一跳状态报告信息表如表6所示:
Figure PCTCN2017095280-appb-000004
表6
如表6所示,下一跳状态报告信息表包括多个字段,对各字段解释如下:
Next-Hop字段:表示下一跳网络地址;
Type字段:表示下一跳类型;
Status字段:表示下一跳状态;
Band Width字段:表示下一跳可用带宽;
Weight字段:表示下一跳负载均衡比例;
Loss字段:表示丢包的报文数;
Delay字段:表示时延,单位是微秒。
对于Status字段的封装格式以及相关说明参见表4以及对表4进行的相关说明,此处不再赘述。
需理解,表6中列出的多种状态信息仅是例举,并不对本申请构成限定。另外,虽然表6中列出了多种状态信息,但是本领域技术人员可以理解,下一跳状态报告信 息可以包括所述多种状态信息中的一种或多种,而不必包括全部状态信息。或者,下一跳状态报告信息也可以仅包括未在此处列出的其它字段所表示的其它状态信息,本申请实施例对此不作具体限定。
S320、网络设备向控制器发送所述第五消息。
在一个具体的实施方式中,网络设备周期性上报所述下一跳状态信息。例如,在***稳定运行的情况下,通过配置或者协商,180秒上报一次,网络设备将流量统计信息以及带宽使用信息等下一跳的状态信息上报给控制器。
在另一个具体的实施方式中,网络设备实时上报所述下一跳的状态信息。例如,在***发生重要事件时,比如下一跳信息所对应的表项由可达变为不可达,或者该下一跳所对应的出口链路的带宽使用率超过了阈值(例如90%)等情况发生时,网络设备将所述下一跳的状态信息上报给控制器。
S321、控制器接收所述第五消息。
控制器根据接收到的下一跳状态报告信息,更新所述网络设备的下一跳信息的统计信息,作为重新计算所述下一跳信息的依据。
通过以上技术方案,控制器可以定期、实时获取转发设备上报的下一跳状态信息,能够实时了解转发设备的状态,作为计算,调整下一跳的依据,提高了流量调控的可靠性以及实时性。
需要说明的是,本申请对S301-S305、S306-S310、S311-S315、S316-S318以及S319-S321的执行顺序不作具体限定。
以上,结合图2至图12详细说明了根据本申请实施例提供的信息同步的方法。以下,结合图13-图16详细说明根据本申请实施例提供的用于信息同步的装置和***。
图13是根据本申请一实施例的控制器400的示意图。该控制器400可以是图2中的控制器110,可以用于执行图3所示的方法。如图13所示,该控制器400包括:处理模块401和发送模块402。
该处理模块401用于确定控制路由协议CRP路由表项信息,所述CRP路由表项信息包括路由前缀和第一下一跳的地址的映射关系。该处理模块401还用于生成第一消息,所述第一消息携带所述CRP路由表项信息,用于发布CRP路由。所述第一消息中包括第一标识信息,所述第一标识信息用于指示网络设备将所述CRP路由表项信息保存在所述网络设备的CRP路由表中。
该发送模块402用于向所述网络设备发送所述第一消息,以便于所述网络设备根据所述第一标识信息将所述CRP路由表项信息保存在所述CRP路由表中,并根据所述CRP路由表指导报文转发。
在一个具体的实施方式中,所述第一消息为第一边界网关协议BGP更新消息UPDATE Message。所述第一BGP UPDATE Message中包括多协议可达网络层可达信息MP_REACH_NLRI属性字段。所述MP_REACH_NLRI属性字段中包括子地址族标识SAFI字段、网络层可达信息NLRI字段和下一跳信息字段。所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第一标识信息。所述NLRI字段承载所述路由前缀。可选的,所述NLRI字段包括类型长度值TLV字段,所述TLV字段的类型T字段表示所述TLV字段的类型为BGP路由 同步类型,所述TLV字段的值V字段承载所述路由前缀,所述下一跳信息字段承载所述第一下一跳的地址。
其中,所述第一标识信息可以由所述SAFI字段中SAFI的值直接表示。
在另一个具体的实施方式中,所述第一消息为第一路径计算单元通信协议消息PCEP Message,所述第一PCEP Message包括消息类型Message-Type字段、路由对象Route object字段以及下一跳对象Next Hop object字段;所述Message-Type字段承载所述第一标识信息,所述Route object字段承载所述路由前缀,所述Next Hop object字段承载所述第一下一跳的地址。
其中,所述第一标识信息可以由该Message-Type字段中Message-Type的值直接表示。
因此,根据本申请实施例的控制器,通过在控制器和网络设备之间运行CRP协议,网络设备上创建单独的CRP路由表,用于保存控制器发送的CRP路由表项信息。CRP路由表中优选的路由被添加到RM RIB中,使得RM模块可以在CRP路由、ISIS路由,BGP路由,OSPF路由等通过不同的路由协议所生成的路由之间进行路由选择,并且由于该控制器发布的CRP路由与转发设备之间的路由协议发布的路由保存在不同的路由表中,从而使得CRP路由相关的路由策略不会影响到转发设备间的路由协议中路由所体现的路由策略的相关应用。
可选的,所述CRP路由表项信息还包括:路由同步属性信息,所述路由同步属性信息用于所述控制器发送路由前缀时携带通过所述控制器制定的路由属性信息。
所述路由同步属性包括但不限于:所述路由优先级、所述拓扑以及下一跳的属性信息。
所述第一下一跳的属性信息包括以下一种或多种下一跳的属性信息的类型:带宽、负载均衡比例和下一跳的类型。
在一个具体的实施方式中,在上述以BGP UPDATE Message承载所述CRP路由表项信息的实施例中,所述第一BGP UPDATE Message还包括路由同步Route Synchronization属性Attribute字段,用于携带所述路由同步属性。具体的携带方式,即采用什么消息结构或字段格式等,可以参考上述方法实施例中对应部分的描述,此处不再赘述。
在另一个具体的实施方式中,在上述以PCEP Message承载所述CRP路由表项信息的实施例中,所述第一PCEP Message还包括PCEP路由属性对象Route Attribute object字段,用于携带所述路由同步属性。具体的携带方式,即采用什么消息格式和字段格式等,可以参考上述方法实施例中对应部分的描述,此处不再赘述。
上述两种携带所述路由同步属性信息的实施方式中,TLV的具体内容或取值可以根据各消息的具体情况设定,可以采用相同的设置方式,也可以采用不同的设置方式,本申请对此不做限定。
需要说明的是,当所述第一消息中未携带所述路由同步属性信息时,则网络设备可以按照现有的规则以缺省值处理,例如:设置协议间选路优先级为1,不限制下一跳的带宽,不设置下一跳的负载均衡比例,不指定下一跳的类型。
通过在路由属性信息中携带路由优先级,可以实现对CRP路由优先级的灵活设置, 例如,将CRP路由设置为优选路由,从而实现使用控制器发布的路由对流量进行控制的目的。对于后续针对路由的各种复杂的策略控制,通过升级控制器即可完成,无需像现有路由策略,比如BGP路由策略,需要所有设备都实现复杂的策略。因而,使得流量调控更为简单,灵活。另外,在某些应用场景下,客户认为内部部署的IGP路由受信任应该被优选,而外部路由不受信任不应被优选,则也可以将所述CRP路由的优先级设置为低于ISIS路由以及OSPF路由的优先级。由此可见,通过对CRP路由的优先级进行设定,可以满足客户的不同需求。
可选的,在本申请中,还可以单独采用下一跳属性字段来携带所述下一跳的属性信息。
在一个具体的实施方式中,在上述以BGP UPDATE Message承载所述CRP路由表项信息的实施例中,所述第一BGP UPDATE Message还包括下一跳同步Next Hop Synchronization属性Attribute字段,用于携带所述下一跳的属性信息。具体的携带方式,即采用何种消息格式或字段格式(如采用哪些字段或扩展字段),可以参考上述方法实施例中对应部分的描述,此处不再赘述。
在另一个具体的实施方式中,在上述以PCEP Message承载所述CRP路由表项信息的实施例中,所述第一PCEP Message还包括PCEP下一跳属性对象Next Hop Attribute object字段,用于携带所述下一跳的属性信息。具体的携带方式,即采用何种消息格式和字段格式(如采用哪些字段或扩展字段),可以参考上述方法实施例中对应部分的描述,此处不再赘述。
通过CRP路由表项信息中携带所述下一跳的属性信息,使得网络设备可以在所述CRP路由表中,获取所述下一跳的属性信息,并将所述下一跳的属性信息发送到FIB中,指导报文转发。
可选的,所述处理模块401还用于生成第二消息。所述第二消息携带所述网络设备的第二下一跳的表项信息,所述第二下一跳的表项信息记录所述网络设备的第二下一跳的地址与第二下一跳的属性信息的映射关系。所述第二消息中包括第二标识信息,所述第二标识信息用于指示所述网络设备将所述第二下一跳的表项信息保存在所述网络设备的下一跳表中。
所述发送模块402还用于向所述网络设备发送所述第二消息,以便于所述网络设备根据所述第二标识信息将所述第二下一跳的表项信息保存在所述网络设备的下一跳表中。
在一个具体的实施中,所述第二消息为第二BGP UPDATE Message,用于携带所述第二下一跳的表项信息,具体采用何种消息格式或字段格式(如采用哪些字段或扩展字段),可以参考上述方法实施例中对应部分的描述,此处不再赘述。在另一个具体的实施方式中,所述第二消息为第二PCEP Message。用于携带所述第二下一跳的表项信息,具体采用何种消息格式或字段格式(如采用哪些字段或扩展字段),可以参考上述方法实施例中对应部分的描述,此处不再赘述。
因此,控制器可以向网络设备单独发送下一跳信息,实现了控制器对网络设备的下一跳信息进行单独管理。单独管理包括单独创建或者更新下一跳信息,而不必绑定路由前缀。上述方案使得控制器对于网络设备的下一跳管理更加灵活;并且有效的节 省控制器与网络设备的信息交互中,由于携带所述路由前缀所占用的***资源;网络设备需要解析的信息减少,也提高了网络设备的业务处理效率。
进一步的,控制器向网络设备独立发送下一跳信息时,携带控制器定制的下一跳的属性信息,使得网络设备可以在下一跳表中,获取所述所述下一跳的属性信息,并将所述下一跳的属性信息发送到FIB表中,用于指导报文转发。
可选的,所述处理模块401还用于生成第三消息,所述第三消息携带所述网络设备的第三下一跳的地址;所述第三消息中包括第三标识信息,所述第三标识信息用于指示所述网络设备在本地保存的下一跳表中删除与所述第三下一跳的地址对应的第三下一跳的表项。
所述发送模块402还用于向所述网络设备发送所述第三消息,以便所述网络设备根据所述第三标识信息的指示删除所述第三下一跳的表项。
在一个具体的实施方式中,所述第三消息为第三BGP UPDATE Message,用于删除所述第三下一跳的表项。具体采用何种消息格式或字段格式(如采用哪些字段或扩展字段),可以参考上述方法实施例中对应部分的描述,此处不再赘述。
在另一个具体的实施方式中,所述第三消息为第三PCEP Message,用于删除所述第三下一跳的表项。具体采用何种消息格式或字段格式(如采用哪些字段或扩展字段),可以参考上述方法实施例中对应部分的描述,此处不再赘述。
因此,当存在多条路由表项同时对应同一个下一跳时,通过删除该多条路由表项所对应的下一跳,进而可以删除使用该下一跳的多条路由表项。因此,控制器和网络设备设备之间只需要发送一条消息,即可实现快速,批量删除路由表项的目的。因而大大减少了控制器和网络设备之间交互消息的数量,节省了***资源,提高了业务处理效率。
在一个具体的实施方式中,所述控制器400还包括接收模块403。所述接收模块403用于接收所述网络设备发送的第四消息;所述第四消息携带路由状态报告信息,所述路由状态报告信息记录所述路由前缀与所述CRP路由的状态信息的映射关系。
所述处理模块401还用于根据接收到的所述路由状态报告信息,更新所述路由前缀的统计信息,作为重新计算所述CRP路由的依据。
所述CRP路由的状态信息包括但不限于:路由的状态,例如路由是否合法,是否被优选,是否被发送到FIB中等;路由的存活时间;下一跳的状态,例如下一跳是否合法,是否被使用等;下一跳带宽占用比例;下一跳丢包率;下一跳发包延时;下一跳存活时间。
因此,控制器可以定期、实时获取网络设备上报的路由状态信息,能够实时了解网络设备路由的状态,作为调整路由的依据,提高了流量调控的可靠性以及实时性。
可选的,所述接收模块403还用于接收所述网络设备发送的第五消息;所述第五消息携带下一跳状态报告信息,所述下一跳状态报告信息记录第四下一跳的地址和第四下一跳的状态信息的映射关系。
所述处理模块401还用于根据接收到的所述下一跳状态报告信息,更新所述第四下一跳的统计信息,作为重新计算所述网络设备的下一跳的依据。
所述下一跳状态报告信息包括但不限于:下一跳的状态,例如下一跳是否合法, 是否被使用等;下一跳带宽占用比例;下一跳丢包率;下一跳发包延时;下一跳存活时间。
因此,控制器可以定期、实时获取转发设备上报的下一跳状态信息,能够实时了解转发设备的状态,作为计算,调整下一跳的依据,提高了流量调控的可靠性以及实时性。
根据本申请实施例的控制器400可对应于根据本申请实施例中用于信息同步的方法300中的控制器,并且,该控制器400中的各模块和上述其它操作和/或功能分别为了实现图3中的方法300的相应流程,为了简洁,在此不再赘述。
图14是根据本申请实施例的网络设备500的示意图。该网络设备500可以用于执行图3所示的方法。如图14所示,该网络设备500包括:接收模块501和处理模块502。
所述接收模块501用于接收控制器发送的第一消息;所述第一消息携带所述控制器确定的CRP路由表项信息,用于发布CRP路由;所述CRP路由表项信息记录路由前缀和第一下一跳的地址的映射关系,所述第一消息中包括第一标识信息。
所述处理模块502用于根据所述第一标识信息的指示,将所述CRP路由表项信息保存在本地CRP路由表中,并根据所述CRP路由表指导报文转发。
通过在控制器和网络设备之间运行CRP协议,网络设备上创建单独的CRP路由表,用于保存控制器发送的CRP路由表项信息。由于该控制器发布的CRP路由与网络设备之间的路由协议发布的路由保存在不同的路由表中,从而使得CRP路由相关的路由策略不会影响到网络设备间的路由协议中路由所体现的路由策略的相关应用。
可选的,所述CRP路由表项信息还包括:路由同步属性信息,所述路由同步属性信息用于所述控制器发送路由前缀时携带通过所述控制器制定的路由属性信息。
所述路由同步属性包括但不限于:所述路由优先级、所述拓扑以及下一跳的属性信息。
所述第一下一跳的属性信息包括以下一种或多种下一跳的属性信息的类型:带宽、负载均衡比例和下一跳的类型。
通过在CRP路由表项信息中携带路由优先级,可以实现对CRP路由优先级的灵活设置,例如,将CRP路由设置为优选路由,从而实现使用控制器发布的路由对流量进行控制的目的。对于后续针对路由的各种复杂的策略控制,通过升级控制器即可完成,无需像现有路由策略,比如BGP路由策略,需要所有设备都实现复杂的策略。因而,使得流量调控更为简单,灵活。另外,在某些应用场景下,客户认为内部部署的IGP路由受信任应该被优选,而外部路由不受信任不应被优选,则也可以将所述CRP路由的优先级设置为低于ISIS路由以及OSPF路由的优先级。由此可见,通过对CRP路由的优先级进行设定,可以满足客户的不同需求。
可选的,所述处理模块502还用于将所述第一下一跳的地址和所述第一下一跳的属性信息保存在所述网络设备的下一跳表的第一下一跳的表项中,所述第一下一跳的表项记录所述第一下一跳的地址与所述第一下一跳的属性信息的映射关系。
通过将下一跳的地址和与之映射的下一跳的属性信息保存在网络设备的下一跳表中,使得网络设备可以实现对下一跳的单独管理,例如,通过单独删除下一跳表中的 某个下一跳的表项信息,来删除与该下一跳关联的所有路由表项,进而达到批量删除路由表项的目的,能够有效减少控制器和网络设备之间交互消息的数量,节省了***资源,提高了业务处理效率。
进一步可选的,所述处理模块502还用于获取所述第一下一跳的属性信息,并将所述第一下一跳的属性信息发送到转发信息表中,用于指导报文转发。
可选的,所述接收模块501还用于接收所述控制器发送的第二消息;所述第二消息携带所述网络设备的第二下一跳的表项信息;所述第二下一跳的表项信息记录所述网络设备的第二下一跳的地址与第二下一跳的属性信息的映射关系,所述第二消息中包括第二标识信息。
所述处理模块502还用于根据所述第二标识信息的指示,将所述第二下一跳的表项信息保存在所述网络设备的下一跳表中。
因此,网络设备通过接收控制器单独发送的下一跳信息,实现了单独创建或者更新下一跳信息,而不必绑定路由前缀。上述方案使得控制器对于网络设备的下一跳管理更加灵活;并且有效的节省控制器与网络设备的信息交互中,由于携带所述路由前缀所占用的***资源;网络设备需要解析的信息减少,也提高了网络设备的业务处理效率。
可选的,所述处理模块502还用于获取所述第二下一跳的属性信息,并将所述第二下一跳的属性信息发送到转发信息表中,指导报文转发。
可选的,所述接收模块501还用于接收所述控制器发送的第三消息;所述第三消息携带所述网络设备的第三下一跳的地址,所述第三消息中包括第三标识信息。
所述处理模块502还用于根据所述第三标识信息的指示,在所述网络设备保存的下一跳表中删除与所述第三下一跳的地址对应的第三下一跳的表项。
具体地,所述处理模块502根据所述第三标识信息的指示,以所述第三下一跳的地址为关键字,查找所述下一跳表,命中所述第三下一跳的表项,将所述第三下一跳的表项删除。
所述处理模块还用于删除与所述第三下一跳的地址关联的所述路由表项。
因此,当存在多条路由表项同时对应同一个下一跳时,通过删除该多条路由表项所对应的下一跳,进而可以删除使用该下一跳的多条路由表项。因此,控制器和网络设备设备之间只需要发送一条消息,即可实现快速,批量删除路由表项的目的。因而大大减少了控制器和转发设备之间交互消息的数量,节省了***资源,提高了业务处理效率。
可选的,所述处理模块502还用于生成第四消息,所述第四消息携带路由状态报告信息,所述路由状态报告信息记录所述路由前缀与所述CRP路由的状态信息的映射关系。
所述网络设备500还包括发送模块503,所述发送模块503用于向所述控制器发送所述第四消息,以使所述控制器根据接收到的所述路由状态报告信息,更新所述路由前缀的统计信息,作为重新计算所述CRP路由的依据。
所述CRP路由的状态信息包括但不限于:路由的状态,例如路由是否合法,是否被优选,是否被发送到FIB中等;路由的存活时间;下一跳的状态,例如下一跳是否 合法,是否被使用等;下一跳带宽占用比例;下一跳丢包率;下一跳发包延时;下一跳存活时间。
因此,控制器可以定期、实时获取网络设备上报的路由状态信息,能够实时了解网络设备路由的状态,作为调整路由的依据,提高了流量调控的可靠性以及实时性。
在一种具体的实施方式中,所述第四消息为第四BGP UPDATE Message,用于携带所述路由状态报告信息。具体采用何种消息格式或字段格式(如采用哪些字段或扩展字段),可以参考上述方法实施例中对应部分的描述,此处不再赘述。在另一个具体的实施方式中,所述第四消息为第四PCEP Message,用于携带所述路由状态报告信息。具体采用何种消息格式或字段格式(如采用哪些字段或扩展字段),可以参考上述方法实施例中对应部分的描述,此处不再赘述。可选的,所述处理模块502还用于生成第五消息;所述第五消息携带下一跳状态报告信息,所述下一跳状态报告信息记录第四下一跳的地址和第四下一跳的状态信息的映射关系。
所述发送模块503还用于向所述控制器发送所述第五消息,以使所述控制器根据接收到的所述下一跳状态报告信息,更新下一跳的统计信息,作为重新计算所述网络设备的下一跳的依据。
所述下一跳状态报告信息包括但不限于:下一跳的状态,例如下一跳是否合法,是否被使用等;下一跳带宽占用比例;下一跳丢包率;下一跳发包延时;下一跳存活时间。
因此,控制器可以定期、实时获取转发设备上报的下一跳状态信息,能够实时了解转发设备的状态,作为计算,调整下一跳的依据,提高了流量调控的可靠性以及实时性。
在一个具体的实施方式中,所述第五消息为第五BGP UPDATE Message,用于携带所述下一跳状态信息。具体采用何种消息格式或字段格式(如采用哪些字段或扩展字段),可以参考上述方法实施例中对应部分的描述,此处不再赘述。
在另一个具体的实施方式中,所述第五消息为第五PCEP Message,用于携带所述下一跳状态信息。具体采用何种消息格式或字段格式(如采用哪些字段或扩展字段),可以参考上述方法实施例中对应部分的描述,此处不再赘述。根据本申请实施例的网络设备500可对应于根据本申请实施例中用于信息同步的方法中的网络设备,并且,该网络设备中的各模块和上述其他操作和/或功能分别为了实现图3中的方法300的相应流程,为了简洁,此处不再赘述。
本申请上述实施例中提供的控制器400和网络设备500,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或部分功能。
图15是根据本申请一实施例的控制器600的另一示意图。该控制器600可以是图2中的控制器110,其能够用于执行图3中的方法300。如图15所示,该控制器600包括:输入接口601、输出接口602、处理器603和存储器604。该输入接口601、输出接口602、处理器603和存储器604可以通过总线***605相连。
所述存储器604用于存储包括程序、指令或代码。所述处理器604,用于执行所 述存储器604中的程序、指令或代码,以控制输入接口601接收信号、控制输出接口602发送信号以及完成S301-S303、S306-S308、S311、S312、S318、S321中的操作。
图16是根据本申请一实施例的网络设备700的另一示意图。该网络设备700能够用于执行图3中的方法300。如图16所示,该网络设备700包括:输入接口701、输出接口702、处理器703和存储器704。该输入接口701、输出接口702、处理器703和存储器704可以通过总线***705相连。
所述存储器704用于存储包括程序、指令或代码。所述处理器704,用于执行所述存储器704中的程序、指令或代码,以控制输入接口701接收信号、控制输出接口702发送信号以及完成S304、S305、S309、S310、S313-S316、S319、S320中的操作。
应理解,在本申请实施例中,该处理器603和处理器703可以是中央处理单元(Central Processing Unit,简称为“CPU”),还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器604和存储器704可以包括只读存储器和随机存取存储器,并分别向处理器603和处理器703提供指令和数据。存储器604或存储器704的一部分还可以包括非易失性随机存取存储器。例如,存储器604或存储器704还可以存储设备类型的信息。
该总线***605和总线***705除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***。
在实现过程中,方法300的各步骤可以通过处理器603和处理器703中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的定位方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质分别位于存储器604和存储器704中,处理器603读取存储器604中的信息,处理器703读取存储器704中的信息,结合其硬件完成上述方法300的步骤。为避免重复,这里不再详细描述。
需要说明的是,图13和图15所提供的控制器,图14和图16所提供的网络设备,应用于图2所示的SDN100中,实现信息同步的方法。一个具体的实施方式中,图13中的处理模块401可以用图15的处理器603实现,发送模块402可以由图15的输出接口602实现,接收模块403可以用由图15的输入接口601实现。同理,图14中的处理模块502用图16的处理器703实现,发送模块503可以由图16的输出接口702实现,接收模块501可以用由图16的输入接口701实现。
本申请还提供了一种通信***,包括控制器和网络设备,所述控制器可以是图13、图15对应的实施例所提供的控制器。所述网络设备可以是图14、图16对应的实施例所提供的网络设备。所述通信***用于执行图3-图12对应的实施例的方法300。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的 先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件或它们的任意组合来实现。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
最后,需要说明的是:以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。显然,本领域技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (46)

  1. 一种信息同步的方法,其特征在于:
    控制器确定控制路由协议CRP路由表项信息,所述CRP路由表项信息包括路由前缀和网络设备的第一下一跳的地址的映射关系;
    所述控制器生成第一消息,所述第一消息携带所述CRP路由表项信息,用于发布CRP路由,所述第一消息中包括第一标识信息,所述第一标识信息用于指示所述网络设备将所述CRP路由表项信息保存在所述网络设备的CRP路由表中;
    所述控制器向所述网络设备发送所述第一消息,以便于所述网络设备根据所述第一标识信息将所述CRP路由表项信息保存在所述CRP路由表中,并根据所述CRP路由表指导报文转发。
  2. 根据权利要求1所述的方法,其特征在于:所述CRP路由表项信息进一步包括路由优先级,所述路由优先级用于标识所述CRP路由在被用于指导报文转发时的优先级。
  3. 根据权利要求1或2所述的方法,其特征在于:所述CRP路由表项信息进一步包括所述第一下一跳的属性信息,所述第一下一跳的属性信息包括以下一种或多种下一跳的属性信息类型:带宽、负载均衡比例和下一跳的类型。
  4. 根据权利要求1-3任一项所述的方法,其特征在于:
    所述第一消息为第一边界网关协议更新消息BGP UPDATE Message,所述第一BGP UPDATE Message中包括多协议可达网络层可达信息MP_REACH_NLRI属性字段;所述MP_REACH_NLRI属性字段中包括子地址族标识SAFI字段、网络层可达信息NLRI字段和下一跳信息字段,所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第一标识信息,所述NLRI字段承载所述路由前缀,所述下一跳信息字段承载所述第一下一跳的地址;或
    所述第一消息为第一路径计算单元通信协议消息PCEP Message,所述第一PCEP Message包括消息类型Message-Type字段、路由对象Route object字段以及下一跳对象Next Hop object字段;所述Message-Type字段承载所述第一标识信息,所述Route object字段承载所述路由前缀,所述Next Hop object字段承载所述第一下一跳的地址。
  5. 根据权利要求2所述的方法,其特征在于:
    所述第一消息为第一边界网关协议更新消息BGP UPDATE Message,所述第一BGP UPDATE Message中包括多协议可达网络层可达信息MP_REACH_NLRI属性字段和路由同步属性Route Synchronization Attribute字段;所述MP_REACH_NLRI属性字段中包括子地址族标识SAFI字段、网络层可达信息NLRI字段和下一跳信息字段,所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第一标识信息,所述NLRI字段承载所述路由前缀,所述下一跳信息字段承载所述第一下一跳的地址;所述Route Synchronization Attribute字段承载所述路由优先级;或
    所述第一消息为第一路径计算单元通信协议PCEP消息Message,所述第一PCEP Message包括消息类型Message-Type字段、路由对象Route object字段、下一跳对 象Next Hop object字段以及路由属性对象Route Attribute object字段;所述Message-Type字段用于承载所述第一标识信息,所述Route object字段承载所述路由前缀,所述Next Hop object字段承载所述第一下一跳的地址,所述Route Attribute object字段承载所述路由优先级。
  6. 根据权利要求3所述的方法,其特征在于:
    所述第一消息为第一边界网关协议更新消息BGP UPDATE Message,所述第一BGP UPDATE Message中包括多协议可达网络层可达信息MP_REACH_NLRI属性字段和下一跳属性Next Hop Attribute字段;所述MP_REACH_NLRI属性字段中包括子地址族标识SAFI字段、网络层可达信息NLRI字段和下一跳信息字段,所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第一标识信息,所述NLRI字段承载所述路由前缀,所述下一跳信息字段承载所述第一下一跳的地址,所述Next Hop Attribute字段承载所述第一下一跳的属性信息,或
    所述第一消息为第一路径计算单元通信协议消息PCEP Message,所述第一PCEP Message包括消息类型Message-Type字段、路由对象Route object字段、下一跳对象Next Hop object字段以及下一跳属性对象Next Hop Attribute object字段;所述Message-Type字段承载所述第一标识信息,所述Route object字段承载所述路由前缀,所述Next Hop object字段承载所述第一下一跳的地址,所述Next Hop Attribute object字段承载所述第一下一跳的属性信息。
  7. 根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
    所述控制器生成第二消息,所述第二消息携带所述网络设备的第二下一跳的表项信息,所述第二下一跳的表项信息包括所述第二下一跳的地址与所述第二下一跳的属性信息的映射关系,所述第二消息中包括第二标识信息,所述第二标识信息用于指示所述网络设备将所述第二下一跳的表项信息保存在所述网络设备的下一跳表中;
    所述控制器向所述网络设备发送所述第二消息,以便于所述网络设备根据所述第二标识信息将所述第二下一跳的表项信息保存在所述网络设备的下一跳表中。
  8. 根据权利要求7所述的方法,其特征在于:
    所述第二消息为第二BGP UPDATE Message,所述第二BGP UPDATE Message中包括多协议可达网络层可达性信息MP_REACH_NLRI属性字段和下一跳属性Next Hop Attribute字段;所述MP_REACH_NLRI属性字段中包括子地址族标识SAFI字段、网络层可达性信息NLRI字段和下一跳信息字段,所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第二标识信息,所述NLRI字段承载所述第二下一跳的地址或所述下一跳信息字段承载所述第二下一跳的地址;所述Next Hop Attribute字段承载所述第二下一跳的属性信息;或
    所述第二消息为第二PCEP Message,所述第二PCEP Message包括消息类型Message-Type字段、下一跳对象Next Hop object字段以及下一跳属性对象Next Hop Attribute object字段;所述Message-Type字段用于承载所述第二标识信息,所述Next Hop object字段承载所述第二下一跳的地址,所述Next Hop Attribute object字段承载所述第二下一跳的属性信息。
  9. 根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
    所述控制器生成第三消息,所述第三消息携带所述网络设备的第三下一跳的地址,所述第三消息中包括第三标识信息,所述第三标识信息用于指示所述网络设备在所述网络设备保存的下一跳表中删除与所述第三下一跳的地址对应的所述第三下一跳的表项;
    所述控制器向所述网络设备发送所述第三消息,以便所述网络设备根据所述第三标识信息的指示删除所述第三下一跳的表项。
  10. 根据权利要求9所述的方法,其特征在于:
    所述第三消息为第三BGP UPDATE Message,所述第三BGP UPDATE Message中包括多协议不可达网络层可达性信息MP_UNREACH_NLRI属性字段;所述MP_UNREACH_NLRI属性字段中包括子地址族标识SAFI字段、不可达网络层不可达性信息NLRI字段,所述SAFI字段指示该MP_UNREACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第三标识信息,所述不可达NLRI字段承载所述第三下一跳的地址;或
    所述第三消息为第三PCEP Message,所述第三PCEP Message包括消息类型Message-Type字段以及下一跳对象Next Hop object字段;所述Message-Type字段承载所述第三标识信息,以及指示所述第三PCEP Message用于向所述网络设备发送所述第三下一跳的地址,所述Next Hop object字段承载所述第三下一跳的地址。
  11. 根据权利要求1-10任一项所述的方法,其特征在于,所述方法还包括:
    所述控制器接收所述网络设备发送的第四消息,所述第四消息携带路由状态报告信息,所述路由状态报告信息记录所述路由前缀与所述CRP路由的状态信息的映射关系;
    所述控制器根据接收到的所述路由状态报告信息,更新所述路由前缀的统计信息,作为重新计算所述CRP路由的依据。
  12. 根据权利要求1-11任一项所述的方法,其特征在于,所述方法还包括:
    所述控制器接收所述网络设备发送的第五消息,所述第五消息携带下一跳状态报告信息,所述下一跳状态报告信息记录所述网络设备的第四下一跳的地址和所述第四下一跳的状态信息的映射关系,所述控制器根据接收到的所述下一跳状态报告信息,更新所述第四下一跳的统计信息,作为重新计算所述网络设备的下一跳的依据。
  13. 一种信息同步的方法,其特征在于:
    网络设备接收控制器发送的第一消息,所述第一消息携带所述控制器确定的控制路由协议CRP路由表项信息,用于发布CRP路由,所述CRP路由表项信息包括路由前缀和所述网络设备的第一下一跳的地址的映射关系,所述第一消息中包括第一标识信息;
    所述网络设备根据所述第一标识信息的指示,将所述CRP路由表项信息保存在本地CRP路由表中,并根据所述CRP路由表指导报文转发。
  14. 根据权利要求13所述的方法,其特征在于:所述CRP路由表项信息进一步包括路由优先级,所述路由优先级用于标识所述CRP路由在被用于指导报文转发时的优先级。
  15. 根据权利要求13或14所述的方法,其特征在于:所述CRP路由表项信息进一步包括所述第一下一跳的属性信息,所述第一下一跳的属性信息包括以下一种或多种下一跳的属性信息类型:带宽、负载均衡比例和下一跳接入的类型,所述方法还包括:
    所述网络设备将所述第一下一跳的地址和所述第一下一跳的属性信息保存在所述网络设备的下一跳表的所述第一下一跳的表项中,并将所述第一下一跳的属性信息发送到转发信息表中,用于指导报文转发,其中,所述第一下一跳的表项记录所述第一下一跳的地址与所述第一下一跳的属性信息的映射关系。
  16. 根据权利要求13-15中任一项所述的方法,其特征在于,所述方法还包括:
    所述网络设备接收所述控制器发送的第二消息,所述第二消息携带所述网络设备的第二下一跳的表项信息,所述第二下一跳的表项信息包括所述第二下一跳的地址与所述第二下一跳的属性信息的映射关系,所述第二消息中包括第二标识信息;
    所述网络设备根据所述第二标识信息的指示,将所述第二下一跳的表项信息保存在所述网络设备的下一跳表中。
  17. 根据权利要求16所述的方法,其特征在于,所述方法还包括:
    所述网络设备获取所述第二下一跳的属性信息,并将所述第二下一跳的属性信息发送到转发信息表中,用于指导报文转发。
  18. 根据权利要求13-17任一项所述的方法,其特征在于,所述方法还包括:
    所述网络设备接收所述控制器发送的第三消息,所述第三消息携带所述网络设备的第三下一跳的地址,所述第三消息中包括第三标识信息;
    所述网络设备根据所述第三标识信息的指示,在所述网络设备保存的下一跳表中删除与所述第三下一跳的地址对应的所述第三下一跳的表项。
  19. 根据权利要18所述的方法,其特征在于,所述方法还包括:
    所述网络设备下一跳的地址删除与所述第三下一跳的地址关联的路由表项。
  20. 根据权利要求13-19任一项所述的方法,其特征在于,所述方法还包括:
    所述网络设备生成第四消息,所述第四消息携带路由状态报告信息,所述路由状态报告信息记录所述路由前缀与所述CRP路由的状态信息的映射关系;
    所述网络设备向所述控制器发送所述第四消息,以使所述控制器根据接收到的所述路由状态报告信息,更新所述路由前缀的统计信息,作为重新计算所述CRP路由的依据。
  21. 根据权利要求20所述的方法,其特征在于:
    所述第四消息为第四BGP UPDATE Message,所述第四BGP UPDATE Message包括MP_REACH_NLRI属性字段和路由状态报告属性Route Status Report Attribute字段;所述MP_REACH_NLRI属性字段中包括NLRI字段,所述NLRI字段用于承载所述路由前缀;所述Route Status Report Attribute字段用于承载所述CRP路由的状态信息;或者
    所述第四消息为第四PCEP Message,所述第四PCEP Message包括消息类型Message-Type字段、路由对象Route object字段以及路由状态报告属性对象Route Status Report Attribute object字段;所述Message-Type字段指示所述第四PCEP Message用于向所述控制器发送所述路由状态报告信息,所述Route object字段承载 所述路由前缀,所述Route Status Report Attribute object字段承载所述CRP路由的状态信息。
  22. 根据权利要求13-21任一项所述的方法,其特征在于,所述方法还包括:
    所述网络设备生成第五消息,所述第五消息携带下一跳状态报告信息,所述下一跳状态报告信息记录所述网络设备的第四下一跳的地址和所述第四下一跳的状态信息的映射关系;
    所述网络设备向所述控制器发送所述第五消息,以使所述控制器根据接收到的所述下一跳状态报告信息,更新所述第四下一跳的统计信息,作为重新计算所述网络设备的下一跳的依据。
  23. 根据权利要求22所述的方法,其特征在于:
    所述第五消息为第五BGP UPDATE Message,所述第五BGP UPDATE Message包括多协议可达网络层可达信息MP_REACH_NLRI属性字段和下一跳状态报告属性Next Hop Status Report Attribute字段;所述MP_REACH_NLRI属性字段中包括网络层可达信息NLRI字段,所述NLRI字段承载所述第四下一跳的地址,所述Next Hop Status Report Attribute字段承载所述第四下一跳的状态信息;或
    所述第五消息为第五PCEP Message,所述第五PCEP Message包括消息类型Message-Type字段、下一跳对象Next Hop object字段以及下一跳状态报告属性对象Next Hop Status Report Attribute object字段;所述Message-Type字段指示所述第五PCEP Message用于向所述控制器发送所述下一跳状态报告信息,所述Next Hop object字段承载所述第四下一跳的地址,所述Next Hop Status Report Attribute object字段承载所述第四下一跳的状态信息。
  24. 一种控制器,其特征在于,包括:
    处理模块,用于确定控制路由协议CRP路由表项信息,所述CRP路由表项信息包括路由前缀和网络设备第一下一跳的地址的映射关系;
    所述处理模块,还用于生成第一消息,所述第一消息携带所述CRP路由表项信息,用于发布CRP路由,所述第一消息中包括第一标识信息,所述第一标识信息用于指示所述网络设备将所述CRP路由表项信息保存在所述网络设备的CRP路由表中;
    发送模块,用于向所述网络设备发送所述第一消息,以便于所述网络设备根据所述第一标识信息将所述CRP路由表项信息保存在所述CRP路由表中,并根据所述CRP路由表指导报文转发。
  25. 根据权利要求24所述的控制器,其特征在于,所述CRP路由表项信息进一步包括路由优先级,所述路由优先级用于标识所述CRP路由在被用于指导报文转发时的优先级。
  26. 根据权利要求24或25所述的控制器,其特征在于:所述CRP路由表项信息进一步包括所述第一下一跳的属性信息,所述第一下一跳的属性信息包括以下一种或多种下一跳的属性信息类型:带宽、负载均衡比例和下一跳的类型。
  27. 根据权利要求24-26任一项所述的控制器,其特征在于:
    所述第一消息为第一边界网关协议更新消息BGP UPDATE Message,所述第一BGP UPDATE Message中包括多协议可达网络层可达信息MP_REACH_NLRI属性字段;所述 MP_REACH_NLRI属性字段中包括子地址族标识SAFI字段、网络层可达信息NLRI字段和下一跳信息字段,所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第一标识信息,所述NLRI字段承载所述路由前缀,所述下一跳信息字段承载所述第一下一跳的地址;或
    所述第一消息为第一路径计算单元通信协议消息PCEP Message,所述第一PCEP Message包括消息类型Message-Type字段、路由对象Route object字段以及下一跳对象Next Hop object字段;所述Message-Type字段承载所述第一标识信息,所述Route object字段承载所述路由前缀,所述Next Hop object字段承载所述第一下一跳的地址。
  28. 根据权利要求25所述的控制器,其特征在于:所述第一消息为第一边界网关协议更新消息BGP UPDATE Message,所述第一BGP UPDATE Message中包括多协议可达网络层可达信息MP_REACH_NLRI属性字段和路由同步属性Route Synchronization Attribute字段;所述MP_REACH_NLRI属性字段中包括子地址族标识SAFI字段、网络层可达信息NLRI字段和下一跳信息字段,所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第一标识信息,所述NLRI字段承载所述路由前缀,所述下一跳信息字段承载所述第一下一跳的地址;所述Route Synchronization Attribute字段承载所述路由优先级;或
    所述第一消息为第一路径计算单元通信协议PCEP消息Message,所述第一PCEP Message包括消息类型Message-Type字段、路由对象Route object字段、下一跳对象Next Hop object字段以及路由属性对象Route Attribute object字段;所述Message-Type字段用于承载所述第一标识信息,所述Route object字段承载所述路由前缀,所述Next Hop object字段承载所述第一下一跳的地址,所述PCEP Route Attribute object字段承载所述路由优先级。
  29. 根据权利要求26所述的控制器,其特征在于:
    所述第一消息为第一边界网关协议更新消息BGP UPDATE Message,,所述第一BGP UPDATE Message中包括多协议可达网络层可达信息MP_REACH_NLRI属性字段和下一跳属性Next Hop Attribute字段;所述MP_REACH_NLRI属性字段中包括子地址族标识SAFI字段、网络层可达信息NLRI字段和下一跳信息字段,所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第一标识信息,所述NLRI字段承载所述路由前缀,所述下一跳信息字段承载所述第一下一跳的地址,所述Next Hop Attribute字段承载所述第一下一跳的属性信息,或
    所述第一消息为第一路径计算单元通信协议消息PCEP Message,所述第一PCEP Message包括消息类型Message-Type字段、路由对象Route object字段、下一跳对象Next Hop object字段以及下一跳属性对象Next Hop Attribute object字段;所述Message-Type字段承载所述第一标识信息,所述Route object字段承载所述路由前缀,所述Next Hop object字段承载所述第一下一跳的地址,所述Next Hop Attribute object字段承载所述第一下一跳的属性信息。
  30. 根据权利要求24-29任一项所述的控制器,其特征在于:
    所述处理模块,还用于生成第二消息,所述第二消息携带所述网络设备的第二下 一跳的表项信息,所述第二下一跳的表项信息记录所述第二下一跳的地址与所述第二下一跳的属性信息的映射关系,所述第二消息中包括第二标识信息,所述第二标识信息用于指示所述网络设备将所述第二下一跳的表项信息保存在所述网络设备的下一跳表中;
    所述发送模块,还用于向所述网络设备发送所述第二消息,以便于所述网络设备根据所述第二标识信息将所述第二下一跳的表项信息保存在所述网络设备的下一跳表中。
  31. 根据权利要求30所述的控制器,其特征在于:
    所述第二消息为第二BGP UPDATE Message,所述第二BGP UPDATE Message中包括多协议可达网络层可达性信息MP_REACH_NLRI属性字段和下一跳属性Next Hop Attribute字段;所述MP_REACH_NLRI属性字段中包括子地址族标识SAFI字段、网络层可达性信息NLRI字段和下一跳信息字段,所述SAFI字段指示该MP_REACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第二标识信息,所述NLRI字段承载所述第二下一跳的地址或所述下一跳信息字段承载所述第二下一跳的地址;所述Next Hop Attribute字段承载所述第二下一跳的属性信息;或
    所述第二消息为第二PCEP Message,所述第二PCEP Message包括消息类型Message-Type字段、下一跳对象Next Hop object字段以及下一跳属性对象Next Hop Attribute object字段;所述Message-Type字段用于承载所述第二标识信息,所述Next Hop object字段承载所述第二下一跳的地址,所述Next Hop Attribute object字段承载所述第二下一跳的属性信息。
  32. 根据权利要求24-31所述的控制器,其特征在于:
    所述处理模块,还用于生成第三消息,所述第三消息携带所述网络设备的第三下一跳的地址,所述第三消息中包括第三标识信息,所述第三标识信息用于指示所述网络设备在本地保存的下一跳表中删除与所述第三下一跳的地址对应的所述第三下一跳的表项;
    所述发送模块,还用于向所述网络设备发送所述第三消息,以便所述网络设备根据所述第三标识信息的指示删除所述第三下一跳的表项。
  33. 根据权利要求32所述的控制器,其特征在于;
    所述第三消息为第三BGP UPDATE Message,所述第三BGP UPDATE Message中包括多协议不可达网络层可达性信息MP_UNREACH_NLRI属性字段;所述MP_UNREACH_NLRI属性字段中包括子地址族标识SAFI字段、不可达网络层不可达性信息NLRI字段,所述SAFI字段指示该MP_UNREACH_NLRI属性字段是基于BGP同步地址族所支持的封装格式封装的,并承载所述第三标识信息,所述不可达NLRI字段承载所述第三下一跳的地址;或
    所述第三消息为第三PCEP Message,所述第三PCEP Message包括消息类型Message-Type字段以及下一跳对象Next Hop object字段;所述Message-Type字段承载所述第三标识信息以及指示所述第三PCEP Message用于向所述网络设备发送所述第三下一跳的地址,所述Next Hop object字段承载所述第三下一跳的地址。
  34. 根据权利要求24-33任一项所述的控制器,其特征在于,还包括接收模块,
    所述接收模块,用于接收所述网络设备发送的第四消息,所述第四消息携带路由状态报告信息,所述路由状态报告信息记录所述路由前缀与所述CRP路由的状态信息的映射关系;
    所述处理模块,还用于根据接收到的所述路由状态报告信息,更新所述路由前缀的统计信息,作为重新计算所述CRP路由的依据。
  35. 根据权利要求24-33任一项所述的控制器,其特征在于,还包括接收模块,
    所述接收模块,用于接收所述网络设备发送的第五消息,所述第五消息携带下一跳状态报告信息,所述下一跳状态报告信息记录所述网络设备的第四下一跳的地址和所述第四下一跳的状态信息的映射关系;
    所述处理模块,还用于根据接收到的所述下一跳状态报告信息,更新所述第四下一跳的统计信息,作为重新计算所述网络设备的下一跳的依据。
  36. 一种网络设备,其特征在于,包括:
    接收模块,用于接收控制器发送的第一消息,所述第一消息携带所述控制器确定的控制路由协议CRP路由表项信息,用于发布CRP路由,所述CRP路由表项信息包括路由前缀和第一下一跳的地址的映射关系,所述第一消息中包括第一标识信息;
    处理模块,用于根据所述第一标识信息的指示,将所述CRP路由表项信息保存在本地CRP路由表中,并根据所述CRP路由表指导报文转发。
  37. 根据权利要求36所述的网络设备,其特征在于:所述CRP路由表项信息进一步包括路由优先级,所述路由优先级用于标识所述CRP路由在被用于指导报文转发时的优先级。
  38. 根据权利要求36或37所述的网络设备,其特征在于:所述CRP路由表项信息进一步包括所述第一下一跳的属性信息,所述第一下一跳的属性信息包括以下一种或多种下一跳的属性信息类型:带宽、负载均衡比例和下一跳接入的类型,其中,
    所述处理模块,还用于将所述第一下一跳的地址和所述第一下一跳的属性信息保存在所述网络设备的下一跳表的所述第一下一跳的表项中,并将所述第一下一跳的属性信息发送到转发信息表中,用于指导报文转发,其中,所述第一下一跳的表项记录所述第一下一跳的地址与所述第一下一跳的属性信息的映射关系。
  39. 根据权利要求36-38中任一项所述的网络设备,其特征在于:
    所述接收模块,还用于接收所述控制器发送的第二消息,所述第二消息携带所述网络设备的第二下一跳的表项信息,所述第二下一跳的表项信息包括所述第二下一跳的地址与所述第二下一跳的属性信息的映射关系,所述第二消息中包括第二标识信息;
    所述处理模块,还用于根据所述第二标识信息的指示,将所述第二下一跳的表项信息保存在所述网络设备的下一跳表中。
  40. 根据权利要求36-39任一项所述的网络设备,其特征在于:
    所述接收模块,还用于接收所述控制器发送的第三消息,所述第三消息携带所述网络设备的第三下一跳的地址,所述第三消息中包括第三标识信息;
    所述处理模块,还用于根据所述第三标识信息的指示,在所述网络设备保存的下一跳表中删除与所述第三下一跳的地址对应的所述第三下一跳的表项。
  41. 根据权利要求40所述的网络设备,其特征在于:
    所述处理模块,还用于删除与所述第三下一跳的地址关联的路由表项。
  42. 根据权利要求36-41任一项所述的网络设备,其特征在于,所述网络设备还包括发送模块,
    所述处理模块,还用于生成第四消息,所述第四消息携带路由状态报告信息,所述路由状态报告信息记录所述路由前缀与所述CRP路由的状态信息的映射关系;
    所述发送模块,用于向所述控制器发送所述第四消息,以使所述控制器根据接收到的所述路由状态报告信息,更新所述路由前缀的统计信息,作为重新计算所述CRP路由的依据。
  43. 根据权利要求42所述的网络设备,其特征在在于:
    所述第四消息为第四BGP UPDATE Message,所述第四BGP UPDATE Message包括MP_REACH_NLRI属性字段和路由状态报告属性Route Status Report Attribute字段;所述MP_REACH_NLRI属性字段中包括NLRI字段,所述NLRI字段承载所述路由前缀;所述Route Status Report Attribute字段承载所述CRP路由的状态信息;或者
    所述第四消息为第四PCEP Message,所述第四PCEP Message包括消息类型Message-Type字段、路由对象Route object字段以及路由状态报告属性对象Route Status Report Attribute object字段;所述Message-Type字段指示所述第四PCEP Message用于向所述控制器发送所述路由状态报告信息,所述Route object字段承载所述路由前缀,所述Route Status Report Attribute object字段承载所述CRP路由的状态信息。
  44. 根据权利要求36-41任一项所述的网络设备,其特征在于,所述网络设备还包括发送模块,
    所述处理模块,还用于生成第五消息,所述第五消息携带下一跳状态报告信息,所述下一跳状态报告信息记录所述网络设备的第四下一跳的地址和所述第四下一跳的状态信息的映射关系;
    所述发送模块,还用于向所述控制器发送所述第五消息,以使所述控制器根据接收到的所述下一跳状态报告信息,更新所述第四下一跳的统计信息,作为重新计算所述网络设备的下一跳的依据。
  45. 根据权利要求44所述的网络设备,其特征在于:
    所述第五消息为第五BGP UPDATE Message,所述第五BGP UPDATE Message包括多协议可达网络层可达信息MP_REACH_NLRI属性字段和下一跳状态报告属性Next Hop Status Report Attribute字段;所述MP_REACH_NLRI属性字段中包括网络层可达信息NLRI字段,所述NLRI字段用于承载所述第四下一跳的地址,所述Next Hop Status Report Attribute字段用于承载所述第四下一跳的状态信息;或
    所述第五消息为第五PCEP Message,所述第五PCEP Message包括消息类型Message-Type字段、下一跳对象Next Hop object字段以及下一跳状态报告属性对象Next Hop Status Report Attribute object字段;所述Message-Type字段指示所述第五PCEP Message用于向所述控制器发送所述下一跳状态报告信息,所述Next Hop object字段承载所述第四下一跳的地址,所述Next Hop Status Report Attribute object字段承载所述第四下一跳的状态信息。
  46. 一种通信***,其特征在于,所述通信***包括:根据权利要求24-35中任一项所述控制器;和根据权利要求36-45中任一项所述的网络设备。
PCT/CN2017/095280 2016-08-19 2017-07-31 一种信息同步的方法,装置及*** WO2018032962A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
ES17840937T ES2910849T3 (es) 2016-08-19 2017-07-31 Método, dispositivo y sistema para la sincronización de información
EP22154847.2A EP4060961A1 (en) 2016-08-19 2017-07-31 Information synchronization method, apparatus, and system
EP17840937.1A EP3490201B1 (en) 2016-08-19 2017-07-31 Method, device and system for information synchronization
US16/279,401 US10999194B2 (en) 2016-08-19 2019-02-19 Information synchronization method, apparatus, and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610698182.3 2016-08-19
CN201610698182.3A CN107770073B (zh) 2016-08-19 2016-08-19 一种信息同步的方法,装置及***

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/279,401 Continuation US10999194B2 (en) 2016-08-19 2019-02-19 Information synchronization method, apparatus, and system

Publications (1)

Publication Number Publication Date
WO2018032962A1 true WO2018032962A1 (zh) 2018-02-22

Family

ID=61196390

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/095280 WO2018032962A1 (zh) 2016-08-19 2017-07-31 一种信息同步的方法,装置及***

Country Status (5)

Country Link
US (1) US10999194B2 (zh)
EP (2) EP3490201B1 (zh)
CN (2) CN107770073B (zh)
ES (1) ES2910849T3 (zh)
WO (1) WO2018032962A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113794644A (zh) * 2021-10-12 2021-12-14 新华三信息安全技术有限公司 一种路由表项删除方法及装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018195877A1 (zh) * 2017-04-27 2018-11-01 华为技术有限公司 通信方法、装置和***
US10218572B2 (en) * 2017-06-19 2019-02-26 Cisco Technology, Inc. Multiprotocol border gateway protocol routing validation
CN109361616B (zh) * 2018-10-31 2022-05-31 晶晨半导体(上海)股份有限公司 一种提高网络性能的控制方法
CN111147371B (zh) * 2018-11-02 2022-03-11 华为技术有限公司 处理路由事件记录表项的方法、网络设备和控制设备
CN111371665B (zh) * 2018-12-25 2022-05-13 华为技术有限公司 一种路由限制方法及网络设备
CN112491707B (zh) * 2019-09-11 2022-04-05 华为技术有限公司 一种转发路径的确定方法及装置
CN112822097B (zh) * 2019-11-15 2024-06-18 华为技术有限公司 报文转发的方法、第一网络设备以及第一设备组
US11075835B2 (en) * 2019-12-03 2021-07-27 Wisconsin Alumni Research Foundation Distributed, packet-mediated, packet routing
CN113556282A (zh) * 2020-04-23 2021-10-26 华为技术有限公司 一种路由处理方法及设备
CN116112416A (zh) * 2021-11-11 2023-05-12 中兴通讯股份有限公司 报文转发方法、电子设备及存储介质
CN114615216B (zh) * 2022-03-11 2023-07-21 深圳市风云实业有限公司 一种基于交换芯片的路由表动态调整方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104184663A (zh) * 2014-07-17 2014-12-03 北京交通大学 基于软件定义网络和一体化标识网络的通信方法和装置
CN105391633A (zh) * 2015-12-11 2016-03-09 北京华为数字技术有限公司 转发器、控制器及控制器的路由发布方法
CN105704037A (zh) * 2015-12-31 2016-06-22 北京华为数字技术有限公司 一种表项保存方法和控制器
CN106059924A (zh) * 2016-08-19 2016-10-26 华为技术有限公司 一种管理信息的方法,装置及***

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101163105B (zh) * 2007-11-26 2011-06-01 华为技术有限公司 一种获取路径信息的方法和路径计算节点
US8391303B2 (en) * 2009-04-16 2013-03-05 Futurewei Technologies, Inc. Border gateway protocol (BGP) grouped route withdrawals
US9185070B2 (en) * 2012-05-17 2015-11-10 Harris Corporation MANET with DNS database resource management and related methods
US9191139B1 (en) * 2012-06-12 2015-11-17 Google Inc. Systems and methods for reducing the computational resources for centralized control in a network
US10193801B2 (en) * 2013-11-25 2019-01-29 Juniper Networks, Inc. Automatic traffic mapping for multi-protocol label switching networks
US9634936B2 (en) * 2014-06-30 2017-04-25 Juniper Networks, Inc. Service chaining across multiple networks
US20160191324A1 (en) * 2014-12-26 2016-06-30 vIPtela Inc. Subsequent address family identifier for service advertisements
US10412019B2 (en) * 2015-07-06 2019-09-10 Futurewei Technologies, Inc. Path computation element central controllers (PCECCs) for network services
CN105516028A (zh) * 2015-12-03 2016-04-20 浙江工商大学 一种bgp协议的主从控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104184663A (zh) * 2014-07-17 2014-12-03 北京交通大学 基于软件定义网络和一体化标识网络的通信方法和装置
CN105391633A (zh) * 2015-12-11 2016-03-09 北京华为数字技术有限公司 转发器、控制器及控制器的路由发布方法
CN105704037A (zh) * 2015-12-31 2016-06-22 北京华为数字技术有限公司 一种表项保存方法和控制器
CN106059924A (zh) * 2016-08-19 2016-10-26 华为技术有限公司 一种管理信息的方法,装置及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3490201A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113794644A (zh) * 2021-10-12 2021-12-14 新华三信息安全技术有限公司 一种路由表项删除方法及装置

Also Published As

Publication number Publication date
CN111698162A (zh) 2020-09-22
CN107770073B (zh) 2020-06-02
US20190182152A1 (en) 2019-06-13
EP3490201A1 (en) 2019-05-29
EP4060961A1 (en) 2022-09-21
ES2910849T3 (es) 2022-05-13
CN107770073A (zh) 2018-03-06
EP3490201A4 (en) 2019-06-26
EP3490201B1 (en) 2022-02-23
US10999194B2 (en) 2021-05-04

Similar Documents

Publication Publication Date Title
WO2018032962A1 (zh) 一种信息同步的方法,装置及***
WO2018032961A1 (zh) 一种管理信息的方法,装置及***
WO2021063232A1 (zh) 建立bier转发表项的方法、装置和***
US11888651B2 (en) Virtual private network VPN service optimization method and device
EP3780545B1 (en) Flow specification protocol-based communications method, and device
WO2020182086A1 (zh) 一种bier报文的发送方法和装置
EP3958521A1 (en) Method and apparatus for providing service for service flow
US8665887B2 (en) Number automatic routing method, updating method, withdrawing method, router and device
CN107968750B (zh) 报文传输方法、装置及节点
CN113347091B (zh) 灵活算法感知边界网关协议前缀分段路由标识符
JP5656137B2 (ja) ボーダ・ゲートウェイ・プロトコル・ルートの更新方法およびシステム
WO2017198131A1 (zh) 用于重定向数据流的方法和***、网络设备和控制设备
US20230291682A1 (en) Method and device for processing data packet, storage medium, and electronic device
WO2022184169A1 (zh) 报文转发方法、***、存储介质及电子装置
WO2023274083A1 (zh) 路由发布和转发报文的方法、装置、设备和存储介质
US20220200820A1 (en) Packet Sending Method and Apparatus
WO2022117018A1 (zh) 报文传输的方法和装置
CN113904981A (zh) 一种路由信息处理方法、装置、电子设备和存储介质
WO2022116615A1 (zh) 报文传输的方法、获取对应关系的方法、装置及***
WO2024016869A1 (zh) 一种组播配置方法及装置
WO2024007762A1 (zh) 一种路由发布方法、通信方法及装置
WO2022222582A1 (zh) 一种报文处理方法、装置、存储介质及电子装置
CN118301060A (zh) 组播数据报文的处理方法及装置
CN114650248A (zh) 路由信息的处理方法、***和自治***边界路由器

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17840937

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017840937

Country of ref document: EP

Effective date: 20190222