[혼공네] 01-1. 컴퓨터 네트워크를 알아야 하는 이유

2026. 9. 20. 23:30·네트워크

1. 컴퓨터 네트워크란?

컴퓨터 네트워크(computer network)란 여러 개의 장치가 마치 그물처럼 서로 연결되어 정보를 주고받을 수 있는 통신망이다.

간단히 말하면,

두 대 이상의 컴퓨터를 연결하고 서로 통신할 수 있게 만든 것이 네트워크

라고 생각하면 된다.

네트워크에 연결된 장치들은 서로 데이터를 주고받으며 동작한다.

예를 들어 우리가 사용하는 스마트폰의 많은 프로그램은 스마트폰 내부에서만 독립적으로 실행되는 것이 아니라 네트워크를 통해 다른 장치와 상호작용하면서 실행된다.

 

2. 인터넷과 웹은 같은 것인가?

인터넷(Internet)

인터넷은 하나의 거대한 네트워크라기보다,

여러 네트워크를 서로 연결한 ‘네트워크의 네트워크’

라고 볼 수 있다.

즉,

  • 우리 집의 LAN
  • 회사의 LAN
  • 학교의 LAN
  • 데이터센터의 LAN

등이 서로 연결되어 훨씬 큰 네트워크를 이루고 있는데, 이것이 인터넷이다.

인터넷을 하드웨어적인 물리 네트워크 인프라라는 관점에서 이해할 수 있다.

 

웹(World Wide Web, WWW)

웹은 인터넷 그 자체가 아니다.

웹은 인터넷 위에서 동작하는 여러 서비스 중 하나

이다.

즉,

인터넷 = 인프라 / 네트워크 자체

웹 = 인터넷을 이용하는 서비스

라고 구분하면 된다.

예를 들어 웹 브라우저로 웹사이트를 접속하는 것은 인터넷을 기반으로 동작하는 서비스 이용의 한 예다.

인터넷의 실제 연결 구조를 시각적으로 볼 때는 다음 사이트를 참고할 수 있다.

https://internet-map.net/

 

3. 개발자가 네트워크를 알아야 하는 이유

개발자의 업무는 크게 보면

  • 프로그램 제작
  • 프로그램 유지보수

로 나눌 수 있다.

네트워크 지식은 두 업무 모두에서 필요하다.

 

3-1. 프로그램을 만드는 과정에서의 네트워크

프로그래밍 언어나 웹 프레임워크, 라이브러리를 사용하다 보면 네트워크 지식이 있어야 이해하거나 활용할 수 있는 기능들이 많다.

대표적인 예가

  • TCP
  • UDP
  • HTTP
  • 쿠키

등이다.

예를 들어 웹 프레임워크를 사용한다고 해도 HTTP가 무엇인지, TCP와 UDP가 어떤 차이가 있는지를 모르면 프레임워크가 제공하는 네트워크 관련 기능을 제대로 이해하기 어렵다.

 

3-2. 프로그램 유지보수 과정에서의 네트워크

프로그램을 운영하다 보면 여러 네트워크 문제가 발생할 수 있다.

예를 들면

  • 인터넷 연결이 안 되는 문제
  • 웹 서버가 갑자기 동작하지 않는 문제
  • HTTP 오류가 발생하는 문제

등이다.

예를 들어 404 등의 HTTP 상태 코드를 이해하려면 네트워크 지식이 필요하다.

특히 서버가 잘 동작하다가 갑자기 접속되지 않는 상황에서는 네트워크에 대한 지식이 없으면 원인을 찾기 어렵다.

 

3-3. 개발자에게 네트워크 지식이 요구되는 이유

프로그램 유지보수를 위해 네트워크 관련 도구와 명령어를 사용해야 하는 경우도 많다.

그래서 기업 채용 공고에서 네트워크 지식을 요구하거나 기술 면접에서 네트워크 관련 질문을 하는 경우가 많다.

대표적인 기술 면접 질문 예시는 다음과 같다.

  • DNS의 정의와 동작 과정을 설명하세요.
  • TCP와 UDP의 차이는 무엇인가요?
  • HTTP와 HTTPS의 차이는 무엇인가요?

즉, 네트워크는 단순히 네트워크 엔지니어만 공부하는 분야가 아니라 개발자에게도 필요한 CS 기본 지식이다.

 

01-2. 네트워크 거시적으로 살펴보기

이제 네트워크 전체 구조를 큰 그림으로 본다.

 

1. 네트워크는 그래프 구조로 볼 수 있다

그래프(graph)는

  • 노드(node)
  • 노드를 연결하는 간선(edge)

으로 이루어진 자료구조다.

네트워크는 그래프의 형태로 서로 연결되어있다.

  • 노드 = 네트워크에 참여하는 장치
  • 간선 = 장치를 연결하는 통신 매체
  • 메시지 = 노드끼리 주고받는 정보

즉,

네트워크는 노드가 연결되어 정보를 주고받는 그래프 구조로 이해할 수 있다.

 

2. 네트워크의 기본 구성 요소

모든 네트워크를 크게 보면 다음 요소들로 구성된다.

  1. 노드
  2. 노드를 연결하는 간선
  3. 노드 간에 주고받는 메시지

이를 조금 더 구체적으로 나누면

  • 호스트
  • 네트워크 장비
  • 통신 매체
  • 메시지

로 볼 수 있다.

네트워크를 이루는 장비들은 전부 노드다.

 

3. 호스트(Host)

호스트는 네트워크의 가장자리 노드다.

다른 표현으로는

  • 엔드포인트(endpoint)
  • 단말기

라고 생각할 수 있다.

예를 들어

  • 노트북
  • 스마트폰
  • 서버

등이 호스트가 될 수 있다.

호스트는 실제 통신의 출발점이나 도착점이 된다

Request / Response가 오가는 가장자리 장치

라고 이해할 수 있다.

 

서버와 클라이언트

호스트는 역할에 따라 크게

서버(Server)

어떤 서비스를 제공하는 호스트

클라이언트(Client)

서버에게 서비스를 요청하고 서버의 응답을 받는 호스트

로 구분할 수 있다.

예를 들어 웹 브라우저가 웹 서버에 페이지를 요청하면

  • 브라우저가 클라이언트
  • 웹 서버가 서버

가 된다.

 

4. 노드(Node)

네트워크를 이루는 장치들은 모두 넓은 의미에서 노드라고 볼 수 있다.

따라서

  • 호스트
  • 스위치
  • 라우터
  • 기타 네트워크 장비

등이 네트워크의 노드가 될 수 있다.

다만 호스트는 네트워크의 가장자리 노드이고, 네트워크 장비(이더넷 허브, 스위치, 라우터, 공유기 등)는 호스트 사이에서 데이터를 전달하는 중간 노드라고 구분하면 이해하기 쉽다.

 

5. 통신 매체

노드와 노드를 연결하는 실제 연결 경로(간선, 링크)를 통신 매체라고 한다.

통신 매체는 크게

  • 유선 매체
  • 무선 매체

로 나눌 수 있다.

유선

예:

  • 트위스티드 페어 케이블
  • 광섬유 케이블

무선

예:

  • Wi-Fi
  • 무선 AP를 이용한 연결

무선 네트워크를 많이 다룰 예정이다.

 

6. 메시지(Message)

통신 매체로 연결된 노드가 서로 주고받는 정보다.

예를 들어

  • 웹 페이지
  • 파일
  • 이메일
  • 드라이브 주소
  • 프로그램이 주고받는 데이터

등이 메시지가 될 수 있다.

예를 들어

노트북 → Wi-Fi → 서버

구조에서

  • 노트북 = 호스트
  • Wi-Fi = 통신 매체
  • 서버 = 호스트
  • 주고받는 파일/웹 페이지 = 메시지

라고 생각하면 된다.

 

7. 네트워크 토폴로지

네트워크 토폴로지(Network Topology)는

네트워크에서 노드들이 어떤 구조로 연결되어 있는가

를 나타내는 연결 형태다.

네트워크를 설계할 때는

  • 비용
  • 안정성
  • 확장성
  • 유지보수 편의성

등을 고려해서 토폴로지를 선택한다.

대표적인 형태에는

  • 버스형
  • 링형
  • 스타형
  • 트리형
  • 메시형

등이 있다.

 

7-1. 버스형 토폴로지

하나의 공통 케이블에 여러 컴퓨터가 연결되는 구조다.

즉, 여러 장치가 하나의 선을 공유한다.

1980~90년대 초에 사용되었으며 컴퓨터를 연결할 때 T자형 커넥터를 사용했다.

 

장점

  • 설치가 매우 단순하다.
  • 케이블이 적게 필요하다.
  • 비용이 적다.
  • PC들을 랜선으로 연결하는 형태로 구현하기 쉽다.

단점

공통 케이블에 문제가 생기면 전체 네트워크에 영향을 준다.

특히

 

케이블 하나가 끊어졌을 때 어디서 문제가 발생했는지 찾기 어렵다.

따라서 유지보수와 복구 시간이 길어질 수 있다.

 

7-2. 링형 토폴로지

모든 장치가 원형으로 연결되어 있는 구조다.

각 노드는 양옆의 인접한 노드와 연결된다.

버스형 이후 등장한 구조이다.

 

특징

  • 데이터가 하나의 방향으로 흐르는 형태가 있을 수 있다.
  • 예를 들어 1번에서 3번으로 가려면 2번을 거쳐야 한다.
  • 1번에서 5번으로 가려면 역방향으로 가지 못하고 링을 따라 돌아가야 하는 구조를 생각할 수 있다.
  • 한 번에 하나의 장치가 전송하도록 하면 충돌을 방지할 수 있다.
  • 구조가 단순하다.
  • 설치와 복구가 상대적으로 용이하다.
  • 전송이 순차적으로 이루어져 실시간성이 있다.

단점

노드 하나가 고장 나면 전체 네트워크가 중단될 가능성이 있다.

문제가 전체 네트워크로 퍼질 수 있으며, 수리할 때 링 전체를 일시 정지해야 하는 경우도 있다.

또한 서로 가까이 있는 장치라 하더라도 정해진 한 방향으로만 이동해야 한다면 돌아가야 하는 비효율이 발생한다.

 

7-3. 토큰 링(Token Ring)

토큰 링은 링형 토폴로지와 관련해서 자주 등장하는 개념이다.

토큰링이라는 프로토콜에서 링형 토폴리지를 사용한다.

토큰 링에서는 네트워크를 돌아다니는 **토큰(token)**이라는 특별한 정보가 있고,

토큰 생성 후 토큰을 가진 호스트만 데이터를 전송할 수 있다.

라고 이해하면 된다.

예: 마이크 하나를 여러 사람이 돌려가며 말하는 상황

  • 마이크를 가지고 있는 사람이 말함
  • 말을 마치면 다음 사람에게 마이크 전달
  • 상대방이 할 말이 없으면 다음 사람에게 넘김

이와 유사하게 토큰이 순차적으로 돌아다니면서 전송권을 준다.

 

장점

한 번에 하나의 전송 장치만 송신하므로 충돌을 방지할 수 있다.

  • A가 토큰을 가지고 있으면 A만 전송 가능
  • A가 전송을 끝내면 B에게 토큰을 넘김
  • B가 보낼 것이 없으면 C에게 넘김
  • C가 보낼 것이 있으면 전송

 

7-4. FDDI

간단히만 알아도 괜찮다.

FDDI는 링 구조를 한 단계 발전시킨 형태로 볼 수 있으며,

  • 이중 링 구조
  • 하나의 링이 망가져도 다른 링을 활용하여 우회

할 수 있다는 특징이 있다.

 

8. 스타형 토폴로지

중앙의 장비를 중심으로 여러 장치가 연결되는 구조다.

예를 들어

중앙 장비 → 노트북 / 스마트폰 / PC

와 같은 형태다.

가정이나 일반적인 LAN에서 흔히 볼 수 있다.

Wi-Fi 환경에서는 무선 AP를 중심으로 여러 단말이 연결되는 형태를 스타형의 직관적인 예로 생각할 수 있다.

 

장점

  • 접근이 쉽다.
  • 사용이 편리하다.
  • 장치 하나가 고장 나더라도 다른 장치까지 영향을 주지는 않는다.
  • 장치 추가와 제거가 쉽다.
  • 어느 지점에서 문제가 생겼는지 찾기 쉽다.
  • 가까운 범위의 장치들을 연결하는 LAN 환경에서 많이 사용한다.

단점

중앙 장비가 고장 나면 연결된 전체 네트워크가 마비될 수 있다.

 

9. 트리형 토폴로지

스타형 네트워크를 계층적으로 연결한 구조다.

예를 들어

코어 장비 → 스위치 → PC

와 같은 형태다.

예시: 대학교 네트워크

중앙 서버실 → 각 학과 네트워크 → 광장 → Wi-Fi

처럼 부모-자식 관계로 연결된다.

 

장점

  • 스타형의 관리 용이성을 가져온다.
  • 확장성이 좋다.
  • 계층적으로 관리할 수 있다.
  • 문제가 생겼을 때 해당 부분을 격리하기 쉽다.

단점

상위 장비에 문제가 생기면 그 아래에 연결된 많은 네트워크가 영향을 받는다.

또한 병목현상이 발생할 수 있다.

병목현상은 시스템에서 특정 부분이 속도나 처리 능력의 한계가 되어 전체 성능을 제한하는 현상이다.

즉,

시스템 안에서 가장 느린 부분이 전체 성능을 제한할 수 있다.

 

10. 메시형 토폴로지

메시형에서는 특정 중앙 장비에만 의존하기보다는 노드들이 서로 여러 경로로 연결된다.

  • LAN 대역 연결 시 많이 쓴다.
  • Full-Connected의 단점을 보완한 것이다.
  • 모두와 연결이 아니라 특정 노드(중앙 장비)에 많이 연결한다.

여러 개의 연결 경로가 존재하기 때문에

하나의 경로가 끊겨도 다른 경로를 통해 통신할 수 있다.

는 장점이 있다.

해저 케이블 지도는 이런 네트워크 경로의 개념을 이해하는 데 참고할 만하다.

https://www.submarinecablemap.com/

 

Full-Connected와 메시형의 차이

Full-Connected

모든 노드가 모든 다른 노드와 직접 연결되는 구조

 

일반적인 메시형

모든 노드가 반드시 모든 노드와 직접 연결될 필요는 없다.

여러 경로를 확보하면서도 연결 수를 줄일 수 있다.

따라서

Full-Connected는 안정성이 매우 높지만 비용이 많이 든다.

반면 메시형은 필요한 부분에 여러 연결을 배치하여 Full-Connected의 비용 문제를 어느 정도 줄일 수 있다.

 

메시형의 단점

  • 구조가 매우 복잡하다.
  • 케이블이 많이 필요하다.
  • 설정이 어렵다.
  • 유지보수가 어렵다.

'네트워크' 카테고리의 다른 글

[혼공네] 02-1. 이더넷(Ethernet)  (0) 2026.09.21
[혼공네] 01-2. 네트워크 거시적으로 살펴보기  (0) 2026.09.20
[Docker] 도커 기본 개념 정리  (0) 2024.02.29
AWS로 https 배포하기 (feat. S3, Route 53, Certificate Manager, CloudFront)  (0) 2023.05.04
캐시 / HTTP  (0) 2023.02.23
'네트워크' 카테고리의 다른 글
  • [혼공네] 02-1. 이더넷(Ethernet)
  • [혼공네] 01-2. 네트워크 거시적으로 살펴보기
  • [Docker] 도커 기본 개념 정리
  • AWS로 https 배포하기 (feat. S3, Route 53, Certificate Manager, CloudFront)
youjeong_choi
youjeong_choi
  • youjeong_choi
    youjeong
    youjeong_choi
  • 전체
    오늘
    어제
    • 분류 전체보기 (114) N
      • HTML, CSS (7)
      • JavaScript (19)
        • 모던 자바스크립트 딥다이브 (4)
      • ReactJS (17)
      • TIL (17)
      • WIL (17)
      • 알고리즘 (17)
      • 네트워크 (9)
      • Vue (4)
      • 재료 과학 (2)
      • 정보보안 (2)
      • 리눅스 (2) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    네트워크
    항해99 주특기
    익명 함수
    혼공스
    부트캠프
    선언적 함수
    항해99리액트
    항해99주특기리액트
    파이썬
    자바스크립트
    정보보안
    토스뱅크사이버보안엔지니어부트캠프
    리액트
    모던자바스크립트딥다이브
    리눅스기초
    알고리즘 문제
    항해99
    멀티캠퍼스부트캠프
    항해99주특기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
youjeong_choi
[혼공네] 01-1. 컴퓨터 네트워크를 알아야 하는 이유
상단으로

티스토리툴바