Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Internetwork Packet Exchange
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Network protocol}} {{redirect|IPX}} {{Multiple issues| {{Technical|date=July 2019}} {{More citations needed|date=July 2019}} }} '''Internetwork Packet Exchange''' ('''IPX''') is the [[network-layer protocol]] in the [[IPX/SPX]] [[protocol stack|protocol suite]]. IPX is derived from [[Xerox Network Systems]]' [[Xerox Network Systems#Basic internetwork protocol|IDP]]. It also has the ability to act as a [[transport layer]] protocol. The IPX/SPX protocol suite was very popular through the late 1980s and mid-1990s because it was used by [[Novell, Inc.|Novell]] [[NetWare]], a [[network operating system]]. Due to Novell NetWare's popularity, IPX became a prominent protocol for [[internetworking]]. A big advantage of IPX was a small [[memory footprint]] of the IPX driver, which was vital for [[DOS]] and [[Windows]] up to [[Windows 95]] due to the limited size at that time of [[conventional memory]]. Another IPX advantage was easy configuration of its client computers. However, IPX does not scale well for large networks such as the Internet.<ref>{{cite book |quote=It does not scale well to large networks such as the Internet |author=Simson Garfinkel, Gene Spafford |publisher=O'Reilly Media |title=Practical UNIX and Internet Security |year=1996 |isbn=9781565921481 |url=https://archive.org/details/practicalunixint00garf |url-access=registration |edition=2nd}}.</ref> As such, IPX usage decreased as the boom of the [[Internet]] made [[TCP/IP]] nearly universal. Computers and networks can run multiple [[network protocol]]s, so almost all IPX sites also ran TCP/IP, to allow Internet connectivity.<ref>{{cite web|archive-url=https://archive.today/20120710090324/http://articles.techrepublic.com.com/5100-10878_11-5026038.html |work=TechRepublic |title=Do you still support IPX/SPX on your Windows servers? |archive-date=July 10, 2012 |url=http://articles.techrepublic.com.com/5100-10878_11-5026038.html |date=February 12, 2001 |url-status=dead }}</ref> It was also possible to run later Novell products without IPX, with the beginning of full support for both IPX and TCP/IP by NetWare version 5<ref>[http://support.novell.com/techcenter/articles/ana19980302.html Maintaining IPX Compatibility During a Migration to TCP/IP on a NetWare Network]. support.novell.com.</ref> in late 1998. == Description == A big advantage of IPX protocol is its little or no need for configuration. In the time when protocols for [[Dynamic Host Configuration Protocol|dynamic host configuration]] did not exist and the [[Bootstrap Protocol|BOOTP]] protocol for centralized assigning of addresses was not common, the IPX network could be configured almost automatically. A client computer uses the [[MAC address]] of its network card as the node address and learns what it needs to know about the network topology from the servers or [[Router (computing)|routers]] β routes are propagated by [[Routing Information Protocol]], services by [[Service Advertising Protocol]]. A small IPX network administrator had to care only * to assign all servers in the same network the same network number, * to assign different network numbers to different frame formats in the same network, * to assign different network numbers to different interfaces of servers with multiple network cards (Novell [[NetWare]] server with multiple network cards worked automatically as a router), * to assign different network numbers to servers in different interconnected networks, * to start router process on nodes with multiple network cards in more complex networks. == IPX packet structure== Each IPX packet begins with a header with the following structure: {|class=wikitable style="text-align:left;" |- ! Octets !! Field |- | 2 || Checksum (always 0xFFFF β no checksum) |- | 2 || Packet Length (including the IPX header) |- | 1 || Transport Control (hop count) |- | 1 || Packet Type |- | 12 || Destination address |- | 12 || Source address |} The Packet Type values are: {|class=wikitable style="text-align:left;" |- ! Value !! Meaning/Protocol |- | 0 || Unknown |- | 1 || RIP ([[Routing Information Protocol]]) (RFC 1582, RFC 2091) |- | 2 || Echo Packet |- | 3 || Error Packet |- | 4 || PEP ([[Packet Exchange Protocol]]), used for SAP ([[Service Advertising Protocol]]) |- | 5 || SPX ([[Sequenced Packet Exchange]]) |- | 17 || NCP ([[NetWare Core Protocol]]) |- | 20 || Broadcast<ref name="RFC1132">{{cite web |url=https://datatracker.ietf.org/doc/html/rfc1132 |title=A Standard for the Transmission of 802.2 Packets over IPX Networks |publisher=IETF}}</ref> |} ==IPX addressing== An IPX address has the following structure: {|class=wikitable style="text-align:left;" |- ! Octets !! Field |- | 4 || Network number |- | 6 || Node number |- | 2 || Socket number |} ===Network number=== The network number allows to address (and communicate with) the IPX nodes which do not belong to the same network or ''cabling system''. The '''cabling system''' is a network in which a [[data link layer]] protocol can be used for communication. To allow communication between different networks, they must be connected with IPX [[Router (computing)|routers]]. A set of interconnected networks is called an '''internetwork'''. Any [[Novell NetWare]] server may serve as an IPX router. Novell also supplied stand-alone routers. Other vendors ' multiprotocol routers often support IPX routing. Using different [[#Frame Formats|frame formats]] in one cabling system is possible, but it works similarly as if separate cabling systems were used (i.e. different network numbers must be used for different frame formats even in the same cabling system and a router must be used to allow communication between nodes using different frame formats in the same cabling system). * Logical networks are assigned a unique 32-bit address in the range 0x1 to 0xFFFFFFFE ([[hexadecimal]]). * Hosts have a 48-bit node address, which is by default set to the 6 bytes of the network interface card [[MAC address]]. Network addresses, which exist in addition to the node address but are not part of the MAC layer, are assigned only if an IPX router is present or by manual configuration in the network. The network address covers every network participant that can talk to another participant without the aid of an IPX router. In combination, both network and node address form an 80-bit unique identifier for each IPX node across connected logical networks. The node number itself is unique to the logical network only. * Network number 00:00:00:00 refers to the current network, and is also used during router discovery. It's also the default in case no router is present, but can be changed by manual configuration, depending on the IPX implementation. * Broadcast network number is FF:FF:FF:FF. ===Node number=== The node number is used to address an individual computer (or more exactly, a network interface) in the network. Client stations use its network interface card [[MAC address]] as the node number. The value FF:FF:FF:FF:FF:FF may be used as a node number in a destination address to [[Broadcast address|broadcast]] a packet to "all nodes in the current network". ===Socket number=== The socket number serves to select a process or application in the destination node. The presence of a socket number in the IPX address allows the IPX to act as a [[transport layer]] protocol, comparable with the [[User Datagram Protocol]] (UDP) in the [[Internet protocol suite]]. {|class=wikitable style="text-align:left;" |- ! Socket number !! Protocol |- | 0x0001β0x0BB8 || Registered by [[Xerox]] |- | 0x0001 || Routing Information Packet |- | 0x0002 || Echo Protocol Packet |- | 0x0003 || Error Handling Packet |- | 0x0020β0x003F || Experimental |- | 0x0BB9β0xFFFF || Dynamically Assigned |- | 0x0451 || [[NetWare Core Protocol]] (NCP β used by [[Novell NetWare]] servers) |- | 0x0452 || [[Service Advertising Protocol]] (SAP) |- | 0x0453 || [[Routing Information Protocol]] (RIP) |- | 0x0455 || [[NetBIOS]] |- | 0x0456 || Diagnostic Packet |- | 0x0457 || Serialization Packet (used for NCP as well) |- | 0x4000β0x4FFF || Dynamically Assigned Socket Numbers |- | 0x4003 || Used by [[Novell NetWare]] Client |- | 0x8000β0xFFFF || Statically Assigned Socket Numbers |- | 0x8060 || [[Logical Link Control|LLC]]<ref name="RFC1132" /> |- | 0x9091 || [[Transmission Control Protocol|TCP]] over IPXF |- | 0x9092 || [[User Datagram Protocol|UDP]] over IPXF |- | 0x9093 || IPXF, IPX Fragmentation Protocol |} ===Comparison with IP=== The IPX network number is conceptually identical to the network part of the [[IP address]] (the parts with [[netmask]] bits set to 1); the node number has the same meaning as the bits of IP address with netmask bits set to 0. The difference is that the boundary between network and node part of address in IP is variable, while in IPX it is fixed. As the node address is usually identical to the MAC address of the network adapter, the [[Address Resolution Protocol]] is not needed in IPX. For [[routing]], the entries in the IPX [[routing table]] are similar to IP routing tables; routing is done by network address, and for each network address a network:node of the next router is specified in a similar fashion an IP address/netmask is specified in IP routing tables. There are three routing protocols available for IPX networks. In early IPX networks, a version of [[Routing Information Protocol]] (RIP) was the only available protocol to exchange routing information. Unlike RIP for [[Internet Protocol|IP]], it uses delay time as the main metric, retaining the hop count as a secondary metric. Since NetWare 3, the [[NetWare Link Services Protocol]] (NLSP) based on [[IS-IS]] is available, which is more suitable for larger networks. [[Cisco]] routers implement an IPX version of [[Enhanced Interior Gateway Routing Protocol|EIGRP]] protocol as well.<ref>{{Cite book | title = Troubleshooting Campus Networks: Practical Analysis of Cisco and LAN Protocols | first1 = Priscilla |last1 = Oppenheimer | first2 = Joseph | last2 = Bardwell |date = August 2002 | isbn = 978-0-471-21013-9 | publisher = John Wiley & Sons, Inc. | pages = 421β440}}</ref> ==Frame formats== IPX can be transmitted over Ethernet using one of the following 4 frame formats or encapsulation types: * [[Ethernet frame#Novell raw IEEE 802.3|802.3 (raw)]] encapsulation comprises an IEEE 802.3 frame header (destination MAC, source MAC, length) immediately followed by IPX data. It is used in legacy systems, and can be distinguished by the first two bytes of the IPX header always containing a value of 0xFFFF, which cannot be interpreted as valid LLC Destination and Source [[Service Access Point]]s in this location of the frame. * [[Ethernet frame#IEEE 802.2 LLC|802.2 (LLC or Novell)]] comprises an IEEE 802.3 frame header (destination MAC, source MAC, length) followed by an [[Logical Link Control|LLC]] header ([[Service Access Point|DSAP]] 0xE0, [[Service Access Point|SSAP]] 0xE0, control 0x03) followed by IPX data. The 0xE0 fields of the LLC header indicate "NetWare". * [[802.2]] ([[Subnetwork Access Protocol|SNAP]]) comprises an IEEE 802.3 frame header, an LLC header (DSAP 0xAA, SSAP 0xAA, control 0x03), a SNAP header ([[Organizationally Unique Identifier|OUI]] 0x000000, type 0x8137), and IPX data. The 0xAA fields of the LLC header indicate "SNAP", and the OUI 0x000000 in the SNAP header indicates an encapsulated [[EtherType]]. * [[Ethernet frame#Ethernet II|Ethernet II]] encapsulation comprises an Ethernet II frame header (destination MAC, source MAC, [[EtherType]] 0x8137) followed by IPX data. In non-Ethernet networks, only 802.2 and SNAP frame types are available. ==References== <references/> ==External links== * [https://tools.ietf.org/html/rfc1132 RFC 1132 - A Standard for the Transmission of 802.2 Packets over IPX Networks] * [https://web.archive.org/web/20150418013816/http://www.ee.siue.edu/~bnoble/comp/networks/frametypes.html Ethernet Frame Types: Don Provan's Definitive Answer] [[Category:Novell NetWare]] [[Category:Network layer protocols]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite book
(
edit
)
Template:Cite web
(
edit
)
Template:Multiple issues
(
edit
)
Template:Redirect
(
edit
)
Template:Short description
(
edit
)