5장. 라우터 / L3 스위치: 3계층 장비

장동민·2022년 6월 6일

1. 라우터의 동작 방식과 역할

1-1. 경로 지정

  • 경로 정보를 모아 라우팅 테이블을 만들고 패킷이 라우터로 들어오면 패킷의 도착지 IP 주소를 확인해 경로를 지정하고 패킷을 포워딩

		라우터의 가장 중요한 역할은 1. 경로 정보얻기, 2. 얻은 경로 정보로 패킷을 포워딩하기다.

1-2. 브로드캐스트 컨트롤(Broadcast Control)

  • 3계층에서 동작하고 분명한 도착지 정보가 있을 때만 통신을 허락
  • 바로 연결되어 있는 네트워크 정보를 제외하고 경로 습득 설정을 하지 않으면 패킷을 포워딩 할 수 없음
  • 멀티캐스트 정보를 습득하지 않고 브로드캐스트 패킷을 전달하지 않음
  • 네트워크에 브로드 캐스트가 많이 발생하는 경우, 라우터로 네트워크를 분리하면 브로드캐스트 네트워크를 분할해 네트워크 성능을 높일 수 있음

1-3. 프로토콜 변환

  • 서로 다른 프로토콜로 구성된 네트워크를 연결

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

라우터가 패킷을 처리할 때의 작업

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

2-1. 라우팅 동작과 라우팅 테이블

✍ 홉-바이-홉(Hop-by-Hop) : 인접한 라우터까지만 경로를 지정하면 인접 라우터에서 최적의 경로를 다시 파악한 후 라우터로 패킷을 포워딩
✍ 넥스트 홉(Next Hop) : 인접한 라우터

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

    								홉-바이-홉 라우팅 기법을 사용한 인터넷
  • 넥스트 홉을 지정할 때 일반적으로 세 가지 방법을 사용

    • 다음 라우터의 IP를 지정하는 방법(넥스트 홉 IP 주소)
    • 라우터의 나가는 인터페이스를 지정하는 방법
    • 라우터의 나가는 인터페이스와 다음 라우터의 IP를 동시에 지정하는 방법

			넥스트 홉을 지정하는 방법에는 출력 인터페이스와 넥스트 홉 IP 주소가 있다.
  • 출발지와 상관없이 목적지 주소와 라우팅 테이블을 비교해 어느 경로로 포워딩할지 결정
  • 라우팅 테이블을 만들 때는 목적지 정보만 수집하고 패킷이 들어오면 목적지 주소를 확인해 패킷을 넥스트 홉으로 포워딩
  • 라우팅 테이블에 저장하는 데이터
    • 목적지 주소
    • 넥스트 홉 IP 주소, 나가는 로컬 인터페이스(선택 가능)

소스 라우팅과 PBR, 정책 라우팅

  • PBR은 출발지 IP만으로 패킷 경로를 지정하는 것이 아니라 도착지 IP와 포트 번호와 같은 다양한 조건을 합쳐 사용 가능
  • 소스 라우팅의 원래 의미는 출발지에서 경로를 지정하는 것

루프가 없는(Loop Free) 3계층: TTL(Time To Live)

  • 3계층의 IP 헤더에는 TTL이라는 필드가 있는데, 이 필드는 패킷이 네트워크에 살아 있을 수 있는 시간(홉)을 제한
  • 하나의 홉을 지날 때마다 TTL 값은 1씩 줄어듬
  • TTL 값이 0이 되면 네트워크 장비에서 버려짐

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

다이렉트 커넥티드

✍ 다이렉트 커넥티드(Direct Connected) : 라우터나 PC에서 사용된 IP 주소와 서브넷 마스크로 해당 IP 주소가 속한 네트워크 주소 정보로 해당 네트워크에 대한 라우팅 테이블을 자동으로 만드는데 이 경로 정보를 뜻함

						다이렉트 커넥티드 - 라우터에서 connected로 표현
  • 다이렉트 커넥티드로 생성된 경로 정보는 강제로 지울 수 없고 해당 네트워크 설정을 삭제하거나 해당 네트워크 인터페이스가 비활성화되어야만 자동으로 사라짐

스태틱 라우팅

✍ 스태틱 라우팅(Static Routing) : 관리자가 목적지 네트워크와 넥스트 홉을 라우터에 직접 지정해 경로 정보를 입력하는 것

  • 관리자가 경로를 직접 지정하므로 라우팅 정보를 매우 직관적으로 관리, 설정할 수 있음
  • 연결된 인터페이스 정보가 삭제되거나 비활성화되면 연관된 스태틱 라우팅 정보가 자동 삭제됨
  • 물리 인터페이스가 아닌 논리 인터페이스는 물리 인터페이스가 비활성화되더라도 함께 비활성화되지 않는 경우도 있어 라우팅 테이블에서 사라지지 않을 수 있음

										스태틱 라우팅
  • R1의 10.10.10.10/24 네트워크에서 R2의 20.20.20.20과 통신하려면 넥스트 홉을 1.1.1.2로 스태틱 라우팅을 설정해야 함
  • R2에서 넥스트 홉은 1.1.1.1로 스태틱 라우팅을 설정해야 함

다이나믹 라우팅

  • 라우터끼리 자신이 알고 있는 경로 정보나 링크 상태 정보를 교환해 전체 네트워크 정보를 학습
  • 라우터를 연결하는 회선이나 라우터 자체에 장애가 발생하면 이 상황을 인지해 대체 경로로 패킷을 포워딩할 수 있음
  • 관리자의 개입 없이 라우터끼리의 정보교환만으로 장애를 인지하고 트래픽을 우회할 수 있음

										다이나믹 라우팅
  • 자신이 광고할 네트워크를 선언해주어야 함
  • 패킷을 포워딩 할 시 최적의 경로를 찾는 작업을 단순화하기 위해 라우팅 정보를 저장할 때 최적의 경로만 추려 별도 테이블에 미리 보관

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

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

								라우팅 테이블과 패킷 스위칭
  • 10.1.1.9 IP가 목적지인 패킷이 라우터로 들어온 경우, 라우터는 도착지 IP와 가장 가깝게 매치되는 경로 정보를 찾음
  • 롱기스트 프리픽스 매치(Longest Prefix Match) 기법을 이용해 갖고 있는 경로 정보 중 가장 가까운 경로를 선택
  • 라우팅 테이블과 도착지 정보가 매치되는 정보는 10.0.0.0/8, 10.1.0.0/16, 10.1.1.0/24임
    • 10.0.0.0/8, 10.1.0.0/16, 10.1.1.0/24 세 개의 라우팅 정보 중 목적지와 더 많이 매치되는 정보는 10.1.1.0/24임
    • 10.1.1.0/24 정보를 최선의 정보로 인식하여 Eth 2 인터페이스 쪽으로 패킷을 내보냄

2-4. 라우팅, 스위칭 우선순위

  • 일반적인 경로 정보를 모아놓은 토폴로지 테이블에서 좋은 경로 정보의 우선순위는 경로 정보를 받은 방법과 거리를 기준으로 정함

토폴로지 테이블 - 여러 가지 경로 정보 얻음 -> 정보를 얻은 소스 기준으로 최적 정보 선정 -> 라우팅 테이블

  • 목적지 네트워크 정보가 동일한 서브넷을 사용하는 경우, 정보를 얻은 소스에 따라 가중치를 정하게 되는데 가중치 값은 3가지로 나뉨

    • 내가 갖고 있는 네트워크(다이렉트 커넥티드) : 우선순위가 가장 높음
    • 내가 경로를 직접 지정한 네트워크(스태틱 라우팅) : 다이렉트 커넥티드 다음으로 높음
    • 경로를 전달받은 네트워크(다이나믹 라우팅) : 우선순위 낮음
  • 어떤 라우팅 프로토콜을 통해 경로 정보를 얻었는지에 따라 우선순위가 다름

										라우팅 우선순위

3. 라우팅 설정 방법

3-1. 다이렉트 커넥티드

								다이렉트 커넥티드 라우팅 테이블
                                
  • 목적지가 다이렉트 커넥티드라면 라우터는 L2 통신(ARP 요청을 직접 보내는)으로 목적지에 도달
  • 외부 네트워크로 통신하려면 다이렉터 커넥티드 외에 스태틱 라우팅이나 다이나믹 라우팅에서 얻은 원격지 네트워크에 대한 적절한 라우팅 정보가 있어야 함
  • IP 주소를 잘못 설정하거나 서브넷 마스크를 정상 범위보다 크거나 작게 설정하면 다이렉트 커넥티드 라우팅 정보가 잘못 입력되는데, 외부 네트워크와 단절된 독립된 네트워크가 되거나 특정 네트워크와 통신할 수 없는 상태를 만듬

3-2. 스태틱 라우팅

  • 네트워크 정보를 쉽게 추가하고 경로를 직접 제어할 수 있음
  • 네트워크 관리자뿐만 아니라 서버 담당자도 경로 관리에 사용하는 경우가 많음

					R1에서 20.20.20.0/24으로 통신하기 위한 스태틱 라우팅 설정
  • R1 라우터에서 R2 라우터로 통신하려면 R1 라우터에 20.20.20.0/24로 가는 정보를 알려주어야 함
  • R1 라우터 입장에서 R2 라우터로 보내려면 연결된 인터페이스인 1.1.1.2로 보내면 됨

디폴트 라우팅

  • 회사 내에 있는 제한된 경로 정보를 스태틱 라우팅으로 처리하는 것은 문제가 없지만 네트워크 규모가 매우 커지거나 인터넷 연걸을 해야 할 때는 스태틱 라우팅을 처리하는 데 어려움이 있음
  • 대부분 인터넷 사업자로부터 회선을 임대해 사용하는 만큼 모든 인터넷 경로 정보를 받아 처리하는 것은 부적절함
  • 디폴트 라우팅을 사용하면 문제를 쉽게 해결

✍ 디폴트 라우팅 : 목적지 주소의 서브넷 마스크가 모두 0인 스태틱 라우팅
📌 ip route 0.0.0.0 0.0.0.0 1.1.1.1

  • 모든 네트워크 정보를 체크하지 않는다는 의미를 확장하면 "모든 네트워크"라는 의미가 됨
  • 인터넷으로 향하는 경로나 자신에게 경로 정보가 없는 경우, 마지막 대체 경로로 디폴트 라우팅을 사용

3-3. 다이나믹 라우팅

  • IT 환경을 구축 시 SPoF(Single Point of Failure: 단일 장애점)을 없애기 위해 2개 이상의 경로를 유지하는데, 스태틱 라우팅만으로 구성 시 한 홉이 넘어간 네트워크 상태가 변경될 때 신속히 대응 불가
  • 관리자의 직접적인 개입 없이 라우터끼리 정보를 교환해 경로 정보를 최신으로 유지
  • 중간 경로에 문제가 발생하더라도 대체 경로를 찾는 작업이 자동으로 수행
  • 다이나믹 라우팅 프로토콜로 RIP, OSPF, IS-IS IGRP, EIGRP, BGP등이 있음

역할에 따른 분류

  • 인터넷에는 AS(Autonomous System)라는 자율 시스템이 존재하는데, SKT, KT, LGU+ 같은 인터넷 사업자가 한 개 이상의 AS를 운영
  • 역할과 동작원리에 따라 구분
    • IGP : AS 내에서 사용하는 라우팅 프로토콜
    • EGP : AS 간 통신에 사용하는 라우팅 프로토콜
  • AS 내부의 연결은 효율성이 중요하지만 다른 AS와의 연결은 효율성보다 조직 간 정책이 더 중요

동작원리에 따른 분류

  • IGP 라우팅 프로토콜은 동작 원리에 따라 크게 디스턴스 벡터(Distance Vector)와 링크 스테이트(Link-State)로 나뉨

✍ 디스턴스 백터 : 인접한 라우터에서 경로 정보를 습득하는 라우팅 프로토콜(ex. IGRP, EIGRP, BGP)
📌 인접한 라우터에서 경로 정보를 습득하고, 인접 라우터가 아닌 라우터의 정보는 직접 전달받는 것이 아니라 인접 라우터를 통해 간접적으로 한 단계 건너 받음
📌 라우팅 정보 처리에 많은 리소스가 필요없음
📌 모든 라우터 정보가 동기화되는 데 많은 시간이 필요

✍ 링크 스테이트 : 라우터에 연결된 링크 상태를 서로 교환하고 각 네트워크 맵을 그리는 라우팅 프로토콜(ex. OSPF, IS-IS)
📌 링크 상태를 교환해 토폴로지 데이터베이스를 만들고 이 정보를 다시 SPF(Shortest Path First)알고리즘을 이용해 최단 경로 트리를 만듬
✍ SPF(Shortest Path First) : 연결되어 있는 선들의 값을 더해서 최소의 값을 가지는 경로를 구하는 계산 하는 알고리즘
📌 최단 경로 트리를 이용해 최적의 경로를 선정한 후 라우팅 테이블에 그 정보를 추가
📌 네트워크 규모가 커질 시 네트워크 경로를 파악하는 데 CPU와 메모리 자원을 많이 소모
📌 네트워크 변화를 더 빨리 감지하고 리소스를 최적화 하기 위해 네트워크를 에어리어(AREA) 단위로 분리하고 에어리어 내에서만 링크 상태 정보를 교환

profile
나만의 데이터베이스

0개의 댓글