In computer administration, out-of-band management may refer to management of a device via a system console of the device. Out-of-band management may be provided even in the event of a device failure so that an administrator may troubleshoot and/or fix the device.
The following detailed description of example implementations refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
In computer administration, out-of-band management may refer to management of a device via a console of the device. The console may be used to input system administration messages (e.g., to configure the device, to troubleshoot the device, etc.), such as via text entry using a command line interface. A device, such as a network device (e.g., a router, a switch, a gateway, etc.) may include a console port (e.g., a serial port) via which a terminal may be attached (e.g., via a serial cable) to access the console and provide administration messages to the device. Typically, access to a device's console occurs via a physical connection between the device and an administrator's terminal, which may not be convenient for remote access to and administration of the device. Implementations described herein may provide out-of-band access to a console of a network device via a cellular connection, and may further provide a backup path for the network device using the cellular connection.
As further shown in
Network device 210 may include one or more devices capable of receiving, generating, processing, storing, and/or providing network traffic, destined for and/or received from customer device 220. For example, network device 210 may include a router, a switch, a hub, a firewall, a gateway, a bridge, a load balancer, an intrusion detection system, a security device, a server (e.g., a proxy server, a reverse proxy, etc.), or a similar device. Network device 210 may be used in connection with a single customer device 220 or a group of customer devices 220 (e.g., a data center, a private network, etc.). Communications may be routed through network device 210 to reach the group of customer devices 220. For example, network device 210 may be positioned within a network as a gateway that provides access to a group of customer devices 220. Network device 210 may include a console port that provides access to a console of network device 210, such as via an Ethernet connection and/or a serial connection. Network device 210 may be managed and/or configured via the console.
Customer device 220 may include one or more devices capable of receiving, generating, processing, storing, and/or providing information associated with a customer, such as a business entity. For example, customer device 220 may include a computing device and/or a communication device, such as a server (e.g., a web server, a back-end server, a host server, a storage server, etc.), a computer (e.g., a desktop computer, a laptop computer, etc.), a point-of-sale device, or a similar device. In some implementations, customer device 220 may store information associated with the customer (e.g., sales records, customer orders, etc.). Additionally, or alternatively, customer device 220 may receive information from and/or transmit information to another device (e.g., a user device, not shown) via network device 210.
Management device 230 may include one or more devices capable of receiving, generating, processing, storing, and/or providing administration messages (e.g., used to manage and/or configure network device 210). For example, management device 240 may include a computing and communication device, such as a client terminal, a desktop computer, a laptop computer, a server, or a similar device. Management device 230 may send an administration message to network device 210, and may receive a response to an administration message from network device 210. When a direct connection between private network 270 and network device 210 fails, management device 230 may send and/or receive the messages via a backup connection that traverses, for example, translation device 240, base station 250, cellular network 260, and private network 270.
Translation device 240 may include one or more devices capable of receiving, generating, processing, storing, and/or providing network traffic, and/or capable of receiving, generating, processing, storing, and/or providing administration messages. For example, translation device 240 may include a gateway, a router (e.g., a cellular router), a switch, a hub, a bridge (e.g., a cellular bridge), a modem (e.g., a cellular modem), or a similar device. Translation device 240 may receive and/or provide traffic and/or administration messages via an air interface with base station 250 (e.g., using a cellular modem). Translation device 240 may receive and/or provide traffic and/or administration messages via a wired connection with network device 210, such as an Ethernet connection and/or a serial connection with a console port of network device 210. In some implementations, translation device 240 may provide out-of-band access to a console of network device 210 by translating administration messages between a first format compatible with a cellular connection and a second format compatible with a console port connection. Additionally, or alternatively, translation device 240 may provide a backup path for network device 210 using the cellular connection (e.g., when a direct connection between network device 210 and private network 270 experiences a failure). While shown as separate devices in
Base station 250 may include one or more devices capable of receiving, generating, processing, storing, and/or providing network traffic, such as media, audio, video, text, and/or other traffic, destined for and/or received from one or more devices shown in
Cellular network 260 may include one or more wireless networks, such as one or more cellular networks. For example, cellular network 260 may include a cellular network (e.g., an LTE network, a 4G network, a 3G network, a 2G network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a Wi-Fi network, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), and/or a combination of these or other types of networks (e.g., a combination of a cellular network and a non-cellular network).
Private network 270 may include one or more wired and/or wireless networks. In some implementations, private network 270 may include a network other than a cellular network. For example, private network 270 may include a PLMN, a Wi-Fi network, a LAN, a WAN, a MAN, a telephone network (e.g., the Public Switched Telephone Network (PSTN)), an ad hoc network, an intranet, the Internet, a fiber optic-based network, and/or a combination of these or other types of networks.
The number of devices and networks shown in
Bus 310 may include a component that permits communication among the components of device 300. Processor 320 may include a processor (e.g., a central processing unit, a graphics processing unit, an accelerated processing unit), a microprocessor, and/or any processing component (e.g., a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), etc.) that interprets and/or executes instructions. Memory 330 may include a random access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage device (e.g., a flash, magnetic, or optical memory) that stores information and/or instructions for use by processor 320.
Input component 340 may include a component that permits a user to input information to device 300 (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, etc.). Output component 350 may include a component that outputs information from device 300 (e.g., a display, a speaker, one or more light-emitting diodes (LEDs), etc.).
Communication interface 360 may include a transceiver-like component, such as a transceiver and/or a separate receiver and transmitter, that enables device 300 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. For example, communication interface 360 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, a serial interface, or the like.
Device 300 may perform one or more processes described herein. Device 300 may perform these processes in response to processor 320 executing software instructions included in a computer-readable medium, such as memory 330. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
Software instructions may be read into memory 330 from another computer-readable medium or from another device via communication interface 360. When executed, software instructions stored in memory 330 may cause processor 320 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
The number of components shown in
As shown in
In some implementations, the network address may identify network device 210 and/or management device 230. For example, the source address may identify management device 230, and the destination address may identify network device 210. As another example, the source address may identify network device 210, and the destination address may identify management device 230. As part of the configuration process, network device 210 may be assigned a network address (e.g., an IP address) to be used by translation device 240 when identifying messages to be delivered to network device 210 via a console session. In some implementations, the port identifier may identify a particular port on translation device 240 that is dedicated to handling administration messages.
When translation device 240 receives traffic with one or more parameters that match the configuration information (e.g., that match a network address and a port identifier), translation device 240 may determine that the received traffic is associated with an administration message. An administration message may include, for example, an administration message sent by management device 230 to configure network device 210, a response to an administration message, sent by network device 210 and intended for management device 230, or the like.
As further shown in
In some implementations, network device 210 may provide a notification of the failure to translation device 240. The notification may include an explicit notification (e.g., a failure message). Additionally, or alternatively, the notification may include an implicit notification. For example, network device 210 may not send an explicit notification, but may begin sending traffic to translation device 240 for routing and/or forwarding via a cellular connection (e.g., via base station 250 and/or cellular network 260). In some implementations, translation device 240 may detect that a failure has occurred based on a quantity of traffic received from and/or sent to network device 210 (e.g., within a particular period of time).
Translation device 240 may provide a notification of the failure to management device 230, in some implementations. For example, translation device 240 may detect the failure, and may provide, via cellular network 260 (and/or private network 270), a notification of the failure to management device 230. In this way, a network administrator, associated with management device 230, may be notified of the failure and may take corrective action.
As further shown in
As further shown in
For example, if the one or more parameters (e.g., a destination address and a port identifier) match the configuration information, then translation device 240 may determine that the traffic includes an administration message. On the other hand, if the one or more parameters (e.g., a destination address and/or a port identifier) do not match the configuration information, then translation device 240 may determine that the traffic does not include an administration message. In some implementations, translation device 240 may treat administration messages with a higher priority than non-administration messages. For example, administration messages may be queued and/or transmitted before non-administration messages, may receive a higher priority within a queue, etc.
If translation device 240 determines that the traffic does not include an administration message (block 450—NO), then process 400 may include forwarding the traffic toward an intended destination (block 460). For example, translation device 240 may analyze the traffic, and may determine that the traffic does not include an administration message. Based on the determination, translation device 240 may forward the traffic toward an intended destination. The traffic may traverse a backup path that does not include the primary connection. For example, the traffic may traverse a path that includes translation device 240, base station 250, cellular network 260, and/or private network 270.
As an example, the intended destination may include customer device 220 (e.g., when the source is a user device external to the customer premises). In this case, translation device 240 may receive the traffic from base station 250 (e.g., via cellular network 260 and/or private network 270), may forward the traffic to network device 210 (e.g., via a non-console port), and network device 210 may route the traffic to customer device 220. As another example, the intended destination may include a user device external to the customer premises. In this case, translation device 240 may receive the traffic from network device 210, and may forward the traffic to base station 250, which may route the traffic to the user device (e.g., via cellular network 260 and/or private network 270). In this way, network device 210 may utilize a cellular network (e.g., cellular network 260) to provide backup connectivity at the customer premises (e.g., using translation device 240, which may include a cellular modem for connecting with base station 250).
If translation device 240 determines that the traffic does include an administration message (block 450—YES), then process 400 may include translating the administration message (block 470), and providing the translated administration message (block 480). For example, translation device 240 may analyze the traffic, and may determine that the traffic includes an administration message. Based on this determination, translation device 240 may translate the administration message, and may provide the translated administration message to an intended destination.
In some implementations, the administration message may include a message sent by management device 230 and intended for network device 210. In this case, the administration message may include an instruction, such as an instruction for configuring network device 210, an instruction to provide information associated with network device 210, or the like. The administration message may cause network device 210 to execute the instruction. Translation device 240 may receive the administration message from base station 250 (e.g., via private network 270 and/or cellular network 260) over an air interface. The message sent over the air interface may be in a format that is not transmissible over a wired connection (e.g., a serial cable, an Ethernet cable, etc.) that connects translation device 240 to a console port of network device 210.
In this case, translation device 240 may translate the message from a first format, that is transmissible over the air interface, to a second format, that is capable of instructing network device 210 to perform an action (e.g., respond to a query, adjust a configuration parameter, etc.). The second format may be transmissible over a wired connection (e.g., a serial connection) from translation device 240 to a console port interface of network device 210. As an example, the first format may include an IP format (e.g., IPv4, IPv6, etc.), a Secure Shell (SSH) format (e.g., SSH-1, SSH-2, etc.), a Telnet format, etc. As another example, the second format may include a serial console session format.
In some implementations, the second format may depend on a type of network device 210, and translation device 240 may perform the translation based on the type of network device 210. Translation device 240 may translate the administration message from the first format to the second format by decoding the message in the first format to identify the content of the message (e.g., a payload of the message, a body of the message, an instruction included in the message, a console instruction, etc.), and then encoding the content into the second format. Additionally, or alternatively, translation device 240 may modify address information included in the administration message. For example, translation device 240 may translate the message by translating a destination address in an IP format (e.g., an IP address, such as 201.64.10.92) to an address in a serial format associated with a destination (e.g., network device 210) that is connected to translation device 240 via a serial console port. Translation device 240 may provide the translated administration message to network device 210 (e.g., via a wired connection, a console port session, a serial connection, etc.).
In some implementations, the administration message may include a message sent by network device 210 and intended for management device 230. In this case, the administration message may include a response to an instruction received from management device 230. Translation device 240 may receive the message from network device 210 via a wired connection (e.g., a console session utilizing a serial connection). The message sent via the wired connection may be in a format that is not transmissible over an air interface that connects translation device 240 and base station 250.
In this case, translation device 240 may translate the message from a first format, that is not transmissible over the air interface, to a second format, that is transmissible over the air interface. Translation device 240 may translate the administration message from the first format to the second format by decoding the message in the first format to identify the content of the message (e.g., a payload of the message, a body of the message, a response to an instruction, etc.), and then encoding the content into the second format. Additionally, or alternatively, translation device 240 may modify address information included in the administration message. For example, translation device 240 may receive the message via a serial connection, and may translate the message by inserting a destination address in an IP format (e.g., 201.64.10.92) to an intended destination (e.g., management device 230). Translation device 240 may provide the translated administration message to base station 250, via an air interface, for routing to management device 230.
In this way, translation device 240 may provide management device 230 with out-of-band access to a console of network device 210 via a cellular connection, and may further provide a backup path for network device 210 to send and/or receive traffic using the cellular connection.
Although
As shown in
As further shown in
As shown in
As shown by reference number 550, assume that network device 210 transmits a message from customer device 220 (e.g., with a source IP address of 20.20.20.20), with the user device as the intended destination (e.g., with a destination IP address of 30.30.30.30), and a port identifier of port 80. Translation device 240 receives the message from network device 210, on port 80, and determines that the source address, the destination address, and the port identifier do not match the stored configuration information that identifies administration messages. As a result, translation device 240 forwards the message to base station 250 for delivery to the user device via cellular network 260 and private network 270.
Similarly, as shown in
As indicated above,
As shown in
As shown by reference number 610, the message includes a source IP address of 40.40.40.40, a destination IP address of 10.10.10.10, and a port identifier of 5050. Assume that translation device 240 receives the message and compares these parameters to stored configuration information to determine that the message is an administration message. As shown by reference number 615, based on this determination, translation device 240 translates the administration message and provides the translated message to network device 210 via a console port (e.g., via a wired serial connection between translation device 240 and network device 210).
As shown in
As shown in
As shown by reference number 645, the message includes a source IP address of 40.40.40.40, a destination IP address of 10.10.10.10, and a port identifier of 5050. Assume that translation device 240 receives the message and compares these parameters to stored configuration information to determine that the message is an administration message. As shown by reference number 650, based on this determination, translation device 240 translates the administration message and provides the translated message to network device 210 via a console port (e.g., via the wired serial connection between translation device 240 and network device 210).
As shown by reference number 655, network device 210 receives the message and executes the instruction included in the message to reconfigure port 4040. Assume that the reconfiguration resolves the failure in the primary connection between network device 210 and private network 270, and that the connection is restored, as shown by reference 660. In this way, translation device 240 may provide a mechanism for management device 230 to access a console of network device 210 via a cellular connection, and to manage, troubleshoot, configure, etc. network device 210 via the cellular connection.
As indicated above,
The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.
As used herein, the term component is intended to be broadly construed as hardware, firmware, or a combination of hardware and software.
It will be apparent that systems and/or methods, as described herein, may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement these systems and/or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and/or methods were described without reference to the specific software code—it being understood that software and hardware can be designed to implement the systems and/or methods based on the description herein.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.
No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items, and may be used interchangeably with “one or more.” Similarly, as used herein, a “set” is intended to include one or more items, and may be used interchangeably with “one or more.” Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.