WO2018137384A1 - 一种调整转发路径的方法、装置及系统 - Google Patents
一种调整转发路径的方法、装置及系统 Download PDFInfo
- Publication number
- WO2018137384A1 WO2018137384A1 PCT/CN2017/110188 CN2017110188W WO2018137384A1 WO 2018137384 A1 WO2018137384 A1 WO 2018137384A1 CN 2017110188 W CN2017110188 W CN 2017110188W WO 2018137384 A1 WO2018137384 A1 WO 2018137384A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- acl
- adjusted
- forwarding
- forwarding device
- information
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/17—Interaction among intermediate nodes, e.g. hop by hop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/72—Routing based on the source address
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Definitions
- the present application relates to the field of communications, and in particular, to a method, device, and system for adjusting a forwarding path.
- the operator of the communication network sometimes adjusts the forwarding path of the message stream used to transmit the user in order to provide the user with a higher quality of service.
- the message flow of the gold card user can be adjusted to a forwarding path with a larger bandwidth resource for transmission, so as to provide a higher quality of service for the gold medal user.
- the technical personnel can configure the packet flow optimization policy on the tuning controller.
- the packet flow optimization policy includes the flow identifier of the target packet flow to be adjusted.
- the device identifier of the forwarding device to be adjusted and the adjusted forwarding path are the next hop information corresponding to the forwarding device to be adjusted.
- the flow identifier of the target packet flow may include information such as the destination address and the source address of the target packet flow.
- the tuned controller sends an access control list (ACL) record to the to-be-adjusted forwarding device according to the device identifier, where the ACL record includes the flow identifier and the next hop information.
- ACL access control list
- the ACL record is received by the forwarding device to determine whether it supports the ACL-based packet flow and whether the ACL has sufficient capacity to store the ACL record. If the ACL is configured to forward the packet based on the ACL, the ACL has enough space to store the ACL. The ACL record is stored in its own ACL. Otherwise, an error message is sent to the tuning controller.
- the tuned controller receives the error message, and sends routing information to the forwarding device to be adjusted, where the routing information includes a destination address of the target packet flow and the next hop information.
- the forwarding device to be adjusted receives the routing information and stores the routing information in its own routing table.
- the ACL of the forwarding device does not have enough capacity to store the ACL record sent by the tuning controller, or the forwarding device does not support the packet flow based on the ACL. Therefore, the ACL record cannot be stored in the ACL. However, in this case, the tuning controller still sends an ACL record to the forwarding device, resulting in wasted resources.
- embodiments of the present disclosure provide a method, apparatus, and system for adjusting a forwarding path.
- the technical solution is as follows:
- the embodiment of the present application provides a method for adjusting a forwarding path, where the method includes a packet flow optimization policy, where the packet flow optimization policy includes a target packet flow to be adjusted.
- the flow identifier, the device identifier of the forwarding device to be adjusted, and the adjusted forwarding path of the target packet flow in the to-be-adjusted forwarding device Corresponding next hop information is obtained, and the state information of the access control list ACL of the forwarding device to be adjusted is obtained according to the device identifier, where the state information includes resource usage information and capability information of the ACL,
- the capability information is used to indicate whether the to-be-adjusted forwarding device supports forwarding of the packet flow based on the ACL; and determining, according to the state information, that the ACL includes idle resources, and the to-be-adjusted forwarding device supports forwarding based on the ACL And sending an ACL record to the to-be-adjusted forwarding device, where the ACL record includes the
- the ACL record is sent to the to-be-adjusted forwarding device, and the ACL record is not sent in other cases, except that the ACL is included in the ACL, and the forwarding device is configured to support the forwarding of the packet based on the ACL.
- the solution is adopted, which not only saves the time for testing the forwarding device to be adjusted, but also reduces the waste of resources caused by sending the ACL record.
- the tuning controller when the idle resource included in the ACL is less than or equal to a preset threshold, the tuning controller obtains a priority of the target packet flow; When the priority is reached, the ACL record is sent to the forwarding device to be adjusted. In this case, when the ACL has a small amount of idle resources, the ACL is used to forward the packet flow to ensure high service quality for the high-priority packet flow.
- the tuning The controller stores the routing information including the destination address and the next hop information in the routing table of the to-be-adjusted forwarding device and deletes the ACL of the to-be-adjusted forwarding device by controlling the forwarding device to be adjusted.
- the ACL record In this way, the ACL record corresponding to the packet flow that can be forwarded by using the routing table is deleted from the ACL of the forwarding device to be adjusted, so that the ACL releases more idle resources, so that other packet flows that cannot be forwarded through the routing table adopt ACL. Forwarding to improve resource usage efficiency.
- the tuning controller determines, according to the state information, that there is no idle resource in the ACL or When the forwarding device to be adjusted does not support forwarding the packet flow based on the ACL, the tuning controller sends routing information to the forwarding device to be adjusted, where the routing information includes the destination address and the next Jump information.
- the routing table can be used to adjust the forwarding path of the target packet flow to ensure that the target packet can be successfully adjusted. The forwarding path of the stream.
- the flow identifier further includes a source address of the target packet flow
- the tuning controller sends the routing information to the to-be-adjusted forwarding device, the tuning control
- the device determines that the current ACL includes an idle resource, and the to-be-adjusted forwarding device supports forwarding the packet flow based on the ACL, and then controls the to-be-adjusted forwarding device to include the ACL record of the flow identifier and the next hop information.
- the routing information is deleted in the ACL of the forwarding device to be adjusted and deleted from the routing table of the forwarding device to be adjusted.
- the ACL record including the flow identifier and the next hop information is moved to the ACL, and the ACL record of the flow identifier is not advertised by the source address. Message flow Successfully forwarded.
- the tuning controller obtains the to-be-adjusted forwarding from the correspondence between the device identifier saved in the tuning controller and the state information of the ACL according to the device identifier. Status information of the ACL of the device. The device information is stored in the corresponding relationship according to the device ID of the device to be adjusted. effectiveness.
- the tuning controller before the acquiring the status information of the ACL, the tuning controller further receives the packet to be sent by the forwarding device, and obtains the device to be adjusted according to the packet. And the status information of the ACL and the ACL are stored in the corresponding relationship between the device identifier and the status information of the ACL. You can obtain the status information of the ACL of the device to be advertised in the local device. This ensures that the ACL status of the device to be adjusted can be obtained in time when the packet forwarding path is adjusted.
- the packet includes the device identifier of the forwarding device to be adjusted and forwarding chip usage state information; and the tuning controller extracts the to-be-tuned included by the packet
- the device identifier of the forwarding device and the forwarding chip usage state information are obtained; and the state information of the ACL of the forwarding device to be adjusted is obtained according to the forwarding chip usage state information.
- the packet carries the forwarding chip usage status information of the forwarding device to be adjusted, and the status information of the ACL of the forwarding device to be adjusted can be successfully obtained according to the forwarding chip usage status information.
- the embodiment of the present application provides a method for adjusting a forwarding path, where the method for obtaining a forwarding chip usage state information or an ACL status information is generated by a forwarding device to be adjusted, and a packet is generated, where the packet carries The forwarding chip uses state information or state information of the ACL; and sends the packet to the tuning controller.
- the state information of the forwarding chip is used to obtain the state information of the ACL of the forwarding device to be adjusted, and the tuning controller is adjusted in the to-be-tuned controller. Adjust the forwarding path of the packet flow transmitted on the forwarding device.
- the message includes a type length value TLV field, and the TLV field includes a type T field, a length L field, and a value V field, where the V field carries the forwarding chip usage status.
- Information or status information of the ACL includes a type length value TLV field, and the TLV field includes a type T field, a length L field, and a value V field, where the V field carries the forwarding chip usage status.
- the forwarding chip usage status information includes a total storage space capacity of the forwarding chip in the forwarding device to be transferred and usage status information of each logical table, and the logical table stored by the forwarding chip At least one of an ACL, a Qos table, an LPTS table, and an IPFIX table is included.
- the packet includes a first TLV field and a second TLV field corresponding to each logical table, where the first TLV field is used to carry the total storage space, and the second TLV field is used to carry The usage status information of its corresponding logical table. This ensures that the device to be adjusted can successfully transmit its forwarding chip usage status information.
- the to-be-adjusted forwarding device receives an ACL record sent by the tuning controller,
- the ACL record includes the flow identifier of the target packet flow to be adjusted and the adjusted next hop information of the forwarding path of the target packet flow on the to-be-adjusted forwarding device; storing the ACL record in the The ACL of the forwarding device is to be adjusted.
- the flow identifier is a destination address of the target packet flow
- the to-be-adjusted forwarding device stores the ACL record in an ACL of the to-be-adjusted forwarding device
- the routing information including the destination address and the next hop information is also stored in the routing table of the forwarding device to be adjusted, and the ACL record is deleted in the ACL.
- the ACL record corresponding to the packet flow that can be forwarded by using the routing table is deleted from the ACL of the forwarding device to be adjusted, so that the ACL releases more idle resources, so that other packet flows that cannot be forwarded through the routing table adopt ACL. Forwarding to improve resource usage efficiency.
- the to-be-adjusted forwarding device receives routing information sent by the tuning controller,
- the routing information includes the destination address of the target packet flow to be adjusted and the adjusted next hop information of the forwarding path of the target packet flow on the to-be-adjusted forwarding device; storing the routing information in the The routing table of the forwarding device to be adjusted.
- the flow identifier of the target packet flow includes a source address of the target packet flow
- the to-be-adjusted forwarding device stores the routing information in the to-be-adjusted forwarding device.
- the ACL record After receiving the ACL record sent by the tuned controller, the ACL record includes the flow identifier and the next hop information, and the ACL record is stored in the forwarding device to be adjusted.
- the routing information is deleted in the routing table.
- the ACL record including the flow identifier and the next hop information is moved to the ACL, and the ACL record of the flow identifier is not advertised by the source address.
- the packet flow can be successfully forwarded.
- the embodiment of the present application provides an apparatus for adjusting a forwarding path, where the method in any one of the possible aspects of the first aspect or the first aspect is performed.
- the apparatus comprises means for performing the method of any of the possible aspects of the first aspect or the first aspect.
- the embodiment of the present application provides an apparatus for adjusting a forwarding path, which is used to perform the method in any one of the possible aspects of the second aspect or the second aspect.
- the apparatus comprises means for performing the method of any of the possible aspects of the second aspect or the second aspect.
- an embodiment of the present application provides an apparatus for adjusting a forwarding path, where the apparatus includes an input interface. Port, 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 any of the first aspect or any of the possible aspects of the first aspect.
- an embodiment of the present application provides an apparatus for adjusting a forwarding path, where the apparatus includes: an input interface, an output interface, a processor, and a 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 any of the possible aspects of the second aspect or the second aspect.
- the embodiment of the present application provides a system for adjusting a forwarding path, where the system includes the apparatus of the third aspect or the fifth aspect, and the apparatus of the fourth aspect or the sixth 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 design or the second aspect of the first aspect The instructions of the method in any possible design.
- FIG. 1 is a schematic diagram of a network architecture provided by Embodiment 1 of the present disclosure.
- 2-1 is a flowchart of status information of a storage ACL according to Embodiment 2 of the present disclosure
- OSPF Open Shortest Path First
- TLV Type Length Value
- FIG. 2-4 is a schematic structural diagram of another TLV according to Embodiment 2 of the present disclosure.
- FIGS. 2-5 are schematic structural diagrams of an intermediate system to intermediate system (ISIS) message according to Embodiment 2 of the present disclosure
- FIGS. 2-6 are schematic structural diagrams of another TLV according to Embodiment 2 of the present disclosure.
- FIGS. 2-7 are schematic structural diagrams of another TLV according to Embodiment 2 of the present disclosure.
- 3-1 is a flowchart of a method for adjusting a forwarding path according to Embodiment 3 of the present disclosure
- Embodiment 3 of the present disclosure is a topology diagram of Embodiment 3 of the present disclosure.
- FIG. 4 is a schematic structural diagram of an apparatus for adjusting a forwarding path according to Embodiment 4 of the present disclosure
- FIG. 5 is a schematic structural diagram of an apparatus for adjusting a forwarding path according to Embodiment 5 of the present disclosure
- FIG. 6 is a schematic structural diagram of an apparatus for adjusting a forwarding path according to Embodiment 6 of the present disclosure
- FIG. 7 is a schematic structural diagram of another apparatus for adjusting a forwarding path according to Embodiment 6 of the present disclosure.
- FIG. 8 is a schematic structural diagram of a system for adjusting a forwarding path according to Embodiment 7 of the present disclosure.
- the communication network can be used to transmit the packet flow of the user.
- the forwarding of the packet flow of the user can be adjusted.
- the path that is, the user's packet flow is switched from the current forwarding path to another forwarding path, and the quality of the service provided by the other forwarding path is higher or lower than the current forwarding path.
- the packet flow of these users can be adjusted from the current forwarding path to another forwarding path whose bandwidth resource is higher than the current forwarding path.
- the detailed process of adjusting the forwarding path can be implemented by the following embodiments.
- an implementation of the present disclosure provides a network architecture for adjusting a forwarding path of a packet flow, including:
- the forwarding device can be a router, a repeater, or a switch.
- the forwarding device includes a forwarding chip, and the forwarding chip can be used for storing an ACL, a quality of service (QoS) table, and a local packet transport service (LPTS). At least one of a table and a logical table such as an Internet Protocol Flow Information Export (IPFIX) table.
- IPFIX Internet Protocol Flow Information Export
- the forwarding device may establish a network connection with the collection device and the tuning controller respectively, and send a message to the tuning controller when the content of the storage device is changed or the content stored in the forwarding chip changes, so that the tuning controller is configured according to the tuning controller.
- the forwarding device is further configured to: when receiving the packet flow, forward the packet flow according to the stored next hop information of the packet flow, and simultaneously copy the packet A stream of the message is sent to the collection device for the copied message stream.
- the collection device may also establish a network connection with the policy management device, and receive the packet flow sent by each forwarding device, and obtain the description information of each received packet flow.
- the description information of the packet flow includes the source address of the packet flow.
- the information such as the source port number, the destination address, the destination port number, the protocol used, the bandwidth used, and the forwarding path of the packet is forwarded to the policy control device.
- the policy control device may also establish a network connection with the tuning controller, and receive the description information of each packet flow sent by the collection device, display the description information of each packet flow in the topology diagram of the communication network, and obtain the administrator according to the information.
- a packet flow optimization policy configured by the description of each packet flow, where the packet flow optimization policy includes a flow identifier of the target packet flow to be adjusted, a device identifier of the forwarding device to be adjusted, and an adjusted target packet flow.
- the forwarding path is the next hop information corresponding to the forwarding device to be adjusted, and the flow identifier includes at least one of a source address and a destination address of the target packet flow, and the packet flow tuning policy is sent to the tuning controller.
- the tuned controller is configured to receive the packet sent by the forwarding device, obtain the ACL state information of the forwarding device according to the packet, and receive the packet flow optimization policy sent by the policy control device to obtain the forwarding device to be adjusted.
- the status information of the ACL is adjusted according to the status information and the packet flow tuning policy to adjust the forwarding path of the target packet flow.
- the tuning controller can be a Network Controller (NS).
- NS Network Controller
- the tuning controller needs to locally store the state information of the ACL of each forwarding device, and then adjust the report on a forwarding device.
- the forwarding path of the packet flow is adjusted according to the stored state information of the ACL of the forwarding device. Then, the ACL status information of the forwarding device is stored in the following process of the second embodiment, and the forwarding path of the packet flow is adjusted through the following process in the third embodiment.
- FIG 2-1 is a flowchart of storing status information of an ACL according to an embodiment of the present disclosure, where the process includes:
- Step 201 The forwarding device sends a packet to the tuning controller.
- the packet may include the device identifier of the forwarding device and the status information of the ACL, or the packet may include the device identifier of the forwarding device and the forwarding chip usage status information.
- the forwarding device may be any forwarding device in the communication network, and the forwarding device includes a forwarding chip.
- the forwarding chip usage status information is used to indicate the status information of the ACL in the forwarding chip, and the status information includes resource usage information and capability information of the ACL, where the capability information is used to indicate whether the forwarding device supports forwarding the report based on the ACL.
- Stream of text The resource usage information may be an idle resource size or an available resource size of the ACL.
- the size of the idle resource can be the number of idle entries in the ACL.
- the storage space of the forwarding chip includes at least one of logical tables such as an ACL, a Qos table, an LPTS table, and an IPFIX table.
- the packet may include status information of the ACL.
- the forwarding chip usage status information may include a total storage space capacity of the forwarding chip and usage status information of each logical table.
- the usage status information of each logical table may be usage status information of the ACL, usage status information of the QoS table, usage status information of the LPTS table, and usage status information of the IPFIX table. It should be noted that, when the forwarding device supports forwarding the packet flow based on the ACL, the forwarding chip usage status information includes usage status information of the ACL; and the forwarding device does not support forwarding the packet flow based on the ACL.
- the forwarding chip usage status information does not include the usage status information of the ACL.
- the usage status information of the ACL includes the number of used entries in the ACL, the number of unused entries, the number of reserved entries, and the size of the entries.
- the usage status information of the QoS table includes the number of entries that have been used in the QoS table, the number of unused entries, the number of reserved entries, and the size of the entry.
- the usage status information of the LPTS table includes the number of entries that the LPTS table has been used, the number of unused entries, the number of reserved entries, and the size of the entry.
- the usage status information of the IPFIX table includes the number of entries that have been used in the IPFIX table, the number of unused entries, the number of reserved entries, and the size of the entries.
- a reserved entry is an entry that cannot be used.
- a reserved entry in an ACL is an entry that cannot be used in an ACL.
- the forwarding device sends a packet including the device identifier of the forwarding device and the status information of the ACL or the device identifier of the forwarding device to the tuning controller when the device is powered on or when the content stored in the forwarding chip changes. And forwarding the message using the status information of the chip.
- the packet may be a packet of a Border Gateway Protocol-Label Switch (BGP-LS), a BGP Monitoring Protocol (BMP), or an Internal Gateway Protocol (IGP) protocol.
- BGP-LS Border Gateway Protocol-Label Switch
- BMP BGP Monitoring Protocol
- IGP Internal Gateway Protocol
- a TLV field is newly added to the protocol packets, and the TLV field carries the status information of the ACL of the forwarding device or the forwarding chip usage status information of the forwarding device.
- the source address field of the protocol packet carries the device identifier of the forwarding device.
- the TLV field includes a T field, an L field, and a V field, and the V field carries status information of the ACL of the forwarding device or forwarding chip usage status information of the forwarding device.
- OSPF packets For example, in this embodiment, two types of packets are defined, which are OSPF packets and ISIS packets.
- the Type is the packet type field.
- the packet is an OSPF packet.
- Length is a length field, which is used to carry the length of other parts except the Type and Length.
- the TLV field is used to carry status information of the ACL of the forwarding device or forwarding chip usage status information for carrying the forwarding device.
- the Forwarding Engine ID field is used to indicate the forwarding engine that is referred to. This ID is unique within each router/device range.
- Distribution Tuple Number Indicates the number of hash tuples.
- a hash tuple, the Dist Algo Type, a combination of Encap Type and Profile ID, is uniquely identified by the Tuple ID.
- Tuple ID Uniquely identifies a hash tuple. This identifier is unique within the scope of a Forwarding Engine ID.
- the Dist Algo Type field indicates the type of hash algorithm supported by the forwarding engine.
- Fwd Encap Type is used to indicate the forwarding type.
- the Profile ID is used to represent a predefined set of commonly used hash parameters.
- the OSPF packet may include at least one TLV field.
- the OSPF packet may include a TLV field for carrying the ACL state information of the forwarding device.
- the OSPF packet may include a first TLV and at least one second TLV, where the first TLV may be used to carry the storage space of the forwarding chip of the forwarding device. total capacity.
- Each of the at least one second TLV corresponds to a logical table in the forwarding chip for carrying usage status information of its corresponding logical table.
- Type is a type field
- Type is the forwarding chip attribute type length value (TCAM-ATTR-TLV), which indicates that the first TLV carries the total storage space capacity
- Capacity is the capacity field, which is used for carrying and forwarding.
- the total storage capacity of the chip in M-bit
- Speed is the speed field, which is used to carry the maximum search speed of the forwarding chip.
- the unit is Million Search Per Second
- the Interface Type is the interface type field, which is used to carry the interface type of the forwarding chip.
- NSE Network Search Engine
- LA-1 Line Amplifier
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- AMCC-XSC Applied Micro Circuit Corporation external search co-processor
- the structure of the second TLV field shown in Figure 2-4 is shown in Figure 2-4.
- the LTB-ID is an identifier field, which is used to carry a logical table identifier (Logical Table Identifier) in the forwarding chip.
- the identifier of the logical table may be an integer.
- the value 1 may be used as the identifier of the ACL
- the value 2 may be used as the identifier of the QoS table.
- the APP-ID is a service type field, and is used to carry the name of the logical table in the forwarding chip, and the second TLV is used to carry the usage status information of the logical table corresponding to the name.
- the logical table has four types: ACL, QoS table, LPTS table and IPFIX table. For example, when the value of the field is 1, the usage status information of the ACL is carried. When the value is 2, the usage status information of the QoS table is carried. When the value is 3, the usage status information of the LPTS table is carried. When the Value value is 4, it indicates that the usage status information of the IPFIX table is carried.
- the Compression Level is a compression level field, and is used to carry the compression level of the data of the logical table carried in the service type field; for example, when the value of the field is 0, the compression level is Level-0; The value of this field is 1 and the compression level is Level-1. When the value of the field is 2, the compression level is Level-2. When the value of the field is 3, the compression level is Level. -3.
- Priority is a priority field, which is used to carry the priority of the logical table, and may be an integer. For example, a value that is larger may indicate a higher priority or a smaller value indicates a higher priority;
- the Key Size is an entry size field and is used to carry the size of each entry in the logical table. For example, if the value of the field is 160, the size of the entry is 160 bits. When the value of the field is 640, the size of the entry is 640 bits.
- Allocated Entries is an entry field that carries the number of entries already used in the logical table.
- Free Entries is a free entry field that carries the number of unused entries in the logical table.
- Reserved Entries is a reserved entry field that carries the number of entries reserved in the logical table.
- Figure 2-5 shows the structure of the ISIS message.
- Type is a type field
- the packet is an ISIS packet.
- Length is a length field and is used to carry the packet length.
- the TLV field is used to carry status information of the ACL of the forwarding device or forwarding chip usage status information for carrying the forwarding device.
- the Forwarding Engine ID field is used to indicate the forwarding engine that is referred to. This ID is unique within each router/device range.
- Distribution Tuple Number Indicates the number of hash tuples.
- a hash tuple, the Dist Algo Type, a combination of Encap Type and Profile ID is uniquely identified by the Tuple ID.
- Tuple ID Uniquely identifies a hash tuple. This identifier is unique within the scope of a Forwarding Engine ID.
- the Dist Algo Type field indicates the type of hash algorithm supported by the forwarding engine.
- Fwd Encap Type is used to indicate the forwarding type.
- the Profile ID is used to represent a predefined set of commonly used hash parameters.
- the ISIS message may include at least one TLV field.
- the ISIS message may include a TLV field for carrying the status information of the ACL of the forwarding device.
- the ISIS message may include a first TLV and at least one second TLV, where the first TLV may be used to carry the storage space of the forwarding chip of the forwarding device. total capacity.
- Each of the at least one second TLV corresponds to a logical table in the forwarding chip for carrying usage status information of its corresponding logical table.
- Type is a type field
- Length is a length field, which is used to carry the length of the field
- Capacity is a capacity field, which is used to carry the total storage capacity of the forwarding chip.
- the unit is M-bit;
- the speed field is used to carry the maximum search speed of the forwarding chip.
- the unit is the Million Search Per Second.
- the interface type is the interface type field, which is used to carry the interface type of the forwarding chip.
- the interface types are as follows: NSE, LA -A, ASIC, FPGA, AMCC-XSC.
- the second TLV is shown in Figure 2-7.
- Type is a type field
- Length is a length field.
- the LTB-ID is an identifier field, which is used to carry a logical table in the forwarding chip. Logical Table Identifier; the ID of the logical table may be an integer. For example, the value 1 may be used as the identifier of the ACL, and the value 2 may be used as the identifier of the QoS table.
- the APP-ID is a service type field, and is used to carry the name of the logical table in the forwarding chip, and the second TLV is used to carry the usage status information of the logical table corresponding to the name.
- the logical table has ACL, QoS table, LPTS table and IPFIX table.
- the value of the field has a value of 1, it can indicate the usage status information of the ACL;
- the Value value is 2, which indicates that the usage status information of the QoS table is carried.
- the Value value is 3
- the usage status information of the LPTS table is carried.
- the Value value is 4
- the usage status information of the IPFIX table is carried.
- the Compression Level is a compression level field, which is used to carry the compression level of the logical table data carried in the service type field. For example, when the value of the field is 0, the compression level is Level-0; when the value of the field is 1, the compression level is Level-1; when the value of the field is 2, the compression level is Level-2; when the value of the field is 3, the compression level is Level-3.
- Priority is a priority field, which is used to carry the priority of the logical table, and may be an integer. For example, a value that is larger may indicate that the priority is higher or a smaller value indicates that the priority is higher;
- the Key Size is an entry size field and is used to carry the size of each entry in the logical table. For example, if the value of the field is 160, the size of the entry is 160 bits. When the value of the field is 640, the size of the entry is 640 bits.
- Allocated Entries is an entry field that carries the number of entries already used in the logical table.
- Free Entries is a free entry field that carries the number of unused entries in the logical table.
- Reserved Entries is a reserved entry field that carries the number of entries reserved in the logical table.
- Step 202 The tuned controller receives the packet sent by the forwarding device, and obtains the device identifier of the forwarding device and the ACL state information according to the packet.
- the device identifier of the forwarding device and the status information of the ACL are extracted from the packet.
- the forwarding chip usage status information includes only the usage status information of the ACL, and the status information of the ACL is determined according to the number of unused entries and the number of reserved entries included in the usage status information of the ACL;
- the state information of the ACL such as the ACL, the QoS table, the LPTS table, and the IPFIX table, is obtained.
- the status information of the ACL is obtained through the following 2021 to 2027, including:
- step 2021 Determine whether the forwarding chip usage status information includes usage status information of the ACL, and if yes, determine that the capability information of the ACL is used to indicate that the forwarding device supports forwarding the packet flow based on the ACL, and step 2022 is performed.
- the capability information of the ACL is determined to indicate that the forwarding device does not support forwarding the packet flow based on the ACL, and the return is ended.
- the number of entries is calculated according to the size of the idle storage space and the size of the entry of the ACL. If the number of entries is less than the number of entries that are not used by the ACL, the resource usage information of the ACL is determined. And the number of the entries of the ACL is determined to be the number of the entries that are not used by the ACL, if the number of the entries is greater than or equal to the number of the entries that are not used by the ACL.
- Step 203 The tuned controller stores the device identifier of the forwarding device and the ACL state information in a corresponding relationship between the device identifier and the ACL state information.
- the tuned controller includes a mapping relationship table, where the mapping relationship table is used to store the correspondence between the device identifier and the ACL state information.
- the tuning controller may obtain the state information of the ACL of each forwarding device in the manner of 201 to 203 above.
- an embodiment of the present disclosure provides a method for adjusting a forwarding path, including:
- Step 301 The policy control device obtains a packet flow optimization policy, and sends the packet flow optimization policy to the tuning controller.
- the packet flow tuning policy obtained by the policy management device can be configured by the administrator.
- the policy management device can obtain the description of the packet flow in the communication network and display it to the administrator. Then, the administrator configures the packet flow optimization policy according to the description of the displayed packet flow.
- the packet flow optimization policy is adopted.
- the flow identifier of the target packet flow to be adjusted, the device identifier of the forwarding device to be adjusted, and the adjusted next hop information of the forwarding path for transmitting the target packet flow on the forwarding device to be adjusted, and the forwarding device to be adjusted It is the forwarding device through which the target packet flows.
- the policy management device obtains the description information of the packet flow and displays it to the administrator through the collection device.
- the description information may include the following steps of 3011 and 3013:
- the forwarding device sends the packet stream it receives to the collecting device.
- the forwarding device can send the packet stream it receives to the collecting device in the following two situations, including:
- the forwarding device sends the packet stream that it receives to the collecting device when receiving the packet stream.
- the forwarding device copies the received packet flow and sends the copied packet flow to the collection device.
- the forwarding device sends the received packet flow to the collection device when receiving the collection command sent by the collection device.
- the collection device periodically broadcasts acquisition commands to each of the forwarding devices within the communication network.
- the forwarding device copies each packet stream that it currently receives, and sends the copied packet stream to the collection device.
- the collecting device receives the packet flow sent by each forwarding device, obtains the description information of each received packet flow, and sends the description information of each packet flow to the policy control device.
- the description of the packet flow includes the source address, the source port number, the destination address, the destination port number, the protocol used, the occupied bandwidth, and the forwarding path used to transmit the packet flow.
- the packet flow is composed of at least one packet, and the forwarding device receives the packet flow for a period of time, and also sends the packet flow to the collection device for a period of time.
- the source device, the source port number, the destination address, and the destination port number of the packet flow are extracted from the packet header of the packet And the protocol used; the bandwidth occupied by the packet flow is calculated according to the data size of the received packet flow and the duration of the period.
- each forwarding device that receives the packet flow in the communication network sends the packet flow to the collection device. Therefore, the collection device can determine each forwarding device that sends the packet flow, and the device identifier of each forwarding device is composed. The forwarding path of the packet flow, thereby obtaining description information of the packet flow.
- the policy management device receives the description information of each packet flow, and displays description information of each packet flow.
- the policy management device may include a topology map of the communication network and routing information for forwarding the packet flow included in each forwarding device in the communication network, where each routing information includes a destination address and next hop information, and the next The hop information may be a port number on the forwarding device, and the port corresponding to the port number is used to connect to another forwarding device.
- the policy control device receives the description information of each packet flow.
- the description of the packet flow includes the forwarding path, source address, and source port in the topology map of the communication network. Number, destination address, destination port number, protocol used, and bandwidth usage.
- the policy management device displays the network topology as shown in Figure 3-2.
- the packet flow passes through the forwarding devices W1, W3, W5, W6, and W7.
- the description of the packet flow includes the source address of the packet flow being IP1 and the source port number being 0.
- the destination address is IP2, the destination port number is 1, the protocol used is TCP (Transmission Control Protocol), the occupied bandwidth is 50M, and the device identifiers of the forwarding devices W1, W3, W5, W6, and W7 are composed.
- TCP Transmission Control Protocol
- a path is displayed in the network topology diagram shown in Figure 3-2.
- the path is forwarded by the forwarding devices W1, W3, W5, W6, and W7.
- the path is the forwarding path of the packet flow and is in the network topology.
- the source address IP1, the source port number 0, the destination address IP2, the destination port number 1, the protocol TCP used, and the occupied bandwidth size 50M of the packet flow are displayed.
- the administrator can configure the packet flow optimization policy on the policy management device.
- the configuration process can look like this:
- the administrator can select the packet flow to be adjusted as the target packet flow to be adjusted according to the description of each packet flow displayed by the policy management device, and configure the flow identifier of the target packet flow. Then, from the target The forwarding device that the packet flows through is selected as the forwarding device to be adjusted. The administrator needs to adjust the forwarding path for transmitting the target packet flow on the forwarding device to be adjusted. Finally, the adjusted forwarding path is configured. The corresponding next hop information on the forwarding device is to be adjusted, and the forwarding device corresponding to the next hop information includes routing information for forwarding the target packet flow.
- the policy management device obtains the flow identifier of the target packet flow selected by the administrator, the device identifier of the forwarding device to be adjusted, and the next hop information, and forms a packet flow optimization policy.
- the flow identifier configured by the administrator includes at least one of a source address and a destination address of the target packet flow.
- the administrator needs to adjust the forwarding path of each packet flow corresponding to the source address, that is, the packet flow corresponding to the source address is the target packet to be adjusted.
- the flow identifier includes the destination address of the target packet flow, it indicates that the administrator wants to adjust the forwarding path of each packet flow corresponding to the destination address.
- the path, that is, the packet flow corresponding to the destination address is the target packet flow to be adjusted; when the flow identifier includes the source address and the destination address of the target packet flow, it indicates that the administrator wants to adjust the source address and the destination.
- the forwarding path of each packet flow corresponding to the address that is, the packet flow corresponding to the source address and the destination address is the target packet stream to be adjusted.
- the forwarding device to be adjusted by the administrator is usually a forwarding device located at the edge of an Autonomous System (AS).
- AS Autonomous System
- the communication network includes multiple ASs.
- the administrator generally selects the forwarding device at the edge of the AS as the to-be-adjusted forwarding device from the forwarding devices through which the target packet flows.
- the forwarding device corresponding to the next hop information configured by the administrator includes the routing information for forwarding the target packet flow.
- the specific configuration process may be: first, determining, from the topology map, each forwarding that is connected to the forwarding device to be adjusted.
- the device obtains the routing information included in each of the determined forwarding devices from the policy management device, and selects, from the determined forwarding devices, a forwarding device that includes routing information for forwarding the target packet flow, and finds and coordinates the forwarding device to be adjusted.
- the port number of the port to which the forwarding device is connected, and the port number is used as the next hop information.
- the routing information used to forward the target packet flow refers to the routing information including the destination address of the target packet flow.
- the communication network may be divided into a plurality of virtual private networks (VPNs) at the logical layer, and the routing table corresponding to each VPN is included on the forwarding device to be adjusted.
- VPNs virtual private networks
- the policy control device may also obtain the attribute of the VPN selected by the administrator, and the message flow tuning policy may further include the attribute of the VPN.
- the administrator can select the packet flow shown in the figure as the target packet flow to be adjusted.
- the flow identifier of the target packet flow includes the source address IP1 and the destination address IP2.
- the communication network consists of two ASs, AS1 and AS2.
- the edge forwarding device at the AS1 is the forwarding device W2 and W3. Therefore, the administrator can select the forwarding device W3 located at the edge of the AS1 as the to-be-adjusted forwarding device from the forwarding devices W1, W3, W5, W6, and W7 through which the target packet flows.
- the administrator configures the adjusted forwarding path to be the next hop information corresponding to the forwarding device W3, and the configuration process is: the administrator can determine the forwarding device to be adjusted from the topology diagram shown in Figure 3-2. W3 connected forwarding devices W1, W4 and W5. It is assumed that the forwarding device W4 includes routing information for forwarding the target packet flow, and the port number of the port connected to the forwarding device W4 on the forwarding device W3 to be adjusted is 1. The administrator can select the forwarding device W4 and use the port number 1 of the port connected to the forwarding device W4 on the forwarding device W3 as the next hop information. Therefore, the packet flow optimization policy configured by the administrator includes the flow identifier of the target packet flow being IP1 and IP2, and the device identifier and the next hop information of the forwarding device W3 are set to port number 1.
- Step 302 The tuning controller receives the packet flow optimization policy, and obtains the state information of the ACL of the forwarding device to be adjusted according to the device identifier of the forwarding device to be adjusted included in the packet flow optimization policy.
- the status information of the ACL includes resource usage information and capability information of the ACL, where the capability information is used to indicate whether the forwarding device to be adjusted supports forwarding of the packet flow based on the ACL.
- the state information of the ACL of the forwarding device to be adjusted is obtained from the correspondence between the device identifier saved by the tuning controller and the state information of the ACL.
- the corresponding relationship between the device identifier and the status information of the ACL can be obtained in the manner provided in the foregoing Embodiment 2, and is not described in detail herein.
- the tuning controller sends a report command to the to-be-adjusted forwarding device according to the device identifier of the forwarding device to be adjusted, where the reporting command carries the indication information for indicating that the forwarding device needs to adjust the packet, and the packet may include the to-be-adjusted
- the device identifier of the forwarding device and the status information of the ACL or the packet may include the device identifier of the forwarding device to be adjusted and the forwarding chip usage status information.
- the to-be-adjusted forwarding device receives the reporting command, and then sends a packet to the tuning controller according to the operation of step 201 according to the indication information carried in the reporting command.
- the tuned controller receives the packet, and obtains the device identifier and ACL state information of the forwarding device to be adjusted according to the operation of the foregoing step 202.
- the reporting command may be a Management Information Base (MIB) protocol packet or a Simple Network Management Protocol (SNMP) protocol packet.
- MIB Management Information Base
- SNMP Simple Network Management Protocol
- One or more bits may be newly added in the MIB protocol message or the SNMP protocol message, and the newly added bit is used to carry the indication information; or, one or more reserved bits in the MIB protocol message or the SNMP protocol message are used. Carry the indication information.
- MIB Management Information Base
- SNMP Simple Network Management Protocol
- Step 303 When it is determined that the ACL includes the idle resource according to the status information, and the forwarding device to be adjusted supports the packet flow based on the ACL, the tuning controller sends an ACL record to the to-be-adjusted forwarding device, where the ACL record includes the target report.
- the stream identifier and next hop information of the stream are the same or not.
- the ACL record includes a flow identifier and a forwarding rule of the target packet flow, where the forwarding rule includes next hop information of the target packet flow.
- the forwarding device to be adjusted receives the ACL record, and stores the ACL record in the ACL included therein. After the target device receives the target packet flow, the next hop information of the target packet flow is queried from the ACL according to the flow identifier of the target packet flow, and the target packet is forwarded according to the next hop information. Stream of text.
- the tuning controller may further determine whether the size of the idle resource included in the ACL is less than a preset threshold. Obtaining a priority of the target packet flow; when the priority reaches the set priority, sending an ACL record to the forwarding device to be adjusted; when the priority does not reach the set priority and the flow identifier of the target packet flow includes the target When the destination address of the packet flow is sent, the routing information including the destination address and the next hop information is sent to the forwarding device to be adjusted.
- the tuning controller sends an error message to the policy control device.
- the policy management device receives the error message and prompts the administrator.
- the tuning controller may store the correspondence between the flow identifier and the priority in advance.
- the tuned controller can obtain the priority of the target packet flow from the corresponding relationship between the flow identifier and the priority according to the flow identifier of the target packet flow.
- the tuning controller may also determine that the adjustment mode corresponding to the target packet flow is an ACL adjustment mode, and the ACL adjustment mode and the packet flow optimization policy are correspondingly saved in the adjustment mode and the packet. The corresponding relationship of the flow tuning policy.
- the forwarding device that is to be adjusted stores the ACL record in the ACL of the forwarding device to be adjusted, and further determines whether the flow identifier included in the ACL record is the destination address of the target packet flow, and if yes, records from the ACL. Extracting the destination address and next hop information of the target packet flow, including the destination of the target packet flow The routing information of the address and the next hop information is stored in the routing table of the forwarding device to be adjusted, and the ACL record is deleted from the ACL of the forwarding device to be adjusted.
- Step 304 When the flow identifier of the target packet flow includes the destination address of the target packet flow, and according to the state information, it is determined that there is no idle resource in the ACL, or the forwarding device to be adjusted does not support the flow of the packet based on the ACL, the tuning control is performed.
- the device sends routing information to the forwarding device to be adjusted, where the routing information includes a destination address and a next hop information of the target packet flow.
- the routing information may further include information such as a community attribute.
- the forwarding device to be adjusted receives the routing information, and stores the routing information in a routing table included therein. After the target device receives the target packet flow, the next hop information of the target packet flow is queried from the routing table according to the flow identifier of the target packet flow, and the next hop information is forwarded according to the next hop information. Message flow.
- the routing information may further include an attribute of the VPN.
- the forwarding device to be adjusted may store the routing information in the routing table corresponding to the VPN according to the attributes of the VPN.
- the tuning controller may further determine that the adjustment manner corresponding to the target packet flow is the routing table adjustment manner, and the routing table adjustment manner and the packet flow optimization policy are correspondingly saved in the adjustment manner and The correspondence between the packet flow optimization policies.
- the tuning controller periodically or irregularly detects whether the adjustment manner configured for the target packet flow is appropriate.
- the detailed implementation process is as follows:
- the tuned controller obtains the target packet flow adjustment mode and the packet flow optimization policy from the relationship between the saved adjustment mode and the packet flow optimization policy, and obtains the packet flow optimization policy.
- the tuning controller controls the forwarding device to be adjusted to include the destination address and the routing information of the next hop information.
- the ACL record including the flow identifier and the next hop information is deleted from the ACL and stored in the routing table.
- the tuning controller sends an adjustment command to the forwarding device to be adjusted, where the adjustment command carries the flow identifier and routing information including the destination address and the next hop information.
- the to-be-adjusted forwarding device receives the adjustment command, and stores the routing information including the destination address and the next hop information in the routing table according to the indication of the adjustment command, and deletes the flow identifier and the next hop information from the ACL.
- ACL record is storing the routing information including the destination address and the next hop information in the routing table according to the indication of the adjustment command, and deletes the flow identifier and the next hop information from the ACL.
- the routing table can be used to forward the packet flow corresponding to the flow identifier, so that the ACL record including the flow identifier and the next hop information can be deleted, and the limited space is The space resources in the ACL are released, so that other packet flows that cannot be forwarded through the routing table are forwarded by using ACLs, thereby improving resource utilization efficiency.
- the tuning controller determines whether the ACL of the forwarding device to be adjusted includes idle resources and the forwarding device is to be adjusted. Whether the ACL forwarding packet flow is supported, and if the idle resource is included and the forwarding device is to be configured to support the ACL to forward the packet flow, the control forwarding device will include the flow identifier of the target packet flow and the ACL record of the next hop information. The routing information including the destination address and the next hop information is deleted from the ACL and from the routing table.
- the tuned controller queries whether the ACL of the forwarding device to be adjusted includes the idle resource, and whether the forwarding device supports the ACL forwarding packet flow, if the idle resource is included and is to be adjusted.
- the entire forwarding device supports the ACL to forward the packet flow, and sends an adjustment command to the device to be transferred.
- the adjustment command carries the destination address and the ACL record including the flow identifier of the target packet flow and the next hop information.
- the to-be-adjusted forwarding device receives the adjustment command, and stores the flow identifier including the target packet flow and the ACL record of the next hop information in the ACL according to the indication of the adjustment command, and deletes the destination address and the content from the routing table. Routing information of the next hop information.
- the tuned controller obtains the ACL status information of the forwarding device to be adjusted, and determines whether the ACL has idle resources and whether the forwarding device to be adjusted supports the ACL according to the status information.
- the ACL record is forwarded to the device to be forwarded based on the ACL, and the ACL record is sent to the device to be forwarded.
- this method not only saves the time for testing the forwarding device to be adjusted, but also reduces the waste of resources caused by sending the ACL record.
- an embodiment of the present disclosure provides an apparatus 400 for adjusting a forwarding path, where the apparatus 400 includes:
- the receiving unit 401 is configured to receive a packet flow optimization policy, where the packet flow optimization policy includes a flow identifier of the target packet flow to be adjusted, a device identifier of the to-be-tuned forwarding device, and forwarding of the adjusted target packet flow.
- the path is the next hop information corresponding to the forwarding device to be adjusted.
- the processing unit 402 is configured to obtain, according to the device identifier, the status information of the ACL of the forwarding device to be adjusted, where the status information includes the resource usage information and the capability information of the ACL, where the capability information is used to indicate whether the forwarding device to be adjusted supports the ACL. Forwarding the message stream;
- the sending unit 403 is configured to: when determining, according to the status information, that the ACL includes the idle resource, and the to-be-adjusted forwarding device supports the ACL to forward the packet, the ACL record is sent to the to-be-adjusted forwarding device, where the ACL record includes the The next hop information, so that the forwarding device to be adjusted stores the ACL record in the ACL of the forwarding device to be adjusted.
- the processing unit 402 may be configured to obtain a priority of the target packet flow when the size of the idle resource included in the ACL is less than or equal to a preset threshold, and the sending unit 403 may be configured to use the priority.
- the ACL record is sent to the forwarding device to be adjusted.
- the apparatus 400 may store, in advance, a correspondence between a flow identifier and a priority.
- the processing unit 402 can obtain the priority of the target packet flow from the corresponding relationship between the flow identifier and the priority according to the flow identifier of the target packet flow.
- the processing unit 402 may determine that the adjustment mode corresponding to the target packet flow is an ACL adjustment mode, and the ACL adjustment mode and the packet flow optimization policy are correspondingly saved in the adjustment mode and the packet flow optimization. In the correspondence of the strategy.
- the flow identifier is a destination address of the target packet flow
- the processing unit 402 is further configured to control the forwarding device to store the routing information including the destination address and the next hop information in a routing table of the forwarding device to be adjusted, and delete the ACL record from the ACL of the forwarding device to be adjusted.
- the processing unit 402 obtains the adjustment manner of the target packet flow and the packet flow optimization policy from the correspondence between the saved adjustment mode and the packet flow optimization policy periodically or irregularly. Adjustment If the mode is the ACL, and the flow identifier is the destination address of the target packet, the forwarding device can be configured to store the routing information including the destination address and the next hop information in the routing table of the forwarding device to be adjusted. Delete the ACL record from the ACL of the forwarding device to be adjusted.
- the flow identifier includes a destination address of the target packet flow
- the sending unit 403 is further configured to: when the processing unit 402 determines, according to the status information, that there is no idle resource in the ACL, or that the forwarding device to be adjusted does not support forwarding the packet flow based on the ACL, sending the routing information to the forwarding device to be adjusted, the routing The information includes the destination address and the next hop information, so that the forwarding device to be adjusted stores the routing information in a routing table of the forwarding device to be adjusted.
- the processing unit 402 is further configured to determine that the adjustment mode corresponding to the target packet flow is the routing table adjustment mode, and the routing table adjustment mode and the packet flow optimization policy are correspondingly saved in the adjustment manner and The correspondence between the packet flow optimization policies.
- the flow identifier further includes a source address of the target packet flow
- the processing unit 402 is further configured to: determine that the current ACL includes the idle resource, and the forwarding device to be adjusted supports the forwarding of the packet flow based on the ACL, and then the control forwarding device stores the ACL record including the flow identifier and the next hop information in the ACL record.
- the routing information is deleted from the ACL of the forwarding device to be adjusted and from the routing table of the forwarding device to be adjusted.
- the processing unit 402 obtains the adjustment manner of the target packet flow and the packet flow optimization policy from the correspondence between the saved adjustment mode and the packet flow optimization policy periodically or irregularly.
- the adjustment mode is the routing table adjustment mode
- the flow identifier further includes the source address of the target packet flow
- the ACL record that includes the flow identifier and the next hop information is stored in the ACL of the forwarding device to be adjusted. And deleting the routing information from the routing table of the forwarding device to be adjusted.
- processing unit 402 is configured to:
- the status information of the ACL of the forwarding device to be adjusted from the correspondence between the device identifier and the state information of the ACL saved by the device 400;
- the status information of the ACL of the forwarding device to be adjusted is queried from the forwarding device to be adjusted.
- the processing unit 402 may be configured to query, according to the device identifier, the status information of the ACL of the forwarding device to be adjusted from the forwarding device to be adjusted.
- the processing unit 402 may send, according to the device identifier of the forwarding device to be adjusted, a sending command to the forwarding device to be adjusted by the sending unit 403, where the reporting command carries the indication information for indicating that the forwarding device sends the packet to be adjusted, and the packet may include The device identifier and the ACL state information of the forwarding device to be adjusted or the packet may include the device identifier of the forwarding device to be adjusted and the forwarding chip usage state information.
- the processing unit 402 can receive the packet to be adjusted by the forwarding device, and obtain the device identifier of the forwarding device to be adjusted and the state information of the ACL according to the operation of step 202.
- the processing unit 402 when the processing unit 402 obtains the status information of the ACL of the forwarding device to be adjusted from the correspondence between the device identifier and the state information of the ACL saved by the device 400 according to the device identifier, the receiving unit 401, The method is further configured to receive a packet sent by the forwarding device to be adjusted;
- the processing unit 402 is configured to obtain, according to the packet, the device identifier and the ACL state information of the forwarding device to be adjusted, and the device identifier of the forwarding device to be adjusted and the ACL state information corresponding to the state information of the device identifier and the ACL. in.
- the processing unit 402 may obtain the device identifier of the forwarding device to be adjusted and the state information of the ACL according to the operation of the foregoing step 202.
- the packet includes a device identifier of the forwarding device to be adjusted and forwarding chip usage status information.
- the processing unit 402 is configured to extract the device identifier of the forwarding device to be adjusted and the forwarding chip usage state information included in the packet, and obtain the state information of the ACL of the forwarding device to be adjusted according to the forwarding chip usage state information.
- the message includes a TLV field, where the TLV field includes a type T field, a length L field, and a value V field, and the processing unit 402 acquires state information of the ACL according to the content carried by the V field.
- the packet can be an OSPF packet or an ISIS packet.
- the TLV field is added to the OSPF packet and the ISIS packet.
- the apparatus for adjusting the forwarding path obtains the status information of the ACL of the forwarding device to be adjusted, and determines whether the ACL has the idle resource and whether the forwarding device is to be adjusted according to the status information.
- the ACL record is forwarded to the device to be forwarded when the packet is forwarded based on the ACL, and the ACL record is sent to the device to be forwarded.
- this method not only saves the time for testing the forwarding device to be adjusted, but also reduces the waste of resources caused by sending the ACL record.
- an embodiment of the present application provides an apparatus 500 for adjusting a forwarding path, where the apparatus 500 includes:
- the processing unit 501 is configured to obtain status information of the forwarding chip usage status information or the ACL, and generate a packet, where the packet carries the forwarding chip usage status information or status information of the ACL.
- the sending unit 502 is configured to send the packet to the tuning controller, where the forwarding chip uses the state information or the state information of the ACL to be used by the tuning controller to obtain the state information of the ACL of the device 500.
- the status information includes the resource usage information and the capability information of the ACL, where the capability information is used to indicate whether the apparatus 500 supports forwarding the packet flow based on the ACL, and the status information of the ACL is used by the tuning controller to adjust the device.
- the forwarding path of the packet stream transmitted on the 500 is used to indicate whether the apparatus 500 supports forwarding the packet flow based on the ACL.
- the message includes a TLV field, where the TLV field includes a Type T field, a Length L field, and a Value V field, and the V field carries the forwarding chip usage status information or status information of the ACL.
- the packet can be an OSPF packet or an ISIS packet.
- the TLV field is added to the OSPF packet and the ISIS packet.
- the apparatus 500 further includes: a receiving unit 503;
- the receiving unit 503 is configured to receive an ACL record sent by the tuning controller, where the ACL record includes a flow identifier of the target packet flow to be adjusted and a forwarding path of the adjusted target packet flow on the device 500. Jump information
- the processing unit 501 is further configured to store the ACL record in an ACL of the apparatus 500.
- the flow identifier is a destination address of the target packet flow
- the processing unit 501 is further configured to store the routing information including the destination address and the next hop information of the target packet flow in the device. 500 In the routing table, delete the ACL record in the ACL.
- the first mode is: the receiving unit 503 receives the flow identifier and routing information of the target packet flow sent by the tuning controller, where the routing information includes the destination address of the target packet flow and the next hop information; Stored in the routing table of the device 500, the ACL record including the flow identifier of the target packet flow is deleted in the ACL.
- the second mode is: after the ACL record is stored in the ACL of the device 500, the processing unit 501 may further determine whether the flow identifier included in the ACL record is the destination address of the target packet flow, and if yes, may include The destination address of the target packet flow and the routing information of the next hop information are stored in the routing table of the apparatus 500, and the ACL record is deleted from the ACL of the apparatus 500.
- the flow identifier includes a destination address of the target packet flow
- the receiving unit 503 is further configured to receive routing information that is sent by the optimization controller, where the routing information includes a destination address of the target packet flow to be adjusted and a forwarding path of the adjusted target packet flow on the device 500.
- routing information includes a destination address of the target packet flow to be adjusted and a forwarding path of the adjusted target packet flow on the device 500.
- the processing unit 501 is further configured to store the routing information in a routing table of the device 500.
- the flow identifier of the target packet flow includes a source address of the target packet flow.
- the receiving unit 503 is further configured to receive an ACL record sent by the tuning controller, where the ACL record includes the flow identifier and the next hop information;
- the processing unit 501 is further configured to store the ACL record in an ACL of the apparatus 500; delete the routing information in the routing table.
- the tuned controller can obtain the ACL status information of the device 500 by using the packet, and then the tuning controller adjusts the forwarding path of the packet stream transmitted on the device 500.
- FIG. 6 is another schematic diagram of an apparatus 600 for adjusting a forwarding path according to an embodiment of the present application.
- the device 600 can be a tuning controller in the figure, and can be used to perform the method shown in FIG. 2-1 and FIG. 3-1.
- the apparatus 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 603 is configured to execute a program, an instruction, or a code in the memory 604 to control the input interface 601 to receive a signal, control the output interface 602 to send a signal, and implement the foregoing corresponding to FIG. 2-1 and FIG. 3-1.
- the steps and functions implemented by the tuning controller in the embodiment are not described herein again.
- the specific implementations of the input interface 601, the processor 603, and the output interface 602 may be referred to the specific description of the receiving unit 401, the processing unit 402, and the sending unit 403 in FIG. 4, and details are not described herein again.
- FIG. 7 is another schematic diagram of an apparatus 700 for adjusting a forwarding path according to an embodiment of the present application.
- the apparatus 700 may be a forwarding device to be adjusted in the figure, including: 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 703 is configured to execute The program, the instruction or the code in the memory 704 is implemented by the control input interface 701 receiving the signal, the control output interface 702 transmitting the signal, and implementing the forwarding device to be adjusted in the embodiment corresponding to the above-mentioned FIG. 2-1 and FIG. 3-1.
- the various steps and functions will not be described here.
- the specific implementations of the input interface 701, the output interface 702, and the processor 703 may be referred to the specific descriptions of the receiving unit 503, the sending unit 502, and the processing unit 501 in the foregoing embodiment of FIG. 5, and details are not described herein again.
- the processor 603 and the processor 703 may be a central processing unit (CPU), and may also be other general-purpose processors, digital signal processors (DSPs), and application specific integrated circuits. (ASIC), off-the-shelf programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and more.
- 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 process 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 the method shown in FIG. 2-1 and/or FIG. 3-1 can be completed by the integrated logic circuit of the hardware in the processor 603 and the processor 703 or the instruction in the form of software.
- the steps of the method disclosed in the embodiments of the present application may be directly implemented as a hardware processor, or may be performed by a combination of hardware and software units in the processor.
- the software unit 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 the memory 604 and the memory 704, respectively, the processor 603 reads the information in the memory 604, the processor 703 reads the information in the memory 704, and completes the method of FIG. 2-1 and/or FIG. 3-1 in combination with the hardware thereof. 100 steps. To avoid repetition, it will not be described in detail here.
- the processing unit 402 in FIG. 4 can be implemented by the processor 603 of FIG. 6, the sending unit 403 can be implemented by the output interface 602 of FIG. 6, and the receiving unit 501 can be used by FIG.
- the input interface 601 is implemented.
- the processing unit 501 in FIG. 5 is implemented by the processor 703 of FIG. 7, the transmitting unit 502 can be implemented by the output interface 702 of FIG. 7, and the receiving unit 503 can be implemented by the input interface 701 of FIG.
- the present application also provides a system 800 for adjusting a forwarding path, including the apparatus described in FIG. 4 or FIG. 6 and the apparatus described in FIG. 5 or 7.
- the apparatus described in FIG. 4 or FIG. 6 may be a tuning controller 801
- the apparatus described in FIG. 5 or 7 may be a forwarding device 802.
- the system 800 is for performing the method of the embodiment corresponding to Figures 2-1 and/or 3-1.
- the device that adjusts the forwarding path provided by the foregoing embodiment adjusts the forwarding path
- only the division of each functional unit is used as an example.
- the foregoing function may be allocated to different functional units according to requirements. Completed, dividing the internal structure of the device into different functional units to complete the above description All or part of the functions described.
- the apparatus for adjusting the forwarding path provided by the foregoing embodiment is the same as the method embodiment for adjusting the forwarding path, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
- the size of the sequence number of each process does not mean the order of execution sequence, and the order of execution of each process should be determined by its function and internal logic, and should not be taken by the embodiment of the present application.
- the implementation process constitutes any qualification.
- the computer program product includes one or more computer instructions.
- the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
- the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be from a website site, computer, server or data center Transfer to another website site, computer, server, or data center by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL), or wireless (eg, infrared, wireless, microwave, etc.).
- the computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media.
- the usable medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (such as a solid state disk (SSD)).
- a magnetic medium eg, a floppy disk, a hard disk, a magnetic tape
- an optical medium eg, a DVD
- a semiconductor medium such as a solid state disk (SSD)
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种调整转发路径的方法、装置及系统,属于通信领域。所述方法包括:接收报文流调优策略,所述报文流调优策略包括目标报文流的流标识、待调整转发设备的设备标识和下一跳信息;根据所述设备标识,获取所述待调整转发设备的ACL的状态信息,所述状态信息包括所述ACL的资源使用情况信息和能力信息,所述能力信息用于指示所述待调整转发设备是否支持基于所述ACL转发报文流;当根据所述状态信息确定出所述ACL包括空闲资源且所述待调整转发设备支持基于所述ACL转发报文流时,向所述待调整转发设备发送ACL记录,所述ACL记录包括所述流标识和所述下一跳信息,以使所述待调整转发设备将所述ACL记录存储在其ACL中。本申请能够减少资源浪费。
Description
本申请要求于2017年01月24日提交中国专利局、申请号为201710055193.4、申请名称为“一种调整转发路径的方法、装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信领域,特别涉及一种调整转发路径的方法、装置及系统。
随着通信网络的发展,在通信网络中传输的报文流越来越多。通信网络的运营商有时为了给用户提供更高的服务质量,可以对用于传输用户的报文流的转发路径进行调整。例如,可将金牌用户的报文流调整到带宽资源较大的转发路径上进行传输,以为金牌用户提供更高的服务质量。
目前可以按如下方式调整报文流的转发路径,可以为:技术人员在调优控制器上配置报文流调优策略,该报文流调优策略包括待调整的目标报文流的流标识、待调整转发设备的设备标识和调整后的转发路径在待调整转发设备上对应的下一跳信息,目标报文流的流标识可以包括目标报文流的目的地址和源地址等信息。调优控制器根据该设备标识向待调整转发设备发送访问控制列表(Access Control List,ACL)记录,该ACL记录中包括该流标识和该下一跳信息。待调整转发设备接收该ACL记录,判断自身是支持基于ACL转发报文流以及自身的ACL是否有足够容量来存储该ACL记录;如果支持基于ACL转发报文流且自身的ACL有足够空间存储该ACL记录,则将该ACL记录存储在自身的ACL中,否则,向调优控制器发送错误消息。调优控制器接收该错误消息,向待调整转发设备发送路由信息,该路由信息包括目标报文流的目的地址和该下一跳信息。待调整转发设备接收该路由信息并将该路由信息存储在自身的路由表中。
有时转发设备的ACL没有足够的容量来存储调优控制器发送的ACL记录,或者转发设备不支持基于ACL转发报文流,导致无法将该ACL记录存储在ACL中。然而在这种情况下调优控制器仍然向转发设备发送ACL记录,导致资源浪费。
发明内容
为了减少资源浪费,本公开实施例提供了一种调整转发路径的方法、装置及系统。所述技术方案如下:
第一方面,本申请实施例提供了一种调整转发路径的方法,所述方法由调优控制器接收报文流调优策略,所述报文流调优策略包括待调整的目标报文流的流标识、待调整转发设备的设备标识和调整后的所述目标报文流的转发路径在所述待调整转发设
备上对应的下一跳信息;根据所述设备标识,获取所述待调整转发设备的访问控制列表ACL的状态信息,所述状态信息包括所述ACL的资源使用情况信息和能力信息,所述能力信息用于指示所述待调整转发设备是否支持基于所述ACL转发报文流;当根据所述状态信息确定出所述ACL中包括空闲资源且所述待调整转发设备支持基于所述ACL转发报文流时,向所述待调整转发设备发送ACL记录,所述ACL记录包括所述流标识和所述下一跳信息。这样,只有确定出所述ACL中包括空闲资源且所述待调整转发设备支持基于所述ACL转发报文流时,向所述待调整转发设备发送ACL记录,其他情况不发送ACL记录,相对于目前采用方案,不仅省去试探待调整转发设备的时间,还减少发送ACL记录带来的资源浪费。
在第一方面的一个可能的设计中,当所述ACL包括的空闲资源小于或等于预设阈值时,所述调优控制器通过获取所述目标报文流的优先级;在所述优先级达到设定优先级时,向所述待调整转发设备发送ACL记录。这样,在ACL的空闲资源不多的情况下,优先保障高优先级的报文流采用ACL来转发报文流,保证为高优先级的报文流提供更高服务质量。
在第一方面的一个可能的设计中,当所述流标识为所述目标报文流的目的地址,在所述调优控制器向所述待调整转发设备发送ACL记录之后,所述调优控制器通过控制所述待调整转发设备将包括所述目的地址和所述下一跳信息的路由信息存储在所述待调整转发设备的路由表中并从所述待调整转发设备的ACL中删除所述ACL记录。这样可以将能够采用路由表来转发的报文流对应的ACL记录从待调整转发设备的ACL中删除,使ACL释放更多空闲资源,以让其他不能通过路由表转发的报文流采用ACL来转发,从而提高资源使用效率。
在第一方面的一个可能的设计中,当所述流标识包括所述目标报文流的目的地址时,在所述调优控制器根据所述状态信息确定出所述ACL中没有空闲资源或所述待调整转发设备不支持基于所述ACL转发报文流时,所述调优控制器通过向所述待调整转发设备发送路由信息,所述路由信息包括所述目的地址和所述下一跳信息。这样,在所述ACL中不包括空闲资源或所述待调整转发设备不支持基于所述ACL转发报文流时,可以采用路由表来调整目标报文流的转发路径,保证能够成功调整目标报文流的转发路径。
在第一方面的一个可能的设计中,所述流标识还包括所述目标报文流的源地址,所述调优控制器向所述待调整转发设备发送路由信息之后,所述调优控制器确定当前所述ACL包括空闲资源且所述待调整转发设备支持基于所述ACL转发报文流,则控制所述待调整转发设备将包括所述流标识和所述下一跳信息的ACL记录存储在所述待调整转发设备的ACL中以及从所述待调整转发设备的路由表中删除所述路由信息。由于所述流标识包括目标报文流的源地址,路由表是无法按源地址进行转发,所以将包括所述流标识和所述下一跳信息的ACL记录移到ACL中,可以保证这类报文流能
够成功转发。
在第一方面的一个可能的设计中,所述调优控制器根据所述设备标识,从所述调优控制器中保存的设备标识与ACL的状态信息的对应关系中获取所述待调整转发设备的ACL的状态信息;其中由于事先将设备标识与ACL的状态信息对应存储,在需要ACL的状态信息时,根据待调整转发设备的设备标识直接快速地从该对应关系中获取,从而提高获取效率。
在第一方面的一个可能的设计中,在获取ACL的状态信息之前,所述调优控制器还接收待调整转发设备发送的报文,根据所述报文获取所述待调整转发设备的设备标识和ACL的状态信息;将所述待调整转发设备的设备标识和ACL的状态信息对应保存在设备标识与ACL的状态信息的对应关系中。通过报文可以获取到转发设备的ACL的状态信息并保存在本地,这样保证了在调整报文流的转发路径时,能及时获取到待调整设备的ACL的状态信息。
在第一方面的一个可能的设计中,所述报文包括所述待调整转发设备的设备标识和转发芯片使用状态信息;所述调优控制器通过提取所述报文包括的所述待调整转发设备的设备标识和转发芯片使用状态信息;根据所述转发芯片使用状态信息获取所述待调整转发设备的ACL的状态信息。这样通过所述报文携带待调整转发设备的转发芯片使用状态信息,根据所述转发芯片使用状态信息能够成功获取到待调整转发设备的ACL的状态信息。
第二方面,本申请实施例提供了一种调整转发路径的方法,所述方法由待调整转发设备获取转发芯片使用状态信息或访问控制列表ACL的状态信息,生成报文,所述报文携带所述转发芯片使用状态信息或所述ACL的状态信息;向调优控制器发送所述报文。这样通过所述转发芯片使用状态信息或所述ACL的状态信息使所述调优控制器可以获取所述待调整转发设备的ACL的状态信息,进而使所述调优控制器调整在所述待调整转发设备上传输的报文流的转发路径。
在第二方面的一个可能的设计中,所述报文包括类型长度值TLV字段,所述TLV字段包括类型T字段,长度L字段和值V字段,所述V字段承载所述转发芯片使用状态信息或所述ACL的状态信息。
在第二方面的一个可能的设计中,所述转发芯片使用状态信息包括待调转发设备中的转发芯片包括的存储空间总容量和各逻辑表的使用状态信息,所述转发芯片存储的逻辑表包括ACL、Qos表、LPTS表和IPFIX表中的至少一者。相应的,所述报文包括第一TLV字段和所述各逻辑表对应的第二TLV字段,所述第一TLV字段用于携带所述存储空间总容量,所述第二TLV字段用于携带其对应的逻辑表的使用状态信息。这样保证待调整转设备能够成功地将其转发芯片使用状态信息发送出去。
在第二方面的一个可能的设计中,在所述待调整转发设备向调优控制器发送所述报文之后,所述待调整转发设备接收所述调优控制器发送的ACL记录,所述ACL记录包括待调整的目标报文流的流标识和调整后的所述目标报文流的转发路径在所述待调整转发设备上对应的下一跳信息;将所述ACL记录存储在所述待调整转发设备的ACL中。
在第二方面的一个可能的设计中,所述流标识为所述目标报文流的目的地址,所述待调整转发设备将所述ACL记录存储在所述待调整转发设备的ACL中之后,还将包括所述目的地址和所述下一跳信息的路由信息存储在所述待调整转发设备的路由表中,在所述ACL中删除所述ACL记录。这样可以将能够采用路由表来转发的报文流对应的ACL记录从待调整转发设备的ACL中删除,使ACL释放更多空闲资源,以让其他不能通过路由表转发的报文流采用ACL来转发,从而提高资源使用效率。
在第二方面的一个可能的设计中,在所述待调整转发设备向调优控制器发送所述报文之后,所述待调整转发设备接收所述调优控制器发送的路由信息,所述路由信息包括待调整的目标报文流的目的地址和调整后的所述目标报文流的转发路径在所述待调整转发设备上对应的下一跳信息;将所述路由信息存储在所述待调整转发设备的路由表中。这样,在所述ACL中不包括空闲资源或所述待调整转发设备不支持基于所述ACL转发报文流时,可以采用路由表来调整目标报文流的转发路径,保证能够成功调整目标报文流的转发路径。
在第二方面的一个可能的设计中,所述目标报文流的流标识包括所述目标报文流的源地址,所述待调整转发设备将所述路由信息存储在所述待调整转发设备的路由表中之后,还接收所述调优控制器发送的ACL记录,所述ACL记录包括所述流标识和所述下一跳信息,将所述ACL记录存储在所述待调整转发设备的ACL中,在所述路由表中删除所述路由信息。由于所述流标识包括目标报文流的源地址,路由表是无法按源地址进行转发,所以将包括所述流标识和所述下一跳信息的ACL记录移到ACL中,可以保证这类报文流能够成功转发。
第三方面,本申请实施例提供了一种调整转发路径的装置,执行第一方面或第一方面的任意一种可能的设计中的方法。具体地,所述装置包括用于执行第一方面或第一方面的任意一种可能的设计中的方法的单元。
第四方面,本申请实施例提供了一种调整转发路径的装置,用于执行第二方面或第二方面的任意一种可能的设计中的方法。具体地,所述装置包括用于执行第二方面或第二方面的任意一种可能的设计中的方法的单元。
第五方面,本申请实施例提供了一种调整转发路径的装置,所述装置包括输入接
口、输出接口、处理器和存储器。其中,输入接口、输出接口、处理器以及所述存储器之间可以通过总线系统相连。该存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第一方面或第一方面的任意可能的设计中的方法。
第六方面,本申请实施例提供了一种调整转发路径的装置,所述装置包括:输入接口、输出接口、处理器和存储器。其中,输入接口、输出接口、处理器以及所述存储器之间可以通过总线系统相连。该存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第二方面或第二方面的任意可能的设计中的方法。
第七方面,本申请实施例提供了一种调整转发路径的系统,所述系统包括第三方面或第五方面所述的装置和第四方面或第六方面所述的装置。
第八方面,本申请提实施例供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行第一方面、第二方面、第一方面任意可能的设计或第二方面任意可能的设计中的方法的指令。
图1是本公开实施例一提供的网络架构示意图;
图2-1是本公开实施例二提供的存储ACL的状态信息的流程图;
图2-2是本公开实施例二提供的开放式最短路径优先(Open Shortest Path First,OSPF)报文的结构示意图;
图2-3是本公开实施例二提供的类型长度值(Type Length Value,TLV)的结构示意图;
图2-4是本公开实施例二提供的另一种TLV的结构示意图;
图2-5是本公开实施例二提供的中间系统到中间系统(Intermediate system to intermediate system,ISIS)报文的结构示意图;
图2-6是本公开实施例二提供的另一种TLV的结构示意图;
图2-7是本公开实施例二提供的另一种TLV的结构示意图;
图3-1是本公开实施例三提供的调整转发路径的方法流程图;
图3-2是本公开实施例三提供的拓扑结构图;
图4是本公开实施例四提供的调整转发路径的装置结构示意图;
图5是本公开实施例五提供的调整转发路径的装置结构示意图;
图6是本公开实施例六提供的调整转发路径的装置结构示意图;
图7是本公开实施例六提供的另一种调整转发路径的装置结构示意图;
图8是本公开实施例七提供的一种调整转发路径的系统结构示意图。
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
通信网络可以用于传输用户的报文流,有时为了给用户提供更高的服务质量或者降低低优先级用户的服务质量以保障高优先级用户的服务质量,可以调整用户的报文流的转发路径,即将用户的报文流从当前转发路径切换到另一转发路径,该另一转发路径提供的服务质量高于或低于当前转发路径。例如,对于付费用户、金牌用户或会员用户,可以将这些用户的报文流从当前转发路径调整到带宽资源比当前转发路径高的另一转发路径上。调整转发路径的详细过程可以通过如下实施例来实现。
实施例一
参见图1,本公开实施提供了一种网络架构,该网络架构用于调整报文流的转发路径,包括:
采集设备、策略管控设备、调优控制器和转发设备;
转发设备可以为路由器、转发器或交换机等,转发设备包括转发芯片,该转发芯片可以用于存储ACL、服务质量(Quality of Service,Qos)表、本地报文传输服务(Local Packet Transport Service,LPTS)表和IP数据流信息输出(Internet Protocol Flow Information Export,IPFIX)表等逻辑表中的至少一个。转发设备可以分别与采集设备和调优控制器建立网络连接,用于在其上电启动或其转发芯片中存储的内容发生变化时,向调优控制器发送报文,使调优控制器根据该报文获取该转发设备的ACL的状态信息;以及,该转发设备还用于在接收到报文流时,根据存储的该报文流的下一跳信息转发该报文流,同时还复制一份该报文流,向采集设备发送复制的报文流。
采集设备还可以与策略管控设备建立网络连接,用于接收各转发设备发送的报文流,获取接收的各报文流的描述信息,报文流的描述信息包括该报文流的源地址、源端口号、目的地址、目的端口号、所使用的协议、占用的带宽大小和转发该报文流的转发路径等信息,向策略管控设备发送各报文流的描述信息。
策略管控设备还可以与调优控制器建立网络连接,用于接收采集设备发送的各报文流的描述信息,在通信网络的拓扑结构图中显示各报文流的描述信息,获取管理员根据各报文流的描述信息配置的报文流调优策略,该报文流调优策略包括待调整的目标报文流的流标识、待调整转发设备的设备标识和调整后的目标报文流的转发路径在待调整转发设备上对应的下一跳信息,该流标识包括目标报文流的源地址和目的地址中的至少一者,向调优控制器发送该报文流调优策略。
调优控制器,用于接收该转发设备发送的报文,根据该报文获取该转发设备的ACL的状态信息;以及,接收策略管控设备发送的报文流调优策略,获取待调整转发设备的ACL的状态信息,根据该状态信息和该报文流调优策略调整目标报文流的转发路径。
调优控制器可以为网络控制器(Network Controller,NS)。
其中,在本实施例网络架构中,如果需要调整某个报文流的转发路径,则调优控制器需要先在本地存储各转发设备的ACL的状态信息,然后在某个转发设备上调整报文流的转发路径时,根据存储的该转发设备的ACL的状态信息对报文流的转发路径进行调整。接下来通过如下实施例二的流程存储转发设备的ACL的状态信息,以及通过如下实施例三的流程调整报文流的转发路径。
实施例二
图2-1所示的是本公开实施例提供的存储ACL的状态信息的流程,该流程包括:
步骤201:转发设备向调优控制器发送报文。
其中,该报文可以包括该转发设备的设备标识和ACL的状态信息,或者,该报文可以包括该转发设备的设备标识和转发芯片使用状态信息。
该转发设备可以为通信网络中的任一转发设备,该转发设备中包括转发芯片。该转发芯片使用状态信息用于指示该转发芯片内的ACL的状态信息,该状态信息包括该ACL的资源使用情况信息和能力信息,该能力信息用于指示该转发设备是否支持基于该ACL转发报文流。该资源使用情况信息可以为该ACL的空闲资源大小或可用资源大小等。该空闲资源大小可以为该ACL中空闲的表项数目等。
该转发芯片的存储空间中包括ACL、Qos表、LPTS表和IPFIX表等逻辑表中的至少一者。当该转发芯片的存储空间中包括ACL一个逻辑表时,该报文可以包括该ACL的状态信息。
该转发芯片使用状态信息可以包括该转发芯片的存储空间总容量和各逻辑表的使用状态信息。各逻辑表的使用状态信息可以为该ACL的使用状态信息、该Qos表的使用状态信息、该LPTS表的使用状态信息和该IPFIX表的使用状态信息。其中,需要说明的是:当该转发设备支持基于该ACL来转发报文流,则该转发芯片使用状态信息包括该ACL的使用状态信息;当该转发设备不支持基于该ACL来转发报文流,则该转发芯片使用状态信息不包括该ACL的使用状态信息。
该ACL的使用状态信息包括该ACL中已被使用的表项数目、未被使用的表项数目、预留表项数目和表项大小。该Qos表的使用状态信息包括该Qos表已被使用的表项数目、未被使用的表项数目、预留表项数目和表项大小。该LPTS表的使用状态信息包括该LPTS表已被使用的表项数目、未被使用的表项数目、预留表项数目和表项大小。该IPFIX表的使用状态信息包括该IPFIX表已被使用的表项数目、未被使用的表项数目、预留表项数目和表项大小。
所谓预留表项是指不能被使用的表项,例如ACL中的预留表项是指ACL中不能被使用的表项。
转发设备在其上电启动时或在其转发芯片内存储的内容发生变化时,向调优控制器发送包括该转发设备的设备标识和ACL的状态信息的报文或者包括该转发设备的设备标识和转发芯片使用状态信息的报文。
该报文可以为边界网关协议-标签交换(Border Gateway Protocol-Label Switch,BGP-LS)、BGP监控协议(BGP Monitoring Protocol,BMP)或内部网关协议(Internal Gateway Protocol,IGP)协议的报文,在本实施例中在这些协议报文中新增加TLV字段,通过该TLV字段携带该转发设备的ACL的状态信息或该转发设备的转发芯片使用状态信息。通过该协议报文的源地址字段携带该转发设备的设备标识。
TLV字段包括T字段,L字段和V字段,通过该V字段携带该转发设备的ACL的状态信息或该转发设备的转发芯片使用状态信息。
例如在本实施例中定义了两种报文,分别为OSPF报文和ISIS报文。
参见图2-2所示的该OSPF报文的结构。在图2-2所述结构中,Type为报文类型字段,当Type=转发引擎实例类型长度值(Forwarding Engine Instructions-TLV,FEI-TLV)时表示报文为OSPF报文。Length为长度字段,用于携带报文除Type和Length外的其他部分的长度。TLV字段用于携带该转发设备的ACL的状态信息或者用于携带该转发设备的转发芯片使用状态信息。Forwarding Engine ID字段用于表示所指代的转发引擎。该ID在每台路由器/设备范围内唯一。Distribution Tuple Number:表示散列元组的数量。一个散列元组即Dist Algo Type,Encap Type和Profile ID的组合,通过Tuple ID来唯一标识。Tuple ID:唯一标识一个散列元组。该标识在一个Forwarding Engine ID的范围内唯一。Dist Algo Type字段表示该转发引擎所支持的散列算法类型。Fwd Encap Type用于表示转发装类型。Profile ID用于表示预先定义的常用的散列参数集合。
OSPF报文可以包括至少一个TLV字段,当该OSPF报文包括该转发设备的ACL的状态信息时,该OSPF报文可以包括一个TLV字段,用于携带该转发设备的ACL的状态信息。
当该OSPF报文包括该转发设备的转发芯片使用状态信息时,该OSPF报文可以包括一个第一TLV和至少一个第二TLV,第一TLV可以用于携带该转发设备的转发芯片的存储空间总容量。该至少一个第二TLV中的每个第二TLV对应该转发芯片中的一个逻辑表,用于携带其对应的逻辑表的使用状态信息。
其中,参见图2-3所示的用于携带存储空间总容量的第一TLV字段的结构。在图2-3所示结构中,Type为类型字段,Type为转发芯片属性类型长度值(TCAM-ATTR-TLV),表示第一TLV携带存储空间总容量,Capacity为容量字段,用于携带转发芯片的存储空间总容量,单位为M-bit;Speed为速度字段,用于携带转发芯片的最大查找速度,单位为Million Search Per Second;Interface Type为接口类型字段,用于携带转发芯片的接口类型,有如下几种接口类型,分别为:网络查找引擎(Network Search Engine,NSE)、线路放大器(Line Amplifier,LA-1)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、应用微电路公司外部查找协议处理器(Applied Micro Circuit Corporation external search co-processor,AMCC-XSC)。
其中,参见图2-4所示的第二TLV字段的结构,在图2-4所示结构中,LTB-ID为标识字段,用于携带转发芯片中逻辑表的标识(Logical Table Identifier)。其中,逻辑表的标识ID可以为整数,例如,可以用数值1作为ACL的标识,用数值2作为Qos表的标识等。
APP-ID为业务类型字段,用于携带转发芯片中的逻辑表的名称,表示该第二TLV用于携带该名称对应的逻辑表的使用状态信息。该逻辑表有ACL、QoS表、LPTS表和IPFIX表四种。例如当该字段的Value值为1,可以表示携带ACL的使用状态信息;当Value值为2,可以表示携带QoS表的使用状态信息;当Value值为3,表示携带LPTS表的使用状态信息;当Value值为4,表示携带IPFIX表的使用状态信息。
Compression Level为压缩级别字段,用于携带业务类型字段携带的逻辑表的数据所采用的压缩级别;例如当该字段的Value值为0,表示携带压缩级别为Level-0;当
该字段的Value值为1,表示的压缩级别为Level-1;当该字段的Value值为2,表示的压缩级别为Level-2;当该字段的Value值为3,表示的压缩级别为Level-3。
Priority为优先级字段,用于携带该逻辑表的优先级,可以为整数,例如可以数值大者表示优先级高或者数值小者表示优先级高;
Key Size为表项大小字段,用于携带该逻辑表中的每个表项的大小。例如当该字段的Value值为160,表示表项大小为160bit,当该字段的Value值为640,表示的表项大小为640bit。
Allocated Entries为使用表项字段,用于携带该逻辑表中已经使用的表项数量;
Free Entries为空闲表项字段,用于携带该逻辑表中还未使用的表项数量;
Reserved Entries为预留表项字段,用于携带该逻辑表中预留的表项数量。
参见图2-5,图2-5所示的是该ISIS报文的结构。其中,在图2-5所示结构中,Type为类型字段,携带报文为ISIS报文。Length为长度字段,用于携带报文长度。TLV字段用于携带该转发设备的ACL的状态信息或者用于携带该转发设备的转发芯片使用状态信息。Forwarding Engine ID字段用于表示所指代的转发引擎。该ID在每台路由器/设备范围内唯一。Distribution Tuple Number:表示散列元组的数量。一个散列元组即Dist Algo Type,Encap Type和Profile ID的组合,通过Tuple ID来唯一标识。Tuple ID:唯一标识一个散列元组。该标识在一个Forwarding Engine ID的范围内唯一。Dist Algo Type字段表示该转发引擎所支持的散列算法类型。Fwd Encap Type用于表示转发装类型。Profile ID用于表示预先定义的常用的散列参数集合。
ISIS报文可以包括至少一个TLV字段,当该ISIS报文包括该转发设备的ACL的状态信息时,该ISIS报文可以包括一个TLV字段,用于携带该转发设备的ACL的状态信息。
当该ISIS报文包括该转发设备的转发芯片使用状态信息时,该ISIS报文可以包括一个第一TLV和至少一个第二TLV,第一TLV可以用于携带该转发设备的转发芯片的存储空间总容量。该至少一个第二TLV中的每个第二TLV对应该转发芯片中的一个逻辑表,用于携带其对应的逻辑表的使用状态信息。
其中,参见图2-6所示的用于携带存储空间总容量的第一TLV字段的结构。在图2-6所示结构中,Type为类型字段,Length为长度字段,用于携带字段的长度;Capacity为容量字段,用于携带转发芯片的存储空间总容量,单位为M-bit;Speed为速度字段,用于携带转发芯片的最大查找速度,单位为Million Search Per Second;Interface Type为接口类型字段,用于携带转发芯片的接口类型,有如下几种接口类型,分别为:NSE、LA-A、ASIC、FPGA、AMCC-XSC。
其中,参见图2-7所示的第二TLV,在如图2-7所示结构中,Type为类型字段,Length为长度字段;LTB-ID为标识字段,用于携带转发芯片中逻辑表的标识(Logical Table Identifier);其中,逻辑表的标识ID可以为整数,例如,可以用数值1作为ACL的标识,用数值2作为Qos表的标识等。
APP-ID为业务类型字段,用于携带转发芯片中的逻辑表的名称,表示该第二TLV用于携带该名称对应的逻辑表的使用状态信息。该逻辑表有ACL、QoS表、LPTS表和IPFIX表。例如当该字段的Value值为1,可以表示携带ACL的使用状态信息;当
Value值为2,可以表示携带QoS表的使用状态信息;当Value值为3,表示携带LPTS表的使用状态信息;当Value值为4表示携带IPFIX表的使用状态信息。
Compression Level为压缩级别字段,用于携带业务类型字段携带的逻辑表数据所采用的压缩级别;例如当该字段的Value值为0,表示携带压缩级别为Level-0;当该字段的Value值为1,表示的压缩级别为Level-1;当该字段的Value值为2,表示的压缩级别为Level-2;当该字段的Value值为3,表示的压缩级别为Level-3。
Priority为优先级字段,用于携带该逻辑表的优先级,可以为整数,例如可以定义数值大者表示优先级高或者数值小者表示优先级高;
Key Size为表项大小字段,用于携带该逻辑表中的每个表项的大小。例如当该字段的Value值为160,表示表项大小为160bit,当该字段的Value值为640,表示的表项大小为640bit。
Allocated Entries为使用表项字段,用于携带该逻辑表中已经使用的表项数量;
Free Entries为空闲表项字段,用于携带该逻辑表中还未使用的表项数量;
Reserved Entries为预留表项字段,用于携带该逻辑表中预留的表项数量。
步骤202:调优控制器接收该转发设备发送的报文,根据该报文获取该转发设备的设备标识和ACL的状态信息。
当该报文包括该转发设备的设备标识和ACL的状态信息,则从该报文中提取该转发设备的设备标识和ACL的状态信息。
当该报文包括该转发设备的设备标识和转发芯片使用状态信息,则提取该报文包括的该转发设备的设备标识和转发芯片使用状态信息;根据该转发芯片使用状态信息获取该转发设备的ACL的状态信息。
根据该转发芯片使用状态信息获取该ACL的状态信息的方式有多种。例如,假设,该转发芯片使用状态信息仅包括ACL的使用状态信息,根据该该ACL的使用状态信息包括的未被使用的表项数目和预留表项数目确定该ACL的状态信息;再如,假设该转发芯片使用状态信息包括ACL、Qos表、LPTS表和IPFIX表等逻辑表的使用状态信息,可以通过如下2021至2027的获取ACL的状态信息,包括:
2021:判断该转发芯片使用状态信息是否包括该ACL的使用状态信息,如果包括,则确定该ACL的能力信息用于指示该转发设备支持基于该ACL转发报文流,执行步骤2022。
其中,如果判断出该转发芯片使用状态信息不包括该ACL的使用状态信息,则确定该ACL的能力信息用于指示该转发设备不支持基于该ACL转发报文流,结束返回。
2022:根据该转发芯片使用状态信息包括的ACL已被使用的表项数目、预留表项数目和表项大小,确定ACL占用的空间大小。
2023:根据该转发芯片使用状态信息包括的Qos表已被使用的表项数目、预留表项数目和表项大小,确定Qos表占用的空间大小。
2024:根据该转发芯片使用状态信息包括的LPTS表已被使用的表项数目、预留表项数目和表项大小,确定LPTS表占用的空间大小。
2025:根据该转发芯片使用状态信息包括的IPFIX表已被使用的表项数目、预留表项数目和表项大小,确定IPFIX表占用的空间大小。
2026:根据ACL占用的空间大小、Qos表占用的空间大小、LPTS表占用的空间大小、IPFIX表占用的空间大小和该转发芯片使用状态信息包括的转发芯片的存储空间总容量,确定该转发芯片的空闲存储空间大小。
2027:根据该空闲存储空间大小、该转发芯片使用状态信息包括的该ACL未被使用的表项数目和表项大小,确定该ACL的资源使用情况信息。
具体地,根据该空闲存储空间大小和该ACL的表项大小,计算出表项数目,如果计算的该表项数目小于该ACL未被使用的表项数目,则确定该ACL的资源使用情况信息包括计算的该表项数目,如果计算的该表项数目大于或等于该ACL未被使用的表项数目,则确定该ACL的资源使用情况信息包括该ACL未被使用的表项数目。
步骤203:调优控制器将该转发设备的设备标识和该ACL的状态信息对应存储在设备标识与ACL的状态信息的对应关系中。
其中,调优控制器中包括一个映射关系表,该映射关系表用于存储设备标识与ACL的状态信息的对应关系。
其中,对于每个转发设备,调优控制器可以按上述201至203的方式获取每个转发设备的ACL的状态信息。
实施例三
参见图3-1,本公开实施例提供了一种调整转发路径的方法,包括:
步骤301:策略管控设备获取报文流调优策略,向调优控制器发送该报文流调优策略。
策略管控设备获取的报文流调优策略可以是管理员配置的。策略管控设备可以先获取到通信网络中的报文流的描述信息并显示给管理员,然后管理员根据显示的报文流的描述信息配置报文流调优策略,该报文流调优策略包括待调整的目标报文流的流标识、待调整转发设备的设备标识和调整后的用于传输目标报文流的转发路径在待调整转发设备上对应的下一跳信息,待调整转发设备是目标报文流经过的转发设备。
可选的,策略管控设备通过采集设备获取报文流的描述信息并显示给管理员。接下来举一个实例来说明获取并显示描述信息的过程,可以包括如下3011和3013的步骤:
3011:转发设备向采集设备发送其接收的报文流。
转发设备可以在如下两种情况下向采集设备发送其接收的报文流,包括:
第一、转发设备在接收到报文流时就向采集设备发送其接收的该报文流。
转发设备在接收到报文流时,就复制其接收的报文流,并向采集设备发送复制的报文流。
第二、转发设备在接收到采集设备发送的采集命令时,向采集设备发送其接收的报文流。
采集设备周期性地向通信网络内的各转发设备广播采集命令。转发设备在接收到该采集命令时,复制其当前接收的各报文流,并向采集设备发送复制的各报文流。
3012:采集设备接收各转发设备发送的报文流,获取接收的各报文流的描述信息,并向策略管控设备发送各报文流的描述信息。
报文流的描述信息包括该报文流的源地址、源端口号、目的地址、目的端口号、所使用的协议、占用的带宽大小和用于传输该报文流的转发路径等信息。
报文流是由至少一个报文组成,转发设备是在持续一段时间内接收到该报文流,同样也会持续该一段时间向采集设备发送该报文流。相应的,采集设备也会持续一段时间接收转发设备的报文流,从该报文流的报文的报文头中提取该报文流的源地址、源端口号、目的地址、目的端口号和所使用的协议;根据接收的报文流的数据大小和该一段时间的时长计算出该报文流占用的带宽大小。另外,通信网络中每个接收该报文流的转发设备都会向采集设备发送该报文流,所以采集设备可以确定发送该报文流的每个转发设备,将每个转发设备的设备标识组成该报文流的转发路径,从而得到该报文流的描述信息。
3013:策略管控设备接收各报文流的描述信息,并显示各报文流的描述信息。
策略管控设备可以包括该通信网络的拓扑结构图和该通信网络中的每个转发设备上包括的用于转发报文流的路由信息,每条路由信息包括目的地址和下一跳信息,下一跳信息可以是转发设备上的端口号,且该端口号对应的端口用于连接另一转发设备。
本步骤可以为:策略管控设备接收各报文流的描述信息,对于每个报文流,在通信网络的拓扑结构图中显示该报文流的描述信息包括的转发路径、源地址、源端口号、目的地址、目的端口号、所使用的协议和占用的带宽大小等信息。
例如,假设策略管控设备显示如图3-2所示的网络拓扑图。存在某个报文流,假设该报文流经过了转发设备W1、W3、W5、W6和W7,该报文流的描述信息包括该报文流的源地址为IP1、源端口号为0、目的地址为IP2、目的端口号为1、所使用的协议为TCP(Transmission Control Protocol,传输控制协议)、占用的带宽大小为50M以及由转发设备W1、W3、W5、W6和W7的设备标识组成的转发路径。
在图3-2所示的网络拓扑图中显示一条路径,该路径经过转发设备W1、W3、W5、W6和W7,该路径即为该报文流的转发路径,并在该网络拓扑图中显示该报文流的源地址IP1、源端口号0、目的地址IP2、目的端口号1、所使用的协议TCP和占用的带宽大小50M。
在策略管控设备显示各报文流的描述信息后,管理员可以在策略管控设备上配置报文流调优策略。例如,该配置过程可以如下所示:
首先,管理员可以根据策略管控设备显示的各报文流的描述信息,选择需要调整转发路径的报文流作为待调整的目标报文流,配置目标报文流的流标识;然后,从目标报文流所经过的转发设备中选择一个转发设备作为待调整转发设备,表示管理员需要在待调整转发设备上调整用于传输目标报文流的转发路径;最后,配置调整后的转发路径在待调整转发设备上对应的下一跳信息,且该下一跳信息对应的转发设备包括用于转发目标报文流的路由信息。策略管控设备获取管理员选择的目标报文流的流标识、待调整转发设备的设备标识和该下一跳信息并形成报文流调优策略。
其中,管理员配置的流标识包括目标报文流的源地址和目的地址中的至少一者。当该流标识包括目标报文流的源地址时,表示管理员想要调整该源地址对应的各报文流的转发路径,即该源地址对应的报文流均为待调整的目标报文流;当该流标识包括目标报文流的目的地址时,表示管理员想要调整该目的地址对应的各报文流的转发路
径,即该目的地址对应的报文流均为待调整的目标报文流;当该流标识包括目标报文流的源地址和目的地址时,表示管理员想要调整该源地址和该目的地址共同对应的各报文流的转发路径,即该源地址和该目的地址共同对应的报文流均为待调整的目标报文流。
其中,管理员选择的待调整转发设备通常是位于AS(Autonomous System,自治系统)边缘的转发设备。通信网络包括多个AS,管理员一般会从目标报文流经过的各转发设备中选择位于AS边缘的转发设备作为待调整转发设备。
其中,管理员配置的下一跳信息对应的转发设备中包括用于转发目标报文流的路由信息,具体配置过程可以为:先从拓扑结构图中确定出与待调整转发设备连接的各转发设备,从策略管控设备中获取确定的各转发设备包括的路由信息,从确定的各转发设备中选择包括用于转发目标报文流的路由信息的转发设备,在待调整转发设备上找出与选择的转发设备相连的端口的端口号,将该端口号作为该下一跳信息。所谓用于转发目标报文流的路由信息是指包括目标报文流的目的地址的路由信息。
其中,通信网络在逻辑层可以划分成多个虚拟专用网络(Virtual Private Network,VPN),待调整转发设备上包括每个VPN对应的路由表。管理员想要目标报文流在某个VPN中传输时,还可以选择某个VPN。相应的,策略管制设备还可以获取管理员选择的VPN的属性,该报文流调优策略还可以包括该VPN的属性。
例如,参见图3-2所示的通信网络,管理员可以选择图中所示的报文流作为待调整的目标报文流,配置目标报文流的流标识包括源地址IP1和目的地址IP2;该通信网络包括两个AS,分别为AS1和AS2。位于AS1的边缘转发设备为转发设备W2和W3,所以管理员可以从目标报文流经过的转发设备W1、W3、W5、W6和W7中选择位于AS1边缘的转发设备W3作为待调整转发设备。
然后管理员配置调整后的转发路径在待调整转发设备W3对应的下一跳信息,且配置过程为:管理员从如图3-2所示的拓扑结构图中可以确定出与待调整转发设备W3相连的转发设备W1、W4和W5。假设转发设备W4上包括用于转发目标报文流的路由信息,以及在待调整转发设备W3上与转发设备W4相连的端口的端口号为1。管理员可以选择转发设备W4,并将待调整转发设备W3上与转发设备W4相连的端口的端口号1作为下一跳信息。所以管理员配置的报文流调优策略包括目标报文流的流标识为IP1和IP2,待调整转发设备W3的设备标识和下一跳信息为端口号1。
步骤302:调优控制器接收该报文流调优策略,根据该报文流调优策略包括的待调整转发设备的设备标识获取待调整转发设备的ACL的状态信息。
该ACL的状态信息包括该ACL的资源使用情况信息和能力信息,该能力信息用于指示待调整转发设备是否支持基于该ACL转发报文流。
可以通过如下两种方式获取该ACL的状态信息,包括:
第一、根据待调整转发设备的设备标识,从调优控制器保存的设备标识与ACL的状态信息的对应关系中获取待调整转发设备的ACL的状态信息。
设备标识与ACL的状态信息的对应关系可以事先按上述实施例二提供方式获得,在此不再详细说明。
第二、根据待调整转发设备的设备标识,从待调整转发设备中查询待调整转发设
备的ACL的状态信息。
具体地,调优控制器根据待调整转发设备的设备标识,向待调整转发设备发送上报命令,该上报命令携带用于指示待调整转发设备发送报文的指示信息,该报文可以包括待调整转发设备的设备标识和ACL的状态信息或者该报文可以包括待调整转发设备的设备标识和转发芯片使用状态信息。待调整转发设备接收该上报命令,然后根据该上报命令携带的指示信息按上述步骤201的操作向调优控制器发送报文。调优控制器接收该报文,按上述步骤202的操作获取待调整转发设备的设备标识和ACL的状态信息。
可选的,该上报命令可以为管理信息库(Management Information Base,MIB)协议报文或简单网络管理协议(Simple Network Management Protocol,SNMP)协议报文。可以在MIB协议报文或SNMP协议报文中新增加一个或多个比特,新增加的比特用于携带该指示信息;或者,使用MIB协议报文或SNMP协议报文中一个或多个保留比特携带该指示信息。
步骤303:当根据该状态信息确定出该ACL中包括空闲资源且待调整转发设备支持基于该ACL转发报文流时,调优控制器向待调整转发设备发送ACL记录,该ACL记录包括目标报文流的流标识和下一跳信息。
其中该ACL记录包括目标报文流的流标识和转发规则,该转发规则包括目标报文流的下一跳信息。
待调整转发设备接收该ACL记录,将该ACL记录存储在其包括的ACL中。在此之后,待调整转发设备接收到目标报文流时,根据该目标报文流的流标识,从ACL中查询出目标报文流的下一跳信息,根据该下一跳信息转发目标报文流。
进一步地,当确定出该ACL中包括空闲资源且待调整转发设备支持基于该ACL转发报文流时,调优控制器还可以判断该ACL包括的空闲资源大小是否小于预设阈值,如果小于,则获取目标报文流的优先级;当该优先级达到设定优先级时,向待调整转发设备发送ACL记录;当该优先级未达到设定优先级且目标报文流的流标识包括目标报文流的目的地址时,向待调整转发设备发送包括该目的地址和下一跳信息的路由信息。
当该优先级未达到设定优先级且目标报文流的流标识不包括目标报文流的目的地址时,则调优控制器向策略管控设备发送错误信息。策略管控设备接收该错误信息并提示管理员。
其中,调优控制器可以事先存储有流标识与优先级的对应关系。调优控制器可以根据目标报文流的流标识,从该流标识与优先级的对应关系中获取目标报文流的优先级。
可选的,在本步骤中,调优控制器还可以确定目标报文流对应的调整方式为ACL调整方式,将该ACL调整方式和该报文流调优策略对应保存在调整方式和报文流调优策略的对应关系中。
可选的,待调整转发设备将该ACL记录存储在待调整转发设备的ACL之后,还可以判断该ACL记录包括的流标识是否为目标报文流的目的地址,如果是,则从该ACL记录中提取目标报文流的目的地址和下一跳信息,将包括该目标报文流的目的地
址和该下一跳信息的路由信息存储在待调整转发设备的路由表中,以及从待调整转发设备的ACL中删除该ACL记录。
步骤304:当目标报文流的流标识包括目标报文流的目的地址以及根据该状态信息确定出该ACL中没有空闲资源或待调整转发设备不支持基于ACL转发报文流时,调优控制器向待调整转发设备发送路由信息,该路由信息包括目标报文流的目的地址和下一跳信息。
可选的,该路由信息中还可以包括团体属性等信息。
待调整转发设备接收该路由信息,将该路由信息存储在其包括的路由表中。在此之后,待调整转发设备接收到目标报文流时,根据该目标报文流的流标识,从路由表中查询出目标报文流的下一跳信息,根据该下一跳信息转发目标报文流。
可选的,当报文流调优策略还包括VPN的属性时,该路由信息还可以包括该VPN的属性。相应的,待调整转发设备接收该路由信息后,可以根据该VPN的属性,将该路由信息存储到该VPN对应的路由表中。
可选的,在本步骤中,调优控制器还可以确定目标报文流对应的调整方式为路由表调整方式,将该路由表调整方式和该报文流调优策略对应保存在调整方式和报文流调优策略的对应关系中。
可选的,调优控制器在调整完目标报文流的转发路径之后,还定期或不定期地检测为目标报文流配置的调整方式是否合适,详细实现过程如下:
第一步,调优控制器从保存的调整方式与报文流调优策略的对应关系中获取目标报文流的调整方式和报文流调优策略,获取该报文流调优策略包括的目标报文流的流标识、待调整转发设备的设备标识和下一跳信息。
第二步,当该调整方式为ACL调整方式且该流标识为目标报文流的目的地址时,则调优控制器控制待调整转发设备将包括该目的地址和该下一跳信息的路由信息存储在路由表中并从ACL中删除包括该流标识和该下一跳信息的ACL记录。
在实际实现时,调优控制器向待调整转发设备发送调整命令,该调整命令携带该流标识和包括该目的地址和该下一跳信息的路由信息。待调整转发设备接收该调整命令,根据该调整命令的指示将包括该目的地址和该下一跳信息的路由信息存储在路由表中并从ACL中删除包括该流标识和该下一跳信息的ACL记录。
当该流标识为目标报文流的目的地址时,即可以用路由表来转发该流标识对应的报文流,因此可以删除包括该流标识和该下一跳信息的ACL记录,将有限空间大小的ACL中的空间资源释放出来,以让其他不能通过路由表转发的报文流采用ACL来转发,从而提高资源使用效率。
第三步,当该调整方式为路由表调整方式且该流标识包括目标报文流的源地址和目的地址时,调优控制器确定待调整转发设备的ACL是否包括空闲资源且待调整转发设备是否支持ACL转发报文流,如果包括空闲资源且待调整转发设备支持ACL转发报文流,则控制待调整转发设备将包括目标报文流的流标识和该下一跳信息的ACL记录存储在ACL中以及从该路由表中删除包括该目的地址和该下一跳信息的路由信息。
在实际实现时,调优控制器从待调整转发设备中查询待调整转发设备的ACL是否包括空闲资源且待调整转发设备是否支持ACL转发报文流,如果包括空闲资源且待调
整转发设备支持ACL转发报文流,向待设备转设备发送调整命令,该调整命令携带该目的地址和包括目标报文流的流标识和该下一跳信息的ACL记录。待调整转发设备接收该调整命令,根据该调整命令的指示将包括目标报文流的流标识和该下一跳信息的ACL记录存储在ACL中以及从该路由表中删除包括该目的地址和该下一跳信息的路由信息。
在本实施例中,调优控制器在接收到报文流调优策略时,获取待调整转发设备的ACL的状态信息,根据该状态信息确定该ACL是否具有空闲资源和待调整转发设备是否支持基于该ACL转发报文流,在确定出该ACL有空闲资源以及待调整转发设备支持基于该ACL转发报文流时才向待转发设备发送ACL记录。这种方式相对于目前采用方案,不仅省去试探待调整转发设备的时间,还减少发送ACL记录带来的资源浪费。
实施例四
参见图4,本公开实施例提供了一种调整转发路径的装置400,所述装置400包括:
接收单元401,用于接收报文流调优策略,该报文流调优策略包括待调整的目标报文流的流标识、待调整转发设备的设备标识和调整后的目标报文流的转发路径在待调整转发设备上对应的下一跳信息;
处理单元402,用于根据该设备标识,获取待调整转发设备的ACL的状态信息,该状态信息包括ACL的资源使用情况信息和能力信息,该能力信息用于指示待调整转发设备是否支持基于ACL转发报文流;
发送单元403,用于当根据该状态信息确定出ACL中包括空闲资源且待调整转发设备支持基于ACL转发报文流时,向待调整转发设备发送ACL记录,该ACL记录包括该流标识和该下一跳信息,以使待调整转发设备将该ACL记录存储在待调整转发设备的ACL中。
在一个可能的实现方式中,处理单元402,可以用于当该ACL包括的空闲资源大小小于或等于预设阈值时,获取目标报文流的优先级;发送单元403,可以用于在该优先级达到设定优先级时,向待调整转发设备发送该ACL记录。
在一个可能的实现方式中,该装置400可以事先存储有流标识与优先级的对应关系。处理单元402可以根据目标报文流的流标识,从该流标识与优先级的对应关系中获取目标报文流的优先级。
在一个可能的实现方式中,处理单元402可以确定目标报文流对应的调整方式为ACL调整方式,将该ACL调整方式和该报文流调优策略对应保存在调整方式和报文流调优策略的对应关系中。
在一个可能的实现方式中,该流标识为目标报文流的目的地址;
处理单元402,还用于控制待调整转发设备将包括该目的地址和该下一跳信息的路由信息存储在待调整转发设备的路由表中并从待调整转发设备的ACL中删除该ACL记录。
在一个可能的实现方式中,处理单元402定期或不定期地从保存的调整方式与报文流调优策略的对应关系中获取目标报文流的调整方式和报文流调优策略,当该调整
方式为ACL调整方式且该流标识为目标报文流的目的地址时,可以控制待调整转发设备将包括该目的地址和该下一跳信息的路由信息存储在待调整转发设备的路由表中并从待调整转发设备的ACL中删除该ACL记录。
在一可能的实现方式中,该流标识包括目标报文流的目的地址;
发送单元403,还用于当处理单元402根据该状态信息确定出该ACL中没有空闲资源或待调整转发设备不支持基于该ACL转发报文流时,向待调整转发设备发送路由信息,该路由信息包括该目的地址和该下一跳信息,以使待调整转发设备将该路由信息存储在待调整转发设备的路由表中。
在一可能的实现方式中,处理单元402,还用于确定目标报文流对应的调整方式为路由表调整方式,将该路由表调整方式和该报文流调优策略对应保存在调整方式和报文流调优策略的对应关系中。
在一可能的实现方式中,该流标识还包括目标报文流的源地址;
处理单元402,还用于确定当前该ACL包括空闲资源且待调整转发设备支持基于该ACL转发报文流,则控制待调整转发设备将包括该流标识和该下一跳信息的ACL记录存储在待调整转发设备的ACL中以及从待调整转发设备的路由表中删除该路由信息。
在一可能的实现方式中,处理单元402定期或不定期地从保存的调整方式与报文流调优策略的对应关系中获取目标报文流的调整方式和报文流调优策略,当该调整方式为路由表调整方式且该流标识还包括目标报文流的源地址,可以控制待调整转发设备将包括该流标识和该下一跳信息的ACL记录存储在待调整转发设备的ACL中以及从待调整转发设备的路由表中删除该路由信息。
在一个可能的实现方式中,处理单元402,用于:
根据该设备标识,从该装置400保存的设备标识与ACL的状态信息的对应关系中获取待调整转发设备的ACL的状态信息;或者,
根据该设备标识,从待调整转发设备中查询待调整转发设备的ACL的状态信息。
在一个可能的实现方式中,处理单元402根据该设备标识,从待调整转发设备中查询待调整转发设备的ACL的状态信息的实现过程可以为:
处理单元402可以根据待调整转发设备的设备标识,并通过发送单元403向待调整转发设备发送上报命令,该上报命令携带用于指示待调整转发设备发送报文的指示信息,该报文可以包括待调整转发设备的设备标识和ACL的状态信息或者该报文可以包括待调整转发设备的设备标识和转发芯片使用状态信息。处理单元402可以通过接收单元401接收待调整转发设备发送的该报文,按上述步骤202的操作获取待调整转发设备的设备标识和ACL的状态信息。
在一可能的实现方式中,当处理单元402根据该设备标识,从该装置400保存的设备标识与ACL的状态信息的对应关系中获取待调整转发设备的ACL的状态信息时,接收单元401,还用于接收待调整转发设备发送的报文;
处理单元402,用于根据该报文获取待调整转发设备的设备标识和ACL的状态信息;将待调整转发设备的设备标识和ACL的状态信息对应保存在设备标识与ACL的状态信息的对应关系中。
处理单元402具体可以按上述步骤202的操作获取待调整转发设备的设备标识和ACL的状态信息。
在一个可能的实现方式中,该报文包括待调整转发设备的设备标识和转发芯片使用状态信息;
处理单元402,用于提取该报文包括的待调整转发设备的设备标识和转发芯片使用状态信息;根据该转发芯片使用状态信息获取待调整转发设备的ACL的状态信息。
该报文包括TLV字段,该TLV字段包括类型T字段,长度L字段和值V字段,处理单元402根据该V字段所承载的内容获取ACL的状态信息。
该报文可以为OSPF报文或ISIS报文,OSPF报文和ISIS报文中增加TLV字段。关于ODPF报文和ISIS报文的详细结构可以为参见上述步骤201、说明书附图2-2至2-7的相关内容,在此不再详细说明。
在本实施例中,调整转发路径的装置在接收到报文流调优策略时,获取待调整转发设备的ACL的状态信息,根据该状态信息确定该ACL是否具有空闲资源和待调整转发设备是否支持基于该ACL转发报文流,在确定出该ACL有空闲资源以及待调整转发设备支持基于该ACL转发报文流时才向待转发设备发送ACL记录。这种方式相对于目前采用方案,不仅省去试探待调整转发设备的时间,还减少发送ACL记录带来的资源浪费。
实施列五
参见图5,本申请实施列提供了一种调整转发路径的装置500,所述装置500包括:
处理单元501,用于获取转发芯片使用状态信息或ACL的状态信息;生成报文,该报文携带该转发芯片使用状态信息或该ACL的状态信息;
发送单元502,用于向调优控制器发送该报文,该转发芯片使用状态信息或该ACL的状态信息被调优控制器用于获取该装置500的ACL的状态信息;
其中该状态信息包括该ACL的资源使用情况信息和能力信息,该能力信息用于指示该装置500是否支持基于该ACL转发报文流,该ACL的状态信息被调优控制器用于调整在该装置500上传输的报文流的转发路径。
该报文包括TLV字段,该TLV字段包括类型T字段,长度L字段和值V字段,该V字段承载该转发芯片使用状态信息或该ACL的状态信息。
该报文可以为OSPF报文或ISIS报文,OSPF报文和ISIS报文中增加TLV字段。关于ODPF报文和ISIS报文的详细结构可以为参见上述步骤201、说明书附图2-2至2-7的相关内容,在此不再详细说明。
在一可能的实现方式中,该装置500还包括:接收单元503;
接收单元503,用于接收调优控制器发送的ACL记录,该ACL记录包括待调整的目标报文流的流标识和调整后的目标报文流的转发路径在该装置500上对应的下一跳信息;
处理单元501,还用于将该ACL记录存储在该装置500的ACL中。
在一可能的实现方式中,该流标识为目标报文流的目的地址,处理单元501,还用于将该包括该目标报文流的目的地址和下一跳信息的路由信息存储在该装置500的
路由表中;在该ACL中删除该ACL记录。
例如,在实现时可以有如下两种方式:
第一种方式为:接收单元503接收调优控制器发送的目标报文流的流标识和路由信息,该路由信息包括该目标报文流的目的地址和该下一跳信息;将该路由信息存储在该装置500的路由表中,在该ACL中删除包括该目标报文流的流标识的ACL记录。
第二种方式为:处理单元501在将该ACL记录存储在该装置500的ACL之后,还可以判断该ACL记录包括的流标识是否为目标报文流的目的地址,如果是,则可以将包括该目标报文流的目的地址和该下一跳信息的路由信息存储在该装置500的路由表中,以及从该装置500的ACL中删除该ACL记录。
在一可能的实现方式中,该流标识包括目标报文流的目的地址,
接收单元503,还用于接收调整优控制器发送的路由信息,该路由信息包括待调整的目标报文流的目的地址和调整后的目标报文流的转发路径在该装置500上对应的下一跳信息;
处理单元501,还用于将该路由信息存储在该装置500的路由表中。
在一可能的实现方式中,该目标报文流的流标识包括目标报文流的源地址,
接收单元503,还用于接收调优控制器发送的ACL记录,该ACL记录包括该流标识和该下一跳信息;
处理单元501,还用于将该ACL记录存储在该装置500的ACL中;在该路由表中删除该路由信息。
在本实施例中,通过报文使调优控制器可以获取该装置500的ACL的状态信息,进而使调优控制器调整在该装置500上传输的报文流的转发路径。
实施例六
图6是根据本申请一实施例的调整转发路径的装置600的另一示意图。该装置600可以是图中的调优控制器,可以用于执行图2-1,图3-1所示的方法。如图6所示,该装置600包括:输入接口601、输出接口602、处理器603和存储器604。该输入接口601、输出接口602、处理器603和存储器604可以通过总线系统605相连。
所述存储器604用于存储包括程序、指令或代码。所述处理器603,用于执行所述存储器604中的程序、指令或代码,以控制输入接口601接收信号、控制输出接口602发送信号以及实施上述图2-1以及图3-1所对应的实施方式中的调优控制器所实施的各步骤及功能,此处不再赘述。上述输入接口601、处理器603和输出接口602的具体实施方式可以相应参考上述图4中接收单元401,处理单元402以及发送单元403的具体说明,这里不再赘述。
图7是根据本申请一实施例提供的调整转发路径的装置700的另一示意图。如图7所示,该装置700可以为图中的待调整转发设备,包括:输入接口701、输出接口702、处理器703和存储器704。该输入接口701、输出接口702、处理器703和存储器704可以通过总线系统705相连。
所述存储器704用于存储包括程序、指令或代码。所述处理器703,用于执行所
述存储器704中的程序、指令或代码,以控制输入接口701接收信号、控制输出接口702发送信号以及实施上述图2-1以及图3-1所对应的实施方式中的待调整转发设备所实施的各步骤及功能,此处不再赘述。上述,输入接口701,输出接口702以及处理器703的具体实施方式可以相应参考上述图5实施方式中的接收单元503、发送单元502以及处理单元501中的具体说明,这里不再赘述。
应理解,在本申请实施例中,该处理器603和处理器703可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器604和存储器704可以包括只读存储器和随机存取存储器,并分别向处理器603和处理703提供指令和数据。存储器604或存储器704的一部分还可以包括非易失性随机存取存储器。例如,存储器604或存储器704还可以存储设备类型的信息。
该总线系统605和总线系统705除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统。
在实现过程中,图2-1和/或图3-1所示方法的各步骤可以通过处理器603和处理器703中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质分别位于存储器604和存储器704中,处理器603读取存储器604中的信息,处理器703读取存储器704中的信息,结合其硬件完成图2-1和/或图3-1方法100的步骤。为避免重复,这里不再详细描述。
需要说明的是,一个具体的实施方式中,图4中的处理单元402可以用图6的处理器603实现,发送单元403可以由图6的输出接口602实现,接收单元501可以用由图6的输入接口601实现。同理,图5中的处理单元501用图7的处理器703实现,发送单元502可以由图7的输出接口702实现,接收单元503可以用图7的输入接口701实现。
实施例七
本申请还提供了一种调整转发路径的系统800,包括图4或图6所述的装置以及图5或图7所述的装置。参见图8,图4或图6所述的装置可以为调优控制器801,图5或7所述的装置可以为转发设备802。所述系统800用于执行图2-1和/或图3-1对应的实施例的方法。
需要说明的是:上述实施例提供的调整转发路径的装置在调整转发路径时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描
述的全部或者部分功能。另外,上述实施例提供的调整转发路径的装置与调整转发路径的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (29)
- 一种调整转发路径的方法,其特征在于,所述方法包括:调优控制器接收报文流调优策略,所述报文流调优策略包括待调整的目标报文流的流标识、待调整转发设备的设备标识和调整后的所述目标报文流的转发路径在所述待调整转发设备上对应的下一跳信息;所述调优控制器根据所述设备标识,获取所述待调整转发设备的访问控制列表ACL的状态信息,所述状态信息包括所述ACL的资源使用情况信息和能力信息,所述能力信息用于指示所述待调整转发设备是否支持基于所述ACL转发报文流;所述调优控制器当根据所述状态信息确定出所述ACL中包括空闲资源且所述待调整转发设备支持基于所述ACL转发报文流时,向所述待调整转发设备发送ACL记录,所述ACL记录包括所述流标识和所述下一跳信息,以使所述待调整转发设备将所述ACL记录存储在所述待调整转发设备的ACL中。
- 如权利要求1所述的方法,其特征在于,所述调优控制器向所述待调整转发设备发送ACL记录,包括:当所述ACL包括的空闲资源大小小于或等于预设阈值时,所述调优控制器获取所述目标报文流的优先级;在所述优先级达到设定优先级时,所述调优控制器向所述待调整转发设备发送ACL记录。
- 如权利要求1或2所述的方法,其特征在于,所述流标识为所述目标报文流的目的地址,所述调优控制器向所述待调整转发设备发送ACL记录之后,所述方法还包括:所述调优控制器控制所述待调整转发设备将包括所述目的地址和所述下一跳信息的路由信息存储在所述待调整转发设备的路由表中并从所述待调整转发设备的ACL中删除所述ACL记录。
- 如权利要求1所述的方法,其特征在于,所述流标识包括所述目标报文流的目的地址,所述方法还包括:当所述调优控制器根据所述状态信息确定出所述ACL中没有空闲资源或所述待调整转发设备不支持基于所述ACL转发报文流时,所述调优控制器向所述待调整转发设备发送路由信息,所述路由信息包括所述目的地址和所述下一跳信息,以使所述待调整转发设备将所述路由信息存储在所述待调整转发设备的路由表中。
- 如权利要求4所述的方法,其特征在于,所述流标识还包括所述目标报文流的源地址,所述调优控制器向所述待调整转发设备发送路由信息之后,所述方法还包括:所述调优控制器确定当前所述ACL包括空闲资源且所述待调整转发设备支持基于所述ACL转发报文流,则控制所述待调整转发设备将包括所述流标识和所述下一跳信息的ACL记录存储在所述待调整转发设备的ACL中以及从所述待调整转发设备的路由表中删除所述路由信息。
- 如权利要求1所述的方法,其特征在于,所述调优控制器根据所述设备标识,获取所述待调整转发设备的ACL的状态信息,包括:所述调优控制器根据所述设备标识,从所述调优控制器保存的设备标识与ACL的状态信息的对应关系中获取所述待调整转发设备的ACL的状态信息;或者,所述调优控制器根据所述设备标识,从所述待调整转发设备中查询所述待调整转发设备的ACL的状态信息。
- 如权利要求6所述的方法,其特征在于,当所述调优控制器根据所述设备标识, 从所述调优控制器保存的设备标识与ACL的状态信息的对应关系中获取所述待调整转发设备的ACL的状态信息时,在所述调优控制器获取所述待调整转发设备的ACL的状态信息之前,所述方法还包括:所述调优控制器接收待调整转发设备发送的报文;所述调优控制器根据所述报文获取所述待调整转发设备的设备标识和ACL的状态信息;所述调优控制器将所述待调整转发设备的设备标识和ACL的状态信息对应保存在设备标识与ACL的状态信息的对应关系中。
- 如权利要求7所述的方法,其特征在于,所述报文包括所述待调整转发设备的设备标识和转发芯片使用状态信息;所述调优控制器根据所述报文获取所述待调整转发设备的设备标识和ACL的状态信息,包括:所述调优控制器提取所述报文包括的所述待调整转发设备的设备标识和转发芯片使用状态信息;所述调优控制器根据所述转发芯片使用状态信息获取所述待调整转发设备的ACL的状态信息。
- 一种调整转发路径的方法,其特征在于,所述方法包括:待调整转发设备获取转发芯片使用状态信息或访问控制列表ACL的状态信息;所述待调整转发设备生成报文,所述报文携带所述转发芯片使用状态信息或所述ACL的状态信息;所述待调整转发设备向调优控制器发送所述报文,所述转发芯片使用状态信息或所述ACL的状态信息被所述调优控制器用于获取所述待调整转发设备的ACL的状态信息;其中所述状态信息包括所述ACL的资源使用情况信息和能力信息,所述能力信息用于指示所述待调整转发设备是否支持基于所述ACL转发报文流,所述ACL的状态信息被所述调优控制器用于调整在所述待调整转发设备上传输的报文流的转发路径。
- 如权利要求9所述的方法,其特征在于,所述报文包括类型长度值TLV字段,所述TLV字段包括类型T字段,长度L字段和值V字段,所述V字段承载所述转发芯片使用状态信息或所述ACL的状态信息。
- 如权利要求9或10所述的方法,其特征在于,在所述待调整转发设备向调优控制器发送所述报文之后,所述方法还包括:所述待调整转发设备接收所述调优控制器发送的ACL记录,所述ACL记录包括待调整的目标报文流的流标识和调整后的所述目标报文流的转发路径在所述待调整转发设备上对应的下一跳信息;所述待调整转发设备将所述ACL记录存储在所述待调整转发设备的ACL中。
- 如权利要求11所述的方法,其特征在于,所述流标识为所述目标报文流的目的地址,所述待调整转发设备将所述ACL记录存储在所述待调整转发设备的ACL中之后,所述方法还包括:所述待调整转发设备将包括所述目的地址和所述下一跳信息的路由信息存储在所述待调整转发设备的路由表中;所述待调整转发设备在所述ACL中删除所述ACL记录。
- 如权利要求9或10所述的方法,其特征在于,在所述待调整转发设备向调优控制器发送所述报文之后,所述方法还包括:所述待调整转发设备接收所述调优控制器发送的路由信息,所述路由信息包括待 调整的目标报文流的目的地址和调整后的所述目标报文流的转发路径在所述待调整转发设备上对应的下一跳信息;所述待调整转发设备将所述路由信息存储在所述待调整转发设备的路由表中。
- 如权利要求13所述的方法,其特征在于,所述目标报文流的流标识包括所述目标报文流的源地址,所述待调整转发设备将所述路由信息存储在所述待调整转发设备的路由表中之后,所述方法还包括:所述待调整转发设备接收所述调优控制器发送的ACL记录,所述ACL记录包括所述流标识和所述下一跳信息;所述待调整转发设备将所述ACL记录存储在所述待调整转发设备的ACL中;所述待调整转发设备在所述路由表中删除所述路由信息。
- 一种调整转发路径的装置,其特征在于,所述装置包括:接收单元,用于接收报文流调优策略,所述报文流调优策略包括待调整的目标报文流的流标识、待调整转发设备的设备标识和调整后的所述目标报文流的转发路径在所述待调整转发设备上对应的下一跳信息;处理单元,用于根据所述设备标识,获取所述待调整转发设备的访问控制列表ACL的状态信息,所述状态信息包括所述ACL的资源使用情况信息和能力信息,所述能力信息用于指示所述待调整转发设备是否支持基于所述ACL转发报文流;发送单元,用于当根据所述状态信息确定出所述ACL中包括空闲资源且所述待调整转发设备支持基于所述ACL转发报文流时,向所述待调整转发设备发送ACL记录,所述ACL记录包括所述流标识和所述下一跳信息,以使所述待调整转发设备将所述ACL记录存储在所述待调整转发设备的ACL中。
- 如权利要求15所述的装置,其特征在于,所述处理单元,用于当所述ACL包括的空闲资源大小小于或等于预设阈值时,获取所述目标报文流的优先级;所述发送单元,用于在所述优先级达到设定优先级时,向所述待调整转发设备发送ACL记录。
- 如权利要求15或16所述的装置,其特征在于,所述流标识为所述目标报文流的目的地址;所述处理单元,还用于控制所述待调整转发设备将包括所述目的地址和所述下一跳信息的路由信息存储在所述待调整转发设备的路由表中并从所述待调整转发设备的ACL中删除所述ACL记录。
- 如权利要求15所述的装置,其特征在于,所述流标识包括所述目标报文流的目的地址;所述发送单元,还用于当所述处理单元根据所述状态信息确定出所述ACL中没有空闲资源或所述待调整转发设备不支持基于所述ACL转发报文流时,向所述待调整转发设备发送路由信息,所述路由信息包括所述目的地址和所述下一跳信息,以使所述待调整转发设备将所述路由信息存储在所述待调整转发设备的路由表中。
- 如权利要求18所述的装置,其特征在于,所述流标识还包括所述目标报文流的源地址;所述处理单元,还用于确定当前所述ACL包括空闲资源且所述待调整转发设备支持基于所述ACL转发报文流,则控制所述待调整转发设备将包括所述流标识和所述下一跳信息的ACL记录存储在所述待调整转发设备的ACL中以及从所述待调整转发设备的路由表中删除所述路由信息。
- 如权利要求15所述的装置,其特征在于,所述处理单元,用于:根据所述设备标识,从所述装置保存的设备标识与ACL的状态信息的对应关系中获取所述待调整转发设备的ACL的状态信息;或者,根据所述设备标识,从所述待调整转发设备中查询所述待调整转发设备的ACL的状态信息。
- 如权利要求20所述的装置,其特征在于,当所述处理单元根据所述设备标识,从所述装置保存的设备标识与ACL的状态信息的对应关系中获取所述待调整转发设备的ACL的状态信息时,所述接收单元,还用于接收待调整转发设备发送的报文;所述处理单元,用于根据所述报文获取所述待调整转发设备的设备标识和ACL的状态信息;将所述待调整转发设备的设备标识和ACL的状态信息对应保存在设备标识与ACL的状态信息的对应关系中。
- 如权利要求21所述的装置,其特征在于,所述报文包括所述待调整转发设备的设备标识和转发芯片使用状态信息;所述处理单元,用于提取所述报文包括的所述待调整转发设备的设备标识和转发芯片使用状态信息;根据所述转发芯片使用状态信息获取所述待调整转发设备的ACL的状态信息。
- 一种调整转发路径的装置,其特征在于,所述装置包括:处理单元,用于获取转发芯片使用状态信息或访问控制列表ACL的状态信息;生成报文,所述报文携带所述转发芯片使用状态信息或所述ACL的状态信息;发送单元,用于向调优控制器发送所述报文,所述转发芯片使用状态信息或所述ACL的状态信息被所述调优控制器用于获取所述装置的ACL的状态信息;其中所述状态信息包括所述ACL的资源使用情况信息和能力信息,所述能力信息用于指示所述装置是否支持基于所述ACL转发报文流,所述ACL的状态信息被所述调优控制器用于调整在所述装置上传输的报文流的转发路径。
- 如权利要求23所述的装置,其特征在于,所述报文包括类型长度值TLV字段,所述TLV字段包括类型T字段,长度L字段和值V字段,所述V字段承载所述转发芯片使用状态信息或所述ACL的状态信息。
- 如权利要求23或24所述的方法,其特征在于,所述装置还包括:接收单元;所述接收单元,用于接收所述调优控制器发送的ACL记录,所述ACL记录包括待调整的目标报文流的流标识和调整后的所述目标报文流的转发路径在所述装置上对应的下一跳信息;所述处理单元,还用于将所述ACL记录存储在所述装置的ACL中。
- 如权利要求25所述的装置,其特征在于,所述流标识为所述目标报文流的目的地址,所述处理单元,还用于将将包括所述目的地址和所述下一跳信息的路由信息存储在所述装置的路由表中,并在所述ACL中删除所述ACL记录。
- 如权利要求23或24所述的装置,其特征在于,所述接收单元,还用于接收所述调优控制器发送的路由信息,所述路由信息包括待调整的目标报文流的目的地址和调整后的所述目标报文流的转发路径在所述装置上对应的下一跳信息;所述处理单元,还用于将所述路由信息存储在所述装置的路由表中。
- 如权利要求27所述的装置,其特征在于,所述目标报文流的流标识包括为所述目标报文流的源地址,所述接收单元,还用于接收所述调优控制器发送的ACL记录,所述ACL记录包 括所述流标识和所述下一跳信息;所述处理单元,还用于将所述ACL记录存储在所述装置的ACL中;在所述路由表中删除所述路由信息
- 一种调整转发路径的系统,其特征在于,所述系统包括如权利要求15至22任一项权利要求所述的装置和如权利要求23至28任一项权利要求所述的装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP17894204.1A EP3567812B1 (en) | 2017-01-24 | 2017-11-09 | Method, device, and system for adjusting a forwarding path |
| US16/519,917 US11063874B2 (en) | 2017-01-24 | 2019-07-23 | Forwarding path adjustment method, apparatus, and system |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710055193.4 | 2017-01-24 | ||
| CN201710055193.4A CN108347376B (zh) | 2017-01-24 | 2017-01-24 | 一种调整转发路径的方法、装置及系统 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/519,917 Continuation US11063874B2 (en) | 2017-01-24 | 2019-07-23 | Forwarding path adjustment method, apparatus, and system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018137384A1 true WO2018137384A1 (zh) | 2018-08-02 |
Family
ID=62961963
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2017/110188 Ceased WO2018137384A1 (zh) | 2017-01-24 | 2017-11-09 | 一种调整转发路径的方法、装置及系统 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11063874B2 (zh) |
| EP (1) | EP3567812B1 (zh) |
| CN (1) | CN108347376B (zh) |
| WO (1) | WO2018137384A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114024731A (zh) * | 2021-10-29 | 2022-02-08 | 杭州迪普科技股份有限公司 | 报文处理方法及装置 |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019075642A1 (zh) * | 2017-10-17 | 2019-04-25 | 深圳前海达闼云端智能科技有限公司 | 一种网络路径优化方法、系统、控制服务端以及入网端 |
| US11483313B2 (en) * | 2018-06-28 | 2022-10-25 | Intel Corporation | Technologies for updating an access control list table without causing disruption |
| CN114726660A (zh) | 2018-09-30 | 2022-07-08 | 华为技术有限公司 | 发送、处理报文的方法、入口节点及网络系统 |
| CN110191135B (zh) * | 2019-06-11 | 2021-09-21 | 杭州迪普信息技术有限公司 | Acl配置方法、装置、电子设备 |
| CN110968806B (zh) * | 2019-11-15 | 2023-06-09 | 新华三半导体技术有限公司 | 维护信息查找方法、装置及网络设备 |
| US20210288908A1 (en) * | 2020-03-12 | 2021-09-16 | Schweitzer Engineering Laboratories, Inc. | Elimination of address resolution protocol |
| CN112637077B (zh) * | 2020-12-28 | 2023-02-28 | 杭州迪普科技股份有限公司 | 路由动态配置方法及装置 |
| US11876710B2 (en) * | 2021-01-20 | 2024-01-16 | Oracle International Corporation | Dynamic IP routing in a cloud environment |
| CN115473812A (zh) * | 2021-05-24 | 2022-12-13 | 中兴通讯股份有限公司 | 流量报文转发方法、客户端、控制器及存储介质 |
| CN120935087A (zh) * | 2024-05-10 | 2025-11-11 | 华为技术有限公司 | 数据流的发送方法、装置及系统 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101272350A (zh) * | 2008-05-06 | 2008-09-24 | 北京星网锐捷网络技术有限公司 | 输出访问控制方法与输出访问控制装置 |
| CN102857428A (zh) * | 2012-09-18 | 2013-01-02 | 杭州华三通信技术有限公司 | 一种基于访问控制列表的报文转发方法和设备 |
| CN103346971A (zh) * | 2013-06-19 | 2013-10-09 | 华为技术有限公司 | 数据转发方法、控制器、转发设备及系统 |
| US20140032591A1 (en) * | 2012-07-27 | 2014-01-30 | Cisco Technology, Inc. | System and method for improving hardware utilization for a bidirectional access control list in a low latency high-throughput network |
| CN104994065A (zh) * | 2015-05-20 | 2015-10-21 | 上海斐讯数据通信技术有限公司 | 基于软件定义网络的访问控制列表运行系统和方法 |
| CN105847153A (zh) * | 2016-03-25 | 2016-08-10 | 迈普通信技术股份有限公司 | 一种报文转发方法及网络设备 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7530112B2 (en) * | 2003-09-10 | 2009-05-05 | Cisco Technology, Inc. | Method and apparatus for providing network security using role-based access control |
| US8040895B2 (en) * | 2006-03-22 | 2011-10-18 | Cisco Technology, Inc. | Method and system for removing dead access control entries (ACEs) |
| US10027576B2 (en) * | 2016-05-23 | 2018-07-17 | Juniper Networks, Inc. | Method, system, and apparatus for proxying intra-subnet traffic across multiple interfaces within networks |
| CN105847300B (zh) * | 2016-05-30 | 2019-06-25 | 北京琵琶行科技有限公司 | 企业网络边界设备拓扑结构的可视化方法及装置 |
-
2017
- 2017-01-24 CN CN201710055193.4A patent/CN108347376B/zh active Active
- 2017-11-09 WO PCT/CN2017/110188 patent/WO2018137384A1/zh not_active Ceased
- 2017-11-09 EP EP17894204.1A patent/EP3567812B1/en active Active
-
2019
- 2019-07-23 US US16/519,917 patent/US11063874B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101272350A (zh) * | 2008-05-06 | 2008-09-24 | 北京星网锐捷网络技术有限公司 | 输出访问控制方法与输出访问控制装置 |
| US20140032591A1 (en) * | 2012-07-27 | 2014-01-30 | Cisco Technology, Inc. | System and method for improving hardware utilization for a bidirectional access control list in a low latency high-throughput network |
| CN102857428A (zh) * | 2012-09-18 | 2013-01-02 | 杭州华三通信技术有限公司 | 一种基于访问控制列表的报文转发方法和设备 |
| CN103346971A (zh) * | 2013-06-19 | 2013-10-09 | 华为技术有限公司 | 数据转发方法、控制器、转发设备及系统 |
| CN104994065A (zh) * | 2015-05-20 | 2015-10-21 | 上海斐讯数据通信技术有限公司 | 基于软件定义网络的访问控制列表运行系统和方法 |
| CN105847153A (zh) * | 2016-03-25 | 2016-08-10 | 迈普通信技术股份有限公司 | 一种报文转发方法及网络设备 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3567812A4 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114024731A (zh) * | 2021-10-29 | 2022-02-08 | 杭州迪普科技股份有限公司 | 报文处理方法及装置 |
| CN114024731B (zh) * | 2021-10-29 | 2023-04-25 | 杭州迪普科技股份有限公司 | 报文处理方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN108347376A (zh) | 2018-07-31 |
| CN108347376B (zh) | 2020-01-31 |
| EP3567812B1 (en) | 2021-07-28 |
| EP3567812A4 (en) | 2019-12-25 |
| US11063874B2 (en) | 2021-07-13 |
| EP3567812A1 (en) | 2019-11-13 |
| US20190349307A1 (en) | 2019-11-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2018137384A1 (zh) | 一种调整转发路径的方法、装置及系统 | |
| US8949413B2 (en) | Filter selection and resuse | |
| CN107222353B (zh) | 支持协议无关的软件定义网络虚拟化管理平台 | |
| JP7634561B2 (ja) | メッセージ処理方法及び装置、通告方法及び装置、ネットワークブリッジノード、ソースデバイス、記憶媒体及びメッセージ処理システム | |
| US20130003549A1 (en) | Resilient Hashing for Load Balancing of Traffic Flows | |
| US10587494B2 (en) | Network control method and apparatus | |
| CN107204867A (zh) | 一种信息传输方法、装置和系统 | |
| US12206597B2 (en) | Method and apparatus for configuring quality of service policy for service, and computing device | |
| WO2019223661A1 (zh) | 一种识别应用标识的方法、设备及系统 | |
| JP7101308B2 (ja) | 高速転送テーブル作成 | |
| WO2017107814A1 (zh) | 一种传播QoS策略的方法、装置及系统 | |
| CN102546728A (zh) | 一种对等网络资源下载方法 | |
| WO2021169290A1 (zh) | 配置性能探测指示信息的方法及相关设备 | |
| CN103023778A (zh) | 路由选路方法及装置 | |
| KR20210016802A (ko) | 소프트웨어 정의 네트워킹 환경에서 서버-클라이언트 기반의 네트워크 서비스를 위한 플로우 테이블을 최적화하는 방법 및 이를 위한 sdn 스위치 | |
| WO2019242698A1 (zh) | 一种管理网元的方法、设备及系统 | |
| CN110380966B (zh) | 一种发现转发路径的方法及其相关设备 | |
| WO2024108493A1 (zh) | 基于sdn与ndn的虚实结合动态流量调度方法及装置 | |
| CN115209378A (zh) | 车辆的服务资源动态分配方法、系统、管理服务器及介质 | |
| US20150381775A1 (en) | Communication system, communication method, control apparatus, control apparatus control method, and program | |
| WO2018113633A1 (zh) | 报文转发方法、报文转发控制器、bras、计算机存储介质 | |
| CN105991447A (zh) | 分段路由标识sid的处理方法及装置 | |
| CN102447724A (zh) | 控制p2p下载的方法、服务器及系统 | |
| WO2021093510A1 (zh) | 网络业务的处理方法、系统和网关设备 | |
| US12476911B2 (en) | Mechanism to manage bidirectional traffic for high availability network devices |
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: 17894204 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: 2017894204 Country of ref document: EP Effective date: 20190805 |