Samba/iX is a suite of programs which allow an HP 3000
running MPE/iX operating system to provide service using a Microsoft networking
protocol called Server Message Block (SMB). This product allows
implementation of interoperability features allowing the system to
act as a file and print server to PC clients running the following operation
systems:
Samba is an application of choice allowing interoperability
between Windows and UNIX-like systems. It is a group of programs
that allows a UNIX host to act as a fileserver for DOS and Windows
platforms and also provides print services for them. It is freely
available under the GNU Public License. Samba allows UNIX-like machines to be
integrated into a Windows network without installing any additional software
on the Windows machines. Many different platforms run Samba successfully;
and there are nearly forty different operating systems which support Samba.
As more of our customers implement and configure networking
services in a heterogeneous environment of MPE, UNIX, and Windows
NT servers, along with Netware, Windows, and NT workstation clients,
the need for knowledge in the area of interoperability becomes a
must for our customers. Beginning with MPE/iX release 6.0, Samba/iX
is available on MPE/iX shell operating system. It allows clients
to access a server's filespace and printers via the SMB protocol.
Samba/iX is the result of porting Samba to MPE/iX under POSIX environment.
It is a solution for those wishing to access HP 3000 disk storage
and printers (both networked and spooled from MPE/iX) from common
PC client operating systems like Windows 95 and NT Workstation.Samba/iX
allows access to these disk and printer resources of MPE/iX, by
providing standard SMB file and printer services that are accessible from
PC clients and their applications. It is available to the HP 3000 users
with the MPE/iX 6.0 release.
A general UNIX program that is part of the Samba suite has
also been ported to MPE/iX shell operating system. This program
allows MPE users to use an FTP-like interface to access filespace
and printers on any other SMB (Server Message Block) servers. This
capability enables these operating systems to act like a LAN server
or Windows NT server. See Figure 7-1 "HP 3000
Interoperating With Microsoft Platforms" for HP 3000
interoperating with the Microsoft platforms.
Figure 7-1 HP 3000 Interoperating With Microsoft Platforms
The SMB server handles connections from clients,
performing all the file, permission, and username authentication.
NMBD
The NetBIOS name server advertises Samba/iX on the
network, and helps clients locate servers.
SMBCLIENT
Client program on MPE/iX host.
SMB.CONF
Samba/iX runtime configuration file.
TESTPARM
A program to test the Samba/iX configuration
file.
TESTPRNS
A program to test server access to printers.
The Samba/iX product contains:
SMBD: This is the server that can provide most SMB services.
The SMB protocol section in the Samba/iX configuration file
"SMB.CONF", describes the role of SMB. The HP 3000 running
SMBD will act as a File and Print server for the clients using the
SMB protocol. This is compatible with the LanManager protocol, and
can service LanManager clients.
These clients include Windows for Workgroups, Windows 95 and Windows
NT.
A session is created whenever a client requests one. Each client gets
a child process for each session. This copy then services all
connections made by the client during that session. When all
connections from its client are closed, the copy of the server for
that client terminates.
NMBD: This is a server that understands and can reply to
NetBIOS Name Service Requests on TCP port 137, like those sent by
LanManager clients.
NMBD also controls browsing (viewing the resources available on a
Windows network is called browsing). When they start up, LanManager
compatible clients such as Windows 95/Windows NT, may wish to locate
a LanManager server. That is, they wish to know what IP address a
specified host is using.
This program simply listens for such requests, and if its own name is
specified, it will respond with the IP address of the host on which
it is running. Its "own name" is by default the name of the host on
which it is running.
SMBCLIENT: The SMBCLIENT is a client that can "talk" to an
SMB server.
When this program is run on the HP 3000, it will be acting as a
client. It is a command line program and offers an interface similar
to that of the FTP program. Operations include things like "getting"
files from the server to the local machine, "putting" files from the
local machine to the server, retrieving directory information from
the server, etc.
SMB.CONF: The SMB.CONF file is a configuration
file of the Samba/iX suite which contains runtime configuration
information for both SMBD and NMBD.
This file consists of sections and parameters. Each section in the
configuration file corresponds to a service. The special sections are
[global], [homes] and [printers]. The
[global] section is used to set global configuration options
that apply to the server as a whole. The [homes] section is
designed to grant access to all users home directories and the
entries in [printers] section correspond to the print services
of the Samba/iX server.
TESTPARM: This is a test program to validate the contents
of the SMB.CONF configuration file.
If this program reports no problems, you can use the configuration
file with confidence that SMBD will successfully load the
configuration file.
TESTPRNS: This tool checks whether the printer name is
valid for the services provided by SMBD.
SMB, which stands for Server Message Block, is a protocol for sharing files,
printers, serial ports, and communication abstractions, such as named pipes and
mail slots, between computers.
SMB is a request/response protocol and it is implemented on top of the NetBIOS
API, see Figure 7-2 "SMB Protocol". It
plays the role of session, presentation, and a part of application layer of the
OSI stack. SMB can be used over TCP/IP, NetBEUI, and IPX/SPX. In the case of
TCP/IP or NetBEUI, the NetBIOS API is being used. Samba/iX uses SMB over
TCP/IP.
Figure 7-2 SMB Protocol
The SMB messages can be categorized into four types of messages: session
control, file, printer, and message. Session control messages start,
authenticate, and terminate sessions. File command controls file access
and printer command controls printer access. Message commands allow
an application to send messages to or receive messages from another
host. (For example, WinPopup messages). NetBIOS names are up to
15 characters long, and are usually the name of the computer that
is running NetBIOS.
Figure 7-3 "SMB NegProt Connection"
demonstrates the process of connecting to a file space service. The SMB
Negotiate Protocol command (NegProt) is used to decide on a protocol
extension to be used with the server. The client sends a SMB NegProt
to the server. This will list the protocol dialects/protocol extensions that it
understands. The server responds with the index of the dialect that it wants to
use, or 0xFFFF if none of the dialects were acceptable.Dialects newer than the
Core and CorePlus protocols supply information in the NegProt response
to indicate their capabilities such as max buffer size. The six important
protocol extensions of SMB are Core, CorePlus, LAN Manager 1.0, LM 2.0, and
NT LM 0.12 and CIFS 1.0.
Figure 7-3 SMB NegProt Connection
Once a protocol has been established, the client can proceed to logon to the
server. Client now sends a SMB Session Setup command (SesssetupX), see
Figure 7-4 "SMB Sesssetup Connection".
The response indicates whether the username password pair is valid, and if so,
can provide additional information. One of the very important aspects of the
response is a User ID value that must be submitted with all the subsequent SMBs
sent to the server. This is used for user authentication.
Figure 7-4 SMB Sesssetup Connection
After the client has logged in, then proceeds to connect to the file tree by
sending a SMB Tree Connect command (TconX) to the server, see
Figure 7-5 "SMB TconX Connection". Here
TconX stands for tree connect. The client sends a Tcon or SMB TconX
specifying the network name of the share that they wish to connect
to, and if all is well, the server responds with a TID that the client
will use in all future SMBs relating to that share.
Figure 7-5 SMB TconX Connection
After connecting to a tree, the client can now open a file
with an open SMB, followed by reading it with read SMBs, writing
it with write SMBs, and closing it with close SMBs.