본문 바로가기

컴퓨터 공학/네트워크

[네트워크] 프로토콜이란 무엇인가?

본 포스팅의 내용은 Computer Networking A Top Down Approach 7th를 많이 참고하여 작성하였습니다.

프로토콜이란 무엇인가?

위키피디아에 따른 통신 프로토콜의 정의는 아래와 같습니다.

통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. 통신 프로토콜은 신호 체계, 인증, 그리고 오류 감지 및 수정 기능을 포함할 수 있다. 프로토콜은 형식, 의미론 그리고 통신의 동기 과정 등을 정의하기는 하지만 구현되는 방법과는 독립적이다. 따라서 프로토콜은 하드웨어 또는 소프트웨어 그리고 때로는 모두를 사용하여 구현되기도 한다.

한마디로 설명하면, 프로토콜이란 통신할 때 미리 약속한 규칙이라 바꾸어 표현할 수 있습니다. 책에서는 사람과 사람 간에도 미리 약속된 것들을 이용해 의사소통하는 것에 비유합니다. (그림 1.2 참고)

Computer Networking A Top Down Approach 7th- Kurose 35page

 (매너있는 사람들이라 가정했을 때) 두 명의 사람이 의사소통을 할 때, "Hi"라는 안부인사로 서로 대화할 의사를 밝히고 그다음에 대화를 이어갑니다. 그리고 상대방의 말이 끝난 뒤에 자신의 말을 하게 됩니다. 당연하다고 생각할 수 있지만, 사실 이러한 규칙은 우리가 사회에서 살아가면서 암묵적으로 터득한 규칙입니다. (올바른 의사소통을 위해 항공 분야에서는 대화의 단어나 문법규칙을 명시적으로 규정하고 있다고 합니다.) 그리고 지금은 이 규칙을 대부분의 사람들이 준수하고 있기 때문에 처음 만난 사람과도 이야기를 할 수가 있는 것입니다. 그러나 만약 어떤 사람이 자기가 말하고 싶을 때만 인사하고 자신의 이야기만 쭉 늘어놓은 다음 상대방의 말을 듣고 10분 뒤에 대답한다고 상상해 봅시다. 아마 대화의 상대방은 일반적이지 않은 대화라고 생각할 것입니다. 

네트워크도 이와 마찬가지인데, 기계는 인간처럼 스스로 규칙을 습득할 수 없기 때문에 인간이 명시적으로 "이렇게 이렇게 통신을 합시다"라고 규칙을 정해주고 이 규칙에 따라 통신을 하게 됩니다.  프로토콜이 사용되는 계층(Layer)나 목적에 따라 여러가지로 분류됩니다. 표준 프로토콜의 종류는 2016년 기준으로 약 7000개나 됩니다. 대표적으로는 HTTP, TCP, IP 같은 것들이 있지요. 만약 산업계의 요구가 있을 시에는 이렇게 제안된(Proposed) 통신 규약을 표준으로 할지 안할지 IETF(Internet Engineering Task Force)에서 발전된 인터넷 표준(Internet Standard)에서 네트워크의 대가들이 결정하게 됩니다. 이렇게 해서 표준으로 지정된 프로토콜 문서는 RFCs(Request for comments)에서  라고 불립니다.

IETF 홈페이지

이상으로 네트워크 프로토콜 포스팅을 마치겠습니다.