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.