1. 통신 프로토콜이란?
서로 다른 기기들 간의 데이터 교환을 위해 표준화시킨 통신 규약
기본 요소 3가지
1) 구문(syntax): 데이터의 형식, 부호화, 신호 레벨 등을 규정
2) 의미(semantics): 기기 간 협조 사항과 제어 정보를 규정
3) 시간(timing): 기기 간 통신 속도, 메시지의 순서 제어 등을 규정
기능
1) 단편화 & 재결합
단편화(Fragmentation)
송신 측에서 전송할 데이터를 일정 크기의 작은 블록(PDU*)으로 자르는 작업
프로토콜 데이터 단위(PDU; Protocol Data Unit)
: 송∙수신하는 두 기기 사이에 교환되는 데이터의 단위
: 전송 데이터에 송∙수신 측 주소, 오류 검출 코드, 제어 정보가 포함된 것
- 1계층: 비트(Bit)
- 2계층: 프레임(Frame)
- 3계층: 패킷(Packet)
- 4계층: 세그먼트(Segment)
- 5, 6, 7계층: 메시지(Message)
재결합(Reassembly)
수신 측에서 단편화된 블록을 원래 데이터로 모으는 작업
장점
- 전송 시간이 빨라진다.
- 통신 중의 오류를 효과적으로 제어할 수 있다.
단점
- 너무 작은 블록으로 단편화할 경우 재결합의 처리 시간이 길어지고, 실제 데이터 외의 부수적 데이터가 많아져 비효율적이 될 수 있다.
2) 캡슐화(요약화)(Encapsulation)
단편화된 데이터에 ① 송∙수신지 주소, ② 오류 검출 코드, ③ 프로토콜 제어 정보를 부가하는 것
- 데이터를 오류 없이 정확하게 전송하기 위해 수행한다.
- (예) 데이터 링크 제어 프로토콜의 HDLC 프레임
3) 흐름 제어(Flow Control)
수신 측의 처리 능력에 따라 송신 측에서 송신하는 데이터의 전송량이나 전송 속도를 조절하는 기능
- 정지-대기(Stop-and-Wait) 방식
- 슬라이딩 윈도우(Sliding Window) 방식
4) 오류 제어(Error Control)
전송 중에 발생하는 오류를 검출하고 정정하여 데이터나 제어 정보의 파손에 대비하는 기능
5) 동기화(Synchronization)
송∙수신 측이 같은 상태를 유지하도록 타이밍을 맞추는 기능
6) 순서 제어(Sequencing)
전송되는 데이터 블록(PDU)에 전송 순서를 부여하는 기능
※ 연결 위주의 데이터 전송 방식에만 사용된다.
'연결 위주의 데이터 전송 방식'이란?
송∙수신 측 상호 간에 논리적인 경로가 설정되는 방식. 가상 회선 방식이 대표적이다.
- 흐름 제어 및 오류 제어를 용이하게 함
7) 주소 지정(Addressing)
데이터가 정확하게 전송되도록 목적지 이름, 주소, 경로를 부여하는 기능
8) 다중화(Multiplexing)
하나의 통신 회선을 여러 가입자들이 동시에 사용하도록 하는 기능
9) 경로 제어(Routing)
송∙수신 측 간의 송신 경로 중에서 최적의 패킷 교환 경로를 설정하는 기능
10) 전송 서비스
데이터에 사용되는 부가 서비스
- 우선순위: 메시지 단위에 우선순위 부여
- 서비스 등급
- 보안성: 액세스 제한 등의 보안 체제 구현
참고: 전송 방식
1) 문자 방식 — BSC
전송 제어 문자(SOH, STX, ETX, EOT 등)을 사용하여 데이터 프레임의 시작과 끝을 나타내는 방식
2) 바이트 방식 — DDCM
데이터 프레임의 헤더에 전송 데이터 프레임의 문자 개수, 메시지 수신 상태 등의 제어 정보를 삽입하여 전송하는 방식
3) 비트 방식 — HDLC, SDLC, LAPB
데이터 프레임의 시작과 끝을 나타내는 고유한 비트 패턴(플래그)을 삽입해서 전송하는 방식
2. OSI 모형
OSI 모형(Open Systems Interconnection Reference Model)은 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다. 일반적으로 'OSI 7계층'이라고 한다. (출처: 위키백과)
개방형 시스템(Open System) 간의 데이터 통신 시에 필요한 장비 및 처리 방법을 7단계로 표준화하여 규정했다.
하위 계층(물리 계층 → 데이터 링크 계층 → 네트워크 계층) → 상위 계층(전송 계층 → 세션 계층 → 표현 계층 → 응용 계층)
OSI 계층 | 주요 역할 | 설명 |
응용 계층 (Application Layer) | 사용자(응용 프로그램)가 OSI 환경에 접근할 수 있도록 서비스를 제공한다. |
|
표현 계층(Presentation Layer) | 세션 계층과 응용 계층 사이에서 각 계층에 맞게 데이터의 형태를 변환한다. |
|
세션 계층(Session Layer) | 송∙수신 측의 관련성을 유지하고 대화 제어를 담당한다. |
|
전송 계층(Transport Layer) | 논리적 안정과 균일한 데이터 전송 서비스를 제공하여 종단 시스템(End-to-End)(기기) 간에 투명한 데이터 전송을 가능하게 한다. |
|
네트워크 계층(Network Layer, 망 계층) | 개방 시스템들 간의 네트워크 연결을 관리하고, 데이터의 교환 및 중계 기능을 한다. |
|
데이터 링크 계층(Data Link Layer) | 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 한다. |
|
물리 계층(Physical Layer) | 장치 간의 실제 접속과 절단 등, 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의한다. 물리적 전송 매체와 전송 신호 방식을 정의한다. |
|
3. X.25
두 단말기 사이에서 패킷 교환망을 통해 패킷을 원활하게 전달하기 위한 통신 절차.
구체적으로, DTE(데이터 터미널 장치)와 DCE(데이터 회선 종단장치) 간의 인터페이스를 제공하는 프로토콜.
특징
- 연결형 프로토콜로, 흐름제어와 오류제어 기능이 있다.
- 하나의 물리적 회선에 다수의 논리 채널을 할당하는 가상 회선 방식을 사용하므로 효율성이 높다.
- 1) 영구 가상회선(PVC; Permanent Virtual Circuit): 두 단말기 사이에 영구적으로 가상 회선이 연결된 것으로, 별도의 호 설정이나 해제 절차가 필요하지 않다.
- 2) 교환 가상회선(SVC; Switched Virtual Circuit): 두 단말기 사이에 필요할 때마다 가상 회선 연결을 위해 호 설정과 호 해제 절차가 필요하다. '가상 호(Virtual Call)'라고도 한다.
- X.25의 모든 패킷은 최소 3옥텟의 헤더를 갖는다.
- 축적 교환 방식을 사용하므로 전송을 위한 처리 지연이 발생할 수 있다.
계층 구조
물리 계층 | DTE(단말장치)와 DCE(패킷 교환망) 간의 물리적 접속에 관한 인터페이스를 정의하는 계층 - X.21을 사용 |
프레임(링크) 계층 | 패킷의 원활한 전송을 위해 데이터 링크의 제어를 수행 - OSI 7계층의 '데이터 링크 계층'에 해당 - 전송 제어를 위해 HDLC 프로토콜의 변형인 *LAPB를 사용한다. - 다중화, 순서제어, 오류제어, 흐름제어 |
패킷 계층 | - OSI 7계층의 '네트워크 계층'에 해당 - 절차: 호 설정(Call Setup) → 데이터 전송 → 호 해제(Call Cleaning) - 호 설정부터 해제 시까지 가상 회선으로 통신 경로를 유지하므로 패킷을 끝까지 안전하게 전송할 수 있다. |
LAPB(Link Access Procedure on Balanced)
HDLC의 원리를 이용한 비트 중심의 프로토콜로, X.25의 2계층(프레임 계층)에서 사용한다. 프레임의 순서 번호를 유지하므로 오류 발견 및 회복이 용이하다.
4. TCP/IP
인터넷에 연결된 컴퓨터들이 서로 데이터를 주고받을 수 있도록 하는 표준 프로토콜
TCP(Transmission Control Protocol) | - OSI 7계층의 '전송 계층'에 해당 - 신뢰성 있는 연결형 서비스 제공 - 기능: 패킷의 다중화, 순서제어, 오류제어, 흐름제어 - 스트림(stream) 전송 기능 - 헤더: 긴급 포인터(for 순서제어), 순서 번호, 체크섬(for 오류제어) |
IP(Internet Protocol) | - OSI 7계층의 '네트워크 계층'에 해당 - 데이터그램 기반의 비연결형 서비스 제공 - 기능: 패킷의 분해/조립, 주소 지정, 경로 선택 - 헤더: 최소 20Byte ~ 최대 60Byte의 길이 |
연결형(접속) 통신
송·수신 측을 논리적으로 연결한 후 데이터를 전송하는 방식. 가상 회선 방식.
- 데이터 전송의 안정성과 신뢰성이 보장됨
- 연결 설정 지연이 일어나며 회선 이용률이 낮아질 수 있음
비연결형(비접속) 통신
송·수신 측 간에 논리적 연결 없이 데이터를 독립적으로 전송하는 방식. 데이터그램 방식.
구조
OSI | TCP/IP | 기능 |
세션 계층, 표현 계층, 응용 계층 | 응용 계층 | 응용 프로그램 간의 데이터 송·수신 제공 TELNET, FTP, SMTP, SNMP, DNS, HTTP |
전송 계층 | 전송 계층 | 호스트들 간의 신뢰성 있는 통신 제공 TCP, UDP, RTCP |
네트워크 계층 | 인터넷 계층 | 데이터에 주소 지정 및 경로 설정 IP, ICMP, IGMP, ARP, RARP |
물리 계층, 데이터 링크 계층 | 네트워크 액세스 계층 | 실제 데이터(프레임)을 송·수신하는 역할 Ethernet, IEEE 802, HDLC, X.25, RS-232C, ARQ 등 |
계층별 주요 프로토콜
1) 응용 계층의 주요 프로토콜
FTP | File Transfer Protocol. 파일 전송 서비스. |
SMTP | Simple Mail Transfer Protocol. 전자 우편 교환 서비스. |
TELNET | 가상 터미널 서비스 |
SNMP | Simple Network Management Protocol. 간이 망 관리 프로토콜. (라우터나 허브 등의 네트워크 기기의 네트워크 정보를 네트워크 관리 시스템에 보내는 데 사용되는 표준 통신 규약) |
DNS | Domain Name Service. 도메인 네임을 IP주소로 매핑하는 서비스. |
HTTP | HyperText Transfer Protocol. 월드 와이드 웹(WWW)에서 HTML 문서를 송수신하기 위한 표준 프로토콜 |
2) 전송 계층의 주요 프로토콜
TCP | Transmission Control Protocol. - 양방향 연결형 서비스 제공 (Full Duplex Connection) - 가상 회선 연결 형태의 서비스 제공 - 스트림 위주의 (패킷 단위) 전달 - 신뢰성 있는 경로를 확립 (*신뢰성: 패킷이 목적지에 성공적으로 도달하는 것을 보장) - 메시지 전송을 감독 - 메시지의 encapsulation & decapsulation - 서비스 제공을 위해 multiplexing(다중화) & demultiplexing을 사용 - 전이중 서비스 제공 - 기능: 순서제어, 오류제어, 흐름제어 - 투명성이 보장되는 통신 |
UDP | User Datagram Protocol. - 비연결형 서비스 제공 - TCP에 비해 단순한 헤더 구조를 가지므로 오버헤드가 적음 - 신뢰성 << 속도인 경우 - 헤더: Source Port Number, Destination Port Number, Length, Checksum |
RTCP | Real-Time Control Protocol. - RTP(Real-time Transport Protocol) 패킷의 전송 품질을 제어하기 위한 제어 프로토콜 - 세션의 각 참여자들에게 주기적으로 제어 정보를 전송 - 하위 프로토콜은 데이터 패킷과 제어 패킷의 다중화(Multiplexing)를 제공 - 데이터 전송을 모니터링 - 최소한의 제어와 인증 기능만을 제공 - RTCP 패킷은 항상 32비트의 경계로 끝남 |
3) 인터넷 계층의 주요 프로토콜
IP | Internet Protocol. - 전송할 데이터에 주소를 지정하고, 경로를 설정. - 비연결형인 데이터그램 방식을 이용하므로 신뢰성이 보장되지 않는다. (신뢰성에 대한 요구는 TCP와 같은 상위 계층에서 제공함) |
ICMP | Internet Control Message Protocol. 인터넷 제어 메시지 프로토콜. - IP와 조합하여 통신 중에 발생하는 오류의 처리와 전송 경로 변경 등을 위한 제어 메시지를 관리 - 헤더: 8Byte |
IGMP | Internet Group Management Protocol. 인터넷 그룹 관리 프로토콜. - 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지 |
ARP | Address Resolution Protocol. 주소 분석 프로토콜. 논리 주소 → 물리 주소 호스트의 IP 주소를, 호스트와 연결된 네트워크 접속 장치의 물리적 주소(MAC Address)로 바꿈. |
RARP | Reverse Address Resolution Protocol. 물리 주소 → 논리 주소 물리적 주소를 IP 주소로 변환함 (ARP의 반대). |
물리적 주소 (MAC Address): 랜 카드(네트워크 접속장치)에 부여된 고유 번호
4) 네트워크 액세스 계층의 주요 프로토콜
Ethernet (IEEE 802.3) | CSMA/CD 방식의 LAN |
IEEE 802 | LAN을 위한 표준 프로토콜 |
HDLC | 비트 위주의 데이터 링크 제어 프로토콜 |
X.25 | 패킷 교환망을 통한 DTE와 DCE 간 인터페이스를 제공하는 프로토콜 |
RS-232C | 공중 전화 교환망(PSTN)을 통한 DTE와 DCE 간의 인터페이스를 제공하는 프로토콜 |
참고
- [위키백과] OSI 모형
- <2022 박미진 컴퓨터일반> Part 03. 데이터통신 中 Chapter 03. OSI 참조 모델
- <2022 박미진 컴퓨터일반> Part 03. 데이터통신 中 Chapter 04. 인터넷과 TCP/IP
- [Network]IP 주소(IP Address)
- [Network]네트워크 클래스(Network Class)
- [Network]서브넷(Subnet)
- <2018 시나공 정보처리기사 필기> 5장. 통신 프로토콜