패킷 지연과 손실이 발생하는 과정
라우터 버퍼 안에 존재하는 패킷 큐에서 패킷은 자기 차례를 기다린다. 그러나, 라우터에 들어오는 패킷의 속도보다 나가는 패킷의 속도가 느린 경우에, 용량을 초과하면서 패킷 손실이 발생한다. 이때 패킷 지연은 조금 복잡한데, 4가지 지연 시간이 있다.
패킷이 전송될 때 발생되는 총 지연인 Nodal delay = Processing delay + Queueing delay + Transmission delay + Propagation delay 이다. 각각의 지연에 대해서 알아보자.
1. Processing Delay
Nodal processing 과정은 라우터 내에서 패킷이 전달하는데, 이 때 발생하는 지연을 말한다. 이 과정에서 에러를 확인하고 패킷이 어디로 나가야 하는지 확인한다. 실제로는 매우 짧은 시간이 소요되며, 라우터 내의 하드웨어에 따라 지연의 정도가 좌지우지 되기 때문에 전체 지연 시간에 큰 영향이 없다.
2. Queueing Delay
라우터에 패킷이 너무 많이 몰린 경우, 버퍼 즉, 큐에 패킷들을 저장한다. 이 때 큐에서 패킷을 내보낼 때까지 기다리는 시간을 말한다. 이는 라우터의 Congestion 정도에 따라 다르기 때문에, 상황에 따라 지연 시간이 다르고 예측이 어렵다.
3. Transmission Delay
queue에서 빠져나간 패킷이 output link로 빠져 나가는데 걸리는 지연 시간이다. 이는 link의 bandwidth에 따라 크게 차이나는데, 패킷의 길이를 L, link의 전송율(bps)을 R이라 할 때, L/R로 나타낼 수 있다.
4. Propagation Delay
패킷이 link를 따라 전송될 때 발생하는 지연이다. 이는 라우터 간의 거리와 link의 매체에 따라 다르기 때문에 다른 지연 시간에 비해 매우 짧다. link 길이를 d, 전파 속도를 s라 할 때, 이는 d/s로 나타낼 수 있다.
TraceRoute
참고로, 이런 지연 시간은 Traceroute라는 프로그램을 통해 분석할 수 있다. 송신자가 라우터에 패킷 3개를 보내어 전송 시각과 응답 시각의 차이를 비교해 시간을 측정한다.
전체 노드 지연
정리해보면, 전체 노드 지연(Nodal Delay) = Processing Delay + Queueing Delay + Transmission Delay + Propagation Delay이다. 모든 지연 요소가 전체 노드 지연에 많은 영향을 주는 것은 아니다.
Propagation Delay(전파 지연)은 내부의 두 라우터를 연결하는 링크에서는 무시해도 될 정도로 지연이 짧다. 그러나, 정지 위성 링크로 연결된 두 라우터의 경우에는 수백 밀리초로 전체 노드 지연의 주요 요소가 된다. Transmission Delay(전송 지연)은 lan처럼 10 Mbps 이상의 전송률인 경우에는 무시할 수 있지만, 저속 다이얼업 모뎀 링크에서 보내지는 인터넷 패킷은 수백 밀리초에 이를 수 있다. Nodal Processing Delay(처리 지연)은 보통 무시된다.그러나 라우터가 패킷을 전달할 수 있는 최대 속도에는 영향을 준다.
큐잉 지연과 패킷 손실
큐잉 지연
한 라우터 내에서 발생하는 지연에 대해 알아보자. 다른 것들과 달리, 큐잉 지연은 패킷마다 다를 수 있다.
만약, 비어 있는 큐에 10개의 패킷이 동시에 도착한다면?
먼저 첫 번째로 전송된 패킷은 큐잉 지연이 발생하지 않는다. 그러나 마지막으로 전송된 패킷은 9개의 패킷이 모두 전송될 때까지 대기하기 때문에 많은 큐잉 지연이 발생한다. 따라서, 큐잉 지연은 통계 측정을 일반적으로 이용한다. 주로 트래픽이 큐에 도착하는 비율, 링크 전송률, 도착하는 트래픽의 특성이 큐잉 지연에 큰 영향을 주게 된다.
아래와 같은 상황을 가정해보자.
패킷이 큐에 도착하는 평균율 : a 패킷/초
전송률(패킷이 큐에서 밀려나는 비율) : R 비트/초
모든 패킷은 L 비트이며 큐가 매우 커서 무한대의 비트를 저장할 수 있다고 가정
이때, 트래픽 강도는 La 비트/초 이다.
- La/R > 1 : 비트가 큐에 도착하는 평균율이 비트가 큐에서 전송되는 비율을 초과
- 큐는 무한대로 증가하고 이에 따라 큐잉 지연이 무한대로 증가한다.
- La/R <= 1 : 도착 트래픽의 특성이 큐잉 지연에 영향
- 하나의 패킷이 L/R초마다 도착하면 모든 패킷은 빈 큐에 도착하기 때문에 큐잉 지연은 없다.
- 그러나 패킷이 몰려서 한꺼번에 큐에 도착한다면 상당한 큐잉 지연이 발생할 것이다.
따라서, 일반적으로 패킷은 고정된 패턴으로 도착하는 것이 아니라, 랜덤으로 도착한다.
패킷 손실
위의 예시에서는 큐가 무한대 크기를 가진다고 했지만 실제로는 큐의 크기는 정해져 있다. 그래서, 트래픽 강도가 1에 접근하면 큐가 꽉차게 된다. 만약, 큐가 꽉차서 패킷을 저장할 수 없다면 라우터는 패킷을 버린다. 트래픽 강도가 커질수록 버려지는 패킷 수가 늘어난다.
Throughput
Throughtput이란, 네트워크 상의 어떤 노드로부터 다른 노드로 전달되는 단위 시간당 데이터 전송 처리량을 말한다.
데이터가 전송되면서 여러 link를 거치게 되는데, 이때 데이터의 전송 속도를 결정하는 부분은 전송 속도가 가장 느린 link이다. 따라서, 이를 병목(bottleneck)이라고도 한다.
참고로, 앞서 언급한 Bandwitdth와 차이점은 Bandwidth은 최대로 전송할 수 있는 데이터의 rate이고 Throughput은 실제로 측정하는 값이므로 Throughput < Bandwidth라고 볼 수 있다.
Security
네트워크 통신에서 가장 중요한 것이 보안인데, 이 부분은 가볍게 보고 넘어가도 된다.
Malware
우리가 흔희 말하는 '악성 코드'를 말한다. 2가지 종류가 있는데, 바이러스는 다른 파일로 감염시키는 것이고, 웜은 감염 대상이 없어도 스스로 실행할 수 있다.
DoS
Denial Of Service는 거짓된 트래픽을 마구 발생시켜서 정상적인 트래픽을 이용하지 못하게 하는 공격 수법이다.
Sniffing
지나가던 패킷을 몰래 읽거나 복사하는 방법이다.
IP Spoofing
공격자는 본인의 IP 주소를 신뢰할 수 있는 주소로 위장하여 특정 노드와 통신한다.
'CS > 네트워크' 카테고리의 다른 글
[데이터통신] 1. Introduction(프로토콜, TCP/IP 레이어, OSI 모델) (0) | 2024.04.06 |
---|---|
[데이터통신] 1. Introduction(데이터 통신, 네트워크) (0) | 2024.04.06 |
[컴퓨터망] 1-4. 프로토콜 레이어 (0) | 2024.03.24 |
[컴퓨터망] 1-2. 네트워크 코어, 패킷 교환, 회선 교환 (0) | 2024.03.11 |
[컴퓨터망] 1-1. 인터넷, 프로토콜, 네트워크 구성요소 (1) | 2024.03.11 |