ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [컴퓨터네트워크] 프로토콜(Protocol)이란?
    컴퓨터과학/컴퓨터네트워크 2022. 10. 30. 23:19
    Protocols define the format, order of messages sent and received among network entities, and actions taken on msg transmission, receipt


    네트워크에서 프로토콜(Protocol)이란, 장치들 간에 통신을 하기 위해 그 절차나 관례를 미리 정해 놓은 것이라고 생각하면 편하다. 장치들 간에 주고받는 데이터는 어떤 형식을 갖추어야 하고, 어떤 순서로 전달되어야 하는지 등이 약속되어 있다.

    이해를 돕기 위해 아래의 예시를 보자.


    우리가 길을 걷다가, 마음에 드는 사람을 발견해서 전화번호(원하는 정보)를 얻고자 하는 상황을 생각해보자. 그 사람이 한국인이라면 한국말로, 미국인이면 영어로 물어봐야 할 것이다.(데이터의 형식). 그리고 간단한 자기소개와 함께, 마음에 들어서 그런데 식사 한 끼를 대접했으면 좋겠다는 등의 적절한 내용을 앞에 붙이고, 그다음 전화번호를 물어보아야 할 것이다(요청 데이터의 순서). 한국말을 모르는 외국인에게 한국말로 물어보거나(잘못된 요청 형식), 순서를 무시하고 무턱대고 전화번호부터 물어본다면(잘못된 요청 순서), 아마 그 사람은 전화번호를 주지 않을 가능성이 높다.(잘못된 응답)

    네트워크 상의 장치들도 서로 데이터를 주고받기 위해서는 이러한 절차가 필요하다. 기계는 인간보다 융통성이 없기에, 훨씬 더 자세하고 구체적인 약속들이 필요하다. 이러한 약속들을 프로토콜(Protocol)이라고 한다.

    자, 이제 네트워크 상의 프토토콜로 이해를 확장시켜보자.


    네트워크 프로토콜 중에는 TCP(전송 제어 프로토콜, Transmission Control Protocol)라는 게 있다. 이름에서 알 수 있듯이, 두 장치 간의 데이터 전송을 위해 필요한 중요한 프로토콜이다. 클라이언트(사용자)파일서버에서 다운받기 위해서는 TCP에서 정해놓은 다음과 같은 절차를 따라야 한다.

    1. 클라이언트서버에게 통신이 가능한지 확인하는 메시지를 보낸다.(connection request)
    2. 서버클라이언트에게 통신이 가능하다고 응답을 보낸다.(connection response)
    3. 클라이언트서버에게 필요한 파일을 달라고 요청을 보낸다.(request)
    4. 서버클라이언트에게 원하는 파일을 전송한다.(response)

    이와 같이 네트워크 상에서는 다양한 프로토콜이 존재하고, 또 필요하다.

박스오피스