brunch

You can make anything
by writing

C.S.Lewis

by Younggi Seo Dec 15. 2018

Computer Networking A Top-Down

웹 구조를 절단 내려면 네트워크 각개 격파해야 하지 않을까

1.1.3. What Is a Protocol?


Now that we've got a bit of a feel for what the Internet is, let's consider another important buzzword in computer networking: protocol. What is a protocol? What does a protocol do?



여기서부터 번역 들어간다.


인간에 비유(A Human Analogy)


인간계에서 통용되는 법칙으로 유추해서 처음으로 고려한 컴퓨터 네트워크 프로토콜의 형식을 이해하는 것이 아마도 가장 쉬울 것이다(쉽기는 개뿔-역주). 왜냐하면 인간은 애초에 프로토콜(법칙)을 일상에서 사용해왔기 때문이다. 당신이 하루 중 누군가에게 언제 질문할까를 고려한다고 가정해보자. 전형적인 상호 의사교환의 과정은 아래의 그림 1.2와 같다. 인간 프로토콜(또는 적어도 방식이라고 일컫는다면) 처음에 먼저 인사를 건넬 것이다. (그림 1.2와 같이 "Hi"가 처음임.) 그리고 질문하기를 시작할 것이고 누군가로부터 답변을 받을 것이다. "안녕하세요."의 일반적인 답변은 "안녕하세요"라는 메시지이다. 암묵적으로 누군가 정답게 "안녕하세요."라고 응답한다면, 곧 오늘의 질문으로 넘어갈 수 있을 것이다. "안녕하세요."에 대한 다른 응답이 이어진다면(이를테면, "귀찮게 굴지 마세요." 또는 "저는 한국어를 못합니다." 또는 출력 가능하지 않은 답변) 의사소통에 대한 의지가 없는 건지도 모른다. 이 경우는 그 상호 의사교환 법칙이 물 건너 간 날이다. 때때로 질문에 대한 전혀 응답이 없는 경우도 일반적으로 질문하기를 포기해야 하는 경우이다. 정리하면 우리 인간계의 법칙에 의하면 구체적인  메시지를 보내면, 요청에 대한 응답 메시지를 받거나 또는 다른 이벤트(주어진 시간 동안 무응답)의 구체적인 행위가 되돌아온다. 명확하게도 이전과 메시지의 응답, 그리고 행동이 이러한 메시지들이 보내졌을 때, 혹은 받았을 때 또는 다른 이벤트가 발생했을 때 인간계 법칙에서의 중심 역할로 재생된다. 만약 사람들이 다른 법칙을 가지고 있다면(예를 들면, 만약 한 사람이 매너가 좋지만 나머지는 좋지 못하다면, 또는 만약 한 사람이 그 개념을 이해하지만 나머지는 이해하지 못할 때) 이 법칙은 내부적으로 작동하지도 않을 테고 소용없는 일로 치부될 수도 있다. 네트워킹에서도 마찬가지이다. 이것은 두 가지 또는 더 많은 의사소통의 객체(entities)들이 어떠한 과제를 달성하기 위해 같은 프로토콜에서 지나다니고 있다.


그림 1.2 인간계 법칙과 컴퓨터 네트워크 규약




두 번째의 인간계에 비유하기를 고려해보자. 당신이 한 대학의 강좌에 수강 중(컴퓨터 네트워크 수업이라고 보자!)이라고 가정하자. 선생이 프로토콜에 대해 강의할 때 당신은 혼동스러웠다. 강의를 멈추고 선생은 질문했다. "질문 있습니까?" (졸고 있지 않은 학생들에 의해 어떤 메시지가 받아졌고 곧 메시지가 이동됨) 당신은 손을 들면(암묵적으로 선생에게 메시지가 이동됨) 선생이 당신에게 웃으면서 말하기를 "Yes..." (이동된 메시지는 당신으로 하여금 질문할 기회를 주었고 - 선생들은 질문받기를 사랑한다.) 당신의 선생은 당신의 질문을 듣는다. (당신의 질문 메시지를 받음) 그리고 대답한다. (답변이 당신에게 이동됨) 일단 다시 정리하면, 이러한 메시지들이 보내지고 받아졌을 때, 이 질문과 대답의 법칙의 한가운데서 우리는 이전(transmits) 과정과 메시지들의 수령을 볼 수 있고 한 세트의 대화 행위를 받았다.  



Network Protocols


교환 메시지에 대한 객체와 어떤 장치(예를 들면, 컴퓨터, 스마트폰, 태블릿, 라우터, 또는 다른 네트워크가 가능한 장치)들의 하드웨어 또는 소프트웨어 부품에서의 받는 행위를 제외하곤 네트워크 프로토콜은 인간계의 법칙과 비슷하다. 인터넷에서의 모든 활동은 원격의 객체를 통해 두 개 혹은 더 많은 통신이 한 규약에 의해 통치된다. 예를 들면, 두 개의 물리적으로 연결된 컴퓨터는 하드웨어에서 실행 가능한 프로토콜이 있다. 그 컴퓨터는 두 네트워크 카드(NIC) 사이를 연결한 와이어에서 비트의 흐름을 통제한다. 단말기 시스템 내의 혼잡-제어 프로토콜이 송수신자 사이에서 오고 가는 패킷들의 이동속도를 제어한다. 즉 라우터 내의 프로토콜은 출발지로부터 목적지로까지의 이동하는 패킷의 경로를 결정한다. 프로토콜의 범위는 인터넷이 있는 어디에서든지 포함되며, 이 책이 바로 컴퓨터 네트워크 프로토콜(규약)에 관한 책이다.


당신이 아마도 컴퓨터 네트워크 프로토콜에 익숙하여 웹서버에 어떤 요청을 만드는 예를 들어 이때 무엇이 일어날지 고려해보자. 그것은 당신이 웹브라우저에 웹페이지의 URL를 타이핑하고 있을 때이다. 이런 시나리오는 그림 1.2에 그려져 있다. 먼저, 당신의 컴퓨터는 접속 요청 메시지를 웹서버에 보낼 것이고 응답을 기다릴 것이다. 그 웹서버는 끝내 당신의 접속 요청 메시지를 받을 것이고 접속 응답 메시지를 보낼 것이다. 이것은 지금 OK(200 HTTP 상태 코드)라는 웹문서의 요청에 대한 응답을 알 때 일어날 것이며, 당신의 컴퓨터는 이후 웹페이지의 이름을 보낼 것이다. 이 웹페이지는 GET(HTTP Header) 메시지를 통해 웹서버로부터 가져다오기를 원할 것이다. 마침내, 그 웹서버는 웹페이지(예:서블릿 혹은 JSP 파일)를 당신의 컴퓨터로 보내줄 것이다(렌더링).


인간계와 네트워킹의 위의 예시를 가정하여 메시지들의 교환과 그 행위의 주고받을 때 이러한 메시지들이 보내고 받을 때의 일련의 과정이 프로토콜의 요소를 정의하는데 핵심이다.


A protocol defines the format and the order of messages exchanged between two or more communicating entities, as well as the actions taken on the transmission and/or receipt of a message or other event.



인터넷은 그리고 대체로 컴퓨터 네트워크는 프로토콜의 사용을 증대시킨다. 다른 프로토콜들은 다른 수단의 통신을 위해 사용하곤 한다. 당신이 읽고 있는 이 책을 통해 당신은 어떤 프로토콜은 단순하고 직감적인데 반해 어떤 프로토콜은 복잡하고 지능적으로 깊이가 있다는 것을 배우게 될 것이다. 컴퓨터 네트워킹 분야를 마스터한다는 것은 네트워킹 프로토콜이 무엇인지, 왜, 그리고 어떻게 이루어지는지를 이해하는 것과 같은 말이다.

   







     


 



매거진의 이전글 비박스 환경을 활용한 웹 모의해킹을 마치고
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari