网络层(王道视频笔记)

第4章 网络层


文章目录


前言

在这里插入图片描述

  1. 转发,发生在网络层的这个设备路由器内部的

  2. 路由选择,发生在路由器外部 或者可以理解成路由器之间的

  3. 区别, 转发是对于这个网络层的传出数据单元ip分组来进行转发,在路由器里面实现的,应该从路由器的哪个口转发出去。路由器呢,它是有很多个端口的 ,包括一些入的端口, 还有一些出的端口,出的端口呢其实就是我们要选择的,那如何选择这个,从哪个出口出去呢, 就要根据路由器他自己维护的这样一个转发表,转发表又是如何得来的呢,就是根据下面的这个路由选择

  4. 网络层编址,其实就是对于每一个网络节点 网络上的节点 或者是网络上的设备 我们都可以给它分配一个ip地址,那么你到了深圳总部之后呢 别人如果还想给你这个ip地址的主机发送信息 怎么办呢 就需要靠我们这个移动ip技术,也就是你人动心不动,通过移动ip呢可以保证你的这个ip地址是不变的

  5. 移动ip 比如说你是某个大厂的员工 你在北京这个地方呢 你的电脑上会有他自己的ip地址

  6. 静态路由,说白了其实就是手工来设置路由 就是管理员他自己根据这个拓扑情况来设置一个路由的路径

  7. 动态路由,就是靠路由器他自己通过一系列的算法来动态设计好一个合理的路由,那具体的算法呢 包括距离向量以及链路状态这两个

  8. 层次路由,如果这个网络规模变得非常的庞大,我们对于整个网络都采用这个动态路由的话,那这些路由器的压力是不是非常大呢,所以我们就会采用层次路由的这样一种方法,把整个网络规模呢划分成几个小区,那每一个区呢都可以叫做一个自治系统,自治系统内使用的协议呢,我们会称之为IGP,自治系统兼使用协议呢,我们称之为EGP。 我们对于每一个自治系统内,都可以自己规划收敛出一个合理的路由,那么对于自治系统间呢,也可以通过相关的协议来规划好系统间的一个路线,所以层次路由呢,就是让IGPp和EGP这些协议来各司其职,让整个路由收敛更加的高效。

  9. ip组播 比如说我们现在在开的这个腾讯会议呀或者是zoom会议等等,都采用的是ip组播的形式 简单来说呢 就是对于要传送的这个信息进行一个复制 裂化,假如我们现在是通过这个在线会议的形式在上这个课 那么我这边发送的数据呢 就不会说复制n份发给大家,而是在每经过一个路由器的时候呢 都把这个数据进行复制 那这样呢 其实就会给我的电脑减轻一些压力,同时也会给整个网络上的资源流动减轻压力 避免一些拥塞的情况


4.1.1网络层功能概述

  • 网络层的主要任务就是把分组从源端传送到目的端 为分组交换网上的不同主机提供一个通信的服务
  • 网络层传输单位,我们称之为数据报

数据包和分组他们的关系呢 其实就像是父与子的关系 数据报是一个比较长的数据,但是呢 分组是把这个数据报进行切割而划分出来的一个片段 就叫做分组

功能一:路由的选择与分组的转发(最佳路径)

在这里插入图片描述

路由的选择呢 其实就是在找路,那这个找路并不是任何一条路都可以的 我们是要通过路由选择算法来确定一条最佳路由,然后呢 把这个分组按照这个路由的顺序发送出去

功能二:异构网络互联

在这里插入图片描述

无论是手机还是你自己家里连着网线的电脑 无论是4G还是wifi 还是你在学校使用的校园网,那通过这些不同的网络 我们可以实现彼此之间的通信 这就是一个异构网络互联的结果,那这些异构的网络呢 互联起来就形成了一个更大的网络,那这些异构的网络 他们互联就靠展一个路由器 也就是网络层

功能三:拥塞控制

  • 如果所有节点都来不及接收分组,而要丢弃大量分组的话 网络就会处于一种拥塞的状态,因此呢 就要采取一定的措施来缓取缓解这种拥塞。
  • 那可以看到拥塞啊 它是一个全局性的问题,和流量和流量控制完全不一样 流量控制指的就是发送方的发送速率太快 所以接收方呢要告诉发送方你慢点发 而这个拥塞控制呢是全局性的一个概念,是因为整个网络当中复载过重 也就是说 每一个节点都在非常忙碌的工作 所以导致分组的转发速率就特别的慢,而导致大部分的分组都被丢弃 那这种情况就是产生了拥塞。
  • 解决拥塞的方法呢 有两种一种叫做开环控制 一种叫闭环控制 那这开环控制呢其实是静态的一种控制方法 也就是说 在网络开始工作之前我们就先把所有能够产生拥塞的因素全部考虑到 然后进行一个预先的控制 ,而这个闭环控制呢 就是我们预先不去考虑这些,而是让这个网络运行起来的时候自动的去调整来实现一个拥塞的控制

4.1.2 SDN的基本概念

路由器功能:转发&路由选择

在这里插入图片描述

数据平面:也就是指我们的一个分组如果从一个端口转发出去到另外一个端口当中
控制平面:对应的就是路由选择的功能

数据平面

在这里插入图片描述

控制平面

传统方法/每路由器法

在这里插入图片描述

传统方法当中,控制平面(计算转发表)和数据平面(转发)都是在一个路由器内所进行的

SDN方法:Software-Defined Networking

在这里插入图片描述

远程控制器将转发表发给路由器,如何计算出转发表以及如何和路由器进行交互控制和通信呢,都是通过软件进行的

控制平面中的路由选择处理器

在这里插入图片描述

SDN控制平面

在这里插入图片描述

  • SDN控制器:可以计算出来网络当中是什么样的状态,链路是具有什么样的信息,同时呢,又可以为上面的应用程序提供这些信息
  • 网络控制应用层序是最终的一个大脑,是一个计算中心,这些应用程序基于SDN控制器给他传上的这些信息来计算这些路由应该选择一个什么样的路径,也可以说SDN控制平面的智力来源就在于这些网络控制应用程序。
SDN控制器的三个层次

在这里插入图片描述

  • SDN控制器如何能够跟上面的应用程序连接呢或者说把信息传递给它们呢,以及应用程序如何把计算结果往下传递呢,都是通过北向API
  • 南向API可以实现SDN控制器和网络设备之间一个的数据的交换或者说信息的一个交互
习题

在这里插入图片描述

总结

在这里插入图片描述

  • 转发:在一个路由器内从一个端口输入,应该选择从哪个端口输出,基于一个转发表选择端口输出的过程
  • 路由选择:非常复杂的网络,计算出一条比较好的路由,得到某个路由器的路由表,基于路由表计算出转发表
  • 不论是传统方法还是SDN,他的数据平面都是一样的,转发都是由路由器进行的。但是在传统方法中,路由选择在路由器当中,SDN路由选择是放在远程控制器中。
    SDN控制器通过网络控制应用程序计算得出的转发表发给下面的受控网络设备,受控的网络设备基于此,对分组进行转发

4.2.1 路由算法与路由协议概述

路由算法

在这里插入图片描述

路由算法的分类

在这里插入图片描述

拓扑变化不大指的就是这个网络当中,它的这些路由器或者主机,也就是所有的设备,它并不会发生太大的变化,也是说并不会有很多主机突然撤出这个网络或者有很多主机突然进入这个网络 ,因为我们知道只要这个网络拓扑或者说这些网络的节点发生了变化,我们就要重置这个路由表或者说在原来的路由表上面进行修改和更新,那这个对于人工来说是比较耗时耗力的,所以呢 我们只能把这种静态路由算法应用于一些小的网络当中,这样就是人工可控的了

分层次的路由选择协议

如果要让所有的路由器都知道这个所有的网络应该怎么样到达的话 那这个每一个路由器的路由表都会变得异常的庞大,处理起来呢也非常的花时间
那第二个原因呢 就是许多单位 他不想让外界知道自己用用的是什么样的路由协议 但是呢 他又想连入因特网,那结合这两个原因呢 我们就产生了种分层次的路由选择协议
在这里插入图片描述

  • 具体来说呢 就是要把整个因特网分成很多个小的团体 那这个小的团体呢 我们称之为自治系统 一个单位呢 其实就可以称之为一个自治系统,那这个自治系统内他所使用的协议 外部是完全不知道的,这样呢 我们就可以尽量的减少每一个路由器 它的一个表项的个数 同时呢还可以使一个自治系统内的这些路由器,他们所使用的协议对于外界来说是透明的 就是说外界根本不清楚他们内部一个自治系统内使用了什么样的协议,
  • 所以这个分层次路由选择协议呢 就是因为整个因特网规模太大 那每个路由器呢 为了使自己的这个表项,或者说自己的这个路由表不过于庞大 而且呢很多单位也可以跟外界屏蔽自己究竟使用了什么样的一个路由选择协议,因此我们就把整个整个因特网分割成了一堆小的团体 分割成了一堆自治系统 那自治系统内部呢 使用一些协议,自治系统外部呢 使用一些协议 那内部呢 是看不到外部协议的 外部也看不到内部使用的什么协议 那这个其实就是分层次了,分成内部和外部 所以呢 我们就把路由协议分成了内部网关协议以及外部网关协议
  • 那这个网关呢 其实在很久以前 他代表的就是路由器的意思,那由于这个名字我们到目前没有更新成路由器 所以大家理解就可以了 是指内部的路由器
小结

在这里插入图片描述

  • 自治系统a 这是自治系统b 其实我们就可以想象成一个单位和另一个单位,那每一个单位内所使用的路由选择协议呢 就叫做内部网关协议 那通常使用RIP或者OSPF
  • 那对于外部呢 也就是外部的路由器 他们之间进行这个分组转发 或者说是路由选择 应该使用什么协议 使用的就是外部网关协议 常用的是这个BGP-4

4.3.1 IP数据包格式

TCP/IP协议栈

在这里插入图片描述

  • ARP协议 如果他在最下面,他自然就要为这个ip协议服务 而这个ip协议呢也要为上面这两个协议来进行一个服务(ICMP,IGMP)

IP数据包格式

在这里插入图片描述

  • 首部 这个位置的数据是发送在先 然后逐个比特再去发送
  • 首部呢 我们还给它细分成了两部分,第一部分呢就叫做固定部分 第二部分呢叫做可变部分
  • 固定部分,对于任何一个ip数据报 它的固定部分大小都相同 都是20字节 而且是一定要有的
  • 可变部分,可有可无 但是大多数的情况下都是没有这个可变部分的

IP数据包格式

在这里插入图片描述
在这里插入图片描述

  • tcp呢 它是面向连接的服务 那面向连接就非常六所以它对应的字段值呢就是6
  • udp呢 它是不面向连接的 那对于不面向连接的这样一种传输呢 数据就非常容易被遗弃,因为如果不建议连接 这个链路是不太可靠的 那这因此这个数据会经常产生丢包现象 也就是被遗弃掉了,那遗弃对应的就是17 17就是17 所以udp对应的字段值呢就是17

4.3.2 IP数据包分片

最大传送单元MTU

在这里插入图片描述

IP数据包格式

在这里插入图片描述
在这里插入图片描述

  • 分片方法呢 就要结合这个ip数据报格式 首部当中的标识 标志以及片偏移三个字段来理解
  • 同一数据报的分片 它都会使用相同的标识 也就是说 一个原始的原来的数据报如果他现在长度超过了应用层的mtu 它就要进行分片 那每分的一个小片 它都和原来的数据报享用或者说使用同样的一个标识。那假如说原来数据报的标识是666,那现在每一个分片它的首部的这个标识字段都是666也就是说 这个标识的作用呢 就是使这些分片让他们知道字节是哪家的,到最后到接收端的时候呢 才可以把这些同一家的同一个标识的分片再给组合起来 形成原来的完整的数据报

IP数据包分片例题

在这里插入图片描述

4.3.3 IPv4地址

IP地址

在这里插入图片描述

我们知道 整个这样一个大的互联网 也就是因特网 是一个非常单一也是非常抽象的一个网络,那ip地址呢 其实就是在给这个网络当中的每一台主机 或者说是每一个主机的接口 以及路由器的接口都赋予这样一个标识符,能全球唯一化的标识这个主机的接口 以及路由器的某一个确定的接口 因此这个ip地址呢就可以使我们在因特网当中很方便的进行选址,然后再进行接下来的数据通信以及资源共享 那我们现在所使用的设备非常多 那每一台设备 它都会有一个属于自己的ip地址 或者是有多个ip地址

互联网中的IP地址

在这里插入图片描述

IP地址的历史阶段

在这里插入图片描述

分类编址的IPv4地址

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

特殊IP地址

在这里插入图片描述

私有IP地址

在这里插入图片描述

练习

在这里插入图片描述
在这里插入图片描述

划分子网的IPv4地址

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

举例

在这里插入图片描述
在这里插入图片描述

无分类编制的IPv4地址

在这里插入图片描述

例子

在这里插入图片描述

4.3.4 网络地址转换NAT

私有IP地址

在这里插入图片描述

私有ip地址 也可以叫做本地ip地址,这些地址呢都是应用于本地网络或者是专用网 比如说一个单位啊 或者是学校机房啊 这些都是私有ip地址所使用的一个范围,但是他之所以叫做私有 就是他只可以在本网 本地网 专用网当中使用 那在大的互联网当中 广域网当中 这个路由器以及其他的主机是无法识别出这些ip地址的,也就是说 路由器对于目的ip地址是私有ip地址的数据报都不会进行转发,也就说这个私有ip地址在外网或者是在因特网当中是无效的。

网络地址转换NAT

在这里插入图片描述

  • 全球IP地址,这个ip地址呢 就相当于是这一些本地网当中主机的一个代表ip地址,这些主机呢 如果要把自己的数据发到网上去 就要以这个ip地址作为自己的一个伪装啊或者说作为自己的这样一个代表,用这个地址给别人去发送数据 那当然如果别人要给这个本地网当中的主机发数据呢 数据报当中的目的地址要填的也是这个路由器,就是先发给这个本地网当中的代表 然后这个代表再把这个数据报分发给具体的这个主机。
  • 那这个网络地址转换实现的一个关键就是在于NAT路由器 它有一个NAT的转换表

4.3.5 子网划分和子网掩码

看之前的划分子网的IPv4地址

4.3.6 无分类编址CIDR

在这里插入图片描述

构成超网

在这里插入图片描述

最长前缀匹配

在这里插入图片描述

将目的地址与网络掩码按位相与,看是否匹配,如果匹配成功 再来看所有成功的这些目的网络里面 谁的这个网络前缀是最长的 那么选的就是哪个路由器
匹配结果呢和物理系他自己的这个地址块是不一样的 所以匹配失败就不能发给这个物理系了,最后得到的结果就是 发给计算机系 一个是因为他匹配成功,再一个 就是他是所有成功匹配的网络地址里面网络前缀最长的路由

4.3.7 ARP协议

发送数据的过程

第一章的时候呢 我们就学习了这个 发送数据的时候呢 是要经历一个对数据的封装以及解封装的过程,但是具体封装的什么内容呢 都是要根据我们不同层次的一个协议规定 比如说 我们在网络层呢 叫加头 那在链路层呢叫加头加尾,这两个头里面的最主要的就是加了ip地址和mac地址,也就是逻辑上的地址 以及物理地址 在这节课我们就要把这个发送过程当中的一些具体细节 搞清楚

在这里插入图片描述

  • 首先要对于我们这个主机来说呢 他在发送数据的时候呢 要把这个数据进行封装 那就要经历这五层结构
  • 首先呢 在应用层,如果主机一要发送一个文件 那这里面他假如说要发送给这个三号主机 也就是发送在一个网段内的一个网络内的主机
  • 那接下来在传输层的时候呢 就要把这个大的报文分段 就形成了报文段 也就是传输层的传输单元,那这里面是否分段呢 要根据应用层的这个数据的大小 那这里面的文件如果比较大的话呢 在传输层就要进行一个分段
  • 那接下来到了网络层,网络层 我们就拿其中的这样一个报文段来看 假如说这个一号的报文段,一号报文段呢 我们在网络上进行封装就要加上ip地址 那要加两个,一个是源主机的ip地址 以及目的主机的ip地址
  • 那这里面源主机地址很好理解,是我自己这个地址是多少 我自己肯定清楚 就把ip1源主机地址添入,那这个ip3是怎么得来的呢?这个是我们传输层要讲的内容,根据这个dns 我们就可以把这个ip3填入 那这个网络层呢其实就实现了一个封装 也就从报文段形成了一个ip数据报 也可以称之为分组 那这个分组呢 通常我们指的是这个数据报分片之后的一个结果,那为什么要分片 就是因为可能我们要传输的这个链路 他这个链路层协议 要求的最大传输单元MTU 要根据这个MTU来取决定我们这个要不要在网络层进行分片 那假如这里面就不分片了,那现在就是构成了一个ip数据报
  • 那接下来呢 到链路层叫封装,这个封装啊就是要加上mac地址 那这个mac地址除了源mac地址 也就是这个mac1以外 还要加上一个目的mac地址,那这个目的mac地址呢 我们如果是在一个网络内的话 应该填的就是这个三号主机的mac地址
  • 但是我们现在是不知道的 那我们怎么来把这个mac3地址填入呢 来实现这个封装过程呢,那这就涉及到我们这节课要讲的ARP协议 首先对于每一个主机以及每一个路由器 它都会有这样一个ARP的高速缓存,们可以把它想象成一个小的仓库 那个仓库里面存的是什么呢 存的是ip地址和mac地址的映射,也就是说 某一个ip地址 他所对应的mac地址应该是什么
  • 当然 这个高速缓存所存的所有的表项都是一个局域网内部的主机,比如说二号主机ip地址 以及它的mac地址的映射三号的主机ip地址和mac地址映射 以及路由器的这个端口,也就是连在这个局域网上的这个端口的ip地址 以及它的mac地址的映射
  • 那假如说 我们现在查询自己这个仓库 发现一号主机的高速缓存当中有一个表项 上面写着三号主机的ip地址,及他所对应的mac地址 那我们就可以很容易的把这个三号的mac地址填入 然后呢就实现一个封装 当然加头之后还要再加尾,尾部呢 通常都是一个FCS帧检验序列 那这里面我们进行封装的过程呢 只是说把最重要的要挑出来讲的部分写上了
  • 那现在假如说这个ARP高速缓存当中并没有发现有三号主机的这个ip地址以及它的这个mac地址的映射,那我们应该怎么办呢
  • 那我们现在还是填不了 那就要使用ARP的协议啊 那这个ARP协议,首先要广播一个ARP的分组请求 也就是这个一号主机啊 他要发送这样一个数据帧
  • 第一个部分就是他自己的ip地址以及他要查询的这个mac地址的所对应的主机 这个主机的ip地址 也就是三号主机的ip地址,以及这个自己的这个一号主机的mac地址 物理地址还有一个 就是目的物理地址 那这个目的物理地址,我们填的是全F 也就是全1 那这个全1代表的就是在这个局域网内一个有广播效用的一个帧,或者说是这样一个请求分组 它是有广播的效果的,
  • 也就是这个分组从一号主机发出来之后经过集线器,到了交换机这儿 交换机正常是不会无脑转发任何一个分组 如果是广播分组的话,也就是这个帧当中的这个目的mac地址是全1的 这种广播地址的话 那交换机呢 就可以把这个分组从他的所有端口转发出去 也就是二号三号,以及这个路由器的这个端口 都可以收到一号主机所发送的这样一个请求分组,那这里面 我们虽然说他是一个分组 但是他其实是一个帧的概念
  • 所以这个请求分组的大概内容呢 用正常的话来说 就是一号主机 他会说这样一段话,的ip地址是多少 我想要给哪个主机 或者说是哪个ip地址的主机发送信息 我自己的物理地址是这个是这个mac1那请问三号主机你的mac地址是多少呢,那这个分组其实就说的是这个意思,所有人都收到之后 只有这个三号他才会响应,因为其他人知道这个请求分组呢 是跟我无关的 他他不想跟我说话那我也不跟他说话
  • 那这个三号主机呢 发现了一号主机要跟他说话的意图,那三号主机就会返回一个 响应分组,那这个说的是单播响应分组 也就说这个分组呢只是从三号到一号 而不会转发给其他端口,所以这叫单播的响应分组 那这个响应分组呢 主要包括两个部分 一个是ip3也就是三号主机的ip地址以及三号主机的这个物理地址 mac地址 那这个响应分组表示的是什么呢,就是三号主机说我的ip地址是多少 我对应的mac地址是多少,也就是把这样一个映射返回给一号主机 那现在一号主机就知道这个地方应该填什么了 直接把得来的这个mac3填上就可以了 那接下来呢 在封装加一个尾部 那这个尾部主要是这样一个帧检验序列,
  • 加上FCS之后呢 就构成了一个内容层 传输单元也就是一个数据帧 那接下来这个数据帧呢就可以放在物理层上面进行一个传输,形成这样一个数字信号 或者是模拟信号的形式 然后放到链路上面传播,那因此这样一个文件 或者说这个主机要发送的数据 就进行了一步又一步的封装到网络层 封装ip地址,到链路层这封装mac地址 然后 再形成比特流的形式 或者说形成信号的形式在链路上面传输
    那现在这种情况 源主机和目的主机 他们俩是在一个网络内的,是在一个局往内部的 那如果一号主机要跟遥远的五号主机进行通信 应该怎么办?当然还是要使用ARP协议 不过mac地址呢就要和这个例子当中的mac地址有差别了

在这里插入图片描述

现在呢 一号主机要和五号主机进行通信,我们把路由器的两个端口分别标示上他们的物理地址 mac地址 那正常交换机这种设备呢 它是没有mac地址的,只有这些主机以及这个路由器的端口才有mac地址 那也可以根据这个图看到这个路由器 它有多个端口 它也可以有多个ip地址,也可有多个mac地址

  • 那我们现在还是一主机 要发送一个文件,经过传输层呢 分成了报文段到网络层 那对每一个报文段进行封装 首先 就要加上这个ip地址,原ip地址是ip1 目的ip地址呢 是ip5,那接下来到链路层封装 首先呢 要装上原来的这个物理地址是mac1 mac1就是自己的这个主机的mac地址,那再封装的这个目的mac地址应该是什么呢,我们还是要先来看一下 在这个ARP高速缓存当中有没有ip5以及它的mac地址,当然是没有的 因为我们知道这个ARP高速缓存啊 它内部所存储的都是这一个局域网络内的ip地址和mac地址的映射 所以他肯定查不到这个五号主机 那怎么办呢
  • 那这个一号主机 他就会先做这样一个操作,就是先用自己的子网掩码和这个目的ip地址 也就是ip5先来相与一下 看看是不是在自己的这个网段内,结果这一号主机发现 我和我们不是在一个网段的,那我给应该怎么办 我就应该查询我的默认网关的mac地址,这个默认网关那说的其实就是他这个路由器 也就是他与外界沟通的这个路由器,这个路由器呢像是一个关口,就是一个局域网连入外界 连入因特网的一个关口 所以我们叫他网关 那每一个主机呢 他都清楚自己的默认网关是谁,那因此 如果这个一号主机发现自己要发送的这个目的主机不和自己在一个网段 他就会寄希望于这个默认网关
  • 因此 他在这个目的地址呢 应该填的就是默认网关的目的地址了也就是说 下一大跳应该就跳到这个默认网关这为什么不说跳到这个交换机这 一个是交换机它是没有mac地址的,在一个就是我们要好好理解下一跳是什么意思 我们看一号主机它可以有几跳 它可以三种有几种跳法 第一种跳法是跳到二号主机这,第二种跳法呢是跳到三号主机这,第三种跳法是跳到这个路由器的端口这 所以这个叫做下一跳,这是我们应该正确理解的下一跳 你就是说 他下一个路应该往哪个方向来走,那因此 这里面的mac地址呢 就应该填的是自己下一跳地址 也就是这个路由器左边端口的mac6
  • 我们看怎么才能够得到这个mac6呢 还是要发送一个ARP请求 分组依旧是广播的形式,就是说 一号主机 他发送这样一个分组 可以从交换机这走出来啊 交换机的各个端口都走出来,然后呢 这个请求分组呢 主要还是包括这四个部分,ip1就是一号主机 他的ip地址,以及这个ip6因为他想要知道这个默认网关路由器他的mac地址是多少 所以呢 他就要先上报,我想要知道的这个东西 它所对应的ip地址是什么,接下来呢 就是主机一的mac地址 以及这样一种代表广播形式的广播地址 也就是全1的形式
  • 那这个请求分组表示什么意思呢 就是一号主机说我现在的ip地址是ip1我的mac地址呢 是mac1,我现在想知道ip6我的默认网关你的物理地址是多少 这个就是请求分组所包含的意思,那所有的设备 主机以及路由器都收到这样一个分组之后 只有路由器才会响应这个请求,因为路由器知道他是在跟我说话呢 所以我一定要回复他一下,就单播返回一个ARP的响应分组 这个响应分组主要还是两个部分 一个是ip6一个是mac6表示的意思呢 就是说我的ip地址,我这个默认网关 我的ip地址是ip6,我所对应的mac地址是mac6,就是把这个映射返回给一号主机 那一号主机就知道 那我下一跳 我就直接填上mac6的这样一个目的地址 然后呢 再加一个尾 再主要加上这样一个帧检验序列 接下来就可以放到物理层上面进行传输了
  • 那这个就是 如果我要发送的主机发送信息的主机和我不在一个网段内我应该进行的处理,这个处理呢其实就是通过ARP协议来得到我的网关 它的mac地址是多少
  • 我们现在假设已经传输到了这个路由器这,那到路由器这呢 我们还是要进行一个数据的解封装和封装的过程 那解封装呢 最高就是到网络层 因为路由器 它是一个三层设备,那解到网络层之后再封装 从网络层开始封装,那封装的话就是要加上ip地址,ip1和ip5这个源和目的地址是不变的,当然 我们现在是不考虑NAT的那种情况 如果是NAT的话 他这个他这个ip地址会发生改变的
  • 那我们现在ip地址是没有发生变化 那这个物理地址呢 是要发生变化了 因为它到了一个新的网络内,那他的源mac地址呢和目的的地址也应该发生变化 也就变成了这个路由器的mac7以及下一个路由器的这个mac8,当然啊 这种 我们可以看到 它现在是啊 点对点式的一个通信 也就是应该是用ppp协议 那ppp协议当中呢 我们讲这个目的地址啊是全1的,也就是这里面的mac8呢应该是填全1的 但是如果不是点对点的 我们就应该填这个路由器的这样一个端口mac8
  • 那接下来,到这个路由器还是一样解封装啊,解封装到网络层 然后再从网络层自上而下的封装 那首先要封装上这个ip地址,那ip地址呢 还是ip1和ip5这个是自始至终都不变的 接下来呢 就要在利用层上面封装一个这个mac地址,那我们可以看到这个源的mac地址呢 就是mac9因为是从这个端口发出来 然后目的mac地址呢就是mac5了 那这个mac5是怎么得来的呢 当然还是要再次使用一次ARP协议 也就是这个路由器,他要向这个网络内的所有主机发送一个广播的ARP请求分组啊 那这个请求分组内,我们可以看到它的四个部分啊 首先 第一个部分源ip地址 应该填的是这个路由器的这个端口ip地址 那目的ip呢 应该填的是这个ip5,为他想知道ip5的mac地址 那这个源的这个mac地址呢 就应该填的是mac9了 那剩下的这个呢 还是填全F,那四号主机和五号主机都能收到这个请求分组 但是只有五号主机会响应,五号主机就会返回给路由器一个响应分组 那想要分组包含两个部分,一个是五号主机 他的ip地址以及他的mac地址mac5那因此返回返回给路由器的mac5呢就直接添入,因此这个路由器 他也清楚自己下一条应该往哪走了 就只需要往mac5这个地方走
  • 那具体他怎么做到走五不走四呢 这就是我们在链路层学到的 这个交换机对数据帧进行转发的过程了

总结

在这里插入图片描述

ARP协议 它是自动进行的,主机的用户呢 对于这种地址解析的过程是完全不知道的 只要是这个主机或者是路由器要跟其他的主机进行通信的话,ARP协议呢 他就会自动的把这个地址解析的过程完成,然后我们这个数据呢 就可以在链路上面传输了 那最后我们俩结合一道例题再理解一下ARP协议

4.3.8 DHCP协议

主机如何获取IP地址

在这里插入图片描述

在这里插入图片描述

主要有两种方法 一种呢叫做静态配置 另一种呢叫做动态配置

  1. 静态配置:我们打个比方 假如说我们在学校的机房内,那机房内的每一个电脑 每一台主机都是已经固定好位置的 那这样我们这管理员 网络管理员 他就可以静态的 固定的分配这个ip地址给每一台主机一个固定ip地址,那这个静态配置都会配置什么呢 主要配置的是ip地址 子网掩码 默认网关

默认网关其实算作这样一个局域网内的所有主机跟外界交流,或者说他们的数据得以进入外界的一个关口 那通常指的就是一个路由器的一个接口的ip地址,一个端口ip地址 那只有通过这个默认网关 通过了这样一个ip地址 我们局域网内部的主机才能够跟外界进行通信

  1. 动态配置:打个比方 比如说我们这个学校有很多间教室 或者说呢有很多间教学楼,那每一个教学楼呢 它可能就是一个网段 那对于每一个网段内 其实都会有这样的一个设备的安排 就是有几台DHCP服务器,然后呢 还有交换机这种链路层设备再一个 就是有很多主了,因为我们只要在这个教学楼里 我们这手机还有电脑是随身携带的 是属于移动的ip 那种移动的设备只要到了一个教室内啊就需要,动态的给它分配一个ip地址 那是谁来分配呢 就是由DHCP服务器给他们这些移动的主机分配ip地址 那等我这个主机走了之后呢 那这个刚才分配ip地址就被收回了 那我到下一个教室又会用新的DHCP服器来给我分配一个全新的ip地址

DHCP协议

那之所以把这个应用层协议放在网络上来讲呢 就是因为它为我们网络层的通信提供了一个基础,只有有了DHCP协议 我们才可以有ip地址 才能够衍生出我们之前所学到的全部内容 包括子网掩码构成超网等等

在这里插入图片描述

  • DHCP协议呢 它是一个提供即插即用联网的机制,也就是说 我只要这个主机 或者说我这个设备进入了这个DHCP服务器 它所管辖的一个局域网内 那 它就可以动态的分配一个地址给我
  • 允许地址重用 地址重用是什么意思 是因为这个DHCP服务器 它每个服器都有一个ip地址池,那这个地址池呢 就会有很多ip地址 那现在有一台主机进入到这个局域网当中,DHCP服务器就给他分配一个ip地址 那等他走了 等这台主机走了 移动到下一个场所,有新的主机进来了 DHCP服务器 可以把刚才那个地址再给新的主机来用 那这个就是地址重用的意思
  • 有的移动设备在加入一个新网络的时候 就需要用到这个协议
  • 它支持再用地址续租,DHCP动态分配地址呢 它其实有很多种方式,那最常用的一种方式呢 就是有时间性的 并不是永久的分配,是有时间性的 那这一段时间呢其实就要租用期 就是我可以用ip地址的时期 那过了这段时期呢 我可以新再向这些DHCP服务器请求一个ip地址 当然也可以续租

4.3.9 ICMP协议

TCP/IP协议栈

在这里插入图片描述

在网络层这一块呢 我们的协议栈结构是这样的 ARP协议在底层,ip协议呢 在中间的部分ICMP以及IGMP协议 他们这两个协议是处于网络层和传输层之间的协议 所以说这个ICMP协议呢 是起一个桥梁的作用 它的作用呢就是为了更加有效的转发ip数据报和提高交付成功的机会

网际控制报文协议ICMP

我们在实际通信过程当中总会有一些分组出错 那对于出错的分组呢 我们在网络层的处理就是给它丢弃掉,但是丢弃就结束了吗 当然不能 所以我们要发送一个这样ICMP的差错报告报文 也就针对这种差错的情况 我们需要发送的报文,就是说ICMP协议 它的功能体现就是在于要发送特定的ICMP报文

在这里插入图片描述

  • ICMP报文呢 它是装在ip数据报的数据部分,所以呢 这个ICMP协议 它是网络层的协议 那它作为数据部分再加上ip数据报的首部就形成一个数据报 就可以发送出去了
  • 代码呢 是为了进一步的区分某种类型当中一些不同的情况
  • 检验和呢 这个字段是用来检验整个ICMP报文的
  • 当时讲ip数据报首部的检验和是只检验首部 并不检验数据报的数据部分,因此呢 这个ip数据报的首部 他无法保证我们这个数据部分一定是没错的 也就是他无法保证这个传输的ICMP报文也不产生差错

ICMP差错报告报文(5种)

在这里插入图片描述

  • 时间超过的两种情况
  • 一种呢就是这个路由器 他收到的数据报生存时间是零了,就应该发送一个时间超过报文 因为我们知道经过路由器肯定不是到了最后,最终的地方一定要到特定的主机 所以如果到路由器就没有生存时间了 那接下来肯定也不能发送了
  • 第二种情况呢 就是终点 也就是接收端,接收端主机在确定的时间预先规定时间内 如果没有办法收到完整的一个数据报 他就把之前的数据报,残缺的数据报全部丢弃 也就是要保证一家人是整整齐齐的 所以呢 他才要把不整齐的情况 丢弃并且能发送一个时间超过报文
  • 所以说这个时间超过 主要指的就是生存时间为零 而且呢 数据报片没有收集完整

*改变路由(重定向)

  • 路由器会把改变路由报文发送给主机 让主机知道下一次应该怎么发送这样一个数据报 发送给哪一个路由器,那这种情况呢 主要是因为一个网络上 它会有很多个路由器 所以主机在发送数据的时候呢 有可能他没有找到最合适的路由器,那这样的话 原来的路由器就会把这个丢弃 并且返回给主机一个消息,也就是返回给一个重定向报文告诉主机说 你不要再从我这走了 我这并不是一个最好的路由 你应该从别的地方走 所以这个就是值得更好的路由才会发送这样一个改变路由 或者说重定向的报文
ICMP差错报文数据字段

在这里插入图片描述

  • 所有的ICMP差错报告报文 他们的这个数据字段的格式都是一样的
  • 把这个收到的需要进行差错报告的ip数据报首部以及前八个字节取出来,作为ICMP报文的数据字段 再加上这个ICMP差错报告报文的前八个字节就构成了一个完整的这个差错报告报文
  • 接下来呢 再加上ip数据报的首部 就构成了一个完整的数据报 那这个就是如何形成ICMP差错报告报文 以及如何把这个报文装入数据报的过程
  • 这个ICMP差错报告报文 它是ip数据报 也就是网络层传输单元的数据部分
不能发送ICMP差错报文的情况

在这里插入图片描述

  1. ICMP差错报告报文 他是要封装在ip数据报当中 那ip数据报的首部呢 并不会检查数据部分有没有出错 也就是不确定这个ICMP差错报告报文的这个部分有没有出现问题,因此呢 他就有可能出错 那他出错的时候怎么办呢 这里面 我们也不会再去发送一个ICMP差错报告报文了,不会对ICMP的差错再进行一个差错的报告
  2. 也就是指对第一个分片发送报告报文后面的都不发送了
  3. 组播是一点到多点 那这个要和广播区分开,广播呢 是一点到所有节点到一个局域网所有节点,这个组播呢 它是有选择性的 不用发给所有节点 部分节点 多个节点就可以了

ICMP询问报文

在这里插入图片描述

第三种呢 就是掩码子网掩码地址请求和回答报文,第四种呢 是路由器询问和通告报文 那这两种询问报文现在已经不再使用了

ICMP的应用

在这里插入图片描述

  • Traceroute首先是有两个主机,源主机和目的主机 那中间呢 就会有很多个路由器,首先 这个源主机 他就会发送一连串的数据报,有很多个数据报 但是呢 这些数据报的差别就是在于他们的TTL 也就是生存时间 他们的设置是不一样的 对于第一个数据报,它的TTL设置为设置为1,当第一个这个数据报到达了路径上的第一个路由器 也就是到达r1的时候,那这个路由器就会先把它收下 然后呢再把TTL的值减去1 那剪完1之后 这个第一个数据报它的TTL就变成零了 那如果等于零这个路由器就会把这个第一个数据报丢弃 然后呢再返回给主机一个,ICMP的差错时间 超过的差错报告报文
  • 那接下来再来看第二个数据报 第二数据报呢 它TTL设置为二,r2路由器 那同样 当TTL等于零的时候 r2会把它丢弃并且返回给主机一个时间超过的差错报告报文那接下来到第三个第四个等等等之后都是如此 他们的每后面一个TTL就要再增加一个,那这样的 我们就可以测算出这个分组从源点到路径之间的距离了

4.4.1 IPv6

为什么有IPv6

在这里插入图片描述

  • 首先呢 我们来看一下为什么会有IPV6的产生 由于我们之前探讨过对于IPV4这种编制方式呢 这个地址现已经被消耗殆尽了,已经没有剩多少地址 所以我们就学习了两种技术,一个是CIDR技术 一个是NAT技术
  • 那这两种技术呢 其实只是说延缓了这个IPV4消耗殆尽的时间,也就是延长一点寿命 那这种方法呢是治标不治本的
  • 因此就有一种新的办法 也就是IPV6 通过使用IPV6的地址呢 我们可以从根本上解决这个地址耗尽的问题,因为IPV6呢 它是从最根本 也就是地址的位数 地址的长度上面来扩充它的长度
  • 比如说我在北京买了一个房 那这个房子呢 非常小,因此 我为了使这个空间能够得到更加合理的利用 能够放更多更多的东西呢 我就会在墙上放些小格子 或者放一些柜子,然后把这些柜子里面填满东西 那这个就类似于CIDR和NAT技术的办法,他们只是在源来的这个地址长度基础之上 对地址进行了一个再一步的划分
  • IPV6这种方法呢 在我们这个买房子的例子里,就是我现在有钱了 可以换一个更大的房子了 那就是从根本上解决了我的房子空间不够用的问题
  • 那除了这个动机之外呢 还有一些其他的动机 人们现在想要改进一下首部的格式 因为之前的IPV4它首部格式除了固定部分,还有一定的可变部分 而且呢 它固定部分 也就是那20字节,它里面的字段太多了 所以现在想改进一下首部格式 使这个字段变得种类少一点 这样的就可以加快路由器它的一个处理效率,也就是说 想通过改进首部格式来实现一个快速处理以及转发数据报的功能还有呢 就是要支持Qos

IPv6数据包格式

在这里插入图片描述

在这里插入图片描述

  • 基本首部的第一字节 版本,那这个版本呢 和IPV4数据报当中的版本是一样的 都是指明了这个协议的版本,那IPV6呢 它这个协议就是6所以版本这个字段呢就是6
  • 那接下来看第二个 优先级,那优先级呢其实就在区分数据报的类别,以及声明这个数据报的优先级 是不是要对这个数据报进行优先处理 就要看这个优先级怎么规定
  • 第三个部分流标签 那什么叫流标签呢 我们先看流是什么意思,就好比a主机要给b主机发送一系列数据报,这一系列数据报呢 都像是一组的数据报 所以我们就可以称之为 他们是一个流的 那这一个流当中的所有数据报它的流标签都是标志相同的数 那这个就有点类似于我们IPV4当中的一个标识位,当然IPV4它的标识位呢 是指对于这个数据报进行分片之后 每一个数据报 它的所有分片都具有同一个标识位,而这里面是指所有的这一个流当中的数据报 每一个数据报他们都具有相同的流标签
  • 有效载荷长度 顾名思义 它应该指的就是有效载荷部分 这个部分它的长度有多少位,那这个呢 要和IPV4区分开 IPV4标识长度呢 有两个字段,一个叫做首部长度字段 一个叫做总长度字段 那这个首部长度字段呢 它指的是首部的大小,总长度是指首部加数据部分的大小 而这里面的有效载荷长度 指的是扩展首部加数据部分的大小
  • 下一个首部标识的是下一个扩展首部或者是上层的协议首部,假如说我们有一个数据报 那这个数据报除了基本首部40字节之外呢 它还有三个扩展首部,下的就是数据部分 那对于这里面的扩展首部一二三来说 他们每一个扩展首部内,都有一个字段 就是下一个首部字段 那基本首部当中呢也有这个下一个首部字段,对于基本首部的这个下一个首部作段来说呢 它标识的也就是它指向的是这个扩展首部一,那扩展首部一当中的下一个首部字段呢 标识的 或者说是指向的是扩展首部二,扩展二的下一个首部字段标识的或者是指向的就是扩展首部三的字段 那对于扩展首部三,指向的就是数据部分 那这个数据是从哪来的 是从上层运输层传来的报文段,所以指向的就是这个数据
  • 跳数限制呢 相当于IPV4当中的TTL 也就是生存时间 那他们俩其实都是一样的概念 那这个跳数限制如果达到零,路由器就会把这个数据报丢弃 并且呢返回一个icmp差错报告报文 那接下来就是这个源地址和目的地址

IPv6和IPv4

在这里插入图片描述

IPv6地址表示形式

在这里插入图片描述

IPv6基本地址类型

在这里插入图片描述

  • 单播:就是一对一的通信,和我们普通的IPV4地址是非常相像的 ,也就是应用于一对一的通信
  • 多播:就是一对多的通信,一台主机要跟这个多播组内的所有主机进行通信的话 就使用的是多播地址,也就是把这个多播地址放入IPV6数据报的目的地址当中,就可以发给这个多播组当中的所有主机了 那这个IPV6呢 它并没有使用IPV4的广播地址,因为这个多播地址呢 可以包括广播地址,在IPV4当中的广播呢 是发给这个局域网当中所有节点 那对应于IPV6呢 这个多播之所以可以取代广播 就是因为可以把这个广播想象成一组多播组当中的所有主机 然后给这些主机全部发送这个数据报就可以了
  • 任播:它是IPV6独有的一种地址 那任播地址呢 是指一对多当中的一个通信,它的实质呢 还是一对一通信 但是表现的形式呢 好像是这一个在跟很多主机通信一样,具体表现就是 假如一台主机 他这个ip数据报当中所封装的目的地址是一个任播地址 那他就会给这个任播组内的一台主机发送这个数据报 那是哪一台呢 是离他最近的一台 通常是离他最近的一台 那以上就是IPV6基本地址的三种类型

IPv6向IPv4过渡的策略

在这里插入图片描述

  • 那在中间这一段呢,其实就是一个隧道了,就是把这个数据IPV6数据报封装到IPV4数据报当中 进行一个伪装,然后在这个隧道里面去发送

脑图时刻

在这里插入图片描述

4.5.1 RIP协议及距离向量算法

路由选择协议分类回顾

在这里插入图片描述

RIP协议

在这里插入图片描述

  • 每个路由器都有一个路由表,路由表里面的表项呢 其实就是从他自己到其他的每一个目的网络的离记录 那这个距离呢有一个要求 并不是任何一个距离 而是最佳的距离 也就是最短的路由,就是经过的路由器跳数最短的 这样一种路径的选择方式就是最佳距离
  • 直接交付就是说这个路由器和目的网络是直接相连的,如果是间接相连呢 也就是间接交付 那就要交付给下一跳路由器
  • 通过这些路由器之间他们交换信息才能逐渐的完善 填满自己的这个路由表,也就是一个交换

RIP协议和谁交换?多久交换一次?交换什么?

在这里插入图片描述

  • 超过三分钟了 邻居路由器还是没有跟我通信,没有把他的路由表发给我 那我就确定这个链路出了问题 或者是这个路由器出了问题,那这个时候呢 他就会更新自己的路由表 把这个路由表当中要通过邻居的那些表项 更新掉

距离向量算法

在这里插入图片描述

  • 有一种报文叫做RIP报文 那这个RIP报文他所包含的信息 其实就是我们刚才所说的这个路由表的全部信息,也就是说 每个相邻的两个路由器之间交换信息的时候 交换的其实是一个RIP的报文

距离向量算法练习1

在这里插入图片描述

距离向量算法练习2

在这里插入图片描述

RIP协议的报文格式

在这里插入图片描述

  • 知识点1:这个RIP报文 他是首部加路由部分,然后呢塞到了UDP用户数据报当中 也就是他加上UDP的首部形成了一个UDP的用户数据报,那UDP呢 我们之后要学是传输层的协议 那传输层的这个传输单元的数据部分 就是由高层传下来的 也就是从应用层传下来的 所以这个RIP呀 他是应用层的协议,他封装好的这个RIP报文呢 就塞到UDP数据报当中,使用UDP传送数据
  • 知识点2:路由信息可重复出现最多25个,就说一个RIP报文呢 他最多可以传送的就是25条路由表项的信息,那如果这一个路由表 他有好几十个路由的信息,比如说他这个自治系统内 有很多个网络 50多个网络,那如果遇到这种比较庞大的这个路由表 我们应该怎么处理呢 那我们就发送几个RIP报文就可以了,多发送几个RIP报文来把全部的路由信息发送出去

RIP协议好消息传得快,坏消息传得慢

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

脑图时刻

在这里插入图片描述

4.5.2 OSPF协议与链路状态算法

路由选择协议分类回顾

在这里插入图片描述

OSPF协议

在这里插入图片描述

链路状态路由算法

在这里插入图片描述

  1. 这个过程呢 其实是任何两个相邻的路由器之间都会发生的一个过程 也就是任何两个邻居,两个相邻的路由器 他每隔十秒都会发送这样一个问候的分组 那这样呢 他就会知道我周围能有哪些路由器,然后来确定周围的哪些邻站是可达的,因我们知道只有可达 我们才能够进行接下来的步骤 进行度量的设置 以及这个路由表的建立
  • 经理上述操作后,现在每一个路由器他都有一个完整的 链路状态数据库了 也就说有一个完整的全网拓扑结构图,接下来就应该使用Dijkstra根据自己的链路状态数据库,构造到其他节点间的最短路径,就是说到这个第六步为止啊 现在每一个路由器 他的路由表的由器表项是比较全面的 但是比较杂乱 那接下来呢 就应该使用这个算法来整理一下,整理出的结果呢 其实就是要整理出从自己这个路由器到其他的路由器要经过哪些路由器以及相应的度量 或者说是代价

OSPF的区域

在这里插入图片描述

  • 在上层的这个区域呢 叫做主干区域 主干区域的标识符规定为是全零的,他的作用呢 就是来连通其他在下面的区域 其他在下层的区域
  • 主干路由器:主干区域当中的路由器都叫做主干路由器 当然也包括R3和R7 那虽然R3和R7连接在两个区域上,那他就是身兼多职 他既叫做主干路由器 同时呢也叫做区域边界路由器
  • 边界路由器:R3、R4、R7都叫做区域边界路由器,因为他是处于两个区域之间交界的位置
  • 自治系统边界路由器:这个很好理解 因为在主干路由器当中呢 有一个路由器 他是要连到其他的自治系统AS当中的 所以这个路由器就叫做自治系统边界的路由器
  • 区域内部路由器:就是在普通的下层区域内部的所有的路由器都叫做区域内部路由器
  • 那采用这种分层次划分区域的方法呢 虽然使得交换信息的种类增多了,同时呢也使OSPF协议更加复杂,但是这样做呢却可以使得每一个区域内部交换路由信息的通信量大大的减小,因而呢 OSPF协议就能够使用于规模比较大的自治系统了

OSPF分组

在这里插入图片描述

  • OSPF的分组首部加上这个分组 也就是加上数据部分 然后呢 形成IP数据报的数据部分,装上IP数据报的首部形成一个IP数据报行发送
  • 那所以我们可以看到这个OSPF呢 他是直接用IP数据报来传送的 那上节课我们讲的RIP协议呢,这个RIP报文是直接使用UDP 这个数据报来发送的
  • 如果说RIP协议呢 他是一个应用层协议,那OSPF是什么层协议呢,其实这个现在说法不一 像考纲上的 他说的就是网络层的协议,但是呢 也有人说这个OSPF 他是一个传输层的协议 因为他相当于是传输层的数据单元,放到了这个网络层的数据部分进行封装 这里面的我们就不做过多的介绍 如果要记的话还是以考纲为标准

OSPF其他特点

在这里插入图片描述

  • 第三个特点的就是OSPF他不存在坏消息传的慢的问题,他的收敛速度是很快的啊 为什么呢 我们可以这样想,对于RIP协议呢 他收到的每一个相邻路由器发来的路由信息 也就是 收到相邻路由器的路由表之后 先要和自己的路由表进行一个对照,对照之后呢 才能够确定一个最短路径,也就是确定一个到某网络的最短的距离 以及下一条路由器 但是OSPF协议呢 会省去那一步,省去那个对照那一步 OSPF他是会把收来的更新都放到自己的这个链路状态数据库当中,然后根据整个链路状态数据库 通过使用Dijkstra算法来计算出一个最短路径,所以说呢 他的收敛速度是较快的

4.5.3 BGP协议

路由选择协议分类回顾

在这里插入图片描述

BGP协议

在这里插入图片描述

  • BGP发言人:在配置BGP的时候 每一个自治系统的管理员都要选择至少一个路由器来作为这个自治系统的BGP发言人,一般来说两个BGP发言人都是通过一个网络共享的网络连接在一起的,而这个BGP发言人往往就是BGP边界路由器,也就是一个自治系统边界与外界相连的这样一个路由器,当然 有的时候也可以不是这个边界路由器

BGP协议交换信息的过程

在这里插入图片描述

  • 找出到达各AS的较好路由,而并不是最佳路由,主要是因为这个的因特网规模太大 使得这个自治系统之间路由选择是比较困难的 所以要找到一条最佳的路由,这个是相对来说要比较复杂 比较困难的 因此 我们说只需要尽可能的选择一个较好的路由就可以了
  • 那这个图 就是一个BGP发言人所构造出的自治系统联通图,是一个树形的结构 因为只有这个树形的结构才能保证我们不会兜圈子又回到原来的自治系统
  • 那假如对于AS1这个自治系统来说 它有一个边界路由器,这个边界路由器能也作为他的BGP发言人 那这个发言人他既使用这个BGP协议,同时也会使用自治系统内所使用的内部网关协议 比如说RIP协议或者OSPF协议,所以说这个边界路由器 它是身兼多职的,他既要清楚到达其它自治系统内的子网,我应该走哪几个自治系统到达,同时 他还要清楚 如果从外部来的一个分组,我在这个自治系统内应该沿着什么样的一条路径来走 或者说我的下一跳应该走哪里

在这里插入图片描述
在这里插入图片描述

  • 那交换信息 我们也可以说他是交换路径的一个向量,也就是交换一组这个路径的信息,比如说到子网一我应该走哪几个AS才能够到达,以及到子网二,我应该走哪几个AS能到达,也就是交换一系列的路径 我们就称之为路径向量

BGP协议报文格式

在这里插入图片描述

  • 我们会把这个BGP报文放入一个TCP报文当中作为TCP报文的数据段 然后再放入IP数据报当中进行发送 因此我们就可以看出这个BGP 它是一个应用层协议 然后 要借助TCP传送,也就是说 一个发言人要和其他的发言人通信 交换路由信息的话,就应该先建立一个TCP连接 也就是要通过TCP发送 然后再在此连接上交换BGP报文,以建立BGP会话 利用BGP会话来交换路由信息
  • 那为什么我们这里面使用的是TCP而不是UDP?为使用TCP连接可以提供更加可靠的服务 ,同样也可以简化路由选择协议

BGP协议特点

在这里插入图片描述

  • 那这里面说它支持CIDR,也就是我们这个BGP路由表当中的目的网络是用这个CIDR的技术,是用这种网络前缀的形式来表示的

BGP-4的四种报文

在这里插入图片描述

  1. OPEN报文:因为我们刚才讲这个BGP报文的交换需要建立在这个TCP连接的基础之上,所以这个open报文的就是在实现一个连接的建立,同时 它还有一个功能就是可以认证发送方 也就是证实发送方的一个身份,进行身份认证
  2. UPDATE报文:这是在BGP-4当中最常使用的一种报文,只要有新的路径 或者是有这个路径的更新 或者是要撤销原来的路径的话 都需要使用这个UPDATE(更新)报文
  3. KEEPALIVE报文:因为我们两个相邻的BGP发言人之间已经建立连接了 但是有可能在很长一段时间内,我们都不会给彼此发送报文 因为没有发生更新 但是又想知道对方是不是还一直在线 所以就要发送一个KEEPALIVE报文,那这个报文 就是可以周期性 证实邻站的连通性,同时 这个保活报文 它可以作为OPEN报文的确认,也就是说我们发了一个OPEN报文作为连接的请求 那使用这样一个KEEPALIVE报文 就可以对连接请求进行一个确认
  4. NOTIFICATION报文:比如说我之前收到的一个报文有问题 那我就可以发送一个通知报文,同时 这个通知报也可以用于关闭连接 也就说可以关闭TCP的连接

三种路由协议比较

在这里插入图片描述
在这里插入图片描述

4.6.1 IP组播

IP数据包的三种传输方式

在这里插入图片描述

  • 单播IP地址呢 其实就是我们之前所讲的ABC类里面经常使用的一些IP地址
  • 广播:这里面的发送端还是一个单播IP地址, 目的地址是一个全1的广播地址 那只要一个IP数据报他的目的地址是全1的,那他所对应的这个MAC地址,也就是物理地址,自然也是全f的,所以这样的数据报到网络上面 传输进入到局域网之后 是要发送给局域网内部的整个全部的主机的,即使有一台交换机,他也会从这个交换机的全部端口转发出去
  • 组播(多播):他也不会在最开始 也就是在发送端 在原点就复制 他会经历很多路由器 直到马上要到这个局域网了,也就说要经过下一个路由器 就要到局域网了 那我才会再下一个路由器这,把数据报进行一个复制,所以说在之前传输的时候呢,那一条路径上面都是在传输一个数据报,只有到最后一步 最后一个路由器才会把这个数据报复制 然后分发给这个网络当中的组播组当中的主机
  • 如果发送数据只能一对一的发送 那如果要给很多人都发送这样相同的数据包 那我就要建立很多个单播连接,这个也非常占用带宽
  • 广播的话 他是不分青红皂白,会给整个局域网当中的所有主机全部发送这样一个数据报 即使这个主机他是并不想要并不需要的,但是他还会去发送 所以说广播呢 没有办法应付这个用户不同的需求
  • 而且呢 在实际网络当中 我们这个用户量是不定的 一个网络内的用户量是不定的,能有的时候这个用户量多 有的时候用户量少,那这个单播和广播 他们的效率呢 就会相对较低 因此呢 我们就产生了一种比较好的传输方式 那这个传输方式呢 叫做组播 也叫做多播

在这里插入图片描述

  • 单播:就是每一个代接收的这个主机都要和发送站点,建立一个单播之间的连接 那因此呢 在原站点这儿 他就应该根据有多少个人要接收我的数据 他就复制多少份,比如说现在有90个主机要接收这个 要看这个电视 看这个视频节目 那他就要复制90份这个IP数据报 然后呢再分发到各个主机当中 那可以看到 在实际传输的时候 这样所占的带宽和资源是比较多的,就是因为在发送者和每个接收者之间都要建立一个单独的数据信道
    在这里插入图片描述
  • 组播:这个原站点呢 或者说是发送方 他不需要事先复制好很多份这个数据报,他就是一份数据报,然后到一个路由器呢,可能如果要分开好几个路,他就会复制几份,但是复制之后,在每一个链路上面,还是保持只有一个数据报,那这个局域网当中的主机呢,只要是属于这个同一个组播组的,就可以收到这样一个组播的数据报,也就是到最后一步 这个一个数据报才会变成很多个数据报分发给这些主机,那组播组当中的主机呢 可以是在同一个物理网络当中,也就是可以在这样一个局域网内,当然呢 也可以在不同的物理网络当中 那这个时候呢 就需要有组播路由器的支持
  • 组播路由器呢 就是指可以运行组播协议的路由器 那这一类路由器呢 既可以运行组播协议 也可以运行单播协议 他们是身兼多职的,比如说 我们现在是这一个网络当中可能有一些主机 他是属于一个组播组的 那也可以,第一个网络当中的第一台主机和第二个网络中第一台主机 以及第三个网络当中的几台主机,他们是同一个组播组 那这样如果要发送给这个组播组的数据包就要走这个R2、R3、R4这个路由器 再分发给这个组播组当中的成员主机

IP组播地址

在发送的时候 我们怎么找到这个主机呢 或者说怎么知道这些人是不是一个组播组呢?这个就要涉及到IP组播地址了。
我们知道在因特网当中进行通信的时候呢,每一个主机都需要有一个全球唯一的IP地址,那如果某个主机现在想要接收某个特定多播组的分组,那怎么才能够使这个多播数据报传送到这个主机当中呢
显然啊 这个组播数据报 他的目的地址 一定不能写这个主机他自己的IP地址 因为如果这样写的话只会发给这个主机 ,其他的同属于一个组播组当中的主机都是收不到这个数据报的
因此呢就需要有一个新的地址 比如说这个主机当中呢 再产生出一个新的地址来接收这个组播的数据包,当然 其他属于这一个组播组当中的主机呢 都可以有这样一个IP组播地址 然后接收到发送给他们所在的组播组的数据报
在这里插入图片描述

  • 很多主机他们都会有一个组播地址 如果他们是一个组播组的话 那他们的组播地址都是一样的
  • 当然 这个组播地址并不是任何一个主机他生来就有的,如果这个主机他要实现接收这个组播数据报的功能,比如说我现在要看直播 或者是我要加入一些视频会议 那我这个手机呢 现在就有一个组播IP地址了
  • 我们可以这样想 我们现在在看这个斗鱼直播,我们在看一个主播 他的这样一个频道 那可以很多人都在看这个主播的频道,那就相当于组播,他是原站,这个主播通过组播的方式发给这些主机 ,那这些主机都能看到了,因为这些主机 他都同属于一个组播组,但是呢 反过来可不可以?可不可以有很多个主播发送组播数据报然后给一台主机?那肯定是不行的,因为我们在同一时间只能看一个频道,所以没有办法,所以如果有那种情况,这样我们的画面一定就是非常混乱的,所以说要注意的是,IP组播地址是能作为目的地址啊 ,那原地址呢一定是一个单播地址
  • UDP呢 他是一个实现不可靠交付的一个协议 那这种协议呢 他用起来虽然听起来不可靠,但是呢 他给我们带来的一个优点就是速度比较快,因为我们在开视频会议 或者是看直播 看电视节目等等 我们要求的是一个实时性,快速性 所以呢 我们希望要越快越好,因此 我们就应用这个UDP 然后尽最大努力交付再来看
  • 一个部分叫做硬件组播 一个叫做因特网范围内组播 什么意思呢,这其实就是对IP组播进行一个分类 一种呢 是只能在本局域网内进行的一个硬件组播 硬件多播,那还有一个呢 就是在因特网的范围内 也就是没有进入到局域网内的这个范围,来进行组播 那这种硬件组播呢是很简单但是也是非常重要的,因为现在大部分主机都是通过连在局域网 然后再连入因特网,所以最后通过因特网范围内组播之后,还是要进入到局域网内的硬件组播

硬件组播

在这里插入图片描述

  • 剩下的23位决定了这样一个局域网内他的多播地址的范围
  • 那最低的23位呢 是要跟他的IP地址有一个映射关系,那就是MAC地址 要和IP地址有一个映射关系 来决定是不是同属于一个多播组的,因为我们知道一个D类IP地址就标识的是一个组播组,此呢 我们就把这个IP地址映射成MAC地址,也就变成了一个MAC地址 他就可以映射一个组播组
  • 但是要注意的一个问题就是在这个D类IP地址当中啊 这有五位,是不固定的 而且呢 还有2的5次方 也就是32种组合方式
  • 假如说我们现在有两个D类的IP地址 第一个地址呢 他这五位是00010,第二个IP地址呢 他是00000,可以看到他前面这五位 这两个地址是不一样的 那后面的23位呢 假如说他们俩都是一样的,那其实上这两个 这两个主机 他们应该是属于不同的组播组 因为他们的IP地址是不一样的 D类IP地址是不一样的,IP地址和MAC地址的映射只在最后的23位 前面都是固定好了的 那因此 他前面,虽然这两个地址前面的这五位是不一样的 但是后面呢 他们是一样的 因此他们映射到MAC地址上也是一样的,而前面还都是固定 都是一样的 所以这两个不同的IP地址到最后竟然映射成了同样的一个MAC地址

IGMP协议与组播路由选择协议

在这里插入图片描述

  • 那这两协议呢其实就是在因特网范围内要使用到的一些协议
  • IGMP协议 我们在这里面只画了一个路由器 说明呢 他是在一个路由器内部 所规定的 或者说所使用的一个协议 那IGMP协议他的存在呢 就是要让这个连在一个局域网上的组播路由,也就让这个路由器知道他所连的局域网上面是不是还有主机是参加或者是退出了某个组播组,也就是一个组播路由器,他通过使用IGMP协议就可以知道他所连的局域网当中,是不是还有可以接收组播数据报的主机了
  • 组播路由选择协议呢,比如说我们现在有一个原主机或者说有个节点在这 他要发送一个组播的数据报,那有可能这个组播组当中的主机都在这个路由器所连的局域网内 那他因此就要选择一个合适的路径来到达这个路由器,然后呢 再由这个组播路由器分发给这个局域网当中的所有组播组的成员

网际组管理协议IGMP

在这里插入图片描述

  • 我们刚才说IGMP协议 就是为了让路由器知道这个局域网内是不是有主机,其实本质上是一个主机的进程 他是参加还是退出了某一个组播组
  • 因此 这也给我们一个启示 就是 对于一个主机 他如果有多个进程 而这多个进程呢 可能都是组播组的成员 那每一个进程其实就可以有一个组播的IP地址
  • 现在有这个1、2、3、4、四个标明了IP地址的这个主机全都加入了组播组,那他们的组播IP地址呢 就是这个226.15.37.123,那上面所标的IP地址呢 是他们主机本身就有一个就有的一个全球唯一的IP地址
  • 每一个路由器 他通过使用IGMP协议,就可以判断如果我接收到一个组播组 我要不要给我局域网当中的主机们呢 那我们可以看到在这里面呢 如果中间这个网络当中有一个主机 他要发送给这个组播组一个数据报 那他应该走R1 R2和R3 不应该发给R4,因为我们因为这个R4他所连的局域网当中呢 并没有组播组的成员 所以如何避免不发给R4呢 那这个呢就要靠路由器
  • 路由器他所使用的IGMP协议啊 他只有有了这样一个协议才知道,如果我收到了一个组播组的数据报 我要不要分发给我的这个局域网,但是要注意的是 这个IGMP协议他并不是知道的很详细 他不知道这个局域网当中组播组的成员个数,同时呢 也不知道这些成员都在哪些网络上面,只是可以让路由器知道是不是有主机或者进程参加了 或者是退出了这个组播组

在这里插入图片描述

  • IGMP、ICMP他们都是网络层的协议 而且呢 都会使用IP数据报

IGMP 工作的两个阶段

在这里插入图片描述

  • ROUND1:在这里面要注意的是,这个主机呢 要向组播组的组播地址发送一个IGMP报文 因此呢 路由器以及同属于组播组的成员都会收到这样一个报文,但是不在组播组内的是都收不到的
  • ROUND2:探寻的过程呢 其实也是在发送一个IGMP的询问报文,路由器他在给这一个局域网内的主机发送的这个探寻呢 其实是发送 其实是可以发送给组播组当中的全部主机的,要是属于这个组播组当中主机都可以收到,但是呢 返回或者说他们的响应的速度,以及所到达路由器的时间是不一样的,因此在这里面的我们有一个细节就是,如果这个组播组当中的有一台主机 他先响应了 那其他主机呢就会通过监听知道,有一个代表已经先我们一步 去告诉我们这个路由器 去告诉我们所连的组播路由器 我们还有一个组播组在这,那其他的主机呢 就不需要去发送一个响应了
  • 成员关系只是说所连接的局域网当中有没有组播组的成员 但是呢 并不会去反映这一组的成员有多少个 因为他自己也不知道

组播路由选择协议

在这里插入图片描述

  • 在组播过程当中 一个组播组当中的成员是可以动态变化的 也就是可以突然加入,或者是突然离开
  • 就比如说我们在看新闻联播的时候 那可能有一些人现在在看 但有一些人可能看不下去了,然后他就转到了另一个频道,那这个时候就是,有一些主机离开了这个频道 也就是选择了另一个组播组,那组播路由选择呢 其实就是要找出以原主机为根结点的一个组播转发树,也就是说要使用这个组播路由选择协议 我们才可以顺利的把这样一个我们想看的频道的数据报发送给我自己的这个主机

在这里插入图片描述
在这里插入图片描述

  • 采用协议无关这个名词主要是为了说 虽然在建立转发树的时候呢是使用单播数据报,和远程路由器来联系 但是呢 这并不要求使用相同的一个单播路由选择协议,稀疏和密集呢 主要指的就是一个组播组当中的主机,他们是离得远还是离得近,如果他们比较分散的话,就叫做稀疏型的,如果他们离得比较近 可能都在一个局域网 就可以使用密集型的一个相关的算法

脑图时刻

在这里插入图片描述

4.7.1 移动IP

移动IP

在这里插入图片描述

  • 当你在异地登录QQ的时候 会显示这样一个异地登录的提醒 并且会告知你的这个IP和参考地点,因为QQ 他登录是依据IP登录的,所以当你没有在你开通手机号的这样一个地区登录QQ的时候会显示这种异地登录提醒,因为他的IP地址发生了变化
  • 那么再问一个问题 你是否曾经被漫游费搞的压力山大?之所以我们对手机漫游会额外产生一些费用,就是因为这个过程啊 我们是需要移动IP的技术,我们想要达到的目的是 当我这个手机不管移动到哪里,都可以保证原来的一个IP地址不变 ,别人依旧能够跟我这个IP地址的设备进行通信 ,因此 我们就会在手机的这个原有的永久地址基础之上再引入一个转交地址,那么就需要对这两个地址进行管理,就会额外再收取一些费用

移动IP相关概念

在这里插入图片描述

  • 想要达到的目的很简单 就是设备移动,IP不动
  • 永久IP地址:就是我们上面说的固定的网络IP地址
  • 归属代理:其实就可以理解成是一个管家,它管理的就是我们这个移动节点,移动节点在没有发生移动的时候,它最开始在哪个地方,那个地方就是归属网络,那在这个地方管理他并且帮他执行一些功能的,就叫做这个本地代理,归属代理,那么一个移动节点归属网络当中的一个路由器 其实也可以作为一个归属代理
  • 外部代理:具体来说 就是我们这个移动节点 如果移动到了外地 移动到了异地 就会进入到一个外部网,那这个网络当中的一个管家 就是外部代理,也可以是这个外部网络当中的一个路由器,它主要发挥的作用 就是帮助我们这个移动节点进行正常的通信

在这里插入图片描述

  • 大家都看过葫芦娃和爷爷的故事 那在很久很久之前 他们几个幸福的生活在一起,但是由于爷爷啊总会被妖精抓走,所以在这里面,爷爷他接下来就会发生位置上的移动,那在这里面我们就把爷爷当作要考虑的移动节点,爷爷的ID 或者是表征爷爷身份的这样一个身份ID就称之为是永久地址 ,那在这里面归属代理就是村子,因为村子在接下来会负责爷爷跟这个葫芦娃的通信

在这里插入图片描述

  • 然后 像往常一样 爷爷又被妖精抓走了,那这个时候 我们又多出了外部代理和转交地址这两个概念,那外部代理在这里面就是盘丝洞 ,也就是爷爷进入了这样一个新的地方之后,那这个盘丝洞就会管着爷爷,管理爷爷和葫芦娃通信的这样一个过程,那么转交地址就是盘丝洞的ID,也可以理解城市盘丝洞的一个地理位置
  • 那么再来看一下这样一个过程 当爷爷被邀请抓走之后 他想和这些葫芦娃通信 只能够通过把这个盘丝洞的一个地址告诉葫芦,这样的葫芦娃们才知道他们去哪里能找到爷爷,同时当有其他人想要找爷爷的时候,葫芦娃也可以告诉别人,你去那个盘丝洞找他就可以了
  • 那整个过程 其实就是爷爷当进入这样一个外部的环境之后 进入到了一个新环境之后,他会先获得这个盘丝洞的地理位置或者是盘丝洞ID,然后把这个ID发送给归属代理,发送给这个村子,那村子就会告知葫芦娃,这个爷爷他现在在哪里,这个转交地址又是哪,那么葫芦娃如果之后要跟爷爷通信去找爷爷或者给爷爷点外卖的时候,他就可以直接发给转交地址,那么 他发给转交地址之后 其实也就是发给了外部代理,那么外部代理就会把这个外卖或者是相关的消息发给爷爷,因为这个外部代理是知道爷爷的一个永久地址,爷爷的ID的,毕竟盘丝洞里面有那么多人 所以要根据个人的ID来区分 发给谁

移动IP通信过程

在这里插入图片描述

  • 当A刚进入外部网络的时候 他就会获得外部代理的转交地址,那这个转交地址是如何获得的 有两种形式 一种它是被动获得 第二种是主动获得 被动获得 就是说,外部代理 会在这样一个外部网络内广播一个SMP的报文 那么这个报文里面就会包含这个转交地址 这个外部代理的地址,那么 A说到之后 就会知道他所在的这样一个网络的外部代理是谁 以及外部代理的地址 这个转交地址是什么,第二种 我们刚刚说了是主动的 也就是 A主动发送一个广播报文来获得外部代理的一个转交地址

4.8.1 网络层设备

路由器

在这里插入图片描述

  • 路由选择部分 也叫做控制部分 那这一部分的核心构件 可以看到 就是这个最大字的路由选择处理机
  • 转发表就是告诉我这一个分组,应该从哪个输出端口,具体的哪个端口输出去来进行一个转发
  • 那这里面的转发大家要和路由选择区分开 转发 在这个路由器内部 就是把一个分组从一个端口输入端口转发到另一个输出端口
  • 而路由选择是比较宏观的,就是比较大的 指的是在路由之间选择一个合适的路径 把一个信息从源站,或者说 源主机发送到目的主机
  • 转发 就是在内部的路由器,路由选择就是在外部的
  • 那当然 并不是任何一个分组 只要进了这个路由器 只要从输入端口进来了,就一定会从这个交换结构这然后再输出去 这要分情况的
  • 如果所有的分组 是路由器之间交换路由信息的分组 比如说RIP分组 还有OSPF分组等等,那这会把这些分组送交给路由选择处理机,也就是送交给路由器的路由选择部分 然后来进行一个处理和计算
  • 那如果收到的是数据分组 就直接根据这个转发表,根据交换结构当中的转发表进行一个输出端口的选择并输出

输入端口对线路上收到的分组的处理

在这里插入图片描述

  • 首先 我们会从这个链路上接收到一个分组 然后 先交由这个物理层进行处理 那这个物理层只是进行比特的接收,单纯的接收,他是一个傻瓜层
  • 接下来就到了这个链路层 链路层的处理 就会按照链路层的协议,来接收这个传送分组的帧 那接下来他就要把这个帧头和帧尾去掉,然后交付给这个网络层
  • 那这个网络层怎么给他处理,其实 那就要结合我们刚才所讲的 想要对这个分组判断一下,如果他是路由器之间交换路由信息的分组,那就会把这个分组交付给上面的路由选择处理机来进行一个处理和计算,那如果是数据,数据分组就会放入交换结构当中,然后再选一个合适的输出端口输出
  • 那假如说现在有一堆这个数据分组,这些数据分组到了这个网络层 处理这一个模块,他们就要排队 为什么要排队 因为假如说第一个分组线正在查找转发表 并且选一个合适的端口转发 因为这个肯定是要产生一定的延迟的,那所以可能第一个分组他还没有查完 第二分组就已经先到达了 那第三个分组也到达了,那可以看到 现在这种情况 就是有很多分组在这排队等候来进行查表和转发,所以在这一块 就很容易产生一定的时延

输出端口将交换结构传送来的分组发送到线路

在这里插入图片描述

  • 还是要经过这三个模块进行一个处理 因为我们知道这个路由器 它是三层的设备 所以对于数据的封装和解封装都要经过这三个层次
  • 那在网络层这个处理模块 是设置了一个缓冲区 实际上 就是一个队列,如果这个交换结构传过来分组的速度要超出列入发送的速度的话 那中间就会有一些分组在这边停滞下来了,也就需要排队了,那这些分组 就是暂存在这样一个缓冲区当中 那我们可以看到 在这一个模块 也会产生一定的等待的延迟

三层设备的区别

在这里插入图片描述

  • 物理层设备 我们说他傻瓜,傻就傻在来什么就转发什么 所以既不能隔离冲突域 也不能隔离广播域
  • 链路层设备稍微有点智商了 它就能够隔离一个冲突域,所以我们说交换机的每一个端口都算是一个冲突域 ,那能不能隔离广播域 ?当然是不能的,比如说 我们这有一个广播分组,那这个广播分组。它的IP地址,主机号部分就是全1,所对应的IP地址就是全F,那这样的一个广播分组如果进入到一个局网当中,不管你有没有交换机 有没有网桥 所有的主机都是可以收到的,也就是说 可以从交换机的所有端口转发出去
  • 网络层设备,即能隔离冲突域也能够隔离广播域,也就是对于个广播分组来说,到了路由器这停,发不出去了 只能在路由器所连接的一个局往内进行一个广播

路由表与路由转发

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值