IPv6 Adresleme

Kaynağı GitHub'da görüntüleyin

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

Kapsamlar

OT Kapsamları

Thread ağında tek noktaya yayın adresleme için üç kapsam vardır:

  • Bağlantı yerel: Tek bir radyo iletimiyle erişilebilen tüm arayüzler
  • Mesh-Local: Aynı Thread ağında tüm arayüzlere erişilebilir.
  • Global: Thread ağının dışından erişilebilen tüm arayüzler

İlk iki kapsam, bir Thread ağı tarafından belirlenen öneklerle eşleşir. Link-Local'in ön eki fe80::/16, Mesh-Local'in ön eki ise fd00::/8'dir.

Unicast

Tek bir Thread cihazını tanımlayan birden fazla IPv6 tek noktaya yayın adresi vardır. Her birinin kapsam ve kullanım alanına göre farklı bir işlevi vardır.

Her türü ayrıntılı olarak incelemeden önce, Yönlendirme Konum Belirleyicisi (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 Konum Belirleyicisi nasıl oluşturulur?

Tüm cihazlara bir yönlendirici kimliği ve bir alt kimlik atanır. Her üst öğe, tüm alt öğelerinin tablosunu tutar. Bu tablonun birleşimi, topolojideki bir cihazı benzersiz şekilde tanımlar. Örneğin, aşağıdaki topolojide vurgulanan düğümleri ele alalım. Burada, Mesh Extender'daki (beşgen) sayı yönlendirici kimliği, End Device'taki (daire) sayı ise alt cihaz kimliğidir:

OT RLOC Topolojisi

Her çocuğun yönlendirici kimliği, üst öğesine (Mesh Genişletici) karşılık gelir. Mesh genişletici bir alt öğe olmadığından, Mesh genişletici için alt öğe kimliği her zaman 0'dır. Bu değerler, Thread ağındaki her cihaz için benzersizdir ve RLOC'un son 16 bitini temsil eden RLOC16'yı oluşturmak için kullanılır.

Örneğin, sol üstteki düğüm (Yönlendirici Kimliği = 1 ve Alt Öğe Kimliği = 1) için RLOC16 şu şekilde hesaplanır:

OT RLOC16

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, belirli Thread arayüzü türlerini tanımlamak için kullanılabilir. Örneğin, RLOC'ler için IID her zaman şu biçimdedir:

0000:00ff:fe00:RLOC16

IID, Mesh-Local Prefix ile birleştiğinde RLOC'u oluşturur. Örneğin, fde5:8dba:82e1:1::/64 Mesh-Local Prefix'i kullanıldığında RLOC16 = 0x401 olan bir düğümün RLOC'u şöyledir:

OT RLOC

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

OT Topology w/ Address

Ancak RLOC, topolojideki düğümün konumuna dayandığından topoloji değiştikçe düğümün RLOC'si de değişebilir.

Örneğin, 0x400 düğümü Thread ağından kaldırılmış olabilir. 0x401 ve 0x402 düğümleri farklı Mesh Extender'lara yeni bağlantılar oluşturur. Sonuç olarak her birine yeni bir RLOC16 ve RLOC atanır:

Değişiklikten Sonraki OT Topolojisi

Tek noktaya yayın adresi türleri

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

Yaygın tek noktaya yayın türleri aşağıda ayrıntılı olarak açıklanmıştır.

Tek bir radyo iletimiyle erişilebilen bir Thread arayüzünü tanımlayan EID.
Örnekfe80::54db:881c:3845:57f4
IID802.15.4 Genişletilmiş Adresine dayalı
KapsamLink-Local
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önlendirilebilir bir adres değil
  • Her zaman fe80::/16 önekine sahiptir.

Örgü Yerel EID'si (ML-EID)

Ağ topolojisinden bağımsız olarak bir Thread arayüzünü tanımlayan EID. Aynı Thread bölümündeki bir Thread 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
IIDDevreye alma işlemi tamamlandıktan sonra rastgele seçilir.
KapsamMesh-Local
Ayrıntılar
  • Topoloji değiştikçe değişmez.
  • Uygulamalar tarafından kullanılmalıdır.
  • Her zaman fd00::/8 önekine sahiptir.

Yönlendirme Bulucusu (RLOC)

Ağ topolojisindeki konumuna göre bir Thread arayüzünü tanımlar.
Örnekfde5:8dba:82e1:1::ff:fe00:1001
IID0000:00ff:fe00:RLOC16
KapsamMesh-Local
Ayrıntılar
  • Bir cihaz ağa bağlandığında oluşturulur.
  • Thread ağı içinde IPv6 datagramları teslim etmek için
  • Topoloji değiştikçe değişiklikler
  • Genellikle uygulamalar tarafından kullanılmaz.

Anycast Locator (ALOC)

Bir hedefin RLOC'si bilinmediğinde RLOC araması aracılığıyla bir Thread arayüzünü tanımlar.
Örnekfde5:8dba:82e1:1::ff:fe00:fc01
IID0000:00ff:fe00:fcXX
KapsamMesh-Local
Ayrıntılar
  • fcXX = Uygun RLOC'u arayan ALOC hedefi
  • Genellikle uygulamalar tarafından kullanılmaz.

Global Tek Noktaya Yayın Adresi (GUA)

Bir Thread arayüzünü Thread ağının ötesinde, global kapsamda tanımlayan bir EID.
Örnek2000::54db:881c:3845:57f4
IID
  • SLAAC: Cihazın kendisi tarafından rastgele atanır.
  • DHCP: Bir DHCPv6 sunucusu tarafından atanır.
  • Manuel: Uygulama katmanı tarafından atanır.
KapsamGlobal
Ayrıntılar
  • Herkese açık bir IPv6 adresi
  • Her zaman 2000::/3 önekine sahiptir.

Çoklu yayın

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

IPv6 Adresi Kapsam Mesajın teslim edildiği kişiler
ff02::1 Link-Local Tüm FTD'ler ve MED'ler
ff02::2 Link-Local Tüm FTD'ler
ff03::1 Mesh-Local Tüm FTD'ler ve MED'ler
ff03::2 Mesh-Local Tüm FTD'ler

Uykuda olan uç cihazların (SED'ler) yukarıdaki çoklu yayın tablosunda alıcı olarak yer almadığını fark edebilirsiniz. Bunun yerine Thread, SED'ler de dahil olmak üzere tüm Thread düğümleri için kullanılan bağlantı yerel ve alan yerel kapsamlı tek yayın ön eki tabanlı IPv6 çoklu yayın adresini tanımlar. Bu çoklu yayın adresleri, tekli yayın Mesh-Local öneki üzerine kurulu olduğundan Thread ağına göre değişir (tekli önek tabanlı IPv6 çoklu yayın adresleri hakkında daha fazla bilgi için RFC 3306'ya bakın).

Thread cihazları için, halihazırda listelenenlerin dışındaki rastgele kapsamlar da desteklenir.

Anycast

Anycast, bir hedefin RLOC'si bilinmediğinde trafiği bir Thread arayüzüne yönlendirmek için kullanılır. Anycast Konumlandırıcı (ALOC), bir Thread bölümündeki birden fazla arayüzün konumunu tanımlar. ALOC16 olarak adlandırılan bir 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'si bilinmiyorsa (örneğin, ağ topolojisi değiştiği için) RLOC'yi almak üzere bir DHCPv6 Aracısı ALOC'sine mesaj gönderilebilir.

Thread, 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şfi Aracısı
0xfc380xfc3f
0xfc4f0xfcff
Rezervasyon yapıldı

Özet

Öğrendikleriniz:

  • Thread ağı üç kapsamdan oluşur: Bağlantı Yereli, Ağ Yereli ve Küresel
  • Bir Thread cihazının birden fazla tek noktaya yayın IPv6 adresi vardır.
    • RLOC, bir cihazın Thread ağındaki konumunu ifade eder.
    • ML-EID, bir bölümdeki Thread cihazına özgüdür ve uygulamalar tarafından kullanılmalıdır.
  • Thread, verileri düğüm gruplarına iletmek için çoklu yayın kullanır.
  • Hedefin RLOC'si bilinmediğinde Thread, anycast kullanır.

Thread'in IPv6 adreslemesi hakkında daha fazla bilgi edinmek için Thread Spesifikasyonu'nun 5.2 ve 5.3 bölümlerine bakın.

Bilgilerinizi sınayın

Bir Thread ağında tek noktaya yayın adresleme için hangi üç kapsam kullanılır?
Gizli
Yanlış.
Arabirim Yerel
Yanlış.
Link-Local
Doğru.
Site-Local
Yanlış.
Mesh-Local
Doğru.
Global
Doğru.
Bir cihazın çocuk kimliği 0 ise bu ne anlama gelir?
Cihazın türü Çocuk.
Yanlış.
Cihaz, genişletici özelliği destekleyen bir cihaz olmalıdır.
Yaklaştınız, ama doğru değil.
Cihaz bir Mesh Extender olmalıdır.
Doğru. Mesh genişleticilerin her zaman 0 alt öğe kimliği vardır.
Bir Thread ağındaki düğüm olan kamera, yeni bir RLOC16 ve RLOC alır. Aşağıdaki olaylardan hangisi bu duruma neden olmuş olabilir?
Bir kullanıcı, kameradaki görüntüleri uzaktan indirdi.
Yanlış. Bu etkinlik, Thread ağını etkilemez.
Bir Mesh Extender'ın ağ bağlantısı kesildi.
Doğru. Bir Mesh Extender ağdan ayrıldığında ağ topolojisi değişir. Bu durum, cihazın kendisini Mesh Extender olarak tanıtmasına ve yeni bir RLOC almasına neden olabilir.
Kamera, uyku moduna girdiğinden ağ topolojisi değişti.
Yanlış. Uyku moduna girme, cihazın yeni bir ağ adresi almasına neden olmaz.
Thread ağındaki bir cihaz, ff03::2 çoklu yayın adresine abone olur. Bu durum cihaz hakkında bize ne anlatıyor?
Bu, Minimal End Device (MED) cihazıdır.
Yanlış.
Tam uç cihazdır (FED).
Yanlış. (İpucu: Bu bir FED olabilir veya olmayabilir.)
Minimal Thread Cihazı (MTD) olmalıdır.
Yanlış.
Bu, Tam İş Parçacıklı Cihazdır (FTD).
Doğru. Yalnızca Tam Thread Cihazlar, ff03::2 çoklu yayın adresine abone olur. Bu işlemi Mesh-Local (Yerel Ağ) kapsamında yaparlar.
Thread, verileri düğüm gruplarına yönlendirmek için ne tür bir adresleme ve yönlendirme kullanır?
tek noktaya yayın
Yanlış.
her noktaya adresleme
Yanlış.
çoklu yayın
Doğru.
duyuru
Yanlış.
Bir Thread cihazı, amaçlanan ileti alıcısının RLOC'u bilinmediğinde ne tür bir adresleme ve yönlendirme kullanır?
tek noktaya yayın
Yanlış.
her noktaya adresleme
Doğru. Anycast, bir cihazın ALOC'unu adresleyerek RLOC'u bilinmeyen bir düğüme ulaşmasına olanak tanır.
çoklu yayın
Yanlış.
duyuru
Yanlış.