본문 바로가기

CS/Computer Network

[네트워크] Ch1.2 프로토콜의 정의(Definition of Protocol)

 

본 글은 학교 네트워크 수업을 들으며, "Computer Networking: A Top-Down Approach 8ed(컴퓨터 네트워킹: 하향식 접근 제8판)"을 기반으로 공부한 내용을 정리한 글입니다.

 

Ch1.2 프로토콜의 정의(Definition of Protocol)

프로토콜의 사전적 정의는 여러가지가 있는데, 우리가 다룰 프로토콜의 정의는 다음과 같음.

- `protocol` :

wikipedia) `통신 과정에서 어떻게 데이터가 전송될지에 대한 규칙들을 정의한 집합`

book) `두 개체가 메시지를 성공적으로 교환하기 위해 필요한 관습들의 집합`

 

두 개체(entites)가 성공적으로 통신하기 위해선, 

1. what : 무엇을 통신할 지 

2. how : 어떻게 통신할 지

3. when : 언제, 어떤 순서로 통신할 지

을 서로 정해두고 통신해야 함.

Key Elements of a Protocol

이들은 각각 what, how, when에 대응됨.

Syntax(문법)

- 내가 주고받을 메시지의 데이터 포맷.

- 인코딩/디코딩 정보나 신호 레벨 등.

Semantics(시멘틱)

- 메시지 전송 및 수신 시 하는 동작들.

- 대답, 제어 정보, 에러 핸들링 등.

Timing(타이밍) : 메시지를 주고받을 순서.

- 타임아웃, 시퀀스 넘버, speed matching 등.

 

이제, 각 protocol에 대해 위 3가지가 정의되어 있는지 확인할 수 있음.