1993.1.22

SUBJECT: Router란 ?

MEANING OF THIS MEMO
"PC LAN 강좌 - 인터네트워크" (PC ADVANCE 91.11, 이종일)에서 옮김.

DESCRIPTION:

0. 개요
   * 중개 시스템(intermediate system), network relay, level 3 relay 등 다양한 이름으로 불린다.
   * router는 segment와 segment or 원거리의 LAN을 결합한다는 점에서 bridge와 유사하지만
     광범위하게 보면 크게 다르고 bridge보다는 높은 수준의 지능을 가지고 있다.
   * bridge는 tree 구조나 순차적으로 연결되어 있는 네트웍에서
     소규모의 segment를 연결시키거나 분리시키는 역할을 수행하지만
     router는 복잡하게 연결되어 폐쇄회로를 구성하는 네트웍을 연결하는 역할을 한다.
     OSI 모델을 기준으로 볼 때 'router는 network laye에 해당'하는 것으로
     여러개의 독립된 네트웍 간에 패킷을 전송하는 장치이다.
   * 이들 독립된 네트웍들은 대개 독자적으로도 관리될 뿐 아니라
     총체적 네트웍의 일부로서도 관리되어야 하므로
     router는 네트웍 관리에 있어서 최소한의 관리기능 뿐 아니라
     전 네트웍에 걸친 관리까지 상당히 광범위한 관리 기능을 제공하며 
     이러한 이유로 복잡하고 대규모의 네트웍에 적합한 장비로 간주된다.

1. 관리 테이블
   * router는 LAN table, network table, routing table의 3가지 table을 관리함으로써
     타 네트웍을 비롯하여 네트웍상의 모든 장치의 주소를 인식하게 되고
     이를 바탕으로하여 패킷의 전송경로를 결정한다.

     ① LAN table:
        - bridge에서의 routing table과 동일한 기능을 한다.
        - router가 속해 있는 LAN segment내의 장치들의 주소를 관리하고 있으며
          filtering 작업을 하는데 사용.
     ② network table:
        - 네트웍상의 모든 router의 주소를 보관하고 있어서
          이를 이용하여 패킷의 목적지 router를 식별하게 된다. 
     ③ routing table:
        - 개개의 router에 구축되어 있으며
          네트웍내 임의의 router로 가는 최선의 경로와 차선의 경로를 수록하고 있어서
          타 segment로 전송되는 패킷의 경로를 결정하는데 필요한 정보를 제공한다.

   * 이들 3개의 테이블은 패킷의 전송에 있어서 최선의 경로 선택,
     회선이나 router 장애시 차선의 경로 선택, 
     패킷의 순환현상을 방지하기 위한 대책등에 활용되는 것으로
     router의 모든 동작을 위한 핵심적인 요소이다.
   * 이들 테이블은 네트웍 관리자에 의해서 기본적으로 만들어지지만
     네트웍내에 존재하는 개개의 router에서 주기적으로 전달되어 오는 정보를 근거로 하어 수시로 갱신되고 
     패킷의 송수신시 경로를 배정하기 위한 기본 정보로 사용된다.
   * bridge의 routing table과의 차이점이라면 
     bridge는 이 테이블을 forwarding 및 filtering의 용도로 사용하지만
     router에서는 궁극적으로 패킷의 전달 경로를 결정하는 '경로 배정용'으로 사용한다는 것이다.
    
2. 작동 원리
   * router가 속해 있는 네트웍내의 장치로부터 패킷을 수신하면 
     bridge가 했던 것과 동일한 절차에 따라 LAN 테이블을 검사하여
     목적지가 자신이 속해 있는 네트웍이 아니라는 것을 확인하고 
     network table을 검사하여 패킷이 전달되어야할 네트웍의 주소
     즉 그 네트웍에 연결되어 있는 router의 주소를 찾아낸다.
     마지막으로 이 주소를 routing table에서 검색하여 목적지로 가는 가장 적합한 경로를 알아낸다.
   * 이상의 과정은 패킷이 송출되어야할 전송로를 결정하는 과정에서
     3가지의 테이블을 사용한다는 것만 차이날 뿐 
     bridge에서 forwarding을 결정하는 것과 거의 유사한 절차로 진행된다.
     일단 경로를 결정하게 되면 router는 수신한 원래의 LAN 패킷에 송신지 주소 및 네트웍 관리를 위해 필요한
     제어정보를 추가한 새로운 패킷을 생성하여 전송한다.
     상대편 router에서 패킷을 수신하면 수신한 패킷에서 원래의 데이타는 다음의 목적지로 전송하고
     제어정보만을 뽑아서 자신이 가지고 있는 테이블의 내용을 갱신하는데 사용한다.
     이제 수신한 패킷의 목적지 네트웍 주소와 테이블에 있는 정보를 근거로하여
     패킷을 어느 네트웍으로 전송할 것인가를 결정하며,
     이러한 경로 배정 과정은 모든 router에서 차례로 수행된다.
     이상에서 설명한 일련의 경로설정 과정을 "routing"이라 부른다.
   * 이런식으로 차근차근 패킷이 전송되므로 서브네트웍간에 폐쇄회로가 형성되어 있더라도 문제가 없다.
     패킷이 최종 목적지 router에 도착하면 router는  에러의 유무를 검증하고 제어정보를 제거한 후 
     원래의 데이타 패킷을 LAN쪽으로 전달함으로써 최종의 목적지에 도착하게 된다.
   * router는 패킷에 포함되어 있는 네트웍 주소에 입각하여 전송경로를 선택하는데 
     OSI 모델의 네트웍 계층에 해당하는 TCP/IP, XNS, DECnet 등의 프로토콜은 
     네트웍 주소지정, 경로지정 및 데이타 전달방식을 달리하고 있기 때문에
     router는 기본적으로 한 종류의 프로토콜에 대해서만 서비스 할 수 있다.
   * 만약 한 네트웍 내에 복수개의 프로토콜이 혼재하는 경우라면 
     router는 전체 네트웍에 전달되고 있는 여러 프로토콜 중에서 특정 프로토콜에 대해서만 서비스를 제공하고
     나머지 프로토콜에 대해서는 기능을 행하지 못한다.
   * router는 기본적으로 하나의 프로토콜만을 지원한다고 했으나
     현실적으로 네트웍이 복잡해지고 한 네트웍에서 여러가지 종류의 프로토콜을 사용하는 경우가 늘어남에 따라
     단일의 router에서 복수개의 프로토콜을 지원하는 경우가 생겨났다.
     이름하여 다중프로토콜(multiprotocol) router가 그것인데 이름이 의미하는 바처럼
     여러가지 프로토콜을 동시에 처리해 준다.
     고속도의 마이크로프로세서를 비롯한 하드웨어 기술이 발전하면서
     동시에 여러가지의 프로토콜을 처리할 수 있게 됨에 따라
     한 프로토콜에 하나씩의 router가 사용될 필요가 없어지고 당연히 비용도 훨씬 저렴하게 되어
     다중 프로토콜 router는 인터네트웍을 위한 가장 적합한 장치로 대두되고 있다.

3. 평가
   * router는 네트웍 토폴로지 구성에 별다른 제한을 가하지 않아서 
     한 네트웍 내에 여러개의 폐쇄회로를 구성하더라도 문제가 없다.
     이같은 일은 네트웍상에서 복잡한 트래픽제어를 하여 무한히 순환하는 패킷을 방지하고
     트래픽을 적절하게 분산시켜 줌으로써 가능케 된다.

   * router는 다음과 같은 몇가지 장점을 가지고 있다.
      1) 다양한 구성이 용이하다
         특히 경로 설정에 있어서 정책적 판단 - 예를 들면, 전송회선 사용요금, 전송속도, 에러율 등 -이
         중요한 요인으로 작용하는 환경에서,
         요구사항에 따라 네트웍의 성능을 최적화시킬 수 있는 기반이 갖추어져 있으므로 
         원하는 바에 따른 선택을 할 수가 있다.
         예를 들자면, 특정 프로토콜용 패킷은 비용에 관계없이 가장 빠른 회선을 사용케하고 
         특정 데이타 패킷은 가장 비용이 싼 회선을 사용하도록 네트웍 방침을 세운다면
         이러한 방침을 반영한 네트웍으로 구성하면 된다.
      2) 관리가 용이하다
         일단 설치가 완료되면 네트웍 유지가 상대적으로 용이하고
         특히 경로 배정용 정보가 네트웍의 모든 router에 자동으로 분배되는 프로토콜을 사용하는 경우에 있어서는
         수시로 변동하는 네트웍 상황이 router에 의하여 스스로 관리되고 이에 대응하여 최선의 상황으로 동작하기
         때문에 관리자에 의한 관리의 여지가 줄어든다.
      3) 네트웍의 고장에 민감하지 않다.
         서브네트웍 또는 특정회선에 우발적 사고가 발생하더라도
         우회해서 전달할 수 있는 경로가 준비되어 있기 때문에 데이타 전송에는 영향을 미치지 않는다.
         특히 한 서브 네트웍 내에서 발생된 고장은 즉시 타 router에 알려져서 이에 대응하므로
         타 서브 네트웍에 미치는 영향이 작아
         대규모 네트웍에서는 특히 bridge로 구성된 네트웍보다 안정성이 우수하다.
      4) 회선 사용율이 양호하다.
         일반적인 네트웍의 경우 고장의 가능성에 대비하여 전송회선을 2중화하여 안정성을 도모하고 있는데 
         이 경우에 네트웍간의 폐쇄회로를 구성할 수 있으므로
         동시에 2중의 경로로 패킷을 나누어 보낼 수 있어 전체 회선의 용량을 최대로 활용할 수 있다.
         이상에 나열한 이외에도 router로 연결한 네트웍에서는
         전송지연으로 인한 영향을 받지 않기 때문에 토폴로지의 제한도 없고,
         따라서 bridge 중심의 네트웍 보다 훨씬 대규모의 복잡한 네트웍을 구성할 수 있다는 점이 
         bridge에 비해 우수한 점이다.
   
   * 그러나 앞에서 나열한 장점과 더불어 다음과 같은 단점들도 있다.
     1) 설치가 복잡하다.
        router는 초기에 네트웍의 구성, 네트웍 회선의 에러율, 비용, 회선의 이중성, 패킷의 길이, 
        회선 고장시의 우회경로의 선정 등 상당히 많은 요소들을 고려하여 설치해야 하므로
        bridge를 설치하는 것보다는 훨씬 복잡하다.  
        초기의 설치 과정은 네트웍의 특성에 관한 이해, 통신방식, 트래픽 특성 등을 전반적으로 파악할 수 있는
        상당 수준의 기술을 필요로하는데 네트웍 상황에 적합하게 설치하지 못하면
        네트웍의 성능을 크게 저하시키는 요인이 된다.
     2) 프로토콜 종속적이다.
        bridge와는 달리 router는 특정 프로토콜에 종속적이므로
        즉 특정 프로토콜에서만 사용되므로 상위계층의 프로토콜이 여러가지 존재하는 네트웍을 연결하려면
        각 프로토콜별로 최소한 2개 이상의 router가 존재해야 한다.








Revision History
Created        on Jan. 22 ,1993