大连哪里有手机自适应网站建设维护,gta5购买房产网站正在建设,遵义网站开发培训,专门做特价的网站IPv4数据报格式及其语义 一、IP数据报的格式如下图所示 版本 首部长度 服务类型 数据报长度 16比特标识 标志 13比特片偏移 寿命 上层协议 首部检验和 32比特源IP地址 32比特目的IP地址 选项#xff08;如果有的话#xff09; 数据 IPv4数据报格式 二、各部分语… IPv4数据报格式及其语义 一、IP数据报的格式如下图所示 版本 首部长度 服务类型 数据报长度 16比特标识 标志 13比特片偏移 寿命 上层协议 首部检验和 32比特源IP地址 32比特目的IP地址 选项如果有的话 数据 IPv4数据报格式 二、各部分语义 1版本号4bit,规定了数据包的IP协议版本通过查看版本号路由器能够确定如何解释IP数据报的剩余部分 2首部长度因为IPV4数据报可包含一些可变数量的选项所以需要用这4bit来确定首部的长度以确定IP数据报的数据部分实际从哪里开始。大多数IP数据报不包含选项所以一般IP数据报具有20字节的首部 3服务类型8bit服务类型包含在首部中以使不同类型的IP数据报能相互区分开来例如将实时数据报如用于IP电话应用与非实时流量如FTP区分开来也许是有用提供特定等级的服务是一个由路由器管理员决定的策略问题 4数据报长度这是IP数据报的总长度首部加上数据以字节计因为该字段长为16bit所以IP数据报的理论最大长度为65535字节然而数据报很少有超过1500字节的因为IP数据还要靠数据链路层运输的而链路层帧能承载的最大数据量为叫做最大运输单元Maximum Transmission UnitMTU 5标识、标志、片偏移 要理解这三个内容要先理解一些其他知识 1分片把IP数据报中的数据分成两个或者更多个较小的IP数据报用单独的链路层帧封装成较小的IP数据报每个这些较小的数据报称为片 2为什么要分片因为每个IP数据报封装在链路层帧中从一台路由器传输到下一台路由器而链路层帧能承载的最大数据量最大运输单 元Maximum Transmission UnitMTU是一定的故链路层帧严格限制着IP数据报的长度而且发送方和与目的路径上的每段链路可能使用不同的链路层协议且每种协议可能具有不同的MTU所以就更有可能需要分片了以便能够使得数据报能够顺利的传递数据报 3组装目的主机从相同源收到一系列数据报时需要确定哪些数据报是分片如果是分片的话还要进一步指导何时收到最后一个分片如何将接收到的分片拼接起来以形成初始的数据报故IPV4的设计者将标识、标志和片偏移字段放在IP数据报首部中当生成一个数据报时发送主机为该数据报设置源和目的地址的同时再填上标识号 标识16bit源主机发送IP数据报的时候通常为它发送的每个数据报的标识号加1所以当某个路由器需要对某一个数据报分片时形成的每个数据报分片具有初始数据报的源地址、目的地址、与标识号这样目的主机就可以判别哪些分片是属于一个初始数据报的 标志3bit由于IP是一种不可靠服务一个或者多个片可能永远到不了目的地所以为了让目的主机绝对的相信它已经收到了初始数据报的最后一个片最后一个片的标志比特被设置为0而所有其他片的标志比特被设置为1 片偏移13bit标示数据相对于初始数据报的偏移值并且偏移值应当被规定以8字节块为单位。所以除了最后一个片的所有初始有效载荷数据的数量应当是8字节的倍数 6寿命8bit寿命Time-To_Live ,TTL 字段是用来确保数据报不会永远如由于长时间的路由选择环路在网络中循环每当数据报由一台路由器处理时该字段的值减1。若TTL字段减为0则该数据报必须丢弃。 7协议8 bit该字段仅当一个IP数据报到达其最终目的地才会有用改字段指示了IP数据报的数据部分应交给哪个特定的运输层协议如值为6应该交给TCP而值为17表示数据部分要交给UDP 其他可能值查看 https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml 8首部检验和 16bit首部检验和用于帮助路由器检测收到的IP数据报中的比特错误。首部检验和是这样计算的将首部中的每2个字节当做一个数用反码运算对这些数求和具体到发送方或接收方计算如下 在发送数据时为了计算IP数据包的校验和。应该按如下步骤 1把IP数据包的校验和字段置为0 2把首部看成以16位为单位的数字组成依次进行二进制反码求和 3把得到的结果存入校验和字段中。 在接收数据时计算数据包的校验和相对简单按如下步骤 1把首部看成以16位为单位的数字组成依次进行二进制反码求和包括校验和字段 2检查计算出的校验和的结果是否等于零反码应为16个0 3如果等于零说明被整除校验和正确。否则校验和就是错误的协议栈要抛弃这个数据包。 路由器要对每个收到的IP数据报计算其首部检验和如果数据报首部中携带的检验和与计算得到的检验和不一致则检验出是个差错路由器一般会丢弃检测出错误的数据报 9源和目的IP地址32bit当某源生成一个数据报时在这两个字段中插入发送主机的IP地址和目的地的IP地址通常源主机DNS查找来决定目的地址 10选项32bit选项字段允许IP首部被扩展。首部选项意味着很少使用因此决定对每个数据报首部不包括选项字段的信息这样能够节约开销但是因为有些数据报有选项有些数据报没有选项故导致一台路由器处理一个IP数据报所需的时间变化很大。 11数据有效荷载32bit这是数据报存在的首要理由大多数情况下IP数据报中的数据字段包含要交付给目的地运输层报文段UDP或TCP 注注意到一个IP数据报有总长为20字节的首部假设无选项如果一个数据报承载一个TCP报文则每个无分片的数据报共承载了总长40字节的首部20字节的IP数据报加上20字节的TCP首部以及应用文报文 三、关于标识、标志、片偏移的例子 假设一个4000字节的数据报20字节加上3980字节IP数据有效荷载到达路由器且必须被转发到一条MTU为1500字节链路上该如何进行分片 答初始数据报会被分为3个片其中的每个片也是一个IP数据报假定该数据报的发送时主机给予的标识号为777三个片的特点如下 片 字节 ID 偏移 标志 第一片 1480 ID777 Offset0 Flag1 第二片 1480 ID777 Offset185 Flag1 第三片 10203980-1480*2 ID777 Offset370 Flag0 注此时就需要4040个字节来运输初始数据报所以分片是需要开销的 posted on 2019-06-24 22:20 初妍 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/alphabetical/p/11079902.html