본문 바로가기
IT 용어/프로토콜

프로토콜(Protocol)이란? (or 통신규약)

by HP_Factory 2021. 1. 21.

오늘날 우리들은 인터넷을 통해 전세계 모든 사람들과 연결 되어있습니다!

 

이로 인해 지구 반대편에 있는 친구와도 통신이 가능하게 되었는데, 만약 인터넷을 통해 메신져로 아프리카에 있는 사용자와 대화를 하게 되었는데 서로 사용 하는 언어가 달라서 대화가 안된다면 우리는 서로 통신을 하고 있다고 할 수 있을까요?

한국어를 사용하는 한국인과 다른 언어를 사용하는 외국인이 서로 이해 할 수 없는 언어를 사용한다면 연결이 되어 있다라고 해도 대화 한다라고 말 할 수는 없을겁니다.

 

마찬가지로 컴퓨터와 컴퓨터, 장비와 장비간에 서로 통신을 하려고 할때 이해 할 수 없는 언어를 사용 한다면 당연히 통신이 안된 다고 할 수 있을것입니다.

 

프로토콜 또는 통신규약의 사전적인 의미는 컴퓨터나 원커리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계입니다.  

* 또는 외교상의 언어로써 의례나 국가간에 약속을 의미합니다.

 

즉, 사람과 사람이 통신할 때 서로 이해할 수 있는 언어, 공용된 언어를 사용해 전세계 모든 사람과 대화 할 수 있다라고 하면, 컴퓨터와 컴퓨터도 서로 이해 할 수 있는 언어, 공용된 언어를 사용해야 한다는 것인데, 이것이 바로 프로토콜(Protocol) 입니다.

 

통신에서는 어떤 시스템이 다른 시스템과 통신을 원할하게 수용하도록 해주는 통신 규약, 약속 이라 보시면 됩니다.

 

 

 

프로토콜의 요소

프로토콜에서는 다음 3가지 요소를 포함하고 있습니다.

  • 구문(Syntax) : 데이터의 형식이나 신호로, 부호화 방법 등을 정의합니다.
  • 의미(Semantics) : 오류 제어, 동기 제어, 흐름 제어 같은 각종 제어 절차에 관한 제어 정보를 정의합니다.
  • 순서(Timing) : 송/수신자 간 혹은 양단(End-to-End)의 통신 시스템과 망 사이의 통신 속도나 순서등을 정의합니다.

 

 

프로토콜의 기능

프로토콜의 대표적인 기능들은 다음과 같습니다.

  • 세분화(or 단편화)와 재합성
    데이터의 크기와 종류는 다양합니다. 대용량 크기의 파일은 그대로 전송할 수가 없어서 이를 작은 단위로 나누어 보내고 수신측에서는 재조합해야합니다.
  • 캡슐화
    PDU는 SDU(Service Data Unit)와 PCI(Protocol Control Information)로 구성되어 있습니다. 

    *PDU : 프로토콜 데이터 단위로, 데이터가 전송될 때 일정 크기의 데이터 블록을 말합니다.
    *SDU : 전송하려는 데이터를 의미합니다.
    *PCI : 보통은 제어 정보를 의미합니다. 주소, 오류 검출 코드, 프로토콜 제어 정보등이 있습니다. 이러한 정보를 붙이는 것을 캡슐화라고 합니다.

  • 연결제어
    다음과 같은 2가지 전송이 있습니다.

    - 연결 지향형 데이터 전송(Connection Oriented Data Transfer) : 두 시스템이 서로 데이터를 교환할 때 연결을 설정하는 경우연결 설정, 데이터 전송, 연결 해제 3단계로 구성됩니다. 예로 TCP가 있습니다.

    - 비연결 지향형 데이터 전송(Connectionless Data Transfer) : 연결을 설정하지 않는 경우예로 UDP가 있고 이렇게 전송되는 데이터를 '데이터그램' 이라고 합니다.

  • 오류제어
    SDU나 PCI가 잘못되었을 경우 이를 발견하는 기법입니다.
    패리티 비트(Parity bit), 잉여도 검사(CRC, Cyclic Rebundancy Check)를 통해 발견할 수 있습니다. 순서 검서나 일정 시간 안에 패킷을 받지 못하면 재전송을 요구하는 방식으로 이루어집니다.

  • 흐름제어
    송신측 개체로부터 오는 데이터의 양이나 속도를 조절하는 기능입니다.
    흔히 다음과 같은 두 가지 방법을 씁니다.

    - 정지-대기(Stop and Wait) : 패킷에 대한 응답 후에 다음 패킷을 보냅니다.
    - 슬라이딩 윈도우(Sliding Window) : 가용 데이터 분량의 패킷을 한꺼번에 보낸 후 응답 패킷을 받으면 다시 그만큼 데이터를 한꺼번에 보내는 방식입니다.

  • 동기화
    데이터를 전송할 때 각 개체는 타이머 값이나 윈도우 크기 등을 기억해야 하는데, 이런 값을 공유하는 것을 말합니다.

  • 순서 결정
    프로토콜 데이터 단위(PDU, Protocol Data Unit)가 전송될 때 보내지는 순서를 명시하는 기능이며, 연결 지향형(Connection-or-Iented)에만 사용됩니다.

    순서를 지정하는 이유는 흐름 제어, 오류 제어 등을 위해서입니다. PDU는 상대한테 보내면 상대는 순서에 맞게 데이터를 재구성 하고 오류가 있을 시에는 재전송을 요청합니다.

    *PDU(프로토콜 데이터 단위) : 데이터가 전송될 때 일정 크기의 데이터 블록을 말합니다.

  • 주소 설정 
    한 개체가 상대 개체에 데이터를 전송하려면 상대의 이름을 알아야 하는데, 프로토콜에는 각 전송 계층에 맞는 주소를 지정하는 기능이 있습니다.
  • 다중화
    통신 선로 하나에서 여러 시스템이 동시에 통신할 수 있는 것을 말합니다.

  • 전송 서비스
    우선순위 결정, 서비스 등급과 보안 요구 등을 제어하는 서비스 입니다.

 

 

 

프로토콜의 특성 및 분류

프로토콜은 도한 특성에 따라 여러가지 형태로 분류할 수 있으며 각각 형태를 구분 지어 분류 해본다면 다음과 같습니다.

  • 직접/간접(Direct/Indirect) 프로토콜 
    - 직접 방식 : 2개의 엔티티 사이에 직접 정보를 교환하는 방식으로 (a) 점대점 방식, (b) 멀티포인트/방송망 (다점)방식이 있습니다.

    -간접 방식 : 교환망이나 다른 네트워크를 통해서 간접적으로 정보를 교환하는 방식으로 (c) 교환망 방식이 있습니다.

직접/간접 프로토콜

 

  • 단일체/구조적(Monolithic/Structured) 프로토콜
    - 단일체 : 엔티티 사이에 통신 작업이 하나의 프로토콜에서 이루어집니다.
    (모든 기능들이 하나의 프로토콜로 연관됩니다.)

    - 구조체 : 통신 작업은 워낙 복잡하기 때문에 프로토콜층을 이루는 구조를 사용합니다.
    (전체적인 기능을 몇 개의 작은 기능들로 구분합니다.)

 

  • 표준/비표준(Standard/Nonstandard) 프로토콜
    - 표준 : 컴퓨터 모델에 관계없이 프로토콜을 공유합니다.
    - 비표준 : 특정한 통신 상황의 특정한 컴퓨터 모델에서 사용합니다.

표준/비표준

*프로토콜 표준화의 필요성 : 표준 프로토콜을 사용할 경우 누가 만들더라도 서로 통신이 가능합니다.

대표적인 표준화 기구로는 다음과 같습니다.

  • ISO(International Standardization Organization, 국제표준화기구)
    공업규격의 국제적 통일과 조정을 목적으로 하는 비조약 기구입니다.

  • ITU(International Telecommunication Union, 국제전기통신연합)
    UN의 자문기구로 전기통신 업무에 관한 규칙을 제정하고 권고안을 작성하는 연합입니다.

  • ANSI(American National Standard Institute, 미국표준협회)
    미묵의 공업 분야에 있어서 규격의 통일과 표준화를 목적으로 설립합니다.

  • EIA(Electronic Industries Association, (미국의)전자공업연맹)
    주로 통신용 하드웨어에 관한 규격을 제정합니다.

  • IEEE(Institute of Electronical Electronics Engineers, (미국의)전기전자기술자협회)
    미국의 전기, 전자 기술자로 구성된 협의체로 통신 분야에서는 주로 LAN표준을 제정합니다.

 

 

 

TIP

네트워크 용어에서 나오는 P는 Protocol의 약자가 대부분이며, 대표적으로 인터넷을 할 때 사용되는 프로토콜은 TCP/IP가 있습니다.

 

TCP/IP는 Transmission Control Protocol / Internet Protocol의 약자로써 컴퓨터와 컴퓨터가 통신 회선 등으로 연결 하기 위한 통신 규약입니다. 

 

그 외 HTTP, ARP, ICMP, SNMP, SMTP, POP, FTP, TFTP, DHCP 등이 프로토콜의 종류입니다. 여기서 P는 Protocol을 의미합니다.

TCP/IP 계층

 

 

정리

"프로토콜(Protocol) 혹은 통신규약은 컴퓨터나 네트워크 장비가 서로 통신하기 위해 미리 정해 놓은 약속, 규약을 말합니다."

댓글