RFC 894
A Standard for the Transmission of IP Datagrams over Ethernet Networks
RFC 894: A Standard for the Transmission of IP Datagrams over Ethernet Networks β¨
Okay bestie, RFC 894 is a Network Working Group doc π Charles Hornig wrote it at the Symbolics Cambridge Research Center, and it's dated April 1984. It's the spec for how IP datagrams get packed into Ethernet frames π It doesn't say what category it is, and it doesn't list anything it obsoletes or updates, so I'm not guessing π
Status of this Memo
This RFC specifies a standard method of encapsulating Internet Protocol (IP) [1] datagrams on an Ethernet [2]. It's a standard protocol for the ARPA-Internet community, so yes, this is official π«Ά
Introduction
This memo is about the Ethernet (10-megabit/second, 48-bit addresses) π¦ If you want the Experimental Ethernet (3-megabit/second, 8-bit addresses) instead, that's a whole different procedure, described in [3] π§
Frame Format
IP datagrams go out in standard Ethernet frames π¦ The type field of the Ethernet frame must contain the value 0800 (hexadecimal) π
The data field holds the IP header first, then the IP data right after it, no gap.
The minimum length of the data field of a packet sent over an Ethernet is 46 octets πΈ If it's too short, pad the data field with zero octets so it hits the Ethernet minimum frame size. That padding isn't part of the IP packet, so it doesn't get counted in the IP header's total length field π
Quick aside: the original says "minimum" again in the next paragraph, but the sentence after it talks about the maximum, so that one's clearly a typo for maximum. The next bit is about the 1500-octet limit, which is the max π
The minimum length of the data field of a packet sent over an Ethernet is 1500 octets, so the maximum length of an IP datagram sent over an Ethernet is 1500 octets π Implementations are encouraged to support full-length packets. Gateway implementations MUST be prepared to accept full-length packets and fragment them if necessary π₯ If a system can't receive full-length packets, it should discourage others from sending them, for example by using the TCP Maximum Segment Size option [4] β¨
Note: Datagrams on the Ethernet can be longer than the general Internet default maximum packet size of 576 octets. Hosts on an Ethernet should keep that in mind when sending datagrams to hosts that aren't on the same Ethernet. It may be a good idea to send smaller datagrams so you don't get unnecessary fragmentation at intermediate gateways. See [4] for more on this π
Address Mappings
The mapping of 32-bit Internet addresses to 48-bit Ethernet addresses can be done a few ways π You could use a static table, or a dynamic discovery procedure.
Static Table
Each host could get a table of all the other hosts on the local network, listing both their Ethernet and Internet addresses π
Dynamic Discovery
Mappings between 32-bit Internet addresses and 48-bit Ethernet addresses could be handled with the Address Resolution Protocol (ARP) [5] π¦ Internet addresses are assigned arbitrarily on some Internet network. Each host's implementation must know its own Internet address and respond to Ethernet Address Resolution packets appropriately. It should also use ARP to translate Internet addresses to Ethernet addresses when it needs to π«Ά
Broadcast Address
The broadcast Internet address (the address on that network with a host part of all binary ones) should be mapped to the broadcast Ethernet address (all binary ones, FF-FF-FF-FF-FF-FF in hex) π£
The ARP dynamic discovery procedure is strongly recommended π
Trailer Formats
Some versions of Unix 4.2bsd use a different encapsulation method to get better network performance with the VAX virtual memory architecture π₯οΈ Systems that agree to it on the same Ethernet can use this format between themselves π€
No host is required to implement it. Don't send any datagrams in this format to a host unless you have positive knowledge that the recipient can interpret them π ββοΈ You can find the details of the trailer encapsulation in [6] π
(Note: Right now, Unix 4.2bsd will either always use trailers or never use them, per interface, depending on a boot-time option. That's expected to change in the future. Unix 4.2bsd also uses a non-standard Internet broadcast address with a host part of all zeroes, and that might change too π)
Byte Order
As described in Appendix B of the Internet Protocol specification [1], the IP datagram goes over the Ethernet as a series of 8-bit bytes π
References
- [1] Postel, J., "Internet Protocol", RFC-791, USC/Information Sciences Institute, September 1981. π
- [2] "The Ethernet - A Local Area Network", Version 1.0, Digital Equipment Corporation, Intel Corporation, Xerox Corporation, September 1980. π
- [3] Postel, J., "A Standard for the Transmission of IP Datagrams over Experimental Ethernet Networks", RFC-895, USC/Information Sciences Institute, April 1984. π
- [4] Postel, J., "The TCP Maximum Segment Size Option and Related Topics", RFC-879, USC/Information Sciences Institute, November 1983. π
- [5] Plummer, D., "An Ethernet Address Resolution Protocol", RFC-826, Symbolics Cambridge Research Center, November 1982. π
- [6] Leffler, S., and M. Karels, "Trailer Encapsulations", RFC-893, University of California at Berkeley, April 1984. π
π¦ where this page comes from
- ietf: rfc894 1984-04
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms