summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/bird.sgml153
1 files changed, 78 insertions, 75 deletions
diff --git a/doc/bird.sgml b/doc/bird.sgml
index 7099ffba..25cc2d58 100644
--- a/doc/bird.sgml
+++ b/doc/bird.sgml
@@ -879,34 +879,38 @@ protocol kernel { # Secondary routing table
<sect1>Introduction
-<p>Open Shortest Path First (OSPF) is quite complex interior gateway
-protocol. Today's version for IPv4 is 2 and it's defined in RFC 2328<htmlurl
-url="ftp://ftp.rfc-editor.org/in-notes/rfc2328.txt">. It's based on
-link-state of SPF technology. Each router maintains a database
-describing the Autonomous System's topology. Each participating router has
-has an identical database and all routers run the exact same algorithm
-calculatin shortest path tree with themselves as roots, in parallel.
-OSPF chooses the least cost path as the best path. In OSPF, the
-Autonomous System can be splitted into more areas. Topology
-of such area is hidden to the rest of the Autonomous System. This enables
-a reduction in routing traffic as well as protection other areas from bad
-routing data. Unfortunatelly multiple OSPF areas are not fully supported
-in this version of BIRD. Another very important feature of OSPF is that
-it can keep routing information from other protocols (like static or BGP)
-in it's link-state database as external routes. Each external route can
-be tagged by the advertising router, enabling the passing of additional
-information between routers on the boundary of the Autonomous System.
-
-<p>OSPF quickly detects topological changes in the Autonomous System (such
+<p>Open Shortest Path First (OSPF) is a quite complex interior gateway
+protocol. The current IPv4 version (OSPFv2) is defined in RFC 2328
+<htmlurl url="ftp://ftp.rfc-editor.org/in-notes/rfc2328.txt">. It's a link
+state (a.k.a. shortest path first) protocol -- Each router maintains a database
+describing the autonomous system's topology. Each participating router
+has an identical copy of the database and all routers run the same algorithm
+calculating a shortest path tree with themselves as a root.
+OSPF choses the least cost path as the best path.
+
+<p>In OSPF, the autonomous system can be split to several areas in order
+to reduce the amount of resources consumed for exchanging the routing
+information and to protect the other areas from incorrect routing data.
+Topology of the area is hidden to the rest of the autonomous system.
+Unfortunatelly multiple OSPF areas are not yet fully supported
+by this version of BIRD and neither is the IPv6 version (OSPFv3).
+
+<p>Another very important feature of OSPF is that
+it can keep routing information from other protocols (like Static or BGP)
+in its link state database as external routes. Each external route can
+be tagged by the advertising router, making possible to pass additional
+information between routers on the boundary of the autonomous system.
+
+<p>OSPF quickly detects topological changes in the autonomous system (such
as router interface failures) and calculates new loop-free routes after a
-period of convergence. This period of convergence is short and involves
-a minimum of routing traffic.
+period of convergence. This period is short and involves only minimal
+routing traffic.
-<p>Each router joined in OSPF periodically sends hello messages out
-all its interfaces. This allows neighbors to be discovered dynamically.
-Then the neighbors exchange theirs parts of database. And keep it
-identical flooding updates. Flooding proces is reliable and ensures
-that each routes detects the change.
+<p>Each router participating in OSPF routing periodically sends Hello messages
+to all its interfaces. This allows neighbors to be discovered dynamically.
+Then the neighbors exchange theirs parts of the link state database and keep it
+identical by flooding updates. The flooding process is reliable and ensures
+that each router detects all changes.
<sect1>Configuration
@@ -914,11 +918,11 @@ that each routes detects the change.
<code>
protocol ospf &lt;name&gt; {
- rfc1583compat bool;
+ rfc1583compat &lt;bool&gt;;
area &lt;id&gt; {
stub &lt;bool&gt;;
tick &lt;num&gt;;
- interface &lt;interface&gt;
+ interface &lt;interface pattern&gt;
{
cost &lt;num&gt;;
hello &lt;num&gt;;
@@ -939,93 +943,92 @@ protocol ospf &lt;name&gt; {
<descrip>
<tag>rfc1583compat <M>bool</M></tag>
- This option can disable or enable compatibility of routing table
+ This option controls compatibility of routing table
calculation with RFC 1583<htmlurl
url="ftp://ftp.rfc-editor.org/in-notes/rfc1583.txt">. Default
value is no.
<tag>area <M>id</M></tag>
- This specifies area id of configured OSPF area. It can be written
- as a number or as an IPv4 number. The most important area is
- the backbone (area id 0) to which every other area must be connected.
+ This defines an OSPF area with given area ID (an integer or an IPv4
+ address, similarly to a router ID).
+ The most important area is
+ the backbone (ID 0) to which every other area must be connected.
<tag>stub <M>bool</M></tag>
- No external routes are flooded into stub area. Default value is no.
+ No external routes are flooded into stub areas. Default value is no.
<tag>tick <M>num</M></tag>
- The routing table calculation is not processed when any single
- change comes. To lower the CPU utilization it's processed late
- in periodical interval. The default value is 7.
+ The routing table calculation is not performed when a single link state
+ change arrives. To lower the CPU utilization, it's processed later
+ at periodical intervals of <m/num/ seconds. The default value is 7.
- <tag>interface <M>interface</M></tag>
- This mean that specified interface (or interface pattern) belongs
- to actual area.
+ <tag>interface <M>pattern</M></tag>
+ Defines that the specified interfaces belong to the area being defined.
<tag>cost <M>num</M></tag>
- Specifies output cost of interface. Default value is 10.
+ Specifies output cost (metric) of an interface. Default value is 10.
<tag>hello <M>num</M></tag>
- Specifies interval between sending hello messages. Beware, all
- router on the same network has to have the same hello interval.
+ Specifies interval in seconds between sending of Hello messages. Beware, all
+ routers on the same network need to have the same hello interval.
Default value is 10.
<tag>retransmit <M>num</M></tag>
- Specifies interval between retransmiting unacknoledged update.
+ Specifies interval in seconds between retransmissions of unacknoledged updates.
Default value is 5.
<tag>priority <M>num</M></tag>
- On every multiple access network (like e.g ethernet) Designed
- and Backup Designed router is elected. These routers have some
- special functions in flooding process. Higher priority rices
- preferences in elections. Routers with priority 0 are not
+ On every multiple access network (e.g., the Ethernet) Designed Router
+ and Backup Designed router are elected. These routers have some
+ special functions in the flooding process. Higher priority increases
+ preferences in this election. Routers with priority 0 are not
eligible. Default value is 1.
<tag>wait <M>num</M></tag>
- After start, router waits specified interval between starting
+ After start, router waits for the specified number of seconds between starting
election and building adjacency. Default value is 40.
<tag>dead count <M>num</M></tag>
- When router does not receive any message from neighbor in
- <m/dead count/*<m/hello/ seconds, it will declare neighbor down.
+ When the router does not receive any messages from a neighbor in
+ <m/dead count/*<m/hello/ seconds, it will consider the neighbor down.
- <tag>type <M>broadcast</M></tag>
- BIRD detects a type of connected network. However, sometimes is
- necessary to change it. On broadcast networks are flooding
- and hello messages sent using multicasting. (Single
- packet to all neighbors.)
+ <tag>type broadcast</tag>
+ BIRD detects a type of a connected network automatically, but sometimes it's
+ convenient to force use of a different type manually.
+ On broadcast networks, flooding and Hello messages are sent using multicasts (a single packet for all the neighbors).
- <tag>type <M>nonbroadcast</M></tag>
- On nonbroadcast network are packets sent to each neighbor
- separately because of lack of multicast messages.
+ <tag>type nonbroadcast</tag>
+ On nonbroadcast networks, the packets are sent to each neighbor
+ separately because of lack of multicast capabilities.
- <tag>type <M>pointopoint</M></tag>
- Pointopoint network connects just 2 routers together. No election
- is provided there, this reduces a number of sent messages.
+ <tag>type pointopoint</tag>
+ Point-to-point networks connect just 2 routers together. No election
+ is performed there which reduces the number of messages sent.
- <tag>authetication <M>none</M></tag>
- No passwords are sent in OSPF's packets. This is default value.
+ <tag>authetication none</tag>
+ No passwords are sent in OSPF packets. This is the default value.
- <tag>authetication <M>simple</M></tag>
- In every packet is sent an 8 bytes long password. Received packets
- without this password are ignored. This autentication mechanism is
+ <tag>authetication simple</tag>
+ Every packet carries 8 bytes of password. Received packets
+ lacking this password are ignored. This autentication mechanism is
very weak.
<tag>password <M>text</M></tag>
- An 8 bytes long password used for authentication.
+ An 8-byte password used for authentication.
<tag>neighbors</tag>
- A set of neighbors to which hello messages on nonbroadcast networks
- are sent.
+ A set of neighbors to which Hello messages on nonbroadcast networks
+ are to be sent.
</descrip>
<sect1>Attributes
-<p>OSPF defines 3 route attributes. Each internal route has a metric. External
-routes uses metric type 1 or metric type 2. Metric type one is comparable
-with internal metric. Metric type 2 is always longer then metric type 1
-or internal metric. Each external route can also carry a tag. Tag is
-32 bits long number and it's used for exporting routes to other protocols
-in link-state it has no funtion.
+<p>OSPF defines three route attributes. Each internal route has a metric. External
+routes use metric type 1 or metric type 2. A metric of type 1 is comparable
+with internal metrics, a metric of type 2 is always longer than any metric of type 1
+or any internal metric. Each external route can also carry a tag which is
+a 32-bit integer which is used when exporting routes to other protocols; otherwise,
+it doesn't affect routing inside the OSPF domain at all.
<sect1>Example