Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🌐 IP 주소와 MAC 주소

1️⃣ 왜 주소가 필요한가?

  • 네트워크에서 장치들이 서로 대화하려면 “누구에게 보내야 하는지” 를 알아야 함

  • 현실 비유

    • IP 주소 = 집 주소 (어느 동네, 어느 집)
    • MAC 주소 = 주민등록번호 (그 집 안의 특정 사람)

2️⃣ IP 주소 (논리적 주소)

  • 네트워크에서 장치를 구분하는 위치 정보
  • IPv4 : 32비트, 192.168.0.10 같은 형태 (현재 대부분 사용)
  • IPv6 : 128비트, 주소 부족 문제 해결용 (아직 IPv4 중심)

3️⃣ MAC 주소 (물리적 주소)

  • 네트워크 카드(NIC)에 새겨진 고유 식별 번호
  • 48비트, 16진수 6쌍 (예: 00:1A:2B:3C:4D:5E)
  • 전 세계적으로 유일, 바뀌지 않음

4️⃣ IP와 MAC의 관계

  • IP 주소는 네트워크에서 “누구에게 보낼지” 를 정함
  • 하지만 실제 데이터 전송은 MAC 주소로 이루어짐
  • 즉, IP = 논리적 목적지 / MAC = 실제 수신자

5️⃣ ARP(Address Resolution Protocol)

IP와 MAC을 이어주는 다리 역할

  • 상황: PC1이 192.168.0.20에 데이터 보내고 싶음
  1. PC1: “192.168.0.20의 MAC 주소 누구야?” (ARP 요청, 브로드캐스트)
  2. PC2: “그건 나야, MAC은 BB:BB:BB” (ARP 응답)
  3. PC1 → PC2: 실제 데이터 전송 (목적지 MAC = BB:BB:BB)

6️⃣ 시각적 흐름 (ARP 예시)

sequenceDiagram
    participant PC1 as PC1 (IP 192.168.0.10, MAC AA:AA)
    participant PC2 as PC2 (IP 192.168.0.20, MAC BB:BB)
    participant SW as 스위치

    PC1->>SW: ARP 요청 (192.168.0.20 누구야?)
    SW->>PC2: 브로드캐스트 전달
    PC2->>SW: 응답 (내 MAC=BB:BB)
    SW->>PC1: 응답 전달
    PC1->>PC2: 실제 데이터 전송 (목적지 MAC=BB:BB)

✅ 요약

  • IP 주소 = 집 주소 (논리적 위치)
  • MAC 주소 = 주민등록번호 (고유 식별자)
  • 데이터 통신은 IP로 목적지를 찾고, MAC으로 최종 전달
  • ARP = IP 주소를 MAC 주소로 변환해주는 중간 과정

🌐 IP 주소와 MAC 주소

1️⃣ IP 주소 (논리 주소)

  • 네트워크 상에서 장치를 구분하기 위한 논리적인 주소
  • 사람이 읽고 관리하기 쉽도록 숫자로 표현 (예: 192.168.0.10)
  • 네트워크 관리자나 DHCP 서버가 변경 가능
  • 같은 네트워크 대역 안에서만 직접 통신 가능

👉 집 주소와 비슷 (동네와 번지가 있어서 위치를 알 수 있음)


2️⃣ MAC 주소 (물리 주소)

  • 네트워크 카드(NIC) 에 새겨진 고유 식별자 (제조 시 하드웨어에 할당)

  • 48비트(6바이트)로 구성, 16진수로 표현

    • 예: 00:1A:2B:3C:4D:5E
  • 전 세계에서 중복되지 않음 (제조사 코드 + 일련번호)

  • 하드웨어 수준에서 실제 통신 시 사용

👉 사람의 주민등록번호와 비슷 (바뀌지 않는 유일한 값)


3️⃣ IP ↔ MAC 관계 (ARP 프로토콜)

  • 같은 네트워크 안에서 IP만 알면 바로 통신할 수 없음
  • 실제 데이터는 MAC 주소로 전송됨
  • 그래서 장치는 ARP(Address Resolution Protocol) 으로 “이 IP를 가진 장치의 MAC 주소가 뭐지?” 하고 물어봄

예:

  1. PC1이 192.168.0.20에 데이터를 보내려 함
  2. PC1이 네트워크에 ARP 요청: “192.168.0.20 가진 MAC 주소 알려줘”
  3. 해당 PC가 MAC 주소 응답: 00:1A:2B:3C:4D:5E
  4. 실제 데이터는 MAC 주소를 목적지로 해서 전송

4️⃣ 그림으로 표현

sequenceDiagram
    participant PC1 as PC1 (192.168.0.10, MAC AA:AA)
    participant PC2 as PC2 (192.168.0.20, MAC BB:BB)
    participant SW as 스위치

    PC1->>SW: ARP 요청 (192.168.0.20 누구야?)
    SW->>PC2: 브로드캐스트 전달
    PC2->>SW: 나는 192.168.0.20, MAC=BB:BB
    SW->>PC1: 응답 전달
    PC1->>PC2: 실제 데이터 전송 (목적지 MAC=BB:BB)

🌐 IP 주소의 구조

1️⃣ IP 주소의 구성

IPv4 주소(32비트)는 두 부분으로 나뉩니다:

  • 네트워크 주소(Network Part) : 네트워크 자체를 구분
  • 호스트 주소(Host Part) : 네트워크 안에서 개별 장치 구분

예: 192.168.10.15 (서브넷 마스크 255.255.255.0 = /24)

  • 네트워크 주소 = 192.168.10
  • 호스트 주소 = 15

2️⃣ 호스트 수 계산

호스트 영역이 n비트라면: 👉 사용 가능한 호스트 수 = 2^n - 2

  • -2 이유:

    • 전부 0 = 네트워크 주소 (예약됨)
    • 전부 1 = 브로드캐스트 주소 (예약됨)

예: /24 → 호스트 영역 8비트 → 2^8 - 2 = 254대 사용 가능


3️⃣ 클래스풀(Classful) 주소 체계

과거에는 주소를 크게 A/B/C 클래스로 나눠 사용했습니다.

클래스시작 비트첫 옥텟 범위네트워크/호스트 구분호스트 수
A0xxx0 ~ 127네트워크(8) + 호스트(24)약 1,600만
B10xx128 ~ 191네트워크(16) + 호스트(16)약 6만 5천
C110x192 ~ 223네트워크(24) + 호스트(8)약 254

4️⃣ 클래스가 생긴 이유

  • 호스트 수가 너무 크면 → 주소 낭비
  • 호스트 수가 너무 작으면 → 주소 부족
  • 그래서 필요에 따라 A/B/C 클래스를 정해 할당

5️⃣ 특별히 사용할 수 없는 주소

  • 호스트 부분 = 0 → 네트워크 자체 주소
  • 호스트 부분 = 1 → 브로드캐스트 주소

예: 192.168.10.0/24

  • 192.168.10.0 = 네트워크 주소
  • 192.168.10.255 = 브로드캐스트 주소
  • 사용 가능: 192.168.10.1 ~ 192.168.10.254

6️⃣ 한계와 CIDR

  • 클래스 방식은 단순했지만,

    • 예: 200대 필요한데 C 클래스(254개) → 애매하게 낭비
    • 예: 3000대 필요한데 B 클래스(65,534개) → 심각한 낭비
  • 결국 주소 낭비 문제는 여전히 존재

👉 그래서 요즘은 CIDR(Classless Inter-Domain Routing) 방식을 사용

  • /n (비트 수)로 네트워크 크기를 유연하게 나눔
  • 예: /26 = 호스트 62대, /28 = 호스트 14대

📘 서브넷 마스크와 CIDR 이해하기

1️⃣ 서브넷 마스크란?

  • IP 주소는 네트워크 부분 + 호스트 부분으로 나눔

  • 구분 기준은 서브넷 마스크

    • 네트워크 부분 = 1
    • 호스트 부분 = 0

예)

  • IP: 192.168.10.15
  • 서브넷 마스크: 255.255.255.0 (/24)
    👉 앞 24비트는 네트워크, 뒤 8비트는 호스트

2️⃣ 클래스별 기본 서브넷 마스크

클래스예시 IP기본 서브넷 마스크네트워크/호스트 비트호스트 수
A10.0.0.1255.0.0.0 (/8)8 / 24약 1,600만
B172.16.0.1255.255.0.0 (/16)16 / 16약 65,534
C192.168.1.1255.255.255.0 (/24)24 / 8약 254

⚠️ 규칙:

  • 호스트 부분이 전부 0 → 네트워크 주소 (사용 불가)
  • 호스트 부분이 전부 1 → 브로드캐스트 주소 (사용 불가)
  • 실제 사용 가능한 호스트 수 = 2^호스트비트 - 2

3️⃣ CIDR 표기법 (현대 방식)

  • 형식: IP주소/숫자
  • /숫자 = 서브넷 마스크에서 1의 개수

예시:

  • 192.168.10.0/24 → 255.255.255.0
  • 192.168.10.0/26 → 255.255.255.192 (62대 사용 가능)

4️⃣ 실습 예제

📌 192.168.0.2/25

  • 서브넷 마스크: 255.255.255.128
  • 네트워크 비트 = 25 → 호스트 비트 = 7
  • 가능한 호스트 수 = 2^7 - 2 = 126
구분
네트워크 주소192.168.0.0
브로드캐스트 주소192.168.0.127
할당 가능한 호스트192.168.0.1 ~ 192.168.0.126

👉 즉, 192.168.0.2/25192.168.0.0 ~ 192.168.0.127 네트워크 안에 있는 주소이고,
실제로는 126개의 호스트가 사용 가능해요.

📘 정적 IP, 동적 IP, DHCP, 그리고 NAT

1️⃣ 정적 IP (Static IP)

  • 관리자가 직접 지정한 고정된 주소

  • 항상 변하지 않음

  • 사용 예시:

    • 회사 서버 (웹서버, DB 서버)
    • 네트워크 프린터 (모든 직원이 같은 주소로 접근해야 함)
    • 라우터/스위치 같은 장비 관리

👉 장점: 변하지 않아서 접속하기 쉬움
👉 단점: 사람이 직접 설정해야 하고, 많아지면 관리 힘듦


2️⃣ 동적 IP (Dynamic IP)

  • 네트워크에 연결할 때 자동으로 주소를 받는 방식
  • 보통 DHCP 서버가 알아서 배분해줌

👉 장점: 편리, 자동 관리, 충돌 없음
👉 단점: 시간이 지나면 주소가 바뀔 수 있음 → 서버용으로는 부적합


3️⃣ DHCP (Dynamic Host Configuration Protocol)

  • IP 주소를 자동으로 배분하는 기능
  • 네트워크에 연결된 PC, 노트북, 스마트폰이 “주소 주세요!” 하면 → DHCP 서버가 IP, 게이트웨이, DNS까지 세트로 줌

DHCP 서버는 누구?

  • 작은 네트워크(집, 소규모 회사) → 보통 라우터(공유기)가 DHCP 서버 역할을 함
  • 큰 회사 → 별도의 DHCP 서버(Windows Server, Linux DHCP)에서 관리

4️⃣ NAT (Network Address Translation)

  • 사설 IP ↔ 공인 IP 변환 기술
  • 내부 PC는 보통 사설 IP(192.168.x.x)를 쓰고, 인터넷은 공인 IP가 필요함
  • 라우터(NAT)가 중간에서 변환해줌

👉 예시:

  • 내부 PC1: 192.168.0.10
  • 내부 PC2: 192.168.0.11
  • 라우터의 공인 IP: 203.0.113.25

PC1, PC2가 인터넷에 접속할 때 → NAT을 거쳐 모두 203.0.113.25로 나감


5️⃣ 전체 흐름 예시

📌 PC가 처음 네트워크에 연결해서 인터넷에 접속하는 과정

  1. PC → “IP 주소 주세요!” (DHCP Discover)
  2. 라우터(DHCP 서버) → “너 192.168.0.10 써” (DHCP Offer/ACK)
  3. PC는 IP 주소를 받고 내부 네트워크에 합류
  4. PC가 구글(8.8.8.8)에 접속하려고 함
  5. 라우터(NAT)가 192.168.0.10203.0.113.25로 변환해서 인터넷으로 보냄
  6. 구글이 응답할 때도 NAT이 다시 변환해서 PC에게 돌려줌

6️⃣ 그림으로 이해하기

graph TD
    I[인터넷 공인 IP: 203.0.113.25] <--NAT--> R[라우터: NAT + DHCP]
    R --DHCP--> PC1[PC1: 192.168.0.10 동적 할당]
    R --DHCP--> PC2[PC2: 192.168.0.11 동적 할당]
    R --> P1[프린터: 192.168.0.200 정적 IP]
    R --> S1[사내 서버: 192.168.0.100 정적 IP]
  • DHCP: 내부 장치에 주소를 자동으로 배분
  • NAT: 공인 IP 하나로 내부 장치 여러 대를 인터넷에 연결

🌐 공인 IP와 사설 IP, 그리고 NAT

1️⃣ 공인 IP (Public IP)

  • 인터넷에서 직접 사용되는 주소

  • 전 세계에서 유일해야 함 (중복 불가)

  • ISP(통신사)가 고객에게 할당

  • 예: 203.0.113.25, 8.8.8.8 (구글 DNS)

  • 특징:

    • 인터넷 어디서나 접근 가능
    • 주소 개수가 한정되어 있음 (IPv4 부족 문제 발생)

2️⃣ 사설 IP (Private IP)

  • 회사나 가정 내부 네트워크에서만 사용
  • 외부 인터넷에서는 직접 사용 불가
  • 누구나 자유롭게 쓸 수 있음 (중복 가능)

사설 IP 대역 (RFC1918 규정):

  • 10.0.0.0 ~ 10.255.255.255 (/8)
  • 172.16.0.0 ~ 172.31.255.255 (/12)
  • 192.168.0.0 ~ 192.168.255.255 (/16)

예: 192.168.0.10, 10.1.1.5

👉 그래서 집에서 쓰는 공유기 IP는 보통 192.168.x.x


3️⃣ 왜 공인/사설로 나눴을까?

  • 인터넷에 연결된 모든 장치에 공인 IP를 주기에는 IPv4 주소가 부족
  • 그래서 내부망은 사설 IP를 쓰고,
  • 외부와 연결할 때만 공인 IP 하나(or 소수)를 사용

4️⃣ NAT (Network Address Translation)

NAT = 사설 IP ↔ 공인 IP 변환 기술

  • 라우터(공유기, pfSense)가 수행

  • 내부 장치가 인터넷에 나갈 때:

    • 사설 IP(192.168.0.10) → 라우터가 가진 공인 IP(203.0.113.25)로 변환
  • 외부 서버가 응답할 때:

    • 공인 IP로 들어온 데이터 → 내부의 올바른 사설 IP로 전달

5️⃣ NAT의 종류

  • SNAT (Source NAT)

    • 내부 → 외부로 나갈 때 출발지 주소를 공인 IP로 바꿔줌 (일반적인 인터넷 사용)
  • DNAT (Destination NAT)

    • 외부 → 내부로 들어올 때 목적지 주소를 사설 IP로 변환 (포트포워딩)
    • 예: 회사 내부 웹서버를 외부에서 접속 가능하게 만들 때 사용

6️⃣ 예시 (가정/회사 네트워크)

graph TD
    PC1[PC1 192.168.0.10] --> R1[라우터 NAT 공인 IP: 203.0.113.25]
    PC2[PC2 192.168.0.11] --> R1
    R1 --> I[인터넷 예: Google 8.8.8.8]
  • 내부 PC1, PC2는 사설 IP만 가짐
  • 라우터는 인터넷과 연결된 공인 IP 하나만 가짐
  • NAT 덕분에 PC1, PC2 모두 인터넷에 접속 가능

✅ 요약

  • 공인 IP: 인터넷에서 직접 통신 가능한 유일한 주소

  • 사설 IP: 내부 전용 주소 (외부에서는 직접 통신 불가)

  • NAT: 사설 IP ↔ 공인 IP 변환 기술

    • 내부 장치 여러 대가 공인 IP 하나를 공유해 인터넷 사용 가능
    • 포트포워딩(DNAT)으로 외부에서 내부 서버 접속 가능

📘 특수한 목적을 위해 예약된 IP 주소

인터넷에서 모든 IP를 마음대로 쓸 수 있는 건 아닙니다.
몇몇 IP 주소들은 특별한 의미를 가지고 있어서, 일반 장치에 할당하지 않고 정해진 용도로만 사용합니다.
이걸 예약된 IP 주소라고 합니다.


1️⃣ 사설 네트워크 주소 (Private IP)

  • 내부 네트워크(LAN) 전용
  • 인터넷에서는 직접 사용 불가 → NAT을 거쳐야 외부와 통신 가능
범위설명사용 예
10.0.0.0 ~ 10.255.255.255 (/8)대규모 네트워크대기업 사내망
172.16.0.0 ~ 172.31.255.255 (/12)중간 규모연구소, 학교
192.168.0.0 ~ 192.168.255.255 (/16)소규모가정, 소규모 사무실

👉 집 공유기에서 흔히 쓰는 192.168.x.x 대역이 바로 이거예요.


2️⃣ 네트워크 주소

  • 호스트 비트가 전부 0
  • 네트워크 자체를 의미
  • 예: 192.168.0.0/24 → 네트워크 주소는 192.168.0.0

3️⃣ 브로드캐스트 주소

  • 호스트 비트가 전부 1
  • 같은 네트워크의 모든 장치에 동시에 전송할 때 사용
  • 예: 192.168.0.255

4️⃣ 루프백 주소

  • 자기 자신을 의미
  • 범위: 127.0.0.0/8
  • 보통 127.0.0.1 사용 → 내 컴퓨터 자신을 가리킴
  • 테스트용: ping 127.0.0.1

5️⃣ APIPA (자동 사설 IP)

  • DHCP 서버가 없을 때 자동으로 할당
  • 범위: 169.254.0.0/16
  • 인터넷 불가, 같은 네트워크 장치끼리만 제한적 통신 가능

6️⃣ 멀티캐스트 주소

  • 여러 장치에 동시에 데이터를 전송할 때 사용
  • 범위: 224.0.0.0 ~ 239.255.255.255
  • IPTV, 화상회의, 스트리밍에 활용

7️⃣ 도큐멘테이션 주소

  • 문서, 예제용으로만 사용하도록 예약

  • 실제 네트워크에서는 사용 불가

  • 예:

    • 192.0.2.0/24
    • 198.51.100.0/24
    • 203.0.113.0/24

8️⃣ 0.0.0.0 관련 주소

  • 0.0.0.0/8

    • 범위: 0.0.0.0 ~ 0.255.255.255
    • 특별한 상황에서만 사용 (예: 아직 자기 IP를 모를 때 출발지 주소로 사용)
  • 0.0.0.0/0

    • “모든 IP 주소”를 의미
    • 라우팅 테이블에서 디폴트 라우트로 쓰임
    • 즉, “목적지를 모르겠으면 이쪽(게이트웨이)으로 보내라”는 규칙

✅ 요약 표

구분범위/예시의미/용도장치에 할당 가능
사설 IP10.x.x.x, 172.16~31.x.x, 192.168.x.x내부망 전용❌ (인터넷 직접 불가)
네트워크 주소예: 192.168.0.0 (/24)네트워크 자체
브로드캐스트 주소예: 192.168.0.255 (/24)모든 장치에 전송
루프백127.0.0.0/8 (보통 127.0.0.1)자기 자신
APIPA169.254.0.0/16DHCP 실패 시 자동 할당
멀티캐스트224.0.0.0 ~ 239.255.255.255그룹 통신
도큐멘테이션192.0.2.0/24 등문서/예시
0.0.0.0/80.0.0.0 ~ 0.255.255.255특별 용도(출발지 없음 등)
0.0.0.0/0모든 IP 주소디폴트 라우트

📘 허브(Hub)

1️⃣ 허브란?

  • 네트워크 장비의 가장 기본 형태
  • 여러 PC를 단순히 전기적으로 연결 → 모든 포트에 신호를 똑같이 전달
  • 네트워크의 멀티탭 같은 역할

👉 예: 내가 보낸 데이터가 모든 포트로 퍼짐
→ 내 PC가 보낸 데이터가 프린터, 다른 PC 등 모든 장치에게 다 전달됨
→ 목적지가 아닌 장치는 그냥 무시


2️⃣ 허브의 문제점

  1. 네트워크 효율 저하

    • 모든 장치가 동시에 데이터를 보내면 충돌(Collision) 발생
    • 충돌이 많아질수록 속도가 급격히 느려짐
  2. 반이중(Half-Duplex)만 지원

    • 동시에 송신과 수신이 불가능
    • 예: 내가 말할 때는 듣지 못하고, 듣고 있을 때는 말할 수 없음
  3. 보안 문제

    • 데이터가 모든 포트로 전달되므로 스니핑(도청) 가능

3️⃣ CSMA/CD (Carrier Sense Multiple Access with Collision Detection)

허브 시절 충돌 문제를 해결하기 위해 나온 방식

  • Carrier Sense: 전송하기 전에 네트워크가 사용 중인지 확인
  • Multiple Access: 여러 장치가 네트워크를 공유
  • Collision Detection: 동시에 전송하면 충돌 발생 → 충돌 감지 후 일정 시간 랜덤 대기 → 재전송

👉 마치 여러 사람이 동시에 말하려다 부딪히면 “아, 겹쳤네” 하고 서로 잠깐 기다린 뒤 다시 말하는 것과 같음


4️⃣ 스위치의 등장

  • 스위치는 허브의 단점을 보완한 장비
  • 데이터를 목적지 포트에만 전달 (MAC 주소 기반)
  • 전이중(Full-Duplex) 통신 지원 → 동시에 송신과 수신 가능
  • 충돌이 사라지고 속도가 빨라짐
  • 현재는 허브 대신 대부분 스위치를 사용

5️⃣ 그림으로 비교

flowchart TD
    subgraph HUB[허브]
    A1[PC A] --> H[Hub]
    B1[PC B] --> H
    C1[PC C] --> H
    H --> A1
    H --> B1
    H --> C1
    end

    subgraph SW[스위치]
    A2[PC A] <--> S[Switch]
    B2[PC B] <--> S
    C2[PC C] <--> S
    end
  • 허브: 모든 데이터가 모든 장치로 퍼짐
  • 스위치: 목적지 장치에만 전달

📘 스위치(Switch)와 VLAN

1️⃣ 스위치란?

  • 흔히 말하는 “스위치”는 보통 L2 스위치(데이터링크 계층)
  • 허브와 달리, 목적지 장치에게만 데이터 전달
  • 전이중(Full-Duplex) 통신 지원 → 동시에 송수신 가능
  • 이 때문에 CSMA/CD 프로토콜이 필요 없음 (충돌 없음)

👉 허브와의 차이:

  • 허브 = 멀티탭, 무조건 전체 방송
  • 스위치 = 똑똑한 우체국, 목적지만 골라서 배달

2️⃣ MAC 주소 테이블

스위치는 MAC 주소 테이블을 만들어서 장치와 포트를 매핑합니다.

  • 내 PC(MAC: AA:BB:CC…) → 스위치 Port 1
  • 프린터(MAC: DD:EE:FF…) → 스위치 Port 5

👉 이렇게 “누가 어디 있는지” 주소록을 자동으로 작성


3️⃣ MAC 주소 학습 과정

  1. 플러딩(Flooding)

    • 처음에는 목적지를 모르니까, 프레임을 모든 포트에 뿌림
  2. 포워딩(Forwarding) & 필터링(Filtering)

    • 목적지 MAC이 테이블에 있으면 해당 포트로만 전송 (포워딩)
    • 다른 포트로는 보내지 않음 (필터링)
  3. 에이징(Aging)

    • 일정 시간 동안 통신이 없으면 테이블에서 삭제
    • (장치가 이동하거나 꺼졌을 때 반영하기 위함)

4️⃣ VLAN (가상 LAN)

스위치는 기본적으로 모든 포트가 같은 네트워크에 속함.
하지만 VLAN을 사용하면 하나의 스위치를 여러 개의 네트워크처럼 나눌 수 있음.

👉 예:

  • 개발팀 PC는 VLAN 10
  • 마케팅팀 PC는 VLAN 20
  • 물리적으로 같은 스위치에 꽂혀 있어도 서로 통신 불가

5️⃣ VLAN의 종류

  1. 포트 기반 VLAN (Port-based VLAN)

    • 특정 포트를 특정 VLAN에 할당
    • 가장 많이 쓰이는 방식
    • 예: Port 1~10 → VLAN 10, Port 11~20 → VLAN 20
  2. MAC 기반 VLAN

    • 장치의 MAC 주소를 기준으로 VLAN 할당
    • 포트가 바뀌어도 같은 VLAN에 속하게 가능

6️⃣ VLAN 트렁킹 (VLAN Trunking)

  • VLAN은 스위치 내부에서는 나눠지지만, 스위치 간 연결 시에도 구분이 필요
  • 이때 사용하는 것이 트렁크 포트(Trunk Port)

👉 특징:

  • 트렁크 포트는 여러 VLAN의 데이터를 동시에 전달
  • VLAN을 구분하기 위해 VLAN 태그를 붙여 전송
  • 이때 사용하는 표준: 802.1Q VLAN Tagging

7️⃣ 그림으로 이해하기

flowchart TD
    subgraph Devices1["1층 사무실 장비"]
        PC1["개발 PC1"]
        PC2["개발 PC2"]
        PC3["마케팅 PC1"]
        PC4["마케팅 PC2"]
        PC5["마케팅 PC3"]
        PR1["컬러 프린터"]
        AP1["무선 AP"]
    end

    subgraph SwitchA["스위치 A (1층)"]
        direction LR
        P1A["Port1<br/>VLAN1"]
        P2A["Port2<br/>VLAN1"]
        P3A["Port3<br/>VLAN2"]
        P4A["Port4<br/>VLAN2"]
        P5A["Port5<br/>VLAN2"]
        P6A["Port6<br/>VLAN3"]
        P7A["Port7<br/>VLAN3"]
        P8A["Port8<br/>Trunk"]
    end

    subgraph SwitchB["스위치 B (2층)"]
        direction LR
        P1B["Port1<br/>VLAN1"]
        P2B["Port2<br/>VLAN1"]
        P3B["Port3<br/>VLAN2"]
        P4B["Port4<br/>VLAN2"]
        P5B["Port5<br/>VLAN2"]
        P6B["Port6<br/>VLAN2"]
        P7B["Port7<br/>VLAN3"]
        P8B["Port8<br/>Trunk"]
    end

    subgraph Devices2["2층 사무실 장비"]
        PC6["개발 PC3"]
        PC7["개발 PC4"]
        PC8["마케팅 PC4"]
        PC9["마케팅 PC5"]
        PC10["영업 PC1"]
        PC11["영업 PC2"]
        ADMIN["관리자 PC"]
    end

    PC1 --> P1A
    PC2 --> P2A
    PC3 --> P3A
    PC4 --> P4A
    PC5 --> P5A
    PR1 --> P6A
    AP1 --> P7A

    P8A -.->|"모든 VLAN<br/>802.1Q 태깅"| P8B

    P1B --> PC6
    P2B --> PC7
    P3B --> PC8
    P4B --> PC9
    P5B --> PC10
    P6B --> PC11
    P7B --> ADMIN

    classDef vlan1 fill:#bbdefb,stroke:#1976d2,stroke-width:2px,color:#000
    classDef vlan2 fill:#ffcdd2,stroke:#d32f2f,stroke-width:2px,color:#000
    classDef vlan3 fill:#dcedc8,stroke:#689f38,stroke-width:2px,color:#000
    classDef trunk fill:#fff3e0,stroke:#f57c00,stroke-width:3px,color:#000

    class PC1,PC2,P1A,P2A,PC6,PC7,P1B,P2B vlan1
    class PC3,PC4,PC5,P3A,P4A,P5A,PC8,PC9,PC10,PC11,P3B,P4B,P5B,P6B vlan2
    class PR1,AP1,P6A,P7A,ADMIN,P7B vlan3
    class P8A,P8B trunk
  • SW1과 SW2 사이 연결은 트렁크 포트로 → VLAN 태그 붙여 전달

📘 라우팅(Routing)과 IP 주소의 역할

1️⃣ LAN에서 WAN으로

  • 지금까지 다룬 스위치는 같은 네트워크(LAN) 안에서만 통신 가능
  • 하지만 지구 반대편 컴퓨터와 통신하려면, 수많은 네트워크 장비를 거쳐야 함
  • 이때 단순히 “연결”이 아니라, 최적의 경로를 선택해 전달해야 하는데 → 이것이 라우팅(Routing)

2️⃣ 라우팅(Routing)이란?

  • 데이터를 목적지까지 전달하기 위해 최적의 경로(Path)를 선택하는 과정
  • 라우팅을 수행하는 대표적인 장비가 바로 라우터(Router)
  • 라우터는 라우팅 테이블을 참고하여, 패킷을 어디로 보낼지 결정

👉 즉, 라우팅 = 네트워크 세계의 네비게이션 🚗


3️⃣ MAC 주소만으로는 부족한 이유

  • 스위치는 MAC 주소를 기반으로 같은 네트워크 안에서는 목적지를 찾을 수 있음

  • 하지만 MAC 주소는 전 세계적으로 경로를 알 수 없음

    • 이유: MAC 주소는 위치 정보가 없음 (단순히 장치 식별용)
  • 따라서, 전 세계 어디에 있든 경로를 지정할 수 있는 논리 주소 = IP 주소가 필요


4️⃣ MAC 주소 vs IP 주소

구분MAC 주소IP 주소
의미물리 주소 (하드웨어 고유)논리 주소 (네트워크 상 위치)
할당NIC 제조 시 고정수동 할당 / DHCP 자동 할당 가능
개수보통 1개 고정한 호스트에 여러 개 가질 수 있음
범위동일 네트워크(LAN)네트워크 간(WAN/인터넷)

5️⃣ IP 주소 할당

  • 고정(Static): 관리자가 직접 IP 부여
  • 동적(DHCP): DHCP 서버가 자동으로 IP, 서브넷 마스크, 게이트웨이 할당
  • 하나의 장치가 여러 개의 IP를 가질 수도 있음 (가상 인터페이스, 멀티홈 등)

6️⃣ 주소 해석: ARP (Address Resolution Protocol)

LAN 안에서 IP만으로 통신하려면, 실제로는 상대방 MAC 주소를 알아야 함.

  • 동일 네트워크 내:

    • 내 PC → ARP 요청: “192.168.0.5는 누구냐? MAC 주소 알려줘”
    • 해당 장치가 MAC 주소 응답 → 통신 시작
  • 다른 네트워크에 있는 경우:

    • 내 PC는 목적지의 MAC을 모름 → 대신 게이트웨이(라우터)의 MAC 주소를 사용
    • 라우터가 패킷을 받아서 다음 라우터로 전달 (계속 반복)

👉 정리:

  • 같은 네트워크 → 목적지 MAC 주소 직접 획득 (ARP)
  • 다른 네트워크 → 게이트웨이 MAC 주소 획득 → 라우터 통해 전달

📘 라우터와 라우팅 테이블

1️⃣ 라우팅 테이블이란?

  • 라우터가 패킷을 전달할 때 참고하는 경로 정보 목록
  • “어떤 네트워크 대역은 어느 인터페이스로 가야 한다”는 지도를 저장

👉 쉽게 말해, 네트워크용 주소록 + 네비게이션 지도


2️⃣ 라우팅 테이블의 주요 항목

라우팅 테이블에는 보통 다음과 같은 정보가 들어있습니다:

  1. Destination (목적지 네트워크)

    • 예: 192.168.1.0/24
  2. Netmask (서브넷 마스크)

    • 네트워크 범위를 지정 (예: 255.255.255.0)
  3. Gateway (게이트웨이 주소)

    • 목적지로 가려면 거쳐야 할 다음 라우터의 주소
  4. Interface (출구 인터페이스)

    • 어느 네트워크 카드(포트)로 내보낼지
  5. Metric (비용/우선순위)

    • 여러 경로가 있을 때, 값이 작은 경로를 우선 사용

3️⃣ 디폴트 라우트(Default Route)

  • 라우팅 테이블에 없는 목적지 네트워크로 가는 경우, 디폴트 라우트를 사용
  • 표기: 0.0.0.0/0
  • 보통 인터넷으로 나갈 때 쓰이는 기본 경로
  • 예: 내 PC에서 구글(8.8.8.8) 접속 → 라우팅 테이블에 없으니 디폴트 라우트(게이트웨이)로 보냄

4️⃣ 정적 라우팅 (Static Routing)

  • 관리자가 직접 경로를 등록
  • 장점: 단순, 예측 가능, 작은 네트워크에 적합
  • 단점: 네트워크 구조가 바뀌면 수동으로 다 수정해야 함

👉 예시:

  • 192.168.2.0/24 네트워크로 가려면 192.168.1.1 게이트웨이로 보내라

5️⃣ 동적 라우팅 (Dynamic Routing)

  • 라우터끼리 라우팅 정보를 교환하면서 자동으로 최적 경로를 학습
  • 대규모 네트워크(기업, ISP)에서 사용
  • 장점: 장애 발생 시 자동으로 우회 경로 선택
  • 단점: 프로토콜에 따른 부하 발생 (CPU, 대역폭 소모)

👉 대표적인 동적 라우팅 프로토콜:

  • RIP (거리 벡터, 홉 수 기반)
  • OSPF (링크 상태, 대규모 네트워크에 강함)
  • BGP (인터넷 백본에서 사용, ISP 간 경로 교환)