IP协议报文

一、IP协议报文

    IP协议报文结构如下图所示:
在这里插入图片描述
IP报文中包含
   (1)4位版本号,如果是IPv4,版本号就是4。
   (2)4位首部长度,用于确定报头长度,假如是“1111”,则报头长度为4x15=60。
   (3)8位服务类型,其中4位TOS字段类型:最小延迟,最大吞吐量,最高可靠性,最小成本(4种只能选其一)。
   (4)16位总长度,报文长度,结合首部长度获得的报头长度可将报文和报文分离。
   (5)16位标识,如tcp中的序号,区分各个报文,确定是那个报文,保证唯一性。
   (6)3位标志,第一位保留(保留的意思是现在不用, 但是还没想好说不定以后要用到). 第二位置为1表示禁止分片, 这时候如果报文长度超过MTU, IP模块就会丢弃报文,第三位表示更多分片,1标识后续还有报文 ,0标识没有报文,后面没有分片了。
   (7)13位片偏移,是分片相对于原始IP报文开始处的偏移. 其实就是在表示当前分片在原报文中处在哪个位置. 实际偏移的字节数是这个值 * 8 得到的. 因此, 除了最后一个报文之外, 其他报文的长度必须是8的整数倍(否则报文就不连续了)。
   (7)16位校验和,校验数据是否有错。
   (8)32位源地址和目的IP,确定从哪来到哪去。
   (9)8位生存时间,经过一个节点生存时间–,减完丢弃。
   (10)8位协议,上层协议种类。
   (11)选项
   (12)数据

二、分片问题

   1,为什么要分片?
   mac帧规定最大的有效载荷为MTU,最大字节1500,超过MTU就需要进行分片。
   2,如何进行分片和组装?
   通过16位标识,13位片偏移和3位标志分片进行分片和组装,如下图所示:
在这里插入图片描述
   一个报文分片之后,每片的标识都相同,在接收端就可以把标识相同的报文收集,收到标志位0的片就说明这是最后一片,后续根据片偏移排序组合。
   3,丢包怎么识别?
   (1)如果没有收到片偏移为0的片,说明头丢了。(2)根据片偏移排序,中间连不起来,说明中间丢了。(3)没有收到标志为0的片,说明尾丢了。

三、网段划分

   1,IP地址怎么组成?
   IP地址 = 网络号 + 主机号
   2,网络号和主机号怎么分开?
   根据 CIDR规则,通过额外子网掩码来区分网络号和主机号,IP号和子网掩码相与,得到的就是网络号,属于的就是主机号,具体操作如:假设我们的IP为140.252.20.68,子网掩码为255.255.255.0,那么IP号与子网掩码就得到网络号140.252.20.0,那么主机号就是68.。
   3,一个网段中的主机号是怎么分配的?
   通过路由器自带的DHCP功能,对子网内的主机自动分配主机号,避免手动管理IP的不便。

四、特殊IP地址

   1,将IP地址中的主机地址全部设为0, 就成为了网络号, 代表这个局域网;
   2,将IP地址中的主机地址全部设为1, 就成为了广播地址, 用于给同一个链路中相互连接的所有主机发送数据包;
    3,127.的IP地址用于本机环回(loop back)测试,通常是127.0.0.1

五、IP地址不足问题

   IP地址一共2^32个,如果不够有如下解决方案:1,动态地址分配,连网设备分配IP,不连网就不分配。2,NAT技术。3,使用IPv6

六、IP数据包如何传输

   当IP数据包, 到达路由器时, 路由器会先查看目的IP,路由器决定这个数据包是能直接发送给目标主机, 还是需要发送给下一个路由器;依次反复, 一直到达目标IP地。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

滋巴糯米团

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值