Üzerinde işlem yapamadığımız düğümlerin veri modeli (DM) alakalı değildir. Etkileşim Modeli (IM), bir Düğümün diğer Düğümlerin DM'leriyle olan DM ilişkisini tanımlar: DM'ler arasındaki iletişim için ortak bir dil.
Düğümler, aşağıdaki yöntemlerle birbirleriyle etkileşim kurar:
- Özellikleri ve Etkinlikleri Okuma ve Bunlara Abone Olma
- Özelliklere Yazma
- Komutları Çağırma
Bir düğüm başka bir düğümle şifrelenmiş bir iletişim dizisi oluşturduğunda Etkileşim ilişkisi kurulur. Etkileşimler bir veya daha fazla İşlem'den oluşabilir. İşlemler ise Düğümler arasındaki anlık mesajlaşma düzeyindeki mesajlar olarak anlaşılabilen bir veya daha fazla İşlem'den oluşur.

İşlemlerde çeşitli işlemler desteklenir. Örneğin, başka bir düğümden bir özellik veya etkinlik isteyen bir okuma isteği işlemi ya da yanıtı olan, bilgileri sunucudan istemciye geri taşıyan rapor verileri işlemi.
Başlatanlar ve Hedefler
Bir İşlemi başlatan Düğüm Başlatıcı, yanıt veren Düğüm ise Hedef'tir. Genellikle Başlatan bir İstemci Kümesi, Hedef ise bir Sunucu Kümesi'dir. Ancak bu kalıbın istisnaları vardır. Örneğin, bu bölümün ilerleyen kısımlarında daha ayrıntılı olarak analiz edilen abonelik etkileşimleri bu istisnalardan biridir.
Gruplar
Matter içindeki düğümler bir gruba ait olabilir. Cihaz Grubu, aynı İşlem'deki birden fazla Cihaz'a aynı anda mesaj gönderme ve bu cihazlara mesaj gönderme mekanizmasıdır. Bir gruptaki tüm düğümler, 16 bitlik bir tam sayı olan aynı Group ID'yi (Grup Kimliği) paylaşır.
Grup düzeyinde iletişim (Groupcast) için Matter, IPv6 Multicast iletilerinden yararlanır ve tüm grup üyeleri aynı Multicast adresine sahiptir.
Yollar
Bir Özellik, Etkinlik veya Komut ile etkileşimde bulunmak istediğimizde bu etkileşimin Yolunu belirtmemiz gerekir: Bir Özellik, Etkinlik veya Komut'un bir Düğümün Veri Modeli hiyerarşisindeki konumu. Ancak yollar, birden fazla düğüme veya kümeye aynı anda hitap etmek için Gruplar'ı ya da Joker Karakter İşleçleri'ni de kullanabilir. Bu durumda, bu etkileşimler toplanır ve işlem sayısı azalır.
Bu mekanizma, iletişimin yanıt verme hızını artırmak için önemlidir. Örneğin, bir kullanıcı tüm ışıkları kapatmak istediğinde sesli asistan, ayrı ayrı etkileşimler dizisi yerine bir Grup içindeki birkaç ışıkla tek bir etkileşim kurabilir. Başlatan, her ışıkla ayrı ayrı Etkileşim oluşturursa Cihaz yanıt verme hızında insan tarafından algılanabilen bir gecikme oluşabilir. Bu efekt, birden fazla cihazın bir komuta aralarında görünür gecikmelerle tepki vermesine neden olur. Bu duruma genellikle "patlamış mısır efekti" denir.
Matter içindeki bir yol, aşağıdaki seçeneklerden biri kullanılarak oluşturulabilir:
<path> = <node> <endpoint> <cluster> <attribute | event | command>
<path> = <group ID> <cluster> <attribute | event | command>
Bu yol oluşturma yapı taşları içinde, endpoint
ve cluster
birden fazla düğüm örneği seçmek için joker karakter operatörleri de içerebilir.
Süreli ve Süresiz
Yazma veya İşlem Çağırma işlemini gerçekleştirmenin iki yolu vardır: Zamanlanmış ve Zamanlanmamış. Zamanlanmış işlemler, gönderilecek Yazma/İşlem Çağırma işlemi için maksimum zaman aşımı oluşturur. Bu zaman aşımının amacı, İşlem üzerinde Araya Girme Saldırısı'nı önlemektir. Bu durum, özellikle garaj kapısı açıcıları ve kilitler gibi varlıklara erişimi kontrol eden cihazlar için geçerlidir.
Zamanlanmış İşlemleri anlamak için araya girme saldırılarının nasıl gerçekleşebileceğini ve Zamanlanmış İşlemlerin neden önemli olduğunu anlamak faydalıdır.
The Intercept Attack
Arada yakalama saldırısı aşağıdaki kalıba sahiptir:
- Ayşe, Ali'ye bir ilk mesaj gönderir (ör. Yazma İsteği İşlemi).
- Ortadaki adam olan Eve, mesajı yakalar ve örneğin bir tür radyo sinyali karıştırma yoluyla Bob'un mesajı almasını engeller.
- Ayşe, Başar'dan yanıt alamayınca ikinci bir mesaj gönderir.
- Eve tekrar araya girer ve Bob'un mesajı almasını engeller.
- Eve, ilk yakalanan mesajı Ayşe'den geliyormuş gibi göstererek Ali'ye gönderir.
- Bob, yanıtı Alice'e (ve Eve'e) gönderir.
- Eve, ikinci yakalanan mesajı daha sonra tekrar oynatmak üzere saklar. Başar, Aylin'den gelen ikinci yakalanan orijinal mesajı hiç almadığı için bu mesajı kabul eder. Bu mesaj, "kilidi aç" gibi bir komut kodladığında güvenlik ihlali anlamına gelir.
Zamanlanmış işlemler, bu tür saldırıları önlemek için işlemin başında maksimum işlem zaman aşımı belirler. Eve, saldırı vektörünün ilk altı adımını gerçekleştirmeyi başarsa bile İşlem'deki zaman aşımı süresi dolduğu için 7. adımda mesajı yeniden oynatamaz.
Zamanlanmış işlemler, işlemlerin karmaşıklığını ve sayısını artırır. Bu nedenle, her işlem için değil, yalnızca fiziksel veya sanal güvenlik ve gizlilik varlıkları üzerinde kontrol sahibi olan cihazlardaki kritik işlemler için önerilir.
SDK soyutlamaları
Read Transactions (İşlemleri Okuma), Write Transactions (İşlemleri Yazma) ve Invoke Transactions (İşlemleri Çağırma) bölümlerinde, SDK tarafından gerçekleştirilen Etkileşim Modeli İşlemleri'ne dair üst düzey genel bakış bilgileri sunulmaktadır.
Matter SDK'sını kullanan bir ürün oluşturan geliştirici, genellikle İşlemleri doğrudan yürütmek için çağrı yapmaz. İşlemler, bunları bir Etkileşim'e kapsayacak SDK işlevleri tarafından soyutlanır. Ancak, mühendise Matter özellikleriyle ilgili iyi bir yeterlilik sağlamak ve SDK uygulaması üzerinde ayrıntılı kontrol sahibi olmak için IM İşlemlerini anlamak önemlidir.