OSl参考模型中从低到高依次是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
应用层:文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet。
表示层:数据格式化,代码转换,数据加密,没有协议。
会话层:负责验证访问和会话管理。解除或建立与别的接点的联系,没有协议。
传输层:为会话层用户提供一个端到端的可靠、透明和优化的数据传输服务机制。(端口号)
网络层:为特定类型的网络应用提供了访问OSI环境的手段。(IP)
数据链路层:将数据分帧,并处理流控制,以实现介质访问控制。(以太网)
物理层:利用物理传输介质为数据链路层提供物理连接,以便透明的传送比特流。
应用层:应用层是TCP/IP协议的第一层,是直接为应用进程提供服务的。
传输层:作为TCP/IP协议的第二层,运输层在整个TCP/IP协议中起到了中流砥柱的作用。且在运输层中,TCP和UDP也同样起到了中流砥柱的作用。
网络层:网络层在TCP/IP协议中的位于第三层。在TCP/IP协议中网络层可以进行网络连接的建立和终止以及IP地址的寻找等功能。
网络接口层:在TCP/IP协议中,网络接口层位于第四层。由于网络接口层兼并了物理层和数据链路层所以,网络接口层既是传输数据的物理媒介,也可以为网络层提供一条准确无误的线路。
双绞线特征:
缺点:
优点:
6类双绞线以及以上就有屏蔽层:屏蔽层用来避免干扰。
双绞线:做双绞线相应的线序是有标准的:橙白-1、橙-2、绿白-3、蓝-4、蓝白-5、绿-6、棕白-7、棕-8
光纤特征:
优点:
缺点:
光纤分类:
发送、接收同一种光信号。
发送、接收同多种光信号。
多模光纤有致命缺点:会有光的色散(影响信号失真)
在共享网络中,收到一个数据会从除了接收端口以外的所有关口进行转发,容易造成数据的冲突。
单工:只发不收(鼠标,键盘)
半双工:既能发又能收,但是不是同时(对讲机)
双工:可以同时发同时收(手机)
数据:在应用层里面称之为数据,在网络里面称之为PDU(分组数据单元),当PDU传送到传输层,需要进行封装。当到达传输层,需要在PDU前面添加源目端口号,封装完成后称之为数据段。将数据段传送给网络层,当PDU到达网络层,需要在PUD前面添加源目IP地址,主要为了选择最优路径。封装完成称之为数据包,将数据包转给数据链路层,当PDU到达数据链路层,需要在PDU前面添加源目MAC地址,主要是找到对应的设备。封装完成后称之为数据帧,传送给传输介质,形成比特流,从而可以在网络中传输。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uhuNrcgD-1657113343457)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220627111426608.png)]应用层:数据
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ML5b6D6E-1657113343459)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220627143532595.png)]传输层:数据段
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q6uwGORO-1657113343461)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220627143825068.png)]网络层:数据包
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oM4Y4oka-1657113343463)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220627144213500.png)]网络接口层:数据帧
PDU最大不能超过1500B
D.MAC:目的MAC地址(占用6个字节)
S.MAC:源MAC地址(占用6个字节)
Type:类型(有两种,分别代表:0x0800和0x0806。0x0800:代表上一层(第三层)是IP协议。0x0806:代表上一层(第三层)是ARP协议。)(占用2个字节)
DATA:数据(最大占用1500个字节)
FCS:帧校验(检查数据是否有问题)(占用4个字节)
2.数据链路层最大占用1518个字节,最小接收64个字节
超过1518个字节或者小于64个字节,FCS会将数据丢弃
如果MAC不一致 将直接丢弃。
判断是什么类型
转换为二进制:00110000-11001001-10101011-10001111-11100000-00001111
看第8位:如果位0为单播,如果为1为组播,全部为F为广播(FF-FF-FF-FF-FF-FF)
IP协议报文头部(长度:20-60个字节)
192.168.1.1一共有32位(192是十进制)化为二进制为11000000.10101000.00000001.00000001
最大的IP地址为255.255.255.255
上面的网络地址为:192.168.1.0
上面的广播地址为:192.168.1.255
A类地址:0.0.0.0-127.255.255.255
B类地址:128.0.0.0-191.255.255.255
C类地址:192.0.0.0-223.255.255.255
D类地址:224.0.0.0-239.255.255.255(组播地址)
E类地址:240.0.0-255.255.255.255
例如:172.17.10.10
网络地址:172.17.0.0
广播地址:172.17.255.255
(网络地址一样是代表在同一个网段)网络位代表的是一个网段,主机位代表的是一个可用的主机数。
可用主机数计算方法:2的主机位次方-2
如:172.17.10.10 (B类)
不能在互联网上传输,只能够在内网上使用
可以重复使用(不同的人都可以用所有的)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BSB54j7T-1657113343464)(C:\Users\LIUXINYU\Documents\Tencent Files\1990434829\FileRecv\Screenshot_20220628_094052.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ctDCNJXO-1657113343465)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220628095727838.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6tO9wjwo-1657113343466)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220628095742633.png)]
网段(网络地址)一样才可以进行通信
网段不一样需要使用路由器才能进行通信
网段不一样:只不知道MAC地址,数据无法进行封装
在设计网络时使用有类IP地址会造成地址的浪费
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fVgI4S7M-1657113343467)(C:\Users\LIUXINYU\Documents\Tencent Files\1990434829\FileRecv\Screenshot_20220628_102348.jpg)]
因为在左边这个框里在192.168.1.0这个网段里面可用主机数为254个,但是这里面只使用30个,会造成浪费。所以这时候使用可变长子网掩码。
例如:192.168.1.1
11000000.10101000.00000001.00000001
缩写:192.168.1.1/24(网络位24位,主机位8位)
原来默认的子网掩码为:
11111111.11111111.11111111.00000000
网络地址为:192.168.1.0
分为1网段
缩写:192.168.1.1/25(网络位25位,主机位7位)
默认的子网掩码为:
11111111.11111111.11111111.10000000
网络地址为:192.168.1.0
分为2网段:因为借的那一位可以为0/1
缩写:192.168.1.1/26(网络位26位,主机位6位)
默认的子网掩码为:
11111111.11111111.11111111.11000000
网络地址为:192.168.1.0
分为4网段:因为借的那一位可以为00/01/10/11
例如:192.168.1.7/25
192.168.1.00000111
分为几个网段:2
网络地址:192.168.1.0/25
广播地址:192.168.1.127/25
主机位位数:7
网络位位数:25
默认子网掩码:255.255.255.128
可用主机数:126
例如:192.168.1.130/25
192.168.1.10000010
分为几个网段:2
主机位位数:7
网络位位数:25
默认子网掩码:255.255.255.128
可用主机数:126
网络地址:192.168.1.128/25
广播地址:192.168.1.255/25
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m1rBBCXo-1657113343468)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220628142854135.png)]
Internet控制消息协议ICMP(Internet Control Message Protocol)是网络层的一个重要协议。ICMP协议用来在**网络设备间传递各种差错和控制信息,**并对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pHr7iuwy-1657113343469)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220628145823915.png)]
Type:表示ICMP消息类型
Code:表示同一消息类型中不同信息
checksum:校验位
Type=0 Code=0 echo reply 响应信息
Type=8 Code=0 echo request 请求信息
Type=5 Code=0 重定向
lICMP Redirect重定向消息用于支持路由功能。如图所示,主机A希望发送报文到服务器A,于是根据配置的默认网关地址向网关RTB发送报文。网关RTB收到报文后,检查报文信息,发现报文应该转发到与源主机在同一网段的另一个网关设备RTA,因为此转发路径是更优的路径,所以RTB会向主机发送一个Redirect消息,通知主机直接向另一个网关RTA发送该报文。主机收到Redirect消息后,会向RTA发送报文,然后RTA会将该报文再转发给服务器A。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pjWSc1mz-1657113343471)(C:\Users\LIUXINYU\Documents\Tencent Files\1990434829\FileRecv\Screenshot_20220628_145022.jpg)]
lICMP的另一个典型应用是Tracert。Tracert基于报文头中的TTL值来逐跳跟踪报文的转发路径。为了跟踪到达某特定目的地址的路径,源端首先将报文的TTL值设置为1。**该报文到达第一个节点后,TTL超时,于是该节点向源端发送TTL超时消息,消息中携带时间戳。然后源端将报文的TTL值设置为2,报文到达第二个节点后超时,该节点同样返回TTL超时消息,以此类推,直到报文到达目的地。**这样,源端根据返回的报文中的信息可以跟踪到报文经过的每一个节点,并根据时间戳信息计算往返时间。Tracert是检测网络丢包及时延的有效手段,同时可以帮助管理员发现网络中的路由环路。
ICMP的一个典型应用是Ping。Ping是检测网络连通性的常用工具,同时也能够收集其他相关信息。用户可以在Ping命令中指定不同参数,如ICMP报文长度、发送的ICMP报文个数、等待回复响应的超时时间等,设备根据配置的参数来构造并发送ICMP报文,进行Ping测试。
Ping命令的输出信息中包括目的地址、ICMP报文长度、序号、TTL值以及往返时间。序号是包含在Echo回复消息(Type=0)中的可变参数字段,TTL和往返时间包含在消息的IP头中。
用到:
Type=0 Code=0 echo reply 响应信息
Type=8 Code=0 echo request 请求信息
当网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须要包含目的MAC地址,因此发送端还必须获取到目的MAC地址。通过目的IP地址来获取目的MAC地址的过程是由ARP(Address Resolution Protocol)协议来实现的。
Operation Code:有两个选择,ARP的请求或ARP的响应
Source Hardware Address:源MAC地址
Source Protocol Address:源IP地址
Destination Hardware Address:目的MAC地址
Destination Protocol Address:目的IP地址
在数据封装过程中,不知道目的MAC地址,先将目的MAC地址设为广播地址(广播发送),所有的主机接收到该ARP Request报文后,都会检查它的目的协议地址字段与自身的IP地址是否匹配。如果不匹配,则该主机将不会响应该ARP Request报文。如果匹配,则该主机会将ARP报文中的源MAC地址和源IP地址信息记录到自己的ARP缓存表中,然后通过ARP Reply报文进行响应。同时Operation Code被设置为Reply。ARP Reply报文通过单播传送。l收到ARP Reply以后,会检查ARP报文中目的MAC地址是否与自己的MAC匹配。
因为路由器屏蔽广播包,所以ARP只能在二层(局域网)进行发送和接收
正常情况下,广播发送后,如果它的目的协议地址字段与自身的IP地址不匹配,正常情况下,会直接丢弃;如果遇到黑客主机,即使不匹配也会响应,不断发送自己的MAC地址,让目的MAC地址为黑客主机的MAC地址。
传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输控制协议TCP(Transmission Control Protocol)和用户数据包协议UDP(User Datagram Protocol)。
http:80 https:443 FTP:20/21(一个是数据端口,一个是控制端口) telent:23 ssh:22 smtp:25 pop3:110 mysql:3306 远程桌面:3389
过程1:seq=a(一个随机数);SYN=1(表示要进行同步)
过程2:seq=b(一个随机数);SYN=1(同步);ACK=1(进行确认);ack=a+1(收到了第a个数据包,请发送第a+1个数据包)
过程3:seq=a+1(发送第a+1个数据包);ack=b+1(确认收到了第b个,请发送第b+1个);ACK=1(确认);没有SYN(已经同步过了)
过程一前面的一个过程:seq=b-1;ack=a(发送b-1表示我已经收到了第b-1个数据包,请发送第a个数据包)
主机A想终止连接,于是发送一个标识了FIN,ACK的数据段,序列号为a,确认序列号为b。
服务器A回应一个标识了ACK的数据段,序列号为b,确认序号为a+1,作为对主机A的FIN报文的确认。
服务器A想终止连接,于是向主机A发送一个标识了FIN,ACK的数据段,序列号为b,确认序列号为a+1。
主机A回应一个标识了ACK的数据段,序列号为a+1,确认序号为b+1,作为对服务器A的FIN报文的确认。
以上四次交互便完成了两个方向连接的关闭。
在三次握手中,正常情况下需要三步(全连接)
在不正常情况下,只发送前两步,不发送第三步,服务器就需要等待主机发送第三步,如果大量的主机只发送前两步 服务器就瘫痪了。(半连接)
只发送ACK,不发送SYN。服务器以为它要发送数据,就会进行接收。如果有很多主机发送,会导致服务器缓存充斥着大量的数据垃圾。服务器就不进行工作了。
lUDP是一种面向无连接的传输层协议,传输可靠性没有保证。(不需要三次握手)
对传输速度和延迟要求较高。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KwstjpO1-1657113343473)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220629095609935.png)]
IP主要实现路由功能,如果再进行分片,会消耗消耗性能
TCP分片功能即MSS,UDP不具有分片功能
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rxq1t65n-1657113343474)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220629102744880.png)]
主机A访问服务器A数据包的转发
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T6zluywR-1657113343475)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220629103312350.png)]
目的端口号:服务器A为网站(http)端口号为80
源端口号:主机A的端口号随机数(8000)(不能为知名端口号)
源IP地址:主机A的IP地址:10.1.1.1/24
目的IP地址:服务器A的IP地址:172.16.10.1/24
源MAC地址:主机A的MAC地址
目的MAC地址:先为RTA左端端口号的MAC地址,RTA接收,设备收到帧之后,首先会进行FCS校验。如果FCS校验未能通过,则帧被立即丢弃。对于通过了FCS校验的帧,设备会检查帧中的目的MAC地址。如果帧中的目的MAC地址与自己的MAC地址不同,设备将丢弃帧,如果相同,则会继续处理。处理过程中,帧头帧尾会被剥去(也就是解封装)。
RTA收到此数据报文后,网络层会对该报文进行处理。RTA首先根据IP头部信息中的校验和字段,检查IP数据报文头部的完整性,然后根据目的IP地址查看路由表,确定是否能够将数据包转发到目的端。RTA还必须对TTL的值进行处理。另外,报文大小不能超过MTU值。如果报文大小超过MTU值,则报文将被分片。
网络层处理完成后,报文将被送到数据链路层重新进行封装,成为一个新的数据帧,该帧的头部会封装新的源MAC地址和目的MAC地址。如果当前网络设备不知道下一跳的MAC地址,将会使用ARP来获得。
路由器收到数据包后,会根据数据包中的目的IP地址选择一条最优的路径,并将数据包转发到下一个路由器,路径上最后的路由器负责将数据包送交目的主机。数据包在网络上的传输就好像是体育运动中的接力赛一样,每一个路由器负责将数据包按照最优的路径向下一跳路由器进行转发,通过多个路由器一站一站的接力,最终将数据包通过最优路径转发到目的地。当然有时候由于实施了一些特别的路由策略,数据包通过的路径可能并不一定是最佳的。
路由器能够决定数据报文的转发路径。如果有多条路径可以到达目的地,则路由器会通过进行计算来决定最佳下一跳。计算的原则会随实际使用的路由协议不同而不同。l路由器收到数据包后,会根据数据包中的目的IP地址选择一条最优的路径,并将数据包转发到下一个路由器,路径上最后的路由器负责将数据包送交目的主机。数据包在网络上的传输就好像是体育运动中的接力赛一样,每一个路由器负责将数据包按照最优的路径向下一跳路由器进行转发,通过多个路由器一站一站的接力,最终将数据包通过最优路径转发到目的地。当然有时候由于实施了一些特别的路由策略,数据包通过的路径可能并不一定是最佳的。
路由器能够决定数据报文的转发路径。如果有多条路径可以到达目的地,则路由器会通过进行计算来决定最佳下一跳。计算的原则会随实际使用的路由协议不同而不同。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WgSnfzU1-1657113343476)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220629105610897.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NK94Dqhd-1657113343477)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220629112140213.png)]
Destination/Mask:目的地
Protocal :形成这条路由的方式:Direct(直连);Static(静态)
Pre:优先级,:Direct(0);Static(60);越小越优,最优加表(最优路径放在路由表);当有多个路由信息时,选择最高优先级的路由作为最佳路由。
Cost:开销 针对相同优先级 越小越优
NextHop:下一跳 去往目的网段直连设备的ip地址,一定是对端ip地址
Interface:接口,出接口一定是本端的出接口
“< >”表示用户视图,“[ ]”表示除用户视图以外的其它视图。
用户视图,只能做查询,不能进行配置,需要配置,必须要进入系统视图
system-view:进入系统视图,可以配置数据
sysname:重新命名
interface +端口号:可以进入端口号 然后再使用ip address 进行端口ip配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HE69IBhL-1657113343478)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220629150657176.png)]
物理的down表示没有物理连接,协议的down表示没有配IP地址
为了使PC3和PC4可以连通需要在R7的路由表中有2.2.2.0(网段)所以语句为:ip route-static 2.2.2.0 24 10.1.1.2(目的网段到本端路由相连路由器的对端)(静态路由)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uSHh6MFL-1657113343481)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220629154809744.png)]
同时R6的路由表也要需要有1.1.1.0(网段)所以语句为:ip route-static 1.1.1.0 24 10.1.1.1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xH0Fdihs-1657113343482)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220629155018520.png)]
有两个路由:两个路由优先级不一样,如果小的优先级那个断了,将大的那个路由继续使用。当小的那个路由又重新连接了,那么又使用小的那个路由。
用途:用在大型网络上面
概念:
基于链路状态的内部网关路由协议;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6zUrjxl9-1657113343483)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220630103109907.png)]
如图:OSPF只在SiteA内使用;只在SiteB内使用;只在SiteC内使用
OSPF要求每台运行OSPF的路由器都了解整个网络的链路状态信息(发送Hello包),这样才能计算出到达目的地的最优路径。OSPF的收敛过程由链路状态公告LSA(Link State Advertisement)泛洪开始,LSA中包含了路由器已知的接口IP地址、掩码、开销和网络类型等信息。收到LSA的路由器都可以根据LSA提供的信息建立自己的链路状态数据库LSDB(Link State Database)(建立邻居表),并在LSDB的基础上使用SPF算法进行运算,建立起到达每个网络的最短路径树。最后,通过最短路径树得出到达目的网络的最优路由,并将其加入到IP路由表中。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HCmVzWeB-1657113343484)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220630112103509.png)]
DD(Database Description)报文 路由器表述自己的信息 LSA(链路状态公告)(路由器使用DD报文来进行主从路由器的选举和数据库摘要信息的交互。)
LSR(Link State Request)报文 请求信息(请求的是简略信息)(LSR用于向对方请求所需的LSA。)
LSU(Link State Update)报文 请求信息(更新的是详细信息)(LSU用于向对方发送其所需要的LSA。)
LSACK(Link State Acknowledgment)报文 确认报文(LSACK用于向对方发送收到LSA的确认。)
首先进入OSPF(协议视图)
OSPF区域:
有两种区域:骨干区域,非骨干区域
骨干区域:当区域为0为骨干区域
非骨干区域:当区域不为0为非骨干区域
如果建立邻居关系,两个区域号必须相同
做宣告 网段+反掩码 network 10.1.1.0 0.0.0.255
当运行了OSPF并宣告,立即发送hello包,hello包发送的目的地址为224.0.0.5(组播地址)
OSPF包含有:OSPF头部+hello包
在系统视图下面:输入OSPF(配置ospf的时候,需要有进程号以及router-id,也可以省略,在正常请款下,不建议省略。如果省略进程号,自动会配置进程号为1;如果省略router-id,系统根据我们的ip地址最大的作为router-id)
查看OSPF的配置:display current-configuration configuration ospf
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TVzpznQI-1657113343485)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220630145621623.png)]
ospf 10 router-id 2.2.2.2
area 0
network 10.1.1.0 0.0.0.255(宣告网络)
在DD报文中有三个字段:I,M,MS
I=1 代表是第一个DD报文
I=0 代表不是第一个DD报文
M=1 代表后面还有DD报文
M=0 代表后面没有DD报文
MS=1 代表自己是主
MS=0 代表自己是从
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6CiXt7h3-1657113343491)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220630153321505.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EidPE5rw-1657113343492)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220630155850127.png)]
loading状态:主要进行:LSR LSU LSACK
full状态:LSDB更新完毕
DR会和其他的路由器建立邻接关系,其他路由器更新信息的话,首先将信息给DR,由DR将信息给其他路由器
避免争抢资源,比较有序
BDR会和其他的路由器建立邻接关系
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QkNyz2XC-1657113343493)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220701103630209.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BfgihYlc-1657113343493)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220701103740483.png)]
OSPF的邻居发现过程是基于Hello报文来实现的,Hello报文中的重要字段解释如下:
Network Mask:发送Hello报文的接口的网络掩码。
Hello Interval:发送Hello报文的时间间隔,单位为秒。
Options:标识发送此报文的OSPF路由器所支持的可选功能。具体的可选功能已超出这里的讨论范围。
Router Priority:发送Hello报文的接口的Router Priority,用于选举DR和BDR。
Router Dead Interval:失效时间。如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效;单位为秒,通常为四倍Hello Interval。
Designated Router:发送Hello报文的路由器所选举出的DR的IP地址。如果设置为0.0.0.0,表示未选举DR路由器。
Backup Designated Router:发送Hello报文的路由器所选举出的BDR的IP地址。如果设置为0.0.0.0,表示未选举BDR。
Neighbor:邻居的Router ID列表,表示本路由器已经从这些邻居收到了合法的Hello报文。
如果路由器发现所接收的合法Hello报文的邻居列表中有自己的Router ID,则认为已经和邻居建立了双向连接,表示邻居关系已经建立。
验证一个接收到的Hello报文是否合法包括:
如果接收端口的网络类型是广播型,点到多点或者NBMA,所接收的Hello报文中Network Mask字段必须和接收端口的网络掩码一致,如果接收端口的网络类型为点到点类型或者是虚连接,则不检查Network Mask字段;
所接收的Hello报文中Hello Interval字段必须和接收端口的配置一致;
所接收的Hello报文中Router Dead Interval字段必须和接收端口的配置一致;
所接收的Hello报文中Options字段中的E-bit(表示是否接收外部路由信息)必须和相关区域的配置一致。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G6sSxQqZ-1657113343494)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220701103240972.png)]
如图所示,路由器在建立完成邻居关系之后,便开始进行数据库同步,具体过程如下:
邻居状态变为ExStart以后,RTA向RTB发送第一个DD报文,在这个报文中,DD序列号被设置为X(假设),RTA宣告自己为主路由器。
RTB也向RTA发送第一个DD报文,在这个报文中,DD序列号被设置为Y(假设)。RTB也宣告自己为主路由器。由于RTB的Router ID比RTA的大,所以RTB应当为真正的主路由器。
RTA发送一个新的DD报文,在这个新的报文中包含LSDB的摘要信息,序列号设置为RTB在步骤2里使用的序列号,因此RTB将邻居状态改变为Exchange。
邻居状态变为Exchange以后,RTB发送一个新的DD报文,该报文中包含LSDB的描述信息,DD序列号设为Y+1(上次使用的序列号加1)。
即使RTA不需要新的DD报文描述自己的LSDB,但是作为从路由器,RTA需要对主路由器RTB发送的每一个DD报文进行确认。所以,RTA向RTB发送一个内容为空的DD报文,序列号为Y+1。
发送完最后一个DD报文之后,RTA将邻居状态改变为Loading;RTB收到最后一个DD报文之后,改变状态为Full(假设RTB的LSDB是最新最全的,不需要向RTA请求更新)。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S8FwtQPf-1657113343495)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220701103449773.png)]
邻居状态变为Loading之后,RTA开始向RTB发送LSR报文,请求那些在Exchange状态下通过DD报文发现的,而且在本地LSDB中没有的链路状态信息。
RTB收到LSR报文之后,向RTA发送LSU报文,在LSU报文中,包含了那些被请求的链路状态的详细信息。RTA收到LSU报文之后,将邻居状态从Loading改变成Full。
RTA向RTB发送LSACK报文,用于对已接收LSA的确认。
此时,RTA和RTB之间的邻居状态变成Full,表示达到完全邻接状态。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O5hj0BES-1657113343496)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220701104032861.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zkTiyBGF-1657113343497)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220701104413539.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WriyE4u4-1657113343498)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220701104259774.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jyfd825V-1657113343499)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220701143343661.png)]
1.泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去(注意,“所有其它的端口”是指除了这个帧进入交换机的那个端口以外的所有端口)。
2.转发:交换机把从某一端口进来的帧通过另一个端口转发出去(注意,“另一个端口”不能是这个帧进入交换机的那个端口)。
3.丢弃:交换机把从某一端口进来的帧直接丢弃。
MAC地址表的形成原理:
当收到ARP包(目的MAC地址为FF-FF-FF-FF)时,做泛洪处理,同时记录下该数据包源MAC地址与交换机接收接口的对应关系,将其放在MAC地址表上。
查看mac地址表:display mac-address
mac地址表是一个动态的:一定时间就没有了(默认是300s)
mac地址是本地有意义的,收到数据包就会记录下MAc地址和接口对应关系。
MAC地址表形成过程:
1.如果进入交换机的是一个单播帧,则交换机会去MAC地址表中查找这个帧的目的MAC地址。
如果查不到这个MAC地址,则交换机执行泛洪操作。
如果查到了这个MAC地址,则比较这个MAC地址在MAC地址表中对应的端口是不是这个帧进入交换机的那个端口。如果不是,则交换机执行转发操作。如果是,则交换机执行丢弃操作。
2.如果进入交换机的是一个广播帧(ARP包),则交换机不会去查MAC地址表,而是直接执行泛洪操作。
随着网络中计算机的数量越来越多,传统的以太网络开始面临冲突严重、广播泛滥以及安全性无法保障等各种问题。
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的局域网在逻辑上划分成多个广播域的技术。通过在交换机上配置VLAN,可以实现在同一个VLAN内的用户可以进行二层互访,而不同VLAN间的用户被二层隔离。这样既能够隔离广播域,又能够提升网络的安全性。
解释:
没有分配VLAN,整个大的网段充斥着大量的广播包,容易产生广播风暴整个大的局域网就不能正常上网。为了解决广播风暴带来的危害,使用VLAN技术。
VLAN技术:就是将大的局域网分为多个小的局域网,减少网络中的广播包,避免广播风暴。即VLAN能够隔离广播域。
例如:下面分为两个VLAN
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CQz4VUdr-1657113343499)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220701153627957.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RM5iHSJ2-1657113343500)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220701153726054.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QnREHGBq-1657113343501)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220701155400170.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XcOcIrio-1657113343502)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220701155119556.png)]
用在PC机和交换机之间
Access端口在收到数据后会添加VLAN Tag,VLAN ID和端口的PVID相同。
Access端口在转发数据前会移除VLAN Tag。
Access端口是交换机上用来连接用户主机的端口,它只能连接接入链路,并且只能允许唯一的VLAN ID通过本端口。
Access端口收发数据帧的规则如下:
如果该端口收到对端设备发送的帧是untagged(不带VLAN标签),交换机将强制加上该端口的PVID。如果该端口收到对端设备发送的帧是tagged(带VLAN标签),交换机会检查该标签内的VLAN ID。当VLAN ID与该端口的PVID相同时,接收该报文。当VLAN ID与该端口的PVID不同时,丢弃该报文。
Access端口发送数据帧时,总是先剥离帧的Tag(PVID),然后再发送。Access端口发往对端设备的以太网帧永远是不带标签的帧。
在本示例中,交换机的G0/0/1,G0/0/2,G0/0/3端口分别连接三台主机,都配置为Access端口。主机A把数据帧(未加标签)发送到交换机的G0/0/1端口,再由交换机发往其他目的地。收到数据帧之后,交换机根据端口的PVID给数据帧打上VLAN标签10,然后决定从G0/0/3端口转发数据帧。G0/0/3端口的PVID也是10,与VLAN标签中的VLAN ID相同,交换机移除标签,把数据帧发送到主机C。连接主机B的端口的PVID是2,与VLAN10不属于同一个VLAN,因此此端口不会接收到VLAN10的数据帧。
解释:
Trunk链路
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k7FM93Fh-1657113343503)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220701155142220.png)]
交换机与交换机之间
当Trunk端口收到帧时,如果该帧不包含Tag,将添加上端口的PVID;如果该帧包含Tag,则不改变。
当Trunk端口发送帧时,该帧的VLAN ID在Trunk的允许发送列表中:若与端口的PVID相同时,则剥离Tag发送;若与端口的PVID不同时,则直接发送。
Trunk端口是交换机上用来和其他交换机连接的端口,它只能连接干道链路。Trunk端口允许多个VLAN的帧(带Tag标记)通过。
Trunk端口收发数据帧的规则如下:
1.当接收到对端设备发送的不带Tag的数据帧时,会添加该端口的PVID,如果PVID在允许通过的VLAN ID列表中,则接收该报文,否则丢弃该报文。**当接收到对端设备发送的带Tag的数据帧时,**检查VLAN ID是否在允许通过的VLAN ID列表中。如果VLAN ID在接口允许通过的VLAN ID列表中,则接收该报文。否则丢弃该报文。
2.端口发送数据帧时,当VLAN ID与端口的PVID相同,且是该端口允许通过的VLAN ID时,去掉Tag,发送该报文。当VLAN ID与端口的PVID不同,且是该端口允许通过的VLAN ID时,保持原有Tag,发送该报文。
在本示例中,SWA和SWB连接主机的端口为Access端口,PVID如图所示。SWA和SWB互连的端口为Trunk端口,PVID都为1,此Trunk链路允许所有VLAN的流量通过。当SWA转发VLAN1的数据帧时会剥离VLAN标签,然后发送到Trunk链路上。而在转发VLAN20的数据帧时,不剥离VLAN标签直接转发到Trunk链路上。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pPjXQoMV-1657113343503)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220704092640265.png)]
环路会引起广播风暴。
网络中的主机会收到重复数据帧。
根据交换机的转发原则,如果交换机从一个端口上接收到的是一个广播帧,或者是一个目的MAC地址未知的单播帧,则会将这个帧向除源端口之外的所有其他端口转发。如果交换网络中有环路,则这个帧会被无限转发,此时便会形成广播风暴,网络中也会充斥着重复的数据帧。
本例中,主机A向外发送了一个单播帧,假设此单播帧的目的MAC地址在网络中所有交换机的MAC地址表中都暂时不存在。SWB接收到此帧后,将其转发到SWA和SWC,SWA和SWC也会将此帧转发到除了接收此帧的其他所有端口,结果此帧又会被再次转发给SWB,这种循环会一直持续,于是便产生了广播风暴。交换机性能会因此急速下降,并会导致业务中断。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dWjgBL2b-1657113343504)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220704092836028.png)]
环路会引起MAC地址表震荡。
交换机是根据所接收到的数据帧的源地址和接收端口生成MAC地址表项的。
主机A向外发送一个单播帧,假设此单播帧的目的MAC地址在网络中所有交换机的MAC地址表中都暂时不存在。SWB收到此数据帧之后,在MAC地址表中生成一个MAC地址表项,00-01-02-03-04-AA,对应端口为G0/0/3,并将其从G0/0/1和G0/0/2端口转发。此例仅以SWB从G0/0/1端口转发此帧为例进行说明。
SWA接收到此帧后,由于MAC地址表中没有对应此帧目的MAC地址的表项,所以SWA会将此帧从G0/0/2转发出去。
SWC接收到此帧后,由于MAC地址表中也没有对应此帧目的MAC地址的表项,所以SWC会将此帧从G0/0/2端口发送回SWB,也会发给主机B。
SWB从G0/0/2接口接收到此数据帧之后,会在MAC地址表中删除原有的相关表项,生成一个新的表项,00-01-02-03-04-AA,对应端口为G0/0/2。此过程会不断重复,从而导致MAC地址表震荡。
STP通过阻塞端口来消除环路,并能够实现链路备份的目的。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-exGnwFdq-1657113343505)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220704093309996.png)]
它是通过选举阻塞端口AP来破解环路,AP主要作用是参与流量的转发
阻塞端口,即不转发数据也不接收数据
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yq356n5N-1657113343506)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220704093509157.png)]
STP通过构造一棵树来消除交换网络中的环路。
每个STP网络中,都会存在一个根桥,其他交换机为非根桥。根桥或者根交换机位于整个逻辑树的根部,是STP网络的逻辑中心,非根桥是根桥的下游设备。当现有根桥产生故障时,非根桥之间会交互信息并重新选举根桥,交互的这种信息被称为BPDU。BPDU中包含交换机在参加生成树计算时的各种参数信息,后面会有详细介绍。
STP中定义了三种端口角色:指定端口(DP),根端口(RP)和预备端口(AP)。
指定端口是交换机向所连网段转发配置BPDU的端口,每个网段有且只能有一个指定端口。一般情况下,根桥的每个端口总是指定端口。
根端口是非根交换机去往根桥路径最优的端口。在一个运行STP协议的交换机上最多只有一个根端口,但根桥上没有根端口。
如果一个端口既不是指定端口也不是根端口,则此端口为预备端口。预备端口将被阻塞。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QbYkqLxD-1657113343507)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220704093803061.png)]
每一台交换机启动STP后,都认为自己是根桥。
刚启动交换机时,相互的发送BPDU(桥协议数据单元)数据包,BPDU携带优先级和MAc地址,首先比较优先级(越小越优),然后比较MAC地址(越小越优)
STP中根桥的选举依据的是桥ID,STP中的每个交换机都会有一个桥ID(Bridge ID) 。桥ID由16位的桥优先级(Bridge Priority)和48位的MAC地址构成。在STP网络中,桥优先级是可以配置的,取值范围是0~65535,默认值为32768。优先级最高的设备(数值越小越优先)会被选举为根桥。如果优先级相同,则会比较MAC地址,MAC地址越小则越优先。
交换机启动后就自动开始进行生成树收敛计算。默认情况下,所有交换机启动时都认为自己是根桥,自己的所有端口都为指定端口,这样BPDU报文就可以通过所有端口转发。对端交换机收到BPDU报文后,会比较BPDU中的根桥ID和自己的桥ID。如果收到的BPDU报文中的桥ID优先级低,接收交换机会继续通告自己的配置BPDU报文给邻居交换机。如果收到的BPDU报文中的桥ID优先级高,则交换机会修改自己的BPDU报文的根桥ID字段,宣告新的根桥。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FzUmXfhF-1657113343507)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220704094250366.png)]
每个非根桥都要选举一个根端口。根端口是距离根桥最近的端口。在NON-ROOT上有且仅有一个RP(发送数据,接收数据,不会阻塞),确定RPC(去往根桥最近的端口),越小越优。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oLdHk3uK-1657113343508)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220704141100147.png)]
根桥上的所有端口,称之为指定端口 DP,在每一条链路上都有一个DP.
每个网段都应该有一个指定端口,根桥的所有端口都是指定端口(除非根桥在物理上存在环路)。
指定端口的选举也是首先比较累计路径开销(到有几条路程),累计路径开销最小的端口就是指定端口。如果累计路径开销相同,则比较端口所在交换机的桥ID,所在桥ID最小的端口被选举为指定端口。如果通过累计路径开销和所在桥ID选举不出来,则比较端口ID,端口ID最小的被选举为指定端口。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Iu8dA9jL-1657113343509)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220704104758880.png)]
Forwarding:转发状态。端口既可转发用户流量也可转发BPDU报文,只有根端口或指定端口才能进入Forwarding状态。
Learning:学习状态。端口可根据收到的用户流量构建MAC地址表,但不转发用户流量。增加Learning状态是为了防止临时环路。
Listening:侦听状态。端口可以转发BPDU报文,但不能转发用户流量。
Blocking:阻塞状态。端口仅仅能接收并处理BPDU,不能转发BPDU,也不能转发用户流量。此状态是预备端口的最终状态。
Disabled:禁用状态。端口既不处理和转发BPDU报文,也不转发用户流量。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wSaoIYI9-1657113343509)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220704110232371.png)]
PID:协议ID 0
PVI: STP :0 MSTP:3 RSTP:2
BPDU Type:有两种:
Flags :当是TCN BPDU是才有用
Root ID :携带了根桥的优先级和MAC地址
RPC :根路径开销(去往根桥的路径所花费的开销)
Bridge ID :桥ID,自己的优先级加上MAC地址
Port ID :由指定端口的优先级和端口号组成
Message Age :配置BPDU在网络中传播的生存期。从根桥发出来的message age都是0,每经过一台交换机都需要加1,l如果Message Age大于Max Age,非根桥会丢弃该配置BPDU。
Max Age:配置BPDU在设备中能够保存的最大生存期。默认值为20
Hello Time :配置BPDU发送的周期。(2s)
Forward Delay:端口状态迁移的延时。(15s)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a9ISy8rY-1657113343510)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220704113342962.png)]
非根桥会在BPDU老化之后开始根桥的重新选举。
在稳定的STP拓扑里,非根桥会定期收到来自根桥的BPDU报文。如果根桥发生了故障,停止发送BPDU报文,下游交换机就无法收到来自根桥的BPDU报文。如果下游交换机一直收不到BPDU报文,Max Age定时器就会超时(Max Age的默认值为20秒),从而导致已经收到的BPDU报文失效,此时,非根交换机会互相发送配置BPDU报文,重新选举新的根桥。根桥故障会导致50秒左右的恢复时间,恢复时间约等于Max Age加上两倍的Forward Delay收敛时间。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-onQiNT4O-1657113343511)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220704141959704.png)]
lWB检测到直连链路物理故障后,会将预备端口转换为根端口。
SWB新的根端口会在30 秒后恢复到转发状态。
此例中,SWA和SWB使用了两条链路互连,其中一条是主用链路,另外一条是备份链路。生成树正常收敛之后,如果SWB检测到根端口的链路发生物理故障,则其Alternate端口会迁移到Listening、Learning、Forwarding状态,经过两倍的Forward Delay后恢复到转发状态。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CmyUFgcw-1657113343511)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220704142200829.png)]
非直连链路故障后,SWC的预备端口恢复到转发状态大约需要50秒。
本例中,SWB与SWA之间的链路发生了某种故障(非物理层故障),SWB因此一直收不到来自SWA的BPDU报文。等待Max Age定时器超时后,SWB会认为根桥SWA不再有效,并认为自己是根桥,于是开始发送自己的BPDU报文给SWC,通知SWC自己作为新的根桥。在此期间,由于SWC的Alternate端口再也不能收到包含原根桥ID的BPDU报文。其Max Age定时器超时后,SWC会切换Alternate端口为指定端口并且转发来自其根端口的BPDU报文给SWB。所以,Max Age定时器超时后,SWB、SWC几乎同时会收到对方发来的BPDU。经过STP重新计算后,SWB放弃宣称自己是根桥并重新确定端口角色。非直连链路故障后,由于需要等待Max Age加上两倍的Forward Delay时间,端口需要大约50秒才能恢复到转发状态。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xloq1yfA-1657113343512)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220704142326655.png)]
MAC地址表项的默认老化时间是300秒。在这段时间内,SWB无法将数据从G0/0/2端口转发给主机B。
在交换网络中,交换机依赖MAC地址表转发数据帧。缺省情况下,MAC地址表项的老化时间是300秒。如果生成树拓扑发生变化,交换机转发数据的路径也会随着发生改变,此时MAC地址表中未及时老化掉的表项会导致数据转发错误,因此在拓扑发生变化后需要及时更新MAC地址表项。
本例中,SWB中的MAC地址表项定义了通过端口GigabitEthernet 0/0/3可以到达主机A,通过端口GigabitEthernet 0/0/1可以到达主机B。由于SWC的根端口产生故障,导致生成树拓扑重新收敛,在生成树拓扑完成收敛之后,从主机A到主机B的帧仍然不能到达目的地。这是因为MAC地址表项老化时间是300秒,主机A发往主机B的帧到达SWB后,SWB会继续通过端口GigabitEthernet 0/0/1转发该数据帧。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X8vLIHSZ-1657113343513)(C:\Users\LIUXINYU\AppData\Roaming\Typora\typora-user-images\image-20220704142638745.png)]
拓扑变化过程中,根桥通过TCN BPDU报文获知生成树拓扑里发生了故障。根桥生成TC用来通知其他交换机加速老化现有的MAC地址表项。
拓扑变更以及MAC地址表项更新的具体过程如下:
SWC感知到网络拓扑发生变化后,会不间断地向SWB发送TCN BPDU报文。
SWB收到SWC发来的TCN BPDU报文后,会把配置BPDU报文中的Flags的TCA位设置1,然后发送给SWC,告知SWC停止发送TCN BPDU报文。
SWB向根桥转发TCN BPDU报文。
SWA把配置BPDU报文中的Flags的TC位设置为1后发送,通知下游设备把MAC地址表项的老化时间由默认的300秒修改为Forward Delay的时间(默认为15秒)。
最多等待15秒之后,SWB中的错误MAC地址表项会被自动清除。此后,SWB就能重新开始MAC表项的学习及转发操作。
BPDU报文。其Max Age定时器超时后,SWC会切换Alternate端口为指定端口并且转发来自其根端口的BPDU报文给SWB。所以,Max Age定时器超时后,SWB、SWC几乎同时会收到对方发来的BPDU。经过STP重新计算后,SWB放弃宣称自己是根桥并重新确定端口角色。非直连链路故障后,由于需要等待Max Age加上两倍的Forward Delay时间,端口需要大约50秒才能恢复到转发状态。
[外链图片转存中…(img-xloq1yfA-1657113343512)]
MAC地址表项的默认老化时间是300秒。在这段时间内,SWB无法将数据从G0/0/2端口转发给主机B。
在交换网络中,交换机依赖MAC地址表转发数据帧。缺省情况下,MAC地址表项的老化时间是300秒。如果生成树拓扑发生变化,交换机转发数据的路径也会随着发生改变,此时MAC地址表中未及时老化掉的表项会导致数据转发错误,因此在拓扑发生变化后需要及时更新MAC地址表项。
本例中,SWB中的MAC地址表项定义了通过端口GigabitEthernet 0/0/3可以到达主机A,通过端口GigabitEthernet 0/0/1可以到达主机B。由于SWC的根端口产生故障,导致生成树拓扑重新收敛,在生成树拓扑完成收敛之后,从主机A到主机B的帧仍然不能到达目的地。这是因为MAC地址表项老化时间是300秒,主机A发往主机B的帧到达SWB后,SWB会继续通过端口GigabitEthernet 0/0/1转发该数据帧。
[外链图片转存中…(img-X8vLIHSZ-1657113343513)]
拓扑变化过程中,根桥通过TCN BPDU报文获知生成树拓扑里发生了故障。根桥生成TC用来通知其他交换机加速老化现有的MAC地址表项。
拓扑变更以及MAC地址表项更新的具体过程如下:
SWC感知到网络拓扑发生变化后,会不间断地向SWB发送TCN BPDU报文。
SWB收到SWC发来的TCN BPDU报文后,会把配置BPDU报文中的Flags的TCA位设置1,然后发送给SWC,告知SWC停止发送TCN BPDU报文。
SWB向根桥转发TCN BPDU报文。
SWA把配置BPDU报文中的Flags的TC位设置为1后发送,通知下游设备把MAC地址表项的老化时间由默认的300秒修改为Forward Delay的时间(默认为15秒)。
最多等待15秒之后,SWB中的错误MAC地址表项会被自动清除。此后,SWB就能重新开始MAC表项的学习及转发操作。