🧐 TIL

[백엔드 기본 개념 정리] 프로토콜

프로토콜 (Protocol)

컴퓨터, 장치, 시스템 간에 데이터를 교환하는 방식을 정의하는 규칙과 약속의 체계.

통신이 원활하게 이루어지도록 정보의 형식, 송수신 방법, 오류 처리 방법 등을 규정하며, 이를 통해 하드웨어나 소프트웨어 환경이 서로 다르더라도 공통의 약속된 언어로 통신하고 정보를 교환할 수 있게 한다.

주요 기능 및 역할

기능

  • 데이터 형식 정의: 데이터 해석 과정에서의 일관성을 위해 데이터를 어떻게 포맷팅하여 주고받을지 결정한다.
  • 정보 교환 방식 정의: 데이터의 송수신 방법, 타이밍 등을 규정한다.
  • 오류 처리: 데이터 전송 중 발생할 수 있는 오류를 감지하고 처리하는 방법을 정의한다.

역할

  • **통신의 표준화: **통신을 위한 규칙 및 표준 제공을 통해 상호운용성과 호환성을 보장한다.
  • **데이터의 안정성 및 신뢰성 확보: **데이터 전송 규약에 따른 오류 처리를 통해 정확성과 신뢰성을 보장한다.
  • **데이터 보안 확보: **암호화, 인증, 보안 연결 등을 위한 규약을 제공하여 데이터 전송간 보안을 유지한다.
  • 효율적인 데이터 관리: 전송을 최적화하고 네트워크 혼잡을 관리하여 네트워크의 효율성을 향상시킨다.

프로토콜 구성 요소

구문 (Syntax)

전송하고자 하는 데이터의 형식(Format), 부호화(Coding), 신호 레벨(Signal Level) 등을 규정

의미(Semantics)

기기 간 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정

시간(Timing)

기기 간의 통신 속도, 메시지의 순서 제어 등을 규정

네트워크 프로토콜 예시

  • HTTP (HyperText Transfer Protocol)
    • 웹 페이지와 다른 웹 리소스를 전송하기 위한 프로토콜, 주로 웹 브라우저와 웹 서버 간의 통신에 사용.
    • HTTPS (HTTP Secure): HTTP에 SSL/TLS 프로토콜을 추가하여 데이터 암호화를 통해 보안을 강화한 웹 통신 프로토콜
  • TCP (Transmission Control Protocol)
    • 인터넷상에서 데이터를 메시지 형태로 보내기 위해 IP와 함께 사용되는 프로토콜로 신뢰성 있는 데이터 전송을 보장
  • UDP (User Datagram Protocol)
    • TCP보다 단순하고 빠르지만, 신뢰성이 낮은 통신 프로토콜로 스트리밍 서비스나 온라인 게임에서 많이 사용
  • IP (Internet Protocol)
    • 인터넷상에서 데이터 패킷을 전송하기 위한 기본 프로토콜로 각 장치에 IP 주소를 할당하여 통신을 가능하게 한다.
  • FTP (File Transfer Protocol)
    • 파일을 컴퓨터 네트워크를 통해 전송하기 위한 프로토콜로 서버와 클라이언트 간 파일 전송에 사용
  • SMTP (Simple Mail Transfer Protocol)
    • 이메일 전송을 위한 프로토콜로 이메일 서버 간 또는 클라이언트에서 서버로 이메일을 보낼 때 사용