IT Knowledge/Network/images/01-네트워크-기초와-osi-모델-venn.svg
네트워크 기초와 OSI 모델
학습 목표
- 컴퓨터 네트워크가 왜 필요한지 이해하기
- OSI 7계층 모델을 일상적인 예시로 이해하기
- 각 계층의 역할과 상호작용 방법 파악하기
- TCP/IP 모델과 OSI 모델의 차이점 이해하기
- 데이터가 네트워크를 통해 전송되는 과정 시각화하기
Part 1: 네트워크가 뭔데요? (왜 필요한가?)
🎯 핵심 질문
두 대의 컴퓨터가 서로 대화하려면 무엇이 필요할까요?
일상적인 비유: 우체국 vs 인터넷
과거의 방식 (편지 전송):
내 편지 → 우체부 → 배달원 → 도착 → 받는 사람 확인
네트워크 방식 (데이터 전송):
내 파일 → 인터넷 → 받는 사람의 컴퓨터 → 파일 열기
💡 실제 상황 생각해보기
시나리오 1: 같은 방에 있는 두 사람
- 대화 방법: 말하기
- 전달 매체: 소리 (공기)
시나리오 2: 다른 도시에 있는 두 사람
- 대화 방법: 전화, 문자, 이메일
- 전달 매체: 전화망, 인터넷
시나리오 3: 세계 각국의 수만 대의 컴퓨터
- 전달 매체: 인터넷 (전 세계적인 네트워크)
- 통화 규칙 필요! → 프로토콜
🌐 네트워크의 정의
네트워크 = 컴퓨터, 서버, 기타 장치들이 서로 통신하고 자원을 공유할 수 있도록 연결된 시스템
🎨 네트워크로 할 수 있는 일들
| 작업 | 예시 |
|---|---|
| 파일 공유 | 회사 문서 공유 |
| 프린터 공유 | 오피스 프린터 공유 |
| 통신 | 이메일, 메신저, 화상 회의 |
| 데이터 동기화 | 클라우드 저장소 (Google Drive, Dropbox) |
| 리소스 공유 | 공통 데이터베이스 접근 |
⚠️ 네트워크가 없으면 어떤 일이 일어날까요?
개인 사용자의 경우:
- ❌ 이메일 송수신 불가
- ❌ 웹 서핑 불가
- ❌ 클라우드 접근 불가
- ❌ 온라인 게임 불가
기업의 경우:
- ❌ 업무 시스템 접근 불가
- ❌ 고객 응대 불가
- ❌ 협업 불가
- ❌ 생산성 90% 감소 (실제 사례)
Part 2: 네트워크는 어떻게 구성되어 있나요?
🏗️ 네트워크 토폴로지 (네트워크 구조)
네트워크는 컴퓨터를 어떻게 연결하느냐에 따라 다양한 형태를 가집니다.
1. 버스 토폴로지 (Bus Topology) - “한 줄로 세우기”
구조:
컴퓨터A ────┬─── 컴퓨터B ────┬─── 컴퓨터C
│ │
[케이블] [케이블]
│ │
└───── 서버 ──────┘
비유: 버스에서 사람들이 내려가는 구조
- 모두가 같은 통로 사용
- 한 곳에서 문제가 생기면 전체에 영향
장점: 케이블이 적게 듦 단점:
- 한 케이블이 끊어지면 전체 마비
- 충돌 발생 가능 (데이터가 동시에 전송되면 충돌)
실제 사례: 과거의 이더넷 네트워크
2. 스타 토폴로지 (Star Topology) - “중앙 허브형”
구조:
[스위치/허브]
/ | \
컴A 컴B 컴C 컴D
비유: 중앙 허브에서 각 방향으로 연결된 구조
- 모든 장치가 중앙 장치에 직접 연결
장점:
- 한 컴퓨터가 고장 나도 다른 컴퓨터들에 영향 없음
- 문제 해결 쉬움 (어디서 문제가 발생했는지 알 수 있음)
단점:
- 중앙 장치(스위치/허브)가 고장 나면 전체 마비
- 케이블이 많이 필요
실제 사례: 현재 대부분의 사무실 네트워크
3. 링 토폴로지 (Ring Topology) - “원형 구조”
구조:
컴퓨터A
↑ ↓
컴퓨터D ← 컴퓨터B
↑ ↓
컴퓨터C
비유: 원형으로 앉아 도는 구조
- 데이터가 한 방향으로 회전
장점:
- 데이터 충돌 없음 (순서대로 전송)
- 케이블 효율적
단점:
- 한 링크가 끊어지면 전체 마비
- 장치 추가/삭제 어려움
실제 사례: 고속 네트워크(FDDI), 센서 네트워크
4. 메쉬 토폴로지 (Mesh Topology) - “그물망 구조”
구조:
컴퓨터A ═══╣════ 컴퓨터B
║ ║
║ ║
컴퓨터C ═══╣════ 컴퓨터D
비유: 거미 그물망 같이 서로 연결된 구조
- 모든 장치가 서로 연결
장점:
- 높은 신뢰성 (한 경로가 끊어져도 다른 경로로 우회 가능)
- 자기 치유 능력
단점:
- 케이블이 매우 많이 필요
- 비용이 비쌈
- 복잡함
실제 사례: 인터넷 백본, 군사 통신망
🏢 실제 네트워크 예시
가정용 네트워크:
┌─────────────────────┐
│ 인터넷 (ISP) │
└────────┬────────────┘
│
┌────┴────┐
│ 공유기 │
└────┬────┘
│
┌────┴────┐
│ 스위치 │
└────┬────┬────┬─────┘
│ │ │
┌────┴┐┌─┴──┐┌─┴──┐
│ PC1││ PC2││ PC3││ 무선AP│
Part 3: OSI 7계층 모델 - “네트워크의 층계 이해하기”
🤔 왜 계층 모델이 필요한가요?
문제 상황:
세계 각국의 컴퓨터가 서로 통신하려면 어떤 규칙이 필요할까요?
해결책: 계층 모델!
- 복잡한 문제를 작은 단위로 나누어 해결
- 각 계층이 자신의 역할에 집중
🏗️ OSI 7계층 모델
비유: 쇼핑 물류 시스템
[7계층: 응용 계층]
주문, 계산서, 청구서
↓
[6계층: 표현 계층]
번역, 인쇄, 봉투
↓
[5계층: 세션 계층]
물류 추적, 배송 상태 확인
↓
[4계층: 전송 계층]
트럭, 배송 차량
↓
[3계층: 네트워크 계층]
도로 네트워크, GPS 좌표
↓
[2계층: 데이터링크 계층]
운전면허증, 차량 검사
↓
[1계층: 물리 계층]
포장, 하적, 도로
📊 OSI 7계층 상세 분석
계층 7: 응용 계층 (Application Layer)
역할: 사용자 인터페이스 제공 사용자가 보는 것: 웹 브라우저, 이메일 클라이언트
비유: 쇼핑 물류 시스템의 “주문서”
- 주문서에는 물품 정보, 주소, 결제 수단
실제 예시:
웹 브라우저 → "https://www.example.com"
이메일 → SMTP 프로토콜 사용
주요 프로토콜: HTTP, HTTPS, FTP, SMTP, DNS, SSH, Telnet
🎯 학습자 이해 포인트:
- 응용 계층은 사용자가 직접 사용하는 소프트웨어
- HTTP는 웹 브라우저와 웹 서버가 대화하는 언어
계층 6: 표현 계층 (Presentation Layer)
역할: 데이터 포맷 변환, 암호화, 압축
비유: 쇼핑 물류 시스템의 “번역, 인쇄, 봉투”
- 한국어로 된 주문서 → 영어로 번역
- 특수한 물품은 인쇄로 표시
실제 동작:
원본 데이터 → 암호화 → 압축 → 전송
주요 기능:
- 데이터 포맷 변환: 문자열 코드 변환 (ASCII, UTF-8)
- 암호화/복호화: SSL/TLS (HTTPS)
- 압축: 전송 데이터 크기 감소
실제 예시:
HTTP 요청 (평문) → SSL/TLS 암호화 → 전송
"GET /index.html" → "암호화된 데이터"
🎯 학습자 이해 포인트:
- 표현 계층은 데이터를 전송하기 적합한 형태로 변환
- HTTPS의 “S”는 표현 계층에서 SSL/TLS 암호화를 의미
계층 5: 세션 계층 (Session Layer)
역할: 통신 세션 설정, 유지, 종료
비유: 쇼핑 물류 시스템의 “물류 추적 시스템”
- 주문 접수 → 배송 중 → 배송 완료 → 세션 종료
- “현재 주문 번호: #12345”로 세션 식별
실제 동작:
세션 설정 → 통신 → 세션 종료
주요 프로토콜: NetBIOS, RPC, SMB
🎯 학습자 이해 포인트:
- 세션 계층은 통신의 시작과 끝을 관리
- “현재 통신하고 있는 상태”를 유지
계층 4: 전송 계층 (Transport Layer)
역할: 종단 간 신뢰성 있는 통신 보장
비유: 쇼핑 물류 시스템의 “택배 서비스”
- 주문이 정확하게 도착했는지 확인
- 파손되면 재배송
실제 동작:
데이터 전송 → 수신 확인 → 재전송(필요 시)
주요 프로토콜:
- TCP (Transmission Control Protocol): 신뢰성 있는 통신
- UDP (User Datagram Protocol): 빠르지만 신뢰성 없는 통신
TCP vs UDP:
| 특성 | TCP | UDP |
|---|---|---|
| 신뢰성 | 높음 (재전송) | 낮음 (재전송 없음) |
| 속도 | 상대적으로 느림 | 빠름 |
| 연결 방식 | 연결 지향 (3-way handshake) | 비연결형 |
| 사용 예시 | 웹, 이메일, 파일 전송 | 실시간 스트리밍, DNS 쿼리 |
🎯 학습자 이해 포인트:
- 전송 계층은 “데이터가 정확하게 도착했는지” 확인
- TCP는 중요한 데이터 (이메일, 파일)에 사용
- UDP는 빠른 전송이 중요한 경우 (실시간 스트리밍)에 사용
계층 3: 네트워크 계층 (Network Layer)
역할: 논리적 주소(IP) 할당, 라우팅
비유: 쇼핑 물류 시스템의 “도로 네트워크, GPS 좌표”
- 서울 강남구 강남대로 123번지 (목적지)
- 배송 경로 최적화
실제 동작:
IP 주소 → 최적 경로 선택 → 전송
주요 프로토콜: IP (Internet Protocol), ICMP (Ping), ARP
IP 주소 예시:
192.168.1.100
│ │ │ │
│ │ │ └── 호스트 주소 (100)
│ │ └──────── 네트워크 주소 (192.168.1)
│ └────────── 호스트 식별자 (192.168.1.100)
└───────────────── 전체 주소
라우팅: 데이터가 최적 경로로 전송되도록 결정
A 도시 → B 도시 → C 도시 → D 도시 (최적 경로)
🎯 학습자 이해 포인트:
- 네트워크 계층은 “데이터를 어디로 보낼지” 결정
- IP 주소는 인터넷 상의 “집 주소”
계층 2: 데이터링크 계층 (Data Link Layer)
역할: 물리적 주소(MAC) 할당, 프레이밍, 오류 검출
비유: 쇼핑 물류 시스템의 “운전면허증, 차량 검사”
- 차량 번호판 (MAC 주소)
- 차량 무게 제한 (MTU)
실제 동작:
데이터 → 프레이밍 → 전송
주요 프로토콜: Ethernet, PPP, HDLC
MAC 주소 예시:
AA:BB:CC:DD:EE:FF
││││
│││└─ 제조사 식별 (FF)
││└── 제조사 식별 (EE)
│└─── 제조사 식별 (DD)
└──── 제조사 식별 (CC)
└───── 제조사 식별 (BB)
└────── 제조사 식별 (AA)
스위치의 역할:
- MAC 주소를 기반으로 프레임을 전송
- 허브와 다르게 필요한 곳에만 데이터 전송
🎯 학습자 이해 포인트:
- 데이터링크 계층은 “데이터를 어떻게 실제로 전송할지” 결정
- MAC 주소는 네트워크 카드의 고유한 식별자
계층 1: 물리 계층 (Physical Layer)
역할: 비트 전송, 전기/광 신호 변환
비유: 쇼핑 물류 시스템의 “실제 도로, 도로 상태”
- 아스팔트 도로 vs 포장 도로
- 도로 상태: 정체, 공사 중
실제 동작:
디지털 데이터 (010101) → 아날로그 신호 → 전송
전송 매체:
- 유선: UTP 케이블, 광섬유
- 무선: WiFi, 블루투스
케이블 종류:
| 케이블 | 속도 | 거리 | 특징 |
|---|---|---|---|
| Cat5e | 1Gbps | 100m | 일반 사무실 |
| Cat6 | 10Gbps | 100m | 고속 네트워크 |
| 광섬유 | 100Gbps+ | 수km | 장거리 통신 |
🎯 학습자 이해 포인트:
- 물리 계층은 “데이터를 실제로 어떻게 보낼지” 결정
- 0과 1의 디지털 신호를 아날로그 신호로 변환하여 전송
🔄 데이터 캡슐화 과정
데이터가 전송될 때 각 계층을 통과하며 헤더가 추가됩니다.
예시: 웹 브라우저에서 “GET /index.html” 요청
[7계층: 응용 데이터]
GET /index.html HTTP/1.1
↓
[6계층: 표현]
암호화된 데이터
↓
[5계층: 세션]
세션 식별자 추가
↓
[4계층: 전송]
TCP 헤더 추가 (포트 번호, 순서 번호)
↓
[3계층: 네트워크]
IP 헤더 추가 (IP 주소)
↓
[2계층: 데이터링크]
MAC 주소 추가, 프레이밍
↓
[1계층: 물리]
비트로 변환하여 전송
Part 4: TCP/IP 4계층 모델
🤔 OSI와 TCP/IP는 뭐가 다른가요?
OSI 모델: 이론적 모델 (교과서용) TCP/IP 모델: 실제 인터넷의 기반 (실무용)
TCP/IP 4계층 구조
OSI 7계층 TCP/IP 4계층
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
7. 응용 계층 ↕
6. 표현 계층 ↕
5. 세션 계층 ↕ 4. 응용 계층 (HTTP, FTP, DNS)
4. 전송 계층 ↕ 3. 전송 계층 (TCP, UDP)
3. 네트워크 계층 ↕ 2. 인터넷 계층 (IP, ICMP, ARP)
2. 데이터링크 계층 ↕ 1. 네트워크 액세스 계층 (Ethernet, WiFi)
1. 물리 계층 ↕
📊 TCP/IP 계층별 예시
| TCP/IP 계층 | 해당 OSI 계층 | 기능 | 예시 프로토콜 |
|---|---|---|---|
| 응용 계층 | 7, 6, 5계층 | 애플리케이션 서비스 | HTTP, FTP, DNS, SMTP |
| 전송 계층 | 4계층 | 종단 간 통신, 포트 번호 | TCP, UDP |
| 인터넷 계층 | 3계층 | 논리적 주소, 라우팅 | IP, ICMP, ARP |
| 네트워크 액세스 계층 | 2, 1계층 | 물리적 전송 | Ethernet, WiFi |
Part 5: 실전 예시 - 웹 페이지 요청 과정
🌐 사용자가 웹 브라우저에서 “https://www.example.com” 접속
1. DNS 쿼리 (도메인 → IP 주소 변환)
사용자: https://www.example.com
↓
컴퓨터: DNS 서버에 "www.example.com의 IP 주소는?"
↓
DNS 서버: "93.184.216.34" (IP 주소 반환)
2. TCP 3-way Handshake (연결 설정)
클라이언트 → 서버: SYN (연결 요청)
서버 → 클라이언트: SYN-ACK (요청 승인)
클라이언트 → 서버: ACK (승인 확인)
↓
연결 완료! 데이터 전송 가능
3. HTTP 요청 전송
클라이언트 → 서버: GET /index.html HTTP/1.1
4. 데이터 캡슐화 (계층별 헤더 추가)
[응용 데이터] GET /index.html HTTP/1.1
↓
[전송 계층] TCP 헤더 추가 (포트 443, 순서 번호 1000)
↓
[인터넷 계층] IP 헤더 추가 (출발지: 192.168.1.100, 도착지: 93.184.216.34)
↓
[데이터링크 계층] MAC 헤더 추가 (MAC 주소: AA:BB:CC:DD:EE:FF)
↓
[물리 계층] 비트로 변환하여 전송
5. 데이터 전송 및 응답
서버 → 클라이언트: HTTP 응답 (index.html 내용)
6. TCP 4-way Handshake (연결 종료)
클라이언트 → 서버: FIN (종료 요청)
서버 → 클라이언트: ACK (종료 승인)
서버 → 클라이언트: FIN (종료 요청)
클라이언트 → 서버: ACK (종료 승인)
↓
연결 종료!
Part 6: 핵심 네트워크 장치
📡 장치별 계층
| 장치 | 계층 | 역할 | 비유 |
|---|---|---|---|
| 허브 | L1 | 신호 증폭, 브로드캐스트 | 교차로 (데이터를 모든 방향으로 전송) |
| 스위치 | L2 | MAC 주소 기반 필터링, 프레임 전송 | 교통 정리 (필요한 곳으로만 전송) |
| 라우터 | L3 | IP 주소 기반 라우팅 | 교통안내 (최적 경로 안내) |
| 방화벽 | L3-L7 | 트래픽 필터링, 보안 | 출입국 검문소 (허용된 것만 통과) |
| 게이트웨이 | L4-L7 | 다른 네트워크 프로토콜 변환 | 번역기 (다른 언어를 이해) |
| 로드밸런서 | L4-L7 | 트래픽 분산 | 교통 배차 (여러 길로 분산) |
Part 7: 학습자 스스로 체크 포인트
📝 자기 평가 질문
-
네트워크가 필요한 이유를 설명할 수 있나요?
- 💡 힌트: 데이터 공유, 통신, 자원 절약
-
OSI 7계층 각 계층의 역할을 설명할 수 있나요?
- 💡 힌트: 비유 활용 (쇼핑 물류 시스템)
-
TCP와 UDP의 차이점을 설명할 수 있나요?
- 💡 힌트: 택배 서비스 vs 우편 서비스
-
IP 주소와 MAC 주소의 차이점을 설명할 수 있나요?
- 💡 힌트: 집 주소 vs 차량 번호판
-
웹 페이지 요청 과정을 설명할 수 있나요?
- 💡 힌트: DNS → TCP Handshake → HTTP → 응답
Part 8: 실무 활동
🎯 연습 문제
문제 1: 토폴로지 선택
상황: 10대의 컴퓨터가 사무실에 있고, 고속 인터넷이 필요
질문:
- 어떤 토폴로지가 적합할까요?
- 각 장비가 필요할까요?
힌트:
- 가정용에서는 스타 토폴로지가 가장 일반적
- 고속 인터넷을 위해 공유기 필요
- 인터넷 공유를 위해 스위치 필요 (허브는 속도 느림)
문제 2: 데이터 캡슐화
상황: “Hello World!”라는 메시지를 전송
질문:
- 응용 계층에서 데이터는 어떻게 될까요?
- 전송 계층에서 어떤 헤더가 추가될까요?
- 네트워크 계층에서 어떤 헤더가 추가될까요?
힌트:
- 응용 데이터: “Hello World!”
- TCP: 포트 번호, 순서 번호
- IP: 출발지 IP, 도착지 IP
🛠️ 실무 명령어
# 1. IP 주소 확인
ip addr show # Linux
ifconfig # macOS/Linux
# 2. 연결성 확인 (Ping - ICMP)
ping 8.8.8.8 # Google DNS
ping google.com
# 3. 경로 추적 (Traceroute)
traceroute google.com # macOS/Linux
tracert google.com # Windows
# 4. 포트 확인 (Netstat)
netstat -an | grep LISTEN
ss -tuln
# 5. DNS 쿼리
nslookup google.com
dig google.comPart 9: 다음 단계
📚 학습 경로
이 모듈을 완료했다면 다음 모듈로 이동하세요:
추천 학습 순서:
- ✅ 모듈 1: 네트워크 기초와 OSI 모델 (현재)
- ⏭️ 모듈 2: IP 주소와 서브넷팅
- IP 주소 체계 이해
- 서브넷 계산 방법
- 실전 서브넷 계산 연습
- ⏭️ 모듈 3: TCP와 UDP
- TCP 3-way/4-way handshake 상세
- 흐름 제어, 혼잡 제어
- 포트와 소켓
- ⏭️ 모듈 4: DNS 동작 원리
- DNS 계층 구조
- DNS 쿼리 과정
- DNS 레코드 설정
🎓 학습 포인트 요약
✅ 이해해야 할 핵심 개념
- 네트워크의 목적: 자원 공유, 통신, 비용 절약
- 토폴로지의 장단점: 각 토폴로지의 적합한 상황 이해
- OSI 7계층의 역할: 각 계층이 무엇을 담당하는지
- TCP/IP 모델: OSI와의 대응, 실제 사용
- 데이터 캡슐화: 전송 과정 이해
💡 기억해야 할 명령어
ip addr: IP 주소 확인ping: 연결성 확인traceroute: 경로 추적netstat: 포트 확인nslookup: DNS 쿼리
🎯 스스로 점검할 수 있는 능력
- 네트워크 문제 발생 시 어느 계층에서 문제인지 식별
- 각 계층의 장비 역할 이해
- 실무 명령어로 문제 진단
🔗 관련 자료
📚 추천 학습 자료
-
교재
- “Computer Networking: A Top-Down Approach” - James Kurose, Keith Ross
- “CCNA Official Guide” - Wendell Odom
-
온라인
-
실습 도구
다음 모듈: 02 IP 주소와 서브넷팅 학습