Comparing SNA client TCP/IP named pipes vs sockets

Last reviewed: April 17, 1997
Article ID: Q128985
The information in this article applies to:
  • Microsoft SNA Server for Windows NT, versions 2.1, 2.11, and 3.0

SUMMARY

The TCP/IP windows sockets interface was added in SNA Server 2.1 and is configured during SNA Server client setup:

  - Microsoft Networking (named pipes)
  - Novell Netware (native ipx/spx)
  - Banyan VINES  (via Banyan IP)
  - TCP/IP  (via windows sockets)

When the Microsoft TCP/IP protocol is installed onto a Windows 3.1, Windows for Workgroups 3.11, Windows 95 or Windows NT machine, the SNA Server client can communicate to the server over:
  • Microsoft Networking (named pipes over tcp/ip)

    -or-

  • TCP/IP (over the Windows sockets interface)

The TCP/IP windows sockets interface was added to SNA Server 2.1 and is the recommended SNA Server client connection method for customers using the TCP/IP transport. NOTE: To use TCP/IP sockets, the SNA Server client software requires that the TCP/IP transport support the Windows Sockets version 1.1 specification. TCP/IP sockets provides better performance and better reliability when connecting to servers across routed IP networks.

This article compares these two methods of connecting from an SNA Server client.

MORE INFORMATION

Named Pipes over TCP/IP

When communicating over named pipes, the SNA Server client opens a named pipe resource (\\server\PIPE\...) which is created by the SNA Server. A named pipe is an interprocess communication facility supported by the client redirector (that is, Windows for Workgroups protected mode redirector) and the Windows NT Server. The SNA Server client and server send messages to each other over this named pipe.

As with shared file and printer connections, named pipe session traffic flows over a NetBIOS session between the client redirector and the Windows NT server using the "Server Message Block" (SMB) protocol. The following illustrates the message flow:

  SNA Client         <- Named Pipe ->           SNA Server

  Redirector   <- SMB over NetBIOS session ->   NT Server

  TCP/IP          <- TCP/IP connection ->       TCP/IP

  Network card <---------------------------->   Network card


A typical message packet would include the following information:

   [ IP | TCP [ NetBios [ SMB ( SNA application data ) ] ] ]

Disadvantages of Using Named Pipes

- The client redirector and Windows NT server process all messages passed

  between the SNA Server client and the server. All named pipe messages
  are formatted within "SMB" requests by the client redirector and NT
  server which flow over a NetBios session.

- Each NetBios session requires "keep-alive" messages to flow between
  the client redirector and Windows NT server. These NetBIOS level
  acknowledgments lead to network overhead, and the possibility of
  NetBIOS-level timeout conditions when traveling across a routed
  IP network.

- A NetBIOS session over TCP/IP requires NetBIOS-to-IP address name
  resolution, requiring a client LMHOSTS file entry for each server,
  or a WINS server to provide this name resolution. DNS servers don't
  provide this name resolution.

- Since each SNA Server client has one outstanding read request pending
  on the sponsor connection, and one read pending on the SNA application
  session, Windows NT server resources are required to handle these
  pending I/O requests even when the SNA client session is idle.

Advantages of Using Named Pipes

- Windows NT user validation is performed by the client redirector and

  the Windows NT server (as part of the SMB protocol). This allows the
  user's initial network login to be used.

TCP/IP Sockets

When communicating over TCP/IP sockets, the SNA Server client opens a TCP/IP socket number created by the SNA Server. A socket is a session- oriented interprocess communication facility supported directly over the TCP/IP transport. The following illustrates the message flow:

  SNA Client         <- TCP/IP socket ->         SNA Server

  TCP/IP           <- TCP/IP connection ->       TCP/IP

  Network card  <---------------------------->   Network card


A typical message packet includes the following information:

   [ IP | TCP ( SNA application data ) ]

Advantages of Using TCP/IP Sockets

- The SNA Server client and server communicate directly over the

  Windows sockets interface, bypassing NetBIOS, the SMB protocol, and
  overhead introduced using the named pipes interface.

- TCP/IP name-to-IP address resolution is provided by the client HOSTS
  file, DNS server, or WINS server

- TCP/IP session keep-alive timeout processing is handled directly by
  the SNA Server client and server. The SNA Server WatchDogTimeOut
  setting controls the timeout value, as described in the SNA Server 2.1
  readme file (the default is 60 seconds).

- The SNA Server Win 3.x client uses a larger buffer size to exchange
  data with the server than does the SNA client named pipe interface.
  Also, data transfer is performed using byte stream protocol which
  makes better use of network resources (named pipes uses message mode
  protocol).

Disadvantages of Using TCP/IP Sockets

- User authentication is handled by the SNA Server client and server.

  This requires the user to "login" to the Windows NT network when
  the SNA client software is loaded. This client login can be
  automated to some degree, as described on page 208 of the SNA
  Server 2.1 Reference Guide. In SNA Server 2.11, more enhancements
  have been made in this area. For additional information, see the
  following article in the Microsoft Knowledge Base:

     ARTICLE-ID: Q130854
     TITLE     :Automating the SNA Server Win 3.x Client Login Process

  NOTE: Windows 95 and Windows NT support secure programmatic methods to
  impersonate the currently logged on user. Therefore, there is no need to
  automate the client logon request when using the SNA Server Windows 95 or
  Windows NT client software.


Additional query words: prodsna tcp/ip sockets named pipes
Keywords : kbinterop kbnetwork ntnetserv ntprotocol snawin3x snawin95
Version : 2.1 2.11 3.0
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 17, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.