IPv6 Adresleme

Kaynağı GitHub'da göster

Thread'ın ağdaki her cihazı nasıl tanımladığına ve birbirleriyle iletişim kurmak için kullandıkları adres türlerine göz atalım.

Nişan dürbünleri

OT Kapsamları

Bir Thread ağında tek noktadan yayınlama için üç kapsam vardır:

  • Link-Local - tek bir radyo iletimiyle erişilebilen tüm arayüzlere
  • Örgü Yerel: Aynı Thread ağı üzerinden erişilebilen tüm arayüzlere
  • Genel - Thread ağının dışından erişilebilen tüm arayüzler

İlk iki kapsam, bir Thread ağı tarafından belirtilen öneklere karşılık gelir. Link-Local'in fe80::/16 ön eki, Mesh-Yerel'in ise fd00::/8 öneki vardır.

Unicast

Tek bir Thread cihazını tanımlayan birden fazla IPv6 unicast adresi vardır. Kapsama ve kullanım alanına bağlı olarak her birinin işlevi farklıdır.

Tüm türlerin ayrıntılarına geçmeden önce, Yönlendirme Konum Bulma Aracı (RLOC) adı verilen yaygın bir tür hakkında daha fazla bilgi edinelim. RLOC, ağ topolojisindeki konumuna göre bir Thread arayüzünü tanımlar.

Yönlendirme Bulucu nasıl oluşturulur?

Tüm cihazlara bir yönlendirici kimliği ve alt kimlik atanır. Her Yönlendirici'nin tüm Alt öğeleri tablosu vardır. Bu kombinasyon, topoloji içinde benzersiz şekilde bir cihazı tanımlar. Örneğin, aşağıdaki topolojide vurgulanan düğümleri ele alalım. Bu örnekte, Yönlendirici'deki sayı (beşgen) Yönlendirici Kimliği, Son Cihaz'daki (daire) sayı ise Alt Öğe Kimliğidir:

OT RLOC Topolojisi

Her Alt Öğenin Yönlendirici Kimliği, Üst Öğeye (Yönlendirici) karşılık gelir. Yönlendirici alt öğesi olmadığından Yönlendiricinin Alt Kimliği her zaman 0 olur. Bu değerler, mesaj dizisi ağındaki her cihaz için benzersizdir ve RLOC'un son 16 bitini temsil eden RLOC16'yı oluşturmak amacıyla kullanılır.

Örneğin, sol üstteki düğüm için RLOC16'nın nasıl hesaplandığı (Yönlendirici Kimliği = 1 ve Alt Kimlik = 1):

UD ROLC16

RLOC16, IPv6 adresinin son 64 bitine karşılık gelen Arayüz Tanımlayıcısı'nın (IID) bir parçasıdır. Bazı IID'ler, bazı Mesaj Dizisi arayüz türlerini tanımlamak için kullanılabilir. Örneğin, RLOC'lar için IID her zaman şu biçimdedir:

0000:00ff:fe00:RLOC16

Örgü-Yerel Öneki ile birlikte IID, RLOC ile sonuçlanır. Örneğin, fde5:8dba:82e1:1::/64 örgü yerel ayar ön eki kullanıldığında RLOC16 = 0x401 olan bir düğüm için RLOC:

OTR RSK

Aynı mantık, yukarıdaki örnek topolojide vurgulanan tüm düğümlerin RLOC'unu belirlemek için kullanılabilir:

OT Topolojisi ve Adresi

Bununla birlikte, RLOC düğümün topolojideki konumuna bağlı olduğundan, topoloji değiştikçe düğümün RLOC değeri değişebilir.

Örneğin, 0x400 adlı düğüm, mesaj dizisi ağından kaldırılmış olabilir. 0x401 ve 0x402 düğümleri farklı Yönlendiricilere yeni bağlantılar oluşturur ve bunun sonucunda her birine yeni bir RLOC16 ve RLOC atanır:

OT Topolojisinden sonra Değişiklik

Tek tip yayın adresi türleri

RLOC, bir Thread cihazının sahip olabileceği birçok IPv6 tek tip yayın adresinden yalnızca biridir. Bir diğer kategori kategorisi ise Uç nokta Tanımlayıcıları (EID'ler)dır. Bu tanımlayıcılar, Thread ağ bölümündeki benzersiz bir Thread arayüzünü tanımlar. EID'ler Thread ağ topolojisinden bağımsızdır.

Sık kullanılan unicast türleri aşağıda belirtilmiştir.

Tek bir radyo iletimiyle erişilebilen bir Mesaj Dizisi arayüzünü tanımlayan bir EID.
Örnekfe80::54db:881c:3845:57f4
ID802.15.4 Genişletilmiş Adrese dayanır
KapsamBağlantı-Yerel
Ayrıntılar
  • Komşuları keşfetmek, bağlantıları yapılandırmak ve yönlendirme bilgilerini değiştirmek için kullanılır
  • Yönlendirme adresi değil
  • Her zaman fe80::/16 öneki vardır

Örgü Yerel EID (ML-EID)

Ağ topolojisinden bağımsız olarak bir Thread arayüzünü tanımlayan bir EID. Aynı ileti dizisi bölümü içindeki bir ileti dizisi arayüzüne ulaşmak için kullanılır. Benzersiz Yerel Adres (ULA) olarak da adlandırılır.
Örnekfde5:8dba:82e1:1:416:993c:8399:35ab
IDRastgele, komisyonlar tamamlandıktan sonra seçilir
KapsamÖrgü Yerel
Ayrıntılar
  • Topoloji değiştikçe değişmez
  • Uygulamalar tarafından kullanılmalıdır
  • Her zaman ön eke sahip fd00::/8

Yönlendirme Konum Bulma Aracı (RLOC)

Thread arayüzünü ağ topolojisindeki konumuna göre tanımlar.
Örnekfde5:8dba:82e1:1::ff:fe00:1001
ID0000:00ff:fe00:RLOC16
KapsamÖrgü Yerel
Ayrıntılar
  • Bir cihaz ağa bağlandığında oluşturulur
  • Bir Thread ağında IPv6 veri şemalarını yayınlamak için
  • Topoloji değiştikçe yapılan değişiklikler
  • Genellikle uygulamalar tarafından kullanılmaz

Her Yerde Konum Bulma Aracı (ALOC)

Hedefin RLOC'u bilinmediğinde RLOC araması aracılığıyla bir mesaj dizisi arayüzünü tanımlar.
Örnekfde5:8dba:82e1:1::ff:fe00:fc01
ID0000:00ff:fe00:fcXX
KapsamÖrgü Yerel
Ayrıntılar
  • fcXX = Uygun RLOC'yu arayan ALOC hedefi
  • Genellikle uygulamalar tarafından kullanılmaz

Global Unicast Adresi (GUA)

Bir iş parçacığı ağının ötesinde, global kapsamdaki bir Thread arayüzünü tanımlayan EID.
Örnek2000::54db:881c:3845:57f4
ID
  • SLAAC - Cihaz tarafından rastgele atanır
  • DHCP - Bir DHCPv6 sunucusu tarafından atandı
  • Manuel — Uygulama katmanı tarafından atanır
KapsamGlobal
Ayrıntılar
  • Herkese açık bir IPv6 adresi
  • Her zaman 2000::/3 öneki vardır

Çoklu yayın

Çoklu yayın, aynı anda birden fazla cihaza bilgi iletmek için kullanılır. Bir Thread ağında, belirli adresler, kapsama bağlı olarak farklı cihaz gruplarıyla çoklu yayın kullanımı için ayrılmıştır.

IPv6 Adresi Kapsam Teslim edilen alıcılar
ff02::1 Bağlantı-Yerel Tüm FTD ve MED'ler
ff02::2 Bağlantı-Yerel Tüm FTD'ler
ff03::1 Örgü Yerel Tüm FTD ve MED'ler
ff03::2 Örgü Yerel Tüm FTD'ler

Uykulu Son Cihazlar'ın (SED), yukarıdaki çoklu yayın tablosuna alıcı olarak dahil edilmediğini fark edebilirsiniz. Bunun yerine Thread, SED'ler de dahil olmak üzere tüm Thread düğümleri için kullanılan link-local ve realm-local kapsam uncast ön eki tabanlı IPv6 çoklu yayın adresini tanımlar. Bu çok kanallı yayın adresleri unicast-local ön eki üzerine kurulduğundan, Thread ağına göre değişir (unicast önekine dayalı IPv6 çoklu yayın adresleri hakkında daha fazla bilgi için RFC 3306'ya bakın).

Önceden listelenenler dışındaki rastgele kapsamlar da Thread cihazları için desteklenir.

Anycast

Herhangi bir hedefin RLOC'u bilinmediğinde trafik, mesaj dizisi arayüzüne yönlendirilir. Her Noktaya Yayın Bulucu (ALOC), bir İş Parçacığı bölümündeki birden fazla arayüzün konumunu tanımlar. ALOC16 adlı ALOC'nin son 16 biti, ALOC türünü temsil eden 0xfcXX biçimindedir.

Örneğin, 0xfc01 ile 0xfc0f arasındaki bir ALOC16, DHCPv6 aracıları için ayrılmıştır. Belirli DHCPv6 aracısı RLOC bilinmiyorsa (ağ topolojisi değişmiş olabilir), RLOC'u elde etmesi için DHCPv6 Aracısı ALOC'ye bir mesaj gönderilebilir.

İleti dizisi aşağıdaki ALOC16 değerlerini tanımlar:

ALOC16 Tür
0xfc00 Lider
0xfc01 - 0xfc0f DHCPv6 Aracısı
0xfc10 - 0xfc2f Hizmet
0xfc30 - 0xfc37 Başkan
0xfc40 - 0xfc4e Komşu Keşif Aracısı
0xfc38 - 0xfc3f
0xfc4f - 0xfcff
Rezervasyon yapıldı

Özet

Öğrendikleriniz:

  • Thread ağı üç kapsamdan oluşur: Link-Local, Mesh-Local ve Global
  • Bir Thread cihazının birden fazla unicast IPv6 adresi var
    • RLOC, bir cihazın Thread ağındaki konumunu temsil eder
    • ML-EID, bir bölüm içindeki Thread cihazı için benzersizdir ve uygulamalar tarafından kullanılmalıdır
  • Mesaj dizisi, verileri düğüm ve yönlendirici gruplarına yönlendirmek için çoklu yayını kullanır
  • İleti dizisi, hedefin RLOC'su bilinmediğinde "anycast" özelliğini kullanır

Thread'ın IPv6 adresi hakkında daha fazla bilgi edinmek için Thread Spec öğesinin 5.2 ve 5.3 numaralı bölümlerine bakın.

Öğrendiklerinizi kontrol etme

Bir Thread ağında unicast adresi için hangi üç kapsam kullanılır?
Gizli
Yanlış.
Arayüz-Yerel
Yanlış.
Bağlantı-Yerel
Doğru.
Site-Yerel
Yanlış.
Örgü Yerel
Doğru.
Global
Doğru.
Bir cihazın Çocuk Kimliğinin 0 olması ne anlama gelir?
Cihaz bir Çocuk cihazıysa.
Yanlış.
Cihazın türü REED.
Kapat, ancak yanlış.
Cihazın türü yönlendirici.
Doğru. Yönlendiricinin alt kimliği her zaman 0'dır.
Bir mesaj dizisi ağındaki bir düğüm olan kamera, yeni bir RLOC16 ve RLOC alır. Bunun nedeni aşağıdakilerden hangisi olabilir?
Birisi kameradan resimleri uzaktan indirdi.
Yanlış. Bu etkinliğin Thread ağıyla hiçbir ilgisi yoktu.
Bir yönlendirici ağdan çıktı.
Doğru. Yönlendirici ağdan çıktığında ağ topolojisi değişir. Bu durum, cihazın kendini bir yönlendiriciye tanıtmasına ve yeni bir RLOC elde etmesine neden olabilir.
Kamera uyku moduna girerek ağ topolojisini değiştirdi.
Yanlış. Uyku moduna girmek, cihazın yeni bir ağ adresi almasına neden olmayabilir.
Thread ağındaki bir cihaz, ff03::2 çoklu yayın adresine abone olur. Bu cihaz hakkında ne tür bir bilgi veriyor?
Minimal Cihaz Sayısı (MED)
Yanlış.
Tam Uç Cihazdır (FED).
Yanlış. (İpucu: FED olabilir veya olmayabilir.)
Minimal İş Parçacığı Cihazı (MTD).
Yanlış.
Tam İş Parçacık Cihazı (FTD).
Doğru. ff03::2 çoklu yayın adresine yalnızca tam mesaj dizisi cihazları abone olur. Bunu Yerel Ağ kapsamında yaparlar.
Thread, düğüm ve yönlendirici gruplarına veri yönlendirmek için ne tür bir adres ve yönlendirme kullanır?
tek tip yayın
Yanlış.
Her şey dahil
Yanlış.
çoklu yayın
Doğru.
duyuru
Yanlış.
Bir Thread cihazı, hedeflenen mesaj alıcısının RLOC'su bilinmediğinde ne tür bir adresleme ve yönlendirme kullanır?
tek tip yayın
Yanlış.
Her şey dahil
Doğru. Her şey, cihazın, ALOC'ye hitap ederek RLOC'su bilinmeyen bir düğüme erişmesine izin verir.
çoklu yayın
Yanlış.
duyuru
Yanlış.