IP协议详解

本文详细介绍了IP协议头的构成,包括标识、标志和片偏移;讨论了IPv4和IPv6的区别,以及Mac地址的作用;重点讲解了IP路由转发和数据分包/组包的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、IP协议头格式

二、IP地址、Mac地址

2.1 IPv4

2.2 IPv6

2.3 Mac地址

三、IP路由转发

四、IP分包及组包


一、IP协议头格式

IP协议是网络层的重点协议。这里主要列举一下16位标识与3位标志以及13位片偏移。

16位标识(id):唯一的标识主机发送的报文。如果IP报文在数据链路层被分片了,那么每
一个片里面的这个id都是相同的。
3位标志字段:第一位保留(保留的意思是现在不用,但是还没想好说不定以后要用到)。第
二位置为1表示禁止分片,这时候如果报文长度超过MTU,IP模块就会丢弃报文。第三位表
示"更多分片",如果分片了的话,最后一个分片置为1,其他是0。类似于一个结束标记。
13位分片偏移(framegament offset):是分片相对于原始IP报文开始处的偏移。其实就是
在表示当前分片在原报文中处在哪个位置。实际偏移的字节数是这个值 * 8 得到的。因此,
除了最后一个报文之外,其他报文的长度必须是8的整数倍(否则报文就不连续了)。

二、IP地址、Mac地址

IP地址组成

IP地址的组成分为两部分,网络号和主机号

  • 网络号:标识网段,保证相互连接的两个网段具有不同的标识;
  • 主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号;

通过合理设置网络号和主机号,就可以保证在相互连接的网络中,每台主机的IP地址都是唯一的

分类

将IP地址分为五类

子网掩码

子网掩码格式和IP地址一样,也是一个32位的二进制数。其中左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。子网掩码也可以使用二进制所有高位1相加的数值来表示,如以上子网掩码也可以表示为24。

2.1 IPv4

由于IPv4的局限性,导致ip地址在分配的过程中出现不足的现象。为了解决IPv4的局限性,采取NAT+动态分配的机制解决IPv4地址不足的现象。

这里的动态分配涉及到内网以及外网。内网是局域网组成的,在同一个局域网中动态分配的ip地址不能重复,但是在不同的局域网中是允许存在相同的IP的。外网IP是唯一表示,不能出现相同的外网IP。

  • 外网设备可以不需要任何的NAT与其他的外网设备进行通信。
  • 内网设备不能访问其他的内网设备
  • 外网设备不能访问内网设备
  • 内网设备可以访问外网设备

2.2 IPv6

这里不对IPv6做过多的介绍,因为现在的IPv6目前没有全面的启用,IPv6相对于IPv4来说只是多了许多IP地址而已。

2.3 Mac地址

Mac地址这里主要就是与IP地址进行一个对比,由于Mac地址是6字节48位所以这里不会有Mac地址不足的现象,所以Mac能够直接的决定电脑的网卡号,而且每个电脑有且只有一个Mac地址。

三、IP路由转发

IP协议的一个核心任务是数据报的路由,即决定发送数据报到目标机器的路径。

从右往左分析上图,当IP模块接收到来自数据链路层的IP数据报是,它首先对该数据报的头部做CRC校验,确认无误之后就分析其头部的具体信息。

四、IP分包及组包

由于在数据链路层承载的数据量是一定的,所以当超出范围的时候就会进行分包和组包。

分包:利用16位标识将分包的数据进行同一标识

组包:利用13位的片偏移将分包的顺序确定好。同时利用3位标志确定是否是分包,以及确定分包中的最后一个包。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值