本书通过简洁、易懂的描述和生动的实例,将一种积极主动的方式引入计算机网络的教学当中。本书可以作为主教材与课堂材料配套使用,也可以作为辅助教材提供课外实验。同时,本书也是计算机专业人员非常理想的自学指导材料。事实上,这本书可以帮助任何一位对网络有兴趣的读者了解他们每天都在使用的网络的内部秘密,从而成为一名知识丰富的网络使用者。.
本书由一系列的实验组成,每个实验都分析了对实际网络活动的跟踪记录。重要的概念都是放到现实场景的实际跟踪(trace)中进行讲解的。读者能够以一种最佳的方式——在实践中观察来学习网络协议的细节。
书中精选的实例能够使读者更加清楚网络协议与现实生活的联系。例如,安全问题在整本书中的地位非常突出。读者将了解到在线浏览网站或购物时,在网络上会传送些什么信息。他们也可以了解到,未使用WEP的家庭无线网络会如何暴露给驾车经过的其他人。这些以及更多具体的例子可以帮助读者弄清如何保护他们的网络免受攻击。
对于所有学习计算机网络的人来说,本书将帮助他们通过实践而不是简单地听课来学习网络知识。本书已经在本科生和硕士生的计算机网络课程中得到运用,而且还成功地运用于高中生的短期课程中。同时它还能用作网络课程的配套教材,可以根据计算机科学专业的电子及计算机工程专业以及管理专业学生的不同需要进行调整。学生可以把它作为课程自学的基础,而专业人士则可以通过它来进一步提高计算机网络知识水平。我们真诚地希望这些实验可以使计算机网络知识变得更加生动有趣。
如何使用本书和下载资源
分组跟踪文件
本书基于这样一个前提——学习计算机网络的最好方法是在实践中进行观察。书中每一个实验都附带了一个或几个分组跟踪文件,读者可以借此进行实践。为了更好地理解本书相应内容,读者应当在讨论这些跟踪文件时将它们打开。讨论一个新的跟踪文件时,左边的图标总是会出现在相应段落的左边,相应段落中会给出跟踪文件的名字(如exampleFileNamecap)。
这些跟踪文件可以在下载资源1中找到。从目录中选择当前正在阅读的实验的名字,即可看到在这个实验中涉及的所有跟踪文件的列表。
这些跟踪文件使用的是一种标准的分组捕获格式,读者可以使用不同的网络分析工具来阅读。本书中使用的是Ethereal这个开源软件,它具有易操作的图形界面,同时适用于不同的平台,包括Windows、Linux和Solaris。
第1章讨论Ethereal中捕获分组的基础知识。在开始这一部分之前,我们首先要提醒读者必须先在本地主机上安装Ethereal。读者可以http://www.ethereal.com/downloadhtml上下载Ethereal的最新版本。我们在下载资源中包括了一个运行在Windows平台上的Ethereal安装软件。
除了我们提供的跟踪记录以外,读者可能还想捕获自己的网络活动的其他跟踪记录。观察自己捕获的跟踪,了解自己所处网络的特性当然有趣。我们鼓励读者这么做,但是熟悉所在网络的管理员对网络规则的设置非常重要。例如,捕获分组通常在共享的校园网中是被禁止的。当做本书上的实验时读者会更加明白这是为什么。
本书结构
本书分成6章:其中第1章讲述了使用Ethereal进行网络跟踪所需的基础知识,中间4章分别讲述了网络协议栈的每一层(应用层、传输层、网络层和数据链路层),最后一章着重讲解了安全问题。
这些实验是以自顶向下的形式组织的,但是我们做了特殊安排,使它们也适合用于以自底向上的方式介绍协议栈的课程。在图1中介绍了两种使用本书的方法。无论使用哪种方法,我们建议读者最好从第1章开始,最后讲述第6章。同时建议每一章中的实验也能按照顺序完成。
在每个实验开始时首先介绍它所涉及的背景知识,因此本书可以当作一系列独立的实验来使用,也可以用作传统计算机网络课程的配套教材。
“简介”的后面是“配置”部分。在这里将描述在捕获跟踪记录之前应当如何安装相应的硬件和软件。即使读者并没有自己捕获跟踪记录,这里仍然为此提供了足够的信息。这一部分一般都包括一个网络图。..
接下来就是“实验”部分。这是实验中内容最多的一部分。在这一部分,将讲解如何进行跟踪,并按步骤地叙述如何对跟踪进行初步分析。在每一个实验中,我们会要求读者从下载资源中打开跟踪记录并一步一步地往下进行。虽然可以只阅读文字而不动手,但是如果能按照指导动手实践,将会学到更多东西。这部分将通过一些使用Ethereal的截屏来分析跟踪过程的各个方面。
再后面的部分是一些相关的“问题”。一些问题可以通过阅读实验来回答,一些问题要求从下载资源中打开跟踪记录并进行分析,其他的则要求借助搜索因特网进行研究。需要广泛研究和自由回答的问题被组织到专门的“讨论与研究”部分。
每个实验的最后一部分是“参考资源”。它包括一系列的在线资料,这些资料对以后的网络学习将是十分有帮助的。在某些情况下,我们提供了具体的URL,在有些情况下还详细给出了一系列值得推荐的检索关键词,可以通过搜索引擎进行搜索。我们鼓励大家尽可能多地参考这些资源。读者从本书或任何网络相关课程所获得的最重要的东西,是深刻理解如何使用在线资源来回答并解决所遇到问题。我们当然也鼓励大家从因特网上搜索更多的信息。大量有用的信息可以使读者对计算机网络的学习更加清晰并得到提高。
下载资源包括每个实验的实际跟踪以及Ethereal软件的源代码和二进制可执行文件。专为教师提供的教辅材料中还包括了许多问题的答案。
.编写本书的原因
作为一名计算机网络教师,我一直在寻找一种高效而易于管理的方式为学生提供动手实验。刚开始,我认为需要一个拥有全套网络设备的实验室,因此着手搜集了大量的路由器、交换机、网络集线器、PC机,同时找到一个实验室来安置它们。我能够为少数的学生提供很好的学习环境,但无法适应一般班级的规模。配备一个能够容纳整个班级的实验室过于昂贵,并且负责太多的实验将成为实验室管理员的恶梦。即使是仅仅容纳一个小班级的实验室,它也需要花费大量的时间进行维护、升级和管理。
我发现自己面临极为令人不快的抉择——要么采用一种纯授课方式(没有我和学生喜爱的动手实验)来教授计算机网络,要么继续花费大量时间在实验所需设备的资助和管理上。基于这一点,我又仔细地研究了所有的实验。它们几乎每一个都包括3个部分:(1)配置硬件和软件,为网络实验做准备;(2)实验并捕获跟踪记录;(3)分析跟踪记录并弄清所发生事件的细节。我幡然省悟,真正地学习大部分是在第3步——分析捕获的跟踪记录。
我决定尝试一种新的方式,即向学生详细地叙述实验的过程,然后将实验中的跟踪进行分类分析。尝试的结果让我感到十分兴奋。我可以只用一套简单的网络设备来进行分组的跟踪记录捕获。在写习题答案提示时可以只用具体分组的编号,因为所有的学生看到的都是相同的跟踪记录。即使是那些对学生搜集分组跟踪非常敏感的校园网的系统管理员同样会很高兴,因为我搜集和交给学生的都是我自己的跟踪记录。
我已经在大规模班级(150人)和小规模班级(10人)里测试了这种方法。同时将它运用在规模较小的学校(Clarkson,3000名学生)和规模较大的学校康奈尔大学(Cornell,20 000名学生)。我已经将它成功地运用在研究生的网络教学以及高中生的短期网络培训课程中。我发现这种方法能够解决95%的令人头痛的麻烦。
学生一般都反映:基于网络跟踪的动手实验是网络课中最有趣的部分,帮助他们加深了对课堂内容的理解。他们说这种作业方式激发了自己去做进一步研究,从而帮助理解跟踪记录的每一个细节。学生常常带着他们自己的跟踪记录来问我他们发现的精彩深入的问题。
当我将这种方法运用在网络教学中时,我发现尽管需要做的工作(捕获跟踪记录、描述实验的步骤、列出问题及答案等)比起维护一个实验室要简单得多,但仍然相当花费时间。例如,在实际过程中,当我将结果在线发送给学生时,确定这些跟踪记录中没有捕获任何不能公开的私有数据就可能是件棘手的事。因此我决定写一本书,为其他希望为计算机网络课程增加动手实验的老师扫清障碍。本书及下载资源就是最终成果。...
联系作者
希望读者能认识到这本书是一种为计算机网络学习增加有趣的动手实验的简易方法。我们也乐意听到读者在常规课程或自学过程中使用这些实验的感受。非常欢迎读者将对本书的评论和建议发送给作者:
Dr.Jeanna Matthews
8 Clarkson Avenue, MS 5815
Potsdam, NY 13699
jnm@clarkson.edu