DCN-데이터 링크 제어 및 프로토콜
데이터 링크 계층은 지점 간 흐름 및 오류 제어 메커니즘의 구현을 담당합니다.
흐름 제어
데이터 프레임 (계층 -2 데이터)이 단일 매체를 통해 한 호스트에서 다른 호스트로 전송 될 때 송신자와 수신자가 동일한 속도로 작동해야합니다. 즉, 발신자는 수신자가 데이터를 처리하고받을 수있는 속도로 전송합니다. 발신자 또는 수신자의 속도 (하드웨어 / 소프트웨어)가 다른 경우 어떻게합니까? 발신자가 너무 빨리 전송하면 수신자가 과부하되어 데이터가 손실 될 수 있습니다.
흐름을 제어하기 위해 두 가지 유형의 메커니즘을 배포 할 수 있습니다.
Stop and Wait이 흐름 제어 메커니즘은 데이터 프레임을 전송 한 후 송신자를 강제로 중지하고 전송 된 데이터 프레임의 승인이 수신 될 때까지 대기합니다.
Sliding Window
이 흐름 제어 메커니즘에서 보낸 사람과받는 사람은 모두 승인이 전송되어야하는 데이터 프레임 수에 동의합니다. 학습, 중지 및 대기 흐름 제어 메커니즘이 리소스를 낭비함에 따라이 프로토콜은 가능한 한 기본 리소스를 사용하려고합니다.
오류 제어
데이터 프레임이 전송 될 때, 데이터 프레임이 전송 중에 손실되거나 손상 될 가능성이 있습니다. 두 경우 모두 수신자는 정확한 데이터 프레임을 수신하지 못하고 발신자는 손실에 대해 전혀 알지 못합니다.이 경우 발신자와 수신자 모두 데이터 손실과 같은 전송 오류를 감지하는 데 도움이되는 몇 가지 프로토콜을 갖추고 있습니다. 틀. 따라서 송신자가 데이터 프레임을 재전송하거나 수신자가 이전 데이터 프레임을 재전송하도록 요청할 수 있습니다.
오류 제어 메커니즘에 대한 요구 사항 :
Error detection -발신자와 수신자는 둘 다 또는 일부가 전송에 오류가 있는지 확인해야합니다.
Positive ACK -수신기가 올바른 프레임을 수신하면이를 확인해야합니다.
Negative ACK -수신자가 손상된 프레임이나 중복 프레임을 수신하면 발신자에게 NACK를 다시 전송하고 발신자는 정확한 프레임을 재전송해야합니다.
Retransmission: 보낸 사람은 시계를 유지하고 제한 시간을 설정합니다. 이전에 전송 된 데이터 프레임의 승인이 타임 아웃 이전에 도착하지 않으면 송신자는 프레임 또는 승인이 전송 중에 손실되었다고 생각하여 프레임을 재전송합니다.
ARQ (Automatic Repeat Requests)에 의해 오류를 제어하기 위해 데이터 링크 계층이 배포 할 수있는 세 가지 유형의 기술이 있습니다.
중지 및 대기 ARQ
Stop-and-Wait ARQ에서 다음과 같은 전환이 발생할 수 있습니다.
- 보낸 사람은 시간 초과 카운터를 유지합니다.
- 프레임이 전송되면 보낸 사람이 시간 초과 카운터를 시작합니다.
- 프레임 승인이 제 시간에 오면 발신자는 대기열에있는 다음 프레임을 전송합니다.
- 승인이 제 시간에 오지 않으면 발신자는 프레임 또는 승인이 전송 중에 손실 된 것으로 간주합니다. 보낸 사람이 프레임을 다시 전송하고 시간 초과 카운터를 시작합니다.
- 부정적인 승인이 수신되면 송신자는 프레임을 재전송합니다.
Go-Back-N ARQ
중지 및 대기 ARQ 메커니즘은 리소스를 최대한 활용하지 않습니다. 확인이 수신되면 보낸 사람은 유휴 상태에 있고 아무것도하지 않습니다. Go-Back-N ARQ 방식에서는 발신자와 수신자 모두 창을 유지합니다.
전송 창 크기를 사용하면 발신자가 이전 프레임의 승인을받지 않고 여러 프레임을 보낼 수 있습니다. 수신 창을 통해 수신자는 여러 프레임을 수신하고이를 승인 할 수 있습니다. 수신기는 수신 프레임의 시퀀스 번호를 추적합니다.
발신자가 창에있는 모든 프레임을 보낼 때 긍정적 인 확인을받은 시퀀스 번호를 확인합니다. 모든 프레임이 긍정적으로 확인되면 발신자는 다음 프레임 세트를 보냅니다. 송신자가 NACK를 수신했거나 특정 프레임에 대한 ACK를 수신하지 않은 것을 발견하면 양의 ACK를 수신하지 못한 모든 프레임을 재전송합니다.
선택적 반복 ARQ
Go-back-N ARQ에서 수신자는 창 크기에 대한 버퍼 공간이 없으며 각 프레임이 올 때마다 처리해야한다고 가정합니다. 이것은 송신자가 확인되지 않은 모든 프레임을 재전송하도록 강제합니다.
Selective-Repeat ARQ에서 수신기는 시퀀스 번호를 추적하면서 프레임을 메모리에 버퍼링하고 누락되거나 손상된 프레임에 대해서만 NACK를 보냅니다.
이 경우 송신자는 NACK가 수신 된 패킷 만 보냅니다.