diff options
| -rw-r--r-- | docs/configuration/protocols/ospf.rst | 323 | 
1 files changed, 300 insertions, 23 deletions
| diff --git a/docs/configuration/protocols/ospf.rst b/docs/configuration/protocols/ospf.rst index 77ed4a37..7d9950e6 100644 --- a/docs/configuration/protocols/ospf.rst +++ b/docs/configuration/protocols/ospf.rst @@ -1,5 +1,3 @@ -.. include:: /_include/need_improvement.txt -  .. _routing-ospf:  #### @@ -19,7 +17,7 @@ OSPF is a widely used IGP in large enterprise networks.  OSPFv2 (IPv4)  ############# -General configuration +General Configuration  ---------------------  .. cfgcmd:: set protocols ospf area <number> @@ -43,6 +41,17 @@ General configuration     have a cost of 1. Cost of lower bandwidth links will be scaled with      reference to this cost). +.. cfgcmd:: set protocols ospf parameters router-id <rid> + +   This command sets the router-ID of the OSPF process. The router-ID may be an +   IP address of the router, but need not be – it can be any arbitrary 32bit number. +   However it MUST be unique within the entire OSPF domain to the OSPF speaker – bad +   things will happen if multiple OSPF speakers are configured with the same router-ID! + + +Optional Configuration +---------------------- +  .. cfgcmd:: set protocols ospf default-information originate [always] [metric <number>] [metric-type <1|2>] [route-map <name>]     Originate an AS-External (type-5) LSA describing a default route into all  @@ -65,23 +74,36 @@ General configuration     .. note:: Routes with a distance of 255 are effectively disabled and not        installed into the kernel. -.. cfgcmd:: set protocols ospf parameters router-id <rid> +.. cfgcmd:: set protocols ospf log-adjacency-changes [detail] + +   This command allows to log changes in adjacency. With the optional +   :cfgcmd:`detail` argument, all changes in adjacency status are shown. +   Without :cfgcmd:`detail`, only changes to full or regressions are shown. + +.. cfgcmd:: set protocols ospf max-metric router-lsa <administrative|on-shutdown <seconds>|on-startup <seconds>> + +   This enables :rfc:`3137` support, where the OSPF process describes its +   transit links in its router-LSA as having infinite distance so that other +   routers will avoid calculating transit paths through the router while +   still being able to reach networks through the router. -   This command sets the router-ID of the OSPF process. The router-ID may be an -   IP address of the router, but need not be – it can be any arbitrary 32bit number. -   However it MUST be unique within the entire OSPF domain to the OSPF speaker – bad -   things will happen if multiple OSPF speakers are configured with the same router-ID! +   This support may be enabled administratively (and indefinitely) with the +   :cfgcmd:`administrative` command. It may also be enabled conditionally. +   Conditional enabling of max-metric router-lsas can be for a period of +   seconds after startup with the :cfgcmd:`on-startup <seconds>` command +   and/or for a period of seconds prior to shutdown with the +   :cfgcmd:`on-shutdown <seconds>` command. The time range is 5 to 86400.  .. cfgcmd:: set protocols ospf parameters abr-type <cisco|ibm|shortcut|standard>     This command selects ABR model. OSPF router supports four ABR models: -   "cisco" – a router will be considered as ABR if it has several configured links to  +   **cisco** – a router will be considered as ABR if it has several configured links to      the networks in different areas one of which is a backbone area. Moreover, the link      to the backbone area should be active (working). -   "ibm" – identical to "cisco" model but in this case a backbone area link may not be active. -   "standard" – router has several active links to different areas. -   "shortcut" – identical to "standard" but in this model a router is allowed to use a  +   **ibm** – identical to "cisco" model but in this case a backbone area link may not be active. +   **standard** – router has several active links to different areas. +   **shortcut** – identical to "standard" but in this model a router is allowed to use a      connected areas topology without involving a backbone area for inter-area connections.     Detailed information about "cisco" and "ibm" models differences can be found in :rfc:`3509`.  @@ -123,8 +145,18 @@ General configuration     a threshold value, which by default is 1800 seconds (half an hour). The value is applied     to the whole OSPF router. The timer range is 10 to 1800. +.. cfgcmd:: set protocols ospf timers throttle spf <delay|initial-holdtime|max-holdtime> <seconds> + +   This command sets the initial delay, the initial-holdtime and the maximum-holdtime between +   when SPF is calculated and the event which triggered the calculation. The times are specified +   in milliseconds and must be in the range of 0 to 600000 milliseconds. :cfgcmd:`delay` sets +   the initial SPF schedule delay in milliseconds. The default value is 200 ms. +   :cfgcmd:`initial-holdtime` sets the minimum hold time between two consecutive SPF calculations. +   The default value is 1000 ms. :cfgcmd:`max-holdtime` sets the maximum wait time between two +   consecutive SPF calculations. The default value is 10000 ms. + -Areas configuration +Areas Configuration  -------------------  .. cfgcmd:: set protocols ospf area <number> area-type stub @@ -189,11 +221,11 @@ Areas configuration     This parameter allows to "shortcut" routes (non-backbone) for inter-area routes. There      are three modes available for routes shortcutting: -   "default" –  this area will be used for shortcutting only if ABR does not have a link  +   **default** –  this area will be used for shortcutting only if ABR does not have a link      to the backbone area or this link was lost. -   "enable" – the area will be used for shortcutting every time the route that goes through  +   **enable** – the area will be used for shortcutting every time the route that goes through      it is cheaper. -   "disable" – this area is never used by ABR for routes shortcutting. +   **disable** – this area is never used by ABR for routes shortcutting.  .. cfgcmd:: set protocols ospf area <number> virtual-link <A.B.C.D> @@ -214,7 +246,7 @@ Areas configuration     to belong to a backbone area. -Interfaces configuration +Interfaces Configuration  ------------------------  .. cfgcmd:: set interfaces <inttype> <intname> ip ospf authentication plaintext-password <text> @@ -267,10 +299,10 @@ Interfaces configuration     This command allows to specify the distribution type for the network connected      to this interface: -   "broadcast" – broadcast IP addresses distribution. -   "non-broadcast" – address distribution in NBMA networks topology. -   "point-to-multipoint" – address distribution in point-to-multipoint networks. -   "point-to-point" – address distribution in point-to-point networks. +   **broadcast** – broadcast IP addresses distribution. +   **non-broadcast** – address distribution in NBMA networks topology. +   **point-to-multipoint** – address distribution in point-to-multipoint networks. +   **point-to-point** – address distribution in point-to-point networks.  .. cfgcmd:: set interfaces <inttype> <intname> ip ospf priority <number> @@ -293,7 +325,32 @@ Interfaces configuration     is 3 to 65535. -Redistribution configuration +Manual Neighbor Configuration +----------------------------- + +OSPF routing devices normally discover their neighbors dynamically by listening to the broadcast +or multicast hello packets on the network. Because an NBMA network does not support broadcast (or +multicast), the device cannot discover its neighbors dynamically, so you must configure all the +neighbors statically. + +.. cfgcmd:: set protocols ospf neighbor <A.B.C.D> + +   This command specifies the IP address of the neighboring device. + +.. cfgcmd:: set protocols ospf neighbor <A.B.C.D> poll-interval <seconds> + +   This command specifies the length of time, in seconds, before the routing device sends hello +   packets out of the interface before it establishes adjacency with a neighbor. The range is 1 +   to 65535 seconds. The default value is 60 seconds. +    +.. cfgcmd:: set protocols ospf neighbor <A.B.C.D> priority <number> + +   This command specifies the router priority value of the nonbroadcast neighbor associated with +   the IP address specified. The default is 0. This keyword does not apply to point-to-multipoint +   interfaces. + + +Redistribution Configuration  ----------------------------  .. cfgcmd:: set protocols ospf redistribute bgp @@ -348,7 +405,227 @@ Redistribution configuration     There are five modes available for route source: bgp, connected, kernel, rip, static. -Configuration example +Operational Mode Commands +------------------------- + +.. opcmd:: show ip ospf neighbor + +   This command displays the neighbors status. +    +.. code-block:: none + +   Neighbor ID     Pri State           Dead Time Address         Interface                        RXmtL RqstL DBsmL +   10.0.13.1         1 Full/DR           38.365s 10.0.13.1       eth0:10.0.13.3                       0     0     0 +   10.0.23.2         1 Full/Backup       39.175s 10.0.23.2       eth1:10.0.23.3                       0     0     0 + +.. opcmd:: show ip ospf neighbor detail + +   This command displays the neighbors information in a detailed form, not just +   a summary table. + +.. code-block:: none + +   Neighbor 10.0.13.1, interface address 10.0.13.1 +      In the area 0.0.0.0 via interface eth0 +      Neighbor priority is 1, State is Full, 5 state changes +      Most recent state change statistics: +        Progressive change 11m55s ago +      DR is 10.0.13.1, BDR is 10.0.13.3 +      Options 2 *|-|-|-|-|-|E|- +      Dead timer due in 34.854s +      Database Summary List 0 +      Link State Request List 0 +      Link State Retransmission List 0 +      Thread Inactivity Timer on +      Thread Database Description Retransmision off +      Thread Link State Request Retransmission on +      Thread Link State Update Retransmission on + +  Neighbor 10.0.23.2, interface address 10.0.23.2 +     In the area 0.0.0.1 via interface eth1 +     Neighbor priority is 1, State is Full, 4 state changes +     Most recent state change statistics: +       Progressive change 41.193s ago +     DR is 10.0.23.3, BDR is 10.0.23.2 +     Options 2 *|-|-|-|-|-|E|- +     Dead timer due in 35.661s +     Database Summary List 0 +     Link State Request List 0 +     Link State Retransmission List 0 +     Thread Inactivity Timer on +     Thread Database Description Retransmision off +     Thread Link State Request Retransmission on +     Thread Link State Update Retransmission on + +.. opcmd:: show ip ospf neighbor <A.B.C.D> + +   This command displays the neighbors information in a detailed form for a neighbor +   whose IP address is specified. + +.. opcmd:: show ip ospf neighbor <intname> + +   This command displays the neighbors status for a neighbor on the specified +   interface. + +.. opcmd:: show ip ospf interface [intname] + +   This command displays state and configuration of OSPF the specified interface, +   or all interfaces if no interface is given. + +.. code-block:: none + +   eth0 is up +     ifindex 2, MTU 1500 bytes, BW 4294967295 Mbit <UP,BROADCAST,RUNNING,MULTICAST> +     Internet Address 10.0.13.3/24, Broadcast 10.0.13.255, Area 0.0.0.0 +     MTU mismatch detection: enabled +     Router ID 10.0.23.3, Network Type BROADCAST, Cost: 1 +     Transmit Delay is 1 sec, State Backup, Priority 1 +     Backup Designated Router (ID) 10.0.23.3, Interface Address 10.0.13.3 +     Multicast group memberships: OSPFAllRouters OSPFDesignatedRouters +     Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5 +       Hello due in 4.470s +     Neighbor Count is 1, Adjacent neighbor count is 1 +   eth1 is up +     ifindex 3, MTU 1500 bytes, BW 4294967295 Mbit <UP,BROADCAST,RUNNING,MULTICAST> +     Internet Address 10.0.23.3/24, Broadcast 10.0.23.255, Area 0.0.0.1 +     MTU mismatch detection: enabled +     Router ID 10.0.23.3, Network Type BROADCAST, Cost: 1 +     Transmit Delay is 1 sec, State DR, Priority 1 +     Backup Designated Router (ID) 10.0.23.2, Interface Address 10.0.23.2 +     Saved Network-LSA sequence number 0x80000002 +     Multicast group memberships: OSPFAllRouters OSPFDesignatedRouters +     Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5 +       Hello due in 4.563s +     Neighbor Count is 1, Adjacent neighbor count is 1 + +.. opcmd:: show ip ospf route + +   This command displays the OSPF routing table, as determined by the most recent +   SPF calculation. + +.. code-block:: none + +   ============ OSPF network routing table ============ +   N IA 10.0.12.0/24          [3] area: 0.0.0.0 +                              via 10.0.13.3, eth0 +   N    10.0.13.0/24          [1] area: 0.0.0.0 +                              directly attached to eth0 +   N IA 10.0.23.0/24          [2] area: 0.0.0.0 +                              via 10.0.13.3, eth0 +   N    10.0.34.0/24          [2] area: 0.0.0.0 +                              via 10.0.13.3, eth0 +    +   ============ OSPF router routing table ============= +   R    10.0.23.3             [1] area: 0.0.0.0, ABR +                              via 10.0.13.3, eth0 +   R    10.0.34.4             [2] area: 0.0.0.0, ASBR +                              via 10.0.13.3, eth0 +    +   ============ OSPF external routing table =========== +   N E2 172.16.0.0/24         [2/20] tag: 0 +                              via 10.0.13.3, eth0 + +The table consists of following data: + +**OSPF network routing table** – includes a list of acquired routes for all  +accessible networks (or aggregated area ranges) of OSPF system. "IA" flag means +that route destination is in the area to which the router is not connected, i.e. +it’s an inter-area path. In square brackets a summary metric for all links through +which a path lies to this network is specified. "via" prefix defines a +router-gateway, i.e. the first router on the way to the destination (next hop). +**OSPF router routing table** – includes a list of acquired routes to all  +accessible ABRs and ASBRs. +**OSPF external routing table** – includes a list of acquired routes that are +external to the OSPF process. "E" flag points to the external link metric type +(E1 – metric type 1, E2 – metric type 2). External link metric is printed in the +"<metric of the router which advertised the link>/<link metric>" format. + +.. opcmd:: show ip ospf border-routers + +   This command displays a table of paths to area boundary and autonomous system +   boundary routers. +    +.. opcmd:: show ip ospf database + +   This command displays a summary table with a database contents (LSA). + +.. code-block:: none + +          OSPF Router with ID (10.0.13.1) +    +                   Router Link States (Area 0.0.0.0) +    +   Link ID         ADV Router      Age  Seq#       CkSum  Link count +   10.0.13.1       10.0.13.1        984 0x80000005 0xd915 1 +   10.0.23.3       10.0.23.3       1186 0x80000008 0xfe62 2 +   10.0.34.4       10.0.34.4       1063 0x80000004 0x4e3f 1 +    +                   Net Link States (Area 0.0.0.0) +    +   Link ID         ADV Router      Age  Seq#       CkSum +   10.0.13.1       10.0.13.1        994 0x80000003 0x30bb +   10.0.34.4       10.0.34.4       1188 0x80000001 0x9411 +    +                   Summary Link States (Area 0.0.0.0) +    +   Link ID         ADV Router      Age  Seq#       CkSum  Route +   10.0.12.0       10.0.23.3       1608 0x80000001 0x6ab6 10.0.12.0/24 +   10.0.23.0       10.0.23.3        981 0x80000003 0xe232 10.0.23.0/24 +    +                   AS External Link States +    +   Link ID         ADV Router      Age  Seq#       CkSum  Route +   172.16.0.0      10.0.34.4       1063 0x80000001 0xc40d E2 172.16.0.0/24 [0x0] +    +.. opcmd:: show ip ospf database <type> [A.B.C.D] [adv-router <A.B.C.D>|self-originate] + +   This command displays a database contents for a specific link advertisement type. +    +   The type can be the following: +   asbr-summary, external, network, nssa-external, opaque-area, opaque-as, +   opaque-link, router, summary. +    +   [A.B.C.D] – link-state-id. With this specified the command displays portion of +   the network environment that is being described by the advertisement. The value +   entered depends on the advertisement’s LS type. It must be entered in the form +   of an IP address. +    +   :cfgcmd:`adv-router <A.B.C.D>` – router id, which link advertisements need to be +   reviewed. +    +   :cfgcmd:`self-originate` displays only self-originated LSAs from the local router.  + +.. code-block:: none + +             OSPF Router with ID (10.0.13.1) + +                   Router Link States (Area 0.0.0.0) + +     LS age: 1213 +     Options: 0x2  : *|-|-|-|-|-|E|- +     LS Flags: 0x3 +     Flags: 0x0 +     LS Type: router-LSA +     Link State ID: 10.0.13.1 +     Advertising Router: 10.0.13.1 +     LS Seq Number: 80000009 +     Checksum: 0xd119 +     Length: 36 +    +      Number of Links: 1 + +       Link connected to: a Transit Network +        (Link ID) Designated Router address: 10.0.13.1 +        (Link Data) Router Interface address: 10.0.13.1 +        Number of TOS metrics: 0 +          TOS 0 Metric: 1 + +.. opcmd:: show ip ospf database max-age + +   This command displays LSAs in MaxAge list. + + +Configuration Example  ---------------------  Below you can see a typical configuration using 2 nodes, redistribute loopback | 
