IP报文详解

IP协议

  IP协议,Internet Protocol ,互联网协议,IP协议位于网络层,主要目的是使得网络间能互联通信

  IP是TCP/IP协议族中得核心协议,所有TCP、UDP、ICMP和IGMP数据都是通过IP数据报传输。

IP报文

  IP数据报的首部部分长度为20-60个字节

  

  版本号:指IP协议所使用的版本。4个位。版本号为0100,4,即IPv4,版本号为6,即IPv6

  IP首部长度:表示IP包头长度,该字段用4位表示。最常见的报头长度是0101即20位,当IP报头长度不是4字节整数倍时,就需要对填充域填充

  DS位:现在一般用于支持QoS中差分服务模型,实现网络流量优化

  总长度:指IPv4数据报的总长度。数据报的最大长度为:2*16-1=65535字节,当IP数据报超过最大传输单元MTU后,会被分片处理

  标识符:网络中转发的IP报文的长度可以不同,但如果报文长度超过了数据链路所支持的最大长度,则报文就需要分割成若干个小的片段才能在链路上传输。将报文分割成多个片段的过程叫做分片

      主机将数据报分片后,在发送前,会给每一个分片数据报一个ID值,放在16位的标识符字段中。

  标志位:标志字段在IP报头中占3位,

      第1位作为保留,置0;

      第2位,分段,有两个不同的取值:该位置0,表示可以分段;该位置1,表示不能分段;

      第3位,更多分段,同样有两个取值:该位置0,表示这是数据流中的最后一个分段,该位置1,表示数据流未完,后续还有

      当目的主机接收到一个IP数据报时,会首先查看该数据报的标识符,并且检查标志位的第3位是置0或置1,以确定是否还有更多的分段。如果还有后续报文,接收主机则将接收到的报文放在缓存直到接收完所有具有相同标识符的数据报,然后再进行重组。

  偏移量:各个IP分片数据报在发送到目的主机时可能是无序的,所以就需要“偏移量”字段来指明“该分片在原数据报中的位置顺序”

  生存时间:该字段用于设置一个“数据报可经过的路由器数量”的上限。

      报文在网段间转发时,如果网络数设备上的路由规划不合理,就可能出现环路,导致报文在网络中无线循环,无法到达目的端。环路发生后,所有发往这个目的地的报文都会被循环转发,网络将发生拥塞。

      发送方在初始发送时设定某个值(建议为64,、128或255),每台路由器再转发时都将其减一,当字段达到0时,该数据报被丢弃,并使用一个ICMP消息通知发送方。

  协议:8位1个字节,包含一个数字,该数字对应一个“有效载荷部分的数据类型”。比如0x06代表TCP。

  首部校验和:2个字节,该字段“仅计算”IPv4首部。也就是说只“校验”首部。并不检查数据报的“数据部分”。

    首先将“首部校验和”设置为0。然后对首部(整个首部是一个16位字的“序列”)计算16位二进制反码和。该值被存储在首部校验和字段中。当接收方接收到数据报后,也对其首部进行校验计算,如果结果与“首部校验和”的值不同,就丢弃收到的数据报。

  源IP、目的IP:各占4个字节

  可选字段:IP支持很多可选选项。

原文地址:https://www.cnblogs.com/juankai/p/11468166.html

时间: 2024-10-13 17:20:53

IP报文详解的相关文章

TCP/IP协议详解

OSI通信协议模型(Open System Interconnection) OSI(开放系统互连)通信协议模型是一个多层的通信协议,由国际标准化组织ISO提出.所谓的开放系统是指允许任意两个具有不同基本体系结构的系统进行通信的一套协议集.理论上,OSI允许任意两台计算机实现通信.OSI模型将网络划分为7层模型: OSI模型中每一层只和紧邻的上下两层通信,高层协议偏重于处理用户服务和各种应用请求,底层协议偏重于处理实际的信息传输.分层的目的在于把各种特定的功能分离开来,各个层次相对独立. TCP

《Linux高性能服务器编程》学习总结(二)——IP协议详解

第二章      IP协议详解 IP协议是TCP/IP协议族中的核心协议,也是socket网络编程的基础之一.IP协议的特点是为上层提供无状态.无连接.不可靠的服务. 无状态是指IP通信双方不同步传输数据的状态信息,通俗一些说就是双方发送的IP数据报是相互独立的,没有任何上下文关系.这样的特性缺点在于无法处理重复和乱序的IP数据报,举个例子,假设由于网络原因或者IP选路的原因导致第N个数据报比第N+1个数据报晚到达目的主机或同一个IP数据报经过不同的路径多次到达目的端,此时接收端的IP模块无法检

IP协议详解

IP协议详解 前言 本屌今天可算是累坏了,一大早起来本来寻思赶快centOS虚拟机玩玩吧,那天刚装了系统,本来的虚拟机没了,今天想着先把centOS装上,结果给个系统不停的给我扯淡啊,显示虚拟机上不去网,好不容易上去网了,ping不通主机,主机ping不通虚拟机,各种办法都试了,最后我吧VMware8那块网卡禁用了,卧槽!!啥都好了,本屌一直鼓捣到晚上八点,从早晨10点多.服了我自己了. 引入 在前面的学习中,我们简单地IP接力和IP地址后,咱们今天具体的说说IP协议的具体细节和设计哲学. IP

http协议之报文详解

用于HTTP协议交互的信息被称为HTTP报文.请求端(客户端)的http报文叫做请求报文,响应端的叫做响应报文. HTTP报文本身是由多行(用CR+LF作为换行符)数据构成的字符串文本. HTTP报文大致可以分为报文首部和报文主体两块.两者由最初出现的空行(CR+LF)来划分.通常,并不一定要有报文主体. 参考: 1. HTTP协议之报文详解 2. 图解http

IP协议详解(转)

本文转载自博文协议森林05 我尽力 (IP协议详解).这篇博文写的很有趣味,特转载! IPv4与IPv6头部的对比 我们已经在IP接力中介绍过,一个IP包分为头部(header)和数据(payload/data)两部分.头部是为了实现IP通信必须的附加信息,数据是IP通信所要传送的信息. 黄色区域 (同名区域) 我们看到,三个黄色区域跨越了IPv4和IPv6.Version(4位)用来表明IP协议版本,是IPv4还是IPv6(IPv4, Version=0100; IPv6, Version=0

TCP/IP 协议详解内容总结

TCP/IP 协议详解内容总结 TCP/IP协议 TCP/IP不是一个协议,而是一个协议族的统称.里面包括IP协议.IMCP协议.TCP协议. http://blog.jobbole.com/91841/

iOS中 HTTP/Socket/TCP/IP通信协议详解

// OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2. 表示层 // 3. 会话层 // 4. 传输层 // 5. 网络层 // 6. 数据链接层 // 7. 物理层 // TCP/IP, 由美国国防部制定 // 1. 应用层, HTTP, FTP, SMTP, DNS // 2. 传输层, TCP, UDP // 3. 网络层, IP // 4. 链路层, ARP, RARP // HTTP(短连接) // 1. 建立链接, 三次握手 // 2. 断开

iOS中 HTTP/Socket/TCP/IP通信协议详解 韩俊强的博客

每日更新关注:http://weibo.com/hanjunqiang  新浪微博 简单介绍: // OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2. 表示层 // 3. 会话层 // 4. 传输层 // 5. 网络层 // 6. 数据链接层 // 7. 物理层 // TCP/IP, 由美国国防部制定 // 1. 应用层, HTTP, FTP, SMTP, DNS // 2. 传输层, TCP, UDP // 3. 网络层, IP // 4. 链路层,

TCP/IP头部详解

在网上找了很多有关tcp/ip头部解析的资料,都是类似于下面的结构 抽象出图文是这种结构,但是在底层中数据到底是怎么传输的呢?没有答案,在深入学习之后,总结出数据传输的方式 IP数据包头部格式: 上面是在数据到达传输层对数据进行IP头部封装的数据 TCP协议 TCP协议是传输协议,为应用层提供数据服务,和UDP不同,TCP提供可靠的面向连接服务,关于TCP头部数据格式的说明 跟IP头部差不多,基本长度为20个字节,基本介绍到此为止,详解在网上多如牛毛,下面用两台pc建立连接为例说明: 主机1:I