前言 计算机网络是赋能和保障我们与信息世界互联互通的基石,也是未来人工智能系统的重要信息基础设施。今天,我们正在目睹计算机网络借由其过去 30年在消费互联网方面的成功经验,积极拥抱工业(产业)互联网并渗透到各个产业与之共融协同智能创新。从计算机网络的发展历史宏观来看,一方面,我们的先驱在计算机网络设计之初出于对兼容性和可扩展性优先的考虑提出的分层和协议等核心设计原则,理念经典,历久弥新,其伴生并已经深入到互联网中数以亿万计的泛在网络设备中的系统软件也同样历久弥坚。另一方面,许多新型应用也不断促进着计算机网络技术的持续发展。近年来,软件定义网络、可编程交换机、用户态网络 I/O等技术,使得计算机网络变得越来越开放、智能,为未来高性能网络的敏捷开发部署提供了基础。 本书是《计算机网络》(第 6版)(安德鲁·S.特南鲍姆等著,清华大学出版社)的配套实验教材,立足于计算机网络核心概念和体系架构,面向目前计算机网络系统编程实验教材相对匮乏的现状,旨在以经典计算机网络 TCP/IP协议栈和前沿网络编程技术为载体,培养读者的计算机网络系统软件设计和实现能力。本书分为两部分:第一部分(第 1~4章)手把手教读者从链路层到应用层自底向上地搭建一个功能完备的 TCP/IP协议栈,并在此基础上实现节点间的安全文件传输;第二部分(第 5~12章)介绍各种新型网络技术的开发实践,涵盖了从主机到网络核心的多种网络设备,从基础转发到网络测量等各类功能,以及从无线定位技术到移动感知与导航,再到近几年流行的移动短视频内容生成与传播等内容。 本书内容基于作者所在课程团队于北京大学开设的计算机网络实验环节,经过多年教学实践反复迭代凝结而成。作者在写作过程中得到了多位师生的宝贵意见和建议,非常感谢严伟老师对本书写作的关心与指导,以及周裕涵、倪蕴哲、王诚科和区子锐、朱峰、孙锦博、柳浩、郭俊毅、丁睿、孙海锋、贺锦涛、桂杰、苏灿、薛昕磊、张远行、王诏分别在本书第一部分和第二部分写作素材方面的重要贡献。 由于写作过程仓促,疏漏错误之处在所难免,敬请指正。 作者 2024年 5月于北京