다섯 살도 알 수 있게 · 신기술

오류 제어(ARQ)가 뭐예요?

ARQ를, 무전기로 주고받은 메시지가 깨지면 받는 쪽이 다시 보내달라고 요청하는 이야기로 풀어봤어요.

지지직…무전기로 보낸 메시지가 잡음 때문에 깨져서 도착했어요받는 쪽은 뭐가 틀렸는지도 몰라요

무전기로 보낸 메시지가 잡음 때문에 깨져서 도착했어요.받는 쪽은 뭐가 틀렸는지도 몰라요.

잡음·충돌 때문에 메시지 몇 개는 중간에 깨져요깨진 메시지를 그냥 쓰면 틀린 내용대로 움직이게 돼요

통신선에는 잡음이 끼어서 메시지가 깨질 때가 있어요.깨진 메시지를 그냥 쓰면 틀린 내용대로 움직이게 돼요.

이 메시지가 깨졌어요!다시 보내주세요 → 보낸 쪽이 다시 보내요ARQ(자동 재전송 요청) = 받는 쪽이 메시지를 확인해, 틀리면 자동으로 다시 요청하는 방식메시지가 제대로 올 때까지 확인과 재전송을 반복해요

ARQ는 받는 쪽이 메시지를 확인해서, 틀리면 자동으로 다시 보내달라고 요청하는 방식이에요.메시지가 제대로 올 때까지 확인과 재전송을 반복해요.

Stop-and-Wait하나 보내고 확인 기다려요
Go-Back-N틀린 것부터 그 뒤까지 전부 재전송
Selective Repeat틀린 것만 골라 재전송
체크섬/CRC로 검출메시지가 틀렸는지 확인해요
Stop-and-Wait한 개 보내고 확인 기다림단순하지만 느려요Go-Back-N / Selective Repeat확인 전에 여러 개를 이어 보내요Go-Back-N: 틀린 것부터 전부 재전송Selective: 틀린 것만 재전송Stop-and-Wait보다 빠르지만 복잡해요빠른 방식일수록 보내는 쪽이 메시지를 더 많이 저장해 둬야 해요

빠른 방식일수록 보내는 쪽이 메시지를 더 많이 저장해 둬야 해요.Selective Repeat가 가장 효율적이지만 가장 복잡해요.

파일은 늦어도 정확해야 해서 ARQ가 딱이에요실시간 음성·영상은 재전송을 기다리면 끊겨요그래서 실시간 음성·영상은 깨진 메시지를 다시 받지 않고 버리기도 해요

메시지를 다시 보내는 만큼 도착이 늦어져요.그래서 실시간 음성·영상은 깨진 메시지를 다시 받지 않고 버리기도 해요.

한 줄로

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 부스
다음 이야기
흩어진 서랍을 내가 한곳에 모으기 →
다른 용어도 그림책으로 보고 싶다면 요청하기 →