데이터링크 계층에서의 오류제어는 오류검출(Error Detection) 과정과 재전송(Retransmission) 과정을 포함한다. 데이터 전송 시 오류가 발생하면 NAK를 반환하고, 오류제어가 발생한 프레임은 전송지에서 재전송되도록 한다. 즉 프레임이 손상되었거나 분실되었을 때 재전송이 수행되는데, 이러한 재전송 과정을 ARQ(Automatic Repeat Request)라고 한다. 데이터링크 계층에서 수행되는 ARQ는 흐름제어를 위한 방식과 관련된다. 즉 정지-대기 방식의 오류제어는 정지-대기 ARQ 방식으로 구현되고, 슬라이딩 윈도우 방식의 오류제어는 GBn ARQ(Go-Back-n ARQ) 방식 또는 SR ARQ(Selective-Repeat ARQ) 방식으로 구현된다.
정지-대기 ARQ 방식
정지-대기(Stop-and-Wait) ARQ 방식은 매우 단순하다. 손상된 프레임(Damaged Frame)을 처리하기 위해 다음과 같은 재전송 절차를 수행한다.
- 전송지 스테이션은 전송한 프레임에 대한 ACK 프레임을 받을 때까지 프레임의 복사본을 유지한다.
- 식별을 위해 데이터 프레임과 ACK 프레임은 각각 0, 1 값으로 번호를 부여한다. 데이터 프레임 1에 대해 ACK 프레임 1이 전송 스테이션에 수신되는데, 이는 데이터 프레임 0을 보내라는 의미이다.
- 만약 프레임에서 오류제어가 발견되면 NAK 프레임이 반환되고, 이에 따라 전송지는 복사해 두었던 동일한 프레임을 재전송한다. 이때 NAK 프레임은 번호를 갖지 않는다.
- 전송장치에는 타이머가 있어서 주어진 시간 내에 ACK이 오지 않으면 재전송을 수행한다.
GBn ARQ 방식
정지-대기 ARQ 방식보다 개선된 GBn ARQ 방식과 SR ARQ 방식은 슬라이딩 윈도우 방식에 기초하고 있으며 재전송을 위한 절차는 정지-대기 ARQ 방식의 절차에서 수정된 내용을 담고 있다.
- 전송 스테이션은 전송된 모든 프레임의 복사본을 갖고 있어야 한다.
- 슬라이딩 윈도우는 연속적인 프레임 전송 방식이므로 ACK, NAK 프레임이 모두 각각 구별되어야 한다. ACK 프레임은 다음 프레임을 보내라는 의미지만, NAK 프레임은 손상된 프레임 그 자체에 대한 번호를 가지고 반환된다.
- 전송 스테이션은 분실된 ACK 프레임을 다루기 위한 타이머를 갖고 있다.
SR ARQ 방식
손상된 프레임 이후의 프레임을 모두 다시 보내는 GBn ARQ 방식과 달리 SR ARQ 방식은 손상되거나 잃어버린 프레임만 다시 보낸다. 수신 스테이션은 어긋난 순서로 도착한 프레임을 다시 정렬하고, 전송 스테이션은 정렬 과정을 통해 재전송해야 하는 프레임을 선택해 재전송한다. 수신장치에는 재전송 프레임이 도착해서 정렬될 때까지 프레임들을 저장할 버퍼가 필요하다. ACK 번호는 수신된 프레임을 언급하는 번호가 된다.
댓글