Transport Driver Interface

Transport Driver Interface (TDI) — общий интерфейс для драйверов (таких как Windows 2000 redirector и server) для общения с различными сетевыми транспортными протоколами. Это позволяет сервисам оставаться независимыми от транспортных протоколов.

В отличие от NDIS, нет драйвера для TDI, который является спецификацией для передачи сообщений между двумя уровнями в сетевой архитектуре.

Microsoft разработали TDI чтобы обеспечить большую гибкость и функциональность чем это обеспечивали существующие интерфейсы (такие как Winsock и NetBIOS). Весь транспорт в Windows 2000 имеет прямой интерфейс к TDI. Это позволяет TDI обеспечивать последовательный интерфейс транспортных протоколов.

Спецификация TDI описывает набор функций и механизмов вызова, с помощью которых транспортные драйверы и TDI клиенты общаются.

Transport Driver Interface (TDI) — разработан SUN, IBM и Microsoft, TDI программный интерфейс между протоколами и приложениями других уровней в Windows NT network model.

Программная модель TDI

  • Программная модель TDI очень похожа на модель Winsocket. TDI-клиенты реализуют следующие шаги для установления соединения с удаленным сервером:
    1. TDI-клиент формирует пакет TDI IRP типа address open для размещения адреса. TDI-транспорт возвращает файловый объект, известный как объект-адрес, представляющий адрес. Этот шаг эквивалентен использованию функции bind в Winsocket.
    2. TDI-клиент размещает и формирует пакет TDI IRP типа connection open, и TDI-транспорт возвращает файловый объект, известный как объект-соединение, представляющий соединение. Этот шаг эквивалентен использованию функции socket в Winsocket.
    3. TDI-клиент ассоциирует объект-соединение с объектом-адресом с помощью пакета TDI IRP типа associate address.
    4. TDI-клиент, принимающий удалённое соединение, выпускает TDI IRP пакет типа listen, определяющий число соединений, поддерживаемых для объекта-соединения, и затем выпускает пакет TDI IRP типа accept, который завершается, когда удалённая система установит соединение. Эта операция эквивалентна использованию функций listen и accept в Winsocket.
    5. TDI-клиент, который хочет установить соединение с удалённым сервером, выпускает TDI IRP пакет типа connect, определяя объект-соединение, который TDI-транспорт завершает, когда установится соединение. Выпуск TDI IRP пакета типа connect эквивалентно использованию функции connect в Winsocket.

Главные черты TDI

  • Асинхронные операции: Большинство операций в TDI (режим ядра) — это асинхронные операции; это значит, что они используют обратный вызов процедур, который обеспечивают TDI клиенты, для определения любых событий, когда-либо происходивших в сети.
  • Гибкая схема адресации: Одна из черт и достоинств использования TDI это то, что TDI предлагает гибкую схему адресации. TDI имеет специальный и расширяемый механизм, который может быть использован в целях поддержки, использования и идентификации различных форматов адресации.
  • Уведомление о событии: Это специальная черта TDI, с помощью которой определяется используемая схема, и транспорты могут предупреждать клиентов о любом интересующем событии в сети.
  • 32-битная адресация: Другая черта интерфейса транспортных драйверов это то, что и транспорты и клиенты оба 32 разрядные.
  • Внутренняя буферизация: Эта черта позволяет TDI транспортировать в буфер полученное от клиентов и посылать во внутренний буфер. Эта внутренняя буферизация позволяет TDI клиентам запрашивать и устанавливать размер внутреннего буфера, получая уведомления о доступном пространстве буфера и просматривать данные из буфера даже перед тем как получить их.
  • Уведомление о событии (Plug & Play): Интерфейс транспортного драйвера определяет конкретную схему с помощью которой транспорты (in case of Windows 2000 & later versions) могут уведомлять TDI клиента о различных событиях PnP, таких как удаление или добавление соединений и другое.

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.