OpenThread Border Router

GitHub에서 소스 보기

스레드 보더 라우터는 스레드 네트워크를 Wi-Fi 또는 이더넷과 같은 다른 IP 기반 네트워크에 연결합니다. 스레드 네트워크를 다른 네트워크에 연결하려면 보더 라우터가 필요합니다.

OTBR 경계 에이전트 아키텍처

스레드 경계 라우터는 다음 기능을 최소한 지원합니다.

  • 스레드와 Wi-Fi/이더넷 네트워크 간의 양방향 IP 연결
  • mDNS (Wi-Fi/이더넷 링크) 및 SRP(Thread 네트워크)를 통한 양방향 서비스 검색
  • IP 기반 링크를 통해 스레드 파티션을 병합하는 스레드 오버 인프라
  • 스레드 기기를 인증하고 스레드 네트워크에 연결하는 외부 스레드 커미셔닝 (예: 휴대전화)
스레드 인증됨

OpenThread의 경계 라우터 구현은 OpenThread 경계 라우터 (OTBR)라고 하며 무선 코프로세서 (RCP) 설계를 지원합니다. 플랫폼을 선택할 때는 RCP 사용의 다음과 같은 이점을 고려하세요.

  • 더 많은 리소스: OpenThread는 호스트 프로세서의 리소스를 활용할 수 있으며, 이는 일반적으로 802.15.4 SoC가 제공하는 것보다 훨씬 많습니다.
  • 비용 효율성 향상: 802.15.4 SoC의 리소스 요구사항을 최소화하여 더 비용 효율적인 솔루션을 제공할 수 있습니다.
  • 디버깅이 더 쉬워집니다. 대부분의 처리가 호스트 프로세서에서 이루어지므로 호스트 프로세서에서 더 강력한 디버깅 도구를 활용할 수 있습니다.
  • 더 안정적인 802.15.4 SoC 펌웨어: RCP는 하위 MAC 및 PHY만 구현하므로 802.15.4 SoC에 펌웨어 업데이트가 필요한 빈도가 줄어듭니다.
  • 호스트 IPv6 네트워크 스택과의 더 쉬운 통합: 호스트에서 OpenThread를 실행하면 호스트 IPv6 스택과 더 직접적으로 통합할 수 있습니다.

기능 및 서비스

OTBR에는 다음과 같은 여러 기능이 포함됩니다.

  • 외부 커미셔닝을 지원하는 스레드 경계 에이전트
  • Thread 네트워크의 IPv6 접두사를 가져오기 위한 DHCPv6 접두사 위임
  • IPv4 네트워크에 연결하기 위한 NAT64
  • Thread 기기가 이름으로 IPv4 전용 서버와 통신을 시작할 수 있도록 하는 DNS64
  • OpenThread의 기본 제공 기능을 사용하는 스레드 인터페이스 드라이버

보더 라우터 서비스

OTBR은 다음과 같은 서비스를 제공합니다.

  • mDNS 게시자: 외부 커미셔너가 OTBR 및 관련 Thread 네트워크를 검색할 수 있도록 허용합니다.
  • PSKc Generator: PSKc 키 생성

OTBR 방화벽

OTBR은 iptablesipset를 사용하여 다음과 같은 인그레스 필터링 규칙을 구현합니다.

  • 온링크 주소 소스로 시작된 수신 패킷(예: 오프메시 라우팅 가능(OMR) 및 메시 로컬 접두사 기반 주소)을 차단합니다.
  • 대상 주소가 OMR 주소 또는 도메인 unicast 주소 (DUA)가 아닌 인바운드 unicast 패킷을 차단합니다.
  • 소스 주소 또는 대상 주소가 링크-로컬인 인바운드 유니캐스트 패킷을 차단합니다. 이 규칙은 커널에서 처리하며 명시적으로 설정되지 않습니다.