본문 바로가기
네트워크

네트워크 정리 10. 라우터 구조

by 호놀롤루 2022. 4. 13.

1. 개요

다시 한번 간단하게 설명하면 라우터는 데이터(패킷)이 이동할 경로를 설정하고, 입력받은 데이터를

올바른 경로로 보내는 역할을 하는 네비게이션같은 기계다.

 

입력 포트로부터 패킷을 입력받아 포워딩 테이블을 사용하여 패킷이 전달되어야 할 출력 포트를 찾고,

이 출력 포트로 패킷을 전달하는 일종의 블랙박스로 표현하였다.

 

2. 설명

2-1. 컴포넌트 (Componenets)

컴포넌트란 여러 기능을 모아서 처리할 수 있는 단위를 말한다. 모듈이라고도 부른다.

라우터 컴포넌트는

  • 입력 포트
  • 출력 포트
  • 라우팅 프로세서
  • 스위칭 패브릭

로 구성되어 있다.

 

 

2-2. 입력 포트 (Input Ports)

  • 라우터의 물리 계층과 데이터 링크 계층의 기능을 담당한다 / 수신된 신호로부터 비트가 생성됨
  • 프레임을 역캡슐화(decapsultation)해서 패킷을 추출하고, 오류를 검사하며 훼손된 경우 패킷을
    폐기한다.
  • 물리 계층 프로세서와 데이터 링크 계층 프로세서 외에 입력 포트는 스위칭 패브릭에 직접 전달되기
    전, 패킷을 보관하기 위한 버퍼(큐)를 가진다.
  • 정리 : 입력 포트 (물리 계층 프로세서, 데이터 링크 계층 프로세서, 큐) 로 구성되어 있다.

 

2-3. 출력 포트 (Output Ports)

  • 출력 포트는 입력 포트와 같은 기능을 수행하지만 이를 역순으로 수행한다.
  • 출력될 패킷이 큐에 들어오면 각 패킷은 프레임으로 캡슐화(encaptulation)가 되고, 최종적으로
    물리 계층에서 프레임을 전기적으로 생성하여 전송된다.
  • 정리 : 출력 포트 (큐, 데이터 링크 계층 프로세서, 물리 계층 프로세서)

 

2-4. 라우팅 프로세서 (Routing Processor)

  • 네트워크 계층의 기능 수행한다.
  • 패킷을 전송할 출력 포트번호와 다음 홉 주소를 찾기 위해 패킷의 주소를 참조한다.
  • 라우팅 프로세서가 포워딩 테이블에서 검색하기 때문에 이런 동작은 테이블 검색 으로도 알려져있다.
  • 최신 라우터에서는 라우팅 프로세서의 이런 기능을 입력 포트에서 작동하도록 하여 더 신속하게
    처리하고 있다.

 

2-5. 스위칭 패브릭 (Switching Fabrics)

  • 라우터에서 가장 어려운 일 (패킷을 입력 큐에서 출력 큐로 전달)이다.
  • 작업의 수행 속도로 입력 / 출력 큐의 크기와 패킷 전달의 전체 지연에 영향을 준다.
  • 과거 라우터가 고정된 컴퓨터였을 때, 컴퓨터의 메모리나 버스가 스위칭 패브릭으로 사용되었다.
    입력 큐가 패킷을 메모리에 저장하고, 출력 큐가 메모리로부터 패킷을 읽어오는 방식
  • 요즘은 라우터에서 다양한 방법으로 스위칭 패브릭을 사용한다.
  • 크로스바 스위치 (Crossbar Switch)
    - 가장 단순한 형태의 스위칭 패브릭
    - 크로스바 스위치는 각 교환점(crosspoint)에서 전기적인 마이크로 스위치를 사용하여
    그리드 형태로 n개의 입력과 n개의 출력을 연결 (이렇게 되면 필요한 소자의 수는, 입력 * 출력 포트의
    숫자가 된다. 입력 8개, 출력 8개일 경우, 64개의 소자가 필요하고 상당히 비효율적이다.)
  • 반얀 스위치 (Banyan Switch)
    - 크로스바 스위치보다 현실적인 것이다.
    - 마이크로 스위치를 사용한 다단식 스위치로 출력 포트를 기반으로 패킷을 라우팅한다.
    각 단은 이진 문자열로 표시한다.
    - 간단하게 설명하면, 각 입력 포트를 2/n의 개수의 소자로 받고, 출력 포트의 개수 n개를 표현할 수 있는
    2진수로 갯수만큼 준비해서 입력 포트와 출력 포트의 갯수가 둘 다 n개라 치면, 2/n * log2N 의 갯수의
    소자로 처리하는 것이다.

    만약 입력 포트와 출력 포트가 8개씩 있다면, 2진수로 표현했을 때 000~111 (0~7)로 표현할 수 있다.
    즉, 입력, 출력이 둘 다 1000이라 치면, 크로스바의 경우, 1000 * 1000 = 100만개의 소자가 필요하다.

    하지만 반얀 스위치의 경우, 500 * 10 = 5000, 확연하게 숫자의 차이가 난다.

  • 배처-반얀 스위치 (Batcher-Banyan Switch)
    - 반얀 스위치의 문제점은 두 개의 패킷이 같은 출력 포트로 전달될 때, 충돌이 발생할 수 있다는 점이다.
    그걸, Batcher라는 교통정리기 같은 기계로, 충돌하지 않게 처리하는 방식이다.

댓글