Network

[Network] Application Layer Protocol

mxruhxn 2024. 11. 18. 13:40
728x90
반응형

프로토콜(Protocol)

(프로토콜 == 방법)

컴퓨터 간 소통하기 위해서는 정보를 보내는 컴퓨터와 정보를 받는 컴퓨터가 같은 방법을 사용해야 한다.

인간으로 치면, 소통하기 위해 같은 언어를 사용해야 한다.

Layer 별 프로토콜의 종류

굉장히 많은 프로토콜들이 있다.

어떤 어플리케이션을 어떤 목적으로 사용하는 지에 따라서 적절한 프로토콜을 선택하면 되는 것이다.

Transport Layer Protocols에 해당하는 TCP/UDP와 Internet Layer Protocols에 해당하는 IP(v4, v6)는 이전 포스팅들에서 다룬 적이 있다. 해당 포스팅을 참고하자!

Application Layer Protocols

Application Layer Protocol은 OSI 7계층 모델의 최상위 계층에서 동작하며, 애플리케이션 간 데이터 통신 규칙과 형식을 정의한다. 주로 사용자의 요청을 처리하고 응답을 반환하는 역할을 한다.

 

세그먼트의 Data 부분에 Application Layer Protocols 들을 집어 넣어서 컴퓨터와 컴퓨터 간의 어플리케이션으로 소통이 가능하게 한다.

UDP 기반 프로토콜

UDP(User Datagram Protocol)는 비연결형 프로토콜로, 데이터 전송 시 연결 설정 없이 패킷을 전송한다. 빠르지만 신뢰성(패킷 손실, 순서 보장)이 부족하다.

  • DNS (Domain Name System)
    • 역할: 도메인 이름을 IP 주소로 변환
    • 사용 포트: UDP 53번 포트
    • 특징: 빠른 응답이 중요하기 때문에 주로 UDP를 사용하지만, 요청이 클 경우 TCP를 사용하기도 함.
  • DHCP (Dynamic Host Configuration Protocol)
    • 역할: IP 주소 및 네트워크 구성 정보를 동적으로 할당 (IP Address, Subnet Mask, Default Gateway들을 할당)
    • 사용 포트: UDP 67, 68번 포트
    • 특징: 브로드캐스트를 통해 통신.
  • TFTP (Trivial File Transfer Protocol)
    • 역할: 간단한(작은 크기의) 파일 전송을 수행 -> FTP의 간소화 버전
    • 사용 포트: UDP 69번 포트
    • 특징: 파일 전송 과정에서 인증이 필요 없는 간단한 환경에서 주로 사용
  • SNMP (Simple Network Management Protocol)
    • 역할: 네트워크 상황에 대한 정보를 수집하고 처리하기 위해 사용하는 프로토콜
    • 사용 포트: UDP 161번 포트
    • 특징: 경량 프로토콜로 설계됨
  • NTP (Network Time Protocol)
    • 역할: 인터넷으로부터 시간 동기화할 때 사용하는 프로토콜 (NTP서버는 정확한 시간을 갖고 있는 서버)
    • 사용 포트: UDP 123번 포트
    • 특징: Windows10 기준, 오른쪽 하단 시계 클릭 -> 날짜 및 시간 변경 클릭 -> 인터넷 시간에서 확인 가능
  • SYSLOG
    • 역할: 시스템에 발생하는 다양한 로그를 위한 프로토콜
    • 사용 포트: UDP 514번 포트
    • 특징: 라우터 같은 장비들은 오류 로그를 따로 저장하지 않는다.

TCP 기반 프로토콜

TCP (Transmission Control Protocol)는 연결형 프로토콜로, 신뢰성과 데이터 전송 순서를 보장한다.

HTTP 프로토콜

  • HTTP/HTTPS (HyperText Transfer Protocol / Secure)
    • 역할: 웹 브라우저와 웹 서버 간 데이터 교환.
    • 사용 포트: TCP 80번(HTTP)과 443번(HTTPS) 포트
    • 특징
      • Hypertext Markup Language(HTML)을 사용하여 정보를 전달 -> 데이터가 텍스트로 전달
      • HTTPS는 암호화를 추가 -> 보안 강화

파일 전송 프로토콜

  • FTP (File Transfer Protocol)
    • 역할: 파일 업로드 및 다운로드.
    • 사용 포트: TCP 20, 21번 포트
    • 특징:
      • 데이터가 텍스트로 전송되기 때문에 보안이 취약
      • 요즘은 거의 사용하지 않고, SFTP 사용
  • SFTP(Secure File Transfer Protocol)
    • 역할: SSH를 활용하여 시스템간 파일전송을 하는 프로토콜
    • 사용 포트: TCP 22번 포트
    • 특징:
      • 데이터가 암호화되어 전송되기 때문에 보안이 철저함

이메일 관련 프로토콜

  • SMTP (Simple Mail Transfer Protocol)
    • 역할: 클라이언트에서 이메일 서버에 이메일 전송을 하는 프로토콜(발신용)
    • 사용 포트: TCP 25번 포트
    • 특징:
      • 이메일 전송 전용으로 설계됨
      • 암호화를 사용하는 이메일을 전송 가능
  • POP3(Post Office Protocol v3)
    • 역할: 이메일을 서버에서 다운로드하여 클라이언트(사용자 PC)에 저장하고 관리. (*수신용)
    • 사용 포트: TCP 110번 포트 -> SSL/TLS를 사용하는 경우 995번 포트
    • 특징:
      • 다운로드 후 기본적으로 서버에 남아 있는 이메일은 삭제됨(옵션으로 남길 수 있음)
      • 이메일을 로컬로 저장하므로 인터넷 연결 없이도 읽기가 가능
      • 클라이언트가 서버에서 이메일을 가져오기만 하고, 서버와 동기화는 하지 않음
      • 이메일 폴더 관리, 읽음/읽지 않음 상태 유지 등 고급 기능이 지원되지 않음
      • => 단순하고 로컬에 이메일을 저장해 관리하기에 적합하며, 서버 부담이 적음
  • IMAP (Internet Message Access Protocol)
    • 역할: 이메일을 서버에 저장하며, 클라이언트가 서버와 동기화된 상태로 이메일을 관리
    • 사용 포트: TCP 143번 포트 -> SSL/TLS를 사용하는 경우 993번 포트
    • 특징:
      • 이메일이 서버에 저장되어 서버를 통해 실시간으로 이메일 확인 가능
      • 클라이언트에서 메일을 읽어도 서버에 그대로 남아 있어 여러 기기에서 동일한 이메일 상태 확인 가능
      • 이메일을 서버 내 폴더로 분류하여 정리 가능
      • 모든 이메일이 서버에 저장되므로 서버 저장 공간이 빨리 소진될 수 있음
      • => 여러 디바이스에서 이메일을 동기화해 관리하기에 적합하며, 현대적인 이메일 관리 방식에 더 적합

원격 접속 프로토콜

  • Telnet
    • 역할: 원격 시스템 접속 및 제어
    • 사용 포트: TCP 23번 포트
    • 특징:
      • 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜
      • 암호화되지 않은 텍스트 전송 -> 보안문제로 사용이 감소하고 있으며, 원격제어를 위해 SSH로 대체
  • SSH (Secure Shell)
    • 역할: 원격 접속 및 데이터 전송 시 보안 제공
    • 사용 포트: TCP 22번 포트
    • 특징:
      • 기존 rsh, rlogin, 텔넷을 대체하기 위해 설계
      • 강력한 인증방법 제공 및 안정성이 우수
728x90
반응형