jisung-02notes
← Archive

Network Layer: Routing

네트워크 계층은 하위 물리 네트워크들이 패킷을 처리하는 과정을 감독하며, 이 처리를 전달(delivery)이라 한다.

jisung-02

AI 네트워킹 중간범위 — 노션 강의 노트를 옵시디언용으로 정리한 노트.

Delivery (패킷의 전달)

  • 네트워크 계층은 하위 물리 네트워크들이 패킷을 처리하는 과정을 감독하며, 이 처리를 **전달(delivery)**이라 한다.
  • Direct Delivery(직접 전달): 같은 네트워크 내부. 라우터 없이 목적지까지 직접 전달.
  • Indirect Delivery(간접 전달): 다른 네트워크로 전달. 반드시 라우터를 거치며, 마지막 구간은 다시 Direct Delivery가 된다.

Forwarding (포워딩) = 실제 패킷 전달 동작

  • 포워딩은 패킷을 목적지로 가는 경로 위에 배치하는 것.
  • 수행 주체: 호스트 또는 라우터. 필수 요소: 라우팅 테이블(Routing Table).
  • 호스트가 패킷을 보내거나 라우터가 패킷을 수신했을 때 라우팅 테이블을 조회해 최종 목적지 경로를 찾는다.
  • 핵심 과정: ① 패킷 수신 or 생성 → ② 라우팅 테이블 조회 → ③ 다음 경로(next hop) 결정 → ④ 전송.

포워딩 기법 (저장 방식)

기법설명예
Route 방식목적지까지 전체 경로저장A → R1 → R2 → B
Next-hop 방식다음에 갈 한 단계만저장A → R1
Host-specific 방식목적지 호스트 단위로 엔트리 생성A→R1, B→R1, C→R1, D→R1
Network-specific 방식목적지 네트워크 단위로 묶어 처리N2 → R1
Default 방식 (기본 경로)명시적 경로가 없을 때 사용. “나머지는 전부 여기로”N2→R1, 그 외 모든 목적지 → R2(default router)

Forwarding 모듈 흐름

  1. 패킷 수신
  2. 목적지 IP 추출
  3. 라우팅 테이블 검색
  4. next-hop + 인터페이스(interface) 결정
  5. ARP로 전달

라우팅 테이블 (Routing Table)

  • Classless(CIDR) 방식에서 최소 4개 컬럼이 필요:
  1. Mask(/n)
  2. Network address(네트워크 주소)
  3. Next-hop address(다음 홉 주소)
  4. Interface(인터페이스)

라우팅 테이블 작성 방법

  1. Mask 큰 것(= prefix 긴 것)부터 정렬→ 가장 긴 마스크 매칭(Longest mask matching).
  2. Network address 기준으로 entry 작성.
  3. **직접 연결(Direct delivery)**이면 next-hop 없음.
  4. 나머지는 **default route(0.0.0.0 / Any 등)**사용.

예) R1 기준 인터페이스별 엔트리

m0 → 180.70.65.128/25
m1 → 201.4.16.0/22
m2 → 180.70.65.192/26   (→ 아래 라우터로)
m3 → 201.4.22.0/24
  • 라우터에 직접 연결된 네트워크는 next-hop 없음(Direct), 그 외 Indirect는 default route 설정.

Address Aggregation (주소 집약)

  • 여러 개의 작은 네트워크를 하나의 큰 네트워크로 묶는 것.
  • 연속된 주소 블록 + 같은 prefix 구조이면 aggregation 가능.

예) /26 4개 → /24

140.24.7.0/26
140.24.7.64/26
140.24.7.128/26
140.24.7.192/26
⇒ 140.24.7.0/24 로 묶기 가능
  • 이때 R2 입장에서는 묶인 블록을 R1으로 보내면 되므로 /24 마스크 엔트리가 생긴다.
  • 단, 예외가 있으면(예: 140.24.7.192/26가 다른 경로면) 그것만 /26 엔트리로 따로 두고 나머지는 /24로 보낸다 → Longest mask matching으로 정확한 엔트리가 우선 선택됨.

Unicast Routing Protocols (유니캐스트 라우팅 프로토콜)

  • 라우팅 테이블은 Static(사람이 수동 입력) 또는 Dynamic(인터넷 변화 시 자동 갱신)일 수 있다.
  • 라우팅 프로토콜= 인터넷의 라우터들이 변화에 대해 서로 알릴 수 있게 하는 규칙·절차의 조합.

분류

Routing Protocol
 ├─ Intra-domain (AS 내부)
 │   ├─ Distance Vector → RIP
 │   └─ Link State     → OSPF
 └─ Inter-domain (AS 간)
     └─ Path Vector    → BGP

AS (Autonomous System, 자율 시스템)

  • 하나의 관리 주체가 운영하는 네트워크 집합.
  • Intradomain(하나의 AS 내부): RIP(Distance Vector — 바로 근처 라우터만 확인), OSPF(Link State — 네트워크 전체 구조를 앎).
  • Interdomain(AS 사이 연결): Path Vector — 목적지까지 가는 “경로 자체”를 앎.

RIP — Distance Vector

  • Distance Vector 핵심: 각 노드는 모든 목적지까지의 **거리(cost)**와 **다음으로 갈 노드(next)**를 저장한다.
  • 이웃 라우터끼리 정보를 교환하며 갱신(바로 근처 라우터만 직접 확인 가능).
  • Hop count 제한: 경로의 hop count(거치는 라우터 개수)가 15를 넘지 않아야함. 너무 많으면 테이블이 길어지고 무한대(도달 불가)로 간주됨.
  • 각 노드가 네트워크 전체 구조를 알고, 이를 기반으로 다익스트라(Dijkstra) 알고리즘으로 최단 경로를 계산한다.
  • Link State knowledge = 전체 토폴로지 정보를 공유.

BGP — Path Vector

  • 인터넷에서 사용하는 AS 간(Inter-domain) 라우팅 프로토콜, Path Vector 방식.
  • 목적지까지의 AS 경로 전체(AS path)를 포함해서 전달.
  • 종류:
  • eBGP (external BGP): AS 사이 통신.
  • iBGP (internal BGP): AS 내부에서 BGP 정보 공유.