|
|
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:
- 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/iX
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
Benefits of Using Samba/iX
There are many benefits in having an MPE/iX and Samba/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/iX acts as translator between the different file systems for file
names and attributes and provides security based on user
authentication.
- Samba/iX can support the use of long file names by Windows 95 and
Windows NT workstation PC clients.
- Samba/iX provides seamless interoperability between common desktop
operating systems, popular PC applications, and HP 3000 through
Microsoft network.
Major Components of Samba/iX
Table 7-1 "Major Components" shows the
major components of the Samba/iX suite.
Table 7-1 Major Components
Program |
Description |
SMBD |
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 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/iX uses SMB over
TCP/IP.
Figure 7-2 SMB Protocol
![[SMB Protocol]](img/gfx2.gif)
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
Negotiat 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.
|