CS/Network

Delay, Loss, Throughput in Network

WakaraNai 2021. 10. 15. 16:44
728x90
반응형

+) 1 bps = 1000bit/set

 

  • R bps : link bandwidth
  • L bits: packet length
  • a : average packet arrival rate

 

 

Delay

packet switch에서 delay에 순서가 존재

  • 1. (nodal) processing delay : packet의 오류가 없는지 어디로 보내야하는지 결정하기 위한 시간
    • 한 hop(이전 노드로부터 링크를 거쳐 전송되면서)을 거치면서 비트 오류가 발생했는지 목적지로 가기 위해 어느 output port로 내보내야 하는지 등을 결정하는데 소요되는 delay
  • 2. queueing delay : 자신의 차례가 될 때까지 buffer에서 기다리는 시간
      • router의 혼잡도에 따라 delay가 달라짐
      • 다른 패킷이 링크를 사용중이어서 바로 전송될수 없는 경우 차례가 될 때까지 기다는 delay
      • traffic intensity (TI) = L*a/R 
          • = (bit가 queue에 도착하는 평균 속도) / (queue에서 나간 속도)
      • 서비스할 수 있는 양보다 일이 더 많으면 delay 무한정 증가
      • 두 선이 교차하는 지점 이후로 급격히 증가
        • 저 지점이 대충 0.7
        • traffic intensity가 커질 수록 delay 증가, packet loss 발생

      • 예제
        • transmission rate가 1 kbps인 링크에 전송하기 위해
        • 5개의 packet들 (개당 100bit)이 초당 큐에 도착. 
        • 이 때의 TI == (100 bits/packet * 5 packet/second) / 1kbps
        • == 500 bps / 100 bps = 0.5
  • 3. transmission delay : 차례가 되어 link에 packet이 실리는 데 걸린 시간
    • 패킷의 비트들을 링크로 내보내는데 소요되는 delay
    • == (L bits) / (R bps)
    • 예제
      • 4000bit 길이의 packet을  link bandwidth가 1000Mbps인 link에 실을 때 걸리는 시간
        • = 4000bit / 1000*10^6 bit/s  = 4/10^6 sec  = 0.000004 sec
      • 초당 몇 개의 packet을 실을 수 있는가?
        • 1000 * 10^6 bits / 4000 bits  = 10^6 / 4  = 25*10^4개
  • 4. propagation delay : 전송하는데 걸린 시간
    • 링크의 한 끝에서 다른 끝에 도달하는데 걸리는 delay
    • == d / s 
        • d : link의 길이,  s : 링크 위를 움직여가는 속도 (~2*10^8 m/sec)
        • 전선이 길 수록 오래 걸림 ( 위성 통신이 오래 걸리는 이유)

 

 

 

Free (available) buffer

 buffer가 꽉 차면 packet loss 발생

d_nodal : 한 노드를 거치는 데 걸린 시간

  • packet이 한 hop을 건너오면서 에러가 발생했는지, 다음 link는 어디로 해야하는지 등등에 따라 달라짐
  • 현대는 msec 이하의 delay를 가짐

 

 

Caravan에 빗대어 설명

 

차 한 대를 1bit로 고려

10대의 차가 전부 다 첫 번째 톨게이트를 통과하기 위해서 개당 12초씩 소요

  • == (transmission time)
  • 모든 차가 톨게이트를 통과하려면 120초가 걸림

마지막 차가 첫번째 톨게이트 통과 후 두 번째 톨게이트를 나오는 데 까지 걸린 시간은 1hr

  • == (propagation time)
  • 차의 속도가 (100km/hr) 이므로 
  • 100km / (100km/hr) = 1hr

모든 차가 두번째 톨게이트까지 오는 데 총 걸린 시간 == 1hr + 120초

 

 

<변형>

차의 속도가 (1000km/hr)로  더 빠르게 propagate 중이라면,

첫번째 톨게이트를 통과하는데 1분이 걸린다면

첫번째 차는 모든 차가 첫번째 톨게이트를 빠져나오기 전에 도착

 

100km를 달리면서 (100km / (1000km/h) == 1/10h == 6분) 소요

총 1+6 == 7분 소요

그럼 마지막 차 중 3대의 차는 첫번째 톨게이트를 기다리고 있음

 

즉, 링크 길이보다 패킷 하나의 크기가 더 크다면,

패킷의 앞부분은 이미 링크의 끝에 도달했지만

끝부분은 아직 링크에 올라오지 못한 경우도 존재할 수 있음

 

 

 

Real World Internet delays

traceroute program 

패킷이 인터넷에서 목적지까지 전달되면서 실제로 각 hop에서 발생하는 delay를 보여주는 application program

  •  source부터 destination까지 가는 길에 3개의 probe packet을 보냄.
  • 이를 받은 router는 이에 대한 응답을 보냄.
  • 그래서 probe를 보낸 시점과 응답 받은 시점의 차이를 계산하여 네트워크의 delay를 측정
  •  
      
  • 한 라우터 당 3 probes 씩 순차적으로
    •  
      • 19 개의 router를 지남
      • 다음 번 router로 넘어갈 수록 delay가 점점 길어짐
      • 7-8 router 사이에 delay가 급격히 증가 
        • 이는 미국 -> 유럽 이라 trans-oceanic link를 지났음을 추측
        • * : 값이 측정되지 않음

 

 

Packet Loss

  • buffer가 꽉 찬 상태에서 packet 들어오면 packet loss 발생
  • loss된 packet이 바로 이전 노드에 의해 다시 전송되기도 하고,
  • 아예 source부터 다시 해야할 수 있음

 

Throughput

  • 단위 시간당 처리할 수 있는 일의 양
  • 단위 : bit/time
  • 종류
      • instantaneous : 특정 순간에 있어 속도
      • average : 전체 시간에 대한 속도

 

  • server끼리 파일을 주고받음. 중간에 하나의 packet switch를 거치게 됨
  • packet switch를 기준으로 앞뒤로 link capacity가  Rs bit/sec, Rc bit/sec이다
  • 이 때 source server가 파일을 보내는 것은, 파이프에 액체를 흐르게 하는 것과 유사
    • 1초당 Rs bit 만큼 흘릴 수 있는 파이프라고 생각하면 된다

 

  • BottleNeck link : 초당 bit 전송 량이 적은 쪽에 맞추어 흐르게 된다
    • Rs < Rc : 만약 서버에 연결된 파이프가, 데스크탑에 연결된 파이프보다 더 많은 bit를 나른다면?
    • Rs > Rc 




  • Internet에 Throughput 보기
    • 가운데 R이 인터넷이라고 하면, 거기에 10개의 파이프가 연결 되어 있다고 가정하자 
    • 이 때의 end-to-end throughput ==  min(Rc, Rs, R/10)
      • 여기서 Rc, Rs로 인해 종종 bottleneck이 발생
      • R link 자체의 대역폭(bandwidth)가 크더라도,
      • 그 link를 여러 connection이 공유하면
      • intervening traffic으로 인해
      • 그 대역폭이 큰 R link에 bottleNeck이 발생할 수 있음. 

 

 

 

 

예제

  • 두 라우터 사이를 연결한 인터넷 R에는 4개의 커넥션이 지나고 있음.
  • 이 때의  throughput  == min( 20Mbps, 40Mbps, 400Mbps/4) == 20Mbps

 

 

정리

 

그림 속 첫번째 link에서 가용할 수 있는 bandwidth = (10-3) = 7Mbps

이것이 가장 작은 throughput이기 때문에 전체 네트워크의 throughput도 7Mbps가 된다.

 

728x90
반응형

'CS > Network' 카테고리의 다른 글

Application layer  (0) 2021.10.15
Networks Under Attack : Security  (0) 2021.10.15
Protocol Layers, Service Models  (0) 2021.10.15
Network Core - Switching, ISP  (0) 2021.10.15
Internet & Network Edge  (0) 2021.10.15