当前位置:   article > 正文

计算机网络之IP协议详解_ip协议计算

ip协议计算

1.IP协议基础知识

1.1IP协议报头格式(IPv4)

在这里插入图片描述

  • 4位版本:标识IP协议的版本
  • 4位首部长度:标识IP协议头部长度,4个比特位计算出来的数值×4,标识IP头部占用的字节数量
  • 8位区分服务(旧标准叫做服务类型):【3位优先权字段:已经弃用】,【4位TOS字段:最小延时 + 最大吞吐量 + 最高可用性 + 最小费用 ,这四个比特位是一个互斥关系,,一般情况下都是0,标识默认属性】,【1位保留字段:必须置0
  • 16位总长度:总长度指首部和数据(应用层提交的数据)之和的长度,数据报最大长度为65535

这里补充MTU的知识:MTU叫做最大传送单元
在网络传输的过程中,网络层的数是交付给数据链路层的;而数据链路层由于电气特性,对传输的数据做出了约束;通过ifconfig命令可以查看网卡中的限制数据链路层对传输数据大小的限制(MTU)
在这里插入图片描述
限制了网络层交给数据链路层数据报的大小不能超过MTU(字节),说明网络层在提交数据的时候不能超过1500字节
UDP协议:【1.UDP是整条数据交付的,就有可能提交给网络层数据的时候,超过了MTU的限制】【2.当网络层的数据超过MTU时,需要在网络层进行分片传输;将超过MTU限制的数据,分成不同的数据,通过网络传输到对端】 3.【UDP协议是不可靠的,IP协议也是不可靠的,所以如果分片传输,丢失一个分片,整个数据包就会丢失结论:如果UDP数据包长度,超过了MTU的限制,则在网络层进行分片传输
TCP协议:【MSS:最大报文长度,限制TCP提交给网络层数据的长度】【MTU = MSS + IP头部 + TCP头部】【TCP协议在传输数据时,严格按照MSS来给网络层交付数据,所以在网络层IP协议拿到TCP提交的数据之后,一定是小于等于MTU - IP头部】【结论:由于TCP在传输数据时,严格按照MSS来限制,所以网络层拿到TCP协议的数据,不需要在网络层进行分片

  • 16位标识:标识当前UDP数据包分片的数据是属于哪一个完整的UDP的报文,同一个UDP数据包当中的所有分片具有相同的标识值,3个标志位:位1(保留位),位2(禁止分片),位3(标识更多分片,当该位置1时,标识该分片不是最后一个分片;当该位置0时,标识该分片已经是整个UDP数据包的最后一个分片)个人理解:就像是给自己的东西标记记号,然后在一堆东西里面可以根据自己的标记找到属于自己的)
  • 13位片偏移:用来标识分片在原来数据当中的位置,用于接收方来组装数据,13位能表示的最大数值是 2^13 = 8192,表示字节的时候,需要给数值×8,即2^16,计算出来的片偏移的数值×8后的字节,标识分片的起始位置
  • 8位生存时间:表示数据在传输到达目的地之前允许经过的路由器的个数,TTL:跳数,描述数据包可以最大经历多少路由器转发,一般情况为64,每经过一个路由器,该TTL进行减1操作(直到减为0,还没有到达目的主机,该数据包就丢弃了;如果在减为0之前到达,则说明完成传输)
  • 8位协议:标识传输层使用什么协议,在数据分用的时候,通过该字段,将数据提交给相应的协议
  • 16位首部校验和:判断IP头部在传输过程当中是否损坏(使用CRC校验
  • 32位源IP地址 & 32位目的地址 :表示发送端和接收端

2.地址管理

  • 目前主要讨论的ip地址是IPv4的IP地址,无符号的32位整数,范围(0 ~ 2^32)【42亿九千万
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/1021644
推荐阅读
相关标签