因特网协议数据报格式
扫描二维码
随时随地手机看文章
其中,版本字段记录数据报是属于哪个版本的协议,例如,可以用此字段区分出IPv4和IPv6。这个字段使得在不同版本间传递数据成为可能。
头部长度字段说明头部有多长,这个字段有4bit,最小值是5,所以头部的最大长度可以为15个单位长度(单位长度4字节),也就是60字节,因此后面的可选字段最多为40字节。服务质量字段用于指示当数据报在一个特定网络中传输时对实际服务质量的要求是什么。服务质量字段从左到右由一个3bit的优先顺序字段,D、T、R三个标志位和两个保留位组成。优先顺序字段用于标志数据报的优先级;D、T、R三个标志位分别代表是否对低延时(Delay)、高吞吐量(Throughput)和高可靠性(Reliability)有要求。不过实际上,现在的路由器都忽略服务质量这个字段。总长字段是指整个数据报的长度,包括头部和数据部分,单位是1字节,最大长度可达65 535字节。
任何主机都要求能接收至少576字节的数据报。标识字段是为了便于目的主机在组装分段时判断新到的分段属于哪个分组。所有属于同一分组的分段都会包含同样的标识值。标记字段包含3个字节,分别是保留位、不可分段(DF,Don’t Fragment)位和更多分段(MF,More Fragments)位。保留位必须为0;DF位为1时表示“该分组不能被分段”;MF位为1时代表“后面还有进一步分段”。在有分段的情况下,除了最后一个分段外的所有分段都设置MF位为1。这个字段可以用来标志是否所有分组都已到达。
TCP/IP(Transport Control Protocol/Internet Protocol,传输控制协议/Internet协议)的历史应当追溯到Internet的前身—ARPAnet时代。为了实现不同网络之间的互连,美国国防部于1977年到1979年间制定了TCP/IP体系结构和协议。TCP/IP是由一组具有专业用途的多个子协议组合而成的,这些子协议包括TCP、IP、UDP、ARP、ICMP等。TCP/IP凭借其实现成本低、在多平台间通信安全可靠以及可路由性等优势迅速发展,并成为Internet中的标准协议。在上世纪90年代,TCP/IP已经成为局域网中的首选协议,在最新的操作系统(如Windows7、Windows XP、Windows Server2003等)中已经将TCP/IP作为其默认安装的通信协议。
分段偏移字段用于说明该分段在当前数据报的位置,单位是8个字节,第一个分段的偏移是0。生命期字段是一个用来限制分组生命周期的计数器,单位是s,8bit字段说明最长可达255s。在实际使用中,是以经过的节点记数的,每过一个节点,计数器减一。当生命期字段减为0时,分组就要被丢弃。协议字段告诉网络层应该将数据报传送给哪个传输进程。协议的编号在整个因特网上是通用的。头校验和字段只对头部进行校验。由于一些头部字段始终都有变化(例如生命期字段),因此头校验和在每个节点处都要重新计算。源地址和目的地址字段指明了源和目的地的IP地址。可选项字段对于主机和网关的IP模块来说,都是必须实现的。可选是指它们在特定数据报中是否出现是可选的,而不是指它们的实现。每个可选项都用第一个字节标明它的类型。目前已定义的可选项有5个,分别是安全性(指明数据报的机密程度)、严格路由选择(要求严格按照其后所列路由前进)、宽松路由选择(只需经过其后所列路由即可)、记录路由(要求所经路由器附上其IP地址)和时间戳(要求所经路由器都附上其IP地址和时间标记)。