Для передачи данных прикладного уровня транспортному используют различные интерфейсы. Например,
- Сокеты
- TLI
- RPC
1. Впервые интерфейс сокетов был реализован для BSD Unix.
Механизм сокетов предоставляет интерфейс обмена сообщениями, предназначенный для разработки сетевых распределенных приложений.
Концепции:
- независимость от нижележащих сетевых протоколов и технологий
- использование абстрактной точки соединения – сокета
- именование сокета может быть как высокоуровневое символьное, так низкоуровневое IP
- могут существовать Сокеты различных типов для разных типов коммуникационных доменов (дейтаграммные для UDP и потоковые для TCP)
- для обмена сообщениями поддерживается набор примитивов, реализованный как системные вызовы. (soket- создание, bind- связывание, connect- установление соединения, listen- прослушивание и т.д.)
Взаимодействие носит клиент-серверный характер. Сокет-сервер ждет акивизации сокета-клиента.
Прежде чем начать передачу, Сокеты должны договориться о протоколе передачи и номере порта. Если это TCP устанавливается предварительное соединение (физический канал). При UDP соединение не устанавливается (логический канал). Задача протокола транспортного уровня найти коммуникационный узел, через который пойдет передача.
2. Механизм вызова удаленных процедур представляет собой надстройку над системой обмена сообщениями и в ряде случаев оказывается более удобным для взаимодействия программ.
Концепция:
- это расширение механизма передачи управления и данных внутри программы.
- наибольшая эффективность достигается для интерактивных приложений
- характеризуется ассиметричностью – одна из взаимодействующих сторон является инициатором взаимодействия
- характеризуется синхронностью – выполнение вызывающей процедуры блокируется с момента выдачи запроса и возобновляется только после возврата из вызывающей процедуры
3. TLI (Transport Layer Interfase) реализован в SystemV и основан на архитектуре STREAMS.
Концепции:
- предоставляет набор вызовов, предназначенных для сетевых приложений. Для преобразования вызовов в функции STREAMS используется библиотека TLI.
- схема использования похожа на интерфейс сокетов и основана на использовании протоколов транспортного уровня (например, TCP или UDP).
- архитектура интерфейса основана на модели OSI (поэтому не оптимальна)
- можно использовать с протоколами IPX/SPX под NOVELL
Интерфейс TLI получил развитие в виде интерфейса XTI (X/Open Transport Interfase)
Вывод: в обычных ситуациях нет смысла использовать XTLI/TLI/ Интерфейс сокетов проще, а возможности почти одинаковые.