局域网与城域网实验报告(1)
电 子 科 技 大 学
实 验 报 告
课程名称: 局域网与城域网
学 号
学生姓名:
通信与信息工程学院
实验项目1:CSMA 和CSMA/CD协议模拟实验
一、 实验目的
通过对CSMA 、CSMA/CD协议的模拟测试,分析并比较这两个协议的性能。加深对CSMA 、CSMA/CD协议的理解。
二、 实验内容
a. 各协议的“信道负载——信道效率”测试
b. 各协议的“信道负载——成功概率”测试
c. 各协议运行相同时间时,发送帧数与成功帧数测试
三、 实验器材
PC 机1台,协议模拟程序
四、 实验原理
CSMA 、CSMA/CD协议是以ALOHA 为基础发展起来的MAC 访问控制协议。 CSMA 的基本思想:
对ALOHA 系统发送时“不侦听信道”进行改进。要求站点发送前先监听信道,若信道闲,可以启动传输,若信道忙,则必须等待,以避免冲突。等待时间由退避算法决定。常用的退避算法有三种:非坚持(0坚持)、1-坚持、P-坚持。
0坚持CSMA :
① 若信道闲,立即发送
② 若信道忙,则不再监听信道,而是等待一个随机时间后再按①进行。 0坚持CSM 优点是降低了冲突概率,重负载时,吞吐率较高;缺点是轻负载时,信道上有较多空闲时间,效率低。
1-坚持CSMA :
① 若信道闲,立即发送
② 若信道忙,则继续监听至信道闲,并立即发送。
1-坚持CSMA 优点是轻负载时,能有效减少信道的空闲时间,提高传输效率;缺点是发生再次冲突的可能性大,重负载时冲突严重,极限时吞吐量趋于0。
P-坚持:
① 若信道闲,立即启动发送
② 若信道忙,则一直监听直到信道闲,以概率P 立即发送 ,以概率(1-P )不发送,并等待一个随机时间后再按①进行。
P 值的选取不能太大。若P 太大,使np >1,表示冲突后有多个站试图发送,会重复冲突,故一般选np < 1。当然p 也不能太小,若p 太小,则站点延迟大。对于负载未知的网络,p 值应适当选取,对于固定的p 值,网络的性能会随站点数量n 而变化。
P-坚持的优点是可根据不同的负载选取不同的P 值,最大程度的提高信道利用率和提高吞吐率;缺点是选取一个合适的P 值是一件困难的事情。
CSMA/CD的基本思想:
对CSMA 再作改进。因为基本的CSMA 与ALOHA 和Slotted ALOHA相比,虽然通过发送前侦听信道,能一定程度减少冲突的可能性,但仍然存在以下问题:即站点一旦发送一帧,就必须将一帧发送完,即使冲突已经产生。而一旦发生冲突后,继续发送的将是无用信号,会造成信道资源的浪费,同时降低网络的吞吐率。
因此,在CSMA 的基础上,CSMA/CD增加站点冲突检测的能力。站点不仅发送数据前要先侦听信道,开始发送后还要一边发送数据,一边检测信道。一旦检测到冲突,不必等一帧传完就立即停止受损帧的传输,尽早释放信道,避免资源的浪费。同时,向总线上发一串阻塞信号(冲突码),通知各站冲突已发生,以提高信道利用率。如果传输过程中检测到信道无冲突发生,则传输成功。
CSMA/CD的优点是能及时检测到冲突,停止发送,减少冲突可能性,同时也能提高信道利用率。
五、 实验步骤
1、实验前准备
① 安装并启动模拟程序:执行文件,直接复制到PC 机里,然后启动。 ② 熟悉程序界面:运行程序,出现图中界面,说明如下:
界面说明:
参数配置域:参数配置按钮可配置协议,节点数等参数(右上部参数会显示) 颜色配置按钮可选择成功帧、冲突帧及背景颜色(中间的运行区)
控制域:配置好参数后,选择仿真运行按钮开始运行,中间暂停按暂停,停止
按停止运行。
中间区域:帧运行观察区
速度控制域:通过移动中间的“移动条”控制帧发送的快慢
信道统计域:运行时间、空闲时间、通信负载在仿真运行中实时显示的是折算
的比特数。
负载率为动态值,运行稳定后趋近于设置的信道负载。 帧统计域:动态统计并显示帧的发送情况。 成功发送概率 = 成功总帧数/发送总帧数
信道效率 = 成功总帧数/运行时间(折算成比特) 2、实验操作步骤 ① 配置:
● 点击“参数配置”按钮,选择 协议:CSMA(1坚持) ,节点数:50,信道负载:5%,帧类型:固定,坚持概率:100%
● 点击“颜色配置”按钮,根据自己的喜好选择成功帧、冲突帧以及背景颜色。也可不选,直接采用默认色。
● 用鼠标拖动“移动条”,将速度调整到一个合适的位置(通过观察中间运行区来改变, 为了节省时间,建议调到较快的速度)。
② 运行:点击“仿真运行”按钮开始运行,并观察帧的运行和统计值。 ③ 记录:当运行稳定且在 “运行时间”为2000比特时,按“运行停止”,记录
表中所列各项参数(允许2000~2050比特范围)
④ 改变信道负载分别为10%、20%、30%、50%、70%、100%、150%、200%,其他配置保持不变。在上述每一个设置的信道负载时重复②③步。
⑤ 在参数配置中分别改变协议为: CSMA(0.5坚持) 、CSMA(0坚持) 、CSMA/CD,并对每一种协议按①~④步操作。
六、 实验记录
1、 按下图所示的表格形式,记录实验过程中所观察到的各协议的相关数据。 2、根据实验记录绘制各协议的“信道负载——信道效率”和“信道负载——成功概率”曲线。
75 70 65 60 55 50 45 40 35 30 25 20 15 10 5
信道效率(%)
信道负载(%)
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200
(测试值)
成功概率(%)
100 90 80 70 60 50 40 30 20 10
信道负载(%) (测试值)
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200
七、 实验分析
1、对同一种协议,相同站点数,不同负载率时,发送帧的总数随负载率的增大而 增大 ,成功概率随负载的增加而 减小 ,信道利用率随负载的增大而 增大 ,但当负载增大到一定程度后,信道利用率将随负载增大而 减小 。
2、在测试的各协议中,在同种测试条件下(相同站点数,相同负载率、相同帧类型等), CSMA/CD(1坚持) 议协信道效率最高,在相同的运行时间内(折算为相同的比特数), CSMA/CD(1坚持) 议协发出的总帧数和成功的帧数都最多,产生这种现象的根本原因是
CSMA/CD(1坚持) 中带有冲突检测机制,能够有效避免冲突,从而提高了性能。
3、 在实验中,你观察到CSMA/CD协议时的冲突帧的形状与其他协议有什么不同?试解释为什么会有这种不同?
答:冲突帧的长度明显比成功发送的数据帧的帧长短。
产生这种不同的原因在于CSMA/CD协议引入了冲突检测机制,一旦有冲突发生,就立即停止发送,并发出冲突强化信号;其他协议在冲突发生的时候不会立即停止发送冲突帧,而是一直发送完当前帧,这样就造成了信道资源的严重浪费。
实验项目2:网桥原理模拟实验
一、实验目的
通过本实验掌握网桥的工作原理,具体包括三个方面: 1、MAC 地址的自学习机制。 2、MAC 帧的转发。 3、MAC 地址表的管理。
二、实验器材
PC 机4台,网桥模拟软件。
三、实验分组
每组4人。
四、实验原理
1、网桥的运行原理
网桥是MAC 层的转发设备,最主要、最基本的功能是透明转发MAC 帧。网桥的基本运行包含MAC 地址自学习、MAC 帧转发和MAC 地址表管理。
网桥的每个端口都设置为“杂散”模式,接收所有MAC 帧,记录每一帧的源MAC 地址以及该帧到达的端口。网桥将其学习到的内容添加到MAC 地址表中,形成动态表项。如果表项已存在,则初始化计时值。
网桥根据帧中目的MAC 地址转发帧。转发策略如下:
当目的MAC 地址为广播地址时,从除源端口外的所有端口转发该帧。 当目的MAC 地址为单播或组播地址时,网桥先查找MAC 地址表,若能找到匹配项且目的MAC 地址与源MAC 地址在不同端口,则按表中目的MAC 地址对应的端口转发;若能找到匹配项但目的MAC 地址与源MAC 地址在同一端口,则过滤该帧,不转发;若找不到匹配项,则从除源端口外的所有端口转发该帧。
每个网桥都有一个MAC 地址表,主要表项包括:目的MAC 地址、目的端口和状态。
MAC 地址表表项分两类:动态表项和静态表项。动态表项由网桥自学习MAC 地址建立,具有生命期。当生命期到,老化的表项将被删除。静态表项由人工设置,不会老化。静态表项的创建、修改或删除只能通过人工进行。
2、本实验网桥模拟软件原理
本实验模拟软件使用Windows 应用程序模拟了网桥基本工作原理,包括帧的转发、MAC 地址表的形成与管理等。同时开发了与之配套的主机端软件,定义了与
实际非常接近的帧结构,并利用IP 组播技术,在应用层上构建虚拟的以太网环境,提供可用于模拟网桥工作原理的实验平台。
只需在主机上安装模拟软件,就可以在实际的网络环境中构建虚拟以太网环境:包括模拟网桥/交换机与主机的互连,网桥/交换机之间的互连与组网。并且只需要根据模拟软件提供的界面进行配置,就可以任意改变虚拟拓扑而不需改变实际的网络连接方式,由此可见本实验构建的虚拟网络独立于实际网络的拓扑。在虚拟网络中进行实验感觉与实际一样,并只需根据应用程序进行配置和简单的测试,就可真实地模拟网桥的所有工作细节。网桥端模拟软件目前只实现了网桥的基本功能(自学习、帧转发、MAC 地址表管理),没有实现生成树协议、组播通信、VLAN 等功能。
(1)模拟软件的主要功能
模拟软件包括主机端和网桥端。通过在初始界面上选择“Host ”或“Bridge ”,而进入主机端模拟软件或网桥模拟软件。
网桥端模拟软件的功能包括: ( a ) 模拟网桥的接收机制和转发机制 ( b ) MAC 表的管理
● 表项元素:目的地址、发送端口、状态(静态、动态)、生命周期。 ● 静态表:用户可以添加、删除静态表项。并保证MAC 表中不出现重复项。 ● 动态表:通过自学习来更新。
● 计时系统:管理各动态表项的生命周期,用户可以设置动态表的生命周期初始值。
( c ) 显示MAC 表概况
( d ) 显示端口的接收缓存和发送缓存 主机端模拟软件的功能包括: ( a ) 帧的封装与发送。 ( b ) 帧的接收与过滤。 ( c ) 主机MAC 地址的配置。 ( d ) 显示接收缓存和发送缓存。
(2)模拟程序中网段的概念
实验中涉及的网段的概念是指模拟网桥的一个端口,即一个冲突域,不同的网段属于模拟网桥不同的端口,即不同的冲突域。由于实验室的所有主机物理上是一个LAN ,为避免不同组使用相同的网段号带来混乱,因此要求不同组使用不同的几个网段号(可直接利用主机的编号作为本组可使用的网段号)。
(3)模拟程序的MAC 帧格式
为了简化程序,模拟程序没有采用标准的以太MAC 帧格式,而是采用自定义的MAC 帧,但这并不影响对网桥基本原理的模拟。模拟MAC 帧格式如图1所示。
模拟帧结构包括:目的和源MAC 地址字段,长度各为12字节;ID 字段,唯一标识一个帧(供数据链路子层重传机制使用),占2字节;TYPE 字段,标识帧类型,占1字节;DATA 字段,传送的数据,任意长。FCS ,帧校验字段占2字节。其中ID 和TYPE 字段现阶段不使用,为默认的0x1111和0x01。设置这两个字段的目的是为扩展其他协议模拟而用。
DST MAC
SRC MAC
ID
TYPE
DATA
FCS
12 Bytes 12 Bytes 2 Bytes 1 Byte 2 Bytes
图1 模拟MAC 帧格式
(3)模拟软件的主要运行界面
界面采用流行的Windows 左图右表界面。网桥端界面分四部分:菜单和工具条部分,文本显示框,树形视图显示框和子窗口区。如图2所示。
菜单和工具条部分集中了所有的用户接口,位于界面的最上方,始终显示。 文本显示框紧贴在工具条下方,显示了网桥的基本信息,如总端口数量、连网端口数、过滤表的大小、静态和动态表项数,生命周期初始值等,始终显示。
树形视图更直观的显示了网桥各端口的状态,同时也为访问这些端口提供了接口。它位于界面的右边,始终显示。
图3、图4是网桥的端口缓冲区和MAC 地址表的显示例子。图5是主机接收缓存显示的例子。还有更多的界面,在此不一一列举。所有的界面都是菜单显示,操作方便。
图2 模拟网桥界面
图3 网桥端口缓冲区显示
图4 网桥MAC 地址过滤表
图5 主机接收缓冲区显示
五、实验环境
通过在PC 机上分别运行主机端模拟程序和网桥的模拟程序,通过划分不同的网段形成不同的共享域,从而在实际的网络中构建虚拟的以太网实验环境。
1、实际网络环境
PC
PC
图6 实际的网络环境
2、单网桥组网模拟网络环境
模拟主机C
(a )实际网络
图7单网桥模拟组网模拟环境
图7 配置说明:
模拟网桥设置的端口数大于3,每个端口对应不同的网段,如网段A ,网段B ,网段C 。网段A 、B 、C 分别对应不同的共享域。
模拟主机A 设置网段A ,模拟主机B 设置网段B ,模拟主机C 和D 都设置为网段C
D
(b )模拟网络
3、多网桥组网模拟网络环境
图8配置说明:
模拟网桥1设置的端口数大于3,每个端口对应不同的网段,如网段A ,网段B ,网段D 。 模拟网桥2设置的端口数大于2,每个端口对应不同的网段,如网段C ,网段网段D 。 模拟主机A 设置网段A ,模拟主机B 设置网段B ,模拟主机C 设置网段C
六、实验步骤与记录
1、建立单网桥组网模拟环境
按图7配置,其中1台PC 机模拟网桥,运行网桥模拟软件,在配置界面中选择“Bridge ”,设置网桥的端口数及每个端口所接的网段并记录。
另外3台PC 机模拟主机A 、B 、C 、D ,其中模拟主机A 和B 在同一台PC 机上模拟。每台PC 机上分别运行主机模拟软件,在配置界面中选择“Host ”,配置各自的MAC 地址(可自己定义,12位),按照图7配置说明配置各自对应的网段。
2、网桥自学习MAC 地址测试
a 、清空网桥MAC 地址表。设置MAC 表项生存时间为最大(999秒)。 b 、C 主机发送一个单播帧给A 主机。观察网桥的MAC 表并作记录。 c 、D 主机发送一个单播帧给C 主机。观察网桥的MAC 表并作记录。 d 、A 主机发送一个广播帧。观察网桥的MAC 表并作记录。
e 、C 主机发送一个单播帧给B 主机。观察网桥的MAC 表并作记录。
3、网桥转发MAC 帧测试
a 、清空网桥MAC 地址表表项,A 主机发送一个单播帧给B 主机。观察网桥所有端口的情况并作记录。
b 、C 主机发送一个单播帧给A 主机。观察网桥所有端口的接及转发情况并作记录。 c 、D 主机发送一个单播帧给C 主机观察网桥所有端口的接收及转发情况并作记录。 d 、D 主机机发送一个广播帧。观察网桥所有端口的接收及转发情况并作记录。
表4 帧转发测试记录
4、网桥对MAC 表的管理测试
a 、清空MAC 表项。设置MAC 表项生存时间为一个较短的时间(如60秒)。 b 、A 、C 主机各任意发送一帧。立即记录MAC 表,60秒后再观察MAC 表并记录。 c 、设置D 主机的静态MAC 表项。
d 、B 主机发送一个单播帧给D 主机。观察观察主机B 发送缓存和主机D 接收缓存,并把显示的信息记录下来。
e 、改变D 主机所在的网段,B 主机再发送一个单播帧给D 主机。观察主机B 发
送缓存和D 的接收缓存并记录。
f 、D 主机发送任意一帧。观察MAC 表并记录。
5、两台网桥互连组网模拟环境
按图8配置,关闭主机D 上的主机端模拟程序,而在主机D 上运行网桥模拟程序,其他PC 机配置不变。这样就建立了图8(b )的两个网桥组网的虚拟环境。 6、两台网桥组网的测试
a 、清空网桥1和网桥2的MAC 地址表。将两网桥的MAC 地址生成周期都设置为999s 。
b 、A 主机向C 主机发送一帧,观察网桥的处理,并按表6的内容进行记录。 C 、B 主机向A 主机发送一帧,观察网桥的处理,并按表6的内容进行记录。
七、实验分析
1、在实验步骤第3项(网桥转发MAC 帧)中的a 和b 测试中,网桥接收到的都为单播帧,请问网桥对该两个单播帧的处理有何不同?为什么?
答:网桥收到A 站点发送的MAC 帧时,由于其MAC 表为空,网桥会将该帧向其他所有端口转发;当网桥收到B 站点要发送给A 站点的MAC 帧时,其MAC 表中已经存在A 站点的信息记录,所以网桥只向B 站点所在的2端口转发。
2、实验步骤第4项(网桥对MAC 表的管理测试),d 、e 和f 的测试结果分别说明了什么问题?
答:说明了网桥MAC 表中静态表项的优先级比动态表项的优先级高,静态表项不能被学习过程修改或删除,只能由管理人员人工配置和修改。
3、在实验步骤第6项(两台网桥组网测试)中,B 向A 发送一帧后,从原理上解释网桥1和网桥2的记录结果。
答:B 向A 发送一帧后,由于网桥1中已有A 站点表项,所以网桥1将MAC 帧直接转发至1端口,同时进行学习,添加站点B 的表项,因此B 向A 发送一帧后,网桥1中有两个表项。由于网桥1只向端口1转发,所以网桥2不会收到B 向A 发送的MAC 帧,其MAC 表也就不会有变化。
4、假设在图8的两个网桥上分别增加一个端口,并设置为相同的网段(假设为网段E )。主机A 发送一帧。请分析将会出现什么情况?为什么?
答:将会形成数据环路,从而导致数据帧在环路上循环发送。这是因为开始时网桥1和网桥2MAC 表为空,收到数据帧后向所有其他端口转发,由于两个网桥之间在物理上形成了一个环路,所以向其他端口转发时一定会使数据帧在这条环路上循环往复,造成信道资源的浪费。