네트워크 학습 가이드
소개
이 폴더는 컴퓨터 네트워크를 체계적으로 학습하기 위한 자료를 담고 있습니다. OSI 7계층부터 TCP/IP, 라우팅, 보안까지 네트워크 통신의 원리를 이해할 수 있습니다.
대상 독자: 개발자, 시스템 관리자, 네트워크 기초를 배우려는 사람
학습 로드맵
[기초] [중급] [고급]
│ │ │
▼ ▼ ▼
네트워크 개요 ─────▶ IP 주소 ───────────▶ 라우팅 프로토콜
│ │ │
▼ ▼ ▼
OSI/TCP-IP ────────▶ TCP/UDP ─────────▶ 네트워크 보안
│ │ │
▼ ▼ ▼
물리/데이터링크 ───▶ 애플리케이션 계층 ──▶ 실무 도구
선수 지식
- 컴퓨터 기초 (운영체제 개념)
- 이진수와 16진수 이해
- 기본적인 명령줄 사용
파일 목록
네트워크 기초 (01-04)
데이터링크 및 네트워크 계층 (05-09)
전송 계층 (10-11)
애플리케이션 계층 (12-14)
네트워크 보안 및 실무 (15-17)
현대 네트워킹 (18-19)
추천 학습 순서
1단계: 네트워크 기초 (1주)
01_Network_Fundamentals → 02_OSI_7_Layer_Model → 03_TCP_IP_Model
2단계: 하위 계층 (1주)
04_Physical_Layer → 05_Data_Link_Layer
3단계: IP와 라우팅 (1~2주)
06_IP_Address_Subnetting → 07_Subnetting_Practice → 08_Routing_Basics → 09_Routing_Protocols
4단계: 전송 계층 (1주)
10_TCP_Protocol → 11_UDP_and_Ports
5단계: 애플리케이션 계층 (1주)
12_DNS → 13_HTTP_and_HTTPS → 14_Other_Application_Protocols
6단계: 보안 및 실무 (1~2주)
15_Network_Security_Basics → 16_Security_Threats_Response → 17_Practical_Network_Tools
7단계: 현대 네트워킹 (1~2주)
18_IPv6 → 19_Container_Networking
실습 환경
명령줄 도구
# 네트워크 연결 테스트
ping google.com
traceroute google.com
# 네트워크 정보 확인
ip addr # Linux
ifconfig # macOS
ipconfig # Windows
# 연결 상태 확인
netstat -an
ss -tuln # Linux
# DNS 조회
nslookup google.com
dig google.com
패킷 캡처
# tcpdump (Linux/macOS)
sudo tcpdump -i eth0 -n
# Wireshark (GUI)
# https://www.wireshark.org/
# tshark (CLI)
tshark -i eth0
시뮬레이터
- Cisco Packet Tracer: 네트워크 시뮬레이션
- GNS3: 고급 네트워크 에뮬레이션
- EVE-NG: 가상 네트워크 랩
주요 포트 번호
| 포트 |
프로토콜 |
설명 |
| 20, 21 |
FTP |
파일 전송 |
| 22 |
SSH |
보안 쉘 |
| 23 |
Telnet |
원격 접속 (비암호화) |
| 25 |
SMTP |
이메일 전송 |
| 53 |
DNS |
도메인 이름 서비스 |
| 67, 68 |
DHCP |
IP 자동 할당 |
| 80 |
HTTP |
웹 |
| 443 |
HTTPS |
보안 웹 |
| 3306 |
MySQL |
데이터베이스 |
| 5432 |
PostgreSQL |
데이터베이스 |
관련 자료
다른 폴더와의 연계
외부 자료
학습 팁
- 계층별 이해: OSI/TCP-IP 계층을 확실히 이해
- 실습 중심: ping, traceroute, Wireshark로 직접 확인
- 패킷 분석: Wireshark로 실제 패킷 구조 학습
- 서브네팅 연습: 서브넷 계산 문제 많이 풀기
- 프로토콜 헤더: 각 프로토콜의 헤더 구조 암기