CS/네트워크 - Top-down Approach + @

OSI 7 Layer, TCP/IP 4 Layer, 그리고 HTTP와 HTTPS

조금씩 차근차근 2025. 3. 9. 19:49

1. 계층 모델

1.1 OSI 7계층

OSI 7계층은 네트워크 통신의 각 기능을 계층별로 분리하여 정의한 모델이다. 각 계층은 아래와 같이 역할을 수행한다.

  1. 물리 계층
    • 실제 전송 매체를 통해 비트 단위의 데이터 전송을 담당한다.
    • 전기 신호, 광 신호, 무선 주파수 등을 사용하여 데이터 전송이 이루어진다.
  2. 데이터 링크 계층
    • 물리 계층에서 전송된 데이터를 프레임 단위로 관리하며, 오류 검출 및 수정 기능을 수행한다.
    • MAC 주소 등을 이용한 노드 간의 통신을 지원한다.
  3. 네트워크 계층
    • 데이터를 패킷 단위로 관리하며, 최적의 경로를 선택해 목적지까지 전달하는 라우팅 기능을 담당한다.
    • IP 주소를 사용하여 패킷의 출발지와 도착지를 지정한다.
  4. 전송 계층
    • 종단 간 데이터 전송의 신뢰성과 순서를 보장하기 위한 연결 설정, 데이터 흐름 제어, 오류 복구 등의 기능을 수행한다.
    • TCP와 UDP가 이 계층에 해당하는 프로토콜이다.
  5. 세션 계층
    • 통신 세션을 관리하며, 데이터 교환 중 연결을 설정, 유지 및 종료하는 역할을 한다.
    • 애플리케이션 간의 대화 제어를 담당한다.
  6. 표현 계층
    • 데이터의 인코딩, 압축, 암호화 등을 처리하여 서로 다른 시스템 간 데이터 형식의 차이를 극복한다.
    • 데이터의 구조와 표현 방식을 표준화한다.
  7. 응용 계층
    • 사용자와 직접 상호작용하는 애플리케이션에 네트워크 서비스를 제공한다.
    • HTTP, FTP, SMTP 등 다양한 프로토콜이 이 계층에서 운영된다.

1.2 TCP/IP 4계층

TCP/IP 모델은 인터넷 통신의 실제 구현에 초점을 맞춘 모델로, 다음 네 계층으로 구성된다.

  1. 네트워크 인터페이스 계층
    • OSI의 물리 계층과 데이터 링크 계층에 해당하며, 하드웨어를 통한 데이터 전송을 담당한다.
  2. 인터넷 계층
    • OSI의 네트워크 계층에 해당하며, IP 프로토콜을 사용해 데이터 패킷의 주소 지정과 라우팅을 수행한다.
  3. 전송 계층
    • OSI의 전송 계층과 유사하게 데이터 전송의 신뢰성 및 오류 검출/수정 기능을 수행한다.
    • TCP와 UDP 프로토콜이 이 계층에서 작동한다.
  4. 응용 계층
    • OSI의 상위 세 계층(세션, 표현, 응용 계층)을 통합한 개념으로, 최종 사용자에게 네트워크 서비스를 제공한다.
    • 웹 브라우징, 이메일, 파일 전송 등의 애플리케이션 프로토콜이 이 계층에서 동작한다.

2. TCP와 UDP의 차이점

네트워크 전송 계층에서 사용되는 두 가지 대표적인 프로토콜은 TCP와 UDP이다. 이들은 다음과 같은 특징으로 구분된다.

TCP (Transmission Control Protocol)

  • 연결 지향적 프로토콜
    • 통신을 시작하기 전, 송신자와 수신자 간에 3-way 핸드쉐이크 과정을 통해 연결을 설정한다.
  • 신뢰성 및 순서 보장
    • 전송된 데이터의 도착을 확인하고, 손실된 패킷은 재전송한다.
    • 데이터의 순서를 보장하여 수신 측에서 올바른 순서로 데이터를 재구성할 수 있다.
  • 흐름 제어와 혼잡 제어
    • 네트워크 상태에 따라 전송 속도를 조절하여 혼잡을 방지하며, 수신자의 처리 능력에 맞추어 데이터 전송을 조절한다.

UDP (User Datagram Protocol)

  • 비연결 지향적 프로토콜
    • 연결 설정 없이 데이터를 전송하며, 핸드쉐이크 과정이 없다.
  • 신뢰성 및 순서 보장 없음
    • 데이터가 도착하지 않거나 순서가 뒤바뀔 수 있으며, 이러한 경우 애플리케이션이 별도로 처리해야 한다.
  • 빠른 전송 속도
    • 데이터 손실이 일부 발생해도 큰 문제가 없는 경우, 예를 들어 실시간 스트리밍이나 VoIP, 온라인 게임 등에서 사용된다.

3. HTTP와 HTTPS의 차이점 및 HTTPS 보안 제공 방식

HTTP (HyperText Transfer Protocol)

  • 평문 데이터 전송
    • 암호화 없이 데이터를 전송하므로 중간에 데이터가 노출될 위험이 있다.
  • 보안 취약점
    • 도청, 데이터 위변조, 중간자 공격(man-in-the-middle attack)에 취약하다.

HTTPS (HTTP Secure)

  • SSL/TLS 프로토콜 사용
    • SSL/TLS 암호화 기술을 활용하여 클라이언트와 서버 간에 전송되는 데이터를 암호화한다.
    • 종단 간 암호화를 통해 데이터의 기밀성을 보장한다.
  • 서버 인증
    • 서버는 공인된 인증서를 사용하여 자신의 신원을 증명한다.
    • 클라이언트는 인증서를 검증하여 신뢰할 수 있는 서버와 통신하고 있음을 확인한다.
  • 보안 통신 채널 구축
    • 암호화된 통신 채널을 설정함으로써 데이터 도청, 위변조, 중간자 공격을 효과적으로 방지한다.