2.1 Transport
The TDS protocol does not prescribe a specific underlying transport protocol to use on the Internet or on other networks. TDS only presumes a reliable transport that guarantees in-sequence delivery of data.
The chosen transport can be either stream-oriented or message-oriented. If a message-oriented transport is used, any TDS packet sent from a TDS client to a TDS server MUST be contained within a single transport data unit. Any additional mapping of TDS data onto the transport data units of the protocol in question is outside the scope of this specification.
The current version of the TDS protocol has implementations over the following transports, except as indicated:<2>
TCP [RFC793].
A reliable transport over the Virtual Interface Architecture (VIA) interface [VIA2002] can be used in only TDS 7.0, TDS 7.1, TDS 7.2, and TDS 7.3.<3>
Named Pipes [MSDN-NP].
Shared memory [MSDN-TDSENDPT].
Optionally, the TDS protocol has implementations for the following protocols on top of the preceding transports:
Transport Layer Security (TLS)/Secure Socket Layer (SSL) [RFC2246] [RFC5246] [RFC6101], in case TLS/SSL encryption is negotiated in TDS 7.x.
TLS [RFC8446], in case TLS encryption is established in TDS 8.0.
Session Multiplex Protocol (SMP) [MC-SMP], in case the Multiple Active Result Sets (MARS) feature [MSDN-MARS] is requested.