CS/컴퓨터 네트워크

[컴퓨터 네트워크] Performance - loss&delay, TraceRoute

윤곰이 2024. 7. 4. 22:57
학교에서 들은 컴퓨터 네트워크 강의 내용을 복습하면서 작성한 글입니다.
March 14, 2024 3:04 PM

 

Delay & Loss in Packet Switching

  • 패킷은 router buffers(저장공간) 에서 queue하면서 대기한다.
  • → Input (Arrival rate) > Output capacity : queue ⬆️ , delay ⬆️ (처리시간)
  • 패킷이 저장공간에 가득차면 packet loss 발생

Packet Delay

  • delay에 영향을 끼치는 4가지 요소가 있음

1. nodal processing (노드의 처리, 확인 시간)

  • bit error 체크
  • output link 결정 알고리즘 돌리는 시간

2. queueing delay

  • 처리, 확인 후 전송을 위해 output link에서 대기하는 시간
  • 라우터의 혼잡도에 따라 다름

3. transmisson delay

  • 패킷 밀어넣는데 걸리는 시간
  • L/R
  • R : link transmisson rate (bps)
  • L: packet length (bits)

4. propagtion delay

  • 데이터(bit)가 signal로 바뀌어서 전송되는데 걸리는 시간
  • d/s
  • s: propagation (전파) 속도
  • d: physical link의 길이

 

Packet Queueing Delay

  • a: 평균 패킷 도착 비율
  • L: 패킷 길이
  • R: link bandwidth (통과 용량)

L*a/R: 도착하는 비트의 수/도착 비트가 빠져나갈 수 있는 파이프 용량

  • L*a/R~0 : queueing delay ⬇️
  • 1에 가까워질수록 딜레이 ⬆️ (기하급수적으로 증가)
  • 1보다 크면 무한

L*a = R 이어도 processing, propagation delay가 발생하므로 delay가 없지 않다!!!

 

TraceRoute 프로그램

경로추적을 통해서 delay가 발생하는 위치를 찾아냄

  • IP 프로토콜의 header에 있는 TTL(time-to-live:생명주기) 의 값을 이용
  • TTL을 1부터 증가시켜가며 보냄
    • 각 라우터에 도착하면 TTL=0 이므로 에러메세지 → sender로 돌아옴 (송신자 정보: 어떤 라우터 인지 IP 주소를 포함)
    • 다시 sender로 돌아왔을 때 왕복시간을 이용해서 delay 위치 찾을 수 있음
  • 목적지에 도착하면 TTL=0 이더라도 버리지 않으므로 error 발생시켜야함
    • 16비트의 포트번호 중 목적지 computer가 쓰지 않을 번호를 넣어서 보내면 → 목적지에서 error 발생

Packet Loss

  • router는 유한한 크기의 buffer를 가지고 있기 때문에 초과하는 패킷이 전송되면 버림
  • 라우터는 버린 데이터를 무엇인지 알고 재전송할 수 없음(router는 단순구조일수록 성능이 좋음. 기억하고 있을 필요 X)
  • → sender가 책임지고 재전송 해야함
  • 비디오 스트리밍 서비스의 경우: 재전송X 대신에 품질을 내리면서 사용자가 끊임 없이 계속 볼 수 있도록 함

Throughput

  • 얼마나 많은 bit가 단위시간에 오는가?

server에서 client 까지 한 개의 라우터, 그 사이 2개의 Link가 있다고 할 때,

throughput: 더 좁은 pipe의 영향을 받음 (무조건 통과해야 하기 때문) - bottleneck link