US8327016B1 - Device communications over unnumbered interfaces - Google Patents

Device communications over unnumbered interfaces Download PDF

Info

Publication number
US8327016B1
US8327016B1 US11/860,187 US86018707A US8327016B1 US 8327016 B1 US8327016 B1 US 8327016B1 US 86018707 A US86018707 A US 86018707A US 8327016 B1 US8327016 B1 US 8327016B1
Authority
US
United States
Prior art keywords
network device
level address
protocol
neighboring network
device level
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related, expires
Application number
US11/860,187
Inventor
Kireeti Kompella
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
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 Juniper Networks Inc filed Critical Juniper Networks Inc
Priority to US11/860,187 priority Critical patent/US8327016B1/en
Assigned to JUNIPER NETWORKS, INC. reassignment JUNIPER NETWORKS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KOMPELLA, KIREETI
Priority to US13/692,275 priority patent/US8732335B2/en
Application granted granted Critical
Publication of US8327016B1 publication Critical patent/US8327016B1/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]

Definitions

  • Systems and methods consistent with the principles of the invention relate generally to computer networks and, more particularly, to efficiently connecting devices over computer networks.
  • Modern computer networks generally consist of a large number of network devices interconnected by various physical means, including copper wires, fiber optic cables, and wireless technologies.
  • routers or other data switching devices are used to ensure that data is accurately and efficiently passed through the network to its final destination.
  • routers and similar types of devices are configured to include a large number of physical interfaces, thereby enabling a single device to route or pass through a very large quantity of data.
  • each interface included on a network device is typically assigned a unique network address, thereby ensuring that data or traffic may be uniquely forwarded to an appropriate interface.
  • IPv4 the primary network addressing scheme in use today, IPv4
  • IPv4 the primary network addressing scheme in use today, IPv4
  • IPv4 is limited in the number of unique network addresses available for assignment.
  • difficulties in deploying network devices on a network are compounded by the number of unique addresses that must be assigned to enable use of the device.
  • a method in which a device level address may be assigned to a network device.
  • the network device may announce the assigned device level address to a neighboring network device over a link.
  • a device level address associated with the neighboring network device may be received over the link.
  • a route may be stored including the received device level address associated with the neighboring network device and the link.
  • a method including receiving a first device level address from a neighboring network device over a link; announcing a second device level address to the neighboring network device over the link; and storing a route including the first device level address and the link in a nonvolatile memory.
  • a network device for receiving and forwarding traffic in a computer network.
  • the network device may be configured to receive a first device level address identifying the network device; announce the first device level address to a neighboring network device over an interface; receive a second device level address from the neighboring network device; and store a persistent route between the first device level address and the second device level address via the interface in a nonvolatile memory.
  • FIG. 1 illustrates an exemplary system including an implementation consistent with the principles of the invention
  • FIG. 2 illustrates a portion of a network shown in FIG. 1 ;
  • FIG. 3 is a functional block diagram of an exemplary network device consistent with the principles of the invention.
  • FIG. 4 is a detailed block diagram illustrating portions of the network device of FIG. 3 ;
  • FIG. 5 is a flowchart that illustrates exemplary processing for enabling communication between two or more network devices via unnumbered or un-addressed interfaces
  • FIG. 6 illustrates an exemplary static routing table consistent with principles of the invention.
  • FIG. 7 is a flow diagram that illustrates additional exemplary processing for enabling communication between two or more network devices via unnumbered or un-addressed interfaces
  • FIG. 1 illustrates an exemplary system 100 , which includes an implementation consistent with the principles of the invention.
  • System 100 may include a network 102 , and devices 104 - 1 , 104 - 2 and 104 - 3 (hereinafter collectively referred to as devices 104 ) connected to network 102 .
  • Devices 104 may be servers, host computers, personal computers, wireless PDAs or any other device capable of connecting to a network.
  • System 100 may include more or fewer components than shown in FIG. 1 .
  • system 100 may have more or fewer devices 104 connected to network 102 .
  • FIG. 2 illustrates a portion of network 102 .
  • Network 102 may include a number of network devices 202 - 1 through 202 - 7 (hereinafter collectively referred to as network devices 202 ).
  • Network 102 may include additional or fewer network devices 202 than shown in FIG. 2 .
  • Each network device 202 may have connections with one or more other network devices, such as, for example, one or more routers or network nodes.
  • FIG. 3 is a functional block diagram of an exemplary network device consistent with the principles of the invention.
  • the network device takes the form of a router 300 , which may be used to implement one or more network devices 202 .
  • Network device 300 may receive one or more packet streams from a physical link, processes the packet stream(s) to determine destination information, and transmits the packet stream(s) out on a link in accordance with the destination information.
  • Network device 300 may include a routing engine (RE) 310 , packet forwarding engines (PFEs) 320 A, 320 B, . . . , 320 N (referred to collectively as “PFEs 320 ”), and a switch fabric 330 .
  • RE routing engine
  • PFEs packet forwarding engines
  • RE 310 performs high level management functions for network device 300 .
  • RE 310 maintains the connectivity and manages information and data necessary for performing routing by network device 300 .
  • RE 310 creates routing tables based on network topology information, creates forwarding tables based on the routing tables, and forwards the forwarding tables to PFEs 320 .
  • PFEs 320 use the forwarding tables to perform route lookup for incoming packets and perform the forwarding functions for network device 300 .
  • RE 310 also performs other general control and monitoring functions for network device 300 .
  • RE 310 may also include a non-volatile or persistent memory 340 for maintaining core routing information in the event of a protocol or system failure.
  • PFEs 320 are each connected to RE 310 and switch fabric 330 .
  • PFEs 320 receive packet data on physical interfaces or links connected to a network, such as a wide area network (WAN) or a local area network (LAN).
  • WAN wide area network
  • LAN local area network
  • Each physical interface could be one of many types of transport media, such as optical fiber or Ethernet cable.
  • the data on the physical interface may be formatted according to one of several protocols, such as the synchronous optical network (SONET) standard, an asynchronous transfer mode (ATM) technology, or Ethernet.
  • SONET synchronous optical network
  • ATM asynchronous transfer mode
  • PFEs 320 may process incoming packet data prior to transmitting the data to another PFE or the network. PFEs 320 may also perform route lookup for the data using the forwarding table from RE 310 to determine destination information. If the destination indicates that the data should be sent out on a physical link connected to one of PFEs 320 , then the PFE prepares the data for transmission by, for example, adding any necessary headers, and transmits the data from the port associated with the physical interface. If the destination indicates that the data should be sent to another PFE via switch fabric 330 , then PFE 320 prepares the data for transmission to the other PFE, if necessary, and sends the data to the other PFE via switch fabric 330 .
  • FIG. 4 is a detailed block diagram illustrating portions of network device 300 .
  • PFEs 320 connect to one another through switch fabric 330 .
  • Each of PFEs 320 may include one or more packet processors 410 and pairs of redundant input/output (I/O) interfaces 420 A- 420 D.
  • FIG. 4 shows two pairs of redundant I/Os 420 A and 420 B and I/Os 420 C and 420 D connected to each of packet processors 410 and three packet processors 410 connected to switch fabric 330 , in other embodiments consistent with principles of the invention there can be more or fewer I/Os 420 and packet processors 410 .
  • Each of packet processors 410 performs routing functions and handles packet transfers to and from I/Os 420 A- 420 D and switch fabric 330 . For each packet it handles, packet processor 410 performs the previously-discussed route lookup function and may perform other processing-related functions.
  • I/Os 420 A- 420 D may transmit data between a physical interface and packet processor 410 .
  • each of I/Os 420 A- 420 D may be a line card.
  • Different pairs of I/Os may be designed to handle different types of network interfaces. For example, one pair of I/Os may be an interface for an optical link while another pair of I/Os may be an interface for an Ethernet link, implementing any of a number of well-known protocols.
  • network device 202 - 1 may wish to forward a packet to network device 202 - 5 . Because at least one interface on network device 202 - 5 has been assigned a unique IP address, network device 202 - 1 is easily able to locate and transmit data to network device 202 - 5 .
  • network device 300 it may become necessary to communicate with network device 300 in the absence of such addresses.
  • a network device 300 configured in this manner were to suffer a system failure or other protocol failure resulting in a loss of protocol-specific interface or I/O routing information, it may become difficult, if not impossible, to remotely access network device 300 .
  • re-configuration or repair of the device may require a physical visit or reset.
  • interfaces between network devices 202 may be configured without unique IP addresses. Accordingly, as described above, absent higher-level routing or protocol information, accessing a device, such as network device 202 may be problematic. In an implementation consistent with principles of the invention, such access may be facilitated by providing each network device 202 with a single, device-level address during initial device configuration. That is, each interface on network device 202 will not be provided with an address, but an address may be assigned to the entire network device and maintained in a non-volatile or persistent storage (e.g., memory 340 ).
  • a non-volatile or persistent storage e.g., memory 340
  • the device-specific address may be used in combination with a link identifier designating the physical connection between network device 202 - 2 and its neighbors (e.g., devices 202 - 1 and 202 - 7 ).
  • a link identifier designating the physical connection between network device 202 - 2 and its neighbors (e.g., devices 202 - 1 and 202 - 7 ).
  • FIG. 5 is a flow diagram that illustrates exemplary processing for enabling communication between two or more network devices 202 via unnumbered or un-addressed interfaces.
  • Processing may begin by assigning a device-level address to network device 202 - 2 (act 500 ). This assignment may be performed by a network administrator responsible for configuring device 202 - 2 or automatically by a dynamic host control protocol (DHCP) server connected to network device 202 - 2 .
  • DHCP dynamic host control protocol
  • Network device 202 - 2 then receives a command to configure or initialize a higher-level protocol, (such as, e.g., (open shortest path first) OSPF, intermediate system to intermediate system (IS-IS), point to point protocol (PPP), or address resolution protocol (ARP)) (act 502 ).
  • OSPF and IS-IS are layer 3 (i.e., the network layer in the Open Systems Interconnection (OSI) Reference Model) routing protocols
  • PPP and ARP are layer 2 (i.e., the data link layer) routing protocols.
  • device-level address information may be exchanged with neighboring network devices using any suitable protocol.
  • network device 202 - 2 announces its device-level address to all neighboring devices (e.g., network devices 202 - 1 and 202 - 7 ) (act 504 ). In one implementation consistent with principles of the invention, such an announcement may occur during initial stages of the requested configuration. Following announcement of its device-level address, network device 202 - 2 may request device-level addresses from each neighboring device (e.g., devices 202 - 1 and 202 - 7 ) (act 506 ). In response, network device 202 - 2 may receive device-level addresses for each neighboring devices (act 508 ).
  • neighboring devices e.g., devices 202 - 1 and 202 - 7
  • network device 202 - 2 may store a persistent listing of the received device-level addresses along with their respective links or interfaces in a non-volatile memory, such as memory 340 (act 510 ). Additionally, depending on each type of interface, other information may be included within the listing. For example, listings relating to Ethernet interfaces may include each device's media access control (MAC) or hardware address. Additionally, each listing may further include a multiprotocol label switching (MPLS) label associated with the respective interfaces.
  • MAC media access control
  • MPLS multiprotocol label switching
  • table 600 may include respective link identifiers 602 and device-level addresses 604 for each neighboring network device (e.g., devices 202 - 1 and 202 - 7 ). Consistent with principles of the invention, the information maintained in table 600 may enable routing and connections to be performed from network device 202 - 2 to either of 202 - 1 (device-level address 1.1.1.2 over link L 1 ) and 202 - 7 (device-level address 1.1.1.3 over link L 2 ) in the absence of additional, controlling routing protocols.
  • 202 - 1 device-level address 1.1.1.2 over link L 1
  • 202 - 7 device-level address 1.1.1.3 over link L 2
  • the device-level routing information may be assigned a priority lower than that of higher-level routing information (act 512 ).
  • properly running routing protocols may define the processing of network device 202 - 2 in normal operation.
  • network device 202 - 2 may fall back to the routing information in table 600 , thereby enabling connection with neighboring devices 202 - 1 and 202 - 7 .
  • the routing information in table 600 may be dynamic such that modifications to the information made during supplementation configuration/updating/maintenance of the initial protocol results in updating of the corresponding information in routing table 600 .
  • table 600 was initially configured to include a route from device 202 - 2 (with an address of 1.1.1.1) to 202 - 7 (as designated by device 202 - 7 's assigned device level address 1.1.1.2) on link L 1 .
  • the device level address assigned to device 202 - 7 may be modified by the overlying protocol (e.g., OSPF).
  • network device 202 - 2 may modify the content of table 600 to reflect the change identified or even triggered by the overlying protocol.
  • network device 202 - 2 may run both OSPF and ARP. It may be established that OSPF is responsible for initially establishing and maintaining the persistent device level routes in table 600 . In this manner, although ARP may be fully suitable for establishing the routes, there is no conflict between the two protocols.
  • FIG. 7 is a flow diagram that illustrates additional exemplary processing for enabling communication between two or more network devices 202 via unnumbered or un-addressed interfaces.
  • processing may begin by receiving a request to access a remote target device at a first network device (act 700 ). It may then be determined whether a controlling routing protocol is running on the remote target device, thereby enabling remote access of the target device (act 702 ). When it is determined that the controlling routing protocol is running on the remote target device, the remote target device may be accessed using the routing protocol (act 704 ).
  • a remote device neighboring the target device may be accessed (act 706 ).
  • the static routing information stored in the manner described above with respect to FIG. 5 may then be used to facilitate a connection from the neighboring device to the target device using the target device's device level address and link information (act 708 ).
  • the target device may then be accessed and administered using the established connection (act 710 ).

Abstract

A method and a network device for enabling communication between unnumbered interfaces are provided. A device level address may be assigned to a network device. The network device may announce the assigned device level address to a neighboring network device over a link. A corresponding device level address associated with the neighboring network device may be received over the link. A route may be stored including the received device level address associated with the neighboring network device and the link. In some implementations, the announcement of the assigned device level address is performed during protocol configuration.

Description

PRIORITY INFORMATION
This application claims priority under 35 U.S.C. §119 based on U.S. Provisional Application Ser. No. 60/887,048, filed Jan. 29, 2007, the disclosure of which is incorporated herein by reference.
TECHNICAL FIELD
Systems and methods consistent with the principles of the invention relate generally to computer networks and, more particularly, to efficiently connecting devices over computer networks.
BACKGROUND OF THE INVENTION
Modern computer networks generally consist of a large number of network devices interconnected by various physical means, including copper wires, fiber optic cables, and wireless technologies. To facilitate routing of information across such networks, routers or other data switching devices are used to ensure that data is accurately and efficiently passed through the network to its final destination. In general, routers and similar types of devices are configured to include a large number of physical interfaces, thereby enabling a single device to route or pass through a very large quantity of data.
In conventional networks, each interface included on a network device is typically assigned a unique network address, thereby ensuring that data or traffic may be uniquely forwarded to an appropriate interface. Unfortunately, the primary network addressing scheme in use today, IPv4, is limited in the number of unique network addresses available for assignment. Further, difficulties in deploying network devices on a network are compounded by the number of unique addresses that must be assigned to enable use of the device.
To remedy these issues, it has been proposed to eliminate addressing for each unique interface on a network device. It has been found that in normal operation, because the data being routed through the network typically is not destined for the routing network device itself, that unique addresses may not be required. Unfortunately, such an unnumbered scheme assumes that the underlying routing protocols running on the network devices remain in operation. Because unique interfaces are not addressed, if an underlying protocol were to fail (along with its associated routing tables or instructions), there may be no way to access the network device from another device on the network by using those interface addresses. In a numbered environment, other network devices may remotely administrate the failed network device by designating the interface address by which it is connected.
Therefore, there is a need for an unnumbered address system that more robustly supports remote access and administration of network devices.
SUMMARY OF THE INVENTION
In a first aspect, a method is provided in which a device level address may be assigned to a network device. The network device may announce the assigned device level address to a neighboring network device over a link. A device level address associated with the neighboring network device may be received over the link. A route may be stored including the received device level address associated with the neighboring network device and the link.
In a second aspect, a method is provided including receiving a first device level address from a neighboring network device over a link; announcing a second device level address to the neighboring network device over the link; and storing a route including the first device level address and the link in a nonvolatile memory.
In a third aspect, a network device for receiving and forwarding traffic in a computer network is provided. The network device may be configured to receive a first device level address identifying the network device; announce the first device level address to a neighboring network device over an interface; receive a second device level address from the neighboring network device; and store a persistent route between the first device level address and the second device level address via the interface in a nonvolatile memory.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an embodiment of the invention and, together with the description, explain the invention. In the drawings,
FIG. 1 illustrates an exemplary system including an implementation consistent with the principles of the invention;
FIG. 2 illustrates a portion of a network shown in FIG. 1;
FIG. 3 is a functional block diagram of an exemplary network device consistent with the principles of the invention;
FIG. 4 is a detailed block diagram illustrating portions of the network device of FIG. 3;
FIG. 5 is a flowchart that illustrates exemplary processing for enabling communication between two or more network devices via unnumbered or un-addressed interfaces;
FIG. 6 illustrates an exemplary static routing table consistent with principles of the invention; and
FIG. 7 is a flow diagram that illustrates additional exemplary processing for enabling communication between two or more network devices via unnumbered or un-addressed interfaces
DETAILED DESCRIPTION
The following detailed description of the invention refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims.
FIG. 1 illustrates an exemplary system 100, which includes an implementation consistent with the principles of the invention. System 100 may include a network 102, and devices 104-1, 104-2 and 104-3 (hereinafter collectively referred to as devices 104) connected to network 102. Devices 104 may be servers, host computers, personal computers, wireless PDAs or any other device capable of connecting to a network. System 100 may include more or fewer components than shown in FIG. 1. For example, system 100 may have more or fewer devices 104 connected to network 102.
FIG. 2 illustrates a portion of network 102. Network 102 may include a number of network devices 202-1 through 202-7 (hereinafter collectively referred to as network devices 202). Network 102 may include additional or fewer network devices 202 than shown in FIG. 2. Each network device 202 may have connections with one or more other network devices, such as, for example, one or more routers or network nodes.
FIG. 3 is a functional block diagram of an exemplary network device consistent with the principles of the invention. In this particular implementation, the network device takes the form of a router 300, which may be used to implement one or more network devices 202. Network device 300 may receive one or more packet streams from a physical link, processes the packet stream(s) to determine destination information, and transmits the packet stream(s) out on a link in accordance with the destination information. Network device 300 may include a routing engine (RE) 310, packet forwarding engines (PFEs) 320A, 320B, . . . , 320N (referred to collectively as “PFEs 320”), and a switch fabric 330.
RE 310 performs high level management functions for network device 300. For example, RE 310 maintains the connectivity and manages information and data necessary for performing routing by network device 300. RE 310 creates routing tables based on network topology information, creates forwarding tables based on the routing tables, and forwards the forwarding tables to PFEs 320. PFEs 320 use the forwarding tables to perform route lookup for incoming packets and perform the forwarding functions for network device 300. RE 310 also performs other general control and monitoring functions for network device 300. As will be described in additional detail below, RE 310 may also include a non-volatile or persistent memory 340 for maintaining core routing information in the event of a protocol or system failure.
PFEs 320 are each connected to RE 310 and switch fabric 330. PFEs 320 receive packet data on physical interfaces or links connected to a network, such as a wide area network (WAN) or a local area network (LAN). Each physical interface could be one of many types of transport media, such as optical fiber or Ethernet cable. The data on the physical interface may be formatted according to one of several protocols, such as the synchronous optical network (SONET) standard, an asynchronous transfer mode (ATM) technology, or Ethernet.
PFEs 320 may process incoming packet data prior to transmitting the data to another PFE or the network. PFEs 320 may also perform route lookup for the data using the forwarding table from RE 310 to determine destination information. If the destination indicates that the data should be sent out on a physical link connected to one of PFEs 320, then the PFE prepares the data for transmission by, for example, adding any necessary headers, and transmits the data from the port associated with the physical interface. If the destination indicates that the data should be sent to another PFE via switch fabric 330, then PFE 320 prepares the data for transmission to the other PFE, if necessary, and sends the data to the other PFE via switch fabric 330.
FIG. 4 is a detailed block diagram illustrating portions of network device 300. PFEs 320 connect to one another through switch fabric 330. Each of PFEs 320 may include one or more packet processors 410 and pairs of redundant input/output (I/O) interfaces 420A-420D. Although FIG. 4 shows two pairs of redundant I/ Os 420A and 420B and I/ Os 420C and 420D connected to each of packet processors 410 and three packet processors 410 connected to switch fabric 330, in other embodiments consistent with principles of the invention there can be more or fewer I/Os 420 and packet processors 410.
Each of packet processors 410 performs routing functions and handles packet transfers to and from I/Os 420A-420D and switch fabric 330. For each packet it handles, packet processor 410 performs the previously-discussed route lookup function and may perform other processing-related functions.
I/Os 420A-420D may transmit data between a physical interface and packet processor 410. In one implementation, each of I/Os 420A-420D may be a line card. Different pairs of I/Os may be designed to handle different types of network interfaces. For example, one pair of I/Os may be an interface for an optical link while another pair of I/Os may be an interface for an Ethernet link, implementing any of a number of well-known protocols.
As described above, conventional network devices and addressing schemes provide unique IP addresses to each of the I/Os 420A-420D, thereby enabling communication between any two network devices 202. For example, referring back to FIG. 2, network device 202-1 may wish to forward a packet to network device 202-5. Because at least one interface on network device 202-5 has been assigned a unique IP address, network device 202-1 is easily able to locate and transmit data to network device 202-5.
However, for the reasons described above, such as, the relative scarcity of available IPv4 IP addresses, and configuration/implementation issues raised by requiring management of a large number of interface addresses, it may be desirable to configure a network device to include unnumbered interfaces. In an unnumbered environment, unique IP addresses are not assigned to one or more interfaces 420A-420D. This may seem problematic until it is understood that most packets are transmitted based on an address of the final destination of the packet (i.e., the packet's destination address), rather than directed toward the intermediate interface addresses of any intervening network devices.
In accordance with principles of the invention, it may become necessary to communicate with network device 300 in the absence of such addresses. Unfortunately, if a network device 300 configured in this manner were to suffer a system failure or other protocol failure resulting in a loss of protocol-specific interface or I/O routing information, it may become difficult, if not impossible, to remotely access network device 300. In this scenario, re-configuration or repair of the device may require a physical visit or reset.
Referring back to FIG. 2, interfaces between network devices 202 may be configured without unique IP addresses. Accordingly, as described above, absent higher-level routing or protocol information, accessing a device, such as network device 202 may be problematic. In an implementation consistent with principles of the invention, such access may be facilitated by providing each network device 202 with a single, device-level address during initial device configuration. That is, each interface on network device 202 will not be provided with an address, but an address may be assigned to the entire network device and maintained in a non-volatile or persistent storage (e.g., memory 340). As will be set forth in additional detail below, the device-specific address may be used in combination with a link identifier designating the physical connection between network device 202-2 and its neighbors (e.g., devices 202-1 and 202-7). By providing an interface-independent address to network device 202-2, it may be possible to communicate with network device 202-2 upon the occurrence of a higher-level routing or protocol failure.
FIG. 5 is a flow diagram that illustrates exemplary processing for enabling communication between two or more network devices 202 via unnumbered or un-addressed interfaces. Processing may begin by assigning a device-level address to network device 202-2 (act 500). This assignment may be performed by a network administrator responsible for configuring device 202-2 or automatically by a dynamic host control protocol (DHCP) server connected to network device 202-2. By using device level addresses rather than interface level addresses, network administrators may avoid the problems associated with assigning unique addresses across a network, such as sub-netting issues and address allocation issues.
Network device 202-2 then receives a command to configure or initialize a higher-level protocol, (such as, e.g., (open shortest path first) OSPF, intermediate system to intermediate system (IS-IS), point to point protocol (PPP), or address resolution protocol (ARP)) (act 502). As is known in the art, OSPF and IS-IS are layer 3 (i.e., the network layer in the Open Systems Interconnection (OSI) Reference Model) routing protocols, while PPP and ARP are layer 2 (i.e., the data link layer) routing protocols. Consistent with principles of the invention, device-level address information may be exchanged with neighboring network devices using any suitable protocol.
In response to the configuration command, network device 202-2 announces its device-level address to all neighboring devices (e.g., network devices 202-1 and 202-7) (act 504). In one implementation consistent with principles of the invention, such an announcement may occur during initial stages of the requested configuration. Following announcement of its device-level address, network device 202-2 may request device-level addresses from each neighboring device (e.g., devices 202-1 and 202-7) (act 506). In response, network device 202-2 may receive device-level addresses for each neighboring devices (act 508).
Upon receipt of device-level addresses for the neighboring devices in, network device 202-2 may store a persistent listing of the received device-level addresses along with their respective links or interfaces in a non-volatile memory, such as memory 340 (act 510). Additionally, depending on each type of interface, other information may be included within the listing. For example, listings relating to Ethernet interfaces may include each device's media access control (MAC) or hardware address. Additionally, each listing may further include a multiprotocol label switching (MPLS) label associated with the respective interfaces.
One example of such a stored listing or table 600 is provided in FIG. 6. As shown, table 600 may include respective link identifiers 602 and device-level addresses 604 for each neighboring network device (e.g., devices 202-1 and 202-7). Consistent with principles of the invention, the information maintained in table 600 may enable routing and connections to be performed from network device 202-2 to either of 202-1 (device-level address 1.1.1.2 over link L1) and 202-7 (device-level address 1.1.1.3 over link L2) in the absence of additional, controlling routing protocols.
To facilitate proper usage of the routing information in table 600, the device-level routing information may be assigned a priority lower than that of higher-level routing information (act 512). By assigning a lower priority to the routing information in routing table 600, properly running routing protocols may define the processing of network device 202-2 in normal operation. However, in the absence of such protocols or loss of normal device operation, network device 202-2 may fall back to the routing information in table 600, thereby enabling connection with neighboring devices 202-1 and 202-7.
In accordance with principles of the invention, the routing information in table 600 may be dynamic such that modifications to the information made during supplementation configuration/updating/maintenance of the initial protocol results in updating of the corresponding information in routing table 600. For example, assume that table 600 was initially configured to include a route from device 202-2 (with an address of 1.1.1.1) to 202-7 (as designated by device 202-7's assigned device level address 1.1.1.2) on link L1. Subsequent to this initial configuration, the device level address assigned to device 202-7 may be modified by the overlying protocol (e.g., OSPF). Consistent with principles of the invention, network device 202-2 may modify the content of table 600 to reflect the change identified or even triggered by the overlying protocol.
It may be possible for multiple underlying protocols to exist on a single network device 202. In this instance, a hierarchy of protocols may be established to enable efficient determination of which protocol should establish the device level addressing and announcement scheme described above. For example, network device 202-2 may run both OSPF and ARP. It may be established that OSPF is responsible for initially establishing and maintaining the persistent device level routes in table 600. In this manner, although ARP may be fully suitable for establishing the routes, there is no conflict between the two protocols.
FIG. 7 is a flow diagram that illustrates additional exemplary processing for enabling communication between two or more network devices 202 via unnumbered or un-addressed interfaces. Initially, processing may begin by receiving a request to access a remote target device at a first network device (act 700). It may then be determined whether a controlling routing protocol is running on the remote target device, thereby enabling remote access of the target device (act 702). When it is determined that the controlling routing protocol is running on the remote target device, the remote target device may be accessed using the routing protocol (act 704).
When it is determined that the controlling routing protocol is not running on the remote target device (e.g., that routes associated with the protocol have been lost or removed), a remote device neighboring the target device may be accessed (act 706). The static routing information stored in the manner described above with respect to FIG. 5 may then be used to facilitate a connection from the neighboring device to the target device using the target device's device level address and link information (act 708). The target device may then be accessed and administered using the established connection (act 710).
CONCLUSION
The foregoing description describes implementations of network devices that communicate via unnumbered or un-addressed interfaces in the absence of an underlying or controlling routing protocol.
The foregoing description of exemplary embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. For example, configurations other than those described may be possible.
While series of acts have been described with regard to FIGS. 5 and 7, the order of the acts may be modified in other implementations. Further, non-dependent blocks may be performed in parallel. Further, the blocks may be modified in other ways.
It will be apparent that aspects, as described above, 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 aspects is not limiting of the present invention. Thus, the operation and behavior of the aspects were described without reference to the specific software code—it being understood that software and control hardware could be designed to implement the aspects 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 invention. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification.
No element, act, or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. The scope of the invention is defined by the following claims and their equivalents.

Claims (21)

1. A method comprising:
assigning a single device level address to a network device;
announcing the device level address to a neighboring network device over a link;
receiving a device level address associated with the neighboring network device over the link;
storing a route including the received device level address associated with the neighboring network device and an identifier associated with the link;
receiving a remote request to access the neighboring network device;
determining whether a routing protocol is operating correctly on the neighboring network device; and
accessing the neighboring network device via the stored route, using the received device level address and the identifier associated with the link, when the routing protocol is not operating correctly on the neighboring network device.
2. The method of claim 1, where assigning the single device level address further comprises one of:
receiving the device level address from a network administrator; or
automatically receiving the device level address.
3. The method of claim 2, where automatically receiving the device level address includes automatically receiving the device level address from a dynamic host configuration protocol (DHCP) server.
4. The method of claim 1, where announcing the device level address to a neighboring network device, further comprises:
receiving a request to configure a routing protocol on the network device; and
broadcasting the device level address to the neighboring network device over the link during configuration of the routing protocol.
5. The method of claim 4, where the routing protocol is any one of: an open shortest path first (OSPF) protocol, an address resolution protocol (ARP), a point-to-point protocol (PPP), or an intermediate system to intermediate system (IS-IS) protocol.
6. The method of claim 1, where storing the route further comprises:
storing the received device level address associated with the neighboring network device and the identifier associated with the link in a non-volatile, non-protocol specific routing table.
7. The method of claim 1, further comprising:
assigning a priority level to the route lower than those assigned to underlying routing protocols, such that routes associated with the underlying routing protocols are given priority over the route including the received device level address associated with the neighboring network device and the link.
8. The method of claim 1, where the device level address is announced to a number of neighboring network devices over respective links, and device level addresses associated with each of the neighboring network device is received over the respective links.
9. The method of claim 1, where the route includes a media access control (MAC) address associated with the neighboring network device.
10. The method of claim 1, where the route includes a multiprotocol labeling system (MPLS) label associated with the neighboring network device.
11. A method, comprising:
receiving a first device level address from a neighboring network device over a link;
announcing a second device level address to the neighboring network device over the link;
storing a route, including the first device level address and an identifier associated with the link, in a nonvolatile memory;
receiving a remote request to access the neighboring network device;
determining whether a routing protocol is operating correctly on the neighboring network device; and
accessing the neighboring device via the stored route, using the first device level address and the identifier associated with the link, when the routing protocol is not operating correctly on the neighboring network device.
12. The method of claim 11, where storing the route further comprises storing the route in a static routing table, the route including the device level address of the neighboring network device, and a link identifier indicating an interface through which the neighboring network device is physically connected.
13. The method of claim 11, further comprising:
assigning a priority level to the route lower than those assigned to underlying routing protocols, such that routes associated with the underlying routing protocols are given priority over the route including the first device level address and the link.
14. A system comprising:
a network device for receiving and forwarding traffic in a computer network, the network device to:
receive a first device level address identifying the network device;
announce the first device level address to a neighboring network device over an interface;
receive a second device level address from the neighboring network device;
store a persistent route between the first device level address and the second device level address via the interface in a nonvolatile memory, the persistent route including the second device level address and an identifier associated with a link between the network device and the neighboring network device;
receive a remote request to access the neighboring network device;
determine whether a routing protocol is operating correctly on the neighboring network device; and
access the neighboring device via the stored persistent route, using the second device level address and the identifier associated with the link, when the routing protocol is not operating correctly on the neighboring network device.
15. The system of claim 14, where the first device level address is received from a network administrator.
16. The system of claim 14, where the first device level address is received from a dynamic host configuration protocol (DHCP) server.
17. The system of claim 14, where the first device level address is received automatically during device configuration.
18. The system of claim 14, where the network device is further to:
assign a first priority to the persistent route between the first device level address and the second device level address via the interface,
where the first priority is lower than a second priority associated with protocol routes.
19. The system of claim 14, where the network device is further to:
receive a protocol configuration command; and
announce the first device level address to a neighboring network device over an interface during protocol configuration.
20. The system of claim 19, where the protocol is a layer 2 or a layer 3 routing protocol.
21. The system of claim 19, where the protocol is one of: an open shortest path first (OSPF) protocol, an address resolution protocol (ARP), a point-to-point protocol (PPP), or an intermediate system to intermediate system (IS-IS) protocol.
US11/860,187 2007-01-29 2007-09-24 Device communications over unnumbered interfaces Expired - Fee Related US8327016B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/860,187 US8327016B1 (en) 2007-01-29 2007-09-24 Device communications over unnumbered interfaces
US13/692,275 US8732335B2 (en) 2007-01-29 2012-12-03 Device communications over unnumbered interfaces

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US88704807P 2007-01-29 2007-01-29
US11/860,187 US8327016B1 (en) 2007-01-29 2007-09-24 Device communications over unnumbered interfaces

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/692,275 Continuation US8732335B2 (en) 2007-01-29 2012-12-03 Device communications over unnumbered interfaces

Publications (1)

Publication Number Publication Date
US8327016B1 true US8327016B1 (en) 2012-12-04

Family

ID=47226831

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/860,187 Expired - Fee Related US8327016B1 (en) 2007-01-29 2007-09-24 Device communications over unnumbered interfaces
US13/692,275 Active US8732335B2 (en) 2007-01-29 2012-12-03 Device communications over unnumbered interfaces

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/692,275 Active US8732335B2 (en) 2007-01-29 2012-12-03 Device communications over unnumbered interfaces

Country Status (1)

Country Link
US (2) US8327016B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9397895B2 (en) * 2011-12-13 2016-07-19 Viavi Solutions Inc. Method and system for collecting topology information
US10044610B2 (en) * 2013-12-31 2018-08-07 Alcatel Lucent System, method and apparatus providing bi-directional forwarding detection support to unnumbered IP interfaces

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307843B1 (en) * 1997-07-18 2001-10-23 Nec Corporation Ad hoc network of mobile hosts using link table for identifying wireless links and destination addresses
US6434134B1 (en) * 1998-12-11 2002-08-13 Lucent Technologies, Inc. Dynamic address assignment for wireless devices accessing packet-based wired networks
US6675208B1 (en) 1997-10-14 2004-01-06 Lucent Technologies Inc. Registration scheme for network
US6683865B1 (en) * 1999-10-15 2004-01-27 Nokia Wireless Routers, Inc. System for routing and switching in computer networks
US20040022194A1 (en) * 1999-06-18 2004-02-05 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US20040120329A1 (en) * 2002-12-18 2004-06-24 Wen-Tzu Chung SNMP management with a layer 2 bridge device
US20040153573A1 (en) * 2003-01-30 2004-08-05 Byoung-Chul Kim Distributed router for dynamically managing forwarding information and method thereof
US20060047791A1 (en) * 2000-10-23 2006-03-02 Microsoft Corporation System and method of assigning and reclaiming static addresses through the dynamic host configuration protocol
US7058016B1 (en) * 2000-10-12 2006-06-06 Cisco Technology, Inc. Method and system for accelerating route calculation in link state routing protocols
US20060250951A1 (en) * 2003-12-12 2006-11-09 Koji Ueda Path switching system for network
US20070016681A1 (en) * 2005-07-15 2007-01-18 Tomohiko Suzuki Access path management method and program
US20070165532A1 (en) * 2006-01-17 2007-07-19 Cisco Technology, Inc. Techniques for detecting loop-free paths that cross routing information boundaries
US20070245034A1 (en) * 2006-04-18 2007-10-18 Retana Alvaro E Dynamically configuring and verifying routing information of broadcast networks using link state protocols in a computer network

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307843B1 (en) * 1997-07-18 2001-10-23 Nec Corporation Ad hoc network of mobile hosts using link table for identifying wireless links and destination addresses
US6675208B1 (en) 1997-10-14 2004-01-06 Lucent Technologies Inc. Registration scheme for network
US6434134B1 (en) * 1998-12-11 2002-08-13 Lucent Technologies, Inc. Dynamic address assignment for wireless devices accessing packet-based wired networks
US20040022194A1 (en) * 1999-06-18 2004-02-05 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US6683865B1 (en) * 1999-10-15 2004-01-27 Nokia Wireless Routers, Inc. System for routing and switching in computer networks
US7058016B1 (en) * 2000-10-12 2006-06-06 Cisco Technology, Inc. Method and system for accelerating route calculation in link state routing protocols
US20060047791A1 (en) * 2000-10-23 2006-03-02 Microsoft Corporation System and method of assigning and reclaiming static addresses through the dynamic host configuration protocol
US20040120329A1 (en) * 2002-12-18 2004-06-24 Wen-Tzu Chung SNMP management with a layer 2 bridge device
US20040153573A1 (en) * 2003-01-30 2004-08-05 Byoung-Chul Kim Distributed router for dynamically managing forwarding information and method thereof
US20060250951A1 (en) * 2003-12-12 2006-11-09 Koji Ueda Path switching system for network
US20070016681A1 (en) * 2005-07-15 2007-01-18 Tomohiko Suzuki Access path management method and program
US20070165532A1 (en) * 2006-01-17 2007-07-19 Cisco Technology, Inc. Techniques for detecting loop-free paths that cross routing information boundaries
US20070245034A1 (en) * 2006-04-18 2007-10-18 Retana Alvaro E Dynamically configuring and verifying routing information of broadcast networks using link state protocols in a computer network

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
E. Schwartz, Routing, http://www.mit.edu/~elliot/internet/1998/routing-notes.html, printed May 30, 2006, pp. 1-7.
E. Schwartz, Routing, http://www.mit.edu/˜elliot/internet/1998/routing-notes.html, printed May 30, 2006, pp. 1-7.
K. Kompella, The Pros and Cons of "Going Unnumbered", Juniper Networks, Inc., www.juniper.net, printed May 30, 2006, pp. 1-26.

Also Published As

Publication number Publication date
US20130159549A1 (en) 2013-06-20
US8732335B2 (en) 2014-05-20

Similar Documents

Publication Publication Date Title
US11303515B2 (en) IP MPLS PoP virtualization and fault tolerant virtual router
CN108574630B (en) EVPN message processing method, device and system
US9215175B2 (en) Computer system including controller and plurality of switches and communication method in computer system
CN108574616B (en) Method, equipment and system for processing route
EP2109962B1 (en) Triple-tier anycast addressing
JP4796184B2 (en) Edge node redundancy system
US8369296B2 (en) Distributed link aggregation
JP7091923B2 (en) Transfer device, transfer method and program
JP6008801B2 (en) Transmission system, transmission method, and transmission apparatus
US20190182202A1 (en) System and method for route optimization in a multichasiss link aggregation configuration
US20110164508A1 (en) Network relay apparatus, network system, and control method of network relay apparatus
US20080225699A1 (en) Router and method of supporting nonstop packet forwarding on system redundant network
US8493959B2 (en) Multiple media access control (MAC) addresses
US20070081535A1 (en) Method and system for implementing virtual router redundacy protocol on a resilient packet ring
CN106559246B (en) Cluster implementation method and server
JP5891877B2 (en) Relay device and relay method
CN110391951B (en) Ethernet segment identifier adjacency detection processing method and device and storage medium
JP5772434B2 (en) Program, information processing apparatus and method, communication apparatus, relay processing method and program for redundancy control
US20230344751A1 (en) Route Processing Method, Related Apparatus, and Network System
US7869351B2 (en) Communication techniques and generic layer 3 automatic switching protection
US8732335B2 (en) Device communications over unnumbered interfaces
CN113973072A (en) Message sending method, equipment and system
CN113381929A (en) Route processing method, gateway equipment and computer storage medium
US20220231942A1 (en) Packet processing method and related apparatus
JP5588837B2 (en) Transmission equipment

Legal Events

Date Code Title Description
AS Assignment

Owner name: JUNIPER NETWORKS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KOMPELLA, KIREETI;REEL/FRAME:019868/0613

Effective date: 20070921

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20201204