TCP/IP 완전기초 — 우편 시스템에 비유해 끝까지 이해하는 네트워크의 뼈대

안녕하세요, 도담인사이트입니다. 😊
지금까지 방화벽, IPS/IDS 같은 보안 장비를 다뤘는데요, 이 모든 것의 바탕이 되는 기초 중의 기초가 바로 TCP/IP입니다. 네트워크를 공부하면 평생 따라다니는 개념이죠.

이번 글은 TCP/IP를 처음 접하는 분을 위해 작정하고 길게 썼습니다. 모델 구조, IP 주소, TCP와 UDP, 3-way 핸드셰이크, 포트, 캡슐화, 그리고 "웹페이지 하나 열 때 실제로 무슨 일이 일어나는지"까지 비유와 함께 차근차근 풀어보겠습니다. 북마크해 두고 천천히 읽어보세요!

📑 목차
  1. TCP/IP란? — 전 세계가 합의한 통신 약속
  2. 왜 '계층(Layer)'으로 나눌까? — 분업의 힘
  3. OSI 7계층 vs TCP/IP 4계층
  4. TCP/IP 4계층 하나씩 뜯어보기
  5. IP 주소 완전 기초 (IPv4 · 사설/공인 · 서브넷)
  6. MAC 주소 vs IP 주소 — 뭐가 다를까?
  7. TCP vs UDP — 등기우편 vs 엽서
  8. 포트(Port)와 잘 알려진 포트 번호
  9. TCP 3-way / 4-way 핸드셰이크
  10. 캡슐화(Encapsulation) — 택배 포장의 비밀
  11. 실전: 웹페이지 하나 열 때 일어나는 모든 일
  12. 함께 알아둘 핵심 프로토콜 (ARP·ICMP·DHCP·DNS·NAT)
  13. 실무 확인 명령어 모음
  14. Q&A — 초보자가 자주 묻는 질문

1. TCP/IP란? — 전 세계가 합의한 통신 약속 🌐

TCP/IP는 인터넷에서 데이터를 주고받기 위한 통신 규칙(프로토콜)들의 묶음입니다. 이름은 대표 프로토콜인 TCP(Transmission Control Protocol)와 IP(Internet Protocol)에서 따왔지만, 실제로는 수십 개의 프로토콜이 함께 동작하는 패밀리(protocol suite)를 가리킵니다.

📮 비유: 전 세계 우편 시스템을 떠올려 보세요. 나라마다 언어와 화폐는 달라도, "주소는 봉투 앞면에, 우표는 오른쪽 위에, 국가코드를 붙이면 국제배송" 같은 공통 약속이 있어야 편지가 지구 반대편까지 갑니다. TCP/IP는 바로 이 "전 세계 컴퓨터들이 지키기로 한 공통 약속"입니다.

이 약속 덕분에 삼성 노트북이든, 애플 아이폰이든, 미국의 구글 서버든 제조사·운영체제·국가가 달라도 서로 막힘없이 통신할 수 있습니다.

📖 먼저 알아둘 핵심 용어

용어 쉬운 설명
프로토콜(Protocol)통신을 위한 약속/규칙. "이렇게 말하면 이렇게 답한다"는 통신 예절.
패킷(Packet)데이터를 작게 쪼갠 한 조각. "택배 상자 하나".
헤더(Header)데이터 앞에 붙는 "송장(주소·정보)". 어디로 갈지, 누가 보냈는지 등을 적어둠.
호스트(Host)네트워크에 연결된 기기 하나(PC, 서버, 스마트폰 등).
클라이언트/서버요청하는 쪽(클라이언트) / 응답해 주는 쪽(서버). 손님과 식당.

2. 왜 '계층(Layer)'으로 나눌까? — 분업의 힘 🏗️

TCP/IP의 가장 중요한 아이디어는 통신 과정을 여러 '계층(층)'으로 나눈다는 점입니다. 왜 굳이 나눌까요?

📦 비유 — 택배 회사의 분업:

택배가 배송되려면 ① 물건을 포장하고 ② 주소를 붙이고 ③ 트럭으로 운송하고 ④ 받는 사람이 개봉합니다. 이걸 한 사람이 다 하지 않고 포장팀·주소팀·운송팀이 분업하죠.

이렇게 나누면 좋은 점: 운송팀이 트럭을 비행기로 바꿔도 포장 방식은 그대로 쓸 수 있습니다. 한 부분을 바꿔도 다른 부분에 영향이 적은, "각 층이 자기 일만 책임지는" 구조죠.

네트워크도 똑같습니다. "데이터를 어떻게 포장할지(응용)", "어떻게 신뢰성 있게 보낼지(전송)", "어느 IP로 보낼지(인터넷)", "실제 선로로 어떻게 흘려보낼지(네트워크 접근)"를 층층이 나눠 각 층이 자기 책임만 다하도록 설계했습니다. 그래서 Wi-Fi를 유선으로 바꿔도(맨 아래층 변경) 웹브라우저(맨 위층)는 아무 변화 없이 동작합니다.

3. OSI 7계층 vs TCP/IP 4계층 📚

네트워크 모델은 두 가지가 유명합니다. OSI 7계층은 이론·교육용 표준 모델이고, TCP/IP 4계층은 실제 인터넷이 돌아가는 현실 모델입니다. 둘은 서로 대응됩니다.

OSI 7계층 TCP/IP 4계층 대표 예시
7. 응용 / 6. 표현 / 5. 세션응용 계층
(Application)
HTTP, DNS, FTP, SMTP
4. 전송전송 계층
(Transport)
TCP, UDP
3. 네트워크인터넷 계층
(Internet)
IP, ICMP, ARP
2. 데이터링크 / 1. 물리네트워크 접근 계층
(Network Access)
이더넷, Wi-Fi, MAC

※ TCP/IP 모델을 5계층(물리/데이터링크를 분리)으로 보는 교재도 있습니다. 본 글은 가장 보편적인 4계층 기준으로 설명합니다.

4. TCP/IP 4계층 하나씩 뜯어보기 🔧

④ 응용 계층 (Application) — 사용자와 가장 가까운 층

  • 사람이 직접 쓰는 프로그램(웹브라우저, 메일, 카톡)이 데이터를 만드는 층.
  • HTTP/HTTPS(웹), DNS(이름→IP 변환), FTP(파일전송), SMTP/POP3/IMAP(메일) 등.
✉️ 비유: 편지의 내용물을 쓰는 단계. "안녕, 잘 지내?"라고 편지지에 적는 일.

③ 전송 계층 (Transport) — 신뢰성과 구분을 책임

  • 데이터를 제대로, 순서대로 보내는 걸 책임(TCP). 또는 빠르게 보내는 데 집중(UDP).
  • 포트 번호로 "이 데이터가 어느 프로그램(서비스)으로 갈지" 구분.
📑 비유: "등기로 보낼까(TCP), 엽서로 보낼까(UDP)"를 정하고, "받는 집의 몇 호실(포트)로 갈지" 적는 단계.

② 인터넷 계층 (Internet) — 목적지까지의 길찾기

  • IP 주소를 붙여 "어느 집으로 보낼지" 결정하고, 라우터를 거쳐 최적의 경로(라우팅)로 전달.
  • 대표 프로토콜: IP(주소·라우팅), ICMP(상태/오류 알림, ping이 사용), ARP(IP↔MAC 연결).
🗺️ 비유: 봉투에 받는 사람 주소를 적고, 우체국이 "이 주소면 이쪽 경로로" 길을 찾아주는 단계.

① 네트워크 접근 계층 (Network Access) — 실제 전송

  • 데이터를 실제 전기 신호·전파로 바꿔 케이블/Wi-Fi로 흘려보내는 가장 아래층.
  • 이더넷, Wi-Fi, MAC 주소가 여기서 동작.
🚚 비유: 편지를 실은 트럭이 실제 도로를 달리는 단계. 옆집까지 직접 전달.

5. IP 주소 완전 기초 🏠

IP 주소는 네트워크상에서 기기를 식별하는 "집 주소"입니다. 데이터를 어디로 보낼지 알려주죠. 가장 널리 쓰이는 IPv4는 이렇게 생겼습니다.

192   .   168   .   10   .   25
└─8bit┘  └─8bit┘ └─8bit┘ └─8bit┘   =  총 32비트 (8비트 x 4칸)

* 각 칸(옥텟)은 0 ~ 255 사이의 숫자
* 점(.)으로 구분해서 "점 십진 표기법"이라 부름

네트워크 부분 + 호스트 부분

IP 주소는 "어느 동네인지(네트워크)""그 동네 몇 번째 집인지(호스트)"로 나뉩니다. 이걸 구분해 주는 게 서브넷 마스크입니다.

🏢 비유: "서울시 강남구 테헤란로 123번지"에서, 앞부분(강남구)이 네트워크, 뒷부분(123번지)이 호스트입니다. 같은 동네(네트워크)에 속한 집끼리는 우체국 없이 바로 전달할 수 있죠.
IP 주소        : 192.168.10.25
서브넷 마스크   : 255.255.255.0    (= /24 라고도 표기, CIDR)

-> 앞 24비트(192.168.10)  = 네트워크 부분 (동네)
-> 뒤 8비트 (.25)         = 호스트 부분  (집 번호)
-> 같은 192.168.10.x 끼리는 같은 네트워크

사설 IP vs 공인 IP

공인 IP인터넷에서 전 세계 유일한 주소. ISP(통신사)가 할당. "전국에 하나뿐인 진짜 도로명 주소".
사설 IP집/회사 내부에서만 쓰는 주소(10.x / 172.16~31.x / 192.168.x). "건물 내부 호실 번호". 인터넷에 나갈 땐 NAT로 공인 IP로 변환.

6. MAC 주소 vs IP 주소 — 뭐가 다를까? 🆔

구분 MAC 주소 IP 주소
비유주민등록번호(평생 고정)집 주소(이사하면 바뀜)
변경기기에 새겨진 고유값(원칙상 불변)네트워크 바뀌면 변함
형식A4:B1:C2:D3:E4:F5192.168.10.25
역할같은 네트워크 내 직접 전달먼 곳까지 길찾기(라우팅)

📌 둘은 함께 동작합니다. "강남구 123번지(IP)"로 길을 찾아 동네에 도착하면, 마지막엔 "주민등록번호(MAC)"로 정확한 사람에게 전달합니다. 이 IP↔MAC 연결을 해주는 게 바로 ARP입니다.

7. TCP vs UDP — 등기우편 vs 엽서 📬

전송 계층의 두 주인공입니다. 같은 데이터라도 어떻게 보낼지가 다릅니다.

구분 TCP UDP
비유등기우편(수령 확인)엽서(보내고 끝)
연결연결 후 전송(3-way)연결 없이 바로 전송
신뢰성높음(분실 시 재전송, 순서 보장)낮음(분실해도 모름)
속도상대적으로 느림빠름·가벼움
용도웹, 메일, 파일전송(정확성 중요)실시간 영상·음성, 게임, DNS(속도 중요)
🔑 핵심: 화상통화에서 한두 프레임이 끊겨도 그냥 넘어가는 게 낫지(UDP), 모든 프레임을 재전송하느라 통화가 버벅이면 안 되죠. 반대로 은행 송금 데이터는 단 1byte도 틀리면 안 되니 TCP를 씁니다. "정확성 vs 속도"의 선택입니다.

8. 포트(Port)와 잘 알려진 포트 번호 🚪

IP 주소가 "건물 주소"라면, 포트는 그 건물 안의 '호실 번호'입니다. 한 서버(IP)가 웹·메일·FTP를 동시에 제공할 때, 들어온 데이터가 어느 서비스로 갈지 포트로 구분합니다.

🏢 비유: "강남빌딩(IP)에 도착했는데, 3층 카페(80번)로 갈지, 5층 사무실(443번)로 갈지"를 정하는 게 포트입니다. 회사 대표번호 + 내선번호 관계라고 봐도 좋습니다.
포트 서비스 설명
20/21FTP파일 전송
22SSH암호화 원격 접속
23Telnet원격 접속(비암호화, 지양)
53DNS도메인 이름 → IP 변환
80HTTP웹(비암호화)
443HTTPS웹(암호화) — 요즘 표준
3389RDP윈도우 원격 데스크톱

※ 0~1023번을 "잘 알려진 포트(Well-Known Port)"라고 합니다. 방화벽 정책을 짤 때 바로 이 포트 번호로 "무엇을 허용/차단할지" 정하게 됩니다(앞선 방화벽 글과 연결!).

9. TCP 3-way / 4-way 핸드셰이크 🤝

TCP는 데이터를 보내기 전에 먼저 "연결을 수립"합니다. 이 과정이 3-way 핸드셰이크입니다.

📞 비유 — 전화 통화 시작: "여보세요?(SYN)" → "네, 들려요. 말씀하세요(SYN+ACK)" → "네, 시작할게요(ACK)". 서로 들리는 걸 확인한 뒤에야 본론을 시작하죠.
[연결 수립 - 3-way handshake]
클라이언트            서버
    | --- SYN ------------> |   "연결할까요?"
    | <-- SYN + ACK ------- |   "좋아요, 저도 준비됐어요"
    | --- ACK ------------> |   "그럼 시작합니다"
            => 연결 완료, 데이터 전송 시작

[연결 종료 - 4-way handshake]
    | --- FIN ------------> |   "이제 그만 보낼게요"
    | <-- ACK ------------- |   "알겠어요"
    | <-- FIN ------------- |   "저도 다 보냈어요"
    | --- ACK ------------> |   "네, 종료합니다"

📌 SYN(연결 요청), ACK(확인 응답), FIN(종료 요청)은 TCP 헤더의 '플래그(flag)'입니다. 방화벽이 세션 상태를 추적할 때(스테이트풀!) 바로 이 플래그들을 봅니다.

10. 캡슐화(Encapsulation) — 택배 포장의 비밀 🎁

데이터는 위 계층에서 아래 계층으로 내려가며 각 층의 헤더(송장)가 하나씩 덧붙습니다. 이를 캡슐화라 하고, 받는 쪽에서 거꾸로 벗기는 걸 역캡슐화라 합니다.

🎁 비유: 편지(데이터)를 → 봉투(전송)에 넣고 → 택배 상자(IP)에 담고 → 트럭(이더넷)에 싣는 것. 받는 쪽은 트럭에서 내려 → 상자 열고 → 봉투 뜯고 → 편지를 읽습니다. 한 겹씩 포장하고, 한 겹씩 벗기는 구조죠.
[보낼 때 - 캡슐화: 위에서 아래로 헤더가 붙음]

응용    :                         [    데이터    ]
전송    :                  [TCP헤더][데이터]            <- 세그먼트
인터넷  :          [IP헤더][TCP헤더][데이터]            <- 패킷
네트워크: [이더넷헤더][IP헤더][TCP헤더][데이터][FCS]    <- 프레임

* 계층마다 데이터 단위(PDU) 이름이 다름:
  세그먼트(전송) -> 패킷(인터넷) -> 프레임(네트워크)

11. 실전: 웹페이지 하나 열 때 일어나는 모든 일 🌍

주소창에 www.dodam.com을 치고 엔터를 누르면, 그 짧은 순간에 이런 일들이 순서대로 일어납니다.

  1. DNS 조회: "www.dodam.com의 IP가 뭐죠?" → DNS 서버가 "203.0.113.50"이라고 답해줌. (전화번호부에서 이름으로 번호 찾기)
  2. ARP: 같은 네트워크에서 다음 목적지(보통 라우터)의 MAC 주소를 알아냄.
  3. TCP 3-way 핸드셰이크: 그 서버의 443번 포트와 연결 수립.
  4. HTTPS 요청: "이 페이지 주세요(GET)" 요청을 암호화해 전송.
  5. 라우팅: 패킷이 여러 라우터를 거쳐(홉 by 홉) 목적지까지 길찾기.
  6. 서버 응답: 서버가 HTML/이미지 등을 패킷으로 쪼개(캡슐화) 돌려보냄.
  7. 역캡슐화 & 렌더링: 내 PC가 패킷을 다시 조립(역캡슐화)해 브라우저가 화면을 그림.
😮 0.5초도 안 되는 사이에 DNS → ARP → TCP → HTTP → 라우팅 → 캡슐화/역캡슐화가 전부 일어납니다. 지금까지 배운 개념이 한 번에 협동하는 무대가 바로 "웹페이지 열기"인 셈이죠!

12. 함께 알아둘 핵심 프로토콜 🧩

ARPIP 주소로 MAC 주소를 알아내는 프로토콜. "이 IP 쓰는 분, MAC이 뭐예요?"라고 동네에 방송.
ICMP상태·오류를 알리는 프로토콜. pingtraceroute가 이걸 사용. "거기 살아있어요?" 확인용.
DHCPIP 주소를 자동으로 배정. 호텔 체크인 시 방 번호(IP)를 자동으로 받는 것과 같음.
DNS도메인 이름 ↔ IP 변환. "전화번호부" 역할. 사람은 이름, 컴퓨터는 IP를 쓰니 통역이 필요.
NAT사설 IP ↔ 공인 IP 변환. 회사 대표번호 하나로 수많은 내선이 외부와 통신하게 해줌.

13. 실무 확인 명령어 모음 ⌨️

배운 개념을 직접 확인해 볼 수 있는 명령어들입니다. (윈도우는 cmd, 리눅스/맥은 터미널)

# 내 IP 주소 확인
ipconfig            # (Windows)
ifconfig            # (Linux/Mac, 또는 ip addr)

# 상대방이 살아있는지 확인 (ICMP)
ping 8.8.8.8
ping www.dodam.com

# 목적지까지 거쳐가는 경로(라우터) 추적
tracert www.dodam.com     # (Windows)
traceroute www.dodam.com  # (Linux/Mac)

# 도메인의 IP 조회 (DNS)
nslookup www.dodam.com

# 현재 연결된 세션/포트 상태 보기
netstat -an

# IP <-> MAC 매핑 테이블 보기 (ARP)
arp -a
💡 해보기: ping 결과의 TTL 값과 응답 시간(ms), tracert홉(hop) 개수를 보면 "데이터가 몇 개의 라우터를 거쳐 가는지"가 눈에 보입니다. 직접 쳐보면 개념이 훨씬 빨리 와닿아요!

❓ Q&A — 초보자가 자주 묻는 질문

Q1. OSI 7계층과 TCP/IP 4계층, 둘 다 외워야 하나요?
실제 인터넷은 TCP/IP로 동작하지만, 자격증(CCNA 등)과 현업 용어는 OSI 계층(특히 L2/L3/L4/L7)으로 많이 이야기합니다. 그래서 둘의 대응 관계를 이해해 두는 게 가장 실용적입니다.
Q2. IP 주소만 있으면 되는데 왜 MAC 주소도 필요한가요?
IP는 "먼 동네까지 길찾기"용이고, MAC은 "같은 네트워크 안에서 정확한 기기에 최종 전달"용입니다. 택배가 동네까지는 주소(IP)로 오지만, 마지막엔 받는 사람 본인(MAC)에게 건네는 것과 같습니다. 역할이 달라 둘 다 필요합니다.
Q3. IPv4가 부족하다는데, IPv6는 뭔가요?
IPv4(32비트)는 약 43억 개로 한정돼 고갈 문제가 있습니다. IPv6(128비트)는 사실상 무한에 가까운 주소를 제공합니다. 당분간은 NAT로 IPv4를 아껴 쓰면서 IPv6와 공존하는 형태가 이어집니다.
Q4. 포트 번호는 누가 정하나요? 마음대로 바꿔도 되나요?
잘 알려진 포트(80, 443 등)는 국제 기구(IANA)가 정한 약속입니다. 내부적으로 다른 포트를 쓸 수도 있지만, 표준 포트를 따라야 다른 기기들이 별도 설정 없이 연결할 수 있어 편리합니다.
Q5. TCP/IP만 알면 네트워크는 다 아는 건가요?
TCP/IP는 가장 단단한 뼈대입니다. 여기에 스위칭(VLAN), 라우팅(OSPF·BGP), 보안(방화벽·IPS) 등이 살로 붙습니다. 이 기초가 탄탄하면 이후 모든 주제가 훨씬 쉬워집니다. 잘 시작하셨어요! 👍
📝 오늘의 핵심 정리
  • TCP/IP = 전 세계가 합의한 통신 약속 묶음, 통신을 4개 층으로 분업.
  • 층: 응용 → 전송 → 인터넷 → 네트워크 접근 (편지 쓰기 → 포장 → 주소 → 운송).
  • IP=집 주소(길찾기), MAC=주민번호(최종전달), 포트=호실(서비스 구분).
  • TCP=등기(정확), UDP=엽서(빠름). TCP는 3-way로 연결 후 전송.
  • 데이터는 캡슐화로 한 겹씩 포장되어 내려가고, 받는 쪽에서 한 겹씩 벗겨진다.

#TCPIP #티씨피아이피 #네트워크기초 #NetworkBasics #OSI7계층 #TCPIP4계층 #IP주소 #IPv4 #서브넷마스크 #MAC주소 #TCP #UDP #3wayhandshake #포트번호 #캡슐화 #Encapsulation #DNS #ARP #ICMP #DHCP #NAT #ping #CCNA #네트워크입문 #도담인사이트 #DodamInsight

댓글

이 블로그의 인기 게시물

네이버 아이디 탈퇴, "서비스 해지 후 가능"이라고 뜨는 이유 (2026년 최신)

VPN이란 무엇인가? 사용 이유와 장단점 쉽게 설명

듀얼모니터 연결 및 설정 방법 초보자 가이드