OS/2 LAN Man Named Pipe Technical and Performance Info (61652)



The information in this article applies to:

  • Microsoft LAN Manager 2.0
  • Microsoft LAN Manager 2.1
  • Microsoft LAN Manager 2.1a
  • Microsoft LAN Manager 2.2

This article was previously published under Q61652

SUMMARY

Listed below are questions and answers involving technical and performance information pertaining to OS/2 LAN Manager versions 2.0, 2.1, 2.1a, and 2.2.

Note: Remember that future implementations may change.

MORE INFORMATION

  1. Q. What is the mapping between named pipes in OS/2 LAN Manager on a network, and connection oriented services in the NetBIOS and underlying protocol layer?

    A. All of the OS/2 LAN Manager services (including named pipes) are provided by using a ring 0 NetBIOS interface. Please note that the ring 3 NetBIOS interface is provided by OS/2 LAN Manager.
  2. Q. If you have a single named pipe, how many connections can you have to it across the network? Can multiple client machines share the same named pipe on one server?

    A. A single instance of a named pipe can hold one client. However, you can make numerous instances of the same pipe name, to which you can connect an equal number of clients. The maximum number of instances that can be obtained from a named pipe is determined by the first DosMakeNmPipe() call (a value of 0xFF means unlimited).

    Please note that the system will most likely run out of resources (memory) if you attempt to make more pipes than it can handle. Also, depending on the implementation, various server settings may increase net performance if your server is intended to provide pipe I/O to many instances.
  3. Q. If you are using multiple instances of a named pipe on the OS/2 server to connect to multiple MS-DOS clients, does each instance of the named pipe use a connection in the NetBIOS? Or does OS/2 LAN Manager handle multiplexing/demultiplexing of data through one NetBIOS connection?

    A. The OS/2 LAN Manager server requires one NetBIOS session for each unique client (VC). If you have four workstations, each with two pipes open to one server, the server requires four NetBIOS sessions (one for each workstation). All workstation I/O (named pipes, redirected file/print I/O, and so on.) is multiplexed on one session.
  4. Q. If you are running applications on an OS/2 server using named pipes to MS-DOS clients, and also running applications on an OS/2 server and other MS-DOS clients using NetBIOS, what resources are used in NetBIOS and the underlying protocol layers? For example, if an application is accessing NetBIOS directly, how will it affect OS/2 LAN Manager's ability to use named pipes?

    A. If you use up all of the NetBIOS resources from underneath the MS-DOS redirector, it stops functioning until the application releases some of the resources. The OS/2 redirector controls how many network control blocks (NCBs) can be submitted from application processes. There are settings in LANMAN.INI that control how many resources must be guaranteed.

    Taking NCBs away from OS/2 LAN Manager merely lowers the amount of concurrent net activity that can be performed. This should not be a problem unless you have an NCB- or LSN-hungry application, or are stressing your OS/2 LAN Manager workstation/server. If this is the case, the LANMAN.INI and PROTOCOL.INI values should be set to provide OS/2 LAN Manager with the required number of resources to satisfy the demand.
  5. Q. Is there a way to determine the number of free connections left or available?

    A. Yes, this can be done by using the NETBIOS STATUS (33H {wait} / B3H {return} NCB. Please refer to the "IBM Local Area Network Technical Reference" manual, or "Inside NetBIOS" by Haugdahl for more information.
  6. What kinds of resources (that is, threads, locked in memory, and so on) does OS/2 LAN Manager use when a connection is made to a named pipe from across the network?
       Connection      Resources
       ----------      ---------
    
       Workstation     The same resources that are used by any other
                       remote file handle.
    
       Server          The same resources that are used by any other
                       remote file handle, plus the overhead for a local
                       pipe (remote named pipe overhead is the same as if
                       it was a local named pipe on the server).
    						
  7. Q. What are the advantages of using message stream pipes as opposed to byte stream pipes? For example, when transferring 4K messages between the client and server over Ethernet, what are the performance and resource penalties of using message streams, instead of a byte stream?

    A. Message stream pipes are slightly slower than byte stream pipes. The performance between message-mode and character-mode named pipes will not differ drastically unless you take advantage of DosTransactNmPipe(), or are using small stream I/O. If this is the case, the difference between the message or byte mode performance is apparent.
  8. Q. Does using a message stream to keep the message from being fragmented incur any additional memory or performance penalties as opposed to using byte stream named pipes?

    A. There is an overhead of a couple of bytes per write done into the pipe to keep track of the message size.

    Please note that the extra bytes typically do not make a difference in performance. The best way to increase performance is to cut down the number of packets that hit the wire: reading 100 bytes is much faster than reading ten 10-byte packets from a file).

Modification Type:MajorLast Reviewed:9/30/2003
Keywords:kbnetwork KB61652