Network Layer: Routing
네트워크 계층은 하위 물리 네트워크들이 패킷을 처리하는 과정을 감독하며, 이 처리를 전달(delivery)이라 한다.
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 모듈 흐름
- 패킷 수신
- 목적지 IP 추출
- 라우팅 테이블 검색
- next-hop + 인터페이스(interface) 결정
- ARP로 전달
라우팅 테이블 (Routing Table)
- Classless(CIDR) 방식에서 최소 4개 컬럼이 필요:
- Mask(/n)
- Network address(네트워크 주소)
- Next-hop address(다음 홉 주소)
- Interface(인터페이스)
라우팅 테이블 작성 방법
- Mask 큰 것(= prefix 긴 것)부터 정렬→ 가장 긴 마스크 매칭(Longest mask matching).
- Network address 기준으로 entry 작성.
- **직접 연결(Direct delivery)**이면 next-hop 없음.
- 나머지는 **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를 넘지 않아야함. 너무 많으면 테이블이 길어지고 무한대(도달 불가)로 간주됨.
OSPF — Link State
- 각 노드가 네트워크 전체 구조를 알고, 이를 기반으로 다익스트라(Dijkstra) 알고리즘으로 최단 경로를 계산한다.
- Link State knowledge = 전체 토폴로지 정보를 공유.
BGP — Path Vector
- 인터넷에서 사용하는 AS 간(Inter-domain) 라우팅 프로토콜, Path Vector 방식.
- 목적지까지의 AS 경로 전체(AS path)를 포함해서 전달.
- 종류:
- eBGP (external BGP): AS 사이 통신.
- iBGP (internal BGP): AS 내부에서 BGP 정보 공유.