프로토콜(Protocol) 이란?
사전적 의미
N.
1. 외교 의례, 의전
2. (조약의) 초안[원안], (합의안, 조약의) 보충 협약
3. 프로토콜, 통신 규약
컴퓨터와 컴퓨터 사이, 또는 한 장치와 다른 장치 사이에서 데이터를 원활하게 주고 받기 위하여 약속한 여러가지 규약
이 규약에는 신호 송신의 순서, 데이터의 표현법, 오류 검출법 따위가 있음.
프로토콜의 어원은 그리스어 'protokollen'에서 찾을 수 있는데 '맨 처음'을 의미하는 'proto'와 '붙인다'라는 의미의
'kollen'의 합성어로 오늘날의 외교 분야에서는 '의전'이라는 의미로 사용됨
외교분야에서 사용되는 프로토콜이라는 용어가 컴퓨터 통신 분야에서 사용되는 이유는
통신에서 송신자와 수신자간에도 약속이 필요하기 때문이다.
통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계
즉, 통신 규약 및 약속.
- 에러제어:
에러 발생 사실을 알아채고, 원래 정보로 회복하기 위한 방법
예 : (통화시)" 잡음 때문에 잘 못 알아들었는데 다시 말해줄래?"
- 동기 맞춤:
송신자와 수신자간의 메시지 시작 지점을 맞추는 것에 대한 약속
예 : 영화나 드라마에서 자막 처리 및 더빙시 싱크가 맞지 않는 문제
- 흐름 제어:
송신자가 정보를 내보낼 때 정보 흐름의 속도를 조절하기 위한 방법
예 : (통화시)"말이 너무 빨라서 잘 못 알아듣겠다. 천천히 말해줄래?"
이와 같이 현실에서도 이미 프로토콜의 개념을 사용하고 있다.
Summary:
컴퓨터끼리 정보를 주고 받을 때의 통신 방법에 대한 약속.
컴퓨터끼리 정보를 주고 받을 때에는 여러가지 통신 규칙과 방법들에 대한 약속들이 필요하다.
이 약속을 프로토콜이라고 부른다.
컴퓨터의 기종에는 여러가지가 있다.
기종이 다르면 통신 방법 또한 다르게 정해져 있다.
서로 네트워크에 접속하는 방법, 주고받는 자료의 형식, 오류를 찾아내는 방식, 코드를 변환하는 방식, 데이터를 전송하는 속도가
다르면 서로가 제대로 된 정보를 주고받는 것이 어려울 것이다.
하지만 정보를 주고받는 방법을 하나로 통일하여 네트워크를 만들면 필요한 정보를 주고 받는 것이 훨씬 쉬워질 것이다.
우리가 사용하고 있는 인터넷은 TCP/IP라는 표준 프로토콜을 사용해서 정보를 주고 받는다.
TCP/IP 프로토콜의
TCP 는 데이터를 일정 단위로 나누고 순서대로 보내는 것에 대한 약속을,
IP는 출발과 도착 주소에 대한 약속을 해 놓은 것이여서 원하는 주소로 정보를 보낼 수 있는 원리이다.
오고가는 정보를 최대한 보존하기 위한 기술도 프로토콜에 담겨 있다.
정보를 보낼 때에는 정보를 전기 신호로 바꾸어서 통신망을 통해 도착하게 한 다음, 다시 원래 정보로 돌아오도록 만드는 과정을 거친다.
하지만 통신망에는 신호의 흐름을 방해하는 것들이 있다.
만약 이 방해를 받아 보내고자 했던 신호가 바뀌었을 때 오류를 어떻게 찾아내고 대처하는지에 대한 기술이 프로토콜 속에 포함되어 있다.
이처럼 멀리 떨어져 있는 컴퓨터와 정보를 주고받기 위해 여러 통신 방법에 대한 규칙인 프로토콜이 정해져 있어야
우리가 안전하게 손실 없이 정보를 전송할 수 있다.
프로토콜의 기본 요소
- 구문 (Syntax) : 전송하고자 하는 데이터의 형식(Format), 부호화(Coding), 신호 레벨(Signal Level) 등을 규정
- 의미 (Semantics) : 두 기기 간의 효율적이고 정확한 정보 전송을 위한 협조 사항과 오류 관리를 위한 제어 정보 규정
- 시간 (Timing) : 두 기기 간의 통신 속도, 메시지의 순서 제어 등을 규정
프로토콜의 종류
- 응용 (Application) : HTTP, SMTP, FTP, Telenet
- 표현 (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) : 없음
프로토콜의 기능
- 단편화(Fragmentation)와 재합성(Assembly)
단편화: 송신 측에서는 긴데이터 블록을 손쉽게 전송할 수 있도록 크기가 똑같은 작은 블록을 나누어 전송
재합성: 수신 측에서 쪼개진 작은 데이터 블록을 재합성하여 원래의 메시지로 복원하는 기능
- 캡슐화(Encapsulation)
각 프로토콜에 적합한 데이터 블록을 만들려고 데이터에 정보를 추가하는 것
플래그, 주소, 제어 정보, 오류 검출 부호 등을 부착하는 기능
- 연결 제어(Connection Contol)
비 연결 데이터 전송(데이터 그램)과 연결 위주 데이터 전송(가상회선)을 위한 통신로를 개설, 유지, 종결하는 기능
- 흐름 제어(Flow Control)
데이터의 양이나 통신속도 등이 수신 측의 처리 능력을 초과하지 않도록 조정하는 기능
- 오류 제어(Error Control)
데이터 전송 중 발생할 수 있는 오류나 착오 등을 검출하고 정정하는 기능
- 순서 결정(Sequencing)
연결 위주의 데이터를 전송할 때 송신 측이 보내는 데이터 단위 순서대로 수신 측에 전달하는 기능
- 주소 설정(Addressing)
발생지, 목적지 등의 주소를 명기하여 데이터를 정확하게 전달하는 기능
- 동기화(Synchronization)
두 통신 객체의 상태(시작, 종류, 검사 등) 를 일치 시키는 기능
- 다중화(Multiplexing)
하나의 통신로를 여러 개로 나누거나 회선 여러 개를 하나의 통신로로 변환시켜 다수의 가입자가 동시에
사용할수 있도록 하는 기능
- 전송 서비스(Transmission Service)
통신 객체를 사용하기 쉽도록 별도로 추가 서비스 (패리티 검사, 보안도, 서비스 등급, 우선순위 등) 를 제공하는 기능
'Network' 카테고리의 다른 글
TCP / IP (Socket programming) (0) | 2022.12.01 |
---|---|
HTTP Protocol (0) | 2022.12.01 |
Serial Communication (0) | 2022.12.01 |
UART Communication (0) | 2022.11.30 |
SSID (0) | 2022.11.25 |