NetBIOS Frames Protocol sau NBF este un protocol de transfer de date la nivel de rețea și de transport care nu acceptă rutarea . Cel mai frecvent utilizat la diferite niveluri ale rețelelor Microsoft Windows în anii 1990. Implementarea protocolului NBF (alias NetBIOS peste IEEE 802.2 LLC ) este prezentă în multe sisteme de operare lansate în anii 1990, cum ar fi LAN Manager, IBM LAN Server, Windows for Workgroups , Windows 95 și Windows NT . Unele alte protocoale, cum ar fi NetBIOS peste TCP/IP sau NetBIOS peste IPX/SPX , conțin și implementări ale serviciilor NetBIOS/NetBEUI pe alt protocol.
Uneori, protocolul NBF este definit în linii mari ca NetBEUI, dar acest lucru nu este corect. Această eroare apare din cauza confuziei cu NetBIOS Extended User Interface , o extensie a API-ului NetBIOS care a fost concepută inițial pentru a fi asociată cu protocolul NBF. Protocolul și emulatorul NetBEUI au fost dezvoltate inițial pentru a permite programelor care necesită NetBIOS să ruleze pe noile rețele token ring ale IBM . [1] Microsoft a susținut această eroare desemnând propria implementare a protocolului NBF ca NetBEUI. În realitate, NBF este un protocol, iar NetBEUI este inițial o extensie a API -ului NetBIOS .
Protocolul NBF utilizează modul 1 IEEE 802.2 pentru serviciul de nume NetBIOS/NetBEUI și serviciul de datagramă . Serviciul de sesiune NetBIOS/NetBEUI ( conexiune virtuală ) utilizează modul 2 al standardului IEEE 802.2. Protocolul NBF a găsit o mare utilizare în mesajele difuzate , ceea ce explică popularitatea sa ca interfață de chat . Dacă protocolul NBF folosește o resursă mică de rețea într-o rețea mică, atunci transmisiile au un impact semnificativ asupra performanței și vitezei rețelei, mai ales pe măsură ce numărul de gazde crește pe măsură ce rețeaua crește.
Primul sistem pentru crearea unei rețele locale, IBM PC Network, a fost dezvoltat de Sytek pentru IBM și a fost folosit de Microsoft pentru MS-NET în 1985. În 1987, o implementare a acestei dezvoltări a fost inclusă de Microsoft și Novell în sistemele lor de operare LAN Manager și NetWare .
Deoarece protocolul NBF nu acceptă rutarea, comunicarea folosindu-l poate fi stabilită numai atunci când ambele dispozitive se află în același domeniu de difuzare , cu toate acestea, poate fi folosit pentru a se conecta la segmente de rețea conectate printr-o punte de rețea . Aceasta înseamnă că protocolul NBF trebuie utilizat numai în rețelele locale mici sau mijlocii , unde, datorită configurației minime necesare, are un avantaj față de protocolul TCP/IP . Pentru ca protocolul NetBIOS/NetBEUI să funcționeze în soluții de interconectare, implementarea serviciilor sale trebuie să ruleze peste alt protocol, cum ar fi IPX/SPX sau TCP/IP. [2]
NetBIOS/NetBEUI oferă trei servicii care nu au legătură:
Protocolul NBF implementează toate aceste trei servicii.
Înainte de a începe o sesiune sau de a livra o datagramă, o aplicație trebuie să-și înregistreze numele NetBIOS/NetBEUI folosind serviciul de denumire. Pentru a face acest lucru, pachetele de difuzare Adăugare interogare nume și interogare Adăugare nume grup sunt trimise în rețea . În cazul în care numele NetBIOS/NetBEUI selectat este deja preluat, serviciul de denumire de pe gazdă care folosește acest nume trimite un mesaj de difuzare Node Conflict către rețea .
Pentru a stabili o sesiune sau a livra o datagramă către o anumită gazdă în loc de difuzare, protocolul NBF trebuie să determine adresa MAC a gazdei cu numele NetBIOS/NetBEUI dorit. Acest lucru se face prin trimiterea unui pachet Name Query către rețea , răspunsul la care va fi adresa MAC a gazdei care a trimis răspunsul, adică gazda cu numele solicitat.
Modul de trimitere a datagramelor - așa-numitul. „ fără contact ”. Datagrama este trimisă în pachete speciale de datagramă atunci când este trimisă la un anumit nume NetBIOS/NetBEUI. În cazul trimiterii către toate numele NetBIOS/NetBEUI disponibile în rețea, se utilizează un alt tip de pachete - Datagram Broadcast ( Engleză Broadcast Datagram )
În modul sesiune, două gazde stabilesc o conexiune în așa-numitul mod. „dialog” ( conversație în engleză ), care permite livrarea de mesaje de dimensiuni mai mari, precum și detectarea și corectarea erorilor.
Pentru a stabili o sesiune, este necesar un schimb de pachete. La inițializarea unei sesiuni, gazda trebuie să trimită un pachet special de interogare de nume. Computerul cu care urmează să fie stabilită sesiunea răspunde cu un pachet Name Recognized indicând că sesiunea nu poate fi stabilită (fie pentru că gazda nu se așteaptă să stabilească o sesiune cu acest computer, fie pentru că nu există resurse pentru a stabili o nouă sesiune ) Gazda care a inițializat sesiunea trimite apoi un pachet Session Initialize , care ar trebui să primească un răspuns de Session Confirm .
După stabilirea sesiunii, datele sunt transmise în pachete de date. Standardul IEEE 802.2 asigură controlul fluxului și transmiterea pachetelor de date. Deoarece NetBIOS/NetBEUI permite transmiterea de pachete mai mari decât pachetul maxim posibil pe un anumit nivel de control al accesului media , pachetele NetBIOS/NetBEUI pot fi împărțite într-o serie de pachete Data First Middle și un pachet Data Only Last atunci când sunt transmise. Pachetele care nu necesită împărțire sunt trimise ca un singur Ultimul pachet de date. La primirea fiecărui Ultimul pachet Numai Date, se trimite o confirmare de primire. Această confirmare înseamnă, de asemenea, că toate pachetele anterioare Data First Middle au fost, de asemenea, primite cu succes.
Sesiunea este închisă prin trimiterea unei cereri de încheiere a sesiunii .
Cu excepția implementărilor DOS și UNIX, protocolul NBF este disponibil în aproape fiecare versiune de Windows până la Windows 2000 , [3] dar utilizarea sa a scăzut rapid de la dezvoltarea NetBIOS peste TCP/IP .
Microsoft a renunțat oficial la suportul pentru protocolul începând cu Windows XP , [4] totuși fișierele necesare erau încă incluse pe CD-ROM-ul de instalare și puteau fi instalate manual. [5] Windows Vista nu acceptă NetBEUI (adică NBF) deloc, cu toate acestea, este încă posibil să instalați și să utilizați driverul din Windows XP. [6]