본문 바로가기
CS/네트워크

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

by ahj 2022. 4. 18.

라우터는 경로를 지정해주는 장비.

패킷의 목적지 IP 확인, 자신이 가진 경로(Route) 정보로 패킷을 최적 경로로 포워딩.

라우터는 WAN과 연결 때 필수 네트워크 장비, 핵심 장비.


라우터? L3 스위치?

스위치는 대표적 2계층이지만 3계층에서 동작하는 L3 스위치도 많이 사용. 최근 기술 발달로 라우터 L3 스위치 구분이 어렵다.


5.1 라우터의 동작 방식과 역할

최적 경로 라우팅 테이블에 저장, 들어온 패킷 도착지 IP와 비교해 최선의 경로로 패킷을 보낸다. → 경로 지정

스위치에서는 출발지 주소와 포트 번호를 테이블에 적었지만, 라우터는 목적지 주소를 기록. 목적지 주소가 테이블에 없으면 패킷 폐기 → 브로드캐스트 컨트롤

또한 2계층 헤더 제거 후 새로운 2계층 헤더를 만듦 → 프로토콜 변환

5.1.1 경로 지정

IP 주소는 네트워크 주소와 호스트 주소로 나뉜 계층 구조. LAN과 WAN을 구분 → 여기서 얻은 네트워크 기반으로 경로 찾아갈 수 있다. 적절 경로로 패킷 포워딩

  1. 경로 정보를 얻는 역할
    1. IP 입력 → 자연스레 네트워크 얻는 방법 : 다이렉트 커넥티드
    2. 관리자가 직접 경로 정보 입력 : 스태틱 라우팅
    3. 라우터끼리 자동으로 정보 교환 : 다이나믹 라우팅
  2. 얻은 경로 정보 확인, 패킷 포워딩 역할

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

스위치는 패킷의 도착지 주소를 모르면 LAN 어딘가 도착지 있다고 가정하고 전체 네트워크에 플러딩한다. LAN은 크기가 작아 플러딩 영햑이 작고 도착지 NIC에서 자신과 다른 패킷은 버리기에 스위치에서의 플러딩은 큰 무리를 주지 않는다.

반면, 라우터에서는 분명한 도착지 정보가 있을 때만 통신을 허락. 쓸모없는 통신이 네트워크 차지하는 것을 최대한 막으려 노력한다(대부분 지정된 대역폭만 빌려 사용하기 때문). 라우터에서 플러딩 발생하면 통신 불능 상태가 될 수도 있다.

라우터는 멀티캐스트 정보 습득 X, 브로드캐스트 패킷 전달 X ⇒ 덕분에 다른 네트워크로 브로드캐스트가 전파 되는 것을 막을 수 있다. : “브로드캐스트 컨트롤/멀티캐스트 컨트롤”

라우터로 네트워크 분리 → 브로드캐스트 네트워크 분할 ⇒ 네트워크 성능 향상

5.1.3 프로토콜 변환

라우터 서로 다른 프로토콜의 네트워크를 연결 역할도 함. 사실 현대 네트워크는 이더넷 수렴, 이 역할이 많이 줄었지만, LAN WAN 프로토콜이 완전히 다른 구분된 공간이 있음.

LAN : 다수의 컴퓨터가 함께 통신하는데 초점

WAN : 원거리 통신이 목적

LAN 기술이 WAN 기술로 변환되어야만 원격지 네트워크 통신이 가능했고, 이역할을 라우터가 담당.

라우터에 패킷이 들어오면 2계층 헤더 벗기고 3계층 주소 확인 후 2계층 정보를 새로 만들어 외부로 내보냄. ⇒ 이를 이용해 전혀 다른 기술간 변환이 가능.

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

  • 경로 정보 얻고 정리
  • 정리된 경로 정보 기반 패킷 포워딩

라우터는 불분명한 목적지 주소가 아니면 폐기하므로 패킷 들어오기 전에 충분한 경로 정보를 수집하고 있어야 정상 작동한다. 주소, 경로 매우 많고, 점점 늘고 있음. 이런 복잡 상황에서도 최적 경로 정보인 라우팅 테이블을 적절히 유지해야 함

라우터가 갖고 있는 경로 정보가 원하는 목적지 정보와 정확히 일치하지 않을 경우가 더 많다. 따라서 정확히 일치(Exact Match)가 아니어도 가장 근접 정보를 찾아 패킷을 포워딩 해야 한다. (라우터는 서브넷 단위로 라우팅 정보 습득, Summary 작업을 통해 여러 서브넷 정보 뭉쳐 전달)

경로 얻는 방법, 포워딩 하는 동작 자세히

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

인접 라우터까지만 경로 지정하면 인접 라우터에서 다시 최적 파악하고 포워딩.

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

인접 라우터 : 넥스트 홉(Next Hop)

전체 경로 파악 X, 최적 넥스트 홉 선택, 보냄.

넥스트 홉 지정 방법 3가지

  • 다음 라우터(넥스트 홉) IP 주소 지정 → 일반적
  • 라우터의 나가는 인터페이스 지정 → 특수. IP 모르고 MAC 알 수 있을 때만상대 라우터 프록시 ARP, 상대 MAC 알 수 있을 때
  • WAN 구간 전용선에서 PPP(Point-to-Point)나 HLDC(High Level Datalink Control)을 사용. 상대 MAC 알필요 없거나
  • 둘 다 동시에 지정
  • VLAN 같은 논리적 인터페이스 사용 가능

라우터는 패킷 포워딩 경로 선택 시 출발지 고려 X. 목적지 주소, 라우팅 테이블 비교

라우팅 테이블

  • 목적지 정보
  • 넥스트 홉 IP 주소, 나가는 로컬 인터페이스 (선택 가능)

PBR(Policy-Based Routing) 기능 → 출발지 주소 이용 가능. 일반 라우터와 호환 어려움. 별도 동작 필요.

소위 소스 라우팅(Source Routing), 폴리시 라우팅(Policy Routing) → 관리 어렵고 문제해결 어려워 특별 목적으로만 사용


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

PBR은 출발지 IP, 도착지 IP, 포트 번호 등 다양 합쳐 사용 가능. 통상 소스 라우팅이라 불리지만 엄밀히는 아님(라우터 아닌 출발지에서 경로 지정). 문맥에 맞게 사용해야 함.



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

IP 헤더에는 TTL 필드 존재 : 패킷이 살아있을 수 있는 시간(홉)을 제한

불분명 패킷 버림 ⇒ 대역폭 낭비 방지

라우터가 완전한 것은 아님. 사이트가 갑자기 없어지는 경우, 두대 라우터의 넥스트 홉이 각각 상대방인 경우 계속 오가는 경우 = 라우팅 루프 발생

⇒ 그래서 모든 패킷은 TTL이라는 수명값(Lifetime)을 갖고 있고 0이 되면 네트워크 장비에서 버려짐.

시간이라기보다는 홉을 지칭. 하나의 홉마다 1TTL 감소


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

  1. 다이렉트 커넥티드
  2. 스태틱 라우팅
  3. 다이나믹 라우팅

최적 경로 선정 ⇒ 라우팅 테이블

5.2.2.1 다이렉트 커넥티드

IP 주소와 서브넷 마스크로 해당 IP가 속한 네트워크 주소 정보 알 수 있음 ⇒ 라우팅 테이블 자동 생성 : 다이렉트 커넥티드(Direct Connected)

인터페이스에 IP를 설정하면 자동 생성되는 정보 → 강제 삭제 X. 해당 네트워크 설정 삭제 or 해당 네트워크 인터페이스 비활성화 → 자동 삭제

5.2.2.2 스태틱 라우팅

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

매우 직관적으로 설정, 관리 가능. 다이렉트 커넥티드와 같은 경우로 라우팅 정보 자동 삭제. 논리 인터페이스는 예외 있음.

5.2.2.3 다이나믹 라우팅

스태틱은 손쉬운 관리는 좋지만 큰 네트워크에서는 관리가 어렵다. 다른 라우터 상태 정보 파악할 수 없고, 회선, 라우터 장애 발생시 파악하고 대체 경로로 패킷을 보낼 수 없기 때문. 또한 관리 네트워크 수 많아지거나 연결 복잡해지면 관리에 한계가 있다.

이런 단점을 보완해주는 것이 다이나믹 라우팅(Dynaminc Routing). 라우터끼리 자신이 알고 있는 경로 정보나 링크 상태 정보를 교환, 전체 네트워크 정보를 학습. 장애 등의 상황 발생시 인지, 대체 경로로 패킷 포워딩 가능.

하려면 광고에 필요한 자신의 네트워크를 선언 해야함.

다이나믹 라우팅은 세부적으로 여러 종류 분류 가능.

라우팅의 역할은 경로 정보 얻는 것 뿐 아니라 다양한 경로 정보를 체계적으로 DB화, 순위 부여, 최선 경로 수집해두는 것. 라우터가 수집한 정보(Raw Data)를 토폴로지 테이블이라고 하고 최적의 경로를 저장하는 테이블을 라우팅 테이블이라고 함.

중요한 것은 전체 경로 고려 X, 다음 라우터까지만 패킷 포워딩 한다는 것 : 홉-바이-홉 라우팅

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

라우팅 : 경로 정보를 얻고 최적 경로를 라우팅 테이블에 올려 유지하는 과정 ⇒ 패킷 들어왔을 때 빨리 포워딩 돕기 위해

라우팅의 도움을 받아 포워딩 하는 것을 스위칭이라고 함. 2계층 스위치와 다른 용어. 라우터가 패킷 경로를 지정해 보내는 작업 의미.

완벽 일치도 있지만 비슷, 불일치도 생길 수 있다. ⇒ 롱기스트 프리픽스 매치(Longest Prefix Match) 기법 이용해 가장 가까운 경로 선택


롱기스트 프리픽스 매치

라우팅 테이블에서 가장 좋은 항목을 찾는 알고리즘. (a.k.a Maximum Prefix Length Match)

LPM. 라우팅 테이블을 LPM 테이블이라고 부르기도. 장비가 관리 가능한 테이블 양으로 성능 대략 확인 가능. 장비 데이터 시트에서 확인 가능


롱기스트 작업은 라우터에 많은 부하가 걸림. Exact Match는 단순 서치, 패킷 처리하면 되지만, 비슷한 경로 찾는 작업은 더 많은 리소스 소모. 이런 반복 줄여주는 기술 채용.

캐시

한번 수행한 정보는 캐시에 저장. 캐시를 먼저 확인. 보통 동일 출발지 IP, 동일 목적지 IP, 포트 번호 여러 패킷이 연속적으로 보내지기에 유용.

다양한 캐시 방법. 목적지IP만 캐싱, 출발지, 목적지 IP 모두 캐시, 플로 모두 저장. 넥스트홉 L2까지 캐시해 스위칭 시간 줄이는 기법도 사용. Redis와 같은 메모리 캐시 이용해 DB 부하 줄이는 기법과 유사

5.2.4 라우팅, 스위칭 우선 순위

라우팅 테이블은 토폴로지 테이블에서 좋은 경로 정보로 만듦. 경로 정보 받은 방법, 거리를 기준으로 정함.

목적지 네트워크 정보가 동일한 서브넷 사용하는 경우, 정보 소스에 따라 가중치 정함. 가중치 우선순위는 라우팅 정보 분류와 마찬가지. 순서가 순위

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

필요에 따라 관리자가 조정 가능. : AD(Administrative Distance, 관리 거리)

가중치 동일? → 코스트(Cost) 값(일종의 거리를 나타내는 값, 라우팅 프로토콜(규약)마다 기준이 다름) RIP : 홉수, OSPF : 대역폭(Bandwidth), EIGRP : 다양한 값 연산

코스트까지 동일? → ECMP(Equal-Cost Multi-Path) 기능으로 트래픽 분산

라우터의 라우팅, 스위칭 역할을 하나로 묶어 설명한 전체 우선순위

우선순위 구분 적용 방법

1 롱기스트 매치 스위칭
2 AD(관리 거리) 라우팅
3 코스트 라우팅
4 부하 분산(ECMP) 라우팅

5.3 라우팅 설정 방법

라우팅 우선 순위, 각 라우팅 설정 방법

5.3.1 다이렉트 커넥티드

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

→ 목적지가 다이렉트커넥티드라면 L2 통신(ARP 요청을 직접 보내는)으로 목적지 도달.

외부 네트워크와 통신하려면 스태틱 라우팅, 다이나믹 라우팅 필요.

또한 다이렉트 커넥티드가 외부 네트워크로 나가는 첫번째 길목이기 때문에 정보를 잘못 입력하면 아예 외부 네트워크와 단절.

5.3.2 스태틱 라우팅

스태틱 라우팅은 서버 담당자도 경로 관리에 사용하는 경우 많음.

스태틱 라우팅 문법

목적지(네트워크/호스트-서스넷/서브넷 마스크)로 가려면 패킷을 넥스트 홉으로 보내야 한다

경로 작업 설정을 스태틱 라우팅을 통해. 라우터 간 인터페이스 주소 입력을 직접.

규모 클 때는 라우팅 처리에 어려움. 많은 라우팅 정보 처리를 위해서는 일반적인 라우터, 스위치로는 안되고 대용량 인터넷 라우팅 전용 라우터 필요. 현재 840,000개 이상의 라우팅 정보 존재

일반 회사 라우터는 모든 인터넷 정보 받아 처리하기에 부적절. 스태틱 라우팅을 확장한 디폴트 라우팅으로 문제를 쉽게 해결.

스태틱 라우팅만으로도 모든 패킷을 인터넷 사업자 쪽으로 보낼 수 있음.

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

모든 네트워크 체크 X = “모든 네트워크”라는 의미

디폴트 라우팅은 곳곳에서 사용. 인터넷으로 향하는 경로 정보가 자신에게 없을 때, 마디막 대체 경로로 디폴트 라우팅 사용

디폴트 라우팅과 디폴트 게이트웨이는 같은 의미 → 서버에서 디폴트 게이트웨이 설정시 서버 라우팅 테이블에 디폴트 라우팅이 생성

디폴트 라우팅 : 라우팅 능력이 있는 장비(패킷이 장비로 사용됨)

디폴트 게이트웨이 : 아무 능력없는 장비에서 사용

5.3.3 다이나믹 라우팅

스태틱 라우팅으로는 한 홉 넘어가고 상태 변경에 신속히 대응할 수 없다. 장애를 직접 파악, 수동으로 수정해야하기 때문

관리자 직접 개입 없이 라우터끼리 정보 교환해 최신 유지 가능. 라우터끼리 자신들만의 프로토콜로 정보를 교환. 주기적 or 특별한 변화시 경로 정보를 교환하므로 문제 발생해도 대체 경로 작업 자동 수행.

RIP, OSPF, IS-IS IGRP, EIGRP, BGP 등 다양한 프로토콜. 최근 OSPF, BGP 주로 사용. 그림 5-21 참고

5.3.3.1 역할에 따른 분류

일반적 라우팅 프로토콜은 유니캐스트 라우팅 프로토콜 의미. 이는 다시 사용 역할, 동작원리에 따라 구분. 인터넷에는 AS(Automatic System)라는 자율 시스템 존재.

  • IGP(Interior Gateway Protocol)효율성 중요
  • AS 내 사용하는 라우팅 프로토콜
  • EGP(Exterior Gateway Protocol)조직간 정책이 중요
  • 정책 때문에 AS를 건너 연결하는 것은 제한. 직접 연결을 주로 사용.
  • AS 간 통신에 사용하는 라우팅 프로토콜

5.3.3.2 동작 원리에 따른 분류

IGP는 동작 원리에 따라 2개로 분류

  • 디스턴스 벡터(Distance Vector)RIP, BGP
  • 인접 안한 라우터는 이미 계산한 결과물인 라우팅 테이블을 인접으로부터 전달 받아 계산하므로 필요 리소스가 적다는 장점. 하지만 멀리 떨어진 경로 정보는 많은 라우터, 정보 동기화에 많은 시간 필요. 변경 발생시 정확한 정보 파악에 오랜 시간 걸릴 수 있음.
  • 인접 라우터에서 경로 정보 습득하는 프로토콜
  • 링크 스테이트(Link-State)링크 스테이트 광고(링크 상태 정보 수집) ⇒ 토폴로지 데이터베이스 만들고(링크 상태 기록) ⇒ SPF(Shortest Path First) (경로 계산) ⇒ 최단 경로 트리(라우팅 테이블)에어리어 외부는 가공된 라우팅 테이블 형태로 정보 전달ABR(Area Border Router) → Backbone AREA와 다른 AREA 연결해주는 경계 라우터
  • ASBR(Autonomous System Border Router) → OSPF 외부 정보를 OSPF에 연결시켜주는 외곽 라우터
  • OSPF → Backbone AREA(AREA0)을 통해 모든 AREA와 연결.
  • 전체 네트워크 맵 그리고 경로 변화 파악에 유리. but 부하 작용 ⇒ 규모가 커지면 CPU, 메모리 자원 많이 소모 ⇒ 네트워크 변화 빨리 감지, 리소스 최적화 위해 에어리어(AREA) 단위로 분리, 분리된 에어리어 내에서만 링크 상태정보 교환
  • 링크 상태를 서로 교환하고 각 네트워크 맥을 그리는 프로토콜. 라우터들에 연결된 링크 상태를 교환. 링크 상태를 교환하므로 직접 상태 정보를 받아볼 수 있음.

둘은 적절히 배합한 어드밴스트 디스턴스 벡터(Advanced Distance Vector) 최근 거의 사용 X. IGRP, EIGRP가 있음.

IGP로 주로 OSPF(링크스테이트), BGP(디스턴스벡터). EGP로는 주로 BGP 사용.


다이나믹 라우팅 활용 현황

RIP 여러 제약 때문에 잘 사용하지 않는 추세.

EIFRP 유행했던 때도.

최근 BGP 사용 늘고 있음. 한꺼번에 교환 장점

댓글