前言 TCP/IP原理是网络工程及相关专业的主干专业课的内容,同时也是计算机相关专业学生深入学习计算机网络技术时涉及的主要知识。要实现“掌握TCP/IP协议族中的协议工作原理”这一学习目标,主要是通过网络协议分析。针对协议分析具有很强的理论性和实践性这一特点,同时考虑到计算机及相关专业的本科教育多强调应用能力的培养,编者力求将本书编写成一本将TCP/IP原理的理论学习与实验相互融合,注重网络协议分析实验及其操作过程的教材。 本书第1版于2016年12月出版,至今已多次重印,期间也收到了不少读者的建议和意见,希望能够提供更加详细的实验过程,增加对实验现象的观察与分析、说明。本次改版的主要工作是针对第1版中每个实验的操作过程录制了详细的演示视频,能够更好地满足读者独立学习和探究式学习的需要,同时也可以解决部分读者在使用本书进行协议实验时遇到的困难。 本次改版采用了目前流行的操作系统平台和新版本的工具软件,同时考虑到读者实验环境的差异,书中着意淡化了软件的版本因素,只要能够有效地观察协议的工作过程,使用软件的版本对学习效果是没有影响的。 本书按照TCP/IP协议框架的层次结构对网络互连中的主要协议进行分析,采用实例分析的方法学习TCP/IP的基本原理。选取TCP/IP协议框架中每层的主要协议,包括链路层以太网和IEEE 802.3、ARP、ICMP、IP、RIP、OSPF、UDP、TCP、DNS、DHCP、SNMP、Telnet、HTTP和FTP等协议,自下而上地设计了26个实验,通过在网络仿真环境和真实环境中捕获协议数据包,将抽象的网络协议的PDU构成和工作原理直观、形象地展示出来,使学生能够将理论与实践结合起来,加深对网络协议的理解并掌握协议分析的基本方法。 本书在编写上特点突出,强化了在讲解TCP/IP协议概念和原理的基础上进行动手实践的思想。首先,重构实验内容,把计算机网络等课程中学习的TCP/IP各协议工作原理,基于当前主流的网络协议分析和学习工具进行教学内容、实验形式的重新设计,通过实验强化学生的网络工程实践能力。其次,融合了多种主流的网络协议分析和学习工具,综合国内外相关书籍的内容,使学生可以以不同的方式、从不同的角度理解和掌握协议原理,获得更大的学习自主性和积极性。实验既可以在真实网络设备上进行,也可以在虚拟或仿真环境中完成,学生在课余时间也可以学习,从而提高学习效果。第三,改变网络协议的传统讲解形式,采用基于协议分析工具的讲解方式,让学生在实际的网络环境中通过再现网络协议工作过程、解析网络协议,真正做到“做中学”,彻底改变学生“死记硬背”网络协议的学习方式,让网络协议的工作过程变得触手可及,大大提高了学生的学习兴趣和学习效果,进一步提高了学生的网络工程实践能力和应用能力。第四,本书中对路由器、交换机等网络设备有要求的实验都可在仿真条件下进行,即使读者的实验条件不够完备,也可以完成相关的实验。 本书适合于学习过计算机网络基础知识,已了解计算机网络的基本体系结构,需要进一步学习具体网络协议的工作原理的读者。书中各章的实验以实验指导书的形式编写,能够直接满足教学需要,因此本书也适合作为高等院校计算机网络相关教学中协议分析实验的参考教材。 全书共8章。除第1章外,其余各章的基本结构都按照先介绍基本概念和理论,然后实验内容的方式编排,实验内容覆盖了各章的主要知识点。第1章为TCP/IP协议概述,介绍TCP/IP协议分层、封装与分用的概念,RFC、应用编程的套接字和Libpcap编程接口。第2章为协议分析和学习工具,介绍协议分析器的基本原理和用途、Cisco Packet Tracer、Wireshark、GNS3、Sniffer pro和科来网络分析系统的特点和用法,实验内容包括Cisco Packet Tracer、Wireshark、GNS3的使用方法。第3章为链路层协议分析,介绍链路层的作用、以太网的帧结构、SLIP和PPP帧结构、MTU和环回接口,实验内容包括DIX Ethernet V2帧、IEEE 802帧和PPP帧分析、环回接口实验。第4章为ARP协议分析,介绍地址变换的概念、ARP协议的工作过程、协议报文格式和特殊的ARP,实验内容包括arp命令用法、ARP请求与应答、ARP代理和免费ARP实验。第5章为ICMP协议分析,介绍ICMP的作用、ICMP报文及类型,分析ICMP差错报告、控制报文和查询报文的特点、ping程序和traceroute程序的机制和用法,实验内容包括ICMP回显查询报文、ping程序和IP选项、ICMP重定向差错报文和traceroute程序实验。第6章为IP协议和IP选路协议,介绍IP协议的特点、IP数据报格式、路由表及选路基本原理、RIP协议和OSPF协议、IP分片与路径MTU发现,实验内容包括route命令与静态路由、ICMP主机和网络不可达差错、RIP协议分析、OSPF协议分析、IP分片和路径MTU发现实验。第7章为UDP及应用协议分析,介绍UDP协议特点、UDP的报文格式,基于UDP的应用协议DNS、DHCP和SNMP的有关概念、协议工作基本原理、报文格式和报文实例解析,实验内容安排了DNS协议分析、DHCP协议分析和SNMP协议分析实验。第8章为TCP及应用协议分析,介绍TCP段格式,TCP连接的建立和拆除过程,Telnet远程登录的工作机制和报文实例解析,HTTP协议的工作特点、报文格式和实例解析,FTP协议的工作原理和报文实例解析,实验内容包括Telnet程序和TCP连接分析、HTTP协议分析、FTP协议分析实验。附录中给出了Cisco常用命令,方便读者使用Packet Tracer时查阅。 授课教师可以根据课程的实际学时数,在本书中选择适合的实验内容,以满足不同的教学需求。例如,8学时的实验课可以选做实验31“DIX Ethernet V2帧格式分析”、实验42 “ARP请求与应答”、实验51“ICMP回显查询报文”和实验81“Telnet程序和TCP连接分析”4个实验,16学时的实验课可以选做实验31“DIX Ethernet V2帧格式分析”、实验42“ARP请求与应答”、实验51“ICMP回显查询报文”、实验63“RIP协议分析”、实验71“DNS协议分析”、实验72“DHCP协议分析”、实验81“Telnet程序和TCP连接分析”和实验82“HTTP协议分析”8个实验,其余实验可以作为任选实验或课后学生自主安排的实验。SNMP协议实验涉及的相关原理较多,可视学时情况安排。如果能够在实验课上以讲练结合的方式使用本书进行教学,应能用较少的学时获得更好的学习效果。本书提供各实验的完整操作演示视频,有助于教师更有效的实验指导和学生课余自学,一定程度上也有助于减少课程的课内学时。 本书中所有实验都经过实际上机操作,读者也可以根据自己的实验网络环境进行实验内容调整。读者可以从清华大学出版社的官方微信公众号“书圈”(见封底)或官方网站(www.tup.com.cn)下载与本书配套的PPT课件等教学资源。本书的部分章节和全部实验都配套了操作演示视频(总长度近400分钟),读者扫描封底的“文泉云盘”二维码,绑定微信账号之后,即可扫描正文中的二维码观看视频。 本书与配套资源使用中的相关问题请联系404905510@qq.com。 本书由陈年主编,书中内容(尤其实验内容)是编者近年来在TCP/IP原理的教学实践中不断进行补充、完善的结果。在此对为本书的编写和出版提供支持和帮助的所有老师、同学和朋友表示衷心的感谢。 限于编者的水平,不当之处在所难免,敬请各位读者批评指正。任何意见或建议请发至邮箱404905510@qq.com。 编者 2021年8月