문서 읽는 데 46분 · 45강 · 4과목 · 프로그래밍 언어 활용

실제 인터넷의 동작 원리: TCP/IP 프로토콜

목차 21
전체 59강 중 45강 · 4과목 · 프로그래밍 언어 활용

4과목 네트워크 영역의 핵심 강. 44강이 OSI 7계층으로 통신의 골격을 세웠다면, 45강은 실제 인터넷이 돌아가는 TCP/IP 4계층을 본격적으로 파고든다. TCP/IP 4계층 ★네인전응★, 인터넷 계층 5대 프로토콜 ★IP-ARIG★, 연결 설정 ★싸싹악★ 3-Way·연결 해제 ★파악파악★ 4-Way, Well-Known 포트 ★21F23T25S53D80H★, 오류 제어 ★정연(고셀)적★ ARQ — 여기에 IP 헤더·포트 번호·흐름/혼잡 제어까지 더해 정리한다. 매 회차 1~3문제가 나오는 빈출 단원으로, 44강 OSI 골격과 짝을 이뤄 네트워크 영역의 양대 축을 이룬다.


대단원 1 — TCP/IP 4계층 골격

TCP/IP — 인터넷의 실전 표준(De facto Standard) ·TCP/IP 개요·시험 단골·

[정의] TCP/IP(Transmission Control Protocol / Internet Protocol) = 서로 다른 기종의 컴퓨터끼리 데이터를 주고받기 위해 1960년대 후반 미국 국방부(DARPA) 프로젝트에서 탄생한 통신 프로토콜의 집합. 1983년 ARPANET이 공식 채택한 뒤 사실상의 표준(De facto Standard)으로 자리 잡았다. TCP/IP로 연결된 모든 망의 집합체가 곧 인터넷(Internet = INTERconnected NETwork).

[표] OSI 7계층 vs TCP/IP 4계층 — 이론 모델 vs 실전 모델

구분 OSI 7계층 TCP/IP 4계층
성격 국제 표준 참조 모델(이론) 실제 인터넷이 채택한 실전 모델
제정 ISO (1984·ISO 7498) DARPA / ARPANET (1983)
계층 수 7 4
용도 통신 분업 학습·설계 기준 실제 데이터 통신 구현

🔑 암기 OSI = 이론 표준(7), TCP/IP = 실전 표준(4). "인터넷의 실제 통신 모델은?" → TCP/IP. ⚠️ 함정 "인터넷 표준 = OSI" ❌ → OSI는 참조 모델, 실제 인터넷이 쓰는 것은 TCP/IP. 🎯 빈출 두 모델의 성격 구분·계층 수(7 vs 4) 단답형. 44강 OSI 골격 위에서 출발한다. 💡 OSI = 표준화 회의실에서 만든 설계도, TCP/IP = 현장에서 굳어진 실전 시스템.

★네인전응★ — TCP/IP 4계층 + 종합표 ·4계층 골격·시험 1순위·

[정의] TCP/IP는 통신을 4개 계층으로 나눈다. 아래(1층)에서 위(4층)로 네트워크 인터페이스 → 인터넷 → 전송 → 응용. 두음 ★네인전응★.

[표] ★네인전응★ (1층 → 4층)

계층 두음 영문 한국어
4 Application 응용
3 Transport 전송
2 Internet 인터넷
1 Network Interface 네트워크 인터페이스

[표] 4계층 종합표 — 이 한 장이 45강의 골격

TCP/IP 계층 핵심 역할 대표 프로토콜 PDU
4 응용 사용자 직접 서비스 + 부호화·암호화 HTTP·HTTPS·FTP·SMTP·DNS·SSH·SNMP 데이터
3 전송 종단 간 신뢰성 + 포트 번호 TCP(연결형)·UDP(비연결형) 세그먼트 / 데이터그램
2 인터넷 경로 설정(라우팅) + 논리 주소 IP·ARP·RARP·ICMP·IGMP (IP-ARIG) 패킷
1 네트워크 인터페이스 물리 전송 + MAC + 프레임/비트 Ethernet·Wi-Fi(802.11) 프레임 / 비트

🔑 암기 ★네인전응★ — 네트워크IF·인터넷·전송·응용 (1→4). 거꾸로 4→1은 응·전·인·네. ⚠️ 함정 "TCP/IP = 5계층" ❌ → 4계층. 계층 수·순서를 OSI 7과 섞는 보기가 단골. 🎯 빈출 4계층 순서 나열·계층별 프로토콜 매칭이 매 회차 1순위 문항. 📝 기출 기출 2 (4계층 순서)

OSI 7 → TCP/IP 4 매핑 — 7=4·상3합1·하2합1 ·4계층 골격·시험 단골·

[정의] 44강 OSI 7계층(★아프세전네대물★)을 TCP/IP 4계층(★네인전응★)으로 압축하는 규칙. 위 3층(응·표·세)을 응용 하나로, 아래 2층(대·물)을 네트워크 인터페이스 하나로 묶고, 가운데 2층(전·네)은 그대로 둔다.

[흐름] OSI 7 → TCP/IP 4 압축

텍스트
  [OSI 7계층 · 아프세전네대물]              [TCP/IP 4계층 · 네인전응]

  7 응용 · 6 표현 · 5 세션   ──   4 응용 (응)                  · 상3합1
  4 전송                     ──   3 전송 (전)                  · 그대로
  3 네트워크                 ──   2 인터넷 (인)                · 그대로
  2 데이터링크 · 1 물리      ──   1 네트워크 인터페이스 (네)   · 하2합1

[표] 매핑 요약

TCP/IP 4계층 포함 OSI 계층 규칙
4 응용 7 응용 + 6 표현 + 5 세션 상3합1
3 전송 4 전송 1:1
2 인터넷 3 네트워크 1:1
1 네트워크 인터페이스 2 데이터링크 + 1 물리 하2합1

🔑 암기 7=4 · 상3합1 · 하2합1. ★아프세전네대물★만 외우면 4계층은 자동으로 도출된다. ⚠️ 함정 "TCP/IP 응용 = OSI 응용 1개" ❌ → 응용+표현+세션 3개(5+6+7). 네트워크 인터페이스 = 데이터링크+물리(1+2). 🎯 빈출 "TCP/IP 응용 계층에 해당하는 OSI 계층은?" 단답형이 매년 단골.


대단원 2 — 인터넷 계층 (인)

★IP-ARIG★ — 인터넷 계층 5대 프로토콜 + 라우터 ·인터넷 계층·시험 1순위·

[정의] ★네인전응★의 인 — 인터넷 계층(TCP/IP 2층)은 경로 설정(라우팅)과 논리 주소(IP)를 담당한다. 5대 프로토콜을 두음 ★IP-ARIG★로 묶는다. 이 5종이 동작하는 장비가 44강 ★허리스브라게★의 라우터(IP 주소로 경로 선택).

[표] ★IP-ARIG★ — 인터넷 계층 5종

두음 프로토콜 역할
IP Internet Protocol 비연결형 전송 · 논리 주소(IP) 관리 · 경로 설정
A ARP (Address Resolution Protocol) IP → MAC 변환 (정방향)
R RARP (Reverse ARP) MAC → IP 변환 (역방향)
I ICMP (Internet Control Message Protocol) 오류 보고·진단 (ping이 사용)
G IGMP (Internet Group Management Protocol) 멀티캐스트 그룹 가입/탈퇴 관리

🔑 암기 ★IP-ARIG★ 5종은 모두 인터넷 계층(2). ARP = IP→MAC, RARP = MAC→IP(반대). 동작 장비 = 라우터. ⚠️ 함정 ARP 방향을 뒤집은 보기가 단골(44강에서 주소 변환 4종으로 자세히 다뤘다). SNMP는 이름에 'Network'가 들어가도 응용 계층(4) — IP-ARIG 5종에 없으면 인터넷 계층이 아니다. 🎯 빈출 "응용 계층 프로토콜이 아닌 것 / 인터넷 계층이 아닌 것"으로 IP-ARIG에 SNMP·DNS를 섞어 출제. 📝 기출 기출 7 (인터넷 계층 아닌 것 = SNMP) 💡 ICMP = 배송 사고 신고(목적지 없음·경로 없음을 송신자에게 보고). IGMP = 단체 채팅방 관리(가입·탈퇴).

IP 프로토콜 심화 — 비연결형·Best Effort·TTL·헤더 20B ·인터넷 계층·시험 1순위·

[정의] IP(Internet Protocol) = 인터넷 계층의 핵심. 사전 연결 없이 패킷을 보내는 비연결형(Connectionless) 프로토콜이며, 도착 여부·순서를 보장하지 않는 Best Effort 방식이다. 신뢰성은 상위 전송 계층(TCP)이 책임진다.

[표] IP 핵심 특성

특성 설명
전송 방식 비연결형(Connectionless) — 연결 설정 없이 즉시 전송
신뢰성 Best Effort — 도착·순서 보장 X (신뢰성은 TCP 담당)
헤더 크기 기본 20바이트 · 옵션 포함 최대 60바이트
PDU 패킷(Packet) / 데이터그램(Datagram)

[흐름] IP 헤더 — 기본 20 bytes

텍스트
  IP 헤더 (기본 20 bytes · 옵션 포함 최대 60B)
  +-------------------------------------------+
  | Version | IHL | Total Length             |
  | TTL | Protocol | Header Checksum          |
  | Source IP Address              (32 bit)   |
  | Destination IP Address         (32 bit)   |
  +-------------------------------------------+

  단골 필드: Version(IPv4=4) · TTL(라우터 통과마다 -1) ·
            Protocol(TCP=6 / UDP=17) · 출발/도착 주소 각 32비트

🔑 암기 IP 헤더 기본 20바이트(160비트). 출발지·도착지 주소 각 32비트(IPv4). TTL은 라우터 1개 통과마다 1 감소, 0이 되면 폐기. ⚠️ 함정 "IP가 신뢰성을 보장한다" ❌ → IP는 Best Effort, 신뢰성은 TCP 책임. TTL의 역할(무한 루프 방지)을 헤더 길이 등으로 바꾸는 보기. 🎯 빈출 IP 헤더 크기(20B)·주소 길이(32비트)·TTL 역할이 단답형으로 매 회차 단골. IP 주소 체계(클래스·서브네팅)와 IPv6는 46강에서 계산까지 다룬다. 💡 IP = 일반우편 — 주소대로 보내주지만 도착 확인까지는 안 한다(그건 TCP의 일). TTL = 쿠폰 유효기간, 무한 루프 방지.


대단원 3 — 전송 계층 (전)

전송 계층 + 포트 번호 — 종단 간·소켓·포트 범위 ·전송 계층·시험 1순위·

[정의] 전송 계층(Transport · TCP/IP 3층) = 송신지와 수신지 사이 종단 간(End-to-End) 신뢰성 전송을 책임지고, 포트 번호로 어느 응용 프로그램에 전달할지 식별한다. 포트 번호는 16비트(0~65535)로 한 컴퓨터에 최대 65,536개. IP와 포트를 합친 IP:Port 쌍이 통신의 종단점인 소켓(Socket)이다.

[표] IP 주소 vs 포트 번호 vs 소켓

구분 크기 식별 대상 비유
IP 주소 32비트(IPv4) 어느 컴퓨터인가 아파트 동 번호
포트 번호 16비트(0~65535) 어느 프로그램인가 호수
소켓(Socket) IP:Port 쌍 통신의 종단점 103동 802호

[표] 포트 번호 범위 3종

구분 범위 설명
Well-Known 0~1023 IANA 국제 표준 서비스 (21F23T25S53D80H)
Registered 1024~49151 IANA 등록 (응용 서버 등)
Dynamic 49152~65535 클라이언트 임시 사용 (접속마다 다른 포트)

🔑 암기 포트 = 16비트(0~65535). 종단 간 = 전송 계층. Well-Known 0~1023. 소켓 = IP:Port. ⚠️ 함정 "종단 간 = 데이터링크" ❌ → 종단 간은 전송 4, 지점 간이 데이터링크 2(44강). 포트 범위를 섞는 보기. 🎯 빈출 "프로세스에 접근하기 위한 번호는?" → 포트. 포트 비트 수(16)·범위(0~65535)가 단답형 단골. 📝 기출 기출 4 (프로세스 접근 헤더 필드 = 포트) 💡 한 컴퓨터에 웹·메신저·이메일을 동시에 켜도 안 섞이는 이유 = 각각 다른 포트(호수)를 쓰기 때문.

TCP vs UDP — 7항목 + 헤더 20B/8B + Flags 6종 ·전송 계층·시험 1순위·

[정의] 전송 계층의 두 프로토콜. TCP는 연결형·신뢰성 중심, UDP는 비연결형·속도 중심. 44강에서 OSI 전송 계층 관점으로 7항목을 다뤘고, 여기서는 헤더 구조와 제어 비트(Flags)까지 본격적으로 본다.

[표] TCP vs UDP 7항목 (핵심 요약)

항목 TCP UDP
연결 방식 연결형 (싸싹악 3-Way) 비연결형
신뢰성 높음 (순서·오류·재전송) 보장 안 함
속도 상대적으로 느림 빠름
PDU 세그먼트(Segment) 데이터그램(Datagram)
헤더 크기 20 bytes 기본 (최대 60B) 8 bytes 고정
흐름/혼잡 제어 있음 (슬라이딩 윈도우) 없음
사용 예 웹·이메일·파일전송·SSH DNS·VoIP·온라인 게임

[흐름] TCP 헤더(20B) vs UDP 헤더(8B)

텍스트
  TCP 헤더 (20 bytes 기본 · 옵션 포함 최대 60B)
  +-------------------------------------------+
  | Source Port (16) | Destination Port (16)  |
  | Sequence Number (32)                       |
  | Acknowledgement Number (32)                |
  | HLen | Flags(6) | Window Size (16)         |
  | Checksum (16)    | Urgent Pointer (16)     |
  +-------------------------------------------+

  UDP 헤더 (8 bytes 고정)
  +-------------------------------------------+
  | Source Port (16) | Destination Port (16)  |
  | Length (16)      | Checksum (16)          |
  +-------------------------------------------+

[표] TCP Flags 6종 (제어 비트)

플래그 전체 이름 의미
URG Urgent 긴급 데이터
ACK Acknowledgement 확인 응답 (싸싹악의 악)
PSH Push 즉시 전달
RST Reset 연결 강제 초기화
SYN Synchronize 연결 시작 (싸싹악의 싸)
FIN Finish 연결 종료 (파악파악의 파)

🔑 암기 TCP = 연결형·세그먼트·20B·제어 O. UDP = 비연결형·데이터그램·8B·제어 X. Flags 6종 = URG·ACK·PSH·RST·SYN·FIN. ⚠️ 함정 "TCP 헤더 = 8B" ❌ → 8B는 UDP, TCP는 20B 기본. "UDP 헤더는 가변" ❌ → UDP = 8B 고정. "Flags에 PSH 없음" ❌ → 6종에 포함. 🎯 빈출 헤더 크기(20 vs 8)·PDU(세그먼트 vs 데이터그램)·연결성 뒤바꿈이 매 회차 1순위. Window Size = 16비트 → 최대 65,535B(약 64KB). 📝 기출 기출 3 (TCP 옳지 않은 것) 💡 TCP = 등기우편(확인·재전송·정렬, 느리지만 확실). UDP = 전단지 뿌리기(던지고 끝, 빠르지만 보장 없음).


대단원 4 — TCP 연결 관리

★싸싹악★ — 3-Way Handshake (연결 설정) ·연결 관리·시험 1순위·

[정의] TCP가 데이터를 보내기 전에 먼저 연결을 맺는 3단계 절차. SYN → SYN+ACK → ACK 순서로 두음 ★싸싹악★. 핵심은 2단계에서 서버가 SYN과 ACK를 한 번에 동시 전송하기 때문에 3단계로 끝난다는 점.

[흐름] 3-Way Handshake

텍스트
   Client  ────  SYN ─────────  Server      싸 · "연결할까?"
   Client  ───  SYN+ACK ──────  Server      싹 · "그래, 나도 준비"
   Client  ────  ACK ─────────  Server      악 · "확인! 연결 완료"
   ──────────────────────────────────────────────────────────
   연결 완료  이후 데이터 전송 시작

[표] 단계별 정리

단계 방향 플래그 설명
① 싸 C → S SYN 클라이언트가 연결 요청
② 싹 S → C SYN+ACK 서버 응답 — 자기 SYN + 클라이언트 ACK 동시
③ 악 C → S ACK 클라이언트 최종 확인 → 연결 완료

🔑 암기 ★싸싹악★ = SYN → SYN+ACK → ACK. 2단계 SYN+ACK 동시 전송이 3단계의 핵심. ⚠️ 함정 "SYN → ACK → SYN+ACK" 순서 뒤바꿈이 매 회차 단골. 정답은 SYN → SYN+ACK → ACK. 🎯 빈출 단계별 화살표 그림·플래그 조합으로 매 회차 1순위 출제. 📝 기출 기출 1 (3-Way 순서) 💡 전화 통화 첫 인사 3단계 — "여보세요?"(SYN) → "네, 들려요!"(SYN+ACK) → "좋아요, 얘기합시다!"(ACK).

★파악파악★ — 4-Way Handshake (연결 해제) + 왜 3 vs 4 ·연결 관리·시험 1순위·

[정의] 연결을 끊을 때는 FIN → ACK → FIN → ACK 4단계가 필요하다. 두음 ★파악파악★. 설정은 3단계인데 해제는 왜 4단계인가 — 한쪽이 끊자고 해도 다른 쪽에 미처리 데이터가 남아 있을 수 있어 ACK를 먼저, FIN을 나중에 분리해 보내기 때문이다.

[흐름] 4-Way Handshake

텍스트
   Client  ────  FIN ─────────  Server      파 · "이제 끊을게"
   Client  ───  ACK ──────────  Server      악 · "알겠어 (데이터 정리)"
   Client  ───  FIN ──────────  Server      파 · "나도 정리 끝, 끊자"
   Client  ────  ACK ─────────  Server      악 · "확인, 종료"

[표] 설정(3-Way) vs 해제(4-Way)

비교 연결 설정 (싸싹악) 연결 해제 (파악파악)
단계 수 3단계 4단계
2단계 SYN+ACK 동시 전송 ACK 먼저, FIN은 나중에 분리
이유 수신측 즉시 응답 가능 수신측 미처리 데이터 정리 시간 필요

🔑 암기 설정 = ★싸싹악★ 3-Way(SYN+ACK 합쳐 3단계) / 해제 = ★파악파악★ 4-Way(ACK·FIN 분리 4단계). ⚠️ 함정 "TCP 연결 해제는 3-Way" ❌ → 해제는 4-Way. "해제 시 SYN 사용" ❌ → 해제는 FIN, SYN은 연결 시작용. 🎯 빈출 3 vs 4 단계 뒤바꿈·해제 플래그(FIN)가 매 회차 단골. 💡 카페 퇴장 4단계 — "갈게요!"(FIN) → "잠깐 계산서 정리"(ACK) → "정리 끝, 안녕히"(FIN) → "감사합니다!"(ACK).


대단원 5 — 응용 계층 (응)

응용 계층 + ★21F23T25S53D80H★ Well-Known 포트 ·응용 계층·시험 1순위·

[정의] ★네인전응★의 응 — 응용 계층(TCP/IP 4층, OSI 5+6+7 흡수). 사용자가 직접 쓰는 서비스에 더해 부호화·압축·암호화(표현 계층 일)와 세션 관리까지 흡수한다. 주요 프로토콜의 포트 번호 5개를 두음 ★21F23T25S53D80H★로 묶는다.

[표] ★21F23T25S53D80H★ — Well-Known 포트 5개

포트 프로토콜 시그니처
21 FTP (제어) 파일 전송
23 Telnet 원격 터미널 접속
25 SMTP 이메일 전송
53 DNS 도메인 → IP 변환 (UDP)
80 HTTP 웹 페이지 전송

[표] 보조 포트 + 전송 프로토콜

포트 프로토콜 전송
20 FTP (데이터 채널) TCP
22 SSH (보안 원격, Telnet 후속) TCP
110 POP3 (이메일 수신·서버 삭제) TCP
143 IMAP (이메일 수신·서버 보관) TCP
443 HTTPS (HTTP + TLS) TCP
161 SNMP (장비 관리) UDP

🔑 암기 ★21F23T25S53D80H★ — 21F·23T·25S·53D·80H. 대부분 응용 계층은 TCP, DNS·SNMP만 UDP. ⚠️ 함정 "DNS = TCP" ❌ → 일반 조회는 UDP(53), 영역 전송·큰 응답만 TCP. "SNMP = 인터넷 계층" ❌ → SNMP = 응용 계층(4·161·UDP). FTP는 포트 2개(20 데이터·21 제어). 🎯 빈출 포트 ↔ 프로토콜 매칭, DNS/SNMP=UDP, FTP 2포트가 매 회차 단골. 📝 기출 기출 5 (Well-Known 포트 매칭) 💡 부호화·압축·암호화(표현 계층)와 세션 관리까지 모두 응용 계층에 흡수 — HTTPS의 TLS 암호화도 응용 계층 일.


대단원 6 — 흐름·오류·혼잡 제어

흐름 제어 — 정지-대기 vs 슬라이딩 윈도우 ·전송 제어·시험 단골·

[정의] 흐름 제어(Flow Control) = 송신측과 수신측의 처리 속도 차이를 조절해 수신 버퍼가 넘치지 않게 하는 기능. 2종을 분별한다.

[표] 흐름 제어 2종

방식 동작 특징
정지-대기 (Stop-and-Wait) 1개 전송 → ACK 대기 → 다음 단순·매우 느림
슬라이딩 윈도우 (Sliding Window) 여러 개 연속 전송 → ACK 받은 만큼 윈도우 이동 TCP가 사용·빠르고 효율적

[흐름] 슬라이딩 윈도우 (윈도우 크기 = 4)

텍스트
  초기       : [1][2][3][4]  5  6  7 ...    4개 동시 전송
  ① ACK 수신 : [2][3][4][5]  6  7 ...       윈도우 1칸 슬라이드
  ② ACK 수신 : [3][4][5][6]  7 ...          받은 만큼 오른쪽 이동

  윈도우 크기 = TCP 헤더 Window Size(16비트·최대 64KB)에서 결정

🔑 암기 "한 번에 하나만" = 정지-대기. "여러 개 동시" = 슬라이딩 윈도우(TCP). Window Size 16비트 → 최대 65,535B(약 64KB). ⚠️ 함정 "슬라이딩 윈도우 = 한 번에 하나" ❌ → 여러 개 동시. 정지-대기와 뒤바꿈. 🎯 빈출 두 방식 분별·Window Size 비트 수가 단답형 단골. TCP가 빠른 이유 = 슬라이딩 윈도우. 💡 정지-대기 = 1명 입장 후 나올 때까지 대기. 슬라이딩 윈도우 = 동시 4명 입장, 1명 나오면 1명 추가.

★정연(고셀)적★ — ARQ 4종 (오류 제어) ·오류 제어·시험 1순위·

[정의] ARQ(Automatic Repeat reQuest) = 오류가 검출되면 재전송을 요청하는 오류 제어 방식. 4종을 두음 ★정연(고셀)적★으로 묶는다. 연속 ARQ가 다시 고(Go-Back-N)·셀(Selective Repeat)로 갈린다.

[표] ★정연(고셀)적★ — ARQ 4종

두음 ARQ 종류 핵심 동작 특징
정지-대기 (Stop-and-Wait) 1개 보내고 ACK 대기 가장 단순·느림
연(고) Go-Back-N 오류 이후 전부 재전송 버퍼 작음·중복 단점
연(셀) Selective Repeat 오류 블록만 재전송 큰 버퍼·복잡한 논리
적응적 (Adaptive) 블록 길이 동적 변경 유연·복잡

🔑 암기 ★정연(고셀)적★ — 정지대기·고(Go-Back-N)·셀(Selective)·적응적. 고 = 전부 재전송, 셀 = 오류만 재전송. ⚠️ 함정 Go-Back-N과 Selective Repeat 뒤바꿈이 매 회차 단골. "오류 블록만 + 큰 버퍼 + 복잡" = Selective Repeat. 🎯 빈출 설명 → ARQ 기법 매칭. 고 vs 셀 분별이 결정 문항. 📝 기출 기출 6 (Selective Repeat) 💡 답안지 채점 비유 — 고(Go-Back-N) = 5번 틀리면 5번부터 전부 다시 / 셀(Selective) = 5번만 다시.

혼잡 제어 + TCP 신뢰성 5종 종합 ·전송 제어·시험 간헐·

[정의] 혼잡 제어(Congestion Control) = 네트워크 내부의 혼잡(과부하)을 송신측이 감지해 전송량을 조절하는 기능. 흐름 제어가 송·수신 양측 속도 차를 맞추는 것이라면, 혼잡 제어는 네트워크 전체 상태를 본다. TCP만 가진 기능(UDP에는 없음).

[표] 혼잡 제어 알고리즘

알고리즘 동작
Slow Start 처음엔 천천히, 혼잡 없으면 지수적(2배) 증가
AIMD 정상이면 1씩 증가(가산), 손실 시 절반 감소(승산)
Fast Retransmit 중복 ACK 3회 수신 → 타임아웃 전 즉시 재전송

[표] TCP 신뢰성 5종 — 결합되어 완성

# 메커니즘 담당
1 싸싹악 3-Way 연결 설정
2 파악파악 4-Way 연결 해제
3 슬라이딩 윈도우 흐름 제어
4 Slow Start + AIMD 혼잡 제어
5 정연(고셀)적 ARQ 오류 제어

🔑 암기 혼잡 제어 = Slow Start(지수↑)·AIMD(가산↑/승산↓)·Fast Retransmit(중복 ACK 3회). TCP 신뢰성 5종 결합. ⚠️ 함정 "UDP도 혼잡 제어를 한다" ❌ → 흐름·혼잡 제어 모두 TCP만. UDP는 둘 다 없음. 🎯 빈출 TCP만의 기능(흐름·혼잡 제어) 묻기가 단골. 알고리즘 이름 매칭은 간헐. 🌟 이 카드는 TCP 신뢰성 전체를 한 컷으로 묶는 마무리 — 5종 결합만 잡으면 충분. 💡 AIMD = 고속도로 — 비면 천천히 가속(가산), 막히면 급히 감속(승산).


기출 다지기

[기출 1 출제] TCP가 연결을 설정할 때 사용하는 3-Way Handshake의 올바른 순서는? (올바른 순서 고르기)

  • ① SYN → ACK → SYN+ACK
  • ② SYN → SYN+ACK → ACK
  • ③ ACK → SYN → SYN+ACK
  • ④ SYN+ACK → SYN → ACK
정답 및 해설 보기

정답: ② SYN → SYN+ACK → ACK

보기 판정 해설
① SYN → ACK → SYN+ACK 2·3단계 뒤바뀜
② SYN → SYN+ACK → ACK ✅ 정답 ★싸싹악★ — 2단계 SYN+ACK 동시 전송
③ ACK → SYN → SYN+ACK ACK가 먼저 올 수 없음
④ SYN+ACK → SYN → ACK 시작이 SYN(클라이언트 요청)이어야 함

🔑 암기 ★싸싹악★ = SYN → SYN+ACK → ACK. 연결 설정은 3-Way, 연결 해제는 ★파악파악★ 4-Way(FIN→ACK→FIN→ACK).

[기출 2 출제] TCP/IP 프로토콜의 계층 구조를 하위(1계층)에서 상위(4계층)로 올바르게 나열한 것은? (올바른 순서 고르기)

  • ① 응용 → 전송 → 인터넷 → 네트워크 인터페이스
  • ② 네트워크 인터페이스 → 인터넷 → 전송 → 응용
  • ③ 네트워크 인터페이스 → 전송 → 인터넷 → 응용
  • ④ 물리 → 데이터링크 → 네트워크 → 전송
정답 및 해설 보기

정답: ② 네트워크 인터페이스 → 인터넷 → 전송 → 응용

보기 판정 해설
상위(4)에서 하위(1)로 거꾸로 나열
✅ 정답 ★네인전응★ (1→4)
전송·인터넷 순서 뒤바뀜
OSI 하위 계층 명칭(TCP/IP는 4계층)

🔑 암기 ★네인전응★ — 네트워크IF(1)·인터넷(2)·전송(3)·응용(4). TCP/IP는 4계층이지 5계층이 아니다.

[기출 3 출제] TCP에 대한 설명으로 옳지 않은 것은? (옳지 않은 것 고르기)

  • ① 신뢰성 있는 연결형 서비스를 제공한다
  • ② 송수신 프로세스를 포트 번호로 다중화한다
  • ③ 순서 제어·흐름 제어·오류 제어를 제공한다
  • ④ 비연결형으로 데이터그램 단위로 전송한다
정답 및 해설 보기

정답: ④ 비연결형으로 데이터그램 단위로 전송한다

보기 판정 해설
① 연결형·신뢰성 ❌ (맞음) ★싸싹악★ 3-Way로 연결
② 포트 다중화 ❌ (맞음) 포트 번호로 프로세스 식별
③ 3대 제어 ❌ (맞음) 순서·흐름·오류 제어
④ 비연결형·데이터그램 ✅ 정답 UDP의 특성! TCP는 연결형·세그먼트

🔑 암기 비연결형·데이터그램 = UDP. TCP = 연결형·세그먼트. TCP/UDP 특성 뒤바꿈은 매 회차 1회 이상 단골.

[기출 4 출제] TCP/UDP 헤더에서 송신·수신 프로세스(응용 프로그램)를 식별하기 위한 필드는? (해당 필드 고르기)

  • ① 순서 번호 (Sequence Number)
  • ② 확인 응답 번호 (Acknowledgement Number)
  • ③ 윈도우 크기 (Window Size)
  • ④ 송신지/수신지 포트 (Source/Destination Port)
정답 및 해설 보기

정답: ④ 송신지/수신지 포트

보기 판정 해설
① 순서 번호 신뢰성 보장용 일련번호
② 확인 응답 번호 다음 받을 바이트 번호
③ 윈도우 크기 흐름 제어용 버퍼 크기
④ 송신지/수신지 포트 ✅ 정답 프로세스(프로그램) 식별

🔑 암기 '프로세스에 접근' = '어느 프로그램에 전달' = 포트 번호. IP = 동 번호(컴퓨터), 포트 = 호수(프로그램).

[기출 5 출제] 포트 번호와 응용 계층 프로토콜의 연결이 옳지 않은 것은? (옳지 않은 것 고르기)

  • ① 21 — FTP
  • ② 23 — Telnet
  • ③ 25 — SMTP
  • ④ 80 — DNS
정답 및 해설 보기

정답: ④ 80 — DNS

보기 판정 해설
① 21 — FTP ❌ (맞음) FTP 제어 채널
② 23 — Telnet ❌ (맞음) 원격 터미널
③ 25 — SMTP ❌ (맞음) 이메일 전송
④ 80 — DNS ✅ 정답 80 = HTTP, DNS = 53

🔑 암기 ★21F23T25S53D80H★ — 21F·23T·25S·53D·80H. 80은 HTTP, DNS는 53(UDP).

[기출 6 출제] 오류가 발생한 블록만 선택적으로 재전송하며, 수신측에 큰 버퍼와 복잡한 논리 회로를 요구하는 오류 제어 방식은? (해당 기법 고르기)

  • ① 정지-대기 ARQ (Stop-and-Wait)
  • ② Go-Back-N ARQ
  • ③ 선택적 재전송 ARQ (Selective Repeat)
  • ④ 적응적 ARQ (Adaptive)
정답 및 해설 보기

정답: ③ 선택적 재전송 ARQ (Selective Repeat)

보기 판정 해설
① 정지-대기 1개 보내고 ACK 대기 (정)
② Go-Back-N 오류 이후 전부 재전송 (고)
③ Selective Repeat ✅ 정답 오류 블록만 재전송·큰 버퍼·복잡 (셀)
④ 적응적 블록 길이 동적 변경 (적)

🔑 암기 ★정연(고셀)적★ — 고(Go-Back-N) = 전부 재전송(버퍼 작음), 셀(Selective) = 오류만 재전송(버퍼 큼·복잡). 두 기법 뒤바꿈이 단골.

[기출 7 출제] TCP/IP 인터넷 계층의 프로토콜에 해당하지 않는 것은? (옳지 않은 것 고르기)

  • ① IP
  • ② ICMP
  • ③ IGMP
  • ④ SNMP
정답 및 해설 보기

정답: ④ SNMP

보기 판정 계층
① IP ❌ (인터넷 2) IP-ARIG의 IP
② ICMP ❌ (인터넷 2) 오류 보고·ping
③ IGMP ❌ (인터넷 2) 멀티캐스트 그룹 관리
④ SNMP ✅ 정답 응용 계층(4)·161·UDP

🔑 암기 인터넷 계층 = ★IP-ARIG★ 5종(IP·ARP·RARP·ICMP·IGMP). SNMP·DNS·HTTP는 응용 계층 — 이름에 'Network'가 들어가도 5종에 없으면 인터넷 계층이 아니다.


한 장 요약

시험장 5분 — 6총사 즉답

# 두음 즉답
★네인전응★ 네트워크IF·인터넷·전송·응용 (1→4)
★IP-ARIG★ IP·ARP·RARP·ICMP·IGMP (인터넷 계층 5종)
★싸싹악★ SYN → SYN+ACK → ACK (3-Way 설정)
★파악파악★ FIN → ACK → FIN → ACK (4-Way 해제)
★21F23T25S53D80H★ FTP21·Telnet23·SMTP25·DNS53·HTTP80
★정연(고셀)적★ 정지대기·Go-Back-N·Selective·적응적

4계층 마스터 표

TCP/IP 계층 OSI 매핑 핵심 프로토콜 PDU
4 응용 5+6+7 HTTP·FTP·SMTP·DNS(UDP)·SSH·SNMP(UDP) 데이터
3 전송 4 TCP(연결·싸싹악)·UDP(비연결) 세그먼트/데이터그램
2 인터넷 3 IP-ARIG (IP·ARP·RARP·ICMP·IGMP) 패킷
1 네트워크IF 1+2 Ethernet·Wi-Fi 프레임/비트

핵심 함정 (매년 1회 이상)

오답 ❌ 정답 ✅
TCP = 비연결형 TCP = 연결형 (싸싹악)
TCP/IP = 5계층 4계층 (네인전응)
DNS = TCP DNS = UDP (53)
TCP 헤더 = 8B TCP 20B / UDP 8B
ARP = MAC → IP ARP = IP → MAC
SNMP = 인터넷 계층 SNMP = 응용 4

핵심 수치: TCP 헤더 20B(최대 60B) · UDP 헤더 8B(고정) · IP 헤더 20B · 포트 16비트(0~65535) · Window 16비트(최대 64KB) · Well-Known 0~1023.

전체 목록 필기 이론

합격까지

정처기, 혼자 막막하다면

초개인화 학습앱 Klue와 에듀윌 온라인강의로 합격까지 이어가세요.