Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 보고서
- CERT
- Case Study
- Kali#Linux#Brute#Force#Attack#Test#DVWA#Hacking#Low#무차별#대입#공격#해킹
- 시스템-네트워크 보안 기술
- 인프라 활용을 위한 파이썬
- 클라우드 기반
- 클라우드 보안 기술
- sk 쉴더스 루키즈
- 애플리케이션 보안 기술
- 모듈프로젝트
- 개인정보보호
- 루키즈
- DVWA#INSTALL#github#security#kali#linux
- sk shieldus
- 모의침투
- kisa #보안관제
- DVWA#Brute#Force#Attack#Test#Kali#Linux#Medium#Level#sleep
- Foxyproxy#install#setting#firefox
- rocky linux#siem#project#threat detection#soc#onpremise#ids#python#csv#pipeline#kali linux#DVWA#security monitoring
- 모듈 프로젝트
- 클라우드기반 보안 시스템 구축/운영 실무
- 쉴더스
- 클라우드 보안 기반
- 29기
- 기술 특강 및 OT
- Kali#Linux#KALI#LINUX#INSTALL#github#설치
- #루키즈
- AI #취업
- VMWARE#INSTALL#설치
Archives
- Today
- Total
이것저것
[SK shieldus Rookies 29기] 12일차 본문
1️⃣ 라우팅 용어 정리
📌 3가지 개념의 차이
| 용어 | 정의 | 역할 |
|---|---|---|
| Router | 장비 | 네트워크 연결 장비 (하드웨어) |
| Routing | 작업/동작 | 최적 경로를 선정하는 작업 |
| Route | 결과 | 선정된 최적 경로 |

2️⃣ OSI 7계층 모델 개요
📌 OSI 모델이란?
OSI (Open System Interconnection): ISO가 개발한 서로 다른 시스템 간의 통신을 위한 참조 모델
목적: 네트워크 기능을 7개 계층으로 나누어 표준화
📊 OSI 7계층 구조
| 계층 | 이름 | 기능 | 구분 |
|---|---|---|---|
| 7 | Application 계층 | 사용자 인터페이스 (HTTP, FTP, Telnet, SMTP) | 소프트웨어 |
| 6 | Presentation 계층 | 부호화, 압축, 암호화 | 소프트웨어 |
| 5 | Session 계층 | 호스트 간 연결 설정/유지/종료 | 소프트웨어 |
| 4 | Transport 계층 | 가상 회선 설정/유지/종료 (TCP, UDP) | 미들웨어 |
| 3 | Network 계층 | 최적 경로 결정 (Routing) | 하드웨어 |
| 2 | Data Link 계층 | 데이터 전달, 오류 제어, MAC | 하드웨어 |
| 1 | Physical 계층 | 전기적/기계적 신호 제공 | 하드웨어 |
3️⃣ Data Link Layer (L2) 상세 분석
L2의 2가지 기능
1️⃣ 전달 기능 (Forwarding)
LAN (Local Area Network): 2계층 구간에서의 데이터 전달
송신자 → Switch → 수신자 (같은 네트워크)
특징:
- MAC 주소 기반 전달
- Switch의 MAC Address Table 참고
- 포워딩 또는 플러딩2️⃣ 오류 제어 (Error Control)
무결성 (Integrity): 데이터가 손상되지 않았는지 확인
송신: 원본 데이터 + CRC (Cyclic Redundancy Check)
↓
전송 중 (간섭, 손상 가능)
↓
수신: CRC 재계산 후 원본 CRC와 비교
→ 같으면: 무결성 보장 ✅
→ 다르면: 데이터 폐기 ❌Data Link Layer의 구성
Data Link Layer는 2개의 부계층으로 구성
L2 (Data Link Layer)
├─ LLC (Logical Link Control) - 오류 제어
│ └─ 흐름 제어, 오류 감지
└─ MAC (Media Access Control) - 매체 접근 제어
└─ 공유 매체의 충돌 관리
4️⃣ 네트워크 토폴로지 (Topology)
📌 2가지 토폴로지 구조
1️⃣ 스타형 토폴로지 (Star Topology)

장비:
- Hub: 모든 포트로 신호 전송 (충돌 많음)
- Switch: MAC 학습, 선택적 포워딩 (충돌 적음)
Hub/Switch (중심)
/ | \ \
PC1 PC2 PC3 PC4
특징:
- 중심 장비 장애 시 전체 네트워크 마비
- 보기에 구조 파악 쉬움
- 관리 용이2️⃣ 버스형 토폴로지 (Bus Topology)

PC1 - PC2 - PC3 - PC4 - PC5
특징:
- 공유 회선 (한 번에 하나의 호스트만 전송)
- 장비 추가 용이
- 장애 진단 어려움
- 과거에 주로 사용 (현재는 스타형 주류)5️⃣ 매체 접근 제어 (MAC) 프로토콜
공유 매체에서의 문제
여러 호스트가 같은 회선 사용
↓
데이터 충돌 (Collision)
↓
전송 실패
↓
재전송
↓
전송 지연
↓
네트워크 효율 저하MAC 프로토콜 종류
1️⃣ Aloha
특징:
- 가장 기본적인 프로토콜
- 충돌이 많이 일어남
- 효율성 낮음 (약 18%)
언제든 전송 가능
충돌 발생 → 대기 → 재전송2️⃣ CSMA (Carrier Sense Multiple Access)
특징:
- 회선 상태 먼저 확인
- 사용 중이면 대기
1. 회선 확인 (Carrier Sense)
2. 회선 비어있으면 전송 (Multiple Access)
3. 충돌 발생 가능 (전송 중 다른 호스트가 전송)3️⃣ CSMA/CD (Carrier Sense Multiple Access with Collision Detection)

특징:
- 충돌 감지 후 JAM 신호 송출
- Backoff Algorithm 사용 (대기 시간 계산)
- 유선 LAN 표준
프로토콜:
IEEE 802.3 (유선 LAN)
적용 기기:
- 유선 LAN 카드 (Ethernet)
동작 원리:
1. Carrier Sense: 회선 확인
2. Multiple Access: 동시 접근 가능
3. Collision Detection: 충돌 감지 ✅
4. JAM Signal: 모두에게 충돌 알림
5. Backoff Algorithm: 대기 시간 결정
6. 재전송4️⃣ CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance)
특징:
- 충돌 회피 (사전 방지)
- 무선 LAN 표준
- 충돌 감지 불가능 (무선 특성)
프로토콜:
IEEE 802.11 (무선 LAN)
적용 기기:
- 무선 LAN 카드 (Wi-Fi)
동작 원리:
1. Carrier Sense: 회선 확인
2. Multiple Access: 동시 접근 가능
3. Collision Avoidance: 충돌 회피 ✅
4. RTS/CTS (Request To Send / Clear To Send)
5. NAV (Network Allocation Vector)📊 MAC 프로토콜 비교
| 프로토콜 | 특징 | 효율성 | 표준 | 적용 |
|---|---|---|---|---|
| Aloha | 기본적, 충돌 많음 | 18% | - | 과거 |
| CSMA | 회선 확인 | 30% | - | 개선 |
| CSMA/CD | 충돌 감지 | 50-60% | 802.3 | 유선 LAN ⭐ |
| CSMA/CA | 충돌 회피 | 70% | 802.11 | 무선 LAN ⭐ |
6️⃣ 캡슐화 (Encapsulation)
정의
송신자가 상위 계층에서 하위 계층으로 내려가며 제어 정보를 추가하는 과정

단계별 과정:
상위 계층 데이터
↓
L7 (Application)
→ L7 데이터 생성
↓
L6 (Presentation)
→ Presentation 헤더 추가
↓
L5 (Session)
→ Session 헤더 추가
↓
L4 (Transport) - TCP/UDP Header 추가
→ Segment 생성
↓
L3 (Network) - IP Header 추가
→ Packet 생성
↓
L2 (Data Link) - MAC Header + CRC 추가
→ Frame 생성
↓
L1 (Physical)
→ 1010101... (비트 스트림)
↓
네트워크 어댑터 카드로 전송7️⃣ 역캡슐화 (De-encapsulation)
정의
수신자가 하위 계층에서 상위 계층으로 올라가며 제어 정보를 제거하는 과정

비트 스트림 수신
↓
L1 (Physical)
→ 비트 → Frame 변환
↓
L2 (Data Link)
→ MAC Header 제거
→ CRC 검증
→ Packet 추출
↓
L3 (Network)
→ IP Header 제거
→ Segment 추출
↓
L4 (Transport)
→ TCP/UDP Header 제거
→ Upper Layer Data 추출
↓
L5-L7 (Session/Presentation/Application)
→ 원본 데이터 복원
↓
사용자에게 데이터 전달📌 PDU (Protocol Data Unit) 정의
각 계층에서 전송되는 데이터 단위
| 계층 | PDU 이름 | 구성 |
|---|---|---|
| L7~L5 | Message | 원본 데이터 |
| L4 | Segment (TCP) Data Stream (UDP) |
TCP/UDP Header + Data |
| L3 | Packet Datagram |
IP Header + Segment |
| L2 | Frame | MAC Header + Packet + CRC |
| L1 | Bit | 1010101... (비트 스트림) |
8️⃣ TCP/IP 모델
OSI 7계층과 TCP/IP 비교
| OSI 7계층 | TCP/IP 모델 | 실제 구현 |
|---|---|---|
| L7 Application | Application | 웹 브라우저 |
| L6 Presentation | Application | HTTP, FTP |
| L5 Session | Application | |
| L4 Transport | Transport | TCP, UDP |
| L3 Network | Internet | IP |
| L2 Data Link | Network Access | Ethernet |
| L1 Physical | Network Access |
TCP/IP Protocol Stack 구조
Application Layer
├─ FTP (21)
├─ SSH (22)
├─ Telnet (23)
├─ HTTP (80) / HTTPS (443)
├─ DNS (53)
└─ SMTP, SNMP, NTP, TFTP...
Transport Layer
├─ TCP (Protocol: 6) - 신뢰적
└─ UDP (Protocol: 17) - 빠름
Internet Layer
├─ IPv4
├─ ARP
├─ RARP
├─ ICMP
└─ IGMP
Network Access Layer
└─ Ethernet, LAN
🎯 선택 예시
TCP 사용:
- 전자상거래 (결제 정보)
- 이메일 (중요 메시지)
- 파일 전송 (오류 있으면 안 됨)
- 웹 브라우징 (정확한 데이터)
UDP 사용:
- VoIP (실시간 통화)
- 온라인 게임 (빠른 응답)
- 동영상 스트리밍 (약간의 손실 허용)
- DNS 조회 (빠른 응답)9️⃣ 애플리케이션 계층 프로토콜
📌 웹 프로토콜
HTTP (HyperText Transfer Protocol)
WebClient와 WebServer 사이에서
평문(암호화 안 됨)의 웹문서를 송수신
서버 소프트웨어: Apache
특징:
- 암호화 없음 (보안 취약)
- 빠른 전송
- Port 80 사용
위험성:
- 중간자 공격 (Man-in-the-Middle)
- 패킷 스니핑으로 내용 열람 가능
- ID/Password 노출HTTPS (HTTP Secure)
WebClient와 WebServer 사이에서
암호화된 웹문서를 송수신
구성: HTTP + SSL (인증서 기반의 암호화)
서버 소프트웨어: Apache + 인증서
특징:
- SSL/TLS 프로토콜 사용
- 안전한 전송
- Port 443 사용
장점:
- 중간자 공격 방지
- 데이터 기밀성 보장
- 인증서 기반 신뢰성SHTTP (Secure HTTP)
HTTP + SSH (키 기반의 암호화)
특징:
- SSH 터널링 사용
- 키 기반 인증📌 파일 전송 프로토콜
FTP (File Transfer Protocol)
파일 전송 프로토콜
특징:
- Port 21 (제어), 20 (데이터)
- 평문 전송
- ID/Password 노출 위험FTPS (FTP Secure)
전송하는 파일을 암호화시켜 전송하는 프로토콜
구성: FTP + SSL
특징:
- SSL/TLS 암호화
- Port 990 (제어), 989 (데이터)SFTP (SSH File Transfer Protocol)
파일을 암호화시켜 전송하는 프로토콜
특징:
- SSH 프로토콜 사용
- Port 22
- 키 기반 인증📌 원격 접속 프로토콜
Telnet
CUI 원격 접속 (평문)
특징:
- Port 23
- 암호화 없음
- 보안 취약SSH (Secure Shell)
CUI 원격 접속 (암호화)
구성: Telnet + SSH
특징:
- Port 22
- 강력한 암호화
- 키 기반 인증📌 메일 프로토콜
SMTP (Simple Mail Transfer Protocol)
메일 송신 프로토콜
특징:
- Port 25
- 메일 보내기만 담당POP3 (Post Office Protocol 3)
이메일 다운로드 프로토콜
특징:
- Port 110
- 메일을 서버에서 클라이언트로 다운로드
- 다운로드 후 서버에서 삭제 (기본)📊 프로토콜 비교 요약
| 프로토콜 | 포트 | 암호화 | 용도 |
|---|---|---|---|
| HTTP | 80 | ❌ | 웹 (평문) |
| HTTPS | 443 | ✅ SSL | 웹 (암호화) |
| SHTTP | - | ✅ SSH | 웹 (SSH) |
| FTP | 21 | ❌ | 파일 전송 (평문) |
| FTPS | 990 | ✅ SSL | 파일 전송 (암호화) |
| SFTP | 22 | ✅ SSH | 파일 전송 (SSH) |
| Telnet | 23 | ❌ | 원격 접속 (평문) |
| SSH | 22 | ✅ | 원격 접속 (암호화) |
| SMTP | 25 | - | 메일 송신 |
| POP3 | 110 | - | 메일 수신 |
🔟 TCP Header 구조

TCP 헤더: 기본 20바이트 (옵션 포함 최대 60바이트)
| 필드 | 크기 | 설명 |
|---|---|---|
| Source Port | 16 bits | 송신자 포트 |
| Destination Port | 16 bits | 수신자 포트 |
| Sequence Number | 32 bits | 데이터 순서 번호 |
| Acknowledgment Number | 32 bits | 수신 확인 번호 |
| HLEN | 4 bits | 헤더 길이 |
| Flags | 6 bits | 제어 플래그 (SYN, ACK, FIN 등) |
| Window Size | 16 bits | 수신 가능한 데이터 크기 |
| Checksum | 16 bits | 오류 검사 |
| Urgent Pointer | 16 bits | 긴급 데이터 포인터 |
📊 TCP 연결 관리 3단계
데이터 전송 전: 3-Way Handshake
데이터 전송 중: 신뢰성, 흐름제어, 오류제어
데이터 전송 후: 4-Way Handshake🤝 3-Way Handshake (연결 설정)

Client Server
| |
|-------- SYN (SN=6100) -----→ |
| |
| ←-- SYN-ACK (SN=5500, AN=6101) |
| |
|-------- ACK (AN=5501) -----→ |
| |
|========= 연결 설정 완료 ========|단계:
Client → Server: SYN (연결 요청)
- SN (Sequence Number) = 6100
Server → Client: SYN-ACK (연결 수락)
- SN = 5500
- AN (Acknowledgment Number) = 6101
Client → Server: ACK (확인)
- AN = 5501
📦 데이터 전송 (정상)

공식: AN = SN + Data Size
송신호스트 수신호스트
SN=5000 (Data: 500)
-----→
AN=5500
←-----
SN=5500 (Data: 600)
-----→
AN=6100
←-----
SN=6100 (Data: 300)
-----→
AN=6400
←-----⚠️ 데이터 전송 (비정상 - 재전송)

송신호스트 수신호스트
SN=5000 (Data: 500)
-----→
(패킷 손실)
AN=5000 (재전송 요청)
←-----
SN=5000 (Data: 500) 재전송
-----→
AN=5500
←-----흐름 제어 (Flow Control)

Window Size란?
- 수신자가 한 번에 받을 수 있는 데이터 양
- 송신자는 Window Size만큼만 데이터 전송 가능
예시:
수신호스트의 Window Size: 3000바이트
→ 송신호스트는 3000바이트까지만 전송 가능
Window Size = 1000으로 감소
→ 송신호스트는 1000바이트만 추가 전송 가능
Window Size = 0 (전송하지마세요!)
→ 송신호스트는 Keep Alive 패킷만 주기적으로 전송
→ 수신호스트가 버퍼 비우면 Window Size 증가👋 4-Way Handshake (연결 종료)

Client Server
| |
|--------- FIN --------→ |
| (FIN_WAIT_1) | (CLOSE_WAIT)
| |
| ←--------- ACK --------- |
| (FIN_WAIT_2) | (CLOSE_WAIT)
| |
| (Application Close())
| |
| ←--------- FIN --------- |
| (TIME_WAIT) | (LAST_ACK)
| |
|--------- ACK --------→ |
| (2MSL 대기) | (CLOSED)
| |
| -------- CLOSED --------2MSL (Max Segment Lifetime): TIME_WAIT 상태 유지 시간
1️⃣1️⃣ UDP 프로토콜
📌 UDP 특징
UDP: 빠르지만, 전송 불안정 ⚡
- Connectionless (비연결형)
- Best-Effort Delivery (최선의 노력)
- 신뢰성 보장 못함
- 순서 보장 안 함
- 오류 제어 없음
- 흐름 제어 없음🔧 UDP Header 구조
Source Port (16 bits)
Destination Port (16 bits)
Length (16 bits)
Checksum (16 bits)기본 8바이트
📊 TCP vs UDP 비교
| 항목 | TCP | UDP |
|---|---|---|
| 연결 | Connection-Oriented | Connectionless |
| 신뢰성 | ✅ 보장 | ❌ 보장 안 함 |
| 순서 | ✅ Sequencing 지원 | ❌ 지원 안 함 |
| 오류 제어 | ✅ 있음 | ❌ 없음 |
| 흐름 제어 | ✅ 있음 | ❌ 없음 |
| 전송 방식 | Unicast | Unicast, Multicast, Broadcast |
| 이중성 | Full Duplex | Half Duplex |
| 속도 | 느림 | 빠름 |
| 용도 | 정확한 전송 | 실시간 전송 |
| 예시 | HTTP, SMTP, FTP | DNS, NTP, VoIP, 동영상 |
🎯 데이터 분할 방식 차이

TCP (Stream-Oriented)
4000바이트 데이터
↓
자동 단편화 (MSS 기준)
↓
Segment 1: 1400바이트
Segment 2: 1400바이트
Segment 3: 1200바이트UDP (Message-Oriented)
4000바이트 데이터
↓
단편화하지 않음
↓
하나의 메시지로 전송 (4000바이트 그대로)📋 핵심 요약
✅ 필수 암기 사항
Router/Routing/Route: 장비 / 작업 / 결과
OSI 7계층 PDU:
- L7-L5: Message
- L4: Segment (TCP), Data Stream (UDP)
- L3: Packet, Datagram
- L2: Frame
- L1: Bit
Data Link Layer (L2):
- LLC: 오류 제어
- MAC: 매체 접근 제어
MAC 프로토콜:
- CSMA/CD: 유선 LAN (IEEE 802.3)
- CSMA/CA: 무선 LAN (IEEE 802.11)
TCP 연결 관리:
- 데이터 전송 전: 3-Way Handshake
- 데이터 전송 중: 신뢰성, 흐름제어, 오류제어
- 데이터 전송 후: 4-Way Handshake
TCP vs UDP:
- TCP: 신뢰적 (느려도 안정)
- UDP: 빠름 (불안정)
프로토콜 암호화:
- HTTP (80) → HTTPS (443): SSL
- FTP (21) → FTPS (990): SSL
- FTP → SFTP (22): SSH
- Telnet (23) → SSH (22): 암호화
Wireshark를 통해 직접적으로 패킷을 분석하니까 책으로만 보던거랑 다르게 열라리 복잡하다는 걸 깨달아 버렸다... 그래도 오늘은 뭔가 이론적으로 좀~~ 알던 내용이라 따라갈 만 한 듯
'SK Shieldus Rookies 29' 카테고리의 다른 글
| [SK shieldus Rookies 29기] 14일차 (1) | 2025.12.04 |
|---|---|
| [SK shieldus Rookies 29기] 13일차 (0) | 2025.12.04 |
| [SK shieldus Rookies 29기] 11일차 (0) | 2025.12.04 |
| [SK shieldus Rookies 29기] 10일차 (0) | 2025.12.04 |
| [SK shieldus Rookies 29기] 9일차 (0) | 2025.12.04 |