본문 바로가기

컴퓨터 네트워크/Computer Networking 정리

CH1 : Computer Networks and the Internet (3)

* 이 글에 관련된 모든 내용은 Computer Networking A Top-Down Approach 7th에서 가져온 내용이다. *

 

Network Performance


Network의 performance는 다음 세가지를 평가한다.

1. Throughput : 우리가 네트워크 상에 실제로 얼만큼의 데이터를 보낼 수 있는지 (일반적으로 bit/second 단위로 표현)

2. Delay (latency) : 보낸 데이터가 얼만큼의 시간 후에 도착하는지

3. Loss : 얼만큼의 loss가 발생하는지

 

이번 챕터에서는 delay에 대한 내용을 다룰 것이다.

 

Delay


딜레이는 보통 네가지로 나눌 수 있다.

 

1. queueing delay : 전송되기 까지 큐에서 기다리는 시간이다. 즉, router의 혼잡정도에 의존성을 갖는다.

2. processing delay : 에러를 체크하는 시간이다. 일반적으로 무시될만한 시간이다.

3. transmission delay : 링크를 통해 패킷을 보내는데 걸리는 시간이다. link bandwidth(bps)/packet length(bits)로 계산할 수 있다.

4. propagation delay : physical link에서 src부터 dst까지 travel하는데 걸리는 시간이다. 링크 길이/보내는 속도로 계산할 수 있다.

 

 

우리는 앞서 세가지 네트워크 구성 방식을 배웠다. (Circuit Switching, Virtual Circuit, Datagram)

한가지의 예시로 이 세가지 구성방식에서의 딜레이를 한번구해보자.

 

다음과 같은 예제가 있다.

홉의 개수가 3이라는 것은 종착지까지 3개의 링크로 구성되어있다는 것이다.

 

보낼 메시지의 길이가 주어지고 패킷의 크기또한 주어진 것을 볼 수 있는데, 패킷의 헤더사이즈가 40이고 패킷사이즈가 1040이니 한 패킷에 넣을 수 있는 데이터의 양은 1000bits이다. 즉, 5500bits는 5개의 1040 bits와 1개의 540bits 총 6개의 패킷으로 나누어질 수 있다.

 

 

1. Circuit Switching

total Delay = setup_time + propagation delay + transmission delay이다

 

이때, 각 링크간의 propagation delay가 다 같다고 가정이 되어있지만 propagation delay는 각 링크간의 속도와 거리에 따라 링크간의 값이 달라질 수 있기 때문에 주의해야 한다. 만약 링크간의 propagation delay가 다르다면 기울기가 달라지겠지요!

 

2. Datagarm

 주의해야 할 점은 패킷으로 쪼개는 과정에서 기존 메시지의 길이보다 (패킷개수 * 헤더사이즈)만큼의 데이터가 추가되었다는 것이다. 또한 setup과정이 없다.

 

3. Virtual Circuit

Datagram방식에서 setup시간이 추가되어 datagram에서의 delay보다 항상 크다는 것을 알 수 있다.

사실 이 측정방식은 Virtual Circuit방식에게 좀 불리하다. 어디까지나 이론적인 계산일 뿐 실제 측정값은 다를 수 있다.