Blog
스터디
CS Study with SON
14주차
라우터

출처 - https://github.com/jmxx219/CS-Study (opens in a new tab)

라우터 Router

  • 동작 계층: 네트워크 계층
  • 개념
    • 하나의 공인IP를 공유해주는 장치
    • NAT기능을 가진 내부 네트워크와 외부 네트워크를 연결해주는 장치
    • 데이터들이 전송되는 경로를 지정해주는 장치
      1. 라우터로 패킷이 들어오면 목적지 IP 주소 확인

      2. 자신이 가진 경로 (Route) 정보를 이용해 패킷을 최적의 경로로 포워딩

      내부 네트워크가 보낸 패킷에 대해 내부 계산을 통해 도착할 수 있는 경로 설정

  • L3 스위치 역할도 진행

라우팅

  • 개념

    • 네트워크에서 경로를 선택하는 프로세스
  • 라우터가 경로 정보를 얻는 방법

    • 다이렉트 커넥티드
    • 스태틱 라우팅
    • 다이나믹 라우팅
  • 라우터가 경로 정보를 얻는 방법은 매우 다양하지만 크게 3가지 방법으로 구분할 수 있음
  • 위 3가지 방법을 이용해 경로 정보를 수집하고 수집된 경로 정보 중 목적지에 대한 최적의 경로를 선정해 라우팅 테이블을 만듦


다이렉트 커넥티드 Direct Connected

  • 개념
    • 네트워크 인터페이스에 IP 주소가 할당되면 자동으로 생성되는 라우팅 정보
  • 특징
    • 해당 네트워크 인터페이스를 통해 직접 연결된 네트워크에 대한 경로 정보를 가짐
  • 생성
    • 인터페이스에 IP 설정 시 자동 생성
  • 삭제
    • 해당 네트워크 설정 삭제 또는 네트워크 인터페이스 비활성화 시 자동 삭제
  • 한계
    • 내부 네트워크 한정
      • 오직 그 인터페이스가 직접 연결된 로컬 네트워크에만 적용
    • 외부 네트워크 통신 불가
      • 다이렉트 커넥티드 라우트만 있는 경우, 외부 네트워크(인터넷 포함)와의 통신은 불가능
      • 다른 경로 정보나 기본 게이트웨이 설정 필요

라우팅 테이블과 다이렉트 커넥티드

  • 라우팅 테이블
    • 라우터가 네트워크 패킷을 전송해야 할 경로를 결정하는 데 사용하는 정보를 포함
  • 목적지가 다이렉트 커넥티드인 경우
    • L2 통신(ARP 요청 포함)을 통해 목적지에 도달
    • 네트워크 내에서의 직접 통신에 최적화



라우팅 프로토콜

스태틱 라우팅 Static Routing

  • 개념
    • 관리자가 목적지 네트워크와 넥스트 홉을 라우터에 직접 지정해 경로 정보를 입력하는 것
  • 장점
    • 관리자가 수동으로 경로를 설정하기에 라우터 CPU에 오버헤드가 없음
    • 네트워크 관리자가 라우팅 동작을 제어하기에 보안상 더 유리한 부분이 있음
  • 단점
    • 네트워크 규모가 증가할 수록 네트워크 관리자의 작업이 더 어려워짐
    • 라우팅 정보를 입력해야 하기에 네트워크 관리자가 네트워크 구성 정보를 모두 알고 있어야 함
    • 네트워크 정보 변경시 네트워크 관리자가 경로를 재설정하기 전까지 방문 불가한 곳이 생길 수 있음

다이나믹 라우팅 Dynamic Routing

라우터끼리 자신이 알고 있는 경로 정보나 링크 상태 정보를 교환해 전체 네트워크 정보를 학습하여 라우팅 테이블을 상시 자동적으로 생성, 유지하는 라우팅 방식이다.

  • 장점
    • 네트워크 관리자의 라우팅 정책 유지를 위한 작업 리소스가 적다.
    • 네트워크 구성과 상황에 맞게 최적의 경로를 선택할 수 있다.
    • 경로 손실이 발생하더라도 백업 경로가 있기 때문에 내결함성을 가진다.
  • 단점
    • 다른 많은 장비들과 통신하기 위해 스태틱 라우팅에 비해 상대적으로 더 많은 대역폭 소비가 발생한다.



✔️ AS

자율 시스템(AS, Autonomous System)

  • 개념
    • 일관된 라우팅 정책을 가지고 있는 라우터의 집단
    • 고유한 라우팅 정책을 가지고 있는 ISP, 정부(공공)기관, 회사, 단체 등을 지칭
  • 특징
    • 외부 인터넷BGP 라우팅 프로토콜을 사용해 자신들의 네트워크에 대한 연결성 제공
      • 반드시 BGP를 사용하여 외부 네트워크와 연동하도록 되어있음
      • 현재 각 AS를 연동하는데 사용되는 통신규약은 BGP가 유일
    • AS 내의 라우터들은 서로 동일한 라우팅 프로토콜 사용
    • AS 내의 네트워크와 라우터들은 한 조직에 의해 관리 됨
  • AS번호
    • 각각의 자율 시스템을 식별하기 위한 인터넷 상의 고유한 숫자
    • 사업자 식별번호


라우팅 프로토콜

  • 인터넷에는 AS(Autonomous System)라는 자율 시스템이 존재
  • 인터넷 사업자(SKT, KT, LGU+)가 한 개 이상의 AS를 운영
  • AS 정보 전달
    • 하나의 AS는 하나의 조직이므로 AS 내부에서는 자체적으로 규칙을 세워 운영할 수 있음
    • 다른 AS와 연결 위해서는 내부와 다른 방법으로 정보를 전달해야 함
    • AS 내부의 연결은 효율성이 중요하지만, 다른 AS와 연결에서는 효율성보다 조직 간 정책이 더 중요


image

IGP(Interior Gateway Protocol)

  • 개념: AS 내에서 사용하는 라우팅 프로토콜
  • 종류:
    • RIP(Routing Information Protocol)
      • 패킷이 경유할 가능성이 있는 라우터를 홉수 기준으로 최단 경로를 결정
      • 네트워크 주소, IP, 홈수 등의 정보는 라우터 내 DB에 기록되며 정기적으로 정보를 교환하여 업데이트
    • OSPF(Open Shortest Path First)
      • 링크 상태(Link State) 라우팅 프로토콜을 기초로 함
      • 링크 상태의 변화시에만 라우팅 정보를 업데이트
      • RIP와 달리 모든 정보를 갱신하는 것이 아니라 변화된 정보만 갱신

EGP(Exterior Gateway Protocol)

  • 개념: AS 간 통신에 사용하는 라우팅 프로토콜
  • 종류:
    • BGP(Border Gateway Protocol)
      • IGP 보다는 컨버전스 속도면에서 느리지만 대용량의 라우터 정보를 교환하는데 최적
      • TCP 3웨이핸드쉐이크 방식으로 통신

라우팅 알고리즘


  • 라우팅 정보를 취하는 범위에 따라 구분
    • 글로벌 라우팅 알고리즘
      • ex) 링크 상태 알고리즘
    • 분산 라우팅 알고리즘
      • ex) 거리 벡터 알고리즘

  • 부하에 민감한 정도에 따라 구분
    • 부하 민감 라우팅 알고리즘
      • ex) 초기 ARPANET
    • 부하 둔감 라우팅 알고리즘
      • ex) RIP, OSPF, BGP 등

글로벌 라우팅 알고리즘

  • 네트워크 전체에 대한 완전한 정보를 가지고 출발지와 목적지 사이의 최소 비용 경로를 계산
  • 모든 라우터가 연결 상태와 링크 비용을 알고 있다.
  • 링크 상태 알고리즘이 여기에 속하고 다익스트라 알고리즘(Dijkstra algorithm)을 사용한다.

분산 라우팅 알고리즘

  • 최소 비용 경로의 계산이 라우터들에 의해 반복적이고 분산된 방식으로 수행
  • 어떤 라우터도 모든 링크 비용에 대한 완전한 정보를 갖고 있지 않지만, 자신과 인접한 노드의 링크 비용 정보를 알고 있다.
  • 거리 벡터 알고리즘이 여기에 속하고 벨만-포드 알고리즘(Bellman-Ford algorithm)을 사용한다.



라우팅 테이블

  • 개념

    • 라우터가 네트워크 내에서 패킷을 전송할 최적의 경로를 결정하기 위해 사용하는 정보가 저장된 테이블
  • 저장 위치

    • RAM에 저장 (전원이 종료될 경우 정보 소실됨)
  • 라우팅 테이블의 각 항목의 구성 요소

    • Target: 패킷이 도착해야 할 목적지 네트워크의 IP 주소
    • Prefix-Length: Target IP 주소 중 네트워크를 식별하는 데 사용되는 비트 수
    • Next Hop: 패킷이 목적지로 가기 위해 거쳐야 할 다음 라우터의 주소
    • Interface: 패킷이 해당 라우터에서 다음 목적지로 이동하기 위해 사용되는 네트워크 인터페이스
  • 라우팅 테이블 작동 원리

  • 경로 결정
    • 라우터는 패킷의 목적지 주소(Target)를 라우팅 테이블의 항목과 비교하여 Prefix-Length가 일치하는 경로를 찾음
  • 패킷 전송
    • 일치하는 경로를 찾으면, 해당 경로의 Next Hop 주소로 패킷을 전송하기 위해 지정된 Interface를 사용함
  • 다이렉트 커넥티드
    • 목적지가 라우터에 직접 연결된 경우, Next Hop은 'directly connected'로 표시 됨
    • 즉 목적지가 라우터와 직접 연결되어 있다는 의미
  • 특징
    • 효율성
      • 최적의 경로를 통해 네트워크 트래픽을 관리하고 전송 효율을 최대화함
    • 네트워크 관리
      • 네트워크의 다양한 경로 정보를 관리하고 필요에 따라 조정할 수 있음


라우터 구조

라우터는 입력 포트(Input ports) -> 스위칭(패브릭) / 라우팅 프로세서(Routing processor) -> 출력 포트(Output ports)의 구조로 되어 있다.

라우팅 프로세서가 처리하는 관리 제어 측면을 라우팅이라고 하고, 입출력 포트와 스위칭을 활용하는 것이 데이터적인 측면, 포워딩이라고 한다.

Input port

입력 포트의 구조는 아래와 같다.

+----------+       +-------- ------+       +-------+  
| 물리 계층 | ----> | 데이터링크 계층 | ----> | queue | ---> (fabric)  
|  프로세서 |       |    프로세서    |       |       |  
+----------+       +---------------+       +-------+  

Output port

입력 포트를 뒤집은 모양이다.

+--------+       +----------+       +---------------+
| queue  | ----> | 물리 계층 | ----> | 데이터링크 계층 | ---> 외부
|        |       |  프로세서 |       |    프로세서    |
+--------+       +----------+       +---------------+


포워딩 Forwarding

포워딩은 라우터의 입력 포트에서 출력 포트로 패킷을 이동시키는 것을 말한다.


포워딩 방법

  • 라우터는 입력 링크 측으로부터 수신된 패킷의 헤더 부분에서 IP 주소 추출
  • 추출된 IP 주소를 라우팅 테이블과 비교
  • 어느 포트에 연결된 링크로 보낼지 결정
  • 새로운 헤더 정보를 붙여서 다음 라우터로 전달

포워딩 테이블

  • 입력 포트의 수신 패킷을 어느 출력 포트로 보낼 것인가를 나타낸 테이블
  • 스위치 및 라우터 장비 모두가 포워트 테이블을 관리

라우팅과 포워딩

  • 라우팅

    • 출발지에서 목적지까지 경로를 설정하는 것
    • 라우팅 알고리즘을 사용하여 최적인 경로를 계산
    • 제어 평면에 구현된 기능
    • 포워딩보다 더 긴 시간이 소요되며 소프트웨어에서 실행됨
  • 포워딩

    • 라우터의 입력 포트에서 출력 포트로 패킷을 이동시키는 것
    • 데이터 평면에 구현된 기능
    • 매우 짧은 시간안에 수행되며, 하드웨어에서 실행됨


➕ 헷갈리는 개념

공유기

  • 개념
    • 소용량 라우터 == 홈 라우터
      • (공유기를 영어로 번역하면 라우터, 보통 공유기는 가정용 라우터를 뜻 함)
    • 여러 컴퓨터나 장치들이 하나의 공인 IP 주소를 사용하여 인터넷에 접속할 수 있게 하는 네트워크 장비
  • 내부 기능
    • NAT (opens in a new tab)
      • 내부 네트워크에서 사용하는 사설 IP 주소를 공인 IP 주소로 변환하여 인터넷과 통신할 수 있게 함
    • 게이트웨이
      • 내부 네트워크와 외부 네트워크(인터넷) 간의 데이터 라우팅 관리
    • 허브/스위치
      • 여러 내부 장치들이 데이터를 공유하고 통신할 수 있게 연결하는 역할
  • 추가 기능
    • WiFi
      • 최근의 공유기는 Wi-Fi 칩셋과 안테나를 탑재하여 AP 기능도 제공
      • 여러 무선 장치들이 인터넷에 접속할 수 있도록 함

스위치

  • 동작 계층
    • 2계층 (데이터링크 계층)
    • MAC주소 기반 동작
  • 동작 방식
    1. A 디바이스와 스위치 연결
    2. 스위치는 A 디바이스의 MAC주소 기록
    • MAC주소: NIC에 할당된 고유 식별 코드, 물리 디바이스를 식별하며 변하지 않음
    • NIC은 이더넷 케이블에 연결, 케이블은 스위치에 연결 됨
    1. 스위치는 MAC주소를 통해 어떤 디바이스가 외부 송출패킷을 전송했는지, 전송된 패킷을 어디로 전달해야하는지 파악
    • 패킷의 헤더를 읽어 목적지 주소에 맞게 적절한 포트를 통해 패킷 보냄
  • L3 스위치
    • 3계층에서 운영하는 스위치
    • 가상LAN에 필수적, 논리적인 네트워크 분할을 서브넷까지 적용
      • 한 서브넷에서 다른 서브넷으로 트래픽을 전달하기 위해서는 스위치와 스위치 사이를 거쳐야만 하는데, 이때 스위치에 탑재된 라우팅 기능 이용

허브

  • 개념
    • 네트워크 환경에서 여러개의 기기를 서로 연결하는 역할을 하는 장치
    • 다수의 PC와 장치들을 묶어서 LAN을 구성할때 사용
    • 랜선은 하나고 연결할 컴퓨터는 여러대일경우 사용하며, 거리가 가까운곳의 컴퓨터들을 연결하는 역할
  • 역할
    • 멀티포트
      • 공유기 포트가 부족하면 허브를 추가적으로 설치하여 포트를 늘림
    • 리피터
      • UTP 케이블의 경우 케이블 거리가 100M가 넘을경우 신호 감쇠현상 발생
      • 100M 거리가 넘는 두 컴퓨터 사이에 허브를 설치하여 네트워크 신호를 증폭시킴
  • 특징
    • 브로드캐스트 방식
      • 연결된 디바이스 한 대에서 전송한 패킷이 허브에 연결된 모든 디바이스로 전달 됨 (스위치와 차이점)
    • 간단한 데이터 전달 기능 제공
    • 주로 소규모 네트워크 환경에서 사용
    • 스위치, 라우터와 같은 고급 네트워크 장치에 비해 성능이 낮아 현재는 많이 사용되지 않음


ref

IT 엔지니어를 위한 네트워크 입문 (opens in a new tab)
라우팅 vs 포워딩 (opens in a new tab)
컴퓨터네트워크 04 : Network Layer (opens in a new tab)
3.라우팅(포워딩, 링크상태 라우팅,...) (opens in a new tab)
정적 라우팅, 고정 라우팅 (opens in a new tab)
Routing Table, Forwarding Table 라우팅 테이블, 포워딩 테이블 (opens in a new tab)