Multicasting allows simultaneous delivery of data over a network from a multicast source to any number of receiving hosts. Using routing protocols, multicasting transmits the data to the various receiving hosts through any number of routers, or switches, in a network.
For a more complete understanding of various examples, reference is now made to the following description taken in connection with the accompanying drawings in which:
As noted above, multicasting transmits the data to the various receiving hosts through any number of router in a network. In this regard, the routers in the network may be configured to receive and transmit data (e.g., packets) based on information in the packets, as well as configuring of connections of the routers. The routing of multicast data from the multicast source to the various receiving hosts through the network may be configured manually by, for example, network administrators, or implemented on each node in the network to enable automatic creation of multicast distribution trees. Due to the complex nature of such networks, identification of an anomaly in a multicast flow path. Such anomalies may occur for a variety of reasons, such as an error in the configuration of a router, for example.
Various examples described herein relate to identification of an anomaly at a router in a multicast flow. In various examples, a query agent, which may be implemented in a host device coupled to a network, generates a flow tree for a multicast from a multicast source to various receiving host devices. The flow tree includes various flows from the multicast source to each receiving host device through routers forming the network. In some examples, generation of the flow tree may include requesting the (Source, Group) state at each router to identify each flow in the multicast. The query agent sends a query to each router in a selected flow of the multicast. The query may request data from any of a variety of tables at each router, the data being associated with the selected flow through each router. The query agent may identify an anomaly at least at one router in the selected flow based on receipt of the requested data. In some examples, the data may indicate the root/leaf relationship between two routers and indicate a mismatch. For example, the query agent may determine that the anomaly is due to an error in the unicast configuration of a particular router, leading to the missing flow of multicast data. Based on identification of the anomaly, the query agent may cause a solution to the anomaly to be applied. For example, a corrective configuration may be applied to a mis-configured router.
Referring now to
In the example system 100 of
The receiving host devices 130a-d may be any types of communication devices connected to the network. For example, the receiving host devices 130a-d may include desktop terminals, laptops or mobile devices. The example system 100 of
The example system 100 of
The query agent 140 may be implemented on a server or another communication device connected to the network 110. Various aspects of the query agent 140 described herein may be implemented as hardware, software, firmware or a combination thereof. The query agent 140 may be accessible by a network administrator or another authority. In one example, the query agent 140 may be accessible by a network administrator associated with the multicast source 120.
In the example system 100 of
The query agent 140 further includes a flow path status portion 144 to query each router 112a-e to determine a status of at least one flow path of the flow tree. In this regard, the query agent 140 may query various tables in each router to obtain information related to the specific multicast. For example, as illustrated in
Each flow path in the flow tree of the multicast may be queried at each relevant router 112a-e of the network 110 illustrated in
Thus, in accordance with the present disclosure, each router 112a-e in a flow path or in the flow tree of the multicast is queried directly by the query agent 140. In this regard, the need for any additional software, hardware or other modifications to the routers 112a-e is avoided. Further, the query agent 140 is not reliant upon queries submitted by other entities, such as an intermediate router, to obtain the status of the flow at each router.
The query agent 140 further includes an anomaly identification portion 144 to identify an anomaly associated with at least one router in the at least one flow path. In this regard, the query agent may identify an anomaly at a particular router indicating an anomalous flow state.
The identification of the anomaly may be achieved by performing further queries or analysis of information from the various tables 114a-f of a router 112, as illustrated in
In one example, based on the queries described above, a termination point of a flow path may be identified by the query agent 140. For example, a downstream router in the flow path may be determined to not receive the multicast data packet from the immediately upstream router. In such cases, the query agent 140 may send a trap query to the router or a network controller, such as a centralized software-defined network (SDN) controller or a network management system (NMS) device for the network 110. The trap query may include identification of the flow path, an interface of the router, the multicast group and source, identification of the upstream router and the flow activity status at the downstream router, where the upstream router indicates data being forwarded to the downstream router. The query agent may query the status of the problematic flow in the upstream router via Simple Network Management Protocol (SNMP) or Representational State Transfer (REST) interfaces. The status of the flow is compared to further upstream devices to further identify the issue or cause of the anomaly. For example, if the traffic is stopped, further queries may determine whether the further upstream device has an issue or if the source has stopped sending traffic to all routers. In either case, the anomaly may be identified and a solution may be proposed or implemented.
In various examples, the query agent 140 may find and/or implement a solution based on the identified anomaly. In this regard, the query agent may cause rectification of the anomaly by, for example, updating a database associated with the flow to reflect the anomaly, reconfiguring unicast routing at the router, or disabling an interface that is associated with the anomaly of the router. For example, if the query agent 140 determines that a flow entry is missing for a flow, but a database at the router includes the flow, then the flow may be deleted and re-created in the database. The deletion may cause a fresh trigger of the flow
If only a particular flow is missing from a router, the anomaly may be associated with the unicast programming of the router. In this case, the routing for the router may be reprogrammed so that the missing flow can be handled. If the flow is missing at a particular interface of the router, then the interface may be disabled or re-started.
The example method 300 of
The example method 300 further includes querying each router of the interconnected routers to determine a status of at least one flow path of the flow tree at the respective router (block 330). As described above with reference to
Referring now to
The example method 400 further includes causing rectification of the anomaly (block 420. In various example, the rectification of the anomaly may include at least one of updating a database associated with the flow to reflect the anomaly, reconfiguring unicast routing at the router, or disabling an interface of the router, the interface being associated with the anomaly. As described above with reference to
Referring now to
The example instructions include generate a flow tree for multicasting instructions 521. In various examples, the flow tree may be generated for multicasting of data from a multicast source to receiving host devices in a network including interconnected routers, the flow tree including flow paths from the multicast source to each receiving host device. For example, with reference to
The example instructions further include query each router of the interconnected routers to determine a status of at least one flow path of the flow tree at the respective router instructions 522. As described above with reference to
The example instructions further include identify an anomaly associated with the respective router in the at least one flow path 523. As described above with reference to
Thus, in various examples, a centralized networking tool, such as the query agent described above, may be provided to identify an anomaly in a flow path of a multicast flow tree. Each router in a flow path or in a flow tree of a multicast is queried directly by the query agent. The anomaly identification is thus achieved without any modifications to the routers. Further, solutions to rectify the anomaly may be implemented in an efficient manner.
Software implementations of various examples can be accomplished with standard programming techniques with rule-based logic and other logic to accomplish various database searching steps or processes, correlation steps or processes, comparison steps or processes and decision steps or processes.
The foregoing description of various examples has been presented for purposes of illustration and description. The foregoing description is not intended to be exhaustive or limiting to the examples disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of various examples. The examples discussed herein were chosen and described in order to explain the principles and the nature of various examples of the present disclosure and its practical application to enable one skilled in the art to utilize the present disclosure in various examples and with various modifications as are suited to the particular use contemplated. The features of the examples described herein may be combined in all possible combinations of methods, apparatus, modules, systems, and computer program products.
It is also noted herein that while the above describes examples, these descriptions should not be viewed in a limiting sense. Rather, there are several variations and modifications which may be made without departing from the scope as defined in the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
7760668 | Zinjuvadia | Jul 2010 | B1 |
8442047 | Pan | May 2013 | B2 |
8780908 | Mentze et al. | Jul 2014 | B2 |
9432204 | Shen et al. | Aug 2016 | B2 |
10313229 | Modi | Jun 2019 | B2 |
20070025258 | Chen | Feb 2007 | A1 |
20080056254 | Sridhar | Mar 2008 | A1 |
20080175172 | Nishi | Jul 2008 | A1 |
20090232007 | Field | Sep 2009 | A1 |
20100153316 | Duffield | Jun 2010 | A1 |
20120155277 | Jain | Jun 2012 | A1 |
20140304554 | Dorfner | Oct 2014 | A1 |
20150146575 | Singh | May 2015 | A1 |
20180351791 | Nagarajan | Dec 2018 | A1 |
20190081884 | Spohn | Mar 2019 | A1 |
20200120020 | Dutta | Apr 2020 | A1 |
Entry |
---|
Behringer et al., “Using Only Link-Local Addressing inside an IPv6 Network”, Internet Engineering Task Force, RFC 7404, Nov. 2014, pp. 1-10. |
Cain et al., “Internet Group Management Protocol,” Network Working Group, RFC 3376, Version 3, Oct. 2002, pp. 1-53. |
Fenner et al., “Protocol Independent Multicast—Sparse Mode (PIM-SM): Protocol Specification (Revised)”, Network Working Group, RFC 4601, Aug. 2006, pp. 1-112. |
W. Fenner, “Internet Group Management Protocol”, Network Working Group, RFC 2236, version 3, Nov. 1997, pp. 1-24. |
Asaeda, H. et al., “Mtrace Version 2: Traceroute Facility for IP Multicast,” Oct. 2014, 23 pages, https://www.hjp.at/doc/rfc/rfc8487.html. |
Kotani, D. et al., “A Multicast Tree Management Method Supporting Fast Failure Recovery and Dynamic Group Membership Changes in OpenFlow Networks,” Mar. 2016, pp. 395-406, https://www.jstage.jst.go.jp/article/ipsjjip/24/2/24_395/_pdf. |
Lapukhov, P., “Troubleshooting Multicast Routing,” Sep. 17, 2010, 14 pages, https://blog.ine.com/2010/09/17/troubleshooting-multicast-routing. |
Raja, V. et al., “An Openflow-Based Approach to Failure Detection and Protection for a Multicasting Tree,” May 2015, 15 pages, https://link.springer.com/chapter/10.1007/978-3-319-22572-2_15. |
Number | Date | Country | |
---|---|---|---|
20200287734 A1 | Sep 2020 | US |