TCP/IP 4 layer에 대해서 알아보자.
# Application 계층(L4)
- osi 7layer의 5(session), 6(presentation), 7(application)이 합쳐진 계층
- 사용자들이 사용하는 어플리케이션에 맞게 user interface를 설계
- 응용 계층과 연결, 기본적 사항 및 에러/일관성 제어
- 관련 서비스: ftp, dns, http, telnet, smtp, snmp 등
HTTP
- W3C 표준 프로토콜을 사용하여 웹 브라우저와 서버 사이 메세지를 송수신하는 프로토콜
- TCP 프로토콜 기반
- 80port, 오직 하나의 프로세스만 root 사용자로 가동하여 점유 → 자식 프로세스를 생성하여 실행
HTTP 1.0 | 3way handshake → HTML 페이지를 수신받고 (request-response) → 완전 연결 종료 |
HTTP 1.1 | 완전 연결 종료가 아닌, 일정 기간 연결을 대기하는 Keep alive connection 지원 |
HTTP 2.0 | 빠른 데이터 처리를 위해 멀티 플랙싱 : 동시다발적 양방향 통신 헤더 압축 서버 푸시 : 서버가 클라이언트에게 미리 필요한 데이터를 전송 -> 요청 횟수와 전송 데이터 양 감축 |
| HTTP request 구조
요청 방식에 따라 데이터를 전달하는 방식이 다름
GET으로 요청하면 위에서 확인 가능하듯이 url에 인자를 넣어서 요청 → 전송 가능 양이 제한적(2~4KB)
POST로 요청 시, request body에 넣어서 데이터를 전송
| HTTP response 구조
쿠키 | 웹 브라우저에서 저장하는 상태 정보 | 보안 option - secure : 암호화된 요청일 경우에만 전송 - httponly : xss공격을 방지하기 위해 document.cookie API접근 차단 - domain : 쿠기가 전송하게될 호스트 명시 - path : 쿠키 header전송을 위해 요청되는 특정 url 경로 |
세션 | 서버에 저장된 상태 정보 (로그인 여부, 사용자 정보 등) |
세션 ID가 쿠키에 담겨 브라우저로 전송 → 그걸로 서버가 사용자를 식별 세션 ID가 탈취되면 공격자는 로그인 없이도 그 사람처럼 행동 가능 → 보안 옵션 중요 |
# Transport 계층(L3)
- end-to-end 전송
- 데이터의 오류x, 순서가 보존되도록 하는 연결지향서비스
- 단위 : segment (message + tcp/udp header)
1. TCP
TCP는 신뢰성 있는 연결 지향 프로토콜로, 연결 수립과 종료 시 명확한 상태 전이가 있음
| 구조
| 연결
1. 상태 정보 확인 : netstat 등을 통해 확인
2. 3-way handshake (syn - syn,ack - ack)을 통해 신뢰성있는 연결 지향
| 에러 제어 : GO-BACK-N ARQ
중간에 하나라도 ack을 받지 못하면, 돌아온 ACK 번호 이후의 모든 것을 전부 재전송 (BEC 기법)
| 혼잡제어
congestion slow start : congestion windows 크기를 지수승으로 증가
동일한 ACK 번호만 재전송하거나, 패킷 손실 등의 네트워크 혼잡도를 감지 (congestion avoidance)
→ 전송 속도를 낮춤
→ Congestion windows(cwnd)를 줄이고 다시 천천히 증가
| 흐름제어 : Sliding windows
수신자의 window크기에 맞춰서 일정 수의 패킷을 전송 후, 응답이 확인되면 그 다음 패킷을 전송
| 신뢰성 보장
Sequence번호를 통해 메세지의 순서 파악 → 메세지 조각 맞춤
Checksum을 통해 메세지 무결성을 확인
2. UDP
- 비연결성(connection-less)
- 비신뢰성 : 목적지에 성공적으로 전송한다는 보장 x
- 빠른 전송
- 간단 헤더
'자격증 > 정보보안기사' 카테고리의 다른 글
네트워크보안(3) | 네트워크 기반 공격 기술의 이해 및 대응 (0) | 2025.05.12 |
---|---|
네트워크보안(2) | TCP/IP 구조2 (0) | 2025.05.06 |
네트워크보안(1) | 네트워크 일반 (0) | 2025.04.08 |
시스템 보안(1) | 보안정보시스템의 범위 및 이해 (0) | 2025.03.31 |