네트워크

[Network] 프로토콜(protocol)이란?-정의, 요소, 기능

Bill Gray 2022. 2. 24. 16:41
728x90
반응형

목차

  1. 프로토콜의 정의
  2. 프로토콜의 요소
  3. 프로토콜의 기능

 

1. 프로토콜의 정의

프로토콜은 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계이다. 기기 간 통신은 교환되는 데이터의 형식에 대해 상호 합의를 요구합. 이런 형식을 정의하는 규칙의 집합을 프로토콜이라고 한다.

 

2. 프로토콜의 요소

프로토콜의 요소는 크게 3가지로 볼 수 있다. 그중 첫 번째는 구문(syntex)으로, 데이터의 구조/포맷을 정의한다. 예를 들면 01001000101110101이라는 정보를 전송할 때, 0100는 주소를 나타내고 1000 부분은 데이터를 나타낸다고 정의하는 것이다. 프로토콜의 두 번째 요소는 의미(semantics)으로, 각 부분이 무엇을 의미하는지 알 수 있게 해주는 규칙을 포함한다. 이러한 규칙에는 오류, 동기, 흐름 제어가 있다. 예를 들어보자면, 0100는 4층으로 1000 부분은 물을 이라고 할 수 있다. 마지막 요소는 순서(Timing)로, 어느 데이터를 얼마나 빠르게 전송할지를 정의한다. 

 

3. 프로토콜의 기능

프로토콜의 기능은 각각의 종류마다 차이가 있지만, 공통적으로 제공하는 기능들이 있다. 그 기능들은 주소 설정(Adressing), 순서 제어(Sequence Control), 데이터 단편화/재조합(Fragementation/Reassembly), 캡슐화(Encapsulation), 연결제어(Connection Control), 흐름 제어(Flow Control), 오류 제어(Error Control), 동기화(Synchronization), 다중화(Multiplexing), 전송 서비스로 총 10 가지 기능이 있다. 각각의 기능을 설명해보자면, 주소 설정 기능은 한 기기에서 다른 기기에 데이터를 전송할 때 상대의 주소를 알아야 하는데 이를 위해 프로토콜에는 각각의 전송 계층에 맞게 이를 지정해주는 기능이 있다. 프로토콜의 순서 제어 기능은 PDU(Protocol data unit)의 순서를 제어해주는 역할을 하며, TCP와 같은 연결 지향형에서만 쓰인다. 순서가 정해진 PDU를 보내면 송신 측에서 순서에 따라 데이터를 재구성한다.

데이터 단편화 및 재조합 기능은 대용량 파일을 보낼때 효율을 높이기 위함이다. 대용량 파일을 한 번에 보내는 건 불가능하다. 따라서 수신 측에서 파일을 단편화, 즉 효율적으로 전송이 가능하게 쪼갠다음 송신 측에서 해당 데이터를 재조합한다. 

캡슐화 기능은 SDU(Service data unit)에다가 PCI(Protocol Control Unit)을 덧붙이는 것이다. SCU와 PCI에 대해서 짤막하게 설명해보자면, SDU는 실제 정보라고 생각하면 되고, PCI는 제어 정보라고 생각하면 된다. 그리고 그 두 개를 합친 것을 PDU라고 한다. PCI에는 발신지, 수신지 주소, 순서 번호 등과 같은 헤더 정보가 포함되어 있다.

연결 제어 기능은 말 그대로 두 시스템간의 데이터 교환 시에 연결을 설정하는 것이다. 이러한 방식을 TCP와 같은 연결 지향형 데이터 전송이라 하고 연결 설정을 안 하는 것을 UDP와 같은 비연결 지향형이라 한다. 

흐음 제어 기능은 말 그대로 송신 개체로부터 오는 데이터의 양과 속도를 조절한다. 이를 통해 송-수신 특의 속도 차이 등으로 인한 정보의 유실을 방지한다.

오류 제어 기능은 위에서 말한 SDU 또는 PCI가 잘못되었으면 찾아내는 역할을 한다. 대표적인 방식으로는 Parrity bit, CRC(Cyclic Reduncy Check) 등이 있다.

동기화는 두 개체가 통신시에 동시에 정의된 인자 값을 공유하며 서로 호흡을 맞추는 것이고 다중화 기능은 하나의 통신 선로에서 여러 시스템을 동시에 통신할 수 있게 해주는 기법이다. 마지막으로 전송 서비스는 우선순위를 결정하고 보안 요구 등을 제어하는 역할을 한다.