

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# backoffAlgorithm 라이브러리
<a name="backoffalgorithm-library"></a>

**참고**  <a name="out-of-date-message"></a>
이 페이지의 내용은 최신 상태가 아닐 수 있습니다. 최신 업데이트는 [Freertos.org 라이브러리 페이지](https://www.freertos.org/Documentation/03-Libraries/01-Library-overview/01-All-libraries)를 참조하세요.

## 소개
<a name="freertos-boa-introduction"></a>

[backoffAlgorithm](https://github.com/FreeRTOS/backoffAlgorithm) 라이브러리는 네트워크 혼잡을 방지하기 위해 동일한 데이터 블록의 반복 재전송 간격을 지정하는 데 사용되는 유틸리티 라이브러리입니다. 이 라이브러리는 [지터 포함 지수 백오프](https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/) 알고리즘을 사용하여 네트워크 작업 재시도(예: 서버와의 네트워크 연결 실패)에 대한 백오프 기간을 계산합니다.

지터 포함 지수 백오프는 일반적으로 네트워크 혼잡 또는 서버 고부하로 인해 실패한 서버 연결 또는 네트워크 요청을 재시도할 때 사용됩니다. 여러 디바이스가 동시에 네트워크 연결을 시도할 때 발생하는 재시도 요청의 타이밍을 분산하는 데 사용됩니다. 연결 상태가 좋지 않은 환경에서는 클라이언트 연결이 언제든지 끊길 수 있습니다. 따라서 백오프 전략을 사용하면 실패할 가능성이 높을 때 반복적으로 재연결을 시도하지 않으므로 클라이언트가 배터리를 절약하는 데도 도움이 됩니다.

이 라이브러리는 C로 작성되었으며 [ISO C90](https://en.wikipedia.org/wiki/ANSI_C#C90) 및 [MISRA C:2012](https://misra.org.uk/product/misra-c2012-third-edition-first-revision/)를 준수하도록 설계되었습니다. 표준 C 라이브러리 이외의 추가 라이브러리에 대한 종속성이 없고 힙 할당이 없으므로 IoT 마이크로컨트롤러에 적합할 뿐만 아니라 다른 플랫폼으로도 완벽하게 이식할 수 있습니다.

이 라이브러리는 자유롭게 사용할 수 있으며 [MIT 오픈 소스 라이선스](https://freertos.org/a00114.html)에 따라 배포됩니다.


****  

| backoffAlgorithm 코드 크기(ARM Cortex-M용 GCC로 생성된 예제) | 파일 | -O1 최적화 | -Os 최적화 | 
| --- | --- | --- | --- | 
| backoff\$1algorithm.c | 0.1K | 0.1K | 
| 총 추정치 | 0.1K | 0.1K | 