모든 내용과 이미지는 Computer Networking- A Top Down Approach-Pearson을 참고하였습니다.
인터넷을 통해 파일을 전송하고, 이메일을 보내고, 웹사이트에 접속하는 등 다양한 작업을 수행함.
하지만 실제 네트워크 환경에서는 데이터가 즉시 전송되거나 손실 없이 완벽하게 전달되는 것이 불가능.
패킷 스위칭 네트워크는 데이터 전송 속도를 제한하고, 지연(Delay)을 유발하며, 경우에 따라 데이터가 손실(Packet Loss)되기도 함.
이번 글에서는 패킷 스위칭 네트워크에서 발생하는 주요 지연 유형과 데이터 전송 성능을 좌우하는 처리량(Throughput)에 대해 정리.
패킷은 출발지에서 목적지까지 이동하는 동안 여러 라우터를 거치며 다양한 종류의 지연을 겪음.
지연은 크게
- 처리 지연(Processing Delay)
- 대기 지연(Queuing Delay)
- 전송 지연(Transmission Delay)
- 전파 지연(Propagation Delay)
으로 나뉨
라우터가 패킷을 수신하면 먼저 패킷의 헤더를 확인하고, 해당 패킷을 어느 경로로 보낼지 결정함.
이때 소요되는 시간이 처리 지연.
처리 지연은 라우터의 성능에 따라 달라지며, 일반적으로 매우 짧은 시간(마이크로초 단위)이 소요됨.
대기 지연은 패킷이 라우터에 도착했을 때, 해당 패킷을 전송하기 위해 대기하는 시간을 의미.
라우터가 바쁘거나 트래픽이 많을 경우, 패킷은 전송되기 전 대기열에서 대기해야 함.
대기 지연은 트래픽의 양에 따라 달라지며, 네트워크의 혼잡도에 따라 지연 시간이 크게 증가할 수 있음.
전송 지연은 라우터에서 링크로 데이터를 보내기 위해 패킷의 모든 비트를 "밀어 넣는" 데 걸리는 시간.
패킷의 크기(L)와 링크의 전송 속도(R)에 따라 결정되며, 다음 공식으로 계산됨.
예를 들어, 1,000bit의 패킷을 1Mbps 링크를 통해 전송하는 경우,
전송 지연 = 1ms
패킷이 링크를 통해 다음 라우터로 전파되는 데 걸리는 시간.
전파 지연은 데이터가 물리적 매체(예: 광섬유, 구리선)를 통해 이동하는 데 소요되는 시간으로, 거리에 비례하며, 매체의 전파 속도에 따라 결정됨.
일반적으로 빛의 속도에 가까움
사용자가 한국에서 미국에 있는 웹사이트에 접속해 큰 파일(예: 100MB)을 다운로드하려고 한다고 가정함.
- 처리 지연(d_proc):
- 사용자가 웹사이트에 접속하면, 사용자의 요청이 한국에 있는 ISP의 라우터로 전달됨. 라우터는 이 요청을 분석하여 어디로 보내야 할지 결정하고, 패킷에 오류가 없는지 검사함. 이 과정이 처리 지연에 해당함. 일반적으로 이 지연은 매우 짧음(밀리초 단위).
- 큐잉 지연(d_queue):
- 이 패킷이 한국 ISP의 라우터에서 미국으로 전송되기 위해 대기 중일 때, 해당 라우터에 다른 트래픽이 많다면 패킷이 전송되기 전에 대기열에 쌓이게 됨. 이 대기 시간이 큐잉 지연임. 만약 네트워크가 혼잡하면 이 지연은 증가할 수 있음.
- 전송 지연(d_trans):
- 이제 패킷이 라우터에서 미국으로 가는 링크를 통해 전송됨. 전송 지연은 이 패킷을 링크에 내보내는 데 걸리는 시간으로, 링크의 전송 속도(예: 1Gbps)와 패킷 크기(예: 1500바이트)에 따라 달라짐. 예를 들어, 패킷 크기가 1500바이트이고 링크 속도가 1Gbps라면, 전송 지연은 12마이크로초 정도가 됨.
- 전파 지연(d_prop):
- 패킷이 한국에서 미국으로 물리적인 거리를 이동하는 데 걸리는 시간이 전파 지연임. 광섬유 케이블을 통해 빛의 속도로 이동하지만, 물리적 거리가 멀수록 지연 시간이 더 길어짐. 예를 들어, 한국에서 미국까지 약 10,000km의 거리가 있다고 가정하면, 전파 지연은 약 50밀리초 정도가 될 수 있음.
- 처리 지연: 라우터가 패킷을 분석하고 처리하는 시간.
- 큐잉 지연: 패킷이 전송 대기열에 있는 시간.
- 전송 지연: 패킷이 링크를 통해 전송되는 데 걸리는 시간.
- 전파 지연: 패킷이 물리적 거리를 이동하는 시간.
첫 번째 시나리오:
- 자동차 속도: 시속 100km
- 톨게이트(라우터) 처리 시간: 차 한 대당 12초 소요
- 질문: 10대의 차가 첫 번째 톨게이트를 모두 통과하고 두 번째 톨게이트에 도착하는 데 걸리는 시간은?
- 톨게이트 통과 시간:
- 10대의 차가 모두 첫 번째 톨게이트를 통과하는 데 걸리는 시간 = 12초 × 10대 = 120초 (2분)
- 전파 시간:
- 마지막 차가 두 번째 톨게이트에 도착하는 데 걸리는 시간 = 100km를 시속 100km로 이동 = 1시간
- 총 시간:
- 2분(톨게이트 통과 시간) + 1시간(전파 시간) = 62분
두 번째 시나리오:
- 자동차 속도: 시속 1000km
- 톨게이트(라우터) 처리 시간: 차 한 대당 1분 소요
- 질문: 첫 번째 차가 2번째 톨게이트에 도착할 때, 10대의 차가 모두 첫 번째 톨게이트를 통과했는지?
- 톨게이트 통과 시간:
- 10대의 차가 모두 첫 번째 톨게이트를 통과하는 데 걸리는 시간 = 1분 × 10대 = 10분
- 전파 시간:
- 첫 번째 차가 두 번째 톨게이트에 도착하는 데 걸리는 시간 = 100km를 시속 1000km로 이동 = 6분
- 결론:
- 첫 번째 차는 6분 후에 두 번째 톨게이트에 도착하고, 그때 10대의 차 중 4번째 차가 첫 번째 톨게이트를 통과 중임. (전체 통과 시간 10분)
요약:
대기 지연은 네트워크 혼잡 시 매우 중요한 요소.
트래픽 강도(traffic intensity)는 패킷이 대기열에서 대기하는 시간에 영향을 미침.
- La/R ≈ 0: 패킷이 거의 대기하지 않고 전송되며, 평균 지연 시간도 작음.
- La/R → 1: 대기 시간이 급격히 증가함.
- La/R > 1: 패킷 도착률이 처리 능력을 초과하므로 대기 시간이 무한대로 증가하거나 패킷이 손실될 수 있음.
이를 계산하는 공식:
여기서, λ는 패킷 도착률(패킷/초), L은 패킷 크기(비트), R은 링크의 전송 속도(비트/초)를 의미.
만약 트래픽 강도가 1보다 크다면, 도착하는 비트의 양이 전송 가능한 비트의 양을 초과하여 대기열이 무한정 길어질 수 있음.
이는 결국 패킷 손실로 이어질 수 있음.
즉, 네트워크가 과부하되면 패킷이 버퍼에서 버려지거나 손실될 수 있음.
처리량(Throughput)은 주어진 시간 동안 네트워크를 통해 전송되는 데이터의 양을 의미.
처리량은 여러 요인에 의해 결정되며, 특히 네트워크 상의 가장 병목 링크(bottleneck link)에 의해 제한됨.
예를 들어, 서버에서 클라이언트로 파일을 전송할 때, 서버와 클라이언트를 연결하는 모든 링크 중 가장 낮은 전송 속도를 가진 링크가 전체 처리량을 결정하게 됨.
이 그림은 네트워크에서 여러 연결이 있을 때 각 연결의 처리량(throughput)이 어떻게 결정되는지 보여줌
- 처리량 결정: 각 연결의 처리량은 다음 세 가지 값 중 가장 작은 값에 의해 결정:
- Rc: 수신자의 수신 속도
- Rs: 송신자의 송신 속도
- R/10: 백본 링크(R)의 대역폭이 10개의 연결로 공평하게 분배되었을 때 각 연결에 할당되는 대역폭
처리량은min(Rc, Rs, R/10)
으로 결정. 즉, 이 세 가지 값 중 가장 작은 것이 그 연결의 처리량을 제한함.
- 백본 링크의 병목 현상: 백본 링크(R)는 모든 연결이 공유하는 주요 네트워크 경로.
이 경로가 병목이 되어, 여러 연결이 있을 때 각 연결에 주어지는 대역폭이 줄어들 수 있음.
따라서 R/10은 각 연결에 할당되는 대역폭이 적을 때 주요 병목 원인이 됨.
- 실제 병목: 실제로는 송신 속도(Rs)나 수신 속도(Rc) 중 하나가 병목이 되는 경우가 많음.
즉, 송신자가 데이터를 빠르게 보내지 못하거나, 수신자가 데이터를 빠르게 받지 못하면 전체 네트워크 성능이 그들에 의해 제한됨.
- 각 연결의 처리량은
min(Rc, Rs, R/10)
에 의해 결정됨.- 송신자, 수신자, 또는 백본 링크가 병목이 될 수 있음.
서버와 클라이언트 사이에 2Mbps 링크가 있다고 가정.
이 링크를 통해 32Mb 크기의 파일을 전송하려면, 처리량이 2Mbps이므로 약 16초가 소요됨.
여기서 병목 구간은 2Mbps의 링크임.
만약 클라이언트와 서버 간의 링크 속도가 각각 다를 경우, 처리량은 더 낮은 링크 속도에 의해 제한됨.
네트워크에서의 지연과 처리량은 다양한 요소에 의해 결정되며, 네트워크 성능에 중요한 영향을 미침.
패킷 스위칭 네트워크에서는 항상 대기 지연과 패킷 손실의 가능성을 염두에 두고, 네트워크의 처리량을 최적화하기 위한 방안을 마련해야 함.
중요한 부분만 잘 정리돼 있어 잘 보고 갑니다 !