라우터의 구조와 라우팅
라우터의 구조와 라우팅
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계층 장비 |
| 라우팅 | 최적의 경로로 패킷을 전달하는 과정 |
| 기본 게이트웨이 | 다른 네트워크로 나가기 위한 출구 (라우터 주소) |
| 라우팅 테이블 | 경로 정보가 저장된 테이블 |
| 정적 라우팅 | 관리자가 수동으로 경로 설정 |
| 동적 라우팅 | 라우팅 프로토콜이 자동으로 경로 설정 |
| RIP | Distance Vector, 홉 수 기반, 소규모 네트워크 |
| OSPF | Link State, Cost 기반, 중대규모 네트워크 |
| BGP | Path 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 간에 사용하는 라우팅 프로토콜