함께 배우는 수업 · 컴퓨터/정보

OSI 7계층과 TCP/IP 모델

네트워크 통신의 국제 표준인 OSI 7계층과 실무 인터넷 표준 TCP/IP 4계층, 데이터 캡슐화/역캡슐화, TCP 3-Way Handshake 및 UDP와의 차이를 학습합니다.

이 수업에서 해 볼 일

  • 계층별 역할과 신뢰성 보장을 구분한다

먼저 알면 좋은 것: 비트(Bit)와 패킷(Packet) 단위의 데이터 분할 전송 개념 · 클라이언트(Client)와 서버(Server)의 역할 구분 · 2진수/16진수 주소 체계(IPv4 32비트, MAC 48비트)

오늘의 목표

가입 없이 시작할 수 있어요. 설명을 읽고, 함께 연습한 뒤, 처음 보는 문제에서 직접 확인합니다.

판단 과정과 비교 사례

통신 문제는 어떤 범위의 주소를 다루는지 나누어 읽자. MAC 주소는 링크 안 전달, IP 주소는 네트워크 사이 전달, 포트는 전송 계층의 통신 끝점을 구분하는 데 쓰인다.DNS로 이름의 주소 정보를 알아낸 뒤 패킷을 보내더라도, 같은 링크의 다음 홉으로 전달하려면 링크 계층 주소가 필요할 수 있다. IPv4의 ARP가 그 연결을 돕는다.TCP는 순서와 재전송 등을 제공하고 UDP는 그 보장을 기본 제공하지 않는 대신 단순한 데이터그램을 보낸다. '어느 것이 항상 좋다'가 아니라 지연·손실·신뢰성 요구를 비교하자.

1. OSI 7계층과 TCP/IP 4계층 매핑 및 PDU·주소 식별자

네트워크 통신 과정을 계층별로 분리(모듈화)하면 특정 계층의 장비나 기술이 바뀌어도 다른 계층에 영향을 주지 않고, 장애 발생 시 원인을 신속히 격리할 수 있습니다.
계층OSI 7계층TCP/IP 4계층전송 단위 (PDU)핵심 식별 주소 / 장비·프로토콜
7응용 (Application)응용 계층Data / MessageHTTP, 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), 광케이블, 허브
- 캡슐화(Encapsulation)와 역캡슐화(Decapsulation): 송신 측이 데이터를 보낼 때 상위 계층에서 하위 계층으로 내려가며 TCP 헤더(Port) ➔ IP 헤더(IP) ➔ 이더넷 헤더/트레일러(MAC)를 차례로 덧씌우는 것을 캡슐화라 하며, 수신 측이 아래에서 위로 헤더를 하나씩 벗겨내는 것을 역캡슐화라고 합니다.
한 줄로 정리하는 MAC vs IP vs Port: MAC 주소(2계층)는 '바로 다음 정거장(라우터/공유기)의 하드웨어 주소'이고, IP 주소(3계층)는 '최종 목적지 컴퓨터(건물)의 주소'이며, Port 번호(4계층)는 '그 컴퓨터 안에서 대기 중인 특정 프로그램(방 호수, 예: 웹 서버 443번)'입니다!

2. 전송 계층의 양대 산맥: TCP vs UDP와 3-Way Handshake

1. TCP (Transmission Control Protocol - 신뢰성·연결 지향): - 데이터를 보내기 전 반드시 논리적 연결을 수립하며, 패킷이 유실되면 재전송(ARQ)하고 뒤바뀐 패킷 순서를 시퀀스 번호(Sequence Number)로 재조립하며, 수신자의 처리 속도에 맞춘 흐름 제어(Flow Control)와 네트워크 상태에 맞춘 혼잡 제어(Congestion Control)를 수행합니다. - 연결 수립 (3-Way Handshake): ① 클라이언트 ➔ 서버: SYN (Seq=x\text{Seq}=x, 연결 요청: "내 말 들리나요?") ② 서버 ➔ 클라이언트: SYN + ACK (Seq=y,Ack=x+1\text{Seq}=y, \text{Ack}=x+1, 수락 및 응답: "잘 들립니다. 제 말도 들리나요?") ③ 클라이언트 ➔ 서버: ACK (Ack=y+1\text{Ack}=y+1, 확인 완료: "네, 이제 데이터를 보냅니다!") - 정상 종료는 양방향을 각각 닫는 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 번호를 각각 구하시오.
  1. 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]
확인: 데이터 링크 계층(2계층)은 MAC 주소와 스위치를, 네트워크 계층(3계층)은 IP 주소와 라우터를, 전송 계층(4계층)은 포트 번호를 사용한다.

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 서비스 거부 공격입니다.

참고 근거와 확인 범위

설명·예제·문제 구성 및 오류 수정 책임: 프리런. 위 자료는 표시한 주제를 확인하거나 더 읽기 위한 근거이며, 외부 기관의 공식 수업이나 감수본을 뜻하지 않습니다.

참고 자료 연결 점검: 2026-11-02. 제작 방식·검수 범위와 수정 기록에서 확인 범위를 볼 수 있습니다. 오류는 상단의 의견 보내기 또는 contact@freelearn.io로 알려 주세요.

이 단원의 개념서 읽기 →