This section describes protocols that are related to IPX and IPX routing but that serve other roles in network and peer-to-peer communication.
MAC protocols operate at the OSI Data-Link layer. Their primary task is to transport packets from one node to another on a network segment. Several MAC protocols have been defined, many of which can be used with NetWare. Following are three of the most common MAC protocols currently in use:
The 802.5 and 802.3 protocols were defined by the Institute of Electrical and Electronic Engineers (IEEE). ARCnet was developed by Datapoint, Inc.
MAC protocols define the addressing that identifies each node on a network segment. Node addressing is implemented within the hardware of each network interface board. In the case of Ethernet, token ring, and FDDI boards, these physical addresses are assigned at the factory. The IEEE administers physical addresses to ensure that no two manufacturers use the same one.
NOTE: Some physical addresses are assigned by setting jumpers or switches on the board or through configuration software; this is the case with ARCnet boards.
MAC protocols also provide bit-level error checking in the form of a cyclic redundancy check (CRC). The CRC is appended at the end of every transmitted packet, also called the MAC trailer. The CRC enhances packet corruption detection but does not guarantee that no corruption has occurred.
To get a packet to its destination node, MAC protocols place the node addresses and other information in a MAC header at the front of every outgoing packet and the CRC in the MAC trailer.
The MAC header contains source node and destination node address fields. These fields contain the physical addresses that indicate where the packet originated and where it is going. Each interface board attached to the network checks the Destination Address field in the MAC header of every packet it receives. If the board finds its own address in this field, or if the packet is a broadcast packet (intended for all nodes), the board copies the packet. The packet is then passed to a higher-layer process---such as IPX---for further examination and processing.
NOTE: The destination and source MAC addresses are the same as those in the Destination Node and Source Node fields in the IPX header.
The MAC header and trailer encapsulate each packet with the node addresses, the upper-layer protocol, the CRC, the message length, and additional information specific to the network medium. This information is specified in a format conforming to a particular frame type.
A frame is the data unit used for communication between two nodes on a network. The frame's MAC header contains information that specifies the sending and receiving nodes, the upper-layer protocol to which the frame is passed, and---for source-routed token ring networks---the exact forwarding path the packet follows to its destination.
NetWare supports several frame types for interoperability with many different network protocols on various network media. These frame types are described in the following list:
IMPORTANT: Before the release of NetWare 4, NetWare workstations and drivers were configured with ETHERNET_802.3 as the default frame type. The default frame type for NetWare 4 and later releases is ETHERNET_802.2. Note also that it is not possible to send IPX packets containing checksums encapsulated in ETHERNET_802.3 frames.
You can configure multiple frame types on the same NetWare router or workstation. However, for two nodes on a network to communicate, they must have in common at least one frame type. If one node accepts only ETHERNET_802.3 frames and the other accepts only ETHERNET_802.2 frames, the nodes cannot communicate directly, although they share the same physical network. Also, using more than one frame type on a node does not increase packet throughput.
You can also mix frame types and network protocols on the same network. For example, IP can use ETHERNET_II while IPX uses ETHERNET_802.2.
NCP enables NetWare workstations and file servers to communicate by defining two aspects of their interaction: connection control and service request encoding.
NCP maintains its own connection control and packet-level error checking instead of relying on other protocols for those functions. Connections are established and terminated by NCP Requests, which are issued by NetWare workstations, and NCP Replies, which are issued by NetWare servers.
A workstation sends an NCP Request to a server to retrieve the following types of information:
Servers respond to these requests with NCP Replies. When the server has processed and complied with the request, the workstation terminates the connection by sending a Destroy Service Connection request to the server.
SPX is a connection-oriented protocol that operates at the OSI Transport layer. Connection-oriented means that when a node uses SPX to communicate with another node, a dedicated connection is established between the two nodes. This connection must be established before the nodes can exchange packets.
SPX guarantees delivery of packets to their destination and delivers them in their proper sequence. IPX gives only its "best effort" to deliver packets and delivers them in any order.
Although SPX guarantees delivery of every packet it sends, it is slower than IPX. The SPX header includes the IPX header---30 bytes---but adds an additional 12 bytes of sequencing, flow control, connection, and acknowledgment information.
NetBIOS was written for IBM* by Sytek in 1984 and has since become an industry standard. NetBIOS provides Session-layer services, such as named addressing and packet assembly/disassembly. Like SPX, NetBIOS also provides Transport-layer services, such as guaranteed packet delivery and packet sequencing.
For NetBIOS to operate in the NetWare environment, IPX routers must be able to propagate NetBIOS packets across an internetwork. To accomplish this, NetWare defines a special IPX packet type of 20 (0x14) to designate a propagated packet. Packet type 20 and socket number 0x455 together identify the NetBIOS packet. Additionally, the Destination Node field in the IPX header is set to 0xFFFFFFFFFFFF. This instructs each router receiving the packet to broadcast it to all nodes on the destination network.
NetBIOS packets require unique handling by a router. For a step-by-step description of this process, refer to "When a Router Receives an IPX Packet.”
Because each router that receives a NetBIOS packet simply broadcasts (forwards) it to directly connected segments, the IPX header Destination Network field is irrelevant.