CS/네트워크

[네트워크] Packet delay / Throughput / Traceroute

k9yuw 2023. 11. 9. 17:05

Packet Delay

패킷은 한 호스트에서 일련의 라우터들을 거쳐 다른 호스트에 도착하는데, 이 때 크게 4종류의 지연을 겪게 된다.

1. Processing Delay

Processing Delay는 패킷 헤더를 조사하고, 그 패킷을 어디로 보내는지 결정하는 시간이다. (nodal processing) 이 때 비트 수준 오류를 함께 조사하며, 처리 지연은 일반적으로 msec 이하이다.

 

2. Queueing Delay

각 링크에 대해 패킷 스위치는 출력 buffer을 가지고 있는데, 그 링크가 다른 패킷을 전송하고 있다면 도착하는 패킷은 출력 buffer에서 대기해야 한다. 라우터의 buffer이 가득 차 있는 경우 도착하는 패킷 또는 큐에 대기 중인 패킷이 drop되며 packet loss가 발생한다.

 

3. Transmission Delay

패킷의 모든 비트를 링크로 밀어내는데 필요한 시간으로, 패킷 길이가 L bits이고 링크의 transmission rate(bps)가 R이라고 할 때 걸리는 transmission delay 시간은 L/R이다.

 

4. Propagation Delay

전 라우터에 연결된 링크의 첫 지점부터 다음 라우터까지 전파되는데 필요한 시간으로, 라우터 A B 사이 거리가 d고 링크의 전파속도가 s라고 하면 propagation delay 는 d/s이다.

나머지 세 지연과 달리, queueing delay는 패킷마다 다를 수 있다. 왜냐하면 10개의 패킷이 동시에 비어있는 큐에 도착했다고 가정했을 때 첫 패킷은 큐잉 지연을 겪지 않지만 마지막 패킷은 많은 큐잉 지연을 겪을 것이기 때문이다. 따라서 큐잉 지연의 정도를 측정하는데에는 Traffic intensity를 알아야 한다.

 

Throughput(처리율)

호스트 A에서 B로 데이터를 전송할 때 처리율에는 두 가지가 있다.

1. Instantaneous throughput

instantaneous throughput은 어느 한 순간에서의(given point) 호스트 B가 파일을 수신하는 bps이다.

 

2. average throughput

average throughput은 F bit를 수신하는데 T초가 걸린다고 했을 때 F/T bps이다.

 

Traceroute

Traceroute는 컴퓨터 네트워크에서 transmission 과 reply 사이 time interval 을 측정하기 위해 사용하는 프로그램이다. 출발지와 목적지 사이 N-1개 라우터가 있고, 출발지가 네트워크로 1~N 번호가 표시된 N개의 특별 패킷을 보낸다. 그 후 n번째 라우터가 n 번째 패킷을 받으면 라우터는 그 패킷을 목적지까지 전달하는게 아니라 출발지까지 역으로 메시지를 보낸다. 이 과정을 3번 반복하여 3N개의 패킷을 보내고, 패킷 하나를 보내고 그에 해당하는 응답 메시지를 받을 때까지 걸린 시간을 기록하면 모든 중간에 있는 라우터까지의 왕복 지연을 결정할 수 있다.