Performance | 성능
네트워크 성능은 Delay(지연), Throughput(처리율), Packet loss(패킷 손실)가 있다.
그리고 Congestion control(혼잡 제어)는 성능을 향상 시킬 수 있다.
*Congestion control(혼잡 제어)는 Packet loss와 서로 연관이 있다.
Delay | 지연
Delay에는 transmission delay(전송 지연), propagation delay(전파 지연), processing delay(처리 지연), queuing delay(대기 지연) 이렇게 4가지가 있다.
Transmission Delay | 전송 지연
전송 지연은 1~100까지 보내는 시간을 말한다.
$$Delay_{tr}= \frac{Packet length}{Trasmission rate}$$
*Packet length(전송률) , Trasmission rate(1초 동안 보낼 수 있는 비트의 수)
Propagation Delay | 전파 지연
전파 지연은 0~100km 거리를 전파하는데 걸리는 시간을 말한다.
$$Delay_{pg}= \frac{Distance}{Propagation Speed}$$
*Distance(거리, Propagation Speed(속도)
Processing Delay | 처리 지연
처리 지연은 패킷을 처리하는데 걸리는 시간이다.
$$Delay_{pr}=Time required to prosess a packet$$
Queuing Delay | 대기 지연
대기 지연은 라우터에서 패킷을 기다리는 시간 즉, 작업이 실행될 때까지 대기열에서 대기하는 시간이라고 보면 된다.
$$Delay_{pu}=The time a packet waits in queues$$
Total Delay | 총 지연
총 지연은 전체 경로에서 라우터의 수 n을 알면 패킷이 만나틑 총 지연(발신지-목적지 노드구간에서의 지연)을 계산할 수 있다.
$$Total Delay=(n+1)(delay_{tr}+delay_{pg}+delay_{pr})+(n)(delay_{qu})$$
Throughput | 처리율
네트워크의 모든 지점에서 처리량은 초당 해당 지점을 통과하는 비트 수로 정의된다.
이는 해당 지점의 데이터 전송 속도를 나타낸다. 즉, 네트워크에서 데이터가 얼마나 빠르게 전송되는지를 나타내는 지표이다.
Packet loss | 패킷 손실
라우터가 다른 패킷을 처리하는 동안 패킷을 수신할 때, 수신된 패킷은 차례를 기다리는 입력 버퍼에 저장되어야 한다.
그러나 라우터에는 크기가 제환된 입력 버퍼가 있음으로 버퍼가 가득 차서 다음 패킷을 삭제해야 할 때가 올 수 있다.
이 경우에 패킷 손실이 발생하게 되는 것이다.
이러한 패킷 손실은 인터넷 네트워크 계층에 미치는 영향이 크다.
그 이유는 패킷을 다시 전송해야 하므로 오버플로가 발생하고 패킷 손실이 더 늘어날 가능성이 있기 때문이다.
혼잡 제어를 통해서 패킷 손실을 막아야한다.
Congestion control | 혼잡 제어
혼잡 제어는 성능 향상을 위한 메커니즘이다.
네트워크 계층에서의 혼잡에 대한 연구는 우리가 Tranport layer에서 혼잡 원인을 이해하고 네트워크 계층에서 사용 가능한 해결책을 찾는데 도움이 된다.
네트워크 계층에서의 혼잡은 처리량과 지연의 두 가지 문제와 관련이 있다.
혼잡 제어는 Open loop(혼잡이 생기기 전)와 Closed loop(혼잡이 생긴 후) 2가지로 나뉠 수 있다.
Open loop | 혼잡이 생기기 전
데이터 흐름에서 혼잡이 생기기 전에 피드백은 준다. 혼잡이 생기기 전 라우터에게 Backpressure 통해 송신자까지 전달한다.
Closed loop | 혼잡이 생긴 후
데이터 흐름에서 혼잡이 생긴 후 혼잡이 생긴 라우터가 직접 송신자(Source)에게 바로 명령을 하달한다.
이를 Choke packet이라고 한다.
*Choke packet : 목을 조른다. 패킷을 많이 보내지 못하게 쪼은다 라고 생각하면 된다.