고급 기능 구현

<ph type="x-smartling-placeholder"></ph> GitHub에서 소스 보기

일부 고급 기능은 사용 가능 여부에 따라 선택사항입니다. 대상 하드웨어 플랫폼에서 지원됩니다

자동 프레임 대기 중

IEEE 802.15.4는 상위 네트워크와 아동: 직접 전염과 간접 전염 후자는 주로 대부분의 시간 동안 절전되는 SED (Sleepy End Device)를 위해 주기적으로 절전 모드를 해제하여 큐에 추가된 데이터의 상위 항목을 폴링합니다.

  • 직접 전송: 상위 요소가 데이터 프레임을 최종 기기에 직접 전송합니다. <ph type="x-smartling-placeholder">직접 전송</ph>

  • 간접 전송: 의도한 최종 기기에서 요청할 때까지 상위 항목이 데이터를 보유합니다. <ph type="x-smartling-placeholder">직접 전송</ph>

간접적인 경우, 하위 최종 기기에서 먼저 상위 기기를 폴링하여 사용 가능한 데이터가 있는지 확인할 수 있습니다 이를 위해 자녀는 요청이 승인됩니다. 그런 다음 상위 요소는 자녀 기기에 관한 데이터가 있는 경우 이 경우 하위 서버에 데이터 패킷을 이는 데이터 수신을 확인하는 것입니다.

라디오가 발신 시 Frame Pending 비트를 동적으로 설정하는 경우 SED에 대한 승인을 받은 경우 운전자는 소스 주소 일치 API를 사용하여 이 기능을 사용 설정할 수 있습니다 OpenThread는 이 API를 사용하여 Frame Pending 비트를 설정할 SED

라디오에서 Frame Pending 비트의 동적 설정을 지원하지 않는 경우 라디오가 소스 주소 일치 API를 스텁 처리하여 OT_ERROR_NOT_IMPLEMENTED

라디오로 에너지 검색/감지

에너지 검색/감지 기능을 사용하려면 에너지를 샘플링하는 무선 칩이 필요합니다. 인코더에 전달하여 탐지된 에너지 값을 있습니다

이 기능이 구현되지 않으면 IEEE 802.15.4 MAC 계층이 비콘 요청/응답 패킷을 송수신하여 현재 채널에 에너지 가치를 부여합니다.

무선 칩이 에너지 스캔/감지 기능을 지원하는 경우 소프트웨어를 사용 중지해야 합니다. 매크로를 설정하여 에너지 스캔 로직 OPENTHREAD_CONFIG_ENABLE_SOFTWARE_ENERGY_SCAN = 0

mbedTLS 하드웨어 가속

mbedTLS는 기본 구성 헤더 파일에 여러 매크로를 정의합니다. mbedtls-config.h님, 사용자가 AES, SHA1, SHA2 및 타원 곡선의 개별 함수 및 기타 모듈 GF (p) 모듈을 통한 암호화(ECC) 모듈입니다. 자세한 내용은 mbedTLS 하드웨어 가속 를 참조하세요.

OpenThread는 이러한 매크로를 사용 설정하지 않으므로 알고리즘, 해시 알고리즘, ECC 함수는 모두 소프트웨어를 기본적으로 구현되어 있습니다. 이러한 구현에는 상당한 메모리와 컴퓨팅 리소스가 포함됩니다 최적의 성능과 더 나은 사용자 소프트웨어 대신 하드웨어 가속을 사용 설정하여 위 작업을 구현해야 합니다.

OpenThread 내에서 하드웨어 가속을 사용 설정하려면 다음 mbedTLS 구성 헤더 파일을 ot-config 컴파일에 추가해야 합니다. 정의에 대한 설명을 포함합니다.

  • OpenThread에서 사용되는 모든 필수 매크로를 정의하는 기본 구성: /openthread/third-party/mbedtls/mbedtls-config.h 드림
  • 다음의 대체 구현을 정의하는 사용자별 구성입니다. 모듈 및 함수: src/platform-name-mbedtls-config.h

nrf52811.cmake의 예:

target_compile_definitions(ot-config INTERFACE
    "MBEDTLS_USER_CONFIG_FILE=\"nrf52811-mbedtls-config.h\""
)

mbedtls-config.h에서 주석 처리된 매크로는 필수가 아니며 다음에서 사용 설정할 수 있습니다. 하드웨어 가속을 위한 사용자별 구성 헤더 파일입니다.

사용자별 구성의 전체 예는 다음을 참조하세요. mbedtls_config_autogen.h 드림 파일을 ot-efr32에 저장합니다.

AES 모듈

OpenThread Security는 AES CCM (CBC-MAC를 사용하여 카운터) 암호화를 적용합니다. IEEE 802.15.4 또는 MLE 메시지를 암호화/복호하고 메시지를 검증합니다. 통합 코드를 생성합니다. 하드웨어 가속이 최소한 기본 AES ECB를 지원해야 합니다. AES CCM 기본 기능 호출을 위한 (전자 코드북) 모드.

대체 AES 모듈 구현을 활용하려면 다음을 실행합니다.

  1. 사용자별 mbedTLS에 MBEDTLS_AES_ALT 매크로 정의 구성 헤더 파일
  2. MBEDTLS_CPPFLAGS를 사용하여 aes_alt.h 파일의 경로를 나타냅니다. 변수

SHA256 모듈

OpenThread Security는 HMAC 및 SHA256 해시 알고리즘을 적용하여 스레드에 따른 네트워크 키 관리 및 PSKc 생성을 위한 해시 값 사양.

대체 기본 SHA256 모듈 구현을 활용하는 방법은 다음과 같습니다.

  1. 사용자별 mbedTLS에 MBEDTLS_SHA256_ALT 매크로 정의 구성 헤더 파일
  2. MBEDTLS_CPPFLAGS를 사용하여 sha256_alt.h 파일의 경로를 나타냅니다. 변수

ECC 함수

mbedTLS는 현재 ECC의 일부에 대한 하드웨어 가속만 지원하므로 함수 전체가 아닌 함수와 같은 함수를 사용하기 위해 다음에서 정의된 함수 ECC 가속화를 위한 path-to-mbedtls/library/ecp.c 점 곱셈.

Curve secp256r1은 ECJPAKE 초안. 따라서 하드웨어 가속이 최소한 secp256r1 짧은 Weierstras를 지원해야 함 살펴보겠습니다. 다음을 참조하세요. SiLabs CRYPTO Hardware Acceleration mbedTLS 예로 들겠습니다.