计算机网络实验报告

实验三:交换机的交换表

参考书籍:《计算机网络》(第七版 谢希仁)P99-101

目录:

  1. 交换表的工作原理
  2. 交换机的MAC地址表的配置
  3. 实验内容

一:交换表的工作原理

  • 存储转发方式

        把整个数据帧先缓存后再进行处理。

  • 交换机建立一个交换表,根据交换表来转发数据。


1.1 以太网交换机的自学习功能

    以太网交换机运行自学习算法自动维护交换表。

    开始时,以太网交换机里面的交换表是空的

 

Java怎么查看交换机配置 查看交换机的交换表_Java怎么查看交换机配置

1.2: 按照以下自学习算法 处理收到的帧和建立交换表

  • A 先向 B 发送一帧,从接口 1 进入到交换机。
  • 交换机收到帧后,先查找交换表,没有查到应从哪个接口转发这个帧。
  • 交换机把这个帧的源地址 A 和接口1  写入交换表中,并向除接口1以外的所有的接口广播这个帧。
  • C 和 D 将丢弃这个帧,因为目的地址不对。只 B 才收下这个目的地址正确的帧。这也称为过滤。
  • 从新写入交换表的项目 (A, 1) 可以看出,以后不管从哪一个接口收到帧,只要其目的地址是A,就应当把收到的帧从接口1转发出去。
  • B 通过接口 3 向 A 发送一帧。
  • 交换机查找交换表,发现交换表中的 MAC 地址有 A。表明要发送给A的帧(即目的地址为 A 的帧)应从接口1转发。于是就把这个帧传送到接口 1 转发给 A。显然,现在已经没有必要再广播收到的帧。
  • 交换表这时新增加的项目 (B, 3),表明今后如有发送给 B 的帧,就应当从接口 3 转发出去。
  • 经过一段时间后,只要主机 C 和 D 也向其他主机发送帧,以太网交换机中的交换表就会把转发到 C 或 D 应当经过的接口号(2 或 4)写入到交换表中。
  • 考虑到可能有时要在交换机的接口更换主机,或者主机要更换其网络适配器,这就需要更改交换表中的项目。为此,在交换表中每个项目都设有一定的有效时间。过期的项目就自动被删除。

Java怎么查看交换机配置 查看交换机的交换表_MAC地址_02

1.3:以太网交换机的这种自学习方法使得以太网交换机能够即插即用,不必人工进行配置,因此非常方便。

 

1.4:交换机自学习和转发帧的步骤归纳

  • 交换机收到一帧后先进行自学习。查找交换表中与收到帧的源地址有无相匹配的项目。
  1. 如没有,就在交换表中增加一个项目(源地址、进入的接口和有效时间)。
  2. 如有,则把原有的项目进行更新(进入的接口或有效时间)。
  • 转发帧。查找交换表中与收到帧的目的地址有无相匹配的项目。
  1. 如没有,则向所有其他接口(进入的接口除外)转发。
  2. 如有,则按交换表中给出的接口进行转发。
  3. 若交换表中给出的接口就是该帧进入交换机的接口,则应丢弃这个帧(因为这时不需要经过交换机进行转发)。

二:交换机的MAC地址表的配置

  • MAC(Media Access Control,媒体访问控制)地址表记录了MAC 地址与接口的对应关系,以及接口所属的VLAN 等信息
  • MAC 地址表项的生成方式有两种:自动生成、手工配置。
  1. 一般情况下,MAC 地址表由设备通过源MAC 地址学习自动生成。
  2. 为了提高安全性,网络管理员可手工在MAC 地址表中加入特定MAC 地址表项,将用户设备与接口绑定,从而防止非法用户骗取数据。
  • MAC 地址表项分为以下几种:
  1. 静态 MAC 地址表项:由用户手工配置,表项不老化
  2. 动态 MAC 地址表项:可以由用户手工配置,也可以由设备通过源MAC 地址学习自动生成。
  • 配置静态/动态MAC地址表项
  •    1.进入系统视图
交换机管理界面输入SYS

                 2.添加或者修改静态/动态MAC地址表项

mac-address { dynamic | static } mac-address interface interface-type

        interface-number vlan vlan-id

                  精简版


mac-address { dynamic | static } mac-address
  • 关闭MAC地址学习功能
在系统视图下
     undo mac-address mac-learning enable
  • 配置动态MAC地址表项的老化时间
mac-address timer { aging seconds | no-aging }
  • 交换机MAC地址转发表的表项包括:
  1. 目的MAC地址
  2. 端口所属的VLAN ID
  3. 状态
  4. 转发端口号
  5. 有效时间

Java怎么查看交换机配置 查看交换机的交换表_MAC地址_03

  • H3C S5560X交换机的MAC配置
  1. 显示地址表信息
display mac-address
  1. 显示某个接口下的地址表信息
display mac-address interface gi 1/0/1
  1. 显示地址吧动态表项老化时间
display mac-address aging-time
  1. 显示MAC地址学习功能的开启状态
display mac-address mac-learning

Java怎么查看交换机配置 查看交换机的交换表_MAC地址_04

  • 在Windows上查看主机MAC地址命令
ipconfig –all     注意不要弄错了网卡(intel网卡)

Java怎么查看交换机配置 查看交换机的交换表_实验_05

三:实验内容

实验拓扑图

Java怎么查看交换机配置 查看交换机的交换表_计算机网络_06

  1. 通过DMC连接到交换机
<!--即使用浏览器访问10.3.18.xxx

        帐户名:admin

        密码:admin123

-->

    2.将各主机连接到交换机5560X

<!--将各主机的网线从机柜防火墙的接口处拔掉有序插到交换机5560X的接口上-->

     3.使用各种查看mac信息的命令

 

<!-- 显示地址表信息

 display mac-address

    显示某个接口下的地址表信息

  display mac-address interface gi 1/0/1

  显示地址吧动态表项老化时间

  display mac-address aging-time

  显示MAC地址学习功能的开启状态

  display mac-address mac-learning

-->

     4.交换机MAC信息学习实验

       ① A、B、C、D四台主机分别连接到交换机

       ② 为A、B、C、D四台主机的intel网卡配置ip:192.168.1.1 – 192.168.1.4

<!--
  分别打开A B C D机器网络连接的更改适配器界面,
  选择intel网卡,右键点击属性,修改其ipv4的ip地址为
  192.168.0.x,子网掩码设置为255.255.255.0 
-->

 

      ③记录各台主机的MAC地址、IP地址、连接到交换机的接口号,所有主机关闭防火墙。然后执行以下操作

        C发送数据包给B

        C发送数据包给A

        D发送数据包给A

        A发送数据包给D,使用ping操作,

<!--在windows的命令提示符窗口下,输入ipconfig -all
在控制台打印出的信息中找到intel网卡的相关信息,
记录其mac地址,ip地址,并记录各主机通过配线架连接到交换机
5560X的端口号。

最后,在控制台根据实验要求分别ping 各个主机
     格式:ping ip(192.168.1.x)
-->

 

5.配置静态MAC地址实验

    ①在windows中查看各计算机的MAC地址

<-- cmd中输入ipconfig -all查看-->

    ②在交换机上将上述MAC地址配置到各个接口

<-- 在交换机管理界面将地址全部改成静态mac地址即可-- >

    ③使用ping命令查看能否ping通

<--可以ping通-->

   ④交换机配置静态MAC地址不变,但是将主机A和主机B所连接的端口互换,查看能否ping通,并截图。

<!—可以ping 通,因为交换机的交换表会即时用新的地址,接口信息覆盖之前存在交换表中的信息-->

Java怎么查看交换机配置 查看交换机的交换表_计算机网络_07

6. 配置动态MAC地址表项的老化时间

  ①将表现老化时间配置为10s

<!—

进入系统视图下 在管理界面输入sys

输入命令:mac-address timer aging 10

-->

   ②查看何时MAC地址的表项会消失

<!—
10s后再次查看交换机表中信息即消失,
因为老化时间设置为10s,10s后交换表的数据会自动情况
-->

7.关闭MAC地址学习功能

   ①关闭MAC地址学习功能

<!--

在交换机管理界面输入sys进入视图

然后输入undo mac-address mac-learning enable

关闭学习功能

 -->

 

   ②查看主机之间能否ping通

<!--

    无法ping 通 因为交换机的交换表中一直为空,无法转发数据

-- >