[컴퓨터네트워크2] 하향식접근 5장 (3) - DV 알고리즘, intra-ISP 라우팅 : OSPF
글로 복습하는 건 머리로만 이해하는 것보다 시간도 오래걸리지만
나중에 보기 좋긴 함 그리고 뭐... 말로 써보면 남한테 설명 해주는 것처럼 기록하니까 좋기도...
미래의 나를 위해...
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 Horizon과 Poison 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) 기존의 비용 정보가 새로운 정보보다 더 빠르게 퍼짐
- 예를 들어, 비용이 줄어드는 경우(좋은 소식)는 한 번의 업데이트로 해결됨.
- 하지만 비용이 증가하는 경우(나쁜 소식)는 여러 단계에 걸쳐서 업데이트되어야 함.
결론
- 같은 비용이 있다면, 단순히 비용이 작은 경로를 선택하며 홉 수는 고려되지 않음.
- Split Horizon, Poison Reverse 같은 방법으로 나를 거치지 않는 경로를 강제할 수 있음.
- 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 안 라우터 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 내 영역 간 라우팅을 위해서는,
- 영역 경계 라우터로 패킷을 라우팅한다. (영역 내 라우팅)
- 백본을 통과하여 목적지 영역의 영역 경계 라우터로 라우팅한다.
- 그 후 최종 목적지로 라우팅한다.
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) : 네트워크에 연결되어 있는 시스템 중 특정 그룹을 지정해서 해당 그룹원에게만 한 번에 정보를 전송하는 방식
(라우터가 멀티캐스트를 지원해야만 사용 가능)
<참고>