OSPF(Open Shortest Path First)

 

: 계층화 된 라우팅 프로토콜이다.
• IGP(Internal Gateway Protocol)
 - AS(Autonomous System)내부에 사용
• Area에 의해 효율적인 라우팅 정보 관리가 가능하다.
 - Backbone area(Area0)을 통해 연결된다.
 - Area0에 연결되지 못하면 Virtual link를 통해 연결한다.
 - Area 내에서 LSA를 교환한다.
• Link의 cost를 기반으로 경로를 배정한다.
 - Hop 제한이 없다. (라우터 개수 제한X)
 - Dijkstra의 SPF알고리즘을 바탕으로 경로가 선택된다.
 - link cost = 기준대역폭/실제대역폭
• VLSM을 지원한다.

 

[OSPF - area]

• ABR : Area Border Router (Area 사이에 있는 라우터 정보를 주고 받음)
• IR : Internal Router (Area 망 안에 있는 라우터)
• ASBR : Autonomous System Boundary Router (AS 망 내부와 AS망 외부를 연결) (RIP에서는 Default Gateway 역할)

 

[OSPF - 구조]

◾ 라우터의 구분
• IR : Area 내부 라우터
• ABR : Area를 연결하는 라우터
• ASBR : AS와 연결하는 외부 연결 라우터
• DR(Designated Router)
 : Link stat 정보를 취합, 관리하는 라우터
 : IR과 DR간에 link stat 정보를 주고 받는다.

 (1:1 연결 네트워크에는 없음)
• BDR(Backup DR) : 백업(DR이 죽으면 활성화)


◾ OSPF는 neighbor 간에 라우팅 정보를 공유한다.
• 라우터 간에 이런 adjacency를 위한 조건이 필요하다.
• 동일 area에 위치한다.
• 동일한 인증 정보
• 동일한 Hello interval 및 Dead interval을 가져야한다.
- 이들 값은 토플로지에 따라 자동으로 결정된다.
- 10초, 40초 : ppp, ethernet

 

◾ OSPF의 네이버(Neighbor)와 인접 관계(Adjacency)는 동일한 의미가 아니다.
• 네이버 라우터 중에 인접관계인 라우터와 LSA를 교환한다.
• 이를 통해 모든 라우터가 동일한 링크 정보를 유지한다.
• Adjancency 는 DR(BDR)과 IR간에 이뤄진다.

• DR, BDR은 인접관계

• 일반 라우터간에는 인접관계X

• 네이버 : 같은 area 안에 있는 컴퓨터

• 인접관계 : 라우팅 정보를 주고받는 것

 

 

◾ 라우팅을 위한 패킷 유형
• Hello 패킷
 - Neighbor를 맺기 위해 전송하는 정보
• DBD(Database Description)
 - 저장된 네트워크 정보에 대한 요약 정보
• LSR(Link State Request)
 - DBD를 받았을 때 가지지 못한 정보를 요청
• LSU(Link State Update)
 - LSR에 대한 응답
 - 네트워크에 대한 자세한 링크 정보
• LSAck(Link State Ack)

 

◾ OSPF LSA 송수신
• Neighbor 간에 네트워크 정보는 공유된다.
• 동기화가 마무리 되면 변경된 정보만 전달된다.
• 30분마다 정보를 확인한다.
• Area 내에 라우터 간에 링크 정보는 LSA(Link State Advertisement)로 전달한다

 

[OSPF - SPF 실습]

 

 

 


[OSPF 실습]

 

 

 

[R1]

R1(config)#router ospf 1
R1(config-router)#router-id 1.1.1.1
R1(config-router)#network 1.1.1.1 0.0.0.0 area 0
R1(config-router)#network 10.1.1.1 0.0.0.0 area 0

 

 

[R2]

R2(config)#router ospf 1
R2(config-router)#router-id 2.2.2.1
R2(config-router)#network 2.2.2.1 0.0.0.0 area 0
R2(config-router)#network 10.1.1.2 0.0.0.0 area 0

 

[R3]

R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.1
R3(config-router)#network 3.3.3.1 0.0.0.0 area 0
R3(config-router)#network 10.1.1.3 0.0.0.0 area 0

 

 

[R4]

R4(config)#router ospf 1
R4(config-router)#router-id 4.4.4.1
R4(config-router)#network 4.4.4.1 0.0.0.0 area 0
R4(config-router)#network 10.1.1.4 0.0.0.0 area 0

 

 

[DR, BDR 확인 - R1기준]

R1#show ip ospf neighbor


Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.1           1   FULL/DR         00:00:39    10.1.1.2         GigabitEthernet0/1
3.3.3.1           1   2WAY/DROTHER    00:00:30    10.1.1.3         GigabitEthernet0/1
4.4.4.1           1   FULL/BDR        00:00:33    10.1.1.4         GigabitEthernet0/1

 

 

PC TEST

[PC1]

C:\>ping 3.3.3.11

Pinging 3.3.3.11 with 32 bytes of data:

Request timed out.
Reply from 3.3.3.11: bytes=32 time<1ms TTL=126
Reply from 3.3.3.11: bytes=32 time<1ms TTL=126
Reply from 3.3.3.11: bytes=32 time<1ms TTL=126

Ping statistics for 3.3.3.11:
    Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

 

 

 

 


[MULTI area OSPF 실습]

 

Router 설정

 

[R0_1]

R0_1(config)#router ospf 1
R0_1(config-router)#router-id 10.1.1.1
R0_1(config-router)#network 10.1.1.1 0.0.0.0 area 0
R0_1(config-router)#network 11.1.1.1 0.0.0.0 area 1

 

 

[R0_2]

R0_2(config)#router ospf 1
R0_2(config-router)#router-id 10.1.1.2
R0_2(config-router)#network 10.1.1.2 0.0.0.0 area 0
R0_2(config-router)#network 12.1.1.1 0.0.0.0 area 2

 

 

[R1]

R1(config)#router ospf 1
R1(config-router)#router-id 1.1.1.1
R1(config-router)#network 1.1.1.1 0.0.0.0 area 1
R1(config-router)#network 11.1.1.2 0.0.0.0 area 1

 

 

[R2]

R2(config)#router ospf 1
R2(config-router)#router-id 2.1.1.1
R2(config-router)#network 2.1.1.1 0.0.0.0 area 2
R2(config-router)#network 12.1.1.2 0.0.0.0 area 2

 

 

[ PC1에서 TEST ]

C:\>ping 2.1.1.11

Pinging 2.1.1.11 with 32 bytes of data:

Request timed out.
Reply from 2.1.1.11: bytes=32 time=59ms TTL=124
Reply from 2.1.1.11: bytes=32 time=11ms TTL=124
Reply from 2.1.1.11: bytes=32 time=10ms TTL=124

Ping statistics for 2.1.1.11:
    Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),
Approximate round trip times in milli-seconds:
    Minimum = 10ms, Maximum = 59ms, Average = 26ms

 

2024. 3. 8. 15:16
1 2 3 4 5