Re: IEEE 802 and Ethernet Packet Encapsulations

H. Peter Anvin (hpa@transmeta.com)
20 Aug 1999 21:18:34 GMT


Followup to: <37BDBC6E.47221FE5@sso.sytexinc.com>
By author: "Keith J. Jones" <kjones@sso.sytexinc.com>
In newsgroup: linux.dev.kernel
>
> Could anyone shed some light on the issue of the IEEE 802.* and the
> Ethernet encapsulation in linux? I can only find support for the
> Ethernet encapsulation in the kernel source. Is 802.* still being used?
> Does linux support it? Where is 802 being used at?
>

Sounds like you've learned the rather bogus Novell terminology for
Ethernet packet formats. There are basically four in use:

IEEE 802.2 without SNAP (available on all IEEE 802 networks)
IEEE 802.2 with SNAP (available on all IEEE 802 networks)
Ethernet II ("DIX")
Novell "raw IEEE 802.3" (nonstandard!!! - IPX only)

All these frames can coexist on the wire; in the case of the "raw IEEE
802.3" frame this so happened by pure dumb luck, but nevertheless...

Some protocols are tied to a frame type, for example, TCP/IP is
*always* used with Ethernet II frames, and Ethertalk (DDC, Appletalk
over Ethernet) is always in SNAP frames.

On IEEE 802 networks that are not Ethernet and doesn't have the
Ethernet 1514-byte packet size limit (e.g. IEEE 802.5 Token Ring) DIX
frames are unrepresentable; on these networks DIX-using protocols are
encapsulated in a specific kind of SNAP frame.

IPX, in particular, can be transmitted over either of these frames,
just to make it confusing; furthermore, most systems treat the
different frame types as different logical networks. I believe Novell
recommend configuring using SNAP frames, whereas Ethernet II is
popular where interoperability with TCP/IP is important. Linux can
talk IPX over either of these kinds of frames (in fact
simultaneously); the ipx_interface or ifconfig command is used to
configure the appropriate network numbers and frame types.

-hpa

-- 
<hpa@transmeta.com> at work, <hpa@zytor.com> in private!

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/