计算机网络 —— IP协议

image.png

IPV4

IP首部

image.png
image.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png

IP地址分类

image.pngimage.pngimage.pngimage.png

IP地址计算

image.pngimage.png

IP数据包分片

物理层会限制每次发送数据帧的最大长度,当网络层收到一份待发送的IP数据报时,会进行选路(选择出接口),并查询该接口MTU值。
如果IP数据报中的数据长度大于该接口MTU值,会发两种情况:丢包或分片。当IP数据报开启允许分片功能,则会进行分片,否则就丢包。

  • 分片可以发生在原始发送端主机上,也可以发生在中间路由器上
  • 把一份I P数据报分片以后,只有到达目的地才进行重新组装.
  • 重新组装由目的端的 I P层来完成,其目的是使分片和重新组装过程对运输层( T C P和U D P)是透明的
  • 片偏移字段指的是该片偏移原始数据报开始处的位置。
  • 标志字段中有一个比特称作“不分片”位。如果将这一比特置 1,I P将不对数据报进行分片。
  • 当I P数据报被分片后,每一片都成为一个分组,具有自己的 I P首部,并在选择路由时与其他分组独立
  • 即使只丢失一片数据也要重传整个数据报

image.pngimage.png位于@符号后的数字是从数据报开始处计算的片偏移值。
端口号在 U D P首部,只能在第1片中被发现。
image.png

一、最大传送单元 MTU

最大传送单元 MTU : MTU 是 链路层可封装数据 的上限 ;

MTU 值 : 以太网的 最大传送单元 MTU 是 1500 字节 ;

分片 : 链路层的数据部分 , 就是 IP 分组 , 该分组的 MTU 是 1500 字节 , 当网络层的 IP 分组超过 1500 字节 , 此时就要进行分片 ;

二、分片机制 ( 标识、标志、片偏移 )

IP 数据报 分片 : 要根据 首部的 标识 , 标志 , 片偏移 进行相应处理 :
image.png
标识 : 同一个 IP 数据报 的分片 , 使用相同的标识 ; IP 数据报大小超过 MTU 时 , 将数据报分片 , 分片完成的 IP 数据报分片 , 其标识都是相同的 ;

标志 : 由 3 位组成 , [ 48 , 50 ], 只有 2 位有意义 ;

  • 最高位 : 是保留位 , 没有意义 ;
  • 中间位 : DF 位 , Don’t Fragment ; DF = 1 时 , 禁止分片 ; **DF = 0 时 , 允许分片 **;
  • **最低位 : **MF 位 , More Fragment ; MF = 1 时 , 后面还有分片 ; MF = 0 时 , 本分片就是该分组的最后一个分片 , 后面没有分片 ;
  • 只有 DF = 0 时 , MF 才有意义 ;

片偏移 : 较长的分组的分片 , 中间的某个分片 , 在原来的 IP 分组中的相对位置 ; 单位是 8 字节 ; 也就是说除了最后一个分片 , 每个分片的长度是 8 字节的整数倍 ;

分片机制 示例

image.png

  • **IP 数据报 : **首部 20 字节 , 数据部分 3800字节 ;
  • 将其进行分片处理 : 每个分片不超过 1420字节 ;
  • **标识 : **666;
  • **标志 : **DF = 0 , 表示允许分片 ; MF = 0 , 表示后续没有分片 ;
  • 片偏移量 : 0

分片后的结果是 : 分成 三片 ;
第一片 :
image.png
第二片 :
image.png
第三片 :
image.png
片偏移量是从数据部分开始计数 , 数据部分的开始位置是 0 字节 , 其单位是 8字节 , 片偏移量 1 代表 8 字节 ;

IP路由选择

IP层既可以配置成路由器的功能,也可以配置成主机的功能。image.pngimage.pngimage.pngimage.pngimage.png为一个网络指定一个路由器,而不必为每个主机指定一个路由器,这是 I P路由选择机制的另一个基本特性。这样做可以极大地缩小路由表的规模,比如 I n t e r n e t上的路由器有只有几千个表目,而不会是超过100万个表目。image.pngimage.pngimage.pngimage.png

子网寻址

image.png
不是把I P地址看成由单纯的一个网络号和一个主机号组成,而是把主机号再分成一个子网号和一个主机号image.pngimage.png

子网掩码

主机还需要知道有多少比特用于子网号及多少比特用于主机号。这是在引导过程中通过子网掩码来确定的。这个掩码是一个** 32 bit**的值,其中值为 1的比特留给网络号和子网号,为0的比特留给主机号。image.pngimage.png

特殊情况的IP地址

image.png

IP流量控制和错误检测

  • 如果报文到达太快,接收端丢弃多余的报文,并向发送端发送ICMP报文(SOURCE QUENCH)。
  • 如果发现错误(报头校验和问题),则丢弃该报文,并向发送方发送ICMP消息。

ifconfig命令

i f c o n f i g( 8 )命令一般在引导时运行,以配置主机上的每个接口。image.png

netstat命令

n e t s t a t( 1 )命令也提供系统上的接口信息。- i参数将打印出接口信息, - n参数则打印出 I P地址,而不是主机名字。
image.png这个命令打印出每个接口的 M T U、输入分组数、输入错误、输出分组数、输出错误、冲
突以及当前的输出队列长度。
n e t s t a t命令检查路由表

IPV6


IPv6介绍

IPv6的全称是Internet Protocol version 6。其中,Internet Protocol译为“互联网协议”。所以,IPv6就是互联网协议第6版
我们现在所说的上网,就是上“国际互联网(Internet)”。互联网是基于TCP/IP协议族的,而IP是这个协议族中的核心组成部分。
IP是网络层协议。它的主要任务,就是根据源主机和目的主机的地址,进行数据的传送。


所以说,IPv4地址池接近枯竭,根本无法满足互联网发展的需要。人们迫切需要更高版本的IP协议,更大数量的IP地址池。(有点像固定电话号码升位。)

如果以二进制来写,IPv6的地址是128位。不过,这样写显然不太方便(一行都写不下)。所以,通常用十六进制来写,也就缩短成32位。

所以,下面这样的,就是一个标准的、合法的IPv6地址示例:
2001:0db8:85a3:08d3:1319:8a2e:0370:7344

注意啦!IPv6的地址是可以简写的!每项数字前导的0可以省略。

2001:0DB8:02de:0000:0000:0000:0000:0e13
2001:DB8:2de:0:0:0:0:e13
连续几组都是0,那么可以简写成“::”,也就是:
2001:DB8:2de::e13
image.png
image.png

IPV6 的优点

1、IPv6使用更小的路由表。使得路由器转发数据包的速度更快。
2、IPv6增加了增强的组播支持以及对流的控制,对多媒体应用很有利,对服务质量(QoS)控制也很有利。
3、IPv6加入了对
自动配置
的支持。这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。
4、IPv6具有更高的安全性。用户可以对网络层的数据进行加密并对IP报文进行校验,极大地增强了网络的安全性。
5、IPv6具有更好的扩容能力。如果新的技术或应用需要时,IPV6允许协议进行扩充。
6、IPv6具有更好的头部格式。IPV6使用新的头部格式,就简化和加速了路由选择过程,提高了效率。

IPv6的组播地址分为哪几种?

IPv6的组播地址范围是FF00::/8,除了常规组播地址外,还有以下特殊组播地址

IPV4 和 IPV6对比


地址数量巨大
IPv6采用128位的地址空间,总地址数量是2的128次方,理论上可以说地址数量近乎无限。
IPv6可以给地球上的每粒沙子都分到1个地址
提高网络性能
IPv6不但可以避免NAT造成的性能损耗,另外还精简了报头结构,让数据转发效率更高。
和IPv4头部相比,IPv6头部去除了IHL、identifiers、Flags、Fragment Offset、Header Checksum、 Options、Padding域,只增了流标签域,因此IPv6报文头的处理较IPv4大大简化,提高了处理效率。
image.png

图6:IPv6报文头部
另外IPv6取消了广播机制,用组播来代替IPv4的广播,可以减少广播报文对全网的性能消耗,具体原理后续会详细讲解。
简化运维,自动编址
IPv4需要借助DHCP才可以实现终端自动获取地址。IPv6本身就具备自动配置地址的能力。
更加安全

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值