함께 배우는 수업 · 컴퓨터/정보
OSI 7계층과 TCP/IP 모델
네트워크 통신의 국제 표준인 OSI 7계층과 실무 인터넷 표준 TCP/IP 4계층, 데이터 캡슐화/역캡슐화, TCP 3-Way Handshake 및 UDP와의 차이를 학습합니다.
이 수업에서 해 볼 일
- 계층별 역할과 신뢰성 보장을 구분한다
먼저 알면 좋은 것: 비트(Bit)와 패킷(Packet) 단위의 데이터 분할 전송 개념 · 클라이언트(Client)와 서버(Server)의 역할 구분 · 2진수/16진수 주소 체계(IPv4 32비트, MAC 48비트)
오늘의 목표
가입 없이 시작할 수 있어요. 설명을 읽고, 함께 연습한 뒤, 처음 보는 문제에서 직접 확인합니다.
1. OSI 7계층과 TCP/IP 4계층 매핑 및 PDU·주소 식별자
네트워크 통신 과정을 계층별로 분리(모듈화)하면 특정 계층의 장비나 기술이 바뀌어도 다른 계층에 영향을 주지 않고, 장애 발생 시 원인을 신속히 격리할 수 있습니다.| 계층 | OSI 7계층 | TCP/IP 4계층 | 전송 단위 (PDU) | 핵심 식별 주소 / 장비·프로토콜 |
|---|---|---|---|---|
| 7 | 응용 (Application) | 응용 계층 | Data / Message | HTTP, HTTPS, DNS,SSH, SMTP |
| 6 | 표현 (Presentation) | 응용 계층 | Data / Message | 인코딩(UTF-8), 압축, 암호화(TLS) |
| 5 | 세션 (Session) | 응용 계층 | Data / Message | 세션 수립·유지·종료, 동기화 |
| 4 | 전송 (Transport) | 전송 계층 | Segment(TCP) / Datagram(UDP) | Port 번호 (프로세스 식별, 0~65535) |
| 3 | 네트워크 (Network) | 인터넷 계층 | Packet (패킷) | IP 주소 (목적지 호스트 탐색, 라우터) |
| 2 | 데이터 링크 (Data Link) | 네트워크 인터페이스 | Frame (프레임) | MAC 주소 (물리적 인접 노드간 전송, 스위치) |
| 1 | 물리 (Physical) | 네트워크 인터페이스 | Bit (비트, 0/1) | 전기/광 신호, 랜선(UTP), 광케이블, 허브 |
2. 전송 계층의 양대 산맥: TCP vs UDP와 3-Way Handshake
1. TCP (Transmission Control Protocol - 신뢰성·연결 지향): - 데이터를 보내기 전 반드시 논리적 연결을 수립하며, 패킷이 유실되면 재전송(ARQ)하고 뒤바뀐 패킷 순서를 시퀀스 번호(Sequence Number)로 재조립하며, 수신자의 처리 속도에 맞춘 흐름 제어(Flow Control)와 네트워크 상태에 맞춘 혼잡 제어(Congestion Control)를 수행합니다. - 연결 수립 (3-Way Handshake): ① 클라이언트 ➔ 서버:SYN (, 연결 요청: "내 말 들리나요?")
② 서버 ➔ 클라이언트: SYN + ACK (, 수락 및 응답: "잘 들립니다. 제 말도 들리나요?")
③ 클라이언트 ➔ 서버: ACK (, 확인 완료: "네, 이제 데이터를 보냅니다!")
- 정상 종료는 양방향을 각각 닫는 4-Way Handshake (FIN ➔ ACK ➔ FIN ➔ ACK)로 설명하지만, ACK와 FIN이 한 세그먼트에 함께 실릴 수도 있습니다. 재전송·순서 제어는 신뢰성 있는 바이트 스트림을 제공하며, 연결 장애가 나도 무조건 전달된다는 뜻은 아닙니다.
2. UDP (User Datagram Protocol - 비연결형 데이터그램):
- UDP 자체에는 연결 수립 절차, 유실 데이터의 재전송, 순서 보장 기능이 없습니다. 헤더는 8바이트이며, 필요한 기능은 응용 프로그램이나 상위 프로토콜에서 구현합니다. UDP라는 이유만으로 실제 지연 시간이 항상 더 짧아지는 것은 아닙니다.
- TCP는 HTTP/1.1·HTTP/2와 이메일·파일 전송 등에 널리 쓰입니다. 게임·음성 통화 등에서는 UDP를 활용하기도 하며, 실제 선택은 서비스 설계에 달려 있습니다. DNS는 UDP와 TCP를 모두 사용합니다.
- HTTP/3는 UDP 위에서 동작하는 QUIC를 사용합니다. QUIC는 유실 복구·흐름 제어·혼잡 제어와 스트림별 순서 있는 신뢰성 전송을 제공합니다. 따라서 HTTP/3를 '데이터가 빠져도 상관없는 통신'으로 분류하면 안 됩니다.예제로 살펴보기
클라이언트가 초기 시퀀스 번호 Seq = 1000을 담아 서버에 SYN 패킷을 보냈고, 서버가 자신의 초기 시퀀스 번호 Seq = 5000으로 응답할 때, 3-Way Handshake의 2단계(SYN+ACK)와 3단계(ACK) 패킷에 담기는 Seq 번호와 Ack 번호를 각각 구하시오.- TCP 핸드셰이크에서 응답 확인 번호(Ack)는 '상대방이 보낸 Seq 번호 + 1(다음으로 받고 싶은 번호)' 규칙을 따릅니다. 1) 1단계 (Client → Server): SYN [Seq = 1000] 2) 2단계 (Server → Client): SYN + ACK - 서버는 클라이언트의 1000번을 잘 받았으므로 Ack = 1000 + 1 = 1001을 보냅니다. - 동시에 서버 자신의 초기 번호인 Seq = 5000을 함께 보냅니다. ➔ [Seq = 5000, Ack = 1001] 3) 3단계 (Client → Server): ACK - 클라이언트는 자신의 다음 번호인 Seq = 1001과, 서버의 5000번을 확인했다는 의미로 Ack = 5000 + 1 = 5001을 보냅니다. ➔ [Seq = 1001, Ack = 5001]
3. 사설 IP와 공인 IP, NAT, ARP 프로토콜 실무 포인트
- IPv4 주소 고갈과 NAT (Network Address Translation): - 32비트인 IPv4 주소(약 43억 개)의 부족 문제를 해결하기 위해 가정이나 사내망 내부에서는 사설 IP(Private IP, 예:192.168.x.x, 10.x.x.x)를 부여하고, 인터넷 공유기(라우터) 밖으로 나갈 때만 하나의 공인 IP(Public IP)와 포트로 변환해 주는 기술이 NAT(네트워크 주소 변환)입니다.
- ARP (Address Resolution Protocol):
- 통신할 상대방의 논리적 IP 주소는 알지만 물리적 MAC 주소를 모를 때, 같은 네트워크에 브로드캐스트로 "이 IP 쓰는 사람의 MAC 주소가 무엇인가?"라고 물어보아 IP 주소를 MAC 주소로 변환해 주는 필수 프로토콜입니다.보안/네트워크 면접 포인트: 'SYN Flooding 공격이란?' -> 해커가 3-Way Handshake의 1단계인 SYN만 수만 번 보내고 마지막 3단계 ACK를 안 보내서 서버의 대기 큐(Backlog Queue)를 고갈시키는 대표적인 DDoS 서비스 거부 공격입니다.참고 근거와 확인 범위
- Harvard CS50 · Lecture 8: Internet ↗
IP·TCP·DNS·HTTP의 역할과 통신 흐름
- IETF · RFC 9000 · QUIC Streams ↗
UDP 위 QUIC의 스트림별 순서 있는 전송·유실 복구·흐름 제어
- IETF · RFC 9293 · TCP Connection State ↗
TCP의 신뢰성 전송과 양방향 연결 종료
설명·예제·문제 구성 및 오류 수정 책임: 프리런. 위 자료는 표시한 주제를 확인하거나 더 읽기 위한 근거이며, 외부 기관의 공식 수업이나 감수본을 뜻하지 않습니다.
참고 자료 연결 점검: 2026-11-02. 제작 방식·검수 범위와 수정 기록에서 확인 범위를 볼 수 있습니다. 오류는 상단의 의견 보내기 또는 contact@freelearn.io로 알려 주세요.