NetWare 5.1 Advanced Administration

Chapter 9: Migrating to IP from IPX

 

Objectives:

This chapter discusses the Compatibility Mode Driver, and using it to support IPX in a NetWare 5.1 network. The objectives important to this chapter are on page 9-1:

  1. Configure the Compatibility Mode Driver (CMD)
  2. Configure CMD to Provide Migration Agent and Backbone Support
  3. Identify IPX to IP Migration Strategies
Concepts:
Configure the Compatibility Mode Driver (CMD)

The chapter begins with a discussion about IPX. The IPX protocol suite was unique to Novell networks. Before the advent of NetWare 5, IPX was required. Now, Novell recommends that you not use IPX. This is not always possible. You may have legacy applications that require IPX to work. You may not have the time or money to convert an entire existing Novell network to NetWare 5 or 5.1 at once.

While it is possible to support both the IP and IPX suites on your network, Novell warns that this takes a lot of bandwidth, and it makes the eventual migration away from IPX more difficult later on. Novell recommends installing IP only, but also installing the Compatibility Mode Driver (CMD), which makes it possible to run IPX applications.

The CMD has two components that must both be installed: one for the server, and one for the client.

The server component of the CMD is SCMD.NLM, which is loaded automatically from AUTOEXEC.NCF on NetWare 5.1 servers that use IP but do not use IPX. The driver works like this:

  • Directs normal NCP (NetWare Core Protocol) communications through the IP protocol stack.
  • Redirects outbound SAP packets to SLP, which registers the IPX-based service with the local service agent (SA).
  • Translates inbound SLP traffic related to the IPX service to SAP, if necessary.
  • Encapsulates outgoing IPX packets in UDP or TCP and sends them to the IP stack. Encapsulation is like putting a packet in an envelope shaped like another kind of packet.
  • Decapsulates incoming packets containing encapsulated IPX information and redirects them to the IPX stack.
    This seems confusing: the server actually has an IPX stack (suite of programs), but it is not bound to the NIC. Normally, a protocol must be bound to a NIC to be functional. In this case, IPX is present on the server, but the server will not create any IPX traffic, since IPX is not bound. The server must have an IPX stack, but it must NOT be bound to the server's NIC.

This approach may be thought of as the opposite of using NetWare/IP. Using this older approach, the actual protocol used on the network was IPX, but packets could be encapsulated in IP envelopes to pass them across a WAN that did not support IPX.

On a workstation, the CMD is loaded so the workstation can use IPX-based services on an IP-only network. This means that the workstation does not send IPX packets. Remember, our goal here is to eliminate IPX traffic on the network.

If your network has IPX servers on it, the CMD will allow the workstation to communicate with those servers as well by passing requests to an IP-based server that acts as a go-between. The go-between is referred to as a Migration Agent.

Tasks performed by the CMD on a workstation:

  • Directs normal NCP communications through TCP/IP.
  • Redirects outgoing SAP queries to SLP.
  • Encapsulates outgoing IPX packets in UDP or TCP before being delivered to the TCP/IP stack.
  • Decapsulates incoming packets containing IPX information and directs them to the IPX stack. (Like the server, the workstation will have an IPX stack, but it will not emit IPX packets. The IPX stack must not be bound to the NIC.)

To load the Compatibility Mode Driver on a server, place the command LOAD SCMD in the AUTOEXEC.NCF file. It should go after the command to bind IP to the NIC. SCMD will automatically load an IPX stack, if not already loaded. SCMD will fail to load if an IPX stack is bound to the NIC. Novell recommends loading IPXRTR.NLM (an IPX router) when you load SCMD.

When CMD is loaded, it creates a virtual IPX network on your network. It is assigned a Network number by default: FFFFFFFD. To create a virtual IPX network with a different number, use the command

LOAD SCMD /NET=IPX_Network_Number

Every device on your network must use the same virtual IPX network, so Novell recommends that you use the default number, unless you have a good reason to configure each device to use another number.

Methods for loading the CMD on a workstation:

  • choose IP with IPX compatibility when installing the NetWare Client on a workstation
  • add the IPX protocol to a workstation, and configure it to use CMD

Once CMD is loaded on a workstation, it must be configured. You can configure your DHCP server to supply configuration data to workstations, or you can configure them individually. Both options allow you to specify the address for a virtual IPX network.


Configure CMD to Provide Migration Agent and Backbone Support

The Compatibility Mode Driver has the capacity to perform two other major tasks: acting as a Migration Agent and providing Backbone Support to your network.

A Migration Agent is a service, provided by the CMD, that "speaks" both IP and IPX. A Migration Agent translates traffic between sections of the network that only use one of these protocol suites. In this sense, the Migration Agent performs gateway services on the network.

The Migration Agent is needed when you have two parts to your network. You may, for example, not have funding to migrate all servers in an existing IPX network to IP at one time. The IP segment of the network works as described above:

  • requests for IPX based service are encapsulated in IP packets by the client (CMD must be configured on the client)
  • packets are received by the Migration Agent, decapsulated, and forwarded to the IPX segment of the network

If a client on the IPX segment needs IP-based services:

  • the client sends an IPX request to the Migration Agent
  • the MA encapsulates the request in an IP packet
  • the request is forwarded to the IP segment of the network.

The next part is tricky. If you actually have two network segments, you will have two NICs in the server providing MA service: one for the IP net and one for the IPX net. Obviously, you must bind IPX to the NIC that connects to the IPX net.

If you only have one network segment, but it contains IPX servers and clients as well as IP servers and clients, you will have to load and bind IPX to the same NIC that you bind IP to on the MA server. This violates the rule stated above about NOT binding IPX on a server running the CMD. You avoid the problem by first loading and binding IPX, then loading the CMD with this command:

 LOAD SCMD /MA

Migration Agents are found on a network, by default, using multicast requests. To avoid this, you can configure the other servers on the network to use unicasts to a specific address. Use the following command before loading SCMD.NLM on those servers.

SET PREFERRED MIGRATION AGENT LIST:MA_IP_address/

You may establish a list of MAs by using multiple IP addresses, separated by semicolons. The list must end with a forward slash, like the example above.

CMD client software may be configured to discover MAs dynamically or it may be configured to use a list of IP addresses. The two modes are not compatible, so you should choose one or the other. DHCP service can provide either option to the client software, as can hand coding the configuration on each workstation.

The other feature of the CMD software is backbone support, also called IP tunneling. IPX packets can be encapsulated in IP packets, passed across an IP network, and then delivered to a different IPX network. This works, as above, when the MA is configured on servers that act as routers between IP and IPX networks. It also works when using dedicated hardware routers that do not run NetWare. The scenario is the same, except that the servers pass the encapsulated packets to actual routers, instead of passing them directly to the next network/segment.


Identify IPX to IP Migration Strategies

Novell recommends that an existing IPX network be migrated to IP-only as soon as you can do so. Three scenarios are presented for doing so:

  • Upgrade the entire network at once. This would be nice, if possible, but Novell does not recommend it for networks with more than one segment, or for networks with "a large number of hosts". The entire network has to be down for such a change, so it may not be practical.
  • Run both IPX and IP stacks together. This is more practical, but it will increase the amount of traffic on the network. Novell recommends that you stop using IPX in stages, if you use this scenario.
  • Migrate the network a portion at a time. Use the Compatibility Mode Driver and Migration Agent to pass signals from upgraded segments to older segments, and vice versa. This chapter has been preparing you for this approach.

The "section at a time" approach can be done in a number of ways. Three methods are discussed in the chapter. You should review each of them.

  • Migrating a section of the network. Make sure that each section upgraded does not connect two sections that have not been upgraded.
  • Migrating leaf networks first. This will make specific sections more efficient, but the backbone is upgraded last, leaving it in IPX mode until everything else is upgraded.
  • Migrating the backbone first. This can remove IPX routing on the backbone, but you have to connect Migration Agents between the backbone and the rest of the network.