pe/standard

프로토콜 (Protocol)

C/H 2006. 9. 22. 13:52

프로토콜(Protocol)


바로 그 약속을 프로토콜이라 합니다. 전송할 데이타는 어떤 포맷이어야 한다든지, 전송하는 방식은 어떠 해야 한다는 것을 규정한 것입니다. TCP/IP는 인터넷이라는 네트웍 내에 존재하는 노드 사이의 데이타 전송을 규정해둔 프로토콜 표준입니다.



네트워킹 프로토콜(Networking Protocol)


기초가 되는 어떤 프로토콜의 기능을 원활하게 해주기 위해 쓰이는 또 하나의 프로토콜을 네트워킹 프로토콜이라 합니다. 웹의 프로토콜인 HTTP(HyperText Transfer Protocol)는 TCP라는 프로토콜 위에 얹혀서 작동합니다. TCP라는 기반 위에 HTTP라는 프로토콜을 운용하는 것은 몇 가지 이점이 있기 때문입니다. 먼저 TCP에 있는 기본적인 명령어를 재활용할 수 있으므로 프로토콜이 좀 더 간소해집니다. 또 TCP라는 거대한 프로토콜 위에서 운용되기 때문에 공통된 표준으로서의 위치도 보장받을 수 있습니다. TCP처럼 기초가 되는 프로토콜 위에서 운용되는 또 하나의 프로토콜을 네트워킹 프로토콜이라 합니다.



프로토콜 스택(Protocol Stack)


스택은 층층이 쌓여 있는 것입니다. 위에서 HTTP는 TCP 위에 얹혀 있다고 했는데 이것은 'HTTP는 프로토콜 스택 속에서 TCP 위에 놓인다'라고 표현할 수 있습니다.



프로토콜의 유형


Transport Communication Protocol(TCP)

Unigram Data Protocol(UDP)


TCP 프로토콜은 'connection 기반'입니다. 네트웍 상에서 접속을 만들고 각 데이타들이 순서에 맞게 전달되고 있는지, 또는 에러가 발생했는지, 그 에러가 수정이 되었는지를 점검하는 능력을 갖고 있습니다. 즉, 'connection'을 계속 확인하는 아주 우수한 프로토콜입니다.


TCP는 "3-way hardware handshaking"이라는 것을 통해서 네트웍 상의 에러가 있는지를 점검하고 데이타 패킷 검사(packet verification)를 하는 기능도 갖고 있습니다. 자체적으로 데이타 패킷에 순번을 매기는 부분이 있어서 각 패킷이 순서대로 도착했는지를 확인할 수 있습니다. 메시지를 여러 개의 데이타그램(datagram)으로 나눈 다음 받는 쪽에서 재조합하는 방식을 규정해 둔, 접속이 안정적으로 보장된 우수한 프로토콜이 TCP 프로토콜입니다.


UDP는 'connection-less' 프로토콜입니다. TCP처럼 '커넥션 지향적'이지 않습니다. 접속과 데이타 전송에 대한 보장이 없습니다. 그래서 UDP는 사용이 간단하다는 장점은 있지만 에러가 많이 나서 접속이 쉽게 끊어진다는 단점이 있습니다. UDP는 불안정하기 때문에 주로 인터넷 방송이나 온라인 게임 같은 전송에 대한 보장이나 데이타의 정확한 도착이 상대적으로 덜 중요한 곳에 쓰입니다.


IP 프로토콜은 TCP와 함께 TCP/IP 프로토콜을 만드는 데 사용됩니다. TCP에 IP를 첨가한 TCP/IP가 바로 인터넷 프로토콜의 표준입니다. IP 프로토콜은 TCP가 만들어 놓은 데이타 패킷의 길을 안내하는 역할(라우팅, routing)을 합니다. 소규모의 로컬 네트웍에서는 IP가 따로 필요 없을 수 있습니다. 규모가 작아서 따로 라우팅하는 프로토콜까지 끌어들일 필요가 없기 때문입니다. 하지만 인터넷은 거대한 네트웍입니다. 데이타는 수백 대의 컴퓨터를 거쳐서 최종 목적지에 도달하기도 합니다. 그래서 접속을 보장하는 TCP와 함께 IP 프로토콜이 동시에 필요합니다. IP가 길을 안내합니다.

반응형

'pe > standard' 카테고리의 다른 글

RFC-2616 Hypertext Transfer Protocol -- HTTP/1.1  (0) 2012.07.14
ISO 표준안 List Up - 20110218  (0) 2011.02.13
노드(Node)  (0) 2006.09.22
Design  (0) 2006.09.22
Method  (0) 2006.09.22