前 言
很多大学生在学校学习计算机网络时,对网络一无所知,分不清路由器和交换机,甚至没有见过网络设备。然而不少高校的“计算机网络原理”课程第1章就讲解诸如OSI参考模型、计算机通信使用的协议、对等实体、服务、封装和解封装等概念,这对学生无疑是“当头一棒”,学生顿觉云里雾里。
教师始终应该考虑如何让学生较为容易地理解计算机通信的协议。我从2000年开始从事IT职业化培训和企业IT运维的培训工作,积累了大量的案例和解决问题的经验。2007年在河北师范大学讲授“计算机网络原理”课程时,在授课中加入了给企业解决问题的案例,使用模拟软件设计了实验环境。经过二十多年培训工作经验的积累,对每个模块和知识点都有了合适的案例和知识引入的铺垫,从而逐渐形成了自己的培训风格。
本书打破常规,开门见山,以租房协议引入计算机通信使用的协议,直接从应用程序通信使用的协议入手,抓包分析应用程序客户端和服务器的交互顺序和报文格式,让学生一下子能够了解计算机通信使用的协议和交互过程。由于应用层协议可见、可操作、比较具体,因此本书先从应用层协议开始讲解;后续章节按照协议分层从高到低的顺序来讲解,依次是传输层、网络层、数据链路层、物理层,把比较抽象的OSI参考模型放到后面讲解;最后两章讲解IPv6和网络安全。
一开始,我不知道有多少人想精通计算机网络原理,也不清楚我讲的“计算机网络原理”课程有什么过人之处。直到我把在软件学院随堂录制的“计算机网络原理”授课视频上传到51CTO学院,逐步拥有几十万的访问量和众多的好评,才知道原来有那么多人在互联网上苦苦搜寻计算机网络教程,才知道学生喜欢我这种讲故事一样的授课方式。
高校计算机专业的学生大多需要学习“计算机网络原理”课程,它在很多学校还是必修课。很多非计算机专业的学生想转行进入IT领域发展,想打好扎实的基础,也应该掌握计算机网络原理。对于那些在职的软件开发人员、软件测试人员,以及从事云计算、大数据、人工智能的人员,“计算机网络原理”也是必须掌握的一门课程。
当前有关计算机网络的图书分两大类:一类是网络设备厂商认证的教材,如思科认证网络工程师CCNA、CCNP,华为认证网络工程师HCIA、HCIP等;另一类就是高校的“计算机网络原理”课的教材。
然而这些厂商认证的教材,其目的是培养能够熟练操作和配置其网络设备的工程师,对计算机网络通信的原理和过程并没有进行深入细致的讲解,重点是如何配置网络设备。而高校“计算机网络原理”课的教材,则深入讲解计算机通信的过程和各层协议,并没给学生讲解如何配置具体的网络设备来验证所学的理论,更没有对这些理论可以应用在哪些场景做进一步扩展。
我从事IT企业培训和企业IT技术支持20年,积累了大量的实战经验,在河北师范大学软件学院以谢希仁编著的《计算机网络》为教材讲授“计算机网络原理”课程8年,在授课过程中增加了大量的案例,设计了合适的实验来验证所讲的理论。我不仅给学生讲解了计算机各层的通信协议,还捕获数据包,让学生看到数据包的结构,看到每一层的封装;此外,还讲解了网络畅通的条件,以及在思科路由器上配置静态路由和动态路由的方法;不仅讲解了传输层协议和应用层协议之间的关系,还讲解了设置Windows服务器以实现网络安全的方法;不仅讲解了常见的应用层协议,还讲解了使用抓包工具捕获客户端和服务器之间交互的数据包,以及分析各种应用层协议的数据包格式。
2020年,时机成熟,我决心编写计算机网络教程,面向网络零基础的学生,以学以致用为原则,通过大量插图展示所讲的理论。每一段理论结束后,紧跟着介绍如何使用这些理论来解决实际中的问题,对知识进一步扩展。本书力求对书中的内容安排恰到好处,为此引入了大量案例,并设计了经典的实战,做到了让理论不再抽象,让课程充满趣味,让学习充满乐趣。
本书组织结构
本书共分为10章,每章讲解的主要内容如下。
- 第1章,应用层协议,主要讲解几个常见的应用层协议,应用层协议定义了服务器和客户端之间如何交换信息、服务器和客户端之间进行哪些交互、命令的交互顺序,规定了信息的格式以及每个字段的意义。不同的应用实现的功能不一样,例如,访问网站和收发电子邮件实现的功能就不一样,因此需要有不同的应用层协议。本章是整本书的概览,先介绍计算机网络在当今信息时代的作用,接着介绍网络、互联网以及最大的互联网——Internet。为了让读者觉得网络不那么抽象,本章以一个企业的网络为例展示局域网和广域网。
- 第2章,传输层协议,讲解TCP/IP协议栈传输层的两个协议TCP和UDP。首先介绍这两个协议的应用场景,再讲解传输层协议和应用层协议之间的关系、服务和端口之间的关系。搞清这些关系后,自然就会明白设置服务器防火墙实现网络安全的道理。传输层首部要实现传输层的功能,TCP和UDP两个协议实现的功能不同,因此这两个协议的传输层首部也不同,需要分别讲解。本章的重点是TCP,将详细讲解TCP如何实现可靠传输、流量控制、拥塞避免和连接管理。
- 第3章,IP地址和子网划分,讲解IP地址格式、子网掩码的作用、IP地址的分类以及一些特殊的地址;介绍什么是公网地址和私网地址,以及私网地址如何通过NAT访问Internet;讲解如何进行等长子网划分和变长子网划分。当然,如果一个网络中的计算机数量非常多,有可能一个网段的地址块容纳不下,我们也可以将多个网段合并成一个大的网段,这个大的网段就是超网。最后讲解子网划分的规律和合并网段的规律。
- 第4章,静态路由和动态路由,讲解网络畅通的条件,给路由器配置静态路由和动态路由,通过合理规划IP地址使用路由汇总和默认路由简化路由表。作为扩展知识,本章还讲解了一些排除网络故障的方法,例如使用ping命令测试网络是否畅通,使用pathping和tracert命令跟踪数据包的路径。同时讲解Windows操作系统中的路由表,以及给Windows操作系统添加路由的方法。
- 第5章,网络层协议,讲解网络层第三部分的内容——网络层协议。讲解网络层,当然要讲网络层首部,路由器就是根据网络层首部转发数据包的,可见网络层首部各字段就是用于实现网络层功能的。除了讲解网络层首部,还讲解了TCP/IP协议栈网络层的4个协议——IP、ICMP、IGMP和ARP。
- 第6章,数据链路层协议。不同的网络类型有不同的通信机制(数据链路层协议),数据包在传输过程中要通过不同类型的网络,就要使用对应网络的通信协议,同时数据包也要重新封装成该网络的帧格式。本章先讲解数据链路层要解决的3个基本问题——封装成帧、透明传输、差错检验;再讲解两种类型的数据链路层——点到点信道的数据链路层和广播信道的数据链路层,这两种数据链路层的通信机制不一样,使用的协议也不一样,点到点信道使用点对点协议(Point to Point Protocol,PPP),广播信道使用带冲突检测的载波侦听多路访问(CSMA/CD)协议。
- 第7章,物理层,讲解计算机网络通信的物理层。本章先讲解通信方面的知识,也就是如何在各种介质(光纤、铜线)中更快地传递数字信号和模拟信号。涉及的通信概念有模拟信号、数字信号、全双工通信、半双工通信、单工通信、常用的编码方式和调制方式、信道的极限容量等。
- 第8章,计算机网络和协议。国际标准化组织将计算机通信的过程分为7层,即OSI参考模型。本章讲解OSI参考模型和TCP/IP的关系,用图示的方式给读者展示了计算机使用TCP/IP通信的过程、数据封装和解封的过程,同时讲解集线器、交换机和路由器这些网络设备分别工作在OSI参考模型的哪一层。最后讲解计算机网络的性能指标——速率、带宽、吞吐量、时延、时延带宽积、往返时间和网络利用率,以及计算机网络的分类和企业局域网的设计。
- 第9章,IPv6,介绍IPv6相对于IPv4有哪些方面的改进、IPv6首部、IPv6的地址体系、IPv6下的计算机地址配置方式、IPv6静态路由和动态路由,以及IPv6和IPv4共存技术、双协议栈技术、6to4隧道技术和NAT-PT技术。
- 第10章,网络安全,本章中的网络安全只专注于数据在传输过程中的安全,涉及应用层安全协议(如发送数字签名的电子邮件、发送加密的电子邮件)、在传输层和应用层之间增加的安全套接字层(如访问网站使用HTTPS)、在网络层实现的安全(IPSec)等。
本书受众
- 计算机专业的大学生。
- 计算机专业的考研人群。
- 想从事IT方面的工作,或想系统学习IT技术的人。
- 思科或华为认证网络工程师的考生。
学生评价
可在51CTO学院上看到韩立刚老师的计算机网络视频教程(收费课程),下面是51CTO学院的学生看完韩老师的“计算机网络原理”课程视频后的评价。
★★★★★ 5分
学了一半了,感觉还不错,能把抽象的概念或晦涩难懂的内容通过直白的语言讲出来,难能可贵啊!
★★★★★ 5分
这套课程很适合那些刚接触网络,或者还没开始学但想学网络的人。总而言之,这套课程对网络基础讲解得很详细。
★★★★★ 5分
韩老师的课讲得很有条理,而且有很强的实用价值,对我们这些对计算机感兴趣,又找不到好的教程的人来说,简直是雪中送炭。现在是国家关注网络安全的时期,也是全民用网的时期,网络方面的知识是大家都需要的,希望韩老师制作更多优秀视频,使更多网民学会安全用网。
★★★★★ 5分
讲得真好!因为实践经验太丰富了。
★★★★★ 5分
老师讲得太好了,原来书里不好理解的内容经老师讲解一下就懂了。
★★★★★ 5分
真心不错的老师!要是遇到这样的老师,哪儿还有逃课的学生呢?韩老师厉害。
★★★★★ 5分
韩老师的课程侧重于实际应用,没有那么多的专业术语,讲解得也浅显易懂,但要是为了考取证书还需要学习一下别的视频,韩老师很给力,顶!!!
技术支持
技术交流和资料索取请联系:
- QQ 458717185;
- 技术支持QQ群、IT技术交流群 301678170;
- 视频教学网站91XUEIT;
- 微信hanligangdongqing;
- 微信公众号han_91xueit。