4 Eylül 2017 Pazartesi

Stanag 4691

Giriş
Mevcut telsizleri kullanarak IP tabanlı iletişim altyapısı kurma fikri yeni değil.

İlâveten piyasada bu işi yapan ticari ürünler hâlihazırda var. Ancak bu ürünler belli bir standarda dayanmıyor.

Ülkemizde Aselsan'ın 4700 serisi sayısal kripto özellikli telsizleriyle SAHMUS, JEMUS sistemleri kullanılıyor.

Aynı amacı hedefleyen iki tane Stanag yazılmış. Bunlar Stanag 4691 ve Stanag 5066.

Stanag 4691
Stanag 4691 nisbeten yeni, Stanag 5066 ise oldukça eski bir geçmişe sahip.

Stanag 4691 Nato Unclassified statüsünde. Aslında ilk olarak Rockwell Collins şirketi tarafından geliştirilmiş. Daha sonra Stanag hâline gelmiş. Stanag'ın tam adi şöyle.
Multi-Hop Networking With Legacy UHF Radios : Mobile Ad Hoc Relay Line Of Sight Networking (MARLIN).
Iki Annex'ten oluşuyor. Annex A'nın başlığı şöyle
Mobile Ad Hoc Relay Line Of Sight Networking  (MARLIN) Profile.
Yani Marlin'in çalışma prensiplerinin anlatıldığı belge. Annex B'nin başlığı şöyle
Technical Specifications To Ensure Interoperability Of Serial Waveforms For 25 KHz Bandwidth Line Of Sight VHF And UHF Radio Data Communications.
Yani dalga şekillerinin anlatıldığı belge.

Stanag 4691 atıl durumda bulunan (örneğin askeri gemilerdeki gemi hava haberleşmesi için kullanılan UHF telsizler genelde atıldır) UHF telsizleri kullanarak IP haberleşme altyapısı kurmayı hedefliyor. Stanag 4691 Operator Specific Services ile ilgili bir açıklama vermiyor. Operator Specific Service için açıklama şöyle
OSSs is the set of services which are not covered by standardized GSM services

The Services could be very specific to the particular Operator like Caller Tunes,IVR responses and any set of service provided by the operator which is not a standard one with respect to GSM standard.

Stanag 5066
Benzer bir amaç güden Stanag 5066 yani tam ismiyle
Profile For HF Radio Data Communications
HF telsizleri kullanarak IP haberleşme altyapısı kurmayı hedefliyor. Aralarında önemli farklar var. Stanag 4691 ad hoc yani tasarsız bir ağ kullanılıyor. Stanag 5066 ise Token Ring bir yapı kullanıyor.

Bir diğer önemli fark, Stanag 5066 ile uygulamaların birbirlerine göbekten bağlı olmaları. Stanag 5066 uygulamaları bile tanımlıyor. Uygulama mesaj göndermek için Stanag 5066'nın talep ettiği protokole uymak zorunda. Stanag 4691 ise OSI katmanlarını yani Ethetnet'i kullandığı için IP kullanan herhangi bir uygulama ile çalışabilir.

HF haberleşmede modem veya telsiz Stanag 4538 Automatic Link Establishment  (ALE) destekliyorsa  SNR değerine göre kanal degişimi yapılabilir. Bu frekans atlama (frequency hopping) değildir. UHF haberleşmede böyle bir standart mevcut değil.

Signal to Noise Ratio - SNR
SNR yazısına taşıdım.

Telsizler
Her iki Stanag eski (legacy) telsizler için tasarlanmış. Yeni moda Cognitive Radio, Software Defined Radio veya frekans atlamalı cihazlarla çalışma konusunda birşey söylenmiyor.

Operasyonel Konsept
UHF telsizlerin denizdeki LOS menzili 20 deniz mili civarında. Sadece UHF kullanarak - arada röle olsa bile - gemileri 20 nm arayla yerleştirmek gerekir.
Gemi1 <-- >Gemi2 <--> Gemi 3
Bu çok kullanışlı değil.  Bu yüzden
1.Karadaki yüksek bir mevkiide UHF telsiz bulundurmak.
2. AWACS benzeri bir hava aracı kullanmak
3. Geniş bant HF (wideband HF), Extended Wideband HF kullanmak
diğer seçenekler.

TCP
TCP  high-loss ve high-latency ortamlarda yani MARLIN ortamında iyi çalışmıyor.
Latency özellikle TCP Three Way Handshake hızlı cevap beklediği için bağlantının kurulamamasına sebep olur.
Linux'ta bu ayarları değiştirmek için şöyle yaparız
/proc/sys/net/ipv4/tcp_synretries
/proc/sys/net/ipv4/tcp_synack_retries
dosyalarındaki rakamlar artırılır.
Ayarların kalıcı olması için /etc/sysctl.conf dosyasına
net.ipv4.tcp_syn_retries=6
yazılır.

High-loss için açıklama şöyle.
In wired networks congestion is the predominant cause of paket loss. As a result,  TCP dramatically reduces the size of its congestion window in presence of missing or lost packets to avoid further congestion of the network. However,  in wireless networks where radio frequency  (RF) impairments are often the cause of packet loss, TCP erroneously reduces its congestion window after packets are lost as a precaution against network congestion. This reduced congestion window size leads to an average transmission rate that is much less than the available bandwidth in the network.

Stanag 4691 Annex A'yı Gerçekleştiren Ürünler
1. Rockwell Collins şirketinin SNC-2050 ürünü.
2. Polonyalı CTM şirketinin RNC 8201 ürünü. Ayrıca bu şirketin Annex B'yi gerçekleştiren MRM-1201 telsizi de mevcut.

Akış
Kabaca şöyle. Kullanılacak Router tipi için herhangi bir kısıtlama yok. OSPF olması muhtemel deniyor sadece.
Router1 -> RT1 -> LC1 -> MAC1 ->SSI ->Crypto->Modem1->Radio1->RF - |
Router2 <- RT2 <- LC2 <- MAC2 <-SSI <-Modem2 <-Crypto<-Radio2<-RF- |
SSI (Synchronous Serial Interface) ihtiyaca bağlı. Eğer telsiz hızlı değilse SSI'ye gerek yok. Eğer telsiz çok hızlı ise, RS-232 veya türevi seri iletişimi hızlandırmak için kullanılır.
Crypto yine ihtiyaca bağlı.

Stanag 4691 Yazılım Bileşenleri
Yazılım bileşeni olarak tariflenmeyen ancak Figure A-2'de gösterilen "Management System" muhtemelen tüm yazılımı ilgilendiren yönetimsel şeyleri kapsıyor.

Router Interface - RT
Stanag 4691 - Router Interface yazısına taşıdım.

Link Layer Control - LLC
Stanag 4691 - Link Layer Control yazısına taşıdım.

Relay Control - RC
Stanag 4691 Relay Control yazısına taşıdım.

Media Access Control - MAC
Coordinates transmission on the shared channel using a synhronous TDMA scheme, allocating time slots in proportion to reported requirements. In addition,  the MAC increases reliability of data transfer by implementing automatic repeat request  (ARQ)
Bu bileşen DTMA Interface olarak adlandırılabilir. TDMA yapısının başlıca sebebi frekansların az olması. Eğer herkese ayrı bir frekans tahsis edilebilseydi TDMA yapısına gerek kalmazdı.

Physical Interface - PI
Stanag 4691 Pysical Interface yazısına taşıdım

STU
Slot Transmission Unit (STU) Time Division Multiple Access (TDMA) iletişimde kullanılır. Gönderme zamanı gelen katılımcı, her şeyi STU paketine doldurur ve gönderir.

Yapısı
Şöyledir.
STU Header 1 + STU Header 2 + MAC Management PDU + Diğer PDU'lar
Diğer PDU'lar
Şunlar olabilir.
1. MAC ACK PDU
2. MAC Data PDU
3. LLC PDU
4. Relay Control PDU
STU Header 1
Stanag 4691 STU Header yazısına taşıdım.

STU Header 2
Stanag 4691 STU Header yazısına taşıdım.

MAC Management PDU
Bu PDU her zaman diliminde gönderildiği için sistem Dynamic TDMA ile gelen kapasite paylaşımını hızlı yerine getirir. Eğer bu paketin gönderilmesi yavaşlatılırsa kapasite paylaşımı dolayısıyla yük değişimine verilen tepki de yavaşlar.
Giriş
Type Alanı :
Request Flag Alanı :
Interferer Flag Alanı :
Number of RA Slots Alanı  : 1 - 4 tane Random Access Slot olabilir. Bu alan 0 olsa bile 1 RA var kabul edilir.
Number of Slots Alanı : 1 - 256.  Bir çevrimde (cycle) kaç zaman dilimi  (slot) olduğunu belirtir.
Number of RA Slots ve Number of Slots alanları ile katılmak istenilen ağın Ağ Çevrim Yapısı  (Network Cycle Structure) öğrenilebilir. Slot süresi bilgisi gönderilmiyor. Bu bilginin tüm katılımcılarda aynı olduğunu varsayarsak, farklı yapılar kullan ağlar otomatik olarak birleşebilir (merge).
Demand : 0 - 255. Gönderenin demand değeri.
Total Demand : Gönderenin ve direkt komşularının toplam demand değeri.

Neighbors Tablosu
Bu tablo neighbor graph'ın oluşturulması için kullanılır. 2 hop'a kadar komşuluk ilişkisi bu sayede bulunabilir.
Neighbor ID#N Alanı : 8 bit.
Neighbor Status#N Alanı : 8 bit.
Ilk 3 bit status içindir
0 = Non-neighbor
1 = Bad neighbor
2 = Asymmetric  (one-way) neighbor
3 = Symmetric  (good,two-way neighbor)
4 = MAC Layer Arbiter. Aynı zamanda good neighbor. MLA aynı MPR gibi flooding için kullanılabilir.
Arbiter hakem anlamına gelir. Örneğin satrançta son sözü söyleyen kişi arbiter olarak adlandırılır.
MongoDB terminolojisinde ise oylamaya katılan kişidir. Açıklaması şöyle
An arbiter participates in elections but does not hold data 
Sonraki 1 bit bu komşunun SOT tablosunda mevcut olup olmadığını belirtir.
Sonraki 4 bit Link Quality değerini belirtir. LQ değeri bir tablo kullanılarak sayısallaştırılır. 0 - 15 arasında değer alır. Bir komşudan ilk defa paket alınınca LQ (2) yani asymmetric komşu kabul edilir? LQ değeri belli bir sayı ile başlatılır.  Örneğin 0.7. Bu alan hesaplanırken komşunun "Radio Silent" olup olmadığı konusuna hiç değinilmemiş. Radio Silent EMCON seviyelerinden bir tanesi. Komşudan paket gelmezse LQ hep azaltılıyor. Bir katılımcı "Radio Silent" olup diğer katılımcılar açısından ağdan düşse bile direkt komşusu olanları duyabilir. Ancak röle veya broadcast her paketi alacak garantisi verilemez. Şöyle bir ağ düşünelim.
A -> B -> C.
C artık Radio Silent olmaya karar verir. B artık MPR olmayacağı için C broadcast paketleri alamaz.

Neighbor Reporting Tablosu
SOT Neighbor#N :
Summary SOT for Interferers :
Kötü kalite bile olsa sinyal olması muhtemel zaman dilimlerini belirtir. Yeni zaman dilimi talebinde öncelik interferer olmayan dilimlerden başlayacak şekildedir.

CRC : 16 bit. Bu alan tüm MAC PDU'larında olduğu gibi tüm paket için.

MAC ACK PDU - Layer 2
1.Tekrar Gönderim
Tüm kuyruk dolaşılır.
Acknowledgement PDU'nun gelmesi için 2 cycle beklenir. Eğer gelmezse MAC Data PDU en az bir kere tekrar gönderilir. Örneğin Slot 21 bizim olsun. Slot 1'de gönderilen paket acknowledgment gelmezse Slot 21'de tekrar gönderilir.

2. Zaman Aşımı
Önümüzde iki seçenek var. İlki bir timer kurmak ve örneğin 3 cycle beklemek. Eğer paket 3 cycle yani Slot 30'a kadar gönderilemezse düşürülür.
İkinci seçenek ise timer kurmadan tüm bir ağ döngüsünce beklemek. Yeni cycle + slot'ta ekleme yapmadan eski paketler silinir. Bunun kötü tarafı kuyrukta çok paket varmış gibi görünebilir.

3. Acknowledgement'ı İşlemek
Eğer gelen acknowledgment positive ise paket teslim edilmiştir ve silinir. Eğer acknowledgment negatif ise paket 1 cycle beklemeden ilk firsatta tekrar gönderilir.
1 cycle = 10 slot
----------------------------------------------------------------
^                ^                  ^                 ^               ^
|                |                  |                 |               |
Slot #1 ACK PDU      Slot#20      Slot#21    Slot#30
Başı                            Başı
+                                  
Transmission        

Type Alanı: 3
Cycle Alanı :
Slot Alanı :
Transmitter ID Alanı:
SACK Flag Alanı:
Cumulative Ack = 0
Selective Ack = 1
PDU Number Alanı:
Eğer Cumulative Ack tipi ise en son başarıyla alınan PDU numarasını belirtir. Eğer Selective Ack ise SACK bit-vector'de kaç tane eleman olduğunu belirtir.
SACK bit-vector Alanı :
Şöyledir . LSB biti ilk PDU içindir. MSB biti slot içindeki en son bit içindir.
1 1 0 1 1
CRC Alanı: 16 bit. Bu alan tüm MAC PDU'larında olduğu gibi tüm paket için.

MAC Data PDU - Layer 2
Layer 2'de komşular arası haberleşme için kullanılır. Wifi standardında Layer 2 zarfında taşınan Layer 3 paketinin şifreli olup olmadığını belirten bir alan mevcut. Bu PDU kriptonun arkasında olduğu için böyle bir alana lüzum görülmemiş.

Her katılımcı tüm MAC Data PDU'ları açar ve LLC katmanına gönderir. LLC katmanında şu adımlar gerçekleşir.

1. Veri tekrar rölenebilir. Unicast trafiktir.
2. Hem rölenebilir hem de işlenir. Broadcast trafiktir ve biz MPR seçilmişizdir.
3. Sadece işlenir. Broadcast trafiktir ve biz MPR seçilmemişizdir.
3. Kendisine adreslenmiş ise sadece işlenir.
Type Alanı : 4 bit
Reserved Alanı : 3 bit
Reliability Flag Alanı : 1 bit
Bu alan MAC seviyesinde yeniden gönderim için kullanılır.
Next Hop ID Alanı : 8 bit
Data Payload Alanı : Değişken
CRC : 16 bit. Bu alan tüm MAC PDU'larında olduğu gibi tüm paket için. Böylece LLC PDU'da CRC alanına gerek kalmıyor.




Hiç yorum yok:

Yorum Gönder