

              NOVELL TECHNICAL INFORMATION DOCUMENT

TITLE:              Inter- and Multi-Networking
DOCUMENT ID:        TID014938
DOCUMENT REVISION:  A
DATE:               08JUL94
ALERT STATUS:       Yellow
INFORMATION TYPE:   Issue
README FOR:         NA

NOVELL PRODUCT and VERSION:
PERSONAL NetWare 1.0

ABSTRACT:

This document covers the basics on how inter-networking and
multi-networking tasks can be accomplished with Personal NetWare
1.0 and provides some general and preliminary instructions.  It
is not meant to replace any other documentation provided by
Novell, Inc., but rather to expand on it.

----------------------------------------------------------------
DISCLAIMER
THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO
NOVELL.  NOVELL MAKES EVERY EFFORT WITHIN ITS MEANS TO VERIFY
THIS INFORMATION.  HOWEVER, THE INFORMATION PROVIDED IN THIS
DOCUMENT IS FOR YOUR INFORMATION ONLY.  NOVELL MAKES NO EXPLICIT
OR IMPLIED CLAIMS TO THE VALIDITY OF THIS INFORMATION.
----------------------------------------------------------------

ISSUE

For purposes of this document, we will call linking to a Personal
NetWare workgroup across multiple networks "Inter-networking",
and accessing multiple vendors networks (including Personal
NetWare) simultaneously from the same machine "Multi-networking".

INTER-NETWORKING

IPXODI

Personal NetWare uses the IPX protocol to send and receive
information on the network.  IPX is provided by the IPXODI.COM
driver.  It is a protocol, similar to IP from the TCP\IP world. 
It is a datagram protocol, meaning that it does not provide for
much error checking.  It sends a packet and assumes that it was
received.  This is optimal for many networking applications as it
is quick and fairly reliable.  However, the IPXODI.COM driver
that ships with Personal NetWare also provides SPX (similar to
TCP), which does provide send and receive handshaking to ensure
correct packed delivery.  An application that requires that
technology can be written to make use of it.

Network Addresses (Workgroup Routes)

Often, in an inter-networking situation, multiple network
addresses are involved.  These network addresses are assigned to
a network by a router, or similar device.  Personal NetWare does
not assign network addresses.  A network address in the IPX world
is 8 hexadecimal digits (hexadecimal is denoted by a leading 0x).
If you have a single cabling system with no routers, and are

using only Personal NetWare as the networking system, your
network address is 0x00000000 by default.  However, if a router,
or other such device, is present on the network, another network
address will probably be defined.  What that address is would
have been assigned by the installer of that device.

To see what your network address is, bring up Personal NetWare
and type NET INFO at the DOS command prompt.  (You do not have to
be logged in to anything to run NET INFO.)  A screen of
information will be displayed.  The last line will display your
machine address.  If your network doesn't have an address (ie. it
is Personal NetWare only with the default address of 0x00000000),
then all you will see is a 12 character hexadecimal address. 
That is your machine (or node) address and is assigned by the
network interface card in your computer.  If your network does
have an address, your machine address is the 8 character network
address, a colon, and your 12 character machine address.  The
machine address is how senders and receivers of information on
the network are identified.

Personal NetWare is capable of spanning multiple network
addresses (NetWare Lite had no documented way of doing this).  To
make servers visible across multiple network addresses, you add
each address to the workgroup's route list.  You can do this in
the NET ADMIN utility by selecting "Routes..." from the
"Workgroup" pull down menu.

One way to identify all of the routes is to go to each machine in
the workgroup and use the NET INFO utility to determine the
network address part of its machine address.  Another way is to
go to all the routers, or other devices that assign network
addresses, and identify the networks they are routing.  (For
example, on a 3.11 server you would go to the server's console,
identified by the colon prompt, and type CONFIG.  Each board that
is loaded has a network address assigned to it.)

NOTE:     It is beyond the scope of this document to discuss how
to assign network addresses, where they get assigned, and what
problems arise from assigning the wrong addresses.  Personal
NetWare provides no facilities for assigning network addresses,
only for identifying and using them.

Inter-Network Methods

Three common methods for inter-connecting networks are to use
bridges, routers, or gateways.  A bridge connects two networks
together that have the same address; thus making them one,
larger, network.  A router connects two networks of different
addresses but similar protocols together and provides a method
for passing information, in the form of packets, between them.  A
gateway connects two dissimilar networks, usually with different
protocols, together and provides a means for passing information
between them.

If you are using a bridge to inter-network, you will not need to
add new network addresses to the workgroup routes list.  If you
are using either a router or a gateway, you will have to add to
that list.


Inter-Network "Gotchas"

Often, devices that provide bridge, router or gateway functions
can filter out specific types of packets, or allow only certain
types of packets to pass through.  This is important to provide
security and reduce bandwidth.  They will often filter packets
using a socket number.  Packets that have a certain socket number
will not be allowed through; or only packets with certain socket
numbers will be allowed through; or they may filter on the type
of protocol being used.  (We will not discuss what sockets or
protocols are here.)  

It is important not to filter out Personal NetWare packets as
that will break communication.  Personal NetWare does not rely on
all of the same sockets as NetWare 2.x, 3.x and 4.x.  The sockets
that Personal NetWare uses that are not used by NetWare are
0x9023, 0x9024 and dynamic sockets in the 0x8000 range.  Personal
NetWare doesn't use the same advertising protocol either. 
NetWare uses SAP (Service Advertising Protocol), whereas Personal
NetWare uses BDP (Broadcast Discovery Protocol).  Your system
administrator needs to verify that these packets are not being
filtered out.

It is also important to be aware of timeouts.  Personal NetWare
uses timeouts to determine if a request or information needs to
be re-transmitted.  If it doesn't receive the expected response
in a predetermined period of time, it will assume that
communication has failed and stop communicating.  You may get
network errors such as "Error reading on device network".  Many
of the adjustable timeouts can be configured in the NET.CFG.  The
defaults are sufficient for most situations, however, you may
find that you will need to increase some of them when using slow
inter-networking devices, such as an asynchronous router.  A list
of some of the more important adjustable timeouts for Personal
NetWare follows.  Their descriptions, defaults, and limits can be
found in your Personal NetWare documentation, Appendix C, or the
Novell DOS DOSBOOK on-line documentation.  Other adjustable
parameters for communication mediums (such as SPX, NETBIOS, and
SNMP) not used by Personal NetWare are available.

     AUTO RETRY
     BROADCAST RETRIES
     BROADCAST SEND DELAY
     BROADCAST TIMEOUT
     IPX RETRY COUNT

Related to timeouts is the "watch dog".  Watch dog is the name
given to the procedure NetWare and Personal NetWare use to
identify connections that have been lost.  When a user attaches
to the workgroup and uses a network resource, he makes a
connection to the server providing that resource.  The server has
a limited number of connections available.  When a machine loses
its connection to the server, re-boots without logging out, or
otherwise stops communicating, the connection is still there. 
When the user re-connects to the server, it uses a different
connection number.  (An example of this is if the workstation
hangs, re-boots, logs in again, and re-maps his drives.)  If this
happens often, or if the number of connections the server
supports is low, the server may run out of connections all
together.


Watch dog automatically clears these inactive connections,
freeing them for others to use.  The server attempts to
communicate with each node that is connected, essentially asking,
"Are you still alive?"  The workstation responds, essentially
answering, "Yes, I am."  If the server doesn't get the "Yes, I
am" packet after a period of time, it tries again.  After trying
a number of times, it decides that the connection is dead, and
clears it.

The Watch dog wait time parameter is also adjustable through the
NET SETDOG option.  (You were probably wondering what that option
was for.)  You can set the watch dog wait time for the workgroup
or a specific server.  The wait time is the amount of time a
server will wait until it sends the "Are you still alive?",
query.


MULTI-NETWORKING

The IPX/ODI Stack

To understand how to provide access to multiple networks from the
same machine simultaneously, it is important to understand how
IPX stacks up.  With older versions of NetWare, the IPX protocol
was provided in a single driver.  That driver had the network
interface card driver linked into it.  You had to run a program
(WSGEN.EXE) to relink the IPX driver any time you changed the
settings on the network interface card, changed the network
interface card, or got an update to either IPX.OBJ (the IPX
driver) or the LAN driver .OBJ (the network interface card
driver).

To provide greater functionality, Novell developed the ODI stack.
It is similar in purpose to the NDIS stack developed by IBM,
Microsoft, and 3COM.  The ODI stack is divided into layers.  

The lower layer is the ODI LAN driver, also known as the MLID
(eg. NE2000.COM).  This driver is responsible for providing
access to the hardware itself.  Depending on the topology being
used, there may be various frame types available.  The frame type
simply defines the manner in which a packet on the network is
presented.  With Ethernet, there are four frame types available:
Ethernet_802.3 (the old default), Ethernet_802.2 (the new
default), Ethernet_II, and Ethernet_SNAP.  

The only thing important to know at this point is that, for two
machines to communicate, they must be using the same frame type. 
You can check on what frame type is being used by looking in the
Link Driver section of the machine's NET.CFG file.  For each
frame type for each board you define in the NET.CFG there is a
logical board created in memory.  If I have an Ethernet board
with two frame types defined in the NET.CFG and an Arcnet board,
when the drivers are loaded, a total of 3 logical boards are
created in memory.  (Note:  IPX will only bind to ONE (1) logical
board, so it will only communicate on one frame type on one
physical board.  Other protocols, such as TCP\IP or NDIS may use
the other logical boards.)

The next layer up is the ODI Link-Support Layer (or LSL).  Though
this is the second layer up, it is loaded first in the
STARTNET.BAT to give the LAN driver a place to link to.  The LSL 

is a middle-layer in that it is what enables the workstation to
load several different communication protocols and use them
simultaneously.  It is responsible for directing information it
receives to the appropriate protocol stack.

On top of the LSL is the protocol stack used by Personal NetWare,
IPX.  It is loaded as part of the IPXODI.COM driver.  It provides
IPX\SPX services to applications that reside above it and hooks
into the LSL to obtain access to the hardware.  By default, the
IPXODI driver will bind to (use) the first frame type listed in
the NET.CFG (the first logical board).  You can define
specifically what frame type IPX should use by using the PROTOCOL
parameter in the Link Driver section of the NET.CFG.  (Note: the
example in the documentation where it shows IPX being bound to
multiple logical boards by using the PROTOCOL statement is wrong.
IPX doesn't do that.)

On top of IPX are the applications that use it.  They include
SERVER.EXE, CLIENT.EXE, NET.EXE, etc. 

Multiple Network Interface Cards

If you are using multiple network interface cards, one to connect
to an IPX network, and the other to connect to another vendors
network (such as an AS4000), you probably do not need to define
the second board in the NET.CFG, nor load its driver as part of
the ODI stack.  The drivers for that network will probably use
their own proprietary stack apart from IPX/ODI.  You will need to
verify this with the vendor or in the vendors documentation.

Dual-DOS Redirectors

NetWare Lite's CLIENT.EXE sets itself up as a DOS redirector.  It
makes itself known to DOS and allocates resources via INT2F (the
DOS multi-plex interrupt).  NetWare Lite does not support other
redirectors (such as a terminal emulator) running on the same
machine simultaneously.  Personal NetWare, however, does. 
Personal NetWare's DOS redirector is represented by a combination
of VLMs.  You should be able to load the Personal NetWare
redirector and other redirectors simultaneously, as long as the
other redirector supports multiple redirectors on the same
machine.

NDIS and IPX Working Together

It is possible to load the NDIS protocol stack and the IPX
protocol stack simultaneously.  The first step to doing this is
to decide which protocols preferred hardware driver you want to
control your network interface card.  Do you want to use the ODI
LAN driver, or the DXMaid driver?  If you want to use the ODI LAN
driver, you will need to use our ODINSUP.COM driver to give NDIS
access to the ODI stack.  ODINSUP is a shim that plugs NDIS into
ODI.  If you want to use the NDIS DXMaid driver to control the
hardware, you should use our LANSUP.COM driver to give access to
the NDIS stack.  LANSUP replaces the ODI LAN driver as a shim to
plug ODI into the NDIS protocol stack.

Documentation on how to use ODINSUP and LANSUP is not provided
here.  There is a Personal NetWare fax document available on
ODINSUP.  ODINSUP is our preferred method.  The latest copy of
ODINSUP.COM and a documentation file containing instructions for

implementing it and examples of how to implement it for various
networks is available in the latest version of DOSUPx.EXE (where
x is replaced by the latest version number).

IMPORTANT:     If there is a way to get the other network to use
IPX instead of NDIS, that would be the best solution.  For
example, although Windows for Workgroups v3.1 only ran on NDIS,
the v3.11 will run on native IPX.  By using native IPX for both
Personal NetWare and the other network, you will be able to save
considerable memory, and performance (not to mention heartache at
trying to get all of the many configuration pieces installed
properly).  In other words, only use ODINSUP or LANSUP if you
have no other recourse.

Installing Multiple Networks on a Workstation

The key to installing multiple networks on a workstation is to
get one network working at a time.  Install one network, verify
that it is working properly, then remark out all the drivers that
it installed.  Then install the next network, verify that it is
working, and remark out all of the drivers it installed. 
Continue doing this until all the networks you wish to install
are installed.  Then, merge them.  Unremark all of the drivers
for two of the networks.  Delete duplicate drivers.  Make sure
that the drivers are loading in order of dependence.  Then bring
up those two networks and verify that they work together just as
they did separately.  Then unremark the drivers for the next
network, delete duplicate drivers, and verify that the drivers
are loading in the proper order.  Verify that all three networks
are working just as they did separately.  Do this for each
network until they are all working.

When you load multiple networks, remember that you are loading
multiple network drivers and you will be using up more memory;
leaving less memory available for applications.  This should be a
consideration.

Also, if you run into a problem, part of the troubleshooting
process would be to duplicate the problem in the simplest
environment.  Unload the unrelated networks and try it with the
minimum necessary configuration to duplicate the problem.  This
is a tremendous help to technical support personnel as it narrows
down the possible problem areas.


SUMMARY

Personal NetWare can provide a lot of functionality and
interoperability.  It is specifically designed to integrate into
a Novell NetWare environment, but can be adapted to integrate
with other networking environments as well.  It can also span
multiple physical networks, expanding the reach of your workgroup
to the limits of your communication capabilities.  Networking is
a whole new world for the user who hasn't had a network before,
and Personal NetWare will open up access to that world and put it
in your reach.

_Verified by customer
_Verified by Novell


----------------------------------------------------------------
Any trademarks referenced in this document are the property of
their respective owners.  Consult your product manuals for
complete trademark information.
----------------------------------------------------------------




