네트워크란 여러 장치가 서로 연결되어 정보를 주고받을 수 있는 통신망입니다. 이 모양은 그래프의 형태를 띠고 있습니다. 그래프 graph란 다음 그림처럼 노드 node와 노드를 연결하는 간선 edge으로 이루어진 자료 구조입니다. 여기서 자료 구조 data structure란 정보를 표현하고 다루는 방법을 의미합니다.

 

 

노드와 간선

 

 

 

✅네트워크의 기본 구조

모든 네트워크는 ‘노드’, 노드를 연결하는 ‘간선’, 노드 간 주고받는 ‘메시지’로 구성됩니다. 노드는 정보를 주고받을 수 있는 장치, 간선은 정보를 주고받을 수 있는 유무선의 통신 매체라고 이해하면 쉽습니다. 각 개념들을 좀 더 세부적으로 살펴보겠습니다.

 

네트워크의 기본 구조

 

 

 

✔️호스트

네트워크의 가장자리에 위치한 노드는 네트워크를 통해 흐르는 정보를 최초로 생성 및 송신하고, 최종적으로 수신합니다. 이는 서버 컴퓨터가 될 수도 있고, 개인 데스크톱, 노트북, 스마트폰이 될 수도 있습니다. 요즘은 종류가 더 다양해져 시계, 자동차, 냉장고, TV 등이 될 수도 있습니다. 우리가 일상에서 사용하는 네트워크 기기 대부분이 여기에 속한다고 봐도 무방합니다. 이러한 가장자리 노드를 네트워크에서는 호스트 host라고 부릅니다.

 

 

네트워크_호스트

 

 

때로는 호스트가 네트워크상에서 특정한 역할을 수행하기도 하는데, 대표적인 역할로는 서버와 클라이언트가 있습니다.

서버 server는 ‘어떠한 서비스’를 제공하는 호스트입니다. 여기서 ‘어떠한 서비스’는 파일이 될 수도(파일 서버), 웹 페이지가 될 수도(웹 서버), 메일이 될 수도(메일 서버) 있습니다. 서버라는 용어는 서브(serve; 제공하다)에서 비롯되었습니다. 식당에서는 종업원이 손님에게 음식을 서빙(serve + ing)하죠? 이러한 종업원 역할을 하는 호스트가 바로 서버입니다.

반면 클라이언트 client란 서버에게 어떠한 서비스를 요청하고 서버의 응답을 제공받는 호스트입니다. 식당에서 종업원에게 서빙을 받으려면 손님이 먼저 요청해야 하죠. 손님이 종업원에게 음식을 요청하면 종업원은 그 음식을 서빙합니다. 이처럼 클라이언트는 서버에게 요청 request을 보내고 그에 대한 응답 response을 제공받습니다.

 

서버 클라이언트

 

 

예를 들어 우리가 노트북에서 웹 브라우저를 열고 구글 웹 페이지에 접속을 시도했다고 했을 때 구글의 서버는 해당 요청을 받고, 그 요청에 맞는 웹 페이지를 웹 브라우저에 전달합니다. 여기서 우리의 노트북은 클라이언트로서 구글 서버에 웹 페이지를 요청하고, 그에 대한 응답을 제공받은 셈입니다.

 

호스트_서버, 클라이언트

 

 

 

✔️네트워크 장비

네트워크 노드가 호스트만 있는 것은 아닙니다. 네트워크 가장자리에 위치하지 않은 노드, 즉 호스트간 주고받을 정보가 중간에 거치는 노드도 있습니다. 이를 중간 노드라고 하는데요, 대표적으로 이더넷 허브, 스위치, 라우터, 공유기 등이 있습니다. 이러한 중간 노드들을 네트워크 장비라 통칭하겠습니다. 네트워크 장비는 호스트 간 주고받는 정보가 원하는 수신지까지 안정적이고 안전하게 전송될 수 있도록 합니다.

네트워크 장비

 

 

 

✔️통신 매체

그래프는 노드와 이를 연결 짓는 간선(링크)으로 이루어지기에, 호스트와 네트워크 장비 또한 유무선 매체를 통해 연결되어 있어야 합니다. 이렇게 각 노드를 연결하는 간선이 바로 통신 매체입니다. 이 통신 매체에는 노드들을 유선으로 연결하는 유선 매체, 무선으로 연결하는 무선 매체가 있습니다.

 

통신 매체

 

 

 

✔️메시지

통신 매체로 연결된 노드가 주고받는 정보를 메시지 message라고 합니다. 메시지는 웹 페이지가 될 수도, 파일이 될 수도, 메일이 될 수도 있습니다. 요컨대, 네트워크는 가장자리 노드인 호스트, 중간 노드인 네트워크 장비, 노드들을 연결하는 간선인 통신 매체, 노드들이 주고받는 정보인 메시지로 구성됩니다.

 

메시지

 

 

 

 

 


혼자 공부하는 네트워크 평면 표지

컴퓨터 네트워크는 백엔드, 프런트엔드, 앱 개발 등 현재 국내 대다수 개발 분야와 직·간접적으로 연관되어 있습니다. 너무 쉽거나 어렵지 않도록 다수의 네트워크 전공 서적들을 면밀히 분석하고, 방대한 컴퓨터 네트워크 이론 중에서도 핵심만 담아 입문을 돕는 적정 난이도로 구성했습니다.

혼자서도 쉽게 네트워크에 입문하고 싶다면, 전공의 문턱을 넘기 위한 전공 요약서 <혼자 공부하는 네트워크>를 펼쳐보세요!

👀 도서 자세히 보기
✍️ 유튜브 강의
🙋 강민철 저자님께 질문하기