School Lecture Study/컴퓨터 통신

3. 네트워크 성능

vㅔ로 2022. 10. 25. 03:20
728x90

성능

  • 네트워크 비교/평가 기준
  • 빠른 네트워크란?

성능 (Performance) : 대역폭

  • 대역폭 (Bandwidth) - 처리량/처리속도 (throughput)
    • 단위 시간당 전송될 수 있는 데이터의 양
    • Ex. 10Mbps (bits-per-second) → 얼마나 보낼 수/받을 수 있는지에 대한 양
    • 측정 지점 : 링크간 대 종단간 (end-point, end-to-end)
    • 표기 방법
      • KB : 2^10 bytes
      • Mbps = 10^6 bits per second
    • 대역폭은 비트 폭 (bit width) 과 관련 있다.
      • 속도가 높아지면 비트폭은 작아진다. (비트 사이가 좁아진다.)
      • Ex. 속도를 두 배로 보내면 비트간 간격이 가까워진다
      • 속도가 높아지면 비트폭이 작아져서 간섭/오류 가능성이 높고, 천재 지변시 오류 가능성이 높다. 고속 전달로 정보를 많이 받을 수 있다.

성능 : 소요시간/지연시간

현재는 스위칭이 더 느리고, 예전에는 스위칭이 더 빨랐다.

스위치 : 컴퓨터. 2배씩 빨라짐

링크 : 10배씩 빨라짐

  • 소요시간 (Latency) / 지연 시간 (delay)
    • 소요시간 ≠ 처리 시간
    • 소요시간 = 뭔가 하는데 진짜로 걸리는 시간
  • A 지점에서 B 지점으로 메시지를 송신하는데 걸리는 시간 (t1 - t0)
  • 때로는 왕복 지연 시간 (round-trip time: RTT)이 중요할 수도 있다.
  • 시간 소요 항복
    • 소요시간 = Propagation + Transmit + Queue [+ 스위칭 시간]
    • Propagation (전파지연시간) = Distance / SpeedOfLight
      • Physical한 길이에 영향을 받는다.
    • Transmit (전송 시간) = Size(메시지의 크기) / Bandwidth (파이프의 용량)
    • 광속 (Speed of Light) — 전파의 속도
    • 직접 링크에서는 큐잉 지연(queueing delay)은 없다. (스위칭에서만 일어나고, 점대점 연결이나 직접 링크에서는 없다)

성능 (Performance) - 3

  • 대역폭과 소요시간의 상대적 중요성
    • 작은 메시지 (1byte): 소요시간 중요
    • 1ms vs 100ms dominates 1Mbps vs 100Mbps
    • 큰 메시지 (25 MB) : 대역폭 중요
    • 1Mbps vs 100Mbps dominates 1ms vs 100ms
  • 무한대 대역폭
    • 총 소요시간이 중요하다.
      • Throughput = TransferSize / TransferTime(전송 완료시간)
      • 회선 스위칭 : TransferTime = RTT + (1/Bandwidth) x TransferSize
      • 패킷 스위칭 : 여러 요소에 영향
    • 1-MB file to 1-Gbps link as 1-KB packet to 1-Mbps link
    • 데이터도 같이 증가한다. (대역폭을 무시할 수는 없음)

지연시간 x 대역폭 (Delay x Bandwidth Product = BDP)

효율을 고려할 때 핵심적인 기준

  • 전송중인 비트 수 (in flight) or “in the pipe” 최대/적정 데이터 양
  • 비트로 나타내는 링크의 길이 (bit length)
    • 링크의 부피
    • 대역폭이 반영된 지연시간
  • Ex. 100ms x 45Mbps = 560KB
  • 옛날 링크들은 BDP가 작아서 파이프의 효율이 높았다. 그러나 최신 링크들은 BDP가 커서 파이프의 효율이 낮다.
    • 1KB를 1kbps로 보내면 1초, 1Mbps로 보내면 1/100초이다.
    • 파이프의 효율 : 파이프가 놀지 않게 꽉 채우고 있는지에 대한 것. 얼마나 파이프를 효율적으로 사용하는가?
    • BDP를 넘치게 하면 overflow가 난다.

성능 : 기타 사항

  • 응용의 요구 사항
    • 대역폭 요구 : 버스트(burst) 대 최고속도 (peak rate)
    • 지터(jitter): 소요시간의 변이 (패킷 사이의 차이)
  • 기타 주의 사항
    • 만일 (메시지) 길이가 1이라면 대역폭은 의미가 없다. (큰 차이 없음)
    • 프로세스 간의 소요시간에는 소프트웨어 처리 부하도 포함된다.
    • 거리가 짧으면 소요 시간에는 소프트웨어 부하가 주 요소가 된다.

통신 성능을 높이는 방법?

  • 처리량 (대역폭)을 높이는 방법
  • 소요시간 (지연시간)을 줄이는 방법
  • 두 방법은 다르다.
    • 대역폭을 높이면 소요 시간이 일부 개선되지만, 소요시간은 그 외에도 다른 요소가 포함된다.
    • 또한, 데이터 양이 작으면 대역폭 확장은 효과가 미미하다.

대역폭을 높이는 방법?

  • 한 번에 보내는 양을 높인다. (1M → 2M으로 전송량 늘리기)
    • 대형 운송차, 2층 버스 …
    • 데이터를 신호화하는 작업의 효율을 증대시킨다.
    • but 한 없이 쪼개는 것은 불가능하다. 물리적 한계에 거의 다다른 상태
  • 고속 도로 / 차선을 만들어 사용한다. (고주파 채널 사용)
  • 채널을 넓힌다.
    • 많은 차선을 확보하고, 많은 차량으로 동시에 운반한다.
    • 넓은 대역 채널을 사용한다.
    • 여러 통신 채널을 병렬으로 사용한다.

소요시간을 줄이는 방법?

  • 신호 (전파/광파)의 속도를 높일 수는 없다. 속도는 상수임.
  • 지역 처리를 높여서 실질적인 거리를 줄인다.
    • Caching, proxy
  • 트래픽을 조절해서 큐잉 대기 시간을 줄인다.

728x90