ProtocolIPv4IPv6
Address 4 Octet xx.xx.xx.xx
5 Classes *
Class A ~ 2^26 local @ *
Class B ~ 2^20 local @ *
Class C ~ 2^256 local @ *

Note that some IPs are reserved for special purposes :
see "Reserved IP addresses" on Wikipedia.

64 bit domain ID/64 bit sub-net/node ID
Classless - single sized domain id makes routing much easier.

Node ID often generated from/consists of MAC@
Newer OSes attempt to obscure this for security reasons.

Size20 bytes - 65535 bytes. *

Fragmenting (usually) permitted *

  • Different links along path may fragment initial packet.
  • Packet created to match minimum allowed along path or 1280 (default)

    Fragmented packets NOT permitted *

  • Fragmenting must occur at source and reassembled at destination. Packets are not allowed to be fragmented once they leave source.
  • HeaderVariable length
    20 bytes minimum.
    Standard 40 octet

    Allows linking 8 octet 'extension' headers following main header

    Header structure http://en.wikipedia.org/wiki/IPv4#Header

    Version 4-bit *

    IHL (header length) 4-bit *

  • IHL * 32 bit word = total header length.

    DSCP

    ECN

    Total Length 16-bit *

    Identification

    Flags

  • bit 0
  • bit 1 - Don't fragment (not allowed if set to 1)
  • bit 2 - set to 1 - fragmented, set to 0, not fragmented or last fragment

    Fragment offset * - fragment sequence #

    TTL (Time to live) * - decremented at each hop, also checked for age

    see http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers

    Header check sum * - needs to be recalculated each hop.

    Source IP *

    Destination IP *

    Options - seldom used

  • http://en.wikipedia.org/wiki/IPv6_packet#Fixed_header

    Version *

    Traffic class

    Flow label

    Payload length * 16-bit - set to zero if Jumbo-gram.

    Next header * 8-bit - link to additional header block if used

    Hop Count *

  • 8-bit - replaces TTL, 'age' of packet no longer checked, only number of hops

    Source IP *

    Destination IP *

    * Note : NO check-sum - check-sum recalculation slowed hop and multiple checks at other layers of TCP/IP stack guarantee packet delivery.

    Linked list of header extensions.

  • Data Data - various types

    256 possible data types, 142 assigned.

  • 6 - TCP
  • 17 - UDP
  • 1 - ICMP
  • 41 - ENCAP - IPv6 encapsulation, for moving IPv6 packets across an IPv4 network.
  • etc.

    http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers

    68 bytes minimum - 64KiB maximum.

    If permitted, data can be fragmented over a particular link.

  • Data - various types

    256 possible data types, 142 assigned.

  • 6 - TCP
  • 17 - UDP
  • 1 - ICMP
  • etc.

    IPv6 protocol requires the sender to attempt to discover the smallest permitted packet size between source and destination and use that.

    1280 - default minimum if smallest size across all hops not confirmable.

    Fragmenting is not permitted.

    Jumbo-gram 4GiB - only if supported across all hops.