IP数据报中协议字段常见的值有哪些,对应哪些高层协议
版本——占 4 位,指 IP 协议的版本 目前的 IP 协议版本号为 4 (即 IPv4)首部长度——占 4 位,可表示的最大数值是 15 个单位(一个单位为 4 字节)因此 IP 的首部长度的最大值是 60 字节。区分服务——占 8 位,用来获得更好的服务在旧标准中叫做服务类型,但实际上一直未被使用过。1998 年这个字段改名为区分服务。只有在使用区分服务(DiffServ)时,这个字段才起作用。在一般的情况下都不使用这个字段总长度——占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU。标识(identification)占 16 位,它是一个计数器,用来产生数据报的标识。标志(flag)占 3 位,目前只有前两位有意义。标志字段的最低位是 MF (More Fragment)。MF 1 表示后面“还有分片”。MF 0 表示最后一个分片。标志字段中间的一位是 DF (Don't Fragment) 。只有当 DF 0 时才允许分片。片偏移(12 位)指出:较长的分组在分片后某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位。生存时间(8 位)记为 TTL (Time To Live)数据报在网络中可通过的路由器数的最大值。协议(8 位)字段指出此数据报携带的数据使用何种协议以便目的主机的 IP 层将数据部分上交给哪个处理过程首部检验和(16 位)字段只检验数据报的首部不检验数据部分。这里不采用 CRC 检验码而采用简单的计算方法。源地址和目的地址都各占 4 字节可 选 字 段(长 度 可 变)填充 数 据 部 分

若IP协议首部报头长度字段为“1011”则该首部长度为多少字节?
答:本题考察对IP首部长度的理解, IP首部长度字段有4位,并且以4个字节为单位。“1011”对应十进制的值为11,因此,其首部长度等于11*4=44字节。

IP协议及IP数据包详解
一)IP协议的功能: (1)寻址和路由;(根据对方的IP地址,寻找最佳路径传输信息);(2)传递服务:① 不可靠(IP协议只是尽自己最大努力去传输数据包),可靠性由上层协议提供(TCP协议);② 无连接;(事先不建立会话);(3)数据包的分片和重组。(二)IP数据包详解:(1)0100 = Version : 4(表示使用的 IPv4协议),对等层之间要使用同一种IP协议(IPv4协议);(2)0101 = Header Length : 20Bytes(5) 首部长度占4 bit ,可表示的最大数值为15个单位(1111),一个单位一个字节,最大为60字节;(3)服务类型-----占8 bit ,(Differentiated Services Field)字段来区分服务,Delay = 1 延迟小,Throughput = 1吞吐量大,Reliability = 1 质量比较高,Cost = 1 最小代价!同一时刻只有一位是1;(4)Total Length 总长度占 16 bit:2^16 - 1 = 65535 字节,值首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535字节(MTU最大传送单元);(5)标识(identification)占16 bit,它是一个计数器,用来产生数据包的标识;(6)标志(flag):数据包在传输的过程中,标志字段MF(More Fregment),MF = 1表示后面还有分片,MF = 0 表示最后一个分片;(7)片偏移:每个数据片不同时传输,标志着谋片在原分组中的相对偏移位置,以8字节为偏移单位;注意:发送数据报过大,就要对其数据报分片处理,每一个分片都会含有一个标识(IP地址 + 标识),到达目的地要对其所有的分片进行重新组装;重点:片偏移计算过程;首部分大题的内容是一样,因为都属于同一个数据报文!(8)生存时间(Time To Live)占用 8bit ,使用“跳数“作为TTL的单位。数据报每经历一个路由器时对应的TTL值就会减 1 ;防止数据报发送在路由器中出现环路,因为数据报在传送的过程中要占用一定的带宽(TTL值为零自动丢弃);(9)协议(8bit)字段指出此数据报所携带上层数据使用的TCP协议还是UDP协议,以便对等层接收到数据报交给上层相应的协议(TCP或者UDP协议)进行处理;(10)首部检验和(Header checksum 16bit)字段只校验数据报的首部,不包含数据部分;看IP数据报头部是否被破坏、被篡改和丢失等;(11)源地址:数据向外发送,发送机器本身的IP地址,也成为逻辑地址;目的地址:数据具体要发送目标及其的IP地址。(对应IP数据报wireShark抓包图解)(三)逻辑地址和物理地址解释:(1)逻辑地址:(工作在网络层,网络级)也称为IP地址,具有特征 ① 全局唯一性;② 使用软件来实现网络中地址管理;③ 占32位,4字节;(2) 物理地址:也称为硬件地址、链路地址或MAC地址,(工作在网络接口层)具有特征:① 本地范围唯一性;② 使用硬件实现(路由器、计算机有设置MAC地址的位置);③ 占48位,12字节,16进制表示!例如:74-E5-0B-35-60-16 :0111 0100-1110 0101-0000 1011-0011 0101-0110 0000-0001 0110。(四)为什么有了IP地址,还要使用MAC地址:① IP地址一般情况下容易修改和变动,具有随意性,不能在网络上固定标识一台设备;② MAC地址一般情况出厂时由厂家烧录到网卡中,不容易修改,在局域范围内容易唯一定位一台设备。③ 从拓扑结构和分层上分析,IP地址属于网络层,主要功能在广域网范围内路由寻址,选择最佳路由,而MAC地址在网络接口层要形成适合于网络媒体上传输的数据帧。注意:标识一个设备的三种方式:① 域名访问(www.baidu.com,应用层);② 设备的IP地址访问(网络层);③ 设备的MAC地址(在局域网当中唯一标识该设备,实际不用其访问,在网络接口层,具有固定的特性,不易发生紊乱现象)。---------------------原文:https://blog.csdn.net/super_yc/article/details/72290931

TCP/IP四层模型
ISO制定的OSI参考模型的过于庞大、复杂招致了许多批评。与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用。 如图所示,是TCP/IP参考模型和OSI参考模型的对比示意图。在TCP/IP参考模型中,去掉了OSI参考模型中的会话层和表示层(这两层的功能被合并到应用层实现)。同时将OSI参考模型中的数据链路层和物理层合并为主机到网络层。下面,分别介绍各层的主要功能。实际上TCP/IP参考模型没有真正描述这一层的实现,只是要求能够提供给其上层-网络互连层一个访问接口,以便在其上传递IP分组。由于这一层次未被定义,所以其具体的实现方法将随着网络类型的不同而不同。网络互连层是整个TCP/IP协议栈的核心。它的功能是把分组发往目标网络或主机。同时,为了尽快地发送分组,可能需要沿不同的路径同时进行分组传递。因此,分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序。网络互连层定义了分组格式和协议,即IP协议(Internet Protocol)。网络互连层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互连的任务。除此之外,网络互连层还需要完成拥塞控制的功能。在TCP/IP模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。在传输层定义了两种服务质量不同的协议。即:传输控制协议TCP(transmission control protocol)和用户数据报协议UDP(user datagram protocol)。TCP协议是一个面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机。在发送端,它负责把上层传送下来的字节流分成报文段并传递给下层。在接收端,它负责把收到的报文进行重组后递交给上层。TCP协议还要处理端到端的流量控制,以避免缓慢接收的接收方没有足够的缓冲区接收发送方发送的大量数据。UDP协议是一个不可靠的、无连接的协议,主要适用于不需要对报文进行排序和流量控制的场合。TCP/IP模型将OSI参考模型中的会话层和表示层的功能合并到应用层实现。应用层面向不同的网络应用引入了不同的应用层协议。其中,有基于TCP协议的,如文件传输协议(File Transfer Protocol,FTP)、虚拟终端协议(TELNET)、超文本链接协议(Hyper Text Transfer Protocol,HTTP),也有基于UDP协议的。IP协议是TCP/IP协议族中最为核心的协议。它提供不可靠、无连接的服务,也即依赖其他层的协议进行差错控制。在局域网环境,IP协议往往被封装在以太网帧中传送。而所有的TCP、UDP、ICMP、IGMP数据都被封装在IP数据报中传送。IP报文格式:IP头部格式:其中:● 版本(Version)字段:占4比特。用来表明IP协议实现的版本号,当前一般为IPv4,即0100。● 报头长度(Internet Header Length,IHL)字段:占4比特。是头部占32比特的数字,包括可选项。普通IP数据报(没有任何选项),该字段的值是5,即160比特=20字节。此字段最大值为60字节。● 服务类型(Type of Service ,TOS)字段:占8比特。其中前3比特为优先权子字段(Precedence,现已被忽略)。第8比特保留未用。第4至第7比特分别代表延迟、吞吐量、可靠性和花费。当它们取值为1时分别代表要求最小时延、最大吞吐量、最高可靠性和最小费用。这4比特的服务类型中只能置其中1比特为1。可以全为0,若全为0则表示一般服务。● 总长度字段:占16比特。指明整个数据报的长度(以字节为单位)。最大长度为65535字节。● 标志字段:占16比特。用来唯一地标识主机发送的每一份数据报。通常每发一份报文,它的值会加1。● 标志位字段:占3比特。标志一份数据报是否要求分段。● 段偏移字段:占13比特。如果一份数据报要求分段的话,此字段指明该段偏移距原始数据报开始的位置。● 生存期(TTL:Time to Live)字段:占8比特。用来设置数据报最多可以经过的路由器数。由发送数据的源主机设置,通常为32、64、128等。每经过一个路由器,其值减1,直到0时该数据报被丢弃。● 协议字段:占8比特。指明IP层所封装的上层协议类型,如ICMP(1)、IGMP(2) 、TCP(6)、UDP(17)等。● 头部校验和字段:占16比特。内容是根据IP头部计算得到的校验和码。计算方法是:对头部中每个16比特进行二进制反码求和。(和ICMP、IGMP、TCP、UDP不同,IP不对头部后的数据进行校验)。● 源IP地址、目标IP地址字段:各占32比特。用来标明发送IP数据报文的源主机地址和接收IP报文的目标主机地址。可选项字段:占32比特。用来定义一些任选项:如记录路径、时间戳等。这些选项很少被使用,同时并不是所有主机和路由器都支持这些选项。可选项字段的长度必须是32比特的整数倍,如果不足,必须填充0以达到此长度要求。TCP是一种可靠的、面向连接的字节流服务。源主机在传送数据前需要先和目标主机建立连接。然后,在此连接上,被编号的数据段按序收发。同时,要求对每个数据段进行确认,保证了可靠性。如果在指定的时间内没有收到目标主机对所发数据段的确认,源主机将再次发送该数据段。 TCP是一种可靠的、面向连接的字节流服务。源主机在传送数据前需要先和目标主机建立连接。然后,在此连接上,被编号的数据段按序收发。同时,要求对每个数据段进行确认,保证了可靠性。如果在指定的时间内没有收到目标主机对所发数据段的确认,源主机将再次发送该数据段。TCP头部结构:其中:● 源、目标端口号字段:占16比特。TCP协议通过使用"端口"来标识源端和目标端的应用进程。端口号可以使用0到65535之间的任何数字。● 顺序号字段:占32比特。用来标识从TCP源端向TCP目标端发送的数据字节流,它表示在这个报文段中的第一个数据字节。● 确认号字段:占32比特。只有ACK标志为1时,确认号字段才有效。它包含目标端所期望收到源端的下一个数据字节。● 头部长度字段:占4比特。给出头部占32比特的数目。没有任何选项字段的TCP头部长度为20字节;最多可以有60字节的TCP头部。● 标志位字段(U、A、P、R、S、F):占6比特。各比特的含义如下:◆ URG:紧急指针(urgent pointer)有效。◆ ACK:确认序号有效。◆ PSH:接收方应该尽快将这个报文段交给应用层。◆ RST:重建连接。◆ SYN:发起一个连接。◆ FIN:释放一个连接。● 窗口大小字段:占16比特。此字段用来进行流量控制。单位为字节数,这个值是本机期望一次接收的字节数。● TCP校验和字段:占16比特。对整个TCP报文段,即TCP头部和TCP数据进行校验和计算,并由目标端进行验证。● 紧急指针字段:占16比特。它是一个偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号。● 选项字段:占32比特。可能包括"窗口扩大因子"、"时间戳"等选项。UDP是一种不可靠的、无连接的数据报服务。源主机在传送数据前不需要和目标主机建立连接。数据被冠以源、目标端口号等UDP报头字段后直接发往目的主机。这时,每个数据段的可靠性依靠上层协议来保证。在传送数据较少、较小的情况下,UDP比TCP更加高效。UDP头部结构:● 源、目标端口号字段:占16比特。作用与TCP数据段中的端口号字段相同,用来标识源端和目标端的应用进程。● 长度字段:占16比特。标明UDP头部和UDP数据的总长度字节。● 校验和字段:占16比特。用来对UDP头部和UDP数据进行校验。和TCP不同的是,对UDP来说,此字段是可选项,而TCP数据段中的校验和字段是必须项。在每个TCP、UDP数据段中都包含源端口和目标端口字段。有时,我们把一个IP地址和一个端口号合称为一个套接字(Socket),而一个套接字对(Socket pair)可以唯一地确定互连网络中每个TCP连接的双方(客户IP地址、客户端口号、服务器IP地址、服务器端口号)。如图所示,是常见的一些协议和它们对应的服务端口号。需要注意的是,不同的应用层协议可能基于不同的传输层协议,如FTP、TELNET、SMTP协议基于可靠的TCP协议。TFTP、SNMP、RIP基于不可靠的UDP协议。同时,有些应用层协议占用了两个不同的端口号,如FTP的20、21端口,SNMP的161、162端口。这些应用层协议在不同的端口提供不同的功能。如FTP的21端口用来侦听用户的连接请求,而20端口用来传送用户的文件数据。再如,SNMP的161端口用于SNMP管理进程获取SNMP代理的数据,而162端口用于SNMP代理主动向SNMP管理进程发送数据。还有一些协议使用了传输层的不同协议提供的服务。如DNS协议同时使用了TCP 53端口和UDP 53端口。DNS协议在UDP的53端口提供域名解析服务,在TCP的53端口提供DNS区域文件传输服务。 来自陈十一

IP协议报文有哪些主要字段
http://hi.baidu.com/rxpeng/item/2583a6e666e311a0c00d75ed 对IP报头的详解,可以参考一下,感觉有意义表扬一下谢谢

本文由 在线网速测试 整理编辑,转载请注明出处。