目录

  • 【实验名称】
  • 【实验目的】
  • 【实验要求】
  • 【实验环境】
    • 5、参考脚本:构建如图所示虚拟实验网络,可参考如下脚本:
  • 【实验步骤】
    • 步骤1:创建虚拟实验网络,验证网络拓扑:
    • 步骤2:在相同交换机连接的主机上测试连通性。
    • 步骤3:在不同交换机连接的主机上测试连通性。
  • 【实验结果及分析】
    • 1:创建虚拟实验网络,验证网络拓扑:
    • 步骤2:在相同交换机连接的主机上测试连通性。
    • 3:在不同交换机连接的主机上测试连通性。
    • 4:从主机ns511上ping主机ns513,在途径的网络接口上用wireshark抓包,分析并理解802.1q帧格式;分析Linux的Vlan工作机制。
    • 执行ping指令后,各接口抓取的包如下:
    • 分析

【实验名称】

交换机Vlan原理

【实验目的】

1、深入熟悉Linux虚拟网络环境;
2、了解Linux中Vlan配置的基本方法;
3、掌握Linux中网络分析软件Wireshark的应用方法;
4、观察相同交换机相同Vlan、相同交换机不同Vlan,不同交换机相同Vlan,不同交换机不同Vlan四种情况下,交换机连接的各主机(NS)之间的通信情况,分析并掌握Vlan的工作原理;
5、观察Wireshark截获的以太网数据帧,分析并理解802.1q帧格式,掌握基于802.1q的Vlan的工作机制。

【实验要求】

1、根据实验需要,搭建实验环境;建立或修改虚拟实验网络;
2、按照实验步骤,认真完成实验;采取截图、拍照等形式记录实验结果;
3、依据课本和课堂讲解,详细分析实验结果、验证理论知识;
4、认真完成实验报告,按时提交实验指导老师。

【实验环境】

1、操作系统:Linux操作系统,要求内核支持Tun模块、Vlan模块等,本实验在CentOS7操作系统中测试通过;
2、操作权限:部分操作需具有root权限;
3、应用软件:需安装命令行工具:tunctl、vconfig等;需安装编辑工具gedit或其它文本编辑工具;需安装网络分析软件Wireshark及其依赖软件;其它常用必备的应用软件;
4、实验网络拓扑:交换机Vlan原理实验网络拓扑如图1所示:

利用Linux命令或编辑执行脚本,构建Vlan划分后的虚拟实验网络如图2所示:

5、参考脚本:构建如图所示虚拟实验网络,可参考如下脚本:

#!/bin/sh
set -x

#创建两个交换机,并建立物理连接
#创建两个交换机NS
ip netns add sw1
ip netns add sw2
#创建一对以太网接口用作trunk
ip link add trunk type veth peer name trunk_p
#将trunk和trunk_p迁移到交换机
ip link set trunk netns sw1
ip link set trunk_p netns sw2
#接口上线
ip netns exec sw1 ifconfig trunk up
ip netns exec sw2 ifconfig trunk_p up

#创建与sw1相连的三台主机,配置Vlan,并连接交换机
#创建三台主机ns
ip netns add ns511
ip netns add ns512
ip netns add ns51b
#创建三对veth pair
ip link add tap511 type veth peer name tap511_p
ip link add tap512 type veth peer name tap512_p
ip link add tap51b type veth peer name tap51b_p
#把tap接口迁移到主机
ip link set tap511 netns ns511
ip link set tap512 netns ns512
ip link set tap51b netns ns51b
#把tap_p接口迁移到交换机sw1
ip link set tap511_p netns sw1
ip link set tap512_p netns sw1
ip link set tap51b_p netns sw1
#主机接口配置IP地址
ip netns exec ns511 ip addr add local 192.168.51.1/24 dev tap511
ip netns exec ns512 ip addr add local 192.168.51.2/24 dev tap512
ip netns exec ns51b ip addr add local 192.168.51.254/24 dev tap51b
#主机接口上线
ip netns exec ns511 ifconfig tap511 up
ip netns exec ns512 ifconfig tap512 up
ip netns exec ns51b ifconfig tap51b up
#交换机接口上线
ip netns exec sw1 ifconfig tap511_p up
ip netns exec sw1 ifconfig tap512_p up
ip netns exec sw1 ifconfig tap51b_p up
#在交换机sw1上创建Vlan10
ip netns exec sw1 vconfig add trunk 10
ip netns exec sw1 ifconfig trunk.10 up
#创建bridge,将相应的接口加入Vlan10
ip netns exec sw1 brctl addbr Vlan10
ip netns exec sw1 ip link set Vlan10 up
ip netns exec sw1 brctl addif Vlan10 trunk.10
ip netns exec sw1 brctl addif Vlan10 tap511_p
ip netns exec sw1 brctl addif Vlan10 tap512_p
#在交换机sw1上创建Vlan20
ip netns exec sw1 vconfig add trunk 20
ip netns exec sw1 ifconfig trunk.20 up
#创建bridge,将相应的接口加入Vlan20
ip netns exec sw1 brctl addbr Vlan20
ip netns exec sw1 ip link set Vlan20 up
ip netns exec sw1 brctl addif Vlan20 trunk.20
ip netns exec sw1 brctl addif Vlan20 tap51b_p

#创建与sw2相连的两台主机,配置Vlan,并连接交换机
#创建两台主机ns
ip netns add ns513
ip netns add ns51a
#创建两对veth pair
ip link add tap513 type veth peer name tap513_p
ip link add tap51a type veth peer name tap51a_p
#把tap接口迁移到主机
ip link set tap513 netns ns513
ip link set tap51a netns ns51a
#把tap_p接口迁移到交换机sw2
ip link set tap513_p netns sw2
ip link set tap51a_p netns sw2
#主机接口配置IP地址
ip netns exec ns513 ip addr add local 192.168.51.3/24 dev tap513
ip netns exec ns51a ip addr add local 192.168.51.253/24 dev tap51a
#主机接口上线
ip netns exec ns513 ifconfig tap513 up
ip netns exec ns51a ifconfig tap51a up
#交换机接口上线
ip netns exec sw2 ifconfig tap513_p up
ip netns exec sw2 ifconfig tap51a_p up
#在交换机sw2上创建Vlan10
ip netns exec sw2 vconfig add trunk_p 10
ip netns exec sw2 ifconfig trunk_p.10 up
#创建bridge,将相应的接口加入Vlan10
ip netns exec sw2 brctl addbr Vlan10
ip netns exec sw2 ip link set Vlan10 up
ip netns exec sw2 brctl addif Vlan10 trunk_p.10
ip netns exec sw2 brctl addif Vlan10 tap513_p
#在交换机sw2上创建Vlan20
ip netns exec sw2 vconfig add trunk_p 20
ip netns exec sw2 ifconfig trunk_p.20 up
#创建bridge,将相应的接口加入Vlan10
ip netns exec sw2 brctl addbr Vlan20
ip netns exec sw2 ip link set Vlan20 up
ip netns exec sw2 brctl addif Vlan20 trunk_p.20
ip netns exec sw2 brctl addif Vlan20 tap51a_p

【实验步骤】

步骤1:创建虚拟实验网络,验证网络拓扑:

执行“实验环境”一节中提供的参考脚本,或利用Linux命令直接创建虚拟实验网络。创建好的网络应满足“实验环境”一节中的网络拓扑的要求。
通过执行Linux命令 ip netns list查询已经建立的NS列表,查询到的NS应该与“实验环境”一节中的网络拓扑一致,包括所有的主机和交换机。
示例:

在所有NS内执行ifconfig -a命令查看NS内的网络接口配置,验证网络拓扑。查询到NS内部网络接口的配置应该与“实验环境”一节中的网络拓扑图一致。
示例:

在交换机sw1和sw2内,通过执行Linux命令brctl show查看交换机桥接状态,交换机桥接状态该与“实验环境”一节中的网络拓扑图一致。
两台交换机的连接状态如下图所示:

在交换机sw1和sw2内,通过执行Linxu命令ip link show type vlan可以查询Vlan逻辑接口参数。
Vlan接口参数查询示例:

步骤2:在相同交换机连接的主机上测试连通性。

在ns511上执行命令:ping -c 2 192.168.51.2,测试相同Vlan上的主机连通性并分析结果。
示例:

在ns511上执行命令:ping -c 2 192.168.51.254,测试不同Vlan上的主机连通性并分析结果。

步骤3:在不同交换机连接的主机上测试连通性。

在ns511上执行命令:ping -c 2 192.168.51.3,测试相同Vlan上的主机连通性并分析结果。
在ns511上执行命令:ping -c 2 192.168.51.253,测试不同Vlan上的主机连通性并分析结果。
步骤4:从主机ns511上ping主机ns513,在途径的网络接口上用wireshark抓包,分析并理解802.1q帧格式;分析Linux的Vlan工作机制。
在相应ns内执行命令wires hark &,后台启动wireshark软件;在tap511、trunk.10、trunk.20、trunk、trunk_p、trunk_p.10、trunk_p.20、tap513接口启动抓包。
在ns511内后台启动Wireshark可用如下命令:ip netns exec ns511 wireshark &,其它NS内抓包方法类似。
在ns511上执行命令:ping -c 2 192.168.51.3,观察并分析各接口截获的数据包,分析并理解802.1q帧格式;分析Linux的Vlan工作机制。

【实验结果及分析】

1:创建虚拟实验网络,验证网络拓扑:

执行“实验环境”一节中提供的参考脚本,或利用Linux命令直接创建虚拟实验网络。创建好的网络应满足“实验环境”一节中的网络拓扑的要求。

通过执行Linux命令 ip netns list查询已经建立的NS列表,查询到的NS应该与“实验环境”一节中的网络拓扑一致,包括所有的主机和交换机。

在所有NS内执行ifconfig -a命令查看NS内的网络接口配置,验证网络拓扑。查询到NS内部网络接口的配置应该与“实验环境”一节中的网络拓扑图一致。部分接口配置如下图,经检查,与网络拓扑图一致

在交换机sw1和sw2内,通过执行Linux命令brctl show查看交换机桥接状态,交换机桥接状态该与“实验环境”一节中的网络拓扑图一致。
两台交换机的连接状态如下图所示:

在交换机sw1和sw2内,通过执行Linxu命令ip link show type vlan可以查询Vlan逻辑接口参数。

步骤2:在相同交换机连接的主机上测试连通性。

在ns511上执行命令:ping -c 2 192.168.51.2,测试相同Vlan上的主机连通性并分析结果。

在ns511上执行命令:ping -c 2 192.168.51.254,测试不同Vlan上的主机连通性并分析结果。

能够连接同一个vlan下的主机,但是不能连接同一个交换机下,但不同VLan的主机。

3:在不同交换机连接的主机上测试连通性。

在ns511上执行命令:ping -c 2 192.168.51.3,测试相同Vlan上的主机连通性并分析结果。

在ns511上执行命令:ping -c 2 192.168.51.253,测试不同Vlan上的主机连通性并分析结果。
分析:连接不同交换机并不影响,和上诉相同。即能够连接在同一个vlan下的主机,不同vlan下的主机无论是否连接在同一个交换机下,都无法互相连接。

4:从主机ns511上ping主机ns513,在途径的网络接口上用wireshark抓包,分析并理解802.1q帧格式;分析Linux的Vlan工作机制。

在相应ns内执行命令wires hark &,后台启动wireshark软件;在tap511、trunk.10、trunk.20、trunk、trunk_p、trunk_p.10、trunk_p.20、tap513接口启动抓包。
在ns511内后台启动Wireshark可用如下命令:ip netns exec ns511 wireshark &,其它NS内抓包方法类似。
在ns511上执行命令:ping -c 2 192.168.51.3,观察并分析各接口截获的数据包,分析并理解802.1q帧格式;分析Linux的Vlan工作机制。
在各个主机上启动wireshark并对各接口进行监控,执行ping命令后观察所抓到的包。启动过程如下:(注意在出现的wireshark窗口中选择需要抓包的接口)

执行ping指令后,各接口抓取的包如下:

Tap511:

Tap511_p:

Trunk.10:

Trunk:

Trunk_p:

Trunk_p.10:

Tap512_p:

Tap513:

分析

通过对相关数据包在分析,我们可以看到此实验中VLAN实现的关键在于trunk接口和trunk_p接口。在这两个接口处实现(?可能是ns1和ns2实现,这两个接口只是发出和接受了VLAN标识的mac帧并由ns1和ns2路由做相关处理)对相关mac帧的封装。可以清晰的在相关帧中看到如下内容:
wireshark已经帮我们识别出来,在此处添加了VLAN的标记,并且识别出CFI为0,ID为10 ,与trunk_p中识别出的mac帧有相同的ID.
另外,对比整个帧的长度,也可以发现,只有在trunk和trunk_p接口捕获的mac帧的长度为102byte.其余都是98byte,多出来的4byte也正好是插入的VLAN标记的长度。

计算机网络实验二 交换机Vlan原理 实验报告相关推荐

  1. 西邮计算机网络实验报告,西邮计算机网络实验报告内容模板-实验二-交换机基本配置...

    <西邮计算机网络实验报告内容模板-实验二-交换机基本配置>由会员分享,可在线阅读,更多相关<西邮计算机网络实验报告内容模板-实验二-交换机基本配置(10页珍藏版)>请在人人文库 ...

  2. 交换机vlan配置实训心得_交换机VLAN配置实验报告.doc

    交换机VLAN配置实验报告 宁波工程学院电信学院计算机教研室 实验报告 课程名称: 网络管理实验 实验项目: 交换机VLAN配置 实验人员: 班 级: 计科10-4 指导教师: 盛啸涛 实验位置: 网 ...

  3. 交换机vlan配置实训心得_交换机VLAN配置实验报告

    交换机VLAN配置实验报告 一.实验目的 1.了解交换机的基本功能 2.掌握虚拟局域网VLAN的相关知识,配置交换机VLAN功能 3.掌握VLAN的创建, 4.掌握VLAN间路由的接口配置 5.掌握通 ...

  4. 软件测试性能测试实训报告,实验二:带传动性能测试实验报告

    以下为<实验二:带传动性能测试实验报告>的无排版文字预览,完整格式请下载 下载前请仔细阅读文字预览以及下方图片预览.图片预览是什么样的,下载的文档就是什么样的. 实验二: 带传动性能测试实 ...

  5. # 2017-2018-1 20155312《信息安全技术》实验二——Windows口令破解实验报告

    2017-2018-1 20155312<信息安全技术>实验二--Windows口令破解实验报告 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破 ...

  6. 【网络工程管理 第三章】 各类网络设备 交换机 VLAN配置实验

    网络工程管理 第三章 各类网络设备 交换机 VLAN配置实验 网络设备的功能层次 OSI层次 地址类型 设备 传输层及以上 应用程序进程地址(端口号) 网关(协议转换器) 网络层 网络地址(IP地址) ...

  7. 2017-2018-2 20155228 《网络对抗技术》 实验二:后门原理与实践

    2017-2018-2 20155228 <网络对抗技术> 实验二:后门原理与实践 实验内容 使用netcat获取主机操作Shell,cron启动 (0.5分) 使用socat获取主机操作 ...

  8. 20172319 实验二《树》实验报告

    20172319 2018.11.04-11.12 实验二<树> 实验报告 课程名称:<程序设计与数据结构> 学生班级:1723班 学生姓名:唐才铭 学生学号:20172319 ...

  9. linux实验报告makefile,linux实验二交叉编译和Makefile实验报告.doc

    linux实验二交叉编译和Makefile实验报告 实验二 交叉编译和Makefile 实验目的 了解和掌握交叉编译模式和方法: 了解和掌握makefile文件的编写 学会使用交叉编译工具和make工 ...

最新文章

  1. R语言生成仿真的3D高斯簇数据集、使用scale函数进行数据缩放、并使用KMeans进行聚类分析、数据反向缩放并比较聚类生成的中心和实际数据的中心的差异、预测新的数据所属的聚类簇
  2. shell脚本逻辑判断,文件目录属性判断,if,case用法
  3. java并发性是指什么_java – 什么是“非阻塞”并发,它与普通并发性有什么不同?...
  4. OpenCV学习——形态学
  5. 数据库事务日志已满的解决办法
  6. Flume中的flume-env.sh和log4j.properties配置调整建议(图文详解)
  7. 性能起飞、英特尔12代酷睿处理器强势来袭
  8. 世嘉MD游戏开发【十一】:背景卷轴滚动(视差滚动)Parallax Scroll和摄像机
  9. python文本文件操作诗句给上一句输出下一句_使用RNN生成文本实战:莎士比亚风格诗句...
  10. 云计算技术体系结构由这四点组成
  11. 利用opencv带你玩转人脸识别-上篇(读取图片,灰度转换,尺寸修改,绘制矩形快速入门)
  12. 告别交通拥堵和数据孤岛,区块链成智慧交通发展新基石
  13. 【ELL】ell学习之__builtin_expect(likely-unlikely)
  14. linux下如何make文件夹,Linux makefile 教程 非常详细,且易懂
  15. qDebug()用法
  16. 八大排序算法(C语言)
  17. Python Scrapy中文教程,Scrapy框架快速入门!
  18. 夜雨数竞笔记-不定积分(7)-待定系数法
  19. 怎么将Word、图片和PDF最后合成一个PDF文档
  20. 复现:A Graph-Based Approach for Active Learning in Regression

热门文章

  1. 声优直播互动平台克拉克拉获1.2亿元融资,将布局虚拟偶像互动
  2. linux内核实验一:一个简单的时间片轮转多道程序内核代码
  3. Tableau函数平均值及标准偏差
  4. rk3399 9.0 GMS 服务使用
  5. Lumerical Python API学习(六)——lumopt入门
  6. 开源云存储minio
  7. Ubuntu jdk install.sfx.XXX: not found
  8. 10月31日 迅雷白金会员vip账号分享 91fee 晚间更新
  9. 谷歌音乐搜索即将上线
  10. 追踪调查来自印度的针对中国和南亚国家的大规模APT攻击