포워딩 테이블(forwarding table)
- 네트워크 라우터에서 필수 불가결한 요소
- 포워딩은 네트워크 계층 데이터 평면에 의해 실행되는 매우 중요한 기능
- 라우터 역할 : 도착하는 패킷 헤더의 필드값을 조사하여 패킷을 전달
→ 이 값을 라우터의 포워딩 테이블의 내부 색인으로 사용 - 포워딩 테이블 엔트리에 저장되어 있는 헤더 값
- 해당 패킷이 전달되어야 하는 라우터의 외부 링크 인터페이스를 나타냄
- 헤더의 값은 네트워크 계층 프로토콜에 따라 다름
- 패킷의 목적지 주소일 수도 있고, 패킷이 속한 연결의 지시 일수도 있음
제어 평면: 전통적인 접근 방법
첫 포워딩 테이블이 어떻게 구성되는가?
- (제어 평면에서) 라우팅과 (데이터 평면에서) 포워딩 사이의 중요한 상호작용을 보임
- 라우터의 포워딩 테이블의 내용은
라우팅 알고리즘
에 의해 결정된다.- 라우팅 알고리즘 예시
- 라우팅 알고리즘은 각각의 모든 라우터에서 실행되며,
라우터는 포워딩과 라우팅 기능을 모두 가지고 있어야 한다.
- 라우팅 알고리즘은 각각의 모든 라우터에서 실행되며,
- 라우팅 알고리즘 기능이 다른 라우터와도 소통하며 포워딩 테이블의 값을 계산한다.
→ 라우팅 알고리즘이 다른 라우터끼리도 통신이 가능하다.
- How?
- 라우팅 프로토콜에 따라 라우팅 정보에 포함된 라우팅 메시지를 교환한다.
- 각 라우터는 다른 라우팅 구성요소와 소통하기 위한 라우팅 구성요소를 지닌다.
- How?
- 라우팅 알고리즘 예시
- 전통적인 제어 평면 기능이 라우팅 공급업체에 의해 지속적으로 채택되었음.
포워딩 테이블을 이용하는 과정 : 전통적인 접근 방법
- 가정 : 헤더값이 0110인 패킷이 라우터에 도착한다.
- 라우터는 자신의 포워딩 테이블을 통해 이 패킷에 대한 출력 링크 인터페이스를 결정
- 라우터는 내부적으로 이 패킷을 인터페이스 2로 전달
제어 평면 : SDN 접근 방법
SDN(software defined networking)
: 네트워크가 소프트웨어적으로 정의됐을 때- 포워딩 테이블을 계산하는 컨트롤러는 라우터와 상호작용을 하며 소프트웨어에서 실행되기 때문
- 포워딩 테이블을 계산하는 컨트롤러는 라우터와 상호작용을 하며 소프트웨어에서 실행되기 때문
- SDN 접근 방식
- 라우터로부터 물리적으로 분리된 원격 컨트롤러 컴퓨터와
각각의 라우터에 의해 사용될 포워딩 테이블을 분배하는 방식
- 라우터로부터 물리적으로 분리된 원격 컨트롤러 컴퓨터와
- 인간이 포워딩 테이블을 수동으로 구성할 수 있다는 견해에 의해 탄생
그림을 통해 SDN 제어 평면 이해
- 데이터 평면 구성요소는 전통적인 접근 방법의 그림과 같음
- 제어 평면 라우팅 기능이 물리적 라우터와는 다르다.
- 원격 제어가 포워딩 테이블을 계산 및 분배
- 라우팅 기기는 포워딩만을 수행
- 위 두 과정이 동시에 일어난다.
- 원격 컨트롤러가 높은 신뢰성과 중복성을 갖춘 곳에 설치 및 관리된다.
- 예 : 원격 데이터 센터에 설치, ISP에 의해 관리
- 예 : 원격 데이터 센터에 설치, ISP에 의해 관리
- 라우터와 원격 컨트롤러가 어떻게 소통하는가?
→ 포워딩 테이블과 그 밖의 라우팅 정보를 포함한 메시지를 교환하여 소통