IP协议详解

IP协议

协议头格式如下:
  • 4位版本号:指定IP协议的版本,对于IPv4来说,该值就是4.
  • 4位头部长度,单位是32bit(4字节)因为4位最多能表示的值为15,所有IP头部最长为60个字节。
  • 16位总长度,单位字节,总长度=IP报头+载荷,16位能表示的最大值位2的16次方减一,因此IP数据报的最大长度为65535个字节,但是由于MTU的限制,IP数据报在经过数据链路层的时候,会被切分,所以实际传输的ip数据包的长度,远远没有达到该值。

MTU指的是在计算机网络中可以一次性传输的最大数据长度。它是网络通信中的一个重要参数,代表了网络设备(如路由器、交换机等)能够承载的最大数据块大小。超过MTU大小的数据需要被分割成多个分组进行传输。

  • 16位标识:唯一的标示一份IP数据报,其初始由系统随机生成,随后每发送一个报文,这个值就加一。如果一个大的IP报文被切片,那么每一片中的这个值是完全一样的,这也接收端才可以机械能恢复。
  • 3位标志:第一位保留,第二位DF表示禁止分片,如果超过MTU之间丢弃(为1则表示,这个包已经拆过,不能继续分)。第三位MF表示更多分片,如果接收到的报文中这个字段的值为1,则说明这个IP报文还没有完,后面还有。最后一个报文的这个字段为0,表示到此结束。
  • 13位位偏移:指示当前片段在整个原始数据包中的位置。例如,偏移量为 0 的片段包含数据包的头部。在分包过程中,每个片段都需要设置正确的偏移量,以便在组装时能够重新构建完整的数据包。
  • 8位生存时间TTL,为了防止IP报文在网络中陷入循环,每经过一跳这个值都将减1,如果这个值减到0还没有发送到对端,这个报文将会被丢弃。(一般会有个初值32/64/128)
  • 8位上层协议:因为对端接收到IP数据报后,要继续向上传播,因此,需要指明处理的协议是什么。如TCP协议,UDP协议等。
  • 16位头部校验和:用来校验数据包在网络传输的过程中有没有损坏。只校验头部。
  • 32位源端IP / 32位目的端IP:这两个数据在整个传输过程中保持不变。
  • 选项:记录额外的数据,如路由,时间戳。

IP协议的相关特性

IP数据包分包和组包的过程

为什么要分包


  IP 数据包需要进行分包的主要原因是网络传输中的限制。网络传输有时会遇到带宽不足或路由器 MTU 尺寸的限制等情况,导致数据包过大,不能被成功地传输。在这种情况下,将数据包分为多个更小的片段来传输就是一种有效的解决办法。

  通过将数据包分割成多个片段,IP 数据包分包可以解决这些问题。分割后的每个片段可以更容易地在网络中传输,因为它们更小。如果需要,它们可以同时通过不同的传输路径进行发送,从而提高数据的传输速度和可靠性。因此,IP 数据包分包是一种优化网络传输的有效方式。分包过程会保留原始IP数据包的一部分信息,例如源IP地址、目标IP地址等。同时,还会为每个片段添加一个片段偏移值和一个标志位。这些信息将用于接收方的组包过程。 每个片段都独立地通过网络传输到目标主机。

片偏移字段每个 IP 片段的片偏移字段指示该片段在原始数据包中的位置。接收方可以利用这些字段将片段按照正确的顺序进行组装。

  标识符字段每个 IP 数据包都有一个唯一的标识符字段。接收方可以利用这个字段将不同的 IP 片段与正确的数据包相匹配。

  更多片位标记:如果一个 IP 数据包被分成多个片段,则每个片段的“更多片位”标记位指示是否还有更多的 IP 片段等待接收。接收方可以利用这个标记位来确定是否已经接收到所有的 IP 片段。

组包时如何保证数据的顺序和完整性?

        排序和重组:当接收方收到所有的 IP 片段后,需要按照片偏移字段对它们进行排序,并将它们重组为原始数据包的完整形式。

        计算校验和:当接收方重组 IP 片段时,需要重新计算 IP 报头的校验和字段以验证数据包的完整性和正确性。如果计算出的校验和与原始 IP 报头中的校验和不匹配,则表明数据包已经被损坏,不能使用。

IP地址

IP地址(Internet Protocol Address):互联网协议地址。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
通俗说,就是一个唯一标识,通信的时候需要用到.

IP地址表示方式

IP地址采用点分十进制的表示方式
xxx.xxx.xxx.xxx
如192.168.1.1
一共有四个位置,那每个位置都有什么含义呢?接着来

IP地址的组成

IP地址由网络地址和主机地址组成
IP地址=网络地址+主机地址

  • 网络号:表示网段(标识一个局域网),保证相互连接的两个网段具有不同的标识。
  • 主机号:表示主机(标识一个局域网内部的主机),同一网段内主机之间具有相同的网络号,但是必须是不同的主机号。

IP地址分类

1.规定

目前主要分为A、B、C、D、E五类,我们平时最常用到的是A、B、C三类
IP地址的第一位数字决定了它的类别

2. 子网掩码(Subnet Mask)


子网掩码是一个用于划分IP地址空间的32位二进制数字。它与IP地址一起使用,以确定哪些位用于网络标识和主机标识。子网掩码中的"1"位表示网络部分,"0"位表示主机部分。

例如,对于IP地址192.168.1.1和子网掩码255.255.255.0,前24位用于标识网络,最后8位用于标识主机。这允许将IP地址范围划分为不同的子网,以提供更有效的网络管理和资源分配。

子网掩码有助于路由器和交换机等网络设备识别本地网络和外部网络,它是实现子网划分和路由的关键。

IP的分配

动态分配IP地址

设备上网时才分配IP地址,不上网就不分配。

这种方法虽然可以省下很多IP地址,但没有增加IP的数量,只能一定程度的缓解不能彻底解决问题。

NAT机制

将所有的IP地址分成两大类:

  • 内网IP:10.* ;172.16.*—172.31.*;192.168.*。(网络地址
  • 外网IP:除去内网IP剩下的都是外网IP。(主机地址

NAT机制只是提高了IP的利用率,并没有从根本上解决IP不够用的问题  。 

外网IP必须是唯一的,内网IP则可以在不同的局域网中重复出现,但在同一个局域网中不能出现重复
内网设备如果要访问外网,会给它分配一个外网IP。但是这个外网IP不是这个设备独占的,而是这个内网中所有的设备都共用的外网IP。


局域网可以认为是内网,一个外网IP代表了这个内网中一系列的设备。

NAT背景下的通信:

  • (同一局域网)外网设备->外网设备:不需要任何NAT直接就能通信
  • 内网设备->其他内网设备:不允许
  • 外网设备->内网设备:不允许
  • 内网设备->外网设备:对应的内网设备的路由器,触发NAT机制进行IP替换,此时就会给这个网络数据报的源IP替换成路由器自己的IP,此时一个外网IP就能代表一大批内网中的设备。
IPv6协议
  • IPv4是传统的IP协议,使用4个字节,32位来表示IP地址。
  • IPv6是新的IP协议,使用16个字节,128位来表示IP地址。

IPv6的IP地址数量是IPv4的IP地址数量的4次方,从根本上解决IP不够用的问题。

路由选择


(1)、定义
在存在大量冗余的网络中,决定A和B之间的线路。

(2)、原理
网络环境复杂,单个路由器无法将整个网络环境都记录下来,因此路由器只能记录周围的情况(也就是知道邻居是谁),路由器内部使用路由表的数据结构来记录周围邻居的消息。IP数据报的实际转发过程是渐进式的,类似于“问路”,逐渐接近最终目标。

想要从A地到F地,可以先去往B地然后询问,B地的人不知道F地在哪,但是知道可以去C地询问,C地的人知道的更多,重复上述过程直到F地。 

 

IP数据报进行网络转发的过程,就是一个“逐渐问路”的过程。每个路由器只能认识周围的情况,很可能问的目标并不知道目的地,即目的IP在路由表中没有匹配的结果。

此时就会走路由器给你指出的一条默认的路径,路由表中的“下一跳表项”就会把数据报指引向更上一级的路由器(越上一级的路由器,知道的越多)。上述的过程就是路由转发的简化版过程。

路由器

一个路由器有两个IP地址:WAN口IP,LAN口IP。

这两个IP地址分别是在不同的局域网中,路由器的作用就是把两个局域网连接起来.

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值