0902_OSPF

주영민·2024년 9월 2일

OSPF <<중요>>

약간 불안정한 특징을 가지고 있다.
SPF알고리즘 :연결된 노드와 노드까지의 가장 짧은경로를 찾는 알고리즘

  • 덱넷 에 의뢰(완성하진 못하고 이론으만 정립하게됨)
  • end device는 infomation으로 생각하기로 함
  • 각각의 노드까지의 bestpath를 찾고 cost값을 계산한다.
  • Router-ID를 사용하게 됨
  • OSPFv2 : IPv4
  • OSPFv3 : IPv6
  • link-state advertisements(LSAs)에는 두가지 정보가 들어가 있다.
    1.네트워크에 대한 정보
    2.링크 연결 정보
Database를 동기화 시키는게 중요하다.

토폴로지 변경될시
LSAs -(Update)-> LSDB -> Neighboriung -> Aera Synchronized
-> Topology가 변경되면 Database에 해당 정보를 먼저 update하여 노드가 각각 Best-path를 계산한다.

Area가 같으면 Database는 똑같아야 한다.
  • 용어 Dijkstra's shortest path first(SPF) algorithm
  • 용어 SPF tree(SPT)

Areas

Level_0 : local information (실제로 있지만 TCP/IP의 존재로 지원하지 않음)
Level_1 : Area information (OSPF 적용)
Level_2 : Domain topology (Aera와 Aera사이의 topology)
Level_3 : global topology (BPG를 사용하면서 각 벤더사가 지원을 하지 않음)

  • 관리 목적상 Area를 나눌뿐이다.
  • Area와 Area 사이에서는 D.V로 동작한다. 그래서 loop이 발생하는 문제점이 발생할수있는데 그 부분을 해결하기 위해 Hub & Spoke 방식으로 정보를 송수신한다.
  • 변경된 부분만 Topology를 계산하지 않고 모든 각각의 장비가 새로 topology를 계산한다.

SPF algorithm

OSPF보다 IS-IS 는 정밀하게 내가 원하는 정보를 먼저 계산할수있다.

한개의 Area만 존재하면 summary, Filtering이 안된다.

  • Full SPT(변경시 모든 네트워크를 처음부터 다시그리는것)
    ABR : 각각의 AREA의 Data를 송수신 //단순히 network 정보만 전달(D.V 정도의 정보)
  • loopback interface가 죽어도 Full SPT 한다.
용어 파셜 SPT
용어 ISPF

prefix-suppression 명령어를 주어도 loopback은 남겨 두어 해당 장비의 status를 확인한다.

-> 선택적으로 내가 의도한 network만 정할수 있다.

RFC표준 Area 입력값(0.0.0.0 through 255.255.255.255)

ASBR : 다른 protocol과 연결된 지점

Backbone(Area0)가 아닌 Area는 Type3의 정보를 넘길수 없다.-> Route Loop을 막기위해

OSPF Packet Types

  • Type 순서가 중요하다.

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

L4를 거치지 않고 best-path를 빠르게 계산하기 위해서 Header에 L4가 없다.

Hello packet Fields

Router ID(RID) : unique 32-bit
Interface Address Mask : Multi-access였을때만 필요
Interface Priority
Hello interval : 반드시같아야한다.
Dead interval : 반드시같아야한다.
Active Neighbors

용어 Adjcent

Neighbors

-> OSPF Hello packets을 던진다 -> Adjcent OSPF neighbor하고만 서로 update정보(OSPF database)를 교환한다

Neighbor States

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를 끊고 다시 시도한다.

자동으로 loopback Secondary IP는 Route-ID로 선출하지 않는다.

  • Loopback 은 32bit로 Seting 해야한다.

Multi-access 망 당 DR은 하나씩 존재한다.

Point-to-Point 는 DR,BDR을 선출하지 않는다.

Priority 값이 0 은 DR, BDR 선출에 해당하지 않는 Other 값

DR, BDR

LSA 2 : 링크연결정보+Subnet정보 두가지를 가지고 있다.

용어 롱지스트매치(longest match)

OSPF는 모든 Subnet이 같아야 통신이 된다.

multi access 환경에서는 network가 같아야 한다.

-> update시 224.0.0.6으로 multicast를 하여 DR,BDR 에게만 전송하여 선출한다. 선출 후 통신은 224.0.0.5로 송수신한다.
그러므로 224.0.0.6에 대한 ACK는 없다

용어 OSPF (A.D)

Route ID

-> neighbor를 맺은 후에는 Route IP가 변경되지 않는다.
-> route ID를 기준으로 SPF algorithm 토폴로지를 그린다.
-> Router ID는 Area 내에서는 유니크해야한다.

profile
시스코아카데미_주영민

0개의 댓글