본문 바로가기
네트워크

[네트워크 입문] 5. 라우터/L3 스위치 : 3계층 장비

by 잭피 2021. 8. 19.

라우터 : 3계층에서 동작하는 여러 네트워크 장비입니다

라우터에 들어오는 패킷의 목적지 IP를 확인하고 자신이 가진 경로 정보를 이용해 패킷을 최적의 경로로 포워딩합니다

라우터는 원격지 네트워크와 연결할 때 필수 네트워크 장비입니다

5.1 라우터 동작 방식과 역할

다양한 경로 정보를 수집해 최적의 경로를 라우팅 테이블에 저장한 후 패킷이 라우터로 들어오면 도착지 IP와 라우팅 테이블을 비교해 최선의 경로로 패킷을 보냅니다

만약 라우팅 테이블에 없으면 패킷을 버립니다

경로 지정

라우터의 가장 중요한 역할은 경로 지정입니다

경로를 지정해 패킷을 포워딩하는 역할을 2가지로 구분해 수행합니다

  1. 경로 정보를 얻는 역할
  2. 얻은 정보를 확인하고 패킷을 포워딩하는 역할

라우터는 자신이 얻은 경로 정보에 포함되는 패킷만 포워딩하므로 정확한 목적지 경로를 얻는 것이 매우중요합니다

브로드캐스트 컨트롤(Broadcast Control)

라우터는 패킷을 원격지로 보내는 것을 목표로 개발되어 3계층에서 동작하고 분명한 도착지 정보가 있을 때만 통신을 허락합니다

라우터는 바로 연결되어 있는 네트워크 정보를 제외하고 경로 습득 설정을 하지 않으면 패킷을 포워딩할 수 없습니다

라우터 기본 동작은 멀티캐스트 정보를 습득하지 않고 브로드캐스트 패킷을 전달하지 않습니다 이 기능을 이용해 브로드캐스트가 다른 네트워크로 전파되는 것을 막을 수 있습니다 → 브로드캐스트 컨트롤/멀티캐스트 컨트롤이라고 합니다

네트워크에 브로드캐스트가 많이 발생하는 경우, 라우터로 네트워크를 분리하면 브로드캐스트 네트워크를 분할해 네트워크 성능을 높일 수 있습니다

프로토콜 변환

라우터의 또 다른 역할은 서로 다른 프로토콜로 구성된 네트워크를 연결하는 것입니다

5.2 경로 지정 - 라우팅/스위칭

라우터가 패킷을 처리할 때 크게 2가지 작업을 수행합니다

  1. 경로 정보를 얻어 경로 정보를 정리하는 역할
  2. 정리된 경로 정보를 기반으로 패킷을 포워딩하는 역할

라우터는 다양하고 많은 경로 정보를 얻을 수 있지만 원하는 목적지 정보와 정확히 일치하지 않는 경우가 더 많습니다

라우터는 서브넷 단위로 라우팅 정보를 습득하고 라우팅 정보를 최적화하기 위해 서머리 작업을 통해 여러 개의 서브넷 정보를 뭉쳐 전달합니다

그래서 라우터에 들어온 패킷의 목적지 주소와 라우터가 갖고 있는 라우팅 테이블 정보가 정확히 일치하지 않더라도 수많은 정보 중 목적지에 가장 근접한 정보를 찾아 포워딩해야 합니다

라우팅 동작과 라우팅 테이블

홉-바이-홉(Hop-by-Hop) 라우팅 : 네트워크를 한 단계씩 뛰어넘는 다는 의미의 기법

인접한 라우터를 넥스트 홉(Next Hop)이라고 부릅니다

라우터는 패킷이 목적지로 가는 전체 경로를 파악하지 않고 최적의 넥스트 홉을 선택해 보내줍니다

넥스트 홉을 지정할 때는 3가지 방법을 사용할 수 있습니다

  1. 다음 라우터의 IP를 지정하는 방법(넥스트 홉 IP 주소) - 일반적임
  2. 라우터의 나가는 인터페이스를 지정하는 방법
  3. 라우터의 나가는 인터페이스와 다음 라우터의 IP를 동시에 지정하는 방법

라우터가 패킷을 어디로 포워딩할지 경로를 선택할 때는 출발지를 고려하지 않습니다

출발지와 상관없이 목적지 주소와 라우팅 테이블을 비교해 어느 경로로 포워딩할지 결정합니다

라우팅 테이블을 만들 때는 목적지 정보만 수집하고 패킷이 들어오면 목적지 주소를 확인해 패킷을 넥스트 홉으로 포워딩합니다

모든 패킷은 TTL이라는 수명 값을 가지고 있고 이 값이 0이 되면 네트워크 장비에서 버려집니다

초와 같은 시간이 아니라 홉을 지칭하며 홉을 지날 때마다 TTL 값은 1씩 줄어듭니다

라우팅(라우터가 경로 정보를 얻는 방법)

라우터가 경로 정보를 얻는 방법 3가지는 아래와 같습니다

1. 다이렉트 커넥티드

IP 주소를 입력할 때 사용된 IP 주소와 서브넷 마스크로 해당 IP 주소가 속한 네트워크 주소 정보를 알 수 있습니다

라우터는 이 정보로 해당 네트워크에 대한 라우팅 테이블을 자동으로 만듭니다

이 경로 정보를 다이렉트 커넥티드라고 부릅니다

2. 스태틱 라우팅

관리자가 목적지 네트워크와 넥스트 홉을 라우터에 지정해 경로 정보를 입력하는 것을 스태틱 라우팅이라고 합니다

3. 다이나믹 라우팅

큰 네트워크는 스태틱 라우팅으로는 관리가 어렵습니다

다이나믹 라우팅은 라우터끼리 자신이 알고 있는 경로 정보나 링크 상태 정보를 교환해 전체 네트워크 정보를 학습합니다

관리자의 개입 없이 라우터끼리의 정보교환만으로 장애를 인지하고 트래픽을 우회할 수 있으므로 대부분의 네트워크에서 다이나믹 라우팅이 사용됩니다

스위칭(라우터가 경로를 지정하는 방법)

패킷이 들어와 라우팅 테이블을 참조하고 최적의 경로를 찾아 라우터 외부로 포워딩하는 작업을 스위칭이라고 합니다

이 스위칭은 2계층 스위치와 이름이 비슷하지만 다른 용어이며, 3계층 라우터가 패킷 경로를 지정해 보내는 작업을 말합니다

한 번 스위칭 작업을 수행한 정보는 캐시에 저장하고 뒤에 들어오는 패킷은 라우팅 테이블을 확인하는 것이 아니라 캐시를 먼저 확인합니다

라우팅, 스위칭 우선순위

라우팅 테이블은 가장 좋은 경로 정보만 모아놓은 핵심정보입니다

토폴로지 테이블에서 좋은 경로 정보와 우선순위는 경로 정보를 받은 방법과 거리를 기준으로 정합니다

목적지 네트워크 정보가 동일한 서브넷을 사용하는 경우, 정보를 얻은 소스에 따라 가중치를 정하게 됩니다

이 가중치 값은 크게 3가지로 나눌 수 있습니다

  1. 내가 갖고 있는 네트워크(다이렉트 커넥티드)
  2. 내가 경로를 직접 지정한 네트워크(스태틱 라우팅)
  3. 경로를 전달받은 네트워크(다이나믹 라우팅)

3가지 경로 수집 방법 중 우선순위가 가장 높은 것은 라우터에 바로 연결된 네트워크입니다

패킷을 스위칭할 때는 롱기스트 프리픽스 매치 기법으로 우선순위를 정합니다

5.3 라우팅 설정 방법

다이렉트 커넥티드

라우터나 PC에 IP 주소, 서브넷 마스크를 입력하면 다이렉트 커넥티드 라우팅 테이블이 생성됩니다

라우팅 테이블을 확인해 목적지가 다이렉트 커넥티드라면 라우터는 앞 장에서 배웠던 L2 통신으로 목적지에 도달합니다

목적지가 외부 네트워크인데 다이렉트 커넥티드 라우팅 테이블 정보만 있으면 외부 네트워크와 통신이 불가능합니다

스태틱 라우팅

네트워크 정보를 쉽게 추가하고 경로를 직접 제어할 수 있는 가장 강력한 방법은 스태틱 라우팅입니다

일반적인 회사에서 운영하는 라우터는 인터넷의 모든 라우팅 정보를 가질 만큼 크지 않으며 대부분 인터넷 사업자로부터 회선을 임대로 사용하는 만큼 모든 인터넷 경로 정보를 받아 처리하는 것은 부적절합니다

이런 경우, 스태틱 라우팅을 확장한 디폴트 라우팅을 사용하면 문제를 쉽게 해결할 수 있습니다

인터넷을 향하는 경로나 자신에게 경로 정보가 없는 경우에도 마지막 대체 경로로 디폴트 라우팅을 사용합니다

디폴트 라우팅과 디폴트 게이트웨이는 같은 의미입니다

서버에서 디폴트 게이트웨이를 설정하면 서버의 라우팅 테이블에 디폴트 라우팅이 생성됩니다

다이나믹 라우팅

일반적인 IT 환경을 구축할 때는 SPoF(Single Point of Failure) 단일 장애점을 없애기 위해 두 개이 상의 경로를 유지하는데 이 경우, 대체 경로에 대한 고민이 필요합니다

다이나믹 라우팅 프로토콜을 사용하면 관리자의 직접적인 개입 없이 라우터끼리 정보를 교환해 경로 정보를 최신으로 유지할 수 있습니다

라우터끼리 경로 정보를 수집하고 전달하므로 관리자가 라우팅 정보를 직접 입력해줄 필요가 없습니다

1. 역할에 따른 분류

일반적인 라우팅 프로토콜은 유니캐스트 라우팅 프로토콜을 말합니다

유니캐스트 라우팅 프로토콜을 분류하는 방법은 여러 가지인데 주로 사용하는 역할과 동작 원리에 따라 구분합니다

  • IGP : AS 내에서 사용하는 라우팅 프로토콜
  • EGP : AS 간 통신에 사용하는 라우팅 프로토콜

2. 동작 원리에 따른 분류

IGP 라우팅 프로토콜은 동작 원리에 따라 2개로 나뉩니다

  • 디스턴스 벡터 : 인적합 라우터에서 경로 정보를 습득하는 라우팅 프로토콜
  • 링크 스테이트 : 라우터에 연결된 링크 상태를 서로 교환하고 각 네트워크 맵을 그리는 라우팅 프로토콜

댓글