12 Eylül 2017 Salı

Stanag 4691 - Link Layer Control

Giriş
Link Layer Control - LLC bileşeninin açıklaması şöyle
Responsible for packet segmentation,reassembly, and duplicate detection. The LLC may also perform data compression and decompression using an open source algorithm.
Bu bileşen Kernel olarak adlandırılabilir.

LLC Paket İşleme
1. LLC Duplicate Detection
Duplicate Detection yazısına taşıdım.
2. LLC Akış
LLC gelen paketleri işlerken şu akışı izler.
1. Paket ->If Final Destination -> Defragment -> Decompress -> Process
2. Paket ->If Broadcast -> Defragment -> Decompress -> Process
3. Paket ->If Broadcast and Own Unit is MPR -> Relay -> Defragment Decompress -> Process
4. İleride gelecek Multicast için olası adımlar buraya eklenir.
Relay işleminde paketleri defragment etmeye gerek olup olmadığı LLC'nin nasıl çalıştığı ile ilgili. Şu seçenekler arasında tercih yapılmalıdır.
1. Yüksek verimlilik ve Fazla Gecikme
2. Düşük verimlilik ve Az Gecikme
Relay işleminden önce Hop Count alanı -1 azaltılır. Eğer Hop Count 0 ise, paket düşürülür yani gönderilmez.

LLC PDU - Layer 3
IP verisi yeni bir Layer 3 mesajı ile zarflanır. Bu zarf sadece 9 byte yük (overhead) getirir. Priority ve fragmentation yeteneği sağlar. Bazı sistemlerde kuyruk ortak bir zarf kullanmayan bir sürü farklı tipte mesaj göndermek zorundadır. Bu tür kuyruklar karışık bir yapıya sahip olurlar. Stanag 4691'de tüm paketler ortak LLC PDU ile zarflandığı için zarif bir yapı oluşmuştur. Bant genişliği fazla olmadığı için markup protokolleri taşımak çok iyi bir fikir değil.
Cellular carriers prefer that their IoT consumers use HTMLXML or JSON type of messages since they consume more Data. More Data means they can charge the consumers more money for the service.
Frame Type Alanı : 4 bit
IP Data = 2
Relay Control = 3
Vendor Specific = 12 - 15
Not used = 0,1,4 - 11
Priority Alanı : 4 bit
16 tane kuyruk var. Hangi paketin hangi kuyruğa girmesi gerektiği konusu açık bırakılmış. Wireshark filtresi gibi bir mantıkla paketin bazı alanlarına bakarak priority değerine karar verebilir. Aslında bu alan QoS alanı olarak kabul edilmeli. QoS'in açıklaması şöyle
QOS is something you will configure to treat some traffic (e.g. VOIP traffic) with priority better than other (WWW, monitoring ...)
Kuyruklar şöyle
15 -- Marlin Control Packets örneğin RC PDU
14 -- Not used
13 -- IP Routing Control Packets örneğin OSPF
12 -- Not used
11 -- LLC PDU
.
.
 1 -- LLC PDU
 0 -- Not Used
Source Address Alanı :  8 bit
Bu PDU'yu gönderen katılımcı.

Destination Address Alanı : 8 bit
Unicast veya broadcast olabilir. Broadcast için 255 kullanılır. Multicast paket gönderimi mümkün değil. Eğer bu alan bir liste şeklinde olsaydı belki multicast mümkün olurdu. Multicast için aklıma şöyle bir çözüm geliyor.

1. Herkesin bildiği belli bir Multicast Grup numarası olsun. Örneğin 254 ve bu numara katılımcılar tarafından kullanılmasın. Bu numaraya gönderilen paketlerin 20 ve 21 numaralı katılımcılara gitmesini istiyor olalım. MAC Data PDU paketindendeki Next Hop alanına 5 tane değer yazabiliyor olalım. Bu rakamı rastgele seçtim. Belki dinamik bile olabilir. Bu durumda şöyle yaparız.
A -> B -> C (20)
   -> D  -> E (21)
A hem B ve D'yi Next Hop olarak belirler ve gönderir.B kendine gelen paketi alır ve C'ye gönderir. D ise kendine gelen paketi alır E'ye gönderir.

2. MAC Data PDU mesajına Next Hop + Destination Address ikilisini yazmak
A -> B -> C
            -> D
    -> E -> F
A MAC Data PDU Alanına şöyle yazar.
Next Hop = B , Final Destination B C + D
Next Hop = E , Final Destination F
PDU ID Alanı : 16 bit .
Her PDU için yeni bir ID verilir

PDU Length Alanı : 16 bit

Hop Count Alanı : 5 bit

Compress Flag Alanı : 1 bit
Fragment Flag Alanı : 1 bit
1. Yüksek verimlilik Fazla Gecikme
Bu durumda şöyle yapılır. Parçalama işlemi gönderme esnasında gerçekleşir. Parçaları alan katılımcı röle veya hedef bile olsa birleştirme işleminden sonra paketi işler. Böylece bant genişliği en yüksek şekilde kullanılır. Bu seçenek TCP gibi gecikmeye hassas protokolleri olumsuz etkileyebilir.

2. Düşük verimlilik Az Gecikme
Bu durumda şöyle yapılır. Bir fragmentation büyüklüğü belirlenir. Belirlenen sayıdan büyük her paket bu sayıya sığacak şekilde parçalanır.

Spare Alanı : 1 bit
Fragmentation Offset Alanı : 8 bit
IP zarfında offset 8 byte cinsindendir. Burada da aynı şekilde 8 byte cinsindendir.

Hiç yorum yok:

Yorum Gönder