다섯 살도 알 수 있게 · 신기술
오류 제어(ARQ)가 뭐예요?
ARQ를, 무전기로 주고받은 메시지가 깨지면 받는 쪽이 다시 보내달라고 요청하는 이야기로 풀어봤어요.
무전기로 보낸 메시지가 잡음 때문에 깨져서 도착했어요.받는 쪽은 뭐가 틀렸는지도 몰라요.
통신선에는 잡음이 끼어서 메시지가 깨질 때가 있어요.깨진 메시지를 그냥 쓰면 틀린 내용대로 움직이게 돼요.
ARQ는 받는 쪽이 메시지를 확인해서, 틀리면 자동으로 다시 보내달라고 요청하는 방식이에요.메시지가 제대로 올 때까지 확인과 재전송을 반복해요.
Stop-and-Wait하나 보내고 확인 기다려요
Go-Back-N틀린 것부터 그 뒤까지 전부 재전송
Selective Repeat틀린 것만 골라 재전송
체크섬/CRC로 검출메시지가 틀렸는지 확인해요
빠른 방식일수록 보내는 쪽이 메시지를 더 많이 저장해 둬야 해요.Selective Repeat가 가장 효율적이지만 가장 복잡해요.
메시지를 다시 보내는 만큼 도착이 늦어져요.그래서 실시간 음성·영상은 깨진 메시지를 다시 받지 않고 버리기도 해요.
한 줄로
ARQ(자동 재전송 요청)는 받는 쪽이 메시지를 확인하고, 틀리면 자동으로 다시 보내달라고 요청하는 오류 제어 방식이에요.
ARQ는 체크섬/CRC로 오류를 검출한 뒤, 확인 응답(ACK/NACK)이나 시간 초과를 바탕으로 틀린 데이터를 재전송하는 방식이에요. Stop-and-Wait, Go-Back-N, Selective Repeat 세 방식이 대표적이고, 뒤로 갈수록 처리량은 좋아지지만 구현과 버퍼 관리가 복잡해져요. 재전송 자체가 지연을 늘리기 때문에, 실시간 음성·영상처럼 지연에 민감한 데이터는 오류 난 데이터를 그냥 버리거나 FEC(전진 오류 수정) 같은 다른 방식을 함께 써요.
어른들은 이렇게 불러요
- ARQ
ARQ - 틀리면 다시 보내달라고 요청하는 방식. 확인 응답을 주고받으며 동작해요.
- Stop-and-Wait
Stop-and-Wait - 한 개 보내고 확인부터 기다리는 가장 단순한 방식. 단순하지만 느려요.
- Go-Back-N
Go-Back-N - 틀린 것부터 그 뒤까지 전부 다시 보내는 방식. Stop-and-Wait보다 빠르지만, 멀쩡한 메시지까지 다시 보내는 낭비가 있어요.
- Selective Repeat
Selective Repeat - 틀린 것만 골라서 다시 보내는 방식. 가장 효율적이지만 가장 복잡해요.
- 체크섬/CRC
Checksum / CRC - 메시지가 틀렸는지 확인하는 검사값. ARQ가 재전송을 결정하는 근거예요.
- ACK/NACK
ACK/NACK - '받았어요'와 '틀렸어요' 신호. ARQ 동작의 핵심 신호예요.
- FEC(전진 오류 수정)
Forward Error Correction - 재전송 없이 오류를 고치는 다른 방식. 지연에 민감한 데이터에는 ARQ보다 잘 맞아요.
- MEC
MEC - 지연을 줄이려고 사용자 가까이에서 계산하는 기술. 서버가 가까우면 왕복 시간이 짧아져 재전송 지연도 줄어요. → MEC 부스
다음 이야기
흩어진 서랍을 내가 한곳에 모으기 →