Server

프로토콜이란?

Raconer 2023. 4. 15. 16:17
728x90

프로토콜이란?

프로토콜은 복수의 컴퓨터 사이나 중앙 컴퓨터와 단말기 사이에서 데이터 통신을 원활하게 하기 위한 "통신 규약"입니다. 이 규약은 데이터 전송에 필요한 신호 송신의 순서, 데이터 표현법, 오류 검출 방법 을 정의합니다. 또한, 컴퓨터와 컴퓨터 간에 의사소통을 위한 언어 설정도 포함됩니다.

프로토콜의 기능

  1. 에러 제어(Error Control)
    • 전송 중 에러 검출 및 에러 정정
  2. 캡슐화(Encapsulation)
    • 통신 계층 상의 각 계층이 자신만의 특정 제어 정보를 추가
  3. 연결 제어(Connection Control)
    • 연결 지향적 통신에서 연결 설정, 데이터 전달, 연결 종료 절차의 제어
  4. 순서 제어(Sequence Control)
    • 순서 역전, 중복 패킷 발생 등 정의
  5. 흐름 제어(Flow Contorol)
    • 보낼 데이터량, 전송률의 제한
  6. 혼잡 제어(Congestion Control)
    • 포화 대기 패킷수의 제한을 위한 제어 기법
  7. 동기화(Synchronization)
    • 송수신 양측 간에 시간 관계, 위치 일치
  8. 주소 지정(Addressing)
    • 각 전송 계층에 맞는 주소 지정
  9. 단편화 및 재조립(Segmentation and Ressembly, Fragmentation and Ressembly)
    • 송신기에서 분할된 정보는 전송매체를 통하여 수신기에 전달되고, 수신기는 다시 원래의 정보로 조립하여 최종적으로 사용자가 이해할 수 있는 형태로 재조립한다.
    • EX) 이미지, 영상 같은 대용량 정보 같은 경우 작게 쪼개서 전송하고 다시 재 조합한다.
  10. 데이터 형식화(Data Formatting)

분류

  1. 직접/간접 프로토콜
  2. 단일체/구조적 프로토콜
  3. 대칭, 비대칭 프로토콜

프로토콜 계층(OSI 7 Layer)

프로토콜 7계층은 OSI(Open Systems Interconnection) 모델에서 네트워크 통신을 구성하는 7개의 계층으로 이루어진 구조입니다. 각 계층은 특정한 기능과 역할을 수행하며, 상위 계층은 하위 계층에서 제공하는 기능을 활용하여 데이터를 처리합니다.

  • 물리 계층 (Physical Layer)
    • 네트워크 하드웨어와 물리적인 전송 매체를 다룹니다.
    • 데이터를 전기 신호, 광 신호 등의 물리적인 형태로 변환하여 전송합니다.
    • 단위 : 비트
  • 데이터 링크 계층 (Data Link Layer)
    • 물리 계층에서 제공되는 전송 매체를 이용하여 데이터를 전송합니다.
    • 에러 검출과 흐름 제어 등의 기능을 수행하여 데이터 전송의 신뢰성을 보장합니다.
    • 단위 : 프레임
  • 네트워크 계층 (Network Layer)
    • 데이터를 목적지까지 전달하기 위한 경로를 결정하고, 패킷 전송을 관리합니다.
    • 라우터 등의 장비를 이용하여 다른 네트워크로의 데이터 전송도 가능합니다.
    • 단위 : 패킷, 데이터그램
  • 전송 계층 (Transport Layer)
    • 종단간(End-to-End) 데이터 전송을 담당합니다.
    • 데이터를 분할하거나 합치고, 에러 검출과 재전송 등의 기능을 수행하여 신뢰성 있는 데이터 전송을 보장합니다.
    • 단위 : 세그먼트
  • 세션 계층 (Session Layer)
    • 네트워크 상에서 양 끝단의 응용 프로세스 간에 대화 제어와 동기화를 담당합니다.
    • 세션 연결 설정, 유지 및 종료, 다중 세션 관리 등을 수행합니다.
  • 표현 계층 (Presentation Layer)
    • 데이터를 표현하는 방식을 관리하며, 데이터의 포맷 변환, 압축, 암호화 등의 기능을 수행합니다.
    • 응용 계층에서 전송 가능한 형태의 데이터를 생성하고, 수신된 데이터를 응용 가능한 형태로 변환합니다.
    • 단위 : 메시지 데이터
  • 응용 계층 (Application Layer)
    • 최종 사용자가 접하는 응용 프로그램과 직접적으로 상호작용합니다.
    • 전자우편, 파일 전송, 웹 브라우징 등 다양한 응용 프로그램을 구현합니다.

프로토콜의 종류

  1. 브라우저를 통한 웹서비스 이용에 사용되는 프로토콜
    • HTTP : Hyper Text Transfer Protocol
    • HTTPS : Secure Hyper Text Transfer Protocol
  2. 파일 전송에 사용되는 프로토콜
    • FTP : File Transfer Protocol
    • SFTP : Secure File Transfer Protocol
  3. 서버 컴퓨터 셀에 접근하기 위한 프로토콜
    • SSH : Secure Shell
    • Telnet : Terminal Network
  4. 보안된 소켓 통신 프로토콜
    • SSL : Secure Socket Layer
  5. 메일 전송 프로토콜
    • POP3 : Post Office Protocol Ver.3
    • SMTP : Simple Mail Transfer Protocol

이러한 프로토콜 내용은 브라우저에서 어느 정도 확인해 볼 수 있다

Chrome > Dev Tools > NetWork

  • General : 요청 URL 정보와 메서드, 상태 코드
  • Response Header : 응답 헤더, 응답 온 패킷의 헤더, 서버 종류, 연결 상태
  • Request Header : 요청 헤더, 요청을 보낸 패킷의 헤더, 보낸 클라이언트 종류, 요청한 파일 종료
728x90

'Server' 카테고리의 다른 글

Cookie vs LocalStorage vs SessionStorage  (0) 2023.04.16
Nginx WebSocket, Proxy Error  (0) 2023.04.16
세션 vs 토큰 vs 쿠키?  (0) 2023.04.15
JSON 이란?  (0) 2023.04.15
Client와 Server사이에 데이터 전송 구조  (0) 2023.04.15