TCP/IP 몚덞

TCP/IP 몚덞

개요

TCP/IP(Transmission Control Protocol/Internet Protocol) 몚덞은 읞터넷의 Ʞ쎈가 되는 프로토윜 슀택입니닀. 1970년대 믞국 국방부 ARPANET 프로젝튞에서 개발되얎 현재 전 섞계 읞터넷 통신의 표쀀윌로 사용되고 있습니닀. 읎 레슚에서는 TCP/IP 몚덞의 4계잵 구조, OSI 몚덞곌의 비교, 읞터넷의 역사, 귞늬고 싀제 통신 흐늄을 학습합니닀.

난읎도: ⭐⭐ (쎈꞉-쀑꞉)


목찚

  1. TCP/IP 몚덞 개요
  2. 읞터넷의 역사
  3. TCP/IP 4계잵
  4. OSI와 TCP/IP 비교
  5. 각 계잵의 프로토윜
  6. 싀제 통신 흐멄
  7. TCP vs UDP
  8. 연습 묞제

1. TCP/IP 몚덞 개요

TCP/IP란?

┌─────────────────────────────────────────────────────────────────┐
│                    TCP/IP 프로토윜 슀택                          │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   TCP/IP (Transmission Control Protocol / Internet Protocol)    │
│                                                                  │
│   "읞터넷에서 컎퓚터듀읎 서로 정볎륌 죌고받는 데 쓰읎는         │
│    통신 규앜(프로토윜)의 몚음"                                  │
│                                                                  │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │  TCP (Transmission Control Protocol)                    │   │
│   │  └── 신뢰성 있는 데읎터 전송 볎장                       │   │
│   │  └── 연결 지향, 흐멄 제얎, 였류 복구                    │   │
│   │                                                          │   │
│   │  IP (Internet Protocol)                                 │   │
│   │  └── 팚킷의 죌소 지정곌 띌우팅                          │   │
│   │  └── 비연결, 최선형 전달 (Best-effort)                  │   │
│   │                                                          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   특징:                                                         │
│   - 싀용적읞 구현 쀑심 몚덞                                     │
│   - 계잵 간 겜계가 유연핚                                       │
│   - 읞터넷의 사싀상 표쀀 (de facto standard)                    │
│   - 개방형 표쀀 (RFC 묞서로 공개)                               │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

TCP/IP 4계잵 구조

┌─────────────────────────────────────────────────────────────────┐
│                     TCP/IP 4계잵 몚덞                            │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   계잵 번혞    계잵 읎늄              죌요 역할                 │
│   ────────────────────────────────────────────────────────────  │
│                                                                  │
│     ┌─────────────────────────────────────────────────────┐     │
│   4 │           응용 계잵 (Application Layer)              │     │
│     │      HTTP, FTP, SMTP, DNS, SSH, Telnet              │     │
│     │      사용자 애플늬쌀읎션곌 넀튞워크 읞터페읎슀       │     │
│     ├──────────────────────────────────────────────────────     │
│   3 │           전송 계잵 (Transport Layer)                │     │
│     │      TCP, UDP                                        │     │
│     │      종닚 간 통신, 신뢰성/비신뢰성 전송             │     │
│     ├──────────────────────────────────────────────────────     │
│   2 │          읞터넷 계잵 (Internet Layer)                │     │
│     │      IP, ICMP, ARP, RARP                             │     │
│     │      녌늬적 죌소 지정, 팚킷 띌우팅                   │     │
│     ├──────────────────────────────────────────────────────     │
│   1 │      넀튞워크 ì ‘ê·Œ 계잵 (Network Access Layer)       │     │
│     │      읎더넷, Wi-Fi, PPP                              │     │
│     │      묌늬적 전송, 프레임 전송                        │     │
│     └─────────────────────────────────────────────────────┘     │
│                                                                  │
│   * 음부 묞서에서는 5계잵윌로 나누Ʞ도 핹                       │
│     (넀튞워크 ì ‘ê·Œ 계잵을 데읎터링크 + 묌늬로 분늬)             │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

TCP/IP의 섀계 원칙

┌─────────────────────────────────────────────────────────────────┐
│                   TCP/IP 섀계 원칙                               │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   1. 종닚 간 원칙 (End-to-End Principle)                        │
│      ┌───────────────────────────────────────────────────┐      │
│      │  지능(복잡한 Ʞ능)은 넀튞워크 끝당(혞슀튞)에 둔닀  │      │
│      │  넀튞워크 윔얎(띌우터)는 닚순하게 유지            │      │
│      │                                                    │      │
│      │  혞슀튞 A ─────[띌우터]─────[띌우터]───── 혞슀튞 B │      │
│      │  (복잡)        (닚순)       (닚순)        (복잡)  │      │
│      └───────────────────────────────────────────────────┘      │
│                                                                  │
│   2. 견고성 원칙 (Robustness Principle)                         │
│      ┌───────────────────────────────────────────────────┐      │
│      │  "볎낎는 것은 엄격하게, 받는 것은 ꎀ대하게"        │      │
│      │  (Be conservative in what you send,               │      │
│      │   be liberal in what you accept)                  │      │
│      └───────────────────────────────────────────────────┘      │
│                                                                  │
│   3. 계잵화 원칙 (Layering Principle)                           │
│      ┌───────────────────────────────────────────────────┐      │
│      │  각 계잵은 독늜적윌로 작동                        │      │
│      │  하위 계잵은 상위 계잵에 서비슀 제공              │      │
│      │  계잵 간 읞터페읎슀 표쀀화                        │      │
│      └───────────────────────────────────────────────────┘      │
│                                                                  │
│   4. 팚킷 교환 원칙 (Packet Switching)                          │
│      ┌───────────────────────────────────────────────────┐      │
│      │  데읎터륌 작은 팚킷윌로 분할하여 전송             │      │
│      │  각 팚킷은 독늜적윌로 띌우팅                      │      │
│      │  넀튞워크 자원의 횚윚적 사용                      │      │
│      └───────────────────────────────────────────────────┘      │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

2. 읞터넷의 역사

읞터넷 발전 연표

┌─────────────────────────────────────────────────────────────────┐
│                     읞터넷 발전 연표                             │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│  1960년대: 개념의 시작                                          │
│  ─────────────────────────────────────────────────────────────  │
│  1962  J.C.R. Licklider의 "은하 간 넀튞워크" 개념               │
│  1965  최쎈의 WAN 연결 (MIT-UCLA)                               │
│  1969  ARPANET 시작 (4개 녾드)                                  │
│        - UCLA, SRI, UCSB, Utah                                  │
│                                                                  │
│  1970년대: 프로토윜 개발                                        │
│  ─────────────────────────────────────────────────────────────  │
│  1971  읎메음 발명 (Ray Tomlinson)                              │
│  1973  TCP/IP 개념 제안 (Vint Cerf, Bob Kahn)                   │
│  1974  TCP 명섞 발표                                            │
│  1976  읎더넷 개발 (Xerox PARC)                                 │
│                                                                  │
│  1980년대: 표쀀화와 확산                                        │
│  ─────────────────────────────────────────────────────────────  │
│  1981  IPv4 표쀀화 (RFC 791)                                    │
│  1983  TCP/IP 채택 (ARPANET), DNS 도입                          │
│        ★ 읞터넷의 공식적읞 시작                                 │
│  1986  NSFNET 출범 (56 Kbps 백볞)                               │
│  1989  WWW 발명 (Tim Berners-Lee, CERN)                         │
│                                                                  │
│  1990년대: 상용화와 대쀑화                                      │
│  ─────────────────────────────────────────────────────────────  │
│  1991  WWW 공개, Gopher 등장                                    │
│  1993  Mosaic 웹 람띌우저 출시                                  │
│  1994  Netscape Navigator 출시                                  │
│  1995  상용 읞터넷 확산, Amazon, eBay 섀늜                      │
│  1998  Google 섀늜, IPv6 표쀀화                                 │
│                                                                  │
│  2000년대: 몚바음곌 소셜                                        │
│  ─────────────────────────────────────────────────────────────  │
│  2004  Facebook 섀늜, Web 2.0                                   │
│  2005  YouTube 섀늜                                             │
│  2007  iPhone 출시, 몚바음 읞터넷 대쀑화                        │
│                                                                  │
│  2010년대~현재: 큎띌우드와 IoT                                  │
│  ─────────────────────────────────────────────────────────────  │
│  2010  큎띌우드 컎퓚팅 확산                                     │
│  2016  IPv4 고갈, IPv6 전환 가속                                │
│  2020  5G 상용화, 쎈연결 시대                                   │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

ARPANET에서 읞터넷윌로

┌─────────────────────────────────────────────────────────────────┐
│                 ARPANET → Internet 발전                          │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   1969: ARPANET 시작 (4개 녾드)                                 │
│                                                                  │
│                    ┌─────┐                                      │
│                    │UCLA │                                      │
│                    └──┬──┘                                      │
│                       │                                          │
│        ┌──────────────┌──────────────┐                          │
│        │              │              │                          │
│     ┌──┮──┐       ┌───┮───┐      ┌───┮───┐                     │
│     │ SRI │       │ UCSB  │      │ Utah  │                     │
│     └─────┘       └───────┘      └───────┘                     │
│                                                                  │
│   1983: TCP/IP 전환                                             │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  NCP (Network Control Protocol) → TCP/IP                │   │
│   │                                                          │   │
│   │  - 읎 전환을 "읞터넷의 탄생"윌로 뮄                      │   │
│   │  - 읎Ʞ종 넀튞워크 연결 가능                            │   │
│   │  - 확장성 확볎                                          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   1990년대: 상용 읞터넷                                         │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │       ARPANET     NSFNET      상용 ISP                  │   │
│   │       (êµ°/학)  →  (학술)  →  (음반 대쀑)                │   │
│   │                                                          │   │
│   │   ┌─────────┐    ┌─────────┐    ┌─────────┐            │   │
│   │   │ 대학    │    │ 연구소  │    │ 가정/   │            │   │
│   │   │ 연구소  │    │ 대학    │    │ êž°ì—…    │            │   │
│   │   └─────────┘    └─────────┘    └─────────┘            │   │
│   │                                                          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   현재: Ꞁ로벌 읞터넷                                           │
│   - 수십억 대의 장치 연결                                       │
│   - 핎저 쌀읎랔로 대륙 연결                                     │
│   - IoT, 큎띌우드, 5G/6G                                        │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

TCP/IP 개발의 죌역듀

읞묌 êž°ì—¬ 죌요 성곌
Vint Cerf TCP/IP 공동 발명 "읞터넷의 아버지"
Bob Kahn TCP/IP 공동 발명 ARPANET 섀계
Tim Berners-Lee WWW 발명 HTTP, HTML
Ray Tomlinson 읎메음 발명 @ Ʞ혞 사용
Bob Metcalfe 읎더넷 발명 LAN 표쀀
Jon Postel 프로토윜 표쀀화 RFC 펞집자

3. TCP/IP 4계잵

계잵 4: 응용 계잵 (Application Layer)

┌─────────────────────────────────────────────────────────────────┐
│                4계잵: 응용 계잵 (Application Layer)              │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   역할: 사용자와 넀튞워크 간 읞터페읎슀 제공                    │
│         애플늬쌀읎션 프로토윜 구현                              │
│                                                                  │
│   OSI 몚덞곌의 ꎀ계:                                            │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │   OSI 7계잵: 응용 + 표현 + 섞션                         │   │
│   │        ↓                                                 │   │
│   │   TCP/IP: 응용 계잵 (하나로 통합)                       │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   죌요 프로토윜:                                                │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │   ┌──────────┐  ┌──────────┐  ┌──────────┐             │   │
│   │   │   HTTP   │  │   FTP    │  │   SMTP   │             │   │
│   │   │ 웹 통신  │  │파음 전송 │  │메음 전송 │             │   │
│   │   │ TCP/80   │  │ TCP/21   │  │ TCP/25   │             │   │
│   │   └──────────┘  └──────────┘  └──────────┘             │   │
│   │                                                          │   │
│   │   ┌──────────┐  ┌──────────┐  ┌──────────┐             │   │
│   │   │   DNS    │  │   SSH    │  │   DHCP   │             │   │
│   │   │읎늄 핎석 │  │볎안 접속 │  │IP 할당   │             │   │
│   │   │ UDP/53   │  │ TCP/22   │  │ UDP/67,68│             │   │
│   │   └──────────┘  └──────────┘  └──────────┘             │   │
│   │                                                          │   │
│   │   ┌──────────┐  ┌──────────┐  ┌──────────┐             │   │
│   │   │   POP3   │  │   IMAP   │  │  Telnet  │             │   │
│   │   │메음 수신 │  │메음 ì ‘ê·Œ │  │원격 접속 │             │   │
│   │   │ TCP/110  │  │ TCP/143  │  │ TCP/23   │             │   │
│   │   └──────────┘  └──────────┘  └──────────┘             │   │
│   │                                                          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   애플늬쌀읎션곌 전송 계잵의 ꎀ계:                              │
│   - 애플늬쌀읎션은 소쌓을 통핎 전송 계잵에 ì ‘ê·Œ                 │
│   - 포튞 번혞로 프로섞슀 식별                                   │
│   - TCP 또는 UDP 쀑 선택하여 사용                               │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

계잵 3: 전송 계잵 (Transport Layer)

┌─────────────────────────────────────────────────────────────────┐
│                3계잵: 전송 계잵 (Transport Layer)                │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   역할: 종닚 간(End-to-End) 데읎터 전송 서비슀 제공             │
│                                                                  │
│   두 가지 죌요 프로토윜:                                        │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │           TCP                        UDP                 │   │
│   │   ┌─────────────────┐       ┌─────────────────┐         │   │
│   │   │ 연결 지향       │       │ 비연결          │         │   │
│   │   │ 신뢰성 볎장     │       │ 신뢰성 없음     │         │   │
│   │   │ 순서 볎장       │       │ 순서 볎장 안핚  │         │   │
│   │   │ 흐멄/혌잡 제얎  │       │ 제얎 없음       │         │   │
│   │   │ 였버헀드 높음   │       │ 였버헀드 낮음   │         │   │
│   │   └─────────────────┘       └─────────────────┘         │   │
│   │                                                          │   │
│   │   사용: 웹, 읎메음,         사용: DNS, 슀튞늬밍,        │   │
│   │         파음 전송                  게임, VoIP           │   │
│   │                                                          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   포튞 번혞:                                                    │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │   ┌─────────────────────────────────────────────────┐   │   │
│   │   │        범위          │          용도             │   │   │
│   │   ├──────────────────────────────────────────────────   │   │
│   │   │  0 ~ 1023            │  Well-known (시슀템)     │   │   │
│   │   │  1024 ~ 49151        │  Registered (등록)       │   │   │
│   │   │  49152 ~ 65535       │  Dynamic (동적/임시)     │   │   │
│   │   └─────────────────────────────────────────────────┘   │   │
│   │                                                          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   소쌓 (Socket):                                                │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │   IP 죌소 + 포튞 번혞 = 소쌓                            │   │
│   │   예: 192.168.1.100:8080                                │   │
│   │                                                          │   │
│   │   소쌓 쌍윌로 연결 식별:                                │   │
│   │   (송신IP:송신Port, 수신IP:수신Port)                    │   │
│   │   예: (192.168.1.100:50000, 93.184.216.34:443)          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

계잵 2: 읞터넷 계잵 (Internet Layer)

┌─────────────────────────────────────────────────────────────────┐
│                2계잵: 읞터넷 계잵 (Internet Layer)               │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   역할: 녌늬적 죌소 지정(IP), 팚킷 띌우팅                       │
│         읎Ʞ종 넀튞워크 간 데읎터 전달                          │
│                                                                  │
│   핵심: IP (Internet Protocol)                                  │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │   특징:                                                  │   │
│   │   - 비연결 (Connectionless)                             │   │
│   │   - 최선형 전달 (Best-effort Delivery)                  │   │
│   │   - 신뢰성 볎장 안핚 (상위 계잵읞 TCP가 닎당)           │   │
│   │                                                          │   │
│   │   Ʞ능:                                                  │   │
│   │   - 죌소 지정 (IP 죌소)                                 │   │
│   │   - 띌우팅 (겜로 결정)                                  │   │
│   │   - 당펾화 (Fragmentation)                              │   │
│   │                                                          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   IP 팚킷 구조 (IPv4):                                          │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │    0                   1                   2             3   │
│   │    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7  │
│   │   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  │
│   │   |Ver| IHL |  TOS  |         Total Length              |  │
│   │   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  │
│   │   |      Identification      |Flg|   Fragment Offset    |  │
│   │   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  │
│   │   |   TTL   | Protocol |       Header Checksum           |  │
│   │   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  │
│   │   |                  Source IP Address                   |  │
│   │   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  │
│   │   |               Destination IP Address                 |  │
│   │   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  │
│   │   |                     Options + Data                   |  │
│   │   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   죌요 프로토윜:                                                │
│   ┌──────────┬───────────────────────────────────────────────┐  │
│   │   IP     │ 죌소 지정, 띌우팅 (IPv4, IPv6)               │  │
│   │   ICMP   │ 였류 볎고, 진닚 (ping, traceroute)           │  │
│   │   ARP    │ IP 죌소 → MAC 죌소 변환                      │  │
│   │   RARP   │ MAC 죌소 → IP 죌소 변환                      │  │
│   │   IGMP   │ 멀티캐슀튞 귞룹 ꎀ늬                         │  │
│   └──────────┮───────────────────────────────────────────────┘  │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

계잵 1: 넀튞워크 ì ‘ê·Œ 계잵 (Network Access Layer)

┌─────────────────────────────────────────────────────────────────┐
│           1계잵: 넀튞워크 ì ‘ê·Œ 계잵 (Network Access Layer)       │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   역할: 묌늬적 넀튞워크 ì ‘ê·Œ, 프레임 전송                       │
│         OSI의 데읎터링크 + 묌늬 계잵에 핎당                     │
│                                                                  │
│   OSI 몚덞곌의 ꎀ계:                                            │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │   OSI 2계잵: 데읎터링크                                  │   │
│   │   OSI 1계잵: 묌늬                                        │   │
│   │        ↓                                                 │   │
│   │   TCP/IP: 넀튞워크 ì ‘ê·Œ 계잵 (하나로 통합)              │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   Ʞ능:                                                         │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │   1. 묌늬적 죌소 지정 (MAC Address)                     │   │
│   │      - 48비튞 하드웚얎 죌소                             │   │
│   │      - 예: 00:1A:2B:3C:4D:5E                            │   │
│   │                                                          │   │
│   │   2. 프레읎밍                                            │   │
│   │      - IP 팚킷을 프레임윌로 캡슐화                      │   │
│   │      - 헀더, 튞레음러 추가                              │   │
│   │                                                          │   │
│   │   3. 맀첎 ì ‘ê·Œ 제얎                                      │   │
│   │      - CSMA/CD (읎더넷)                                 │   │
│   │      - CSMA/CA (Wi-Fi)                                  │   │
│   │                                                          │   │
│   │   4. 비튞 전송                                           │   │
│   │      - ì „êž°/ꎑ/묎선 신혞 변환                           │   │
│   │                                                          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   Ʞ술/프로토윜:                                                │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │   유선:                                                  │   │
│   │   ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  │   │
│   │   │  읎더넷      │  │    PPP       │  │  FDDI        │  │   │
│   │   │  (802.3)     │  │ (점대점)     │  │ (ꎑ섬유)     │  │   │
│   │   └──────────────┘  └──────────────┘  └──────────────┘  │   │
│   │                                                          │   │
│   │   묎선:                                                  │   │
│   │   ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  │   │
│   │   │   Wi-Fi      │  │  Bluetooth   │  │     5G       │  │   │
│   │   │  (802.11)    │  │  (802.15)    │  │   (NR)       │  │   │
│   │   └──────────────┘  └──────────────┘  └──────────────┘  │   │
│   │                                                          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

4. OSI와 TCP/IP 비교

계잵 구조 비교

┌─────────────────────────────────────────────────────────────────┐
│                    OSI vs TCP/IP 계잵 비교                       │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│        OSI 7계잵                      TCP/IP 4계잵              │
│                                                                  │
│   ┌─────────────────┐                                           │
│   │ 7. 응용 계잵    │                                           │
│   ├──────────────────            ┌─────────────────┐            │
│   │ 6. 표현 계잵    │  ───────►  │ 4. 응용 계잵    │            │
│   ├──────────────────            └─────────────────┘            │
│   │ 5. 섞션 계잵    │                                           │
│   ├──────────────────            ┌─────────────────┐            │
│   │ 4. 전송 계잵    │  ───────►  │ 3. 전송 계잵    │            │
│   ├──────────────────            └─────────────────┘            │
│   │ 3. 넀튞워크 계잵│  ───────►  ┌─────────────────┐            │
│   ├──────────────────            │ 2. 읞터넷 계잵  │            │
│   │ 2. 데읎터링크   │            └─────────────────┘            │
│   ├──────────────────  ───────►  ┌─────────────────┐            │
│   │ 1. 묌늬 계잵    │            │ 1. 넀튞워크 접귌│            │
│   └─────────────────┘            └─────────────────┘            │
│                                                                  │
│   OSI: 7계잵 (읎론적)            TCP/IP: 4계잵 (싀용적)         │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

상섞 비교표

┌─────────────────────────────────────────────────────────────────┐
│                     OSI vs TCP/IP 상섞 비교                      │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   ┌──────────────┬─────────────────┬────────────────────────┐   │
│   │     항목     │      OSI        │       TCP/IP           │   │
│   ├──────────────┌─────────────────┌─────────────────────────   │
│   │ 계잵 수      │      7계잵      │        4계잵           │   │
│   ├──────────────┌─────────────────┌─────────────────────────   │
│   │ 개발 죌첎    │      ISO        │     DARPA (믞국방부)   │   │
│   ├──────────────┌─────────────────┌─────────────────────────   │
│   │ 개발 시Ʞ    │    1984년       │      1970년대          │   │
│   ├──────────────┌─────────────────┌─────────────────────────   │
│   │ 목적         │   ì°žì¡° 몚덞     │      싀제 구현         │   │
│   ├──────────────┌─────────────────┌─────────────────────────   │
│   │ 성격         │   읎론적/교육용 │      싀용적/표쀀       │   │
│   ├──────────────┌─────────────────┌─────────────────────────   │
│   │ 프로토윜     │   별도 정의     │      핚께 정의         │   │
│   ├──────────────┌─────────────────┌─────────────────────────   │
│   │ 계잵 겜계    │   명확핚        │      유연핚            │   │
│   ├──────────────┌─────────────────┌─────────────────────────   │
│   │ 신뢰성       │   전송 계잵만   │      전송 계잵만       │   │
│   ├──────────────┌─────────────────┌─────────────────────────   │
│   │ 현재 사용    │   ì°žì¡°/교육용   │      읞터넷 표쀀       │   │
│   └──────────────┮─────────────────┮────────────────────────┘   │
│                                                                  │
│   핵심 찚읎점:                                                  │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │ 1. OSI는 프로토윜볎닀 몚덞읎 뚌저 만듀얎짐 (Top-down)   │   │
│   │    TCP/IP는 프로토윜읎 뚌저, 몚덞은 나쀑 (Bottom-up)    │   │
│   │                                                          │   │
│   │ 2. OSI는 각 계잵읎 독늜적윌로 정의                       │   │
│   │    TCP/IP는 계잵 간 상혞작용 ê³ ë €                        │   │
│   │                                                          │   │
│   │ 3. OSI의 섞션/표현 계잵은 TCP/IP에서 응용 계잵에 통합   │   │
│   │                                                          │   │
│   │ 4. TCP/IP가 사싀상의 읞터넷 표쀀 (de facto standard)    │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

왜 TCP/IP가 승늬했는가?

┌─────────────────────────────────────────────────────────────────┐
│                  TCP/IP 성공 요읞                                │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   1. 싀용성 (Practicality)                                      │
│      ┌─────────────────────────────────────────────────────┐    │
│      │ - 싀제 구현을 뚌저 하고 몚덞화                       │    │
│      │ - 작동하는 윔드와 핚께 발전                          │    │
│      │ - "Rough consensus and running code"                 │    │
│      └─────────────────────────────────────────────────────┘    │
│                                                                  │
│   2. 개방성 (Openness)                                          │
│      ┌─────────────────────────────────────────────────────┐    │
│      │ - 누구나 묎료로 사용 가능                            │    │
│      │ - RFC로 표쀀 공개                                     │    │
│      │ - 독점 Ʞ술 없음                                      │    │
│      └─────────────────────────────────────────────────────┘    │
│                                                                  │
│   3. 유연성 (Flexibility)                                       │
│      ┌─────────────────────────────────────────────────────┐    │
│      │ - 닀양한 넀튞워크 Ʞ술 수용                          │    │
│      │ - 새로욎 애플늬쌀읎션 쉜게 추가                      │    │
│      │ - 읎Ʞ종 시슀템 연결                                  │    │
│      └─────────────────────────────────────────────────────┘    │
│                                                                  │
│   4. 선점 횚곌 (First-mover Advantage)                          │
│      ┌─────────────────────────────────────────────────────┐    │
│      │ - ARPANET에서 읎믞 사용                              │    │
│      │ - 대학곌 연구소에서 뚌저 볎꞉                        │    │
│      │ - BSD Unix에 Ʞ볞 포핚                               │    │
│      └─────────────────────────────────────────────────────┘    │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

5. 각 계잵의 프로토윜

프로토윜 슀택 전첎도

┌─────────────────────────────────────────────────────────────────┐
│                   TCP/IP 프로토윜 슀택                           │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                     응용 계잵                            │   │
│   │                                                          │   │
│   │  ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐       │   │
│   │  │HTTP │ │ FTP │ │SMTP │ │ DNS │ │ SSH │ │DHCP │       │   │
│   │  │HTTPS│ │SFTP │ │POP3 │ │     │ │     │ │     │       │   │
│   │  └──┬──┘ └──┬──┘ └──┬──┘ └──┬──┘ └──┬──┘ └──┬──┘       │   │
│   │     │       │       │       │       │       │            │   │
│   └─────┌───────┌───────┌───────┌───────┌───────┌────────────┘   │
│         │       │       │       │       │       │                │
│   ┌─────┌───────┌───────┌───────┌───────┌───────┌────────────┐   │
│   │     â–Œ       â–Œ       â–Œ       │       â–Œ       │  전송 계잵 │   │
│   │  ┌─────────────────────────┐│   ┌───────────┐            │   │
│   │  │          TCP            ││   │    UDP    │            │   │
│   │  │  (연결 지향, 신뢰성)    ││   │  (비연결) │            │   │
│   │  └───────────┬─────────────┘│   └─────┬─────┘            │   │
│   │              │              │         │                   │   │
│   └──────────────┌──────────────┌─────────┌───────────────────┘   │
│                  │              │         │                       │
│   ┌──────────────┌──────────────┌─────────┌───────────────────┐   │
│   │              â–Œ              â–Œ         â–Œ       읞터넷 계잵 │   │
│   │            ┌─────────────────────────────┐                │   │
│   │            │            IP               │                │   │
│   │            │    (죌소 지정, 띌우팅)      │                │   │
│   │            └──────────────┬──────────────┘                │   │
│   │                           │                               │   │
│   │    ┌──────────┬───────────┌───────────┬──────────┐       │   │
│   │    │   ICMP   │    ARP    │   RARP    │   IGMP   │       │   │
│   │    └──────────┮───────────┮───────────┮──────────┘       │   │
│   │                           │                               │   │
│   └───────────────────────────┌───────────────────────────────┘   │
│                               │                                   │
│   ┌───────────────────────────┌───────────────────────────────┐   │
│   │                           â–Œ          넀튞워크 ì ‘ê·Œ 계잵   │   │
│   │    ┌───────────┐   ┌───────────┐   ┌───────────┐         │   │
│   │    │  읎더넷   │   │   Wi-Fi   │   │    PPP    │         │   │
│   │    │  (802.3)  │   │  (802.11) │   │           │         │   │
│   │    └───────────┘   └───────────┘   └───────────┘         │   │
│   │                                                           │   │
│   └───────────────────────────────────────────────────────────┘   │
│                               │                                   │
│                               â–Œ                                   │
│                      묌늬적 전송 맀첎                            │
│                (쌀읎랔, ꎑ섬유, 묎선 전파)                       │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

죌요 프로토윜 상섞

┌─────────────────────────────────────────────────────────────────┐
│                    응용 계잵 프로토윜                            │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   프로토윜    포튞      전송     섀명                           │
│   ─────────────────────────────────────────────────────────────│
│   HTTP        80       TCP      하읎퍌텍슀튞 전송               │
│   HTTPS       443      TCP      볎안 HTTP (TLS)                 │
│   FTP         20/21    TCP      파음 전송 (데읎터/제얎)         │
│   SSH         22       TCP      볎안 원격 접속                  │
│   Telnet      23       TCP      원격 접속 (비볎안)              │
│   SMTP        25       TCP      메음 전송                       │
│   DNS         53       UDP/TCP  도메읞 읎늄 핎석                │
│   DHCP        67/68    UDP      IP 죌소 자동 할당               │
│   TFTP        69       UDP      간닚한 파음 전송                │
│   HTTP/3      443      QUIC     찚섞대 HTTP                     │
│   POP3        110      TCP      메음 수신                       │
│   IMAP        143      TCP      메음 ì ‘ê·Œ                       │
│   SNMP        161/162  UDP      넀튞워크 ꎀ늬                   │
│   LDAP        389      TCP      디렉토늬 서비슀                 │
│   HTTPS(SMTPS)465      TCP      볎안 메음 전송                  │
│   IMAPS       993      TCP      볎안 메음 ì ‘ê·Œ                  │
│   POP3S       995      TCP      볎안 메음 수신                  │
│   MySQL       3306     TCP      데읎터베읎슀                    │
│   RDP         3389     TCP      원격 데슀크톱                   │
│   PostgreSQL  5432     TCP      데읎터베읎슀                    │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

ICMP (Internet Control Message Protocol)

┌─────────────────────────────────────────────────────────────────┐
│                          ICMP                                    │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   역할: 넀튞워크 였류 볎고 및 진닚                              │
│                                                                  │
│   죌요 메시지 유형:                                             │
│   ┌──────────┬───────────────────────────────────────────────┐  │
│   │ Type 0   │ Echo Reply (ping 응답)                        │  │
│   │ Type 3   │ Destination Unreachable (목적지 도달 불가)    │  │
│   │ Type 5   │ Redirect (겜로 변겜 권고)                     │  │
│   │ Type 8   │ Echo Request (ping 요청)                      │  │
│   │ Type 11  │ Time Exceeded (TTL 만료)                      │  │
│   └──────────┮───────────────────────────────────────────────┘  │
│                                                                  │
│   ping 명령:                                                    │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │   $ ping 8.8.8.8                                         │   │
│   │   PING 8.8.8.8 (8.8.8.8): 56 data bytes                 │   │
│   │   64 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=9.2 ms │   │
│   │   64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=8.9 ms │   │
│   │                                                          │   │
│   │   Type 8 (요청) → 대상 혞슀튞 → Type 0 (응답)           │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   traceroute 명령:                                              │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │   TTL=1 팚킷 전송 → 첫 번짞 띌우터에서 만료              │   │
│   │   TTL=2 팚킷 전송 → 두 번짞 띌우터에서 만료              │   │
│   │   ...반복하여 겜로상의 몚든 띌우터 발견                  │   │
│   │                                                          │   │
│   │   $ traceroute google.com                                │   │
│   │   1  192.168.1.1    1.234 ms                             │   │
│   │   2  10.0.0.1       5.678 ms                             │   │
│   │   3  ...                                                 │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

ARP (Address Resolution Protocol)

┌─────────────────────────────────────────────────────────────────┐
│                           ARP                                    │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   역할: IP 죌소 → MAC 죌소 변환                                 │
│                                                                  │
│   동작 곌정:                                                    │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │   1. ARP Request (람로드캐슀튞)                         │   │
│   │                                                          │   │
│   │   혞슀튞 A                        넀튞워크의 몚든 혞슀튞 │   │
│   │   ┌─────────┐   "192.168.1.2의    ┌─────────┐           │   │
│   │   │ IP:     │    MAC 죌소가       │ IP:     │           │   │
│   │   │192.168  │    뭐지?"           │192.168  │           │   │
│   │   │ .1.1    │ ═══════════════════►│ .1.2    │           │   │
│   │   │ MAC:    │                     │ MAC:    │           │   │
│   │   │ AA:BB:  │                     │ CC:DD:  │           │   │
│   │   │ CC:DD:  │                     │ EE:FF:  │           │   │
│   │   │ EE:FF   │                     │ 00:11   │           │   │
│   │   └─────────┘                     └─────────┘           │   │
│   │                                                          │   │
│   │   2. ARP Reply (유니캐슀튞)                             │   │
│   │                                                          │   │
│   │   혞슀튞 A                        혞슀튞 B               │   │
│   │   ┌─────────┐   "낮 MAC 죌소는    ┌─────────┐           │   │
│   │   │         │◄═══════════════════ │ CC:DD:  │           │   │
│   │   │         │    CC:DD:EE:FF:     │ EE:FF:  │           │   │
│   │   │         │    00:11 읎알"      │ 00:11   │           │   │
│   │   └─────────┘                     └─────────┘           │   │
│   │                                                          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   ARP 테읎랔:                                                   │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │   $ arp -a                                               │   │
│   │   Internet Address    Physical Address    Type           │   │
│   │   192.168.1.1         aa-bb-cc-dd-ee-ff   dynamic       │   │
│   │   192.168.1.2         cc-dd-ee-ff-00-11   dynamic       │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   * ARP 캐시: 음정 시간 동안 결곌륌 저장하여 횚윚성 향상        │
│   * ARP는 같은 넀튞워크(서람넷) 낎에서만 동작                   │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

6. 싀제 통신 흐멄

웹 페읎지 요청 전첎 곌정

┌─────────────────────────────────────────────────────────────────┐
│            www.example.com 웹 페읎지 요청 곌정                   │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   사용자: 람띌우저에 www.example.com 입력                       │
│                                                                  │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  닚계 1: DNS 조회 (도메읞 → IP)                          │   │
│   │                                                          │   │
│   │  람띌우저 → DNS 서버                                     │   │
│   │  "www.example.com의 IP는?"                               │   │
│   │                                                          │   │
│   │  DNS 서버 → 람띌우저                                     │   │
│   │  "93.184.216.34"                                         │   │
│   └─────────────────────────────────────────────────────────┘   │
│                           ↓                                      │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  닚계 2: TCP 연결 (3-way handshake)                      │   │
│   │                                                          │   │
│   │  큎띌읎얞튞                        서버                   │   │
│   │      │ ──────── SYN ─────────► │                        │   │
│   │      │ ◄─────── SYN-ACK ─────── │                        │   │
│   │      │ ──────── ACK ─────────► │                        │   │
│   │                                                          │   │
│   │  연결 수늜됚 (섞션 시작)                                │   │
│   └─────────────────────────────────────────────────────────┘   │
│                           ↓                                      │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  닚계 3: HTTP 요청                                       │   │
│   │                                                          │   │
│   │  큎띌읎얞튞 → 서버                                       │   │
│   │  ┌─────────────────────────────────────────────────┐    │   │
│   │  │ GET / HTTP/1.1                                   │    │   │
│   │  │ Host: www.example.com                            │    │   │
│   │  │ User-Agent: Mozilla/5.0...                       │    │   │
│   │  │ Accept: text/html...                             │    │   │
│   │  └─────────────────────────────────────────────────┘    │   │
│   └─────────────────────────────────────────────────────────┘   │
│                           ↓                                      │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  닚계 4: HTTP 응답                                       │   │
│   │                                                          │   │
│   │  서버 → 큎띌읎얞튞                                       │   │
│   │  ┌─────────────────────────────────────────────────┐    │   │
│   │  │ HTTP/1.1 200 OK                                  │    │   │
│   │  │ Content-Type: text/html                          │    │   │
│   │  │ Content-Length: 1256                             │    │   │
│   │  │                                                  │    │   │
│   │  │ <!DOCTYPE html>                                  │    │   │
│   │  │ <html>...                                        │    │   │
│   │  └─────────────────────────────────────────────────┘    │   │
│   └─────────────────────────────────────────────────────────┘   │
│                           ↓                                      │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │  닚계 5: TCP 연결 종료 (4-way handshake)                 │   │
│   │                                                          │   │
│   │  큎띌읎얞튞                        서버                   │   │
│   │      │ ──────── FIN ─────────► │                        │   │
│   │      │ ◄─────── ACK ─────────── │                        │   │
│   │      │ ◄─────── FIN ─────────── │                        │   │
│   │      │ ──────── ACK ─────────► │                        │   │
│   │                                                          │   │
│   │  연결 종료됚                                            │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

캡슐화 곌정 상섞

┌─────────────────────────────────────────────────────────────────┐
│                      캡슐화 상섞 곌정                            │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   응용 계잵 (HTTP 요청)                                         │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │              HTTP DATA (GET / HTTP/1.1...)               │   │
│   └─────────────────────────────────────────────────────────┘   │
│                              ↓                                   │
│   전송 계잵 (TCP)                                               │
│   ┌────────────┬────────────────────────────────────────────┐   │
│   │ TCP Header │              HTTP DATA                      │   │
│   │ Src: 50000 │                                             │   │
│   │ Dst: 80    │                                             │   │
│   │ Seq: 1000  │                                             │   │
│   └────────────┮────────────────────────────────────────────┘   │
│                              ↓                                   │
│   읞터넷 계잵 (IP)                                              │
│   ┌────────────┬────────────┬────────────────────────────────┐  │
│   │ IP Header  │ TCP Header │          HTTP DATA             │  │
│   │ Src: 192.  │            │                                │  │
│   │ 168.1.100  │            │                                │  │
│   │ Dst: 93.   │            │                                │  │
│   │ 184.216.34 │            │                                │  │
│   │ TTL: 64    │            │                                │  │
│   └────────────┮────────────┮────────────────────────────────┘  │
│                              ↓                                   │
│   넀튞워크 ì ‘ê·Œ 계잵 (읎더넷)                                   │
│   ┌──────┬────────────┬────────────┬──────────────────┬─────┐   │
│   │Pream │Eth Header  │ IP Header  │ TCP + HTTP DATA  │ FCS │   │
│   │ble   │Src MAC:    │            │                  │     │   │
│   │      │aa:bb:cc... │            │                  │     │   │
│   │      │Dst MAC:    │            │                  │     │   │
│   │      │11:22:33... │            │                  │     │   │
│   └──────┮────────────┮────────────┮──────────────────┮─────┘   │
│                              ↓                                   │
│   묌늬 계잵 (비튞 슀튞늌)                                       │
│   10110100 01101011 11010010 10101100 01011001 ...              │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

띌우팅 곌정

┌─────────────────────────────────────────────────────────────────┐
│                       띌우팅 곌정                                │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   출발지: 192.168.1.100                                         │
│   목적지: 93.184.216.34                                         │
│                                                                  │
│   ┌─────────────┐                                               │
│   │ 큎띌읎얞튞  │  192.168.1.100                                │
│   └──────┬──────┘                                               │
│          │                                                       │
│          │ ① 같은 넀튞워크가 아니므로 Ʞ볞 게읎튞웚읎로 전송   │
│          │    (ARP로 게읎튞웚읎의 MAC 죌소 획득)                │
│          â–Œ                                                       │
│   ┌─────────────┐                                               │
│   │  띌우터 A   │  192.168.1.1 (낎부) / 10.0.0.1 (왞부)         │
│   └──────┬──────┘                                               │
│          │                                                       │
│          │ ② 띌우팅 테읎랔 ì°žì¡°, 닀음 홉 결정                  │
│          │    IP 헀더의 TTL 감소 (64 → 63)                      │
│          │    새로욎 읎더넷 프레임 생성                         │
│          â–Œ                                                       │
│   ┌─────────────┐                                               │
│   │  띌우터 B   │  ISP 띌우터                                   │
│   └──────┬──────┘                                               │
│          │                                                       │
│          │ ③ 계속 띌우팅...                                     │
│          │    (TTL 감소, 프레임 재생성)                         │
│          â–Œ                                                       │
│        ......                                                   │
│          │                                                       │
│          │ ④ 목적지 넀튞워크 도달                               │
│          â–Œ                                                       │
│   ┌─────────────┐                                               │
│   │   서버      │  93.184.216.34                                │
│   └─────────────┘                                               │
│                                                                  │
│   각 홉(Hop)에서:                                               │
│   - IP 팚킷은 변겜되지 않음 (TTL, 첎크섬 제왞)                 │
│   - 읎더넷 프레임은 새로 생성 (MAC 죌소 변겜)                  │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

7. TCP vs UDP

TCP 상섞

┌─────────────────────────────────────────────────────────────────┐
│              TCP (Transmission Control Protocol)                 │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   특징: 연결 지향, 신뢰성 볎장, 순서 볎장                       │
│                                                                  │
│   3-Way Handshake (연결 수늜):                                  │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │   큎띌읎얞튞                           서버              │   │
│   │       │                                  │               │   │
│   │       │ ─────── SYN (seq=x) ──────────► │               │   │
│   │       │                                  │               │   │
│   │       │ ◄────── SYN-ACK ──────────────  │               │   │
│   │       │         (seq=y, ack=x+1)         │               │   │
│   │       │                                  │               │   │
│   │       │ ─────── ACK (ack=y+1) ────────► │               │   │
│   │       │                                  │               │   │
│   │       │         연결 수늜됚               │               │   │
│   │       │                                  │               │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   데읎터 전송 (슬띌읎딩 윈도우):                                │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │   송신 윈도우 (Window Size = 4)                         │   │
│   │                                                          │   │
│   │   ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐            │   │
│   │   │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │10 │            │   │
│   │   └───┮───┮───┮───┮───┮───┮───┮───┮───┮───┘            │   │
│   │     ▲                   ▲                               │   │
│   │     └─────┬─────────────┘                               │   │
│   │           │                                              │   │
│   │   ACK 없읎 전송 가능한 범위                             │   │
│   │                                                          │   │
│   │   ACK 수신 시 윈도우가 앞윌로 "슬띌읎드"                │   │
│   │                                                          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   4-Way Handshake (연결 종료):                                  │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │   큎띌읎얞튞                           서버              │   │
│   │       │                                  │               │   │
│   │       │ ─────── FIN ────────────────► │               │   │
│   │       │                                  │               │   │
│   │       │ ◄────── ACK ────────────────  │               │   │
│   │       │                                  │               │   │
│   │       │ ◄────── FIN ────────────────  │               │   │
│   │       │                                  │               │   │
│   │       │ ─────── ACK ────────────────► │               │   │
│   │       │                                  │               │   │
│   │       │         연결 종료됚               │               │   │
│   │       │                                  │               │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   혌잡 제얎 (Congestion Control):                               │
│   - Slow Start: 윈도우 크Ʞ륌 작게 시작, 지수적 슝가           │
│   - Congestion Avoidance: 임계값 읎후 선형적 슝가              │
│   - Fast Retransmit: 쀑복 ACK 3개 시 슉시 재전송               │
│   - Fast Recovery: 혌잡 후 빠륞 회복                           │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

UDP 상섞

┌─────────────────────────────────────────────────────────────────┐
│                UDP (User Datagram Protocol)                      │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   특징: 비연결, 신뢰성 없음, 순서 볎장 안핚, 빠륞 전송          │
│                                                                  │
│   통신 방식:                                                    │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │   송신자                               수신자            │   │
│   │       │                                  │               │   │
│   │       │ ═══════ 데읎터귞랚 1 ═══════► │               │   │
│   │       │ ═══════ 데읎터귞랚 2 ═══════► │               │   │
│   │       │ ═══════ 데읎터귞랚 3 ═══════► │               │   │
│   │       │                                  │               │   │
│   │       │      (ACK 없음, 연결 없음)       │               │   │
│   │       │                                  │               │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   UDP 헀더 (8바읎튞):                                           │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │   0       8      16      24      32                      │   │
│   │   ┌───────────────┬───────────────┐                     │   │
│   │   │   Source Port │    Dest Port   │                     │   │
│   │   ├───────────────┌────────────────                     │   │
│   │   │     Length    │    Checksum    │                     │   │
│   │   └───────────────┮───────────────┘                     │   │
│   │                                                          │   │
│   │   TCP 헀더(20+ 바읎튞)볎닀 훚씬 닚순                    │   │
│   │                                                          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
│   사용 사례:                                                    │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │                                                          │   │
│   │   1. DNS 쿌늬                                           │   │
│   │      - 작은 데읎터, 빠륞 응답 필요                      │   │
│   │      - 싀팚 시 재시도 (애플늬쌀읎션 레벚)               │   │
│   │                                                          │   │
│   │   2. 비디였/였디였 슀튞늬밍                             │   │
│   │      - 싀시간성 쀑요                                    │   │
│   │      - 음부 손싀 허용 가능                              │   │
│   │                                                          │   │
│   │   3. 옚띌읞 게임                                        │   │
│   │      - 낮은 지연 필요                                   │   │
│   │      - 였래된 데읎터볎닀 최신 데읎터가 쀑요             │   │
│   │                                                          │   │
│   │   4. VoIP                                               │   │
│   │      - 싀시간 음성 통화                                 │   │
│   │      - 재전송볎닀 묎시가 나음                           │   │
│   │                                                          │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

TCP vs UDP 비교

┌─────────────────────────────────────────────────────────────────┐
│                      TCP vs UDP 비교                             │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│   ┌─────────────────┬─────────────────┬─────────────────────┐   │
│   │      특성       │      TCP        │        UDP          │   │
│   ├─────────────────┌─────────────────┌──────────────────────   │
│   │ 연결 방식       │ 연결 지향       │ 비연결              │   │
│   │ 신뢰성          │ 볎장            │ 비볎장              │   │
│   │ 순서 볎장       │ 볎장            │ 비볎장              │   │
│   │ 흐멄 제얎       │ 있음            │ 없음                │   │
│   │ 혌잡 제얎       │ 있음            │ 없음                │   │
│   │ 였버헀드        │ 높음 (20+바읎튞)│ 낮음 (8바읎튞)      │   │
│   │ 속도            │ 상대적 느늌     │ 빠늄                │   │
│   │ 재전송          │ 자동            │ 없음                │   │
│   │ 람로드캐슀튞    │ 불가            │ 가능                │   │
│   │ 멀티캐슀튞      │ 불가            │ 가능                │   │
│   ├─────────────────┌─────────────────┌──────────────────────   │
│   │                 │ 웹 (HTTP)       │ DNS                 │   │
│   │ 사용 예시       │ 읎메음 (SMTP)   │ 슀튞늬밍            │   │
│   │                 │ 파음 전송 (FTP) │ 게임                │   │
│   │                 │ SSH             │ VoIP                │   │
│   └─────────────────┮─────────────────┮─────────────────────┘   │
│                                                                  │
│   선택 Ʞ쀀:                                                    │
│   ┌─────────────────────────────────────────────────────────┐   │
│   │ TCP륌 선택할 때:                                         │   │
│   │ - 데읎터 묎결성읎 쀑요할 때                             │   │
│   │ - 몚든 데읎터가 도착핎알 할 때                          │   │
│   │ - 순서가 쀑요할 때                                      │   │
│   │                                                          │   │
│   │ UDP륌 선택할 때:                                         │   │
│   │ - 싀시간성읎 쀑요할 때                                  │   │
│   │ - 음부 손싀읎 허용될 때                                 │   │
│   │ - 람로드캐슀튞/멀티캐슀튞가 필요할 때                   │   │
│   │ - 빠륞 응답읎 필요할 때                                 │   │
│   └─────────────────────────────────────────────────────────┘   │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

8. 연습 묞제

Ʞ쎈 묞제

1. TCP/IP 몚덞의 4계잵을 아래에서 위로 순서대로 나엎하시였.

2. 닀음 프로토윜을 TCP와 UDP로 분류하시였. - HTTP, DNS, FTP, VoIP, SMTP, 옚띌읞 게임

3. 닀음 섀명에 핎당하는 프로토윜을 고륎시였. - IP 죌소륌 MAC 죌소로 변환: ( ) - 넀튞워크 였류 볎고 및 ping: ( ) - 도메읞 읎늄을 IP로 변환: ( )

볎Ʞ: DNS, ARP, ICMP, DHCP

4. TCP 3-way handshake의 순서륌 섀명하시였.

응용 묞제

5. www.google.com에 접속할 때 발생하는 넀튞워크 통신 곌정을 순서대로 섀명하시였.

6. TCP와 UDP의 찚읎점을 5가지 읎상 섀명하시였.

7. 닀음 상황에서 TCP와 UDP 쀑 ì–Žë–€ 것을 사용하는 것읎 적절한지 읎유와 핚께 섀명하시였. - (a) 옚띌읞 뱅킹 서비슀 - (b) 싀시간 화상 회의 - (c) 대용량 파음 닀욎로드

심화 묞제

8. OSI 7계잵곌 TCP/IP 4계잵을 비교하고, TCP/IP가 읞터넷 표쀀읎 된 읎유륌 섀명하시였.

9. 닀음 시나늬였륌 분석하시였:

traceroute륌 싀행했더니 5번짞 홉에서 "* * *"가 표시됩니닀.
가능한 원읞은 묎엇읞가요?

10. TCP의 혌잡 제얎 메컀니슘(Slow Start, Congestion Avoidance)읎 필요한 읎유와 동작 원늬륌 섀명하시였.


정답 **1.** 넀튞워크 ì ‘ê·Œ 계잵 → 읞터넷 계잵 → 전송 계잵 → 응용 계잵 **2.** - TCP: HTTP, FTP, SMTP - UDP: DNS (대부분), VoIP, 옚띌읞 게임 **3.** - IP → MAC: ARP - 였류 볎고/ping: ICMP - 도메읞 → IP: DNS **4.** 1. 큎띌읎얞튞 → 서버: SYN (seq=x) 2. 서버 → 큎띌읎얞튞: SYN-ACK (seq=y, ack=x+1) 3. 큎띌읎얞튞 → 서버: ACK (ack=y+1) **5.** 1. DNS 조회로 도메읞을 IP로 변환 2. TCP 3-way handshake로 연결 수늜 3. TLS handshake (HTTPS읞 겜우) 4. HTTP 요청 전송 5. 서버에서 HTTP 응답 수신 6. 웹 페읎지 렌더링 7. TCP 연결 종료 (4-way handshake) **6.** 1. 연결 방식: TCP는 연결 지향, UDP는 비연결 2. 신뢰성: TCP는 볎장, UDP는 비볎장 3. 순서: TCP는 볎장, UDP는 비볎장 4. 속도: TCP는 느늌, UDP는 빠늄 5. 였버헀드: TCP 20바읎튞+, UDP 8바읎튞 6. 흐멄/혌잡 제얎: TCP만 있음 7. 람로드캐슀튞: UDP만 가능 **7.** - (a) TCP - ꞈ융 데읎터는 묎결성곌 신뢰성읎 필수 - (b) UDP - 싀시간성읎 쀑요, 음부 손싀 허용 - (c) TCP - 몚든 데읎터가 정확히 도착핎알 핹 **8.** - OSI는 읎론적 7계잵, TCP/IP는 싀용적 4계잵 - TCP/IP가 표쀀읎 된 읎유: 싀용성, 개방성, 유연성, 선점 횚곌 - ARPANET에서 싀제 동작하는 윔드와 핚께 발전 **9.** 가능한 원읞: - 핎당 띌우터가 ICMP 응답을 찚닚 - 방화벜에서 ICMP 필터링 - 띌우터의 CPU 부하로 ICMP 처늬 불가 - 넀튞워크 혌잡 **10.** - 필요 읎유: 넀튞워크 혌잡 방지, 공정한 대역폭 분배 - Slow Start: 윈도우 크Ʞ륌 1에서 시작, ë§€ RTT마닀 2ë°° 슝가 - Congestion Avoidance: 임계값(ssthresh) 도달 후 선형 슝가 - 팚킷 손싀 감지 시 윈도우 크Ʞ 감소, 혌잡 완화

닀음 닚계


ì°žê³  자료

to navigate between lessons