Samba for MPE/iX is a suite of programs which allow an HP
e3000 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:
Microsoft Windows NT
Microsoft Windows 95
Microsoft Windows for Workgroups
Introduction to Samba
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.
Features of Samba for MPE/iX
As more of our customers implement and configure networking
services in a heterogeneous environment of MPE/iX, 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
for MPE/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 for MPE/iX is the result of porting Samba to MPE/iX
under POSIX environment. It is a solution for those wishing to access HP e3000
disk storage and printers (both networked and spooled from MPE/iX)
from common PC client operating systems like Windows 95 and
NT Workstation.Samba for MPE/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 e3000 users starting with the MPE/iX 6.0 release.
Samba for MPE/iX can now be configured remotely from the convenience
of a browser. Various parameters share security, and other features
can be configured from a browser interface, in effect giving added flexibility.
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 servers. This
capability enables these operating systems to act like a LAN server or Windows
NT server. See Figure 7-1 "HP e3000
Interoperating With Microsoft Platforms" for HP e3000 interoperating with
the Microsoft platforms.
Figure 7-1 HP e3000 Interoperating With Microsoft Platforms
Benefits of Using Samba for MPE/iX
There are many benefits in having an MPE/iX and Samba for
MPE/iX environment, some of which are listed here:
The remote MPE/iX based POSIX filesystem can be browsed as
shared/services from PC clients.
Remote files can be operated on as if they are stored
locally.
Samba for MPE/iX acts as translator between the different file
systems for file names and attributes and provides security based on
user authentication.
Samba for MPE/iX can support the use of long file names by Windows
95 and Windows NT workstation PC clients.
Samba for MPE/iX provides seamless interoperability between common
desktop operating systems, popular PC applications, and HP e3000
through Microsoft network.
Major Components of Samba for MPE/iX
Table 7-1 "Major Components" shows the
major components of the Samba for MPE/iX suite.
Table 7-1 Major Components
SMBD
The SMB server handles connections from clients,
performing all the file, permission, and username authentication.
NMBD
The NetBIOS name server advertises Samba for MPE/iX on the
network, and helps clients locate servers.
SMBCLIENT
Client program on MPE/iX host.
SMB.CONF
Samba for MPE/iX runtime configuration file.
TESTPARM
A program to test the Samba for MPE/iX configuration
file.
TESTPRNS
A program to test server access to printers.
SWAT
A program to remotely configure the Samba for MPE/iX
runtime configuration file (smb.conf) via the web (with a Web browser).
The Samba for MPE/iX product contains:
SMBD: This is the server that can provide most SMB services.
The SMB protocol section in the Samba for MPE/iX configuration file
"SMB.CONF", describes the role of SMB. The HP e3000 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 e3000, 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 for MPE/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 for MPE/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.
SWAT: The acronym SWAT stands for Samba Web Administration
Tool. It is used to provide a web interface to configuring
smb.conf. It gives the flexibility of dynamically altering the
configuration file to reflect changes in needs with respect to shares
and printers. This is done from a remote location with the aid of a
web browser.
SMB Protocol
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 for MPE/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.
Example of SMB Conversation
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, it 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 to which they want to connect,
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.