데이터가 케이블에서 충돌하지 않는 구조
데이터가 케이블에서 충돌하지 않는 구조
1. 전이중 통신과 반이중 통신
통신 방식 개요
┌─────────────────────────────────────────────────────────────┐
│ 통신 방식 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 전이중 통신 (Full Duplex) │
│ ────────────────────────── │
│ • 데이터의 송신과 수신을 동시에 수행 │
│ • 전화 통화처럼 동시에 말하고 들을 수 있음 │
│ • 충돌이 발생하지 않음 │
│ │
│ 반이중 통신 (Half Duplex) │
│ ────────────────────────── │
│ • 회선 하나로 송신과 수신을 번갈아가며 수행 │
│ • 워키토키처럼 한 번에 한 방향만 통신 │
│ • 동시 전송 시 충돌 발생 │
│ │
└─────────────────────────────────────────────────────────────┘전이중 통신 (Full Duplex)
전이중 통신 방식:
[컴퓨터 A] [컴퓨터 B]
│ │
│ ════════ 송신 전용 회선 ═══════→ │
│ │
│ ←═══════ 수신 전용 회선 ════════ │
│ │
• 송신과 수신이 별도 회선 사용
• 동시에 양방향 데이터 전송 가능
• 충돌 없음!
┌─────────────────────────────────────────────────────────────┐
│ 예시: 전화 통화 │
│ │
│ "안녕하세요" ────────────────────→ │
│ ←──────────────────── "네, 안녕하세요" │
│ │
│ → 동시에 말하고 들을 수 있음 │
└─────────────────────────────────────────────────────────────┘반이중 통신 (Half Duplex)
반이중 통신 방식:
[컴퓨터 A] [컴퓨터 B]
│ │
│ ════════ 공유 회선 ════════════ │
│ │
시점 1: A → B 전송
════════════════════════════════════→
시점 2: B → A 전송
←════════════════════════════════════
• 하나의 회선을 번갈아 사용
• 동시 전송 시 충돌 발생!
┌─────────────────────────────────────────────────────────────┐
│ 예시: 워키토키 │
│ │
│ "들리세요? 오버" ────────────────────→ │
│ (말하는 동안 상대방은 대기) │
│ ←──────────────────── "네, 오버" │
│ │
│ → 한 번에 한 방향만 통신 가능 │
└─────────────────────────────────────────────────────────────┘전이중 vs 반이중 비교
| 항목 | 전이중 (Full Duplex) | 반이중 (Half Duplex) |
|---|---|---|
| 송수신 | 동시에 가능 | 번갈아가며 수행 |
| 회선 | 송신/수신 분리 | 공유 |
| 충돌 | 발생 안 함 | 발생 가능 |
| CSMA/CD | 불필요 | 필요 |
| 실효 대역폭 | 100% (양방향) | 50% 이하 |
| 대표 장비 | 스위치 | 허브 |
| 예시 | 전화 | 워키토키 |
2. UTP 케이블과 통신 방식
UTP 케이블 구조 (4쌍 = 8선)
UTP 케이블의 8개 선:
┌─────────────────────────────────────────────────────────────┐
│ RJ-45 커넥터 핀 배열 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 핀 번호 │ 색상 │ 용도 (100Mbps) │
│ ───────────┼─────────────┼───────────────────────────── │
│ 1 │ 흰색/주황 │ TX+ (송신+) │
│ 2 │ 주황 │ TX- (송신-) │
│ 3 │ 흰색/녹색 │ RX+ (수신+) │
│ 4 │ 파랑 │ (미사용) │
│ 5 │ 흰색/파랑 │ (미사용) │
│ 6 │ 녹색 │ RX- (수신-) │
│ 7 │ 흰색/갈색 │ (미사용) │
│ 8 │ 갈색 │ (미사용) │
│ │
└─────────────────────────────────────────────────────────────┘
10/100Mbps: 1,2번(송신) + 3,6번(수신) = 2쌍 사용
1000Mbps: 4쌍 모두 사용 (양방향 동시)케이블을 통한 전이중 통신
컴퓨터 간 직접 연결 (전이중):
[컴퓨터 A] [컴퓨터 B]
│ │
│ 1,2번 (TX) ═══════════════════════ (RX) 3,6번│
│ ════════════════════════ │
│ 3,6번 (RX) ═══════════════════════ (TX) 1,2번│
│ │
• 송신용 선과 수신용 선이 분리
• 동시에 양방향 통신 가능
• 충돌 발생하지 않음기가비트 이더넷의 전이중 통신
1000BASE-T (기가비트):
┌─────────────────────────────────────────────────────────────┐
│ │
│ 쌍 1 (1,2번) ←════════════════════════→ 양방향 │
│ 쌍 2 (3,6번) ←════════════════════════→ 양방향 │
│ 쌍 3 (4,5번) ←════════════════════════→ 양방향 │
│ 쌍 4 (7,8번) ←════════════════════════→ 양방향 │
│ │
│ • 4쌍 모두 사용 │
│ • 각 쌍이 양방향 통신 (하이브리드 회로) │
│ • 에코 캔슬레이션 기술로 송수신 분리 │
│ │
└─────────────────────────────────────────────────────────────┘3. 허브와 스위치의 통신 방식
허브 = 반이중 통신
허브 내부 구조:
┌─────────────────────────────────────────────────────────────┐
│ 허브 │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ 공유 버스 (백플레인) │ │
│ │ ═══════════════════════════════════════════════════ │ │
│ │ ↑↓ ↑↓ ↑↓ ↑↓ │ │
│ └─────┼─────────┼─────────┼─────────┼───────────────────┘ │
│ │ │ │ │ │
│ 포트1 포트2 포트3 포트4 │
│ │ │ │ │ │
└────────┼─────────┼─────────┼─────────┼─────────────────────┘
│ │ │ │
[PC-A] [PC-B] [PC-C] [PC-D]
문제: 송수신이 분리되어 있지 않음!
PC-A와 PC-B가 동시에 전송하면:
[PC-A] ════╗
╠════ 충돌! ════ [공유 버스]
[PC-B] ════╝
→ 반이중 통신 (한 번에 하나만 전송 가능)
→ CSMA/CD로 충돌 제어 필요스위치 = 전이중 통신
스위치 내부 구조:
┌─────────────────────────────────────────────────────────────┐
│ 스위치 │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ 스위칭 패브릭 (교환 회로) │ │
│ │ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │ │
│ │ │버퍼 │ │버퍼 │ │버퍼 │ │버퍼 │ │ │
│ │ │ ↕ │ │ ↕ │ │ ↕ │ │ ↕ │ │ │
│ │ └──┬──┘ └──┬──┘ └──┬──┘ └──┬──┘ │ │
│ └─────┼─────────┼─────────┼─────────┼───────────────────┘ │
│ │ │ │ │ │
│ 포트1 포트2 포트3 포트4 │
│ ↕↕ ↕↕ ↕↕ ↕↕ │
└────────┼─────────┼─────────┼─────────┼─────────────────────┘
│ │ │ │
[PC-A] [PC-B] [PC-C] [PC-D]
특징: 각 포트가 독립적인 송수신 버퍼 보유
PC-A → PC-C 와 PC-B → PC-D 동시 통신:
[PC-A] ════════════════════→ [PC-C]
[PC-B] ════════════════════→ [PC-D]
→ 전이중 통신 (동시에 여러 통신 가능)
→ 충돌 없음, CSMA/CD 불필요허브 vs 스위치 통신 비교
허브 사용 시 (반이중):
────────────────────────────────────────────────
시점 1: PC-A만 전송 가능
[PC-A] ════→ [HUB] ════→ 모든 PC
시점 2: PC-B가 전송하려면 대기
[PC-B] (대기 중...)
시점 3: PC-A 완료 후 PC-B 전송
[PC-B] ════→ [HUB] ════→ 모든 PC
→ 순차적으로만 통신 가능
→ 대기 시간 발생
→ 네트워크 지연 발생
스위치 사용 시 (전이중):
────────────────────────────────────────────────
동시에 모두 통신 가능!
[PC-A] ════════════→ [PC-C]
[PC-B] ════════════→ [PC-D]
[PC-C] ════════════→ [PC-A]
[PC-D] ════════════→ [PC-B]
→ 동시에 여러 통신 가능
→ 대기 시간 없음
→ 네트워크 효율 최대화4. 충돌 도메인 (Collision Domain)
충돌 도메인이란?
┌─────────────────────────────────────────────────────────────┐
│ 충돌 도메인 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 정의: │
│ 충돌이 발생할 때 그 영향이 미치는 범위 │
│ │
│ 특징: │
│ • 같은 충돌 도메인 내에서는 동시 전송 시 충돌 │
│ • 충돌 도메인이 작을수록 네트워크 효율 증가 │
│ • 허브는 충돌 도메인을 확장 │
│ • 스위치는 충돌 도메인을 분리 │
│ │
└─────────────────────────────────────────────────────────────┘허브의 충돌 도메인
허브: 전체가 하나의 충돌 도메인
┌─────────────────────────────────────────────────────────────┐
│ 하나의 충돌 도메인 │
│ │
│ [PC-A] [PC-B] [PC-C] [PC-D] │
│ │ │ │ │ │
│ └─────────────┴──────┬──────┴─────────────┘ │
│ │ │
│ [ HUB ] │
│ │
│ ※ 4대 모두 같은 충돌 도메인 │
│ ※ 한 번에 1대만 전송 가능 │
│ ※ 동시 전송 시 충돌 발생 │
│ │
└─────────────────────────────────────────────────────────────┘
허브를 추가해도 충돌 도메인 확장:
┌─────────────────────────────────────────────────────────────┐
│ 하나의 충돌 도메인 (확장) │
│ │
│ [PC1] [PC2] [PC3] [PC4] │
│ │ │ │ │ │
│ └──┬──┘ └──┬──┘ │
│ │ │ │
│ [ HUB1 ]═══════════════════════[ HUB2 ] │
│ │
│ ※ 모든 PC가 하나의 충돌 도메인 공유 │
│ ※ 허브 연결로 충돌 도메인이 더 커짐 │
│ │
└─────────────────────────────────────────────────────────────┘스위치의 충돌 도메인
스위치: 포트별로 충돌 도메인 분리
┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐
│도메인1│ │도메인2│ │도메인3│ │도메인4│
│ │ │ │ │ │ │ │
│[PC-A] │ │[PC-B] │ │[PC-C] │ │[PC-D] │
└───┬───┘ └───┬───┘ └───┬───┘ └───┬───┘
│ │ │ │
│ 포트1 │ 포트2 │ 포트3 │ 포트4
└─────────┴────┬────┴─────────┘
│
[ SWITCH ]
※ 각 포트가 독립된 충돌 도메인
※ 4개의 충돌 도메인으로 분리
※ 전이중 통신으로 실제 충돌 없음충돌 도메인 분리의 효과
충돌 도메인 크기에 따른 효율:
허브 (충돌 도메인 = 1):
──────────────────────────────────────
100Mbps ÷ 4대 = 약 25Mbps/대 (이론상)
실제로는 충돌로 인해 더 낮음
효율: ████░░░░░░ 약 30~40%
스위치 (충돌 도메인 = 포트 수):
──────────────────────────────────────
각 포트 100Mbps 독립
전이중으로 200Mbps (송신+수신)
효율: ██████████ 약 90~100%5. 브로드캐스트 도메인
브로드캐스트 도메인이란?
┌─────────────────────────────────────────────────────────────┐
│ 브로드캐스트 도메인 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 정의: │
│ 브로드캐스트 프레임이 도달하는 범위 │
│ │
│ 특징: │
│ • 허브, 스위치는 브로드캐스트를 차단하지 못함 │
│ • 브로드캐스트 도메인이 크면 불필요한 트래픽 증가 │
│ • 라우터가 브로드캐스트 도메인을 분리 │
│ │
└─────────────────────────────────────────────────────────────┘장비별 도메인 분리
┌─────────────────────────────────────────────────────────────┐
│ 장비별 충돌/브로드캐스트 도메인 │
├──────────┬───────────────────┬───────────────────────────────┤
│ 장비 │ 충돌 도메인 │ 브로드캐스트 도메인 │
├──────────┼───────────────────┼───────────────────────────────┤
│ 허브 │ 확장 (하나) │ 확장 (하나) │
├──────────┼───────────────────┼───────────────────────────────┤
│ 스위치 │ 분리 (포트별) │ 확장 (하나) │
├──────────┼───────────────────┼───────────────────────────────┤
│ 라우터 │ 분리 (포트별) │ 분리 (포트별) │
└──────────┴───────────────────┴───────────────────────────────┘
시각적 비교:
허브:
┌─────────────────────────────────────────┐
│ 브로드캐스트 도메인 │
│ ┌───────────────────────────────────┐ │
│ │ 충돌 도메인 │ │
│ │ [PC1] [PC2] [HUB] [PC3] [PC4] │ │
│ └───────────────────────────────────┘ │
└─────────────────────────────────────────┘
스위치:
┌─────────────────────────────────────────┐
│ 브로드캐스트 도메인 │
│ ┌──┐ ┌──┐ ┌──┐ ┌──┐ │
│ │CD│ │CD│[SWITCH]│CD│ │CD│ ← 충돌 │
│ │1 │ │2 │ │3 │ │4 │ 도메인 │
│ └──┘ └──┘ └──┘ └──┘ │
└─────────────────────────────────────────┘
라우터:
┌───────────────────┐ ┌───────────────────┐
│ 브로드캐스트 도메인│ │ 브로드캐스트 도메인│
│ 1 │ │ 2 │
│ [PC1] [PC2] │ │ [PC3] [PC4] │
│ [SWITCH] │ │ [SWITCH] │
└─────────┬─────────┘ └─────────┬─────────┘
│ │
└───────[ROUTER]────────┘6. ARP (Address Resolution Protocol)
ARP란?
┌─────────────────────────────────────────────────────────────┐
│ ARP │
│ (Address Resolution Protocol) │
├─────────────────────────────────────────────────────────────┤
│ │
│ 목적: │
│ 목적지 컴퓨터의 IP 주소를 이용하여 MAC 주소를 찾는 프로토콜 │
│ │
│ 필요한 이유: │
│ • 이더넷 프레임 전송에는 목적지 MAC 주소가 필요 │
│ • 상위 계층은 IP 주소만 알고 있음 │
│ • IP 주소 → MAC 주소 변환 필요 │
│ │
└─────────────────────────────────────────────────────────────┘ARP 동작 과정
ARP 동작 과정:
PC-A (192.168.1.1)가 PC-C (192.168.1.3)와 통신하려고 할 때,
PC-C의 MAC 주소를 모르는 상황:
1단계: ARP 요청 (브로드캐스트)
────────────────────────────────────────────────
[PC-A] ─── "192.168.1.3의 MAC 주소가 뭐야?" ───→ 모든 PC
┌─────────────────────────────────────────────────────────────┐
│ ARP 요청 패킷 │
├─────────────────────────────────────────────────────────────┤
│ 목적지 MAC: FF:FF:FF:FF:FF:FF (브로드캐스트) │
│ 출발지 MAC: AA:AA:AA:AA:AA:01 (PC-A) │
│ 타입: 0x0806 (ARP) │
│ ───────────────────────────────────────── │
│ ARP 내용: │
│ • 요청 (Request) │
│ • 출발지 IP: 192.168.1.1 │
│ • 출발지 MAC: AA:AA:AA:AA:AA:01 │
│ • 목적지 IP: 192.168.1.3 │
│ • 목적지 MAC: 00:00:00:00:00:00 (모름) │
└─────────────────────────────────────────────────────────────┘
2단계: 각 PC의 반응
────────────────────────────────────────────────
PC-B (192.168.1.2): "내 IP가 아니네" → 무시
PC-C (192.168.1.3): "내 IP다!" → ARP 응답 준비
PC-D (192.168.1.4): "내 IP가 아니네" → 무시
3단계: ARP 응답 (유니캐스트)
────────────────────────────────────────────────
[PC-C] ─── "192.168.1.3의 MAC은 CC:CC:...:03이야" ───→ PC-A
┌─────────────────────────────────────────────────────────────┐
│ ARP 응답 패킷 │
├─────────────────────────────────────────────────────────────┤
│ 목적지 MAC: AA:AA:AA:AA:AA:01 (PC-A) │
│ 출발지 MAC: CC:CC:CC:CC:CC:03 (PC-C) │
│ 타입: 0x0806 (ARP) │
│ ───────────────────────────────────────── │
│ ARP 내용: │
│ • 응답 (Reply) │
│ • 출발지 IP: 192.168.1.3 │
│ • 출발지 MAC: CC:CC:CC:CC:CC:03 │
│ • 목적지 IP: 192.168.1.1 │
│ • 목적지 MAC: AA:AA:AA:AA:AA:01 │
└─────────────────────────────────────────────────────────────┘
4단계: ARP 테이블에 저장
────────────────────────────────────────────────
PC-A의 ARP 테이블:
┌──────────────┬───────────────────┬────────────┐
│ IP 주소 │ MAC 주소 │ 타입 │
├──────────────┼───────────────────┼────────────┤
│ 192.168.1.3 │ CC:CC:CC:CC:CC:03 │ 동적 │
└──────────────┴───────────────────┴────────────┘
이후 PC-C와 통신 시 ARP 테이블 참조 (브로드캐스트 불필요)ARP 테이블 (ARP 캐시)
┌─────────────────────────────────────────────────────────────┐
│ ARP 테이블 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 정의: │
│ • IP 주소와 MAC 주소의 매핑 정보를 저장하는 캐시 │
│ • 메모리에 보관 │
│ │
│ 특징: │
│ • 일정 시간(보존 기간) 후 자동 삭제 │
│ • IP 주소 변경 시 갱신 필요 │
│ • 정적/동적 엔트리 존재 │
│ │
│ 보존 기간 (ARP 캐시 타임아웃): │
│ • Windows: 기본 2분 (사용 시 10분으로 연장) │
│ • Linux: 기본 60초 │
│ • Cisco: 기본 4시간 │
│ │
└─────────────────────────────────────────────────────────────┘ARP 명령어
Windows에서 ARP 확인:
────────────────────────────────────────────────
> arp -a
인터페이스: 192.168.1.1 --- 0x3
인터넷 주소 물리적 주소 유형
192.168.1.3 cc-cc-cc-cc-cc-03 동적
192.168.1.254 00-11-22-33-44-55 동적
224.0.0.22 01-00-5e-00-00-16 정적
255.255.255.255 ff-ff-ff-ff-ff-ff 정적
> arp -d # ARP 캐시 강제 삭제
> arp -d 192.168.1.3 # 특정 엔트리 삭제
> arp -s 192.168.1.100 aa-bb-cc-dd-ee-ff # 정적 추가
Linux에서 ARP 확인:
────────────────────────────────────────────────
$ arp -a
? (192.168.1.3) at cc:cc:cc:cc:cc:03 [ether] on eth0
? (192.168.1.254) at 00:11:22:33:44:55 [ether] on eth0
$ ip neigh show # 최신 명령어
192.168.1.3 dev eth0 lladdr cc:cc:cc:cc:cc:03 REACHABLE
192.168.1.254 dev eth0 lladdr 00:11:22:33:44:55 STALE7. 네트워크 효율성
허브 vs 스위치 성능 비교
100Mbps 네트워크에 4대 연결 시:
허브 환경:
────────────────────────────────────────────────
┌─────────────────────────────────────────────────────────────┐
│ 이론적 대역폭: 100Mbps ÷ 4 = 25Mbps/대 │
│ 충돌로 인한 손실: 약 30~50% │
│ ───────────────────────────────────── │
│ 실효 대역폭: 약 12~18Mbps/대 │
│ │
│ 그래프: │
│ ████████░░░░░░░░░░░░░░░░░░░░ 약 15% │
└─────────────────────────────────────────────────────────────┘
스위치 환경:
────────────────────────────────────────────────
┌─────────────────────────────────────────────────────────────┐
│ 각 포트 대역폭: 100Mbps (독립) │
│ 전이중 모드: 200Mbps (송신 100 + 수신 100) │
│ ───────────────────────────────────── │
│ 실효 대역폭: 약 95~100Mbps/대 │
│ │
│ 그래프: │
│ ████████████████████████████ 약 95%+ │
└─────────────────────────────────────────────────────────────┘현대 네트워크 표준
┌─────────────────────────────────────────────────────────────┐
│ 현대 네트워크 구성 표준 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ✗ 허브 │
│ • 더 이상 사용하지 않음 │
│ • 충돌로 인한 성능 저하 │
│ • 보안 취약 (모든 포트로 전송) │
│ │
│ ✓ 스위치 (표준) │
│ • 모든 네트워크의 기본 장비 │
│ • 전이중 통신, 충돌 없음 │
│ • 포트별 독립 대역폭 │
│ • 가격도 저렴해져 허브와 차이 없음 │
│ │
│ 최근에는 네트워크를 구성할 때 스위치를 사용하는 것이 표준! │
│ │
└─────────────────────────────────────────────────────────────┘핵심 정리
| 개념 | 설명 |
|---|---|
| 전이중 통신 | 송신과 수신을 동시에 수행, 충돌 없음 |
| 반이중 통신 | 송신과 수신을 번갈아 수행, 충돌 발생 가능 |
| 충돌 도메인 | 충돌 영향이 미치는 범위 |
| 허브 | 반이중 통신, 충돌 도메인 = 전체 |
| 스위치 | 전이중 통신, 충돌 도메인 = 포트별 |
| ARP | IP 주소로 MAC 주소를 찾는 프로토콜 |
| ARP 테이블 | IP-MAC 매핑 정보를 저장하는 캐시 |
충돌 도메인 비교
┌─────────────────────────────────────────────────────────────┐
│ 장비별 충돌 도메인 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 허브 (1계층) │
│ ────────────────────────── │
│ ┌─────────────────────────────────────────┐ │
│ │ 하나의 충돌 도메인 │ │
│ │ [PC1] [PC2] [HUB] [PC3] [PC4] │ │
│ └─────────────────────────────────────────┘ │
│ │
│ 스위치 (2계층) │
│ ────────────────────────── │
│ ┌───┐ ┌───┐ ┌────────┐ ┌───┐ ┌───┐ │
│ │CD1│ │CD2│ │ SWITCH │ │CD3│ │CD4│ │
│ │PC1│ │PC2│ │ │ │PC3│ │PC4│ │
│ └───┘ └───┘ └────────┘ └───┘ └───┘ │
│ │
└─────────────────────────────────────────────────────────────┘용어 정리
- 전이중 통신 (Full Duplex): 송신과 수신을 동시에 수행하는 통신 방식
- 반이중 통신 (Half Duplex): 송신과 수신을 번갈아가며 수행하는 통신 방식
- 충돌 도메인 (Collision Domain): 데이터 충돌 시 영향이 미치는 범위
- ARP (Address Resolution Protocol): IP 주소를 MAC 주소로 변환하는 프로토콜
- ARP 요청 (ARP Request): MAC 주소를 알아내기 위해 보내는 브로드캐스트
- ARP 응답 (ARP Reply): ARP 요청에 대한 MAC 주소 응답 (유니캐스트)
- ARP 테이블 (ARP Cache): IP-MAC 매핑 정보를 저장하는 메모리 캐시