<aside> 📋 개요
</aside>
라우터의 동작 원리나 패킷의 이동 방식을 알아보았던 데이터 평면과는 달리 네트워크 계층의 제어 평면 장에서는 패킷의 라우팅 이동 경로를 설정하는 라우팅 알고리즘과 소프트웨어 정의 네트워크가 어떻게 네트워크 계층을 데이터와 제어 평면으로 분리할 수 있었는지 자세히 알아볼 수 있다.
라우터별 제어 (개별 라우팅 알고리즘들이 제어 평면에서 상호작용)
→ 라우팅 알고리즘들이 모든 라우터 각각에서 동작하는 경우를 나타낸다.
→ 포워딩과 라우팅 기능이 모두 개별 라우터에 포함되어 있다.
→ 각 라우터는 다른 라우터의 라우팅 구성요소와 통신하여 자신의 포워딩 테이블의 값을 계산하는 라우팅 구성요소를 가지고 있다.
→ OSPF와 BGF
프로토콜이 이 라우터별 제어 방식을 기반으로 하고 있다.
논리적으로 중앙 집중된 제어 (별개의, 일반적으로 원격에 위치한 컨트롤러가 지역의 제어 에이전트(CA)
와 상호작용)
→ 논리적으로 집중된 컨트롤러가 포워딩 테이블을 작성하고 이를 모든 개별 라우터가 사용할 수 있도록 배포한 경우를 나타낸다.
→ 일반화된 일치와 행동(match-plus-action) 추상화
를 통해 라우터는 기존에는 별도의 장치로 구현되었던 다양한 기능들뿐만 아니라 전통적인 IP포워딩을 할 수 있다.
<aside> <img src="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/96c75e98-d834-4348-8532-15197f6ed415/neural.png" alt="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/96c75e98-d834-4348-8532-15197f6ed415/neural.png" width="40px" /> 라우팅 알고리즘
</aside>
Q. 라우팅이란?
A. 라우터에 저장될 라우팅 테이블을 만드는 과정
중앙 집중형 라우팅 알고리즘
→ 네트워크 전체에 대한 완전한 정보를 가지고 출발지와 목적지 사이의 최소 비용 경로를 계산한다.
→ 이 알고리즘은 모든 노드 사이의 연결 상태와 링크 비용을 입력값으로 한다.
→ 이러한 정보는 알고리즘이 실제 계산을 수행하기 전에 어떠한 방법을 통해서라도 얻어야한다. 계산 자체는 한 장소에서 수행하거나 모든 라우터 각각의 라우팅 모듈로 복사될 수 있다.
→ 그러나 핵심적인 특성은 이 알고리즘이 연결과 링크 비용에 대한 완전한 정보를 가진다는 점이다.
→ 전체 상태 정보를 가지는 알고리즘을 링크 상태(LS)알고리즘
이라고 하는데, 이는 이 알고리즘이 네트워크 내 각 링크의 비용을 알고 있어야 하기 때문이다.
분산 라우팅 프로토콜
→ 최소 비용 경로의 계산이 라우터들에 의해 반복적이고 분산된 방식으로 수행된다.
→ 어떤 노드도 모든 링크의 비용에 대한 완전한 정보를 갖고 있지 않다. 대신 각 노드는 자신에 직접 연결된 링크에 대한 비용 정보만을 가지고 시작한다.
→ 이후 반복된 계산과 이웃 노드와의 정보 교환을 통해 노드는 점차적으로 목적지 또는 목적지 집합까지의 최소 비용 경로를 계산한다.
→ 분산 라우팅 알고리즘은 거리벡터(distance-vector, DV)알고리즘
이라고 부르는데, 이는 각 노드가 네트워크 내 모든 다른 노드까지 비용의 추정값을 벡터 형태로 유지하기 때문이다.
라우팅 알고리즘을 분류하는 일반적인 또다른 방식은 정적 알고리즘과 동적 알고리즘으로 분류하는 것이다.
→ 정적 라우팅 알고리즘
에서 경로는 아주 느리게 변하는데, 종종 사람이 개입한 결과로 그렇게 된다.
→ 동적 라우팅 알고리즘
은 네트워크 트래픽 부하(laod)나 토폴로지 변화에 따라 라우팅 경로를 바꾼다.
static : 수동 라우팅
→ routers are changed by 관리자 → slow
→ 복잡한 SW 구현이 불필요
→ 소규모, 변화가 거의 없는 네트워크 환경
→ 라우팅 트래픽에 의한 대역폭 소모가 불필요
→ 인터넷에서는 불가능
dynamic : 동적 라우팅
→ 자동적으로 periodic update
→ 초기에는 관리자가 라우터 테이블을 초기화
→ 현재 대부분 프로토콜은 동적
링크 상태(LS)알고리즘
각 라우터는 전체 네트워크의 구성(topology)와 링크 상태 정보 유지
각 라우터는 전체 네트워크 상태 정보를 이용하여 모든 목적지 네트워크까지의 최적 경로를 계산
최적 경로를 기반으로 각 네트워크에 대한 라우팅 테이블을 구성