Interfață pentru șofer de transport
Transport Driver Interface (TDI) este o interfață comună pentru drivere (cum ar fi redirectorul și serverul Windows 2000) pentru a comunica cu diferite protocoale de transport de rețea. Acest lucru permite serviciilor să rămână independente de protocoalele de transport.
Spre deosebire de NDIS , nu există un driver pentru TDI, care este o specificație pentru transmiterea mesajelor între două straturi într-o arhitectură de rețea.
Microsoft a proiectat TDI pentru a oferi mai multă flexibilitate și funcționalitate decât interfețele existente (cum ar fi Winsock și NetBIOS ). Toate transporturile din Windows 2000 au o interfață directă cu TDI. Acest lucru permite TDI să ofere o interfață serială pentru protocoalele de transport.
Specificația TDI descrie setul de funcții și mecanisme de apelare prin care conducătorii de transport și clienții TDI comunică.
Transport Driver Interface (TDI) — Dezvoltat de SUN , IBM și Microsoft , TDI este o interfață de programare între protocoale și alte aplicații de nivel în modelul de rețea
Windows NT .
Model de programare TDI
- Modelul de programare TDI este foarte asemănător cu modelul Winsocket . Clienții TDI implementează următorii pași pentru a stabili o conexiune la un server la distanță:
- Clientul TDI generează o adresă deschisă TDI IRP pentru a găzdui adresa. Transportul TDI returnează un obiect fișier, cunoscut ca obiect de adresă, reprezentând o adresă. Acest pas este echivalent cu utilizarea funcției bind în Winsocket.
- Clientul TDI găzduiește și construiește un IRP TDI de tip conexiune deschisă, iar transportul TDI returnează un obiect fișier, cunoscut ca obiect de conexiune, reprezentând conexiunea. Acest pas este echivalent cu utilizarea funcției socket în Winsocket.
- Clientul TDI asociază un obiect de conexiune cu un obiect de adresă folosind un IRP TDI de tip adresă asociată.
- Un client TDI care acceptă o conexiune la distanță emite un IRP TDI de ascultare care specifică numărul de conexiuni acceptate pentru obiectul de conexiune și apoi emite un IRP TDI de acceptare care se încheie atunci când sistemul la distanță stabilește o conexiune. Această operație este echivalentă cu utilizarea funcțiilor de ascultare și acceptare din Winsocket.
- Un client TDI care dorește să stabilească o conexiune la un server la distanță emite un TDI IRP de tip connect specificând un obiect de conexiune pe care transportul TDI se termină atunci când este stabilită conexiunea. Emiterea unui IRP TDI de tip connect este echivalentă cu utilizarea funcției de conectare în Winsocket.
Principalele caracteristici ale TDI
- Operații asincrone: Majoritatea operațiunilor în TDI (mod kernel) sunt operațiuni asincrone; adică folosesc procedurile de apel invers oferite de clienții TDI pentru a determina orice evenimente care au avut loc vreodată în rețea.
- Schemă flexibilă de adresare : Una dintre caracteristicile și beneficiile utilizării TDI este că TDI oferă o schemă flexibilă de adresare. TDI are un mecanism dedicat și extensibil care poate fi utilizat pentru a susține, utiliza și identifica diferite formate de adresare.
- Notificare eveniment: Aceasta este o caracteristică specială a TDI prin care se determină schema utilizată și transporturile pot alerta clienții cu privire la orice eveniment de interes din rețea.
- Adresare pe 32 de biți: O altă caracteristică a interfeței driverului de transport este că atât transporturile, cât și clienții sunt ambele pe 32 de biți.
- Buffering intern: Această caracteristică permite TDI să tamponeze ceea ce este primit de la clienți și să îl trimită într-un buffer intern. Această tamponare internă permite clienților TDI să interogheze și să stabilească dimensiunea tamponului intern, să fie notificați despre spațiul tampon disponibil și să vadă datele din tampon chiar înainte de a-l primi.
- Notificare evenimente (Plug & Play): Interfața driverului de transport definește o schemă specifică prin care transporturile (în cazul Windows 2000 și versiunile ulterioare) pot notifica clientul TDI cu privire la diferite evenimente PnP, cum ar fi conexiunile care sunt eliminate sau adăugate și altele.
Link -uri