백오프 알고리즘 충돌 해결에 사용되는 알고리즘입니다. 다음과 같이 작동합니다.
이 충돌이 발생하면 두 장치 모두 신호를 다시 재전송하기 전에 임의의 시간 동안 대기하고 데이터가 성공적으로 전송될 때까지 계속 시도합니다. 노드가 다시 액세스를 시도하기 전에 일정 시간 동안 '백오프'하기 때문에 이를 백오프라고 합니다. 이 임의의 시간은 신호 전송을 시도한 횟수에 정비례합니다.
알고리즘
다음은 백오프 알고리즘을 간략하게 설명하는 간단한 순서도입니다.
알 수 있듯이 N의 각 반복 값이 증가하고 범위 [0,2^n-1]도 증가하므로 이러한 방식으로 충돌 확률이 감소합니다!
또한 지속적인 백오프로 인해 일부 노드가 패킷을 버릴 수 있기 때문에 경우에 따라 단점이 될 수 있습니다. 결국 최대 시도 제한에 도달했습니다.
따라서 충돌 후 각 노드는 공식에 의해 주어진 특정 시간 동안 기다려야 합니다.
Waiting time = K * Tslot
T슬롯 는 길이가 2t인 이산 시간 슬롯이며, 여기서 t는 네트워크의 최대 전파 지연입니다.
K =[0, 2 n -1]. n은 충돌 번호입니다.