Transportdrivrutinsgränssnitt
Transport Driver Interface (TDI) är ett vanligt gränssnitt för drivrutiner (som Windows 2000-omdirigering och server) för att kommunicera med olika nätverkstransportprotokoll. Detta tillåter tjänster att förbli oberoende av transportprotokoll.
Till skillnad från NDIS finns det ingen drivrutin för TDI, vilket är en specifikation för att skicka meddelanden mellan två lager i en nätverksarkitektur.
Microsoft designade TDI för att ge mer flexibilitet och funktionalitet än befintliga gränssnitt (som Winsock och NetBIOS ) som tillhandahålls. All transport i Windows 2000 har ett direkt gränssnitt mot TDI. Detta tillåter TDI att tillhandahålla ett seriellt gränssnitt för transportprotokoll.
TDI-specifikationen beskriver uppsättningen funktioner och anropsmekanismer genom vilka transportförare och TDI-klienter kommunicerar.
Transport Driver Interface (TDI) — TDI, som utvecklats av SUN , IBM och Microsoft , är ett programmeringsgränssnitt mellan protokoll och andra lagerapplikationer i nätverksmodellen Windows NT .
TDI-programmeringsmodell
- TDI - programmeringsmodellen är mycket lik Winsocket - modellen . TDI-klienter implementerar följande steg för att upprätta en anslutning till en fjärrserver:
- TDI-klienten genererar en adress öppen TDI IRP för att ta emot adressen. TDI-transporten returnerar ett filobjekt, känt som ett adressobjekt, som representerar en adress. Detta steg motsvarar att använda bindningsfunktionen i Winsocket.
- TDI-klienten är värd för och konstruerar en TDI IRP av typen anslutning öppen, och TDI-transporten returnerar ett filobjekt, känt som ett anslutningsobjekt, som representerar anslutningen. Detta steg motsvarar att använda socket-funktionen i Winsocket.
- TDI-klienten associerar ett anslutningsobjekt med ett adressobjekt med hjälp av en TDI IRP av typen associerad adress.
- En TDI-klient som accepterar en fjärranslutning utfärdar en lyssna TDI IRP som anger antalet anslutningar som stöds för anslutningsobjektet, och utfärdar sedan en accept TDI IRP som avslutas när fjärrsystemet upprättar en anslutning. Denna operation motsvarar att använda funktionerna lyssna och acceptera i Winsocket.
- En TDI-klient som vill upprätta en anslutning till en fjärrserver utfärdar en TDI IRP av typen connect som anger ett anslutningsobjekt som TDI-transporten avslutas när anslutningen upprättas. Att utfärda en TDI IRP av typen connect motsvarar att använda connectfunktionen i Winsocket.
Huvuddragen i TDI
- Asynkrona operationer: De flesta operationer i TDI (kärnläge) är asynkrona operationer; det vill säga de använder återuppringningsprocedurerna som tillhandahålls av TDI-klienter för att fastställa eventuella händelser som någonsin har inträffat på nätverket.
- Flexibelt adresseringsschema : En av funktionerna och fördelarna med att använda TDI är att TDI erbjuder ett flexibelt adresseringsschema. TDI har en dedikerad och utbyggbar mekanism som kan användas för att stödja, använda och identifiera olika adresseringsformat.
- Händelsemeddelande: Detta är en speciell egenskap hos TDI genom vilken schemat som används bestäms och transporter kan uppmärksamma kunder på alla händelser av intresse på nätverket.
- 32-bitars adressering: En annan egenskap hos transportdrivrutinsgränssnittet är att både transporter och klienter är båda 32-bitars.
- Intern buffring: Denna funktion tillåter TDI att buffra det som tas emot från klienter och skicka det till en intern buffert. Denna interna buffring gör att TDI-klienter kan fråga och ställa in storleken på den interna bufferten, meddelas om tillgängligt buffertutrymme och se data från bufferten redan innan de tar emot den.
- Händelsemeddelande (Plug & Play): Transportdrivrutinens gränssnitt definierar ett specifikt schema genom vilket transporter (i fall av Windows 2000 och senare versioner) kan meddela TDI-klienten om olika PnP-händelser som att anslutningar tas bort eller läggs till och mer.
Länkar