본문 바로가기
CS/네트워크

Packet Delay(패킷 지연) 4가지 요인들

by hyohyohyo 2023. 6. 5.
728x90

개념

네트워크 상에서 패킷 전송시에는 일반적으로 걸리는 시간으로 우리가 체크한다면 보내는 패킷의 사이즈 / 대역폭 (패킷 크기가 엄청 큰 것을 허용하거나 윈도우 사이즈가 무한히 크거나...)로 계산이 가능해진다.
그러나 현실에서 저런 시간이 가능한가?
불가능하다라고 말할 수 있다.
그 이유로는 여러 요인들이 발생하기 때문이라고 말할 수 있다.

그래서 우리는 패킷이 출발지점에서 목적지까지 가는 시간을 지연(delay)라고 한다.

이 지연의 4가지 종류로는

  • Transmission Delay (전송 지연)
  • Propagation Delay (전파 지연)
  • Nodal Processing Delay (노드 처리 지연)
  • Queue Delay (큐 딜레이)
    가 있다.

https://www.slideshare.net/mahparasaaleem/dcn-lecture-3

1. 전송 지연 ( Transmission Delay)

전송 지연에 대해 알아보자.

위 그림에서 볼 수 있다 싶이, 라우터에서 패킷의 모든 비트들을 링크로 밀어낼때 걸리는 지연이라 생각하면 된다.

당연하게도 엄청 작을 것이다. (보통 몇 마이크로 ~  몇 밀리)

그렇기에 여기에 영향을 끼치는 것은 패킷의 크기와 링크 전송률(대역폭)이 영향을 준다.

 

2. 전파 지연 ( Propagation Delay)

전송지연이랑 엄청 햇갈리게 만들어져 있다. ( 번역의 문제인가? )

어찌 되었던 이 전파 지연은 말 그대로 위 그림에서 왼쪽 라우터에서 오른쪽 라우터로 패킷을 보내는데 걸리는 시간이다.

그렇기에 라우터들 간의 거리가 멀면 멀수록 딜레이가 커지는 것은 당연하게 알 수 있다.

그리고 우리는 보통 광 섬유를 쓴다 가정 시 속도는 빛의 속도와 비슷하거나 느릴것이다. 

그렇기에 그걸 기준으로 계산을 하면 된다. ( 유명한 물리 식 거 = 속 * 시 )

 

3. 노드 처리 지연 ( Nodal Processing Delay)

얘는 그림처럼 패킷이 라우터에 도착을 한다면, 라우터는 이 패킷을 분석한 후, 어디로 보내야 하는가 아니면 checksum을 할 수도 있을 것이다. 이런 처리를 하는 것이 노드 처리 지연이라고 한다.

듣기로는 과거에 성능이 안 좋을 때에는 당연히 이 지연이 시간이 많이 걸렸지만, 요즘 점점 성능이 좋아지면서 고속 라우터인 경우 밀리 세컨드 안으로도 해결이 가능하다고 한다.

 

4. 큐 딜레이 ( Queuing Delay )

패킷이 오면 라우터는 바로바로 보내주지 않고 위에서 말했다 싶이 처리를 해야하기도 하고, 밖의 네트워크가 혼잡이 발생한다면 잠깐 기달려야 한다. (보내질 못 할테니)

그런데 다른 패킷이 온다? 그러면 받아서 대기를 시켜줘야 할 것이다. 이게 큐라는 자료구조에 넣고 대기시키는 것으로 안다.

당연하게도 라우터에는 용량의 한계가 있을 것이고, 큐가 꽉찰 시, 패킷이 loss되는 상황이 나오는 것이다. ( 패킷 로스 상황 - drop 하기에 )

뿐만 아니라 현대에서도 이 큐잉 딜레이는 문제가 많다고 한다.

네트워크가 혼잡하면 혼잡할 수록 이 큐 딜레이는 자주 발생하고, 길어질 것이며 그렇기에 밀리 ~ 마이크로 단위 까지도 간다고 한다.

 

 

'CS > 네트워크' 카테고리의 다른 글

WebSocket과 리눅스에서 소켓이란...?  (0) 2023.06.07
OSI 7계층 PDU이름  (0) 2023.06.07
DNS 계층 구조  (0) 2023.06.06

댓글