On this page
|
| SUMMARY | |
| Protocol |
: |
Internet Packet Exchange |
| Protocol suite |
: |
Novell NetWare |
| Layer |
: |
Network Layer |
| Related protocols |
: |
IP, IPv6, NetWare, SPX, RIP, NLSP |
|
| DESCRIPTION |
Developed by Novell Inc., in the early 1980's, IPX is a networking protocol used by the Novell NetWare operating system as a means to request services such as file servers, printers, software applications and other resources. IPX is a common protocol that many departments use to provide computing resources for computer users.
IPX performs the Open Systems Interconnection (OSI) network layer tasks of addressing, routing, and switching packets. IPX makes a best effort attempt to deliver packets to their destination; there is no guarantee or verification of successful delivery. Packet acknowledgment or connection control must be provided by protocols above IPX.
Guaranteed services, such as SPXII, can be built over IPX. However, IPX is used whenever guaranteed service is not required (for example, in service advertising) and for applications where an occasional lost packet is not critical. The low overhead of IPX means speed and performance.
IPX provides full internetwork addressing within a large address space. It defines network and socket numbers, while using the node addressing scheme of the network interface hardware for clients. This saves memory, bandwidth, and complexity.
IPX Addressing
IPX addressing defines the internetwork, a collection of LANs connected by routers, bridges, and so forth.
IPX packet headers require both source and destination addresses. These designate the sender and the receiver of the packet respectively.
IPX Internetwork Address Components
If this table is unreadable, a preformatted table follows:
Address | Byte Length | Description s | Network | 4 bytes | Identifies a specific network or LAN on an IPX internetwork | Node | 6 bytes | Identifies individual nodes, or computers, on a network or LAN. | Socket | 2 bytes | Identifies a process or function operating within a node. A socket is identified by a unique number |
- Network address
The network number (not the node address) is used by routers to forward packets to their destination. Each LAN is a configured network in IPX and is assigned a unique network number or address.
Each LAN (logical network) must be associated with a physical network and is limited to a single network frame type. When multiple frame types are used on the same networking segment, each frame type is considered a LAN and must have a unique network number. This means that all network devices which are cabled to a network segment and which use a common frame type must also use the same network address.
Where multiple LANs are configured on the same platform, an internal network number (logical address) serves as a common point of connection.
- Node address
The node address identifies a station, node, or individual computer on a network. For clients, the node is defined by networking hardware and is usually factory set. For NetWare servers 3.x and above, NetWare configures a logical node address.
The lower-level Media Access Control (MAC) protocols (such as the token ring, Ethernet, and ARCnet standards) define node addressing for each LAN, which is implemented within the hardware or firmware of each network interface board and is usually factory set.
In addition to the server's node address for the attached LAN, the server's logical node address is associated with the internal network address.
- Socket address
The socket address identifies the process in the destination node and is the ultimate destination for a packet. Socket numbers provide a sort of mail slot that distinguishes each process for IPX.
Sockets are the mechanism that allows multiple applications on the same station to send and receive data, without interfering with each other. Sockets have the same function as ports in other network protocols.
A socket number is assigned to a specific process. A process can use a well-known (static) socket number or can obtain a dynamic (ephemeral) number when the process requests a socket from IPX. Because socket numbers are internal to each node, each node can have its own domain of sockets independent of other nodes.
Header Format
8 | 16 | 32bits | Checksum | Packet length | Transport control | Type | Destination network | Destination network | Destination node | Destination node | Destination socket | Source network | Source network | Source node | Source node | Source socket | Data |
- Checksum
16 bits. Always set to 0xFFFF. The Checksum field is normally set to 0xFFFF, which indicates that no checksum is performed. This field, however, is configurable.
The value IPX_CHKSUM_TRIGGER (defined in the ipx_app.h file) directs IPX to generate a checksum of the IPX header (minus the Transport Control field) and the data. Any value which is not IPX_CHKSUM_TRIGGER is treated as 0xFFFF.
- Packet Length
16 bits. The total length of the packet header and the data.
- Transport control
8 bits. Used by NetWare routers. Set to zero by IPX before packet transmission. The Transport Control field is used to monitor the number of routers that a packet has crossed. IPX sets this field to zero before sending the packet. Each router increments the field before sending the packet on. If the packet passes through 16 routers, it is considered undeliverable and the sixteenth router discards it.
- Type
8 bits. Specifies the encapsulated protocol.
0x00 | Hello or SAP. | 0x01 | RIP, Routing Information Protocol. | 0x02 | Echo Packet. | 0x03 | Error Packet. | 0x04 | NetWare 386 or SAP. | 0x05 | SPX, Sequenced Packet Protocol. | 0x10 - 0x1F | Experimental Protocols. | 0x11 | NCP, NetWare Core Protocol | 16-31 | Experimental protocols. | 17 | NetWare 286. |
- Destination network
32 bits. A subnet identifier of the receiver. This field must be set with the network number to which the destination server is connected. The system administrator assigns a unique network number to each network within an internetwork.
Many NetWare servers are configured with a logical network number, called the internal network. This internal network number provides the server with a single network address even when it is connected to several physical networks.
If zero (0) is used for the network address, the packet is sent to the network to which the source host is connected.
If the source host has an internal network (just as a server), any packets sent with a network address of zero (0) are sent only to the internal network, whereas in the case of a host configured with no internal network (just as a client would be), a packet with a zero (0) network address is sent to the physical network.
Packets with a network address of zero (0) are typically used to query SAP for the address and name of the nearest server.
- Destination node
48 bits. The physical address of the receiver. The destination node address identifies the client on the network. It is typically determined by a factory set address on the network board.
In the case of a server, a configured internal network typically has a node address of 0x00 00 00 00 00 01. Addresses shorter than 6 bytes are left justified and zero filled. A node address of 0xFF FF FF FF FF FF designates a broadcast to all hosts on the network identified by the destination network address.
- Destination socket
16 bits. The socket number of the receiver. The destination socket number directs the packet to a specific process on the destination node. A socket number is assigned to a specific process. On UNIX; a process can use multiple sockets, but a socket cannot be shared among multiple processes.
Services written to run over IPX generally have static or well-known socket numbers associated with them. By having static socket numbers, IPX users ensure that their server and client application types match.
The following socket numbers are reserved by the IPX protocol
0x02 | Echo protocol socket | 0x03 | Error handler packet In addition, Novell has defined and reserved sockets for specific purposes. Some are listed below. | 0x247 | Novell VirtualTerminal (NVT) server | 0x0451 | NetWare Core Protocol | 0x0452 | NetWare Service Advertising Protocol (SAP) | 0x0453 | NetWare Routing Protocol (RIP) | 0x0456 | NetWare Diagnostics Protocol | 0x8063 | NVT2 Server | 0x811E | Print Server |
- Source network
32 bits. Subnet identifier of the sender. The source network address is filled in by IPX when the packet is sent by the source machine.
- Source node
48 bits. The physical address of the sender. Identifies the LAN hardware address. If the node number is FFFF FFFF FFFF, it means broadcast, and if the node number is 0000 0000 0001, it means its the server (on NetWare 3.x and 4.x only).
- Source socket
16 bits. The socket number of the sender. The source socket address is filled in by IPX when the packet is sent by the source, except when a process has multiple sockets assigned. In this case, the correct socket number must be filled in by the application.
- Socket number
A 16-bit number that identifies the higher-layer packet:
Socket | Description | 0x01 | RIP, Routing Information Packet. | 0x02 | Echo Protocol Packet. | 0x03 | Error Handling Packet. | 0x20-0x3F | Experimental. | 0x1-0xBB8 | Xerox registered. | 0xBB9 | Dynamically Assigned. | 0x451 | NCP, NetWare Core Protocol | 0x452 | SAP, Service Advertising Protocol. | 0x453 | RIP, Routing Information Protocol | 0x455 | NetBIOS | 0x456 | Diagnostics | 0x457 | Serialization packet (SER) | 0x8060 | IPX. | 0x9091 | TCP over IPXF. | 0x9092 | UDP over IPXF. | 0x9093 | IPXF, IPX Fragmentation Protocol. | 4000-6000H | Ephemeral sockets, used for file server and network communication. |
- Data
Variable length.
IPX recognizes the following Ethernet frame types:
- 802.3 Raw
The IPX header follows immediately after the Length field in the MAC header.
- IEEE 802.2
The IPX header follows immediately after the IEEE 802.2 header (DSAP, SSAP, and Control).
- Ethernet II
The Type field in the MAC header has a value of 8137, and the IPX header follows immediately after the Type field.
- Ethernet SNAP
The IPX header follows immediately after the 5-byte protocol identifier field.
Additionally, IPX recognizes the following token ring frame types:
- Token ring
- Token ring SNAP
The maximum length of the data section of an IPX packet (MTU-30) varies depending on the lower layer MAC protocol (Ethernet or token ring) that is being used.
For example, Ethernet supports 1500-byte packets, where 30 bytes is the IPX header and 1470 bytes is the actual data. In some cases, the maximum data size is limited by routers connecting LANs. Some older Ethernet routers limit the maximum IPX packet size to 576 bytes.
The content and structure of the data portion are entirely the responsibility of the application using IPX and can take any format.
|
Top of Page
|
| EXAMPLES |
|
|
Top of Page
|
| PROTOCOL RELATIONS |
■ Parent layer
■ Child layer
|
Top of Page
|
| GLOSSARY |
|
ARCnet ARCnet (Attached Resource Computer network) is a widely-installed local area network (LAN) technology that uses a token-bus scheme for managing line sharing among the workstations and other devices connected on the LAN. ARCnet was introduced by Datapoint Corporation in 1977. It uses a token-ring architecture, supports data rates of 2.5 Mbps, and connects up to 255 computers. A special advantage of ARCnet is that it permits various types of transmission media -- twisted-pair wire, coaxial cable, and fiber optic cable -- to be mixed on the same network.
A new specification, called ARCnet Plus, will support data rates of 20 Mbps.
Ethernet A local-area network (LAN) architecture developed by Xerox Corporation in cooperation with DEC and Intel in 1976. Ethernet uses a bus or star topology and supports data transfer rates of 10 Mbps. The Ethernet specification served as the basis for the IEEE 802.3 standard, which specifies the physical and lower software layers. Ethernet uses the CSMA/CD access method to handle simultaneous demands. It is one of the most widely implemented LAN standards.
A newer version of Ethernet, called 100Base-T (or Fast Ethernet), supports data transfer rates of 100 Mbps. And the newest version, Gigabit Ethernet supports data rates of 1 gigabit (1,000 megabits) per second.
MAC MAC (Medium Access Control) is a hardware address that uniquely identifies each node of a network. In IEEE 802 networks, the Data Link Control (DLC) layer of the OSI Reference Model is divided into two sublayers: the Logical Link Control (LLC) layer and the Media Access Control (MAC) layer. The MAC layer interfaces directly with the network medium. Consequently, each different type of network medium requires a different MAC layer.
On networks that do not conform to the IEEE 802 standards but do conform to the OSI Reference Model, the node address is called the Data Link Control (DLC) address.
OSI ISO (Open Systems Interconnection) is a worldwide communications that defines a networking framework for implementing protocols in seven layers. Control is passed from one layer to the next, starting at the application layer in one station, proceeding to the bottom layer, over the channel to the next station and back up the hierarchy.
At one time, most vendors agreed to support OSI in one form or another, but OSI was too loosely defined and proprietary standards were too entrenched. Except for the OSI-compliant X.400 and X.500 e-mail and directory standards, which are widely used, what was once thought to become the universal communications standard now serves as the teaching model for all other protocols.
Most of the functionality in the OSI model exists in all communications systems, although two or three OSI layers may be incorporated into one.
OSI is also referred to as the OSI Reference Model or just the OSI Model.
SPXII SPXII(Sequenced Packet Exchange) is an improvement on SPX that allows better performance on larger bandwidth networks.
|
Top of Page
|
| REFERENCES |
RFCs:
[ RFC 1132] A Standard for the Transmission of 802.2 Packets over IPX Networks.
[ RFC 1234] Tunneling IPX Traffic through IP Networks.
[ RFC 1420] SNMP over IPX.
Obsoletes: RFC 1298.
[ RFC 1552] The PPP Internetwork Packet Exchange Control Protocol (IPXCP).
[ RFC 1553] Compressing IPX Headers Over WAN Media (CIPX).
[ RFC 1634] Novell IPX Over Various WAN Media (IPXWAN).
Obsoletes: RFC 1362, RFC 1551.
[ RFC 1791] TCP And UDP Over IPX Networks With Fixed Path MTU.
[ RFC 1792] TCP/IPX Connection Mib Specification. Obsolete RFCs:
[ RFC 1298] SNMP over IPX.
Obsoleted by: RFC 1420.
[ RFC 1362] Novell IPX Over Various WAN Media (IPXWAN).
Obsoleted by: RFC 1551.
[ RFC 1551] Novell IPX Over Various WAN Media (IPXWAN).
Obsoleted by: RFC 1634.
Obsoletes: RFC 1362. Publications:
[Sybex Inc. and Novell Press, 1993.] Chappell, Laura and Dan Hakes. Novell's Guide to NetWare LAN Analysis (First Edition).
[Sybex Inc. and Novell Press, 1994.] Chappell, Laura and Dan Hakes. Novell's Guide to NetWare LAN Analysis (Second Edition).
[Annabooks, Inc., 1996.] Conner, Steve and Diane Conner. Programmer's Guide to the NetWare Core Protocol.
|
Top of Page
|
| OTHER PROTOCOLS OF TCP/IP SUITE |
|
|
|
|
|