0. Introduction
- 해당 챕터는 인터넷처럼 복잡한 시스템을 Layering해서 설계/분석/구현을 가능하게 만드는 방법론을 다룬다.
- 핵심은 다음과 같이 세가지이다.
i) Layered Architecture가 왜 필요한가
ii) Internet 5-layer protocol stack & 각 계층의 service model
iii) Encapsulation
1. Layer Architecture: 복잡도를 "수평 분해"로 제어

- 여행을 기능의 연쇄로 보게 되면, 구조가 잘 보이지 않는다.
- 하지만 다음과 같이 잘라내면 어떨까?

- 기능을 "수평 레이어"로 잘라내면, 서비스 경계가생긴다.
- 다음과 같이 책에선 항공 시스템을 티켓/수화물/게이트/이착륙/라우팅 같은 "레이어"로 수평 분해한다.
- 각 레이어가 (1) 자기 레이어내부 동작을 수행하면서 (2) 바로 아래 레이어 서비스를 이용해 상위에 서비스를 제공한다.
- 여기서 레이어링의 "공학적 이득"은 modularity이다.
- 레이어가 상위에 제공하는 서비스 자체가 동일하게 유지되면, 그 레이어의 구현을 바꿔도 시스템 나머지는 변하지 않는다.
2. Protocol Layering
- 책에선 네트워크 설계자들이 프로토콜과 이를구현하는 HW/SW를 layers로 조직하고,
- 우리가 관심을 가져야 할 건 "상위 레이어에 제공되는 서비스(= service model)"이라고 주장한다.
- 레이어는 다시 동일한 원리로 돌아가:
! : layer n은 자기 레이어의 기능을수행하고,
! : layer n-1의 서비스를 이용해
! : layer n의 서비스를 만든다.
3. Internet Protocol Stack: 5layer model(5계층 모델)

- 책에선 다음과 같이 인터넷 프로토콜 스택이 Physical, Link, Network, Transport, Application의 5계층이라고 한다.
3.1. Application layer
- 서비스 모델: 네트워크 애플리케이션이 서로 메시지를 교환할 수 있게 해주는 응용 프로토콜 제공
- 대표 예: HTTP/SMTP/FTP, 그리고 이름 --> 주소 변환에 DNS
- PDU : message
- 구현 위치 : 거의 항상 end system의 SW
3.2. Transport layer
- 서비스 모델: "Process-to-Process" 전달
- 인터넷은 TCP/UDP 두가지가 핵심
-- TCP: Connection-orientd + Reliable delivery + flow contorl + congestion control
-- UDP: Connectionless, "no-frills"
- PDU: Segment
- 구현 위치: Application layer와 마찬가지로 주로 end system SW
3.3. Network layer
- 서비스 모델: "Host-to-Host 전달"
- 송신호스트가 TCP/UDP segment와 목적지 주소를 Network layer에 넘기면,
- Network layer가 목적지 호스트의 transport까지 전달하는 서비스를 제공한다.
- IP는 datagram 필드와 end system/router의 동작을 정의하며, 라우팅 프로토콜이 경로를 결정한다.
- PDU: datagram
- 구현 위치: 혼합(장비에 따라 HW/SW)
3.4. Link layer
- 서비스 모델: "Node-to-node 전달"
- 네트워크 계층이 datagram을 다음 노드로 보내기 위해 Link layer의 서비스를 사용하며,
- 다음 노드에서 다시 Netwrok layer로 올려준다.
- Link layer service는 링크 기술에 따라 다르고, 어떤 링크는 "한 홉" 신뢰적 전달도 제공할 수 있다.
- 예시: Ethernet, WiFi
- PDU: frame
3.5. Physical layer
- 서비스 모델: "비트를 물리 매체로 전달"
- Link layer가 frame을 옮긴다면, Physical layer은 그 frame 안의 개별 bits를 한 노드에서 다음 노드로 옮긴다.
- 매체(UTP/동축/광)와 변조/부조화 방식에 종속한다.
4. Encapsulation: "헤더를 붙여가며 내려가고, 벗겨가며 올라온다"
- 해당 챕터의 하이라이트는 Encapsulation이라고 할 수 있다.

- "데이터가 송신 호스트의 스택으로 내려가고, 중간 스위치/라우터를 거치며,
- 수신 호스트에서 다시 올라오는 물리 경로"를 보여준다.
4.1. 장비별로 구현 계층이 다르다.
- Link-layer switch는 1~2계층, Router는 1~3계층, Host는 1~5계층을 구현한다.
--> 그래서 스위치는 IP를 "해석"하지 못하고 라우터는 IP를 처리한다는 차이가 생긴다.
4.2. Encapsulation의 정확한 정의(그림의 Ht/Hn/Hl)
- 송신 호스트에서 applicaiton message M이 transport로 내려가면,
- transport가 "transport header Ht"를 붙여 segment를만든다.
- 이때 "segment"가 message를 encapsulate한다.
- 그 다음 network가 "network header Hn"을 붙여 datagram을 만들고,
- link가 "link header Hl"를 붙여 frame을 만든다.
5. Layering의 장점과 단점
- 장점: 모듈성/업데이트 용이
--> Layering은 구조적 이점과 모듈성을 주고, 구현 교체를 쉽게 만든다.
- 단점: (1) 기능 중복 (2) Cross-layer 정보 필요
--> 한 레이어가 하위 레이어 기능을 중복할 수 있고,
--> 한 레이어 기능이 다른 레이어에만 있는 정보를 필요로 하면 계층 분리 목표가 깨질 수 있다고 지적한다.
'CS Study > Network(네트워크)' 카테고리의 다른 글
| [Network] [2-1] Principles of Network Applicaitons (0) | 2026.01.19 |
|---|---|
| [Network] [1-6] Networks Under Attack (0) | 2026.01.19 |
| [Network] [1-4] Delay, Loss, and Throughput in Packet-Switched Networks (1) | 2026.01.16 |
| [Network] [1-3] The Network Core (0) | 2026.01.16 |
| [Network] [1-2] The Network Edge (0) | 2026.01.16 |