라우팅

1) WHY

  • 앱문제 vs 네트워크 문제를 빠르게 분리해야함

    • 예: 특정 AZ/서브넷만 실패, 특정 egress느림, 특정 경로만 타임아웃

  • 성능 지연에 라우팅 경로가 직접 영향

    • 같은 API라도 NAT/LB/proxy/경유 구간 차이로 RTT가 달라짐

  • 아키텍처 설계 자체가 라우팅의 조합

    • VPC/Subnet, IGW/NATGW, Public/Private, Ingress/Egress, Peering/TGW

  • 보안 경계는 “누가 어디로 갈 수 있는가”를 라우팅+방화벽으로 만든 결과임

    • SG/NACL/방화벽 룰 + 라우팅 테이블이 합쳐져서 실제 통신 가능/불가능이 결정됨


2) 개념

  • 라우팅(Routing)

    : “어떤 경로가 좋은지?”를 학습/계산해서 경로 정보를 만듦(컨트롤 플레인)

  • 포워딩(Forwarding)

    :만들어진 결과를 보고 패킷을 “다음 홉”으로 실제 전달함(데이터 플레인)

  • 실무적으로는 보통 이렇게 이해하면 편함

    • RIB: 라우팅 프로토콜이 학습한 후보 경로(컨트롤 플레인)

    • FIB: 실제 포워딩에 쓰는 최종 경로(데이터 플레인)


3) 라우팅 테이블이 실제로 어떻게 선택하는지?

  • 기본 규칙: Longest Prefix Match(최장 프리픽스)

    • 0.0.0.0/0(기본경로)보다 10.0.0.0/8이 더 구체적이면 10/8 우선

  • 그 다음 규칙(환경마다 다름)

    • 메트릭(비용), 우선순위(Administrative Distance), ECMP(동일 비용 다중 경로) 등

  • 호스트 관점(서버/PC)

    • 같은 서브넷이면 ARP로 MAC 찾아 직접 전송

    • 다른 서브넷이면 기본 게이트웨이로 전송

  • 라우터 관점

    • 목적지 IP → FIB에서 최장 프리픽스 매칭 → Next hop


4) 정적라우팅 vs 동적 라우팅(실무적)

  • 정적 라우팅(Static)

    • 사람이 수동 설정

    • 장점:

      • 단순, 예측가능, 리소스 적음

      • 작은 네트워크/특정 경로 고정/ 고정된 경계에 유리

    • 단점:

      • 장애/변경 대응에 약해서 규모가 커질수록 운영 부담 증가

  • 동적 라우팅(Dynamic)

    • 프로토콜로 자동 개싱

    • 장점

      • 링크 다운/토폴로지 변경 시 자동 우회

      • 규모가 커질수록 운영 효율 증가

    • 단점

      • 수렴(convergence)과정에서 일시적 루프/블랙홀 가능

      • 프로토콜 트래픽/계산 비용

      • 설계 난이도(영역/요약/정책/필터링)


5) NAT는 “라우팅과 함께” 백엔드가 반드시 알아야 함

  • SNAT(Source NAT)

    • 내부 → 외부로 나갈 때 출발지 IP를 바꿔서 나가게 함

    • 목적: 사설 IP가 인터넷에서 라우팅되지 않으니, 공인 IP로 변환해 egress가능하게 함

  • DNAT(Destination NAT)

    • 외부 → 내부로 들어올 때 목적지 IP/Port를 바꿔 내부 서버로 전달

  • 왜 NAT 환경에서는 “외부에서 내부로 바로 접근”이 안되나/어려운지

    • 외부는 내부 사설망IP에 바로 라우팅이 힘듦

    • 들어오려면 DNAT(포트포워딩 / LB / Ingress 등)로 명시적 매핑이 필요

  • Hairpin NAT(같은 공유기 내부에서 공인 IP로 접속)

    • 내부 클라이언트가 공인 IP로 요청 → 공유기가 DNAT로 내부 서버로 보내고, 응답이 다시 원 클라이언트로 돌아오게 SNAT까지 같이 처리하는 경우가 많음

    • “한 번 공유기를 거치면 끝”이 아니라, 대칭성을 위해 SNAT가 같이 걸리는 패턴이 자주 나옴.


6) 라우팅 프로토콜 분류

  • AS(Autonomous System)

    : 한 조직/사업자가 정책적으로 운영하는 네트워크 단위

  • IGP(AS 내부) vs BGP(AS 간)로 이해

    • IGP: OSPF, IS-IS, (RIP는 레거시)

    • AS 간: 사실상 BGP


7) 알고리즘 관점 : 라우팅은 결국 그래프 문제

  • 한 조직/한 데이터센터/한 VPC 내부처럼 “내부망” 라우팅(IGP)

    • 목표: 장애 시 빠르게 우회하고, 내부 경로를 안정적으로 계산

    • 방식/알고리즘: Link-State 계열 → SPF(Dijkstra)

    • 예: OSPF, IS-IS

  • 아주 단순하거나 소규모/레거시 내부망

    • 목표: 구현/운영을 단순하게

    • 방식/알고리즘: Distance-Vector → Bellman-Ford 계열

    • 예: RIP

  • 중간 포지션(레거시에서 단순 DV보다 빠른 수렴이 필요한 경우)

    • 목표: DV의 단점(느린 수렴/루프 위험)을 줄이면서 운영 복잡도는 과도하게 키우지 않기

    • 방식/알고리즘: Advanced Distance Vector(하이브리드 성격)

    • 예: EIGRP

  • 회사/ISP/클라우드 같은 “서로 다른 조직(AS) 간” 인터넷 라우팅(외부망)

    • 목표: 최단거리보다 정책(비용/사업/통제) 기반으로 경로 선택

    • 방식: Path Vector(AS-PATH 기반 루프 방지)

    • 예: BGP

Last updated