전공수업

[컴퓨터네트워크2] 하향식접근 5장 (3) - DV 알고리즘, intra-ISP 라우팅 : OSPF

dayeonsheep 2025. 3. 19. 01:40

글로 복습하는 건 머리로만 이해하는 것보다 시간도 오래걸리지만
나중에 보기 좋긴 함 그리고 뭐... 말로 써보면 남한테 설명 해주는 것처럼 기록하니까 좋기도...
미래의 나를 위해...

Distance vector algorithm

반복, 비동기 iterative, asychronous
각 로컬 반복 cased by:

  • 로컬 링크 비용 변경
  • neghbor의 DV 업데이트 메시지

분산 distributed

  • 각 노드는 DV가 변경될 때만 인접 노드에 알림
  • 그런 다음 이웃은 필요한 경우 이웃에게 알립니다

 
 
 
 
 
로컬 링크 비용이나 이웃으로부터 메시지 올 때까지 기다리기
 
 
 
예상값 재계산하기
 
 
 
목적지에 대한 DV값이 바뀔 경우, 이웃에게 알림
-> DV값이 변경되지 않을 때까지 반복
 
 
 
 

-> 확산되는 순서 from c
전파를 저런 순서로 하는구나~ (당연함)

 

link cost가 변경됐을 때

작은 값으로 변경되면 빨리 평형상태(값 안 바뀌는 상태)가 된다.
근데 큰 값으로 변경되면 루프 많이 계산해야함.
저걸 이용해서 패킷을 포워딩을 해야되면 Loop를 도는 현상이 발생할 수도 있다
목적지를 찾아가지 못하고 루프를 도는 현상이 발생할 수도 있다는 거
dv에서 link cost가 변경될 경우
-> 넽웤 관리잦가 설정하거나 길이 끊어지거나, distance 값 변경됏으면 또 neighbor에 알려줘라
 
 
 

 
 
 
근데 큰 값으로 변경 counting to infinity problem 생김
근데 이건 노드 3개일 때만 생기는 문제라고 함. loop를 돌게 됨
 
 
 
 
 

-Y는 X에 대한 직접 링크가 새로운 비용 60을 갖는다고 보지만 Z는 비용이 5인 경로가 있다고 말했습니다. 그래서 y 는 "x에 대한 나의 새로운 비용은 z를 통해 6이 될 것입니다"를 계산합니다. Z에게 6에서 X까지의 새로운 비용을 알립니다.

-Z는 Y를 통해 X로 가는 길에 새로운 비용이 6이라는 것을 알게 되므로, Z는 "Y를 통해 X에 대한 나의 새로운 비용은 7이 될 것"이라고 계산하고, Y에게 X에 대한 7의 새로운 비용을 알립니다.

-Y는 Z를 통해 X로 가는 길에 새로운 비용이 7이라는 것을 알게 되므로, Y는 "Y를 통해 X에 대한 나의 새로운 비용은 Y를 통해 8이 될 것"이라고 계산하고, Z에게 X에 대한 8의 새로운 비용을 알립니다.

-Z는 Y를 통해 X로 가는 길에 새로운 비용이 8이라는 것을 알게 되므로, Z는 "Y를 통해 X에 대한 나의 새로운 비용은 9가 될 것"이라고 계산하고, Y에게 X에 대한 9의 새로운 비용을 알립니다.

 
y를 거쳐서 잘못된 정보로 계속 값을 다시 계산하면서 loop를 돌게된다
 
 
그런데 이걸보고 생긴 궁금증
 
궁금증1: 만약 cost가 바뀐게 이전 최소경로값이랑 같으면 어느 link를 우선선택하는지 기준이 있는지?
-> 추측으로는 link끼리 소통하는 데도 라우터를 덜 지나갈수록 에너지? 복잡성?을 줄일 수 있는 걸까나
궁금증2: 나를 지나지 않고 가는 경로만 찾는 알고리즘은 없는지?
궁금증3: 왜 정보를 늦게 전달해 주는지?

 

1. 만약 비용이 바뀐 값이 이전 최소 경로 값과 같다면, 어느 링크를 우선 선택하는지?

기본 원칙:
Distance Vector 알고리즘에서는 단순히 최소 비용을 우선 선택.
즉, 같은 비용의 경로가 여러 개라면 무작위로 선택되거나, 구현 방식에 따라 달라질 수 있음.
추측한 내용(라우터를 덜 지나가는 경로를 선호하는지?)

  • Distance Vector 알고리즘은 홉(hop) 수를 고려하지 않고 비용(cost)만 비교합니다.
  • 따라서 경로가 짧다고 해서 반드시 우선 선택되지 않음.
  • 하지만 Link State 알고리즘(OSPF, Dijkstra) 같은 경우에는 홉 수도 고려할 수 있음.

 

2. 나를 지나지 않고 가는 경로만 찾는 알고리즘은 없는지?

이 문제를 해결하는 대표적인 방법이 Split HorizonPoison Reverse 기법입니다.

  • Split Horizon:
    • 나를 통해 온 경로를 다시 나한테 보낼 수 없게 하는 방법.
    • 예를 들어 Y가 Z로부터 X까지의 경로를 받았으면, Y는 다시 Z에게 "X까지의 거리 정보"를 보내지 않음.
    • 이렇게 하면 무한 루프 문제를 방지할 수 있음.
  • Poison Reverse:
    • 만약 Y가 Z에게서 X까지 가는 경로를 배웠다면, Z에게 "나는 X까지 가는 경로를 무한대로 간주할게"라고 알려줌.
    • 이렇게 하면 Z가 잘못된 정보를 받아들이는 것을 방지할 수 있음.
    • 하지만 네트워크 크기가 크면 불필요한 업데이트가 많아져 비효율적일 수 있음.

즉, Distance Vector 기반의 알고리즘에서도 나를 거치지 않는 경로를 선택하는 방법이 있지만,
기본 알고리즘 자체는 그런 기능이 없음.
추가적인 기법을 적용해야 함.
 

 
3. 왜 정보를 늦게 전달해 주는지? ("Bad News Travels Slow")

Distance Vector 알고리즘은 경로 정보를 주기적으로 교환하는 방식이라서 다음과 같은 문제가 발생함.
 
(1) 네트워크가 변경된 후 정보가 점진적으로 퍼짐

  • 각 노드는 주기적으로 이웃에게 업데이트된 정보를 전달.
  • 하지만 이전 값이 업데이트되기 전에 잘못된 정보가 전달될 수 있음.
  • 예를 들어, X → Y의 비용이 갑자기 증가하면, Y는 여전히 이전 비용을 가지고 업데이트됨.
  • 그러다 보니 Y가 잘못된 정보를 Z에게 보내고, Z가 다시 잘못된 정보를 Y에게 보냄 → Count-to-Infinity 발생

(2) 기존의 비용 정보가 새로운 정보보다 더 빠르게 퍼짐

  • 예를 들어, 비용이 줄어드는 경우(좋은 소식)는 한 번의 업데이트로 해결됨.
  • 하지만 비용이 증가하는 경우(나쁜 소식)는 여러 단계에 걸쳐서 업데이트되어야 함.

 

결론

  1. 같은 비용이 있다면, 단순히 비용이 작은 경로를 선택하며 홉 수는 고려되지 않음.
  2. Split Horizon, Poison Reverse 같은 방법으로 나를 거치지 않는 경로를 강제할 수 있음.
  3. Distance Vector 알고리즘의 구조상 정보가 천천히 업데이트되는 문제가 있음.
    • 특히, Count-to-Infinity 문제가 발생하는 이유는 잘못된 정보가 순환하면서 업데이트되기 때문.
    • 이 문제를 해결하기 위해 벨만-포드(Bellman-Ford) 알고리즘 + 추가 기법(e.g., Split Horizon) 사용.

 
오호 그렇다고 함
 
 

LS vs DV

 

DV는 이웃된 노드들과만 메시지 교환 / 자신으로부터 네트워크 내 모든 노드들로부터 최소 비용 추정값을 제공

LS는 모든 노드들과 메시지를 브로드캐스팅으로 교환 / 자신의 이웃 노드 링크 비용만 제공

 

 

차이 분류 LS DV
message complexity 라우터가 n개면, O(n^2) msgs sent
- 전체 정보를 필요로 함
- 각 노드는 모든 다른 노드와 (broadcast를 통해) 통신
- 오직 자신에게 직접 연결된 링크의 비용만 알린다

이웃 끼리 주고받음, 수렴 시간 다양
- 각 노드는 오직 직접 연결된 이웃과만 메시지 교환
- 자신으로부터 네트워크 내 자신이 알고 있는 모든 노드로의 최소 비용 추정값을 이웃들에게 제공
- 링크 비용이 변하고, 이 새로운 링크 비용이 이 링크에 연결된 어떤 노드의 최소 비용 경로에 변화를 준 경우에만 DV 알고리즘은 수정된 링크 비용을 전파한다

speed of convergence O(n^2) 알고리즘, O(n^2) msgs
- 링크 비용이 변할 때마다 새로운 링크 비용이 모든 노드에게 전달되어야 한다
수렴시간 다양
- 라우팅 루프있을 수 있음 (라우팅 테이블이 평형상태가 되지 않을 때)
- count to infinity 문제

- 매번 반복마다 직접 연결된 이웃끼리 메시지를 교환
- 알고리즘의 결과가 수렴하는 데 걸리는 시간은 많은 요소에 좌우된다

robustness
: 라우터가 오작동하거나 손상될 때 어떻게 하는지?

- 잘못된 link cost 주더라도 크게 영향 안 미칠 수 있다
- 각각의 라우터가 자기자신의 테이블을 계산, 옆 애가 잘못된 정보를 주더라도 거기까지 가지 않는 건 올바르게 계산할 수 있음

- 라우터는 연결된 링크에 대해 잘못된 비용 정보를 브로드캐스트할 수 있다.
- 노드는 링크 상태 브로드캐스트를 통해 받은 패킷을 변질시키거나 폐기할 수 있다.
- 그러나 하나의 링크 상태 노드는 자신의 포워딩 테이블만 계산하기 때문에 링크 상태 알고리즘에서 경로 계산은 어느 정도 분산되어 수행된다.

-> 따라서 링크 상태 알고리즘은 어느 정도의 견고성을 제공한다.


- DV 라우터는 잘못된 경로 비용을 advertise 있다 ("모든 곳에 정말 저렴한 경로가 있습니다"): -> 블랙홀 문제
- 각 라우터의 DV 다른 라우터에 의해서 사용돼서, 네트워크를 통해 오류가 전파됨

- 노드는 잘못된 최소 비용 경로를 일부 혹은 모든 목적지에 알릴 수 있다.
- 각 반복마다 한 노드의 거리 벡터 계산이 이웃에게 전달되고 다음 반복에서 이웃의 이웃에게 간접적으로 전달된다.

-> 따라서 거리 벡터 알고리즘을 사용하는 네트워크에서 한 노드의 잘못된 계산은 전체로 확산될 수 있다.


 

 
 

하나의 구성 요소 단위가 AS= Autonomous System 

AS(자율 시스템)은 하나의 네트워크 관리 기관(ISP, 기업, 대학교 등)에 의해 운영되는 라우터들의 집합이다.
AS 내부에서는 자체적인 라우팅 정책을 따르고, 외부 AS와는 표준 프로토콜을 사용해 통신한다.


AS 안 라우터 to 라우터가 ; intra AS routing, IGRP(내부 게이트웨이 라우팅 프로토콜), (RIP, OSPF, IS-IS, ECGRP)
AS와 AS : inter as routing protocol, (BGP)
 
이건 이해했는데 
왜 intra-ISP라고 부르는지?

더보기

왜 OSPF를 Intra-ISP 라우팅이라고 할까?

1. ISP(Internet Service Provider)란?

ISP(인터넷 서비스 제공자, Internet Service Provider)는 인터넷 연결을 제공하는 네트워크 사업자를 의미한다.

  • 예: KT, SK브로드밴드, LG U+, Verizon, AT&T 등

ISP는 고객(개인, 기업, 기관)에게 인터넷을 제공하고, 내부적으로 여러 개의 Autonomous System(AS, 자율 시스템)을 운영하며 네트워크를 관리한다.


2. Intra-ISP 라우팅이란?

  • OSPF는 한 개의 AS(Autonomous System) 내부에서 동작하는 라우팅 프로토콜이다.
  • ISP의 네트워크는 자체적으로 하나의 큰 AS로 구성되거나 여러 개의 AS를 포함할 수 있다.
  • OSPF 같은 Intra-AS 라우팅 프로토콜은 ISP 내부에서만 사용되므로 Intra-ISP 라우팅이라고 부를 수 있다.

즉, ISP 내부(한 개의 AS 안)에서 라우팅할 때 OSPF 같은 프로토콜을 사용하므로 이를 Intra-ISP 라우팅이라고 부르는 것이다.


3. Intra-ISP vs. Inter-ISP 라우팅

Intra-ISP 라우팅 하나의 ISP 내부에서 동작하는 라우팅 OSPF, RIP, EIGRP, IS-IS
Inter-ISP 라우팅 ISP 간(다른 AS 간) 라우팅 BGP(Border Gateway Protocol)
  • OSPF는 ISP 내부의 네트워크 관리에 사용되므로 Intra-ISP 라우팅 프로토콜이다.
  • ISP가 다른 ISP와 통신할 때는 BGP(Border Gateway Protocol) 같은 Inter-AS 라우팅 프로토콜을 사용한다.

결론

ISP 내부의 AS(Autonomous System)에서 동작하는 라우팅이므로 OSPF를 Intra-ISP 라우팅이라고 부른다.
ISP 간(AS 간) 라우팅은 BGP 같은 Inter-ISP(Inter-AS) 라우팅 프로토콜을 사용한다.
즉, OSPF는 "ISP 내부에서만 사용하는 라우팅 프로토콜"이기 때문에 Intra-ISP 라우팅이라고 표현하는 것! 🚀

 

OSPF 및 인터넷 라우팅 요약

1. 인터넷 라우팅 확장성 문제와 해결 방법

  • 스케일 문제: 수십억 개의 목적지를 저장할 수 없고, 라우팅 테이블 교환이 네트워크를 과부하시킬 수 있음.
  • 관리적 자율성: 인터넷은 여러 네트워크(AS, Autonomous System)로 구성되며, 각 네트워크 관리자가 라우팅을 제어할 수 있음.
  • 해결책:
    • 네트워크를 AS(자율 시스템) 으로 나눠 관리.
    • AS 내부는 Intra-AS 라우팅 사용 (OSPF, RIP, EIGRP 등).
    • AS 간은 Inter-AS 라우팅 사용 (BGP 등).
    • AS 내에서는 같은 라우팅 프로토콜을 사용하지만, AS 간에는 서로 다른 라우팅 프로토콜 사용 가능.

2. Intra-AS (내부 라우팅) 프로토콜

  • RIP (Routing Information Protocol):
    • 거리 벡터 기반, 30초마다 DV(거리 벡터) 교환.
    • 현재는 거의 사용되지 않음.
  • EIGRP (Enhanced Interior Gateway Routing Protocol):
    • DV 기반, Cisco 전용이었으나 2013년부터 공개.
  • OSPF (Open Shortest Path First , 개방형 최단 경로 우선 프로토콜): 링크 상태 정보를 플러딩하고 다익스트라 최소 비용 경로 알고리즘을 사용하는 링크 상태(LS) 알고리즘
    • 링크 상태 라우팅 프로토콜, AS 내 모든 라우터가 동일한 토폴로지를 공유.
    • 다익스트라 알고리즘 사용하여 최단 경로 계산.
    • 링크 상태 정보를 flooding 방식으로 전파.
    • 보안 강화: 메시지 인증 기능 포함.

3. Inter-AS (외부 라우팅) 역할

  • AS 간 라우팅 수행 (주로 BGP 사용).
  • AS 내부에서 외부 목적지를 향한 최적 경로 결정.
  • AS 간 라우팅 프로토콜은 여러 AS간의 협력이 수반되므로 통신하는  AS들은 같은 AS 간 라우팅 프로토콜을 수행해야만 한다. 이때 사용되는 프로토콜이 (Border Gateway Protocol, BGP)이다.
  • 예: AS1이 AS2 및 AS3과 연결되어 있을 때, AS1의 게이트웨이 라우터는 어떤 AS를 통해 목적지에 도달할지 선택해야 함.

4. OSPF 개요

  • "Open": 공개적으로 사용 가능한 표준 라우팅 프로토콜.
  • 링크 상태(Link-State) 기반: 각 라우터가 네트워크 전체의 상태를 유지.
  • Flooding 방식: 모든 라우터가 링크 상태 광고(LSA, Link-State Advertisement)를 네트워크 전체에 전파.
  • 다익스트라(Dijkstra) 알고리즘 사용: 네트워크 전체의 최단 경로를 계산하여 포워딩 테이블을 구축.
  • IP 기반 전송: OSPF 메시지는 TCP/UDP가 아닌 IP 패킷(프로토콜 번호 89) 로 직접 전송됨.
    • OSPF는 IP에서 실행되며 프로토콜 번호 89를 사용합니다. OSPF는 TCP 및 UDP와 같은 다른 전송 프로토콜에 의존하지 않습니다.
    • 왜 TCP/UDP가 아닌 IP를 사용하는지?
더보기

왜 OSPF는 TCP/UDP가 아닌 IP로 동작할까?

OSPF는 IP 프로토콜(프로토콜 번호 89) 위에서 직접 동작하며, TCP나 UDP를 사용하지 않는 이유는 다음과 같다.


1. 라우터 간 직접적인 통신이 필요함

  • OSPF는 라우터 간 라우팅 정보를 교환하는 프로토콜이다.
  • TCP/UDP는 일반적인 애플리케이션 계층 통신에 적합하지만, 라우팅 프로토콜은 애플리케이션이 아니라 네트워크 자체의 동작을 위한 것이므로 별도의 계층(TCP/UDP)을 거칠 필요가 없다.
  • IP 패킷으로 직접 동작하면 불필요한 오버헤드 없이 라우터 간 빠르게 정보를 주고받을 수 있다.

2. 연결 지향(Connection-Oriented) 방식이 필요하지 않음

  • TCP는 신뢰성 있는 연결을 제공하지만, OSPF는 라우팅 정보를 지속적으로 브로드캐스트(또는 멀티캐스트)하며 갱신하기 때문에 신뢰성을 위한 연결 설정(TCP 핸드셰이크)이 불필요하다.
  • OSPF는 자체적으로 Hello 패킷을 사용해 이웃 라우터의 상태를 확인하고, 필요하면 정보를 재전송하는 기능이 있어 TCP의 신뢰성 기능이 필요 없다.
    • Hello 패킷은 OSPF(Open Shortest Path First)에서 이웃 라우터(Neighbor)를 발견하고 관계를 유지하는 데 사용하는 패킷
    • 무슨 파라미터 체크도 하고 구조도 나눠져있는데
    •  

3. OSPF는 브로드캐스트/멀티캐스트를 사용함

  • OSPF는 라우터 간 링크 상태 광고(LSA, Link-State Advertisement)를 네트워크 전체에 퍼뜨리는 방식(Flooding) 을 사용한다.
  • TCP는 일대일(Unicast) 연결만 지원하므로, 여러 라우터에게 동시에 정보를 전송하는 멀티캐스트(224.0.0.5, 224.0.0.6) 를 사용할 수 없다.
  • 반면, UDP는 멀티캐스트를 지원하지만, OSPF의 경우 신뢰성이 보장되어야 하는 특정 메시지(LSA 재전송 등) 가 있기 때문에 UDP도 적절하지 않다.

4. 빠른 프로세싱과 낮은 오버헤드

  • TCP는 패킷 분할, 재조립, 오류 검출, 흐름 제어 등 다양한 기능을 수행하지만, 이는 OSPF의 동작에 불필요한 오버헤드가 된다.
  • OSPF는 자체적인 신뢰성 메커니즘(LSA 재전송, Hello 패킷) 덕분에 TCP의 복잡한 기능 없이도 안정적인 통신이 가능하다.

결론

OSPF는 라우터 내부에서 직접 동작하며, 신뢰성을 자체적으로 보장하므로 TCP/UDP 같은 트랜스포트 계층을 거칠 필요가 없다.
멀티캐스트를 활용해 여러 라우터에 동시에 메시지를 전송해야 하므로 TCP보다 IP 기반이 더 적합하다.
불필요한 연결 설정과 오버헤드를 제거하여 빠르고 효율적인 라우팅을 가능하게 한다.

 
더 찾아보다가 OSPF에도 패킷이 여러개 있고 그 중에 Hello 패킷이라는게 있는데
https://white-polarbear.tistory.com/29

 

OSPF Packet Type (Hello, DBD, LS R/U/A)

● OSPF Packet Type란? OSPF가 동작하는 라우터의 LSDB 정보를 요청 및 갱신을 수행하고 OSPF가 동작하는 라우터를 식별하기 위해 사용하는 Packet을 의미하며 5가지 종류가 있습니다. 또한 해당 패킷을

white-polarbear.tistory.com

http://www.ktword.co.kr/test/view/view.php?no=3232

 

OSPF Hello 메세지

  OSPF Hello Message, OSPF Hello Protocol, Hello Packet   OSPF Hello 메세지, OSPF Hello 프로토콜, Hello 패킷 (2016-10-15)Hello Interval, Dead Interval 1. OSPF Hello 프로토콜 ㅇ OSPF로 설정된 라우터는, 우선적으로 Hello 프로토

www.ktword.co.kr

https://blog.naver.com/whenrnjs/60048870008

 

OSPF Hello Packet

OSPF는 다른 Distance Vector Routing protocol과 달리, 먼저 neighboring을 맺은 후에 routing을 ...

blog.naver.com

이렇다고 함
근데 이 네이버 블로그는 설명이 귀여워서 가져옴

OSPF는 다른 Distance Vector Routing protocol과 달리, 먼저 neighboring을 맺은 후에 routing을 교환한다. routing을 결정하기 위하여, 몇 가지 process를 거치게 되는데, 크게 보면, 다음과 같은 3 가지로 압축할 수 있다.
 
1. OSPF neighbor Establish
2. LSDB 교환
3. Routing 계산
 
아놔~ 별거 아니다.. 근데 왜 난 이렇게 이해를 못해서, 블로그에 정리까지.. OTL ㅜ.ㅜ
[출처] OSPF Hello Packet|작성자 조뚜껑

 
아놔~ 별거 아니잖아~ 블로그에 정리하면서 공부 다시하기 좋은데~ OTL 
 

5. OSPF의 계층적 구조 (Hierarchical OSPF)

  • OSPF는 2계층 구조(지역(Local Area)과 백본(Backbone))을 사용하여 확장성을 높임.
  • Local Area: 내부 라우팅, LS 정보는 지역 내에서만 전파.
  • Backbone (Area 0): AS 전체를 연결하는 중심 역할.
  • Area Border Router (ABR): 지역 간 거리 요약 후 백본에 전달.
  • Backbone Router: 백본 내에서만 OSPF 실행.
  • Boundary Router: 다른 AS와 연결.

장점: 네트워크 부담 감소, 라우팅 효율성 증가, 빠른 장애 복구.

 

 

 

각 area에 있는 애들은 걔네 안에만 있는 애들 알면 됨

 

backbone : gateway router역할을 함

area border router : 이 area에 이런 애들 있어~, 그 area 내에서 목적지까지 거리들을 모아서 backbone안에서 전파해줌

boundary router : 다른 AS들하고 연결

local routers : LS를 저 area에서만 흘려줌

 

  • OSPF의 자율 시스템(AS)는 계층적인 영역(area)으로 구성될 수 있다.
    • 각 영역은 자신의 OSPF 링크 상태 라우팅 알고리즘을 수행한다.
    • 한 영역 내의 라우터는 같은 영역 내의 라우터들에게만 링크 상태를 브로드캐스트한다.
    • 각 영역 내에서 하나 혹은 그 이상의 영역 경계 라우터(area border router)가 영역 외부로의 패킷 라우팅을 책임진다.
    • 백본 영역의 주요 역할은 AS 내 영역 간의 트래픽을 라우팅하는 것이다.
  • AS 내 영역 간 라우팅을 위해서는,
    1. 영역 경계 라우터로 패킷을 라우팅한다. (영역 내 라우팅)
    2. 백본을 통과하여 목적지 영역의 영역 경계 라우터로 라우팅한다.
    3. 그 후 최종 목적지로 라우팅한다.

 

Hierarchical OSPF에서 각 라우터의 역할

OSPF는 계층적 구조(Hierarchical OSPF)를 가지며, 두 개의 주요 계층으로 나뉜다.

  • Backbone (Area 0)
  • Local Areas (Area 1, Area 2, …)

이 계층 구조를 통해 OSPF의 확장성을 높이고, 라우팅 테이블 크기를 줄이며, 네트워크 부하를 줄일 수 있다.

 

1. Area Border Router (ABR, 영역 경계 라우터)

역할:

  • 한 개 이상의 OSPF 영역(Area)에 속하며, Backbone(Area 0)과 Local Area를 연결하는 라우터
  • Local Area의 내부 라우팅 정보(거리, 경로)를 요약(summarize)하여 Backbone(Area 0)에 전달
  • 즉, Local Area의 라우팅 정보를 압축해서 Backbone으로 보내는 역할

이점:

  • 모든 Local Area의 상세한 정보가 Backbone으로 flooding되지 않기 때문에 OSPF의 확장성이 증가
  • Local Area 내부의 변화가 Backbone 전체에 영향을 주지 않음

 

2. Local Router (Internal Router, 지역 내부 라우터)

역할:

  • 특정 Local Area 내부에서만 OSPF 라우팅을 수행
  • LSA(Link-State Advertisement) flooding을 해당 Area 안에서만 전파
  • OSPF 경로를 계산하여 Local Area 내부의 최적 경로를 결정
  • 다른 Area로 나가는 패킷은 Area Border Router(ABR)로 전달

이점:

  • Local Area 내부에서만 동작하므로 다른 영역(Area)에 불필요한 라우팅 정보를 보내지 않음
  • OSPF의 라우팅 테이블 크기를 줄이고, 네트워크 부하를 최소화

 

3. Boundary Router (ASBR, 경계 라우터)

역할:

  • OSPF AS(자율 시스템)과 다른 AS(BGP 같은 외부 네트워크)를 연결하는 라우터
  • OSPF 내부에서 배운 경로를 BGP 등 다른 프로토콜을 통해 외부 AS로 전파
  • 외부 AS에서 받은 경로 정보를 OSPF 네트워크 내부로 광고(advertise)

이점:

  • OSPF 내부 네트워크가 인터넷(다른 ISP, 기업 네트워크)과 통신할 수 있도록 해줌
  • OSPF 내부 경로와 외부 경로를 변환하여 서로 연결하는 역할

 

4. Backbone Router (백본 라우터, OSPF Area 0 라우터)

역할:

  • OSPF의 Backbone(Area 0)에서 동작하는 라우터
  • 여러 개의 Local Area(1, 2, …)를 연결하여 OSPF 네트워크 전체를 안정적으로 유지
  • OSPF에서 모든 Local Area는 반드시 Backbone(Area 0)과 연결되어야 함

이점:

  • Backbone이 모든 Local Area를 연결하는 중심 역할을 하기 때문에, OSPF의 구조가 안정적
  • 각 Local Area가 서로 연결되기 위해 Backbone을 거쳐야 하므로 트래픽이 효율적으로 관리됨

 

🔹 요약: OSPF 계층적 구조에서 라우터들의 역할

라우터 종류 역할 주요 기능

Area Border Router (ABR) Local Area ↔ Backbone 연결 Local Area 정보를 요약해서 Backbone(Area 0)으로 전달
Local Router (Internal Router) 특정 Local Area 내부에서만 동작 LSA flooding, Local Area 내부 라우팅 수행
Boundary Router (ASBR) OSPF ↔ 외부 네트워크 연결 OSPF 내부와 BGP 같은 외부 라우팅 프로토콜 간 정보 전달
Backbone Router OSPF Backbone (Area 0)에서 동작 Local Area들을 연결하여 OSPF 네트워크 유지

 

뭔가 머리에 잘 안 들어와서 지피티에게 요약을 맡겼다

잘 하는군 녀석

 

그리고 뭔가 이전판 정리해 놓은 글들 보면서 8판에 빠진 게 많은 것 같은 느낌...

 

* OSPF 개선 사항, OSFP에 구현된 개선사항들

a. 보안 :

  • 인증(MD5 or 단순 인증)을 통해 신뢰할 수 있는 라우터들만이 AS내부의 OSPF 프로토콜에 참여할 수 있고, 악의적인 침입자가 잘못된 정보를 라우터 테이블에 삽입하는 것을 막게 된다.
    • 단순 인증 : 동일한 패스워드가 각 라우터에 설정되며, 라우터가 OSPF 패킷을 보낼 때 패스워드를 평문 그대로 포함하기 때문에 안전하지 않다.
    • MD5 인증 : 모든 라우터에 설정된 공유 비밀키를 기반으로 한다. (8장 내용)
  • OSPF 라우터들 간의 정보 교환(e.g., 링크 상태 갱신)을 인증할 수 있으며,
    인증을 통해 신뢰할 수 있는 라우터들만이 AS 내부의 OSPF 프로토콜에 참여할 수 있다.
    원래 라우터 간의 OSPF 패킷은 인증을 하지 않으므로 위조될 수 있다.

 

b. 복수 동일 비용 경로 :

  • 하나의 목적지에 대해 동일한 비용을 가진 여러 개의 경로가 존재할 때 OSPF는 여러 개의 경로를 사용할 수 있도록 한다.
  • 즉, 비용이 동일한 여러 개의 경로가 있을 때 모든 트래픽을 전달하기 위한 단 하나의 경로를 선택할 필요가 없다.

c. 유니캐스트와 멀티캐스트 라우팅의 통합 지원

  • MOSPF(multicast OSPF)는 멀티캐스트 라우팅 기능을 제공하기 위해 OSPF를 단순 확장했다.

d. 단일 AS 내에서의 계층 지원 :

  • OSPF의 자율 시스템은 계층적인 영역으로 구성될 수 있다. 
  • 기존의 OSPF 링크 데이터베이스를 사용
    OSPF 링크 상태 브로드캐스트 메커니즘에 새로운 형태의 링크 상태 알림을 추가

 

++

  • MAC 주소 : 네트워크 상에서 서로를 구분하기 위해 디바이스마다 할당된 물리적 주소
  • 유니캐스트(Unicast) : 정보를 전송하기 위한 프레임에 자신의 MAC 주소와 목적지의 MAC 주소를 첨부하여 전송하는 방식 (일대일 통신)
  • 브로드캐스트(Broadcast) : 로컬 네트워크에 연결되어 있는 모든 시스템에게 프레임을 보내는 방식
    (송신 노드 하나가 네트워크에 연결된 수신 가능한 모든 노드에 데이터를 전송)
  • 멀티캐스트(Multicast) : 네트워크에 연결되어 있는 시스템 중 특정 그룹을 지정해서 해당 그룹원에게만 한 번에 정보를 전송하는 방식
    (라우터가 멀티캐스트를 지원해야만 사용 가능)

 

 

<참고>