🧱 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
| 방식 | 연결지향(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는 인터넷에서 사용하는 통신 규약(프로토콜)의 집합이야.
- 이름은 TCP와 IP라는 두 핵심 프로토콜에서 따왔어.
- 하지만 실제로는 수많은 프로토콜을 포함한 통신 시스템 전체를 의미해.
- 우리가 인터넷을 쓸 수 있는 이유가 바로 이 TCP/IP 덕분이야.
🔧 OSI 7계층은 개념적 모델(이론 모델)
🚛 TCP/IP는 실제 구현 기반 모델(현실 프로토콜 모델)
✅ 왜 나왔는가?
💣 문제 상황 (이전엔 어땠냐면…)
- 예전에는 제조사마다 다른 통신 방식 사용
→ 삼성 컴퓨터끼리는 통신되는데, IBM과는 안 됨 ❌ - 네트워크끼리 연결도 어려웠음 (군대, 학교, 회사끼리 따로 놀았음)
🧠 해결책
- "어디서 만든 기계든, 전 세계가 하나의 약속만 지키면 다 연결되게 하자!"
- 그래서 미국 국방부에서 만든 게 바로 TCP/IP 프로토콜 스택
✅ 3. TCP/IP의 4계층 구조 (실제 구조)
| 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 |
✅ 정리 요약
| 연결 방식 | 연결 지향 (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 주소 차이
| 의미 | 논리 주소 (소프트웨어 설정) | 물리 주소 (하드웨어 고정) |
| 계층 | 인터넷 계층 | 네트워크 인터페이스 계층 |
| 목적 | 전 세계에서 유일 | 같은 네트워크에서 유일 |
| 변경 가능 여부 | 가능 (수동/자동 할당) | 일반적으론 고정 (변경 가능은 함) |
✅ 흐름 예시로 정리 (📦 택배 비유)
- 응용층: 유튜브 영상 틀기 요청함
- 전송층: 데이터를 TCP로 포장함
- 인터넷층: 목적지 IP 주소 붙임
- 네트워크 인터페이스층:
- 패킷을 프레임으로 포장
- 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는 어떤 특징이 있어?
| 주소 길이 | 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 시험 요약 비교
| 주소 길이 | 32비트 | 128비트 |
| 표현 | 10진수 점(.) | 16진수 콜론(:) |
| 브로드캐스트 | 있음 | 없음 |
| NAT 필요 | 있음 | 없음 |
| 보안(IPSec) | 선택 | 기본 포함 |
| 자동 설정 | DHCP 사용 | 자체 설정(Stateless Auto Config) 가능 |
| 주요 주소 유형 | 공인, 사설, 브로드캐스트 | 유니캐스트, 멀티캐스트, 애니캐스트 |
'정보처리기사 > 이론설명' 카테고리의 다른 글
| [이론설명 이기적] 대칭키, 공개키, 해시 암호화 (3) | 2025.08.02 |
|---|---|
| [이론설명 이기적] 개발보안구축 - 시스템 보안 구축 (4) | 2025.08.02 |
| [이론설명 이기적] 통신망 기술 (7) | 2025.07.31 |
| [이론설명 이기적] 네트워크 구축관리 (0) | 2025.07.28 |
| [이론설명 이기적] 운영체제 - 기억 장치 관리 (3) | 2025.07.28 |