[네트워크] 패킷 교환 네트워크에서의 지연(Delay and Loss in Packet Switching)
September 17, 2020
참고도서: 컴퓨터 네트워킹 : 하향식 접근. 7판. James F. Kurose , Keith W.Ross 지음
지연 유형
패킷 교환에서 발생하는 지연은 단순히 한 요소에만 영향을 받지 않는다. 다양한 지연의 유형들이 있지만 주요한 몇가지 지연 유형들을 먼저 알아보자.
Processing Delay(처리 지연)
처리 지연은 라우터 내부에서 발생한다.
전달받은 패킷에 에러가 있는지 체크하고 어느 목적지로 패킷을 보낼 것인지 결정하는데 걸리는 지연시간이다.
최근에는 라우터의 성능이 좋아지면서 무시할 수 있는 정도의 지연시간이 되었다.
Queing Delay(큐잉 지연)
라우터에 도착한 패킷은 라우터가 다른 패킷을 전송하고 있다면 라우터의 출력 버퍼에 들어가 대기하게 된다.
이때 큐에서 링크로 전송되기를 기다리는 지연시간을 큐잉 지연이라고 한다.
큐잉 지연은 라우터의 출력버퍼 크기나 한번에 라우터에 몰리는 패킷의 개수에 따라 결정된다.(Depends on conjestion level of router)
상황과 환경에 따라 지연시간의 범위가 크게 달라지는데, 이런 Delay Variation 을 Jitter
가변 요소가 큰 지연 유형이다.
Transmission Delay(전송 지연)
전송 지연은 패킷의 모든 비트를 라우터에서 링크로 밀어내는데 걸리는 시간을 의미한다.
우리는 주로 R 을 링크의 대역폭(bps)로 사용하고 L 을 패킷의 길이(bits)로 사용한다.
따라서 전송 지연은 L/R을 계산함으로 얻을 수 있다.
Propagation Delay(전파 지연)
링크로 들어온 순간부터 목적지까지 전파가 도달하기에 필요한 시간을 전파 지연이라고 한다.
우리는 d를 링크 매체의 길이로 사용하고 s를 전파 속도로 사용한다.
따라서 전파 지연은 d/s를 계산함으로 얻을 수 있다.
패킷 손실
한 페킷이 라우터에 도착했을 때 라우터의 출력 버퍼가 가득 찬 상태라면, 새로 들어온 패킷이나 기존 큐에 있던 패킷 중 하나를 버려야한다.
이렇게 패킷을 버리는 것을 drop 이라고 하고 패킷을 손실(loss) 했다고 한다.
Traceroute
Traceroute 는 네트워크 지연을 진단할 수 있는 프로그램이다.
사용자는 프로그램에 진단할 목적지의 호스트 이름을 입력한다.
출발지와 목적지 사이에 N-1개의 라우터가 있다면, 프로그램은 출발지에서 N개의 번호가 달린 패킷들을 전송한다.
이 번호는 1부터 N까지 순서대로 기록되어 있다.
N번째 라우터에 N번 패킷이 도달하면, 라우터는 출발지로 경과시간이 기록된 메세지를 보낸다.
위 과정을 총 세 번 반복해서 세번의 경과시간을 얻는다.
Throughput (처리율)
throughput은 파일의 전체 비트가 F라고 하고, 이 파일이 완전히 목적지까지 전달되는데 T 시간이 걸린다면, F/T로 나타낼 수 있다.
instantaneous: 어떤 시간 순간에 기록되는 throughput
만약 어떤 전송 경로가 하나의 라우터를 거쳐가는, 2개의 통신링크로 구성된 경우, 서버에서 라우터로 가는 처리율을 Rs 라 하고, 라우터에서 클라이언트 엔드시스템으로 가는 처리율을 Rc 라고 할 때, 처리율은 두 링크의 처리율 중 더 작은 처리율로 계산된다. 그리고 이렇게 더 느린 처리율을 가진 링크를 병목링크 (bottleneck link) 라고 한다.