- Authors

- Name
- Youngju Kim
- @fjvbn20031
본 포스팅은 James Kurose, Keith Ross의 Computer Networking: A Top-Down Approach (6th Edition) 교재를 기반으로 정리한 내용입니다.
- 1. 패킷 교환 네트워크에서의 지연 개요
- 2. 4가지 지연 요소
- 3. 큐잉 지연과 패킷 손실
- 4. 종단 간 지연 (End-to-End Delay)
- 5. 처리량 (Throughput)
- 6. 지연과 처리량의 관계
- 7. 정리
- 8. 확인 문제
1. 패킷 교환 네트워크에서의 지연 개요
패킷이 출발지에서 목적지까지 이동하면서 경로상의 각 노드(라우터)에서 여러 유형의 지연을 겪는다. 가장 중요한 지연은 노드 지연(nodal delay) 이며, 4가지 요소로 구성된다.
노드 지연(d_nodal) = d_proc + d_queue + d_trans + d_prop
d_proc : 처리 지연 (Processing Delay)
d_queue : 큐잉 지연 (Queuing Delay)
d_trans : 전송 지연 (Transmission Delay)
d_prop : 전파 지연 (Propagation Delay)
2. 4가지 지연 요소
2.1 처리 지연 (Processing Delay)
패킷 헤더를 검사하고 어디로 보낼지 결정하는 시간이다.
- 패킷 헤더의 비트 오류 검사
- 포워딩 테이블 조회
- 일반적으로 마이크로초(us) 이하
패킷 도착 → [헤더 검사] → [포워딩 결정] → 큐에 진입
처리 지연 (d_proc)
2.2 큐잉 지연 (Queuing Delay)
패킷이 출력 링크의 큐에서 전송을 기다리는 시간이다.
- 큐에 대기 중인 다른 패킷의 수에 따라 결정
- 마이크로초에서 밀리초 수준까지 변동
- 4가지 지연 중 가장 복잡하고 예측하기 어려움
출력 큐:
[pkt5][pkt4][pkt3][pkt2][pkt1] ──> 출력 링크
(전송 중)
← 이 패킷들의 대기 시간 = 큐잉 지연 →
2.3 전송 지연 (Transmission Delay)
패킷의 모든 비트를 링크에 밀어넣는 데 걸리는 시간이다.
전송 지연 = L / R
L: 패킷 길이 (bits)
R: 링크 전송률 (bps)
예시: L = 10,000 bits, R = 10 Mbps
d_trans = 10,000 / 10,000,000 = 0.001초 = 1ms
전송 지연은 패킷 길이와 링크 전송률에 의존하며, 두 라우터 간 거리와는 무관하다.
2.4 전파 지연 (Propagation Delay)
비트가 링크를 통해 물리적으로 전파되는 시간이다.
전파 지연 = d / s
d: 두 라우터 간 물리적 거리 (meters)
s: 매체의 전파 속도 (약 2 * 10^8 m/s ~ 3 * 10^8 m/s)
예시: 두 라우터 간 거리 = 5,000 km, 전파 속도 = 2.5 x 10^8 m/s
d_prop = 5,000,000 / 250,000,000 = 0.02초 = 20ms
전파 지연은 거리에 의존하며, 패킷 크기와는 무관하다.
2.5 전송 지연 vs 전파 지연 비유
고속도로 톨게이트 비유:
차량 행렬 = 패킷의 비트들
톨게이트 = 라우터
고속도로 = 링크
전송 지연: 모든 차가 톨게이트를 통과하는 시간
(차량 수 / 톨게이트 처리 속도)
전파 지연: 한 차가 톨게이트에서 다음 톨게이트까지 달리는 시간
(거리 / 차량 속도)
3. 큐잉 지연과 패킷 손실
3.1 트래픽 강도 (Traffic Intensity)
큐잉 지연의 정도는 트래픽 강도로 판단할 수 있다.
트래픽 강도 = L * a / R
L: 패킷 크기 (bits)
a: 평균 패킷 도착률 (packets/sec)
R: 링크 전송률 (bps)
트래픽 강도에 따른 큐잉 지연
큐잉 지연
^
│ │
│ │ /
│ │ /
│ │ /
│ │ /
│ __│_/
│ ___/ │
│__/ │
└──────────┴──────> 트래픽 강도 (La/R)
0 1
La/R → 0 : 큐잉 지연 거의 없음
La/R → 1 : 큐잉 지연 급격히 증가
La/R > 1 : 큐가 무한히 증가 (시스템 불안정)
핵심 규칙
| 트래픽 강도 | 큐잉 지연 상태 |
|---|---|
| La/R 이 0에 가까움 | 거의 없음 |
| La/R 이 1에 가까움 | 급격히 증가 |
| La/R 이 1 초과 | 무한히 증가 (실질적으로 패킷 손실) |
시스템 설계의 황금률: 트래픽 강도가 1을 초과하지 않도록 설계해야 한다.
3.2 패킷 손실 (Packet Loss)
현실에서 큐(버퍼)의 크기는 유한하다.
버퍼가 가득 찬 상태에서 새 패킷 도착:
[pkt_n][...][pkt2][pkt1] ──> 출력 링크
^^^^^^^^^^^^^^^^^^^^^^^^
버퍼 용량 = n (가득 참)
pkt_new 도착 → 드롭! (패킷 손실)
- 손실된 패킷은 이전 노드나 출발지에서 재전송될 수 있음
- 또는 아예 재전송되지 않을 수도 있음 (애플리케이션에 따라 다름)
- 혼잡한 네트워크에서는 손실률이 크게 증가
4. 종단 간 지연 (End-to-End Delay)
출발지에서 목적지까지의 전체 지연을 계산해 보자.
N개의 링크를 거치는 경우 (혼잡 없다고 가정):
d_end-to-end = N * (d_proc + d_trans + d_prop)
= N * (d_proc + L/R + d/s)
예시: 라우터 3개(링크 3개), d_proc = 0.003ms, L = 1,500 bytes, R = 2 Mbps, d = 5,000 km, s = 2.5 * 10^8 m/s
각 홉의 지연:
d_proc = 0.003 ms
d_trans = (1500 * 8) / 2,000,000 = 6 ms
d_prop = 5,000,000 / 250,000,000 = 20 ms
한 홉 지연 = 0.003 + 6 + 20 = 26.003 ms
총 지연 = 3 * 26.003 = 78.009 ms
4.1 Traceroute
traceroute (Windows에서는 tracert) 명령으로 실제 종단 간 경로와 각 홉의 지연을 측정할 수 있다.
traceroute www.example.com
출력 예시:
1 192.168.1.1 1.234 ms 1.123 ms 1.345 ms
2 10.0.0.1 5.678 ms 5.432 ms 5.789 ms
3 72.14.215.85 15.234 ms 14.987 ms 15.123 ms
...
각 행은 하나의 라우터(홉)를 나타내며, 3번의 RTT 측정값이 표시된다.
4.2 다른 종류의 종단 간 지연
의도적 지연
- 미디어 패킷화 지연: VoIP에서 음성 데이터를 패킷으로 모으는 시간
- 처리 지연: 이메일 서버에서 바이러스 검사 등
5. 처리량 (Throughput)
5.1 정의
처리량(throughput) 은 단위 시간당 출발지에서 목적지로 전달되는 비트 수다.
- 순간 처리량(instantaneous throughput): 특정 시점의 전송률
- 평균 처리량(average throughput): 전체 전송 시간 동안의 평균 전송률
F 비트 파일 전송에 T초 소요:
평균 처리량 = F / T (bps)
5.2 병목 링크 (Bottleneck Link)
종단 간 처리량은 경로상 가장 느린 링크에 의해 결정된다.
서버 ──Rs──> 라우터 ──Rc──> 클라이언트
Rs = 서버 측 링크 전송률
Rc = 클라이언트 측 링크 전송률
처리량 = min(Rs, Rc)
예시 1: 서버 측이 병목
서버 ──2 Mbps──> 라우터 ──10 Mbps──> 클라이언트
처리량 = min(2, 10) = 2 Mbps
병목 링크: 서버 측 링크
예시 2: 클라이언트 측이 병목
서버 ──100 Mbps──> 라우터 ──1.5 Mbps──> 클라이언트
처리량 = min(100, 1.5) = 1.5 Mbps
병목 링크: 클라이언트 측 링크 (접속 네트워크)
5.3 다수 연결이 공유하는 링크
10개의 서버-클라이언트 쌍이 하나의 코어 링크(R)를 공유:
서버1 ──Rs──┐ ┌──Rc──> 클라이언트1
서버2 ──Rs──┤ ├──Rc──> 클라이언트2
... ├── R (공유 링크) ───┤
서버10──Rs──┘ └──Rc──> 클라이언트10
각 연결의 처리량:
처리량 = min(Rs, Rc, R/10)
실제 인터넷에서는 코어 링크의 용량이 매우 크므로, 대부분의 경우 접속 네트워크가 병목이 된다.
일반적인 경우:
코어 링크 >> 접속 네트워크 전송률
→ 처리량 = min(Rs, Rc)
→ 병목은 거의 항상 접속 네트워크 쪽
6. 지연과 처리량의 관계
지연(Delay)과 처리량(Throughput)은 독립적인 성능 지표:
지연: 하나의 패킷이 도착하는 데 걸리는 시간
처리량: 단위 시간당 전달되는 데이터의 양
파이프 비유:
┌─────────────────────────────┐
│ 물(데이터)이 흐르는 파이프 │
└─────────────────────────────┘
← 파이프 길이 = 지연 →
파이프 단면적 = 처리량
7. 정리
| 지연 요소 | 의존하는 변수 | 크기 |
|---|---|---|
| 처리 지연 | 라우터 성능 | us 이하 |
| 큐잉 지연 | 트래픽 강도 | us ~ ms |
| 전송 지연 | 패킷 크기 / 링크 전송률 | us ~ ms |
| 전파 지연 | 링크 거리 / 전파 속도 | ms |
핵심 공식:
d_nodal = d_proc + d_queue + d_trans + d_prop
트래픽 강도 = La/R (1 미만이어야 안정)
처리량 = min(경로상 모든 링크의 전송률)
8. 확인 문제
Q1. 전송 지연과 전파 지연의 차이를 설명하라.
- 전송 지연: 패킷의 모든 비트를 링크에 밀어넣는 시간.
L/R로 계산하며, 패킷 크기와 링크 전송률에 의존한다. - 전파 지연: 비트가 링크를 통해 물리적으로 이동하는 시간.
d/s로 계산하며, 거리와 전파 속도에 의존한다.
톨게이트 비유: 전송 지연은 모든 차가 톨게이트를 통과하는 시간, 전파 지연은 한 차가 다음 톨게이트까지 달리는 시간이다.
Q2. 트래픽 강도가 1을 초과하면 어떻게 되는가?
패킷의 평균 도착률이 링크의 전송 능력을 초과하므로, 큐가 끝없이 증가한다. 실제로는 버퍼가 유한하므로 패킷 손실이 대량 발생한다. 따라서 트래픽 강도가 1을 초과하지 않도록 네트워크를 설계해야 한다.
Q3. 종단 간 처리량을 결정하는 요인은?
경로상 가장 느린 링크, 즉 병목 링크(bottleneck link) 가 종단 간 처리량을 결정한다. 실제 인터넷에서는 대부분 접속 네트워크(가정의 DSL, 케이블 등)가 병목이 된다.