본문 바로가기
Network

[Network] Protocol

by BTC_Master 2022. 5. 6.

이전 글에서 IP와 TCP/UDP 등의 통신 프로토콜에 대해 알아봤다.

그렇다면 과연 프로토콜이란 무엇일까



1. 정의

- 통신 프로토콜(=통신 규약)은 컴퓨터나 원거리 통신 장비 사이에서 메세지를 주고 받는 양식과 규칙의 체계를 말한다. 쉽게 말해 우리가 외국인들과 대화할 때 같은 언어를 써서 통해야 하는 것처럼, 컴퓨터와 컴퓨터, 장비와 장비 간에 서로 통일된 메세지 규칙을 말한다.

- 신호 체계, 인증, 그리고 오류 감지 및 수정 기능을 포함할 수있다.

- 통신의 동기 과정 등을 정의하기는 하지만 프로토콜 별로 구현되는 방법은 독립적이다. 이 때문에 프로토콜은 하드웨어 또는 소프트웨어, 때로는 그 둘 모두를 사용하여 구현되기도 함

- 연결을 설정할 때는 항상 발신자의 요청에 의해 시작하며, 수신자는 연결 대기 상태여야 한다. 이러한 상호 간 합의 하에 연결이 이루어져도 종료는 한 쪽의 종결 선언만으로 가능



2. 프로토콜의 구성

프로토콜은 두 가지로 이루어져 있으며 물리적 측면과 논리적 측면으로 나뉜다.

물리적 측면: 자료 전송에 쓰이는 전송 매체, 접속용 단자 및 전송 신호, 회선 규격 등.
논리적 측면: 프레임(Frame, 자료의 표현 형식 단위) 구성, 프레임 안에 있는 각 항목의 뜻과 기능, 자료 전송의 절차 등.
폐쇄적인 프로토콜: 자사 장치들끼리 통신하기 위한 독자적인 통신 규약이며, 자세한 규격이 공개되어 있지 않아서 크래킹 위협에 상대적으로 안전하다. (보기: IBM의 SNA, SDLC 프로토콜)
공개된 범용 프로토콜: 여러 장치들에 쓰이는 널리 알려진 규격이며, 규격이 널리 공개되어 있기 때문에 컴퓨터와 네트워크 크래킹에 취약한 편이다. (보기: 인터넷의 TCP/IP)
3. 프로토콜의 기본 요소

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

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

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



4. 프로토콜의 기능

- 단편화(Fragmentation) : 송신측에서 긴 데이터블록을 손쉽게 전송할 수 있도록 크기가 똑같은 작은 블록을 나누는 것

- 재합성(Assembly) : 단편화로 나누어진 작은 블록을 재합성하여 원래의 메시지로 복원

- 캡슐화(Encapsulation) : 각 프로토콜에 적합한 데이터 블록을 만들기 위해 데이터에 정보를 추가하는 것, 플래그나 주소, 제어정도, 오류 검출 부호 등을 부착(OSI 7계층 동작 원리 참고)

- 연결 제어(Connection Control) : 비연결 데이터 전송(데이터그램)과 연결 위주 데이터 전송(가상회선)을 위한 통신로를 개설, 유지, 종결하는 기능

- 흐름 제어(Flow Control) : 데이터양이나 통신속도 등이 수신 측의 처리 능력을 초과하지 않도록 조정

- 오류 제어(Error COntrol) : 데이터 전송 중 발생할 수 있는 오류나 착오 등을 검출하고 정정하는 기능

- 순서 결정(Sequencing) : 연결 위주의 데이터를 전송할 때 송신 측이 보내는 데이터 단위 순서대로 수신측에 전달

- 주소 설정(Addressing) : 발생지, 목적지 등의 주소를 명기하여 데이터를 정확하게 전달하는 기능

- 동기화(Synchronization) : 두 통신 객체의상태(시작, 종류, 검사 등)를 일치시키는 기능

- 다중화(Multiplexing) : 하나의 통신로를 여러 개로 나누거나 회선 여러 개를 하나의 통신로로 변환시켜 다수의 가입자가 동시에 사용할 수 있도록 하는 기능

- 전송 서비스(Transmission Service) : 통신 객체를 사용하기 쉽도록 별도로 추가 서비스(패리티 검사, 보안도, 서비스 등급, 우선순위 등)를 제공



5. 대표적인 프로토콜의 종류

계층 프로토콜
응용(Application) HTTP, SMTP, FTP, Telnet
표현(Presentation) ASCII, MPEG, JPEG, MIDI
세션(Session) NetBIOS, SAP, SDP, NWLink
전송(Transport) TCP, UDP, SPX
네트워크(Network) IP, IPX
데이터 링크(Data Link) Ethernet, Token Ring, FDDI, Apple Talk
물리(Physical) 없음




대표적인 프로토콜 정의 기관

- 약속된 규약이다 보니 전세계적으로 통일할 수 있게 정의를 내리는 기관들이 존재

ISO(International Organization for Standardization)
EIA(Electronic Industries Organization)
IEEE(Institute of Electrical and Electronic Engineers)
CCITT(Consultative Committee for International Telegraph and Telephone)
IAB(Internet Activities Board

댓글