이번 포스팅에서는 네트워크의 기본 구조와 이를 구성하는 요소들, 네트워크의 범위에 따른 분류, 그리고 메시지 교환 방식과 전송 방식의 차이점을 체계적으로 살펴보겠습니다.
이를 통해 네트워크의 핵심 개념을 이해하고, 보다 복잡한 네트워크 기술을 학습하는 데 필요한 배경지식을 갖출 수 있게 됩니다.
네트워크란 여러 장치가 서로 연결되어 정보를 주고받을 수 있는 통신망입니다.
이 통신망의 모양은 그래프의 형태를 띄고 있는데,
그래프란 노드와 노드를 연결하는 간선으로 이루어진 자료 구조입니다.
출처: geeksforgeeks.org - Types of Node Devices in a Computer Network
모든 네트워크는 '노드', 노드를 연결하는 '간선', 노드 간 주고받는 '메시지'로 구성됩니다.
노드는 정보를 주고받을 수 있는 장치 (그림에서의 디바이스), 간선은 정보를 주고받을 수 있는 유무선의 통신 매체(그림에서 디바이스 간의 선)를 말합니다.
네트워크의 기본 구조를 정리하자면,
네트워크는 가장자리 노드인 호스트, 중간 노드인 네트워크 장비, 노드들을 연결하는 간선인 통신 매체, 노드들이 주고받는 정보인 메시지로 구성됩니다.
네트워크의 가장자리에 위치한 노드는 네트워크를 통해 흐르는 정보를 최초로 생성 및 송신하고, 최종적으로 수신하는 역할을 합니다. 우리가 일상에서 사용하는 네트워크 기기(데스크톱, 노트북, 스마트폰 등)의 대부분이 여기에 속한다고 봐도 무방합니다.
이러한 가장자리 노드를 네트워크에서는 호스트라고 부릅니다.
호스트의 대표적인 역할로는 서버와 클라이언트가 있습니다.
서버라는 용어는 "serve(제공하다)" 에서 비롯되었는데, 서비스를 제공하는 역할을 하는 호스트가 바로 서버입니다. 여기서 서비스는 파일, 웹 페이지, 메일 등이 있습니다.
클라이언트란 서버에게 서비스를 요청하고 그에 대한 응답을 제공받는 호스트입니다. 예를 들어, 여러분이 노트북에서 웹 브라우저를 열고 구글에 접속을 시도했다고 해 봅시다. 그럼 구글의 서버는 해당 요청을 받고, 그 요청에 맞는 웹 페이지를 여러분의 웹 브라우저에 전달합니다. 여기서 여러분의 노트북은 클라이언트로서 구글 서버에 웹 페이지를 요청하고, 그에 대한 응답을 제공받게 된 것입니다.
네트워크 노드는 호스트뿐만 아니라, 네트워크 가장자리에 위치하지 않은 중간 노드들도 있습니다. 이러한 중간 노드들을 네트워크 장비라고 하며, 대표적으로 이더넷 허브, 스위치, 라우터, 공유기 등이 있습니다.
네트워크 장비는 호스트 간 주고받는 정보를 목적지까지 안정적이고 안전하게 전송될 수 있도록 합니다.
위 그림에서 호스트와 네트워크 장비들이 간선으로 연결되어 있는 것을 확인할 수 있는데,
이렇게 각 노드를 연결하는 간선을 통신 매체라고 합니다.
이 통신 매체에는 노드들을 유선으로 연결하는 유선 매체, 무선으로 연결하는 무선 매체가 있습니다.
통신 매체로 연결된 노드가 주고받는 정보를 메시지라고 합니다.
메시지는 웹 페이지나 파일, 또는 이메일처럼 여러 형태로 존재할 수 있습니다.
네트워크의 구성 범위는 한 기업이 될 수도 있고, 한 지역이 될 수도 있고, 국가가 될 수도 있습니다. 이처럼 네트워크의 구성 범위가 다양한 만큼, 네트워크를 범위에 따라 분류하는 기준이 존재합니다. 이러한 기준으로 LAN과 WAN이 있습니다.
LAN은 Local Area Network로, 가까운 지역을 연결한 근거리 통신망을 의미합니다.
가정, 학교, 기업처럼 한정된 공간에서의 네트워크가 바로 LAN입니다.
WAN은 Wide Area Network로, 먼 지역을 연결하는 광역 통신망을 의미합니다.
멀리 떨어진 LAN을 연결할 수 있는 네트워크가 바로 WAN입니다.
호스트들은 네트워크에서 어떤 방식으로 메시지를 주고 받을까요?
회선 교환 방식과 패킷 교환 방식이 있습니다.
회선 교환 방식은 메시지 전송로인 회선을 설정하고 이 경로를 통해 메시지를 주고받는 방식입니다. 회선 교환 네트워크에서는 호스트들이 메시지를 주고받기 전에 미리 두 호스트를 연결한 후, 연결된 경로로 메시지를 주고받습니다.
회선 교환 네트워크가 올바르게 동작하기 위해서는 호스트 간의 회선이 적절하게 설정되어야 하는데, 이를 수행하는 네트워크 장비로는 회선 스위치가 있습니다.
즉, 회선 스위치는 호스트 사이에 일대일 정소로를 확보하는 네트워크 장비입니다.
회선 교환 방식은 두 호스트 사이에 연결을 확보한 후에 메시지를 주고받는 특성 덕분에 주어진 시간 동안 전송되는 정보의 양이 비교적 일정하다는 장점이 있습니다.
반면, 회선의 이용 효율이 낮아질 수 있다는 단점이 있는데요.
어떤 호스트가 메시지를 주고받기 위해 특정 회선을 사용해야 하는데, 그 회선을 다른 호스트가 이미 점유하고 있다면 다른 호스트는 이를 사용할 수 없습니다. 이 때문에 회선이 점유되어 있는 동안 데이터가 전송되지 않는다면 회선 자원이 낭비되는 것입니다.
예를 들어, A와 B가 전화 통화를 하고 있다면 통신 회선이 일대일로 연결되기 때문에 A나 B는 동시에 다른 사람인 C와 통화할 수 없습니다. 이때 A와 B가 통화 중임에도 불구하고 아무 말도 하지 않는다면, 그 시간 동안 회선 자원이 낭비되는 셈입니다.
패킷 교환 방식은 앞서 언급한 회선 교환 방식의 단점을 보완한 방식으로, 메시지를 작은 단위인 패킷으로 나누어 전송하는 방식입니다. 패킷으로 나누어진 메시지들은 수신지로 도달한 뒤 재조립됩니다. 현재 대부분의 네트워크에서 패킷 교환 방식을 사용하고 있습니다.
사전에 설정된 경로만으로 통신하는 회선 교환 방식과는 달리, 패킷 교환 방식은 정해진 경로만으로 메시지를 송수신하지 않습니다. 때문에 회선 교환 방식보다 회선의 이용 효율이 상대적으로 높습니다. 패킷으로 나누어진 메시지는 다양한 중간 노드를 거칠 수 있는데, 이때 중간 노드인 패킷 스위치는 패킷의 송수신지 주소를 확인하여, 수신지까지 도달할 최적의 경로를 결정합니다.
대표적인 패킷 스위치 네트워크 장비로는 라우터와 스위치가 있습니다.
라우터는 서로 다른 네트워크 간에 데이터를 전달하며, 목적지 IP 주소를 기반으로 최적의 경로를 찾아 패킷을 전송하는 장비이고, 스위치는 같은 네트워크 내부에서 장치들 간의 데이터를 목적지 MAC 주소를 기반으로 빠르고 효율적으로 전달하는 장비입니다.
패킷은 주로 헤더(Header), 페이로드(Payload), 트레일러(Trailer)의 세 부분으로 구성됩니다. 헤더에는 송수신지 주소, 순서 정보, 헤더 자체의 무결성을 확인하기 위한 제어 정보 등이 담겨 있으며, 페이로드는 실제로 전송하고자 하는 데이터가 담긴 부분입니다. 마지막으로 트레일러에는 전송된 데이터의 오류 검출을 위한 정보가 포함되어, 데이터가 올바르게 수신되었는지 확인하는 데 사용됩니다.
패킷의 헤더에 담기는 대표적인 정보로는 주소가 있습니다. 주소는 송수신지를 특정하는 정보를 의미합니다. 이러한 주소에는 IP 주소와 MAC 주소가 있습니다.
이렇게 송수신지를 특정할 수 있는 주소가 있다면 송수신지 유형에 따라 다양한 방식으로 메시지를 보낼 수 있게 됩니다. 이러한 송수신지 유형에 따른 대표적인 전송 방식으로는 유니캐스트와 브로드캐스트가 있습니다.
유니캐스트는 가장 일반적인 형태의 송수신 방식으로, 하나의 수신지에 메시지를 전송하는 방식입니다. 송신지와 수신지가 일대일로 메시지를 주고받는 경우입니다.
브로드캐스트는 자신을 제외한 네트워크상의 모든 호스트에게 전송하는 방식입니다. 브로드캐스트가 전송되는 범위를 브로드캐스트 도메인이라고 합니다. 즉, 브로드캐스트의 수신지는 브로드캐스트 도메인이며 이는 자신을 제외한 네트워크상의 모든 호스트를 말합니다.
이외에도 네트워크 내의 동일 그룹에 속한 호스트에게만 전송하는 방식인 멀티캐스트, 네트워크 내의 동일 그룹에 속한 호스트 중 가장 가까운 호스트에게 전송하는 방식인 애니캐스트 등 다양한 방식이 있습니다.
네트워크의 기본 구조와 핵심 개념을 다음 포스팅에서 이어서 다루겠습니다.