라우터의 구조와 라우팅

라우터의 구조와 라우팅

라우터의 구조와 라우팅

1. 라우터란?

라우터 개념

┌─────────────────────────────────────────────────────────────┐
│                      라우터 (Router)                         │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  정의:                                                      │
│  • 서로 다른 네트워크를 연결하는 네트워크 장비               │
│  • OSI 7계층 중 3계층(네트워크 계층)에서 동작                │
│  • IP 주소를 보고 최적의 경로로 패킷을 전달                  │
│                                                             │
│  주요 기능:                                                 │
│  ─────────────────────────────────────────                  │
│  • 네트워크 간 데이터 전달                                   │
│  • 경로 설정 및 선택 (라우팅)                                │
│  • 브로드캐스트 도메인 분리                                  │
│  • NAT (네트워크 주소 변환)                                  │
│  • 방화벽 기능                                               │
│                                                             │
└─────────────────────────────────────────────────────────────┘

라우터의 필요성

라우터가 없는 경우:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌─────────────────────────────────────────────────────────────┐
│            네트워크 A (192.168.1.0/24)                       │
│                                                             │
│   [PC-A1]    [PC-A2]    [PC-A3]    [PC-A4]                 │
│   .10        .20        .30        .40                      │
│     └──────────┴──────────┴──────────┘                      │
│                     │                                       │
│                 [스위치]                                     │
│                                                             │
└─────────────────────────────────────────────────────────────┘
                          │
                          ╳ 연결 불가!
                          │
┌─────────────────────────────────────────────────────────────┐
│            네트워크 B (192.168.2.0/24)                       │
│                                                             │
│   [PC-B1]    [PC-B2]    [PC-B3]    [PC-B4]                 │
│   .10        .20        .30        .40                      │
│     └──────────┴──────────┴──────────┘                      │
│                     │                                       │
│                 [스위치]                                     │
│                                                             │
└─────────────────────────────────────────────────────────────┘

문제:
• 네트워크 ID가 다름 (192.168.1.x vs 192.168.2.x)
• 스위치는 레이어 2 장비 → IP 주소를 이해하지 못함
• 서로 통신 불가능!


라우터가 있는 경우:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌─────────────────────────────────────────────────────────────┐
│            네트워크 A (192.168.1.0/24)                       │
│                                                             │
│   [PC-A1]    [PC-A2]    [PC-A3]    [PC-A4]                 │
│   .10        .20        .30        .40                      │
│     └──────────┴──────────┴──────────┘                      │
│                     │                                       │
│                 [스위치]                                     │
│                     │                                       │
└─────────────────────┼───────────────────────────────────────┘
                      │
              ┌───────┴────────┐
              │    라우터      │
              │  .1.1    .2.1  │  ← 각 네트워크에 인터페이스
              └───────┬────────┘
                      │
┌─────────────────────┼───────────────────────────────────────┐
│                     │                                       │
│                 [스위치]                                     │
│                     │                                       │
│   [PC-B1]    [PC-B2]    [PC-B3]    [PC-B4]                 │
│   .10        .20        .30        .40                      │
│                                                             │
│            네트워크 B (192.168.2.0/24)                       │
│                                                             │
└─────────────────────────────────────────────────────────────┘

해결:
• 라우터가 두 네트워크를 연결
• PC-A1 → 라우터 → PC-B1 통신 가능
• 라우터가 경로를 찾아 패킷 전달

2. 라우터 vs 스위치 vs 허브

3가지 장비 비교

┌─────────────────────────────────────────────────────────────┐
│              허브 vs 스위치 vs 라우터                         │
├─────────┬────────────────┬────────────────┬────────────────┤
│  항목   │      허브      │    스위치      │    라우터      │
├─────────┼────────────────┼────────────────┼────────────────┤
│ OSI계층 │  1계층         │  2계층         │  3계층         │
│         │  (물리)        │  (데이터링크)  │  (네트워크)    │
├─────────┼────────────────┼────────────────┼────────────────┤
│ 주소    │  없음          │  MAC 주소      │  IP 주소       │
├─────────┼────────────────┼────────────────┼────────────────┤
│ 전송방식│  모든 포트로   │  특정 포트로   │  경로 선택하여 │
│         │  브로드캐스트  │  유니캐스트    │  전송          │
├─────────┼────────────────┼────────────────┼────────────────┤
│ 네트워크│  분리 불가     │  분리 불가     │  분리 가능     │
│ 분리    │                │                │                │
├─────────┼────────────────┼────────────────┼────────────────┤
│브로드캐│  분리 불가     │  분리 불가     │  분리 가능     │
│스트도메인│               │  (VLAN으로가능)│                │
├─────────┼────────────────┼────────────────┼────────────────┤
│ 주 용도 │  단순 신호증폭 │  LAN 내부연결  │  네트워크간연결│
├─────────┼────────────────┼────────────────┼────────────────┤
│ 속도    │  느림          │  빠름          │  중간          │
├─────────┼────────────────┼────────────────┼────────────────┤
│ 가격    │  저렴          │  중간          │  비싸다        │
├─────────┼────────────────┼────────────────┼────────────────┤
│ 지능성  │  없음          │  중간          │  높음          │
│         │  (단순 중계)   │  (MAC학습)     │  (경로 선택)   │
└─────────┴────────────────┴────────────────┴────────────────┘

동작 방식 비교

패킷 전송 비교:

허브 (Layer 1):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    [PC-A] ──→ [허브] ──→ 모든 포트로 전송
                  ├──→ [PC-B] (목적지 아님, 무시)
                  ├──→ [PC-C] (목적지 아님, 무시)
                  └──→ [PC-D] (목적지! 수신)

• 주소 확인 없음
• 모든 포트로 무조건 전송
• 충돌 발생 가능
• 보안 취약 (모두가 패킷 수신)


스위치 (Layer 2):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    [PC-A] ──→ [스위치] ──→ 목적지 MAC 주소 확인
                  │         목적지 포트로만 전송
                  └──→ [PC-D] (목적지! 수신)

• MAC 주소 테이블 사용
• 목적지 포트로만 전송
• 충돌 없음 (Full-Duplex)
• 같은 네트워크 내에서만 동작


라우터 (Layer 3):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 [네트워크 A]
    [PC-A] ──→ [라우터] ──→ 목적지 IP 주소 확인
    192.168.1.10   │        라우팅 테이블 참조
                   │        최적 경로 선택
                   └──→ [네트워크 B]
                        [PC-D] 192.168.2.10

• IP 주소 기반 라우팅
• 라우팅 테이블 사용
• 서로 다른 네트워크 간 통신
• 브로드캐스트 차단

3. 기본 게이트웨이 (Default Gateway)

기본 게이트웨이 개념

┌─────────────────────────────────────────────────────────────┐
│                   기본 게이트웨이                            │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  정의:                                                      │
│  • 네트워크의 출입구 역할을 하는 라우터의 IP 주소            │
│  • 다른 네트워크로 나가기 위한 기본 경로                     │
│  • 게이트웨이 (Gateway) = 문, 관문                          │
│                                                             │
│  역할:                                                      │
│  ─────────────────────────────────────────                  │
│  • 같은 네트워크: 직접 통신                                  │
│  • 다른 네트워크: 게이트웨이(라우터)로 전송                  │
│                                                             │
│  설정:                                                      │
│  • Windows: 네트워크 설정 또는 DHCP로 자동 할당             │
│  • Linux: /etc/network/interfaces 또는 nmcli               │
│                                                             │
└─────────────────────────────────────────────────────────────┘


기본 게이트웨이 동작 과정:

┌─────────────────────────────────────────────────────────────┐
│             네트워크 192.168.1.0/24                          │
│                                                             │
│  ┌────────────────┐      ┌────────────────┐                │
│  │    PC-A        │      │    PC-B        │                │
│  │ 192.168.1.10   │      │ 192.168.1.20   │                │
│  │                │      │                │                │
│  │ 게이트웨이:     │      │ 게이트웨이:     │                │
│  │ 192.168.1.1    │      │ 192.168.1.1    │                │
│  └────────────────┘      └────────────────┘                │
│         │                        │                          │
│         └────────────┬───────────┘                          │
│                      │                                      │
│              ┌───────┴────────┐                             │
│              │    라우터      │                             │
│              │  192.168.1.1   │  ← 기본 게이트웨이          │
│              └───────┬────────┘                             │
│                      │                                      │
└──────────────────────┼──────────────────────────────────────┘
                       │
                   [인터넷]


PC-A가 데이터를 보낼 때:

케이스 1: 같은 네트워크 (192.168.1.20으로 전송)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. 목적지 IP: 192.168.1.20
2. 서브넷 마스크와 AND 연산
   → 같은 네트워크 확인
3. ARP로 MAC 주소 확인
4. 스위치를 통해 직접 전송
5. 라우터 거치지 않음


케이스 2: 다른 네트워크 (8.8.8.8로 전송)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. 목적지 IP: 8.8.8.8 (구글 DNS)
2. 서브넷 마스크와 AND 연산
   → 다른 네트워크 확인
3. 기본 게이트웨이(192.168.1.1)로 전송
4. 라우터가 패킷 받아서 인터넷으로 전달
5. 라우터가 경로를 찾아 전송

기본 게이트웨이 설정

Windows에서 확인/설정:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

> ipconfig

이더넷 어댑터 이더넷:

   IPv4 주소 . . . . . . . . : 192.168.1.10
   서브넷 마스크 . . . . . . : 255.255.255.0
   기본 게이트웨이 . . . . . : 192.168.1.1  ← 라우터 주소


수동 설정 (관리자 권한):

> netsh interface ip set address "이더넷" static 192.168.1.10 255.255.255.0 192.168.1.1


Linux에서 확인/설정:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

$ ip route show

default via 192.168.1.1 dev eth0  ← 기본 게이트웨이
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10


수동 설정:

$ sudo ip route add default via 192.168.1.1


기본 게이트웨이 테스트:

$ ping 192.168.1.1

PING 192.168.1.1: 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=1.2 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1.1 ms

→ 응답 있으면 게이트웨이 연결 정상

4. 라우팅 (Routing)

라우팅 개념

┌─────────────────────────────────────────────────────────────┐
│                       라우팅 (Routing)                       │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  정의:                                                      │
│  • 목적지까지 패킷을 전달할 최적의 경로를 선택하는 과정      │
│  • 라우터가 라우팅 테이블을 참조하여 경로 결정               │
│                                                             │
│  라우팅 결정 요소:                                           │
│  ─────────────────────────────────────────                  │
│  • 목적지 네트워크 주소                                      │
│  • 서브넷 마스크                                             │
│  • 다음 홉(Next Hop) - 다음 라우터 주소                      │
│  • 메트릭(Metric) - 경로 우선순위                            │
│  • 인터페이스 - 어느 포트로 보낼지                           │
│                                                             │
└─────────────────────────────────────────────────────────────┘


라우팅 과정 예시:

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  [네트워크 A]          [라우터 R1]          [네트워크 B]    │
│  192.168.1.0/24        .1.1    .2.1        192.168.2.0/24  │
│                                                             │
│    [PC-A]         ───→  [R1]  ───→           [PC-B]        │
│  192.168.1.10    eth0   │  eth1           192.168.2.10     │
│                         │                                   │
│                         │                                   │
│                         │ eth2                              │
│                         └───→ [네트워크 C]                  │
│                               192.168.3.0/24                │
│                                                             │
└─────────────────────────────────────────────────────────────┘


PC-A → PC-B 통신 과정:

1. PC-A가 패킷 생성
   ─────────────────────────────────────────
   출발지 IP: 192.168.1.10
   목적지 IP: 192.168.2.10

2. PC-A가 목적지 확인
   ─────────────────────────────────────────
   192.168.2.10 AND 255.255.255.0 = 192.168.2.0
   → 다른 네트워크! 게이트웨이로 전송

3. 라우터 R1이 패킷 수신 (eth0)
   ─────────────────────────────────────────
   라우팅 테이블 확인:

   ┌──────────────────┬─────────────┬──────────────┐
   │  목적지 네트워크  │   다음 홉   │ 인터페이스   │
   ├──────────────────┼─────────────┼──────────────┤
   │ 192.168.1.0/24   │ 직접 연결   │ eth0         │
   │ 192.168.2.0/24   │ 직접 연결   │ eth1         │
   │ 192.168.3.0/24   │ 직접 연결   │ eth2         │
   └──────────────────┴─────────────┴──────────────┘

   목적지 192.168.2.10 → eth1 인터페이스로 전송

4. 라우터 R1이 패킷 전달 (eth1)
   ─────────────────────────────────────────
   eth1을 통해 네트워크 B로 전송

5. PC-B가 패킷 수신
   ─────────────────────────────────────────
   목적지 IP가 자신의 IP와 일치 → 수신 완료

5. 라우팅 테이블 (Routing Table)

라우팅 테이블 구조

┌─────────────────────────────────────────────────────────────┐
│                      라우팅 테이블                           │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  구성 요소:                                                 │
│  ─────────────────────────────────────────                  │
│  1. Destination (목적지 네트워크)                            │
│     • 패킷의 목적지 네트워크 주소                            │
│                                                             │
│  2. Netmask (서브넷 마스크)                                  │
│     • 목적지 네트워크의 서브넷 마스크                        │
│                                                             │
│  3. Gateway (게이트웨이/다음 홉)                             │
│     • 다음으로 보낼 라우터 주소                              │
│     • 직접 연결된 경우 0.0.0.0 또는 *                        │
│                                                             │
│  4. Interface (인터페이스)                                   │
│     • 패킷을 보낼 네트워크 인터페이스                        │
│                                                             │
│  5. Metric (메트릭)                                          │
│     • 경로 비용/우선순위                                     │
│     • 값이 작을수록 우선순위 높음                            │
│                                                             │
└─────────────────────────────────────────────────────────────┘

라우팅 테이블 예시

Windows 라우팅 테이블:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

> route print

IPv4 라우팅 테이블
┌─────────────────┬──────────────┬──────────────┬──────────┬────┐
│  네트워크 대상   │  네트마스크  │  게이트웨이  │ 인터페이스│메트릭│
├─────────────────┼──────────────┼──────────────┼──────────┼────┤
│    0.0.0.0      │   0.0.0.0    │ 192.168.1.1  │192.168.1.10│ 25 │ ← 기본 경로
├─────────────────┼──────────────┼──────────────┼──────────┼────┤
│  127.0.0.0      │ 255.0.0.0    │  On-link     │ 127.0.0.1│ 331│ ← 루프백
├─────────────────┼──────────────┼──────────────┼──────────┼────┤
│  192.168.1.0    │255.255.255.0 │  On-link     │192.168.1.10│281│ ← 로컬
├─────────────────┼──────────────┼──────────────┼──────────┼────┤
│  192.168.1.10   │255.255.255.255│ On-link     │192.168.1.10│281│ ← 자신
├─────────────────┼──────────────┼──────────────┼──────────┼────┤
│  192.168.1.255  │255.255.255.255│ On-link     │192.168.1.10│281│ ← 브로드캐스트
└─────────────────┴──────────────┴──────────────┴──────────┴────┘


각 항목 설명:

1. 0.0.0.0 / 0.0.0.0 (기본 경로, Default Route)
   ─────────────────────────────────────────
   • 모든 목적지에 대한 기본 경로
   • 라우팅 테이블에 없는 주소는 여기로 전송
   • 보통 인터넷으로 나가는 경로

2. 127.0.0.0 / 255.0.0.0 (루프백)
   ─────────────────────────────────────────
   • 자기 자신으로 가는 경로
   • localhost 테스트용

3. 192.168.1.0 / 255.255.255.0 (로컬 네트워크)
   ─────────────────────────────────────────
   • 직접 연결된 네트워크
   • On-link = 게이트웨이 없이 직접 전송

4. 192.168.1.10 / 255.255.255.255 (호스트 경로)
   ─────────────────────────────────────────
   • 자신의 IP 주소

5. 192.168.1.255 / 255.255.255.255 (브로드캐스트)
   ─────────────────────────────────────────
   • 네트워크 브로드캐스트 주소


Linux 라우팅 테이블:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

$ ip route show

default via 192.168.1.1 dev eth0 proto static metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10
192.168.2.0/24 via 192.168.1.254 dev eth0 proto static metric 20


해석:

1. default via 192.168.1.1
   • 기본 경로: 192.168.1.1로 전송
   • dev eth0: eth0 인터페이스 사용
   • metric 100: 우선순위 100

2. 192.168.1.0/24 dev eth0
   • 로컬 네트워크: 직접 연결
   • src 192.168.1.10: 출발지 IP

3. 192.168.2.0/24 via 192.168.1.254
   • 192.168.2.0 네트워크는 192.168.1.254로 전송
   • 정적 라우트 (수동 설정)

라우팅 테이블 매칭 과정

패킷 전송 시 라우팅 테이블 검색 순서:

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  1. 호스트 경로 (/32)                                        │
│     • 가장 구체적인 경로                                     │
│     • 예: 192.168.1.100/32                                  │
│                                                             │
│  2. 서브넷 경로 (/24, /26 등)                                │
│     • 서브넷 마스크가 긴 것부터 (Longest Prefix Match)       │
│     • 예: 192.168.1.0/24                                    │
│                                                             │
│  3. 기본 경로 (/0)                                           │
│     • 매칭되는 경로가 없을 때                                │
│     • 0.0.0.0/0                                             │
│                                                             │
└─────────────────────────────────────────────────────────────┘


예제: 192.168.1.50으로 패킷 전송

라우팅 테이블:
┌──────────────────┬──────────────┬──────────────┬─────────┐
│  목적지          │ 서브넷 마스크│  게이트웨이  │ 우선순위│
├──────────────────┼──────────────┼──────────────┼─────────┤
│ 192.168.1.50     │ /32          │ 10.0.0.1     │ 1순위   │ ← 선택!
│ 192.168.1.0      │ /24          │ 10.0.0.2     │ 2순위   │
│ 192.168.0.0      │ /16          │ 10.0.0.3     │ 3순위   │
│ 0.0.0.0          │ /0           │ 10.0.0.4     │ 4순위   │
└──────────────────┴──────────────┴──────────────┴─────────┘

매칭 과정:
1. 192.168.1.50/32 매칭 ✓ → 선택!
2. 나머지는 확인하지 않음

→ 10.0.0.1로 패킷 전송

6. 정적 라우팅 vs 동적 라우팅

라우팅 종류

┌─────────────────────────────────────────────────────────────┐
│                     라우팅 종류                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. 정적 라우팅 (Static Routing)                             │
│  ─────────────────────────────────────────                  │
│  • 관리자가 수동으로 경로 설정                               │
│  • 경로가 고정되어 변하지 않음                               │
│  • 소규모 네트워크에 적합                                    │
│                                                             │
│  장점:                                                      │
│  • 단순하고 예측 가능                                        │
│  • 라우터 부하 적음                                          │
│  • 보안성 높음                                               │
│                                                             │
│  단점:                                                      │
│  • 경로 변경 시 수동 수정 필요                               │
│  • 대규모 네트워크 관리 어려움                               │
│  • 장애 발생 시 자동 우회 불가                               │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  2. 동적 라우팅 (Dynamic Routing)                            │
│  ─────────────────────────────────────────                  │
│  • 라우팅 프로토콜이 자동으로 경로 설정                      │
│  • 네트워크 변화에 자동 대응                                 │
│  • 대규모 네트워크에 적합                                    │
│                                                             │
│  장점:                                                      │
│  • 자동 경로 갱신                                            │
│  • 장애 발생 시 자동 우회                                    │
│  • 대규모 네트워크 관리 용이                                 │
│                                                             │
│  단점:                                                      │
│  • 복잡한 설정                                               │
│  • 라우터 부하 증가                                          │
│  • 대역폭 사용 (경로 정보 교환)                              │
│                                                             │
└─────────────────────────────────────────────────────────────┘

정적 라우팅 설정 예시

정적 라우팅 설정:

네트워크 구성:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[네트워크 A]           [라우터 R1]          [네트워크 B]
192.168.1.0/24         .1.1    .2.1        192.168.2.0/24

    [PC-A]         ───→  [R1]  ───→           [PC-B]
  192.168.1.10              │              192.168.2.10
                            │
                         .3.1│
                            │
                     [네트워크 C]
                    192.168.3.0/24


라우터 R1의 정적 라우팅 설정:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Windows:
> route add 192.168.2.0 mask 255.255.255.0 192.168.1.254
> route add 192.168.3.0 mask 255.255.255.0 192.168.1.254 -p
  (-p: 영구적으로 저장)


Linux:
$ sudo ip route add 192.168.2.0/24 via 192.168.1.254 dev eth0
$ sudo ip route add 192.168.3.0/24 via 192.168.1.254 dev eth0

영구 저장 (Ubuntu):
$ sudo vi /etc/netplan/01-network-manager-all.yaml

network:
  version: 2
  ethernets:
    eth0:
      addresses: [192.168.1.10/24]
      gateway4: 192.168.1.1
      routes:
        - to: 192.168.2.0/24
          via: 192.168.1.254
        - to: 192.168.3.0/24
          via: 192.168.1.254


Cisco 라우터:
Router(config)# ip route 192.168.2.0 255.255.255.0 192.168.1.254
Router(config)# ip route 192.168.3.0 255.255.255.0 192.168.1.254


정적 라우팅 테이블 확인:

┌──────────────────┬──────────────┬──────────────┬──────────┐
│  목적지 네트워크  │ 서브넷 마스크│  게이트웨이  │   타입   │
├──────────────────┼──────────────┼──────────────┼──────────┤
│ 0.0.0.0          │ 0.0.0.0      │ 192.168.1.1  │ 기본경로 │
│ 192.168.1.0      │ 255.255.255.0│ On-link      │ 직접연결 │
│ 192.168.2.0      │ 255.255.255.0│ 192.168.1.254│ 정적경로 │ ← 추가됨
│ 192.168.3.0      │ 255.255.255.0│ 192.168.1.254│ 정적경로 │ ← 추가됨
└──────────────────┴──────────────┴──────────────┴──────────┘

7. 동적 라우팅 프로토콜

주요 라우팅 프로토콜

┌─────────────────────────────────────────────────────────────┐
│                  라우팅 프로토콜 분류                        │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. IGP (Interior Gateway Protocol) - 내부 게이트웨이        │
│  ─────────────────────────────────────────                  │
│  • 같은 자율 시스템(AS) 내부에서 사용                        │
│  • 기업/조직 내부 네트워크용                                 │
│                                                             │
│    Distance Vector 방식:                                    │
│    • RIP (Routing Information Protocol)                    │
│    • IGRP (Interior Gateway Routing Protocol)              │
│                                                             │
│    Link State 방식:                                         │
│    • OSPF (Open Shortest Path First)                       │
│    • IS-IS (Intermediate System to Intermediate System)   │
│                                                             │
│    하이브리드:                                               │
│    • EIGRP (Enhanced Interior Gateway Routing Protocol)    │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  2. EGP (Exterior Gateway Protocol) - 외부 게이트웨이        │
│  ─────────────────────────────────────────                  │
│  • 서로 다른 자율 시스템(AS) 간 사용                         │
│  • ISP 간 연결, 인터넷 백본용                                │
│                                                             │
│    Path Vector 방식:                                        │
│    • BGP (Border Gateway Protocol)                         │
│                                                             │
└─────────────────────────────────────────────────────────────┘

RIP (Routing Information Protocol)

┌─────────────────────────────────────────────────────────────┐
│                       RIP                                    │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  특징:                                                      │
│  ─────────────────────────────────────────                  │
│  • 가장 오래되고 단순한 라우팅 프로토콜                      │
│  • Distance Vector 방식                                     │
│  • 홉 카운트(Hop Count)를 메트릭으로 사용                    │
│  • 최대 15홉까지 지원 (16홉은 도달 불가)                     │
│  • 30초마다 라우팅 정보 브로드캐스트                         │
│                                                             │
│  버전:                                                      │
│  • RIPv1: 클래스풀, 브로드캐스트                             │
│  • RIPv2: 클래스리스, 멀티캐스트, VLSM 지원                  │
│  • RIPng: IPv6 지원                                         │
│                                                             │
│  장점:                                                      │
│  • 설정 간단                                                 │
│  • 소규모 네트워크에 적합                                    │
│                                                             │
│  단점:                                                      │
│  • 최대 15홉 제한                                            │
│  • 느린 수렴 속도                                            │
│  • 대역폭 고려 안 함                                         │
│                                                             │
└─────────────────────────────────────────────────────────────┘


RIP 동작 예시:

    [R1] ─── 1홉 ─── [R2] ─── 1홉 ─── [R3]
     │                                  │
  Net A                              Net B
  (0홉)                              (3홉)


R1의 라우팅 테이블:
┌──────────────┬──────┬───────────┐
│  네트워크    │ 홉수 │ 다음 홉   │
├──────────────┼──────┼───────────┤
│  Net A       │  0   │ 직접 연결 │
│  Net B       │  3   │ R2        │
└──────────────┴──────┴───────────┘


RIP 업데이트 메시지 (R1 → R2):
• Net A는 0홉
• Net B는 2홉 (R2에서 +1)

OSPF (Open Shortest Path First)

┌─────────────────────────────────────────────────────────────┐
│                      OSPF                                    │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  특징:                                                      │
│  ─────────────────────────────────────────────              │
│  • Link State 방식                                          │
│  • Dijkstra 알고리즘 사용 (최단 경로)                        │
│  • Cost를 메트릭으로 사용 (대역폭 기반)                      │
│  • 빠른 수렴 속도                                            │
│  • 계층적 구조 (Area 개념)                                   │
│  • VLSM, CIDR 지원                                          │
│                                                             │
│  메트릭 (Cost) 계산:                                         │
│  Cost = 100,000,000 / 대역폭(bps)                           │
│                                                             │
│  예:                                                        │
│  • 100Mbps (FastEthernet): Cost = 1                        │
│  • 10Mbps (Ethernet): Cost = 10                            │
│  • 1Gbps (GigabitEthernet): Cost = 1                       │
│                                                             │
│  장점:                                                      │
│  • 빠른 수렴                                                 │
│  • 무제한 홉                                                 │
│  • 대역폭 고려                                               │
│  • 루프 방지                                                 │
│                                                             │
│  단점:                                                      │
│  • 복잡한 설정                                               │
│  • 많은 메모리/CPU 사용                                      │
│                                                             │
└─────────────────────────────────────────────────────────────┘


OSPF 네트워크 구조:

         [Area 0 - Backbone]
               │
    ┌──────────┼──────────┐
    │          │          │
 [Area 1]  [Area 2]  [Area 3]
 (영업부)   (개발부)   (관리부)


OSPF 상태:
1. Down: 인접 라우터 찾기 시작
2. Init: Hello 패킷 수신
3. 2-Way: 양방향 통신 확인
4. ExStart: 마스터/슬레이브 결정
5. Exchange: 데이터베이스 정보 교환
6. Loading: 전체 정보 요청
7. Full: 완전한 인접 관계

BGP (Border Gateway Protocol)

┌─────────────────────────────────────────────────────────────┐
│                       BGP                                    │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  특징:                                                      │
│  ─────────────────────────────────────────                  │
│  • 인터넷의 핵심 라우팅 프로토콜                             │
│  • Path Vector 방식                                         │
│  • AS(자율 시스템) 간 라우팅                                 │
│  • TCP 포트 179 사용                                         │
│  • 정책 기반 라우팅                                          │
│                                                             │
│  용도:                                                      │
│  • ISP 간 연결                                               │
│  • 대기업 멀티호밍                                           │
│  • 인터넷 백본 라우팅                                        │
│                                                             │
│  메트릭:                                                    │
│  • AS Path (경유하는 AS 개수)                                │
│  • Local Preference                                         │
│  • MED (Multi-Exit Discriminator)                          │
│                                                             │
└─────────────────────────────────────────────────────────────┘


BGP 네트워크 예시:

    [AS 100]          [AS 200]          [AS 300]
   ISP A의 네트워크   ISP B의 네트워크   ISP C의 네트워크
        │                 │                  │
        └────── BGP ──────┴────── BGP ───────┘
                     인터넷


BGP 경로 선택:
1. 가장 높은 Local Preference
2. 가장 짧은 AS Path
3. Origin Type (IGP > EGP > Incomplete)
4. 가장 낮은 MED
5. eBGP > iBGP
6. 가장 낮은 IGP 메트릭

8. 라우팅 프로토콜 비교

전체 비교표

┌─────────────────────────────────────────────────────────────┐
│                라우팅 프로토콜 상세 비교                      │
├─────────┬──────┬──────┬──────┬──────┬──────┬──────────────┤
│  항목   │ RIP  │ OSPF │EIGRP │ IS-IS│ BGP  │     비고     │
├─────────┼──────┼──────┼──────┼──────┼──────┼──────────────┤
│  타입   │ DV   │ LS   │하이브│ LS   │ PV   │ DV/LS/PV     │
├─────────┼──────┼──────┼──────┼──────┼──────┼──────────────┤
│ 메트릭  │ 홉수 │ Cost │복합  │ Cost │ Path │              │
├─────────┼──────┼──────┼──────┼──────┼──────┼──────────────┤
│ 최대홉  │ 15   │ 무제한│ 255  │무제한│무제한│              │
├─────────┼──────┼──────┼──────┼──────┼──────┼──────────────┤
│수렴속도 │ 느림 │ 빠름 │ 빠름 │ 빠름 │느림  │              │
├─────────┼──────┼──────┼──────┼──────┼──────┼──────────────┤
│ 표준    │ 표준 │ 표준 │Cisco │ 표준 │ 표준 │              │
├─────────┼──────┼──────┼──────┼──────┼──────┼──────────────┤
│ VLSM    │ v2만 │ 지원 │ 지원 │ 지원 │ 지원 │              │
├─────────┼──────┼──────┼──────┼──────┼──────┼──────────────┤
│복잡도   │ 낮음 │ 중간 │ 중간 │ 높음 │ 높음 │              │
├─────────┼──────┼──────┼──────┼──────┼──────┼──────────────┤
│ 용도    │소규모│중대규│중대규│대규모│ ISP간│              │
│         │      │모    │모    │      │      │              │
└─────────┴──────┴──────┴──────┴──────┴──────┴──────────────┘

약어:
• DV: Distance Vector (거리 벡터)
• LS: Link State (링크 상태)
• PV: Path Vector (경로 벡터)

프로토콜 선택 가이드

네트워크 규모별 권장 프로토콜:

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  소규모 네트워크 (라우터 10대 이하)                          │
│  ─────────────────────────────────────────                  │
│  • 정적 라우팅 또는 RIPv2                                    │
│  • 설정 간단, 관리 용이                                      │
│  • 예: 소규모 지사, 가정용 네트워크                          │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  중규모 네트워크 (라우터 10~100대)                           │
│  ─────────────────────────────────────────                  │
│  • OSPF 또는 EIGRP                                          │
│  • 빠른 수렴, 확장성                                         │
│  • 예: 중소기업, 캠퍼스 네트워크                             │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  대규모 네트워크 (라우터 100대 이상)                         │
│  ─────────────────────────────────────────                  │
│  • OSPF (계층적 구조)                                        │
│  • IS-IS (매우 큰 네트워크)                                  │
│  • 예: 대기업, 통신사 백본                                   │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  인터넷 연결                                                 │
│  ─────────────────────────────────────────                  │
│  • BGP                                                      │
│  • ISP 간 라우팅                                             │
│  • 예: ISP, 멀티호밍 기업                                    │
│                                                             │
└─────────────────────────────────────────────────────────────┘

9. 실무 활용 사례

기업 네트워크 라우팅 설계

중견기업 네트워크 라우팅 구조:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌─────────────────────────────────────────────────────────────┐
│                         본사                                 │
│                  (OSPF Area 0 - Backbone)                   │
│                                                             │
│  ┌───────────────┐        ┌───────────────┐                │
│  │  코어 라우터  │        │  코어 라우터  │                │
│  │     R1        │────────│     R2        │                │
│  └───┬───────────┘        └───────────┬───┘                │
│      │                                │                     │
│      │                                │                     │
│  ┌───┴───────┐                    ┌───┴───────┐            │
│  │ 레이어3   │                    │ 레이어3   │            │
│  │ 스위치    │                    │ 스위치    │            │
│  └───────────┘                    └───────────┘            │
│                                                             │
└─────────────────────────────────────────────────────────────┘
        │                                    │
        │                                    │
  ┌─────┴────────┐                    ┌─────┴────────┐
  │   지사 1     │                    │   지사 2     │
  │ (OSPF Area 1)│                    │ (OSPF Area 2)│
  │              │                    │              │
  │  10.1.0.0/16 │                    │  10.2.0.0/16 │
  └──────────────┘                    └──────────────┘
        │
        │ (BGP)
        │
  ┌─────┴────────┐
  │   ISP A      │
  │  (AS 1000)   │
  └──────────────┘


라우팅 프로토콜 사용:

1. 본사 내부: OSPF Area 0
   ─────────────────────────────────────────
   • 코어 라우터 간 라우팅
   • 백본 역할
   • 빠른 수렴 필요

2. 지사: OSPF Area 1, 2
   ─────────────────────────────────────────
   • 지사별 독립적인 Area
   • Area Border Router(ABR)로 본사 연결
   • 라우팅 정보 요약

3. 인터넷 연결: BGP
   ─────────────────────────────────────────
   • 여러 ISP와 연결 (멀티호밍)
   • 장애 시 자동 우회
   • 로드 밸런싱


라우팅 테이블 (본사 코어 라우터):

┌──────────────────┬──────────────┬──────────────┬──────────┐
│  목적지 네트워크  │   프로토콜   │  다음 홉     │ 메트릭   │
├──────────────────┼──────────────┼──────────────┼──────────┤
│ 0.0.0.0/0        │ BGP          │ ISP A        │    100   │
│ 10.0.0.0/16      │ Connected    │ 직접 연결    │      0   │
│ 10.1.0.0/16      │ OSPF         │ 10.0.0.254   │     20   │
│ 10.2.0.0/16      │ OSPF         │ 10.0.0.253   │     20   │
│ 192.168.0.0/16   │ OSPF Summary │ Internal     │     10   │
└──────────────────┴──────────────┴──────────────┴──────────┘

트러블슈팅 예시

문제: PC-A에서 PC-B로 ping이 안 됨

네트워크 구성:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[PC-A]          [R1]          [R2]          [PC-B]
192.168.1.10 → .1.1  .2.1 → .2.2  .3.1 → 192.168.3.10
              Net A   Net B   Net B   Net C


진단 단계:

1. PC-A에서 기본 게이트웨이 ping
   ─────────────────────────────────────────
   $ ping 192.168.1.1

   ✓ 성공 → 로컬 네트워크 정상
   ✗ 실패 → 로컬 네트워크 문제


2. 라우팅 테이블 확인
   ─────────────────────────────────────────
   $ route print (Windows)
   $ ip route show (Linux)

   기본 게이트웨이가 올바른지 확인


3. R1에서 R2로 ping
   ─────────────────────────────────────────
   $ ping 192.168.2.2

   ✓ 성공 → 라우터 간 연결 정상
   ✗ 실패 → 링크 문제


4. R1의 라우팅 테이블 확인
   ─────────────────────────────────────────
   R1# show ip route

   192.168.3.0/24 경로가 있는지 확인

   ✓ 있음 → 다음 단계
   ✗ 없음 → 라우팅 설정 추가 필요


5. traceroute로 경로 추적
   ─────────────────────────────────────────
   $ traceroute 192.168.3.10

   1  192.168.1.1      1ms    ← R1
   2  192.168.2.2      5ms    ← R2
   3  * * *                   ← 여기서 멈춤!

   → R2에서 192.168.3.0 경로 없음


해결: R2에 정적 라우트 추가
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

R2(config)# ip route 192.168.3.0 255.255.255.0 192.168.3.1

또는 OSPF로 자동 학습 설정

핵심 정리

개념설명
라우터서로 다른 네트워크를 연결하는 3계층 장비
라우팅최적의 경로로 패킷을 전달하는 과정
기본 게이트웨이다른 네트워크로 나가기 위한 출구 (라우터 주소)
라우팅 테이블경로 정보가 저장된 테이블
정적 라우팅관리자가 수동으로 경로 설정
동적 라우팅라우팅 프로토콜이 자동으로 경로 설정
RIPDistance Vector, 홉 수 기반, 소규모 네트워크
OSPFLink State, Cost 기반, 중대규모 네트워크
BGPPath Vector, AS 간 라우팅, 인터넷 백본

라우팅 요약

┌─────────────────────────────────────────────────────────────┐
│                    라우팅 핵심 개념                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. 라우터의 역할                                            │
│     • 서로 다른 네트워크 연결                                │
│     • 브로드캐스트 도메인 분리                               │
│     • 최적 경로 선택                                         │
│                                                             │
│  2. 기본 게이트웨이                                          │
│     • 다른 네트워크로 가는 출구                              │
│     • 보통 라우터의 IP 주소                                  │
│     • 설정 필수!                                             │
│                                                             │
│  3. 라우팅 테이블 검색                                       │
│     • Longest Prefix Match                                 │
│     • 호스트 경로 → 서브넷 경로 → 기본 경로                  │
│                                                             │
│  4. 프로토콜 선택                                            │
│     • 소규모: 정적 라우팅, RIP                               │
│     • 중대규모: OSPF, EIGRP                                 │
│     • ISP: BGP                                              │
│                                                             │
└─────────────────────────────────────────────────────────────┘


라우팅 문제 해결 순서:

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  1. 로컬 네트워크 확인                                       │
│     • ping 게이트웨이                                        │
│     • ipconfig / ip addr                                    │
│                                                             │
│  2. 라우팅 테이블 확인                                       │
│     • route print / ip route show                           │
│     • 기본 게이트웨이 설정 확인                              │
│                                                             │
│  3. 경로 추적                                                │
│     • traceroute / tracert                                  │
│     • 어디서 막히는지 확인                                   │
│                                                             │
│  4. 라우터 설정 확인                                         │
│     • 라우팅 테이블                                          │
│     • 인터페이스 상태                                        │
│     • 라우팅 프로토콜 동작 상태                              │
│                                                             │
└─────────────────────────────────────────────────────────────┘

주요 명령어 정리

Windows:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

> ipconfig                    네트워크 설정 확인
> route print                  라우팅 테이블 확인
> route add [dest] mask [mask] [gateway]    정적 라우트 추가
> tracert [destination]        경로 추적
> ping [destination]           연결 테스트


Linux:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

$ ip addr show                 네트워크 설정 확인
$ ip route show                라우팅 테이블 확인
$ ip route add [dest] via [gateway]    정적 라우트 추가
$ traceroute [destination]     경로 추적
$ ping [destination]           연결 테스트


Cisco:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Router# show ip interface brief    인터페이스 확인
Router# show ip route               라우팅 테이블 확인
Router# show ip protocols           라우팅 프로토콜 확인
Router# show ip ospf neighbor       OSPF 인접 라우터 확인
Router# ping [destination]          연결 테스트
Router# traceroute [destination]    경로 추적

용어 정리

  • 라우터 (Router): 서로 다른 네트워크를 연결하는 3계층(네트워크 계층) 장비
  • 라우팅 (Routing): 최적의 경로를 선택하여 패킷을 전달하는 과정
  • 기본 게이트웨이 (Default Gateway): 다른 네트워크로 나가기 위한 기본 경로 (라우터의 IP 주소)
  • 라우팅 테이블 (Routing Table): 목적지 네트워크와 경로 정보가 저장된 테이블
  • 홉 (Hop): 패킷이 목적지까지 가는 동안 거치는 라우터의 수
  • 메트릭 (Metric): 경로의 비용 또는 우선순위를 나타내는 값
  • 다음 홉 (Next Hop): 패킷을 전달할 다음 라우터
  • 정적 라우팅 (Static Routing): 관리자가 수동으로 경로를 설정하는 방식
  • 동적 라우팅 (Dynamic Routing): 라우팅 프로토콜이 자동으로 경로를 학습하고 설정하는 방식
  • AS (Autonomous System): 단일 관리 주체가 관리하는 네트워크 집합
  • IGP (Interior Gateway Protocol): AS 내부에서 사용하는 라우팅 프로토콜
  • EGP (Exterior Gateway Protocol): AS 간에 사용하는 라우팅 프로토콜