一、传输介质
1.双绞线
特点: 由两根互相缠绕的绝缘铜线组成,减少电磁干扰。 性能和成本平衡较好,是局域网中最常用的传输介质。
分类: 屏蔽双绞线(STP):抗干扰能力强,但成本较高。 非屏蔽双绞线(UTP):常用于以太网,价格低,干扰能力较弱。
优缺点:
优点:价格低廉、布线方便。
缺点:距离较短,抗干扰能力有限。
2.同轴电缆
特点: 由铜导体和同轴金属屏蔽层组成,抗干扰能力较强。 数据传输率和距离比双绞线稍高。
优缺点:
优点:抗干扰能力强,信号损失小。
缺点:较重且价格高,布线复杂。
3.光纤
特点: 通过光信号传输数据,核心为玻璃纤维。 速度极快、带宽大,传输距离长。 分类: 单模光纤:适合长距离通信。 多模光纤:适合短距离通信。 用途: 应用于高速骨干网络、数据中心、长距离通信。
优缺点:
优点:传输速度快、带宽高、抗干扰能力强。
缺点:成本高,安装和维护较复杂。
4.无线传输介质
(1) 无线电波(Radio Waves) 特点: 频率范围广(如低频、中频、高频、超高频)。 可以穿透障碍物,用于远距离通信。 用途: 常用于Wi-Fi、蓝牙、蜂窝网络(4G/5G)、AM/FM广播。
优缺点:
优点:覆盖范围广,适合移动设备。
缺点:易受干扰,传输速率受频段限制。
(2) 微波(Microwaves) 特点: 高频无线电波(频率为1GHz至30GHz),直线传播。 需要发射塔或卫星中继。 用途: 常用于卫星通信、蜂窝基站之间的通信。
优缺点:
优点:适合长距离通信,速率较高。
缺点:需要视距(障碍物会中断信号)。
(3) 红外线(Infrared) 特点: 使用红外光波,通常用于短距离通信。 无法穿透障碍物。 用途: 用于遥控设备、点对点短距离通信(如红外传输设备)。
优缺点:
优点:不易被干扰,简单易用。
缺点:距离短,必须保持直线传输。
(4) 激光(Laser)
特点: 使用激光束进行通信,传输精确,但需要严格的对准。 适合高带宽、短距离应用。 用途: 用于点对点通信、卫星与地面站之间的通信。
优缺点:
优点:传输速度快,保密性强。
缺点:对准要求高,天气(如雾)会影响信号。
(5) 卫星通信 特点: 利用人造卫星转发信号,实现远距离数据传输。 包括通信卫星、导航卫星等。 用途: 用于全球通信(如GPS、卫星电视、海洋通信)。
优缺点:
优点:覆盖范围极广。
缺点:延迟较高,成本高。
二、VRP
VRP是华为公司数据通信产品的通用操作系统平台,作为华为公司从低端到核心的全系列路由器、以太网交换机、业务网关等产品的软件核心引擎。
**1.**VRP命令行视图
①用户视图(User View)
默认进入的视图,主要用于基本信息查看和设备管理。
提示符: <设备名> 示例:
常用命令:
display current-configuration :显示当前配置。
ping 、 tracert :进行网络参数性测试。
②系统视图(System View)
强调的全局配置。
从用户视图进入系统视图: system-view
提示符: [设备名] 示例: [Huawei]
常用命令:
interface GigabitEthernet 0/0/1 :进入界面视图。
vlan 10 :创建或配置VLAN。
③ 接口视图(接口视图)
配置接口的详细属性,如 IP 地址、链路类型。
从系统视图进入接口视图: interface 类型 端口号
提示符: [设备名-接口] 示例: [Huawei-GigabitEthernet0/0/1]
常用命令:
ip address 192.168.1.1 255.255.255.0 :配置接口IP地址。
shutdown :关闭接口。undo shutdown :启用接口。
④VLAN 视图
配置VLAN的属性。
从系统视图进入VLAN视图: vlan vlan-id
提示符: [Huawei-vlan10]
常用命令:
description VLAN_for_sales :为VLAN描述。
quit :退出 VLAN 视图。
⑤ 路由协议视图
配置路由协议(如OSPF、BGP等)。
从系统视图进入协议视图:如 ospf 1
提示符: [Huawei-ospf-1]
常用命令:
area 0 :配置OSPF区域。
network 192.168.1.0 0.0.0.255 :定义OSPF网络。
⑥用户界面视图(User Interface View)
管理用户权限、认证方式等。
从系统视图到: user-interface vty 0 4
提示符: [Huawei-ui-vty0-4]
常用命令:
authentication-mode password :设置认证模式为密码。
set authentication password simple admin123 :设置登录密码。
2. 常用视图切换命令总结
用户视图 进入 -
系统视图 system-view quit [Huawei]
接口视图 interface 类型 端口号 quit [Huawei-接口]
VLAN 视图 vlan vlan-id quit [Huawei-vlan10]
用户界面视图 user-interface vty 0 4 quit [Huawei-ui-vty0-4]
路由协议视图 ospf 1 quit [Huawei-ospf-1]
任何视图返回用户视图 - return
3.快速查看帮助
? :查看当前可用的命令或选项,帮助用户快速找到所需功能。
4.查看历史命令
①查看历史命令
display history-command
②设置历史命令记录数
[Huawei] history-command max-size 20
③使用 !! 快速执行上一次命令(仅部分版本支持)。
④在命令中使用快捷符号 ! 调用最近的匹配命令(部分版本支持)。
5.撤销命令
使用undo命令可以撤销已有配置
**6.**文件系统操作命令
1.查看文件和目录
①查看当前目录内容
②****查看指定目录内容
2. 切换目录
切换到某个目录
返回上一层目录
返回目录
3. 创建目录
新建目录
4. 删除文件或目录
删除文件
系统提示确认:
Are you sure to delete the file flash:/vrpcfg.cfg? [Y/N]:
确认 Y 。
恢复删除文件
彻底删除回收站中的文件
强制删除文件
使用 /unreserved 选项,文件将直接删除,不会进入恢复站。
删除空目录
如果目录非空,需先清空目录内的文件。
5. 复制与移动文件
复制文件
如果目标路径不存在,需先创建目录。
移动文件
6. 重命名文件
重命名文件
7. 检查存储空间
查看设备存储空间使用情况
或:
8. 文件查看与编辑
查看文件内容
**7.**VRP基本配置命令
1.配置设备名称
操作命令
[Huawei] sysname Router1
2. 设置系统时钟
命令说明
配置的系统时间以确保日志、设备备份等时间相关操作准确。
操作命令
[Router1] clock timezone CST add 08:00:00
[Router1] clock datetime 2025-01-15 14:30:00
3. 配置命令等级
VRP****用户级别说明
操作命令
将某个命令的访问等级设置为3:
[Router1] command-privilege level 3 view shell display ip routing-table
4.配置用户通过密码方式登录设备
命令说明
启用 Password 登录设备可以提高安全性。
操作命令
1.配置用户密码:
[Router1] aaa
[Router1-aaa] local-user admin password cipher Huawei@123
[Router1-aaa] local-user admin privilege level 15
[Router1-aaa] local-user admin service-type ssh
2.配置界面用户(VTY)使用此用户:
[Router1] user-interface vty 0 4
[Router1-ui-vty0-4] authentication-mode aaa
[Router1-ui-vty0-4] protocol inbound ssh
5. 配置用户界面参数
命令说明
设置登录用户时的界面参数,例如超时时间、最大会话数等。
操作命令
[Router1] user-interface vty 0 4
[Router1-ui-vty0-4] idle-timeout 10 0
[Router1-ui-vty0-4] user privilege level 15
[Router1-ui-vty0-4] quit
6. 配置接口 IP 地址
命令说明
为路由器的接口分配IP地址。
操作命令
[Router1] interface GigabitEthernet 0/0/1
[Router1-GigabitEthernet0/0/1] ip address 192.168.1.1 24
[Router1-GigabitEthernet0/0/1] quit
7.查看当前运行的配置文件
命令说明
显示设备当前运行的配置内容。
操作命令
8. 配置文件保存
命令说明
将当前配置保存到设备中。
操作命令
9. 查看保存的配置
命令说明
显示保存的配置文件内容。
操作命令
10. 清除已保存的配置
命令说明
删除设备中保存的配置文件。
操作命令
11.查看系统启动参数配置
命令说明
检查启动时加载的配置文件及启动设备选项。
操作命令
12.配置系统下次启动时使用的配置文件
命令说明
设置设备下次启动时加载的配置文件。
操作命令
13. 配置设备重启
命令说明
重新启动设备以加载新的配置文件或系统软件。
操作命令
三、参考模型
1.TCP/IP模型与OSI****模型的差异
层次差异:TCP/IP模型采用了较简化的四层结构:
应用层:对应OSI的应用层、表示层和会话层。
传输层:对应OSI的传输层。
互联网层:对应OSI的网络层。
网络接口层:对应OSI的数据链路层和物理层。
TCP/IP模型比OSI模型少了三个层次(表示层、会话层和物理层),将这几个功能合并到了一些层中。这使得TCP/IP协议栈更加简洁和高效,也更容易实施。
协议基础:OSI模型是理论上的标准,目标是定义一个标准化的通信框架。而TCP/IP则是实际应用中的协议,针对互联网通信提出了更加实用的解决方案,具备了可靠性、灵活性和扩展性。
2.OSI七层模型
7. 应用层 对应用程序提供接口。
-
表示层 进行数据格式的转换,以确保一个系统生成的应用层数据能够被另外一个系统的应用层所识别和理解。
-
会话层 在通信双方之间建立、管理和终止会话。
-
传输层 建立、维护和取消一次端到端的数据传输过程。控制传输节奏的快慢,调整数据的排序等等。
-
网络层 定义逻辑地址;实现数据从源到目的地的转发。
-
数据链路层 将分组数据封装成帧;在数据链路上实现数据的点到点、或点到多点方式的直接通信差错检测。
-
物理层 在媒介上传输比特流;提供机械的和电气的规约
①物理层
作用:物理传输介质
②数据链路层
作用:确保数据无错误地在两台设备之间传输
③网络层
作用:负责数据的路由和寻址
④传输层
作用:确保数据的可靠传输
⑤会话层
作用:管理会话和控制数据交换
⑥表示层
作用:数据的格式化与转换
⑦应用层
作用:提供用户直接使用的服务
3.TCP/IP模型
1**.** TCP/IP标准模型(协议栈)
四个层次:
- 应用层(Application Layer):
这一层负责与用户直接交互,承载网络应用协议。例如HTTP、FTP、SMTP、DNS等。
它的作用是将应用程序的数据转换为网络可以理解的格式。
- 传输层(Transport Layer):
主要负责在通信的两端之间提供端到端的可靠数据传输。
常见的协议是 TCP**(传输控制协议)** 和 UDP**(用户数据报协议)**。
通过这个层,数据可以可靠地传输,或者可以选择不可靠地传输(如UDP)。
- 互联网层(Internet Layer):
这一层主要负责数据的寻址和路由,也就是数据如何从源设备到达目标设备。
主要协议是 IP**(互联网协议)**,它负责将数据包从源到目的地转发,并处理路由选择。
- 网络接口层(Network Interface Layer):
这一层处理数据如何在物理网络上传输,它包括了物理和数据链路的具体实现。
该层涉及到具体的硬件设备和数据链路协议,如以太网、Wi-Fi等。
2 TCP/IP****对等体模型(Peer-to-Peer Model)
有时候,在讨论TCP/IP协议栈时,人们会将网络层和数据链路层进行进一步拆分,得出一个五层的模型。具体来说,它的五层结构可能如下所示:
- 应用层(Application Layer):
包含所有网络应用和它们使用的协议,如HTTP、FTP、SMTP等。
这一层与OSI模型中的应用层、表示层和会话层结合。
- 传输层(Transport Layer):
主要负责端到端的通信,常见的协议有TCP和UDP。
这个层次提供了数据的可靠传输(TCP)或不可靠传输(UDP)。
- 网络层(Internet Layer):
负责数据包的寻址和路由,最重要的协议是IP(互联网协议),用于确定数据包的路径。
- 数据链路层(Data Link Layer):
负责在物理媒介上进行数据的帧化传输。包括以太网、Wi-Fi等协议。
- 物理层(Physical Layer):
负责数据的物理传输,涉及硬件设备如网卡、光纤、无线信号等。
4.TCP/IP常见协议
5**.TCP协议详解**
①TCP的建立-三次握手
TCP连接建立的详细过程如下:由TCP连接发起方(图中PC1),发送第一个SYN位置1的TCP报文。初始序列号a为一个随机生成的数字,因为没收到过来自PC2的任何报文,所以确认序列号为0 ;
接收方(图中PC2)接收到合法的SYN报文之后,回复一个SYN和ACK置1的TCP报文。初始序列号b为一个随机生成的数字,同时因为此报文是回复给PC1的报文,所以确认序列号为a+1;
PC1接收到PC2发送的SYN和ACK置位的TCP报文后,回复一个ACK置位的报文,此时序列号为a+1,确认序列号为b+1。PC2收到之后,TCP双向连接建立。
②窗口滑动机制
在TCP三次握手建立连接时,双方都会通过Window字段告诉对方本端最大能够接受的字节数(也就是缓冲区大小)。
连接建立成功之后,发送方会根据接受方宣告的Window大小发送相应字节数的数据。
接受方接受到数据之后会放在缓冲区内,等待上层应用来取走缓冲的数据。若数据被上层取走,则相应的缓冲空间将被释放。
接收方根据自身的缓存空间大小通告当前的可以接受的数据大小( Window )。
发送方根据接收方当前的Window大小发送相应数量的数据。
③TCP的关闭-四次挥手
TCP支持全双工模式传输数据,这意味着同一时刻两个方向都可以进行数据的传输。在传输数据之前,TCP通过三次握手建立的实际上是两个方向的连接,因此在传输完毕后,两个方向的连接必须都关闭。如图所示:
-
由PC1发出一个FIN字段置”1 ”的不带数据的TCP段;
-
PC2收到PC1发来的FIN置位的TCP报文后,会回复一个ACK置位的TCP报文。
-
若PC2也没有需要发送的数据,则直接发送FIN置位的TCP报文。假设此时PC2还有数据要发送,那么当PC2发送完这些数据之后会发送一个FIN置位的TCP报文去关闭连接。
-
PC1收到FIN置位的TCP报文,回复ACK报文,TCP双向连接断开。
6.ARP
ARP(地址解析协议)的使用是为了解决设备间通信时,如何将网络层的IP地址映射到数据链路层的MAC地址的问题。
ARP(Address Resolution Protocol,地址解析协议)是根据IP地址获取数据链路层地址的一个TCP/IP协议。ARP是IPv4中必不可少的一种协议,它的主要功能是:
将IP地址解析为MAC地址;
维护IP地址与MAC地址的映射关系的缓存,即ARP表项;
实现网段内重复IP地址的检测。
①ARP工作原理
网络设备一般都有一个ARP缓存(ARP Cache)。ARP缓存用来存放IP地址和MAC地址的关联信息。
在发送数据前,设备会先查找ARP缓存表。如果缓存表中存在对方设备的ARP表项,则直接采用该表项中的MAC地址来封装帧,然后将帧发送出去。如果缓存表中不存在相应信息,则通过发送ARP Request报文来获得它。
学习到的IP地址和MAC地址的映射关系会被放入ARP缓存表中存放一段时间。在有效期内(缺省:180s),设备可以直接从这个表中查找目的MAC地址来进行数据封装,而无需进行ARP查询。过了这段有效期,ARP表项会被自动删除。
如果目标设备位于其他网络,则源设备会在ARP缓存表中查找网关的MAC地址。然后将数据发送给网关。最后网关再把数据转发给目的设备
主机1的ARP缓存表中不存在主机2的MAC地址,所以主机1会发送ARP Request来获取目的MAC地址。
ARP Request报文封装在以太帧里。帧头中的源MAC地址为发送端主机1的MAC地址。此时,由于主机1 不知道主机2的MAC地址,所以目的MAC地址为广播地址FF-FF-FF-FF-FF-FF。
ARP Request报文中包含发送端MAC地址、发送端IP地址、目的端MAC地址、目的端IP地址,其中目的 端MAC地址的值为0。ARP Request报文会在整个网络上传播,该网络中所有主机包括网关都会接收到此ARP Request报文。


四、IP编址
1.IP地址组成
IPv4地址由如下两部分组成:
网络部分 (网络号)****:用来标识一个网络。
IP地址不能反映任何有关主机位置的地理信息,只能通过网络号码字段判断出主机属于哪个网络。
对于网络号相同的设备,无论实际所处的物理位置如何,它们都是处在同一个网络中。
主机部分 (主机号):用来区分一个网络内的不同主机。
2.IP地址分类
A**、B、C类地址比较:**
使用A类地址的网络称为A类网络;使用B类地址的网络称为B类网络;使用C类地址的网络称为C类网络。
A类网络的网络号为8 bit,个数很少,但所允许的主机接口的个数很多;首位恒定为0,地址空间为: 0.0.0.0~127.255.255.255。
B类网络的网络号为16 bit,介于A类和C类网络之间;首两位恒定为10,地址空间为:128.0.0.0~191.255.255.255。
C类网络的网络号为24 bit,个数很多,但所允许的主机接口的个数就很少;首三位恒定为110,地址空间为: 192.0.0.0~223.255.255.255。
3.IP地址类型
网络地址
网络号为X,主机号的每个比特都为0。
不能分配给具体的主机接口使用。
广播地址
网络号为X,主机号的每个比特都为1。
不能分配给具体的主机接口使用。
可用地址
又称主机地址,可用分配给具体的主机接口使用。
一个网段可用地址数量计算:
一个网段的主机位为n位,则IP地址数为:2ⁿ,可用IP地址数为:2ⁿ-2 (减去网络地址和广播地址)。
4.特殊地址
5.ICMP协议
Internet控制消息协议ICMP (Internet Control Message Protocol)是IP协议的辅助协议。
①ICMP重定向
当路由器检测到一台机器使用非最优路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。
ICMP****重定向过程:
主机A希望发送报文到服务器A,于是根据配置的默认网关地址向网关RTB发送报文。
网关RTB收到报文后,检查报文信息,发现报文应该转发到与源主机在同一网段的另一个网关设备RTA,此转发路径是更优的路径,所以RTB会向主机发送一个Redirect消息,通知主机直接向另一个网关RTA发送该报文。
主机收到Redirect消息后,会向RTA发送报文,然后RTA会将该报文再转发给服务器A。
②差错检测
ICMP Echo消息常用于诊断源和目的地之间的网络连通性,同时还可以提供其他信息,如报文往返时间等。
③ICMP错误检测报告(路由追踪)
ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因。
五、路由基础
路由是指导报文转发的路径信息,通过路由可以确认转发IP报文的路径。
路由中包含以下信息:
目的网络:标识目的网段
掩码:与目的地址共同标识一个网段
出接口:数据包被路由后离开本路由器的接口
下一跳:路由器转发到达目的网段的数据包所使用的下一跳地址这些信息标识了目的网段、明确了转发IP报文的路径
路由表:
路由器依据路由表转发报文。路由表由一条条详细的路由条目组成。
路由表由路由条目组成,但不代表路由表中保存了所有路由,路由表中只会保存“最优的”路由。
对路由表中的路由条目的管理实际上就是路由器维护、管理路由信息的具体实现。
1.路由条目的生成
直连路由:直连接口所在网段的路由,由设备自动生成。
静态路由:由网络管理员手工配置的路由条目
动态路由:路由器通过动态路由协议(如OSPF、IS-IS、BGP等)学习到的路由
2.路由优先级
当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,路由器会比较这些路由的优先级,优选优先级值最小的路由。
路由来源的优先级值(Preference)越小代表加入路由表的优先级越高。
拥有最高优先级的路由将被添加进路由表。
3.度量值
当路由器通过某种路由协议发现了多条到达同一个目的网络的路由时(拥有相同的路由优先级),度量值将作为路由优选的依据之一。
路由度量值表示到达这条路由所指目的地址的代价。
一些常用的度量值有:跳数、带宽、时延、代价、负载、可靠性等。
度量值数值越小越优先,度量值最小路由将会被添加到路由表中。
度量值很多时候被称为开销(Cost)。
4.路由转发
①最长匹配原则
当路由器收到一个IP数据包时,会将数据包的目的IP地址与自己本地路由表中的所有路由表项进行逐位(Bit-By-Bit)比对,直到找到匹配度最长的条目,这就是最长前缀匹配机制。
5.静态路由
静态路由由网络管理员手动配置,配置方便,对系统要求低,适用于拓扑结构简单并且稳定的小型网
络。
缺点是不能自动适应网络拓扑的变化,需要人工干预。
RTA上转发目的地址属于20.1.1.0/24的报文,在只有直连路由的情况下没有路由匹配。此时可以通过手动配置静态路由,使RTA发送前往20.1.1.0/24网段的报文交给下一跳10.0.0.2转发。
6.缺省路由
缺省路由是一种特殊的路由,当报文没有在路由表中找到匹配的具体路由表项时才使用的路由。如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由进行转发。
缺省路由在路由表中的形式为0.0.0.0/0,缺省路由也被叫做默认路由。
7.动态路由
动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。
①动态路由分类
②IGP内部网关协议
作用: 负责自治系统内部的路由,确保同一个 AS 里的路由器能互相找到彼此。 特点:
只适用于一个 AS 内部,速度快,收敛快(能快速适应网络拓扑变化)。
规模通常较小,只用于企业、校园网或ISP内部。
③EGP外部网关协议
作用: 负责不同自治系统之间的路由,确保 AS 之间可以互相通信。 特点:
需要考虑全球互联网的规模,所以路由规则更加复杂。
主要由**运营商、**ISP 之间使用。
8.路由高级特性
①路由递归
路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由递归。
②等价路由
路由表中存在等价路由之后,前往该目的网段的IP报文路由器会通过所有有效的接口、下一跳转发,这种转发 行为被称为负载分担。
③浮动路由
静态路由支持配置时手动指定优先级,可以通过配置目的地址/掩码相同、优先级不同、下一跳不同的静态路由,实现转发路径的备份。
浮动路由是主用路由的备份,保证链路故障时提供备份路由。主用路由下一跳可达时该备份路由不会出现在路由表。
④路由汇总
CIDR(classless inter-domain routing,无类别域间路由)采用IP地址加掩码长度来标识网络和子网,而不是按照传统A、B、C等类型对网络地址进行划分。
CIDR容许任意长度的掩码长度,将IP地址看成连续的地址空间,可以使用任意长度的前缀分配,多个连续的前缀可以聚合成一个网络,该特性可以有效减少路由表条目数量。
六、OSPF
1.距离矢量路由协议
运行距离矢量路由协议的路由器周期性的泛洪自己的路由表。通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中。
对于网络中的所有路由器而言,路由器并不清楚网络的拓扑,只是简单的知道要去往某个目的方向在哪里,距离有多远。这即是距离矢量算法的本质。
2.链路状态路由协议
①LSA
与距离矢量路由协议不同,链路状态路由协议通告的的是链路状态而不是路由表。运行链路状态路由协议的路由器之间首先会建立一个协议的邻居关系,然后彼此之间开始交互LSA(Link State Advertisement,链路状态通告)。
②LSDB
每台路由器都会产生LSAs,路由器将接收到的LSAs放入自己的LSDB(Link State DataBase,链路状态数据库)。路由器通过LSDB,掌握了全网的拓扑。
③SPF计算
每台路由器基于LSDB,使用SPF(Shortest Path First,最短路径优先)算法进行计算。每台路由器都计算出一棵以自己为根的、无环的、拥有最短路径的“树”。有了这棵“树”,路由器就已经知道了到达网络各个角落的优选路径。
④路由表的生成
最后,路由器将计算出来的优选路径,加载进自己的路由表(Routing Table)。
总结
链路状态路由协议有四个步骤:
第一步是建立相邻路由器之间的邻居关系。
第二步是邻居之间交互链路状态信息和同步LSDB。
第三步是进行优选路径计算。
第四步是根据最短路径树生成路由表项加载到路由表。
3.OSPF
①OSPF术语
OSPF Area用于标识一个OSPF的区域。
Router-ID(Router Identifier,路由器标识符),用于在一个OSPF域中唯一地标识一台路由器。
OSPF使用Cost(开销)作为路由的度量值。
②OSPF协议五种报文类型
③OSPF三大路由表项-邻居表
OSPF有三张重要的表项,OSPF邻居表、LSDB表和OSPF路由表。对于OSPF的邻居表,需要了解:
OSPF在传递链路状态信息之前,需先建立OSPF邻居关系。
OSPF的邻居关系通过交互Hello报文建立。
OSPF邻居表显示了OSPF路由器之间的邻居状态,使用display ospf peer查看。
④LSDB
对于OSPF的LSDB表,需要了解:
LSDB会保存自己产生的及从邻居收到的LSA信息,本例中R1的LSDB包含了三条LSA。
Type标识LSA的类型,AdvRouter标识发送LSA的路由器。
使用命令行display ospf lsdb查看LSDB表。
⑤路由表
对于OSPF的路由表,需要了解:
OSPF路由表和路由器路由表是两张不同的表项。本例中OSPF路由表有三条路由。
OSPF路由表包含Destination、Cost和NextHop等指导转发的信息。
使用命令display ospf routing查看OSPF路由表。
4.OSPF工作原理
①邻居关系的建立
OSPF完成邻接关系的建立有四个步骤,建立邻居关系、协商主/从、交互LSDB信息,同步LSDB。
②DR与BDR
为优化MA网络中OSPF邻接关系,OSPF指定了三种OSPF路由器身份,DR(Designated Router,指定路由器)、BDR(Backup Designated Router,备用指定路由器)和DRother路由器。
只允许DR、BDR与其他OSPF路由器建立邻接关系。DRother之间不会建立全毗邻的OSPF邻接关系,双方停滞在2-way状态。
BDR会监控DR的状态,并在当前DR发生故障时接替其角色。
选举规则:OSPF DR优先级更高的接口成为该MA的DR,如果优先级相等(默认为1),则具有更高的OSPF Router-ID的路由器(的接口)被选举成DR,并且DR具有非抢占性。
七、以太网交换基础
1.以太网协议
以太网是当今现有局域网(Local Area Network, LAN)采用的最通用的通信协议标准,该标准定义了在局域 网中采用的电缆类型和信号处理方法。
以太网是建立在CSMA/CD (Carrier Sense Multiple Access/Collision Detection,载波监听多路访问/冲突检测)机制上的广播型网络。
2.冲突域
冲突域是指连接在同一共享介质上的所有节点的集合,冲突域内所有节点竞争同一带宽,一个节点发出的报文(无论是单播、组播、广播),其余节点都可以收到。
冲突域(Collision Domain)是指可能发生数据帧冲突的网络范围。
3.MAC地址
MAC (Medium Access Control)地址在网络中唯一标识一个网卡,每个网卡都需要并拥有有唯一的一个MAC地址。
①****MAC 地址与 IP 地址
②为什么不能只用MAC地址?
(1)MAC地址无法跨网段通信
(2)IP地址支持分层管理,MAC地址不行
(3)MAC地址是固定的,但IP地址可以动态分配
(4)IP地址支持互联网寻址,而MAC地址不行
③MAC地址分类
MAC地址可以分为3****种类型:
单播MAC地址:也称物理MAC地址,这种类型的MAC地址唯一的标识了以太网上的一个终端,该地址为全球唯一的硬件地址。单播MAC地址用于标识链路上的一个单一节点。目的MAC地址为单播MAC地址的帧发往一个单一的节点。每个主机接口由一个MAC地址唯一标识,MAC地址的OUI中,第一字节第8个比特表示地址类型。对于主机MAC地址,这个比特固定为0,表示目的MAC地址为此MAC地址的帧都是发送到某个唯一的目的端。单播MAC地址可以作为源或目的地址。
广播MAC地址:全1的MAC地址(FF-FF-FF-FF-FF-FF),用来表示局域网上的所有终端设备。广播MAC地址可以理解为一种特殊的组播MAC地址。其具体格式为:FFFF-FFFF-FFFF。目的MAC地址为广播MAC地址的帧发往链路上的所有节点。
组播MAC地址:除广播地址外,第8bit为1的MAC地址为组播MAC地址(例如01-00-00-00-00-00),用来代表局域网上的一组终端。组播MAC地址用于标识链路上的一组节点。目的MAC地址为组播MAC地址的帧发往一组节点。组播MAC地址不能作为源地址,只能作为目的地址。
4.二层交换机与三层交换机
功能
二层交换机:主要工作在数据链路层(OSI 模型的第二层),其主要功能是基于 MAC 地址转发数据帧。
三层交换机:同时具备二层交换功能和三层路由功能。在数据链路层,它可以像二层交换机一样进行 MAC 地址学习和数据帧转发;在网络层(OSI 模型的第三层),它能够根据 IP 地址进行路由选择,实现不同网段之间的数据通信,相当于将二层交换机和路由器的功能集成在了一起。
工作原理
二层交换机:当二层交换机收到一个数据帧时,它会检查数据帧的目的 MAC 地址,然后在 MAC 地址表中查找对应的端口。如果找到匹配的端口,就将数据帧从该端口转发出去;如果没有找到,就会向除接收端口外的所有端口广播该数据帧,以查找目的设备。
三层交换机:对于首次到达的数据帧,三层交换机需要进行路由查找。它会检查数据帧的目的 IP 地址,根据自身保存的路由表确定数据帧的转发路径,然后将数据帧转发到相应的网段。同时,三层交换机也会学习源 IP 地址和 MAC 地址的对应关系,建立 ARP 表,以便后续相同源和目的的数据帧能够快速转发,无需再次进行路由查找。
应用场景
二层交换机:适用于小型局域网或企业网络中的接入层。
三层交换机:常用于企业网络的核心层和汇聚层。
接口类型
二层交换机:通常具备多个以太网电口(RJ45 接口),用于连接各种支持以太网接口的设备,部分二层交换机可能还会提供少量的光纤接口,用于长距离传输或连接其他交换机。
三层交换机:除了具备与二层交换机类似的以太网电口和光纤接口外,一些三层交换机还可能提供高速的万兆以太网接口或其他类型的广域网接口,以满足不同网络环境下的高速数据传输和连接需求。
配置复杂度
二层交换机:配置相对简单,主要涉及端口配置、VLAN 划分、生成树协议(STP)等基本功能的设置。对于小型网络,通常可以采用默认配置快速部署,无需进行复杂的设置。
三层交换机:由于具备路由功能,其配置相对复杂一些。除了二层交换机的相关配置外,还需要进行 IP 地址分配、路由协议配置、访问控制列表(ACL)设置等,以实现不同网段之间的通信和网络安全控制。
5.交换机的三种处理数据帧行为
①泛洪
如果从传输介质进入交换机的某个端口的帧是一个单播帧,交换机会去MAC表查这个帧的目的MAC地址。如果查不到这个MAC地址,则交换机将对该单播帧执行泛洪操作。
如果从传输介质进入交换机的某个端口的帧是一个广播帧,交换机不会去查MAC地址表,而是直接对该广播帧执行泛洪操作。
②转发
如果从传输介质进入交换机的某个端口的帧是一个单播帧,则交换机会去MAC表查这个帧的目的MAC地址。
如果查到了这个MAC地址表,则比较这个MAC地址在MAC地址表中对应的端口编号是不是这个帧从传输介质进入交换机的那个端口的端口编号。如果不是,则交换机执行转发操作(将该帧送至该帧目的MAC地址在MAC地址表中对应的那个端口,并从那个端口发送出去)。
③丢弃
如果从传输介质进入交换机的某个端口的帧是一个单播帧,则交换机会去MAC表查这个帧的目的MAC地址。
如果查到了这个MAC地址表,则比较这个MAC地址在MAC地址表中对应的端口编号是不是这个帧从传输介质进入交换机的那个端口的端口编号。如果是,则交换机将对该帧执行丢弃操作。
八、VLAN
虚拟局域网VLAN可以隔离广播域。特点:不受地域限制。同一VLAN内的设备才能直接进行二层通信。
VLAN的特点:
一个VLAN就是一个广播域,所以在同一个VLAN内部,计算机可以直接进行二层通信;而不同VLAN内的计算机,无法直接进行二层通信,只能进行三层通信来传递信息,即广播报文被限制在一个VLAN内。
VLAN的划分不受地域的限制。
VLAN的好处:
灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内
的用户直接通信。
提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
在一个VLAN交换网络中,以太网帧主要有以下两种形式:
有标记帧(Tagged帧):IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协
议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag)的数据帧。
无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的数据帧。
1.vlan的划分方式
VLAN的划分包括如下5种方法:
基于接口划分:根据交换机的接口来划分VLAN。
网络管理员预先给交换机的每个接口配置不同的PVID,当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的标签,然后数据帧将在指定VLAN中传输。
基于MAC地址划分:根据数据帧的源MAC地址来划分VLAN。
网络管理员预先配置MAC地址和VLAN ID映射关系表,当交换机收到的是Untagged帧时,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
基于IP子网划分:根据数据帧中的源IP地址和子网掩码来划分VLAN。
网络管理员预先配置IP地址和VLAN ID映射关系表,当交换机收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
**基于协议划分:根据数据帧所属的协议(族)类型及封装格式来划分VLAN。**网络管理员预先配置以太网帧中的协议域和VLAN ID的映射关系表,如果收到的是Untagged帧,就依据该表
给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
基于策略划分:根据配置的策略划分VLAN,能实现多种组合的划分方式,包括接口、MAC地址、IP地址等。
网络管理员预先配置策略,如果收到的是Untagged帧,且匹配配置的策略时,给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
2.以太网二层接口类型
Access接口:
Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。
Trunk接口:
Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。
Hybrid接口:
Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器等),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。
①Access
Access****接口特点:
仅允许VLAN ID与接口PVID相同的数据帧通过。
Access****接口接收数据帧:
当Access接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后对得到的Tagged帧进行转发操作(泛洪、转发、丢弃)。
当Access接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否与PVID相同。如果相同, 则对这个Tagged帧进行转发操作;如果不同,则直接丢弃这个Tagged帧。
Access****接口发送数据帧:
当一个Tagged帧从本交换机的其他接口到达一个Access接口后,交换机会检查这个帧的Tag中的VID是否与
PVID相同:
如果相同,则将这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去;
如果不同,则直接丢弃这个Tagged帧。
②Trunk
Trunk****接口特点:
Trunk接口仅允许VLAN ID在允许通过列表中的数据帧通过。
Trunk接口可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。
Trunk****接口接收数据帧:
当Trunk接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后查看PVID是否在允许通过的VLAN ID列表中。如果在,则对得到的Tagged帧进行转发操作;如果不在,则直接丢弃得到的Tagged帧。
当Trunk接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否在允许通过的VLAN ID列表中。如果在,则对这个Tagged帧进行转发操作;如果不在,则直接丢弃这个Tagged帧。
Trunk****接口发送数据帧:
当一个Tagged帧从本交换机的其他接口到达一个Trunk接口后,如果这个帧的Tag中的VID不在允许通过的VLAN ID列表中,则该Tagged帧会被直接丢弃。
当一个Tagged帧从本交换机的其他接口到达一个Trunk接口后,如果这个帧的Tag中的VID在允许通过的VLAN ID列表中,则会比较该Tag中的VID是否与接口的PVID相同:
如果相同,则交换机会对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去;
如果不同,则交换机不会对这个Tagged帧的Tag进行剥离,而是直接将它从链路上发送出去。
③Hybrid对于Hybrid接口,除了要配置PVID外,还存在两个允许通过的VLAN ID列表,一个是Untagged VLAN ID列表,另一个是Tagged VLAN ID列表,其中VLAN 1默认在Untagged VLAN列表中。这两个允许通过列表中的所有VLAN的帧都是允许通过这个Hybrid接口的。
Hybrid接口特点:
Hybrid接口仅允许VLAN ID在允许通过列表中的数据帧通过。
Hybrid接口可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag、某些VLAN的帧不带Tag。
与Trunk最主要的区别就是,能够支持多个VLAN的数据帧,不带标签通过。
**Hybrid****接口接收数据帧:**当Hybrid接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后查看PVID是否在Untagged或Tagged VLAN ID列表中。如果在,则对得到的Tagged帧进行转发操作;如果不在,则直接丢弃得到的Tagged帧。
当Hybrid接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否在Untagged或Tagged VLAN ID列表中。如果在,则对这个Tagged帧进行转发操作;如果不在,则直接丢弃这个Tagged帧。
Hybrid****接口发送数据帧:
当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID既不在Untagged VLAN ID列表中,也不在Tagged VLAN ID列表中,则该Tagged帧会被直接丢弃。
当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID在Untagged VLAN ID列表中,则交换机会对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去。
当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID在Tagged VLAN ID列表中,则交换机不会对这个Tagged帧的Tag进行剥离,而是直接将它从链路上发送出去。
总结
当接收数据帧时:
当接收到不带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会给数据帧打上VLAN标签,但Trunk接口、Hybrid接口会根据数据帧的VID是否为其允许通过的VLAN来判断是否接收,而Access接口则无条件接收。
当接收到带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会根据数据帧的VID是否为其允许通过的VLAN(Access接口允许通过的VLAN就是缺省VLAN)来判断是否接收。
当发送数据帧时:
Access接口直接剥离数据帧中的VLAN标签。
Trunk接口只有在数据帧中的VID与接口的PVID相等时才会剥离数据帧中的VLAN标签。
Hybrid接口会根据接口上的配置判断是否剥离数据帧中的VLAN标签。
3.VLANIF
VLANIF接口是一种三层的逻辑接口,支持VLAN Tag的剥离和添加,因此可以通过VLANIF接口实现VLAN之间的通信。
VLANIF接口编号与所对应的VLAN ID相同。
九、生成树协议
在以太网中,二层网络的环路会带来广播风暴,MAC地址表震荡,重复数据帧等问题,为解决交换网络中的环路问题,提出了STP。
STP通过构造一棵树来消除交换网络中的环路。
运行STP算法,判断网络中存在环路的地方并阻断冗余链路,将环路网络修剪成无环路的树型网络,从而避免了数据帧在环路网络中的增生和无穷循环。
1.STP
STP是一个用于局域网中消除环路的协议。运行该协议的设备通过彼此交互信息而发现网络中的环路,并对某些接口进行阻塞以消除环路。
STP在网络中运行后会持续监控网络的状态,当网络出现拓扑变更时,STP能够感知并且进行自动响应,从而使得网络状态适应新的拓扑结构,保证网络可靠性。
①桥ID
在STP中,每一台交换机都有一个标示符,叫做Bridge ID或者桥ID,桥ID由16位的桥优先级(Bridge
Priority)和48位的MAC地址构成。在STP网络中,桥优先级是可以配置的,取值范围是0~65535,默认值为32768,可以修改但是修改值必须为1024的倍数。优先级最高的设备(数值越小越优先)会被选举为根桥。如果优先级相同,则会比较MAC地址,MAC地址越小则越优先。
②根桥
树形的网络结构必须有树根,于是STP引入了根桥(Root Bridge)概念。
对于一个STP网络,根桥在全网中只有一个,它是整个网络的逻辑中心,但不一定是物理中心。根桥会根据网络拓扑的变化而动态变化。网络收敛后,根桥会按照一定的时间间隔产生并向外发送配置BPDU,其他设备仅对该报文进行处理,传达拓扑变化记录,从而保证拓扑的稳定。
③Cost
交换机的每个端口都有一个端口开销(Port Cost)参数,此参数表示该端口在STP中的开销值。默认情况下端 口的开销和端口的带宽有关,带宽越高,开销越小。
④RPC
从一个非根桥到达根桥的路径可能有多条,每一条路径都有一个总的开销值,此开销值是该路径上所有接收BPDU端口的端口开销总和(即BPDU的入方向端口),称为路径开销。非根桥通过对比多条路径的路径开销,选出到达根桥的最短路径,这条最短路径的路径开销被称为RPC,并生成无环树状网络。根桥的根路径开销是0。
⑤port ID
运行STP交换机的每个端口都有一个端口ID,端口ID由端口优先级和端口号构成。端口优先级取值范围是0到 240,步长为16,即取值必须为16的整数倍。缺省情况下,端口优先级是128。端口ID可以用来确定端口角色。
⑥BPDU
为了计算生成树,交换机之间需要交换相关的信息和参数,这些信息和参数被封装在BPDU中。
BPDU有两种类型:配置BPDU和TCN BPDU。配置BPDU包含了桥ID、路径开销和端口ID等参数。STP协议通过在交换机之间传递配置BPDU来选举根交换机,以及确定每个交换机端口的角色和状态。在初始化过程中,每个桥都主动发送配置BPDU。在网络拓扑稳定以后,只有根桥主动发送配置BPDU,其他交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU。
TCN BPDU是指下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知。
2.配置BPDU
①比较原则
STP****操作:
选举一个根桥。每个非根交换机选举一个根端口。每个网段选举一个指定端口。阻塞非根、非指定端口。
STP****中定义了三种端口角色:指定端口,根端口和预备端口。
3.STP计算过程
①选举根桥
选举过程:
STP交换机初始启动之后,都会认为自己是根桥,并在发送给其他交换机的BPDU中宣告自己为根桥。因此, 此时BPDU中的根桥ID为各自设备的网桥ID。当交换机收到网络中其他设备发送来的BPDU后,会比较BPDU中的根桥ID和自己的BID。
交换机不断交互BPDU,同时对BID进行比较,最终选举一台BID最小的交换机作为根桥,其他的则为非根桥。
②选举根端口
选举过程:
1、交换机有多个端口接入网络,各个端口都会收到BPDU报文,报文中会携带“RootID、RPC、BID、PID”等关键字段,端口会针对这些字段进行PK。
2、首先比较根路径开销(RPC),STP协议把根路径开销作为确定根端口的重要依据。RPC值越小,越优选,因此交换机会选RPC最小的端口作为根端口。
3、当RPC相同时,比较上行交换机的BID,即比较交换机各个端口收到的BPDU中的BID,值越小,越优选,因此交换机会选上行设备BID最小的端口作为根端口。
4、当上行交换机BID相同时,比较上行交换机的PID,即比较交换机各个端口收到的BPDU中的PID,值越小,越优先,因此交换机会选上行设备PID最小的端口作为根端口。
5、当上行交换机的PID相同时,则比较本地交换机的PID,即比较本端交换机各个端口各自的PID,值越小,越优先,因此交换机会选端口PID最小的端口作为根端口。
③选举指定接口
什么是指定端口?
网络中的每个链路与根桥之间的工作路径必须是唯一的且最优的。当一个链路有两条及以上的路径通往根桥时(该链路连接了不同的交换机,或者该链路连接了同一台交换机的不同端口),与该链路相连的交换机(可能不止一台)就必须确定出一个唯一的指定端口。
因此,每个链路(Link)选举一个指定端口,用于向这个链路发送BPDU。
选举过程:
指定端口也是通过比较RPC来确定的,选择RPC最小的作为指定端口,如果RPC相同,则比较BID和PID。
1、首先比较根路径开销(RPC),值越小,越优选,因此交换机会选RPC最小的端口作为指定端口。
2、若RPC相等,则比较链路两端交换机的BID,值越小,越优选,因此交换机会选BID最小的交换机的端口作为指定端口。
3、若BID相等,则比较链路两端端口的PID,值越小,越优选,因此交换机会选PID最小的交换机的端口作为指定端口。
④阻塞非指定端口
什么是非指定端口(预备端口)?
在确定了根端口和指定端口之后,交换机上所有剩余的非根端口和非指定端口统称为预备端口。阻塞非指定端口
STP会对这些非指定端口进行逻辑阻塞,即这些端口不能转发由终端计算机产生并发送的帧(用户数据帧)。
一旦非指定端口被逻辑阻塞后,STP树(无环路工作拓扑)就生成了。
4.STP接口
①接口状态
②STP接口状态迁移
图中所示为STP的端口状态迁移机制,运行STP协议的设备上端口状态有5种:
Forwarding:转发状态。端口既可转发用户流量也可转发BPDU报文,只有根端口或指定端口才能进入Forwarding状态。
Learning:学习状态。端口可根据收到的用户流量构建MAC地址表,但不转发用户流量。增加Learning状态是为了防止临时环路。
Listening:侦听状态。端口可以转发BPDU报文,但不能转发用户流量。
Blocking:阻塞状态。端口仅仅能接收并处理BPDU,不能转发BPDU,也不能转发用户流量。此状态是预备端口的最终状态。
Disabled:禁用状态。端口既不处理和转发BPDU报文,也不转发用户流量。
5.RSTP
①STP缺陷
STP协议虽然能够解决环路问题,但是由于网络拓扑收敛慢,影响了用户通信质量。如果网络中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断,这是用户无法忍受的。
STP没有细致区分接口状态和接口角色,不利于初学者学习及部署。网络协议的优劣往往取决于协议是否对各种情况加以细致区分。
从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。
从使用和配置角度来讲,接口之间最本质的区别并不在于接口状态,而是在于接口扮演的角色。
根接口和指定接口可以都处于Listening状态,也可能都处于Forwarding状态。
STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。
STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文,而其他设备进行处理,传遍整个STP网络。这也是导致拓扑收敛慢的主要原因之一。
②RSTP介绍
RSTP(快速生成树)是从STP演化而来的,基本思想一样;当交换网络拓扑结构发生变化时, RSTP可以通过Proposal/Agreement机制更快地恢复网络的连通性。RSTP引入了新的接口角色,其中替代接口的引入使得交换机在根接口失效时,能够立即获得新的路径到达根桥。备份端口作为指定端口的备份,帮助链路上的网桥快速获得到根桥的备份路径。RSTP的状态规范根据端口是否转发用户流量和学习MAC地址把原来的5种状态缩减为3种。 另外,RSTP还引入了边缘接口的概念,这使得交换机连接终端设备的接口在初始化之后能够立即进入转发状态,提高了工作效率。
根据STP的不足,RSTP删除了3种端口状态,新增加了2种端口角色,并且把端口属性充分的按照状态和角色解耦;此外,RSTP还增加了相应的一些增强特性和保护措施,实现网络的稳定和快速收敛。RSTP是可以与STP实现后向兼容的,但在实际中,并不推荐这样的做法,原因是RSTP会失去其快速收敛的优势,而STP慢速收敛的缺点会暴露出来。
③其他改进
配置BPDU的处理发生变化,拓扑稳定后,配置BPDU报文的发送方式进行了优化,使用更短的BPDU超时计时;对处理次等BPDU的方式进行了优化。
配置BPDU格式的改变,充分利用了STP协议报文中的Flag字段,明确了接口角色。RSTP拓扑变化处理:相比于STP进行了优化,加速针对拓扑变更的反应速度。
④端口角色
从配置BPDU报文发送角度来看:
预备(Alternate)接口就是由于学习到其它网桥发送的配置BPDU报文而阻塞的接口。
备份(Backup)接口就是由于学习到自己发送的配置BPDU报文而阻塞的接口。
从用户流量角度来看:
Alternate接口提供了从指定桥到根的另一条可切换路径,作为根接口的备份接口。
Backup接口作为指定接口的备份,提供了另一条从根桥到相应网段的备份通路。
⑤边缘端口
⑥端口状态
RSTP的状态规范把原来的5种状态缩减为3种。
如果不转发用户流量也不学习MAC地址,那么接口状态就是Discarding状态。
如果不转发用户流量但是学习MAC地址,那么接口状态就是Learning状态。
如果既转发用户流量又学习MAC地址,那么接口状态就是Forwarding状态。
6.生成树协议进阶
RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。
但RSTP和STP还存在同一个缺陷:由于局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,还有可能造成部分VLAN的报文无法转发。
①VBST基于VLAN的生成树
华为公司提出了VBST(VLAN-Based Spanning Tree)生成树解决方案。该解决方案中,生成树的形成是基于VLAN的,不同VLAN间可形成相互独立的生成树,不同VLAN内的流量沿着各自的生成树转发,进而可实现流量的负载分担。
②MSTP多生成树
为了弥补STP和RSTP的缺陷,IEEE于2002年发布的802.1s标准定义了MSTP。
MSTP兼容STP和RSTP,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。
十、链路聚合
1.以太网链路聚合
以太网链路聚合Eth-Trunk:简称链路聚合,通过将多个物理接口捆绑成为一个逻辑接口,可以在不进行硬件升级的条件下,达到增加链路带宽的目的。
2.链路聚合术语
聚合组(Link Aggregation Group,LAG):若干条链路捆绑在一起所形成的的逻辑链路。每个聚合组唯一对应着一个逻辑接口,这个逻辑接口又被称为链路聚合接口或Eth-Trunk接口。
成员接口和成员链路:组成Eth-Trunk接口的各个物理接口称为成员接口。成员接口对应的链路称为成员链路。
活动接口和活动链路:活动接口又叫选中(Selected)接口,是参与数据转发的成员接口。活动接口对应的链路被称为活动链路(Active link)
非活动接口和非活动链路:又叫非选中(Unselected)接口,是不参与转发数据的成员接口。非活动接口对应的链路被称为非活动链路(Inactive link)。
聚合模式 :根据是否开启LACP(Link Aggregation Control Protocol,链路聚合控制协议),链路聚合可以分为手工模式和LACP模式。
其他概念:活动接口上限阈值和活动接口下限阈值。
链路聚合接口可以作为普通的以太网接口来使用,与普通以太网接口的差别在于:转发的时候链路聚合组需要从成员接口中选择一个或多个接口来进行数据转发。
一个聚合组内要求成员接口以下参数相同:
接口速率
双工模式
VLAN配置:接口类型都是Trunk或者Access,如果为Access接口的default VLAN需要一致,如果为Trunk接口,接口放通的VLAN、缺省VLAN需要一致。
3.手工模式的缺陷
为了使链路聚合接口正常工作,必须保证本端链路聚合接口中所有成员接口的对端接口:
属于同一设备
加入同一链路聚合接口
手工模式下,设备间没有报文交互,因此只能通过管理员人工确认。
手动模式下,设备只能通过物理层状态判断对端接口是否正常工作。
4.LACP
LACP模式:采用LACP协议的一种链路聚合模式。设备间通过链路聚合控制协议数据单元(Link Aggregation Control Protocol Data Unit,LACPDU)进行交互,通过协议协商确保对端是同一台设备、同一个聚合接口的成员接口。
LACPDU报文中包含设备优先级、MAC地址、接口优先级、接口号等。
①系统优先级
LACP模式下,两端设备所选择的活动接口数目必须保持一致,否则链路聚合组就无法建立。此时可以使其中一端成为主动端,另一端(被动端)根据主动端选择活动接口。
通过系统LACP优先级确定主动端,值越小优先级越高。
②接口优先级
选出主动端后,两端都会以主动端的接口优先级来选择活动接口,优先级高的接口将优先被选为活动接口。接口LACP优先级值越小,优先级越高。
③最大活动连接数
LACP模式支持配置最大活动接口数目,当成员接口数目超过最大活动接口数目时会通过比较接口优先级、接口号选举出较优的接口成为活动接口,其余的则成为备份端口(非活动接口),同时对应的链路分别成为活动链路、非活动链路。交换机只会从活动接口中发送、接收报文。
当活动链路中出现链路故障时,可以从非活动链路中找出一条优先级最高(接口优先级、接口编号比较)的链路替换故障链路,实现总体带宽不发生变化、业务的不间断转发。
④最大活动连接数的选举
链路聚合控制协议(LACP)选举活动链路的规则如下:
系统优先级:系统优先级用于区分不同的设备,取值范围通常是 0 - 65535,数值越小优先级越高。具有较低系统优先级的设备将成为主动端,负责发起和控制链路聚合过程。如果两端设备的系统优先级相同,则比较设备的 MAC 地址,MAC 地址较小的设备成为主动端。
端口优先级:在主动端设备上,会根据端口优先级来选择活动链路。端口优先级的取值范围也是 0 - 65535,数值越小优先级越高。如果多个端口的优先级相同,则比较端口号,端口号较小的端口被优先选择为活动链路。
链路质量:LACP 会通过一些机制来监测链路的质量,如信号强度、误码率等。只有链路质量满足一定要求的端口才会被考虑作为活动链路。如果一条链路的质量持续低于某个阈值,LACP 可能会将其从活动链路中移除,并选择其他可用的链路。
成员端口数量:在满足其他条件的情况下,LACP 会尽量选择成员端口数量较多的链路聚合组作为活动链路。这是因为成员端口数量越多,链路聚合组的带宽也就越大,能够提供更高的数据传输能力。
⑤负载分担
Eth-trunk支持基于报文的IP地址或MAC地址来进行负载分担,可以配置不同的模式(本地有效,对出方向报文生效)将数据流分担到不同的成员接口上。
常见的模式有:源IP、源MAC、目的IP、目的MAC、源目IP、源目MAC。
如果报文的IP地址变化较频繁,那么选择基于源IP、目的IP或者源目IP的负载分担模式更有利于流量在各物理链路间合理的负载分担;
如果报文的MAC地址变化较频繁,IP地址比较固定,那么选择基于源MAC、目的MAC或源目MAC的负载分担模式更有利于流量在各物理链路间合理的负载分担。
十一、ACL
1.概述
ACL是由一系列permit或deny语句组成的、有序规则的列表。ACL是一个匹配工具,能够对报文进行匹配和区分。
通过ACL可以实现对网络中报文流的精确识别和控制,达到控制网络访问行为、防止网络攻击和提高网络带宽利用率的目的,从而切实保障网络环境的安全性和网络服务质量的可靠性。
ACL是由permit或deny语句组成的一系列有顺序的规则的集合;它通过匹配报文的相关字段实现对
报文的分类。
ACL是能够匹配一个IP数据包中的源IP地址、目的IP地址、协议类型、源目的端口等元素的基础性工具;
ACL还能够用于匹配路由条目。
2.ACL组成
ACL编号:在网络设备上配置ACL时,每个ACL都需要分配一个编号,称为ACL编号,用来标识ACL。不同分类的ACL编号范围不同,这个后面具体讲。
规则:前面提到了,一个ACL通常由若干条“permit/deny”语句组成,每条语句就是该ACL的一条规则。规则编号:每条规则都有一个相应的编号,称为规则编号,用来标识ACL规则。可以自定义,也可以系统自动分配。ACL规则的编号范围是0~4294967294,所有规则均按照规则编号从小到大进行排序。
动作:每条规则中的permit或deny,就是与这条规则相对应的处理动作。permit指“允许”,deny指“拒
绝”,但是ACL一般是结合其他技术使用,不同的场景,处理动作的含义也有所不同。
3.编号规则
4.通配符
当进行IP地址匹配的时候,后面会跟着32位掩码位,这32位称为通配符。
通配符,也是点分十进制格式,换算成二进制后,“0”表示“匹配”,“1”表示“不关心”。
这就得出了通配符的一个特点:通配符中的1或者0是可以不连续的。
还有两个特殊的通配符:
当通配符全为0来匹配IP地址时,表示精确匹配某个IP地址;
当通配符全为1来匹配0.0.0.0地址时,表示匹配了所有IP地址。
5.ACL匹配机制
ACL的匹配机制概括来说就是:
配置ACL的设备接收报文后,会将该报文与ACL中的规则逐条进行匹配,如果不能匹配上,就会继续尝试去匹配下一条规则。
一旦匹配上,则设备会对该报文执行这条规则中定义的处理动作,并且不再继续尝试与后续规则匹
配。
匹配流程:首先系统会查找设备上是否配置了ACL。
如果ACL不存在,则返回ACL匹配结果为:不匹配。
如果ACL存在,则查找设备是否配置了ACL规则。
如果规则不存在,则返回ACL匹配结果为:不匹配。
如果规则存在,则系统会从ACL中编号最小的规则开始查找。
如果匹配上了permit规则,则停止查找规则,并返回ACL匹配结果为:匹配(允许)。
如果匹配上了deny规则,则停止查找规则,并返回ACL匹配结果为:匹配(拒绝)。
如果未匹配上规则,则继续查找下一条规则,以此循环。如果一直查到最后一条规则,报文仍未匹配上,则返回ACL匹配结果为:不匹配。
从整个ACL匹配流程可以看出,报文与ACL规则匹配后,会产生两种匹配结果:“匹配”和“不匹配”。
匹配(命中规则):指存在ACL,且在ACL中查找到了符合匹配条件的规则。不论匹配的动作是“permit”还是“deny”,都称为“匹配”,而不是只是匹配上permit规则才算“匹配”。
不匹配(未命中规则):指不存在ACL,或ACL中无规则,再或者在ACL中遍历了所有规则都没有找到符合匹配条件的规则。以上三种情况,都叫做“不匹配”。
匹配原则:一旦命中即停止匹配。
华为设备支持两种匹配顺序:自动排序(auto模式)和配置顺序(config模式)。缺省的ACL匹配顺序是config模式。
自动排序,是指系统使用“深度优先”的原则,将规则按照精确度从高到低进行排序,并按照精确度
从高到低的顺序进行报文匹配。——这个比较复杂,这里就不具体展开了,感兴趣的同学可以课后查看资料。
配置顺序,系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。
——这个就是我们前面提到的匹配顺序。
6.ACL分类及标识
基于ACL规则定义方式的划分,可分为:
基本ACL、高级ACL、二层ACL、用户自定义ACL和用户ACL。
基于ACL标识方法的划分,则可分为:数字型ACL和命名型ACL。
十二、AAA
AAA是Authentication(认证)、Authorization(授权)和Accounting(计费)的简称,是网络安全的一种管理机制,提供了认证、授权、计费三种安全功能。
1.AAA常见架构
AAA常见网络架构中包括用户、NAS(Network Access Server)、AAA服务器(AAA Server)。
NAS基于域来对用户进行管理,每个域都可以配置不同的认证、授权和计费方案,用于对该域下的用户进行认证、授权和计费。
每个用户都属于某一个域。用户属于哪个域是由用户名中的域名分隔符@后的字符串决定。例如,如果用户名是user1@domain1,则用户属于domain1域。如果用户名后不带有@,则用户属于系统缺省域。
2.认证
AAA支持三种认证方式:
不认证:完全信任用户,不对用户身份进行合法性检查。鉴于安全考虑,这种认证方式很少被采
用。
本地认证:将本地用户信息(包括用户名、密码和各种属性)配置在NAS上,此时NAS就是AAA
Server。本地认证的优点是处理速度快、运营成本低;缺点是存储信息量受设备硬件条件限制。这种认证方式常用于对用户登录设备进行管理,如Telnet,FTP用户等。
远端认证:将用户信息(包括用户名、密码和各种属性)配置在认证服务器上。支持通过RADIUS协议或HWTACACS协议进行远端认证。NAS作为客户端,与RADIUS服务器或HWTACACS服务器进行通信。
3.授权
AAA授权功能赋予用户访问的特定网络或设备的权限。AAA支持以下授权方式:
不授权:不对用户进行授权处理。
本地授权:根据NAS上对应域下的配置进行授权。
远端授权:支持由RADIUS服务器授权或HWTACAS服务器授权。
HWTACACS授权,使用HWTACACS服务器对所有用户授权。
RADIUS授权,只支持对通过RADIUS服务器认证的用户授权。RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。
当采用远端授权时,用户可以同时从授权服务器和NAS获取授权信息。NAS配置的授权信息优先级比授权服务器下发的授权信息低。
4.计费
AAA支持以下两种计费方式:
不计费:为用户提供免费上网服务,不产生相关活动日志。
远端计费:支持通过RADIUS服务器或HWTACACS服务器进行远端计费。
5.AAA实现协议-RADIUS
AAA可以用多种协议来实现,最常用的是RADIUS协议。RADIUS是一种分布式的、客户端/服务器结构的信息交互协议,可以实现对用户的认证、计费和授权功能。
通常由NAS作为RADIUS客户端,负责传输用户信息到指定的RADIUS服务器,然后根据从服务器返回的信息进行相应处理(如接受/拒绝用户接入)。
RADIUS客户端与服务器间的消息流程如下:
当用户接入网络时,用户发起连接请求,向RADIUS客户端(即NAS)发送用户名和密码。
RADIUS客户端向RADIUS服务器发送包含用户名和密码信息的认证请求报文。
RADIUS服务器接收到合法的请求后,完成认证,并把所需的用户授权信息返回给客户端;对于非法
的请求,RADIUS服务器返回认证失败的信息给客户端。
RADIUS客户端通知用户认证是否成功。
RADIUS客户端根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则RADIUS客户端向
RADIUS服务器发送计费开始请求报文。
RADIUS服务器返回计费开始响应报文,并开始计费。
用户开始访问网络资源。当用户不再想要访问网络资源时,用户发起下线请求,请求停止访问网络
资源。
RADIUS客户端向RADIUS服务器提交计费结束请求报文。
RADIUS服务器返回计费结束响应报文,并停止计费。
RADIUS客户端通知用户访问结束,用户结束访问网络资源。
十三、网络地址转换
随着Internet的发展和网络应用的增多,有限的IPv4公有地址已经成为制约网络发展的瓶颈。为解决这个问题,NAT(Network Address Translation,网络地址转换)技术应需而生。
NAT技术主要用于实现内部网络的主机访问外部网络。一方面NAT缓解了IPv4地址短缺的问题,另一方面NAT技术让外网无法直接与使用私有地址的内网进行通信,提升了内网的安全性。
NAT:对IP数据报文中的IP地址进行转换,是一种在现网中被广泛部署的技术,一般部署在网络出口设备。
1.静态NAT
静态NAT:每个私有地址都有一个与之对应并且固定的公有地址,即私有地址和公有地址之间的关系是一对一映射。
支持双向互访:私有地址访问Internet经过出口设备NAT转换时,会被转换成对应的公有地址。同时,外部网络访问内部网络时,其报文中携带的公有地址(目的地址)也会被NAT设备转换成对应的私有地址。
2.动态NAT
动态NAT:静态NAT严格地一对一进行地址映射,这就导致即便内网主机长时间离线或者不发送数据时, 与之对应的公有地址也处于使用状态。为了避免地址浪费,动态NAT提出了地址池的概念:所有可用的公有地址组成地址池。
当内部主机访问外部网络时临时分配一个地址池中未使用的地址,并将该地址标记为“In Use”。当该主机不再访问外部网络时回收分配的地址,重新标记为“Not Use”。
3.NAPT
动态NAT选择地址池中的地址进行地址转换时不会转换端口号,即No-PAT(No-Port Address Translation,非端口地址转换),公有地址与私有地址还是1:1的映射关系,无法提高公有地址利用率。
NAPT(Network Address and Port Translation,网络地址端口转换):从地址池中选择地址进行地址
转换时不仅转换IP地址,同时也会对端口号进行转换,从而实现公有地址与私有地址的1:n映射,可以有效提高公有地址利用率。
NAPT借助端口可以实现一个公有地址同时对应多个私有地址。该模式同时对IP地址和传输层端口进行转换,实现不同私有地址(不同的私有地址,不同的源端口)映射到同一个公有地址(相同的公有地址,不同的源端口)。
4.Easy IP
Easy IP:实现原理和NAPT相同,同时转换IP地址、传输层端口,区别在于Easy IP没有地址池的概念,使用接口地址作为NAT转换的公有地址。
Easy IP适用于不具备固定公网IP地址的场景:如通过DHCP、PPPoE拨号获取地址的私有网络出口,可以直接使用获取到的动态地址进行转换。
5.NAT Server
NAT Server:指定[公有地址:端口]与[私有地址:端口]的一对一映射关系,将内网服务器映射到公网,当私有网络中的服务器需要对公网提供服务时使用。
外网主机主动访问[公有地址:端口]实现对内网服务器的访问。
总结
动态NAT、NAPT、Easy IP为私网主机访问公网提供源地址转换。
NAT Server实现了内网主机对公网提供服务。
静态NAT提供了一对一映射,支持双向互访。
关联文档
- 网络 — 网络总览
- eBPF 技术详解 — eBPF 内核
- firewalld 与 iptables 对比 — 防火墙
- ICMP 协议原理 — ICMP
- CRC 循环冗余校验原理 — CRC