понедельник, 20 октября 2008 г.

OSPF basics

All OSPF routers in an area share the same Link State Database (LSDB).

All areas must be connected to backbone area 0 ( исключение - использование virtual link - только если нет другого выхода). OSPF requires hierachical design

hello broadcast/p2p - 10 s
NBMA - 30 s

dead timer - 4 x hello

OSPF tables:

  • Neighbor table
  • Topology database
  • Routing table
multicast 224.0.0.5 -DR_other, common
224.0.0.6 - DR, BDR in broadcast env

cost = 100 / bandwidth_in_mbs

DR & BDR has to be elected in every shared segment


DR, BDR election
1) priority
2) highest router-id

HELLO packet

  • Router ID - 32-bit unique number (IP address)
  • Hello/dead intervals - Timers
  • Neighbor list - List of neighboring router IDs
  • Area ID
  • Priority - Used in electing the DR and BDR
  • DR and BDR
  • Authentication (if enabled)
  • Stub Area Flag - On if this is a stub area

Neighbor relationship

1. Determine Router ID


1) router id hard-coded (best practice)
2) highest loobback int (lo int can be pingable)
3) highest physical int (only active int participate)

! router ID changes only after reboot or ospf process reload !

2. Add interfaces to LSBD (dictated by network command)

3. Send HELLO on choosen interfaces (**DOWN state**)

HELLO contains:
1) Router ID
2) Hello & dead timers *
3) Network mask *
4) Area id *
5) Neighbors
6) Router priority
7) DR/ BDR ip address
8) Authentication password *
9) Stub flag *

* - must match

4. Receive HELLO (**INIT** state)
Check * to match. If conditions do not match you'll see cycling from **DOWN** to **INIT**

5. Send HELLO reply (** 2-way state**)
Router checks if it listed as neighbor in the received hello:
If yes ----> just reset dead timers, neighbor relationship have been already established earlier
If no -----> adds as new neighbor

6. Master - Slave determine ( **Exstart state ** )

determined by priority; router-id breaks the tie
Master send DBD first.
DBD = Database Desciption ("cliff notes" - заметки на полях - краткое описание topology DB)


7. DBD are acknowleged and received (**Loading state**)

Router просматривает DBD и если находит там сети, о которых он не знает, он запрашивает подробную инфу
об этих сетках через Link-State Request (LSR). В ответ приходит Link-State Updates (LSU) c запрошеной инфой. LSU - своего рода контейнер, содержаший индивидуальные Link State Advertisement ( LSA) о каждой анонсируемой сети.

8. Neighbors are synchronized (**FULL state**)
Now it's time to start Dijkstra SPF algorithm to analyze received data


!!! In broadcast env every router establish **FULL state** only with DR &BDR, with DR_Other **2-way state** established !!!

Packet Types

OSPF is IP protocol 89.

  • Hello - Used to establish communication with directly connected neighbors
  • Database Descriptor (DBD) - Lists router IDs from which the router has an LSA and its current sequence number
  • Link State Request (LSR) - Request for an LSA
  • Link State Update (LSU) - Reply to an LSR with the requested information
  • Link State Acknowledgment (LSAck) - Used to confirm receipt of link-state information


Комментариев нет: