위브 프로필

Weave 프로필

전체 Weave 스택에는 많은 요소가 있지만 대부분의 기능은 프로필이라는 논리적 구조로 그룹화됩니다. 각 프로필은 다음과 같이 구성되는 특정 Weave 기능에 해당합니다.

  • 프로토콜
  • 프로토콜 역할 (게시자, 구독자)
  • 메시지 유형
  • 스키마 및 게시된 데이터
  • 상태 코드
  • 오류 코드

이러한 요소는 프로필마다 다르므로 지금은 하나씩 살펴보지 않을 것입니다.

메시징의 경우 프로필 메시지는 일반적으로 Weave TLV로 인코딩된 일반 메시지입니다. 그러나 공간이 비싸거나 페이로드에 유연성이 필요하지 않은 경우에는 TLV가 사용되지 않습니다. 에코와 하트비트는 TLV에서 메시지를 인코딩하지 않는 프로필의 예입니다.

Weave에는 다양한 프로필이 기본 제공됩니다.

프로필
일반 서비스 디렉터리 보안
데이터 관리 반복 하트비트
일괄 데이터 전송 상태 보고서 기기 설명
기기 제어 시간 서비스 시간대
네트워크 프로비저닝 Fabric 프로비저닝 서비스 프로비저닝
소프트웨어 업데이트 언어 알람
터널링 토큰 페어링  

그중 몇 가지를 간단히 살펴보겠습니다.

데이터 관리

데이터 관리 프로필은 게시-구독 모델을 사용하여 특성에 대한 모든 요청을 관리합니다. 일상 작업을 위한 Nest 생태계의 거의 모든 기능은 Weave 스키마의 일부로 리소스와 특성에 매핑됩니다.

나중에 스키마 및 데이터 관리 프로필을 자세히 알아보겠지만, 이 프로필은 Weave의 핵심입니다.

예를 들어 휴대기기에서 Nest Secure의 무장 상태를 변경하려면 데이터 관리가 사용됩니다. 프로필은 구독자 (휴대기기)에서 패브릭 (Nest Secure 및 서비스)의 다른 리소스로 요청을 전송합니다. 이러한 요청은 요청을 확인하고 스키마의 무장 상태를 변경하고 변경사항을 확인하는 응답을 전송합니다.

확산

Echo 프로필은 네트워크 연결 및 지연 시간을 테스트하는 기본 메커니즘을 제공합니다. ICMP 에코 요청 후에 모델링되며 유사한 용도를 위한 것입니다. 네트워크 핑과 유사하지만 Weave 메시지 및 암호화가 지정된 경우 이를 사용합니다.

Echo 페이로드는 요청 노드에서 제공하는 임의의 데이터로 구성되며 응답에서 다시 에코될 것으로 예상됩니다. Echo는 Weave 패브릭의 연결, 보안, 활성을 테스트하는 데 사용됩니다.

하트비트

하트비트 프로필은 한 노드의 활성 상태를 네트워크의 다른 노드에 표시하는 방법을 제공합니다. Weave 하트비트는 일반적으로 일정한 간격으로 전송됩니다. 구성된 제한 시간이 만료되기 전에 수신하지 못하면 노드가 실패한 것으로 간주됩니다.

하트비트는 Weave 노드가 여전히 패브릭에 연결되어 있는지 확인하는 방법입니다. 예를 들어 Nest Detect와 Nest Guard 간에 하트비트가 사용되어 Nest Secure 시스템의 활성 상태를 보장합니다.

일괄 데이터 전송

BDX (일괄 데이터 전송) 프로필은 노드 간에 파일을 전송하는 기능을 제공합니다. 이 컨텍스트의 파일은 무선 업데이트를 위한 센서 데이터, 로그 또는 소프트웨어 이미지일 수 있습니다.

BDX는 TCP와 Weave Reliable Messaging을 포함한 다양한 신뢰할 수 있는 전송 프로토콜을 통해 실행될 수 있습니다.

프로비저닝 중

리소스의 페어링, 인증, 서비스 등록과 관련된 태스크에 사용되는 프로비저닝 프로필이 많이 있습니다.

네트워크 프로비저닝

네트워크 프로비저닝 프로필은 네트워크 스캔, 패브릭의 리소스에 대한 사용 및 사용 설정과 같은 작업을 처리합니다.

서비스 프로비저닝

서비스 프로비저닝 프로필은 리소스를 계정에 페어링하거나 서비스에 리소스를 등록하는 등의 작업을 처리합니다.

Fabric 프로비저닝

Fabric Provisioning 프로필은 패브릭 생성, 조인, 종료, 패브릭 구성 가져오기와 같은 작업을 처리합니다.

요약

학습한 내용은 다음과 같습니다.

  • Weave의 기능 중 대부분은 프로필에서 관리됩니다.
  • 프로필은 특정 기능 집합에 해당하는 애플리케이션 프로토콜입니다.
  • 프로필마다 자체 메시지 유형이 있습니다. (일반적으로 Weave TLV로 인코딩됨)