본문 바로가기
정보처리기사/이론설명

[이론설명 이기적] 통신 프로토콜 (OSI 7, TCP/IP)

by wildOjisan 2025. 8. 1.

🧱 OSI 7계층이란?

OSI 7계층은 네트워크 통신을 일곱 단계로 나눈 개념적 모델이야.

왜 나눴을까?
네트워크 통신이 너무 복잡하니까, 단계별로 역할을 분리해서 각 단계가 자신이 맡은 일만 하도록 하려고.

🎯 목적

  • 통신의 표준화
  • 벤더(제조사)가 달라도 서로 호환 가능하도록
  • 네트워크 문제 발생 시 어디서 문제가 생겼는지 추적하기 쉽게

계층       이름                                              역할요약                                                     예시

7계층 응용계층 (Application) 사용자와 가장 가까움, 응용프로그램 HTTP, FTP, SMTP, DNS
6계층 표현계층 (Presentation) 데이터 형식 변환, 암호화, 압축 JPEG, MP3, AES, TLS
5계층 세션계층 (Session) 연결 수립/유지/종료 로그인 유지, 세션관리, API 세션
4계층 전송계층 (Transport) 데이터 전달 보장, 흐름 제어 TCP(신뢰), UDP(빠름)
3계층 네트워크계층 (Network) 목적지까지 경로 결정, IP 주소 관리 IP, 라우터, ICMP, ARP
2계층 데이터링크계층 (Data Link) 물리 주소 관리, 에러 검출 MAC 주소, 스위치, 이더넷
1계층 물리계층 (Physical) 전기적 신호, 물리적 연결 케이블, 허브, 전압, 빛, 주파수

 

 

 

✅ 7. 응용계층이란?

OSI 7계층의 7번째 계층, 사용자가 직접 접근하는 계층

  • 네트워크 서비스를 실제 프로그램이 사용하는 단계
  • 우리가 사용하는 웹브라우저, 메일 프로그램, 파일전송 앱 같은 게 이 계층에서 동작
  • 다른 계층들과 달리, **“사람이 실제로 보는 결과물”**을 다룸

🧠 쉽게 말하면?

“응용계층 = 사람이 실제로 쓰는 프로그램과 네트워크의 접점

예를 들어,

  • 웹사이트에 접속한다 → 웹브라우저(크롬, 엣지 등) = 응용계층
  • 이메일 보낸다 → 메일 앱 = 응용계층
  • 파일을 서버에 올린다 → FTP 프로그램 = 응용계층

이때 응용계층은 "웹브라우저가 보낼 HTTP 요청을 만들고",
"그 아래 계층들이 그걸 전달하고",
**"다시 응용계층이 응답 받아서 사용자한테 보여주는 것"**이야.


🧩 응용계층이 하는 일

기능설명
사용자 인터페이스 제공 사람이 직접 조작 가능 (GUI나 명령어 등)
응용 서비스 제공 메일 전송, 웹브라우징, 파일 공유 등
네트워크 요청 생성 및 응답 처리 하위 계층에 “이걸 전송해줘”라고 명령함
프로토콜 사용 HTTP, FTP, DNS 같은 **규칙(프로토콜)**을 따름
 

🌐 어떤 프로토콜들이 응용계층?

프로토콜용도
HTTP/HTTPS 웹페이지 요청, 응답 (크롬, 엣지 등)
FTP 파일 업/다운로드
SMTP 메일 보내기
POP3, IMAP 메일 받기
DNS 도메인 → IP로 변환
Telnet, SSH 원격 로그인 (서버 접속)
 

📌 이 모든 게 응용계층에서 동작하는 서비스야.

 

 

------------------------------------------------------------------------------------------------------------------------------

 

 

🧭 6. 표현계층 (Presentation Layer)란?

데이터의 표현 방식을 표준화하고, 변환해주는 계층
즉, "서로 다른 시스템끼리 데이터를 이해할 수 있게 만들어주는 계층"


🎯 역할 정리

 

데이터 형식 변환 서로 다른 포맷 간의 변환
인코딩 / 디코딩 예: UTF-8 ↔ EUC-KR
암호화 / 복호화 보안 전송 시 사용
압축 / 해제 데이터 크기 줄이기
 

🧠 왜 필요할까?

현실에서는 컴퓨터마다

  • 사용하는 문자 인코딩 방식이 다르고
  • 파일 형식, 구조도 다르고
  • 보안을 위해 암호화도 해야 하고
  • 전송 효율을 위해 압축도 하잖아?

그런데 내가 전송한 걸 상대방이 제대로 이해 못하면 통신이 실패지.

그래서 표현계층이 **"서로 이해할 수 있는 형식으로 변환해주는 번역가 역할"**을 해주는 거야.


🔁 예시로 이해하기

🧵 예시 1: 문자 인코딩

  • A 컴퓨터: UTF-8 방식
  • B 컴퓨터: EUC-KR 방식

표현계층이 “UTF-8로 된 데이터를 EUC-KR로 변환”해줘야 글자가 깨지지 않음


🔐 예시 2: 암호화된 메시지

  • 클라이언트: “비밀번호 1234” → AES로 암호화
  • 서버: 암호 해제(AES 복호화)해서 읽어야 함

이 작업도 표현계층에서 이뤄져


📦 예시 3: 파일 압축

  • 큰 이미지 파일 → 압축해서 전송
  • 받는 쪽에서 압축 해제해야 정상적으로 표시됨

ZIP, JPEG, MP3도 표현계층이 처리


🧪 현실 적용 예

 

웹사이트 접속 시 HTTPS TLS/SSL 암호화 처리
유튜브 영상 스트리밍 영상은 압축된 상태 (H.264, MP3 등)
파일 업로드 인코딩 및 압축 처리 가능성 존재
 

📋 시험 포인트 정리

 

데이터 압축, 암호화, 변환 표현계층
서로 다른 시스템 간 표현 형식 통일 표현계층
JPEG, MP3, MPEG 등 등장 표현계층
TLS, SSL의 위치를 물어볼 때 표현계층 or 응용계층 사이 경계로 취급됨

 

 

--------------------------------------------------------------------------------------------------------------------------------------

 

 

🧭 5. 세션 계층(Session Layer)이란?

“서로 통신하는 두 장치(또는 앱) 사이의 **대화(세션)**를
시작하고, 유지하고, 끝내는 일을 담당하는 계층”


🧠 쉽게 말하면?

📞 전화 통화에 비유하자면…

단계                                          해당 계층                                                 설명

 

"여보세요?" 세션 계층 연결 수립 (세션 시작)
대화 중 세션 계층 연결 유지
"끊을게요" 세션 계층 연결 종료
말하는 내용 전송 계층 데이터 전송(TCP 등)
음성 전달 물리계층~3계층 실제 전달 매체
 

즉, 세션 계층은 대화의 틀을 만들고 유지하는 역할을 하는 거야.
실질적인 대화 내용(데이터)은 전송계층 이하에서 처리하고.


🎯 세션 계층의 핵심 역할

 

세션 설정 클라이언트-서버 간 연결 시작
세션 유지 끊기지 않도록 연결 유지
세션 종료 사용 끝나면 정리 (자원 반환)
동기화(Sync) 중간에 끊겨도 이어받을 수 있도록 체크포인트 삽입
 

🧪 현실 예시로 이해하기

✅ 1. 로그인 상태 유지

  • 웹사이트 로그인하면 일정 시간 동안 유지됨
    → 세션 계층이 이 “로그인 세션”을 관리

✅ 2. 동영상 스트리밍 중 끊겼다가 재생됨

  • 이어보기 가능하게 함 → 세션 + 동기화 기능

✅ 3. API 통신 시 세션 유지

  • 서버와 REST API 통신에서 세션ID로 상태 유지

📋 시험 포인트 정리

 

“통신 연결의 설정, 유지, 종료를 담당하는 계층은?” 세션 계층
“동기점(Synchronization point)을 설정하는 계층은?” 세션 계층
“대화 제어(Dialog Control)”라는 단어가 나올 경우 세션 계층
“클라이언트와 서버의 연결 상태 관리” 세션 계층

 

 

----------------------------------------------------------------------------------------------------------------------------------

 

 

 

🚚 4. 전송 계층 (Transport Layer)란?

“전송 계층은 두 장치 간의 데이터 전송을 신뢰성 있게 해주는 계층이다.”

  • 데이터를 쪼개고(TCP 세그먼트)
  • 순서대로 정리하고
  • 손실 없이
  • 다시 합쳐서 원래대로 도착하게 만드는 역할

🧠 쉽게 말하면?

전송계층은 “택배 기사님 + 분실 방지 시스템”

  • 데이터 = 택배 상자들
  • 택배 번호 붙여서 순서대로 보내고
  • 안 도착하면 다시 보내고
  • 다 도착하면 조립해서 사용자에게 전달

이런 식으로 "신뢰성 있게" 데이터를 관리하는 게 전송계층의 핵심이야.


🎯 전송계층의 주요 기능

 

신뢰성 보장 누락된 데이터 재전송, 순서 보장
흐름 제어 상대방이 버벅일 때 속도 줄임
혼잡 제어 네트워크가 막히면 조절
포트 번호 관리 앱(프로세스) 구분 (HTTP, FTP 등 각각 포트번호 가짐)
다중화/역다중화 여러 앱이 하나의 네트워크를 공유하도록 도와줌
 

🔑 핵심 개념: TCP와 UDP

구분                  TCP                                                                                  UDP

 

방식 연결지향(Connection-oriented) 비연결지향(Connectionless)
신뢰성 높음 (데이터 보장) 낮음 (빠르지만 손실 가능)
순서보장 O X
속도 느림 빠름
사용 예 HTTP, 메일(SMTP), 파일 전송(FTP) 실시간 게임, 영상 스트리밍, DNS
 

📌 시험 단골!

  • “순서 보장, 재전송, 연결지향” → TCP
  • “빠름, 손실 허용, 실시간, 연결X” → UDP

📦 포트 번호란?

전송 계층에서는 하나의 컴퓨터에서 여러 프로그램이 동시에 통신하니까
각 프로그램마다 포트 번호를 부여해서 구분해.

서비스                                                               프로토콜                                         포트 번호

 

HTTP TCP 80
HTTPS TCP 443
FTP TCP 20, 21
DNS UDP 53
SMTP TCP 25
 

📌 시험 포인트

  • 포트 번호 나오면 무조건 전송계층
  • DNS는 UDP로 작동하지만, 응답 크기가 크면 TCP 전환!

🧪 현실 예시로 정리

🧵 예시 1: 웹서핑 (TCP)

  • 사용자가 크롬으로 웹서버 접속
  • 브라우저는 포트 80으로 TCP 연결 요청
  • 연결 수립 → 데이터 주고받음 → 연결 종료

📡 예시 2: 실시간 게임 (UDP)

  • 게임 데이터는 조금 손실돼도 실시간성이 중요
  • 빠르게 UDP로 전송 (예: 총 쏘고 피격 판정 같은 것)

📋 시험 출제 포인트

 

“데이터의 신뢰성 보장, 흐름제어, 혼잡제어” 전송 계층
“포트 번호를 사용하여 통신 프로세스를 구분” 전송 계층
“연결지향 방식으로 동작, 3-way handshaking” TCP → 전송 계층
“빠르지만 손실 가능, 실시간 서비스” UDP → 전송 계층
“TCP는 순서를 보장, UDP는 순서를 보장하지 않는다” 전송 계층

 

--------------------------------------------------------------------------------------------------------------------------------------

 

 

🌐 3. 네트워크 계층(Network Layer)란?

목적지까지 경로를 찾아서 데이터를 전달하는 계층
즉, “주소 보고 길 찾아가는 계층”


🧠 쉽게 말하면?

택배를 보낼 때 “주소”를 보고 어떤 경로로 보낼지 결정하는 단계

  • 전송계층까지는 "누구에게 보낼지" 알지만,
  • 네트워크 계층부터는 "어떤 길로 갈지", "중간 어디를 거칠지" 정함
  • 그리고 각 패킷마다 IP 주소를 붙여서 보내

🎯 네트워크 계층의 핵심 기능

 

IP 주소 지정 송신자/수신자의 논리적 주소 부여 (IPv4, IPv6)
라우팅(Routing) 목적지까지 최적의 경로 결정 (라우터가 함)
패킷 전달 데이터 단위: 패킷(Packet)
논리적 주소 ↔ 물리적 주소 변환 ARP 프로토콜 사용
단편화(Fragmentation) 패킷이 너무 크면 쪼갬(필요한 경우에만)
 

📦 네트워크 계층의 주요 프로토콜

 

IP (Internet Protocol) 주소 지정, 패킷 전달 (IPv4, IPv6)
ICMP (Ping) 네트워크 상태 점검 (ping, traceroute 등)
ARP IP → MAC 주소로 변환
RIP, OSPF, BGP 라우팅 프로토콜 (라우터 간 길 찾기 협상)
 

📌 시험에선 ICMP와 ARP 많이 나옴!


📌 현실 예시

✅ 1. 웹사이트 접속 시

  • www.example.com 접속 → DNS가 IP로 변환해줌
  • 네트워크 계층이 이 IP 주소로 어떻게 갈지 라우팅 결정
  • 라우터를 여러 번 거쳐 서버에 도달

✅ 2. Ping 테스트

  • Ping www.naver.com → ICMP 패킷 전송
  • 응답 오면 네트워크 연결 확인
    → 이건 ICMP (3계층 프로토콜) 활용 예시

📋 시험 출제 포인트

 

“경로 설정, 경로 선택을 수행하는 계층은?” 네트워크 계층
“IP 주소를 사용하여 통신하는 계층은?” 네트워크 계층
“라우터는 어느 계층 장비인가?” 네트워크 계층
“ICMP, ARP는 어느 계층에 속하는가?” 네트워크 계층
“논리적 주소를 사용하는 계층은?” 네트워크 계층

 

 

------------------------------------------------------------------------------------------------------------------------------------

 

 

 

🧱 2. 데이터 링크 계층(Data Link Layer)이란?

“네트워크 카드(NIC)끼리 대화할 수 있도록 프레임(Frame) 을 만들고, 전송 오류를 잡아주는 계층”

 

[7] 응용계층
[6] 표현계층
[5] 세션계층
[4] 전송계층
[3] 네트워크계층  ← 여기까지가 "패킷" 만들기
[2] 데이터 링크계층  ← 여기서 "프레임" 만들기
[1] 물리계층

네트워크 계층에서 내려오는 데이터의 상태

  • 네트워크 계층의 주인공: IP 프로토콜
  • 여기서는 목적지 IP 주소를 붙인 **패킷(Packet)**이 완성돼서 내려와요.
    예:  [IP 헤더][TCP 데이터...]
  • 그런데 IP 주소만으로는 바로 전송 못 해요.
    이유: 같은 네트워크 안에서 실제 데이터를 보내려면 MAC 주소가 필요하기 때문이에요.
네트워크 계층:
[IP 헤더][데이터]

↓ MAC 주소 붙이기, FCS 붙이기

데이터 링크 계층:
[목적지 MAC][출발지 MAC][타입][IP 헤더][데이터][FCS]

시험 포인트

정보처리기사에서 데이터 링크 계층은 다음 키워드와 자주 엮여서 나옵니다:

  • 프레임(Frame) : 데이터 단위
  • MAC 주소 : 하드웨어 주소
  • ARP : IP → MAC 변환
  • FCS / CRC : 오류 검출
  • 매체 접근 제어 : CSMA/CD, CSMA/CA
  • 하위 계층 : LLC(Logical Link Control), MAC(Media Access Control) 서브계층

 

 

 

 

 

-------------------------------------------------------------------------------------------------------------------------------------

 

 

⚡ 1. 물리계층 (Physical Layer)란?

“0과 1의 비트(bit) 데이터를
실제 전기 신호, 빛, 무선 주파수 같은 **물리적 방식으로 바꿔서 전송하는 계층”


🧠 쉽게 말하면?

컴퓨터가 "0과 1"로 표현한 데이터를
전깃줄, 와이파이 전파, 광섬유의 빛 등으로 실제로 보내주는 역할


🎯 물리계층의 핵심 기능

 

비트 전달 데이터(0과 1)를 신호로 변환하여 전달
전기적/기계적 특성 정의 전압, 주파수, 케이블 길이 등 정의
전송 매체 정의 유선(UTP, 광섬유), 무선(Wi-Fi, Bluetooth)
전송 방식 결정 직렬/병렬, 동기/비동기, simplex/half/full duplex
 

📦 물리계층에서의 데이터 단위

OSI 계층마다 데이터 단위가 있는데
물리계층은 가장 기본 단위인 비트(bit) 단위로 동작해.

예:
데이터링크 계층이 "프레임"을 만들고 →
물리계층이 그 프레임을 비트 단위로 쪼개서 전기 신호로 변환!


🛠 장비 예시

 

허브(Hub) 신호를 단순 복사/전달함 (지능 없음)
케이블 UTP, STP, 광케이블 등
리피터(Repeater) 약해진 신호를 증폭
모뎀(Modem) 디지털 ↔ 아날로그 변환
안테나, 전파 장비 와이파이, 블루투스, 위성통신 등
 

📋 시험 출제 포인트

 

“비트 단위로 데이터를 전송” 물리계층
“전기적, 기계적 특성을 정의하는 계층” 물리계층
“케이블, 허브, 리피터, 모뎀 등의 장비는?” 물리계층
“신호의 전기적 변환을 담당하는 계층” 물리계층
 

📡 전송 방식 종류 (자주 출제됨)

 

단방향(Simplex) 한쪽 방향만 통신 (예: 방송)
반이중(Half-Duplex) 양방향 가능, 동시 X (예: 무전기)
전이중(Full-Duplex) 양방향 동시 통신 (예: 전화, 인터넷)
 

시험 문제에서 전송 방향 물어보면 거의 이 3가지!


💥 오해 방지: 물리계층은 “데이터 내용” 모름

  • 물리계층은 0과 1을 신호로 바꾸는 것만 함
  • 그게 텍스트인지 이미지인지, 영상인지 모름
  • 오직 “전송만” 책임지는 거야

🔌 현실 예시

✅ 1. 랜선이 빠졌어요

물리계층 단절!
(2계층 스위치까지도 신호 못 감)

✅ 2. 와이파이 신호가 약해요

→ 전파 간섭, 신호 세기 문제 → 물리계층


🧠 요약 정리

 

데이터 단위 비트(bit)
주소 사용 여부 없음
기능 전기적/광학적 신호로 변환, 전송
장비 허브, 케이블, 모뎀, 리피터
주요 키워드 비트, 전송매체, 전압, 주파수, 전송방식
 

📌 물리계층 구분용 한 줄 암기

"내용은 모르지만, 신호로 바꿔서 잘 전달하는 계층"





---------------------------------------------------------------------------------------------------------------------------------

 

 

 

✅ TCP/IP란?

TCP/IP는 인터넷에서 사용하는 통신 규약(프로토콜)의 집합이야.

  • 이름은 TCPIP라는 두 핵심 프로토콜에서 따왔어.
  • 하지만 실제로는 수많은 프로토콜을 포함한 통신 시스템 전체를 의미해.
  • 우리가 인터넷을 쓸 수 있는 이유가 바로 이 TCP/IP 덕분이야.

🔧 OSI 7계층은 개념적 모델(이론 모델)
🚛 TCP/IP는 실제 구현 기반 모델(현실 프로토콜 모델)

 

✅  왜 나왔는가?

💣 문제 상황 (이전엔 어땠냐면…)

  • 예전에는 제조사마다 다른 통신 방식 사용
    → 삼성 컴퓨터끼리는 통신되는데, IBM과는 안 됨 ❌
  • 네트워크끼리 연결도 어려웠음 (군대, 학교, 회사끼리 따로 놀았음)

🧠 해결책

  • "어디서 만든 기계든, 전 세계가 하나의 약속만 지키면 다 연결되게 하자!"
  • 그래서 미국 국방부에서 만든 게 바로 TCP/IP 프로토콜 스택

✅ 3. TCP/IP의 4계층 구조 (실제 구조)

TCP/IP 계층                              설명                                             주요 프로토콜                  현실 비유

 

4. 응용층 사용자가 쓰는 서비스 HTTP, FTP, DNS 앱(카톡, 유튜브 등)
3. 전송층 데이터 전송 보장/속도 조절 TCP, UDP 택배사(우체국 vs 퀵서비스)
2. 인터넷층 목적지 주소 설정 IP, ICMP 주소 찾기 (내비게이션)
1. 네트워크 인터페이스층 물리적 연결 이더넷, MAC, ARP 도로/선로

 

 

 

 

------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

 

✅ 응용층

사용자가 실제로 사용하는 프로그램(웹, 이메일 등)과 네트워크 사이를 연결해주는 인터페이스 역할을 해.

  • 예: 유튜브, 카카오톡, 네이버, 지메일 → 전부 응용층에서 작동
  • 즉, 사람이 직접 만지는 앱/서비스는 다 응용층이라고 보면 돼

✅ 2. 응용층이 필요한 이유

🧠 문제 상황

  • 우리는 “카카오톡 메시지 보내기” 같은 앱 단위로 행동하지,
    “패킷을 전송하고 주소를 붙이고” 이런 저수준 작업은 안 하잖아?

🔧 해결 방법

  • 앱이 네트워크 기능을 몰라도 통신할 수 있도록,
    미리 정해진 통신 방식(프로토콜)을 만들어둠
  • 이런 프로토콜들이 바로 응용층 프로토콜이야

✅ 3. 응용층의 주요 프로토콜들

프로토콜                                                            용도                                            예시

 

HTTP (HyperText Transfer Protocol) 웹 브라우저로 인터넷 사용 네이버, 유튜브, 블로그
HTTPS HTTP + 보안 (SSL/TLS) 인터넷 뱅킹, 쇼핑몰
FTP (File Transfer Protocol) 파일 전송 서버 간 대용량 파일 이동
SMTP (Simple Mail Transfer Protocol) 이메일 보내기 메일 전송 서버
POP3, IMAP 이메일 받기 메일 앱에서 수신
DNS (Domain Name System) 도메인 → IP주소 변환 www.naver.com → 223.130.195.200
Telnet, SSH 원격 접속 서버 관리
 

✅ 4. 이해를 돕는 비유

"택배로 치면 응용층은 쇼핑몰 웹사이트야"

  • 내가 '물건을 주문'하는 행위는 웹(HTTP)을 통해 요청됨
  • 물류센터(전송층)와 배송기사(IP계층)가 실제로 전달을 맡지만
  • 나는 그걸 몰라도 클릭 한 번으로 주문 가능하잖아?

응용층은 인간 친화적인 주문창구,
→ 아래 계층들이 알아서 처리하게 해주는 인터페이스

 

 

 

------------------------------------------------------------------------------------------------------------------------------------

 

 

 

✅ 전송층

응용층에서 내려온 데이터를 "신뢰성 있게 또는 빠르게" 상대방에게 전달해주는 계층

📦 쉽게 말하면:
앱이 보낸 데이터를 어떻게 보낼 것인가?”를 결정해주는 택배 방식 계층이야.


✅ 전송층의 핵심 역할 3가지

기능                                                   설명                                                                          비유

 

1. 포트 관리 여러 앱이 동시에 통신할 수 있게 구분 집 주소 + 방 번호
2. 데이터 조각화 & 재조립 큰 데이터를 나눠서 보내고, 다시 붙임 큰 상자를 쪼개서 배송
3. 통신 신뢰성 제어 누락, 순서 뒤바뀜, 손실 감지 택배 배송 추적 & 재전송
 

✅ 전송층의 대표 프로토콜

프로토콜     특징                                         용도                                                       예시

 

TCP 신뢰성 보장, 느림 정확성이 중요한 데이터 웹, 로그인, 금융
UDP 빠름, 신뢰성 낮음 실시간성 중요 게임, 스트리밍, 화상회의
 

✅ TCP 자세히 보기 (실제 개발에 자주 나옴)

📌 3-Way Handshake (연결 시작)

 
클 → SYN → 서버
클 ← SYN-ACK ← 서버
클 → ACK → 서버
→ 연결 성립!

📌 신뢰성 보장 기능들

  • 순서 보장: 1, 2, 3 순서로 갔는지 체크
  • 재전송: 빠진 번호 있으면 다시 보냄
  • 흐름제어: 받는 쪽이 느릴 땐 잠깐 멈춤
  • 혼잡제어: 네트워크 혼잡하면 속도 줄임

→ 이걸 다 해주는 게 TCP야. 우리 몰라도 되는 이유? OS가 해줌.


✅ UDP는 왜 필요하냐?

“빠르기만 하면 돼, 몇 개 빠져도 상관없어!”

  • 게임: 0.1초 전에 맞은 총알이 손실됐다고 안 죽으면 이상함
  • 영상 스트리밍: 프레임 하나 빠졌다고 다시 받으면 더 끊김

속도 vs 신뢰성에서 속도 우선이라면 UDP.


✅ 포트 번호란?

  • 서버는 IP만 있으면 안 돼.
    여러 서비스가 같은 컴퓨터에서 돌아가려면 → 포트번호로 구분
서비스                                                                                   기본 포트

 

HTTP 80
HTTPS 443
SSH 22
FTP 21
DNS 53
내 Node.js 서버 보통 3000, 8080
 

✅ 정리 요약

항목                          TCP                                                                                      UDP

 

연결 방식 연결 지향 (3-way handshake) 비연결
신뢰성 높음 (재전송, 순서 보장) 낮음 (손실 허용)
속도 느림 빠름
용도 웹, 메일, 로그인 게임, 스트리밍, VoIP
 

💬 개발자용 핵심만 요약

  • TCP는 신뢰성 보장용 (느려도 정확)
  • UDP는 속도 최우선 (빠르면 장땡)
  • 포트 번호는 서비스 주소
  • 전송층은 “어떻게 데이터를 보낼 것인가?”를 결정

 

 

 

-------------------------------------------------------------------------------------------------------------------------------

 

 

 

✅ 인터넷층

데이터가 어디로 가야 할지 판단하고, 경로를 설정해주는 계층이야.

즉, 데이터가 네트워크를 통해 목적지 IP까지 정확히 도착하도록 도와주는 계층이야.


✅ 2. 인터넷층의 역할 요약

기능                                        설명                                                                                        비유

 

IP 주소 지정 목적지 컴퓨터의 주소를 지정함 집 주소 붙이기
패킷 포장 및 라우팅 패킷에 목적지/출발지 주소 적고, 경로 계산 지도 보고 길 찾기
분할/재조립 너무 큰 데이터는 쪼개서 보냄 큰 소포 나눠서 보내기
 

✅ 3. 인터넷층의 주요 프로토콜

 

IP (Internet Protocol) 주소 지정, 경로 설정
ICMP (ping 명령어용) 네트워크 오류/진단
ARP IP → MAC 주소 변환
RARP MAC → IP 주소 변환 (거의 안 씀)
IPSec 암호화
 

✅ 4. IP 프로토콜이 하는 일

📦 데이터를 포장해서 IP 패킷으로 만듦

  • 출발지 IP 주소
  • 목적지 IP 주소
  • 기타 TTL, 프로토콜 타입 등

🧭 패킷이 어디로 가야 할지 결정

  • 목적지가 내 로컬 네트워크면 바로 보냄
  • 아니면 라우터에 전달해서 경로 찾아감 (→ 라우팅)

✅ ARP란? (LAN에서 자주 등장)

"이 IP 주소 가진 사람, MAC 주소 좀 알려줘!"

  • IP는 논리 주소 (전 세계에서 고유해야 함)
  • MAC은 물리 주소 (네트워크 카드 고유값)

→ 같은 LAN에서 통신하려면 IP → MAC 변환이 꼭 필요함

 

 

 

✅ IPSec란?

IPSec은 IP 계층에서 통신을 암호화하고 인증해주는 보안 프로토콜 모음이야.
(IP 보안 확장이라고도 불림)

 

✅ 어디에서 동작함?

바로 여기!
📍 TCP/IP 4계층 중 '인터넷 계층(IP 계층)'에서 작동

그래서 이름도 IP-Security, 즉 IPSec이야.

 

✅ IPSec을 쓰는 대표 상황

 

VPN 사설망을 외부에서도 안전하게 접속할 때 (ex. 회사 VPN)
지점 간 전용망 연결 본사 ↔ 지사 간 통신을 안전하게
국가 간 보안 통신 군사, 정부 통신 등
 

→ 데이터를 가로채도 암호화돼 있어서 무의미


✅ IPSec의 두 가지 전송 방식

모드                 설명                                                                                            사용 예시

 

전송 모드 IP 페이로드만 암호화 PC ↔ 서버
터널 모드 전체 IP 패킷을 암호화하고 새 IP 헤더를 붙임 VPN, 게이트웨이 ↔ 게이트웨이
 

✅ 내부적으로 쓰는 2가지 핵심 프로토콜

 

AH (Authentication Header) 인증 + 무결성 보장 (암호화는 없음)
ESP (Encapsulating Security Payload) 인증 + 무결성 + 암호화까지 포함

 

 

 

 

---------------------------------------------------------------------------------------------------------------------------

 

 

 

 

✅ 네트워크 인터페이스층

TCP/IP 네트워크 인터페이스 계층은, 데이터를 실제 물리적인 네트워크(케이블, 무선 등)를 통해 송수신하는 계층이야.

OSI 7계층과 비교하면
📦 데이터링크 계층 + 물리 계층을 합친 것이라고 보면 돼.

 

✅ 왜 필요하냐?

  • 윗 계층(TCP, IP)이 데이터를 포장해줘도
  • 결국은 그걸 실제 케이블로 보내거나 무선으로 날려야 되잖아?

→ 그 역할을 하는 계층이 바로 네트워크 인터페이스 계층이야.


✅ 이 계층의 주요 기능

기능                                        설명                                                                                           비유

 

프레임 생성 IP 계층에서 내려온 패킷을 프레임으로 바꿈 상자에 바코드 붙이기
MAC 주소 기반 통신 같은 LAN 안에서는 IP 대신 MAC 주소로 통신 건물 내 호실 번호
물리적 전송 데이터를 전기/무선 신호로 바꿔서 송수신 진짜 택배차가 출발함
에러 감지 CRC 같은 걸로 손상된 데이터 탐지 바코드 스캔 오류 확인
 

✅ 네트워크 인터페이스 계층에서 사용되는 프로토콜/기술

 

Ethernet 유선 LAN 표준 (사무실, 집 LAN 케이블)
Wi-Fi (802.11) 무선 LAN 통신 표준
PPP 모뎀 통신이나 전화선 연결용
ARP IP → MAC 주소로 바꿔주는 프로토콜 (같은 네트워크일 때 필요)
MAC 주소 네트워크 카드에 붙은 고유 식별자
 

✅ IP vs MAC 주소 차이

구분                                  IP 주소                                                           MAC 주소

 

의미 논리 주소 (소프트웨어 설정) 물리 주소 (하드웨어 고정)
계층 인터넷 계층 네트워크 인터페이스 계층
목적 전 세계에서 유일 같은 네트워크에서 유일
변경 가능 여부 가능 (수동/자동 할당) 일반적으론 고정 (변경 가능은 함)
 

✅ 흐름 예시로 정리 (📦 택배 비유)

  1. 응용층: 유튜브 영상 틀기 요청함
  2. 전송층: 데이터를 TCP로 포장함
  3. 인터넷층: 목적지 IP 주소 붙임
  4. 네트워크 인터페이스층:
    • 패킷을 프레임으로 포장
    • MAC 주소를 붙임
    • 전기신호/무선신호로 진짜로 전송

→ 즉, 실제 출발하는 마지막 관문

 

 

 

 

--------------------------------------------------------------------------------------------------------------------------------------

 

 

 

 

🧠 오늘 주제: IPv4란 무엇인가?

✅ 1. 일단 'IP'가 뭐야?

IP는 Internet Protocol의 약자야.
쉽게 말하면 "인터넷에서 우리 집 주소 같은 것" 이라고 생각하면 돼.

  • 우리가 인터넷을 쓰려면, 컴퓨터나 스마트폰, 프린터 같은 장치들이 서로를 찾아갈 주소가 필요해.
  • 그 주소를 정해주는 체계가 바로 IP 주소야.

✅ 2. 그럼 'IPv4'는 뭔데?

IPv4는 Internet Protocol version 4,
즉, IP 주소의 네 번째 버전이야.
가장 오래되고 널리 사용된 IP 주소 체계지.

🏡 비유로 설명하자면
대한민국 주소 체계가 '시/도 - 구 - 동 - 번지' 구조로 되어 있듯,
IPv4는 "숫자.숫자.숫자.숫자", 즉 000.000.000.000의 구조로 되어 있어.


✅ 3. IPv4 주소는 어떻게 생겼어?

IPv4 주소는 총 32비트로 구성돼.
그걸 사람이 보기 편하게 8비트씩 나눠서, 4개의 십진수로 표현한 거야.

📌 예시: 192.168.0.1

  • 이걸 이진수로 바꾸면 👇
    11000000.10101000.00000000.00000001
    → 총 32비트 (8비트씩 4개)

✅ 4. 왜 '버전 4'야? 다른 버전도 있어?

응! IPv6도 있어.

IPv4 현재 가장 많이 쓰이는 IP 체계. 32비트. 약 43억 개 주소 가능
IPv6 주소 부족 문제 해결을 위해 나온 128비트 주소 체계. 거의 무한대 주소
 

👉 시험에서는 IPv4와 IPv6 차이점을 자주 물어봐!


✅ 5. 주소는 무작위야? 체계 있어?

IPv4 주소는 크게 2가지 구성으로 나뉘어:

  • 네트워크 부분 (Network): 어떤 네트워크에 속해있는지
  • 호스트 부분 (Host): 그 네트워크 안의 장치 번호

주소는 클래스 A~E로 나눠서 사용했어 (요건 예전 방식이긴 하지만 시험에 나와!)


✅ 6. IPv4 주소의 클래스란?

클래스범위네트워크/호스트 구분주 사용처
A 0.0.0.0 ~ 127.255.255.255 N.H.H.H 대기업용 대규모 네트워크
B 128.0.0.0 ~ 191.255.255.255 N.N.H.H 중형 기업
C 192.0.0.0 ~ 223.255.255.255 N.N.N.H 소규모 네트워크
D 224.0.0.0 ~ 239.255.255.255 멀티캐스트용  
E 240.0.0.0 ~ 255.255.255.255 실험용, 예약  
 

📌 시험에서는 A/B/C 클래스의 범위와 구성 형태를 물어볼 수 있어.

 

✅ 7. 그럼 실제로 어떻게 쓰이는데?

  • 192.168.0.1, 10.0.0.1 이런 주소 본 적 있어?
  • 이건 우리가 공유기에서 자주 보는 **사설 IP 주소(Private IP)**야.

🏠 사설 IP vs 공인 IP

구분                           설명                                                                       예시

 

사설 IP 내부망에서만 사용 192.168.x.x, 10.x.x.x
공인 IP 인터넷에서 직접 사용 218.144.21.5 등

 

"IP가 공유기, MAC이 컴퓨터"라고 외우면 되냐?

🔸 외우기 쉽게 하자면 이런 식으로 이해해도 돼:

  • ✔ 공유기 = IP 주소 할당기 (인터넷 주소 중계자)
  • ✔ 컴퓨터 = MAC 주소를 가진 실제 장치

🔹 하지만 정확히 말하면:

  • 공유기에도 MAC 주소가 있고, IP 주소도 있어
  • 컴퓨터도 MAC 주소 있고, IP 주소도 있어

즉, IP는 네트워크에서 위치 추적용이고,
MAC은 하드웨어 식별용이야.

 

 

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------

 

 

 

 

✅ 1. 왜 IPv6가 필요했을까?

▶ 문제: IPv4 주소가 고갈되고 있다!

  • IPv4는 32비트 → 약 43억 개 주소
  • 인터넷이 커지면서:
    • 컴퓨터, 스마트폰, IoT, 자동차, 냉장고까지 IP 필요!
    • 주소가 부족해짐
  • 그래서 나온 해법: IPv6 (Internet Protocol version 6)

✅ 2. IPv6는 어떤 특징이 있어?

항목                    IPv4                                                      IPv6

 

주소 길이 32비트 128비트
표현 방식 10진수, 점(.) 구분 (192.168.0.1) 16진수, 콜론(:) 구분 (2001:0db8:85a3::8a2e:0370:7334)
주소 수 약 43억 개 약 3.4 × 10³⁸개 (사실상 무한)
브로드캐스트 있음 없음 (멀티캐스트/애니캐스트만 사용)
NAT(사설IP) 거의 필수 거의 불필요
보안(IPSec) 선택 기본 내장
설정 방식 수동/자동(DHCP) 자동 설정 (Stateless Autoconfig) 가능
 

✅ 3. IPv6 주소는 어떻게 생겼을까?

💡 기본 형식:

2001:0db8:0000:0000:0000:ff00:0042:8329
→ 총 16비트 × 8개 = 128비트 주소


✅ 4. 주소 표현법 줄이기

IPv6는 너무 길어서 줄여서 쓸 수 있어!
시험에서 이 부분이 빈출이야!

📌 생략 규칙 2가지:

규칙                                설명                                                                                        예시

 

앞의 0 생략 각 블록 앞의 0은 생략 04a3 → 4a3
연속된 0 생략 연속된 0000은 ::로 한 번만 생략 가능 0000:0000:0000 → ::
 

예: 2001:0db8:0000:0000:0000:ff00:0042:8329
→ 생략 후: 2001:db8::ff00:42:8329


✅ 5. IPv6 주소 유형 (시험에 자주 나옴!)

유형                                                     설명                                                     예시

 

유니캐스트 (Unicast) 1:1 통신 (특정 장치) 내 PC로 보내기
멀티캐스트 (Multicast) 1:多 통신 (그룹 전송) 방송처럼 여러 장치로 동시에
애니캐스트 (Anycast) 1:1 (가장 가까운 노드) CDN 같은 서버에서 사용
 

✅ 6. IPv4 vs IPv6 시험 요약 비교

항목                               IPv4                                                      IPv6

 

주소 길이 32비트 128비트
표현 10진수 점(.) 16진수 콜론(:)
브로드캐스트 있음 없음
NAT 필요 있음 없음
보안(IPSec) 선택 기본 포함
자동 설정 DHCP 사용 자체 설정(Stateless Auto Config) 가능
주요 주소 유형 공인, 사설, 브로드캐스트 유니캐스트, 멀티캐스트, 애니캐스트