爱游戏电竞app官网 首页 > 工程展示

深受B站粉丝喜爱的“计算机网络微课堂”出书啦——《深入浅出计

发布时间:2022-08-18 来源:爱游戏电竞app 作者:爱游戏电竞app官网

  原标题:深受B站粉丝喜爱的“计算机网络微课堂”出书啦——《深入浅出计算机网络(微课视频版)》新书上市

  在B站上有一门被大家口口相传的计算机网络课程,“计算机网络微课堂”,粉丝们给予了极高的评价:

  课程的授课老师“湖科大教书匠”高军老师,不愧为一位“匠人”,在20多年的教学生涯中,他不断听取学生的反馈,反思如何讲才能把计算机网络这门抽象的课程讲得通俗、易懂,最好还生动、有趣。

  正是这样年复一年的优化、改进,让高老师的课成为学生们最喜爱的一门课。2019年,高老师制作了微课视频,并上传到B站。高老师从未主动宣传过这门课,但是如前所述,无论学生还是流量大咖,都主动把这门课推荐给别人,目前这系列视频的播放量已经达到160万+:

  非常高兴地告诉大家,这门课程经过进一步升级后,在清华大学出版社出书啦——《深入浅出计算机网络(微课视频版)》,相信不会让大家失望。

  在本文后面的“精彩试读”部分,摘取了书中一小节的内容“计算机网络体系结构为什么要分层”,且有配套的视频讲解,欢迎大家试读。下面先向你详细介绍一下这本书。

  需要说明的是,书中的讲解视频有一大半是高老师全新制作的,有一小半和B站已有视频重合。

  不过,高老师正在重新录制这部分视频,也感谢这两年来粉丝们给高老师的热心反馈,高老师都做了进一步优化,新视频预计会在8月底全部完成,到时候会更新书中资源(二维码不变,放心)。

  本书的思维导图可谓巨大而精美,实话说,我本想全彩印刷出来,并作为赠品给大家。可是和印务同事数次沟通,并两次打样后发现,最大的纸(超1米长)也不足以印清楚,下面是第2章的思维导图打样效果:

  而且全书一共十几张这样的图,调整难度实在太大,成本也实在过高,只好遗憾放弃印出来的想法,只提供电子版思维导图给大家。不过我们后续还是想精心调整一下,做成超酷的大海报单独出版,有兴趣的读者可以关注。要知道,这不是一般的梗概图,而是关键知识点都集结于其中的精华图,考前复习足够使用!

  本书提供详细的教学大纲、PPT,且作者在中国MOOC大学、学银在线两大平台免费开课,老师们可以方便地将其引用为SPOC,开展线上教学或线上线)配套习题和答案

  各章都有配套习题和答案。另外,高老师还会在B站讲解408考研历年真题,大家可以通过下面二维码关注:

  计算机网络中的专业术语众多,为了方便读者学习,特意整理了术语对照,并提供图表两种形式,读者可以根据需要使用。

  本书中插图多大540+幅,都是作者用心绘制的,严谨、生动,一图胜千言。来看几个示例:

  ,可以请大家时刻关注封底的“本书资源”二维码,以及高老师的B站动态(B站搜索“湖科大教书匠”)。粉丝优惠

  的活动,活动截止到9月10号。预计8月15号陆续发货,北京地区最先发货,其他地区也会快马加鞭地安排。

  计算机网络是一个非常复杂的系统,“分层”可将庞大而复杂的问题转化为若干较小的局部问题,而这些较小的局部问题就比较容易研究和处理。

  下面按照由简单到复杂的顺序,来看看实现计算机网络要面临哪些主要问题,以及如何将这些问题划分到五层原理体系结构的相应层次,以便层层处理。你也可以点击观看本文的配套讲解视频:

  图 2 最简单的计算机网络我们来看看在图2所示的最简单的计算机网络中,需要考虑的主要问题有哪些。

  可以采用多种传输媒体作为传输链路,例如同轴电缆、双绞线电缆、光纤和光缆、自由空间等,如图3所示。

  用户主机、交换机以及路由器等网络设备需要采用恰当的物理接口来连接传输媒体。例如图4所示的是计算机主板上常见的RJ45以太网接口。

  在确定了传输媒体和物理接口后,还要考虑使用怎样的信号来表示比特0和1,进而在传输媒体上进行传送。例如使用图5所示的数字基带信号,低电平表示比特0,高电平表示比特1。

  图5 使用数字基带信号表示比特0和1解决了上述这些问题,两台计算机之间就可以通过信号来传输比特0和1了,如图6所示。

  图6 两台计算机之间通过信号来传输比特0和1我们可以将上述这些问题划归到物理层。

  实用的计算机网络往往由多台计算机互连而成,而不是图6所示的两台计算机互连。例如主机A、主机B和主机C通过总线台主机互连成的总线型网络

  假设我们已经解决了物理层的问题,即主机间可以通过信号来传送比特0和1了。来看看在图7所示的总线型网络中,需要考虑的主要问题有哪些。

  假设主机A要给主机B发送数据,如图8所示。表示数据的信号会通过总线传播到总线上的每一个主机。那么主机B如何知道该数据是主机A发送给自己的,进而接受该数据,而主机C又如何知道该数据并不是发送给自己的,应该丢弃该数据呢?这就需要解决如何标识网络中各主机的问题,即主机编址问题。读者可能听说过网卡上固化的MAC地址,其实MAC地址就是主机在网络中的地址。

  如何区分出地址和数据主机在发送数据时应该给数据附加上源地址和目的地址。当其他主机收到后,根据目的地址和自身地址是否匹配来决定是否接受该数据,还可以通过源地址知道是哪个主机发来的数据,如图9所示。

  。发送方将待发送的数据按照事先约定好的格式进行封装(即在数据前面添加包含源地址、目的地址和其他一些控制信息的首部),然后将封装好的数据包发送出去。接收方收到数据包后,按照事先约定好的格式对其进行解封。

  为了简单起见,在图9所示的数据包首部中仅包含了源地址和目的地址,并且仅用一个字母表示地址。

  对于总线型的网络,还会出现多个主机争用总线时产生碰撞的问题。例如,某个时刻总线是空闲的,也就是没有主机使用总线来发送数据。片刻之后,主机A和主机C同时使用总线来发送数据,这必然会造成信号碰撞,如图10所示。因此,如何协调各主机争用总线,也是必须要解决的问题。

  请读者注意,上述这种总线型网络早已淘汰。现在常用的是使用以太网交换机将多台主机互连成交换式以太网,如图11所示。在交换式以太网中,不会出现主机争用总线而产生碰撞的问题。那么以太网交换机又是如何实现的呢?

  图11 多个主机通过以太网交换机互连我们可以将上述这些问题划归到数据链路层。

  解决了物理层和数据链路层各自所面临的问题后,就可以实现数据包在一个网络上传输了。然而,网络应用往往不仅限于在一个单独的网络上。例如,我们几乎每天都会使用的因特网,是由非常多的网络和路由器互连起来的,仅解决物理层和数据链路层的问题,还是不能正常工作。

  我们可以把图12所示的小型互连网看作因特网中很小的一部分,来看看在该小型互连网中,需要考虑的主要问题有哪些。

  由于互连网是由多个网络通过多个路由器互连起来的,因此我们还需要对互连网中的各网络进行标识。这就引出了

  ■图 13 小型互连网中各设备的IP地址网络N1中的主机H3、主机H4以及路由器R1连接网络N1的接口,它们都处于同一个网络,因此它们的IP地址的网络号相同,在本例中为192.168.0,而它们的主机号分别为1、2以及254,各不相同,用于在网络N1中唯一标识它们自己。

  同理,我们给网络N2中的主机H1、主机H2以及路由器R2连接网络N2的接口也分配相应的IP地址。请读者注意,给网络N2分配的网络号为192.168.1,这与给网络N1分配的网络号192.168.0是不同的,因为它们是不同的网络。本书第4章将详细介绍IP地址的相关内容,这里就不再深入介绍了。

  解决了物理层、数据链路层以及网络层各自的问题后,就可以实现分组在多个网络之间的传送了。然而,对于计算机网络应用而言,仍有一些重要问题需要考虑。

  在用户主机中同时运行着的、与网络通信相关的应用进程往往不止一个。当主机通过网络接收到数据包后,

  在图15中,主机H3中运行着与网络通信相关的Web服务器进程Nginx,主机H1中运行着与网络通信相关的浏览器进程和QQ进程。当主机H1收到主机H3中Nginx进程发来的数据包后,应将数据包交付给浏览器进程还是QQ进程呢?很显然,如果数据包中含有与进程相关的标志信息,主机H1就可以根据标志信息将数据包交付给相应的应用进程。

  这就引出了如何标识与网络通信相关的应用进程、进而解决进程之间基于网络通信的问题。

  在本书1.5.8节中,曾介绍过分组由于误码被路由器或用户主机丢弃,又或是由于路由器繁忙而主动丢弃正常分组,这些都属于传输差错。那么,当出现传输差错时应该如何处理,这也是需要解决的问题。

  解决了物理层、数据链路层、网络层以及运输层各自的问题后,就可以实现进程之间基于网络的通信了。

  ,并按协议标准编写相应的应用程序,通过应用进程之间的交互来实现特定的网络应用。例如支持万维网的HTTP协议、支持电子邮件的SMTP协议以及支持文件传送的FTP协议等。另外,在制定应用协议时,还需要考虑应用进程基于网络通信时的

  我们可以将上述这些问题划归到应用层。至此,我们将实现计算机网络所需要解决的各种主要问题,分别划归到了物理层、数据链路层、网络层、运输层以及应用层。这就构成了五层原理体系结构,如图16所示。

  图16 五层原理体系结构各层的主要功能五层原理体系结构各层的主要功能分别是:

  请读者思考一下,如果你是一名程序员,要编程解决实现计算机网络所面临的各种软件问题。那么,你是愿意将这些问题全部放在一个模块中编程实现呢,还是愿意将它们划分到不同的模块中,逐个模块编程实现呢?相信读者一定会选择后者。

  声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。发布于: