购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

0.6 实验小结参考示例

实验小结是学生对实验的体会、思考和建议,这一部分是实验报告的亮点。它可以反映出学生的实验感受,也可以让学生总结实验经验。同时,这也是实验报告中比较难写的部分,下面提供了三个示例供学生参考。

0.6.1 示例1

“TCP的连接管理分析”和“UDP协议分析”两个实验主要帮助我们学习TCP连接管理的过程以及理解UDP的头部各个字段的含义。实验难点在于通过数据包分析确认号、序号的编号过程以及UDP校验和的计算方法。学生在完成本实验后,应对TCP的连接管理、连接建立和释放过程中标志位的变化情况以及UDP不可靠传输原理有较为清晰的认识。

在本次实验中,我基于Wireshark实现了对TCP和UDP的抓包,分析了其Header及各项参数,理解了TCP连接的建立与释放中关键的“三次握手”和“四次握手”,复习并执行了UDP的校验和算法。同时,尝试理解并实现基于UDP的可靠数据传输,认识TCP本身在速度上的缺陷,并基于UDP实现了较为高效的可靠数据传输服务。

本次实验让我印象最深刻的就是 查阅协议文档和标准的重要性 。在之前的四次实验中,遇到不懂的地方,一般是去搜索别人的blog,看人家总结的知识点。但是,在本次实验中,关于SYN泛洪的部分,检索到的blog上都写得比较散。这个时候偶然间想起课本上提到的参考 RFC ×××× 文档,于是去查了一下这个文档。这一查让我印象十分深刻,因为针对SYN泛洪,RFC专门发布了文档RFC 4987来回顾目前(发布于2007年8月)主流的防范方法,而且从理论与实践角度介绍了使用这些方法的权衡(原文为trade-off,这确实是计算机科学中经常要面对的一个词,往往方法和工具没有最好,只有能否解决当前的问题),而后者我觉得更加难能可贵。本次实验中提及的SYN泛洪的缓解(原文用的是mitigation,看来制订这份文档的人也认为完全预防是不太可能的),我基本上是在阅读文档的基础上进行总结的。作为对文档的致敬,我的叙述中也着重分析了不同方法的利弊。这次查阅文档的经历确实是本次实验中印象最深刻的工作,应该保持主动查询文档这个好习惯。

再说说RFC。RFC之所以被称为标准文档,是因为它既源远流长又与时俱进,互联网精神下的开发与严格的审议也是不可或缺的。RFC的全称是Request for Comments,它最早可以追溯到1969年,随着互联网的诞生与发展不断完善,既有以网络协议为代表的“标准”,也有关于互联网与网络协议的“共识”与“建议”,当然还有一些有趣的段子独立成文。RFC在互联网世界有长久的生命力,除了其久远的历史,开放的精神也是具有决定意义的——也就是说,RFC文档并不是由负责人指定主题,形成顶层设计后,再自顶向下填充内容,相反,它是由互联网最前沿的开发团体或者个人根据研究或者工程经验提出的,经过互联网的公开评议和严格的组织审议,最后发表为RFC文档。RFC文档一旦被公开发表就不会再进行删减或修改,只会在后续的文档中对前序的文档进行补充说明。RFC文档是英文的,比较难懂的地方基本上是术语,其他描述是可以读懂的。推荐查阅网站:https://www.rfc-editor.org/

从上述总结来看,该学生对实验的整体情况掌握较好。通过实验,该学生探索并掌握了在学习过程中解决问题的方法,以及如何利用协议对应的RFC文档来解决实验中遇到的问题,从而加深了对知识点的理解。

0.6.2 示例2

本书中的一个实验是“NAT地址转换”。这个实验的目的是让学生了解NAT的原理和三种配置方法。实验的难点是在掌握原理的基础上,分析NAT存在的问题和优缺点。学生在完成这个实验后,应理解NAT的工作机制,以及不同配置方法在不同场景下的适用性。

本次实验帮助我熟悉了NAT的分类与原理,并熟悉了思科模拟器的使用。我成功地在思科模拟器上模拟了静态NAT、动态NAT、多路复用PAT,思考了NAT为解决IPv4协议地址不足做出的贡献和其自身的缺陷,从而进一步了解了IP层的运行机制。

让我印象最深的是附加实验中多种NAT的混合使用,这种配置方法更接近实际应用场景。传统的静态NAT需要机构拥有足够的公网IP可供使用,而端口多路复用PAT则不满足互联网中端到端的原则,也妨碍了一些P2P式的应用。不过,两者结合起来使用时,可以为有特殊需求的用户手动分配静态NAT,为大量普通用户提供PAT服务。

在实际使用中,NAT也会带来一些问题。举一个我有亲身感受的例子,实验室的内网是使用端口多路复用的PAT搭建的,内网的服务器上存储着实验需要使用的文件,我希望访问这些文件。如果使用FTP进行访问,不做一些设置的话是没有办法完成访问的。就控制连接而言,服务器使用的实际上是网关IP+端口,当客户端按照FTP要求,指定IP+21端口为控制连接的时候,实际上是在访问服务器所在网关的21端口,这是存在问题的,需要在网关上设置特定端口到服务器端口的映射。数据传输也是同理,试想在PASV模式下,服务器为客户端指定了可以建立数据通道的端口,但服务器是在PAT背后的,服务器本身的IP表现为PAT网关的IP+端口号,这个时候指定的IP是PAT网关的IP,附加指定的端口号可能对应的是内网中其余设备在外网的IP,因此就无法建立数据连接。这个问题解决起来比较麻烦,因为并不能确定服务器打开了哪一个端口,所以没办法设置网关端口到服务器端口的映射,这时使用P O RT模式让服务器去连接客户端会好一些。上述情况下,PAT更像是防火墙,把内网的设备隐藏在后面,支持内网对外网的访问。但是,如果不做特定端口的映射,外网对内网设备的访问就有可能出现问题,一些P2P应用和特定端口的协议就没有办法运行,这也是NAT的缺点。

从上述总结来看,该学生对实验的掌握程度较好,能够了解不同NAT模式的不同应用场景。更值得赞扬的是,该学生能够结合自己的实际情况来分析NAT的优缺点。

0.6.3 示例3

本书中的一个实验是“ARP协议分析”。这个实验的目标是让学生了解在一个子网和不在一个子网的主机之间利用ARP进行通信的方法和原理。实验的难点是理解ARP的工作机制,以及ARP与其他协议的协作顺序。学生在完成本实验后,应能掌握ARP的基本功能、使用场景和工作流程。

本次实验综合度高,难度和要求逐级递进。从子网内的ping命令到需要网关Router进行转发的ping命令,再到最后NAT下的ping命令,都需要对NAT协议、ping命令基于的ICMP和ARP有一个系统的认识。

思科模拟器的逐步运行转发,层层递进的问题设置,都对理解这三个协议的交互起到了很大的帮助作用。让我印象最深刻的,还是发现了ping第一个ICMP请求在NAT下超时的真正原因——ARP请求的耗时是一部分,关键还是Router选择丢包的行为。这在Wireshark的单纯抓包下是无法观察到的,在思科模拟器的逐步模拟下,这个困扰了我很久的问题得以最终解决。

ARP作为一系列协议分析的最后一个,达到网络层和链路层的交互之处,也为这一学期的实验课画上句号。实验课加深了我对于计算机网络的理解。大二我就上了计算机网络的理论课,但是没有一起修实验课。当时对于很多协议的理解都是建立在理论分析的基础上,对繁杂的协议和原理不甚理解,如今在抓包和逐步演示下,对它们有了全面的认识,可谓温故知新!

该学生的总结写得很清晰、逻辑性强,反映了该学生对于实验内容的深入理解和思考。该学生能够从不同的协议层次分析ping命令的工作原理和过程,发现并解决了NAT下的超时问题,展示了他的分析和解决问题的能力。他还利用思科模拟器和Wireshark等工具观察和验证协议的交互细节,提高了自己的实验技能,获得了更好的实验效果。 xjwUkpzgiCLLmBYNv+RTkB/g5I/y1buwfNXb34AeoecD15WW23gBt2COJzZjqfLY

点击中间区域
呼出菜单
上一章
目录
下一章
×