diff --git a/2_stp/labtemplate.typ b/2_stp/labtemplate.typ index 18651d0..7007f64 100644 --- a/2_stp/labtemplate.typ +++ b/2_stp/labtemplate.typ @@ -1,11 +1,11 @@ #let times = "Times LT Pro" #let times = "Times New Roman" -#let song = (times, "FZShuSong-Z01") -#let hei = (times, "FZHei-B01") -#let kai = (times, "FZKai-Z03") -#let xbsong = (times, "FZXiaoBiaoSong-B05") -#let fsong = (times, "FangSong_GB2312") -#let code = (times, "DejaVu Sans Mono") +#let song = (times, "Noto Serif CJK SC") +#let hei = (times, "Noto Sans CJK SC") +#let kai = (times, "Noto Sans CJK SC") +#let xbsong = (times, "Noto Serif CJK SC") +#let fsong = (times, "Noto Serif CJK SC") +#let code = (times, "JetBrains Mono") #let nudtlabpaper(title: "", author: "", id: "", @@ -29,10 +29,10 @@ // Title row. v(158pt) align(center)[ - #block(text(weight: 700, size: 30pt, font: hei, tracking: 15pt, "网络工程")) + #block(text(weight: 700, size: 30pt, font: "Noto Sans CJK SC", tracking: 15pt, "网络工程")) ] align(center)[ - #block(text(weight: 700, size: 30pt, font: song, tracking: 15pt, "本科实验报告")) + #block(text(weight: 700, size: 30pt, font: "Noto Serif CJK SC", tracking: 15pt, "本科实验报告")) ] v(103pt) @@ -118,13 +118,13 @@ v(14pt) text("") - par(first-line-indent: 2em, text(font: song, size: 12pt, "实验报告内容编排应符合以下要求:")) - - par(first-line-indent: 2em, text(font: fsong, size: 12pt, "(1)采用A4(21cm×29.7cm)白色复印纸,单面黑字。上下左右各侧的页边距均为3cm;缺省文档网格:字号为小4号,中文为宋体,英文和阿拉伯数字为Times New Roman,每页30行,每行36字;页脚距边界为2.5cm,页码置于页脚、居中,采用小5号阿拉伯数字从1开始连续编排,封面不编页码。")) + par(first-line-indent: 2em, text(font: "Noto Serif CJK SC", size: 12pt, "实验报告内容编排应符合以下要求:")) - par(first-line-indent: 2em, text(font: fsong, size: 12pt, "(2)报告正文最多可设四级标题,字体均为黑体,第一级标题字号为4号,其余各级标题为小4号;标题序号第一级用“一、”、“二、”……,第二级用“(一)”、“(二)” ……,第三级用“1.”、“2.” ……,第四级用“(1)”、“(2)” ……,分别按序连续编排。")) + par(first-line-indent: 2em, text(font: "Noto Serif CJK SC", size: 12pt, "(1)采用A4(21cm×29.7cm)白色复印纸,单面黑字。上下左右各侧的页边距均为3cm;缺省文档网格:字号为小4号,中文为宋体,英文和阿拉伯数字为Times New Roman,每页30行,每行36字;页脚距边界为2.5cm,页码置于页脚、居中,采用小5号阿拉伯数字从1开始连续编排,封面不编页码。")) - par(first-line-indent: 2em, text(font: fsong, size: 12pt, "(3)正文插图、表格中的文字字号均为5号。")) + par(first-line-indent: 2em, text(font: "Noto Serif CJK SC", size: 12pt, "(2)报告正文最多可设四级标题,字体均为黑体,第一级标题字号为4号,其余各级标题为小4号;标题序号第一级用“一、”、“二、”……,第二级用“(一)”、“(二)” ……,第三级用“1.”、“2.” ……,第四级用“(1)”、“(2)” ……,分别按序连续编排。")) + + par(first-line-indent: 2em, text(font: "Noto Serif CJK SC", size: 12pt, "(3)正文插图、表格中的文字字号均为5号。")) pagebreak() @@ -136,10 +136,11 @@ set heading(numbering: "1.1") // set text(font: hei, lang: "zh") + set text(font: "Noto Sans CJK SC", lang: "zh") show heading: it => box(width: 100%)[ #v(0.50em) - #set text(font: hei) + #set text(font: "Noto Sans CJK SC") #counter(heading).display() // #h(0.5em) #it.body @@ -150,4 +151,4 @@ body } -#let para(t) = par(first-line-indent: 2em, text(font: song, size: 10.5pt, t)) \ No newline at end of file +#let para(t) = par(first-line-indent: 2em, text(font: "Noto Serif CJK SC", size: 10.5pt, t)) \ No newline at end of file diff --git a/2_stp/main.pdf b/2_stp/main.pdf index 91c5116..7a01a6e 100644 Binary files a/2_stp/main.pdf and b/2_stp/main.pdf differ diff --git a/2_stp/main.typ b/2_stp/main.typ index 176baa5..a165394 100644 --- a/2_stp/main.typ +++ b/2_stp/main.typ @@ -55,20 +55,16 @@ #para[ STP通过选举一个根交换机(Root Switch)来确定生成树,其他交换机通过计算到根交换机的最短路径来决定端口的状态,从而实现网络中的环路消除。 以下是一些基本概念的解释: - - 网桥(Bridge):STP在IEEE标准中提出被提出时,是施用于网桥上的。网桥是一种网络设备,用于连接两个或多个局域网段,能够根据数据帧的目的MAC地址来转发数据帧。在STP中,网桥负责维护网络的拓扑结构,防止环路的产生。交换机是一种高级的网桥。 - - - 根桥(Root Bridge):根桥是STP网络中的逻辑中心,负责周期性发送配置BPDU(桥协议数据单元),以维持生成树的稳定性。根桥的选举基于桥ID(BID),即桥优先级和桥MAC地址的组合,BID最小的设备会被选举为根桥。 - - - 桥ID(BID,Bridge ID):桥ID由两部分组成:桥优先级和桥MAC地址。桥优先级是一个2字节的数值,其取值范围是0到61440,缺省值通常为32768,步长为4096。桥MAC地址是网桥的硬件地址。在STP网络中,桥ID最小的设备会被选举为根桥。 - - 端口ID(PID,Port ID):端口ID由端口优先级和端口编号组成,用于标识每个接口,在选举指定端口(Designated Port)时使用。端口优先级范围是0到240,缺省情况下为128。 - - - BPDU:Bridge Protocol Data Unit,交换机之间用于交换信息的数据帧。 - - 根端口(Root Port):根端口是指非根桥上用于连接到根桥的最优路径的端口。每个非根桥只有一个根端口,这个端口提供了到达根桥的最低路径开销。根端口负责将BPDU(桥协议数据单元)从非根桥传递到根桥。如果一个非根桥有多个端口连接到根桥,那么根据路径开销、BID(桥ID)、PID(端口ID)等参数,选择其中的一个作为根端口。 - - - 指定端口(Designated Port):指定端口是每个网段上用于转发BPDU和用户数据的端口。在每个网段上,只有一个端口可以是指定端口,它负责向所连接的网段转发BPDU。通常情况下,根桥上的所有端口都是指定端口,因为根桥是STP网络的逻辑中心。 - - - 备用端口(Alternate Port/Backup Port):备用端口是指那些既不是根端口也不是指定端口的端口。这些端口在STP中被阻塞,不参与数据的转发,但它们仍然会接收BPDU,以便于在网络拓扑发生变化时,可以快速转变为根端口或指定端口,从而提供链路的备份。 ] + +- 网桥(Bridge):STP在IEEE标准中提出被提出时,是施用于网桥上的。网桥是一种网络设备,用于连接两个或多个局域网段,能够根据数据帧的目的MAC地址来转发数据帧。在STP中,网桥负责维护网络的拓扑结构,防止环路的产生。交换机是一种高级的网桥。 +- 根桥(Root Bridge):根桥是STP网络中的逻辑中心,负责周期性发送配置BPDU(桥协议数据单元),以维持生成树的稳定性。根桥的选举基于桥ID(BID),即桥优先级和桥MAC地址的组合,BID最小的设备会被选举为根桥。 +- 桥ID(BID,Bridge ID):桥ID由两部分组成:桥优先级和桥MAC地址。桥优先级是一个2字节的数值,其取值范围是0到61440,缺省值通常为32768,步长为4096。桥MAC地址是网桥的硬件地址。在STP网络中,桥ID最小的设备会被选举为根桥。 +- 端口ID(PID,Port ID):端口ID由端口优先级和端口编号组成,用于标识每个接口,在选举指定端口(Designated Port)时使用。端口优先级范围是0到240,缺省情况下为128。 +- BPDU:Bridge Protocol Data Unit,交换机之间用于交换信息的数据帧。 +- 根端口(Root Port):根端口是指非根桥上用于连接到根桥的最优路径的端口。每个非根桥只有一个根端口,这个端口提供了到达根桥的最低路径开销。根端口负责将BPDU(桥协议数据单元)从非根桥传递到根桥。如果一个非根桥有多个端口连接到根桥,那么根据路径开销、BID(桥ID)、PID(端口ID)等参数,选择其中的一个作为根端口。 +- 指定端口(Designated Port):指定端口是每个网段上用于转发BPDU和用户数据的端口。在每个网段上,只有一个端口可以是指定端口,它负责向所连接的网段转发BPDU。通常情况下,根桥上的所有端口都是指定端口,因为根桥是STP网络的逻辑中心。 +- 备用端口(Alternate Port/Backup Port):备用端口是指那些既不是根端口也不是指定端口的端口。这些端口在STP中被阻塞,不参与数据的转发,但它们仍然会接收BPDU,以便于在网络拓扑发生变化时,可以快速转变为根端口或指定端口,从而提供链路的备份。 === STP算法的步骤 生成树算法有三个步骤,下面以@原始有环拓扑 为例,说明STP的工作原理。 #figure(image("原始有环拓扑.jpg",format: "jpg",fit:"stretch",width: 25%),caption: "原始有环拓扑")<原始有环拓扑> @@ -157,12 +153,14 @@ Windows 10", "2", )] - 另有网线若干,控制线1条。 +#para[另有网线若干,控制线1条。] = 实验步骤及结果 == 实验拓扑 按实验背景,绘制拓扑图如下: #figure(image("实验拓扑.png",format: "png",fit:"stretch",width: 60%),caption: "实验拓扑图")<实验拓扑> + #para[ 要求在配置好各个端口的路径开销值之后,运行STP能将@实验拓扑 中的Blocked Port端口阻塞。 + ] == 按照拓扑图接线 按照拓扑图接线。 #figure(image("接线图.jpg", format: "jpg" ,fit:"stretch",width: 80%),caption: "接线图") @@ -212,9 +210,13 @@ === 查看网络连通性 在IP地址为`10.130.81.211`的PC上执行ping命令,查看与IP地址为`10.130.81.203`的PC的网络连通性,结果如下: #figure(image("ping.jpg",format: "jpg",fit:"stretch",width: 70%),caption: "查看网络连通性") +#para[ 可见两台PC之间可以正常通信,网络连通性正常。 +] === 实验评测 - 经过教辅学长亲自测试,S2与S3以及S2与S4之间的链路断开后,网络依然可以正常通信,各交换机`display stp brief`显示结果正常,说明STP配置成功,网络环路被成功破除。 +#para[ + 经过教辅亲自测试,S2与S3以及S2与S4之间的链路断开后,网络依然可以正常通信,各交换机`display stp brief`显示结果正常,说明STP配置成功,网络环路被成功破除。 +] = 实验总结 #para[ 本次实验通过配置生成树协议(STP),实现了对网络中的环路进行消除,保证了网络的稳定性和可靠性。通过实验,我掌握了生成树协议的基本概念和工作原理,学会了如何在网络设备上配置STP,理解了STP的防止环路、优化网络拓扑的功能。实验中,我通过实际操作,深入理解了STP在现代网络中的应用,提升了实践技能,为未来的网络工程职业生涯和专业认证考试打下了坚实基础。 diff --git a/屏幕截图_20250924_110606.png b/屏幕截图_20250924_110606.png new file mode 100644 index 0000000..5ccd903 Binary files /dev/null and b/屏幕截图_20250924_110606.png differ diff --git a/屏幕截图_20250924_110618.png b/屏幕截图_20250924_110618.png new file mode 100644 index 0000000..bd9d993 Binary files /dev/null and b/屏幕截图_20250924_110618.png differ