WO2015010519A1 - 拓扑结构发现方法及装置 - Google Patents

拓扑结构发现方法及装置 Download PDF

Info

Publication number
WO2015010519A1
WO2015010519A1 PCT/CN2014/081347 CN2014081347W WO2015010519A1 WO 2015010519 A1 WO2015010519 A1 WO 2015010519A1 CN 2014081347 W CN2014081347 W CN 2014081347W WO 2015010519 A1 WO2015010519 A1 WO 2015010519A1
Authority
WO
WIPO (PCT)
Prior art keywords
router
topology
controller
request
information
Prior art date
Application number
PCT/CN2014/081347
Other languages
English (en)
French (fr)
Inventor
轩辕哲
王戎
严哲峰
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP14829989.4A priority Critical patent/EP2999174B1/en
Publication of WO2015010519A1 publication Critical patent/WO2015010519A1/zh
Priority to US14/996,799 priority patent/US10291510B2/en

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised 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/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application

Definitions

  • ICN Information centric networking
  • NDN Named Data Network
  • CCN Content Centric Networking
  • the router first sends the information of the router itself to the neighboring neighboring routers, and then the neighboring routers send their own information and the information of the neighboring routers to the routers adjacent to the routers, thereby spreading the data. Until the entire network is notified.
  • the present invention provides a topology discovery method and apparatus for obtaining a topology of an entire network.
  • the first embodiment of the present invention provides a topology discovery method, including:
  • the controller acquires a topology between the N routers, where N is an integer greater than or equal to 1.
  • the controller obtains a routing table corresponding to each of the routers according to the topology, and respectively sends the routing table to each of the routers. And sending a corresponding routing table, where the routing table includes at least one of routing information between the router and other N-1 routers, and routing information between the router and the controller.
  • the controller acquires a topology between the N routers, including:
  • the controller sends a first topology discovery request to the first router, where the first topology discovery request a first topology between the first router and the second router, the first router and the second router are physically connected and separated by one hop, the first router and the control Physical connection between the devices and the interval is 1 hop;
  • the controller receives a first topology discovery response sent by the first router, where the first topology discovery response carries the first topology association between the first router and the second router.
  • a first possible implementation manner of the first aspect in a second possible implementation manner of the first aspect, after the controller receives the first topology discovery response sent by the first router, the method further includes:
  • the controller sends an Mth topology discovery request to the Mth router, where the Mth topology discovery request is used to request an Mth topology between the Mth router and the M+1 router, where the Mth router and The M+1 routers are physically connected and separated by one hop, and the Mth router is separated from the controller by M hops, M is an integer, M is greater than or equal to 2, and M is less than or equal to N;
  • the controller receives the Mth topology discovery response sent by the Mth router, where the Mth topology discovery response carries the Mth topology between the Mth router and the M+1th router .
  • the controller acquires a topology between the N routers, including:
  • the controller receives a topology information report request sent by the router by using a broadcast mode, where the topology information report request carries an adjacent topology structure between the router and a neighboring router, and the neighboring router and the The routers are physically connected and have an interval of 1 hop.
  • the controller obtains, according to the topology structure, a routing table corresponding to each of the routers, and respectively Sending a corresponding routing table to each of the routers, including:
  • the controller sends the routing table to the router corresponding to the routing table.
  • the topology structure obtaining a routing table corresponding to each of the routers, and separately to each of the routers After sending the corresponding routing table, it also includes:
  • the controller acquires router change information, the router change information is a new router, a link that is newly connected to the router, the router is invalid, or a link connected to the router is invalid:
  • the controller acquires a new routing table according to the router change information, and sends the new routing table to the router corresponding to the new routing table.
  • the controller that acquires the change information of the router includes:
  • the controller sends a topology information change query request to the first router or the Kth router that is K-hopped from the first router, where the topology information change query request is used to request to query the first router.
  • the ⁇ router and the controller are directly or indirectly connected, and ⁇ is an integer greater than 1.
  • the controller receives a topology information change query response sent by the first router or the first ⁇ router to obtain the change information of the first router.
  • the controller that acquires the change information of the router includes:
  • the controller receives the topology information report request sent by the first router or the ⁇ router to obtain the change information of the first router, where the ⁇ router and the first router are separated by K hops.
  • the Kth router is directly or indirectly connected to the controller, and K is an integer greater than 1.
  • the controller acquires a topology structure between the N routers , Also includes:
  • the controller sends a neighbor discovery request to the first router, where the neighbor discovery request is used to request the identifier of the first router;
  • the controller sends a neighbor discovery response to the first router according to the neighbor discovery request sent by the first router, where the neighbor discovery request is used to request the neighboring device that is adjacent to the first router.
  • the controller identifier or the router identifier, the neighbor discovery response carrying the controller identifier of the controller.
  • the first topology discovery request And the first topology discovery response carries at least one of the same content name, an identifier of the controller, and an identifier of the first router.
  • the Nth topology discovery request and the Nth topology discovery response both carry the same content name. And at least one of an identifier of the controller and an identifier of the Mth router.
  • the keywords of the neighbor discovery request and the neighbor discovery response are both NeighborD:iscovery.
  • the first topology discovery request the The keywords of the first topology discovery response are both CTL and RouteTo.
  • the keywords of the Mth topology discovery request and the Mth topology discovery response are all CTLs And RouteTo.
  • the keywords of the topology information change query request and the topology information change query response are all CTL And NeighborInfoUpdate.
  • a second aspect of the present invention provides a topology discovery method, including:
  • the first router sends a topology between the network nodes in the network to the controller, where the network includes
  • the first router is one of the N routers, and N is an integer greater than or equal to 1;
  • the first router receives a routing table sent by the controller, and the routing table is generated by the controller according to the topology.
  • the first router sends a network to the controller
  • the topology between network nodes in the network including:
  • the first router Receiving, by the first router, a first topology discovery request sent by the controller, where the first topology discovery request is used to request a first topology between the first router and a second router, the first router Physically connecting with the second router and having an interval of 1 hop;
  • the first router sends a first topology discovery response to the controller, where the first topology discovery response carries the first topology between the first router and the second router.
  • the first router sends a topology between the network nodes in the network to the controller, including:
  • the first router sends a topology information report request to the controller by using a broadcast mode, where the topology information report request carries an adjacent topology between the first router and the second router, where the first router Directly connecting with the second router and having an interval of 1 hop;
  • the first router receives a topology information report response sent by the controller, where the topology information report response carries a hop count from the controller to the first router, and the first router according to the hop The number determines a route to the controller and stores the route in the routing table set on the first router.
  • the first router sends a Before the topology, it also includes:
  • the first router After the first router sends the neighbor discovery request to the controller, the first router receives a neighbor discovery response sent by the controller, and the neighbor discovery request is used to request to be adjacent to the first router.
  • the controller identifier or the router identifier, and the neighbor discovery response carries the controller identifier.
  • the first router receives a routing table sent by the controller.
  • the sending, by the first router, the change information in the network to the controller includes:
  • topology information change query request sent by the controller, where the topology information change query request is used to request to query the change information of the first router;
  • the first router sends a topology information change query response to the controller, where the topology information change query response carries the change information of the first router.
  • the sending, by the first router, the change information in the network to the controller includes:
  • the first router sends a topology information report request to the controller to notify the change information of the first router, where the topology information report request carries the change information of the first router.
  • the first topology discovery request and the first topology discovery response both carry the same content name, At least one of an identifier of the controller and an identifier of the first router.
  • the topology information reporting request and the topology information reporting response all carry the same content name, At least one of an identification of the controller and an identification of the first router.
  • the neighbor discovery request and the neighbor discovery response both carry the same content name
  • the controller At least one of an identification of the first router and an identifier of the first router;
  • the keywords of the neighbor discovery request and the neighbor discovery response are both
  • the keywords of the first topology discovery request and the first topology discovery response are both CTL and RouteTo .
  • the topology information reporting request and the keyword of the topology information reporting response are all CTL Wokou TopologyDiscovery.
  • the keywords of the topology information change query request and the topology information change query response are both CTL and NeighborInfoUpdate.
  • an embodiment of the present invention provides a topology discovery device, including:
  • An obtaining module configured to acquire a topology between the N routers, where N is an integer greater than or equal to 1; a processing module, configured to obtain, according to the topology structure, a routing table corresponding to each of the routers, and respectively And the router sends a corresponding routing table, where the routing table includes at least one of routing information between the router and other N-1 routers, and routing information between the router and the controller.
  • the acquiring module is configured to send a first topology discovery request to the first router, where the first topology discovery request is used to request the first router.
  • the acquiring module is further configured to send an Mth topology discovery request to the Mth router, where The Mth topology discovery request is used to request the Mth topology between the Mth router and the Nth router, and the physical connection between the Mth router and the M+1th router is 1 hop.
  • the Mth router and the controller are separated by M hops, M is an integer, M is greater than or equal to 2, and M is less than or equal to N; and receives an Mth topology discovery response sent by the Mth router, where the The M topology discovery response carries the Mth topology between the Mth router and the M+1th router.
  • the acquiring module is configured to receive a topology information reporting request that is sent by the router by using a broadcast mode, where the topology information reporting request carries the router and the phase An adjacent topology between neighboring routers, the neighboring routers are physically connected to the router and are separated by one hop.
  • the acquiring module is specifically configured to be used according to the router and the neighboring router Obtaining a neighboring topology and a preset policy, and acquiring a routing table corresponding to the router and the neighboring router;
  • the processing module is specifically configured to send the routing table to a router corresponding to the routing table.
  • the acquiring module is further The router change information is used to add a router, add a link connected to the router, the router fails, or a link connected to the router fails: the processing module And, configured to acquire a new routing table according to the router change information, and send the new routing table to the router corresponding to the new routing table.
  • the acquiring module is configured to be used to address the first router or the first router
  • the K-hop of the K-hop sends a topology information change query request, the topology information change query request is used to request to query the change information of the first router, and the ⁇ router and the controller are directly connected or Indirectly connected, ⁇ is an integer greater than 1; and receives a topology information change query response sent by the first router or the Kth router to obtain the change information of the first router.
  • the acquiring module is configured to receive the topology information sent by the first router or the ⁇ router Requesting, to obtain the change information of the first router, the ⁇ router and the first router are separated by a ⁇ hop, and the Kth router and the controller are directly or indirectly connected, ⁇ Is an integer greater than 1.
  • the method further includes: a sending module, configured to send neighbor discovery to the first router Requesting, the neighbor discovery request is used to request the identifier of the first router; or
  • the sending module is configured to send a neighbor discovery response to the first router according to the neighbor discovery request sent by the first router, where the neighbor discovery request is used to request to be adjacent to the first router.
  • the controller identifier or the router identifier, the neighbor discovery response carrying the controller identifier of the controller.
  • the first topology discovery request And the first topology discovery response carries at least one of the same content name, an identifier of the controller, and an identifier of the first router.
  • the Nth topology discovery request and the Nth topology discovery response both carry the same content name. And at least one of an identifier of the controller and an identifier of the Mth router.
  • the keywords of the neighbor discovery request and the neighbor discovery response are both NeighborD:iscovery.
  • the first topology discovery request the The keywords of the first topology discovery response are both CTL and RouteTo.
  • the keywords of the Mth topology discovery request and the Mth topology discovery response are all CTLs And RouteTo.
  • the keywords of the topology information change query request and the topology information change query response are all CTLs And NeighborInfoUpdate.
  • a fourth aspect of the present invention provides a topology discovery device, including:
  • a sending module configured to send, to the controller, a topology between network nodes in the network, where the network includes N routers, the router is one of the N routers, and N is an integer greater than or equal to 1;
  • a receiving module configured to receive a routing table sent by the controller, where the routing table is generated by the controller according to the topology.
  • the receiving module is configured to receive the control a first topology discovery request sent by the controller, the first topology discovery request to request a first topology between the first router and the second router, between the first router and the second router The physical connection is separated by one hop; and the first topology discovery response is sent to the controller, where the first topology discovery response carries the first topology between the first router and the second router.
  • the sending module is configured to send, by using a broadcast mode, a topology information reporting request to the controller, where the topology information reporting request carries the first router a first physical connection between the first router and the second router and an interval of one hop;
  • the receiving module is configured to receive, by the first router, a topology information reporting response sent by the controller, where the topology information reporting response carries a hop count from the controller to the first router, where the A router determines a route to the controller according to the hop count, and stores the route in the routing table set on the first router.
  • the receiving module is further configured to receive, by the controller, a neighbor discovery request, the neighbor discovery request is used to request the physical identifier of the first router; or the receiving module is further configured to: after sending the neighbor discovery request to the controller, the first router receives the request a neighbor discovery response sent by the controller, the neighbor discovery request is used to request the controller identifier or the router identifier adjacent to the first router, and the neighbor discovery response carries the controller identifier.
  • the sending module is further configured to send a network to the controller Change information in the network, the link added to the first router in the network, the first router is invalid, or the link connected to the first router is invalid;
  • the receiving module is further configured to receive a routing table sent by the controller.
  • the receiving module is configured to receive a topology information change query request sent by the controller, where The topology information change query request is used to request to query the change information of the first router;
  • the sending module is specifically configured to send a topology information change query response to the controller, where The topology information change query response carries the change information of the first router.
  • the sending module is configured to send a topology information reporting request to the controller, to notify the The change information of the first router, where the topology information report request carries the change information of the first router.
  • the first topology discovery request and the first topology discovery response both carry the same content name, At least one of an identifier of the controller and an identifier of the first router.
  • the topology information reporting request and the topology information reporting response all carry the same content name, At least one of an identification of the controller and an identification of the first router.
  • the neighbor discovery request and the neighbor discovery response both carry the same content name
  • the controller At least one of an identification of the first router and an identifier of the first router;
  • the keywords of the neighbor discovery request and the neighbor discovery response are both
  • the keywords of the first topology discovery request and the first topology discovery response are both CTL and RouteTo .
  • the topology information reporting request and the keyword of the topology information reporting response are all CTL and TopologyDiscovery .
  • the keywords of the topology information change query request and the topology information change query response are both CTL and NeighborInfoUpdate.
  • the topology structure between the N routers is obtained by the controller, and then, according to the topology structure, the controller obtains a routing table corresponding to each router, and sends a corresponding correspondence to each router respectively.
  • Routing table wherein the routing table includes at least one of routing information between the router and other N-1 routers, and routing information between the router and the controller, Therefore, the controller can obtain the topology of the entire network, and according to the topology structure of the entire network, the calculation can obtain the route of the optimal path, and further improve the utilization efficiency and throughput of the network.
  • FIG. 1 is a flowchart of a topology discovery method according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a topology discovery method according to another embodiment of the present invention.
  • FIG. 3 is a flowchart of a topology discovery method according to still another embodiment of the present invention.
  • FIG. 4 is a flowchart of a topology discovery method according to still another embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a topology structure discovery apparatus according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a topology discovery device according to another embodiment of the present invention
  • FIG. 7 is a schematic structural diagram of a topology discovery device according to still another embodiment of the present invention
  • FIG. 8 is a schematic diagram of another embodiment of the present invention. Schematic diagram of the structure discovery device.
  • FIG. 1 is a flowchart of a method for discovering a topology according to an embodiment of the present invention. As shown in FIG. 1, the method in this embodiment includes:
  • Step 101 The controller acquires a topology between the N routers.
  • the topology is a form in which N routers are connected to each other, that is, a router.
  • the physical connection is made by the device, that is, the controller is not necessarily directly connected to all the routers in the network. However, the controller can interact with all routers by sending control commands, where the physical connection can be passed.
  • the link layer and the physical connection establish a point-to-point adjacency.
  • the controller obtains the topology between the N routers in at least two implementation manners.
  • the first implementation manner is: First, the controller sends a first topology discovery request to the first router, where the first topology discovery request is used.
  • the first topology between the first router and the second router is requested, wherein the first router is adjacent to the second router, that is, the physical connection between the first router and the second router is 1 hop; and then, the control is performed.
  • the first topology discovery response may carry the first The identifier of the second router, and the port number of the first router connected to the second router, so that the controller obtains the first topology between the first router and the second router according to the identifier of the second router adjacent to the first router Structure, that is, the controller obtains a topology within two hops and two hops. It should be noted that at least one Two routers adjacent to the first router.
  • the controller may send an Mth topology discovery request to the Mth router, where the Mth topology discovery request is used to request an Mth topology between the Mth router and the Nth router, where the Mth router and the Nth router are Neighbor, that is, the physical connection between the Mth router and the Nth router is 1 hop, and the interval between the Mth router and the controller is M hop.
  • the M router with the M hop interval from the controller has at least one
  • the Nth router is separated from the controller by N hops, and M is greater than or equal to 2. Then, the controller receives the Mth topology sent by the Mth router.
  • the Mth topology discovery response carries an Mth topology between the Mth router and the Nth router.
  • the Mth topology discovery response may carry an identifier of the Nth router adjacent to the Mth router. Therefore, the controller can obtain the Mth topology between the Mth router and the Nth router according to the identifiers of the Mth router and the Nth router, that is, According to the foregoing implementation manner, the controller obtains information of a router that is separated from the controller by one hop and separated by two hops until an interval of N hops, so that the controller obtains a topology of the network that is separated by N hops and N hops from the controller. structure. The controller stores the topology carried by the Mth topology discovery response in the topology table.
  • the controller can obtain the information of the router that is physically connected to each router and is separated by one hop according to the foregoing implementation manner, such as the identifier of the router, and the controller cannot find the ring topology from the Mth topology.
  • the information of the new router is obtained, it can be determined that the controller has obtained the topology of the entire network.
  • the format of the content name of the first topology discovery request may be:
  • the port number is a port number that the first router receives the first topology discovery request.
  • the format of the first topology discovery response and the content name of the first topology discovery request may be the same.
  • first topology discovery response and the content name of the first topology discovery request may also carry the identifier of the source network node and the identifier of the target network node, for example, the identifier of the controller and the identifier of the first router.
  • the format of the M-th topology discovery response and the M-th topology discovery request is the same as the format of the first topology discovery response and the first topology discovery request, and details are not described herein again.
  • the controller receives a topology information report request sent by the first router by using a broadcast mode, where the topology information report request carries an adjacent topology structure between the first router and the neighboring router, where the neighboring router The router is adjacent to the first router, that is, the physical connection between the first router and the neighboring router is 1 hop. It should be noted that each router can send topology information to the controller after completing neighbor discovery. The reporting request is used to inform the controller of the topology of the router, so that after the controller receives the topology information, the controller can store the topology in the topology table.
  • each router in the network can send the topology information report request by broadcast, so that the controller can obtain the topology between all routers in the network and neighboring routers, that is, the controller can be based on The topology between all the routers in the network and the neighboring routers determines the topology between all the routers in the network and the topology between the router and the controller. Finally, the controller sends the topology information report response to the first router.
  • the format of the content name of the first topology information report request may be:
  • TopologyDiscovery/Identity/port number of the first router/identity of the second router wherein, the port number is the port number of the first router sending the topology information report request to the second router.
  • Keyword TopologyDiscovery is not limited to this, and may be other energy. A keyword that implements this feature.
  • the format of the first topology information reporting response and the content name of the first topology information reporting request may be the same.
  • first topology information reporting response and the content name of the first topology information reporting request may further carry an identifier of the active network node and an identifier of the target network node, for example, an identifier of the first router and an identifier of the controller.
  • Step 102 The controller obtains a routing table corresponding to each router according to the topology, and sends a corresponding routing table to each router respectively.
  • a topology table is set in the controller, and the topology of the network is stored in the topology table.
  • the controller may obtain a routing table corresponding to each router according to the acquired topology, and send a corresponding routing table to each router separately.
  • the controller may generate the topology according to the topology.
  • the routing table of the router within two hops and sends the routing table to the corresponding router.
  • the controller may generate a routing table of the router within the N hop according to the topology, and send the routing table to the corresponding router.
  • a routing table corresponding to each router may be obtained, and a corresponding routing table is respectively sent to each router.
  • the topology structure between the N routers is obtained by the controller, and then, according to the topology structure, the controller obtains a routing table corresponding to each router, and sends corresponding routes to each router respectively.
  • a table where the routing table includes at least one of routing information between the router and other N-1 routers, and routing information between the router and the controller, so that the controller can obtain the topology of the entire network, and According to the topology of the entire network, the calculation can obtain the route of the optimal path, and further improve the utilization efficiency and throughput of the network.
  • the controller obtains a routing table corresponding to each router according to the topology structure, and respectively The routers send corresponding routing tables, and may also include:
  • the controller obtains a routing table corresponding to the router and the neighboring router according to the neighboring topology and the preset policy between the router and the neighboring router;
  • the controller sends the routing table to the router corresponding to the routing table.
  • the controller may calculate the route by using the topology stored in the topology table and a preset policy, such as a shortest path policy, and then the controller sends the route to the router. After the router receives the route, it can be stored in
  • the controller In the FIB (Forwarding Information Base, the following forwarding table), and updating the previously existing related route, the controller then receives the response sent by the router, and the response is to confirm that the router has received the route sent by the controller. Thus, a path is established in which the controller sends a route to each router.
  • FIB Forwarding Information Base
  • the specific format that the controller sends the route to the destination router through the first router may be:
  • the forwarding port number is a port number that the first router forwards the route to the destination router. It should be noted that the keywords CTL and RouteTo are not limited thereto, and may be other keywords that can implement the function.
  • the controller can receive a response sent by the network node, and the response can be the same as the content name sent by the controller to the destination router.
  • the content name format that the controller sends the route to the destination router through the first router, and the content name format of the corresponding response may also carry the identifier of the active network node and the identifier of the target network node, for example, control The identity of the device and the identity of the destination router.
  • the method may further include:
  • the controller sends a neighbor discovery request to the first router, where the neighbor discovery request is used to request the identifier of the first router;
  • the controller sends a neighbor discovery response to the first router according to the neighbor discovery request sent by the first router, where the neighbor discovery request is used to request a controller identifier or a router identifier adjacent to the first router, where the neighbor discovery response carries There is a controller ID for the controller.
  • neighbor discovery is performed between the gPN routers among the network nodes in the network, so that the network node is adjacent to the network node, that is, Information of a network node physically connected and separated by 1 hop, such as an identifier of a network node, for example, the first router obtains the identifier of the second router adjacent to the first router and the identifier of the controller, or the controller obtains and controls Identification information of the first router adjacent to the device, it should be noted that, in the network, there is at least one first router, and at least one second router.
  • the content name format of the controller sending the neighbor discovery request to the first router may be:
  • the port number is a port number sent by the controller when sending a neighbor discovery request to the first router.
  • the keyword NeighborDiscovery is not limited to this, and may be other keywords that can implement the function.
  • the content format of the neighbor discovery response and the neighbor discovery request may be the same.
  • the content name of the neighbor discovery response and the neighbor discovery request may also carry the identifier of the active network node and the identifier of the target network node, for example, the identifier of the controller and the identifier of the first router.
  • FIG. 2 is a flowchart of a method for discovering a topology according to another embodiment of the present invention. As shown in FIG. 2, the method in this embodiment includes:
  • Step 201 The controller acquires a topology between the N routers, where the network nodes in the network include a controller and a router.
  • Step 202 The controller obtains a routing table corresponding to each router according to the topology structure, and sends a corresponding routing table to each router separately.
  • the steps 201 and 202 of the embodiment are the same as those of the steps 101 and 102, respectively, and are not described herein again.
  • Step 203 The controller acquires the change information of the router in the network, where the change information is a new router, a new link connected to the router, a router failure, or a link connection with the router is invalid.
  • the router may be any one of all network nodes in the network. In the entire network, if the router changes, for example, a new router is added to the network, and a new one is added.
  • the controller obtains the change information of the router in the network, and has at least two applicable scenarios, specifically:
  • the controller may actively send a topology information change query request to the router, where the router is an existing router in the network, such as the first
  • the controller may send a topology information change query request to the first router or the Kth router that is separated from the first router by a ⁇ hop, the topology information change query request is used to request to query the change of the first router, the ⁇ router Directly or indirectly connected to the controller, ⁇ is an integer greater than 1; then, the controller receives the topology information change query response sent by the first router or the Kth router, where the topology information change query response carries the first Change information for the router.
  • the controller may send a topology information change query request to the first router or the Kth router that is ⁇ hopped from the first router, and the topology information change query request is used to request a query for the change of the first router.
  • the identifier of the destination router is an identifier of the first router or an identifier of the Kth router that is K-hopped from the first router.
  • the keywords CTL and NeighborInfo2 are not limited to this, and may be other keywords that can implement the function.
  • the second applicable scenario is that when the first router changes in the network, that is, when a new router, a new router link, a router fails, or a link connected to the router fails, the changed router can pass the neighbor.
  • the discovery mechanism actively reports the change information to the controller.
  • the router is a first router
  • the controller may receive a topology information report request sent by the first router and the Kth router with the K-hop interval of the first router.
  • the topology information reporting request carries the first router.
  • Change information the Kth router is directly or indirectly connected to the controller, and K is an integer greater than 1.
  • the port number is a port that the first router sends the topology information report request to the controller.
  • the identifier of the first router is an identifier of a router that sends the topology information report request. It should be noted that the keywords CTL and Topology Discovery are not limited thereto, and may be other keywords that can implement the function.
  • the router in the path can receive the topology information report request, and according to the "CTLL/controller name" table in the FIB table stored by itself.
  • the forwarding port corresponding to the item is forwarded. If the corresponding port cannot be forwarded due to the topology change, the router forwards the packet to all ports through broadcast.
  • the controller may change the query response to the topology information sent by the router, where the topology information change query response carries the requested information, where the topology information report response and the topology information report request
  • the content name format can be the same.
  • Step 204 The controller updates the topology table, and sends a routing table to all routers in the network according to the topology table.
  • the controller may update the topology table and send a routing table to all routers in the network according to the topology table.
  • the controller may acquire the change information of the router in the network, where the change information is a newly added router, a link connected to the router, a router failure, or a link connection with the router is invalid, and the control is
  • the device can update the topology table and send routing tables to all routers in the network based on the topology table.
  • the controller can first learn the change information, thereby avoiding the delay phenomenon caused by the flooding of the changed routing information in the prior art.
  • FIG. 3 is a flowchart of a method for discovering a topology according to another embodiment of the present invention. As shown in FIG. 3, the method in this embodiment includes:
  • Step 301 The first router sends a topology between network nodes in the network to the controller, where the network includes N routers, the first router is one of N routers, and N is an integer greater than or equal to 1.
  • the controller is physically connected to the adjacent router, and at the same time, the router is physically connected to the adjacent router, that is, the controller is not necessarily directly connected to all routers in the network, but the controller It can interact with all routers by sending control commands.
  • the physical connection can establish a point-to-point adjacency relationship through the link layer and the physical connection.
  • the first router informs the controller that the topology between the network nodes in the network can be implemented in at least two ways, specifically:
  • the first router receives a first topology discovery request sent by the controller, where the first topology discovery request is used to request a first topology between the first router and the second router, where the first router is The first router is configured to send a first topology discovery response to the controller, where the first topology discovery response carries the first topology between the first router and the second router.
  • the format of the content name of the first topology discovery request in the first implementation is the same as the format and implementation of the content name of the first topology discovery request in the foregoing embodiment, and details are not described herein.
  • the format of the content name of the first topology discovery response is the same as the format and implementation manner of the content name of the first topology discovery response in the foregoing embodiment, and details are not described herein again.
  • the first router sends a topology information report request to the controller by using a broadcast mode, where the topology information report request carries an adjacent topology structure between the first router and the second router, where the first The router is directly connected to the second router and is separated by one hop.
  • the first router receives the topology information report response sent by the controller.
  • the topology information report response carries a hop from the controller to the first router.
  • the first router determines the route to the controller according to the hop count, and stores the route in the routing table set on the first router. It should be noted that the router in the middle of the route that sends the topology information report request to the controller by the first router also forwards the topology information report request by broadcast until the request is sent to the controller.
  • the format of the content name of the topology information report request in the second implementation is the same as the format and implementation of the content name of the topology information report request in the foregoing embodiment, and details are not described herein.
  • the format of the content name of the first topology information report response is the same as the format and implementation manner of the content name of the topology information report response in the foregoing embodiment, and details are not described herein again.
  • Step 302 The first router receives a routing table sent by the controller, where the routing table is generated by the controller according to the topology.
  • the first router may receive a routing table sent by the controller, where the routing table is generated by the controller according to the topology.
  • the controller may according to the topology structure. Generating a routing table of the router within two hops, and sending the routing table to the corresponding router.
  • the controller may generate a routing table of the router within the N hop according to the topology, and then the router corresponding to the routing table receives the routing table sent by the controller.
  • the router may receive a routing table generated by the controller according to the topology.
  • the topology between the network nodes in the network is sent to the controller by using the first router, where the network includes N routers, where the first router is one of N routers, and N is greater than or An integer equal to 1, and then the first router receives the routing table sent by the controller, and the routing table is generated by the controller according to the topology, so that the controller can obtain the topology of the entire network, and perform calculation according to the topology of the entire network.
  • the route of the optimal path can be obtained, which further improves the utilization efficiency and throughput of the network.
  • the first router informs the topology structure between the network nodes in the controller network, the method further includes:
  • the first router receives a neighbor discovery request sent by the controller, and the neighbor discovery request is used to request the identifier of the first router;
  • the first router After the first router sends a neighbor discovery request to the controller, the first router receives a neighbor discovery response sent by the controller, where the neighbor discovery request is used to request the controller identifier or the router adjacent to the first router.
  • the identifier, the neighbor discovery response carries the controller identifier.
  • step 301 neighbor discovery is performed between network nodes in the network, so that the network node obtains information about a network node that is adjacent to the network node, that is, physically connected and separated by one hop, such as
  • the identifier of the network node for example, the first router obtains the identifier of the second router adjacent to the first router and the identifier of the controller, and the first router obtains the identifier information of the controller adjacent to the first router, and needs to be described
  • the content name format of the neighbor discovery request is the same as the content name format of the neighbor discovery request in the foregoing embodiment, and the implementation manner is the same, and details are not described herein again.
  • the content format of the neighbor discovery response and the neighbor discovery request may be the same.
  • the content name of the neighbor discovery response and the neighbor discovery request may also carry the identifier of the active network node and the identifier of the target network node, for example, the identifier of the controller and the identifier of the first router.
  • FIG. 4 is a flowchart of a method for discovering a topology according to another embodiment of the present invention. As shown in FIG. 4, the method in this embodiment includes:
  • Step 401 The first router sends a topology between the network nodes in the network to the controller, where the network includes N routers, the first router is one of the N routers, and N is an integer greater than or equal to 1. .
  • Step 402 The first router receives a routing table sent by the controller, where the routing table is generated by the controller according to the topology.
  • Steps 401 and 402 of the embodiment are the same as those of steps 301 and 302, respectively, and are not described herein again.
  • Step 403 The first router sends the change information in the network to the controller, where the change information is a link added to the first router in the network, the first router is invalid, or the link connected to the first router is invalid.
  • the first router refers to any one of all network nodes in the network. In the entire network, if the first router changes, for example, a new link in the network is connected to the first router, the first router fails, or the link connected to the first router fails, the controller acquires the network.
  • the change information of the first router has at least two applicable scenarios, specifically:
  • the controller may actively send a topology information change query request to the router, for example, the first router receives the topology information change sent by the controller.
  • Query request the topology information change query request is used to request to query the change information of the first router; then, the first router sends a topology information change query response to the controller, where the topology information change query response carries the first router Change information.
  • the topology information change query request is the same as the format of the topology information change query request in the foregoing embodiment, and the implementation manner is the same, and details are not described herein again.
  • the first router when the first router changes, that is, when the first router link is added, the first router fails, or the link connected to the first router fails, the second router is changed.
  • the first router can actively report the change information to the controller through the neighbor discovery mechanism described above. Specifically, the first router sends a topology information report request to the controller, where the topology information report request carries the change information of the first router.
  • the topology information reporting request is the same as the topology information reporting request in the foregoing embodiment, and the implementation manner is the same.
  • Step 404 The first router receives a routing table sent by the controller.
  • the controller may first update the topology table, and send a routing table to all routers in the network according to the topology table, and then, the first router receives the information sent by the controller. Routing table.
  • the first router informs the controller of the change information in the network, where the change information is adding the first router, adding a link connected to the first router, the first router is invalid, or is the first The link connected to the router fails, and the first router receives the routing table sent by the controller.
  • the router or the router around the router can notify the controller of the change information, thereby avoiding the delay phenomenon caused by the hop-by-hop update of the change information in the prior art.
  • FIG. 5 is a schematic structural diagram of a topology structure discovery apparatus according to an embodiment of the present invention. As shown in FIG. 5, the topology structure discovery apparatus may be disposed in a controller, where the topology discovery apparatus includes: an obtaining module 501 and processing Module 502. specific,
  • the obtaining module 501 is configured to acquire a topology between the N routers, where N is an integer greater than or equal to 1;
  • the processing module 502 is configured to obtain a routing table corresponding to each router according to the topology, and send a corresponding routing table to each router, where the routing table includes routing information between the router and other N-1 routers. And at least one of routing information between the router and the controller.
  • the topology discovery device of the embodiment acquires N routers through the controller, and the controller can obtain a routing table corresponding to each router according to the topology structure, and send a corresponding routing table to each router, so that the controller can Obtain the topology of the entire network, and according to the topology of the entire network, calculate and obtain the route of the optimal path, and further improve the utilization efficiency and throughput of the network.
  • the obtaining module 501 is specifically configured to send the first to the first router.
  • a topology discovery request the first topology discovery request is used to request a first topology between the first router and the second router, and the physical connection between the first router and the second router is 1 hop, and the first router and the The physical connection between the controllers is 1 hop.
  • the first topology discovery response is sent by the first router.
  • the first topology discovery response carries the first topology between the first router and the second router.
  • the obtaining module 501 is further configured to send an Mth topology discovery request to the Mth router, where the Mth topology discovery request is used to request the Mth topology between the Mth router and the Nth router, the Mth router and the The physical connection between the M+1 routers is 1 hop.
  • the interval between the M router and the controller is M hops, M is an integer, M is greater than or equal to 2, and M is less than or equal to N; and receives the number sent by the Mth router.
  • the M topology discovery response, the Mth topology discovery response carries the Mth topology between the Mth router and the M+1 router.
  • the acquiring module 501 is specifically configured to receive a topology information reporting request sent by the router by using a broadcast manner, where the topology information reporting request carries an adjacent topology between the router and the neighboring router.
  • the neighboring router is physically connected to the router and is separated by 1 hop.
  • the obtaining module is specifically configured to obtain a routing table corresponding to the neighboring router according to the neighboring topology and the preset policy between the router and the neighboring router;
  • the processing module 502 is specifically configured to send the routing table to the router corresponding to the routing table.
  • the obtaining module 501 is further configured to obtain the change information of the router, and the change information is a newly added router, a link connected to the router, a router failure, or a link connected to the router is invalid:
  • the processing module 502 is further configured to obtain a new routing table according to the router change information, and send a new routing table to the router corresponding to the new routing table.
  • the obtaining module 501 is configured to send a topology information change query request to the first router or the Kth router that is K-hopped from the first router, and the topology information change query request is used to request to query the change information of the first router.
  • the Kth router is directly or indirectly connected to the controller, and K is an integer greater than 1.
  • the topology information change query response sent by the first router or the Kth router is received to obtain the change information of the first router.
  • the obtaining module 501 is specifically configured to receive a topology information reporting request sent by the first router or the Kth router, to obtain the change information of the first router, the Kth router.
  • the interval from the first router is K hop, and the second router is directly or indirectly connected to the controller, and ⁇ is an integer greater than 1.
  • the device further includes: a sending module 503, configured to send a neighbor discovery request to the first router, where the neighbor discovery request is used to request the identifier of the first router; or
  • the sending module 503 is configured to send a neighbor discovery response to the first router according to the neighbor discovery request sent by the first router, where the neighbor discovery request is used to request a controller identifier or a router identifier adjacent to the first router, and the neighbor discovery response Carry the controller ID of the controller.
  • the topology information reporting request and the topology information reporting response both carry at least one of the same content name, the identifier of the first router, and the identifier of the controller;
  • the first topology discovery request and the first topology discovery response both carry at least one of the same content name, the identifier of the controller, and the identifier of the first router;
  • the first topology discovery request and the second neighbor discovery response both carry at least one of the same content name, the identifier of the controller, and the identifier of the second router.
  • the keywords of the neighbor discovery request and the neighbor discovery response are both NeighborDiscovery; the keywords of the first topology discovery request, the Mth topology discovery request, the first topology discovery response, and the Mth topology discovery response are both CTL and RouteTo;
  • the keywords of the topology information report request and the topology information report response are TopologyDiscovery;
  • the keywords of the topology information change query request and the topology information change query response are CTL and Neighborlnf oUpdate;
  • the keywords for the topology information report request are CTL and TopologyDiscovery o.
  • FIG. 6 is a schematic structural diagram of a topology discovery device according to another embodiment of the present invention. As shown in FIG. 6, the topology discovery device may be disposed in a router, where the topology discovery device includes: a sending module 601 and receiving Module 602. specific,
  • the sending module 601 is configured to send, to the controller, a topology between network nodes in the network, where the network includes N routers, the router is one of N routers, and N is an integer greater than or equal to 1;
  • the receiving module 602 is configured to receive a routing table sent by the controller, where the routing table is generated by the controller according to a topology.
  • the topology discovery device of the embodiment sends a topology between network nodes in the network to the controller by using the first router, where the network includes N routers, and the router is one of N routers, N An integer greater than or equal to 1, then receiving a routing table sent by the controller, and the routing table is generated by the controller according to the topology, so that the controller can obtain the topology of the entire network, and perform calculation according to the topology of the entire network.
  • the route of the optimal path can be obtained, which further improves the utilization efficiency and throughput of the network.
  • the receiving module 602 is configured to receive a first topology discovery request sent by the controller, where the first topology discovery request is used to request a first topology between the first router and the second router, where The physical connection between the router and the second router is 1 hop.
  • the first topology discovery response is sent to the controller.
  • the first topology discovery response carries the first topology between the first router and the second router.
  • the sending module 601 is specifically configured to send a topology information reporting request to the controller by using a broadcast mode, where the topology information reporting request carries an adjacent topology structure between the first router and the second router, where A physical connection between a router and a second router is separated by 1 hop;
  • the receiving module 602 is specifically configured to receive, by the first router, the topology information reporting response sent by the controller, where the topology information reporting response carries the hop count from the controller to the first router, and the first router determines the route to the controller according to the hop count. And store the route in the routing table set on the first router.
  • the receiving module 602 is further configured to receive a neighbor discovery request sent by the controller, where the neighbor discovery request is used to request the physical identifier of the first router; or
  • the receiving module 602 is further configured to: after sending the neighbor discovery request to the controller, the first router receives the neighbor discovery response sent by the controller, and the neighbor discovery request is used to request the controller identifier or the router identifier adjacent to the first router, and the neighbor discovery The response carries the controller identification.
  • the sending module 601 is further configured to send, to the controller, the change information in the network, where the change information is a link added to the first router by the network, the first router is invalid, or is connected to the first router.
  • the connected link is invalid;
  • the receiving module 602 is further configured to receive a routing table sent by the controller.
  • the receiving module 602 is specifically configured to receive a topology information change query request sent by the controller, where the topology information change query request is used to request to query the change information of the first router;
  • the sending module 601 is specifically configured to send a topology information change query response to the controller, where the topology information change query response carries the change information of the first router.
  • the sending module 601 is specifically configured to send a topology information reporting request to the controller to notify the change information of the first router, where the topology information reporting request carries the change information of the first router.
  • the topology information reporting request and the topology information reporting response all carry at least one of the same content name, the identifier of the first router, and the identifier of the controller.
  • the first topology discovery request and the first topology discovery response both carry the same content name, the identifier of the controller, and the identifier of the first router;
  • the Nth topology discovery request and the Nth neighbor discovery response both carry at least one of the same content name, the identifier of the controller, and the identifier of the Mth router.
  • the keywords of the neighbor discovery request and the neighbor discovery request are both NeighborDiscovery; the keywords of the first topology discovery request, the Mth topology discovery request, the first topology discovery response, and the Mth topology discovery response are both CTL and RouteTo;
  • the keywords of the topology information report request and the topology information report response are TopologyDiscovery;
  • the keywords of the topology information change query request and the topology information change query response are CTL and Neighborlnf oUpdate;
  • the keywords for the topology information report request are CTL and TopologyDiscovery o.
  • FIG. 7 is a schematic structural diagram of a topology discovery device according to another embodiment of the present invention.
  • the topology discovery device may include: a transmitter 701, a receiver 702, a memory 703, and a transmitter 701, respectively.
  • the receiver 702 is coupled to the processor 704 of the memory 703.
  • the topology discovery device may further include a common component such as an antenna, a baseband processing component, a medium-frequency processing component, and an input/output device.
  • the embodiment of the present invention is not limited herein.
  • the memory 703 stores a set of program codes
  • the processor 704 is configured to call the program code stored in the memory 703 to perform the following operations:
  • N is an integer greater than or equal to 1;
  • the controller obtains the topology structure of the entire network, and according to the topology structure of the entire network, performs calculation to obtain the route of the optimal path, and further improves the network profit. Use efficiency and throughput.
  • FIG. 8 is a schematic structural diagram of a topology discovery device according to another embodiment of the present invention.
  • the topology discovery device may include: a transmitter 801, a receiver 802, a memory 803, and a transmitter 801, respectively.
  • the processor 804 is connected to the receiver 802 and the memory 803.
  • the topology discovery device may further include a common component such as an antenna, a baseband processing component, a medium-frequency processing component, and an input/output device.
  • the embodiment of the present invention is not limited herein.
  • the memory 803 stores a set of program codes
  • the processor 804 is configured to call the program code stored in the memory 803 to perform the following operations:
  • the network includes N routers, the first router is one of the N routers, and N is an integer greater than or equal to 1;
  • the routing table being generated by the controller according to the topology.
  • the controller obtains the topology of the entire network, and according to the topology structure of the entire network, the calculation can obtain the route of the optimal path, and further improves the utilization efficiency and throughput of the network.
  • the aforementioned program can be stored in a computer readable storage medium.
  • the program when executed, performs the steps including the foregoing method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as ROM, RAM, disk or optical disk.

Landscapes

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

Abstract

一种拓扑结构发现方法及装置,其中拓扑结构的发现方法,通过控制器获取N个路由器之间的拓扑结构,控制器根据该拓扑结构,获得每个路由器对应的路由表,并分别向每个路由器发送对应的路由表,其中,该路由表包括路由器与其他N-1个路由器之间的路由信息,和路由器与控制器之间的路由信息中的至少一种,从而控制器可以获得整个网络的拓扑结构,并根据整个网络的拓扑结构,进行计算可以获得最优路径的路由,从而提高网络的利用效率以及吞吐量。

Description

_
拓扑结构发现方法及装置
技术领域 本发明涉及通信技术, 尤其涉及一种拓扑结构发现方法及装置。 背景技术 随着互联网的发展, 越来越多的人们从互联网上获取信息, 如网络新闻、 搜索引擎, 网络音乐、 网络视频、 社交网站、 网络论坛等。 其中, 信息中心网 络 ( Information centric networking , 以下简称 ICN) 是以信息内容为中心 的网络, 例如有命名数据网络(Named Data Network, 以下简称 NDN)或者内容 中心网络 ( Content Centric Networking, 以下简称 CCN) 等。
现有技术中, 路由器首先向周围相邻的路由器发送路由器自身的信息, 接 着,相邻的路由器再向与该些路由器相邻的路由器发送自身信息以及相邻路由 器的信息, 从而逐歩扩散, 直到通知整个网络。
然而,信息中心网络的路由器无法获知整个网络的整体拓扑结构, 从而无 法获得较优路径的路由。 发明内容 本发明提供一种拓扑结构发现方法及装置, 用以获知整个网络的拓扑结 第一方面, 本发明实施例提供一种拓扑结构发现方法, 包括:
控制器获取 N个路由器之间的拓扑结构, N为大于或等于 1的整数; 所述控制器根据所述拓扑结构, 获得每个所述路由器对应的路由表, 并分 别向每个所述路由器发送对应的路由表, 所述路由表包括所述路由器与其他 N- 1个路由器之间的路由信息, 和所述路由器与所述控制器之间的路由信息中 的至少一种。
在第一方面的第一种可能的实现方式中, 所述控制器获取 N个路由器之间 的拓扑结构, 包括:
所述控制器向第一路由器发送第一拓扑发现请求,所述第一拓扑发现请求 用以请求所述第一路由器与第二路由器之间的第一拓扑结构,所述第一路由器 与所述第二路由器之间物理连接并间隔为 1跳, 所述第一路由器与所述控制器 之间物理连接并间隔为 1跳;
所述控制器接收所述第一路由器发送的第一拓扑发现响应,所述第一拓扑 发现响应中携带有所述第一路由器与所述第二路由器之间的所述第一拓扑结 结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现 方式中,所述控制器接收所述第一路由器发送的第一拓扑发现响应之后, 还包 括:
所述控制器向第 M路由器发送第 M拓扑发现请求, 所述第 M拓扑发现请求用 以请求所述第 M路由器与第 M+1路由器之间的第 M拓扑结构,所述第 M路由器与所 述第 M+1路由器之间物理连接并间隔为 1跳, 所述第 M路由器与所述控制器间隔 为 M跳, M为整数, M大于或等于 2, 并且 M小于或等于 N;
所述控制器接收所述第 M路由器发送的第 M拓扑发现响应, 所述第 M拓扑发 现响应中携带有所述第 M路由器与所述第 M+1路由器之间的所述第 M拓扑结构。
在第一方面的第三种可能的实现方式中, 所述控制器获取 N个路由器之间 的拓扑结构, 包括:
所述控制器接收所述路由器通过广播方式发送的拓扑信息上报请求,所述 拓扑信息上报请求中携带有所述路由器与相邻路由器之间的相邻拓扑结构,所 述相邻路由器与所述路由器物理连接并间隔为 1跳。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现 方式中, 所述控制器根据所述拓扑结构, 获得每个所述路由器对应的路由表, 并分别向每个所述路由器发送对应的路由表, 包括:
所述控制器根据所述路由器与所述相邻路由器之间的所述相邻拓扑结构 和预设策略, 获得所述路由器与所述相邻路由器对应的路由表;
所述控制器将所述路由表发送给与所述路由表对应的所述路由器。
结合第一方面的第一种可能的实现方式中至第一方面的第四种可能的实 现方式中任意一种,在第一方面的第五种可能的实现方式中,所述控制器根据 所述拓扑结构, 获得每个所述路由器对应的路由表, 并分别向每个所述路由器 发送对应的路由表之后, 还包括:
所述控制器获取路由器变更信息,所述路由器变更信息为新增路由器、新 增与所述路由器相连的链路、所述路由器失效、或者与所述路由器相连的链路 失效:
所述控制器根据所述路由器变更信息获取新路由表,并向与所述新路由表 对应的所述路由器发送所述新路由表。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现 方式中, 所述控制器获取路由器的变更信息, 包括:
所述控制器向所述第一路由器或与所述第一路由器间隔为 K跳的第 K路由 器发送拓扑信息变更查询请求,所述拓扑信息变更查询请求用以请求查询所述 第一路由器的所述变更信息, 所述第 κ路由器与所述控制器之间直接连接或间 接连接, κ为大于 1的整数;
所述控制器接收所述第一路由器或所述第 κ路由器发送的拓扑信息变更查 询响应, 以获取所述第一路由器的所述变更信息。
结合第一方面的第五种可能的实现方式,在第一方面的第七种可能的实现 方式中, 所述控制器获取路由器的变更信息, 包括:
所述控制器接收所述第一路由器或第 κ路由器发送的拓扑信息上报请求, 以获取所述第一路由器的所述变更信息, 所述第 κ路由器与所述第一路由器间 隔为 K跳, 所述第 K路由器与所述控制器之间直接连接或间接连接, K为大于 1 的整数。
结合第一方面至第一方面的第七种可能的实现方式中任意一种,在第一方 面的第八种可能的实现方式中, 所述控制器获取 N个路由器之间的拓扑结构之 m , 还包括:
所述控制器向第一路由器发送邻居发现请求,所述邻居发现请求用以请求 所述第一路由器的标识; 或者
所述控制器根据接收到所述第一路由器发送的所述邻居发现请求,向所述 第一路由器发送邻居发现响应,所述邻居发现请求用以请求与所述第一路由器 相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带有所述控制 器的所述控制器标识。 结合第一方面的第一种可能的实现方式至第一方面的第二种可能的实现 方式中任意一种, 在第一方面的第九种可能的实现方式中,所述第一拓扑发现 请求与所述第一拓扑发现响应均携带有相同的内容名、所述控制器的标识和所 述第一路由器的标识中的至少一种。
结合第一方面的第二种可能的实现方式中,在第一方面的第十种可能的实 现方式中,所述第 N拓扑发现请求与所述第 N拓扑发现响应均携带有相同的内容 名、 所述控制器的标识和所述第 M路由器的标识中的至少一种。
结合第一方面的第八种可能的实现方式中,在第一方面的第十一种可能的 实现方式中, 所述邻居发现请求和所述邻居发现响应的关键字均为 NeighborD:iscovery。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现 方式, 在第一方面的第十二种可能的实现方式中, 所述第一拓扑发现请求、 所 述第一拓扑发现响应的关键字均为 CTL和 RouteTo。
结合第一方面的第二种可能的实现方式中,在第一方面的第十三种可能的 实现方式中, 所述第 M拓扑发现请求和所述第 M拓扑发现响应的关键字均为 CTL 和 RouteTo。
结合第一方面的第三种可能的实现方式或第一方面的第四种可能的实现 方式,在第一方面的第十四种可能的实现方式中, 所述拓扑信息上报请求的关 键字均为 TopologyDiscovery。
结合第一方面的第六种可能的实现方式中,在第一方面的第十五种可能的 实现方式中,所述拓扑信息变更查询请求和所述拓扑信息变更查询响应的关键 字均为 CTL 和 NeighborInfoUpdate。
本发明第二方面, 提供一种拓扑结构发现方法, 包括:
第一路由器向控制器发送网络中网络节点之间的拓扑结构,所述网络包括
N个路由器,所述第一路由器为所述 N个路由器中的一个, N为大于或等于 1的整 数;
所述第一路由器接收所述控制器发送的路由表,所述路由表为所述控制器 根据所述拓扑结构生成的。
在第二方面的第一种可能的实现方式中,所述第一路由器向控制器发送网 络中网络节点之间的拓扑结构, 包括:
所述第一路由器接收所述控制器发送的第一拓扑发现请求,所述第一拓扑 发现请求用以请求所述第一路由器与第二路由器之间的第一拓扑结构,所述第 一路由器与所述第二路由器之间物理连接并间隔为 1跳;
所述第一路由器向所述控制器发送第一拓扑发现响应,所述第一拓扑发现 响应中携带有所述第一路由器与第二路由器之间的所述第一拓扑结构。
在第二方面的第二种可能的实现方式中,所述第一路由器向控制器发送网 络中网络节点之间的拓扑结构, 包括:
所述第一路由器通过广播方式向所述控制器发送拓扑信息上报请求,所述 拓扑信息上报请求中携带有所述第一路由器与第二路由器之间的相邻拓扑结 构, 所述第一路由器与所述第二路由器之间直接物理连接并间隔为 1跳;
所述第一路由器接收所述控制器发送的拓扑信息上报响应,所述拓扑信息 上报响应中携带有从所述控制器到所述第一路由器的跳数,所述第一路由器根 据所述跳数确定到所述控制器的路由,并将所述路由存储在所述第一路由器上 设置的所述路由表中。
结合第二方面至第二方面的第二种可能的实现方式中任意一种,在第二方 面的第三种可能的实现方式中,所述第一路由器向控制器发送网络中网络节点 之间的拓扑结构之前, 还包括:
所述第一路由器接收所述控制器发送的邻居发现请求,所述邻居发现请求 用以请求所述第一路由器物理的标识; 或者
所述第一路由器向所述控制器发送所述邻居发现请求之后,所述第一路由 器接收所述控制器发送的邻居发现响应,所述邻居发现请求用以请求与所述第 一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带有 所述控制器标识。
结合第二方面至第二方面的第三种可能的实现方式中任意一种,在第二方 面的第四种可能的实现方式中, 所述第一路由器接收所述控制器路由表之后, 还包括:
所述第一路由器向所述控制器发送网络中的变更信息,所述变更信息为所 述网络中新增与所述第一路由器相连的链路、所述第一路由器失效、或者与所 述第一路由器相连的链路失效;
所述第一路由器接收所述控制器发送的路由表。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现 方式中, 所述第一路由器向所述控制器发送网络中的变更信息, 包括:
所述第一路由器接收所述控制器发送的拓扑信息变更查询请求,所述拓扑 信息变更查询请求用以请求查询所述第一路由器的所述变更信息;
所述第一路由器向所述控制器发送拓扑信息变更查询响应,所述拓扑信息 变更查询响应中携带有所述第一路由器的所述变更信息。
结合第二方面的第四种可能的实现方式,在第二方面的第六种可能的实现 方式中, 所述第一路由器向所述控制器发送网络中的变更信息, 包括:
所述第一路由器向所述控制器发送拓扑信息上报请求,以告知所述第一路 由器的所述变更信息,所述拓扑信息上报请求中携带有所述第一路由器的所述 变更信息。
结合第二方面的第一种可能的实现方式,在第二方面的第七种可能的实现 方式中,所述第一拓扑发现请求与所述第一拓扑发现响应均携带有相同的内容 名、 所述控制器的标识和所述第一路由器的标识中的至少一种。
结合第二方面的第二种可能的实现方式,在第二方面的第八种可能的实现 方式中,所述拓扑信息上报请求、所述拓扑信息上报响应均携带有相同的内容 名、 所述控制器的标识和所述第一路由器的标识中的至少一种。
结合第二方面的第三种可能的实现方式,在第二方面的第九种可能的实现 方式中,所述邻居发现请求和所述邻居发现响应均携带有相同的内容名、所述 控制器的标识和所述第一路由器的标识中的至少一种; 和 /或
所述邻居发现请求和所述邻居发现响应的关键字均为
NeighborD:iscovery。
结合第二方面的第一种可能的实现方式,在第二方面的第十种可能的实现 方式中, 所述第一拓扑发现请求和所述第一拓扑发现响应的关键字均为 CTL和 RouteTo。
结合第二方面的第二种可能的实现方式,在第二方面的第十一种可能的实 现方式中, 所述拓扑信息上报请求、 所述拓扑信息上报响应的关键字均为 CTL 禾口 TopologyDiscovery。
结合第二方面的第五种可能的实现方式,在第二方面的第十二种可能的实 现方式中,所述拓扑信息变更查询请求和所述拓扑信息变更查询响应的关键字 均为 CTL 和 NeighborInfoUpdate。
第三方面, 本发明实施例提供一种拓扑结构发现装置, 包括:
获取模块, 用于获取 N个路由器之间的拓扑结构, N为大于或等于 1的整数; 处理模块, 用于根据所述拓扑结构, 获得每个所述路由器对应的路由表, 并分别向每个所述路由器发送对应的路由表,所述路由表包括所述路由器与其 他 N-1个路由器之间的路由信息, 和所述路由器与所述控制器之间的路由信息 中的至少一种。
在第三方面的第一种可能的实现方式中,所述获取模块, 具体用于向所述 第一路由器发送第一拓扑发现请求,所述第一拓扑发现请求用以请求所述第一 路由器与第二路由器之间的第一拓扑结构,所述第一路由器与所述第二路由器 之间物理连接并间隔为 1跳, 所述第一路由器与所述控制器之间物理连接并间 隔为 1跳; 并接收所述第一路由器发送的第一拓扑发现响应, 所述第一拓扑发 现响应中携带有所述第一路由器与第二路由器之间的所述第一拓扑结构。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现 方式中, 所述获取模块, 还用于向所述第 M路由器发送第 M拓扑发现请求, 所述 第 M拓扑发现请求用以请求所述第 M路由器与所述第 N路由器之间的第 M拓扑结 构, 所述第 M路由器与所述第 M+1路由器之间物理连接并间隔为 1跳, 所述第 M 路由器与所述控制器间隔为 M跳, M为整数, M大于或等于 2,并且 M小于或等于 N; 并接收所述第 M路由器发送的第 M拓扑发现响应, 所述第 M拓扑发现响应中携带 有所述第 M路由器与所述第 M+1路由器之间的所述第 M拓扑结构。
在第三方面的第三种可能的实现方式中,所述获取模块, 具体用于接收所 述路由器通过广播方式发送的拓扑信息上报请求,所述拓扑信息上报请求中携 带有所述路由器与相邻路由器之间的相邻拓扑结构,所述相邻路由器与所述路 由器物理连接并间隔为 1跳。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现 方式中,所述获取模块, 具体用于根据所述路由器与所述相邻路由器之间的所 述相邻拓扑结构和预设策略, 获取所述路由器与所述相邻路由器对应的路由 表;
所述处理模块, 具体用于将所述路由表发送给与所述路由表对应的路由 器。
结合第三方面的第一种可能的实现方式中至第三方面的第四种可能的实 现方式中任意一种, 在第三方面的第五种可能的实现方式中, 所述获取模块, 还用于获取所述路由器变更信息,所述路由器变更信息为新增路由器、新增与 所述路由器相连的链路、所述路由器失效、或者与所述路由器相连的链路失效: 所述处理模块, 还用于根据所述路由器变更信息获取新路由表, 并向与所 述新路由表对应的所述路由器发送所述新路由表。
结合第三方面的第五种可能的实现方式,在第三方面的第六种可能的实现 方式中,所述获取模块, 具体用于向所述第一路由器或与所述第一路由器间隔 为 K跳的第 K路由器发送拓扑信息变更查询请求,所述拓扑信息变更查询请求用 以请求查询所述第一路由器的所述变更信息, 所述第 κ路由器与所述控制器之 间直接连接或间接连接, κ为大于 1的整数; 并接收所述第一路由器或所述第 K 路由器发送的拓扑信息变更查询响应, 以获取所述第一路由器的所述变更信 息。
结合第三方面的第五种可能的实现方式,在第三方面的第七种可能的实现 方式中, 所述获取模块, 具体用于接收所述第一路由器或第 κ路由器发送的拓 扑信息上报请求, 以获取所述第一路由器的所述变更信息, 所述第 κ路由器与 所述第一路由器间隔为 κ跳,所述第 K路由器与所述控制器之间直接连接或间接 连接, κ为大于 1的整数。
结合第三方面至第三方面的第七种可能的实现方式中任意一种,在第三方 面的第八种可能的实现方式中, 还包括, 发送模块, 用于向第一路由器发送邻 居发现请求, 所述邻居发现请求用以请求所述第一路由器的标识; 或者
所述发送模块, 用于根据接收到所述第一路由器发送的所述邻居发现请 求, 向所述第一路由器发送邻居发现响应,所述邻居发现请求用以请求与所述 第一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带 有所述控制器的所述控制器标识。 结合第三方面的第一种可能的实现方式至第三方面的第二种可能的实现 方式中任意一种, 在第三方面的第九种可能的实现方式中,所述第一拓扑发现 请求与所述第一拓扑发现响应均携带有相同的内容名、所述控制器的标识和所 述第一路由器的标识中的至少一种。
结合第三方面的第二种可能的实现方式中,在第三方面的第十种可能的实 现方式中,所述第 N拓扑发现请求与所述第 N拓扑发现响应均携带有相同的内容 名、 所述控制器的标识和所述第 M路由器的标识中的至少一种。
结合第三方面的第八种可能的实现方式中,在第三方面的第十一种可能的 实现方式中, 所述邻居发现请求和所述邻居发现响应的关键字均为 NeighborD:iscovery。
结合第三方面的第一种可能的实现方式或第三方面的第二种可能的实现 方式, 在第三方面的第十二种可能的实现方式中, 所述第一拓扑发现请求、 所 述第一拓扑发现响应的关键字均为 CTL和 RouteTo。
结合第三方面的第二种可能的实现方式中,在第三方面的第十三种可能的 实现方式中, 所述第 M拓扑发现请求和所述第 M拓扑发现响应的关键字均为 CTL 和 RouteTo。
结合第三方面的第三种可能的实现方式或第三方面的第四种可能的实现 方式,在第三方面的第十四种可能的实现方式中, 所述拓扑信息上报请求的关 键字均为 TopologyDiscovery。
结合第三方面的第六种可能的实现方式中,在第三方面的第十五种可能的 实现方式中,所述拓扑信息变更查询请求和所述拓扑信息变更查询响应的关键 字均为 CTL 和 NeighborInfoUpdate。
本发明第四方面, 提供一种拓扑结构发现装置, 包括:
发送模块, 用于向控制器发送网络中网络节点之间的拓扑结构, 所述网络 包括 N个路由器, 所述路由器为所述 N个路由器中的一个, N为大于或等于 1的整 数;
接收模块, 用于接收所述控制器发送的路由表,所述路由表为所述控制器 根据所述拓扑结构生成的。
在第四方面的第一种可能的实现方式中,所述接收模块,用于接收所述控 制器发送的第一拓扑发现请求,所述第一拓扑发现请求用以请求所述第一路由 器与第二路由器之间的第一拓扑结构,所述第一路由器与所述第二路由器之间 物理连接并间隔为 1跳; 并向所述控制器发送第一拓扑发现响应, 所述第一拓 扑发现响应中携带有所述第一路由器与第二路由器之间的所述第一拓扑结构。
在第四方面的第二种可能的实现方式中,所述发送模块, 具体用于通过广 播方式向所述控制器发送拓扑信息上报请求,所述拓扑信息上报请求中携带有 所述第一路由器与所述第二路由器之间的相邻拓扑结构,所述第一路由器与所 述第二路由器之间直接物理连接并间隔为 1跳;
所述接收模块,具体用于第一路由器接收所述控制器发送的拓扑信息上报 响应, 所述拓扑信息上报响应中携带有从所述控制器到所述第一路由器的跳 数,所述第一路由器根据所述跳数确定到所述控制器的路由, 并将所述路由存 储在所述第一路由器上设置的所述路由表中。
结合第四方面至第四方面的第二种可能的实现方式中任意一种,在第四方 面的第三种可能的实现方式中, 所述接收模块, 还用于接收所述控制器发送的 邻居发现请求,所述邻居发现请求用以请求所述第一路由器物理的标识; 或者 所述接收模块, 还用于向所述控制器发送所述邻居发现请求之后,所述第 一路由器接收所述控制器发送的邻居发现响应,所述邻居发现请求用以请求与 所述第一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应 携带有所述控制器标识。
结合第四方面至第四方面的第三种可能的实现方式中任意一种,在第四方 面的第四种可能的实现方式中, 所述发送模块, 还用于向所述控制器发送网络 中的变更信息, 所述变更信息为所述网络中新增与所述第一路由器相连的链 路、 所述第一路由器失效、 或者与所述第一路由器相连的链路失效;
所述接收模块, 还用于接收所述控制器发送的路由表。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现 方式中,所述接收模块, 具体用于接收所述控制器发送的拓扑信息变更查询请 求, 所述拓扑信息变更查询请求用以请求查询所述第一路由器的所述变更信 息;
所述发送模块, 具体用于向所述控制器发送拓扑信息变更查询响应,所述 拓扑信息变更查询响应中携带有所述第一路由器的所述变更信息。 结合第四方面的第四种可能的实现方式,在第四方面的第六种可能的实现 方式中, 所述发送模块, 具体用于向所述控制器发送拓扑信息上报请求, 以告 知所述第一路由器的所述变更信息,所述拓扑信息上报请求中携带有所述第一 路由器的所述变更信息。
结合第四方面的第一种可能的实现方式,在第四方面的第七种可能的实现 方式中,所述第一拓扑发现请求与所述第一拓扑发现响应均携带有相同的内容 名、 所述控制器的标识和所述第一路由器的标识中的至少一种。
结合第四方面的第二种可能的实现方式,在第四方面的第八种可能的实现 方式中,所述拓扑信息上报请求、所述拓扑信息上报响应均携带有相同的内容 名、 所述控制器的标识和所述第一路由器的标识中的至少一种。
结合第四方面的第三种可能的实现方式,在第四方面的第九种可能的实现 方式中,所述邻居发现请求和所述邻居发现响应均携带有相同的内容名、所述 控制器的标识和所述第一路由器的标识中的至少一种; 和 /或
所述邻居发现请求和所述邻居发现响应的关键字均为
NeighborD:iscovery。
结合第四方面的第一种可能的实现方式,在第四方面的第十种可能的实现 方式中, 所述第一拓扑发现请求和所述第一拓扑发现响应的关键字均为 CTL和 RouteTo。
结合第四方面的第二种可能的实现方式,在第四方面的第 ^一种可能的实 现方式中, 所述拓扑信息上报请求、 所述拓扑信息上报响应的关键字均为 CTL 禾口 TopologyDiscovery。
结合第四方面的第五种可能的实现方式,在第四方面的第十二种可能的实 现方式中,所述拓扑信息变更查询请求和所述拓扑信息变更查询响应的关键字 均为 CTL 和 NeighborInfoUpdate。
本发明实施例提供的拓扑结构发现方法, 通过控制器获取 N个路由器之间 的拓扑结构, 接着, 控制器根据该拓扑结构, 获得每个路由器对应的路由表, 并分别向每个路由器发送对应的路由表,其中,该路由表包括路由器与其他 N-1 个路由器之间的路由信息, 和路由器与控制器之间的路由信息中的至少一种, 从而控制器可以获得整个网络的拓扑结构, 并根据整个网络的拓扑结构, 进行 计算可以获得最优路径的路由,进一歩的,提高了网络的利用效率以及吞吐量。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作一简单地介绍, 显而易见地, 下面描 述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出 创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明一实施例提供的拓扑结构发现方法的流程图;
图 2为本发明另一实施例提供的拓扑结构发现方法的流程图;
图 3为本发明再一实施例提供的拓扑结构发现方法的流程图;
图 4为本发明再一实施例提供的拓扑结构发现方法的流程图;
图 5为本发明一实施例提供的拓扑结构发现装置的结构示意图;
图 6为本发明另一实施例提供的拓扑结构发现装置的结构示意图; 图 7为本发明再一实施例提供的拓扑结构发现装置的结构示意图; 图 8为本发明再一实施例提供的拓扑结构发现装置的结构示意图。
具体实施方式 为使本发明实施例的目的、技术方案和优点更加清楚, 下面将结合本发明 实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。基于本发明中 的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其 他实施例, 都属于本发明保护的范围。
图 1为本发明一实施例提供的拓扑结构发现方法的流程图; 如图 1所示, 本 实施例的方法包括:
歩骤 101、 控制器获取 N个路由器之间的拓扑结构。
在本实施例中, 该拓扑结构为 N个路由器之间相互连接的形式, 即路由器 由器进行物理连接, 也就说, 控制器不一定与该网络中的所有路由器直接物理 连接, 但是, 控制器可以与所有的路由器通过发送控制指令的方式进行交互, 其中, 物理连接可以是通过链路层和物理连接建立点对点的邻接关系。
控制器获取 N个路由器之间的拓扑结构可以至少有两种实现方式,具体为: 第一种实现方式, 首先, 控制器向第一路由器发送第一拓扑发现请求, 该 第一拓扑发现请求用以请求第一路由器与第二路由器之间的第一拓扑结构,其 中,第一路由器与第二路由器相邻, 即第一路由器与第二路由器之间物理连接 并间隔为 1跳; 接着, 控制器接收第一路由器发送的第一拓扑发现响应, 该第 一拓扑发现响应中携带有第一路由器与第二路由器之间的第一拓扑结构, 例 如, 该第一拓扑发现响应中可以携带有第二路由器的标识, 以及第一路由器与 第二路由器相连接的端口号,从而控制器根据与第一路由器相邻的第二路由器 的标识, 获得第一路由器与第二路由器之间的第一拓扑结构, 即控制器获得两 跳及两跳以内的拓扑结构, 需要说明的是, 至少有一个第二路由器与第一路由 器相邻。
再接着, 控制器可以向第 M路由器发送第 M拓扑发现请求, 该第 M拓扑发现 请求用以请求第 M路由器与第 N路由器之间的第 M拓扑结构, 该第 M路由器与第 N 路由器相邻, 即第 M路由器与第 N路由器之间物理连接并间隔为 1跳,第 M路由器 与控制器间隔为 M跳, 需要说明的是, 与控制器间隔为 M跳的第 M路由器至少有 一个, 相应的, 与控制器间隔为 N跳的第 N路由器也至少有一个, 第 N路由器与 控制器间隔为 N跳, M大于或等于 2, 然后, 控制器接收第 M路由器发送的第 M拓 扑发现响应, 该第 M拓扑发现响应中携带有第 M路由器与第 N路由器之间的第 M 拓扑结构, 例如, 该第 M拓扑发现响应可以携带有与第 M路由器相邻的第 N路由 器的标识, 从而, 控制器可以根据第 M路由器与第 N路由器的标识, 获得第 M路 由器与第 N路由器之间的第 M拓扑结构,也就是说,控制器根据上述的实现方式, 获得了与控制器间隔 1跳、 间隔 2跳直到间隔 N跳的路由器的信息, 从而控制器 获得与控制器间隔为 N跳以及 N跳以内的网络的拓扑结构。 控制器将该第 M拓扑 发现响应携带的拓扑结构存储在拓扑表中。
控制器可以根据上述的实现方式,依次逐跳的获得与各路由器物理连接并 间隔为 1跳的路由器的信息, 如路由器的标识,在控制器无法从第 M拓扑发现响 应中获得新的路由器的信息时, 可确定控制器获得了整个网络的拓扑结构。 需要说明的是, 第一拓扑发现请求的内容名字的格式可以为:
CTL/第一路由器的标识 /RouteTo/控制器名 /端口号;
其中, 端口号为第一路由器接收第一拓扑发现请求的端口号。
需要说明的是, 关键字 CTL、 RouteTo不限于此, 也可以是其他的能够实 现该功能的关键字。
相应的, 第一拓扑发现响应与第一拓扑发现请求的内容名字的格式可以 相同。
进一歩的, 第一拓扑发现响应与第一拓扑发现请求的内容名字中还可以携 带有源网络节点的标识以及目标网络节点的标识, 例如, 控制器的标识以及 第一路由器的标识。
同样的, 第 M拓扑发现响应与第 M拓扑发现请求的格式与上述的第 1拓扑发 现响应与第 1拓扑发现请求的格式相同, 在此不再赘述。
第二种实现方式,控制器接收第一路由器通过广播方式发送的拓扑信息上 报请求,该拓扑信息上报请求中携带有第一路由器与相邻路由器之间的相邻拓 扑结构, 其中, 相邻路由器为与第一路由器相邻的路由器, 即第一路由器与相 邻路由器之间物理连接并间隔为 1跳; 需要说明的是, 每个路由器在完成邻居 发现之后, 都可以向控制器发送拓扑信息上报请求,用以告知控制器该路由器 的拓扑结构, 从而在控制器接收到拓扑信息之后, 控制器可以将该拓扑结构存 储在拓扑表。也就是说,在网络中的每个路由器可以通过广播方式发送该拓扑 信息上报请求, 从而, 控制器可以获得网络中所有路由器与相邻路由器之间的 拓扑结构, 也就是说, 控制器可以根据网络中所有路由器与相邻路由器之间的 拓扑结构,确定网络中所有路由器之间的拓扑结构以及路由器与控制器之间的 拓扑结构; 最后, 控制器将拓扑信息上报响应发送给第一路由器。
需要说明的是, 第一拓扑信息上报请求的内容名字的格式可以为:
TopologyDiscovery/第一路由器的标识 /端口号 /第二路由器的标识; 其中, 端口号为第一路由器向第二路由器发送拓扑信息上报请求的端口 号。
需要说明的是, 关键字 TopologyDiscovery不限于此, 也可以是其他的能 够实现该功能的关键字。
相应的, 第一拓扑信息上报响应与第一拓扑信息上报请求的内容名字的 格式可以相同。
进一歩的, 第一拓扑信息上报响应与第一拓扑信息上报请求的内容名字中 还可以携带有源网络节点的标识以及目标网络节点的标识, 例如, 第一路由 器的标识以及控制器的标识。
歩骤 102、 控制器根据拓扑结, 获得每个路由器对应的路由表, 并分别向 每个路由器发送对应的路由表。
在本实施例中, 控制器中设置有拓扑表, 并且网络的拓扑结构存储在该拓 扑表中。
无论是上述的哪种实现方式, 控制器可以根据获取的拓扑结构, 获取每个 路由器对应的路由表, 并分别向每个路由器发送对应的路由表。
具体的,在上述第一种实现方式中,在控制器获取第一路由器与第二路由 器之间的拓扑结构之后, 即控制器获得两跳以内的拓扑结构之后, 控制器可以 根据该拓扑结构生成两跳以内路由器的路由表,并将该路由表发送给对应的路 由器, 接着, 在控制器获取第 M路由器与第 N路由器之间的拓扑结构之后, 即控 制器获得 N跳以内的拓扑结构之后,控制器可以根据该拓扑结构生成 N跳以内路 由器的路由表, 并将该路由表发送给对应的路由器。
具体的,在上述第二种实现方式中,在控制器获取整个网络的拓扑结构之 后, 可以获得每个路由器对应的路由表, 并分别向每个路由器发送对应的路由 表。
本实施例的拓扑结构发现方法, 通过控制器获取 N个路由器之间的拓扑结 构, 接着, 控制器根据该拓扑结构, 获得每个路由器对应的路由表, 并分别向 每个路由器发送对应的路由表, 其中, 该路由表包括路由器与其他 N-1个路由 器之间的路由信息, 和路由器与控制器之间的路由信息中的至少一种, 从而控 制器可以获得整个网络的拓扑结构, 并根据整个网络的拓扑结构,进行计算可 以获得最优路径的路由, 进一歩的, 提高了网络的利用效率以及吞吐量。
需要说明的是, 在上述实施例的基础上, 在上述第二种实现方式实现中, 歩骤 102、 控制器根据拓扑结构, 获得每个路由器对应的路由表, 并分别向每 个路由器发送对应的路由表, 还可以包括:
控制器根据路由器与相邻路由器之间的相邻拓扑结构和预设策略,获得路 由器与相邻路由器对应的路由表;
控制器将路由表发送给与路由表对应的路由器。
在上述实施例的基础上, 控制器获得网络的所有拓扑结构之后, 可以通 过拓扑表存储的拓扑结构以及预设策略, 如最短路径策略, 计算出路由, 接 着, 控制器将该路由发送给路由器, 路由器在收到该路由之后, 可以存储在
FIB ( Forwarding Information Base , 以下转发表) 中, 并更新之前已有的 相关路由, 接着, 控制器接收路由器发送的响应, 该响应是确认该路由器已 经接收到控制器发送的路由。 从而, 建立完成控制器向各路由器发送路由的 路径。
具体的, 控制器通过第一路由器将路由发送给目的路由器的具体格式可以 为:
CTL/第一路由器标识 /RouteTo/目的路由器标识 /转发端口号;
其中, 转发端口号为第一路由器向目的路由器转发该路由的端口号。 需要说明的是, 关键字 CTL、 RouteTo不限于此, 也可以是其他的能够实现 该功能的关键字。
相应的, 控制器将路由发送给网络节点之后, 控制器可以接收到网络节点 发送的响应, 该响应与控制器发送给目的路由器的内容名可以相同。
进一歩的, 在控制器通过第一路由器将路由发送给目的路由器的内容名字 格式, 以及对应的响应的内容名字格式中还可以携带有源网络节点的标识以 及目标网络节点的标识, 例如, 控制器的标识以及目的路由器的标识。
在上述实施例的基础上, 在歩骤 101、 控制器获取 N个路由器之间的拓扑 结构之前, 还可以包括:
控制器向第一路由器发送邻居发现请求,该邻居发现请求用以请求第一路 由器的标识; 或者
控制器根据接收到第一路由器发送的的邻居发现请求,向第一路由器发送 邻居发现响应,该邻居发现请求用以请求与第一路由器相邻的控制器标识或路 由器标识, 该邻居发现响应携带有控制器的控制器标识。 具体的, 在歩骤 101之前, 即进行拓扑结构的上报之前, 网络中的各网络 节点之间, gPN个路由器之间需要进行邻居发现, 从而该网络节点获得与该网 络节点相邻的, 即物理连接并间隔为 1跳的网络节点的信息, 如网络节点的标 识, 例如,第一路由器获得与第一路由器相邻的第二路由器的标识以及控制器 的标识, 或者, 控制器获得与控制器相邻的第一路由器的标识信息, 需要说明 的是, 在网络中, 至少有一个第一路由器, 以及至少有一个第二路由器。
举例来说, 控制器向第一路由器发送邻居发现请求的内容名字格式可以 为:
NeighborDiscovery/控制器的标识 /端口号 ;
其中, 该端口号为控制器向第一路由器发送邻居发现请求时发送的端口 号。
需要说明的是, 关键字 NeighborDiscovery不限于此, 也可以是其他的能 够实现该功能的关键字。
邻居发现响应与邻居发现请求的内容名字格式可以相同。
进一歩的,在邻居发现响应与邻居发现请求的内容名字中还可以携带有有 源网络节点的标识以及目标网络节点的标识, 例如, 控制器的标识以及第一路 由器的标识。
图 2为本发明另一实施例提供的拓扑结构发现方法的流程图; 如图 2所示, 本实施例的方法包括:
歩骤 201、控制器获取 N个路由器之间的拓扑结构, 该网络中的网络节点包 括有控制器和路由器。
歩骤 202、 控制器根据拓扑结构, 获得每个路由器对应的路由表, 并分别 向每个路由器发送对应的路由表。
本实施例中的歩骤 201和歩骤 202分别与歩骤 101和歩骤 102的实现原理与 技术效果相同, 在此不再赘述。
歩骤 203、 控制器获取网络中的路由器的变更信息, 该变更信息为新增路 由器、新增与路由器相连的链路、路由器失效、或者与路由器相连的链路失效。
在本实施例中, 该路由器可以是网络中的所有网路节点中的任一个路由 器。 在整个网络中, 若路由器发生变更, 例如, 网络中新增一个路由器、 新增 与路由器, 即网络已存在路由器相连的链路、 路由器失效、 或者与路由器相连 的链路失效时, 控制器获取网络中的路由器的变更信息具有至少两种适用场 景, 具体为:
第一种适用场景, 在控制器等待路由器发送信息的时间超过预设时长时, 控制器可以主动向该路由器发送拓扑信息变更查询请求, 其中, 该路由器是网 络中现有的路由器, 如第一路由器, 例如, 控制器可以向第一路由器或与第一 路由器间隔为 κ跳的第 K路由器发送拓扑信息变更查询请求,该拓扑信息变更查 询请求用以请求查询第一路由器的变更, 第 κ路由器与控制器之间直接连接或 间接连接, κ为大于 1的整数; 接着, 控制器接收第一路由器或第 K路由器发送 的拓扑信息变更查询响应, 其中, 该拓扑信息变更查询响应中携带第一路由器 的变更信息。
举例来讲,控制器可以向第一路由器或与第一路由器间隔为 κ跳的第 K路由 器发送拓扑信息变更查询请求,该该拓扑信息变更查询请求用以请求查询第一 路由器的变更。
CTL/目的路由器的标识 / NeighborlnfoUpdate
其中,该目的路由器的标识为第一路由器的标识或是与第一路由器间隔为 K跳的第 K路由器的标识。
需要说明的是, 关键字 CTL 、 NeighborlnfoUpdate不限于此, 也可以是其 他的能够实现该功能的关键字。
第二种适用场景, 在网络中, 第一路由器发生变化时, 即新增路由器、 新 增路由器链路、路由器失效或者与路由器相连的链路发生失效时, 发生变更的 路由器可以通过上述的邻居发现机制, 主动地向控制器上报变更信息。
举例来讲, 例如, 该路由器为第一路由器, 控制器可以接收第一路由器与 第一路由器间隔为 K跳的第 K路由器发送的拓扑信息上报请求,该拓扑信息上报 请求中携带有第一路由器的变更信息, 第 K路由器与控制器之间直接连接或间 接连接, K为大于 1的整数。
CTL/控制器名 /TopologyDiscovery/第一路由器的标识 /端口号 /与第一路 由器相邻的路由器的标识
其中, 该端口号为第一路由器向控制器发送该拓扑信息上报请求的端口 号, 第一路由器的标识是发送该拓扑信息上报请求的路由器的标识。 需要说明的是, 关键字 CTL、 TopologyDiscovery不限于此, 也可以是其他 的能够实现该功能的关键字。
进一歩的, 在路由器向控制器发送该拓扑信息上报请求的路径中, 在该 路径中的路由器可以接收到该拓扑信息上报请求, 并根据自身存储的 FIB表中 "CTLL/控制器名"表项对应的转发端口进行转发, 若因拓扑变化导致相应端 口无法转发, 路由器则通过广播方式向所有端口进行转发。
在控制器接收该拓扑信息变更查询请求之后,控制器可以向路由器发送的 拓扑信息变更查询响应,该拓扑信息变更查询响应中携带有请求的信息,其中, 拓扑信息上报响应与拓扑信息上报请求的内容名字格式可以相同。
歩骤 204、 控制器更新拓扑表, 并根据拓扑表向网络中的所有路由器发送 路由表。
在控制器获取网络中的第一路由器的变更信息之后,控制器可以更新拓扑 表, 并根据拓扑表向网络中的所有路由器发送路由表。
在本实施例中, 控制器可以获取网络中的路由器的变更信息, 该变更信息 为新增路由器、 新增与路由器相连的链路、 路由器失效、 或者与路由器相连的 链路失效, 并且, 控制器可以更新拓扑表, 并根据拓扑表向网络中的所有路由 器发送路由表。在网络中任一路由器发生变化的情况下, 控制器可以首先获知 该变更信息, 从而, 避免了现有技术中将变更的路由信息进行逐歩扩散造成的 时延现象。
图 3为本发明再一实施例提供的拓扑结构发现方法的流程图; 如图 3所示, 本实施例的方法包括:
歩骤 301、 第一路由器向控制器发送网络中网络节点之间的拓扑结构, 网 络包括 N个路由器, 该第一路由器为 N个路由器中的一个, N为大于或等于 1的整 数。
在该网络中, 控制器与相邻的路由器物理连接, 同时, 路由器与相邻的路 由器进行物理连接, 也就说, 控制器不一定与该网络中的所有路由器直接物理 连接, 但是, 控制器可以与所有的路由器通过发送控制指令的方式进行交互, 其中, 物理连接可以是通过链路层和物理连接建立点对点的邻接关系。 第一路由器告知控制器网络中网络节点之间的拓扑结构可以至少有两种 实现方式, 具体为:
第一种实现方式, 第一路由器接收控制器发送的第一拓扑发现请求, 该第 一拓扑发现请求用以请求第一路由器与第二路由器之间的第一拓扑结构, 其 中, 第一路由器与第二路由器之间物理连接并间隔为 1跳; 接着, 第一路由器 向控制器发送第一拓扑发现响应,第一拓扑发现响应中携带有第一路由器与第 二路由器之间的第一拓扑结构。
在第一种实现方式中的第一拓扑发现请求的内容名字的格式与上述实施 例中的第一拓扑发现请求的内容名字的格式以及实现方式相同, 在此不再赘 述。
进一歩的,第一拓扑发现响应的内容名字的格式与上述实施例中的第一拓 扑发现响应的内容名字的格式以及实现方式相同, 在此不再赘述。
第二种实现方式,第一路由器通过广播方式向所述控制器发送拓扑信息上 报请求,该拓扑信息上报请求中携带有第一路由器与第二路由器之间的相邻拓 扑结构, 其中,第一路由器与所述第二路由器之间直接物理连接并间隔为 1跳; 接着,第一路由器接收控制器发送的拓扑信息上报响应, 该拓扑信息上报响应 中携带有从控制器到第一路由器的跳数,第一路由器根据跳数确定到控制器的 路由, 并将路由存储在第一路由器上设置的路由表中。 需要说明的是, 在第一 路由器向控制器发送拓扑信息上报请求的路由中间的路由器也是通过广播方 式转发该拓扑信息上报请求, 直至请求送达控制器。
在第二种实现方式中的拓扑信息上报请求的内容名字的格式与上述实施 例中的拓扑信息上报请求的内容名字的格式以及实现方式相同, 在此不再赘 述。
进一歩的,第一拓扑信息上报响应的内容名字的格式与上述实施例中的拓 扑信息上报响应的内容名字的格式以及实现方式相同, 在此不再赘述。
歩骤 302、 第一路由器接收控制器发送的路由表, 路由表为控制器根据拓 扑结构生成的。
在本实施例中, 无论是上述的哪种实现方式,第一路由器可以接收控制器 发送的路由表, 该路由表为控制器根据拓扑结构生成的。 具体的,在上述第一种实现方式中,在第一路由器告知控制器网络中各网 络节点之间的拓扑结构之后, 即控制器获得两跳以内的拓扑结构之后, 控制器 可以根据该拓扑结构生成两跳以内路由器的路由表,并将该路由表发送给对应 的路由器, 接着, 在控制器获取第 M路由器与第 N路由器之间的拓扑结构之后, 即控制获得 N跳以内的拓扑结构之后,控制器可以根据该拓扑结构生成 N跳以内 路由器的路由表,接着,该路由表对应的路由器接收到控制器发送的该路由表。
具体的,在上述第二种实现方式中,在路由器将整个网络的拓扑结构告知 控制器之后, 可以接收控制器根据该拓扑结构生成的路由表。
本实施例的拓扑结构发现方法,通过第一路由器向控制器发送网络中网络 节点之间的拓扑结构, 网络包括 N个路由器, 其中, 第一路由器为 N个路由器中 的一个, N为大于或等于 1的整数,接着,第一路由器接收控制器发送的路由表, 路由表为控制器根据拓扑结构生成的,从而控制器可以获得整个网络的拓扑结 构, 并根据整个网络的拓扑结构, 进行计算可以获得最优路径的路由, 进一歩 的, 提高了网络的利用效率以及吞吐量。
在上述实施例的基础上, 在歩骤 301、 第一路由器告知控制器网络中各网 络节点之间的拓扑结构之前, 还包括:
第一路由器接收控制器发送的邻居发现请求,该邻居发现请求用以请求第 一路由器的标识; 或者
第一路由器向控制器发送邻居发现请求之后,该第一路由器接收控制器发 送的邻居发现响应,该邻居发现请求用以请求与所述第一路由器相邻的所述控 制器标识或所述路由器标识, 所述邻居发现响应携带有所述控制器标识。
具体的, 在歩骤 301之前, 网络中的各网络节点之间需要进行邻居发现, 从而该网络节点获得与该网络节点相邻的, 即物理连接并间隔为 1跳的网络节 点的信息, 如网络节点的标识, 例如, 第一路由器获得与第一路由器相邻的 第二路由器的标识以及控制器的标识, 以及, 第一路由器获得与第一路由器 相邻的控制器的标识信息, 需要说明的是, 在网络中, 至少有一个第一路由 器, 以及至少有一个第二路由器。
需要说明的是,邻居发现请求的内容名字格式与上述实施例的邻居发现请 求的内容名字格式相同, 实现方式也相同, 在此不再赘述。 邻居发现响应与邻居发现请求的内容名字格式可以相同。
进一歩的,在邻居发现响应与邻居发现请求的内容名字中还可以携带有有 源网络节点的标识以及目标网络节点的标识, 例如, 控制器的标识以及第一路 由器的标识。
图 4为本发明再一实施例提供的拓扑结构发现方法的流程图; 如图 4所示, 本实施例的方法包括:
歩骤 401、 第一路由器向控制器发送网络中网络节点之间的拓扑结构, 网 络包括 N个路由器, 所述第一路由器为所述 N个路由器中的一个, N为大于或等 于 1的整数。
歩骤 402、 第一路由器接收控制器发送的路由表, 路由表为控制器根据拓 扑结构生成的。
本实施例中的歩骤 401和歩骤 402分别与歩骤 301和歩骤 302的实现原理与 技术效果相同, 在此不再赘述。
歩骤 403、 第一路由器向控制器发送网络中的变更信息, 该变更信息为网 络中新增与第一路由器相连的链路、第一路由器失效、或者与第一路由器相连 的链路失效。
在本实施例中, 第一路由器是指网络中的所有网路节点中的任一个路由 器。在整个网络中, 若第一路由器发生变更, 例如, 网络中新增与第一路由器 相连的链路、第一路由器失效、 或者与第一路由器相连的链路失效时, 控制器 获取网络中的第一路由器的变更信息具有至少两种适用场景, 具体为:
第一种适用场景,在控制器等待第一路由器发送信息的时间超过预设时长 时, 控制器可以主动向路由器, 发送拓扑信息变更查询请求, 例如, 第一路由 器接收控制器发送的拓扑信息变更查询请求,该拓扑信息变更查询请求用以请 求查询第一路由器的所述变更信息; 接着,第一路由器向控制器发送拓扑信息 变更查询响应, 拓扑信息变更查询响应中携带有第一路由器的所述变更信息。
拓扑信息变更查询请求与上述实施例中的拓扑信息变更查询请求的格式 相同, 实现方式也相同, 在此不再赘述。
第二种适用场景, 在网络中, 第一路由器发生变化时, 即新增第一路由器 链路、第一路由器失效或者与第一路由器相连的链路发生失效时, 发生变更的 第一路由器可以通过上述的邻居发现机制, 主动地向控制器上报变更信息。 具体的,第一路由器向控制器发送拓扑信息上报请求, 该拓扑信息上报请 求中携带有第一路由器的变更信息。
拓扑信息上报请求与上述实施例中的拓扑信息上报请求的格式相同,实现 方式也相同, 在此不再赘述
歩骤 404、 第一路由器接收控制器发送的路由表。
该路由表为控制器获取网络中的第一路由器的变更信息之后,控制器可以 首先更新拓扑表, 并根据拓扑表向网络中的所有路由器发送路由表, 接着, 第 一路由器接收控制器发送的路由表。
在本实施例中,第一路由器告知控制器网络中的变更信息, 该变更信息为 新增所述第一路由器、 新增与第一路由器相连的链路、第一路由器失效、 或者 与第一路由器相连的链路失效, 并且, 第一路由器接收控制器发送的路由表。 在网络中任一路由器发生变化的情况下,该路由器或是该路由器周围的路由器 可以将该变更信息告知控制器, 从而, 避免了现有技术中将变更信息进行逐跳 更新造成的时延现象。
图 5为本发明一实施例提供的拓扑结构发现装置的结构示意图, 如图 5所 示, 该拓扑结构发现装置可以设置在控制器中, 其中, 该拓扑结构发现装置包 括: 获取模块 501和处理模块 502。 具体的,
获取模块 501,用于获取 N个路由器之间的拓扑结构, N为大于或等于 1的整 数;
处理模块 502, 用于根据拓扑结构, 获得每个路由器对应的路由表, 并分 别向每个路由器发送对应的路由表, 其中, 该路由表包括路由器与其他 N-1个 路由器之间的路由信息, 和路由器与控制器之间的路由信息中的至少一种。
本实施例的拓扑结构发现装置, 通过控制器获取 N个路由器, 且控制器可 以根据拓扑结构, 获得每个路由器对应的路由表, 并分别向每个路由器发送对 应的路由表, 从而控制器可以获得整个网络的拓扑结构, 并根据整个网络的拓 扑结构, 进行计算可以获得最优路径的路由, 进一歩的, 提高了网络的利用效 率以及吞吐量。
在上述实施例的基础上, 获取模块 501, 具体用于向第一路由器发送第一 拓扑发现请求,第一拓扑发现请求用以请求第一路由器与第二路由器之间的第 一拓扑结构, 第一路由器与第二路由器之间物理连接并间隔为 1跳, 第一路由 器与所述控制器之间物理连接并间隔为 1跳; 并接收第一路由器发送的第一拓 扑发现响应,第一拓扑发现响应中携带有第一路由器与第二路由器之间的第一 拓扑结构。
进一歩的, 获取模块 501, 还用于向第 M路由器发送第 M拓扑发现请求, 第 M 拓扑发现请求用以请求第 M路由器与第 N路由器之间的第 M拓扑结构,第 M路由器 与第 M+1路由器之间物理连接并间隔为 1跳, 第 M路由器与控制器间隔为 M跳, M 为整数, M大于或等于 2, 并且 M小于或等于 N; 并接收第 M路由器发送的第 M拓扑 发现响应,第 M拓扑发现响应中携带有第 M路由器与第 M+1路由器之间的第 M拓扑 结构。
可选的, 在上述实施例的基础上, 获取模块 501, 具体用于接收路由器通 过广播方式发送的拓扑信息上报请求,拓扑信息上报请求中携带有路由器与相 邻路由器之间的相邻拓扑结构, 相邻路由器与路由器物理连接并间隔为 1跳。
进一歩的, 获取模块, 具体用于根据路由器与相邻路由器之间的相邻拓扑 结构和预设策略, 获取路由器与所述相邻路由器对应的路由表;
处理模块 502, 具体用于将路由表发送给与路由表对应的路由器。
在上述实施例的基础上, 获取模块 501, 还用于获取路由器的变更信息, 变更信息为新增路由器、 新增与路由器相连的链路、 路由器失效、 或者与路由 器相连的链路失效:
处理模块 502, 还用于根据路由器变更信息获取新路由表, 并向与新路由 表对应的路由器发送新路由表。
进一歩的, 获取模块 501, 具体用于向第一路由器或与第一路由器间隔为 K 跳的第 K路由器发送拓扑信息变更查询请求, 拓扑信息变更查询请求用以请求 查询第一路由器的变更信息,第 K路由器与控制器之间直接连接或间接连接, K 为大于 1的整数; 并接收第一路由器或第 K路由器发送的拓扑信息变更查询响 应, 以获取第一路由器的变更信息。
在上述实施例的基础上, 获取模块 501, 具体用于接收第一路由器或第 K 路由器发送的拓扑信息上报请求, 以获取第一路由器的变更信息, 第 K路由器 与第一路由器间隔为 K跳, 第 Κ路由器与控制器之间直接连接或间接连接, Κ为 大于 1的整数。
在上述实施例的基础上, 该装置还包括, 发送模块 503, 用于向第一路由 器发送邻居发现请求, 邻居发现请求用以请求第一路由器的标识; 或者
发送模块 503, 用于根据接收到第一路由器发送的邻居发现请求, 向第一 路由器发送邻居发现响应,邻居发现请求用以请求与第一路由器相邻的控制器 标识或路由器标识, 邻居发现响应携带有控制器的控制器标识。
在上述实施例的基础上,该拓扑信息上报请求与拓扑信息上报响应均携带 有相同的内容名、 第一路由器的标识和控制器的标识中的至少一种;
第一拓扑发现请求与第一拓扑发现响应均携带有相同的内容名、控制器的 标识和第一路由器的标识中的至少一种;
第 Ν拓扑发现请求与第 Ν邻居发现响应均携带有相同的内容名、控制器的标 识和第 Μ路由器的标识中的至少一种。
可选的,邻居发现请求和邻居发现响应的关键字均为 NeighborDiscovery; 第一拓扑发现请求、第 M拓扑发现请求、第一拓扑发现响应和第 M拓扑发现 响应的关键字均为 CTL和 RouteTo;
拓扑信息上报请求、拓扑信息上报响应的关键字均为 TopologyDiscovery; 拓扑信息变更查询请求和拓扑信息变更查询响应的关键字均为 CTL 、 Neighborlnf oUpdate;
拓扑信息上报请求的关键字均为 CTL、 TopologyDiscovery o
图 6为本发明另一实施例提供的拓扑结构发现装置的结构示意图, 如图 6 所示, 该拓扑结构发现装置可以设置在路由器中, 其中, 该拓扑结构发现装置 包括: 发送模块 601和接收模块 602。 具体的,
发送模块 601, 用于向控制器发送网络中网络节点之间的拓扑结构, 网络 包括 N个路由器, 路由器为 N个路由器中的一个, N为大于或等于 1的整数;
接收模块 602, 用于接收控制器发送的路由表, 路由表为控制器根据拓扑 结构生成的。
本实施例的拓扑结构发现装置,通过第一路由器向控制器发送网络中网络 节点之间的拓扑结构, 网络包括 N个路由器, 路由器为 N个路由器中的一个, N 为大于或等于 1的整数, 接着, 接收控制器发送的路由表, 路由表为控制器根 据拓扑结构生成的, 从而控制器可以获得整个网络的拓扑结构, 并根据整个网 络的拓扑结构, 进行计算可以获得最优路径的路由, 进一歩的, 提高了网络的 利用效率以及吞吐量。
在上述实施例的基础上, 接收模块 602, 用于接收控制器发送的第一拓扑 发现请求,第一拓扑发现请求用以请求第一路由器与第二路由器之间的第一拓 扑结构, 第一路由器与第二路由器之间物理连接并间隔为 1跳; 并向控制器发 送第一拓扑发现响应,第一拓扑发现响应中携带有第一路由器与第二路由器之 间的第一拓扑结构。
在上述实施例的基础上, 发送模块 601, 具体用于通过广播方式向控制器 发送拓扑信息上报请求,拓扑信息上报请求中携带有第一路由器与第二路由器 之间的相邻拓扑结构, 第一路由器与第二路由器之间直接物理连接并间隔为 1 跳;
接收模块 602,具体用于第一路由器接收控制器发送的拓扑信息上报响应, 拓扑信息上报响应中携带有从控制器到第一路由器的跳数,第一路由器根据跳 数确定到控制器的路由, 并将路由存储在第一路由器上设置的路由表中。
在上述实施例的基础上, 接收模块 602, 还用于接收控制器发送的邻居发 现请求, 邻居发现请求用以请求第一路由器物理的标识; 或者
接收模块 602, 还用于向控制器发送邻居发现请求之后, 第一路由器接收 控制器发送的邻居发现响应,邻居发现请求用以请求与第一路由器相邻的控制 器标识或路由器标识, 邻居发现响应携带有控制器标识。
在上述实施例的基础上, 发送模块 601, 还用于向控制器发送网络中的变 更信息, 变更信息为网络新增与第一路由器相连的链路、第一路由器失效、 或 者与第一路由器相连的链路失效;
接收模块 602, 还用于接收控制器发送的路由表。
进一歩的, 接收模块 602, 具体用于接收控制器发送的拓扑信息变更查询 请求, 拓扑信息变更查询请求用以请求查询第一路由器的变更信息;
发送模块 601, 具体用于向控制器发送拓扑信息变更查询响应, 拓扑信息 变更查询响应中携带有第一路由器的变更信息。 在上述实施例的基础上, 发送模块 601, 具体用于向控制器发送拓扑信息 上报请求, 以告知第一路由器的变更信息, 拓扑信息上报请求中携带有第一路 由器的变更信息。
在上述实施例的基础上,拓扑信息上报请求与拓扑信息上报响应均携带有 相同的内容名、 第一路由器的标识和控制器的标识中的至少一种;
第一拓扑发现请求与第一拓扑发现响应均携带有相同的内容名、控制器的 标识和第一路由器的标识;
第 N拓扑发现请求与第 N邻居发现响应均携带有相同的内容名、控制器的标 识和第 M路由器的标识中的至少一种。
可选的,邻居发现请求和邻居发现请求的关键字均为 NeighborDiscovery; 第一拓扑发现请求、第 M拓扑发现请求、第一拓扑发现响应和第 M拓扑发现 响应的关键字均为 CTL和 RouteTo;
拓扑信息上报请求、拓扑信息上报响应的关键字均为 TopologyDiscovery; 拓扑信息变更查询请求和拓扑信息变更查询响应的关键字均为 CTL和 Neighborlnf oUpdate;
拓扑信息上报请求的关键字均为 CTL、 TopologyDiscovery o
图 7为本发明再一实施例提供的拓扑结构发现装置的结构示意图, 如图 7 所示, 该拓扑结构发现装置, 可以包括: 发射器 701、接收器 702、存储器 703 以及分别与发射器 701、 接收器 702和存储器 703连接的处理器 704。 当然, 在拓扑结构发现装置还可以包括天线、 基带处理部件、 中射频处理部件、输入 输出装置等通用部件, 本发明实施例在此不再任何限制。
其中, 存储器 703 中存储一组程序代码, 且处理器 704用于调用存储器 703中存储的程序代码, 用于执行以下操作:
获取 N个路由器之间的拓扑结构, N为大于或等于 1的整数;
根据拓扑结构, 获得每个所述路由器对应的路由表, 并分别向每个所述路 由器发送对应的路由表, 所述路由表包括所述路由器与其他 N-1个路由器之间 的路由信息, 和所述路由器与所述控制器之间的路由信息中的至少一种。
在本实施例中, 实现了控制器获得整个网络的拓扑结构, 并根据整个网络 的拓扑结构, 进行计算可以获得最优路径的路由, 进一歩的, 提高了网络的利 用效率以及吞吐量。
图 8为本发明再一实施例提供的拓扑结构发现装置的结构示意图, 如图 8 所示, 该拓扑结构发现装置, 可以包括: 发射器 801、接收器 802、存储器 803 以及分别与发射器 801、 接收器 802和存储器 803连接的处理器 804。 当然, 在拓扑结构发现装置还可以包括天线、 基带处理部件、 中射频处理部件、输入 输出装置等通用部件, 本发明实施例在此不再任何限制。
其中, 存储器 803 中存储一组程序代码, 且处理器 804用于调用存储器 803中存储的程序代码, 用于执行以下操作:
向控制器发送网络中网络节点之间的拓扑结构,所述网络包括 N个路由器, 所述第一路由器为所述 N个路由器中的一个, N为大于或等于 1的整数;
接收所述控制器发送的路由表,所述路由表为所述控制器根据所述拓扑结 构生成的。
在本实施例中, 实现了控制器获得整个网络的拓扑结构, 并根据整个网络 的拓扑结构, 进行计算可以获得最优路径的路由, 进一歩的, 提高了网络的利 用效率以及吞吐量。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分歩骤 可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取 存储介质中。 该程序在执行时, 执行包括上述各方法实施例的歩骤; 而前述的 存储介质包括: R0M、 RAM, 磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非对其 限制; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的普通技术 人员应当理解: 其依然可以对前述各实施例所记载的技术方案进行修改, 或者 对其中部分或者全部技术特征进行等同替换; 而这些修改或者替换, 并不使相 应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims

权利要求书
1、 一种拓扑结构发现方法, 其特征在于, 包括:
控制器获取 N个路由器之间的拓扑结构, N为大于或等于 1的整数; 所述控制器根据所述拓扑结构, 获得每个所述路由器对应的路由表, 并分 别向每个所述路由器发送对应的路由表, 所述路由表包括所述路由器与其他 N- 1个路由器之间的路由信息, 和所述路由器与所述控制器之间的路由信息中 的至少一种。
2、 根据权利要求 1所述的方法, 其特征在于, 所述控制器获取 N个路由器 之间的拓扑结构, 包括:
所述控制器向第一路由器发送第一拓扑发现请求,所述第一拓扑发现请求 用以请求所述第一路由器与第二路由器之间的第一拓扑结构,所述第一路由器 与所述第二路由器之间物理连接并间隔为 1跳, 所述第一路由器与所述控制器 之间物理连接并间隔为 1跳;
所述控制器接收所述第一路由器发送的第一拓扑发现响应,所述第一拓扑 发现响应中携带有所述第一路由器与所述第二路由器之间的所述第一拓扑结
3、 根据权利要求 2所述的方法, 其特征在于, 所述控制器接收所述第一路 由器发送的第一拓扑发现响应之后, 还包括:
所述控制器向第 M路由器发送第 M拓扑发现请求, 所述第 M拓扑发现请求用 以请求所述第 M路由器与第 M+1路由器之间的第 M拓扑结构,所述第 M路由器与所 述第 M+1路由器之间物理连接并间隔为 1跳, 所述第 M路由器与所述控制器间隔 为 M跳, M为整数, M大于或等于 2, 并且 M小于或等于 N;
所述控制器接收所述第 M路由器发送的第 M拓扑发现响应, 所述第 M拓扑发 现响应中携带有所述第 M路由器与所述第 M+1路由器之间的所述第 M拓扑结构。
4、 根据权利要求 1所述的方法, 其特征在于, 所述控制器获取 N个路由器 之间的拓扑结构, 包括:
所述控制器接收所述路由器通过广播方式发送的拓扑信息上报请求,所述 拓扑信息上报请求中携带有所述路由器与相邻路由器之间的相邻拓扑结构,所 述相邻路由器与所述路由器物理连接并间隔为 1跳。
5、 根据权利要求 4所述的方法, 其特征在于, 所述控制器根据所述拓扑结 构, 获得每个所述路由器对应的路由表, 并分别向每个所述路由器发送对应的 路由表, 包括:
所述控制器根据所述路由器与所述相邻路由器之间的所述相邻拓扑结构 和预设策略, 获得所述路由器与所述相邻路由器对应的路由表;
所述控制器将所述路由表发送给与所述路由表对应的所述路由器。
6、 根据权利要求 2-5任一项所述的方法, 其特征在于, 所述控制器根据所 述拓扑结构, 获得每个所述路由器对应的路由表, 并分别向每个所述路由器发 送对应的路由表之后, 还包括:
所述控制器获取路由器变更信息,所述路由器变更信息为新增路由器、新 增与所述路由器相连的链路、所述路由器失效、或者与所述路由器相连的链路 失效:
所述控制器根据所述路由器变更信息获取新路由表,并向与所述新路由表 对应的所述路由器发送所述新路由表。
7、 根据权利要求 6所述的方法, 其特征在于, 所述控制器获取路由器的变 更信息, 包括:
所述控制器向所述第一路由器或与所述第一路由器间隔为 K跳的第 K路由 器发送拓扑信息变更查询请求,所述拓扑信息变更查询请求用以请求查询所述 第一路由器的所述变更信息, 所述第 K路由器与所述控制器之间直接连接或间 接连接, K为大于 1的整数;
所述控制器接收所述第一路由器或所述第 K路由器发送的拓扑信息变更查 询响应, 以获取所述第一路由器的所述变更信息。
8、 根据权利要求 6所述的方法, 其特征在于, 所述控制器获取路由器的变 更信息, 包括:
所述控制器接收所述第一路由器或第 K路由器发送的拓扑信息上报请求, 以获取所述第一路由器的所述变更信息, 所述第 K路由器与所述第一路由器间 隔为 K跳, 所述第 K路由器与所述控制器之间直接连接或间接连接, K为大于 1 的整数。
9、 根据权利要求 1-8任一项所述的方法, 其特征在于, 所述控制器获取 N 个路由器之间的拓扑结构之前, 还包括:
所述控制器向第一路由器发送邻居发现请求,所述邻居发现请求用以请求 所述第一路由器的标识; 或者
所述控制器根据接收到所述第一路由器发送的所述邻居发现请求,向所述 第一路由器发送邻居发现响应,所述邻居发现请求用以请求与所述第一路由器 相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带有所述控制 器的所述控制器标识。
10、 根据权利要求 2或 3所述的方法, 其特征在于, 所述第一拓扑发现请求 与所述第一拓扑发现响应均携带有相同的内容名和所述控制器的标识和所述 第一路由器的标识中的至少一种。
11、 根据权利要求 3所述的方法, 其特征在于, 所述第 N拓扑发现请求与所 述第 N拓扑发现响应均携带有相同的内容名、所述控制器的标识和所述第 M路由 器的标识中的至少一种。
12、 根据权利要求 9所述的方法, 其特征在于, 所述邻居发现请求和所述 邻居发现响应的关键字均为 NeighborDiscovery。
13、根据权利要求 2或 3所述的方法,其特征在于,所述第一拓扑发现请求、 所述第一拓扑发现响应的关键字均为 CTL和 RouteTo。
14、 根据权利要求 3所述的方法, 其特征在于, 所述第 M拓扑发现请求和所 述第 M拓扑发现响应的关键字均为 CTL和 RouteTo。
15、 根据权利要求 4或 5所述的方法, 其特征在于, 所述拓扑信息上报请求 的关键字均为 TopologyDiscovery。
16、 根据权利要求 7所述的方法, 其特征在于, 所述拓扑信息变更查询请 求和所述拓扑信息变更查询响应的关键字均为 CTL和 NeighborInfoUpdate。
17、 一种拓扑结构发现方法, 其特征在于, 包括:
第一路由器向控制器发送网络中网络节点之间的拓扑结构,所述网络包括 N个路由器,所述第一路由器为所述 N个路由器中的一个, N为大于或等于 1的整 数;
所述第一路由器接收所述控制器发送的路由表,所述路由表为所述控制器 根据所述拓扑结构生成的。
18、 根据权利要求 17所述的方法, 其特征在于, 所述第一路由器向控制器 发送网络中网络节点之间的拓扑结构, 包括:
所述第一路由器接收所述控制器发送的第一拓扑发现请求,所述第一拓扑 发现请求用以请求所述第一路由器与第二路由器之间的第一拓扑结构,所述第 一路由器与所述第二路由器之间物理连接并间隔为 1跳;
所述第一路由器向所述控制器发送第一拓扑发现响应,所述第一拓扑发现 响应中携带有所述第一路由器与第二路由器之间的所述第一拓扑结构。
19、 根据权利要求 17所述的方法, 其特征在于, 所述第一路由器向控制器 发送网络中网络节点之间的拓扑结构, 包括:
所述第一路由器通过广播方式向所述控制器发送拓扑信息上报请求,所述 拓扑信息上报请求中携带有所述第一路由器与第二路由器之间的相邻拓扑结 构, 所述第一路由器与所述第二路由器之间直接物理连接并间隔为 1跳;
所述第一路由器接收所述控制器发送的拓扑信息上报响应,所述拓扑信息 上报响应中携带有从所述控制器到所述第一路由器的跳数,所述第一路由器根 据所述跳数确定到所述控制器的路由,并将所述路由存储在所述第一路由器上 设置的所述路由表中。
20、 根据权利要求 17-19任一项所述的方法, 其特征在于, 所述第一路由 器向控制器发送网络中网络节点之间的拓扑结构之前, 还包括:
所述第一路由器接收所述控制器发送的邻居发现请求,所述邻居发现请求 用以请求所述第一路由器物理的标识; 或者
所述第一路由器向所述控制器发送所述邻居发现请求之后,所述第一路由 器接收所述控制器发送的邻居发现响应,所述邻居发现请求用以请求与所述第 一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带有 所述控制器标识。
21、 根据权利要求 17-20任一项所述的方法, 其特征在于, 所述第一路由 器接收所述控制器路由表之后, 还包括:
所述第一路由器向所述控制器发送网络中的变更信息,所述变更信息为所 述网络中新增与所述第一路由器相连的链路、所述第一路由器失效、或者与所 述第一路由器相连的链路失效; 所述第一路由器接收所述控制器发送的路由表。
22、 根据权利要求 21所述的方法, 其特征在于, 所述第一路由器向所述控 制器发送网络中的变更信息, 包括:
所述第一路由器接收所述控制器发送的拓扑信息变更查询请求,所述拓扑 信息变更查询请求用以请求查询所述第一路由器的所述变更信息;
所述第一路由器向所述控制器发送拓扑信息变更查询响应,所述拓扑信息 变更查询响应中携带有所述第一路由器的所述变更信息。
23、 根据权利要求 21所述的方法, 其特征在于, 所述第一路由器向所述控 制器发送网络中的变更信息, 包括:
所述第一路由器向所述控制器发送拓扑信息上报请求,以告知所述第一路 由器的所述变更信息,所述拓扑信息上报请求中携带有所述第一路由器的所述 变更信息。
24、 根据权利要求 18所述的方法, 其特征在于, 所述第一拓扑发现请求与 所述第一拓扑发现响应均携带有相同的内容名、所述控制器的标识和所述第一 路由器的标识中的至少一种。
25、 根据权利要求 19所述的方法, 其特征在于, 所述拓扑信息上报请求、 所述拓扑信息上报响应均携带有相同的内容名、所述控制器的标识和所述第一 路由器的标识中的至少一种。
26、根据权利要求 20所述的方法, 其特征在于所述邻居发现请求和所述邻 居发现响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标 识中的至少一种; 和 /或
所述邻居发现请求和所述邻居发现响应的关键字均为 NeighborD:iscovery。
27、 根据权利要求 18所述的方法, 其特征在于, 所述第一拓扑发现请求和 所述第一拓扑发现响应的关键字均为 CTL和 RouteTo。
28、 根据权利要求 19所述的方法, 其特征在于, 所述拓扑信息上报请求、 所述拓扑信息上报响应的关键字均为 CTL和 TopologyDiscovery。
29、 根据权利要求 22所述的方法, 其特征在于, 所述拓扑信息变更查询请 求和所述拓扑信息变更查询响应的关键字均为 CTL 和 NeighborInfoUpdate。
30、 一种拓扑结构发现装置, 其特征在于, 包括:
获取模块, 用于获取 N个路由器之间的拓扑结构, N为大于或等于 1的整数; 处理模块, 用于根据所述拓扑结构, 获得每个所述路由器对应的路由表, 并分别向每个所述路由器发送对应的路由表,所述路由表包括所述路由器与其 他 N-1个路由器之间的路由信息, 和所述路由器与所述控制器之间的路由信息 中的至少一种。
31、 根据权利要求 30所述的装置, 其特征在于, 所述获取模块, 具体用于 向所述第一路由器发送第一拓扑发现请求,所述第一拓扑发现请求用以请求所 述第一路由器与第二路由器之间的第一拓扑结构,所述第一路由器与所述第二 路由器之间物理连接并间隔为 1跳, 所述第一路由器与所述控制器之间物理连 接并间隔为 1跳; 并接收所述第一路由器发送的第一拓扑发现响应, 所述第一 拓扑发现响应中携带有所述第一路由器与第二路由器之间的所述第一拓扑结
Λ 32、 根据权利要求 31所述的装置, 其特征在于, 所述获取模块, 还用于向 所述第 Μ路由器发送第 Μ拓扑发现请求,所述第 Μ拓扑发现请求用以请求所述第 Μ 路由器与所述第 Ν路由器之间的第 Μ拓扑结构,所述第 Μ路由器与所述第 M+1路由 器之间物理连接并间隔为 1跳,所述第 Μ路由器与所述控制器间隔为 Μ跳, Μ为整 数, Μ大于或等于 2, 并且 Μ小于或等于 Ν; 并接收所述第 Μ路由器发送的第 Μ拓扑 发现响应, 所述第 Μ拓扑发现响应中携带有所述第 Μ路由器与所述第 M+1路由器 之间的所述第 Μ拓扑结构。
33、 根据权利要求 30所述的装置, 其特征在于, 所述获取模块, 具体用于 接收所述路由器通过广播方式发送的拓扑信息上报请求,所述拓扑信息上报请 求中携带有所述路由器与相邻路由器之间的相邻拓扑结构,所述相邻路由器与 所述路由器物理连接并间隔为 1跳。
34、 根据权利要求 33所述的装置, 其特征在于, 所述获取模块, 具体用于 根据所述路由器与所述相邻路由器之间的所述相邻拓扑结构和预设策略,获取 所述路由器与所述相邻路由器对应的路由表;
所述处理模块, 具体用于将所述路由表发送给与所述路由表对应的路由 器。
35、 根据权利要求 31-34任一项所述的装置, 其特征在于, 所述获取模块, 还用于获取所述路由器变更信息,所述路由器变更信息为新增路由器、新增与 所述路由器相连的链路、所述路由器失效、或者与所述路由器相连的链路失效: 所述处理模块, 还用于根据所述路由器变更信息获取新路由表, 并向与所 述新路由表对应的所述路由器发送所述新路由表。
36、 根据权利要求 35所述的装置, 其特征在于, 所述获取模块, 具体用于 向所述第一路由器或与所述第一路由器间隔为 K跳的第 K路由器发送拓扑信息 变更查询请求,所述拓扑信息变更查询请求用以请求查询所述第一路由器的所 述变更信息,所述第 K路由器与所述控制器之间直接连接或间接连接, K为大于 1的整数;并接收所述第一路由器或所述第 K路由器发送的拓扑信息变更查询响 应, 以获取所述第一路由器的所述变更信息。
37、 根据权利要求 35所述的装置, 其特征在于, 所述获取模块, 具体用于 接收所述第一路由器或第 K路由器发送的拓扑信息上报请求, 以获取所述第一 路由器的所述变更信息, 所述第 K路由器与所述第一路由器间隔为 K跳, K为大 于 1的整数。
38、 根据权利要求 30-37任一项所述的装置, 其特征在于, 还包括, 发送 模块,用于向第一路由器发送邻居发现请求,所述邻居发现请求用以请求所述 第一路由器的标识; 或者
所述发送模块, 用于根据接收到所述第一路由器发送的所述邻居发现请 求, 向所述第一路由器发送邻居发现响应,所述邻居发现请求用以请求与所述 第一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带 有所述控制器的所述控制器标识。
39、 根据权利要求 31或 32所述的装置, 其特征在于, 所述第一拓扑发现请 求与所述第一拓扑发现响应均携带有相同的内容名、所述控制器的标识和所述 第一路由器的标识中的至少一种。
40、 根据权利要求 32所述的装置, 其特征在于, 所述第 N拓扑发现请求与 所述第 N拓扑发现响应均携带有相同的内容名、 所述控制器的标识和所述第 M 路由器的标识的至少一种。
41、 根据权利要求 38所述的装置, 其特征在于, 所述邻居发现请求和所述 邻居发现响应的关键字均为 NeighborDiscovery。
42、 根据权利要求 31或 32所述的装置, 其特征在于, 所述第一拓扑发现请 求、 所述第一拓扑发现响应的关键字均为 CTL和 RouteTo。
43、 根据权利要求 32所述的装置, 其特征在于, 所述第 M拓扑发现请求和 所述第 M拓扑发现响应的关键字均为 CTL和 RouteTo。
44、 根据权利要求 33或 34所述的装置, 其特征在于, 所述拓扑信息上报请 求的关键字均为 TopologyDiscovery。
45、 根据权利要求 36所述的装置, 其特征在于, 所述拓扑信息变更查询请 求和所述拓扑信息变更查询响应的关键字均为 CTL和 NeighborInfoUpdate。
46、 一种拓扑结构发现装置, 其特征在于, 包括:
发送模块, 用于向控制器发送网络中网络节点之间的拓扑结构, 所述网络 包括 N个路由器, 所述路由器为所述 N个路由器中的一个, N为大于或等于 1的整 数;
接收模块, 用于接收所述控制器发送的路由表,所述路由表为所述控制器 根据所述拓扑结构生成的。
47、 根据权利要求 46所述的装置, 其特征在于, 所述接收模块, 用于接收 所述控制器发送的第一拓扑发现请求,所述第一拓扑发现请求用以请求所述第 一路由器与第二路由器之间的第一拓扑结构,所述第一路由器与所述第二路由 器之间物理连接并间隔为 1跳; 并向所述控制器发送第一拓扑发现响应, 所述 第一拓扑发现响应中携带有所述第一路由器与第二路由器之间的所述第一拓 扑结构。
48、 根据权利要求 46所述的装置, 其特征在于, 所述发送模块, 具体用于 通过广播方式向所述控制器发送拓扑信息上报请求,所述拓扑信息上报请求中 携带有所述第一路由器与所述第二路由器之间的相邻拓扑结构,所述第一路由 器与所述第二路由器之间直接物理连接并间隔为 1跳;
所述接收模块,具体用于第一路由器接收所述控制器发送的拓扑信息上报 响应, 所述拓扑信息上报响应中携带有从所述控制器到所述第一路由器的跳 数,所述第一路由器根据所述跳数确定到所述控制器的路由, 并将所述路由存 储在所述第一路由器上设置的所述路由表中。
49、 根据权利要求 46-48任一项所述的装置, 其特征在于, 所述接收模块, 还用于接收所述控制器发送的邻居发现请求,所述邻居发现请求用以请求所述 第一路由器物理的标识; 或者
所述接收模块, 还用于向所述控制器发送所述邻居发现请求之后,所述第 一路由器接收所述控制器发送的邻居发现响应,所述邻居发现请求用以请求与 所述第一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应 携带有所述控制器标识。
50、 根据权利要求 46-49任一项所述的装置, 其特征在于, 所述发送模块, 还用于向所述控制器发送网络中的变更信息,所述变更信息为所述网络中新增 与所述第一路由器相连的链路、所述第一路由器失效、或者与所述第一路由器 相连的链路失效;
所述接收模块, 还用于接收所述控制器发送的路由表。
51、 根据权利要求 50所述的装置, 其特征在于, 所述接收模块, 具体用于 接收所述控制器发送的拓扑信息变更查询请求,所述拓扑信息变更查询请求用 以请求查询所述第一路由器的所述变更信息;
所述发送模块, 具体用于向所述控制器发送拓扑信息变更查询响应,所述 拓扑信息变更查询响应中携带有所述第一路由器的所述变更信息。
52、 根据权利要求 50所述的装置, 其特征在于, 所述发送模块, 具体用于 向所述控制器发送拓扑信息上报请求, 以告知所述第一路由器的所述变更信 息, 所述拓扑信息上报请求中携带有所述第一路由器的所述变更信息。
53、 根据权利要求 47 所述的装置, 其特征在于, 所述第一拓扑发现请求 与所述第一拓扑发现响应均至少携带有相同的内容名和所述控制器的标识和 所述第一路由器的标识中的至少一种。
54、 根据权利要求 48所述的装置, 其特征在于, 所述拓扑信息上报请求、 所述拓扑信息上报响应均携带有相同的内容名、所述控制器的标识和所述第一 路由器的标识中的至少一种。
55、 根据权利要求 49所述的装置, 其特征在于, 所述邻居发现请求和所述 邻居发现响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的 标识中的至少一种; 和 /或 所述邻居发现请求和所述邻居发现响应的关键字均为
NeighborD:iscovery。
56、 根据权利要求 47所述的装置, 其特征在于, 所述第一拓扑发现请求和 所述第一拓扑发现响应的关键字均为 CTL和 RouteTo。
57、 根据权利要求 48所述的装置, 其特征在于, 所述拓扑信息上报请求、 所述拓扑信息上报响应的关键字均为 CTL和 TopologyDiscovery。
58、 根据权利要求 51所述的装置, 其特征在于, 所述拓扑信息变更查询请 求和所述拓扑信息变更查询响应的关键字均为 CTL 和 NeighborInfoUpdate。
PCT/CN2014/081347 2013-07-25 2014-07-01 拓扑结构发现方法及装置 WO2015010519A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP14829989.4A EP2999174B1 (en) 2013-07-25 2014-07-01 Topology structure discovery method and device
US14/996,799 US10291510B2 (en) 2013-07-25 2016-01-15 Topology structure discovery method and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310318048.2A CN104348732B (zh) 2013-07-25 2013-07-25 拓扑结构发现方法及装置
CN201310318048.2 2013-07-25

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/996,799 Continuation US10291510B2 (en) 2013-07-25 2016-01-15 Topology structure discovery method and device

Publications (1)

Publication Number Publication Date
WO2015010519A1 true WO2015010519A1 (zh) 2015-01-29

Family

ID=52392688

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/081347 WO2015010519A1 (zh) 2013-07-25 2014-07-01 拓扑结构发现方法及装置

Country Status (4)

Country Link
US (1) US10291510B2 (zh)
EP (1) EP2999174B1 (zh)
CN (1) CN104348732B (zh)
WO (1) WO2015010519A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184240B2 (en) 2015-07-10 2021-11-23 Idac Holdings, Inc. Path information updates in information-centric networking
CN113891191A (zh) * 2021-09-24 2022-01-04 中移(杭州)信息技术有限公司 光路拓扑还原方法、装置、设备及计算机可读存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107181775B (zh) * 2016-03-10 2020-09-04 北京大学 内容中心网络中的路由选择方法及路由选择装置
US10218453B2 (en) * 2016-04-27 2019-02-26 Juniper Networks, Inc. Methods and apparatus for logical associations between routers and optical nodes within a wavelength division multiplexing (WDM) system
CN112134725A (zh) * 2016-06-16 2020-12-25 华为技术有限公司 一种路径确定方法、装置和系统
CN106487684B (zh) * 2016-11-08 2019-05-10 中国电子科技集团公司第二十研究所 一种基于链路质量和排队时延的路由方法
US12088475B2 (en) * 2019-10-23 2024-09-10 Nokia Technologies Oy Exploration data for network optimization

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040260755A1 (en) * 2003-06-19 2004-12-23 Bardzil Timothy J. Detection of load balanced links in internet protocol networks
CN1794715A (zh) * 2004-12-20 2006-06-28 三星电子株式会社 多协议标记交换(mpls)网络的集中控制
CN101572900A (zh) * 2009-06-12 2009-11-04 华为技术有限公司 网络拓扑检测方法和装置、基站控制器以及节点
CN102204188A (zh) * 2011-05-25 2011-09-28 华为技术有限公司 虚拟网络单元中的路由计算方法和主节点设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071469A1 (en) * 2003-09-26 2005-03-31 Mccollom William G. Method and system for controlling egress traffic load balancing between multiple service providers
US20070070983A1 (en) * 2005-09-28 2007-03-29 Bbn Technologies Corp. Methods and apparatus for improved efficiency communication
US9929919B2 (en) * 2012-10-30 2018-03-27 Futurewei Technologies, Inc. System and method for virtual network abstraction and switching
US9439145B2 (en) * 2012-11-05 2016-09-06 Silver Spring Networks, Inc. Approach for extended battery life network nodes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040260755A1 (en) * 2003-06-19 2004-12-23 Bardzil Timothy J. Detection of load balanced links in internet protocol networks
CN1794715A (zh) * 2004-12-20 2006-06-28 三星电子株式会社 多协议标记交换(mpls)网络的集中控制
CN101572900A (zh) * 2009-06-12 2009-11-04 华为技术有限公司 网络拓扑检测方法和装置、基站控制器以及节点
CN102204188A (zh) * 2011-05-25 2011-09-28 华为技术有限公司 虚拟网络单元中的路由计算方法和主节点设备

Non-Patent Citations (1)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184240B2 (en) 2015-07-10 2021-11-23 Idac Holdings, Inc. Path information updates in information-centric networking
CN113891191A (zh) * 2021-09-24 2022-01-04 中移(杭州)信息技术有限公司 光路拓扑还原方法、装置、设备及计算机可读存储介质
CN113891191B (zh) * 2021-09-24 2023-08-15 中移(杭州)信息技术有限公司 光路拓扑还原方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
US10291510B2 (en) 2019-05-14
EP2999174B1 (en) 2019-08-28
US20160134510A1 (en) 2016-05-12
CN104348732B (zh) 2018-09-07
CN104348732A (zh) 2015-02-11
EP2999174A1 (en) 2016-03-23
EP2999174A4 (en) 2016-07-20

Similar Documents

Publication Publication Date Title
WO2015010519A1 (zh) 拓扑结构发现方法及装置
EP2705645B1 (en) Name-based neighbor discovery and multi-hop service discovery in information-centric networks
US10205681B2 (en) Method for operating controller and switch for relieving network failure from SDN, and controller and switch therefor
US9154407B2 (en) Maintained message delivery during routing domain migration
JP4532564B2 (ja) 大規模無線メッシュ・ネットワークにおいてマルチキャスト・ルーティングをサポートするためのシステム及び方法
JP4571666B2 (ja) 無線マルチホップアドホックネットワークにおけるアドレス解決マッピングのための方法、通信デバイスおよびシステム
WO2014090020A1 (zh) 一种基于dht的控制网络实现方法、系统和网络控制器
US20170078194A1 (en) Method and apparatus for scalable content routing and mobility in named data networks
WO2019184752A1 (zh) 网络设备的管理方法、装置及系统
US20130219038A1 (en) Router based on core score and method for setting core score and providing and searching content information therein
JP2017028698A (ja) トラフィック切り替え方法、デバイス、およびシステム
US20080304485A1 (en) Centrally controlled routing with tagged packet forwarding in a wireless mesh network
WO2013082983A1 (zh) OpenFlow网络域间的数据发送方法及装置
CN101808004B (zh) 一种实现任意播汇聚点机制的方法和系统
WO2014047784A1 (zh) 报文转发路径确定方法及网络设备、控制设备
WO2010139115A1 (zh) 多个汇聚节点共同处理移动组播源组播业务的方法及装置
TW201116099A (en) Methods and apparatus for forming, maintaining and/or using overlapping networks
EP4191966A1 (en) Method and device for processing data message, storage medium, and electronic device
WO2014173066A1 (zh) 一种分布式网络中转发信息的方法及系统
Jin et al. MANET for Disaster Relief based on NDN
WO2012092899A2 (zh) 端到端覆盖网中转方法和系统
WO2013189130A1 (zh) 一种基于点对点网络的通讯系统及通讯方法
CN114338508A (zh) 一种检测路由环路的方法、设备及系统
Singh et al. Exploration of multipath routing protocol for mobile ad hoc networks
US20230216785A1 (en) Source routing apparatus and method in icn

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2014829989

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE