IPX/SPX

IPX/SPX are the protocols native to Novell NetWare. Details of these protocols can be found in: Novell's Guide to NetWare LAN Analysis, see Bibliography

Novell introduced an implementation of NetBIOS over IPX in 1986. The implementation uses IPX datagrams to carry the NetBIOS Frames protocol described above.

The IPX addressing scheme is compared with the native NetBIOS and other schemes in the section called Addressing - NetBIOS names in the chapter called NetBIOS, NetBEUI, NetBIOS Frames Protocol above. In IPX/SPX networks, a 48 bit address (usually a MAC address) identifies a node on a network and a 32 bit address identifies each network. Thus IPX is a routable protocol requiring relatively little administration, which makes it a useful means of implementing NetBIOS.

IPX packets are broadly analogous to IP packets in the TCP/IP suite of protocols; IPX packets provide an unreliable datagram delivery service. The structure of the IPX Header is given below for reference:

The IPX Header

The Destination Socket indicates the service being carried over IPX, some examples and the identifier for NetBIOS are given below:

0x451

NetWare Core Protocol (NCP)

0x452

Service Advertising Protocol packet (SAP)

0x453

Routing Information Protocol packet (RIP)

0x455

NetBIOS packet

0x456

Diagnostic packet

0x457

Serialization packet

0x4000 to 0x8000

Dynamically assigned for use with file servers etc.

Microsoft Implementation of NetBIOS over IPX

Microsoft have implemented NetBIOS over the NWLink IPX/SPX compatible transport. (NWLink is a clone of Novell's IPX/SPX). The Microsoft implementation is compatible with Novell's NetBIOS over IPX. Microsoft sometimes refers to NetBIOS over IPX as NBIPX.

Table 1. IPX packets (Octets in order transmitted.)

Length IPX Field NBIPX
2 Checksum  
2 Length
1 Transport Control
1 Packet Type 0 or 4 for IPX, 20 (0x14) WAN broadcast
6 Destination Node Address
4 Destination Network Address
2 Destination Socket
6 Source Node Address
4 Source Network Address
2 source Socket
n Data NBIXP packet

Table 2. NBIPX session packets (Octets in order transmitted.)

Length Field
1 NBIPX Connection Control flag
1 Data Stream type
2 Source connection id
2 Destination connection id
2 Send Sequence number
2 Total data length
2 Offset
2 Data length
2 Receive Sequence number
2 Bytes received
n Data