프로토콜(Protocol)이란?

강우엉·2023년 8월 14일
0

study

목록 보기
7/44

💡 프로토콜(Protocol)이란?

통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 즉 통신 규약 및 약속이다.

즉 통신을 하기 위한 약속, 컴퓨터와 컴퓨터 사이의 언어라고 생각하면 된다.

💡 프로토콜의 기본 요소

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

  • 의미(Semantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정

  • 시간(Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정

💡 프로토콜의 기능

1. 쪼개고 조합하기 (세분화와 재합성)

데이터의 용량이 매우 큰 경우 한번에 보낼 수 없는 상황이 발생한다.

이 때 데이터를 전송하기 전 데이터를 보내는 쪽은 특정 단위로 쪼개서 데이터를 보내야 하며,

데이터를 받는 쪽은 쪼개진 데이터를 조합하여야 한다.

2. 요약하기 (캡슐화)

데이터가 어떤 주소를 가지고 있고, 오류는 어떻게 제어하고, 어떤 형식으로 보내는지 등에 대한 정보를 요약하여 가지고 있어야 한다.

3. 연결할지 말지 정하기 (연결 제어)

데이터를 주고 받는 시스템을 연결하여 안전하게 데이터를 전송하는 방법이 있고,

연결하지 않고 받든 말든 상관없이 빠르게 데이터를 전송하는 방법이 있는데 이러한 2가지 방법 중 하나를 결정해야 한다.

4. 오류 발견하고 대비하기 (오류 제어)

데이터를 주고 받는 과정에서 오류가 발생했다면 이것을 확인할 수 있어야 하고, 해당 오류를 수정하고 손실되지 않도록 대비해야 한다.

5. 속도 조절하기 (흐름 제어)

데이터를 주고 받을 때 한 쪽에서 너무 빠르게 데이터를 보내지 않도록 속도를 조절해야 한다.

6. 순서 정하기 (순서 제어)

데이터를 어느 순서로 보낼지를 결정해야 하며, 이러한 순서는 오류가 발생했을 때 어느 지점에서 발생했는지 쉽게 확인할 수 있도록 한다.

7. 같은 상태 유지하기 (동기화)

데이터를 보내는 쪽과 데이터를 받는 쪽 둘 다 시작하는 시간, 검사하는 시간, 어떤 데이터 종류를 가지고 있는지 등 같은 상태를 유지해야 한다.

8. 주소 정하기 (주소 설정)

데이터를 어느 주소에서 보낼건지 , 받는 쪽이 어느 주소에서 받을 건지를 정하여 데이터를 정확하게 전달하여야 한다.

9. 여러 명이 사용할 수 있게 하기 (다중화)

여러 사용자들이 동시에 사용할 수 있도록 해야 한다.

Reference

profile
우엉이의 코딩 성장일기💻

0개의 댓글