LANtastic by Artisoft Artisoft Technical Bulletin TITLE: IPX Bridging & Routing with LANtastic FILENAME: IPXROT.TXT UPDATED: 04.26.95 CLASSIFICATION: Routing AUTHOR: RRR How can you connect your physically separate Lantastic networks to share resources between them? To give machines on one LAN access to files and printers on another? One solution is to bridge the two networks together, which is possible with any version of Lantastic that runs on Ethernet. Another option is to route Lantastic information "packets" across an IPX router to another physical Lantastic network. IPX routing with Lantastic is possible with Lantastic version 5.0 and greater. What follows is a detailed description of Bridging versus Routing in your Lantastic network. It details Ethernet MAC frame and IPX packet structures. It describes NetBIOS communication over an Ethernet LAN. It describes the mechanics of Bridging and IPX Routing. Finally, this bulletin will instruct you "HowTo" configure your Lantastic 5.0 or greater network for IPX routing. THE STRUCTURE OF THE MAC FRAME IEEE 802.3 Ethernet (Media Access Control - MAC) Frame ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄ¿ ³Preamble³Dest ³Source³Ln³ (IPX Header) DATA ³CRC ³ ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÙ 8bytes 6bytes 6bytes 2bytes 46-1500 bytes 4bytes IEEE 802.3 Ethernet (MAC) Frame ÚÄÂÄÂÄÂÄÂÄÂÄÂÄÂÄ¿ Preamble 8 bytes ÃÄÅÄÅÄÅÄÅÄÅÄÅÄÁÄÙ Destination Address 6 bytes ÃÄÅÄÅÄÅÄÅÄÅÄ´ Source Address 6 bytes ÃÄÅÄÅÄÁÄÁÄÁÄÙ Length 2 bytes ÀÄÁÄÙ Encapsulated Data 46-1500 bytes ÚÄÂÄÂÄÂÄ¿ ÀÄÁÄÁÄÁÄÙCRC 4 bytes IPX Header - Encapsulated in Data Section of IEEE802.3 Frame ÚÄÄÂÄÄÂÄÂÄÂÄÄÄÄÄÄÂÄÄÄÄÂÄÄÂÄÄÄÄÄÄÂÄÄÄÄÂÄÄ¿ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÁÄÄÁÄÁÄÁÄÄÄÄÄÄÁÄÄÄÄÁÄÄÁÄÄÄÄÄÄÁÄÄÄÄÁÄÄÙ Checksum Source Address Length Source Network Transport control Source Socket Packet Type Destination Address Destination Network Destination Socket IPX Header - Encapsulated in Data section of IEEE802.3 Frame ÚÄÂÄ¿ Checksum - 2 bytes ÃÄÅÄ´ Length - 2 bytes ÃÄÅÄÙ Transport Control - 1 byte ÃÄ´ Packet Type - 1 byte ÃÄÅÄÂÄÂÄÂÄÂÄ¿ Destination Node Address - 6 bytes ÃÄÅÄÅÄÅÄÅÄÁÄÙ Destination Network Address - 4 bytes ÃÄÅÄÅÄÁÄÙ Destination Socket - 2 bytes ÃÄÅÄÅÄÂÄÂÄÂÄ¿ Source Node Address - 6 bytes ÃÄÅÄÅÄÅÄÅÄÁÄÙ Source Network Address - 4 bytes ÃÄÅÄÅÄÁÄÙ Source Socket - 2 bytes ÀÄÁÄÙ Encapsulated Data 16-1470 bytes NETBIOS COMMUNICATIONS What happens when a Lantastic workstation logs into the network? When a workstation logs onto a server it establishes a NetBIOS session. To establish a session a workstation sends out a multicast datagram with a call command. The packet sent out contains the ethernet address of the calling adapter card and a multicast address of the destination computer in the MAC frame. The multicast address is FF FF FF FF FF FF. (BUZZWORD ALERT - Multicast vs Broadcast. A multicast address is defined as an address where the most significant of the high order byte is set to 1; i.e., 01 00 23 1D 5F 3C would be a multicast address because of the 01. A broadcast address is all FF's and so meets the above criteria. All adapters receive broadcast addresses, a multicast address must be enabled on the adapter card in order for it to receive on that address. A multicast address is derived from the NetBIOS name of the computer. LANtastic normally uses multicast addressed rather than broadcast addresses to reduce load on the system. With IPX routing broadcast packets are sent as shown below: Workstation during Login Source Node Address=00006E123456 Destination Node Address=FF FF FF FF FF FF When the packet arrives at the server with the NetBIOS name specified in the NetBIOS call packet, the server responds with a answering packet. This packet's header contains the servers ethernet address as the source address and the workstations ethernet address as the destination address. Server's answer to Workstations Login Source Address=0000006E654321 Destination Address=00006E123456 The destination and source then each send out acknowledge packets so each side is sure that a session has been established. Graphically it would appear something like. Fred - WS Joe - Server Establish Name Establish name Call ------------> <------------ Answer call <------------ Session Established Session Established ------------> <------------ Established Session Established session ------------> Once a session has been established each MAC frame header will contain both a source and a destination address. BRIDGING When a workstation is connected to a server via one or more bridges the process is the same. The workstation sends out a multicast packet, each bridge in line passes the packet on down the line. When a server with the NetBIOS name specified in the workstation's call receives the packet it sends out a reply. The source and destination address are the same as in the local login example. The main difference between a bridge and a repeater is the ability of a bridge to filter the packets based on the source and destination addresses only allowing certain packets through the bridge. This allows the bridge to minimize traffic on each section. A bridge is transparent to the network. The network does not know it is there. This places a great strain on the bridge, as it must receive and act on every packet transmitted on both sides of the bridge. This necessarily limits the intelligence of a bridge, since it must receive and act on every packet. A bridge acts on the MAC or transport protocol layer (i.e. the "FRAME"), and does not need to know about the underlying network protocol (e.g. IPX, IP, etc). ROUTING When a workstation is connected to a server via one or more routers the process is very different. Since the router does NOT act on the data in the ethernet frame the network protocol must contain addressing information. NetBIOS normally does not contain this information and so is considered inherently unroutable. To get around this Artisoft has added a 30 byte IPX header to the front of the data field of each packet. Since IPX and NetBIOS use the same ethernet IEEE802.3 frame a router will view the packet as an IPX packet and route accordingly. 1. The workstation sends our a broadcast datagram just is it does on a local network. The source address is the ethernet address of the adapter card in the workstation and the destination address is all FF's in the MAC frame. Inside the data of the packet is an IPX header. In this header the workstation inserts the following information. IPX Header - Encapsulated in Data section of IEEE802.3 Frame ÚÄÂÄ¿ ÃÄÅÄ´ Checksum FF ÃÄÅÄÙ Length 53 ÃÄ´ Transport Control 00 ÃÄÅÄÂÄÂÄÂÄÂÄ¿ Packet Type 0x14 ÃÄÅÄÅÄÅÄÅÄÁÄÙ Destination Node Address 000000000000 ÃÄÅÄÅÄÁÄÙ Destination Network Address 0000 ÃÄÅÄÅÄÂÄÂÄÂÄ¿ Destination Socket 0x573 ÃÄÅÄÅÄÅÄÅÄÁÄÙ Source Node Address 00006E123456 ÃÄÅÄÅÄÁÄÙ Source Network Address 0000 ÀÄÁÄÙ Source Socket 0x573 2. When this broadcast datagram hits the router it strips the IEEE802.3 frame from the packet, increments the Transport Control field by 1, inserts it's local network number into the source network address (if it is 000000000000) and forwards the packet to another router or the other side of a local router. The changed part of the packet would look like: IPX header changes: Transport Control 1 Source Network Address: 0002 3. When the router receives the packet it builds a packet frame around it, and INSERTS the ROUTERS ethernet address as the MAC source address and leaves the the MAC destination node address as FF's (broadcast datagram). The Transport control field in the IPX header is again incremented. MAC Frame Changes: Ethernet Address: 00006E46A7F4 [Router's ethernet address] IPX header changes: Transport Control 2 4. Steps 2-3 are repeated until the packet arrives at the destination server or the hop count in the Transport Control field exceeds 8 (the packet is discard at this time). 5. When the server named receives the packet a reply packet is sent. The Mac layer of the reply packet contains the ethernet address of the server as the source address and the ethernet address of the LAST router as the destination address. In the IPX header, the transport control is set back to 0, the source node address is set the the ethernet address of the server, the destination node address is set to the address of the original workstation, the destination network address is set to the network address added in step 2 above and the packet is transmitted. MAC Frame Changes: Source Address: 00006E20A35B [Server's ethernet address] Destination Address: 00006E46A7F6 [last routers ethernet address] IPX header changes: Transport Control 0 Source Node Address 00006E20A35B Destination Node Address 00006E123456 Destination Network Address 0001 6. When the packet arrives at the router that is ADDRESSED (note the system is no longer broadcasting), the IEEE MAC frame is stripped, the SOURCE address is added to the IPX header if the source is 0's and the packet is forwarded via the stored route to the network specified in the ipx header. 7. When the router at the remote site receives the packet it builds a MAC frame and transmits the packet to the destination node. HOW TO CONFIGURE YOUR LANTASTIC NETWORK FOR IPX ROUTING To take advantage of IPX routing with Lantastic 5.0 and above, you must do the following: 1. On every machine that will need to send Lantastic information packets across the IPX router, add the following switches to the AILANBIO command in your STARTNET.BAT file: AILANBIO IPX_ROUTING IPX_SIZE=xxx where IPX_SIZE is the size of the IPX packets sent to the router. Default is 1024 bytes. 2. On every machine that will need to send Lantastic information packets across the IPX router, add the following switch (IEEE) to the low level driver (e.g. NEX000) you are using in your STARTNET.BAT file: NEX000 IEEE If you are using NDIS drivers, specify the IEEE switch on the AI-NDIS BIND_TO=DRIVER_NIF command line. 3. Make sure that your IPX router is configured to route NetBIOS IPX packets (Novell Type 14H). 4. It may be necessary to set the NO_MULTICAST switch on the AILANBIO command line as well, if your IPX router does not support multicast Ethernet addressing. RAMIFICATIONS OF THESE CHANGES Your Lantastic machines that do not use IPX_ROUTING will NOT be able to communicate with the Lantastic machines that do. As a result, you may want to enable IPX_ROUTING on all your Lantastic machines. ARTISOFT, Inc. makes no warranties as to the completeness or accuracy of this document. LANtastic is a trademark of ARTISOFT, Inc. Brand names, company names, and product names are trademarks or registered trademarks of their respective companies. We have several methods, you can use to receive support. Our normal technical support line is 520-670-7000 (7a-5p MT). You can post a message on CompuServe in the Artisoft Forum. CompuServe is answered in 1 business day (if left before 6am MT). You can post a message on the Arti-Facts BBS @ 520-884-8648 or 520-884-9675 (14.4k) [8,n,1]. For immediate access to a technician, you can contact our Express Service @ $2.50/minute with extended hours of 6a-9p MT and 6a-5p MT on Saturday. Express service can be obtained at 1-900-555-8324 (billed to phone) or 1-800-293-3936 with a valid AmEx, MC, or VISA card. Please Note During Daylight Savings our Times are 1 hour earlier.