Difference between revisions of "IPv6: OSPF"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
(25 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | Bagian ini akan membahas hal berikut ini, | |
− | + | * Operasi OSPF | |
− | + | * Konfigurasi OSPF | |
− | + | * Troubleshooting OSPF | |
− | Open Shortest Path First (OSPF) | + | Open Shortest Path First (OSPF) dikembangkan oleh Internet Engineering Task Force (IETF) sebagai pengganti RIP yang bermasalah dan sekarang menjadi Interior Gateway Protocol (IGP) yang direkomendasikan oleh IETF. OSPF adalah protokol link-state yang, seperti namanya, menggunakan algoritma Shortest Path First (SPF) Dijkstra dan yang jelas, bukan milik vendor atau organisasi mana pun. OSPF telah berkembang melalui beberapa RFC, yang semuanya ditulis oleh John Moy. Versi 1 protokol ditentukan dalam RFC 1131; versi ini tidak pernah berkembang melampaui tahap eksperimental. Versi 2, yang masih merupakan versi saat ini untuk IPv4, pertama kali ditentukan dalam RFC 1247, dan spesifikasi terbaru adalah RFC 2328. |
− | Engineering Task Force (IETF) | ||
− | |||
− | OSPF | ||
− | Shortest Path First (SPF) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Seperti semua protokol link-state, keunggulan utama OSPF dibandingkan dengan distance vector protocol adalah cepat terkonvergensi, skalabilitas untuk jaringan yang jauh lebih besar, dan lebih tahan terhadap informasi rute yang buruk. Fitur lain dari OSPF adalah | |
− | vector | ||
− | |||
− | |||
− | + | * Penggunaan area, untuk mengurangi dampak protokol pada CPU dan memori, berisi aliran lalu lintas protokol routing, dan memungkinkan pembangunan topologi jaringan hirarkis | |
− | + | * Menganut fully classless, menghilangkan masalah classfull seperti subnet yang tidak contiguous. | |
− | + | * Dukungan pencarian tabel rute tanpa kelas, VLSM, dan supernetting untuk manajemen alamat yang efisien. | |
+ | * Dimensionless, metric sebarang | ||
+ | * Equal-cost load balancing agar lebih effisien untuk digunakan dalam banyak jalur. Lebih tepatnya, RFC menyarankan untuk equal-cost multipath, penemuan dan penggunaan beberapa jalur dengan biaya yang sama, tanpa menentukan bagaimana protokol harus merutekan paket individu di beberapa jalur ini. Implementasi Cisco OSPF melakukan equal-cost load balancing seperti yang dijelaskan dalam bab-bab sebelumnya. | ||
+ | * Penggunaan alamat reseved untuk multicast untuk mengurangi dampak pada perangkat non-OSPF | ||
+ | * Mendukung authentikasi untuk perutean yang lebih aman. | ||
+ | * Penggunaan tag rute untuk pelacakan rute eksternal | ||
− | + | OSPF juga memiliki kemampuan mendukung perutean Jenis Layanan (TOS), meskipun tidak pernah diterapkan secara luas. RFC 2328 telah menghapus opsi perutean TOS karena alasan ini. | |
− | |||
− | |||
− | + | ==Operasi OSPF== | |
− | |||
− | |||
− | + | Karena keterkaitan istilah dan konsep OSPF, pada bagian ini akan didefinisikan istilah yang digunakan sebelum mereka sepenuhnya digunakan. Pembaca disarankan untuk membaca bagian ini lebih dari sekali untuk memastikan pemahaman lengkap tentang operasi OSPF. Akan bermanfaat juga untuk mengulas bagian "Link State Routing Protocols" pada bagian, "Dynamic Routing Protocols." | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Pada level yang lebih tinggi, pengoperasian OSPF mudah dijelaskan: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | # Router-OSPF mengirimkan paket Hello ke semua interface yang mendukung OSPF. Jika dua router yang berbagi data link menyetujui parameter tertentu yang ditentukan dalam paket Hello masing-masing, mereka akan menjadi neighbor. | |
− | + | # Adjacencies, dapat dianggap sebagai tautan point-to-point virtual, dibentuk antara beberapa neighbor. OSPF mendefinisikan beberapa tipe jaringan dan beberapa tipe router. Pembentukan adjacency ditentukan oleh jenis router yang bertukar Hello dan jenis jaringan dimana Hellos dipertukarkan. | |
− | + | # Setiap router mengirim link-state advertisement (LSA) melalui semua adjencencies. LSA menggambarkan semua link router, atau interface, tetangga router, dan keadaan tautan. Tautan ini mungkin untuk mematikan jaringan (jaringan tanpa router lain terpasang), ke router OSPF lain, ke jaringan di area lain, atau ke jaringan eksternal (jaringan belajar dari proses routing lain). Karena berbagai jenis informasi status tautan, OSPF mendefinisikan beberapa jenis LSA. | |
− | + | # Setiap router yang menerima LSA dari tetangga mencatat LSA dalam database link-state dan mengirimkan salinan LSA ke semua tetangga lainnya. | |
− | + | # Dengan membanjiri LSA di seluruh area, semua router akan membangun database link-state yang identik. Ketika database selesai, setiap router menggunakan algoritma SPF untuk menghitung loop-free graph yang menggambarkan jalur terpendek (biaya terendah) ke setiap tujuan yang diketahui, dengan diri sendiri sebagai root. Graph ini adalah SPF tree. | |
+ | # Setiap router membangun tabel rutenya dari SPF tree. | ||
− | + | Prosedur di atas adalah mendasar untuk menghitung rute dari database link-state, daripada bertukar rute dengan tetangga, memiliki dampak untuk penyaringan rute. Hal ini di bahas pada bagian "Filter Route," untuk informasi lebih lanjut. | |
− | + | Ketika semua informasi link-state telah dibanjiri ke semua router di suatu area dan tetangga telah memverifikasi bahwa database mereka identik, yaitu, database link-state telah disinkronkan dan tabel rute telah dibuat, OSPF adalah protokol yang senyap. Paket Hello dipertukarkan antara tetangga sebagai keepalives, dan LSA dikirim ulang setiap 30 menit. Jika topologi jaringan stabil, tidak ada aktivitas lain yang harus dilakukan. | |
− | |||
− | |||
− | |||
− | + | ==Neighbor dan Adjacencies== | |
− | |||
− | |||
− | |||
− | |||
− | + | Sebelum LSA dapat dikirim, router OSPF harus menemukan tetangga mereka dan membangun adjencies. Tetangga akan direkam dalam tabel tetangga, bersama dengan link (interface) di mana setiap tetangga berada dan yang berisi informasi lain yang diperlukan untuk pemeliharaan tetangga (Contoh berikut ini). | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Tabel neighbor mencatat semua OSPF-speaking neighbor. | |
− | |||
− | |||
− | + | IPv4 | |
− | |||
− | |||
− | |||
− | |||
− | + | #show ip ospf neighbor | |
− | + | ||
+ | Neighbor ID Pri State Dead Time Address Interface | ||
+ | 10.10.1.30 1 FULL/DR 00:00:39 10.10.1.30 Ethernet1/1 | ||
+ | 10.10.1.31 1 FULL/BDR 00:00:32 10.10.1.31 Ethernet1/1 | ||
+ | 10.10.1.32 1 2WAY/DROTHER 00:00:34 10.10.1.32 Ethernet1/1 | ||
+ | 10.10.1.33 1 2WAY/DROTHER 00:00:34 10.10.1.33 Ethernet1/1 | ||
+ | 10.10.1.34 1 2WAY/DROTHER 00:00:31 10.10.1.34 Ethernet1/1 | ||
+ | 10.10.1.35 1 2WAY/DROTHER 00:00:30 10.10.1.35 Ethernet1/1 | ||
+ | 10.10.1.36 1 2WAY/DROTHER 00:00:39 10.10.1.36 Ethernet1/1 | ||
− | + | IPv6 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | #show ipv6 ospf neighbor | |
+ | |||
+ | Neighbor ID Pri State Dead Time Interface ID Interface | ||
+ | 10.10.1.31 1 FULL/BDR 00:00:38 6 Ethernet1/1 | ||
+ | 10.10.1.32 1 2WAY/DROTHER 00:00:36 6 Ethernet1/1 | ||
+ | 10.10.1.34 1 2WAY/DROTHER 00:00:31 6 Ethernet1/1 | ||
+ | 10.10.1.36 1 2WAY/DROTHER 00:00:34 6 Ethernet1/1 | ||
+ | 10.10.1.30 1 FULL/DR 00:00:36 6 Ethernet1/1 | ||
+ | 10.10.1.33 1 2WAY/DROTHER 00:00:37 6 Ethernet1/1 | ||
+ | 10.10.1.35 1 2WAY/DROTHER 00:00:33 6 Ethernet1/1 | ||
− | + | Tracking router OSPF lainnya mensyaratkan bahwa setiap router memiliki ID Router, alamat IP yang digunakan router untuk diidentifikasi secara unik di dalam domain OSPF. Router Cisco mendapatkan ID Router mereka dengan cara berikut: | |
− | |||
− | |||
− | |||
− | |||
− | + | # Jika ID Router telah dikonfigurasi secara manual menggunakan perintah router-id, Router ID tersebut digunakan. | |
+ | # Jika tidak ada Router ID yang dikonfigurasikan secara manual, router memilih alamat IP numerik tertinggi pada salah satu interface loopback-nya. | ||
+ | # Jika tidak ada interface loopback yang dikonfigurasi dengan alamat IP, router memilih alamat IP tertinggi secara numerik pada salah satu interface fisiknya. Interface tempat Router ID diambil tidak harus menjalankan OSPF. | ||
− | + | Menggunakan alamat yang terkait dengan interface loopback memiliki dua keunggulan: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | * Interface loopback lebih stabil daripada interface fisik apa pun. Ini aktif ketika router boot, dan hanya gagal jika seluruh router gagal. | |
− | Router ID | + | * Administrator jaringan memiliki lebih banyak kelonggaran dalam menetapkan alamat yang dapat diambil atau dikenali sebagai Router ID. |
− | |||
− | |||
− | + | The Cisco OSPF will continue to use a Router ID learned from a physical interface even if the interface subsequently fails or is deleted (see "Case Study: Setting Router IDs with Loopback Interfaces," later in this chapter). Therefore, the stability of a loopback interface is only a minor | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | The Cisco OSPF will continue to use a Router ID learned from a physical | ||
− | interface even if the interface subsequently fails or is deleted (see "Case | ||
− | Study: Setting Router IDs with Loopback Interfaces," later in this | ||
− | chapter). Therefore, the stability of a loopback interface is only a minor | ||
Seria | Seria | ||
Seria | Seria | ||
Seria | Seria | ||
− | Seriadvantage. The primary benefit is the ability to control the Router ID. | + | Seriadvantage. The primary benefit is the ability to control the Router ID. The OSPF router begins a neighbor relationship by advertising its Router ID in Hello packets. |
− | The OSPF router begins a neighbor relationship by advertising its Router | ||
− | ID in Hello packets. | ||
==Hello Protocol== | ==Hello Protocol== | ||
Line 205: | Line 90: | ||
The Hello protocol serves several purposes: | The Hello protocol serves several purposes: | ||
− | It is the means by which neighbors are discovered. | + | It is the means by which neighbors are discovered. |
− | It advertises several parameters on which two routers must agree before they can become neighbors. | + | It advertises several parameters on which two routers must agree before they can become neighbors. |
− | Hello packets act as keepalives between neighbors. | + | Hello packets act as keepalives between neighbors. |
− | It ensures bidirectional communication between neighbors. | + | It ensures bidirectional communication between neighbors. |
− | It elects Designated Routers (DRs) and Backup Designated Routers | + | It elects Designated Routers (DRs) and Backup Designated Routers |
− | (BDRs) on Broadcast and Nonbroadcast Multiaccess (NBMA) networks. | + | (BDRs) on Broadcast and Nonbroadcast Multiaccess (NBMA) networks. |
− | OSPF-speaking routers periodically send a Hello packet out each OSPF- | + | OSPF-speaking routers periodically send a Hello packet out each OSPF-enabled interface. This period is known as the HelloInterval and is configured on a per interface basis. Cisco uses a default HelloInterval of 10 seconds for broadcast networks and 30 seconds for non-broadcast; the value can be changed with the command ip ospf hello-interval. If a router has not heard a Hello from a neighbor within a period of time known as the RouterDeadInterval, it will declare the neighbor down. The Cisco default RouterDeadInterval is four times the HelloInterval and can be changed with the command ip ospf dead-interval. [4] [4] |
− | enabled interface. This period is known as the HelloInterval and is | ||
− | configured on a per interface basis. Cisco uses a default HelloInterval of | ||
− | 10 seconds for broadcast networks and 30 seconds for non-broadcast; | ||
− | the value can be changed with the command ip ospf hello-interval. If a | ||
− | router has not heard a Hello from a neighbor within a period of time | ||
− | known as the RouterDeadInterval, it will declare the neighbor down. The | ||
− | Cisco default RouterDeadInterval is four times the HelloInterval and can | ||
− | be changed with the command ip ospf dead-interval. [4] | ||
− | [4] | ||
− | RFC 2328 does not set a required value for either the HelloInterval or the | + | RFC 2328 does not set a required value for either the HelloInterval or the RouterDeadInterval, although it does suggest respective values of 10 seconds and 4X HelloInterval.Each Hello packet contains the following information: |
− | RouterDeadInterval, although it does suggest respective values of 10 seconds and 4X | ||
− | HelloInterval.Each Hello packet contains the following information: | ||
− | |||
− | Area ID of the originating router interface. | + | Router ID of the originating router. |
− | Address mask of the originating interface. | + | Area ID of the originating router interface. |
− | Authentication type and authentication information for the originating | + | Address mask of the originating interface. |
− | interface. | + | Authentication type and authentication information for the originating interface. |
− | HelloInterval of the originating interface. | + | HelloInterval of the originating interface. |
− | RouterDeadInterval of the originating interface. | + | RouterDeadInterval of the originating interface. |
− | Router Priority. | + | Router Priority. |
− | DR and BDR. | + | DR and BDR. |
+ | Five flag bits signifying optional capabilities. | ||
− | + | Router IDs of the originating router's neighbors. This list contains only routers from which Hellos were heard on the originating interface within the last RouterDeadInterval. | |
− | Router IDs of the originating router's neighbors. This list contains | ||
− | only routers from which Hellos were heard on the originating | ||
− | interface within the last RouterDeadInterval. | ||
− | This section overviews the meaning and use of most of the information | + | This section overviews the meaning and use of most of the information listed. Subsequent sections discuss the DR, BDR, and Router Priority, and illustrate the precise format of the Hello packet. When a router receives a Hello from a neighbor, it will verify that the Area ID, Authentication, Network Mask, HelloInterval, RouterDeadInterval, and Options values match the values configured on the receiving interface. If they do not, the packet is dropped and no adjacency is established. |
− | listed. Subsequent sections discuss the DR, BDR, and Router Priority, | ||
− | and illustrate the precise format of the Hello packet. When a router | ||
− | receives a Hello from a neighbor, it will verify that the Area ID, | ||
− | Authentication, Network Mask, HelloInterval, RouterDeadInterval, and | ||
− | Options values match the values configured on the receiving interface. If | ||
− | they do not, the packet is dropped and no adjacency is established. | ||
− | If everything matches, the Hello packet is declared valid. If the ID of the | + | If everything matches, the Hello packet is declared valid. If the ID of the originating router is already listed in the neighbor table for that receiving interface, the RouterDeadInterval timer is reset. If the Router ID is notinterface, the RouterDeadInterval timer is reset. If the Router ID is not listed, it is added to the neighbor table. |
− | originating router is already listed in the neighbor table for that receiving | ||
− | interface, the RouterDeadInterval timer is reset. If the Router ID is notinterface, the RouterDeadInterval timer is reset. If the Router ID is not | ||
− | listed, it is added to the neighbor table. | ||
− | Whenever a router sends a Hello, it includes in the packet the Router IDs | + | Whenever a router sends a Hello, it includes in the packet the Router IDs of all neighbors listed for the link on which the packet is to be transmitted. If a router receives a valid Hello in which it finds its own Router ID listed, the router knows that two-way communication has been established. |
− | of all neighbors listed for the link on which the packet is to be transmitted. | + | |
− | If a router receives a valid Hello in which it finds its own Router ID listed, | + | After two-way communication has been established, adjacencies may be established. However, as mentioned earlier, not all neighbors will become adjacent. Whether an adjacency is formed or not depends on the type of network to which the two neighbors are attached. Network types also influence the way in which OSPF packets are transmitted; therefore, before discussing adjacencies, it is necessary to discuss network types. |
− | the router knows that two-way communication has been established. | ||
− | After two-way communication has been established, adjacencies may be | ||
− | established. However, as mentioned earlier, not all neighbors will | ||
− | become adjacent. Whether an adjacency is formed or not depends on the | ||
− | type of network to which the two neighbors are attached. Network types | ||
− | also influence the way in which OSPF packets are transmitted; therefore, | ||
− | before discussing adjacencies, it is necessary to discuss network types. | ||
==Network Types== | ==Network Types== | ||
Line 270: | Line 125: | ||
OSPF defines five network types: | OSPF defines five network types: | ||
− | Point-to-point networks | + | Point-to-point networks |
− | Broadcast networks | + | Broadcast networks |
− | Nonbroadcast Multiaccess (NBMA) networks | + | Nonbroadcast Multiaccess (NBMA) networks |
− | Point-to-multipoint networks | + | Point-to-multipoint networks |
− | Virtual links | + | Virtual links |
− | Point-to-point networks, such as a T1, DS-3, or SONET link, connect a | + | Point-to-point networks, such as a T1, DS-3, or SONET link, connect a single pair of routers. Valid neighbors on point-to-point networks will always become adjacent. The destination address of OSPF packets on these networks will always be the reserved class D address 224.0.0.5, known as AllSPFRouters. [5][5] |
− | single pair of routers. Valid neighbors on point-to-point networks will | ||
− | always become adjacent. The destination address of OSPF packets on | ||
− | these networks will always be the reserved class D address 224.0.0.5, | ||
− | known as AllSPFRouters. [5][5] | ||
− | The exception to this rule is retransmitted LSAs, which are always unicast on all | + | The exception to this rule is retransmitted LSAs, which are always unicast on all network types. This exception is covered later, in the section "Reliable Flooding: Acknowledgments." |
− | network types. This exception is covered later, in the section "Reliable Flooding: | + | |
− | + | Broadcast networks, such as Ethernet, Token Ring, and FDDI, might be better defined as broadcast multi-access networks to distinguish them from NBMA networks. Broadcast networks are multi-access in that they | |
+ | are capable of connecting more than two devices, and they are broadcast in that all attached devices can receive a single transmitted packet. | ||
+ | |||
+ | OSPF routers on broadcast networks will elect a DR and a BDR, as described in the next section, "Designated Routers and Backup Designated Routers." Hello packets are multicast with the AllSPFRouters destination address 224.0.0.5, as are all OSPF packets originated by the DR and BDR. The destination Media Access Control (MAC) identifier of the frames carrying these packets is 0100.5E00.0005. All other routers will multicast link-state update and link-state acknowledgment packets (described later) to the reserved class D address 224.0.0.6, known as AllDRouters. The destination MAC identifier of the frames carrying these packets is 0100.5E00.0006. | ||
+ | |||
+ | NBMA networks, such as X.25, Frame Relay, and ATM, are capable of connecting more than two routers but have no broadcast capability. A packet sent by one of the attached routers would not be received by all other attached routers. As a result, extra configuration might be necessary for routers on these networks to acquire their neighbors. | ||
+ | |||
+ | OSPF routers on NBMA networks elect a DR and BDR, and all OSPF packets are unicast. | ||
+ | |||
+ | Point-to-multipoint networks are a special configuration of NBMA networks in which the networks are treated as a collection of point-to-point links. Routers on these networks do not elect a DR and BDR, and the OSPF packets are unicast to each known neighbor. | ||
+ | |||
+ | Virtual links, described in a later section, are special configurations that are interpreted by the router as unnumbered point-to-point networks. OSPF packets are unicast over virtual links. | ||
+ | |||
+ | In addition to these five network types, it should be noted that all networks fall into one of two more-general types:networks fall into one of two more-general types: | ||
+ | |||
+ | * Transit networks have two or more attached routers. They might carry packets that are "just passing through"packets that were originated on and are destined for a network other than the transit network. | ||
+ | |||
+ | * Stub networks have only a single attached router. [6] Packets on a stub network always have either a source or a destination address belonging to that network. That is, all packets were either originated by a device on the network or are destined for a device on the network. OSPF advertises host routes (routes with a mask of 255.255.255.255) as stub networks. Loopback interfaces are also considered stub networks and are advertised as host routes. [7] [6] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Do not confuse stub networks with stub areas, discussed later in the chapter. | Do not confuse stub networks with stub areas, discussed later in the chapter. | ||
[7] | [7] | ||
− | Beginning with IOS 11.3, this default behavior can be changed by adding the | + | Beginning with IOS 11.3, this default behavior can be changed by adding the command ip ospf network point-to-point to the loopback interface. This will cause the loopback interface's address to be advertised as a subnet route. |
− | command ip ospf network point-to-point to the loopback interface. This will | + | |
− | cause the loopback interface's address to be advertised as a subnet route. | + | Designated Routers and Backup Designated Routers Multiaccess networks present two problems for OSPF, relating to the flooding of LSAs (described in a later section): |
− | Designated Routers and Backup Designated Routers | + | |
− | Multiaccess networks present two problems for OSPF, relating to the | + | The formation of an adjacency between every attached router would create many unnecessary LSAs. If n is the number of routers on a multiaccess network, there would be n(n 1)/2 adjacencies (Figure 8-1). Each router would flood n 1 LSAs for its adjacent neighbors, plus one LSA for the network, resulting in n 2 LSAs originating from the network. |
− | flooding of LSAs (described in a later section): | + | |
− | The formation of an adjacency between every attached router would | + | Figure 8-1. Ten adjacencies would be required for each of the five routers on this OSPF network to becomeof the five routers on this OSPF network to become fully adjacent with all of its neighbors; 25 LSAs would be originated from the network. |
− | create many unnecessary LSAs. If n is the number of routers on a | + | |
− | multiaccess network, there would be n(n 1)/2 adjacencies (Figure 8- | + | Flooding on the network itself would be chaotic and excessive. A router would flood an LSA to all its adjacent neighbors, which in turn would flood it to all their adjacent neighbors, creating many copies of the same LSA on the same network. |
− | 1). Each router would flood n 1 LSAs for its adjacent neighbors, plus | + | |
− | one LSA for the network, resulting in n 2 LSAs originating from the | + | To prevent these problems, a DR is elected on multi-access networks. The DR has the following duties: |
− | network. | + | |
− | Figure 8-1. Ten adjacencies would be required for each | + | * To represent the multi-access network and its attached routers to therest of the OSPF area |
− | of the five routers on this OSPF network to becomeof the five routers on this OSPF network to become | + | * To manage the flooding process on the multi-access network The concept behind the DR is that the broadcast link itself is considered a "pseudonode," or a virtual router. When the SPF tree is calculated, the link appears as a node and the routers attached to the link are attached to that node. The cost from an attached router to the pseudonode is the outgoing cost of that router's interface to the broadcast link, but the cost from the pseudonode to any attached router is 0. This way, the overall |
− | fully adjacent with all of its neighbors; 25 LSAs would | ||
− | be originated from the network. | ||
− | Flooding on the network itself would be chaotic and excessive. A | ||
− | router would flood an LSA to all its adjacent neighbors, which in turn | ||
− | would flood it to all their adjacent neighbors, creating many copies of | ||
− | the same LSA on the same network. | ||
− | To prevent these problems, a DR is elected on multi-access networks. | ||
− | The DR has the following duties: | ||
− | To represent the multi-access network and its attached routers to therest of the OSPF area | ||
− | To manage the flooding process on the multi-access network | ||
− | The concept behind the DR is that the broadcast link itself is considered | ||
− | a "pseudonode," or a virtual router. When the SPF tree is calculated, the | ||
− | link appears as a node and the routers attached to the link are attached | ||
− | to that node. The cost from an attached router to the pseudonode is the | ||
− | outgoing cost of that router's interface to the broadcast link, but the cost | ||
− | from the pseudonode to any attached router is 0. This way, the overall | ||
path cost is not affected by the pseudonode. | path cost is not affected by the pseudonode. | ||
− | Each router on the network forms an adjacency with the DR (Figure 8-2), | + | |
− | which represents the pseudonode with a special Network LSA. Keep in | + | Each router on the network forms an adjacency with the DR (Figure 8-2), which represents the pseudonode with a special Network LSA. Keep in mind that a router might be a DR on one of its attached multi-access |
− | mind that a router might be a DR on one of its attached multi-access | + | networks, and it might not be the DR on another of its attached multi-access networks. In other words, the DR is a property of a router's interface, not the entire router. |
− | networks, and it might not be the DR on another of its attached multi- | + | |
− | access networks. In other words, the DR is a property of a router's | ||
− | interface, not the entire router. | ||
Figure 8-2. The DR represents the multi-access network. | Figure 8-2. The DR represents the multi-access network. | ||
− | Other routers on the network will form adjacencies with the | + | |
− | DR, not with each other.A significant problem with the DR scheme as described so far is that if | + | Other routers on the network will form adjacencies with the DR, not with each other.A significant problem with the DR scheme as described so far is that if the DR fails, a new DR must be elected. New adjacencies must be established, and all routers on the network must synchronize their databases with the new DR (part of the adjacency-building process). |
− | the DR fails, a new DR must be elected. New adjacencies must be | + | |
− | established, and all routers on the network must synchronize their | ||
− | databases with the new DR (part of the adjacency-building process). | ||
While all this is happening, the network is unavailable for transit packets. | While all this is happening, the network is unavailable for transit packets. | ||
− | To prevent this problem, a BDR is elected in addition to the DR. All | + | |
− | routers form adjacencies not only with the DR but also with the BDR. The | + | To prevent this problem, a BDR is elected in addition to the DR. All routers form adjacencies not only with the DR but also with the BDR. The DR and BDR also become adjacent with each other. If the DR fails, the BDR becomes the new DR. Because the other routers on the network are already adjacent with the BDR, network unavailability is minimized. |
− | DR and BDR also become adjacent with each other. If the DR fails, the | + | |
− | BDR becomes the new DR. Because the other routers on the network | + | The election of the DR and BDR is triggered by the interface state machine, which is described in a later section. For the election process to function properly, the following preconditions must exist:Each multi-access interface of each router has a Router Priority, which is an 8-bit unsigned integer ranging from 0 to 255. The default priority on Cisco routers is 1 and can be changed on a per multi-access-interface basis with the command ip ospf priority. Routers with a priority of 0 are ineligible to become the DR or BDR. |
− | are already adjacent with the BDR, network unavailability is minimized. | + | |
− | The election of the DR and BDR is triggered by the interface state | + | Hello packets include fields for the originating router to specify its Router Priority and for the IP addresses of the connected interfaces of the routers it considers the DR and BDR. |
− | machine, which is described in a later section. For the election process to | + | |
− | function properly, the following preconditions must exist:Each multi-access interface of each router has a Router Priority, | + | When an interface first becomes active on a multi-access network, it sets the DR and BDR to 0.0.0.0. It also sets a wait timer with a value equal to the RouterDeadInterval. |
− | which is an 8-bit unsigned integer ranging from 0 to 255. The default | + | |
− | priority on Cisco routers is 1 and can be changed on a per multi- | + | Existing interfaces on a multi-access network record the addresses of the DR and the BDR in the interface data structure, described in a later section. |
− | access-interface basis with the command ip ospf priority. Routers | + | |
− | with a priority of 0 are ineligible to become the DR or BDR. | ||
− | Hello packets include fields for the originating router to specify its | ||
− | Router Priority and for the IP addresses of the connected interfaces | ||
− | of the routers it considers the DR and BDR. | ||
− | When an interface first becomes active on a multi-access network, it | ||
− | sets the DR and BDR to 0.0.0.0. It also sets a wait timer with a value | ||
− | equal to the RouterDeadInterval. | ||
− | Existing interfaces on a multi-access network record the addresses | ||
− | of the DR and the BDR in the interface data structure, described in a | ||
− | later section. | ||
The election procedure of the DR and BDR is as follows: | The election procedure of the DR and BDR is as follows: | ||
− | 1. After two-way communication has been established with one or more | + | |
− | neighbors, examine the Priority, DR, and BDR fields of each | + | 1. After two-way communication has been established with one or more neighbors, examine the Priority, DR, and BDR fields of each neighbor's Hello. List all routers eligible for election (that is, routers with priority greater than 0 and whose neighbor state is at least two-way); all routers declaring themselves to be the DR (their own interface address is in the DR field of the Hello packet); and all routers declaring themselves to be the BDR (their own interface address is in the BDR field of the Hello packet). The calculating router will include itself on this list unless it is ineligible. |
− | neighbor's Hello. List all routers eligible for election (that is, routers | + | |
− | with priority greater than 0 and whose neighbor state is at least two- | + | 2. From the list of eligible routers, create a subset of all routers not claiming to be the DR (routers declaring themselves to be the DR cannot be elected BDR). |
− | way); all routers declaring themselves to be the DR (their own | + | |
− | interface address is in the DR field of the Hello packet); and all | + | 3. If one or more neighbors in this subset include its own interface address in the BDR field, the neighbor with the highest priority will be declared the BDR. In a tie, the neighbor with the highest Router IDdeclared the BDR. In a tie, the neighbor with the highest Router ID will be chosen. |
− | routers declaring themselves to be the BDR (their own interface | + | |
− | address is in the BDR field of the Hello packet). The calculating | + | 4. If no router in the subset claims to be the BDR, the neighbor with the highest priority will become the BDR. In a tie, the neighbor with the highest Router ID will be chosen. |
− | router will include itself on this list unless it is ineligible. | + | |
− | 2. From the list of eligible routers, create a subset of all routers not | + | 5. If one or more of the eligible routers include their own address in the DR field, the neighbor with the highest priority will be declared the DR. In a tie, the neighbor with the highest Router ID will be chosen. |
− | claiming to be the DR (routers declaring themselves to be the DR | + | |
− | cannot be elected BDR). | + | 6. If no router has declared itself the DR, the newly elected BDR will become the DR. |
− | 3. If one or more neighbors in this subset include its own interface | + | |
− | address in the BDR field, the neighbor with the highest priority will be | + | 7. If the router performing the calculation is the newly elected DR or BDR, or if it is no longer the DR or BDR, repeat steps 2 through 6. In simpler language, when an OSPF router becomes active and discovers its neighbors, it checks for an active DR and BDR. If a DR and BDR exist, the router accepts them. If there is no BDR, an election is held in which the router with the highest priority becomes the BDR. If more than one router has the same priority, the one with the numerically highest Router ID wins. If there is no active DR, the BDR is promoted to DR and a new election is held for the BDR. |
− | declared the BDR. In a tie, the neighbor with the highest Router IDdeclared the BDR. In a tie, the neighbor with the highest Router ID | + | |
− | will be chosen. | + | It should be noted that the priority can influence an election, but will not override an active DR or BDR. That is, if a router with a higher priority becomes active after a DR and BDR have been elected, the new router will not replace either of them. So the first two DR-eligible routers to initialize on a multiaccess network will become the DR and BDR. |
− | 4. If no router in the subset claims to be the BDR, the neighbor with the | + | |
− | highest priority will become the BDR. In a tie, the neighbor with the | + | After the DR and BDR have been elected, the other routers (known as DRothers) will establish adjacencies with the DR and BDR only. All router continue to multicast Hellos to the AllSPFRouters address 224.0.0.5 so that they can track neighbors, but DRothers multicast update packets to the AllDRouters address 224.0.0.6. Only the DR andBDR will listen to this address; in turn, the DR will flood the updates to the DRothers on 224.0.0.5. |
− | highest Router ID will be chosen. | + | |
− | 5. If one or more of the eligible routers include their own address in the | + | Note that if only one eligible router is attached to a multiaccess network, that router will become the DR and there will be no BDR. Any other routers will form adjacencies only with the DR. If none of the routers attached to a multi-access network are eligible, there will be no DR or BDR and no adjacencies will form. The neighbor states of all routers will remain two-way (explained later, in "Neighbor State Machine"). |
− | DR field, the neighbor with the highest priority will be declared the | + | |
− | DR. In a tie, the neighbor with the highest Router ID will be chosen. | + | The duties performed by the DR and BDR are described more fully in subsequent sections. |
− | 6. If no router has declared itself the DR, the newly elected BDR will | + | |
− | become the DR. | + | ==OSPF Interfaces== |
− | 7. If the router performing the calculation is the newly elected DR or | + | |
− | BDR, or if it is no longer the DR or BDR, repeat steps 2 through 6. | ||
− | In simpler language, when an OSPF router becomes active and | ||
− | discovers its neighbors, it checks for an active DR and BDR. If a DR and | ||
− | BDR exist, the router accepts them. If there is no BDR, an election is held | ||
− | in which the router with the highest priority becomes the BDR. If more | ||
− | than one router has the same priority, the one with the numerically | ||
− | highest Router ID wins. If there is no active DR, the BDR is promoted to | ||
− | DR and a new election is held for the BDR. | ||
− | It should be noted that the priority can influence an election, but will not | ||
− | override an active DR or BDR. That is, if a router with a higher priority | ||
− | becomes active after a DR and BDR have been elected, the new router | ||
− | will not replace either of them. So the first two DR-eligible routers to | ||
− | initialize on a multiaccess network will become the DR and BDR. | ||
− | After the DR and BDR have been elected, the other routers (known as | ||
− | DRothers) will establish adjacencies with the DR and BDR only. All | ||
− | |||
− | 224.0.0.5 so that they can track neighbors, but DRothers multicast | ||
− | update packets to the AllDRouters address 224.0.0.6. Only the DR andBDR will listen to this address; in turn, the DR will flood the updates to | ||
− | the DRothers on 224.0.0.5. | ||
− | Note that if only one eligible router is attached to a multiaccess network, | ||
− | that router will become the DR and there will be no BDR. Any other | ||
− | routers will form adjacencies only with the DR. If none of the routers | ||
− | attached to a multi-access network are eligible, there will be no DR or | ||
− | BDR and no adjacencies will form. The neighbor states of all routers will | ||
− | remain two-way (explained later, in "Neighbor State Machine"). | ||
− | The duties performed by the DR and BDR are described more fully in | ||
− | subsequent sections. | ||
− | OSPF Interfaces | ||
The essence of a link-state protocol is that it is concerned with links and | The essence of a link-state protocol is that it is concerned with links and | ||
the state of those links. Before Hellos can be sent, before adjacencies | the state of those links. Before Hellos can be sent, before adjacencies | ||
Line 458: | Line 225: | ||
section examines the data structure OSPF associates with each interface | section examines the data structure OSPF associates with each interface | ||
and the various states of an OSPF interface. | and the various states of an OSPF interface. | ||
− | Interface Data Structure | + | |
− | An OSPF router maintains a data structure for each OSPF-enabled | + | ==Interface Data Structure== |
− | interface. In Example 8-2, the command show ip ospf interface has | + | |
− | been used to observe the components of an interface data structure. [8] | + | An OSPF router maintains a data structure for each OSPF-enabled interface. In Example 8-2, the command show ip ospf interface has been used to observe the components of an interface data structure. [8][8] |
− | [8] | + | |
− | Depending on the version of IOS you are running, the output of this command might | + | Depending on the version of IOS you are running, the output of this command might show more information than is discussed here; but this information is essential to every OSPF interface.Example 8-2. The OSPF-specific data related to an interface can be observed with the command show ip ospf interface. |
− | show more information than is discussed here; but this information is essential to every | + | |
− | OSPF interface.Example 8-2. The OSPF-specific data related to an interface | + | In this example, the interface is attached to a point-to-point network type. |
− | can be observed with the command show ip ospf interface. | + | |
− | In this example, the interface is attached to a point-to-point | + | Renoir#show ip ospf interface Serial1.738 |
− | network type. | + | Serial1.738 is up, line protocol is up |
− | Renoir#show ip ospf interface Serial1.738 | + | Internet Address 192.168.21.21/30, Area 7 |
− | Serial1.738 is up, line protocol is up | + | Process ID 1, Router ID 192.168.30.70, Network Type POINT_TO |
− | Internet Address 192.168.21.21/30, Area 7 | + | Transmit Delay is 1 sec, State POINT_TO_POINT, |
− | Process ID 1, Router ID 192.168.30.70, Network Type POINT_TO | + | Timer intervals configured, Hello 10, Dead 40, Wait 40, Retr |
− | Transmit Delay is 1 sec, State POINT_TO_POINT, | + | Hello due in 00:00:07 |
− | Timer intervals configured, Hello 10, Dead 40, Wait 40, Retr | + | Neighbor Count is 1, Adjacent neighbor count is 1 |
− | Hello due in 00:00:07 | + | Adjacent with neighbor 192.168.30.77 |
− | Neighbor Count is 1, Adjacent neighbor count is 1 | + | Message digest authentication enabled |
− | Adjacent with neighbor 192.168.30.77 | + | Youngest key id is 10 |
− | Message digest authentication enabled | + | |
− | Youngest key id is 10 | ||
The components of the interface data structure are as follows: | The components of the interface data structure are as follows: | ||
− | IP Address and Mask This component is the configured address | + | |
− | and mask of the interface. OSPF packets originated from this | + | IP Address and Mask This component is the configured address and mask of the interface. OSPF packets originated from this interface will have this source address. In Example 8-2, the address/mask pair is 192.168.21.21/30. |
− | interface will have this source address. In Example 8-2, the | + | |
− | address/mask pair is 192.168.21.21/30. | + | Area ID The area to which the interface, and the network to which it is attached, belong. OSPF packets originated from this interface will have this Area ID. In Example 8-2, the area ID is 7. |
− | Area ID The area to which the interface, and the network to which it | + | |
− | is attached, belong. OSPF packets originated from this interface will | + | Process ID This Cisco-specific feature is not part of the open standard. Cisco routers are capable of running multiple OSPF processes and use the Process ID to distinguish them. The Process ID has no significance outside the router on which it is configured. In Example 8-2, the Process ID is 1.Router ID In Example 8-2, the Router ID is 192.168.30.70. |
− | have this Area ID. In Example 8-2, the area ID is 7. | + | |
− | Process ID This Cisco-specific feature is not part of the open | + | Network Type The type of network to which the interface is connected: broadcast, point-to-point, NBMA, point-to-multipoint, or virtual link. In Example 8-2, the network type is point-to-point. [9][9] |
− | standard. Cisco routers are capable of running multiple OSPF | + | |
− | processes and use the Process ID to distinguish them. The Process | + | Depending on the version of IOS you are running, the output of this command might show more information than is discussed here; but this information is essential to every OSPF interface. |
− | ID has no significance outside the router on which it is configured. In | + | |
− | Example 8-2, the Process ID is 1.Router ID In Example 8-2, the Router ID is 192.168.30.70. | + | Cost The outgoing cost for packets transmitted from this interface. Cost is the OSPF metric, expressed as an unsigned 16-bit integer in the range of 1 to 65535. Cisco uses a default cost of 10 8 /BW, expressed in whole numbers, where BW is the configured bandwidth of the interface and 10 8 is the reference bandwidth. The interface in Example 8-2 has a configured bandwidth of 128K (not shown in the |
− | Network Type The type of network to which the interface is | ||
− | connected: broadcast, point-to-point, NBMA, point-to-multipoint, or | ||
− | virtual link. In Example 8-2, the network type is point-to-point. [9] | ||
− | [9] | ||
− | Depending on the version of IOS you are running, the | ||
− | output of this command might show more information than | ||
− | is discussed here; but this information is essential to every | ||
− | OSPF interface. | ||
− | Cost The outgoing cost for packets transmitted from this interface. | ||
− | Cost is the OSPF metric, expressed as an unsigned 16-bit integer in | ||
− | the range of 1 to 65535. Cisco uses a default cost of 10 8 /BW, | ||
− | expressed in whole numbers, where BW is the configured bandwidth | ||
− | of the interface and 10 8 is the reference bandwidth. The interface in | ||
− | Example 8-2 has a configured bandwidth of 128K (not shown in the | ||
example), so the cost is 10 8 /128K = 781. | example), so the cost is 10 8 /128K = 781. | ||
− | The cost can be changed with the command ip ospf cost. This | + | |
− | command is especially important when configuring Cisco routers in a | + | The cost can be changed with the command ip ospf cost. This command is especially important when configuring Cisco routers in a multivendor environment. Another vendor, for example, might use a default cost of 1 on all interfaces (essentially making OSPF cost reflect hop counts). If all routers do not assign costs in the same manner, OSPF can route improperly, suboptimally, or in some other unexpected way. |
− | multivendor environment. Another vendor, for example, might use a | + | |
− | default cost of 1 on all interfaces (essentially making OSPF cost reflect | + | The reference bandwidth of 10 8 creates a problem for some modern media with bandwidths higher than 100M (such as OC-3 or above and Gigabit Ethernet). 10 8 /100M = 1, meaning that higher bandwidths calculate to a fraction of 1, which is not allowed. So any cost that is calculated to a fraction of 1 is rounded up to 1. However, this means that if your network consists of high-bandwidth links, all interfaces wind up with a cost of 1 and the calculated shortest paths become based on least router hops. To remedy this, Cisco provides the command auto-cost reference-bandwidth, which allows the default reference bandwidth tobe changed. |
− | hop counts). If all routers do not assign costs in the same manner, OSPF | + | |
− | can route improperly, suboptimally, or in some other unexpected way. | + | Other components of the interface data structure are as follows: InfTransDelay The seconds by which LSAs exiting the interface will have their ages incremented. In Example 8-2, this is displayed as Transmit Delay and is shown to be the Cisco default, 1 second. InfTransDelay can be changed with the command ip ospf transmit-delay. |
− | The reference bandwidth of 10 8 creates a problem for some modern | + | |
− | media with bandwidths higher than 100M (such as OC-3 or above and | + | State The functional state of the interface, which is described in the following section, "Interface State Machine." |
− | Gigabit Ethernet). 10 8 /100M = 1, meaning that higher bandwidths | + | |
− | calculate to a fraction of 1, which is not allowed. So any cost that is | + | Router Priority This 8-bit unsigned integer in the range of 0 to 255 elects the DR and BDR. The priority is not displayed in Example 8-2 because the network type is point-to-point; no DR or BDR is elected on this network type. Example 8-3 shows another OSPF interface in the same router. This interface shows an attached network type of broadcast, so a DR and BDR are elected. The priority shown is 1, the Cisco default. The command ip ospf priority is used to change the Router Priority. |
− | calculated to a fraction of 1 is rounded up to 1. However, this means that | + | |
− | if your network consists of high-bandwidth links, all interfaces wind up | + | Example 8-3. This interface is attached to a broadcast network type, and the router is the DR on this network. |
− | with a cost of 1 and the calculated shortest paths become based on least | + | |
− | router hops. To remedy this, Cisco provides the command auto-cost | + | Renoir#show ip ospf interface Ethernet0 |
− | reference-bandwidth, which allows the default reference bandwidth tobe changed. | + | Ethernet0 is up, line protocol is up |
− | Other components of the interface data structure are as follows: | + | Internet Address 192.168.17.73/29, Area 0 |
− | InfTransDelay The seconds by which LSAs exiting the interface will | + | Process ID 1, Router ID 192.168.30.70, Network Type BROADCAS |
− | have their ages incremented. In Example 8-2, this is displayed as | + | Transmit Delay is 1 sec, State DR, Priority 1 |
− | Transmit Delay and is shown to be the Cisco default, 1 second. | + | Designated Router (ID) 192.168.30.70, Interface address 192. |
− | InfTransDelay can be changed with the command ip ospf transmit- | + | Backup Designated router (ID) 192.168.30.80, Interface addre |
− | delay. | + | Timer intervals configured, Hello 10, Dead 40, Wait 40, RetAdjacent with neighbor 192.168.30.80 (Backup Designated R |
− | State The functional state of the interface, which is described in the | + | Message digest authentication enabled |
− | following section, "Interface State Machine." | + | Youngest key id is 10 |
− | Router Priority This 8-bit unsigned integer in the range of 0 to 255 | + | |
− | elects the DR and BDR. The priority is not displayed in Example 8-2 | + | Designated Router The DR for the network to which the interface is attached is recorded both by its Router ID and by the address of the interface attached to the shared network. Note that no DR is displayed in Example 8-2; it will be displayed only for multi-access network types. In Example 8-3, the DR is 192.168.30.70. The address of its attached interface is 192.168.17.73. A look at the Router ID, the interface address, and the interface state shows that Renoir is the DR. |
− | because the network type is point-to-point; no DR or BDR is elected | + | |
− | on this network type. Example 8-3 shows another OSPF interface in | + | Backup Designated Router The BDR for the network to which the interface is attached is also recorded both by its Router ID and by the address of the attached interface. In Example 8-3, the BDR is |
− | the same router. This interface shows an attached network type of | ||
− | broadcast, so a DR and BDR are elected. The priority shown is 1, | ||
− | the Cisco default. The command ip ospf priority is used to change | ||
− | the Router Priority. | ||
− | Example 8-3. This interface is attached to a broadcast | ||
− | network type, and the router is the DR on this network. | ||
− | Renoir#show ip ospf interface Ethernet0 | ||
− | Ethernet0 is up, line protocol is up | ||
− | Internet Address 192.168.17.73/29, Area 0 | ||
− | Process ID 1, Router ID 192.168.30.70, Network Type BROADCAS | ||
− | Transmit Delay is 1 sec, State DR, Priority 1 | ||
− | Designated Router (ID) 192.168.30.70, Interface address 192. | ||
− | Backup Designated router (ID) 192.168.30.80, Interface addre | ||
− | Timer intervals configured, Hello 10, Dead 40, Wait 40, RetAdjacent with neighbor 192.168.30.80 (Backup Designated R | ||
− | Message digest authentication enabled | ||
− | Youngest key id is 10 | ||
− | Designated Router The DR for the network to which the interface is | ||
− | attached is recorded both by its Router ID and by the address of the | ||
− | interface attached to the shared network. Note that no DR is | ||
− | displayed in Example 8-2; it will be displayed only for multi-access | ||
− | network types. In Example 8-3, the DR is 192.168.30.70. The | ||
− | address of its attached interface is 192.168.17.73. A look at the | ||
− | Router ID, the interface address, and the interface state shows that | ||
− | Renoir is the DR. | ||
− | Backup Designated Router The BDR for the network to which the | ||
− | interface is attached is also recorded both by its Router ID and by | ||
− | the address of the attached interface. In Example 8-3, the BDR is | ||
192.168.30.80, and its interface address is 192.168.17.74. | 192.168.30.80, and its interface address is 192.168.17.74. | ||
− | HelloInterval The period, in seconds, between transmissions of | + | |
− | Hello packets on the interface. This period is advertised in Hello | + | HelloInterval The period, in seconds, between transmissions of Hello packets on the interface. This period is advertised in Hello packets that are transmitted from the interface. Cisco uses a default of 10 seconds on broadcast networks and 30 seconds on non-broadcast networks, which can be changed with the command ip ospf hello-interval. Example 8-3 displays HelloInterval as Hello and shows that the default is being used. |
− | packets that are transmitted from the interface. Cisco uses a default | + | |
− | of 10 seconds on broadcast networks and 30 seconds on non- | + | RouterDeadInterval The period, in seconds, that the router will wait to hear a Hello from a neighbor on the network to which the interface is connected before declaring the neighbor down. The RouterDeadInterval is advertised in Hello packets transmitted from the interface. Cisco uses a default of four times the HelloInterval; the default can be changed with the command ip ospf dead-interval. |
− | broadcast networks, which can be changed with the command ip | + | Example 8-3 displays the RouterDeadInterval as Dead and shows that the default is being used.Wait Timer The length of time the router will wait for a DR and BDR to be advertised in a neighbor's Hello packet before beginning a DR and BDR selection. The period of the wait timer is the RouterDeadInterval. In Example 8-2, the wait time is irrelevant because the interface is attached to a point-to-point network; no DR or BDR will be used. |
− | ospf hello-interval. Example 8-3 displays HelloInterval as Hello and | + | |
− | shows that the default is being used. | + | RxmtInterval The period, in seconds, the router will wait between retransmissions of OSPF packets that have not been acknowledged. Example 8-3 displays this period as retransmit and shows that the Cisco default of five seconds is being used. An interface's RxmtInterval can be changed with the command ip ospf retransmit-interval. |
− | RouterDeadInterval The period, in seconds, that the router will wait | + | |
− | to hear a Hello from a neighbor on the network to which the interface | + | Hello Timer A timer that is set to the HelloInterval. When it expires, a Hello packet is transmitted from the interface. Example 8-3 shows that the Hello timer will expire in three seconds. |
− | is connected before declaring the neighbor down. The | + | |
− | RouterDeadInterval is advertised in Hello packets transmitted from | + | Neighboring Routers A list of all valid neighbors (neighbors whose Hellos have been seen within the past RouterDeadInterval) on the attached network. Example 8-4 shows yet another interface on the same router. Here, five neighbors are known on the network, but only two are adjacent (the Router IDs of only the adjacent neighbors are displayed). As a DRother on this network, the router has established an adjacency only with the DR and the BDR, in keeping with the DR protocol. |
− | the interface. Cisco uses a default of four times the HelloInterval; the | + | |
− | default can be changed with the command ip ospf dead-interval. | + | Example 8-4. On this network, the router sees five neighbors but has only formed adjacencies with the DR |
− | Example 8-3 displays the RouterDeadInterval as Dead and shows | ||
− | that the default is being used.Wait Timer The length of time the router will wait for a DR and BDR | ||
− | to be advertised in a neighbor's Hello packet before beginning a DR | ||
− | and BDR selection. The period of the wait timer is the | ||
− | RouterDeadInterval. In Example 8-2, the wait time is irrelevant | ||
− | because the interface is attached to a point-to-point network; no DR | ||
− | or BDR will be used. | ||
− | RxmtInterval The period, in seconds, the router will wait between | ||
− | retransmissions of OSPF packets that have not been acknowledged. | ||
− | Example 8-3 displays this period as retransmit and shows that the | ||
− | Cisco default of five seconds is being used. An interface's | ||
− | RxmtInterval can be changed with the command ip ospf retransmit- | ||
− | interval. | ||
− | Hello Timer A timer that is set to the HelloInterval. When it expires, | ||
− | a Hello packet is transmitted from the interface. Example 8-3 shows | ||
− | that the Hello timer will expire in three seconds. | ||
− | Neighboring Routers A list of all valid neighbors (neighbors whose | ||
− | Hellos have been seen within the past RouterDeadInterval) on the | ||
− | attached network. Example 8-4 shows yet another interface on the | ||
− | same router. Here, five neighbors are known on the network, but | ||
− | only two are adjacent (the Router IDs of only the adjacent neighbors | ||
− | are displayed). As a DRother on this network, the router has | ||
− | established an adjacency only with the DR and the BDR, in keeping | ||
− | with the DR protocol. | ||
− | Example 8-4. On this network, the router sees five | ||
− | neighbors but has only formed adjacencies with the DR | ||
and the BDR. | and the BDR. | ||
− | Renoir#show ip ospf interface Ethernet1 | + | |
− | Ethernet1 is up, line protocol is up | + | Renoir#show ip ospf interface Ethernet1 |
− | Internet Address 192.168.32.4/24, Area 78Process ID 1, Router ID 192.168.30.70, Network Type BROADCAS | + | Ethernet1 is up, line protocol is up |
− | Transmit Delay is 1 sec, State DROTHER, Priority 1 | + | Internet Address 192.168.32.4/24, Area 78Process ID 1, Router ID 192.168.30.70, Network Type BROADCAS |
− | Designated Router (ID) 192.168.30.254, Interface address 192 | + | Transmit Delay is 1 sec, State DROTHER, Priority 1 |
− | Backup Designated router (ID) 192.168.30.80, Interface addre | + | Designated Router (ID) 192.168.30.254, Interface address 192 |
− | Timer intervals configured, Hello 10, Dead 40, Wait 40, Retr | + | Backup Designated router (ID) 192.168.30.80, Interface addre |
− | Hello due in 00:00:01 | + | Timer intervals configured, Hello 10, Dead 40, Wait 40, Retr |
− | Neighbor Count is 5, Adjacent neighbor count is 2 | + | Hello due in 00:00:01 |
− | Adjacent with neighbor 192.168.30.80 (Backup Designated R | + | Neighbor Count is 5, Adjacent neighbor count is 2 |
− | Adjacent with neighbor 192.168.30.254 (Designated Router) | + | Adjacent with neighbor 192.168.30.80 (Backup Designated R |
− | Message digest authentication enabled | + | Adjacent with neighbor 192.168.30.254 (Designated Router) |
− | Youngest key id is 10 | + | Message digest authentication enabled |
− | AuType Describes the type of authentication used on the network. | + | Youngest key id is 10 |
− | The authentication type may be Null (no authentication), Simple | + | |
− | Password, or Cryptographic (Message Digest). Example 8-4 shows | + | AuType Describes the type of authentication used on the network. The authentication type may be Null (no authentication), Simple Password, or Cryptographic (Message Digest). Example 8-4 shows that Message Digest authentication is being used. If Null authentication is used, no authentication type or key information will be displayed when show ip ospf interface is invoked. |
− | that Message Digest authentication is being used. If Null | + | |
− | authentication is used, no authentication type or key information will | + | Authentication Key A 64-bit password if simple authentication has been enabled for the interface or a message digest key if Cryptographic authentication is used. Example 8-4 shows that the "youngest key ID" is 10. This alludes to the fact that Cryptographic authentication allows the configuration of multiple keys on an interface to ensure smooth and secure key changes. |
− | be displayed when show ip ospf interface is invoked. | ||
− | Authentication Key A 64-bit password if simple authentication has | ||
− | been enabled for the interface or a message digest key if | ||
− | Cryptographic authentication is used. Example 8-4 shows that the | ||
− | "youngest key ID" is 10. This alludes to the fact that Cryptographic | ||
− | authentication allows the configuration of multiple keys on an | ||
− | interface to ensure smooth and secure key changes. | ||
Example 8-5 shows an interface that is connected to an NBMA network. | Example 8-5 shows an interface that is connected to an NBMA network. | ||
Notice that the HelloInterval is 30 seconds, the default for NBMA, and | Notice that the HelloInterval is 30 seconds, the default for NBMA, and | ||
Line 633: | Line 325: | ||
HelloInterval. | HelloInterval. | ||
Example 8-5. This interface is attached to a NBMA Frame | Example 8-5. This interface is attached to a NBMA Frame | ||
− | Relay network and is the BDR for this network.Renoir#show ip ospf interface Serial3 | + | Relay network and is the BDR for this network. |
− | Serial3 is up, line protocol is up | + | |
− | Internet Address 192.168.16.41/30, Area 0 | + | Renoir#show ip ospf interface Serial3 |
− | Process ID 1, Router ID 192.168.30.105, Network Type NON_BRO | + | Serial3 is up, line protocol is up |
− | Transmit Delay is 1 sec, State BDR, Priority 1 | + | Internet Address 192.168.16.41/30, Area 0 |
− | Designated Router (ID) 192.168.30.210, Interface address 192 | + | Process ID 1, Router ID 192.168.30.105, Network Type NON_BRO |
− | Backup Designated router (ID) 192.168.30.105, Interface addr | + | Transmit Delay is 1 sec, State BDR, Priority 1 |
− | Timer intervals configured, Hello 30, Dead 120, Wait 120, Re | + | Designated Router (ID) 192.168.30.210, Interface address 192 |
− | Hello due in 00:00:08 | + | Backup Designated router (ID) 192.168.30.105, Interface addr |
− | Neighbor Count is 1, Adjacent neighbor count is 1 | + | Timer intervals configured, Hello 30, Dead 120, Wait 120, Re |
− | Adjacent with neighbor 192.168.30.210 (Designated Router) | + | Hello due in 00:00:08 |
+ | Neighbor Count is 1, Adjacent neighbor count is 1 | ||
+ | Adjacent with neighbor 192.168.30.210 (Designated Router) | ||
+ | |||
It is worthwhile to spend some time comparing Example 8-2 through | It is worthwhile to spend some time comparing Example 8-2 through | ||
Example 8-5. All four interfaces are on the same router, yet on each | Example 8-5. All four interfaces are on the same router, yet on each | ||
Line 649: | Line 344: | ||
state dictates the role of the OSPF router on a network. The next section | state dictates the role of the OSPF router on a network. The next section | ||
describes the various interface states and the interface state machine. | describes the various interface states and the interface state machine. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
==Pranala Menarik== | ==Pranala Menarik== | ||
* [[IPv6: Advanced Routing]] | * [[IPv6: Advanced Routing]] |
Latest revision as of 11:07, 11 April 2019
Bagian ini akan membahas hal berikut ini,
- Operasi OSPF
- Konfigurasi OSPF
- Troubleshooting OSPF
Open Shortest Path First (OSPF) dikembangkan oleh Internet Engineering Task Force (IETF) sebagai pengganti RIP yang bermasalah dan sekarang menjadi Interior Gateway Protocol (IGP) yang direkomendasikan oleh IETF. OSPF adalah protokol link-state yang, seperti namanya, menggunakan algoritma Shortest Path First (SPF) Dijkstra dan yang jelas, bukan milik vendor atau organisasi mana pun. OSPF telah berkembang melalui beberapa RFC, yang semuanya ditulis oleh John Moy. Versi 1 protokol ditentukan dalam RFC 1131; versi ini tidak pernah berkembang melampaui tahap eksperimental. Versi 2, yang masih merupakan versi saat ini untuk IPv4, pertama kali ditentukan dalam RFC 1247, dan spesifikasi terbaru adalah RFC 2328.
Seperti semua protokol link-state, keunggulan utama OSPF dibandingkan dengan distance vector protocol adalah cepat terkonvergensi, skalabilitas untuk jaringan yang jauh lebih besar, dan lebih tahan terhadap informasi rute yang buruk. Fitur lain dari OSPF adalah
- Penggunaan area, untuk mengurangi dampak protokol pada CPU dan memori, berisi aliran lalu lintas protokol routing, dan memungkinkan pembangunan topologi jaringan hirarkis
- Menganut fully classless, menghilangkan masalah classfull seperti subnet yang tidak contiguous.
- Dukungan pencarian tabel rute tanpa kelas, VLSM, dan supernetting untuk manajemen alamat yang efisien.
- Dimensionless, metric sebarang
- Equal-cost load balancing agar lebih effisien untuk digunakan dalam banyak jalur. Lebih tepatnya, RFC menyarankan untuk equal-cost multipath, penemuan dan penggunaan beberapa jalur dengan biaya yang sama, tanpa menentukan bagaimana protokol harus merutekan paket individu di beberapa jalur ini. Implementasi Cisco OSPF melakukan equal-cost load balancing seperti yang dijelaskan dalam bab-bab sebelumnya.
- Penggunaan alamat reseved untuk multicast untuk mengurangi dampak pada perangkat non-OSPF
- Mendukung authentikasi untuk perutean yang lebih aman.
- Penggunaan tag rute untuk pelacakan rute eksternal
OSPF juga memiliki kemampuan mendukung perutean Jenis Layanan (TOS), meskipun tidak pernah diterapkan secara luas. RFC 2328 telah menghapus opsi perutean TOS karena alasan ini.
Operasi OSPF
Karena keterkaitan istilah dan konsep OSPF, pada bagian ini akan didefinisikan istilah yang digunakan sebelum mereka sepenuhnya digunakan. Pembaca disarankan untuk membaca bagian ini lebih dari sekali untuk memastikan pemahaman lengkap tentang operasi OSPF. Akan bermanfaat juga untuk mengulas bagian "Link State Routing Protocols" pada bagian, "Dynamic Routing Protocols."
Pada level yang lebih tinggi, pengoperasian OSPF mudah dijelaskan:
- Router-OSPF mengirimkan paket Hello ke semua interface yang mendukung OSPF. Jika dua router yang berbagi data link menyetujui parameter tertentu yang ditentukan dalam paket Hello masing-masing, mereka akan menjadi neighbor.
- Adjacencies, dapat dianggap sebagai tautan point-to-point virtual, dibentuk antara beberapa neighbor. OSPF mendefinisikan beberapa tipe jaringan dan beberapa tipe router. Pembentukan adjacency ditentukan oleh jenis router yang bertukar Hello dan jenis jaringan dimana Hellos dipertukarkan.
- Setiap router mengirim link-state advertisement (LSA) melalui semua adjencencies. LSA menggambarkan semua link router, atau interface, tetangga router, dan keadaan tautan. Tautan ini mungkin untuk mematikan jaringan (jaringan tanpa router lain terpasang), ke router OSPF lain, ke jaringan di area lain, atau ke jaringan eksternal (jaringan belajar dari proses routing lain). Karena berbagai jenis informasi status tautan, OSPF mendefinisikan beberapa jenis LSA.
- Setiap router yang menerima LSA dari tetangga mencatat LSA dalam database link-state dan mengirimkan salinan LSA ke semua tetangga lainnya.
- Dengan membanjiri LSA di seluruh area, semua router akan membangun database link-state yang identik. Ketika database selesai, setiap router menggunakan algoritma SPF untuk menghitung loop-free graph yang menggambarkan jalur terpendek (biaya terendah) ke setiap tujuan yang diketahui, dengan diri sendiri sebagai root. Graph ini adalah SPF tree.
- Setiap router membangun tabel rutenya dari SPF tree.
Prosedur di atas adalah mendasar untuk menghitung rute dari database link-state, daripada bertukar rute dengan tetangga, memiliki dampak untuk penyaringan rute. Hal ini di bahas pada bagian "Filter Route," untuk informasi lebih lanjut.
Ketika semua informasi link-state telah dibanjiri ke semua router di suatu area dan tetangga telah memverifikasi bahwa database mereka identik, yaitu, database link-state telah disinkronkan dan tabel rute telah dibuat, OSPF adalah protokol yang senyap. Paket Hello dipertukarkan antara tetangga sebagai keepalives, dan LSA dikirim ulang setiap 30 menit. Jika topologi jaringan stabil, tidak ada aktivitas lain yang harus dilakukan.
Neighbor dan Adjacencies
Sebelum LSA dapat dikirim, router OSPF harus menemukan tetangga mereka dan membangun adjencies. Tetangga akan direkam dalam tabel tetangga, bersama dengan link (interface) di mana setiap tetangga berada dan yang berisi informasi lain yang diperlukan untuk pemeliharaan tetangga (Contoh berikut ini).
Tabel neighbor mencatat semua OSPF-speaking neighbor.
IPv4
#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 10.10.1.30 1 FULL/DR 00:00:39 10.10.1.30 Ethernet1/1 10.10.1.31 1 FULL/BDR 00:00:32 10.10.1.31 Ethernet1/1 10.10.1.32 1 2WAY/DROTHER 00:00:34 10.10.1.32 Ethernet1/1 10.10.1.33 1 2WAY/DROTHER 00:00:34 10.10.1.33 Ethernet1/1 10.10.1.34 1 2WAY/DROTHER 00:00:31 10.10.1.34 Ethernet1/1 10.10.1.35 1 2WAY/DROTHER 00:00:30 10.10.1.35 Ethernet1/1 10.10.1.36 1 2WAY/DROTHER 00:00:39 10.10.1.36 Ethernet1/1
IPv6
#show ipv6 ospf neighbor Neighbor ID Pri State Dead Time Interface ID Interface 10.10.1.31 1 FULL/BDR 00:00:38 6 Ethernet1/1 10.10.1.32 1 2WAY/DROTHER 00:00:36 6 Ethernet1/1 10.10.1.34 1 2WAY/DROTHER 00:00:31 6 Ethernet1/1 10.10.1.36 1 2WAY/DROTHER 00:00:34 6 Ethernet1/1 10.10.1.30 1 FULL/DR 00:00:36 6 Ethernet1/1 10.10.1.33 1 2WAY/DROTHER 00:00:37 6 Ethernet1/1 10.10.1.35 1 2WAY/DROTHER 00:00:33 6 Ethernet1/1
Tracking router OSPF lainnya mensyaratkan bahwa setiap router memiliki ID Router, alamat IP yang digunakan router untuk diidentifikasi secara unik di dalam domain OSPF. Router Cisco mendapatkan ID Router mereka dengan cara berikut:
- Jika ID Router telah dikonfigurasi secara manual menggunakan perintah router-id, Router ID tersebut digunakan.
- Jika tidak ada Router ID yang dikonfigurasikan secara manual, router memilih alamat IP numerik tertinggi pada salah satu interface loopback-nya.
- Jika tidak ada interface loopback yang dikonfigurasi dengan alamat IP, router memilih alamat IP tertinggi secara numerik pada salah satu interface fisiknya. Interface tempat Router ID diambil tidak harus menjalankan OSPF.
Menggunakan alamat yang terkait dengan interface loopback memiliki dua keunggulan:
- Interface loopback lebih stabil daripada interface fisik apa pun. Ini aktif ketika router boot, dan hanya gagal jika seluruh router gagal.
- Administrator jaringan memiliki lebih banyak kelonggaran dalam menetapkan alamat yang dapat diambil atau dikenali sebagai Router ID.
The Cisco OSPF will continue to use a Router ID learned from a physical interface even if the interface subsequently fails or is deleted (see "Case Study: Setting Router IDs with Loopback Interfaces," later in this chapter). Therefore, the stability of a loopback interface is only a minor Seria Seria Seria Seriadvantage. The primary benefit is the ability to control the Router ID. The OSPF router begins a neighbor relationship by advertising its Router ID in Hello packets.
Hello Protocol
The Hello protocol serves several purposes:
It is the means by which neighbors are discovered. It advertises several parameters on which two routers must agree before they can become neighbors. Hello packets act as keepalives between neighbors. It ensures bidirectional communication between neighbors. It elects Designated Routers (DRs) and Backup Designated Routers (BDRs) on Broadcast and Nonbroadcast Multiaccess (NBMA) networks.
OSPF-speaking routers periodically send a Hello packet out each OSPF-enabled interface. This period is known as the HelloInterval and is configured on a per interface basis. Cisco uses a default HelloInterval of 10 seconds for broadcast networks and 30 seconds for non-broadcast; the value can be changed with the command ip ospf hello-interval. If a router has not heard a Hello from a neighbor within a period of time known as the RouterDeadInterval, it will declare the neighbor down. The Cisco default RouterDeadInterval is four times the HelloInterval and can be changed with the command ip ospf dead-interval. [4] [4]
RFC 2328 does not set a required value for either the HelloInterval or the RouterDeadInterval, although it does suggest respective values of 10 seconds and 4X HelloInterval.Each Hello packet contains the following information:
Router ID of the originating router. Area ID of the originating router interface. Address mask of the originating interface. Authentication type and authentication information for the originating interface. HelloInterval of the originating interface. RouterDeadInterval of the originating interface. Router Priority. DR and BDR. Five flag bits signifying optional capabilities.
Router IDs of the originating router's neighbors. This list contains only routers from which Hellos were heard on the originating interface within the last RouterDeadInterval.
This section overviews the meaning and use of most of the information listed. Subsequent sections discuss the DR, BDR, and Router Priority, and illustrate the precise format of the Hello packet. When a router receives a Hello from a neighbor, it will verify that the Area ID, Authentication, Network Mask, HelloInterval, RouterDeadInterval, and Options values match the values configured on the receiving interface. If they do not, the packet is dropped and no adjacency is established.
If everything matches, the Hello packet is declared valid. If the ID of the originating router is already listed in the neighbor table for that receiving interface, the RouterDeadInterval timer is reset. If the Router ID is notinterface, the RouterDeadInterval timer is reset. If the Router ID is not listed, it is added to the neighbor table.
Whenever a router sends a Hello, it includes in the packet the Router IDs of all neighbors listed for the link on which the packet is to be transmitted. If a router receives a valid Hello in which it finds its own Router ID listed, the router knows that two-way communication has been established.
After two-way communication has been established, adjacencies may be established. However, as mentioned earlier, not all neighbors will become adjacent. Whether an adjacency is formed or not depends on the type of network to which the two neighbors are attached. Network types also influence the way in which OSPF packets are transmitted; therefore, before discussing adjacencies, it is necessary to discuss network types.
Network Types
OSPF defines five network types:
Point-to-point networks Broadcast networks Nonbroadcast Multiaccess (NBMA) networks Point-to-multipoint networks Virtual links
Point-to-point networks, such as a T1, DS-3, or SONET link, connect a single pair of routers. Valid neighbors on point-to-point networks will always become adjacent. The destination address of OSPF packets on these networks will always be the reserved class D address 224.0.0.5, known as AllSPFRouters. [5][5]
The exception to this rule is retransmitted LSAs, which are always unicast on all network types. This exception is covered later, in the section "Reliable Flooding: Acknowledgments."
Broadcast networks, such as Ethernet, Token Ring, and FDDI, might be better defined as broadcast multi-access networks to distinguish them from NBMA networks. Broadcast networks are multi-access in that they are capable of connecting more than two devices, and they are broadcast in that all attached devices can receive a single transmitted packet.
OSPF routers on broadcast networks will elect a DR and a BDR, as described in the next section, "Designated Routers and Backup Designated Routers." Hello packets are multicast with the AllSPFRouters destination address 224.0.0.5, as are all OSPF packets originated by the DR and BDR. The destination Media Access Control (MAC) identifier of the frames carrying these packets is 0100.5E00.0005. All other routers will multicast link-state update and link-state acknowledgment packets (described later) to the reserved class D address 224.0.0.6, known as AllDRouters. The destination MAC identifier of the frames carrying these packets is 0100.5E00.0006.
NBMA networks, such as X.25, Frame Relay, and ATM, are capable of connecting more than two routers but have no broadcast capability. A packet sent by one of the attached routers would not be received by all other attached routers. As a result, extra configuration might be necessary for routers on these networks to acquire their neighbors.
OSPF routers on NBMA networks elect a DR and BDR, and all OSPF packets are unicast.
Point-to-multipoint networks are a special configuration of NBMA networks in which the networks are treated as a collection of point-to-point links. Routers on these networks do not elect a DR and BDR, and the OSPF packets are unicast to each known neighbor.
Virtual links, described in a later section, are special configurations that are interpreted by the router as unnumbered point-to-point networks. OSPF packets are unicast over virtual links.
In addition to these five network types, it should be noted that all networks fall into one of two more-general types:networks fall into one of two more-general types:
- Transit networks have two or more attached routers. They might carry packets that are "just passing through"packets that were originated on and are destined for a network other than the transit network.
- Stub networks have only a single attached router. [6] Packets on a stub network always have either a source or a destination address belonging to that network. That is, all packets were either originated by a device on the network or are destined for a device on the network. OSPF advertises host routes (routes with a mask of 255.255.255.255) as stub networks. Loopback interfaces are also considered stub networks and are advertised as host routes. [7] [6]
Do not confuse stub networks with stub areas, discussed later in the chapter. [7] Beginning with IOS 11.3, this default behavior can be changed by adding the command ip ospf network point-to-point to the loopback interface. This will cause the loopback interface's address to be advertised as a subnet route.
Designated Routers and Backup Designated Routers Multiaccess networks present two problems for OSPF, relating to the flooding of LSAs (described in a later section):
The formation of an adjacency between every attached router would create many unnecessary LSAs. If n is the number of routers on a multiaccess network, there would be n(n 1)/2 adjacencies (Figure 8-1). Each router would flood n 1 LSAs for its adjacent neighbors, plus one LSA for the network, resulting in n 2 LSAs originating from the network.
Figure 8-1. Ten adjacencies would be required for each of the five routers on this OSPF network to becomeof the five routers on this OSPF network to become fully adjacent with all of its neighbors; 25 LSAs would be originated from the network.
Flooding on the network itself would be chaotic and excessive. A router would flood an LSA to all its adjacent neighbors, which in turn would flood it to all their adjacent neighbors, creating many copies of the same LSA on the same network.
To prevent these problems, a DR is elected on multi-access networks. The DR has the following duties:
- To represent the multi-access network and its attached routers to therest of the OSPF area
- To manage the flooding process on the multi-access network The concept behind the DR is that the broadcast link itself is considered a "pseudonode," or a virtual router. When the SPF tree is calculated, the link appears as a node and the routers attached to the link are attached to that node. The cost from an attached router to the pseudonode is the outgoing cost of that router's interface to the broadcast link, but the cost from the pseudonode to any attached router is 0. This way, the overall
path cost is not affected by the pseudonode.
Each router on the network forms an adjacency with the DR (Figure 8-2), which represents the pseudonode with a special Network LSA. Keep in mind that a router might be a DR on one of its attached multi-access networks, and it might not be the DR on another of its attached multi-access networks. In other words, the DR is a property of a router's interface, not the entire router.
Figure 8-2. The DR represents the multi-access network.
Other routers on the network will form adjacencies with the DR, not with each other.A significant problem with the DR scheme as described so far is that if the DR fails, a new DR must be elected. New adjacencies must be established, and all routers on the network must synchronize their databases with the new DR (part of the adjacency-building process).
While all this is happening, the network is unavailable for transit packets.
To prevent this problem, a BDR is elected in addition to the DR. All routers form adjacencies not only with the DR but also with the BDR. The DR and BDR also become adjacent with each other. If the DR fails, the BDR becomes the new DR. Because the other routers on the network are already adjacent with the BDR, network unavailability is minimized.
The election of the DR and BDR is triggered by the interface state machine, which is described in a later section. For the election process to function properly, the following preconditions must exist:Each multi-access interface of each router has a Router Priority, which is an 8-bit unsigned integer ranging from 0 to 255. The default priority on Cisco routers is 1 and can be changed on a per multi-access-interface basis with the command ip ospf priority. Routers with a priority of 0 are ineligible to become the DR or BDR.
Hello packets include fields for the originating router to specify its Router Priority and for the IP addresses of the connected interfaces of the routers it considers the DR and BDR.
When an interface first becomes active on a multi-access network, it sets the DR and BDR to 0.0.0.0. It also sets a wait timer with a value equal to the RouterDeadInterval.
Existing interfaces on a multi-access network record the addresses of the DR and the BDR in the interface data structure, described in a later section.
The election procedure of the DR and BDR is as follows:
1. After two-way communication has been established with one or more neighbors, examine the Priority, DR, and BDR fields of each neighbor's Hello. List all routers eligible for election (that is, routers with priority greater than 0 and whose neighbor state is at least two-way); all routers declaring themselves to be the DR (their own interface address is in the DR field of the Hello packet); and all routers declaring themselves to be the BDR (their own interface address is in the BDR field of the Hello packet). The calculating router will include itself on this list unless it is ineligible.
2. From the list of eligible routers, create a subset of all routers not claiming to be the DR (routers declaring themselves to be the DR cannot be elected BDR).
3. If one or more neighbors in this subset include its own interface address in the BDR field, the neighbor with the highest priority will be declared the BDR. In a tie, the neighbor with the highest Router IDdeclared the BDR. In a tie, the neighbor with the highest Router ID will be chosen.
4. If no router in the subset claims to be the BDR, the neighbor with the highest priority will become the BDR. In a tie, the neighbor with the highest Router ID will be chosen.
5. If one or more of the eligible routers include their own address in the DR field, the neighbor with the highest priority will be declared the DR. In a tie, the neighbor with the highest Router ID will be chosen.
6. If no router has declared itself the DR, the newly elected BDR will become the DR.
7. If the router performing the calculation is the newly elected DR or BDR, or if it is no longer the DR or BDR, repeat steps 2 through 6. In simpler language, when an OSPF router becomes active and discovers its neighbors, it checks for an active DR and BDR. If a DR and BDR exist, the router accepts them. If there is no BDR, an election is held in which the router with the highest priority becomes the BDR. If more than one router has the same priority, the one with the numerically highest Router ID wins. If there is no active DR, the BDR is promoted to DR and a new election is held for the BDR.
It should be noted that the priority can influence an election, but will not override an active DR or BDR. That is, if a router with a higher priority becomes active after a DR and BDR have been elected, the new router will not replace either of them. So the first two DR-eligible routers to initialize on a multiaccess network will become the DR and BDR.
After the DR and BDR have been elected, the other routers (known as DRothers) will establish adjacencies with the DR and BDR only. All router continue to multicast Hellos to the AllSPFRouters address 224.0.0.5 so that they can track neighbors, but DRothers multicast update packets to the AllDRouters address 224.0.0.6. Only the DR andBDR will listen to this address; in turn, the DR will flood the updates to the DRothers on 224.0.0.5.
Note that if only one eligible router is attached to a multiaccess network, that router will become the DR and there will be no BDR. Any other routers will form adjacencies only with the DR. If none of the routers attached to a multi-access network are eligible, there will be no DR or BDR and no adjacencies will form. The neighbor states of all routers will remain two-way (explained later, in "Neighbor State Machine").
The duties performed by the DR and BDR are described more fully in subsequent sections.
OSPF Interfaces
The essence of a link-state protocol is that it is concerned with links and the state of those links. Before Hellos can be sent, before adjacencies can be formed, and before LSAs can be sent, an OSPF router must understand its own links. A router's interfaces are the means by which OSPF interprets links. As a result, when speaking of OSPF, it is not uncommon to hear the terms interface and link used synonymously. This section examines the data structure OSPF associates with each interface and the various states of an OSPF interface.
Interface Data Structure
An OSPF router maintains a data structure for each OSPF-enabled interface. In Example 8-2, the command show ip ospf interface has been used to observe the components of an interface data structure. [8][8]
Depending on the version of IOS you are running, the output of this command might show more information than is discussed here; but this information is essential to every OSPF interface.Example 8-2. The OSPF-specific data related to an interface can be observed with the command show ip ospf interface.
In this example, the interface is attached to a point-to-point network type.
Renoir#show ip ospf interface Serial1.738 Serial1.738 is up, line protocol is up Internet Address 192.168.21.21/30, Area 7 Process ID 1, Router ID 192.168.30.70, Network Type POINT_TO Transmit Delay is 1 sec, State POINT_TO_POINT, Timer intervals configured, Hello 10, Dead 40, Wait 40, Retr Hello due in 00:00:07 Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 192.168.30.77 Message digest authentication enabled Youngest key id is 10
The components of the interface data structure are as follows:
IP Address and Mask This component is the configured address and mask of the interface. OSPF packets originated from this interface will have this source address. In Example 8-2, the address/mask pair is 192.168.21.21/30.
Area ID The area to which the interface, and the network to which it is attached, belong. OSPF packets originated from this interface will have this Area ID. In Example 8-2, the area ID is 7.
Process ID This Cisco-specific feature is not part of the open standard. Cisco routers are capable of running multiple OSPF processes and use the Process ID to distinguish them. The Process ID has no significance outside the router on which it is configured. In Example 8-2, the Process ID is 1.Router ID In Example 8-2, the Router ID is 192.168.30.70.
Network Type The type of network to which the interface is connected: broadcast, point-to-point, NBMA, point-to-multipoint, or virtual link. In Example 8-2, the network type is point-to-point. [9][9]
Depending on the version of IOS you are running, the output of this command might show more information than is discussed here; but this information is essential to every OSPF interface.
Cost The outgoing cost for packets transmitted from this interface. Cost is the OSPF metric, expressed as an unsigned 16-bit integer in the range of 1 to 65535. Cisco uses a default cost of 10 8 /BW, expressed in whole numbers, where BW is the configured bandwidth of the interface and 10 8 is the reference bandwidth. The interface in Example 8-2 has a configured bandwidth of 128K (not shown in the example), so the cost is 10 8 /128K = 781.
The cost can be changed with the command ip ospf cost. This command is especially important when configuring Cisco routers in a multivendor environment. Another vendor, for example, might use a default cost of 1 on all interfaces (essentially making OSPF cost reflect hop counts). If all routers do not assign costs in the same manner, OSPF can route improperly, suboptimally, or in some other unexpected way.
The reference bandwidth of 10 8 creates a problem for some modern media with bandwidths higher than 100M (such as OC-3 or above and Gigabit Ethernet). 10 8 /100M = 1, meaning that higher bandwidths calculate to a fraction of 1, which is not allowed. So any cost that is calculated to a fraction of 1 is rounded up to 1. However, this means that if your network consists of high-bandwidth links, all interfaces wind up with a cost of 1 and the calculated shortest paths become based on least router hops. To remedy this, Cisco provides the command auto-cost reference-bandwidth, which allows the default reference bandwidth tobe changed.
Other components of the interface data structure are as follows: InfTransDelay The seconds by which LSAs exiting the interface will have their ages incremented. In Example 8-2, this is displayed as Transmit Delay and is shown to be the Cisco default, 1 second. InfTransDelay can be changed with the command ip ospf transmit-delay.
State The functional state of the interface, which is described in the following section, "Interface State Machine."
Router Priority This 8-bit unsigned integer in the range of 0 to 255 elects the DR and BDR. The priority is not displayed in Example 8-2 because the network type is point-to-point; no DR or BDR is elected on this network type. Example 8-3 shows another OSPF interface in the same router. This interface shows an attached network type of broadcast, so a DR and BDR are elected. The priority shown is 1, the Cisco default. The command ip ospf priority is used to change the Router Priority.
Example 8-3. This interface is attached to a broadcast network type, and the router is the DR on this network.
Renoir#show ip ospf interface Ethernet0 Ethernet0 is up, line protocol is up Internet Address 192.168.17.73/29, Area 0 Process ID 1, Router ID 192.168.30.70, Network Type BROADCAS Transmit Delay is 1 sec, State DR, Priority 1 Designated Router (ID) 192.168.30.70, Interface address 192. Backup Designated router (ID) 192.168.30.80, Interface addre Timer intervals configured, Hello 10, Dead 40, Wait 40, RetAdjacent with neighbor 192.168.30.80 (Backup Designated R Message digest authentication enabled Youngest key id is 10
Designated Router The DR for the network to which the interface is attached is recorded both by its Router ID and by the address of the interface attached to the shared network. Note that no DR is displayed in Example 8-2; it will be displayed only for multi-access network types. In Example 8-3, the DR is 192.168.30.70. The address of its attached interface is 192.168.17.73. A look at the Router ID, the interface address, and the interface state shows that Renoir is the DR.
Backup Designated Router The BDR for the network to which the interface is attached is also recorded both by its Router ID and by the address of the attached interface. In Example 8-3, the BDR is 192.168.30.80, and its interface address is 192.168.17.74.
HelloInterval The period, in seconds, between transmissions of Hello packets on the interface. This period is advertised in Hello packets that are transmitted from the interface. Cisco uses a default of 10 seconds on broadcast networks and 30 seconds on non-broadcast networks, which can be changed with the command ip ospf hello-interval. Example 8-3 displays HelloInterval as Hello and shows that the default is being used.
RouterDeadInterval The period, in seconds, that the router will wait to hear a Hello from a neighbor on the network to which the interface is connected before declaring the neighbor down. The RouterDeadInterval is advertised in Hello packets transmitted from the interface. Cisco uses a default of four times the HelloInterval; the default can be changed with the command ip ospf dead-interval. Example 8-3 displays the RouterDeadInterval as Dead and shows that the default is being used.Wait Timer The length of time the router will wait for a DR and BDR to be advertised in a neighbor's Hello packet before beginning a DR and BDR selection. The period of the wait timer is the RouterDeadInterval. In Example 8-2, the wait time is irrelevant because the interface is attached to a point-to-point network; no DR or BDR will be used.
RxmtInterval The period, in seconds, the router will wait between retransmissions of OSPF packets that have not been acknowledged. Example 8-3 displays this period as retransmit and shows that the Cisco default of five seconds is being used. An interface's RxmtInterval can be changed with the command ip ospf retransmit-interval.
Hello Timer A timer that is set to the HelloInterval. When it expires, a Hello packet is transmitted from the interface. Example 8-3 shows that the Hello timer will expire in three seconds.
Neighboring Routers A list of all valid neighbors (neighbors whose Hellos have been seen within the past RouterDeadInterval) on the attached network. Example 8-4 shows yet another interface on the same router. Here, five neighbors are known on the network, but only two are adjacent (the Router IDs of only the adjacent neighbors are displayed). As a DRother on this network, the router has established an adjacency only with the DR and the BDR, in keeping with the DR protocol.
Example 8-4. On this network, the router sees five neighbors but has only formed adjacencies with the DR and the BDR.
Renoir#show ip ospf interface Ethernet1 Ethernet1 is up, line protocol is up Internet Address 192.168.32.4/24, Area 78Process ID 1, Router ID 192.168.30.70, Network Type BROADCAS Transmit Delay is 1 sec, State DROTHER, Priority 1 Designated Router (ID) 192.168.30.254, Interface address 192 Backup Designated router (ID) 192.168.30.80, Interface addre Timer intervals configured, Hello 10, Dead 40, Wait 40, Retr Hello due in 00:00:01 Neighbor Count is 5, Adjacent neighbor count is 2 Adjacent with neighbor 192.168.30.80 (Backup Designated R Adjacent with neighbor 192.168.30.254 (Designated Router) Message digest authentication enabled Youngest key id is 10
AuType Describes the type of authentication used on the network. The authentication type may be Null (no authentication), Simple Password, or Cryptographic (Message Digest). Example 8-4 shows that Message Digest authentication is being used. If Null authentication is used, no authentication type or key information will be displayed when show ip ospf interface is invoked.
Authentication Key A 64-bit password if simple authentication has been enabled for the interface or a message digest key if Cryptographic authentication is used. Example 8-4 shows that the "youngest key ID" is 10. This alludes to the fact that Cryptographic authentication allows the configuration of multiple keys on an interface to ensure smooth and secure key changes. Example 8-5 shows an interface that is connected to an NBMA network. Notice that the HelloInterval is 30 seconds, the default for NBMA, and that the RouterDeadInterval is at the default of four times the HelloInterval. Example 8-5. This interface is attached to a NBMA Frame Relay network and is the BDR for this network.
Renoir#show ip ospf interface Serial3 Serial3 is up, line protocol is up Internet Address 192.168.16.41/30, Area 0 Process ID 1, Router ID 192.168.30.105, Network Type NON_BRO Transmit Delay is 1 sec, State BDR, Priority 1 Designated Router (ID) 192.168.30.210, Interface address 192 Backup Designated router (ID) 192.168.30.105, Interface addr Timer intervals configured, Hello 30, Dead 120, Wait 120, Re Hello due in 00:00:08 Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 192.168.30.210 (Designated Router)
It is worthwhile to spend some time comparing Example 8-2 through Example 8-5. All four interfaces are on the same router, yet on each network the router performs a different role. In each case, the interface state dictates the role of the OSPF router on a network. The next section describes the various interface states and the interface state machine.