中科大高级计算机网络实验报告
计算机网络课程实验报告
计算机网络课程实验报告计算机网络课程实验报告引言:计算机网络课程实验是培养学生对计算机网络原理和技术的理解和应用能力的重要环节。
通过实验,我们可以巩固课堂所学的理论知识,掌握网络设备的配置和管理技巧,提高网络故障排查和解决问题的能力。
本文将结合实际实验过程,总结并分析我们在计算机网络课程实验中的收获和体会。
实验一:网络拓扑搭建与配置在实验一中,我们需要搭建一个简单的局域网,通过交换机连接多台计算机,并进行网络设备的基本配置。
通过实验,我们学会了如何正确连接和配置交换机、路由器和计算机,了解了网络拓扑的概念和组网原理。
同时,在实验过程中,我们也遇到了一些问题,如网络设备的IP地址冲突、网络延迟等,通过分析和解决这些问题,我们加深了对网络故障排查和解决问题的理解。
实验二:网络通信与数据传输实验二主要是通过Wireshark等工具来抓包分析网络数据传输过程。
我们学会了如何使用Wireshark捕获网络数据包,并分析数据包的结构和内容。
通过实验,我们了解了网络通信的基本原理,如TCP/IP协议栈、数据包的封装和解封装过程等。
同时,我们也发现了一些网络通信中的问题,如丢包、重传等,通过对数据包的分析和解读,我们可以更好地理解和解决这些问题。
实验三:网络安全与防护实验三主要是学习和实践网络安全相关的知识和技术。
我们了解了网络攻击的常见手段和防御方法,如防火墙、入侵检测系统等。
通过实验,我们学会了如何配置和管理防火墙,设置访问控制列表,提高网络的安全性。
同时,我们也体验了一些网络攻击的模拟实验,如DDoS攻击、ARP欺骗等,通过对攻击过程的模拟和分析,我们更深入地了解了网络安全的重要性和挑战。
实验四:网络性能测试与优化实验四主要是通过网络性能测试工具来评估和优化网络的性能。
我们学会了如何使用Ping、Traceroute等工具来测试网络的连通性和延迟,通过分析测试结果,我们可以找出网络中的瓶颈和问题,并采取相应的优化措施。
计算机网络技术实验报告
计算机网络技术实验报告一、实验目的本次计算机网络技术实验的主要目的是深入了解和掌握计算机网络的基本原理、协议和技术,通过实际操作和实验,提高对网络体系结构、网络设备配置、网络服务搭建以及网络安全等方面的认识和实践能力。
二、实验环境1、硬件环境计算机若干台,具备以太网卡。
交换机、路由器等网络设备。
网线、跳线等连接线缆。
2、软件环境Windows 操作系统。
网络模拟软件,如 Packet Tracer。
命令行工具,如 CMD 终端。
三、实验内容与步骤(一)网络拓扑结构的搭建1、设计简单的网络拓扑结构,包括多个计算机节点、交换机和路由器的连接。
2、使用网线将各个设备按照设计的拓扑结构进行物理连接。
(二)IP 地址规划与配置1、为网络中的每个节点分配合理的 IP 地址、子网掩码、网关等参数。
2、在计算机系统中通过网络设置界面或命令行工具进行 IP 地址的配置。
(三)网络设备的基本配置1、登录交换机和路由器,设置设备名称、管理密码等基本信息。
2、配置交换机的 VLAN 划分,实现不同网段之间的隔离。
3、配置路由器的静态路由和动态路由协议,实现网络之间的互联互通。
(四)网络服务的搭建与测试1、在一台计算机上搭建 Web 服务器,安装 IIS 或 Apache 等服务软件,并配置网站内容。
2、从其他计算机上访问搭建的 Web 服务器,测试网络服务的可用性和性能。
(五)网络安全设置1、配置防火墙规则,限制网络访问权限,防止非法入侵。
2、启用网络访问控制列表(ACL),对特定的 IP 地址或端口进行访问控制。
四、实验结果与分析(一)网络拓扑结构搭建结果成功搭建了设计的网络拓扑结构,各设备之间物理连接正常,指示灯显示工作状态正常。
(二)IP 地址配置结果通过查看计算机的网络设置和使用命令行工具进行IP 地址的验证,确认各节点的 IP 地址、子网掩码和网关配置正确,网络内的计算机能够相互通信。
(三)网络设备配置结果交换机的 VLAN 划分成功,不同 VLAN 之间的计算机无法直接通信,实现了网段隔离的目的。
计算机网络 实验报告
计算机网络实验报告计算机网络实验报告引言计算机网络是现代社会中不可或缺的一部分,它连接了世界各地的计算机,使得信息的传递和共享变得更加便捷和高效。
本实验旨在通过构建一个简单的局域网,了解计算机网络的基本原理和技术。
一、实验背景计算机网络是由多个计算机和网络设备通过通信链路互相连接而成的。
它可以分为局域网(LAN)、城域网(MAN)和广域网(WAN)。
在本实验中,我们将构建一个局域网,以便更好地理解网络的工作原理。
二、实验目的1. 了解局域网的基本概念和特点;2. 掌握局域网的构建方法和技术;3. 熟悉网络设备的配置和管理。
三、实验步骤1. 确定网络拓扑结构:在本实验中,我们选择星型拓扑结构。
这意味着所有计算机都连接到一个中央设备(交换机)上。
2. 连接硬件设备:将计算机和交换机通过以太网线连接起来。
确保每个计算机都与交换机直接相连。
3. 配置网络设备:通过交换机的管理界面,设置每个接口的IP地址和子网掩码。
确保每个计算机都具有唯一的IP地址。
4. 测试网络连接:打开每台计算机的终端,使用ping命令测试与其他计算机的连接。
确保网络连接正常。
四、实验结果通过以上步骤,我们成功地构建了一个局域网。
每台计算机都能够与其他计算机进行通信,并且可以共享文件和资源。
通过ping命令,我们还测试了网络的可达性和延迟情况,结果显示网络连接良好。
五、实验总结通过本次实验,我们深入了解了计算机网络的基本原理和技术。
我们学会了如何构建一个简单的局域网,并且掌握了网络设备的配置和管理方法。
这些知识对于今后的学习和工作都具有重要意义。
六、实验感想本次实验让我对计算机网络有了更深入的了解。
我意识到计算机网络是现代信息社会的基石,它连接了世界各地的计算机和人们的生活。
通过实际操作,我不仅学到了理论知识,还体会到了网络技术的实际应用。
我相信这些知识和经验将对我的未来发展产生积极的影响。
七、实验改进尽管本次实验取得了较好的结果,但仍有一些改进的空间。
计算机网络实验报告(6篇)
计算机网络实验报告(6篇)计算机网络实验报告(通用6篇)计算机网络实验报告篇1一、实验目的1、熟悉微机的各个部件;2、掌握将各个部件组装成一台主机的方法和步骤;3、掌握每个部件的安装方法;4、了解微型计算机系统的基本配置;5、熟悉并掌握DOS操作系统的使用;6、掌握文件、目录、路径等概念;7、掌握常用虚拟机软件的安装和使用;8、熟悉并掌握虚拟机上WINDOWS操作系统的安装方法及使用;9、掌握使用启动U盘的制作和U盘安装windows操作系统的方法;10、了解WINDOWS操作系统的基本配置和优化方法。
二、实验内容1.将微机的各个部件组装成一台主机;2.调试机器,使其正常工作;3.了解计算机系统的基本配置。
4.安装及使用虚拟机软件;5.安装WINDOWS7操作系统;6.常用DOS命令的使用;7.学会制作启动U盘和使用方法;8.WINDOWS7的基本操作;9.操作系统的基本设置和优化。
三、实验步骤(参照实验指导书上的内容,结合实验过程中做的具体内容,完成此项内容的撰写)四、思考与总结(写实验的心得体会等)计算机网络实验报告篇2windows平台逻辑层数据恢复一、实验目的:通过运用软件R-Studio_5.0和winhe_对误格式化的硬盘或者其他设备进行数据恢复,通过实验了解windows平台逻辑层误格式化数据恢复原理,能够深入理解并掌握数据恢复软件的使用方法,并能熟练运用这些软件对存储设备设备进行数据恢复。
二、实验要求:运用软件R-Studio_5.0和winhe_对电脑磁盘或者自己的U盘中的删除的数据文件进行恢复,对各种文件进行多次尝试,音频文件、系统文件、文档文件等,对简单删除和格式化的磁盘文件分别恢复,并检查和验证恢复结果,分析两个软件的数据恢复功能差异与优势,进一步熟悉存储介质数据修复和恢复方法及过程,提高自身的对存储介质逻辑层恢复技能。
三、实验环境和设备:(1)Windows _P 或Windows 20__ Professional操作系统。
《计算机网络》实验报告
《计算机网络》实验报告计算机网络实验报告一、引言计算机网络是现代信息技术的基础,它将各种计算机和设备连接在一起,实现数据的传输和共享。
本篇实验报告将介绍我们在《计算机网络》课程中进行的实验内容和实验结果。
二、实验目的本次实验的目的是通过搭建一个简单的局域网并进行通信测试,加深对计算机网络基本概念的理解,掌握网络配置和通信过程中的相关知识。
三、实验环境我们使用了两台计算机和一个交换机来搭建局域网。
其中,计算机A作为服务器,计算机B作为客户端,交换机用于连接两台计算机。
四、实验步骤1. 配置网络参数我们首先在计算机A和计算机B上配置IP地址、子网掩码和默认网关,确保两台计算机处于同一个子网中。
2. 搭建局域网将计算机A和计算机B通过网线连接到交换机的不同端口上,确保物理连接正常。
3. 配置服务器在计算机A上搭建服务器,选择一种合适的网络服务软件,如Apache、Nginx 等,并进行相应的配置。
4. 配置客户端在计算机B上配置客户端,选择一种合适的浏览器软件,如Chrome、Firefox 等,并设置代理服务器的IP地址和端口。
5. 进行通信测试打开浏览器,在客户端中输入服务器的IP地址和端口号,访问服务器上的网页。
观察通信过程中的网络数据传输情况,检查是否能够成功建立连接并获取到服务器上的网页内容。
五、实验结果通过以上步骤,我们成功搭建了一个简单的局域网,并进行了通信测试。
在测试过程中,我们观察到以下结果:1. 网络连接正常计算机A和计算机B通过交换机成功建立了物理连接,网络连接正常。
2. IP地址配置正确计算机A和计算机B的IP地址、子网掩码和默认网关配置正确,处于同一个子网中。
3. 服务器配置成功在计算机A上搭建的服务器配置成功,能够正常响应客户端的请求。
4. 客户端配置成功在计算机B上配置的客户端能够正常访问服务器上的网页,获取到正确的网页内容。
六、实验总结通过本次实验,我们深入了解了计算机网络的基本概念和通信过程,掌握了网络配置和通信测试的方法。
《计算机网络实验》实验报告
《计算机网络实验》实验报告一、实验目的计算机网络实验是计算机相关专业学习中的重要实践环节,通过实验操作,旨在深入理解计算机网络的基本原理、协议和技术,提高我们的动手能力和解决实际问题的能力。
具体目的包括:1、熟悉计算机网络的体系结构和各层协议的工作原理。
2、掌握网络设备的配置和管理方法,如交换机、路由器等。
3、学会使用网络工具进行网络性能测试和故障诊断。
4、培养团队合作精神和沟通能力,提高解决复杂问题的综合素养。
二、实验环境本次实验在学校的计算机网络实验室进行,实验室配备了以下设备和软件:1、计算机若干台,安装了 Windows 操作系统和相关网络工具软件。
2、交换机、路由器等网络设备。
3、网络线缆、跳线等连接设备。
三、实验内容及步骤实验一:以太网帧的捕获与分析1、打开网络协议分析软件 Wireshark。
2、将计算机连接到以太网中,启动捕获功能。
3、在网络中进行一些数据传输操作,如访问网站、发送文件等。
4、停止捕获,对捕获到的以太网帧进行分析,包括帧的格式、源地址、目的地址、类型字段等。
实验二:交换机的基本配置1、连接交换机和计算机,通过控制台端口进行配置。
2、设置交换机的主机名、管理密码。
3、划分 VLAN,并将端口分配到不同的 VLAN 中。
4、测试不同 VLAN 之间的通信情况。
实验三:路由器的基本配置1、连接路由器和计算机,通过控制台端口或Telnet 方式进行配置。
2、设置路由器的接口 IP 地址、子网掩码。
3、配置静态路由和动态路由协议(如 RIP 或 OSPF)。
4、测试网络的连通性。
实验四:网络性能测试1、使用 Ping 命令测试网络的延迟和丢包率。
2、利用 Tracert 命令跟踪数据包的传输路径。
3、使用网络带宽测试工具测试网络的带宽。
四、实验结果与分析实验一结果与分析通过对捕获到的以太网帧的分析,我们清楚地看到了帧的结构,包括前导码、目的地址、源地址、类型字段、数据字段和帧校验序列等。
计算机网络实验报告
计算机网络实验报告引言计算机网络是现代社会中不可或缺的基础设施,它使得我们能够在全球范围内实现信息交流与资源共享。
为了更好地理解计算机网络的工作原理,本次实验我们进行了一系列的网络实验。
一、网络拓扑实验首先,我们进行了网络拓扑实验,通过搭建不同拓扑结构的网络,观察其性能表现和通信效率。
我们尝试了星型、环状和总线型拓扑结构,并通过测量网络中的传输时延、带宽和吞吐量来评估不同拓扑结构的优劣。
结果显示,星型拓扑结构具有较好的扩展性和可靠性,但是对中央节点的要求较高,一旦中央节点故障,整个网络将无法正常运行。
而环状和总线型拓扑结构则相对简单,但是容易产生信号干扰和数据冲突等问题。
二、网络传输协议实验接下来,我们进行了网络传输协议实验,重点研究TCP/IP协议的性能和可靠性。
我们通过改变传输文件的大小、网络拥塞程度等因素,测试了TCP协议在不同情境下的传输速度和稳定性。
同时,我们也对比了UDP协议的传输效果。
实验结果表明,TCP协议在数据传输方面具有较好的可靠性和流量控制能力,但是在高丢包率的情况下会出现明显的传输延迟。
相比之下,UDP协议虽然传输速度较快,但是无法保证数据的可靠性,容易出现丢包和重传等问题。
三、网络安全实验随后,我们进行了网络安全实验,探讨了网络攻击与防御的相关技术。
我们采用了常见的入侵检测系统和防火墙来保护网络安全,通过模拟各种攻击手段,如拒绝服务攻击、端口扫描等,测试了网络的防护能力。
实验结果显示,入侵检测系统和防火墙能够有效地阻止大多数网络攻击,但是对于某些高级攻击手段,如零日漏洞攻击,仍然存在一定的漏洞。
因此,网络安全的保护需要综合运用各种技术手段,不断提升系统的安全性。
结论通过本次计算机网络实验,我们对网络拓扑结构、传输协议和网络安全等方面有了更深入的理解。
网络拓扑结构的选择应根据实际需求进行权衡,传输协议的选择应根据网络特性和应用场景进行调整,而网络安全则需要综合运用各种安全技术来确保系统的稳定性和数据的安全性。
计算机网络实验报告-USTC
计算机网络实验报告-USTC 计算机网络实验报告USTC一、实验目的本次计算机网络实验旨在深入理解计算机网络的基本原理和关键技术,通过实际操作和观察,提高对网络协议、网络拓扑结构、网络性能优化等方面的认识和实践能力。
二、实验环境实验在USTC的计算机网络实验室进行,使用了以下硬件和软件设备:1、计算机:若干台配置相同的台式计算机,具备以太网接口和无线网卡。
2、网络设备:交换机、路由器、防火墙等。
3、操作系统:Windows 10 和 Linux(Ubuntu)。
4、网络模拟软件:Packet Tracer、Wireshark 等。
三、实验内容1、网络拓扑结构的搭建与分析使用 Packet Tracer 软件搭建了星型、总线型、环形和树形等常见的网络拓扑结构。
对不同拓扑结构的特点进行了分析,包括可靠性、扩展性、传输效率等方面。
通过模拟数据传输,观察了网络拥塞、冲突等现象,并分析了其原因和解决方法。
2、 IP 地址配置与子网划分在 Windows 和 Linux 操作系统中,手动配置了 IP 地址、子网掩码、网关和 DNS 服务器。
学习了子网划分的原理和方法,通过划分不同大小的子网,提高了网络地址的利用率。
使用 Ping 命令和网络扫描工具,测试了网络的连通性和可达性。
3、网络协议分析利用 Wireshark 软件捕获网络数据包,对 TCP、UDP、ICMP 等常见协议的数据包格式和字段进行了分析。
观察了协议的三次握手和四次挥手过程,理解了连接建立和释放的机制。
分析了网络中的广播、组播和单播通信方式,以及它们在不同应用场景中的优缺点。
4、网络性能优化调整了网络参数,如缓冲区大小、MTU 值等,观察对网络性能的影响。
实施了流量控制和拥塞控制策略,如滑动窗口机制、慢启动算法等,提高了网络的传输效率和稳定性。
对网络中的丢包、延迟和带宽利用率等性能指标进行了监测和分析,提出了相应的优化建议。
四、实验步骤1、网络拓扑结构搭建打开 Packet Tracer 软件,选择所需的网络设备和线缆。
中科大高级计算机网络实验一
实验一NS3数据中心仿真一、实验要求试用ns3模拟仿真一个数据中心网络,并在多对一和多对多模式下进行试验,然后进行抓包,并分析该网络的吞吐量和瓶颈,最后进行改进。
网络拓扑如下:二、拓扑构建1. 创建网络,安装节点,共有7个交换机和8个主机2.创建CSMA链路,共7个区域,area~area7,并设置它们的属性3.安装协议栈并分配IP地址三、两种模式的实现1.多对一编译2.多对多编译结果如下图:四、仿真结果分析:1.多对一的模式下,在交换机t1上进行抓包分析。
将On-Off Application 的发包速率设为100KBps,用wireshark打开pcap包文件分析。
S3吞吐量图:S7吞吐量图:由上图中所示可知s4和s8此时未发生拥塞,吞吐量比较平均。
现将On-Off Application的发包速率设为200KBps,重新抓包,分析pcap包,此时吞吐量如下图所示:S3吞吐量图:S7吞吐量图:由上图中所示可知,S7发生了拥塞,吞吐量波动较大。
而S3由于经过交换机较少吞吐量相对变化较小。
比较A,B两次实验可得出,在多对一模式下,系统瓶颈在于与用于接收的主机最近的交换机与其他交换机相连接的链路上,在本例中即为area 5。
故可改善,将area 5以及area 1(防止下层带宽不够)的带宽属性为2.0Mbps,同时,On-Off Application的发包速率仍为200KBps,重新抓包pcap分析。
S3吞吐量图:S7吞吐量图:有上图分析可知,此时S3,S7的吞吐量又回到相对均匀稳定的状态,未发生拥塞。
2.在多对多的模式下,在交换机a1上进行抓包分析。
◆将On-Off Application的发包速率设为200KBps,用wireshark打开pcap包文件分析。
此时吞吐量分布相对均匀,未发生拥塞。
◆将On-Off Application的发包速率设为250KBps,重新抓包,分析pcap包文件。
计算机网络实验报告实验3
计算机网络实验报告实验3一、实验目的本次计算机网络实验 3 的主要目的是深入理解和掌握计算机网络中的相关技术和概念,通过实际操作和观察,增强对网络通信原理、协议分析以及网络配置的实际应用能力。
二、实验环境本次实验在计算机网络实验室进行,使用的设备包括计算机、网络交换机、路由器等。
操作系统为 Windows 10,实验中使用的软件工具包括 Wireshark 网络协议分析工具、Cisco Packet Tracer 网络模拟软件等。
三、实验内容与步骤(一)网络拓扑结构的搭建使用 Cisco Packet Tracer 软件,构建一个包含多个子网的复杂网络拓扑结构。
在这个拓扑结构中,包括了不同类型的网络设备,如交换机、路由器等,并配置了相应的 IP 地址和子网掩码。
(二)网络协议分析启动 Wireshark 工具,捕获网络中的数据包。
通过对捕获到的数据包进行分析,了解常见的网络协议,如 TCP、IP、UDP 等的格式和工作原理。
观察数据包中的源地址、目的地址、协议类型、端口号等关键信息,并分析它们在网络通信中的作用。
(三)网络配置与管理在实际的网络环境中,对计算机的网络参数进行配置,包括 IP 地址、子网掩码、网关、DNS 服务器等。
通过命令行工具(如 Windows 中的 ipconfig 命令)查看和验证配置的正确性。
(四)网络故障排查与解决设置一些网络故障,如 IP 地址冲突、网络连接中断等,然后通过相关的工具和技术手段进行故障排查和解决。
学习使用 ping 命令、tracert 命令等网络诊断工具,分析故障产生的原因,并采取相应的解决措施。
四、实验结果与分析(一)网络拓扑结构搭建结果成功构建了包含多个子网的网络拓扑结构,各个设备之间能够正常通信。
通过查看设备的状态指示灯和配置信息,验证了网络连接的正确性。
(二)网络协议分析结果通过 Wireshark 捕获到的数据包,清晰地看到了 TCP 三次握手的过程,以及 IP 数据包的分片和重组。
中科大高级计算机网络实验三
Create a fully functional layer-2 Firewall application using Pyretic一、实验环境Win7,virtualBox,Pyretic.二、实验要求◆Implement a layer 2 firewall that runs alongside the MAC learning moduleon the Pyretic runtime◆拓扑结构如下:三、实验步骤1.初始环境部署2.Putty远程登录3.构建网络拓扑结构打开6台host的Xterm●查看h1节点●在h1上运行tcpdump4.编写防火墙程序并运行●Pyretic_firewall.py●Filewall-policies.csv运行py文件5.测试节点连通情况●h1->h2,h1->h4由上图可知,h1与h2之间可以通信,但是h1与h4不行,说明防火墙生效。
●h2->h5,h2->h4由上图可知,h2与h4之间可以通信,但是h2与h5不行,说明防火墙生效。
●h3->h6,h3->h5由上图可知,h3与h5之间可以通信,但是h3与h6不行,说明防火墙生效。
●其他节点类似,就不一一列举四、代码解释from pyretic.lib.corelib import *from pyretic.lib.std import *# insert the name of the module and policy you want to importfrom pyretic.examples.pyretic_switch import act_like_switchimport osimport csv#读CSV文件的类from csv import DictReader#CSV文件地址policy_file = "%s/pyretic/pyretic/examples/firewall-policies.csv" %os.environ[ 'HOME' ]def main():# 读入CSV文件reader = csv.DictReader(file(policy_file,'rb'))# start with a policy that doesn't match any packetsnot_allowed = none# and add traffic that isn't allowed#对于CSV中规定的MAC地址为mac_0和mac_1的host相互不能进行访问for i in reader:not_allowed = not_allowed +(match(srcmac=MAC(i['mac_0']))&match(dstmac=MAC(i['mac_1'])))+(match(srcmac=MAC(i['mac_1']))&match(dstmac=MAC(i['mac_0'])))# express allowed traffic in terms of not_allowed - hint use '~'allowed = ~ not_allowed# and only send allowed traffic to the mac learning (act_like_switch) logicreturn allowed >> act_like_switch()五、实验总结◆由于对python不熟悉,导致出现一些语法错误,如读取CSV文件以及pyretic中policy的编写;◆加深了对如何部署网络拓扑结构的了解,以及诸如Xming和putty等工具的使用;◆通过软件调用实现了防火墙的功能,为以后灵活地部署防火墙提供了极大的便利。
计算机网络实验报告
计算机网络实验报告实验名称:计算机网络基础配置实验实验目的:1. 掌握计算机网络的配置方法2. 了解计算机网络协议的工作原理3. 掌握网络设备的配置方法实验环境:1. 两台计算机(Windows操作系统)2. 网线若干根3. 路由器一台4. 交换机一台5. 网线转接头若干实验原理:计算机网络是通过一系列网络设备(包括计算机、路由器、交换机等)将地理位置不同的计算机系统互联起来,实现资源共享、信息传递和任务协作的计算机系统。
计算机网络的基础配置包括计算机网络的连接、配置和管理。
本实验将通过配置路由器和交换机,实现两台计算机之间的网络互联。
实验步骤:一、网线的制作首先,我们需要制作两根网线,用于连接路由器和两台计算机,以及两台计算机之间的通信。
根据网线的制作标准,将网线的线序排列整齐,并用压线头压紧。
二、路由器的配置1. 连接路由器电源,并使用电脑通过网线连接到路由器的LAN口。
2. 打开浏览器,输入路由器的IP地址(通常为192.168.XX.XX),并输入登录用户名和密码(用户手册或路由器背面标签上会有提示)。
3. 配置路由器的上网方式(如拨号、动态IP、静态IP等),并设置正确的上网参数。
4. 配置路由器的DHCP功能,以便计算机能够自动获取正确的网络配置。
三、交换机的配置1. 将两台计算机连接到交换机上,并确保计算机能够正常上网。
2. 进入交换机的管理界面,配置交换机的端口为“trunk”模式,以便计算机能够通过交换机连接到网络。
四、计算机的配置1. 确保计算机的网卡驱动程序已正确安装,并能够正常识别网络设备。
2. 打开“网络和共享中心”,检查计算机是否可以正常连接到网络。
3. 在计算机的网络配置中,设置不同的网络适配器,以便在不同的网络环境下使用(如局域网、互联网等)。
五、测试网络连接1. 将两台计算机连接到互联网服务提供商,并使用浏览器等工具测试网络连接是否正常。
2. 使用网络测试工具(如ping命令)测试两台计算机之间的网络连通性。
计算机网络的实验报告
计算机网络的实验报告一、引言计算机网络是现代社会中不可或缺的一部分,它连接了人与人、人与信息的桥梁。
为了更好地理解计算机网络的原理和运行机制,我们进行了一系列实验,并通过本次实验报告来总结和分享我们的实验结果。
二、实验目的本次实验的目的是通过构建一个简单的局域网,掌握计算机网络的基本概念和实验操作。
我们将通过以下几个方面来达到实验目的:1. 理解网络拓扑结构:我们将构建一个由多台计算机和交换机组成的局域网,通过观察和分析网络拓扑结构,加深对计算机网络的理解。
2. 掌握IP地址和子网掩码的设置:在局域网中,每台计算机都需要有一个唯一的IP地址和子网掩码。
我们将学习如何正确设置IP地址和子网掩码,以确保网络正常运行。
3. 理解网络通信原理:在局域网中,计算机之间需要进行通信才能实现信息交换。
我们将学习如何配置网络参数,使不同计算机之间能够正常通信。
三、实验过程1. 实验环境准备:我们先准备了一台主机和两台客户机,以及一台交换机。
主机和客户机之间通过交换机连接,形成一个局域网。
2. 设置IP地址和子网掩码:我们为主机和客户机分别设置了不同的IP地址和子网掩码,以确保它们在同一个子网内。
3. 配置网络参数:我们通过设置网关和DNS服务器的IP地址,使主机和客户机能够正常访问外部网络。
4. 进行网络通信测试:我们在主机和客户机之间进行了Ping测试和文件传输测试,以验证网络配置的正确性和稳定性。
四、实验结果通过以上实验步骤,我们成功地构建了一个简单的局域网,并实现了主机和客户机之间的正常通信。
我们进行了多次Ping测试和文件传输测试,结果显示网络连接稳定,延迟较低,传输速度较快。
五、实验总结通过本次实验,我们深入了解了计算机网络的基本概念和实验操作。
我们学会了如何构建局域网、设置IP地址和子网掩码,以及配置网络参数。
通过实验,我们进一步认识到计算机网络在现代社会中的重要性和应用广泛性。
在今后的学习和工作中,我们将继续深入研究计算机网络的原理和技术,不断提升自己的网络技能。
计算机网络实验报告(通用7篇)
计算机网络实验报告计算机网络实验报告(通用7篇)在经济飞速发展的今天,报告使用的次数愈发增长,其在写作上有一定的技巧。
我敢肯定,大部分人都对写报告很是头疼的,以下是小编收集整理的计算机网络实验报告,希望对大家有所帮助。
计算机网络实验报告1一、需求分析建设一个以办公自动化、计算机辅助教学、现代计算机校园文化为核心,以现代网络技术为依托,技术先进、扩展性强、能覆盖全校主要楼宇的校园主干网络,将学校的各种pc机、工作站、终端设备和局域网连接起来,并与有关广域网相连,在网上宣传自己和获取Internet网上的教育资源。
形成结构合理,内外沟通的校园计算机系统,在此基础上建立满足教学、研究和管理工作需要的软硬件环境,开发各类信息库和应用系统,为学校各类人员提供充分的网络信息服务。
系统总体设计将本着总体规划、分步实施的原则,充分体现系统的技术先进性、高度的安全可靠性,同时具有良好的开放性、可扩展性、冗余性。
本着为学校着想,合理使用建设资金,使系统经济可行。
具体包括下以几个方面:1、内网络能够高速访问FTP服务器现在或上传文件实现资源共享功能,实现对不同类型的用户划分不同的权限,限制不同类型的用户只能访问特定的服务资源。
可以下载和上传资料文件,访问速度可以对指定的用户进行级别的划分。
2、建设Web服务器对外实现信息发布,对内实现教学教务管理。
网站发布学校新闻、通知、学校的活动等相关内容。
实现学生能够在网上进行成绩查询、网上报名、网上评教等功能;以及教师的信息查询、教学数据上传等。
3、建设邮件服务器以满足校园内部之间和内、外网这间的大量邮件传输的需求。
4、实现内网划分多个VLAN,实现校园内不同校区,不同楼宇,不同楼层的多客户接入。
5、内部实现PC间实现高速互访,同时可以访问互联网。
网络内同一IP段内的PC机可以通过网上邻居实现高速互访,传送资料文件等,解决不同楼宇,不同楼层之间通过移动存储设备传送数据费时、费力的问题。
计算机网络课程实验报告
计算机网络课程实验报告
《计算机网络课程实验报告》
在计算机网络课程中,实验是非常重要的一部分。
通过实验,我们可以巩固课
堂上学到的知识,加深对网络原理和技术的理解,提高实际操作的能力。
在本
次实验中,我们学习了许多关于计算机网络的知识,并进行了相应的实验操作。
首先,我们学习了网络的基本概念和组成结构,了解了网络的分类和连接方式。
通过实验,我们搭建了局域网和广域网的实验环境,学会了如何配置网络设备
和连接网络设备。
这些实验让我们对网络的组成和连接有了更深入的了解,为
我们后续的学习和实践打下了基础。
其次,我们学习了网络通信协议和数据传输技术。
通过实验,我们了解了
TCP/IP协议的工作原理和应用,学会了如何配置网络参数和进行网络通信。
我
们还学习了网络数据的传输过程和网络安全技术,通过实验操作,我们能够更
好地理解网络通信的原理和技术,提高了我们的网络配置和管理能力。
最后,我们还进行了一些网络性能测试和故障排除的实验。
通过实验,我们学
会了如何使用网络测试工具和故障排除工具,对网络进行性能测试和故障排除。
这些实验让我们在实际工作中能够更加熟练地进行网络维护和故障处理,提高
了我们的实际操作能力。
通过本次实验,我们不仅加深了对计算机网络知识的理解,还提高了实际操作
的能力。
我们相信,在今后的学习和工作中,这些知识和能力一定会对我们产
生积极的影响。
希望通过不断的实验学习和实践操作,我们能够更好地掌握计
算机网络的知识和技术,为将来的发展打下坚实的基础。
计算机网络实习工作报告
计算机网络实习工作报告一、实习背景介绍我于2024年7月至9月在一家互联网公司完成了为期两个月的计算机网络实习。
该公司是一家专注于云计算和大数据处理的行业领先企业,拥有多个分布式数据中心和广域网架构。
本次实习的主要任务是参与公司内部网络架构的维护与优化,了解公司网络的运行机制以及面临的挑战,并提出相应的解决方案。
二、任务介绍1.网络拓扑图绘制与更新:根据公司网络架构的变动,配合网络工程师绘制和更新了公司各个数据中心和办公区域的网络拓扑图。
通过制作拓扑图,我更加深入地了解了公司的网络架构,并能够更准确地定位网络故障。
2.网络性能监控与故障排除:通过工具对公司网络进行监控,并负责处理网络异常报警。
在实习期间,我依托公司的监控系统,及时排查并解决了多个网络故障,提高了网络的稳定性和可用性。
3.网络设备维护与更新:参与了公司部分交换机、路由器等网络设备的部署与更新工作。
通过配置设备、检测设备状态等操作,我对网络设备的功能和性能有了更深入的了解,并在实践中熟悉了设备常见问题的排查与修复方法。
4.网络性能优化分析:基于公司的网络使用情况和需求,对网络性能进行优化分析,并提出相应建议。
例如,通过合理的带宽管理和流量控制,实现了数据中心之间的网络流量的均衡,提升了网络的传输速度和响应时间。
三、实习心得与体会1.提高了对计算机网络的理解:通过实习,我对计算机网络的基本概念、协议和技术有了更加全面的了解。
在实际工作中,我能够独立分析和解决网络问题,并能够对网络性能进行有效地优化。
实习使我在理论与实践中形成了良好的衔接,提升了对计算机网络的理解和应用能力。
2.培养了团队合作意识:在公司的实习中,我与团队成员密切合作,共同解决了一系列的网络故障和优化问题。
通过与团队成员的有效沟通和协作,我逐渐形成了良好的团队合作意识,学会了与他人相互支持和协助。
3.提高了问题解决和分析能力:在实习期间,我遇到了许多网络故障和性能问题,通过不断地分析和解决,我逐渐提高了自己的问题解决和分析能力。
计算机网络实验报告(通用19篇)
计算机网络实验报告计算机网络实验报告(通用19篇)在生活中,报告的使用频率呈上升趋势,报告包含标题、正文、结尾等。
我们应当如何写报告呢?以下是小编帮大家整理的计算机网络实验报告,欢迎大家借鉴与参考,希望对大家有所帮助。
计算机网络实验报告篇1一、实验目的1、掌握文件的复制、移动、删除;2、掌握文件的重命名、属性的设置;3、掌握文件的查找;4、掌握文件夹选项操作。
5、通过控制面板查看和修改主要输入输出设备的设置;6、查看和修改系统基本配置信息。
7、通过用户管理设置,使计算机为多人合用,同时管理员可以根据需要控制其它用户的操作权限;8、通过对计算机的环境设置,优化计算机的性能,加强用户的计算机安全意识,提高计算机病毒应对能力。
二、实验任务1、查找文件“notepad、exe”,在D盘上以自己的学号为名建立一个新的文件夹,在此文件夹内建一名为“记事本”的文件夹,将文件“notepad、exe”复制到“记事本”文件夹下面,属性修改为“只读”,然后在桌面上创建“notepad、exe”文件的快捷方式。
2、显示“我的文档”文件夹下所有文件的扩展名。
3、修改鼠标、显示器、输入法的设置。
4、显示系统硬件配置信息。
5、添加删除程序。
6、添加、删除用户,修改用户信息。
7、修改虚拟内存设置,优化计算机性能三、实验检查内容1、是否在E区建立以自己学号为名的文件夹2、是否在学号文件夹中创建名为“记事本”的文件夹3、是否将“notepad、exe”文件复制到“记事本”文件夹中4、“notepad、exe”文件的属性是否修改为“只读”5、是否在桌面上创建“notepad、exe”文件的快捷方式6、是否显示文件的扩展名7、修改鼠标处于“正常选择”状态的显示图形8、修改显示器的分辨率9、设置CTRL+SHIFT+1为某种中文输入法的热键10、设置Windows系统在“关闭程序”事件时的声音11、查找本机CPU的频率12、写出本机网络适配器的名称13、添加一个以自己学号为名的用户14、将虚拟内存设置到D区,最大值为1GB。
计算机网络实验报告实验6
计算机网络实验报告实验6一、实验目的本次计算机网络实验 6 的主要目的是深入理解和掌握计算机网络中特定的概念、技术和应用,通过实际操作和观察,增强对计算机网络原理的直观认识,提高解决实际网络问题的能力。
二、实验环境本次实验在学校的计算机网络实验室进行,实验室配备了若干台计算机,安装了最新的操作系统和网络模拟软件。
每台计算机通过交换机连接,形成一个小型的局域网环境。
三、实验内容与步骤(一)网络拓扑结构的构建首先,我们使用网络模拟软件构建了一个简单的星型网络拓扑结构。
在这个结构中,中心节点是一台交换机,周边节点是若干台计算机。
通过配置交换机和计算机的网络参数,如IP 地址、子网掩码和网关等,实现了网络的互联互通。
(二)数据包的捕获与分析接下来,我们使用网络分析工具捕获了网络中的数据包。
通过对捕获到的数据包进行详细分析,了解了数据包的结构、源地址、目的地址、协议类型等关键信息。
这让我们对网络中的数据传输有了更直观的认识。
(三)网络服务的配置与测试然后,我们配置了一些常见的网络服务,如 DHCP 服务和 DNS 服务。
在配置 DHCP 服务时,设置了 IP 地址池、子网掩码、网关和 DNS 服务器等参数,使得计算机能够自动获取 IP 地址等网络配置信息。
在配置 DNS 服务时,创建了域名和 IP 地址的映射关系,以便实现通过域名访问网络资源。
配置完成后,进行了测试,确保这些服务能够正常工作。
(四)网络故障的模拟与排除为了提高我们解决网络故障的能力,我们模拟了一些常见的网络故障,如网络线缆断开、IP 地址冲突等。
然后,通过使用网络诊断工具和排查方法,逐步定位和解决了这些故障。
四、实验结果与分析(一)网络拓扑结构构建结果成功构建了星型网络拓扑结构,计算机之间能够相互通信,ping 测试结果显示网络连接正常,数据包传输延迟在合理范围内。
(二)数据包捕获与分析结果通过分析捕获到的数据包,我们发现网络中的数据传输遵循了特定的协议规则,如 TCP、UDP 等。
中科大高级计算机网络实验报告
防火墙实验报告一.实验过程1.编写Python源代码,命名为pyretic_firewall.py。
保存在~/pyretic/pyretic/examples中。
2.编写firewall-policies.csv源文件。
保存在~/pyretic/pyretic/examples中。
3.在虚拟机mininet仿真器中创建网络拓扑。
4.在宿主机中连接虚拟机,运行程序。
5.运用tcpdump测试实验结果。
二.pyretic_firewall.py源代码及重要代码解释from pyretic.lib.corelib import *from pyretic.lib.std import *#以上代码引用库函数# insert the name of the module and policy you want to importfrom pyretic.examples.pyretic_switch import act_like_switchimport osimport csvfrom csv import DictReader#以上代码引用自己所需的一些模块policy_file = "%s/pyretic/pyretic/examples/firewall-policies.csv" %os.environ[ 'HOME']#以上代码为指定引用的文件的路径#以下代码为main函数def main():# start with a policy that doesn't match any packets# 初始化not_allowed变量not_allowed = none# and sdd traffic that isn't allowed# read the firewall-policies.csv#打开.csv文件并读取文件内容with open(policy_file, "r") as csvfile:dictreader = DictReader(csvfile)#如果d在dictreader中,则添加到not_allowed 中for d in dictreader:#对不允许的路由进行匹配not_allowed = not_allowed +(match(srcmac=MAC(d['mac_0']))&match(dstmac=MAC(d['mac_1']))) + (match(srcmac=MAC(d['mac_1']))&match(dstmac=MAC(d['mac_0']))) #express allowed traffic in terms of not_allowed - hint use'~'#将不允许的路由取反即为允许路由allowed = ~not_allowed# and only send allowed traffic to the mac learning (act_like_switch) logic # 将允许的路由作为pyretic_switch中act_like_switch()的输入return allowed>>act_like_switch()三.firewall-policies.csv 文件内容:四.运行结果截图及结果解释(1)在虚拟机中运行程序,结果如下所示:(2)打开Xming,利用Putty远程登录虚拟机:登录后结果:(3)创建含有6台Host的网络拓扑,命令及运行结果如下图:(4)打开6台Host的xterm,结果如图:(5)在终端4,5,6的xterm中,运行tcpdump:(6)测试实验结果①用h1 ping h4 ,测试结果下图所示,h1 ping h4 失败,说明设置的防火墙生效。
中科大高网实验报告
运用ns-3模拟数据中心(datacenter)实验报告一.实验工具Ubuntu、Vmware虚拟机、ns-3仿真器、Wireshark抓包工具二.实验步骤1.编写程序模拟网络拓扑及网络消息传输状态(多对一和多对多)2.利用Wireshark抓包工具对输出的.pcap文件进行分析3.实验总结三.网络拓扑图(1)四.重要代码解释//备注:以下是实现主机间多对一通信的代码,其中多指的为主机h2—h8,一为主机//h1.//库函数调用#include "ns3/core-module.h"#include "ns3/network-module.h"#include "ns3/csma-module.h"#include "ns3/internet-module.h"#include "ns3/applications-module.h"#include "ns3/ipv4-global-routing-helper.h"using namespace ns3;NS_LOG_COMPONENT_DEFINE ("SecondScriptExample");intmain (int argc, char *argv[]){bool verbose = true;uint32_t nCsma = 3;uint32_t nFlows = 7;uint16_t port = 5000;//cmd.AddValue ("nCsma", "Number of \"extra\" CSMA nodes/devices", nCsma); cmd.AddValue ("verbose", "Tell echo applications to log if true", verbose);cmd.Parse (argc,argv);if (verbose)//为真{////定义两个LOG模块,用于收到和发出数据包时输出LOG消息LogComponentEnable ("PacketSink", LOG_LEVEL_INFO);LogComponentEnable ("OnOffApplication", LOG_LEVEL_INFO);}nCsma = nCsma == 0 ? 1 : nCsma;//创建底层的4个小csma网络NodeContainer csmaNodes1;csmaNodes1.Create (3);NodeContainer csmaNodes2;csmaNodes2.Create (3);NodeContainer csmaNodes3;csmaNodes3.Create (3);NodeContainer csmaNodes4;csmaNodes4.Create (3);//创建中层的csma中左侧网络NodeContainer csmaNodes5;csmaNodes5.Create (1);csmaNodes5.Add (csmaNodes1.Get (0));csmaNodes5.Add (csmaNodes2.Get (0));//创建中层的csma中右侧网络NodeContainer csmaNodes6;csmaNodes6.Create (1);csmaNodes6.Add (csmaNodes3.Get (0));csmaNodes6.Add (csmaNodes4.Get (0));//创建总的csma大csma网络NodeContainer csmaNodes7;csmaNodes7.Create (1);csmaNodes7.Add (csmaNodes5.Get (0));csmaNodes7.Add (csmaNodes6.Get (0));//CMSA1网络拓扑CsmaHelper csma1;csma1.SetChannelAttribute ("DataRate", StringValue ("1.0Mbps"));csma1.SetChannelAttribute ("Delay", TimeValue (NanoSeconds (500)));NetDeviceContainer csmaDevices1;csmaDevices1 = csma1.Install (csmaNodes1);//CMSA2网络拓扑csma2.SetChannelAttribute ("DataRate", StringValue ("1.0Mbps"));csma2.SetChannelAttribute ("Delay", TimeValue (NanoSeconds (500)));NetDeviceContainer csmaDevices2;csmaDevices2 = csma2.Install (csmaNodes2);//CMSA3网络拓扑CsmaHelper csma3;csma3.SetChannelAttribute ("DataRate", StringValue ("1.0Mbps"));csma3.SetChannelAttribute ("Delay", TimeValue (NanoSeconds (500)));NetDeviceContainer csmaDevices3;csmaDevices3 = csma3.Install (csmaNodes3);//CMSA4网络拓扑CsmaHelper csma4;csma4.SetChannelAttribute ("DataRate", StringValue ("1.0Mbps"));csma4.SetChannelAttribute ("Delay", TimeValue (NanoSeconds (500)));NetDeviceContainer csmaDevices4;csmaDevices4 = csma4.Install (csmaNodes4);//CMSA5网络拓扑CsmaHelper csma5;csma5.SetChannelAttribute ("DataRate", StringValue ("1.0Mbps"));csma5.SetChannelAttribute ("Delay", TimeValue (NanoSeconds (500))); NetDeviceContainer csmaDevices5;csmaDevices5 = csma5.Install (csmaNodes5);//CMSA6网络拓扑CsmaHelper csma6;csma6.SetChannelAttribute ("DataRate", StringValue ("1.0Mbps"));csma6.SetChannelAttribute ("Delay", TimeValue (NanoSeconds (500))); NetDeviceContainer csmaDevices6;csmaDevices6 = csma6.Install (csmaNodes6);//CMSA7网络拓扑CsmaHelper csma7;csma7.SetChannelAttribute ("DataRate", StringValue ("1.5Mbps"));csma7.SetChannelAttribute ("Delay", TimeValue (NanoSeconds (500))); NetDeviceContainer csmaDevices7;csmaDevices7 = csma7.Install (csmaNodes7);//安装协议栈(每个node只有一个stack)InternetStackHelper stack;stack.Install (csmaNodes1);stack.Install (csmaNodes2);stack.Install (csmaNodes3);stack.Install (csmaNodes4);stack.Install (csmaNodes5.Get(0));stack.Install (csmaNodes6.Get(0));stack.Install (csmaNodes7.Get(0));//在p2p网络上分配地址 node0:10.1.1.1;node1: 10.1.1.2Ipv4AddressHelper address;//在CSMA1网络上分配地址,相当于t1下端口IP为10.0.1.1,其余主机为n1 IP为10.0.1.2//n2主机IP为10.0.1.3address.SetBase ("10.0.1.0", "255.255.255.0");Ipv4InterfaceContainer csmaInterfaces1;csmaInterfaces1 = address.Assign (csmaDevices1);//在CSMA2网络上分配地址,同CSMA1网络IP分配address.SetBase ("10.0.2.0", "255.255.255.0");Ipv4InterfaceContainer csmaInterfaces2;csmaInterfaces2 = address.Assign (csmaDevices2);//在CSMA3网络上分配地址,同CSMA1网络IP分配address.SetBase ("10.0.3.0", "255.255.255.0");Ipv4InterfaceContainer csmaInterfaces3;csmaInterfaces3 = address.Assign (csmaDevices3);//在CSMA4网络上分配地址,同CSMA1网络IP分配address.SetBase ("10.0.4.0", "255.255.255.0");Ipv4InterfaceContainer csmaInterfaces4;csmaInterfaces4 = address.Assign (csmaDevices4);//在CSMA5网络上分配地址,相当于a1下端口IP为10.1.1.1,其余交换机为t1上端口 IP为10.1.1.2//t2上端口IP为10.1.1.3address.SetBase ("10.1.1.0", "255.255.255.0");Ipv4InterfaceContainer csmaInterfaces5;csmaInterfaces5 = address.Assign (csmaDevices5);//在CSMA6网络上分配地址,同CSMA5中网络IP分配address.SetBase ("10.2.1.0", "255.255.255.0");Ipv4InterfaceContainer csmaInterfaces6;csmaInterfaces6 = address.Assign (csmaDevices6);//在CSMA7网络上分配地址,相当于c1端口IP为192.168.1.1,其余交换机为a1上端口 IP为192.168.1.2//t2上端口IP为192.168.1.3address.SetBase ("192.168.1.0", "255.255.255.0");Ipv4InterfaceContainer csmaInterfaces7;csmaInterfaces7 = address.Assign (csmaDevices7);//将h2作为服务器,打开7个不同的端口,5000-5006ApplicationContainer sinkApp[nFlows];for(unsigned int i=0;i<nFlows;i++){PacketSinkHelper packetSinkHelper("ns3::TcpSocketFactory",InetSocketAddress(csmaInterfaces1.GetAddress (1), port+i));sinkApp[nFlows] = packetSinkHelper1.Install (csmaNodes1.Get (1));sinkApp[nFlows].Start(Seconds (1.0));sinkApp[nFlows].Stop(Seconds (60.0));}以下片段为将主机h2作为 client的代码,其余主机h3-h8作为client的代码类似: ApplicationContainer clientApp2;OnOffHelper client2("ns3::TcpSocketFactory",InetSocketAddress(csmaInterfaces1.GetAddress (1), 5000));client2.SetAttribute ("OnTime",StringValue("ns3::ConstantRandomVariable[Constant=50]"));client2.SetAttribute ("OffTime",StringValue("ns3::ConstantRandomVariable[Constant=0]"));client2.SetAttribute ("DataRate", DataRateValue (DataRate ("1.5Mbps")));client2.SetAttribute ("PacketSize", UintegerValue (2000));clientApp2 = client2.Install (csmaNodes1.Get (2));clientApp2.Start(Seconds (2));clientApp2.Stop (Seconds (50));Ipv4GlobalRoutingHelper::PopulateRoutingTables ();//生成tracing消息,执行仿真csma1.EnablePcap ("dc1", csmaDevices1.Get (1), true);Simulator::Run ();Simulator::Destroy ();return 0;}五.多对一实验仿真结果1.采用Wireshark对实验输出的.pcap文件进行分析。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
防火墙实验报告
一.实验过程
1.编写Python源代码,命名为pyretic_firewall.py。
保存在
~/pyretic/pyretic/examples中。
2.编写firewall-policies.csv源文件。
保存在~/pyretic/pyretic/examples中。
3.在虚拟机mininet仿真器中创建网络拓扑。
4.在宿主机中连接虚拟机,运行程序。
5.运用tcpdump测试实验结果。
二.pyretic_firewall.py源代码及重要代码解释
from pyretic.lib.corelib import *
from pyretic.lib.std import *
#以上代码引用库函数
# insert the name of the module and policy you want to import
from pyretic.examples.pyretic_switch import act_like_switch
import os
import csv
from csv import DictReader
#以上代码引用自己所需的一些模块
policy_file = "%s/pyretic/pyretic/examples/firewall-policies.csv" %
os.environ[ 'HOME']
#以上代码为指定引用的文件的路径
#以下代码为main函数
def main():
# start with a policy that doesn't match any packets
# 初始化not_allowed变量
not_allowed = none
# and sdd traffic that isn't allowed
# read the firewall-policies.csv
#打开.csv文件并读取文件内容
with open(policy_file, "r") as csvfile:
dictreader = DictReader(csvfile)
#如果d在dictreader中,则添加到not_allowed 中
for d in dictreader:
#对不允许的路由进行匹配
not_allowed = not_allowed +
(match(srcmac=MAC(d['mac_0']))&match(dstmac=MAC(d['mac_1']))) + (match(srcmac=MAC(d['mac_1']))&match(dstmac=MAC(d['mac_0']))) #express allowed traffic in terms of not_allowed - hint use'~'
#将不允许的路由取反即为允许路由
allowed = ~not_allowed
# and only send allowed traffic to the mac learning (act_like_switch) logic # 将允许的路由作为pyretic_switch中act_like_switch()的输入return allowed>>act_like_switch()
三.firewall-policies.csv 文件内容:
四.运行结果截图及结果解释
(1)在虚拟机中运行程序,结果如下所示:
(2)打开Xming,利用Putty远程登录虚拟机:
登录后结果:
(3)创建含有6台Host的网络拓扑,命令及运行结果如下图:
(4)打开6台Host的xterm,结果如图:
(5)在终端4,5,6的xterm中,运行tcpdump:
(6)测试实验结果
①用h1 ping h4 ,测试结果下图所示,h1 ping h4 失败,说明设置的防火墙生效。
②用h2 ping h5 ,测试结果与上图类似,h2 ping h5失败,说明设置的防火墙生效。
③用h2 ping h5 ,测试结果与上图类似,h2 ping h5失败,说明设置的防火墙生效。
④用h1 ping h2 ,测试结果如下图,h1 ping h2 成功,说明不在.csv 文件中的终端可以相互通信。
⑤验证其余不在.csv 文件中的终端,都可以通信。
五. 实验总结
由于实验过程中对于Python语言运用的不熟悉,导致在写pyretic_firewall.py 文件时,出现很多次错误。
不过,最终纠正了错误,完成了实验。
在本次实验中,实现了通过文件调用作为防火墙原则的功能,可为以后防火墙的设置减轻不少工作量。