WO2018170901A1 - Method and device for managing network based on border gateway protocol - Google Patents

Method and device for managing network based on border gateway protocol Download PDF

Info

Publication number
WO2018170901A1
WO2018170901A1 PCT/CN2017/078136 CN2017078136W WO2018170901A1 WO 2018170901 A1 WO2018170901 A1 WO 2018170901A1 CN 2017078136 W CN2017078136 W CN 2017078136W WO 2018170901 A1 WO2018170901 A1 WO 2018170901A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
changed
mode
bgp
network device
Prior art date
Application number
PCT/CN2017/078136
Other languages
French (fr)
Inventor
Junjie JI
Mingliang HUANG
Guijuan WANG
Wei Xu
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to PCT/CN2017/078136 priority Critical patent/WO2018170901A1/en
Publication of WO2018170901A1 publication Critical patent/WO2018170901A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

Definitions

  • Embodiments of the present disclosure generally relate to the field of communications, and more particularly, to a method and device for managing network based on border gateway protocol (BGP) .
  • BGP border gateway protocol
  • BGP is a de-facto protocol used for an inter-autonomous-system (IAS) connectivity nowadays. It has many advantages, such as, high reliability by using a transmission control protocol (TCP) to setup connections; applicable for large-scale networks and manage large number of routes; ability to own rich and flexible routing policies; strong extendibility based on TLV (type, length, value) structure; ability to easily interwork with other protocols such as interior gateway protocol (IGP) , multi-protocol label switching (MPLS) , and so on.
  • TCP transmission control protocol
  • IGP interior gateway protocol
  • MPLS multi-protocol label switching
  • BGP is also a powerful protocol. It has lots of extensions, attributes, policies and features.
  • the BGP extensions includes multi-protocol extensions for BGP (MP-BGP) , route-refresh, 4-bytes autonomous system number (ASN) , outbound route filter (ORF) , extended next hop encoding, graceful restart, and so on.
  • the BGP attributes covers weight, multi-exit-discriminator (MED) , origin, as_path, aggregator, confederation, community, route reflector and etc.
  • BGP policies includes prefix-list, access-list, distributed-list, route-map and etc.
  • the BGP features are route dampening, BGP/MPLS IP (internet protocol) VPN (virtual private network) , fast re-route and etc.
  • BGP can support multiple capabilities, attributes, policies and features, when the network changes, administrators may need to manually and continuously adjust BGP parameters to let BGP run at fast convergence and stable state. This is inefficient, especially for the network with large amounts of BGP nodes.
  • embodiments of the present disclosure provide a solution or a mechanism that BGP can be aware of changes of topology, neighbor counts, counts of received message, counts of routes, and so on; then self-adjust related BGP timers, attributes, mechanisms and features, so that BGP is running at fast convergence and stable state and without any human intervention.
  • This mechanism not only can be enabled at global mode, but also can be applied to a group of neighbors (for example, one peer-group, one confederation, one community, a number of neighbors who match the same policies and etc. ) . It is flexible and efficient for administrators.
  • a method for managing network based on border gateway protocol comprising: determining, by a network device, whether the network is changed; determining, by the network device, whether one or more conditions is/are satisfied based on the changed network; wherein a relationship between the condition and a parameter configuration is pre-defined; adjusting, by the network device, one or more parameters of the border gateway protocol according to the satisfied conditions when the one or more conditions is/are satisfied.
  • the method further comprising: determining, by the network device, whether a first mode or a second mode is enabled; and determining whether one or more conditions is/are satisfied based on the changed network when the second mode is enabled.
  • the method further comprising: configuring one or more parameters of the border gateway protocol manually by an administrator when the first mode is enabled.
  • the network is changed comprises one or more of the following: topology of the network is changed; configuration of the network is reconfigured; the load of traffic in the network is changed; counts of routes in the network are changed.
  • the parameters of the border gateway protocol comprise one or more of the following: a timer value of the border gate way protocol, a timer factor of the border gate way protocol, capabilities of the border gate way protocol, an attribute value of the border gate way protocol, a mechanism mode of the border gate way protocol, a feature mode of the border gate way protocol.
  • a network device comprising a processor and a memory, wherein the memory containing instructions executable by the processor whereby the network device is operative to: determine whether a network is changed; determine whether one or more conditions is/are satisfied based on the changed network; wherein a relationship between the condition and a parameter configuration is pre-defined; adjust one or more parameters of the border gateway protocol according to the satisfied conditions when the one or more conditions is/are satisfied.
  • the memory containing instructions executable by the processor whereby the network device is further operative to: determine whether a first mode or a second mode is enabled; and determine whether one or more conditions is/are satisfied based on the changed network when the second mode is enabled.
  • the memory containing instructions executable by the processor whereby the network device is further operative to: configure one or more parameters of the border gateway protocol manually by an administrator when the first mode is enabled.
  • the network is changed comprises one or more of the following: topology of the network is changed; configuration of the network is reconfigured; the load of traffic in the network is changed; counts of routes in the network are changed.
  • the parameter of the border gateway protocol comprises one or more of the following: a timer value of the border gate way protocol, a timer factor of the border gate way protocol, capabilities of the border gateway protocol, an attribute value of the border gate way protocol, a mechanism mode of the border gate way protocol, a feature mode of the border gate way protocol.
  • a network device may adjust one or more parameters of BGP according to satisfied conditions based on a changed network when one or more conditions is/are satisfied. Therefore, BGP can run with faster convergence and stable state and without human intervention no matter how the network changes.
  • This mechanism can not only improve the BGP convergence and stability but also save much cost for maintaining BGP networks.
  • this mechanism can be easily implemented based on the current BGP implementation.
  • Fig. 1 is a diagram which shows a method for managing network based on BGP in accordance with an embodiment of the present disclosure
  • Fig. 2 is another diagram which shows a method for managing network based on BGP in accordance with an embodiment of the present disclosure
  • FIG. 3 is a block diagram of an apparatus 300 for managing network base on BGP in accordance with an embodiment of the present disclosure
  • FIG. 4 shows a simplified block diagram of a network device that is suitable for implementing embodiments of the present disclosure.
  • the term “communication network” refers to a network following any suitable communication standards, such as LTE-Advanced (LTE-A) , LTE, Wideband Code Division Multiple Access (WCDMA) , High-Speed Packet Access (HSPA) , and so on.
  • LTE-A LTE-Advanced
  • WCDMA Wideband Code Division Multiple Access
  • HSPA High-Speed Packet Access
  • the term “network device” refers to a device in a communication network for managing the network.
  • the network device may be a router, a gateway, a server, a work station, a network controller, and so forth. More generally, however, the network device may represent any suitable device (or group of devices) capable, configured, arranged, and/or operable to manage a network.
  • the terms “first” and “second” refer to different elements.
  • the singular forms “a” and “an” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
  • a method for managing network based on BGP is provided in one embodiment.
  • the method is implemented at a network device as an example.
  • Fig. 1 is a diagram which shows a method 100 for managing network based on BGP in accordance with an embodiment of the present disclosure, and illustrates the method by taking a network device as an example.
  • the method 100 includes determining, by a network device, whether the network is changed at block 101; and determining, by the network device, whether one or more conditions is/are satisfied based on the changed network at block 102.
  • a relationship between the condition and a parameter configuration is pre-defined.
  • the method 100 further includes adjusting, by the network device, one or more parameters of the border gateway protocol according to the satisfied conditions when the one or more conditions is/are satisfied at block 103.
  • the network is changed may comprise one or more of the following: topology of the network is changed; configuration of the network is reconfigured; the load of traffic in the network is changed; counts of routes in the network are changed. It should be appreciated that the above cases are only examples in this disclosure, but it is not limited thereto, other cases may also be further adopted.
  • the parameters of the BGP may comprise one or more of the following: a timer value of the BGP, a timer factor of the BGP, capabilities of the BGP, an attribute value of the BGP, a mechanism mode of the BGP, a feature mode of the BGP. It should be appreciated that the above parameters are only examples in this disclosure, but it is not limited thereto, other parameters may also be further adopted.
  • a first mode may also be referred to as a usual mode
  • a second mode may also be referred to as a self-adaption mode or a smart BGP mode
  • a first mode may also be referred to as a usual mode
  • a second mode may also be referred to as a self-adaption mode or a smart BGP mode
  • the network device may determine whether the first mode or the second mode is enabled; and determine whether one or more conditions is/are satisfied based on the changed network when the second mode is enabled; and configure one or more parameters of the BGP manually by an administrator when the first mode is enabled.
  • a self-adaption mechanism can be easily implemented based on the current BGP implementation, just requires a check if it is enabled or not, BGP will runs at the self-adaption mode or the usual mode.
  • relationships between the conditions and parameter configurations may be pre-defined in a self-adaption set. Some examples may be illustrated in the following table 1. It should be appreciated that the relationships are only examples in the table 1, but it is not limited thereto,
  • Fig. 2 is another diagram which shows a method 200 for managing network based on BGP in accordance with an embodiment of the present disclosure.
  • the method 200 includes determining, by a network device, whether the network is changed at block 201; and enters into block 202 if yes, otherwise the network device will continue to monitor the network.
  • the method 200 further includes determining, by the network device, whether a smart BGP mode is enabled at block 202; and enters into block 203 if yes, otherwise enters into block 204.
  • the method 200 further includes configuring one or more parameters of the BGP manually by an administrator at block 204. That is, a conventional BGP procedure may be performed when the smart BGP mode is not enabled (i.e. the first mode is enabled) .
  • the method 200 further includes determining, by the network device, whether one or more conditions is/are satisfied based on the changed network at block 203.
  • a relationship between the condition and a parameter configuration is pre-defined.
  • the administrator when the administrator enables the “Smart BGP mode” , it is allowed to designate timers, capabilities, attributes, mechanisms and features which want to be added to a dynamic self-adaption set. If users do not directly specify this set, then BGP will use its default set. If users directly configure the timer, capability, attribute, mechanism or feature, then this timer, capability, attribute, mechanism or feature will be removed from the self-adaption set, and BGP will use the user configurations.
  • the timer, capability, attribute, mechanism or feature will be automatically added to the self-adaption set after the user configuration is removed. Also, users can specify what conditions are required for disabling “Smart BGP mode” automatically. For example, the received routes are more than 256K, the routes in dampening status are beyond 100, the BGP sessions in unstable status are more than two, and etc. Administrator also can input the initial default factors and values for the timers, capabilities and attributes, default behaviors for mechanisms and features when enabling “Smart BGP mode” .
  • the method 200 further includes adjusting, by the network device, one or more parameters of the border gateway protocol according to the satisfied conditions when the one or more conditions is/are satisfied at block 205.
  • user can check what timers, capabilities, attributes, mechanism and features are in the self-adaption set and the more detailed run-time values, status may be checked by executing show commands.
  • different BGP devices may have different self-conditions, such as memory occupation ratio, CPU performance, CPU load, distributed or central system, and so on. It will be unreasonable to adjust the self-adaption set with the same pace for different BGP devices. So, user can assign different weight factors to these BGP devices when they adapt their self-adaption set according to the network changes.
  • the method 200 further includes performing, by the network device, the BGP procedure based on the adjusted parameters at block 206.
  • Fig. 2 is only an example of the disclosure, but it is not limited thereto.
  • the order of operations at blocks 201-206 may be adjusted and/or some blocks may be omitted.
  • some blocks not shown in Fig. 2 may be added.
  • Fig. 2 only illustrates a BGP procedure when network is changed as an example. But it is not limited thereto, for example, the block 201-206 may be executed several times if the network changes continuously.
  • a demonstration for timer is illustrated as an example.
  • RFC4271 defines seven timers, and some of them have their own default values, such as,
  • MinASOriginationIntervalTimer with default value 15 seconds
  • MinRouteAdvertisementIntervalTimer with default value 30 seconds for EBGP (external BGP) -peer and 5 seconds for IBGP (internal BGP) -peer,
  • RFC2439 defines some timers used for BGP route flap dampening, such as Reachability Half-life timer for penalty, Un-reachability Half-life timer for the penalty and Maximum duration to suppress a stable route.
  • the real used values for these timers may be multiplied by a weighted factor.
  • the default weighted factor could be 0.25.
  • the real value of a timer may be not smaller than a min-value and be not bigger than a max-value. Since BGP can be-aware of the count changes for neighbors and routes. This embodiment defines a relation between them and timers which are shown below.
  • the weighted factor can be revised according to the experimental data.
  • the table 1 is only an example and it is not limited thereto.
  • the values of the timers may not be multiplied by a factor and may be added by a factor (i.e. it is incremental) .
  • timers can be dynamically self-adjusted along with the network changes, in order to make BGP run at fast convergence and stable status at any time. This embodiment only provides a dynamic self-adaption mechanism, but not define or limit the detailed algorithms.
  • min-route-advertisement-interval timer Take min-route-advertisement-interval timer as an example, its default value for external BGP neighbors is 30 seconds. When a route changes, BGP will wait for 30 seconds before sending it to its neighbors. Its neighbors have to wait for 30 seconds for receiving the updated route. It is too slow, especially for small networks.
  • the value of the min-route-advertisement-interval timer when the neighbor count is less than 32 and total routes are less than 32K, the value of the min-route-advertisement-interval timer will be adjusted to 7 seconds (30 second *0.25) , which can speed up the route convergence.
  • the value of the min-route-advertisement-interval timer will be adjusted to 37 seconds (30 second *1.25) , which makes the BGP more stable for large-scale networks.
  • a demonstration for capability is illustrated as an example.
  • BGP can dynamically adjust capabilities’ behaviors according to the network changes.
  • a threshold Y may be defined, M means number of received prefixes, and N means count of policies.
  • M*N is smaller than the defined threshold Y, the local BGP will able to process the received prefixes without degrading the performance obviously. Otherwise, the local BGP’s performance will be downgraded markedly.
  • BGP can use ORF mechanism which defines a BGP-based mechanism that allows BGP to send to its peer a set of Outbound Route Filters that the peer would use to constrain/filter its outbound routing updates to that BGP neighbor which can ease the burden for applying the policies for routes by itself. Then, the overload for itself will be decreased and its performance will be improved. If M*N ⁇ Y, then it will not send ORF packages to its peer and apply the policies for the received prefixes by itself.
  • BGP can dynamically enable/disable some capabilities according to the network changes by using “Dynamic Capability” without resetting BGP sessions.
  • a demonstration for mechanism is illustrated as an example.
  • FIB Forwarding Information Base
  • BGP can adjust the bulk size in a reasonable range dynamically according to the routes which need to be added. Then, BGP will be running at a fast convergence and stable state.
  • route dampening feature can be enabled, and collect dampened routes as an input parameter for “Smart BGP” when the network meet user defined conditions. If the dampened count for routes is growing bigger and bigger, some timers also can be changed accordingly, even exit from the “Smart BGP” mode in order to make BGP stable.
  • Fast re-route mechanism can be enabled/disabled under “Smart BGP” mode dynamically too. When the best route’s next-hop becomes invalid, it will switch to the suboptimal next-hop immediately which can improve the convergence.
  • timer, capability, mechanism, feature are only examples and this disclosure is not limited thereto.
  • other parameters of BGP may be adopted on demand.
  • a network device may adjust one or more parameters of BGP according to satisfied conditions based on a changed network when one or more conditions is/are satisfied. Therefore, BGP can run with faster convergence and stable state and without human intervention no matter how the network changes.
  • An apparatus for managing network base on BGP is provided in an embodiment.
  • the apparatus may be configured in a network device, and the same contents as those in the first aspect of embodiments are omitted.
  • FIG. 3 is a block diagram of an apparatus 300 for managing network base on BGP in accordance with an embodiment of the present disclosure.
  • the apparatus 300 for managing network base on BGP includes: a first determining unit 301 configured to determine whether the network is changed; a second determining unit 302 configured to determine whether one or more conditions is/are satisfied based on the changed network; and an adjusting unit 303 configured to adjust one or more parameters of the BGP according to the satisfied conditions when the one or more conditions is/are satisfied.
  • one or more relationships between the conditions and parameter configurations is/are pre-defined.
  • the network is changed may comprise one or more of the following: topology of the network is changed; configuration of the network is reconfigured; the load of traffic in the network is changed; counts of routes in the network are changed. It should be appreciated that the above cases are only examples in this disclosure, but it is not limited thereto, other cases may also be further adopted.
  • the parameters of the BGP may comprise one or more of the following: a timer value of the BGP, a timer factor of the BGP, capabilities of the BGP, an attribute value of the BGP, a mechanism mode of the BGP, a feature mode of the BGP. It should be appreciated that the above parameters are only examples in this disclosure, but it is not limited thereto, other parameters may also be further adopted.
  • the apparatus 300 for managing network base on BGP may further include: a third determining unit 304 configured to determine whether the first mode or the second mode is enabled.
  • a first mode may also be referred to as a usual mode
  • a second mode may also be referred to as a self-adaption mode or a smart BGP mode
  • a first mode may also be referred to as a usual mode
  • a second mode may also be referred to as a self-adaption mode or a smart BGP mode
  • the second determining unit 302 is further configured to determine whether one or more conditions is/are satisfied based on the changed network when the second mode is enabled; and one or more parameters of the BGP may be configured manually by an administrator when the first mode is enabled.
  • components included in the apparatus 300 correspond to the operations of the method 100 or 200. Therefore, all operations and features described above with reference to Fig. 1 or 2 are likewise applicable to the components included in the apparatus 300 and have similar effects. For the purpose of simplification, the details will be omitted.
  • the components included in the apparatus 300 may be implemented in various manners, including software, hardware, firmware, or any combination thereof.
  • one or more units may be implemented using software and/or firmware, for example, machine-executable instructions stored on the storage medium.
  • machine-executable instructions for example, machine-executable instructions stored on the storage medium.
  • parts or all of the components included in the apparatus 300 may be implemented, at least in part, by one or more hardware logic components.
  • FPGAs Field-programmable Gate Arrays
  • ASICs Application-specific Integrated Circuits
  • ASSPs Application-specific Standard Products
  • SOCs System-on-a-chip systems
  • CPLDs Complex Programmable Logic Devices
  • the apparatus 300 may be a part of a device. But it is not limited thereto, for example, the apparatus 300 may be the network device, other parts of the network device, such as transmitter and receiver, are omitted in the Fig. 3.
  • a network device may adjust one or more parameters of BGP according to satisfied conditions based on a changed network when one or more conditions is/are satisfied. Therefore, BGP can run with faster convergence and stable state and without human intervention no matter how the network changes.
  • a network device is provided in one embodiment, and the same contents as those in the first aspect and the second aspect of embodiments are omitted.
  • FIG. 4 shows a simplified block diagram of a network device 400 that is suitable for implementing embodiments of the present disclosure. It would be appreciated that the network device 400 may be implemented as at least a part of communication system.
  • the network device 400 includes a communicating means 430 and a processing means 450.
  • the processing means 450 includes a data processor (DP) 410, a memory (MEM) 420 coupled to the DP 410.
  • the communicating means 430 is coupled to the DP 410 in the processing means 450.
  • the MEM 420 stores a program (PROG) 440.
  • the communicating means 430 is for communications with other devices, which may be implemented as a transceiver for transmitting/receiving signals.
  • the memory 420 stores a plurality of instructions; and the processor 410 coupled to the memory 420 and configured to execute the instructions to: determine whether a network is changed; determine whether one or more conditions is/are satisfied based on the changed network; wherein a relationship between the condition and a parameter configuration is pre-defined; adjust one or more parameters of the border gateway protocol according to the satisfied conditions when the one or more conditions is/are satisfied.
  • the network device 400 is further operative to: determine whether a first mode or a second mode is enabled; and determine whether one or more conditions is/are satisfied based on the changed network when the second mode is enabled.
  • the network device 400 is further operative to: configure one or more parameters of the border gateway protocol manually by an administrator when the first mode is enabled.
  • the network is changed may comprise one or more of the following: topology of the network is changed; configuration of the network is reconfigured; the load of traffic in the network is changed; counts of routes in the network are changed.
  • the parameter of the border gateway protocol may comprise one or more of the following: a timer value of the border gate way protocol, a timer factor of the border gate way protocol, capabilities of the border gateway protocol, an attribute value of the border gate way protocol, a mechanism mode of the border gate way protocol, a feature mode of the border gate way protocol.
  • the PROG 440 is assumed to include program instructions that, when executed by the associated DP 410, enable the network device 400 to operate in accordance with the embodiments of the present disclosure, as discussed herein with the method 100 or 200.
  • the embodiments herein may be implemented by computer software executable by the DP 410 of the network device 400, or by hardware, or by a combination of software and hardware.
  • a combination of the data processor 410 and MEM 420 may form processing means 450 adapted to implement various embodiments of the present disclosure.
  • the MEM 420 may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory, as non-limiting examples. While only one MEM is shown in the network device 400, there may be several physically distinct memory modules in the network device 400.
  • the DP 410 may be of any type suitable to the local technical environment, and may include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on multicore processor architecture, as non-limiting examples.
  • the network device 400 may have multiple processors, such as an application specific integrated circuit chip that is slaved in time to a clock which synchronizes the main processor.
  • various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing devices. While various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representation, it will be appreciated that the blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
  • embodiments of the present disclosure can be described in the general context of machine-executable instructions, such as those included in program modules, being executed in a device on a target real or virtual processor.
  • program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types.
  • the functionality of the program modules may be combined or split between program modules as desired in various embodiments.
  • Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media.
  • Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowcharts and/or block diagrams to be implemented.
  • the program code may execute entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
  • the above program code may be embodied on a machine-readable medium, which may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • the machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • the machine-readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
  • machine-readable storage medium More specific examples of the machine-readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random-access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
  • RAM random-access memory
  • ROM read-only memory
  • EPROM or Flash memory erasable programmable read-only memory
  • CD-ROM portable compact disc read-only memory
  • magnetic storage device or any suitable combination of the foregoing.
  • the device may be implemented in the general context of computer system-executable instructions, such as program modules, being executed by a computer system.
  • program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types.
  • the device may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote computer system storage media including memory storage devices.

Abstract

A method and device for managing network based on border gateway protocol (BGP). a network device may adjust one or more parameters of BGP according to one or more satisfied conditions based on a changed network. Therefore, BGP can run with faster convergence and stable state and without human intervention no matter how the network changes.

Description

METHOD AND DEVICE FOR MANAGING NETWORK BASED ON BORDER GATEWAY PROTOCOL TECHNICAL FIELD
Embodiments of the present disclosure generally relate to the field of communications, and more particularly, to a method and device for managing network based on border gateway protocol (BGP) .
BACKGROUND
This section introduces aspects that may facilitate better understanding of the present disclosure. Accordingly, the statements of this section are to be read in this light and are not to be understood as admissions about what is in the prior art or what is not in the prior art.
BGP is a de-facto protocol used for an inter-autonomous-system (IAS) connectivity nowadays. It has many advantages, such as, high reliability by using a transmission control protocol (TCP) to setup connections; applicable for large-scale networks and manage large number of routes; ability to own rich and flexible routing policies; strong extendibility based on TLV (type, length, value) structure; ability to easily interwork with other protocols such as interior gateway protocol (IGP) , multi-protocol label switching (MPLS) , and so on.
BGP is also a powerful protocol. It has lots of extensions, attributes, policies and features. The BGP extensions includes multi-protocol extensions for BGP (MP-BGP) , route-refresh, 4-bytes autonomous system number (ASN) , outbound route filter (ORF) , extended next hop encoding, graceful restart, and so on. The BGP attributes covers weight, multi-exit-discriminator (MED) , origin, as_path, aggregator, confederation, community, route reflector and etc. BGP policies includes prefix-list, access-list, distributed-list, route-map and etc. The BGP features are route dampening, BGP/MPLS IP (internet protocol) VPN (virtual private network) , fast re-route and etc.
Documents advantageous to the understanding of the present disclosure and the  prior art are listed below, which are incorporated herein by reference, as they are fully described herein.
Document 1: RFC 4271, https: //www. rfc-editor. org/rfc/rfc4271. txt
Document 2: RFC 2858: https: //www. rfc-editor. org/rfc/rfc2858. txt
Document 3: RFC 2918: https: //www. rfc-editor. org/rfc/rfc2918. txt
Document 4: RFC 6793: https: //www. rfc-editor. org/rfc/rfc6793. txt
Document 5: RFC 5291: https: //www. rfc-editor. org/rfc/rfc5291. txt
Document 6: RFC 5549: https: //www. rfc-editor. org/rfc/rfc5549. txt
Document 7: RFC 4724: https: //www. rfc-editor. org/rfc/rfc4724. txt
Document 8: RFC 2439: https: //www. rfc-editor. org/rfc/rfc2439. txt
Document 9: RFC 5286: https: //www. rfc-editor. org/rfc/rfc5286. txt
Document 10: draft-ietf-idr-dynamic-cap-14: http: //ietfreport. isoc. org/all-ids/draft-ietf-idr-dynamic-cap-14. txt
SUMMARY
It has been found that despite BGP’s success, problems with protocol design did not disappear. One of them is slow convergence, which is a serious limiting factor for many modern applications. Another is inefficient maintenance. Because BGP can support multiple capabilities, attributes, policies and features, when the network changes, administrators may need to manually and continuously adjust BGP parameters to let BGP run at fast convergence and stable state. This is inefficient, especially for the network with large amounts of BGP nodes.
In order to solve at least part of the above problems, methods, apparatus, devices and computer programs are provided in the present disclosure. It can be appreciated that embodiments of the present disclosure are not limited to a communications system, but could be more widely applied to any application scenario where similar problems exist.
Various embodiments of the present disclosure mainly aim at providing methods, devices and computer programs for managing a network. Other features and advantages of embodiments of the present disclosure will also be understood from the following description of specific embodiments when reading in conjunction with the accompanying drawings, which illustrate, by way of example, the principles of embodiments of the present disclosure.
In general, embodiments of the present disclosure provide a solution or a mechanism that BGP can be aware of changes of topology, neighbor counts, counts of received message, counts of routes, and so on; then self-adjust related BGP timers, attributes, mechanisms and features, so that BGP is running at fast convergence and stable state and without any human intervention.
This mechanism not only can be enabled at global mode, but also can be applied to a group of neighbors (for example, one peer-group, one confederation, one community, a number of neighbors who match the same policies and etc. ) . It is flexible and efficient for administrators.
In a first aspect, there is provided a method for managing network based on border gateway protocol, comprising: determining, by a network device, whether the network is changed; determining, by the network device, whether one or more conditions is/are satisfied based on the changed network; wherein a relationship between the condition and a parameter configuration is pre-defined; adjusting, by the network device, one or more parameters of the border gateway protocol according to the satisfied conditions when the one or more conditions is/are satisfied.
In one embodiment, the method further comprising: determining, by the network device, whether a first mode or a second mode is enabled; and determining whether one or more conditions is/are satisfied based on the changed network when the second mode is enabled.
In one embodiment, the method further comprising: configuring one or more parameters of the border gateway protocol manually by an administrator when the first mode is enabled.
In one embodiment, the network is changed comprises one or more of the following: topology of the network is changed; configuration of the network is reconfigured; the load of traffic in the network is changed; counts of routes in the network are changed.
In one embodiment, the parameters of the border gateway protocol comprise one or more of the following: a timer value of the border gate way protocol, a timer factor of the border gate way protocol, capabilities of the border gate way protocol, an attribute value of the border gate way protocol, a mechanism mode of the border gate way protocol, a feature mode of the border gate way protocol.
In a second aspect, there is provided a network device, comprising a processor and a memory, wherein the memory containing instructions executable by the processor whereby the network device is operative to: determine whether a network is changed; determine whether one or more conditions is/are satisfied based on the changed network; wherein a relationship between the condition and a parameter configuration is pre-defined; adjust one or more parameters of the border gateway protocol according to the satisfied conditions when the one or more conditions is/are satisfied.
In one embodiment, the memory containing instructions executable by the processor whereby the network device is further operative to: determine whether a first mode or a second mode is enabled; and determine whether one or more conditions is/are satisfied based on the changed network when the second mode is enabled.
In one embodiment, the memory containing instructions executable by the processor whereby the network device is further operative to: configure one or more parameters of the border gateway protocol manually by an administrator when the first mode is enabled.
In one embodiment, the network is changed comprises one or more of the following: topology of the network is changed; configuration of the network is reconfigured; the load of traffic in the network is changed; counts of routes in the network are changed.
In one embodiment, the parameter of the border gateway protocol comprises one or more of the following: a timer value of the border gate way protocol, a timer factor of the  border gate way protocol, capabilities of the border gateway protocol, an attribute value of the border gate way protocol, a mechanism mode of the border gate way protocol, a feature mode of the border gate way protocol.
According to various embodiments of the present disclosure, a network device may adjust one or more parameters of BGP according to satisfied conditions based on a changed network when one or more conditions is/are satisfied. Therefore, BGP can run with faster convergence and stable state and without human intervention no matter how the network changes.
This mechanism can not only improve the BGP convergence and stability but also save much cost for maintaining BGP networks. In addition, this mechanism can be easily implemented based on the current BGP implementation.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and other aspects, features, and benefits of various embodiments of the disclosure will become more fully apparent, by way of example, from the following detailed description with reference to the accompanying drawings, in which like reference numerals or letters are used to designate like or equivalent elements. The drawings are illustrated for facilitating better understanding of the embodiments of the disclosure and not necessarily drawn to scale, in which:
Fig. 1 is a diagram which shows a method for managing network based on BGP in accordance with an embodiment of the present disclosure;
Fig. 2 is another diagram which shows a method for managing network based on BGP in accordance with an embodiment of the present disclosure;
FIG. 3 is a block diagram of an apparatus 300 for managing network base on BGP in accordance with an embodiment of the present disclosure
FIG. 4 shows a simplified block diagram of a network device that is suitable for implementing embodiments of the present disclosure.
DETAILED DESCRIPTION
The present disclosure will now be discussed with reference to several example embodiments. It should be understood that these embodiments are discussed only for the purpose of enabling those skilled persons in the art to better understand and thus implement the present disclosure, rather than suggesting any limitations on the scope of the present disclosure.
As used herein, the term “communication network” refers to a network following any suitable communication standards, such as LTE-Advanced (LTE-A) , LTE, Wideband Code Division Multiple Access (WCDMA) , High-Speed Packet Access (HSPA) , and so on.
The term “network device” refers to a device in a communication network for managing the network. The network device may be a router, a gateway, a server, a work station, a network controller, and so forth. More generally, however, the network device may represent any suitable device (or group of devices) capable, configured, arranged, and/or operable to manage a network.
As used herein, the terms “first” and “second” refer to different elements. The singular forms “a” and “an” are intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms “comprises, ” “comprising, ” “has, ” “having, ” “includes” and/or “including” as used herein, specify the presence of stated features, elements, and/or components and the like, but do not preclude the presence or addition of one or more other features, elements, components and/or combinations thereof.
The term “based on” is to be read as “based at least in part on. ” The term “one embodiment” and “an embodiment” are to be read as “at least one embodiment. ” The term “another embodiment” is to be read as “at least one other embodiment. ” Other definitions, explicit and implicit, may be included below.
First aspect of embodiments
A method for managing network based on BGP is provided in one embodiment. The method is implemented at a network device as an example.
Fig. 1 is a diagram which shows a method 100 for managing network based on BGP in accordance with an embodiment of the present disclosure, and illustrates the method by taking a network device as an example.
As shown in Fig. 1, the method 100 includes determining, by a network device, whether the network is changed at block 101; and determining, by the network device, whether one or more conditions is/are satisfied based on the changed network at block 102. A relationship between the condition and a parameter configuration is pre-defined.
As shown in Fig. 1, the method 100 further includes adjusting, by the network device, one or more parameters of the border gateway protocol according to the satisfied conditions when the one or more conditions is/are satisfied at block 103.
In one embodiment, the network is changed may comprise one or more of the following: topology of the network is changed; configuration of the network is reconfigured; the load of traffic in the network is changed; counts of routes in the network are changed. It should be appreciated that the above cases are only examples in this disclosure, but it is not limited thereto, other cases may also be further adopted.
In one embodiment, the parameters of the BGP may comprise one or more of the following: a timer value of the BGP, a timer factor of the BGP, capabilities of the BGP, an attribute value of the BGP, a mechanism mode of the BGP, a feature mode of the BGP. It should be appreciated that the above parameters are only examples in this disclosure, but it is not limited thereto, other parameters may also be further adopted.
In one embodiment, a first mode (may also be referred to as a usual mode) and a second mode (may also be referred to as a self-adaption mode or a smart BGP mode) may be configured.
For example, the network device may determine whether the first mode or the second mode is enabled; and determine whether one or more conditions is/are satisfied based on the changed network when the second mode is enabled; and configure one or more parameters of the BGP manually by an administrator when the first mode is enabled.
Therefore, a self-adaption mechanism can be easily implemented based on the  current BGP implementation, just requires a check if it is enabled or not, BGP will runs at the self-adaption mode or the usual mode.
In one embodiment, relationships between the conditions and parameter configurations may be pre-defined in a self-adaption set. Some examples may be illustrated in the following table 1. It should be appreciated that the relationships are only examples in the table 1, but it is not limited thereto,
Fig. 2 is another diagram which shows a method 200 for managing network based on BGP in accordance with an embodiment of the present disclosure.
As shown in Fig. 2, the method 200 includes determining, by a network device, whether the network is changed at block 201; and enters into block 202 if yes, otherwise the network device will continue to monitor the network.
As shown in Fig. 2, the method 200 further includes determining, by the network device, whether a smart BGP mode is enabled at block 202; and enters into block 203 if yes, otherwise enters into block 204.
As shown in Fig. 2, the method 200 further includes configuring one or more parameters of the BGP manually by an administrator at block 204. That is, a conventional BGP procedure may be performed when the smart BGP mode is not enabled (i.e. the first mode is enabled) .
As shown in Fig. 2, the method 200 further includes determining, by the network device, whether one or more conditions is/are satisfied based on the changed network at block 203. A relationship between the condition and a parameter configuration is pre-defined.
For example, when the administrator enables the “Smart BGP mode” , it is allowed to designate timers, capabilities, attributes, mechanisms and features which want to be added to a dynamic self-adaption set. If users do not directly specify this set, then BGP will use its default set. If users directly configure the timer, capability, attribute, mechanism or feature, then this timer, capability, attribute, mechanism or feature will be removed from the self-adaption set, and BGP will use the user configurations.
The timer, capability, attribute, mechanism or feature will be automatically added to the self-adaption set after the user configuration is removed. Also, users can specify what conditions are required for disabling “Smart BGP mode” automatically. For example, the received routes are more than 256K, the routes in dampening status are beyond 100, the BGP sessions in unstable status are more than two, and etc. Administrator also can input the initial default factors and values for the timers, capabilities and attributes, default behaviors for mechanisms and features when enabling “Smart BGP mode” .
As shown in Fig. 2, the method 200 further includes adjusting, by the network device, one or more parameters of the border gateway protocol according to the satisfied conditions when the one or more conditions is/are satisfied at block 205.
For example, user can check what timers, capabilities, attributes, mechanism and features are in the self-adaption set and the more detailed run-time values, status may be checked by executing show commands.
Also, different BGP devices may have different self-conditions, such as memory occupation ratio, CPU performance, CPU load, distributed or central system, and so on. It will be unreasonable to adjust the self-adaption set with the same pace for different BGP devices. So, user can assign different weight factors to these BGP devices when they adapt their self-adaption set according to the network changes.
As shown in Fig. 2, the method 200 further includes performing, by the network device, the BGP procedure based on the adjusted parameters at block 206.
It should be appreciated that Fig. 2 is only an example of the disclosure, but it is not limited thereto. For example, the order of operations at blocks 201-206 may be adjusted and/or some blocks may be omitted. Moreover, some blocks not shown in Fig. 2 may be added.
Furthermore, Fig. 2 only illustrates a BGP procedure when network is changed as an example. But it is not limited thereto, for example, the block 201-206 may be executed several times if the network changes continuously.
In one embodiment, a demonstration for timer is illustrated as an example.
In this embodiment, there are many timers related with BGP. For example, RFC4271 defines seven timers, and some of them have their own default values, such as,
HoldTimer with default value 90 seconds,
KeepaliveTimer with default value 30 seconds,
ConnectRetryTimer with default value 120 seconds,
MinASOriginationIntervalTimer with default value 15 seconds,
MinRouteAdvertisementIntervalTimer with default value 30 seconds for EBGP (external BGP) -peer and 5 seconds for IBGP (internal BGP) -peer,
DelayOpenTimer and
IdleHoldTimer.
Some other BGP documents also introduce some timers. For example, RFC2439 defines some timers used for BGP route flap dampening, such as Reachability Half-life timer for penalty, Un-reachability Half-life timer for the penalty and Maximum duration to suppress a stable route.
In this embodiment, under the “Smart BGP mode” , the real used values for these timers may be multiplied by a weighted factor. For example, the default weighted factor could be 0.25. Also, the real value of a timer may be not smaller than a min-value and be not bigger than a max-value. Since BGP can be-aware of the count changes for neighbors and routes. This embodiment defines a relation between them and timers which are shown below.
Table 1
neighbor counts (m) route counts (n) multiply factor
m <= 32 n <= 32K 0.25
32 < m <= 64 32K < n <= 64K 0.5
64 < m <= 128 64K < n <= 128K 1
128< m <= 256 128K < n <= 256K 1.25
The weighted factor can be revised according to the experimental data. It should be appreciated the table 1 is only an example and it is not limited thereto. For example, the values of the timers may not be multiplied by a factor and may be added by a factor (i.e. it is incremental) . It is just an example to explain the scheme that timers can be dynamically self-adjusted along with the network changes, in order to make BGP run at fast convergence and stable status at any time. This embodiment only provides a dynamic self-adaption mechanism, but not define or limit the detailed algorithms.
Take min-route-advertisement-interval timer as an example, its default value for external BGP neighbors is 30 seconds. When a route changes, BGP will wait for 30 seconds before sending it to its neighbors. Its neighbors have to wait for 30 seconds for receiving the updated route. It is too slow, especially for small networks.
If using the above mechanism of the disclosure, when the neighbor count is less than 32 and total routes are less than 32K, the value of the min-route-advertisement-interval timer will be adjusted to 7 seconds (30 second *0.25) , which can speed up the route convergence. When the neighbors are between 128 and 256, and routes are between 128K and 256K, the value of the min-route-advertisement-interval timer will be adjusted to 37 seconds (30 second *1.25) , which makes the BGP more stable for large-scale networks.
In one embodiment, a demonstration for capability is illustrated as an example.
In this embodiment, under the “Smart BGP mode” , BGP can dynamically adjust capabilities’ behaviors according to the network changes. For example, a threshold Y may be defined, M means number of received prefixes, and N means count of policies. When M*N is smaller than the defined threshold Y, the local BGP will able to process the received prefixes without degrading the performance obviously. Otherwise, the local BGP’s performance will be downgraded markedly.
So, when M*N >= Y, BGP can use ORF mechanism which defines a BGP-based mechanism that allows BGP to send to its peer a set of Outbound Route Filters that the peer would use to constrain/filter its outbound routing updates to that BGP neighbor which can ease the burden for applying the policies for routes by itself. Then, the overload  for itself will be decreased and its performance will be improved. If M*N < Y, then it will not send ORF packages to its peer and apply the policies for the received prefixes by itself.
For another example, under the “Smart BGP mode” , BGP can dynamically enable/disable some capabilities according to the network changes by using “Dynamic Capability” without resetting BGP sessions.
In one embodiment, a demonstration for mechanism is illustrated as an example.
In this embodiment, under the “Smart BGP mode” , some mechanisms and/or features can run at efficient and fast convergence modes or normal modes dynamically.
Take adding routes to FIB (Forwarding Information Base) as an example, assuming the BGP supports bulk adding routes to FIB, which means it can add many routes to FIB at the same time. When a mass of routes need to be added, if the bulk size is very small, then the convergence will be downgraded; if the bulk size is too large, some BGP events may not be dispatched and they will be starved to death which will makes BGP unstable.
So, in order to balance between the convergence and stability, BGP can adjust the bulk size in a reasonable range dynamically according to the routes which need to be added. Then, BGP will be running at a fast convergence and stable state.
In this embodiment, some mechanisms and features can be enabled/disabled dynamically according to the network changes. For example, route dampening feature can be enabled, and collect dampened routes as an input parameter for “Smart BGP” when the network meet user defined conditions. If the dampened count for routes is growing bigger and bigger, some timers also can be changed accordingly, even exit from the “Smart BGP” mode in order to make BGP stable. Fast re-route mechanism can be enabled/disabled under “Smart BGP” mode dynamically too. When the best route’s next-hop becomes invalid, it will switch to the suboptimal next-hop immediately which can improve the convergence.
It should be appreciated the timer, capability, mechanism, feature are only examples and this disclosure is not limited thereto. For example, other parameters of BGP  may be adopted on demand.
As can be seen from the above embodiments, a network device may adjust one or more parameters of BGP according to satisfied conditions based on a changed network when one or more conditions is/are satisfied. Therefore, BGP can run with faster convergence and stable state and without human intervention no matter how the network changes.
Second aspect of embodiments
An apparatus for managing network base on BGP is provided in an embodiment. The apparatus may be configured in a network device, and the same contents as those in the first aspect of embodiments are omitted.
FIG. 3 is a block diagram of an apparatus 300 for managing network base on BGP in accordance with an embodiment of the present disclosure.
As shown in Fig. 3, the apparatus 300 for managing network base on BGP includes: a first determining unit 301 configured to determine whether the network is changed; a second determining unit 302 configured to determine whether one or more conditions is/are satisfied based on the changed network; and an adjusting unit 303 configured to adjust one or more parameters of the BGP according to the satisfied conditions when the one or more conditions is/are satisfied.
In one embodiment, one or more relationships between the conditions and parameter configurations is/are pre-defined.
In one embodiment, the network is changed may comprise one or more of the following: topology of the network is changed; configuration of the network is reconfigured; the load of traffic in the network is changed; counts of routes in the network are changed. It should be appreciated that the above cases are only examples in this disclosure, but it is not limited thereto, other cases may also be further adopted.
In one embodiment, the parameters of the BGP may comprise one or more of the  following: a timer value of the BGP, a timer factor of the BGP, capabilities of the BGP, an attribute value of the BGP, a mechanism mode of the BGP, a feature mode of the BGP. It should be appreciated that the above parameters are only examples in this disclosure, but it is not limited thereto, other parameters may also be further adopted.
As shown in Fig. 3, the apparatus 300 for managing network base on BGP may further include: a third determining unit 304 configured to determine whether the first mode or the second mode is enabled.
In one embodiment, a first mode (may also be referred to as a usual mode) and a second mode (may also be referred to as a self-adaption mode or a smart BGP mode) may be configured.
For example, the second determining unit 302 is further configured to determine whether one or more conditions is/are satisfied based on the changed network when the second mode is enabled; and one or more parameters of the BGP may be configured manually by an administrator when the first mode is enabled.
It should be appreciated that components included in the apparatus 300 correspond to the operations of the  method  100 or 200. Therefore, all operations and features described above with reference to Fig. 1 or 2 are likewise applicable to the components included in the apparatus 300 and have similar effects. For the purpose of simplification, the details will be omitted.
It should be appreciated that the components included in the apparatus 300 may be implemented in various manners, including software, hardware, firmware, or any combination thereof.
In one embodiment, one or more units may be implemented using software and/or firmware, for example, machine-executable instructions stored on the storage medium. In addition to or instead of machine-executable instructions, parts or all of the components included in the apparatus 300 may be implemented, at least in part, by one or more hardware logic components.
For example, and without limitation, illustrative types of hardware logic  components that can be used include Field-programmable Gate Arrays (FPGAs) , Application-specific Integrated Circuits (ASICs) , Application-specific Standard Products (ASSPs) , System-on-a-chip systems (SOCs) , Complex Programmable Logic Devices (CPLDs) , and the like.
The apparatus 300 may be a part of a device. But it is not limited thereto, for example, the apparatus 300 may be the network device, other parts of the network device, such as transmitter and receiver, are omitted in the Fig. 3.
As can be seen from the above embodiments, a network device may adjust one or more parameters of BGP according to satisfied conditions based on a changed network when one or more conditions is/are satisfied. Therefore, BGP can run with faster convergence and stable state and without human intervention no matter how the network changes.
Third aspect of embodiments
A network device is provided in one embodiment, and the same contents as those in the first aspect and the second aspect of embodiments are omitted.
FIG. 4 shows a simplified block diagram of a network device 400 that is suitable for implementing embodiments of the present disclosure. It would be appreciated that the network device 400 may be implemented as at least a part of communication system.
As shown, the network device 400 includes a communicating means 430 and a processing means 450. The processing means 450 includes a data processor (DP) 410, a memory (MEM) 420 coupled to the DP 410. The communicating means 430 is coupled to the DP 410 in the processing means 450. The MEM 420 stores a program (PROG) 440. The communicating means 430 is for communications with other devices, which may be implemented as a transceiver for transmitting/receiving signals.
In one embodiment, the memory 420 stores a plurality of instructions; and the processor 410 coupled to the memory 420 and configured to execute the instructions to: determine whether a network is changed; determine whether one or more conditions is/are  satisfied based on the changed network; wherein a relationship between the condition and a parameter configuration is pre-defined; adjust one or more parameters of the border gateway protocol according to the satisfied conditions when the one or more conditions is/are satisfied.
In one embodiment, the network device 400 is further operative to: determine whether a first mode or a second mode is enabled; and determine whether one or more conditions is/are satisfied based on the changed network when the second mode is enabled.
In one embodiment, the network device 400 is further operative to: configure one or more parameters of the border gateway protocol manually by an administrator when the first mode is enabled.
In one embodiment, the network is changed may comprise one or more of the following: topology of the network is changed; configuration of the network is reconfigured; the load of traffic in the network is changed; counts of routes in the network are changed.
In one embodiment, the parameter of the border gateway protocol may comprise one or more of the following: a timer value of the border gate way protocol, a timer factor of the border gate way protocol, capabilities of the border gateway protocol, an attribute value of the border gate way protocol, a mechanism mode of the border gate way protocol, a feature mode of the border gate way protocol.
The PROG 440 is assumed to include program instructions that, when executed by the associated DP 410, enable the network device 400 to operate in accordance with the embodiments of the present disclosure, as discussed herein with the  method  100 or 200. The embodiments herein may be implemented by computer software executable by the DP 410 of the network device 400, or by hardware, or by a combination of software and hardware. A combination of the data processor 410 and MEM 420 may form processing means 450 adapted to implement various embodiments of the present disclosure.
The MEM 420 may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor based memory devices, magnetic memory devices and systems, optical memory devices and  systems, fixed memory and removable memory, as non-limiting examples. While only one MEM is shown in the network device 400, there may be several physically distinct memory modules in the network device 400. The DP 410 may be of any type suitable to the local technical environment, and may include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on multicore processor architecture, as non-limiting examples. The network device 400 may have multiple processors, such as an application specific integrated circuit chip that is slaved in time to a clock which synchronizes the main processor.
Generally, various embodiments of the present disclosure may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing devices. While various aspects of embodiments of the present disclosure are illustrated and described as block diagrams, flowcharts, or using some other pictorial representation, it will be appreciated that the blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
By way of example, embodiments of the present disclosure can be described in the general context of machine-executable instructions, such as those included in program modules, being executed in a device on a target real or virtual processor. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, or the like that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or split between program modules as desired in various embodiments. Machine-executable instructions for program modules may be executed within a local or distributed device. In a distributed device, program modules may be located in both local and remote storage media.
Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be  provided to a processor or controller of a general-purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowcharts and/or block diagrams to be implemented. The program code may execute entirely on a machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
The above program code may be embodied on a machine-readable medium, which may be any tangible medium that may contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include but not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
More specific examples of the machine-readable storage medium would include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random-access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , an optical fiber, a portable compact disc read-only memory (CD-ROM) , an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
In the context of this disclosure, the device may be implemented in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. The device may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
Further, while operations are depicted in a particular order, this should not be  understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.
Although the present disclosure has been described in language specific to structural features and/or methodological acts, it is to be understood that the present disclosure defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims (11)

  1. A method (100, 200) for managing network based on border gateway protocol, comprising:
    determining (101, 201) , by a network device, whether the network is changed;
    determining (102, 203) , by the network device, whether one or more conditions is/are satisfied based on the changed network; wherein a relationship between the condition and a parameter configuration is pre-defined;
    adjusting (103, 205) , by the network device, one or more parameters of the border gateway protocol according to the satisfied conditions when the one or more conditions is/are satisfied.
  2. The method according to claim 1, wherein the method further comprising:
    determining (202) , by the network device, whether a first mode or a second mode is enabled;
    and determining whether one or more conditions is/are satisfied based on the changed network when the second mode is enabled.
  3. The method according to claim 2, wherein the method further comprising:
    configuring (204) one or more parameters of the border gateway protocol manually by an administrator when the first mode is enabled.
  4. The method according to claim 1, wherein the network is changed comprises one or more of the following: topology of the network is changed; configuration of the network is reconfigured; the load of traffic in the network is changed; counts of routes in the network are changed.
  5. The method according to claim 1, wherein the parameters of the border gateway protocol comprise one or more of the following: a timer value of the border gate way protocol, a timer factor of the border gate way protocol, capabilities of the border gate way protocol, an attribute value of the border gate way protocol, a mechanism mode of the border gate way protocol, a feature mode of the border gate way protocol.
  6. A network device (400) , comprising a processor and a memory, wherein the memory containing instructions executable by the processor whereby the network device is operative to:
    determine whether a network is changed;
    determine whether one or more conditions is/are satisfied based on the changed network; wherein a relationship between the condition and a parameter configuration is pre-defined;
    adjust one or more parameters of the border gateway protocol according to the satisfied conditions when the one or more conditions is/are satisfied.
  7. The network device according to claim 6, wherein the memory containing instructions executable by the processor whereby the network device is further operative to:
    determine whether a first mode or a second mode is enabled;
    and determine whether one or more conditions is/are satisfied based on the changed network when the second mode is enabled.
  8. The network device according to claim 7, wherein the memory containing instructions executable by the processor whereby the network device is further operative to:
    configure one or more parameters of the border gateway protocol manually by an administrator when the first mode is enabled.
  9. The network device according to claim 6, wherein the network is changed comprises one or more of the following: topology of the network is changed; configuration of the network is reconfigured; the load of traffic in the network is changed; counts of routes in the network are changed.
  10. The network device according to claim 6, wherein the parameter of the border gateway protocol comprises one or more of the following: a timer value of the border gate way protocol, a timer factor of the border gate way protocol, capabilities of the border gateway protocol, an attribute value of the border gate way protocol, a mechanism mode of the border gate way protocol, a feature mode of the border gate way protocol.
  11. A computer program product (440) being tangibly stored on a computer readable storage medium and including instructions which, when executed on a processor (410) of a network device (300) , cause the network device (300) to perform a method (100, 200) for managing network based on border gateway protocol according to any of claims 1-5.
PCT/CN2017/078136 2017-03-24 2017-03-24 Method and device for managing network based on border gateway protocol WO2018170901A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/078136 WO2018170901A1 (en) 2017-03-24 2017-03-24 Method and device for managing network based on border gateway protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/078136 WO2018170901A1 (en) 2017-03-24 2017-03-24 Method and device for managing network based on border gateway protocol

Publications (1)

Publication Number Publication Date
WO2018170901A1 true WO2018170901A1 (en) 2018-09-27

Family

ID=63586167

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/078136 WO2018170901A1 (en) 2017-03-24 2017-03-24 Method and device for managing network based on border gateway protocol

Country Status (1)

Country Link
WO (1) WO2018170901A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112751814A (en) * 2019-10-31 2021-05-04 华为技术有限公司 Information reporting method, data processing method and device
CN113904973A (en) * 2021-12-06 2022-01-07 网易(杭州)网络有限公司 Route updating method, medium, device and computing equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217479A (en) * 2008-01-09 2008-07-09 中兴通讯股份有限公司 Network route management method
CN101437271A (en) * 2008-12-24 2009-05-20 华为技术有限公司 Method, apparatus and system for determining roaming location of mobile communication equipment
CN103825759A (en) * 2014-02-13 2014-05-28 北京百度网讯科技有限公司 Method and system for acquiring network topological information
US8774023B2 (en) * 2010-09-22 2014-07-08 At&T Intellectual Property I, Lp Method and system for detecting changes in network performance
US20150003458A1 (en) * 2013-06-27 2015-01-01 Futurewei Technologies, Inc. Boarder Gateway Protocol Signaling to Support a Very Large Number of Virtual Private Networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217479A (en) * 2008-01-09 2008-07-09 中兴通讯股份有限公司 Network route management method
CN101437271A (en) * 2008-12-24 2009-05-20 华为技术有限公司 Method, apparatus and system for determining roaming location of mobile communication equipment
US8774023B2 (en) * 2010-09-22 2014-07-08 At&T Intellectual Property I, Lp Method and system for detecting changes in network performance
US20150003458A1 (en) * 2013-06-27 2015-01-01 Futurewei Technologies, Inc. Boarder Gateway Protocol Signaling to Support a Very Large Number of Virtual Private Networks
CN103825759A (en) * 2014-02-13 2014-05-28 北京百度网讯科技有限公司 Method and system for acquiring network topological information

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112751814A (en) * 2019-10-31 2021-05-04 华为技术有限公司 Information reporting method, data processing method and device
EP4030720A4 (en) * 2019-10-31 2022-11-02 Huawei Technologies Co., Ltd. Information reporting method, and data processing method and device
CN113904973A (en) * 2021-12-06 2022-01-07 网易(杭州)网络有限公司 Route updating method, medium, device and computing equipment
CN113904973B (en) * 2021-12-06 2022-03-08 网易(杭州)网络有限公司 Route updating method, medium, device and computing equipment

Similar Documents

Publication Publication Date Title
US10659344B2 (en) Information transmission method, apparatus and system
US20230179474A1 (en) Service insertion at logical network gateway
US11689455B2 (en) Loop prevention in virtual layer 2 networks
EP3399705B1 (en) Controlling packets of virtual machines
US20200076734A1 (en) Redirection of data messages at logical network gateway
US9825865B1 (en) Statistical operations associated with network traffic forwarding
US10389627B2 (en) State-dependent data forwarding
US10649822B2 (en) Event ingestion management
US20200351343A1 (en) External injection of cloud based network functions into network services
US20160301571A1 (en) Method and Device for Monitoring OAM Performance
US10516599B1 (en) Link priority for loop-protect
WO2015125804A1 (en) Communication system, control device, communication control method and program
US10581738B2 (en) Efficient inter-VLAN routing in openflow networks
WO2018170901A1 (en) Method and device for managing network based on border gateway protocol
US10608889B2 (en) High-level interface to analytics engine
US20240015108A1 (en) Method and system for efficient input/output transfer in network devices
CN105812274B (en) Service data processing method and related equipment
US20220121504A1 (en) Methods for event prioritization in network function virtualization using rule-based feedback
US20230421473A1 (en) Method and system for efficient input/output transfer in network devices
WO2018182467A1 (en) Techniques for congestion control in information-centric networks
EP3622667B1 (en) A method and apparatus for enhancing multicast group membership protocol(s)
WO2022214854A1 (en) Methods and systems for efficient metadata and data delivery between a network interface and applications
US10110477B2 (en) Integrated data plane for heterogeneous network services
CN115396367A (en) Traffic scheduling method and device, electronic equipment and storage medium
WO2023209416A1 (en) Receive side scaling with dynamic queue allocation

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: 17902289

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17902289

Country of ref document: EP

Kind code of ref document: A1