The following appendices are provided in microfiche form and are incorporated herein by reference in their entirety.
Appendix A. Software Source Code, “if_pdcc.c”. The total number of microfiche in Appendix A is 1. The total number of frames in Appendix A is 27.
Appendix B. Software Source Code, “os_lsd.h”. The total number of microfiche in Appendix B is 1. The total number of frames in Appendix B is 5.
Appendix C. Software Source Code, “os_lsd.c”. The total number of microfiche in Appendix C is 1. The total number of frames in Appendix C is 6.
Appendix D. Software Source Code, “ospfLib.c”. The total number of microfiche in Appendix D is 1. The total number of frames in Appendix D is 5.
Appendix E. IETF RFC 1661, “The Point-to-Point Protocol.” The total number of microfiche in Appendix E is 1. The total number of frames in Appendix E is 50.
Appendix F. “Cerent 454 User Documentation” Release 1.0. The total number of microfiche in Appendix F is 4. The total number of frames in Appendix F is 322.
Appendix G. IETF RFC 1583, “OSPF Version 2.” The total number of microfiche in Appendix G is 2. The total number of frames in Appendix G is 196.
Appendix H. IETF RFC 2370, “The OSPF Opaque LSA Option.” The total number of microfiche in Appendix H is 1. The total number of frames in Appendix H is 17.
Appendix I. IETF RFC 1332, “The PPP Internet Protocol Control Protocol (IPCP).” The total number of microfiche in Appendix I is 1. The total number of frames in Appendix I is 6.
Appendix J. IETF RFC 2153, “PPP Vendor Extensions.” The total number of microfiche in Appendix J is 1. The total number of frames in Appendix J is 11.
Appendix K. Software Source Code, “pppvdx.c”. The total number of microfiche in Appendix K is 1. The total number of frames in Appendix K is 8.
Appendix L. Software Source Code “pppvdx.h”. The total number of microfiche in Appendix L is 1. The total number of frames in Appendix L is 4.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. 37 CFR 1.71(e).
1. Field of the Invention
This invention generally relates to communications networks and more particularly to networks having routers and circuit switches.
2. Description of the Related Art
It is well known for routers of messages (in a packet-switched network) to communicate with one another in accordance with the Open Shortest Path First (“OSPF”) protocol, which is governed by a standard of the Internet Engineering Task Force (“IETF”). IETF document RFC 1583 (“IETF RFC 1583”), shown in Appendix G, describes OSPF Version 2 and is incorporated herein by reference in its entirety. IETF documents in general, including RFC 1583, are available at the IETF Internet web site. In OSPF, messages containing information about the location of various routers and interconnections among the routers (also called “network topology”) are sent by the routers to one another. Each router maintains and updates a database of network topology information retrieved from such messages, which are also called “Link State Advertisements” (“LSA”). Each router uses the network topology information to determine the shortest path from itself to all other routers in the network.
The OSPF protocol has been enhanced to support a new class of LSA messages called “Opaque LSAs.” Opaque LSAs are described in IETF RFC 2370, shown in Appendix H and incorporated herein by reference in its entirety. Opaque LSAs consist of a conventional LSA header followed by an information field that may be used directly by OSPF or by other applications. Implementation of Opaque LSAs provides an application interface for 1) encapsulating application-specific information in a specific opaque type, 2) sending and receiving application-specific information, and 3) if required, informing the application of the change in validity of previously received information when topological changes are detected.
This invention relates to a method and associated apparatus for automatically propagating circuit information in a network. In one embodiment, a network includes multiple circuit switches that are coupled together by communications links (“links”). Information relating to a link coupling two circuit switches is automatically propagated on the network using a protocol which is ordinarily used by routers (“packet routing protocol”) in communicating with other routers. Such link related information includes identifiers assigned to the interfaces coupled by the link. Information which is automatically propagated using the packet routing protocol is used to create and maintain a table describing each operational link connecting two circuit switches. By describing a link to a level of detail which includes the interfaces coupled by the link, the table provides a detailed topology of the circuit switches in the network.
In another embodiment, a router and a circuit switch are in a single network element, the network element being part of a network. The network elements in the network are physically coupled together via the circuit switches included in each network element. Because the router and the circuit switch are in the same network element and coupling between network elements are via the circuit switches, the routers form a packet network that is implemented using the circuit switches that, in turn, form a circuit network. Information relating to the links coupling the circuit switches is automatically propagated using a packet routing protocol. Such information is also used to create and maintain a table which is included in all network elements.
In another embodiment, the links connecting the circuit switches are Synchronous Optical Network (“SONET”) links and the packet routing protocol is OSPF. In one embodiment, the OSPF flooding mechanism is used to automatically propagate circuit information (as opposed to packet network type of information). Such circuit information includes a description of the interfaces coupled to a link and other information relating to the link.
The present invention relates to a method and associated apparatus for automatically propagating circuit information in a network.
As shown in
Timing Communications and Control Processor (“TCCP”) 340A provides the main processing function in NE 110A. In one embodiment, TCCP 340A is an MPH850 or MPH860 POWERPC™ processor from Motorola, Inc. Data received through one of the interfaces of interface cards 323A, 324A, and 325A are provided to a Data Communications Channel Processor (“DCCP”) 330A through a switch 322A. DCCP 330A provides communication processing functions such as processing of High-Level Data Link Control (“HDLC”) frames using its HDLC controller. DCCP 330A can be of the type MPC860 POWERPC™ processor from Motorola, Inc. A cross-connect (“XC”) card 301A switches network traffic from one interface to another interface within NE 110A. A random access memory (“RAM”) 350A provides memory storage. For example, a table containing information about interface 326A and other information relating to link 120 can be stored in RAM 350A. The just described portions of NE 110A are also present in the Model 454 and are also described in the above referenced patent application.
In one embodiment, communications links 120-123, shown in
As shown in
In one embodiment, data communications channels (“DCC”) of transport overhead 1210, such as DCC channels 1212 shown in
(Interface_card_slot_location)×1024+2+(Location_of_interface_in_the_interface_card)
For example, the third interface of an interface card in slot location 2 has an ENTITY INDEX of 2053 (i.e. 2×1024+2+3). Identifier 508, “NODE ID,” is equal to the last 4 bytes of the Medium Access Control (“MAC”) address of the network element containing the interface. A MAC address is a unique physical address issued by the Institute of Electrical and Electronics Engineers (IEEE). Identifiers 505-508 uniquely identify the interface (as opposed to the network element, router, or circuit switch) within a network. This allows the creation of a table describing a network's topology to a level of detail which includes the interfaces coupled by a link.
After identifiers are assigned to the interfaces of two adjacent network elements, “keep alive packets” are exchanged between the two network elements to check if the link connecting the interfaces is properly provisioned and operational (step 216,
After a successful exchange of keep alive packets 510, a link connecting two network elements (via circuit switches in the network elements) is deemed “enabled” (i.e. operational) (step 218,
Alternatively, link connection between two circuit switches (step 210,
The layering model of an embodiment of the invention is illustrated in
As described in IETF RFC 1583 (pp. 5-8, IETF RFC 1583), OSPF is classified as an Interior Gateway Protocol (“IGP”). This means that OSPF distributes routing information between routers belonging to an autonomous network (i.e. a group of routers exchanging routing information via a common routing protocol; also referred to in IETF RFC 1583 as an Autonomous System). OSPF has been designed by the OSPF working group of IETF expressly for the TCP/IP Internet environment. OSPF routes IP packets based solely on the destination IP Address and IP Type of service found in the IP packet header. OSPF is a dynamic routing protocol. It quickly detects topological changes in the autonomous network. Each router in the autonomous network maintains a database describing the autonomous network's topology. Each participating router has an identical database. Each individual piece of this database is a particular router's local state (e.g., the router's usable interfaces and reachable neighbors). The router distributes its local state throughout the autonomous network using a process referred to as “flooding” (transmitting or advertising router information to participating routers in the autonomous network). In OSPF, neighbor relationships are established and maintained using the Hello Protocol of OSPF (pp. 45-47, IETF RFC 1583). The topological databases in each of the routers remain identical and synchronized by exchanging link state advertisements (“LSA”) describing the databases (pp. 46-47, IETF RFC 1583). As described in IETF RFC 2370, a class of LSAs referred to as “Opaque LSA” allows the flooding of application-specific information. Standard OSPF link state flooding mechanisms are used to distribute Opaque LSAs to participating routers (pp. 1-2, IETF RFC 2370).
In one embodiment, a protocol which routers ordinarily use in communicating with one another (i.e. a packet routing protocol) is used to automatically discover and propagate information relating to a link connecting two circuit switches. While the invention is illustrated using OSPF and an augmented OSPF Opaque LSA, other packet routing protocols can also be used including the so-called Routing Information Protocol (“RIP”) and the IGRP protocol used by Cisco Systems, Inc. of San Jose, Calif.
Words 830, shown in
In accordance with the invention, field 840 contains the Node ID (identifier 508,
Fields 857-861 contain additional information about the link identified by fields 840, 852-856 (“identified link”). In an embodiment of the invention, fields 857-861 contain the attributes of a SONET link. Field 857 (Flags) has sixteen (16) bits, of which only the last five (5) bits are used. The last lowest two bits of field 857 indicate the SONET protection type of the identified link: “0” for a 2-fiber Bi-Directional Line-Switched Ring (“BLSR”); “1” for a One Plus One (“1+1”); “2” for Virtual Tributary (“VT”) Tunnel; and “3” for no protection. The next higher bit of field 857 indicates the protection role of the identified link (i.e. the function of the identified link in the circuit network): a “0” indicates that the identified link is a protection link whereas a “1” indicates that the identified link is a working link. The next higher two bits indicate whether the identified link is an OC-3 (“0”), an OC-12 (“1”), an OC-48 (“2”), or an OC-192 (“3”). Field 858 (Protection Group) indicates the SONET protection group to which the identified link belongs. Field 859 (BLSR Ring ID) indicates the BLSR ring to which the identified link belongs while field 860 (Advertising Router BLSR Node ID) indicates the BLSR Node ID of the advertising NE in the BLSR Ring identified in field 859. Note that a network element can belong to multiple BLSR rings. Fields 859 and 860 are not used for non-BLSR rings.
Field 861 (Number of Available Contiguous Frames) indicates the maximum available contiguous SONET frames and the granularity (e.g. VT 1.5, STS-1, STS-3, STS-12, STS-48, etc.) of each frame on the identified link. A SONET frame within a larger frame (such as STS-1 frames in an STS-3 frame) is also referred to as a “path.” In
Additional words containing circuit information such as other information about a link coupling two circuit switches can be appended on packet 800. Of course, some of the fields of packet 800 shown in
In accordance with the invention, information relating to a link coupling two circuit switches is automatically discovered and propagated using OSPF flooding mechanisms to exchange packets 800 between network elements. Table 1 below references C programming language source codes used with the aforementioned OSPF protocol software from Wind River Systems, Inc. in one embodiment of the invention. The source codes listed in table 1 are for a specific embodiment and are provided herein solely as an additional example of the invention. Other OSPF protocol software can also be used to practice the invention.
An embodiment of the invention is now illustrated using network 900, shown in
In accordance with the invention, each network element in network 900 floods the network with packets 800 describing interfaces that are coupled to operational links.
The flooding of packets 800 (e.g. 800A, 800B, and 800C) by each network element in network 900 using OSPF flooding mechanisms allows for the creation of a table containing information about each operational link in network 900. After NE 910, NE 920, NE 930, NE 940, and NE 950 have flooded network 900 with packets 800, a table, such as a table 1100 shown in
Table 1100 contains a detailed description of network 900's topology. This is advantageous in a circuit switch network because the specific path, including the specific link between network elements, through which data will be transmitted needs to be known in order to setup the circuit.
The contents of table 1100 are updated using OSPF database synchronization mechanisms (e.g. OSPF link state updates). For example, when a link goes down (i.e. malfunctions), a keep alive request packet from an interface coupled to the downed link will not get acknowledged with a keep alive reply packet. The network element that sent the keep alive request packet determines that the link is down and, subsequently, floods an updated packet 800 to account for the downed link. Each packet 800 has a field 836 (
The description of the invention given above is provided for purposes of illustration and is not intended to be limiting. While the method and associated apparatus are illustrated using a SONET network as an example, the invention is not limited to SONET, not limited to SONET derivatives such as Synchronous Digital Hierarchy (“SDH”) networks, and also not limited to specific SONET/SDH transport systems. Further, the methods disclosed herein can be performed by a computer running software (i.e. program code) stored in a computer-readable medium. The invention is set forth in the following claims.
This application is a divisional of patent application Ser. No. 09/478,287, entitled “Automatic Propagation of Circuit Information in a Communications Network”, filed Jan. 5, 2000 now U.S. Pat. No. 6,614,785, and naming Jin Haui, Anix Anbiah and Gary Baldwin as the inventors. This application is assigned to CISCO TECHNOLOGY, INC., the assignee of the present invention, and is hereby incorporated by reference, in its entirety and for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
4644532 | George et al. | Feb 1987 | A |
4660141 | Ceccon et al. | Apr 1987 | A |
4747100 | Roach et al. | May 1988 | A |
4858232 | Diaz et al. | Aug 1989 | A |
4965790 | Nishino et al. | Oct 1990 | A |
5042062 | Lee et al. | Aug 1991 | A |
5093824 | Coan et al. | Mar 1992 | A |
5167035 | Mann et al. | Nov 1992 | A |
5235599 | Nishimura et al. | Aug 1993 | A |
5278824 | Kremer | Jan 1994 | A |
5341364 | Marra et al. | Aug 1994 | A |
5369653 | Kuroda | Nov 1994 | A |
5390164 | Kremer | Feb 1995 | A |
5406401 | Kremer | Apr 1995 | A |
5408618 | Aho et al. | Apr 1995 | A |
5412652 | Lu | May 1995 | A |
5432789 | Armstrong et al. | Jul 1995 | A |
5442620 | Kremer | Aug 1995 | A |
5493689 | Waclawsky et al. | Feb 1996 | A |
5495484 | Self et al. | Feb 1996 | A |
5583991 | Chatwani et al. | Dec 1996 | A |
5586267 | Chatwani et al. | Dec 1996 | A |
5606664 | Brown et al. | Feb 1997 | A |
5621721 | Vatuone | Apr 1997 | A |
5664107 | Chatwani et al. | Sep 1997 | A |
5715396 | Chatwani et al. | Feb 1998 | A |
5732071 | Saito et al. | Mar 1998 | A |
5742760 | Picazo et al. | Apr 1998 | A |
5781547 | Wilson | Jul 1998 | A |
5796736 | Suzuki | Aug 1998 | A |
5805568 | Shinbashi | Sep 1998 | A |
5812779 | Ciscon et al. | Sep 1998 | A |
5835696 | Hess | Nov 1998 | A |
5898686 | Virgile | Apr 1999 | A |
5928328 | Komori et al. | Jul 1999 | A |
5940376 | Yanacek et al. | Aug 1999 | A |
5949755 | Uphadya et al. | Sep 1999 | A |
5963943 | Cummins et al. | Oct 1999 | A |
5968130 | Okanoue et al. | Oct 1999 | A |
5987026 | Holland | Nov 1999 | A |
5999536 | Kawafuji et al. | Dec 1999 | A |
6009075 | Roberts et al. | Dec 1999 | A |
6026086 | Lancelot et al. | Feb 2000 | A |
6094687 | Drake et al. | Jul 2000 | A |
6122250 | Taniguchi | Sep 2000 | A |
6130887 | Dutta | Oct 2000 | A |
6260062 | Davis et al. | Jul 2001 | B1 |
6285192 | Bley et al. | Sep 2001 | B1 |
6301254 | Chan et al. | Oct 2001 | B1 |
6347336 | Song et al. | Feb 2002 | B1 |
6349096 | Liu et al. | Feb 2002 | B1 |
6366556 | Ballintine et al. | Apr 2002 | B1 |
6385179 | Malcolm et al. | May 2002 | B1 |
6389036 | Stewart et al. | May 2002 | B1 |
6389119 | McBride | May 2002 | B1 |
6393472 | Anerousis et al. | May 2002 | B1 |
6418476 | Luciani | Jul 2002 | B1 |
6434140 | Barany et al. | Aug 2002 | B1 |
6463040 | Dutta | Oct 2002 | B1 |
6535489 | Merchant et al. | Mar 2003 | B1 |
6535529 | Ichihashi | Mar 2003 | B1 |
6587470 | Elliot et al. | Jul 2003 | B1 |
6631134 | Zadikian et al. | Oct 2003 | B1 |
6657969 | Neuendorff et al. | Dec 2003 | B1 |
6674771 | Taniguchi | Jan 2004 | B1 |
6731654 | Champion et al. | May 2004 | B1 |
6788681 | Hurren et al. | Sep 2004 | B1 |
6795917 | Ylonen | Sep 2004 | B1 |
6847644 | Jha | Jan 2005 | B1 |
6870813 | Raza et al. | Mar 2005 | B1 |
20020004828 | Davis et al. | Jan 2002 | A1 |
Number | Date | Country |
---|---|---|
924952 | Jun 1999 | EP |
Number | Date | Country | |
---|---|---|---|
Parent | 09478287 | Jan 2000 | US |
Child | 10620021 | US |