网络层协议
ARP协议(Address Resolution Protocol)地址解析协议
IP协议
RFC 791 - Internet Protocol (ietf.org)
ip报文头部
Version:版本号,0100为ipv4,0110为ipv6
IHL:Internet Header Length,单位为32bits即4bytes,最长为01111即15*4bytes=60bytes,最短为00101即5*4bytes=20bytes
Type of Service:更改过多次。
RFC791的版本:
Total Length:ip报文总长度,包括报文头部和数据,单位为byte
Identification,Flags,Fragment Offset,三者合作完成ip报文的分段和重组操作
Time To Live:生成时间,当IP包经过每一个路由器时候,路由器将IP包的TTL值减1。如果TTL减少为0,则该IP包被丢弃。可以防止由于路由环路而导致IP包在网络中不停被转发
Protocol:标识上层使用的协议,1=ICMP,2=IGMP,6=TCP,17=UDP,88=IGRP,89=OFPF
Header Checksum:用做IP头部的正确性检测,不包含数据部分。 因为每个路由器要改变TTL的值,所以路由器会为每个通过的数据包重新计算这个值,也不包括options。
Source and Destination Addresses:这两个地段都是32比特。标识IP包的起源和目标地址。要注意除非使用NAT,否则整个传输的过程中,这两个地址不会改变。
Options:选项有两类:1:只有一个option-type 2:option-type+option-length+option-data
其中option-lengh octet计算的长度是option-type,option-length和option-data三部分的总长度。
ICMP协议
传输层协议
TCP(Transmission Control Protocol)传输控制协议
UDP(User Datagram Protocol)用户数据报协议