[YouTube] "조현준 보안스쿨 - 기초강의" Note-Taking [2]
[YouTube] "조현준 보안스쿨 - 기초강의" 공부기록 2편
[YouTube] "조현준 보안스쿨 - 기초강의" Note-Taking [2]
해당 포스트는 학습 목적으로 작성되었으며 «조현준 보안스쿨 - 기초강의»을 참고하여 작성하였음을 알려드립니다.
5. 네트워크 프로토콜
5.1 HTTP 연결
HTTP/1.0
- 특징: 비영속적 연결 (Non-Persistent Connection)
- 매 요청마다 TCP 연결 생성 및 종료
- 오버헤드 큼
HTTP/1.1
- 특징: 영속적 연결 (Persistent Connection)
- 하나의 TCP 연결로 여러 요청/응답 처리
- Keep-Alive 헤더
- 파이프라이닝 지원
HTTP/2
- 멀티플렉싱, 헤더 압축
- 서버 푸시 기능
5.2 Slow HTTP DDoS 공격 (3가지)
1. Slowloris (Slow HTTP Header DoS)
- 방식: HTTP 헤더를 천천히 전송
- 완전한 요청을 보내지 않고 연결 유지
- 서버 연결 자원 고갈
2. RUDY (Slow HTTP POST DoS, R-U-Dead-Yet)
- 방식: POST 요청의 Body를 천천히 분할 전송
- Content-Length는 크게 설정하고 데이터는 천천히 전송
- 서버가 요청 완료를 대기하며 자원 소모
3. Slow HTTP Read DoS
- 방식: HTTP 응답을 천천히 읽음
- Window Size를 작게 설정하여 서버가 응답을 천천히 전송하도록 유도
- 서버 연결 자원 장시간 점유
대응 방법
- 연결 타임아웃 설정
- 최소 전송 속도 요구
- 동일 IP의 연결 수 제한
- Rate Limiting
6. OSI 7 계층 (OSI 7 Layer)
| 계층 | 이름 | 특징 | 데이터 단위 | 주요 프로토콜 | 장비 |
|---|---|---|---|---|---|
| 7 | 응용 계층 (Application) | - 각종 응용 서비스 제공 - 사용자 인터페이스 - 네트워크 관리 | Message | HTTP, HTTPS, FTP, TFTP,SMTP, POP3, IMAP,DNS, DHCP, SNMP,Telnet, SSH | Gateway, Proxy |
| 6 | 표현 계층 (Presentation) | - 데이터 형식 변환 - 암호화/복호화 - 압축/압축 해제 - 인코딩/디코딩 | Message | ASCII, EBCDIC,JPEG, MPEG, GIF,MIME, SSL/TLS | Gateway |
| 5 | 세션 계층 (Session) | - 세션 연결/관리/종료 - 동기화 (체크포인트) - 대화 제어 - 소켓 연결 관리 | Message | 전송 모드 결정 (반이중, 전이중) NetBIOS, RPC,SQL, NFS | Gateway |
| 4 | 전송 계층 (Transport) | - End-to-End 통신 - 신뢰성 있는 데이터 전송 - 흐름제어, 오류제어, 혼잡제어 - QoS 보장 - 포트 번호 사용 | Segment | TCP, UDP,SCTP | Gateway, L4 Switch |
| 3 | 네트워크 계층 (Network) | - 논리적 주소 지정 (IP) - 라우팅 (경로 설정) - 패킷 전달 - 단편화/재조립 | Packet | IP, ICMP, IGMP,ARP, RARP,NAT, IPSEC,RIP, OSPF, BGP | Router, L3 Switch |
| 2 | 데이터링크 계층 (Data Link) | - 물리적 주소 지정 (MAC) - 프레임화 - 오류 검출 및 정정 - 흐름제어 - 매체 접근 제어 | Frame | Ethernet, Token Ring,PPP, HDLC, SLIP,802.11 (Wi-Fi),MAC, LLC | Bridge, Switch, NIC |
| 1 | 물리 계층 (Physical) | - 물리적 연결 설정/해제 - 비트 스트림 전송 - 전송 매체 정의 - 전기적/기계적 규격 - 신호 변환 | Bit Stream | 케이블, 커넥터, 리피터, 신호 규격 (RS-232, V.35) | Hub, Repeater, Cable |
6.1 계층별 제어 기능
L4 전송 계층: 오류제어 + 흐름제어 + 혼잡제어
- 논리적 제어 (End-to-End)
- 신뢰성 있는 데이터 전송 보장
L2 데이터링크 계층: 오류제어 + 흐름제어
- 물리적 제어 (Hop-by-Hop)
- 인접 노드 간 신뢰성 있는 전송
오류제어 (Error Control)
- 목적: 전송 오류 검출 및 정정
- 방법:
- ARQ (Automatic Repeat Request): 재전송 요구
- Stop-and-Wait ARQ
- Go-Back-N ARQ
- Selective Repeat ARQ
- FEC (Forward Error Correction): 오류 정정 코드
- ARQ (Automatic Repeat Request): 재전송 요구
흐름제어 (Flow Control)
- 목적: 송신자와 수신자 간 전송 속도 조절
- 방법:
- Stop-and-Wait
- Sliding Window: Window Size 조절
- Window Size: 확인 응답 없이 전송 가능한 데이터 양
혼잡제어 (Congestion Control)
- 목적: 네트워크 혼잡 방지 및 해소
- 방법:
- Slow Start
- Congestion Avoidance
- Fast Retransmit
- Fast Recovery
- 트래픽 양 조절: 네트워크 전체 부하 관리
7. IP 프로토콜
7.1 패킷 전송 방법
Unicast (유니캐스트)
- 1:1 통신
- 특정 단일 호스트에게 전송
- 가장 일반적인 전송 방식
Multicast (멀티캐스트)
- 1:N 통신
- 특정 그룹(다수)에게 전송
- 멀티캐스트 그룹 주소 사용
- 예시: IPTV, 화상회의
Broadcast (브로드캐스트)
- 1:All 통신
- 같은 네트워크의 모든 호스트에게 전송
- IPv4에서만 지원 (IPv6는 미지원)
- 예시: ARP 요청, DHCP Discover
Anycast (애니캐스트)
- 1:Nearest 통신
- 그룹 내 가장 가까운 하나의 호스트에게 전송
- 주로 IPv6에서 사용
- 예시: DNS 루트 서버, CDN
7.2 헤더 구조
공통 규칙
- IP 헤더의 첫 번째 필드: 버전 (Version)
- TCP/UDP 헤더의 첫 번째 필드: 소스 포트 주소 (Source Port)
7.3 IPv4
주요 특징
- 주소 길이: 32비트 (4바이트)
- 헤더 길이: 가변 (20~60바이트)
- 주소 표기: 점-십진 표기법 (예: 192.168.0.1)
- 브로드캐스트: 지원
- 헤더 체크섬: 있음
주요 헤더 필드
Version (버전): 4비트
- IP 프로토콜 버전 (IPv4 = 4)
Header Length (헤더 길이): 4비트
- 헤더 길이를 32비트 단위로 표시
- 최소값 5 (20바이트), 최대값 15 (60바이트)
Total Length (전체 길이): 16비트
- 헤더 + 데이터 전체 길이
- 최대 65,535바이트
Identification (식별자): 16비트
- 단편화된 패킷들을 식별하기 위한 고유 번호
Flags (플래그): 3비트
- bit 0: Reserved (예약, 항상 0)
- bit 1: DF (Don’t Fragment)
- 1: 단편화 금지
- 0: 단편화 허용
- bit 2: MF (More Fragments)
- 1: 뒤에 단편 있음
- 0: 마지막 단편 (또는 단편화 안됨)
Fragment Offset (단편 오프셋): 13비트
- 원본 데이터에서의 위치
- 8바이트 단위
TTL (Time To Live): 8비트
- 패킷의 최대 생존 시간 (홉 수)
- 라우터 경유 시마다 1씩 감소
- 0이 되면 폐기 → 무한 루프 방지
Protocol (프로토콜): 8비트
- 상위 계층 프로토콜 식별 (다중화)
- 예시: TCP=6, UDP=17, ICMP=1
- 다중화 관련:
- L4: Port Number
- L3: Protocol Number
- L2: Type (Ethertype)
Header Checksum (헤더 체크섬): 16비트
- 헤더의 오류 검사
- 단편화 후 재계산 필요
- 데이터는 포함하지 않음
Source/Destination Address: 각 32비트
- 송신지/목적지 IP 주소
7.4 IPv6
주요 특징
- 주소 길이: 128비트 (16바이트)
- 헤더 길이: 고정 40바이트
- 주소 표기: 콜론-16진수 표기법
E.g. 2001:0db8::1
- 브로드캐스트: 미지원 → 멀티캐스트 사용
- 헤더 체크섬: 없음 (상위 계층에서 처리)
- 주소 공간: 2^128개 (거의 무한대)
IPv4 대비 개선사항
- 주소 공간 대폭 확장
- 헤더 단순화 (처리 속도 향상)
- 보안 기능 내재화 (IPsec 필수)
- QoS 지원 강화
- 자동 구성 (Auto-configuration)
삭제된 5개 헤더 필드
- Header Length (헤더 길이): 고정 길이로 불필요
- Identification (식별자): 확장 헤더로 이동
- Flags (플래그): 확장 헤더로 이동
- Fragment Offset (단편 오프셋): 확장 헤더로 이동
- Header Checksum (헤더 체크섬): 상위/하위 계층에서 처리
주요 헤더 필드
Version (버전): 4비트
- IPv6 = 6
Traffic Class (트래픽 클래스): 8비트
- QoS, 우선순위 지정
- IPv4의 ToS(Type of Service)에 해당
Flow Label (플로우 레이블): 20비트
- 특정 플로우(흐름)에 대한 특별한 처리 제공
- 실시간 트래픽 처리
- QoS 보장
Payload Length (페이로드 길이): 16비트
- 데이터 길이 (헤더 길이 제외)
- IPv4의 Total Length와 유사하지만 헤더 미포함
- 확장 헤더 포함
Next Header (다음 헤더): 8비트
- 다음에 오는 헤더 유형 지정
- 확장 헤더 또는 상위 계층 프로토콜
- 확장 헤더 예시:
- Hop-by-Hop Options
- Routing
- Fragment
- Authentication (AH): IPsec 인증
- ESP (Encapsulating Security Payload): IPsec 암호화
- Destination Options
Hop Limit (홉 제한): 8비트
- IPv4의 TTL과 동일한 역할
- 무한 루프 방지
Source/Destination Address: 각 128비트
- 송신지/목적지 IPv6 주소
Related Posts
- [YouTube] “조현준 보안스쿨 - 기초강의” Review
- [YouTube] “조현준 보안스쿨 - 기초강의” Note-Taking [1]
- [YouTube] “조현준 보안스쿨 - 기초강의” Note-Taking [3]
- [YouTube] “조현준 보안스쿨 - 기초강의” Note-Taking [4]
References
This post is licensed under CC BY 4.0 by the author.
