관리 메뉴

피터의 개발이야기

[Network] 01. 컴퓨터 두 대를 연결하면 끝이 아니었을까? 본문

DevOps/Network

[Network] 01. 컴퓨터 두 대를 연결하면 끝이 아니었을까?

기록하는 백앤드개발자 2026. 7. 15. 20:00
반응형

TCP/IP를 우편 시스템으로 이해하기 — Part 1. 모두가 하나의 길을 함께 쓰려면

ㅁ 들어가며

컴퓨터 두 대가 있다.

두 컴퓨터 사이에 선을 하나 연결하면 데이터를 주고받을 수 있다. 한쪽에서 보낸 신호는 그 선을 따라 다른 쪽에 도착한다.

그렇다면 네트워크는 이것으로 완성된 것 아닐까?

두 대만 생각하면 그렇다. 문제는 세 번째 컴퓨터가 들어오는 순간 시작된다.

이 글에서는 스위치나 라우터의 동작부터 설명하지 않는다. 그보다 먼저, 왜 컴퓨터를 직접 연결하는 방식만으로는 충분하지 않았는지를 살펴보려고 한다.

네트워크의 첫 번째 문제는 연결할 수 있는가가 아니었다.

늘어나는 연결을 감당할 수 있는가였다.


ㅁ 두 사람이라면 전용 배달길 하나로 충분하다

두 집에 사는 사람이 서로 편지를 주고받는다고 생각해 보자.

두 집 사이에 전용 배달길을 하나 만들면 된다.

민수의 집 ───────── 영희의 집

이 길에는 두 사람의 편지만 다닌다.

  • 어느 길로 보내야 할지 고민할 필요가 없다.
  • 다른 사람의 편지와 섞이지 않는다.
  • 길을 사용하는 사람도 두 명뿐이다.

컴퓨터 두 대의 직접 연결도 이와 비슷하다. 두 장비 사이에 전용 통신 경로가 있으면 목적지는 명확하다.

이런 방식을 점대점 연결(Point-to-Point)이라고 한다. 지금도 장비와 장비를 직접 연결하거나 특정 두 지점을 잇는 구간에서 유용하게 사용한다.

그러니 점대점 연결 자체가 잘못된 것은 아니다.

다만 모든 컴퓨터를 서로 직접 연결하려 할 때 문제가 생긴다.


ㅁ 세 번째 집이 생기면 길도 하나만 늘어날까?

철수가 이 동네로 이사 왔다.

세 사람이 누구와도 직접 편지를 주고받으려면 어떻게 해야 할까?

        민수의 집
       /         \
영희의 집 ───── 철수의 집

필요한 길은 세 개다.

한 명이 더 이사 와서 네 명이 되면 길은 여섯 개가 필요하다. 다섯 명이면 열 개다.

사람은 한 명씩 늘어나지만 길은 훨씬 빠르게 늘어난다.

모든 사람이 서로 전용길을 가져야 한다면, 사람이 N명일 때 필요한 길의 수는 다음과 같다.

필요한 길의 수 = N × (N - 1) ÷ 2

 

컴퓨터 수 필요한 전용 연결 수
2대 1개
3대 3개
5대 10개
10대 45개
100대 4,950개

100대의 컴퓨터를 모두 직접 연결하려면 4,950개의 선이 필요하다. 컴퓨터 한 대마다 다른 99대와 연결할 단자도 있어야 한다.

새 컴퓨터 한 대를 추가할 때도 기존의 모든 컴퓨터까지 새 선을 연결해야 한다.

연결은 가능하다.

그러나 확장할 수 없다.


ㅁ 선만 늘어나는 것이 아니다

전용 연결이 늘어나면 선의 개수만 문제가 되는 것은 아니다.

 

ㅇ 연결할 자리가 필요하다

각 컴퓨터는 상대마다 별도의 통신 인터페이스를 가져야 한다. 사람이 늘어날수록 컴퓨터 한 대에 필요한 단자도 함께 늘어난다.

ㅇ 새로운 참여자를 추가하기 어렵다

새 컴퓨터 한 대를 연결하려면 기존의 모든 컴퓨터에 손을 대야 한다. 참여자가 많아질수록 한 대를 추가하는 작업도 커진다.

ㅇ 고장 지점이 많아진다

선이 많으면 끊어질 수 있는 지점도 많아진다. 통신이 되지 않을 때 수많은 전용선 가운데 어느 길이 문제인지 찾아야 한다.

ㅇ 남는 길을 함께 쓰기 어렵다

민수와 영희가 대화하지 않는 동안에도 두 사람의 전용길은 다른 사람에게 도움이 되지 않는다.

자원이 비어 있어도 그 길의 주인이 아니면 사용할 수 없다.

전용길은 단순하고 명확하지만, 참여자가 많아질수록 비싼 방식이 된다.

우리가 해결해야 할 문제도 조금 달라진다.

어떻게 더 많은 선을 연결할까? 

가 아니라

어떻게 적은 수의 선을 더 많은 사람이 함께 사용할까?

가 된다. 


ㅁ 모든 집을 우체국에 연결하면 무엇이 달라질까?

이번에는 집과 집 사이에 전용 배달길을 만들지 않고, 각 집이 동네 우체국 하나와 연결되어 있다고 생각해 보자.

민수의 집 ─┐
영희의 집 ─┼─ 동네 우체국
철수의 집 ─┤
지수의 집 ─┘

새로운 사람이 이사 오면 기존의 모든 집에 길을 만들 필요가 없다. 새 집과 우체국 사이의 길 하나만 추가하면 된다.

전용 연결 방식: 새 집과 기존의 모든 집을 연결
중간 지점 방식: 새 집과 중간 지점만 연결

열 명이 서로 직접 연결하려면 45개의 길이 필요하지만,

열 명이 하나의 중간 지점에 연결되면 각 사람에게 하나씩, 10개의 길로 시작할 수 있다.

중간 지점은 편지를 받아 알맞은 목적지 쪽으로 넘겨준다. 여러 사람이 배달 시설과 길을 함께 사용하게 된 것이다.

 

네트워크에서도 비슷한 역할을 하는 장치가 필요해졌다.

오늘날의 LAN에서는 보통 컴퓨터를 서로 전부 직접 연결하지 않는다. 각 컴퓨터를 스위치에 연결하고, 스위치가 데이터를 목적지 방향으로 전달한다.

컴퓨터 A ─┐
컴퓨터 B ─┼─ 스위치
컴퓨터 C ─┤
컴퓨터 D ─┘

여기서 중요한 것은 아직 스위치라는 장비의 이름이 아니다.

핵심은 연결 구조가 바뀌었다는 것이다.

  • 모든 상대와 전용선을 만드는 구조에서
  • 공통의 중간 지점을 함께 사용하는 구조로 바뀌었다.

네트워크는 이렇게 연결을 계속 늘리는 대신, 연결과 전달 자원을 공유하는 방향으로 확장할 수 있게 되었다.


ㅁ 우편 비유를 네트워크 용어로 바꾸면

지금까지의 이야기를 실제 네트워크 용어로 옮기면 다음과 같다.

우편 시스템의 모습 네트워크 용어 의미
두 집을 전용길로 연결 Point-to-Point 두 장비 사이에 직접 통신 경로를 만드는 연결 방식
모든 집을 서로 연결 Full Mesh Topology 모든 장비가 다른 모든 장비와 직접 연결된 구조
여러 집이 중앙 우체국에 연결 Star Topology 각 장비가 중앙 장치를 통해 연결되는 구조
동네 우체국 Switch LAN에서 프레임을 목적지 방향으로 전달하는 중앙 장치
사람이 늘어도 감당할 수 있는가 Scalability 참여자와 트래픽이 증가해도 구조를 확장할 수 있는 성질

 

Topology는 장비와 링크가 어떤 모양으로 연결되어 있는지를 뜻한다.

모든 장비를 직접 잇는 Full Mesh는 특정 장비 사이에 전용 경로를 제공하지만, 장비 수가 증가하면 링크와 인터페이스가 빠르게 늘어난다.

 

반면 Star Topology에서는 각 장비가 중앙의 스위치에 연결되므로 새로운 장비를 추가하기 쉽다.

이 차이를 설명하는 핵심 용어가 확장성(Scalability)이다.

 

확장성은 단순히 장비를 더 연결할 수 있다는 뜻이 아니다.

사용자가 늘어날 때 필요한 비용과 작업, 복잡도가 감당할 수 있는 범위에서 증가해야 한다는 뜻이다.

따라서 이 글의 질문은 네트워크 용어로 다음과 같이 바꿀 수 있다.

Full Mesh Topology의 확장성 문제를 어떻게 해결할 것인가?

 

LAN에서는 여러 장비를 스위치 중심의 Star Topology로 연결하는 것이 대표적인 답이 되었다.

 


ㅁ 그렇다면 공유하면 모든 문제가 해결될까?

아직 그렇지 않다.

모두가 같은 배달 시설을 사용하면 새로운 질문이 생긴다.

  • 여러 사람이 동시에 데이터를 보내면 어떻게 될까?
  • 받은 데이터가 누구의 것인지 어떻게 구분할까?
  • 중간 장치는 목적지가 어느 방향에 있는지 어떻게 알까?
  • 한 사람의 통신이 다른 사람의 통신을 방해하지 않을까?

전용길에서는 생각하지 않아도 되었던 문제다.

공유는 연결 수를 줄여 주었지만, 그 대신 질서가 필요해졌다.

네트워크의 여러 기술은 바로 이 지점에서 등장한다. 누가 말할 차례인지 정하고, 목적지를 구분하고, 필요한 방향으로만 데이터를 전달해야 한다.

즉, 공유는 문제의 끝이 아니라 네트워크 설계의 시작이다.


ㅁ 직접 생각해 보기

종이 한 장에 컴퓨터를 점으로 표시하고 모든 컴퓨터가 서로 직접 연결되도록 선을 그어 보자.

  1. 컴퓨터 2대, 3대, 5대일 때 각각 몇 개의 선이 필요한가?
  2. 컴퓨터를 한 대 추가할 때 새로 그어야 하는 선은 몇 개인가?
  3. 가운데에 공통 연결 지점 하나를 두면 선의 수는 어떻게 달라지는가?

계산할 때는 다음 두 식을 비교하면 된다.

모두 직접 연결: N × (N - 1) ÷ 2
중간 지점에 연결: N

이 작은 그림만으로도 네트워크가 왜 “더 많은 연결”보다 “공유할 수 있는 구조”를 선택했는지 확인할 수 있다.

다만 실제 네트워크에서는 중간 장치도 처리 용량과 포트 수의 한계가 있다.

규모가 커지면 여러 스위치를 계층적으로 연결하고 경로를 나눈다.

하나의 장치가 세상 모든 컴퓨터를 연결하는 것은 아니다.


ㅁ 핵심 정리

  • 컴퓨터 두 대의 점대점 연결은 단순하고 유용하다.
  • 모든 컴퓨터를 서로 직접 연결하면 연결 수가 N × (N - 1) ÷ 2로 증가한다.
  • 참여자가 늘수록 선, 인터페이스, 추가 작업, 장애 지점도 빠르게 늘어난다.
  • 중간 지점을 함께 사용하면 새 참여자는 연결 하나만 추가해 통신망에 들어올 수 있다.
  • 네트워크가 해결해야 했던 첫 번째 과제는 연결 자체보다 연결 자원의 공유였다.
네트워크는 선을 많이 연결해서 커진 것이 아니라, 하나의 길을 함께 쓰는 방법을 찾아서 커졌다.

ㅁ 다음 이야기

공유할 중간 지점을 만들었으니 연결 문제는 해결된 것처럼 보인다.

그런데 여러 컴퓨터가 같은 길에서 동시에 말하면 어떻게 될까?

한 사람의 신호와 다른 사람의 신호가 겹친다면, 중간에서는 누구의 데이터를 들어야 할까?

다음 글에서는 「모두가 동시에 말하면 누가 들을 수 있을까?」라는 질문을 통해 공유된 통신 매체와 충돌의 문제를 살펴본다.

반응형
Comments