Drawn from wikipedia topics, Ethernet frame, IPv4, IPv6

See wikipedia for details.

WiFi and other transmission facilities will vary in frame fields and lengths,
but still use the OUI and NIC tagging.

See : https://en.wikipedia.org/wiki/IEEE_802 for list other protocols.

Ethernet Frame
1500 bytes max.
Preamble Start of
Frame
delimiter
Destination MAC - 6-byte
Source MAC - 6-byte
Media Access Controller IDs.
    3 byte OUI -
    Organizationally Unique Identifier

    3 byte NIC -
    Network Interface Controller Id

If destination outside of local
network, destination MAC@
of gateway system out of local
sub-net
802.1Q
tag
Ether-type
or length
IPv4 packet
Header
TCP Segment Frame
UDP packet
ICMP packet
IPv6 Packet
Header
Additional
Headers
TCP frame
UDP packet
ICMP packet
Frame
Check
CRC
Inter-frame
Gap
7 octets 1 octets 6 octets / 6 octets 4 octets 2 octets
42-1500 octets
65535 octets - Jumbo frame
4 octets 12 octets

Protocol
Version
Type Subtype ToDS FromDS More
Fragments
flag
Retry
flag
Power
mgmt.
More
Data
flag
Protected
Frame
flag
Duration
ID
Recevier
MAC @
required
Transmitter
MAC @
optional
Routing
MAC @
  Sequence
Control
Routing
MAC @
IPv4
payload
IPv6
payload
Frame
Check
Sequence

IPv4 packet
576 byte length valid on all hops
VersionIHL DSCPENC Total
Length
IdentificationFlagsFragment
Offset
Time
To
Live
TTL
Protocol Header
Checksum
Source
IP @
Destination
IP @
Options
TCP Segment
Frame
UDP packet
ICMP packet
Bits
0-3
Bits
4-7
Bits
8-13
Bits
14-15
Bits
16-31
Bits
32-47
Bits
48-50
Bits
51-63
Bits
64-71
Bits
72-79
Bits
80-95
Bits
96-127
Bits
128-159
Bits
160-191
16-1484* Bytes
Header 20-60 bytes Data 0 - (65535-header)

IPv6 Packet
VersionTraffic
Class
Flow
Label
Payload
Length
Next Header
Additional Headers
Stored in Payload
Hop
Limit
Source
IP @
Destination
IP @
Additional
Headers
TCP frame
UDP packet
ICMP packet
40 Octets
8-1460 bytes
or Jumbo-gram

ICMP packet
TypeCode
Checksum Rest of
Header
IP header and 1st 8-bytes
of IP packet that triggered error
8 bit8 bit16 bit 32 bit 0-x bytes

Note that ICMP does not have any Ports listed. Used for node to node communication.


TCP Segment
Frame
Source
Port
Destination
Port
Sequence
Number
ACK
number
Data
Offset
ReservedFrame
Flags
Window
Size
ChecksumUrgent
Pointer
Options Payload
Bits
0-15
Bits
16-31
Bits
32-63
Bits
64-31
Bits
96-99
Bits
100-102
Bits
103-111
Bits
112-127
Bits
128-143
Bits
144-159
Bits
160-195
16-1468
Bytes

UDP packet
Source
Port
Destination
Port
LengthChecksum Data
16 bit 16 bit 16 bit 16 bit 0-65507 bytes