💬 지연과 손실
네트워크 전송도 결국엔 물리적인 전파를 통해 전달되는 과정을 거치게 된다. 사람이 사람한테 무언가를 건내줄때 실수를 하듯이 전기 선들도 주위 환경적인 요소가 굉장히 중요하다. 여기서 오류가 생긴다면 지연이 발생할 확률이 굉장히 높아진다.
패킷이 송신측에서 출발해서 수신측까지 도달하기까지의 과정에서 수많은 라우터를 거치게 된다. 경로상의 각 노드에서 패킷은 다양한 지연을 겪게 되는데 노드 처리 지연, 큐잉 지연, 전송 지연, 전파 지연이 대표적이다. 해당 지연들이 쌓이고 쌓여 전체 노드 지연을 일으킨다.
💬 지연(Delay)
Processing delay(처리 지연)
- 패킷 헤더를 조사하고 패킷을 어디로 보낼지 결정하는 곳
- 노드 처리 이후에 라우터는 목적지 라우터로 향하는 링크의 큐에 보내게 된다.
- 예시로는 오류 검사, 목적지 결정 등등이 있다
업스트림 노드에서 라우터 A로 패킷의 비트를 전송 할 때 발생한 패킷의 비트 수준 오류를 확인하는데 필요한 시간도 포함이 된다. 고속 라우터의 Processing delay는 일반적으로 마이크로(초) 이하이다. 그후 라우터 B로 링크 앞에 있는 대기열로 패킷을 전송한다.
Queuing delay(큐잉 지연)
- 큐에 저장되어 링크로 전송되기를 기다리는 패킷의 수에 따라 결정된다. 큐가 비어있다면 큐잉 지연이 0이 될 것이다.
- 큐에서 다른 패킷들의 작업이 끝나길 기다리는 시간을 뜻한다.
- 큐의 크기는 고정되어 있어 일시적으로 너무 많은 패킷이 들어와서 큐의 범위를 초과한다면 패킷 손실이 일어나기도 한다.(마이크로 ▶ 밀리)
transmission delay(전송 지연)
- 패킷의 모든 비트를 링크로 전송하는데 필요한 시간이다.
- 전송 지연은 패킷이 L비트이고 전송률이 R Mbps일때 L/R이다.
- 즉 채널의 전송 속도에 따라 달라지며 Server 와 Client간의 거리는 무관하다
propagation delay(전파 지연)
- 링크의 처음부터 목적지 라우터까지의 전파에 필요한 시간이다.
- 통신선과 거리가 지연 시간에 영향을 미친다.
라우터 A가 라우터 B로 전파가 되는데 시작에서 B로 전파되는데 필요한 시간을 전파 지연이라고 한다. bit는 링크의 전파 속도로 전파된다. 전파 지연은 두 라우터 사이의 거링를 전파 속도로 나눈 것이다. 즉, 전파 지연은 d/s이고 d는 라우터 A와 라우터 B의 거리이고, s는 링크의 전파 속도이다. 패킷의 마지막 비트가 노드 B로 전파되면, 패킷과 패킥의 모든 이전 비트는 라우터 B에 저장된다.
전체 프로세스는 라우터 B가 포워딩을 수행하면서 계속된다. 광역 단위에서는 전파 지연이 밀리초 단위로 나타난다.
💬 손실(Loss)
가끔씩 패킷은 목적지에 도착하기 전에 라우터에서 라우터로 여러번 튕겨진다. 이 과정에서 패킷이 손실되는데, 손실된 데이터 패킷은 성능 저하로 이어질 수 있다. 네트워크에서 너무 많이 튕긴 데이터 패킷은 손실 될 수 있다.
홉 수는 패킷당 최대 바운스 횟수를 설정해 이 문제를 해결한다. 바운싱은 단순하게 말하면, 최종 목적지를 찾을 수 없어서 라우터에서 다른 라우터로 전송되는 것을 말한다.
특정 패킷이 최대 홉 수 또는 목적지에 도달하기 전에 허용되는 최대 홉 수에 도달하면, 패킷이 바운싱하는 라우터가 해당 패킷을 삭제하고, 이로인해 패킷 손실이 발생하게 된다.
'CS > 🖥 네트워크' 카테고리의 다른 글
🖥 쿠키(Cookie)와 세션(Session) (2) | 2023.09.26 |
---|---|
🖥 HTTP 와 HTTPS (0) | 2023.09.25 |
🖥 TCP 와 UDP의 차이 (0) | 2023.09.16 |
🖥 TCP 혼잡 제어(AIMD, Slow Start, Fast Recovery, Fast Retransmit) (1) | 2023.09.16 |
🖥TCP의 흐름제어, 오류제어(Stop-And-Wait, Go-Back-N, Selective Repeat) (0) | 2023.09.16 |