wiki:crkit/Software/Firmware/Framework/R3_arch/ip
close Warning: Can't synchronize with repository "(default)" (/common/SVN/crkit does not appear to be a Subversion repository.). Look in the Trac log for more information.

IPv4

Figure 1 - IP Packet Structure (source : wikipedia)


  • Version == 0x4
  • Header Length == 0x5 (five 32-bit words)
  • Differentiated Services == 0x00 (not used)
  • Total Length == datagram size e.g. header + data (bytes). Note, header = 20 bytes.
  • Identification == 0x0000 (not used)
  • Flags == b010 (don't fragment). Note, three-bit field.
  • Fragment Offset == b0 & 0x000 (not used). Note, 13-bit long.
  • Time to Live == 0x01
  • Protocol == 0x06 (TCP), 0x11 (UDP). More information at http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers.
  • Header Checksum == computed as : all 16-bit words are summed together using one's complement (with the checksum field set to zero). The sum is then one's complemented and this final value is inserted as the checksum field. Example.
  • Source Address == Source IP
  • Destination Address == Destination IP
  • CRKit IP == 192.168.0.1 (hardwired until we have DHCP running).
  • Host IP == 192.168.0.2 (default, but programmable from Packet Processor RMAP).
  • Further IPv4 information at http://en.wikipedia.org/wiki/IPv4#Data.

..

Last modified 11 years ago Last modified on Jul 14, 2010, 7:12:43 PM

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.