1

So far as I can tell, there is no "Next Protocol" ID at the Ethernet / data link layer. Nor do IP packets seem to contain any magic numbers for identification purposes.

Does the OS bind each link to a single specific network / internet layer protocol? Or does it optimistically try to parse each frame as an IP packet? (e.g. checking to see if the bits that would be the destination IP field match an IP address being listened for) Or is there something else going on?

Or to look at it differently, how would you create an alternative to IP, and get the OS to distinguish them?

1
  • 3
    Look up EtherType. E.g. IPv4 uses 0x0800 and IPv6 uses 0x86DD.
    – Zac67
    Apr 5, 2022 at 17:24

1 Answer 1

3

So far as I can tell, there is no "Next Protocol" ID at the Ethernet / data link layer.

Ethernet has the EtherType field in its header. This field tells it to which process it should send the frame payload.

enter image description here

IANA maintains the IEEE 802 Numbers page in the same way it maintains the Protocol Numbers page for IP.

1
  • Huh. I thought I looked at that but apparently misunderstood. For reference, IPv4 is apparently 0x0800 and IPv6 is 0x86DD.
    – shader
    Apr 5, 2022 at 19:30

Not the answer you're looking for? Browse other questions tagged or ask your own question.