Bluetooth v4

Bluetooth v4

  • creșterea vitezei de transmitere și recepție a datelor;
  • abilitatea de a vă conecta la Internet;
  • Îmbunătățirea confidențialității și securității.

Teza principală a comunicatului de presă: versiunea 4.2 - este ideală pentru Internetul lucrurilor (IoT).






În acest articol vreau să vă spun cum sunt implementate aceste 3 puncte. Cui este interesant binevenit.

Tot ce este descris mai jos, se aplică doar BLE, a condus ...

1. Creșteți viteza de primire și transmitere a datelor de utilizator.


Principalul dezavantaj al BLE a fost rata scăzută de transfer de date. Deși din ce parte să privim, deoarece inițial BLE a inventat pentru a salva sursa de energie care alimentează dispozitivul. Și pentru a economisi energie, trebuie să comunicăm intermitent și să transferăm unele date. Cu toate acestea, tot Internetul este plin de perturbări legate de viteza redusă și de întrebări privind posibilitatea creșterii acestuia, precum și creșterea mărimii datelor transmise.

Odată cu apariția versiunii 4.2, Bluetooth SIG a anunțat o creștere a vitezei de transmisie de 2,5 ori, iar dimensiunea pachetului transmis de 10 ori. Cum au reușit acest lucru?

Vă voi spune că aceste două cifre sunt legate între ele, și anume: viteza a crescut deoarece dimensiunea pachetului transmis a crescut.

Să examinăm PDU (unitatea de date protocol) a canalului de date:

Fiecare PDU conține un antet pe 16 biți. Deci, acest antet în versiunea 4.2 diferă de antetul în versiunea 4.1.

Iată titlul versiunii 4.1:

Dar titlul versiunii 4.2:

Notă: RFU (rezervat pentru utilizarea viitoare) - câmpul indicat de această abreviere este rezervat pentru utilizare ulterioară și este umplut cu zerouri.

După cum vedem, ultimii 8 biți ai antetului sunt diferiți. Câmpul Lungime reprezintă suma lungimilor încărcăturii utile și câmpul MIC (verificarea integrității mesajelor) din PDU (dacă acesta este activat).
Dacă în versiunea 4.1 câmpul "Lungime" este de 5 biți, atunci în versiunea 4.2 acest câmp este de 8 biți.

Prin urmare, este ușor de calculat că câmpul «lungime» în versiunea 4.1 poate conține valori în intervalul 0-31, și 4.2 în intervalul de la 0 la 255. În cazul în care valoarea scăzută din MIC lungimea câmpului maxim (4 octeți), atunci constatăm că datele utile pot fi 27 și 251 octeți pentru versiunile 4.1 și 4.2, respectiv. De fapt, numărul maxim de date este chiar mai mic, deoarece În sarcina utilă, există și date de serviciu L2CAP (4 octeți) și ATT (3 octeți), dar nu vom lua în considerare acest lucru.

Astfel, dimensiunea datelor de utilizator transmise a crescut de aproximativ 10 ori. În ceea ce privește viteza, care, pentru un motiv sau altul, a crescut de 10 ori, în timp ce doar 2,5 ori, atunci nu poate fi vorba despre o creștere proporțională, pentru că totul se bazează chiar și în livrarea de date de garanție, deoarece pentru a asigura livrarea de 200 bytes un pic mai greu decât 20.

2. Abilitatea de a vă conecta la Internet.

Poate că cea mai interesantă inovație, din cauza căreia Bluetooth SIG și a anunțat că versiunea 4.2 face Internetul lucrurilor (IoT) mai bună datorită acestei caracteristici.

Înapoi în versiunea 4.1, în modul L2CAP a apărut modul "LE Credit Based Flow Control Mode". Acest mod vă permite să controlați fluxul de date utilizând așa-numitele. bazate pe credite. schema caracteristică este că acesta nu utilizează pachete de semnalizare, pentru a indica numărul de date transferate, și solicită celălalt dispozitiv la o anumită sumă de credit pentru transferul de date, accelerând astfel procesul de transmitere. În acest caz, partea de recepție de fiecare dată când este recepționat cadrul, reduce contorul de cadre și, la atingerea ultimului cadru, poate rupe conexiunea.

În lista de comenzi L2CAP au apărut 3 coduri noi:
- Solicitare de conectare bazată pe credite pe bază de LE - solicitare de conectare prin sistem de credite;
- răspunsul la rambursarea creditelor bazate pe credit - răspunsul la o conexiune prin schema de credite;






- LE Credit de control al fluxului - un mesaj despre posibilitatea de a obține cadre LE suplimentare.

În pachetul "Solicitare de conectare pe baza creditului LE"

Bluetooth v4

Există un câmp "Credite inițiale" de 2 octeți lungi, indicând numărul de cadre LE pe care dispozitivul le poate trimite la nivelul L2CAP.

În pachetul de răspuns "LE Credit Based Connection response"

Bluetooth v4

în același câmp, este specificat numărul de cadre LE care pot fi trimise de un alt dispozitiv, iar rezultatul solicitării de conectare este specificat în câmpul "Rezultat". O valoare de 0x0000 indică succesul, valorile rămase indică o eroare. În particular, valoarea 0x0004 indică o eșec de conexiune din cauza lipsei de resurse.

Astfel, chiar și în versiunea 4.1, există posibilitatea transferării unei cantități mari de date la nivelul L2CAP.
Și acum, aproape simultan cu lansarea versiunii 4.2, se publică:

Profilul principal cerință pentru nivelul L2CAP este «LE de credit Conectare Bazat» a apărut în versiunea 4.1, care, la rândul său, face posibilă pentru a trimite pachete cu MTU> = 1280 octeți (sper să dau indiciu ușor de înțeles).

Profilul definește următoarele roluri:
- rol router (router) - utilizat pentru dispozitive care pot ruta pachetele IPv6;
- rol nod (Nod) - utilizat pentru dispozitive care pot primi sau trimite numai pachete IPv6; au o funcție de descoperire a serviciului și au un serviciu IPSS care permite routerelor să detecteze acest dispozitiv;

Dispozitivele cu rol router care trebuie să se conecteze la un alt router pot avea un rol nod.

Destul de ciudat, dar transmiterea de pachete IPv6 nu face parte din specificațiile de profil, și este specificat în IETF RFC «Transmiterea pachetelor IPv6 prin Bluetooth Low Energy». Acest document opredlen un alt punct interesant, și anume, faptul că transmiterea de pachete IPv6 folosind standardul 6LoWPAN - este interoperabilitatea standardul IPv6 peste consum redus de energie fără fir rețea personală standard de 802.15.4 IEE.

Uită-te la imagine:

Bluetooth v4

Profilul specifică faptul că IPSS, GATT și ATT sunt utilizate numai pentru descoperirea serviciului, iar GAP este utilizat numai pentru a descoperi dispozitivul și a stabili o conexiune.

Dar subliniat în roșu, se spune că transferul de pachete nu este inclus în specificația profilului. Aceasta permite programatorului să-și scrie propria implementare a transferului de pachete.

3. Îmbunătățirea vieții private și a securității.

Una dintre responsabilitățile managerului de securitate (SM) este asocierea celor două dispozitive. În timpul împerecherii, se creează chei, care sunt apoi folosite pentru a cripta conexiunea. Procesul de cuplare constă din 3 faze:

  • schimbul de informații privind căile de cuplare;
  • generarea de chei de scurtă durată (Key Short Term (STK));
  • schimbul de chei.

În versiunea 4.2, faza a doua a fost împărțită în 2 părți:

  • generarea de chei de scurtă durată (Key Short Term (STK)) numită "Legacy pairing"
  • generarea de chei pe termen lung (LTK) numite "LE Secure Connections"

Și prima fază a fost adăugată printr-un alt mod de asociere: "Comparație numerică" care funcționează numai cu a doua versiune a fazei a doua: "LE Secure Connections".

În acest sens, pe lângă cele 3 funcții existente din setul de instrumente pentru managerul de securitate criptografică, au apărut încă 5 și aceste 5 sunt folosite numai pentru a deservi noul proces "Secure Connections". Aceste funcții generează:

  • LTK și MacKey;
  • confirmarea variabilelor;
  • autentificare;
  • Numere de 6 cifre utilizate pentru a fi afișate pe dispozitivele conectate.

Toate funcțiile utilizează algoritmul de criptare AES-CMAC cu o cheie de 128 biți.

Deci, dacă la împerecherea în faza a 2-a, folosind metoda LE legacy pairing, au fost generate două chei:

  • Tasta temporară (TK): Tasta temporară pe 128 biți utilizată pentru generarea STK;
  • Tastă pe termen scurt (STK): o cheie temporară de 128 biți utilizată pentru a cripta o conexiune

apoi prin metoda "LE Secure Connections" se generează 1 cheie:

  • Tastă pe termen lung (LTK): o cheie de 128 biți utilizată pentru criptarea conexiunilor ulterioare.

Rezultatul acestei inovații este:

  • împiedicați urmărirea, deoarece Acum datorită "Numeric Comparison" există posibilitatea de a controla posibilitatea conectării la dispozitiv.
  • Îmbunătățirea eficienței energetice, pentru că Acum, nu este nevoie de energie suplimentară pentru generarea repetată a cheilor la fiecare conexiune.
  • criptare standard pentru a asigura date confidențiale.

Ciudat cum se pare, dar datorită îmbunătățirii siguranței, am obținut o îmbunătățire a eficienței energetice.

4. Există vreo modalitate de a simți?


Da, există.
NORDIC Semiconductor a lansat "nRF51 IoT SDK", care include stivă, biblioteci, exemple și API pentru seria nRF51. Acestea includ:

  • chips-uri nRF51822 și nRF51422;
  • nRF51 DK;
  • nRF51 Dongle;
  • nRF51822 EK.

Puteți descărca următorul link:

  • scurtă descriere;
  • arhiva cu SDK-ul descris;
  • arhiva kernel-ului pentru Raspberry Pi, inclusiv sursele sale.

5. Concluzie.

Vă mulțumesc pentru atenție.







Articole similare

Trimiteți-le prietenilor: