호우동의 개발일지

Today :

article thumbnail

라우터 내부 구조


상위 레벨의 관점에서 본 일반적인 라우터 구조

라우터 구조
라우터 구조

입력 포트(input port)

  • 여기서의 포트(port) → 물리적인 입출력 라우터 인터페이스를 의미
    • 네트워크 애플리케이션 및 소켓과 관련된 소프트웨어 포트와는 명백히 다름

  • 가장 중요한 기능 - 검색 기능
    • 이는 가장 오른쪽 박스에서 발생
    • 포워딩 테이블을 참조하여 도착된 패킷이 스위치 구조를 통해 라우터 출력 포트를 결정
      → 제어 패킷은 입력 포트에서 라우팅 프로세서로 전달된다.

  • 맨 왼쪽 박스와 출력 포트의 맨 오른쪽 박스
    → 라우터로 들어오는 입력 링크로, 물리 계층 기능을 수행

  • 들어오는 링크의 반대편에 있는 링크 계층과 상호 운용을 하기 위해 필요한 링크 계층 기능을 수행
    • 이 링크 계층 기능은 입력 및 출력 포트에서 미들박스로 표시된다.

 

스위치 구조

  • 스위치 구조는 라우터의 입력 포트와 출력 포트를 연결한다.
  • 스위치 구조는 라우터 내부에 포함되어 있다.(네트워크 라우터의 내부 네트워크)

 

출력 포트(output port)

  • 수신한 패킷을 저장하고 필요한 링크 계층 및 물리 계층 기능 수행하여 출력 링크로 패킷을 전송
    • 스위치 구조로부터 패킷을 수신
    • 링크가 양방향인 경우(양방향으로 트래픽을 전달하는 경우)
      • 출력 포트는 일반적으로 동일한 링크의 입력 포트와 한 쌍을 이룸

 

라우팅 프로세서

  • 제어 평면 기능을 수행
  • 네트워크 관리 기능을 수행
  • 기존의 라우터
    • 라우팅 프로토콜을 실행
    • 라우팅 테이블과 연결된 링크 상태 정보를 유지 관리
    • 라우터의 포워딩 테이블을 계산

  • SDN 라우터
    • 라우팅 프로세서는 원격 컨트롤러와 통신
      • 원격 컨트롤러에서 계산된 포워딩 테이블 엔트리를 수신 후,
        라우터의 입력 포트에 이러한 엔트리를 설치

 

라우터의 구성이 하드웨어로 구현되는 이유

  • 라우터의 입력 포트, 출력 포트, 스위치 구조는 거의 항상 하드웨어로 구현된다.
  • 가정
    • 100 Gbps 입력 링크와 64바이트 IP 데이터그램이 존재
    • 입력 포트는 다른 데이터그램이 도착하기 전에 데이터그램을 처리하는데 5.12ns만 가짐

  • 가정에 근거한 이유
    • 만약 N 포트가 라인 카드에서 결합되는 경우
      → 데이터그램 처리 파이프라인은 소프트웨어 구현에 대해 N배 더 빠르게 작동해야 함

  • 전달 하드웨어의 출처
    • 라우터 공급 업체의 자체 하드웨어 디자인을 사용하거나 구입한 업체의 실리콘 칩으로 구현됨

 

데이터 평면과 라우터의 제어 기능의 관계

  • 데이터 평면이 나노초(ns) 단위로 작동하는 동안,
    라우터의 제어 기능은 밀리초(ms) 또는 2초 단위로 작동함
    → 따라서 이러한 제어 평면 기능은 일반적으로 소프트웨어로 구현 및 라우팅 프로세스에서 실행됨
    • 라우터의 제어 기능 → 라우팅 프로토콜 실행, 원격 컨트롤러와 통신 및 관리 기능 수행
    • 라우팅 프로세서는 일반적으로 기존 CPU에서 실행되는 것이다.

 

 


비유를 통한 포워딩

  • 가정
    • 패킷 전송을 자동차가 교차로에 들어가고 나가는 것으로 비유
    • 교차로가 원형 교차로
    • 원형 교차로에 진입하려면 약간의 절차가 필요하다는 가정

 


원형 교차로 진입의 필요한 절차

  • 목적지 기반 포워딩
    • 자동차가 진입 장소에서 정차하고, 최종 목적지를 표시한다고 가정
      • 지역 원형 교차로가 아닌 여행의 최종 목적지를 뜻함

    1. 입구에 있는 승무원이 최종 목적지를 검색
    2. 최종 목적지로 연결되는 원형 교차로 출구를 결정
    3. 운전자에게 어떤 원형 교차로 출구가 있는지 알려줌

  • 일반화된 포워딩
    • 승무원은 목적지 외에도 많은 요인을 토대로 자동차의 출구를 결정할 수 있다고 가정
      • 예시 - 선택된 출구는 자동차를 출국한 국가에 따라 달라 수 있다.

    • 결과
      • 특정 주의 자동차는 하나의 출구만 사용
        → 느린 도로를 통해 목적지 도착

      • 다른 주에서는 다른 출구를 사용할 수 있다
        → 초고속 도로를 경유하여 목적지에 도착

      • 주행하기에 안전하지 않은 차는 차단되거나 회전 교차로를 통과하지 못할 수 있음

    • 일반적인 포워딩 방식
      주어진 차량에 대해 임의의 많은 요인이 출구를 선택하는데 관여 가능

 


해석

  • 진입로와 진입 장소 → 입력 포트(지역 발신 포트를 결정하는 검색 기능 포함)
  • 원형 교차로 → 스위치 구조
  • 원형 교차로 출구 도로 → 출력 포트
  • 병목 현상이 발생할 수 있는 곳을 고려하는 것이 좋다.
    • 다른 출입구에 다른 자동차가 들어오고, 다른 원형 교차로 출구 쪽이 가득 차 있는 경우
      → 차가 원형 교차로로 들어가면 원형 교차로 출구에서 나가려는 다른 차와 마주칠 수 있음
      • 이때 다른 차의 출구도 미리 정해진 것이다.