Wikipedia : Exponential backoff
http://en.wikipedia.org/wiki/Exponential_backoff
데이터통신 7장
http://www.aceking.co.kr/datacomm/data_07.html
7.2.1 Binary
Exponential Backoff Algorithm
― 전송된 패킷간에 충돌이 발생하면 근거리망에 연결된 각 DTE는 불특정의 지연 시간을 기다린 후 재전송을 시도.
― Binary Exponential Backoff Algorithm이란?
⇒ ·지연 시간의 크기를 결정해 주는 알고리즘.
·지연 시간의 범위를 DTE마다 다르게 해줌으로써,
계속적으로 반복되게 충돌이 일어날 기회를 줄여줌.
(1) 원리
― 전송되는 패킷이 n번만큼 연속적으로 충돌이 발생하고, n이 16보다 작은 경우에는, 다음의 집합부터 숫자 K를 하나 Random하게 선택.
― 전송된 패킷간에 충돌이 발생하면 근거리망에 연결된 각 DTE는 불특정의 지연 시간을 기다린 후 재전송을 시도.
― Binary Exponential Backoff Algorithm이란?
⇒ ·지연 시간의 크기를 결정해 주는 알고리즘.
·지연 시간의 범위를 DTE마다 다르게 해줌으로써,
계속적으로 반복되게 충돌이 일어날 기회를 줄여줌.
(1) 원리
― 전송되는 패킷이 n번만큼 연속적으로 충돌이 발생하고, n이 16보다 작은 경우에는, 다음의 집합부터 숫자 K를 하나 Random하게 선택.
⇒ ·해당 DTE는 " K × 512
bit times " 만큼을
대기한 후 전송을 시도.
·여기서 " 512 bit times " 는 Slot Time과 같다.
(10 Mbps에서의 1 Bit Time은 초).
대기한 후 전송을 시도.
·여기서 " 512 bit times " 는 Slot Time과 같다.
(10 Mbps에서의 1 Bit Time은 초).
2진 지수 백오프
http://terms.naver.com/entry.nhn?docId=1598412&cid=2956&categoryId=2956
동시 공동 이용/충돌 탐지(CSMA/CD) 방식의 구내 정보 통신망(LAN)에서 버스상의 충돌이 발생했을 때, 전송을 다시 시도하기까지의 지연 시간을 계산하기 위한 연산 중의 하나. 충돌이 일어날 때마다 임의 지연 시간을 점차 늘려 나가는 방식이다
임의 지연(random delay) 시간을 계산하는 알고리즘. 즉, CSMA/CD 방식의 근거리망에서 버스 상의 충돌이 일어나면 재전송을 위하여 지연 시간을 계산하는 알고리즘 중의 하나이며, 그 충돌이 있을 때마다 임의로 지연 시간을 늘여간다.
CSMA/CD에 대하여
http://blog.naver.com/semi7623?Redirect=Log&logNo=100008690900
데이터를 재전송하기 전에, 컴퓨터가 일정 시간을 대기하는 시간을 백오프(Backoff)라 한다.
http://anyflow.net/289
5. jam 신호 전송 후, 지수적 백오프(exponential backoff) 단계로 들어감. 지수적 백오프 알고리즘을 통해 값(K)를 얻어 K * 512 bit time을 기다렸다가 단계 2로 돌아감.
1.7 오류처리 1.7.2 오류 복구
http://blog.naver.com/ddrkcodz?Redirect=Log&logNo=10045488441
자원관련 비치명적 오류에 대한 전형적인 오류복구 방식은
잠시 시간을 둔 후에 다시 시도하는 것이다. 이 방법은 다른 상황에서도 적용가능하다.
예를 들어 네트워크 연결이 더 이상 작동하지 않음을 뜻하는 오류가 발생했다면,
응용프로그램이 짧은 시간동안 지연한 후에 연결을 다시 만드는 것이 가능할 수 있다.
응용프로그램에 따라서는, 매 시도마다 더 긴 시간을 기다리는
지수적 포기(Exponential backoff) 알고리듬을 적용 할 수도 있다.
어떤 오류가 복구 가능한지(즉 비치명적인지)를 결정하는 것은
궁극적으로 응용프로그램 개발자의 몫이다.
오류복구에 대해 합리적인 전략을 적용할수 있다면,
응용프로그램의 비정상적인 종료를 피함으로써 응용프로그램을 좀 더 견고하게 만들수 있다.
래치 (Latch)
http://blog.naver.com/kiyoun82?Redirect=Log&logNo=110070192557
Time-out (대기시간) Exponential backof sleep 알고리즘 사용
- 1/100 초 단위로 1,1,2,2,4,4,8,8.. 순으로 대기하며 최대 2초까지 증가
- 빠른 시간안에 래치 획득을 재시도하는 과정에서 지나친 스핀으로 인해 CPU를 과다하게 사용하는 것을 방지
18강. Ethernet의 구조
http://freeminderhuni.blogspot.kr/2013/09/network-security-06.html
지연시간(delay)을 가진후 재시도 (단위 us)
첫번째 : [0,51.2] 중에서 택일
두번째 : [0,51.2,102.4] 중에서 택일
세번째 : [0,51.2,102.4,153.6] 중에서 택일
N번째 : k x 51.2 us for randomly selected k=0...2^n -1
여러번 시도후에 포기 (보통 16번)
지수 백 오프(exponential backoff)
이동 통신 입문 ch7 : Wireless LANS
http://limetok.tistory.com/117
ㅂ. 만약 충돌이 일어났을 경우 더큰 Random back of time 을 사용한다. 보통 7(8)에서 시작해서 충돌이 발생할때마다 CW(경합윈도우)를 2배씩해서 맥시멈 255값을 가진다. (이를 지수적 백오프 : exponential backoff) 하지만 시간이 길어질수 있다는 단점이 있다.