Transport Driver Interface

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Pyclanmap (обсуждение | вклад) в 16:53, 14 декабря 2010 (Дoбaвлeнa Категория:Компьютерные сети; удалён шаблон {{нет категорий}} с помощью HotCat). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

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-клиент формирует пакет TDIIRP типа 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, таких как удаление или добавление соединений и другое.

Ссылки