IP协议——IPv4首部

IP协议——IPv4首部_第1张图片

1、版本(Version):

        由4比特构成,表示标识IP首部的版本号。IPv4的版本号即为4。

版本 简称 协议
4 IP Internet Protocol
5 ST ST Datagram Mode
6 IPv6 Internet Protocol version 6
7 TP/IX TP/IX:The Next Internet
8 PIP The P Internet Protocol
9 TUBA TUBA

2、首部长度(IHL:Internet Header Length):

        由4比特构成,表明IP首部的大小,单位为4字节(32比特)。对于没有可选项的IP包,首部长度则设置为“5”。也就是说,当没有可选项时,IP首部的长度为20字节(4x5=20)。

3、区分服务(TOS:Type Of Service):

        由8比特构成,用来表明服务质量。每一位的具体含义如下:

比特 含义
0 1 2 优先度
3 最低延迟
4 最大吞吐
5 最大可靠性
6 最小代价
(3~6) 最大安全
7 未定义

        这个值通常由应用指定。不过由于TOS控制变得极其复杂。这也导致TOS整个互联网几乎就没有被投入使用。不过已有人提出将TOS字段本身再划分为DSCP和ECN两个字段得建议。

4、DSCP段与ECN段:

IP协议——IPv4首部_第2张图片

        DSCP(Differential Services Codepoint,差分服务代码点)是TOS(Type Of Service)的一部分。现在统称为DiffServ,用来进行质量控制。

        如果3~5位的值为0,0~2位则被称作类别选择代码点。这样就可以像TOS的优先度那样提供8种类型的质量控级别。对于每一种级别所采用的措施则由提供DiffServ的运营管理者制定。为了与TOS保持一致,值越大优先度越高。

        ECN(Explicit Congestion Notification,显式拥塞通告)用来报告网络拥堵情况,由两个比特构成。

比特 简称 含义
6 ECT ECN-Capable Transport
7 CE Congenstion Experienced

        第6位的ECT用以通告上层TCP层协议是否处理ECN。当路由器在转发ECN为1的包过程中,如果出现网络拥堵的情况,就将CE位设置为1。

5、总长度(Total Length):

        表示IP首部与数据部分合起来的总字节数。该字段长16比特。因此IP包的最大长度为65535(=2^16-1)字节。

6、标识(ID:Identification):

        由16比特构成,用于分片重组。同一个分片的标识值相同,不同分片的标识值不同。通常,每发送一个IP包,它的值也逐渐递增。此外,即使ID相同,如果目标地址、源地址或协议不同的话,也会被认为是不同的分片。

7、标志(Flags):

        由3比特构成,表示包被分片的相关信息。每一位的具体含义如下:

比特 含义
0 未使用。现在必须是0
1

指示是否进行分片(don't fragment)

0-可以分片

1-不能分片

2

包被分片的情况下,表示是否为最后一个包(more fragment)

0-最后一个分片的包

1-分片中段的包

8、片偏移(FO:Fragment Offset):

        由13比特构成,用来标识被分片的每一个分段相对于原始数据的位置。第一个分片对应的值为0.由于FO域占13位,因此最多可以表示8192(=2^13)个相对位置。单位为8字节。因此最大可表示原始数据8x8192=65536字节的位置。

9、生存时间(TTL:Time To Live):

        由8比特构成,它最初的意思是以秒为单位记录当前包在网络上应该生存的期限。然而,在实际中它是指可以中转多少个路由器的意思。每经过一个路由器,TTL会减少1,直到变成0则丢弃该包。

10、协议(Protocol):

        由8比特构成,表示的是IP包传输层的上层协议编号。目前常使用的协议如下:

分配编号 简称 协议
0 HOPOPT IPv6 Hop-by-Hop Option
1 ICMP Internet Control Message
2 IGMP Internet Group Management
4 IP IP in IP(encapsulation)
6 TCP Transmission Control
8 EGP Exterior Gateway Protocol
9 IGP any private Internet gateway(Cisco IGRP)
17 UDP User Datagram
33 DCCP Datagram Congestion Control Protocol
41 IPv6 IPv6
43 IPv6-Route Routing Header for IPv6
44 IPv6-Frag Fragment Header for IPv6
46 RSVP Reservation Protocol 
50 ESP Encap Security Payload
51 AH Authentication Header
58 IPv6-ICMP ICMP for IPv6
59 IPv6-NoNxt No Next Header for IPv6
60 IPv6-Opts Destination Options for IPv6
88 EIGRP EIGRP
89 OSPFIGP OSPF
97 ETHERIP Ethernet-within-IP Encapsulation
103 PIM Protocol Independent Multicast
108 IPComp IP Payload Compression Protocol
112 VRRP Virtual Router Redundancy Protocol
115 L2TP Layer Two Tunneling Protocol
124 ISIS over IPv4 ISIS over IPv4
132 SCTP Stream Control Transmission Protocol
133 FC Fibre Channel
134 RSVP-E2E-IGNORE RSVP-E2E-IGNORE
135 Mobility Header(IPv6) Mobility Header(IPv6)
136 UDPLite UDP-Lite
137 MPLS-in-IP MPLS-in-IP

11、首部校验和(Header Checksum):

        由16比特(2个字节)构成,也叫IP首部校验和。该字段只校验数据报的首部,不校验数据部分。它主要用来确保IP数据报不被破坏。校验和的计算过程,首先要将该校验和的所有位置设置为0,然后以16比特为单位划分IP首部,并用1补数计算所有16位字的和。最后将所得到这个和1补数赋给首部校验和字段。

12、源地址(Source Address):

        由32比特(4字节)构成,表示发送端IP地址。

13、目标地址(Destination Address):

        由32比特(4字节)构成,表示接收端IP地址。

14、可选项(Options):

        长度可变,通常只在进行实验或诊断时使用。该字段包含如下几点信息:

        a、安全级别

        b、源路径

        c、路径记录

        d、时间戳

15、填充(Padding):

        也称作填补物。在有可选项的情况下,首部长度可能不是32比特的整数倍。为此,通过向字段填充 0,调整为32比特的整数倍。

16、数据(Data):

        存入数据。将IP上层协议的首部也作为数据进行处理。

你可能感兴趣的:(图解TCP/IP,图解TCP/IP)