상호작용 모델 개념

작업을 수행할 수 없으면 노드의 데이터 모델 (DM)은 관련이 없음 합니다. 상호작용 모델(IM)은 노드의 DM과 다른 노드의 DM 간의 관계를 정의합니다. 즉, DM 간의 통신을 위한 공통 언어입니다.

노드는 다음과 같은 방법으로 서로 상호작용합니다.

  • 속성 및 이벤트 읽기 및 구독
  • 속성 쓰기
  • 명령어 호출

노드가 다른 노드와 암호화된 통신 시퀀스를 설정할 때마다 이러한 노드는 상호작용 관계를 구성합니다. 상호작용은 하나 이상의 트랜잭션으로 구성되며, 트랜잭션은 메신저 수준 메시지로 이해할 수 있는 작업을 하나 이상 노드.

상호작용 모델의 계층 구조
그림 1: 상호작용 모델의 계층 구조

트랜잭션에서 지원되는 읽기 요청 작업 등 여러 작업 다른 노드에서 속성이나 이벤트를 요청하거나 그 응답을 요청하면 보고 데이터 작업으로, 서버에서 서버에 정보를 다시 있습니다

개시자 및 대상

트랜잭션을 시작하는 노드는 Initiator이며, 트랜잭션을 시작하는 노드는 대상입니다. 일반적으로 개시자는 클라이언트 클러스터이며 대상이 서버 클러스터입니다. 그러나 이 패턴에는 이 섹션의 뒷부분에서 분석한 구독 상호작용에서 확인할 수 있습니다.

그룹

Matter의 노드는 그룹에 속할 수 있습니다. 기기 그룹은 동일한 작업에서 여러 기기에 동시에 메시지를 주소 지정하고 전송하는 메커니즘입니다. 한 그룹의 모든 노드는 동일한 그룹을 공유합니다. ID는 16비트 정수입니다.

그룹 수준 통신(그룹 전송)을 실행하기 위해 Matter는 IPv6 Multicast 메시지를 활용하며 모든 그룹 구성원은 동일한 Multicast 주소를 갖습니다.

경로

속성, 이벤트 또는 명령과 상호작용하고 싶을 때마다 이 상호작용의 경로(속성, 이벤트의 위치)를 지정합니다. 또는 명령어로 사용될 수 있습니다. 주의할 점은 경로가 또한 그룹 또는 와일드 카드 연산자를 사용하여 여러 노드를 처리하거나 이러한 상호작용을 집계하여 기존 클러스터의 작업을 수행할 수 있습니다

이 메커니즘은 커뮤니케이션의 응답성을 향상하는 데 중요합니다. 대상 예를 들어 사용자가 모든 조명을 끄려고 할 때 음성 어시스턴트가 조명이 아닌 그룹 내의 여러 조명과 단일 상호작용을 설정 각 상호작용의 시퀀스입니다. 시작 조건자가 각 조명과 개별 상호작용을 생성하면 기기 응답에 사람이 감지할 수 있는 지연 시간이 발생할 수 있습니다. 이 효과로 인해 여러 기기가 그 사이에 눈에 띄는 지연을 가질 수 있습니다 이를 종종 '팝콘 효과'가 포함됩니다.

Matter의 경로는 옵션 중 하나를 사용하여 조합할 수 있습니다. 아래:

<path> = <node> <endpoint> <cluster> <attribute | event | command>
<path> = <group ID>        <cluster> <attribute | event | command>

이러한 경로 구성 요소 내에서 endpointcluster에는 다음이 포함될 수도 있습니다. 둘 이상의 노드 인스턴스를 선택하기 위한 와일드 카드 연산자입니다.

시간 제한 및 시간 제한이 없습니다.

쓰기 또는 호출 트랜잭션을 수행하는 방법에는 TimedUntimed. Timed Transactions에 대해 최대 시간 제한을 전송할 쓰기/호출 작업 이 제한 시간의 목적은 트랜잭션에 대한 가로채기 공격. 특히 차고 개폐 장치 및 도어락과 같은 자산에 대한 접근을 제한합니다.

Timed Transactions를 이해하려면 가로채기 공격이 어떤 일이 발생할 수 있으며, 시간 제한 거래가 중요한 이유를 알아봅니다.

가로채기 공격

가로채기 공격은 다음과 같은 패턴을 가집니다.

  1. 앨리스는 밥에게 Write Request Action과 같은 초기 메시지를 보냅니다.
  2. 중간자인 이브가 메시지를 가로채서 밥이 라디오 전파방해를 통해 수신할 수 없습니다.
  3. 앨리스는 밥의 응답을 받지 못해 두 번째 메시지를 보냅니다.
  4. 이브가 다시 가로채서 밥이 받지 못하도록 합니다.
  5. 이브가 첫 번째 가로채기 메시지를 범인에게 마치 앨리스.
  6. 밥이 앨리스(및 이브)에게 응답을 보냅니다.
  7. 이브는 나중에 다시 재생할 수 있도록 두 번째 가로채기된 메시지를 보유합니다. 밥은 절대로 받았다면 두 번째 가로채기 메시지를 있습니다. 이 메시지는 메시지가 명령(예: "잠금 열기")을 사용합니다.

이러한 유형의 공격을 방지하기 위해 시간 제한 작업은 거래 시작 시 최대 거래 시간 제한을 설정합니다. 이브가 비록 실을 펼치고 처음 여섯 단계를 완료하면 메시지를 재생할 수 없습니다. 거래 시간 초과로 인해 7단계에서 진행될 수 있습니다.

Timed Transactions는 작업의 복잡성과 수를 증가시킵니다. 따라서 모든 거래에 권장되지는 않으며, 물리적 또는 가상 보안 및 개인 정보 보호 애셋을 제어할 수 있는 기기의 중요한 작업에만 권장됩니다.

SDK 추상화

트랜잭션 읽기, 트랜잭션 쓰기, 트랜잭션 호출 섹션에서는 SDK에서 실행하는 상호작용 모델 작업에 대한 개요를 제공합니다.

Matter SDK를 사용하는 제품을 만드는 개발자 는 일반적으로 작업을 직접 실행하기 위한 호출을 수행하지 않습니다. 액션은 SDK 함수로 추상화되며 상호작용으로 캡슐화됩니다. 하지만 엔지니어가 최적의 환경을 제공하려면 IM 작업을 이해하는 것이 중요합니다. Matter의 기능에 대한 숙련도뿐 아니라 직접 관리할 수 있습니다