호우동의 개발일지

Today :

article thumbnail

포워딩 테이블(forwarding table)

  • 네트워크 라우터에서 필수 불가결한 요소
    • 포워딩은 네트워크 계층 데이터 평면에 의해 실행되는 매우 중요한 기능
  • 라우터 역할 : 도착하는 패킷 헤더의 필드값을 조사하여 패킷을 전달
    → 이 값을 라우터의 포워딩 테이블의 내부 색인으로 사용
  • 포워딩 테이블 엔트리에 저장되어 있는 헤더 값
    • 해당 패킷이 전달되어야 하는 라우터의 외부 링크 인터페이스를 나타냄
    • 헤더의 값은 네트워크 계층 프로토콜에 따라 다름
      • 패킷의 목적지 주소일 수도 있고, 패킷이 속한 연결의 지시 일수도 있음

 

 


제어 평면: 전통적인 접근 방법

첫 포워딩 테이블이 어떻게 구성되는가?

  • (제어 평면에서) 라우팅과 (데이터 평면에서) 포워딩 사이의 중요한 상호작용을 보임
  • 라우터의 포워딩 테이블의 내용은 라우팅 알고리즘에 의해 결정된다.
    • 라우팅 알고리즘 예시
      • 라우팅 알고리즘은 각각의 모든 라우터에서 실행되며,
        라우터는 포워딩과 라우팅 기능을 모두 가지고 있어야 한다.

    • 라우팅 알고리즘 기능이 다른 라우터와도 소통하며 포워딩 테이블의 값을 계산한다.
      → 라우팅 알고리즘이 다른 라우터끼리도 통신이 가능하다.
      • How?
        • 라우팅 프로토콜에 따라 라우팅 정보에 포함된 라우팅 메시지를 교환한다.
        • 각 라우터는 다른 라우팅 구성요소와 소통하기 위한 라우팅 구성요소를 지닌다.

  • 전통적인 제어 평면 기능이 라우팅 공급업체에 의해 지속적으로 채택되었음.

 


포워딩 테이블을 이용하는 과정 : 전통적인 접근 방법

포워딩 테이블에서 라우팅 알고리즘의 결정값
포워딩 테이블에서 라우팅 알고리즘의 결정값

  • 가정 : 헤더값이 0110인 패킷이 라우터에 도착한다.
  1. 라우터는 자신의 포워딩 테이블을 통해 이 패킷에 대한 출력 링크 인터페이스를 결정
  2. 라우터는 내부적으로 이 패킷을 인터페이스 2로 전달

 

 


제어 평면 : SDN 접근 방법

  • SDN(software defined networking) : 네트워크가 소프트웨어적으로 정의됐을 때
    • 포워딩 테이블을 계산하는 컨트롤러는 라우터와 상호작용을 하며 소프트웨어에서 실행되기 때문

  • SDN 접근 방식
    • 라우터로부터 물리적으로 분리된 원격 컨트롤러 컴퓨터와
      각각의 라우터에 의해 사용될 포워딩 테이블을 분배하는 방식

  • 인간이 포워딩 테이블을 수동으로 구성할 수 있다는 견해에 의해 탄생

 


그림을 통해 SDN 제어 평면 이해

원격 컨트롤러가 존재
원격 컨트롤러가 존재
위의 경로와 같음
위의 경로와 같음

  • 데이터 평면 구성요소는 전통적인 접근 방법의 그림과 같음
  • 제어 평면 라우팅 기능이 물리적 라우터와는 다르다.
    • 원격 제어가 포워딩 테이블을 계산 및 분배
    • 라우팅 기기는 포워딩만을 수행
    • 위 두 과정이 동시에 일어난다.

  • 원격 컨트롤러가 높은 신뢰성과 중복성을 갖춘 곳에 설치 및 관리된다.
    • 예 : 원격 데이터 센터에 설치, ISP에 의해 관리

  • 라우터와 원격 컨트롤러가 어떻게 소통하는가?
    → 포워딩 테이블과 그 밖의 라우팅 정보를 포함한 메시지를 교환하여 소통