本书重点讲述了实际网络的组建、网络协议的分析和网络编程的基本方法,介绍了交换机和路由器等常用网络设备的配置和管理;本书从众多网络协议中选出数据链路层、网络层、传输层和应用层的7个常用网络协议进行了分析,并且精心设计了11个网络编程。每一个课程设计都简要介绍相关协议的工作原理,不需要读者再去查阅其他资料;涵盖实际网络的组建、常用网络协议的分析和网络程序的设计与实现等方面;可以根据课程设计的课时情况,选择其中的某些课程设计作为教学内容,便于组织教学实践。 本书既可以作为高等院校计算机、物联网、软件工程、电子信息及相关专业的计算机网络课程设计教材,也可作为计算机网络工程技术人员的参考书。
计算机网络课程是一门实践性很强的课程,实践教学环节在教学过程中起着举足轻重的作用。通过课程设计不仅可以使学生加深对网络协议工作原理的理解和掌握,而且可以培养学生的网络运行管理和维护能力、网络协议分析能力以及网络编程开发能力。
本书重点讲述了实际网络的组建、网络协议的分析和网络编程的基本方法,介绍了交换机和路由器等常用网络设备的配置和管理;本书从众多网络协议中选出数据链路层、网络层、传输层和应用层的7个常用网络协议进行了分析,并且精心设计了11个网络编程。
本书的主要特色体现在以下4个方面:
(1) 理论实践相结合。每一个课程设计都简要介绍相关协议的工作原理,不需要读者再去查阅其他资料。
(2) 覆盖面广。本书涵盖实际网络的组建、常用网络协议的分析和网络程序的设计与实现等方面。
(3) 对网络环境的要求较低。网络组建只需要由PC、交换机和路由器组成的基本网络环境。协议分析只需要实际连接Internet的环境。网络编程是基于套接口的,不需要大量的网络设备和复杂的网络环境,就可以进行各层协议的编程开发。
(4) 灵活性高。可以根据课程设计的课时情况,选择其中的某些课程设计作为教学内容,便于组织教学实践。
全书共分3章。第1章介绍实际网络的组建,包括网线制作、路由器配置、虚拟局域网(VLAN)划分、访问控制列表(ACL)配置以及动态主机配置协议(DHCP)配置等。在配置和管理实际网络过程中,加深理解网络协议的基本工作原理,掌握网络的运行维护和管理。第2章介绍网络协议分析,利用Wireshark捕获在局域网中传输的数据包,对以太网、ARP、IP、ICMP、UDP、TCP和HTTP等常用网络协议进行分析,以便更好地理解这些协议的数据包结构,掌握这些协议的工作原理。第3章介绍网络编程,包括以太网ARP请求发送程序、以太网ARP响应分析程序、ping程序、多播客户/服务器程序、UDP报文发送程序、TCP SYN报文发送程序、UDP客户/服务器程序、TCP客户/服务器程序、服务器接口监测程序、邮件客户端程序和聊天客户/服务器程序等。通过数据链路层、网络层、传输层和应用层的常用协议的设计与实现,加深理解这些协议的工作原理,掌握网络编程的基本流程和基本方法,培养编程开发能力。
本书在编写过程中参考了国内外最新文献资料,可以作为高等院校计算机、物联网、软件工程、电子信息类及相关专业的配套的课程设计教材,也可作为从事计算机网络的工
程技术人员的参考书。作者在教学中利用这些内容做了一些尝试,并取得了较好的教学效果。
本书由任兴田、王勇和杨建红共同编写,由任兴田完成全书的统稿。
限于作者的学术水平,书中难免存在不妥之处,敬请读者批评指正。
编者
2015年7月