[TCP/IP] 7. 라우팅

Lemon·2022년 10월 19일

TCP/IP

목록 보기
8/9
post-thumbnail

💡 TCP/IP가 보이는 그림책을 정리한 내용입니다.

시작 전에

통신을 수행할 때 송신하는 컴퓨터와 수신하는 컴퓨터가 반드시 동일한 네트워크 내에 있다고 할 수는 없다. 대부분의 경우 패킷은 수신처에 전달될 때까지 몇 개의 네트워크를 거친다. 하지만 네트워크를 거친다는 것이 각 네트워크의 내부를 통과해가는 것은 아니다. 실제로는 네트워크 입구에 설치된 라우터를 전전하면서 떠돌아다니다가 수신처의 컴퓨터가 있는 네트워크의 입구까지 도달하게 되는 것이다.

라우터는 단순히 수신처까지의 중계 지점의 역할만 하는 건 아니다. 라우터에는 전달된 패킷의 수신처를 확인하고 다음 전송처를 결정한다는 중요한 역할이 있다. 라우터가 다음 전송처를 결정하고, 거기를 향해서 패킷을 전송하는 작업을 라우팅(routing)이라고 한다.

라우터의 경우 수신처로 통하는 다음 전송처가 하나라고 단정할 수 없다. 그래서 라우터는 다음 전송처를 결정하기 위해 라우팅 테이블(routing table) 정보를 사용한다. 라우팅 테이블은 라우터 안에 저장되어 있는데, 그 저장 방법을 두가지가 있다. 하나는 사용자(관리자)가 수동으로 저장시키는 방법이고, 하나는 라우터 자신이 다른 라우터와 정보 교환을 해서 저장하는 방법이다.


용어 설명

라우터
목적지까지 가장 빠른 길을 찾아주면서 네트워크 간을 연결하는 장비, 인터넷은 수많은 라우터들이 서로 연결되어 만들어진 거대한 네트워크다.

라우팅
라우터는 들어오는 모든 패킷을 목적지로 보내는 역할을 가지고 있는데, 이 과정, 즉 목적지로 패킷을 전송하는 과정을 라우팅이라고 한다. 라우팅에는 정적과 동적 라우팅 두 종류가 있다.

라우팅 테이블
라우팅을 하기 위해 필요한 정보를 모아놓은 테이블로, 수신 네트워크 주소와 다음 홉(hop) 주소, 경과 시간 등이 들어간다.

1. 라우팅

서로 다른 네트워크간의 통신에서 패킷은 여러 개의 라우터를 경유하여 수신처에 도달한다. 이 때 라우터가 수행하는 수신처까지의 경로 결정을 라우팅이라고 한다.

  1. 수신처가 다른 네트워크이므로 일단 라우터 앞으로 패킷을 보낸다.
  2. 회수한 패킷의 수신처를 보고 다음 전송할 라우터를 결정한다.
  3. 여러 개의 라우터를 거쳐서 패킷을 받는다.

라우팅을 수행하기 위해 라우터는 라우팅 테이블(경로 제어표)이라는 정보를 갖고 있다. 회수한 패킷의 수신 IP 주소를 보고 라우팅 테이블을 참고로 다음에 어떤 라우터에게 전송할 지를 결정한다.

라우팅 테이블은 주로 다음과 같은 항목으로 구성되어 있다.

수신 네트워크다음 홉 주소매트릭출력 인터페이스경로의 정보원경과 시간
192.128.158.0/24222.232.255.0/281이더넷R0:00
208.260.258.0/24222.232.10.0/241PDDI관리자0:17

등록할 수 있는 테이블 수는 라우터의 종류에 따라 다르다.

  1. 수신 네트워크
    라우터가 파악하고 있는 네트워크의 네트워크 주소와 서브넷 마스크가 들어간다.
  2. 다음 홉 주소
    1의 네트워크에 전달하기 위한 다음 전송처가 되는 라우터의 IP 주소와 서브넷 마스크가 들어간다.
  3. 매트릭(판단 기준)
    경로의 최적도를 나타내는 수치가 들어간다. 값이 적을수록 뛰어난 경로가 된다.
  4. 출력 인터페이스
    다음 전송처의 데이터 링크 정보가 들어간다. 이에 의해 데이터 링크층의 어떤 프로토콜을 사용하여 캡슐화할지가 결정된다.
  5. 경로의 정보원
    이 정보가 수동으로 등록되었는지, 아니면 어떤 라우팅 프로토콜을 사용하여 자동으로 등록되었는지를 표시하는 문자가 들어간다.
  6. 경과 시간
    경로가 등록된 이후로 경과한 시간이 들어간다. 라우팅 프로토콜에 따라서 이 정보를 바탕으로 경로가 현재도 사용 가능한지를 판단한다.

2. 경로의 결정 방법

정적 라우팅

미리 관리자에 의해 등록된 라우팅 테이블을 사용하여 수신처까지 전달하는 방법이다. 경로가 고정되어 있으므로, 그 경로 중 한 군데라도 상태가 잘못된 곳이 있으면 전달할 수 없다.
네트워크 구성이 바뀔 때마다 관리자가 설정을 변경하지 않으면 안된다.

동적 라우팅

라우터끼리 정보 교환을 수행하고, 그 때에 가장 적절한 경로를 사용하여 전달하는 방법이다. 경로 중 상태가 잘못된 곳이 있다면, 자동적으로 다른 경로가 선택된다. 네트워크의 접속이나 해제도 자동으로 처리한다.


3. 라우터끼리의 정보 교환

동적 라우팅에서 라우터는 직접 연결되어 있는 다른 라우터로부터 정보를 얻어서 라우팅 테이블을 작성한다. 이 때 사용되는 것이 라우팅 프로토콜이다.
라우팅 프로토콜에는 크게 나눠서 IGP(Interior Gateway Protocol)와 EGP(Exterior Gateway Protocol) 두 종류가 있다.

ICP : 회사 내나 동일한 조직에 속한 라우터끼리 주고받기 위한 프로토콜
EGP : 서로 다른 조직에 속한 라우터끼리 주고받기 위한 프로토콜

주요 라우팅 프로토콜

RIP(Routing Information Protocol)
IGP의 일종으로 중소규모의 조직 내에서 사용된다. 목적지까지의 라우터 수(홉수)를 중시해 라우팅 테이블을 작성한다. 홉수가 적은 경로를 선택한다.

OSPF(Open Shortest Path First)
IGP의 일종으로 중대규모의 조직 내에서 사용된다. 전송 속도 등을 고려하고 목적지까지의 속도를 중시해 라우팅 테이블을 작성한다.

BGP(Border Gateway Protocol)
RGP의 일종이다. 목적지까지의 라우터 수(홉수)를 중시해 라우팅 테이블을 작성한다.


4. 라우팅의 구조

💡 라우터는 MAC 주소를 사용하여 경유지를 지정한다.

라우터의 네트워크층에서는 수신 IP 주소를 확인하고, 라우팅 테이블로부터 다음 전송처를 판단한다. 데이터 링크층에서는 전송처의 MAC 주소를 추가하여 네트워크로 보낸다.

  1. 패킷을 받고, 네트워크층에 전달한다.
  2. 라우팅 테이블을 보고 다음에 전송할 라우터를 확인한다.
  3. 다음에 전송할 라우터의 MAC 주소를 적어서 보낸다.

IP 주소는 최종 목적지(수신처)를, MAC 주소는 경유지를 나타낸다.


5. tracert 명령

💡 어떤 컴퓨터까지의 경로를 표시하는 명령이다. Windows에서는 tracert, UNIX에서는 traceroute라고 입력한다.

tracert 명령

tracert는 어떤 컴퓨터까지의 경로를 표시하는 Windows 전용 명령이다. (UNIX, Linux에서는 traceroute). ICMP 메시지를 사용하므로 경로 도중에 ICMP의 주고받기가 금지되어 있는 기기가 있으면 결과가 표시되지 않는다.

tracert (경로를 알고 싶은 컴퓨터의 도메인 또는 IP)

  1. 통신에 걸린 시간이다. 평균 결과를 얻기 위해 연속해서 세 번 조사한다. (횟수는 옵션 설정으로 변경할 수 있다.) IP 데이터그램을 보내서 ICMP 메시지가 되돌아올 때까지의 시간을 조사한다.
  2. 통신 상대의 컴퓨터이다. 위에서 순서대로 경유지를 거쳐서 마지막 최종 목적지(수신처)가 된다.

경로 추적의 구조

tracert는 통과해도 좋은 경유지의 수를 하나씩 증가해가면서 각각의 경유지로부터 되돌아오는 ICMP 메시지를 보고 수신처까지의 길을 찾아간다.

  1. 경유지의 수는 IP 헤더의 생존 시간이라는 항목에 적혀 있다. 우선 생존 시간을 1로 해서 수신처에 보낸다.
  1. 생존 시간을 2로 해서 보낸다. 생존 시간은 경유지를 통과할 때마다 1씩 줄어든다.
  1. 생존 시간을 3으로 해서 보낸다. 여기서 수신처까지 전달한다.

문제 풀이

  1. 라우팅이란 무엇을 말합니까?
    라우터가 다음 전송처를 정하여 패킷을 전송하는 작업
    라우터에는 전달된 패킷의 수신처를 확인하고, 다음 전송처를 결정하는 역할이 있다. 이렇게 라우터가 다음 전송처를 정하고, 거기를 향해서 패킷을 전송하는 작업을 라우팅이라고 한다.
  1. 라우터가 다음 전송처를 결정하기 위해 사용하는 정보를 모아놓은 것을 무엇이라고 합니까?
    라우팅 테이블
    라우터가 라우팅을 수행하기 위한 정보를 모아놓은 것을 라우팅 테이블이라고 한다. 받은 패킷의 수신 IP 주소를 보고 라우팅 테이블을 참고로 하여 다음에 어떤 라우터에게 전송할지를 결정한다. 라우팅 테이블은 수신 네트워크, 다음 홉 주소, 매트릭, 출력인터페이스, 경로의 정보원, 경과 시간 등으로 구성된다.
  1. 라우팅 프로토콜이 IGP와 EGP를 간단히 비교하여 설명하세요
    IGP(Interior Gateway Protocol)는 동일한 조직에 속한 라우터끼리 주고받기 위한 프로토콜이다.
    EGP(Exterior Gateway Protocol)는 서로 다른 조직에 속한 라우터끼리 주고받기 위한 프로토콜이다.
  1. RIP
    ICP의 일종으로 목적지까지의 라우터수(홉수)를 중시해서 라우팅 테이블을 작성하는 프로토콜
    BGP
    EGP의 일종으로 목적지까지의 라우터수(홉수)를 중시해서 라우팅 테이블을 작성하는 프로토콜
    OSPF
    IGP의 일종으로 전송 속도 등을 고려하여 목적지까지의 속도를 중시해서 라우팅 테이블을 작성하는 프로토콜
  1. Windows에서 어떤 컴퓨터까지의 경로를 표시하는 명령은 무엇입니까?
    tracert 명령
    tracert 다음에 경로를 알고 싶은 컴퓨터의 도메인이나 IP 주소를 입력한다.
    tracert 명령은 ICMP 메시지를 사용하므로 경로 도중에 ICMP의 주고받기가 금지되어 있는 기기가 있으면 결과가 표시되지 않는다.
profile
개미는 뚠뚠..오늘도 뚠뚠🐜

0개의 댓글