Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

IPv6 Adresleme

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

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

Kapsamlar

OT Kapsamları

Tek noktaya yayın adresleme için bir iş parçacığı ağında üç kapsam vardır:

  • Link-Local - tek bir radyo iletimi ile erişilebilen tüm arayüzler
  • Mesh-Local - aynı Thread ağı içinde erişilebilir tüm arayüzler
  • Global - bir Thread ağının dışından erişilebilen tüm arayüzler

İlk iki kapsam, bir İş Parçacığı ağı tarafından belirlenen öneklere karşılık gelir. Link-Local fe80::/16 öneklerine sahipken, Mesh-Local fd00::/8 öneklerine sahiptir.

Tek noktaya yayın

Tek bir İş Parçacığı aygıtını tanımlayan birden çok IPv6 tek noktaya yayın adresi vardır. Her birinin kapsam ve kullanım durumuna göre farklı bir işlevi vardır.

Her türü detaylandırmadan önce, Routing Locator (RLOC) adı verilen ortak bir tür hakkında daha fazla bilgi edinelim. RLOC, ağ topolojisindeki konumuna bağlı olarak bir Thread arayüzünü tanımlar.

Yönlendirme Bulucu nasıl oluşturulur?

Tüm cihazlara bir Yönlendirici Kimliği ve bir Çocuk Kimliği atanır. Her Yönlendirici, tüm Çocuklarının bir tablosunu tutar ve bunların kombinasyonu, topoloji içindeki bir cihazı benzersiz şekilde tanımlar. Örneğin, bir Yönlendiricideki (beşgen) numaranın Yönlendirici Kimliği ve bir Son Cihazdaki (daire) numaranın Alt Kimlik olduğu aşağıdaki topolojide vurgulanan düğümleri düşünün:

OT RLOC Topolojisi

Her Çocuğun Yönlendirici Kimliği Ebeveynine (Yönlendirici) karşılık gelir. Yönlendirici Çocuk olmadığı için, Yönlendiricinin Çocuk Kimliği her zaman 0'dır. Birlikte, bu değerler Thread ağındaki her cihaz için benzersizdir ve RLOC'nin son 16 bitini temsil eden RLOC16'yı oluşturmak için kullanılır.

Örneğin, sol üst düğüm için RLOC16'nın nasıl hesaplandığı aşağıda açıklanmıştır (Yönlendirici Kimliği = 1 ve Çocuk Kimliği = 1):

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, bazı iş parçacığı arabirimlerini tanımlamak için kullanılabilir. Örneğin, RLOC'ler için IID her zaman 0000:00ff:fe00: RLOC16 .

Mesh-Local Prefix ile birleştirilen IID, RLOC ile sonuçlanır. Örneğin, fde5:8dba:82e1:1::/64 Mesh-Local Öneki kullanıldığında, RLOC16 = 0x401 olan bir düğüm için 0x401 :

OT RLOC

Bu aynı mantık, yukarıdaki örnek topolojide tüm vurgulanan düğümler için RLOC'yi belirlemek için kullanılabilir:

OT Topolojisi w / Adres

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

Örneğin, belki de 0x400 düğümü Thread ağından kaldırılmıştır. 0x401 ve 0x402 düğümleri, farklı Yönlendiricilere yeni bağlantılar kurar ve sonuç olarak her birine yeni bir RLOC16 ve RLOC atanır:

Değişiklikten Sonra OT Topolojisi

Tek noktaya yayın adres türleri

RLOC, bir İş Parçacığı aygıtının sahip olabileceği birçok IPv6 tek noktaya yayın adresinden yalnızca biridir. Başka bir adres kategorisi, bir İş Parçacığı ağ bölümü içinde benzersiz bir İş Parçacığı arabirimini tanımlayan Uç Nokta Tanımlayıcıları (EID'ler) olarak adlandırılır. 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 iletimi ile erişilebilen bir İş Parçacığı arayüzünü tanımlayan bir EID.
Misal fe80::54db:881c:3845:57f4
IID 802.15.4 Genişletilmiş Adrese göre
Dürbün Yerel Bağlantı
Detaylar
  • Komşuları keşfetmek, bağlantıları yapılandırmak ve yönlendirme bilgilerini paylaşmak için kullanılır
  • Yönlendirilebilir bir adres değil
  • Her zaman fe80::/16 öneki vardır

Mesh-Yerel EID (ML-EID)

Ağ topolojisinden bağımsız olarak bir İş Parçacığı arabirimini tanımlayan bir EID. Aynı Diş bölümünde bir Diş arayüzüne ulaşmak için kullanılır. Benzersiz Yerel Adres (ULA) olarak da adlandırılır.
Misal fde5:8dba:82e1:1:416:993c:8399:35ab
IID Devreye alma tamamlandıktan sonra rastgele seçilir
Dürbün Mesh-Yerel
Detaylar
  • Topoloji değiştikçe değişmez
  • Uygulamalar tarafından kullanılmalıdır
  • Her zaman bir fd00::/8 öneki vardır

Yönlendirme Bulucu (RLOC)

Ağ topolojisindeki konumuna göre bir İş Parçacığı arabirimini tanımlar.
Misal fde5:8dba:82e1:1::ff:fe00:1001
IID 0000:00ff:fe00: RLOC16
Dürbün Mesh-Yerel
Detaylar
  • Bir cihaz ağa bağlandığında oluşturulur
  • Bir Thread ağı içinde IPv6 datagramlarını teslim etmek için
  • Topoloji değiştikçe değişiklikler
  • Genellikle uygulamalar tarafından kullanılmaz

Her Noktaya Yayın Bulucu (ALOC)

Bir hedefin RLOC'si bilinmediğinde, RLOC araması aracılığıyla bir İş Parçacığı arayüzünü tanımlar.
Misal fde5:8dba:82e1:1::ff:fe00:fc01
IID 0000:00ff:fe00:fc XX
Dürbün Mesh-Yerel
Detaylar
  • fc XX = ALOC hedefi , uygun RLOC'yi arar
  • Genellikle uygulamalar tarafından kullanılmaz

Global Tek Noktaya Yayın Adresi (GUA)

Bir Thread ağının ötesinde, global bir kapsamda bir Thread arayüzünü tanımlayan bir EID.
Misal 2000::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
Dürbün Küresel
Detaylar
  • Genel bir IPv6 adresi
  • Her zaman 2000::/3 öneki vardır

Çok noktaya yayın

Multicast, bilgileri aynı anda birden fazla cihaza iletmek için kullanılır. Bir İş Parçacığı ağında, kapsama bağlı olarak farklı cihaz gruplarıyla çok noktaya yayın kullanımı için belirli adresler ayrılmıştır.

IPv6 Adresi Dürbün Teslim edildi
ff02::1 Yerel Bağlantı Tüm FTD'ler ve MED'ler
ff02::2 Yerel Bağlantı Tüm FTD'ler
ff03::1 Mesh-Yerel Tüm FTD'ler ve MED'ler
ff03::2 Mesh-Yerel Tüm FTD'ler

Uykulu Son Cihazların (SED'ler) yukarıdaki çok noktaya yayın tablosuna alıcı olarak dahil edilmediğini fark edebilirsiniz. Bunun yerine, İş Parçacığı, SED'ler de dahil olmak üzere Tüm İş Parçacığı Düğümleri için kullanılan bağlantı-yerel ve bölge-yerel kapsam tek noktaya yayın önek tabanlı IPv6 çok noktaya yayın adresini tanımlar. Bu çok noktaya yayın adresleri, İş Parçacığı ağına göre değişir, çünkü tek noktaya yayın Mesh-Yerel önekine dayanır (tek noktaya yayın önek tabanlı IPv6 çok noktaya yayın adresleri hakkında daha fazla ayrıntı için bkz. RFC 3306 ).

Halihazırda listelenenler dışındaki keyfi kapsamlar, Thread cihazları için de desteklenmektedir.

Anycast

Anycast, bir hedefin RLOC'si bilinmediğinde trafiği bir Thread arayüzüne yönlendirmek için kullanılır. Bir Anycast Konum Belirleyicisi (ALOC), bir İş Parçacığı bölümü içindeki çoklu arabirimlerin konumunu tanımlar. ALOC16 olarak adlandırılan bir ALOC'nin son 16 biti, ALOC türünü temsil eden 0xfc XX biçimindedir.

Örneğin, arasında bir ALOC16 0xfc01 ve 0xfc0f DHCPv6'yı Agents için ayrılmıştır. Belirli DHCPv6 Aracısı RLOC bilinmiyorsa (belki de ağ topolojisi değiştiği için), RLOC'yi almak için bir DHCPv6 Aracısı ALOC'ye bir mesaj gönderilebilir.

İş parçacığı, aşağıdaki ALOC16 değerlerini tanımlar:

ALOC16 Tür
0xfc00 Önder
0xfc01 - 0xfc0f DHCPv6 Aracısı
0xfc10 - 0xfc2f Hizmet
0xfc30 - 0xfc37 Komiser
0xfc40 - 0xfc4e Komşu Keşif Aracısı
0xfc38 - 0xfc3f
0xfc4f - 0xfcff
Ayrılmış

Özet

Ne öğrendin:

  • Bir iş parçacığı ağı üç kapsamdan oluşur: Bağlantı-Yerel, Ağ-Yerel ve Global
  • Bir İş Parçacığı aygıtında birden çok tek noktaya yayın IPv6 adresi vardır
    • Bir RLOC, bir cihazın Thread ağındaki konumunu temsil eder
    • ML-EID, bölüm içindeki bir Thread cihazına özeldir ve uygulamalar tarafından kullanılmalıdır
  • Thread, verileri düğüm ve yönlendirici gruplarına iletmek için çok noktaya yayın kullanır
  • Thread, bir hedefin RLOC'si bilinmediğinde her noktaya yayın kullanır

İş Parçacığının IPv6 adreslemesi hakkında daha fazla bilgi edinmek için, Diş Belirtiminin 5.2 ve 5.3 bölümlerine bakın.