Chapter 05 네트워크 계층과 라우팅 기법
 1. 네트워크 계층과 라우팅 프로토콜
  1.1 네트워크 계층과 라우팅
  1.2 라우팅 알고리즘 설계 시 요구사항
  1.3 라우팅 기법의 분류
  1.4 영역에 따른 라우팅 프로토콜의 분류

 2. 거리벡터와 링크상태 알고리즘
  2.1 거리벡터 알고리즘
  2.2 링크상태 알고리즘
  2.3 거리벡터와 링크상태 방식의 장단점 비교

Chapter 05. 네트워크 계층과 라우팅 기법

 학습목표

 ▶ 네트워크 계층의 기능
 
▶ 라우팅 기법에 대한 기본개념
 ▶ 라우팅 기법의 구조 및 동작
 ▶ 거리벡터(distance vector) 방식 vs 링크상태(link state) 방식의 알고리즘 구조와 특성
 ▶ 기본적인 라우팅 알고리즘 설계 시 고려사항과 구축사례
 ▶ 인터넷 라우팅 프로토콜을 중심으로 도메인 내(intra-domain) 라우팅 프로토콜에 해당하는 OSPF와 거리벡터에 근거한 RIP와 RIPv2의 구조 및 동작

 5.1 네트워크 계층과 라우팅 프로토콜

  5.1.1 네트워크 계층과 라우팅 
   - 네트워크 계층의 주된 역할
    데이터 패킷을 전송 측에서 목적지까지 보내는 것
   - 
'라우팅(routing)' 기능
    전송 측에서 목적지 호스트까지 데이터 패킷이 거쳐가는 최적의 경로를 선택하여 배정하는 기능
   - 라우터란?
    라우터는 라우팅 기능으로 수행하는 장치로, 라우팅 정보를 참조하여 경로를 설정한 다음 데이터 패킷을 중계함으로써 서로 다른 네트워크들을 연결한다.
    전송 측에서 보내 라우터에 도착한 패킷의 목적지 주소 라우팅 테이블의 값비교하여, 그 다음에 보낼 경로를 따라서 이에 상응하는 인터페이스로 패킷을 내보내는 역할을 한다.
   - 라우팅 테이블의 구성요소

    네트워크주소(목적지 주소), 매트릭(목적지까지의 소요 비용), 다음 라우터 혹은 다음 게이트웨이, 그리고 인터페이스에 관한 내용 등이 들어있다.
   - 라우팅 알고리즘 설계시 요구사항 4가지
    최적성
    단순성
    안정성
    유연성

  5.1.2 라우팅 기법의 분류
   - 라우팅 프로토콜
    라우터들 사이에서 라우팅 테이블을 작성하고 제어하는 절차를 규정하는 것
    (라우터가 갖고 있는 정보를 인접한 다른 라우터들과 주고받을 수 있도록 하는 것)
   - 정적 라우팅 기법
    입력된 라우팅 정보가 재입력을 하기 전까지이전의 값이 변하지 않고 고정된 값을 유지하는 라우팅 기법
    정적 라우팅 기법은 관리자가 수동적으로 라우팅 테이블을 관리하는 방법으로, 규모가 작은 네트워크에서 주로 사용
   - 동적 라우팅 기법
    인접한 라우터들 사이에서 네트워크 정보를 교환하고, 라우팅 테이블을 자동으로 작성하도록 하는 것
   - 디폴트 라우팅 기법
   
라우팅 테이블에 등록되어 있지 않는 주소를 갖는 패킷들을 디폴트 라우터가 지정한 경로전송하는 것

  5.1.3 영역에 따른 라우팅 프로토콜의 분류 (3가지)
    - AS(Autonomous System 자치 시스템)
     동일한 라우팅 프로토콜을 사용하는 네트워크

    - IGP(Interior Gateway Protocol 역내 게이트웨이 프로토콜)
     자치 시스템(AS) 내부의 라우터들끼리 라우팅 정보를 교환하는 데 사용되는 라우팅 프로토콜
      * 주요 프로토콜 
       RIP(Routing Information Protocol 경로설정 정보 프로토콜)
       IGRP(Interior Gateway Routing Protocol 경로설정 정보 프로토콜)
       OSPF(Open Shortest Path First 최단 경로 우선 프로토콜)

    - EGP(Exterior Gateway Protocol 역외 게이트웨이 프로토콜)
     자치 시스템(AS) 상호 간에 라우팅 정보를 교환하는 데 사용되는 프로토콜
      * 주요 프로토콜
       BGP(Border Gateway Protocol 경계 경로 프로토콜)

 5.2 거리벡터와 링크상태 알고리즘
  5.2.1 거리벡터 알고리즘(Distance Vector Algorithm)
   - 각 라우터가 인접해 있는 라우터와 경로설정정보를 교환하여 네트워크의 구성이나 장치 배치에 관한 정보, 즉 네트워크 토폴로지에 관한 정보교환하는 구조를 취한다.
   - 새로운 정보를 받을 때마다 인접한 라우터에 그 정보를 알려주고, 이것을 반복하여 최종으로 모든 라우터가 네트워크 전체의 정보를 갖게 됨
   - 교환되는 정보기본적으로 거리 정보이기 때문에 단순하고 다루기 쉬운 반면, 장애 등의 원인을 알라내기에는 어려움이 있음
    
   - 라우팅 메트릭(routing metric) 값을 결정 (4가지)
    네트워크 지연
    대역폭
    신뢰성
    부하

  5.2.2 링크상태 알고리즘(Link State Algorithm)
    - 거리벡터 라우팅 프로토콜의 단점을 해소하기 위해 개발
    -
라우팅 정보가 변경될 경우 바뀐 라우팅 정보만을 전파시키는 알고리즘
    - 라우팅 정보인접한 라우터에 모두 전송하는 플러딩(Flooding)방식사용하므로 토폴로지에 관한 정보전체 네트워크상의 라우터에서 동일하게 유지
    - 각 라우터는 자신을 네트워크의 중심점으로 간주하여 최단경로의 트리(Tree)를 구성
   - 장점
    - 라우팅 정보가 변경될 경우 바뀐 라우팅 정보만을 전파시키기 때문에 네트워크 트래픽 발생량 감소
    - 해당 라우터에서 발생한 정보만을 다른 라우터들로 전파시키기 때문에 라우팅 루프(loop)같은 라우팅 오류가 발생하지 않는다.
   - 단점
    - 복잡한 구조로 경로설정이 구현되므로 주소 배분이나 장치 설정의 어려움이 발생

 
5.3 여러 가지 라우팅 프로토콜

  5.3.1 역내 라우팅 프로토콜
   - OSPF
   - RIP
    거리벡터 라우팅 기법을 사용하는 일반적인 프로토콜
    하나의 라우터에 있는 모든 라우팅 정보를 다른 라우터에 주기적(30초) 전송
    홉(통과한 라우터의 수)hop의 제한으로 인해 소규모나 중간규모의 네트워크에 적합
   - RIPv2
   - HELLO
   - IGRP

  5.3.2 역외 라우팅 프로토콜
   - EGP
   - BGP

 5.4 OSPF 프로토콜
  5.4.1 OSPF의 라우팅 계위

   - OSPF에서는 RIP와 달리 라우팅 알고리즘을 적용하기 위한 계위(hierarchy) 구조를 취한다.
   - 자치시스템(AS)Autonomous System은 공통적인 라우팅 정보를 공유하면서 하나의 관리 체제에 의해 관리되는 네트워크의 집합으로 정의
  5.4.2 OSPF의 동작과 특성
 
 5.5 RIP와 RIPv2 프로토콜
  - RIP는 RFC 1058 인터넷의 표준 라우팅 프로토콜이고, 계층구조가 아닌 평면구조를 취한다.
  - 라우팅 작업을 유연한게 수행하기 위해 설계된 표준 프로토콜로, 어느 라우터가 네트워크 토폴로지의 변경을 인식하면 이 정보를 인터넷상에 있는 다른 모든 라우터에 전달한다.

  5.5.1 RIP의 동작
   - RIP(Routing Information Protocol)는 벨만-포드 거리벡터에 근거한 알고리즘이며, 목적지까지의 거리가 최적경로 결정의 판단 기준이 된다.
   - 최적의 경로를 찾기 위한 척도로 RIP에서 홉 계수(hop count)를 사용
   - 홉 계수메트릭(metric)으로 나타내고, 목적지까지 여러 개의 라우터가 존재할 경우에는 홉 계수가 가장 적은것, 즉 메트릭이 최소인 것을 선택한다.
   - 경유하는 네트워크의 수에 대해서 상한(15)을 설정해둔다. 그 이상일 경우 도달 불능 네트워크(unreachable network)를 의미
   - 30초에 한 번씩 자기의 목적지 정보 전체를 이웃 라우터에 전송
   - 특정 목적지에 대한 정보가 일정기간 동안(timeout: 180초) 이웃 라우터로부터 전송되지 않으면 무효(invalid) 목적지로 간주, 이 무효 목적지 정보를 이웃 라우터에 알리기 위한 시간(garbage collection time: 120초)만큼 기다린 다음, 그 특정 목적지 라우터는 라우팅 테이블에서 삭제
   - 라우팅 정보의 변화가 없을 때에도 라우터는 갱신된 정보를 전송 (주기적)
   - 상대 라우터의 요청 패킷이 있을 때 이에 대한 응답 패킷을 전송하며, 이웃 라우터에 전송한 어떤 특정 목적지 정보가 변경되었을 때, 변경된 정보를 이웃 라우터에 알려줌
   
   - 라우팅 테이블 만드는 과정


  5.5.2 RIP의 기능
   - RIP는 거리벡터 알고리즘을 사용하기 때문에 네트워크 장애가 발생할 경우, 라우팅 정보가 전체 네트워크에 전달되는 데 많은 시간이 소요되며 잘못된 라우팅 정보가 전달될 수도 있다. 때문에 RIP는 대규모가 아닌 중소 규모의 네트워크에서 높은 효율을 보인다.
   - RIP Routing Loop 

   5.5.2.1 홉 계수의 제한
    - 과도한 트래픽이 발생되어 성능에 치명적인 문제를 제기할 수 있기 때문에 이를 방지하기 위해서 최대 홉의 크기를 15로 제한

   5.5.2.2 수평분리
    - 자신을 기억하고 있는 인터페이스에는 경로에 대한 광고를 하지 않는 것을 말함
    - 해당 포트에 관한 정보는 이 포트를 통하여 중복 전달하지 않도록 함(라우팅 루프 방지)

   5.5.2.3 포이즌 리버스
    - 실패한 경로를 삭제하고 보류 상태를 유지하기 위한 기능
    - 오류가 발생한 경로를 광고할 때에 큰 값의 메트릭(16홉)을 설정해서 이 경로들을 사용할 수 없도록 하는 방법

   5.5.2.4 타임아웃(Hold down Timer)
    - RIP를 사용하는 모든 라우터들은 사용자가 설정한 시간 간격에 기초해서 경신 메시지를 보내며, 시간 간격의 디폴트값은 30초(update정보를 방송)
    - 무효화된 경로에 대한 정보는 어느 일정 시간 동안 경신하지 않고 유지하고 있어야 함
    - 회선장애가 발생한 이후에 라우팅 테이블을 경신하지 않고, 전체 네트워크의 경로가 새로 발신될 때까지 기다림

   5.5.2.5 Triggered Update
    - 정보의 변경이 발생시 즉시 업데이트를 이웃 라우터에게 전달

 
 5.5.3 RIP의 특성
   5.5.3.1 장점
    - 알고리즘이 매우 간단하면서 견고한 특성을 갖는다는 점

   5.5.3.2 단점
    - 경신 정보에 대한 요구가 들어왔을 때나 토폴로지가 변경되었을 때만 경신정보를 전송하는 것이 아니라, 주기적으로 경신 정보를 보내야 함
    - 브로드캐스트 방식을 사용 해서 인접한 라우터 간의 정보를 교환하므로 네트워크 대역폭의 낭비가 초래되고, 네트워크에 연결되어 있는 모든 호스트들은 라우팅 처리와 무관하게 관련된 패킷을 처리해야 하므로 연결된 모든 장치에 오버헤드가 발생
    - RIP는 단순한 홉 카운트만을 이용해서 경로의 품질을 결정하므로 효과적이긴 하나, 사용되고 있는 링크의 실제 인터페이스 속도를 계산에 포함시킬 수 없음
    - RIP는 서브넷을 구별하지 못함

 
 5.5.3 RIPv2의 특성
   - 기존 RIP의 기능을 확장한 것으로, RIP 메시지로 전달되는 유용한 정보들을 확대하여 수용하도록 설계됨
   - 특히 RIPv2에서는 인식 기능이 제공되기 때문에, broadcast 방식이나 multicast 방식으로 경신 정보를 전송하는 것이 모두 가능해짐
   - 서브넷 마스크(mask) 기능도 포함 이는 인터넷이 다수의 네트워크로 구성되고 각각 다른 마스크 값을 가지고 있을 경우 유용함
   - RIPv2는 EGP에서 얻어진 AS 번호 등의 정보를 통지하기 위해 사용되는 외부 루트태그(route tag)기능이 있음
   - RIP에서는 서브넷 마스크를 바이트 단위로 인식을 하여 A, B, C 클래스 단위(기본 255.255.255.0이나 255.255.0.0 등)로 인식했으나, RIPv2에서는 비트단위(255.255.255.128)로 인식
   - 멀티라우팅 프로토콜 환경에서 라우팅 수행 중에, 다음에 전송될 라우터 중 최적 라우터의 선택이 가능하도록 하는 '다음 홉 주소'를 사용
   - RIPv2 패킷은 멀티캐스트 방식을 사용하기 때문에 라우팅 프로토콜을 지원하지 않는 호스트의 부하를 경감시킬 수 있으며, 또한 RIP 외는 지원하지 않는 라우터에서 해석할 수 없는 정보를 RIPv2 라우터 사이에 공유하도록 함으로써 신뢰성 향상시키는 것이 가능해짐

+ Recent posts