wanna be dev 🧑‍💻

Cool 하고 Sick한 개발자가 되고 싶은 uzun입니다

A.K.A. Kick-snare, hyjhyj0901, h_uz99 solvedac-logo

Computer Science/Computer Network

📡 [Network] 네트워크 개요 - Performance 성능 (Packet Delay 패킷지연, Packet Loss 패킷 손실, Throughput 처리율)

Kick_snare 2022. 9. 20. 22:59
728x90

본 포스팅은 < 컴퓨터 네트워킹 하향식 접근[8판] James F. Kurose, Keith W. Ross 저/최종원, 강현국, 김기태 > 을 참고하여 작성되었습니다.

Ch01 - Introduction

4. Performance

패킷 지연과 손실은 어떻게 일어나는가?

  • A와 B가 보내는 패킷은 라우터로 보내진다
  • 보내진 데이터는 보내지기 전까지 대기 줄을 선다 (packet queuing)
    • 여기서 대기하는 시간으로 인해 네트워크 지연이 발생
  • 만약 라우터에서 나가는 속도보다 들어오는 속도가 빠르다면?
    • 큐 버퍼가 가득차고 넘쳐서 받지 못하는 패킷으로 인해 손실이 일어난다

Packet Delay 패킷 지연의 구성

패킷 지연 시간은 아래 시간을 합친 값이다

  • nodal processing 처리 시간
    • 비트 에러를 확인, 출력 링크를 결정하는 처리 시간
    • 비교적 오래 걸리지 않음
  • queueing delay 큐 대기 시간
    • 라우터의 큐에서 대기하는 시간
    • 예측이 불가 → 라우터의 혼잡도에 영향을 받음
  • transmission delay 전송 시간
    • 링크에 비트를 싣는 시간
    • L / R (패킷 비트 / 링크 처리률)
  • propagation delay 전파 시간
    • 물리적 링크를 타고 전파되는 시간
    • 빛의 속도로 이동하기에 매우 빠르다
      • 무시 할 만한 아주 작은 시간
      • 매우 긴 거리의 경우 문제가 될 수 도 있다

적용 예시 문제 : Caravan analogy

  • 차는 100km/hr 속도로 전파 (전파속도)
  • 톨게이트 부스는 각 차당 12초가 걸림 (비트당 처리시간)
❓ 2번째 부스 지나기 전, 10대의 차량 행렬이 나열될 때까지의 시간은??
➡️ 전송시간 12 * 10 + 전파시간 100km/(100km/hr) = 62분

Packet queueing delay 패킷 큐잉 지연

  • 언제 큐잉 지연이 커지는 가??
    • 트레픽이 큐에 도착하는 비율, 링크 전송률, 도착 트래픽 특성등에 영향을 받음

  • Traffic Intensity 계산해보기
    • R 링크 대역폭 (bps), L 패킷 길이 (bits), a 평균 패킷 도착률
    • La / R 가 0에 가깝다면 지연이 작다
    • La / R 가 1에 가깝다면 지연이 크다
    • La / R 가 1보다 크다면 지연 시간은 무한대로 올라간다

실제 인터넷 지연 시간을 측정해보기

  • traceroute 라는 프로그램을 사용
    • 근데 보안 문제 때문에 막혀서 사용해보지 못함…
    • 그런게 있구나~

  • 프로그램을 돌려보면 이런식으로 지연 시간을 측정해 볼 수 있다고 한다

Packet loss 패킷 손실

  • 앞서 설명하였듯이 큐가 가득차서 버려지는 패킷으로 인해 손실이 발생
  • 손실 패킷을 전 노드로 재 전송할 것인지? 시스템으로? 재전송 안할것인지?
    • 이에 따른 프로토콜이 존재

Throuhput 처리율

  • Throughput: 송신자로부터 수신자까지의 비트의 처리율
    • instantaneous : 특정 호스트가 패킷을 수신하는 비율
    • average : 일정 기간 동안의 평균 처리율

만약 위와 같이 여러 링크의 처리율이 다르다면??

  • 여러 개의 링크 중 가장 작은 처리량을 가진 링크의 처리율을 따르게 된다
  • 이러한 링크를 Bottleneck Link 라고한다

  • 주로 bottleneck 은 코어와 클라이언트, 코어와 서버 사이의 링크에서 주로 발생한다.
  • 코어 링크는 성능이 좋아 병목현상을 걱정하지 않아도 된다

 

728x90