
통신 프로토콜
This blog discusses various communication protocols and their characteristics.
통신 프로토콜의 정의 (Communication Protocol)
서로 다른 기기들 간의 데이터 교환을 정확하고 원활하게 수행할 수 있도록 표준화한 통신 규약이다.
통신을 제어하기 위한 표준 규칙과 절차의 집합으로 하드웨어와 소프트웨어, 문서를 모두 규정한다.
통신 프로토콜의 기본 요소
구문 (Syntax)
전송하고자 하는 데이터의 형식, 부호화, 신호 레벨 등을 규정
의미 (Semantics)
두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보를 규정
시간 (Timing)
두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정
프로토콜의 전송 방식
프로토콜은 전송하고자 하는 데이터 프레임의 구성에 따라 문자 방식, 바이트 방식, 비트 방식으로 구분할 수 있다.
문자 전송 방식
전송 제어 문자 (SOH, STX, ETX, EOT 등)를 사용하여 데이터 프레임의 시작과 끝을 나타내는 방식으로, 대표적인 프로토콜로 BSC가 있다.
바이트 방식
데이터 프레임의 헤더(Header)에 전송 데이터 프레임의 문자 개수, 메시지 수신 상태 등의 제어 정보를 삽입하여 전송하는 방식으로, 대표적인 프로토콜로 DDCM이 있다.
DDCM (Digital’s Data Communication Message) 프로토콜이란?
바이트 방식의 프로토콜로, 전이중 반이중 통신, 동기 비동기 전송을 지원하며, 포인트 투 포인트, 멀티 포인트 방식에서 사용이 가능하다.
비트 방식
데이터 프레임의 시작과 끝을 나타내는 고유한 비트 패턴(플래그)을 삽입하여 전송하는 방식으로, 대표적인 프로토콜로 HDLC, SDLC, ADCCP가 있다.
ADCCP (Advanced Data Communication Control Procedures) 프로토콜이란?
미국표준협회(ANSI)에서 제정한 비트 방식의 프로토콜로 국제표준화협회(ISO)의 HDLC, 그리고 IBM사의 SDLC와 연결 제어 방식이 거의 같은 절차로 이루어진다.
X.25
X.25는 DTE(Data Terminal Equipment, 데이터 터미널 장치)와 DCE(Data Circuit-terminating Equipment, 데이터 회선 종단장치) 간의 인터페이스를 제공하는 프로토콜로, 통신을 원하는 두 단말장치가 패킷 교환망을 통해 패킷을 원활히 전달하기 위한 통신을 규정한다.
X.25 특징
- ITU-T에서 제정(1976년 승인)한 국제 표준 프로토콜이며, 우수한 호환성을 가진다.
- 강력한 오류 체크 기능으로 신뢰성이 높다.
- 한 회선에 장애가 발생하더라도 정상적인 경로를 선택하여 우회 전송이 가능하다.
- 디지털 전송을 기본으로 하는 전송 품질이 우수하다.
- 가상 회선 방식을 이용하여 하나의 물리적 회선에 다수의 논리 채널을 할당하므로 효율성이 높다.
- 축적 교환 방식을 사용하므로, 전송을 위한 처리 지연이 발생할 수 있다.
X.25 계층 구조
| 물리 계층 | 단말장치(DTE)와 패킷 교환망(DCE) 간의 물리적 접속에 관한 인터페이스를 정의하는 계층으로 X.21을 사용한다. |
|---|---|
| 프레임 계층 | - 패킷의 원활한 전송을 위해 데이터 링크의 제어를 수행하는 계층으로, 링크 계층이라고도 한다. - OSI 7계층의 데이터 링크 계층에 해당한다. - 전송 제어를 위해 HDLC 프로토콜의 변형인 LAPB를 사용한다. - 다중화, 순서 제어, 오류 제어, 흐름 제어 기능 등을 수행한다. |
| 패킷 계층 | - OSI 7계층의 네트워크 계층에 해당한다. - 패킷 계층의 수행 절차 : 호 설정(Call Setup) → 데이터 전송(Data Transfer) → 호 해제(Call Cleaning) - 데이터 전송 시 오류 제어, 순서 제어, 흐름 제어 등의 데이터 전송 제어 기능을 수행한다. - 호(Call)를 설정한 후 호 해제 시까지 가상 회선을 이용하여 통신 경로를 유지하므로, 패킷을 끝까지 안전하게 전송할 수 있다. |
TCP / IP (Transmission Control Protocol / Internet Protocol)
인터넷에 연결된 서로 다른 기종의 컴퓨터들 간에 데이터를 주고받을 수 있도록 하는 표준 프로토콜이다.
TCP/IP는 TCP 프로토콜과 IP 프로토콜이 결합된 것을 의미한다.
| TCP | - OSI 7계층의 전송 계층에 해당한다. - 신뢰성 있는 연결형 서비스를 제공한다. - 패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능을 제공한다. |
|---|---|
| IP | - OSI 7계층의 네트워크 계층에 해당된다. - 데이터그램의 기반으로 하는 비연결형 서비스를 제공한다. - 패킷의 분해 / 조립, 주소 지정, 경로 선택 기능을 제공한다. |
**연결형(접속) 통신
**송수신 측 간을 논리적으로 연결한 후 데이터를 전송하는 방식, 가상 회선 방식
**비연결형(비접속) 통신
**송수신 측 간을 논리적 연결 없이 데이터를 전송하는 방식, 데이터그램 방식
TCP / IP 계층 구조
- 응용 계층 : 응용 프로그램 간의 데이터 송수신 제공
(TELNET, FTP, SMTP, SNMP, E-Mail 등) - 전송 계층 : 호스트들 간의 통신 제공
(TCP, UDP) - 인터넷 계층 : 데이터 전송을 위한 주소 지정, 경로 배정 제공
(IP, ICMP, IGMP, ARP, RARP 등) - 네트워크 액세스 계층 : 실제 데이터(프레임)를 송수신하는 역할
(Ethernet, IEEE 802, HDLC, X.25, RS-232C 등)
주요 프로토콜
| FTP (File Transfer Protocol) | 파일 전송 프로토콜 |
|---|---|
| SMTP (Simple Mail Transfer Protocol) | 전자 우편을 전송하기 위한 프로토콜 |
| TELNET | 가상 터미널 프로토콜 |
| SNMP (Simple Network Management Protocol) | 간이 망 관리 프로토콜 |
| UDP (User Datagram Protocol) | - 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스를 한다. - 실시간 전송에 유리하며, 신뢰성보다는 속도가 중요시되는 네트워크에서 사용된다. |
| ICMP (Internet Control Message Protocol) | 인터넷 제어 메시지 프로토콜이라 하며, IP와 조합하여 통신중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리하는 역할을 한다. |
| ARP (Address Resolution Protocol) | 주소 분석 프로토콜이라 하며, 호스트의 IP주소를 호스트와 연결된 네트워크 접속장치의 물리적 주소 (MAC Address)로 바꾼다. |
| RARP (Reverse Address Resolution Protocol) | ARP와 반대로 물리적 주소를 IP 주소로 변환하는 기능을 한다. |