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. ----------------------------------------------------------------