본 게시글은 그림으로 공부하는 TCP/IP 구조 도서를 참고하였습니다.
지금부터 라우팅, 라우팅 테이블, 라우팅 프로토콜에 대해서 알아보자.
라우팅이란?
라우팅 & 라우팅 테이블이란?
- 라우터나 L3 스위치는 IP 패킷의 전송 대상지를 바꿀 수 있다.
- 수신지 IP 주소
- 명확히 주어진 수신지 네트워크 정보
- IP 패킷을 전송할 근접 기기의 IP 주소를 나타내는 네트워크 홉 정보를 관리함으로써
- 이 전송 대상지를 바꾸는 것을 "라우팅"이라고 한다.
- 수신지 네트워크 정보와 네트워크 홉을 관리하는 테이블을 "라우팅 테이블"이라고 한다.
라우터가 IP패킷을 라우팅하는 형태
- 모든 기기가 근접 기기의 MAC 주소를 학습한 상태라고 가정하자.
- 네트워크 계층에서, 주어진 IP를 찾을 수 있는(해당 IP를 포함하는 서브넷) 넥스트 홉의 IP를 라우팅 테이블을 이용해 찾는다.
- 데이터링크 계층에서, 주어진 넥스트 홉의 MAC 주소를 ARP+넥스트 홉의 IP를 이용해 찾는다.
- 넥스트 홉으로 해당 패킷을 전송한다.
주의 깊게 봐야 할 것
- IP 패킷의 IP 주소는 바뀌지 않는다.
- 이더넷 프레임의 MAC 주소는 바뀌어가며 전송된다.
- 이래서 네트워크 송신 시에는, IP 주소와 MAC주소가 모두 필요하다.
예시: 일반적인 가정에서의 라우팅 방식
- 가정 내 LAN 환경에 있는 PC의 디폴트 게이트웨이는 브로드밴드 라우터이다.
- 브로드밴드 라우터의 디폴트 게이트웨이는 계약된 ISP이다.
- PC에서 인터넷을 사용하고 있을 때의 IP 패킷은
- 먼저 PC의 디폴트 게이트웨이인 브로드밴드 라우터의 IP주소로 전송된다.
- 이어서 브로드밴드 라우터의 디폴트 게이트웨이인 ISP의 IP주소로 전송된다.
- 그리고 ISP로부터 수많은 라우터를 거쳐 인터넷으로 나간다.
라우팅 테이블을 만드는 방법
정적 라우팅
- 수동으로 라우팅 테이블을 만든다.
- 수신지 네트워크와 넥스트 홉을 하나하나 설정한다.
- 이해하기 쉽고 운용 관리도 쉽기 때문에, 소규모에 적합하나, 일일히 설정해줘야 하기때문에 대규모에는 적합하지 않다.
동적 라우팅
- 근접한 라우터끼리 자신이 가진 경로 정보를 교환해, 자동으로 라우팅 테이블을 만드는 기법이다.
- 이때, 경로 정보를 교환하기 위한 프로토콜을 라우팅 프로토콜이라고 한다.
- 서로간에 가진 루트를 교환하고, 자신의 라우팅 테이블에 추가한다.
장점
- 대규모 네트워크에서 자동으로 설정을 할 수 있다.
단점
- 잘못된 설정을 수행할 경우, 그 설정이 곧바로 네트워크에 전달되어 통신에 영향을 미칠 가능성이 있다.
- 따라서 숙련된 사람이 설정을 수행해야 한다.
라우팅 프로토콜
동적으로 라우팅 테이블을 만들기 위한 라우팅 프로토콜은 대표적으로 위에서 봤듯이 RIP, OSPF, EIGRP, BGP 4종류가 있다.
각 프로토콜은 크게 보면 AS 기준으로 Interior/Exterior 로 나눌 수 있다.
- AS(Autonomous System, 자율 시스템)란?
- 하나의 정책에 따라 관리되는 네트워크 집합
- ISP
- 기업
- 연구기관
- 거점 등
라우팅 프로토콜의 종류
IGP(Interior Gateway Protocol)
- 내부 게이트웨이 프로토콜을 의미한다.
- IGP 주요 프로토콜
- RIP
- OSPF
- EIGRP
EGP(Exterior Gateway Protocol)
- 외부 게이트웨이 프로토콜
- EGP 주요 프로토콜
- BGP
IGP
- AS 안에서 사용하는 라우팅 프로토콜을 의미한다.
- 라우팅 알고리즘과 매트릭에 의해 프로토콜이 결정된다.
IGP의 핵심
라우팅 알고리즘
라우팅 테이블을 만드는 방식에 대한 알고리즘을 의미한다.
크게 디스턴스 벡터 타입과 링크 스테이트 타입이 있다.
- 디스턴스 벡터 타입
- 거리(distance)와 방향(vector)에 기반해 경로를 계산하는 라우팅 프로토콜.
- 거리 = 수신지에 이를 때까지 경유하는 라우터(홉) 수
- 벡터 = 출력 인터페이스의 종류
- 링크 스테이트 타입
- 링크 상태(state) 에 기반해 최적 경로를 계산하는 라우팅 프로토콜.
- 각 라우터가 자신의 링크(인터페이스) 상태나 대역 폭, IP 주소 등 다양한 정보를 교환해 데이터베이스를 만들고, 그 정보를 기반으로 라우팅 테이블을 만든다.
매트릭
- 수신지 네트워크까지의 논리적 거리를 의미한다.
- 논리적 거리를 계산하는 방식은 라우팅 프로토콜에 따라 다르다.
IGP의 주요 프로토콜로는 RIP, OSPF, EIGRP 3가지가 있다. 지금부터 각각이 어떤 프로토콜인지 알아보자.
RIP
- 디스턴스 벡터 타입의 라우팅 프로토콜이다.
- 현대에는 잘 쓰이지 않는다.
라우팅 알고리즘
- 라우팅 테이블 자체를 정기적으로 교환함으로써, 라우팅 테이블을 만든다.
- 동작이 알기 쉽다.
- 대규모 네트워크 환경에는 어울리지 않는다.
매트릭
- '지난 홉 수'를 사용한다.
OSPF
- Open Shortest Path First
- 링크 스테이트 타입의 라우팅 프로토콜이다.
- 중규모~대규모 네트워크 환경에서 자주 사용된다.
라우팅 알고리즘
- 각 라우터가 링크 상태나 대역폭, IP 주소, 서브넷 마스크 등 다양한 정보를 교환하면서 링크 스테이트 데이터베이스(LSDB)를 만든다.
- 해당 정보를 통해 최적의 경로를 계산하고 라우팅 테이블을 만든다.
- 이를 라우팅 테이블의 변경이 있을 때만 업데이트한다.
- Hello packet 이라는 작은 패킷을 송신해, 상대방의 health를 check한다.
- 필요 이상으로 대역을 압박하지 않는다.
- 핵심 개념: Area
- 다양한 정보를 모아서 만들어진 LSDB가 너무 커지지 않도록
- 네트워크를 에어리어(area)로 나누고 같은 에어리어의 라우터끼리만 LSDB를 공유하도록 한다.
매트릭
- '비용' 개념을 사용한다.
- (100 이상의 큰 수) / 대역폭(Mbps)의 계산 결과를 정수값으로 계산하여 비용을 구한다.
참고 - ECMP
- Equal Cost Multi Path
- 장애 내구성 향상과 대역 확장을 동시에 할 수 있어, 많은 네트워크 환경에서 사용되고 있다.
- 작동방식
- 라우터를 넘을 때마다 출력 인터페이스에 비용을 더한다.
EIGRP
- 디스턴스 벡터 타입 프로토콜을 확장한 형태의 프로토콜이다.
- RIP와 OSPF를 적절히 조합한 라우팅 프로토콜이다.
- Cisco가 만들었고, RFC7868에서 사양이 공개되었다.
라우팅 알고리즘
RIP 스타일과 OSPF 스타일을 모두 가지고 있다.
- RIP 스타일
- 최초에 자신이 가진 경로 정보를 교환하여, 각각 토폴로지 테이블을 만든다.
- 토폴로지 테이블로부터 최적의 경로 정보만을 추출하여 라우팅 테이블을 만든다.
- OSPF 스타일
- 변경이 있을때만 라우팅 테이블을 업데이트한다.
- 기본적으로 ECMP로 매트릭을 구한다.
매트릭
- '대역폭'과 '지연'을 함께 사용한다.
- 대역폭=10000/최소대역폭(Mbps)
- 지연=지연시간(ms)/10
- 비용 = (대역폭 + 지연) * 256
- 기본 동작은 ECMP로 구한다.
EGP - BGP
- EGP(Exterior Gateway Protocol)
- AS와 AS를 연결할 때 사용하는 라우팅 프로토콜이다.
- 대표 프로토콜은 Border Gateway Protocol 인데, 사실상 이것만 쓰인다.
- 핵심은 세가지다.
AS번호
- AS 끼리 유일한 AS번호를 통해 서로를 식별한다.
라우팅 알고리즘
- path vector 타입 프로토콜이다.
- path = 지나는 AS 수
- vector = 경로 정보를 교환하는 상대
- 경로 정보 + 최선 경로 선택 알고리즘에 기반해, 라우팅 테이블을 만든다.
- 해당 정보를 다른 vector에 전달한다.
- 변경이 있을때만 업데이트한다.
최선 경로 선택 알고리즘
- 직접 지정할 수 있는 다양한 Attribute 에 근거하여 최선의 경로를 선택한다.
- 단순히 수학적인 최선이 아니라, 지정학적/정치적 상황에 대처할 수 있기 위해 이렇게 만들어졌다.
Redistribution (재분배, 재전송)
- 각 라우팅 프로토콜 간에는 서로 다른 라우팅 알고리즘/매트릭/프로세스를 사용한다.
- 호환성이 없다!
- 따라서 라우팅 프로토콜을 번역/변환하는 기술이 필요하다.
- 이를 Redistribution 이라고 한다.
- IaC를 이용해 구현되기도 한다.
라우팅 테이블 사용 규칙
네트워크 엔지니어의 영역이니, 가볍게 훑어보고 넘어가겠다.
- 롱기스트 매치(Longest Match)
- 패킷 전송 시 여러 경로가 있을 때, 가장 구체적인(서브넷 마스크가 가장 긴) 경로를 선택하는 원칙이다.
- 경로 집약(Path Aggregation)
- 라우팅 테이블의 여러 세부 경로를 하나로 요약하는 기법이다.
- 경로의 수와 라우터 부하를 줄이는 역할을 수행한다.
- 그렇게 모든 경로를 하나로 집약한 것이 '기본 경로'인 0.0.0.0/0 이다.
- AD값
- 라우팅 프로토콜 간에 경로 선택 시 우선도를 결정하기 위해 사용되는 값이다.
- 낮을 수록 우선순위가 높다.
VRF
- 정의
- 1대의 라우터에 독립된 여러 라우팅 테이블을 갖도록 하는 가상화 기술이다.
- VLAN의 라우터 버전에 가깝다.
- RD(Route Distinguisher) 라는 숫자를 사용해, 1대의 라우터를 가상으로 분할한다.
- 장점
- VRF로 만들어진 라우팅 테이블은 완전히 독립되므로, 같은 IP 서브넷을 사용해도 문제없이 동작한다.
- 실제 포트 주소/MAC연결 정보는 수신 라우터만이 갖고 있다(상세 구현의 캡슐화).
- VRF 사용 시, 라우팅 프로토콜에서 내 포트의 MAC 주소값만 가상의 값으로 수정해서 보내면 된다.
- 또한, RD 별로 다른 라우팅 프로토콜을 동작하게 할 수도 있다.
- 최근의 라우터는 성능이 매우 놓기 때문에, 어지간한 상황에서도 처리 부족 상태가 되지 않고, VRF를 이용해 관리할 라우터의 수를 줄일 수 있다.
- VRF로 만들어진 라우팅 테이블은 완전히 독립되므로, 같은 IP 서브넷을 사용해도 문제없이 동작한다.
- 이 또한 IaC로 정의되기도 한다.
정책 기반 라우팅(PBR)
- 수신지 네트워크에 기반한 라우팅이 아닌, 정책에 기반한 라우팅을 의미한다.
- 특정 안건에 대해 수신지를 바꾸는 방식을 의미한다.
- 이 또한 IaC로 정의되기도 한다.
'CS Repo > 네트워크 - Top-down Approach + @' 카테고리의 다른 글
NAT (0) | 2025.04.17 |
---|---|
IP 주소 할당 방법 - 정적 할당, 동적 할당(DHCP) (0) | 2025.04.17 |
IPv4 (0) | 2025.04.16 |
IPv4 주소와 서브넷 마스크 (0) | 2025.04.16 |
IPv4 패킷의 구조 (0) | 2025.04.16 |