How do loss and delay occur?
1-hop delay (= nodal delay)
processing delay → queueing delay → transmission delay → propagation delay
end-to-end delay
hop 수 * (1-hop delay)
① processing delay
L-bit 패킷이 라우터의 input port에 모두 도착하여 2계층 프로토콜에 의해 처리된 후, 3계층에서 IP 헤더를 읽고 output port를 결정할 때 발생하는 delay
② queueing delay
Resource(link bandwidth) reservation을 하지 않기 때문에 중간 라우터의 output buffer에서 대기하느라 발생하는 delay
③ transmission delay
L-bit를 signal로 변환할 때 걸리는 시간
④ propagation delay
1-bit가 1-hop을 이동하는데 걸리는 시간 (tx에서 rx로, 즉 link의 one end에서 another end로)
// input buffer에서 output buffer로 L bit를 옮기는 일을 switching한다고 말한다(Switching technology가 해준다)
input buffer은 이론적으로는 overflow가 있을 수 있지만, 대부분의 라우터에는 input buffer overflow가 없다.
Four sources of packet delay
d_proc : nodal processing
|
d_queue : queueing delay
|
d_trans : transmission delay
|
d_prop : propagation delay
|
d trans 와 d prop 는 엄연히 다름!
d trans = L/R
d prop = d/s
Caravan anology
car 1대 = 1 bit
caravan (10대의 car) = 1 packet
toll booth = router
d_trans < d_prop
(1) car propagete at 100km/hr (자동차의 속도는 100km/hr)
(2) toll booth takes 12 sec to service car (bit transmission time) (한 대의 자동차가 톨게이트에서 정산하는데 12초)
Q : 10대의 자동차가 2번째 톨게이트까지 liend up 되려면 얼마나 걸릴까?
A : 1st 톨게이트에 총 10대의 차량이 줄서있으므로 12*10 = 120초
마지막 자동차가 첫 번째 톨게이트에서 두 번째 톨게이트까지 이동하는 데 걸리는 시간 : 100km / (100km/hr) = 1hour
=> 120 sec + 1 hour = 62min
propagation이 transmission보다 길다 (위성통신 or Planet간의 통신이 이러하다!)
→ 내가 패킷 단위로 보내서 L bit를 signal로 다 바꿨는데 첫번째 bit는 아직도 가고 있음
d_trans > d_prop
(1) car propagete at 1000km/hr (자동차의 속도는 1000km/hr)
(2) toll booth takes 1 min to service car (bit transmission time) (한 대의 자동차가 톨게이트에서 정산하는데 1분)
Q : 10대의 자동차가 2번째 톨게이트까지 liend up 되려면 얼마나 걸릴까?
A : 1st 톨게이트에 총 10대의 차량이 줄서있으므로 1min*10 = 10분
마지막 자동차가 첫 번째 톨게이트에서 두 번째 톨게이트까지 이동하는 데 걸리는 시간 : 100km / (1000km/hr) = 0.1hour
=> 1min + 0.1 hour = 16min
Traffic intensity (TI) at Output queue
Queueing delay in an output queue can be estimated by an index called "Traffic Intensity (TI)",
TI = L a / R
- TI = (arrival rate into output queue) / (departing rate from output queue)
- arrival rate into output queue = L-bits x a packets/sec. (초당 a개의 L-bit 패킷이 큐에 진입)
- departing rate from output queue = outgoing link의 transmission rate R bps
- As a value of TI gets closer to 1, queueing delay rapidly increases. (0.8을 넘어가면 exponential하게 확 늘어난다)
ex) 초당 5개의 패킷(한 패킷당 100bit)이 큐에 도착(transmission rate는 1 kbps)한다. TI를 구하시오
A : L=100bit , a=5 , R=1kbps
TI = La/R = 100*5 bps / 1000 bps = 0.5
"Real" Internet delays and routes
How to measure a real delay to a host (A).
- Type "tracert(A's IP address)" on your Window system. (cmd창에 tracert @@@.ac.kr)
- Type "traceroute (A's IP address)" on your Linux or Unix systems.
- This command uses TTL(Time-To-Live) field in an IP header and ICMP (Internet Control Management Protocol) messages. (Linux-like OS에서는 UDP를 이용한 응용으로 작성되어있음)
traceroute를 구현하는 방법 중 하나는 ICMP라는 프로토콜을 이용하는 것
IP 헤더 안에 TTL (Time-To-Live) 필드를 둔다.
Packet loss
packet switching에서 resource reservation 안함 + buffer의 capacity는 한정적
=> 속도 차이 발생 → packet loss 발생
output queue에 data가 지나치게 몰릴 때 (transmission rate, R값 보다 지나치게 많은 rate의 bps가 들어오면) queue가 넘쳐 loss가 생긴다.
lost packet은 error recovery를 통해 retranasmissted되기도 한다. (previous node 또는 src end system 또는 not at all)
Throughput
end to end의 productivity
초당 sender에서 receiver까지 보낼 수 있는 비트 수 (end to end 개념)
거쳐가는 여러 link들의 capacity( = R)값에 의존 (queueing delay는 상황에 따라 다르므로)
성능(link capacity)이 가장 떨어지는 link, 제일 느린 링크에 의해서 throughput이 결정된다! (bottleneck link라고 함)
end-to-end path에서 거쳐가는 링크들의 transmission rate (R)이 가장 작은 link에 의해서 throughput이 결정됨
(throughput에 문제가 있어 네트워크를 개선해야 한다면 bottleneck link를 찾아 throughput을 올려야 함)
정리 : throughput은 real time의 end-to-end 개념이다!
Throughput | Transmission rate |
- amount of bits delivered between two end hosts over a specific period of time - e2e path 중 bottleneck link의 성능에 의해 결정됨 |
usually about link's capacity (amount of bits transmitted) (bit → signal) |
real-time measurement | not real-time measurement |
단위는 bps로 똑같다. |
'네트워크' 카테고리의 다른 글
[네트워크] Chap 2.2 - HTTP (0) | 2024.11.12 |
---|---|
[네트워크] Chap 2.1 - Application layer (4) | 2024.11.11 |
[네트워크] Chap 1.4 - Internet Protocol stack, Security, Internet History (2) | 2024.11.10 |
[네트워크] Chap 1.2 - Packet Switching & Circuit Switching (0) | 2024.11.08 |
[네트워크] Chap 1.1 - Internet and Protocol (1) | 2024.11.07 |