320x100
320x100

라우터

: 패킷의 목적지 IP 주소를 확인하고 자신이 가진 경로 정보를 이용해 패킷을 최적의 경로로 지정해주는 장비

: 원격지 통신의 필수 장비

: 자신이 속한 네트워크로의 경로 정보를 수집해 최적의 경로를 라우팅 테이블에 저장

: 들어온 패킷의 목적지 주소가 라우팅 테이블에 없을 경우 패킷을 버림

: 패킷 포워딩 과정에서 기존의 데이터링크 계층의 헤더 정보를 제거하고 새로운 헤더 정보를 삽입

 

- L3 스위치

: 네트워크 계층에서 동작하는 스위치

: 라우터와 같은 의미

 

 

 

 

 

라우터의 경로지정

: 라우터는 패킷의 IP 주소를 확인하여 원격지로 적절한 경로로 패킷을 포워딩함

 

- 라우터가 경로를 저장하는 방법

: IP 주소와 함께 인전 네트워크 정보를 획득

: 관리자가 직접 경로 정보를 입력

: 라우터끼리 경로 정보를 교환

 

 

 

 

브로드캐스트 컨트롤 / 멀티캐스트 컨트롤

: 브로드캐스트가 다른 네트워크로 전파되는 것을 막는 기능

: 패킷의 도착지 주소를 모르면 플러딩을 통해 모든 포트에 패킷을 전송하는 스위치와 달리

  라우터는 분명한 도착지 정보가 있을 경우에만 통신을 허락

: 라우터는 멀티캐스트 정보를 습득하지 않고 브로드캐스트 패킷을 전송하지 않음

 

 

 

 

프로토콜 변환

: 서로 다른 프로토콜로 구성된 네트워크를 연결하는 라우터의 기능

: 라우터에 들어온 패킷의 데이터링크 계층 헤더를 갱신하여 작동

: WAN 구간에서는 PPP와 같은 WAN 프로토콜을 사용

: LAN 구간에서는 라우터를 거치면서 데이터링크 계층의 헤더가 제거되고 WAN 구간으로 나올 때 변환됨

 

 

 

 

라우팅 / 스위칭

- Summary

: 서브넷 단위로 라우팅 정보를 습득하고 최적화 하기 위해

  여러 개의 서브넷 정보를 뭉쳐 패킷을 전달 하는 라우터의 기능

: 라우터에 들어온 패킷의 목적지 주소와 라우터가 가지고 있는 라우팅 테이블 정보가 정확하게

  일치하지 않더라도 근접한 정보를 찾아 패킷을 포워딩

 

- Hop By Hop

: 단말부터 목적지 까지의 모든 경로를 책임지지 않고 인접한 라우터까지 경로를 지정하여 포워딩하는 방법

: 현재 인터넷의 라우터들이 채택한 방법

: 라우터는 최적의 넥스트 홉 (인접한 라우터)로 패킷을 전송

 

 

※ 넥스트 홉을 지정하는 방법

: 패킷의 목적지 주소만을 확인하여 넥스트 홉으로 포워딩

 

- 패킷의 목적지 주소로 다음 라우터의 IP를 지정

: 일반적인 방법

 

- 라우터의 나가는 인터페이스를 지정

: 특수한 경우에 사용

 > 넥스트 홉의 MAC 주소 정보를 알아낼 수 있을 때 사용

: WAN 구간 전용선에서 PPP나 HDLC와 같은 프로토콜을 사용하는 경우

 > 이 경우 상대방 라우터에서 프록시 ARP가 동작하여 MAC 주소를 알 수 있음

 

- 라우터의 나가는 인터페이스와 다음 라우터의 IP를 지정

: VLAN 인터페이스와 같이 논리적인 인터페이스를 사용하는 경우

 

 

※ 라우팅 테이블에 저장하는 데이터

: 목적지 주소

: 넥스트홉 IP 주소, 나가는 로컬 인터페이스

 

- PBR (Policy-Based Routing) / Flush Routing / Source Routing

: 라우터에서 패킷의 출발지 주소를 이용해 라우팅하는 기능

: 별도의 라우팅 정책 설정 필요

: 관리가 어려워지고 문제 발생 시 해결이 어려움

: 도착지 IP와 포트 번호와 같은 다양한 조건을 합쳐 사용 가능

 

 

※ TTL (Time To Live)

: 네트워크 계층에서 패킷이 무한정 도는 라우팅 루프를 방지하기 위해 패킷에 부여한 수명 값

: 하나의 라우터 (홉)를 지날 때마다 TTL의 값이 1씩 줄어듦

 

 

 

 

 

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

- 다이렉트 커넥티드

: IP주소와 서브넷 마스크를 통해 해당 IP 주소가 속한 네트워크 정보를 알아내

  해당 네트워크에 대해 만든 라우팅 테이블의 경로 정보

: 인터페이스에 IP를 설정하면 자동 생성되기 때문에 삭제가 되지 않음

 > 해당 네트워크 설정을 삭제하거나 해당 네트워크 인터페이스가 비활성 되야 삭제됨

 

 - 스태틱 라우팅

: 관리자가 목적지 네트워크와 넥스트 홉을 지정하여 경로 정보를 입력하는 것

: 마찬가지로 연결된 인터페이스 정보가 삭제되거나 비활성화 되면 삭제 됨

 > 논리 인터페이스의 경우 물리 인터페이스가 비활성화 되도

    함께 비활성화 되지 않는 경우가 있어 삭제되지 않을 수 있음

 

- 다이나믹 라우팅

: 라우터 끼리 경로 정보와 링크 상태 정보를 교환하여 전체 네트워크 정보를 학습

: 라우터 끼리 상태가 변화하거나 주기적으로 경로 정보를 교환

: 장애 발생 시 대체 경로를 통해 포워딩 가능

: 라우터는 자신이 광고할 네트워크를 선언해야함

 

 

 

 

라우터의 역할

: 다양한 경로 정보를 체계적으로 데이터베이스화 하고 순위를 부여하여 

  최선의 경로 정보를 수집

: 패킷을 포워딩할 때 최적의 경로를 찾는 작업을 단순화 하기 위해 최적의 경로만 추려 별도 테이블에 저장

: 라우팅 테이블을 통해 다음 라우터 까지의 경로를 포워딩

 

- 토폴로지 테이블

: 라우터가 수집한 경로 정보 및 원시 데이터를 저장한 테이블

 

- 라우팅 테이블

: 토폴로지 테이블에서 최적의 경로만 저장한 테이블

 

 

 

 

스위칭

: 라우팅 테이블을 참조하고 최적의 경로를 찾아 라우터 외부로 포워딩 하는 작업

: 패킷 경로를 지정해 보내는 작업

: 한 번 스위칭 작업을 수행한 정보는 캐시에 저장

 > 목적지 IP만 캐시

 > 출발지 IP / 목적지 IP / 포트번호까지 캐시

 > 넥스트 홉 L2 정보까지 캐시 (Redis와 같은 메모리 캐시를 이용해 베이스 부하를 줄이는 기법과 유사)

 

- Longest Prefix Match (LPM) / Maximum Prefix Length Match

: 들어온 패킷의 도착지 IP와 완전히 매치되는 경로 정보가 없을 경우 

  라우터 자신이 가지고 있는 경로 정보 중 가장 가까운 경로를 선택하는 알고리즘

 

- Longest Prefix Matching (LPM) / Longest Match Rule

: 라우터 자신이 가지고 있는 경로 정보 중 가장 가까운 경로를 선택하는 작업

 

- LPM 테이블

: 라우터나 스위치에서 관리할 수 있는 라우팅 테이블

 

- 장비 데이터시트

: 도입해야할 장비가 관리할 수 있는 테이블의 양으로 성능을 확인 할 수 있는 테이블

 

- Exact Match

: 라우팅 테이블에서 패킷의 목적지 IP에 부합하는 정확한 정보를 매치하는 Search 작업

: 부정확한 정보 중 가장 비슷한 경로를 찾는 LPM 보다 리소스 소모가 적음

 > LPM은 반복작업이 발생하기 때문 

 

 

 

 

 

라우팅 및 스위칭의 우선순위

- 다이렉트 커넥티드

: 라우터에 바로 붙은 대역이기 때문에 경로 선정시 1순위

 

- 스태틱 라우팅

: 관리자가 직접 설정 했기 때문에 신뢰도가 높음

 

- 다이나믹 라우팅

: 라우팅 프로토콜로 부터 경로를 전달 받은 네트워크에 대한 라우팅

: 어떤 라우팅 프로토콜을 통해 정보를 얻었느냐에 따라 우선순위가 달라짐

 

- AD (Adminstrative Distance)

: 관리자가 라우팅 경로를 조정하기 위해 정하는 우선 순위

: 라우팅 별 가중치

1. 다이렉트 커넥티드 (Connected Interface)

2. 스태틱 라우팅 (Static Route)

20. Externeal BGP

110. OSFP

115 IS-OS

120. RIP

200. Internal BGP

255. Unknown

 

- ECMP (Exqual-Cost-Multi-Path)

: 경로 정보를 얻은 소스가 같아 가중치가 같은 경우 cost 값을 통해 우선순위를 결정

: cost 값까지 동일한 경우 ECMP를 통해 해당하는 경로 값 정보를 모두 활용하여 트래픽을 분산

 > cost 값은 일종의 거리를 나타내는 값으로 라우팅 프로토콜 마다 기준이 다름

: 라우팅 프로토콜 별 cost 값

 > RIP (홉 수)

 > OSPF (대역폭)

 > EIGRP (다양한 값)

 

- 라우팅 우선순위

1. LPM (스위칭)

2. AD (라우팅)

3. cost (라우팅)

4. ECMP (부하분산) (라우팅)

 

 

 

 

라우팅 설정 방법

- 다이렉트 커넥티드

: 라우팅 테이블을 확인하여 목적지가 다이렉트 커넥티드라면 라우터는 ARP 요청을 통해 직접 목적지에 도달

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

 > 스태틱 라우팅이나 다이나믹 라우팅에서 얻은 원격지 네트워크에 대한 라우팅 정보 필요

: 다이렉트 커넥티드 정보가 잘못된 경우에도 외부 네트워크와 통신 불가

 > 외부 네트워크로 나가기 위해서는 다이렉트 커넥티드가 필요하기 때문

 > IP 주소를 잘못 설정하거나 서브넷 마스크의 범위를 잘못 설정하면 다이렉트 커넥티드 정보가 잘못 입력됨

 

 

 

 

 

스태틱 라우팅

: 네트워크 정보를 쉽게 추가하고 경로를 직접 제어할 수 있는 강력한 방법

: 라우팅 설정 문법

 > ip route NETWORK NETMASK NEXTHOP [시스코 장비의 라우팅 설정]

 > route add -net NETWORK /Prefix gw NEXTHOP [리눅스의 라우팅 설정]

=> 패킷을 NEXTHOP에 보내서 목적지로 전송 한다는 의미

 

※ 대용량 라우팅

: 인터넷에는 840000개의 이상의 라우팅 정보가 존재

: 많은 라우팅 정보를 처리하기 위해서는 대용량의 인터넷 전용 라우터가 필요

: 인터넷 정보를 모두 가질 수 있는 전용 라우터는 KT, SK Broadband, LGU+와 같은 인터넷 사업자가 운영

=> 일반적인 회사의 라우터는 스태틱 라우팅을 확장한 디폴트 라우팅을 활용하여

     인터넷 라우팅 정보를 효율적으로 알 수 있음

 

- 디폴트 라우팅 (디폴트 게이트웨이)

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

: 서브넷 마스크를 2진수 연산하여 네트워크 주소를 뽑아내 스태틱 라우팅의 명령어 수를 줄임

: 인터넷으로 향하는 경로나 자신을 향한 경로 정보가 없는 경우에 마지막 대체 경로로 사용

: 디폴트 라우팅은 디폴트 게이트웨이와 같은 의미

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

 

※ 디폴트 라우팅

: 라우팅 능력이 있는 장비에서 사용 (패킷이 들어올 경우 특정 경로로 포워딩 하는 능력)

 

※ 디폴트 게이트웨이

: 라우팅 능력이 없는 장비에서 사용

 

 

 

 

다이나믹 라우팅

: 관리자의 직접적인 개입 없이 라우터끼리 정보를 교환하여 최신 정보를 유지하는 라우팅

: 일반적으로 네트워크 환경을 구축할 때는 SPoF (단일장애점)을 없에기 위해

  두 개 이상의 라우팅 경로를 유지

 > 이 경우 스태틱 라우팅만 설정하면 다음 홉 이상에서의 네트워크 변화에 빠른 대응이 불가

 > 중간 경로에서 장애 발생 시 관리자가 수동으로 설정하여 해결 필요

 > 스태틱 라우팅은 네트워크가 커지면 고려해야할 대체 경로가 많아 관리가 힘듦

 

- 라우팅 프로토콜

: RIP, OSPF, IS-IS, IGRP, EIGRP 등이 있음

: 최근에는 OSPF (Link State / 유니캐스트 라우팅)와 BGP (유니캐스트 라우팅) 프로토콜을 주로 사용

 

 

 

 

 

라우팅 프로토콜의 분류

- AS (Autonomous System)

: 인터넷 사업자가 운영하는 자율 시스템

: 통신사 간 통신에도 비용이 발생하기 때문에 연결 경로가 달라지면서 

  인터넷의 특정 서버로 통신이 빠르거나 느린 차이가 발생함

 > 인터넷 사업자간 이해관계에 따라 라우팅 경로가 달라지면서 성능차 발생

 

- IGP (Interior Gateway Protocol)

: AS 내부에서 사용하는 라우팅 프로토콜 

: 자체적인 규칙을 세워 운영

: 효율성 중시

 

- EGP (Exterior Gateway Protocol)

: AS 간 통신에 사용하는 라우팅 프로토콜

: 내부와 다른 방법으로 정보 전달

: 조직간 정책 중시

 

 

 

 

IGP 라우팅 프로토콜의 분류

- Distance Vector

: 인접한 라우터에서 경로 정보를 습득하는 라우팅 프로토콜

: 멀리 있는 라우터의 정보를 인접 라우터를 통해 간접적으로 받기 때문에

  라우팅 정보 처리에 많은 리소스가 필요 없음

 > 간단한 네트워크에 적합

: 모든 라우터의 정보를 동기화 하는데 시간이 오래 걸림

: RIP, BGP

 

- Link-State

: 라우터에 연결된 링크 상태를 서로 교환하고 각 네트워크 맵을 그리는 라우팅 프로토콜

: 경로의 직접 적인 상태 정보를 받아 볼 수 있음

: 링크 상태를 교환해 토폴로지 데이터베이스를 만들고 이 정보를 다시 

  SPF(Shortest Path First) 알고리즘을 이용해 최단 경로 트리를 만듦

: 최단 경로 트리를 이용해 최적의 경로를 선정한 후 라우팅 테이블에 추가

: 전체 네트워크 상태 정보를 받아 각자 처리하므로 전체 네트워크 맵과

  경로 변화를 파악하는데 유리

 > 리소스 소모가 큼

: 네트워크 변화를 빠르게 감지하고 리소스를 최적화하기 위해

  네트워크를 Area 단위로 분리하고 Area 내에서 링크 상태 정보를 교환

 > Area 외부에서는 가공된 라우팅 테이블 형태로 정보를 전달

: OSPF

 > Backbone area를 통해 모든 area를 연결하는 방식의 프로토콜

 > area 간이나 외부 네트워크와의 연결을 위해 ABR이나 ASBR과 같은 특수 라우터가 필요

 > ABR (Area Border Router)은 Backbone area와 다른 area를 연결시켜주는 경계 라우터

 > ASBR (Autonomous System Border Router)은 외부 정보를 OSPF와 연결 시켜주는 외곽 라우터

 

- Advanced Distance Vector

: Distance Vector와 Link-State의 장점을 섞은 라우팅 프로토콜

: Distance Vector 보다 다양한 경로 선정을 위한 요소가 있으며

 직접 연결된 장비를 지나간 장비까지 고려하여 경로를 선정

: IGRP, EIGRP

 

 

결론

: 대부분의 네트워크에서 IGP로 OSPF와 BFP를 많이 사용

: EGP로는 BGP를 많이 사용

 

- RIP

: 연산도 적고 유지보수가 간단하여 소형 네트워크에서 많이 사용했음

: 정보교환이 느리고 홉 수에 제한이 있으며 최적 경로 선택에 링크 속도를 제외 시키는 등

  여러 제약이 존재

 

- EIGRP

: RIP의 단점을 보완한 라우팅 프로토콜

: OSPF 처럼 전체 네트워크 지도를 그리지 않고 인접한 라우터 다음 라우터 까지의 경로만 연산

: 리소스 사용이 적으면서 대체 경로를 찾는 시간이 짧음

: 유지보수도 쉽지만 시스코 장비에서만 사용 가능한 단점 존재

: 전체 맵을 그리는 라우팅 프로토콜이나 정책 기반 라우팅 프로토콜의 다양한 장점을 발휘 할 수 없다는 단점 존재

 

- BGP

: 다양한 프로토콜 정보를 한꺼번에 교환할 수 있는 라우팅 프로토콜

: AS 외부 뿐만 아니라 내부에서도 사용 가능하다는 장점 존재

: 정책 기반 라우팅 프로토콜이기 때문에 관리자의 의도대로 경로를 동적으로 변환할 수 있음

: 라우팅 테이블이 크거나 Ipv4와 Ipv6 네트워크가 혼재되어 있는 환경, 멀티테넌트 환경에서

  다양한 정보 교환을 목적으로 사용

 > 이때 사용하는 BGP를 MP-BGP라고함 (MultiProtocol BGP)

 

 

 

 

 

 

 

Reference

 

IT 엔지니어를 위한 네트워크 입문 | 고재성 - 교보문고

IT 엔지니어를 위한 네트워크 입문 | 클라우드/데브옵스 시대에 알아야 할 인프라 지식 서버실이 있고, 서버 관리자가 따로 있었던 시대를 지나 클라우드 서비스가 보편화되었다. 클라우드 서비

product.kyobobook.co.kr

 

300x250
728x90