약간 불안정한 특징을 가지고 있다.
SPF알고리즘 :연결된 노드와 노드까지의 가장 짧은경로를 찾는 알고리즘
토폴로지 변경될시
LSAs -(Update)-> LSDB -> Neighboriung -> Aera Synchronized
-> Topology가 변경되면 Database에 해당 정보를 먼저 update하여 노드가 각각 Best-path를 계산한다.
Level_0 : local information (실제로 있지만 TCP/IP의 존재로 지원하지 않음)
Level_1 : Area information (OSPF 적용)
Level_2 : Domain topology (Aera와 Aera사이의 topology)
Level_3 : global topology (BPG를 사용하면서 각 벤더사가 지원을 하지 않음)
-> 선택적으로 내가 의도한 network만 정할수 있다.
Type1. Hello
Type2. Database description(DBD or DDP)
Type3. Link-state request(LSR)
DBD DDP 요청
Type4. Link-state update(LSU)
업데이트 전달
Type5. Link-state acknowledgment (LSAck)
LSAck 전달
AllSPFrouters - IPv4 224.0.0.5
AllDRouters - DR과 BDR IPv6 224.0.0.6
RIP -> UDP 500
BGP -> TCP 179
Router ID(RID) : unique 32-bit
Interface Address Mask : Multi-access였을때만 필요
Interface Priority
Hello interval : 반드시같아야한다.
Dead interval : 반드시같아야한다.
Active Neighbors
-> OSPF Hello packets을 던진다 -> Adjcent OSPF neighbor하고만 서로 update정보(OSPF database)를 교환한다
Attempr :
Init : Hello packet을 받아 neighbor로 인정한 단계
2-Way : 서로 연결된 상태
-> point to Point : ExStart
-> point to Point가 아닐시 dead-interval(40초)동안 기다린다.
2-Way -> dead-interval(40초) 후 해당 장치가 Hello packet에 계산된 DR, BDR 헤더를 포함시켜 데이터를 전송한다.
Exstart 상태에서는 DBD가 Null값으로 전달된다.
-> Exstart 상태가 지속될 경우 MTU사이즈가 달라서이다.
Exchange : 교환상태
Loading : 교환된 정보를 update하는 시간
-> Loading 상태가 지속될 경우 Neighbor를 끊고 다시 시도한다.
LSA 2 : 링크연결정보+Subnet정보 두가지를 가지고 있다.
-> update시 224.0.0.6으로 multicast를 하여 DR,BDR 에게만 전송하여 선출한다. 선출 후 통신은 224.0.0.5로 송수신한다.
그러므로 224.0.0.6에 대한 ACK는 없다
-> neighbor를 맺은 후에는 Route IP가 변경되지 않는다.
-> route ID를 기준으로 SPF algorithm 토폴로지를 그린다.
-> Router ID는 Area 내에서는 유니크해야한다.