APP HOSTING SERVICES
There is no single Internet repository available that consolidates all the open-source tools. You must search and identify the tools that match your requirements. You will look at some of the well-known network services that are readily available to be hosted. This chapter is a nonexhaustive list that includes both open-source applications that are freely available and licensed products from Cisco or other third parties. It offers a glimpse of the commonly available tools, but it is not intended to be an exhaustive list.
Solenoid, a route injection agent, is a custom-built routing application that disaggregates the control plane further by running the BGP protocol as a third-party container. The Solenoid application leverages exaBGP, which is an open-source BGP protocol–enabled SDN tool that is capable of receiving BGP updates and converting the routing content into a user-friendly and readable format, such as plaintext or JSON.
Solenoid leverages exaBGP to establish the control plane neighborship with one or more remote nodes and to receive the prefix updates from the neighbor. exaBGP converts the update into JSON, which is further used by the Solenoid application to program the Routing Information Base (RIB) table of the Cisco devices using gRPC. The ability to disaggregate the route-learning and route-injection functions by using the Solenoid application introduces the flexibility of applying policies or other machine-learning capabilities.
Solenoid is a Linux application developed for IOS-XR devices, and the application is available in GitHub for download. The rootfs file with the preinstalled Solenoid application is instantiated as an LXC container on the IOS-XR platform.
Two-Way Active Measurement Protocol (TWAMP)
TWAMP is a UDP-based network measurement protocol used to measure the round-trip metrics between two endpoints.
One end acting as the TWAMP client will send the measurement control probe that is reflected by the remote end acting as the TWAMP server. The client uses the time difference between sending the probe and receiving the response to measure the round-trip time between the endpoints. Because the round trip is measured based on the sent and received timestamp on the client, TWAMP is useful when the timestamp is not synchronized between devices.
The TWAMP tool is available as both a native Linux application and as a Docker image that can be instantiated for round-trip measurement on IOS-XE, IOS-XR, and NXOS platforms.
tcpdump is a packet-capture and analyzer tool that dissects and displays the content of the captured IP packets. It is an open-source and CLI-based tool that is an alternative for Wireshark, which is another well-known packet-capture tool. tcpdump is developed to work on most of the UNIX and Linux distributions. When the application is hosted using host networking, all the host interfaces are listed in the application, and the CLI can trigger packet capture on any of the host interfaces.
Note that this tool is natively available in some of the Cisco platforms, such as IOS-XR, and NXOS, which comes with access to the Bash shell. However, tcpdump is a useful addition for other platforms, such as IOS-XE, where there is no native Bash shell.
The tcpdump tool is available as both a native Linux application and as a Docker image that can be instantiated for packet capture and analysis purposes on IOS-XE, IOS-XR, and NXOS platforms.
Cisco Kinetic EFM Module
Cisco Kinetic is a cloud-based IoT platform that is responsible for extracting, processing, and moving the data from the sensors or things to the relevant apps running in the cloud, as shown in Figure 10-3. One of the Kinetic components is the Edge and Fog Processing Module (EFM) that runs on the edge node as close as possible to the sensors for processing and reducing the volume of the data sent to the cloud app, based on the data relevancy.
Any IOS-XE platforms connecting the sensor network can act as an edge or fog node device, and the computing resource of this edge node can be leveraged to run the Kinetic EFM service. The Cisco Kinetic EFM module is available as an application that can be instantiated with IOX-CAF on IOS-XE platforms.
perfSONAR is a network measurement toolkit that comprises a collective set of open-source tools, such as OWAMP, TWAMP, Ping, iPerf, and nuttcp, which are brought together for end-to-end network measurements. Although there are many integrated tools, the scheduler component efficiently fires up the relevant process and executes the task. perfSONAR is powered with the GUI interface that allows the users to manage the tool through web browsers. perfSONAR is available as a Docker image that can be natively instantiated on Cisco IOS-XR and NXOS platforms.
DNS and DHCP are common application hosting services. The DNS server is responsible for offering naming conversion that resolves the IP address associated with the host name or the URL. The DHCP server is responsible for securely assigning and managing IP addresses to the endpoints. The choice of running the DHCP or DNS service directly on the devices is a good option for branch or other small sites because it helps eliminate one or more dedicated servers for this purpose; therefore, it reduces the hardware devices to manage. While some of the Cisco devices, such as IOS-XE platforms that natively support these services, the flexibility to host open-source DNS/DHCP as virtual entities on Cisco platforms, enables the users to add any new or proprietary features.
Various open-source applications and Docker images are available to run these services as containers on Cisco platforms. Although the application can be hosted on any Cisco platform, IOS-XE devices are the most common in branch and small sites.
NetBeez is a real-time, performance-monitoring agent that proactively monitors the network and detects issues. It is composed of a central server that runs in the cloud or in another centralized location. An agent is instantiated on the switches. A sample topology running NetBeez as an application on a Cat 9000 series switch is shown in Figure 10-4.