프로토콜
IT 위키
더 많은 작업
- protocol
컴퓨터와 컴퓨터, 원거리 통신 장비 사이에서 메시지를 주고받는 통신 규약으로, 통신을 원하는 두 개체간에 무엇을, 어떻게, 언제 통신할 것인가에 대해 미리 정의된 상호간의 약속
- 프로토콜은 정보를 주고 받는 양식과 규칙의 체계이다.
- 외교상의 의례나 국가간의 약속을 정한 의정서를 가리키는 말에서 유래하였다.
- HTTP : Hyper Text Transfer Protocol
- SHTTP : Secure Hyper Text Transfer Protocol
- HTTPS : Hyper Text Transfer Protocol over Secure Socket Layer
- FTP : File Transfer Protocol
- SFTP : Secure File Transfer Protocol
- TFTP : Trivial File Transfer Protocol
- Telnet : TErminaL NETwork
- POP3 : Post Office Protocol version 3
- SMTP : Simple Mail Transfer Protocol
- SSH : Secure Shell
- SSL : Secure Socket Layer
- SOAP : Simple Object Access Protocol
- ARP : Address Resolution Protocol
프로토콜은 두 가지로 이루어져 있으며 물리적 측면과 논리적 측면으로 나뉜다.
- 물리적 측면: 자료 전송에 쓰이는 전송 매체, 접속용 단자 및 전송 신호, 회선 규격 등.
- 논리적 측면: 프레임(Frame, 자료의 표현 형식 단위) 구성, 프레임 안에 있는 각 항목의 뜻과 기능, 자료 전송의 절차 등.
- 구문
- 데이터의 형식 (아날로그 or 디지털), 부호화 (Unicode, ASCII), 신호크기 (0과 1의 전압 세기와, 어떻게 표현할지) 를 정하는 구문
- 의미
- 전송제어 (동기화, 전송정지 및 재개, 완료, 재전송, 등등의 신호를 정함), 오류수정(데이터 무결성 검사 방법, 패리티비트, CRC) 등을 정함
- 타이밍
- 신호의 지속시간, 신호의 순서 등을 정하여 타이밍을 이룸
| 기능 | 하는 일 |
|---|---|
| 단편화와 재합성 | 큰 데이터를 전송에 알맞은 크기의 PDU(Protocol Data Unit)로 나누어 보내고, 받는 쪽에서 다시 합친다 |
| 캡슐화 | 데이터에 주소·오류 검출 부호·제어 정보를 담은 헤더를 붙인다 |
| 연결 제어 | 연결 지향 전송에서 연결 설정 → 데이터 전송 → 연결 해제 단계를 관리한다 |
| 흐름 제어 | 받는 쪽이 처리할 수 있는 만큼만 보내도록 양과 속도를 조절한다 |
| 오류 제어 | 오류를 검출하고 재전송 등으로 바로잡는다 |
| 순서 제어 | PDU 에 순서 번호를 붙여 보내는 순서를 명시한다 |
| 동기화 | 송수신 양쪽의 타이밍과 상태를 맞춘다 |
| 다중화 | 한 연결로 여러 상위 연결의 데이터를 함께 보낸다 |
| 주소 지정 | 보내는 쪽과 받는 쪽을 주소로 구별한다 |
| 전송 서비스 | 우선순위, 서비스 등급, 보안 같은 부가 서비스를 제공한다 |
순서 번호로 PDU 의 보내지는 순서를 명시하는 것은 아래 세 가지를 위해서다.
- 순서대로 전달 : 경로가 달라 뒤섞여 도착한 PDU 를 원래 순서로 맞춘다
- 흐름 제어 : 슬라이딩 윈도우처럼 몇 번까지 보내도 되는지를 순서 번호로 정한다
- 오류 제어 : 빠지거나 중복된 PDU 를 순서 번호로 찾아내 재전송을 요청하거나 버린다
연결 제어는 순서 결정의 목적이 아니다. 연결을 맺고 끊는 별도의 기능이다.