01. 네트워크의 구조

01. 네트워크의 구조

1. 컴퓨터 네트워크란?

두 대 이상의 컴퓨터가 연결되어 데이터를 주고받을 수 있는 상태

네트워크의 규모

┌─────────────────────────────────────────────────────────────────┐
│                         인터넷 (Internet)                        │
│    ┌─────────────────────────────────────────────────────┐      │
│    │              WAN (Wide Area Network)                 │      │
│    │    ┌───────────────────────────────────────┐        │      │
│    │    │        LAN (Local Area Network)        │        │      │
│    │    │    ┌─────────────────────────┐        │        │      │
│    │    │    │    PAN (Personal Area)   │        │        │      │
│    │    │    │    블루투스, USB 등       │        │        │      │
│    │    │    └─────────────────────────┘        │        │      │
│    │    │    가정, 사무실 내 네트워크            │        │      │
│    │    └───────────────────────────────────────┘        │      │
│    │    도시, 국가 단위 네트워크                          │      │
│    └─────────────────────────────────────────────────────┘      │
│    전 세계를 연결하는 거대한 네트워크                             │
└─────────────────────────────────────────────────────────────────┘
네트워크범위예시
PAN개인 영역 (수 m)블루투스 이어폰, 스마트워치
LAN건물/사무실 (수백 m)회사 내부망, 가정 네트워크
MAN도시 (수십 km)도시 통신망
WAN국가/대륙 (수천 km)KT, SK 등 통신사 망
인터넷전 세계WWW

2. 패킷 (Packet)

네트워크를 통해 전송되는 데이터의 작은 조각

왜 패킷으로 나누는가?

┌─────────────────────────────────────────────────────────────────┐
│                    큰 데이터를 그대로 전송하면?                    │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  [대용량 파일 전송 중...]━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  │
│                                                                  │
│  [다른 사용자 A] ─────────────× 대기 (차단됨)                     │
│  [다른 사용자 B] ─────────────× 대기 (차단됨)                     │
│                                                                  │
│  → 네트워크 대역폭을 독점하여 다른 통신 차단!                      │
└─────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────┐
│                    패킷으로 나누어 전송하면?                       │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  [패킷1]─→[패킷2]─→[패킷3]─→[패킷4]─→ ...                        │
│       ↓       ↓       ↓       ↓                                 │
│  [사용자 A 패킷]  [사용자 B 패킷]  ← 번갈아가며 전송               │
│                                                                  │
│  → 여러 사용자가 네트워크를 공평하게 사용!                         │
└─────────────────────────────────────────────────────────────────┘

패킷의 구조

┌─────────────────────────────────────────────────────────────────┐
│                          패킷 (Packet)                           │
├──────────────┬──────────────────────────┬───────────────────────┤
│    헤더       │          데이터           │        트레일러        │
│   (Header)   │         (Payload)         │       (Trailer)       │
├──────────────┼──────────────────────────┼───────────────────────┤
│ • 출발지 주소  │                          │ • 오류 검출 코드        │
│ • 목적지 주소  │      실제 전송 내용        │   (CRC 등)            │
│ • 순서 번호   │                          │                       │
│ • 프로토콜    │                          │                       │
└──────────────┴──────────────────────────┴───────────────────────┘

패킷 전송 과정

송신측 (보내는 컴퓨터)
┌─────────────────────────────────────────┐
│  원본 데이터: [    큰 이미지 파일    ]     │
│                    ↓ 분할                │
│  패킷들: [1] [2] [3] [4] [5] [6]         │
│          ↓   ↓   ↓   ↓   ↓   ↓          │
└─────────────────────────────────────────┘
                    ↓
              네트워크 전송
          (순서 뒤바뀔 수 있음)
                    ↓
수신측 (받는 컴퓨터)
┌─────────────────────────────────────────┐
│  도착한 패킷: [3] [1] [5] [2] [6] [4]    │
│                    ↓ 재조립 (순서 번호로)  │
│  원본 데이터: [    큰 이미지 파일    ]     │
└─────────────────────────────────────────┘

패킷 손실과 재전송

송신측                        수신측
   │                            │
   │──── [패킷 1] ─────────────→│ ✓ 수신 확인 (ACK)
   │←─── ACK 1 ─────────────────│
   │                            │
   │──── [패킷 2] ───────× (손실) │
   │     (타임아웃 발생)          │
   │                            │
   │──── [패킷 2] ─────────────→│ ✓ 재전송 성공
   │←─── ACK 2 ─────────────────│
   │                            │

3. 대역폭 (Bandwidth)

네트워크에서 단위 시간당 전송할 수 있는 데이터의 최대량

대역폭 vs 실제 속도

용어설명비유
대역폭이론상 최대 전송량고속도로 차선 수
처리량 (Throughput)실제 전송량실제 통과 차량 수
지연 (Latency)전송 지연 시간출발~도착 시간

대역폭 단위

단위크기환산
bpsbits per second기본 단위
Kbps1,000 bps1 Kbps = 1,000 bps
Mbps1,000,000 bps1 Mbps = 1,000 Kbps
Gbps1,000,000,000 bps1 Gbps = 1,000 Mbps

실생활 예시

용도권장 대역폭
웹 브라우징1~5 Mbps
HD 영상 스트리밍5~10 Mbps
4K 영상 스트리밍25+ Mbps
온라인 게임3~6 Mbps (지연이 더 중요)
화상 회의3~4 Mbps

4. 네트워크 구성 요소

하드웨어

┌─────────────────────────────────────────────────────────────────┐
│                      네트워크 장비 계층                           │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  [라우터] ←── 네트워크 간 연결 (IP 주소 기반)                      │
│      │                                                          │
│      ↓                                                          │
│  [스위치] ←── 같은 네트워크 내 연결 (MAC 주소 기반)                 │
│      │                                                          │
│      ↓                                                          │
│  [허브] ←── 단순 신호 전달 (브로드캐스트)                          │
│      │                                                          │
│      ↓                                                          │
│  [NIC] ←── 네트워크 인터페이스 카드 (랜카드)                       │
│      │                                                          │
│      ↓                                                          │
│  [케이블] ←── 물리적 연결 (UTP, 광케이블 등)                       │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘
장비역할OSI 계층
라우터네트워크 간 경로 설정3계층 (네트워크)
스위치MAC 주소로 프레임 전달2계층 (데이터링크)
허브신호 증폭 및 전달1계층 (물리)
NIC (랜카드)컴퓨터-네트워크 연결1~2계층

네트워크 토폴로지

버스형 (Bus)                    스타형 (Star)
────●────●────●────             ●     ●
    │    │    │                  \   /
    │    │    │                   [허브]
                                 /   \
                                ●     ●

링형 (Ring)                     메시형 (Mesh)
    ●───●                       ●───●
   /     \                      │\ /│
  ●       ●                     │ × │
   \     /                      │/ \│
    ●───●                       ●───●
토폴로지장점단점
버스형설치 간단, 비용 저렴장애 시 전체 영향
스타형장애 격리 용이중앙 장비 의존
링형균등한 접근한 곳 장애 시 전체 영향
메시형고가용성, 대체 경로비용 높음, 복잡

5. 프로토콜 (Protocol)

네트워크에서 데이터를 주고받기 위한 약속된 규칙

프로토콜이 필요한 이유

프로토콜이 없다면?
┌──────────────┐                    ┌──────────────┐
│   컴퓨터 A    │ ──── ??? ────→   │   컴퓨터 B    │
│  (한국어)     │                    │   (영어)      │
└──────────────┘                    └──────────────┘
          서로 다른 언어 = 통신 불가

프로토콜이 있다면?
┌──────────────┐                    ┌──────────────┐
│   컴퓨터 A    │ ── TCP/IP ──→    │   컴퓨터 B    │
│  (Windows)   │    공통 규칙        │   (Linux)    │
└──────────────┘                    └──────────────┘
          같은 프로토콜 = 통신 가능

주요 프로토콜

프로토콜계층역할
HTTP/HTTPS응용웹 페이지 전송
FTP응용파일 전송
SMTP/POP3응용이메일 송수신
DNS응용도메인 → IP 변환
TCP전송신뢰성 있는 전송
UDP전송빠른 전송 (비연결)
IP네트워크주소 지정, 라우팅
Ethernet데이터링크LAN 통신

요약

용어핵심
네트워크2대 이상 컴퓨터의 연결
인터넷전 세계 네트워크의 네트워크
패킷데이터의 작은 조각 (순서 번호 포함)
대역폭최대 전송 속도 (bps 단위)
프로토콜통신 규칙 (TCP/IP 등)
LAN근거리 네트워크
WAN광역 네트워크

패킷 전송 핵심

1. 큰 데이터 → 작은 패킷으로 분할
2. 각 패킷에 순서 번호 부여
3. 네트워크를 통해 개별 전송
4. 수신측에서 순서대로 재조립
5. 손실 시 재전송 요청