728x90
TCP/IP 4계층
4. Application : HTTP, SMTP, FTP, SNMP
3. Transport : TCP, UDP
2. Internet : IP, ICMP, ARP
1. Network Access : CSMA/CD, CSMA/CA
Application 계층
HTTP (TCP 80)
- State-less ( 지속적으로 연결x, 요청이 있을 때 연결 후 종료 )
- HTTP Header-Body 구분 : \r\n\r\n 개행문자
- HTTP 응답코드 200은 성공적으로 처리한 것
- HTTP 요구방식
- GET : 데이터를 URL에 포함
- POST : 데이터를 Body에 포함
- OPTIONS : 응답 메시지 없이 전송
- PUT : 메시지 + URL(데이터)
- DELETE : URL 지정된 자원 삭제
- TRACE : 경로 기록
쿠키 vs 세션
쿠키(Cookie) : 클라이언트에 정보 저장, Text형식, 최대 4KB
세션(Session) : 서버에 정보 저장, Object, 용량 제한X
SMTP (Simple Mail Transfer Protocol, 25) : 전자우편 표준 프로토콜
- Store-and-Forward 방식
- MTA(Mail Transfer Agent) : 메일을 전송하는 서버
- MDA(Mail Delivery Agent) : MTA에게 받은 메일을 사용자에게 전달
- MUA(Mail User Agent) : 사용자들이 사용하는 클라이언트
POP3 vs IMAP
POP3(TCP 110) : 수신 후 메일 서버에서 해당 메일 삭제
IMAP(143) : 수신 후 메일 서버에 원본 저장
FTP (File Transfer Protocol)
- 파일 전송 프로토콜
- 등록된 사용자만 파일 전송 가능, 그외는 익명으로 사용
- ftpusers : FTP차단 유저
전송모드
Active Mode (TCP 21, 20)
- 21번 포트 : 접속
- 20번 포트 : 데이터 전송
Passive Mode (TCP 21, 1024)
- 21번 포트 : 접속
- 1024~65535번 포트 : 데이터 전송 (Random)
SNMP (Simple Network Management Protocol)
네트워크 장애, 통계, 상태 정보를 실시간으로 수집 및 분석
Transport 계층
TCP (Transmission Control Protocol)
- 클라이언트와 서버 간의 연결 지향 : 메시지를 송수신하기 전에 먼저 연결을 확인하고 연결이 확립되면 메시지 송수신
( 물리적으로 연결된 것은 X ) - 신뢰성 있는 데이터 전송
- netstat : TCP 상태정보 확인
- 3-Way Handshaking 기법
- 완전이중
- 순서제어 : 메시지 전송 시 Sequence Number를 같이 보냄
- 에러제어
- FEC(Forward Error Correction) : 송신 측이 정보 비트를 함께 전송하여 수신측에서 이 정보비트로 에러 발생 시 수정
- BEC(Backward Error Correction) : 수신 측이 에러 검출 후 송신 측에게 데이터 블록을 다시 전송 요청
BEC 기법의 종류
1) Stop-and-Wait
2) Go-Back-N
3) Selective Repeat
- 흐름제어 : 수신자가 메시지를 제대로 받지 못하면, 송신자는 전송 속도를 늦추어 네트워크 효율성 제어
- 슬라이딩 윈도우(Sliding Window) : 수신측의 확인 신호를 받지 않더라도 미리 정해진 프레임의 수만큼 연속적으로 전송
- 혼잡제어 : 수신자의 버퍼 상태를 보고 전송 속도를 조절
- TCP Slow Start : TCP가 시작될 때 전송속도를 초기 값부터 지속적으로 올리는 방법
UDP (User Datagram Protocol)
- 비연결성, 비신뢰성
- 빠른 전송
Checksum : 패킷의 무결성을 확인하는 방법으로 송신 도중에 변조되지 않았는지 확인하는 것
→ CRC 코드 사용
Internet 계층
송신자-수신자 IP주소 경로를 결정하거나 전송하는 역할
라우팅
IP 헤더에 있는 목적지 IP주소를 읽어 경로 결정
- 정적경로 (Static routing)
- 동적경로 (Dynamic routing)
- Distance Vector routing
- RIP, BGP
- Link State routing
- OSPF
- Distance Vector : 최단경로를 구하는 벨만 포드(Bellman-Ford) 알고리즘 기반
- RIP (Routing Information Protocol) : 홉수 사용 → 16홉 이상인 패킷 폐기
( 홉수 : 통과할 수 있는 라우터 수 ) - BGP (Border Gateway Protocol) : AS(Autonomous System) 상호 간의 routing에 적용되는 프로토콜 (IBGP, EBGP)
- RIP (Routing Information Protocol) : 홉수 사용 → 16홉 이상인 패킷 폐기
- Link State : 최소 신장 트리를 구하는 다익스트라(Dijkstra) 알고리즘 기반
- OSPF (Open Shortest Path First) : 각 목적지별 최단경로를 구함
IP (Internet Protocol)
- IPv4(32), IPv6(128)
- MTU (Maximum Transmission Unit) : 한 번에 통과할 수 있는 패킷의 최대 크기 (ifconfig, ipconfig 명령어)
→ MTU 값보다 패킷의 크기가 크면 패킷은 분할되고 그 정보를 Flag와 Offset이 가짐
IP Header의 구조
- Flag와 Fragment Offset : 전송할 때 패킷의 크기가 너무 크면 패킷은 분할되고 수신 이후 다시 조립
- TTL (Time to Live) : IP 패킷이 통과할 수 있는 라우터 수 (윈도우의 기본 TTL값 128)
- Header Checksum : 헤더의 무결성 검사
- IP : (클래스 종류) + 네트워크 주소 + 호스트 주소
- 클래스에 따른 최상위 비트 : Class A : 0 , Class B : 10, Class C : 110, Class D : 1110
- netstat -b : 해당 IP에 대해서 프로세스를 식별할 수 있는 명령어
ICMP (Internet Control Message Protocol) : 오류제어 프로토콜
- 주요 기능
- 오류 보고 메시지 : IP 패킷 처리 도중 발견된 문제 보고
- 질의 메시지 : 다른 호스트로부터 특정 정보를 획득하기 위해 사용
- ICMP 메시지
- 3 : 목적지 찾을 수 없음
- 4 : 패킷이 너무 빨라 네트워크에 무리를 주는 호스트 제지
- 5 : 패킷 라우팅 경로 수정 (스머핑 공격에 사용)
- 8 or 0 : Host 존재 확인
- 11 : 시간 경과하여 패킷 삭제
- 12 : IP Header에 잘못된 정보가 있음
- 13 or 14 : 시간에 대한 정보 추가
데이터 전송 방식
- Unicast : 1:1 전송 방식
- Broadcast : 1:N 전송 방식 (IPv6부터 없어짐)
- Multicast : N:M 전송 방식
- Anycast : 등록된 노드 중 최단경로 노드 한 개에만 전송 (IPv6)
ARP 및 RARP (Address Resolution Protocol)
- ARP : IP 주소를 MAC 주소로 변경
- RARP : MAC 주소를 IP 주소로 변경
- ARP Cache Table : MAC, IP 주소를 보유하고 있는 테이블
- arp : 리눅스에서 IP주소와 MAC주소 확인
- arp -a : 윈도우에서 IP주소와 MAC주소 확인
Network Access 계층
IP주소를 MAC주소로 변환, 에러제어, 흐름제어(Point-to-Point)
CSMA/CD : 유선 랜 메시지 송수신 방법
- 충돌을 감시하여 비어있는 채널을 재사용하게 만듬
- 충돌이 일어날 경우 Back off 알고리즘 이용하여 재전송
- 리피터와 허브는 충돌 발생, Switch는 충돌을 막을 수 있음
- Switch는 브로드캐스트를 막을 수 없고, Router가 브로드캐스트를 막을 수 있음
CSMA/CA : 무선 랜 메시지 송수신 방법
- 프레임 전송 이전에 제어 메시지를 이용하여 수신자로부터 간단한 전송
Transport : Segment
Internet : Datagram
Network Access : Frame
728x90
'InfoSec > 정보보안기사' 카테고리의 다른 글
Window 인증 및 SID (Security ID) (0) | 2024.03.10 |
---|---|
네트워크 보안 03. 네트워크 대응 기술 및 응용 (0) | 2022.09.20 |
네트워크 보안 02. 네트워크 기반 공격 기술의 이해 및 대응 (1) | 2022.09.19 |
리눅스 서버 보안 (0) | 2022.09.03 |