计算机考研复试面试常问问题 计算机网络篇(上)
在复习过程中,我用心查阅并整理了在考研复试面试中可能问到的大部分问题,并分点整理了答案,可以直接理解背诵并加上自己的语言润色!极力推荐打印下来看,效率更高!绝对良心之作!
此系列一共有8篇:编程语言篇|数据结构篇|操作系统篇|组成原理篇|计算机网络篇|数据库篇|软件工程篇|计算机专业英语篇(还未全部完成,敬请期待,你们的支持和关注是我最大的动力!)
个人整理,不可用于商业用途,转载请注明出处。
作者各个平台请搜索:程序员宝藏。快来探索属于你的宝藏吧!
需要pdf直接打印版,可在公众号"程序员宝藏"回复复试上岸获取(会持续更新)
需要408电子书2021版,可在公众号"程序员宝藏"回复408电子书获取
需要408初试视频2021版,可在公众号"程序员宝藏"回复408视频获取
需要复试机试视频,可在公众号"程序员宝藏"回复机试必过获取
相对于408初试,复试需要的少多了,加油,大家都可以上岸!!!让我们一起努力!!!
第一章、计算机网络体系结构
快速唤起记忆知识框架
1.计算机网络的主要功能?
1、硬件资源共享。
可以在全网范围内提供对处理资源、存储资源、输入输出资源等昂贵设备的共享,使用户节省投资,也便于集中管理和均衡分担负荷。
2、软件资源共享。
允许互联网上的用户远程访问各类大弄数据库,可以得到网络文件传送服务、远地进程管理服务和远程文件访问服务,从而避免软件研制上的重复劳动以及数据资源的重复存贮,也便于集中管理。
3、用户间信息交换。
计算机网络为分布在各地的用户提供了强有力的通信手段。用户可以通过计算机网络传送电子邮件、发布新闻消息和进行电子商务活动。
4、分布式处理
当计算机网络中某个计算机系统负荷过重时,可以将其处理的某个复杂任务分配给网络中的其他计算机系统,从而利用空闲计算机资源以提高整个系统的利用率。
2.主机间的通信方式?
客户-服务器(C/S):客户是服务的请求方,服务器是服务的提供方。
对等(P2P):不区分客户和服务器。
3.电路交换,报文交换和分组交换的区别?
电路交换:整个报文的比特流从源点连续的直达终点,像在一个管道中传输。包括建立连接、传输数据和断开连接三个阶段。最典型的电路交换网络是传统电话网络。
报文交换:将整个报文转发到相邻节点,全部存储下来,查找转发表,转发到下一个节点。是存储-转发类型的网络。
分组交换:将报文分组转发到相邻节点,查找转发表,转发到下一个节点。也是存储-转发类型的网络。
4.计算机网络的主要性能指标?
1、带宽(Bandwidth)
本来表示通信线路允许通过的信号频带范围,但在计算机网络中,带宽表示网络的通信线路所能传送数据的能力,是数字信道所能传送的“最高数据率”的同义词,单位是比特/秒(b/s)。
2、时延(Delay)
总时延 = 排队时延 + 处理时延 + 传输时延 + 传播时延
(1) 排队时延
分组在路由器的输入队列和输出队列中排队等待的时间,取决于网络当前的通信量。
(2) 处理时延
主机或路由器收到分组时进行处理所需要的时间,例如分析首部、从分组中提取数据、进行差错检验或查找适当的路由等。
(3) 传输时延(发送时延)
结点将分组所有比特推向链路所需的时间。
(4) 传播时延
电磁波在信道中传播所需要花费的时间,电磁波传播的速度接近光速。
3、时延带宽积
指发送端发送的第一个比特即将到达终点时,发送端已经发送了多少个比特,因此又称以比特为单位的链路长度,即时延带宽积 = 传播时延 * 信道带宽。
5.计算机网络提供的服务的三种分类?
1、面向连接服务与无连接服务
在面向连接服务中, 通信前双方必须先建立连接, 分配相应的资源(如缓冲区), 以保证通 信能正常进行, 传输结束后释放连接和所占用的资源。因此这种服务可以分为连接建立、数据传 输和连接释放三个阶段。例如TCP就是一种面向连接服务的协议。
在无连接服务中, 通信前双方不需要先建立连接, 需要发送数据时可直接发送,把每个带有 目的地址的包(报文分组) 传送到线路上, 由系统选定路线进行传输。这是一种不可靠的服务。 这种服务常被描述为“尽最大努力交付" (Best-Effort-Delivery), 它并不保证通信的可靠性。例如 IP、UDP就是一种无连接服务的协议。
2、可靠服务和不可靠服务
可靠服务是指网络具有纠错、检错、应答机制, 能保证数据正确、可靠地传送到目的地。 不可靠服务是指网络只是尽晕正确、可靠地传送, 而不能保证数据正确、可靠地传送到目的 地, 是一种尽力而为的服务。
对于提供不可靠服务的网络, 其网络的正确性、可靠性要由应用或用户来保障。例如, 用户 收到信息后要判断信息的正确性, 如果不正确, 那么用户要把出错信息报告给信息的发送者, 以 便发送者采取纠正措施。通过用户的这些措施, 可以把不可靠的服务变成可靠的服务。
3、有应答服务和无应答服务
有应答服务是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动 实现, 而不由用户实现。所发送的应答既可以是肯定应答, 也可以是否定应答, 通常在接收到的 数据有错误时发送否定应答。例如, 文件传输服务就是一种有应答服务。
无应答服务是指接收方收到数据后不自动给出应答。若需要应答, 则由高层实现。例如, 对 于WWW服务, 客户端收到服务器发送的页面文件后不给出应答。
6.ISO/OSI参考模型和TCP/IP模型?
1、参考图片
2、五层协议
应用层 :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文。
传输层 :为进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。TCP 主要提供完整性服务,UDP 主要提供及时性服务。(流量控制、差错控制、服务质量、数据传输管理、端到端)
网络层 :为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组。(流量控制、拥塞控制、差错控制、网际互联)
数据链路层 :网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧。(封装成帧、差错控制、流量控制、传输管理)
物理层 :考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。
3、OSI
其中表示层和会话层用途如下:
表示层 :数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。
会话层 :建立及管理会话。
五层协议没有表示层和会话层,而是将这些功能留给应用程序开发者处理。
4、TCP/IP
它只有四层,相当于五层协议中数据链路层和物理层合并为网络接口层。
TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。
7.端到端通信和点到点通信的区别?
从本质上说,由物理层、数据链路层和网络层组成的通信子网为网络环境中的主机提供点到 点的服务, 而传输层为网络中的主机提供端到端的通信。
直接相连的结点之间的通信称为点到点通信, 它只提供一台机器到另一台机器之间的通信, 不涉及程序或进程的概念。同时,点到点通信并不能保证数据传输的可靠性,也不能说明源主机 与目的主机之间是哪两个进程在通信,这些工作都是由传输层来完成的。
端到端通信建立在点到点通信的基础上,它是由一段段的点到点通信信道构成的,是比点到 点通信更高一级的通信方式,以完成应用程序(进程) 之间的通信。”端” 是指用户程序的端口, 端口号标识了应用层中不同的进程。
第二章、物理层
快速唤起记忆知识框架
8.如何理解同步和异步?什么是同步通信和异步通信?
在计算机网络中,同步(Synchronous)的意思很广泛,没有统一的定义。例如,协议的三个 要素之一就是“ 同步”。在网络编程中常提到的“同步” 则主要指某函数的执行方式, 即函数调 用者需等待函数执行完后才能进入下一步。异步(Asynchronous)可简单地理解为“ 非同步”。 在数据通信中,同步通信与异步通信区别较大。
同步通信的通信双方必须先建立同步, 即双方的时钟要调整到同一个频率。收发双方不停地 发送和接收连续的同步比特流。主要有两种同步方式: 一种是全网同步, 即用一个非常精确的主 时钟对全网所有结点上的时钟进行同步;另一种是准同步, 即各结点的时钟之间允许有微小的误 差,然后采用其他措施实现同步传输。同步通信数据率较高,但实现的代价也较高。
异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的,但接收端必须时刻做 好接收的准备。发送端可以在任意时刻开始发送字符, 因此必须在每个字符开始和结束的地方加 上标志, 即开始位和停止位,以便使接收端能够正确地将每个字符接收下来。异步通信也可以帧 作为发送的单位。这时,帧的首部和尾部必须设有一些特殊的比特组合,使得接收端能够找出一 帧的开始(即帧定界)。异步通信的通信设备简单、便宜,但传输效率较低(因为标志的开销所 占比例较大)。
9.频分复用 时分复用 波分复用 码分复用
频分复用:给每个信号分配唯一的载波频率并通过单一媒体来传输多个独立信号的方法。
时分复用:把多个信号复用到单个硬件传输信道,它允许每个信号在一个很短的时间使用信道,接着再让下一个信号使用。
波分复用:就是光的频分复用。用一根光纤同时传输多个频率很接近的光载波信号。
码分复用:码分复用是用一组包含互相正交的码字的码组携带多路信号。每一个用户可以在同样的时间使用同样的频带进行通信。由于各用户使用经过特殊挑选的不同码型,各用户之间不会造成干扰,因此这种系统发送的信号有很强的抗干扰能力。
第三章、数据链路层
快速唤起记忆知识框架
10.为什么要进行流量控制?
由于接收发双方各自的工作速率和缓存空间的差异,可能出现发送方的发送能力大于接收方的 接收能力的现象,如若此时不适当限制发送方的发送速率(即链路上的信息流量),前而来不及 接收的帧将会被后面不断发送辈的帧"淹没",造成帧的丢失而出错。
因此流量控制实际上就是限制发送方的数据流量,使其发送速率不超过接收方的接收能力。 这个过程需要通过某种反馈机制使发送方能够知道接收方是否能跟上自己,即需要有一些规 则使得发送方知道在什么情况下可以接着发送下一帧而在什么情况下必须暂停发送,以等待收 到某种反馈信息后继续发送。
11.流量控制的常见方式?
1、停止-等待流量控制方式基本原理(发送窗口大小=1,接受窗口大小=1)
发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧, 都要反馈一个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,那么发送方必须一直 等待。每次只允许发送一帧,然后就陷入等待接收方确认信息的过程中,因而传输效率很低。
2、滑动窗口流量控制方式基本原理
在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;同时接收方也维持一组连续的允许接收帧的序号,称为接收窗口。发送窗口用来对发送方进行流量控制,而发送窗口的大小代表在还未收到对方确认信息的情况下发送方最多还可以发送多少个数据帧。同理,在接收端设置接收窗口是为了控制可以接收哪些数据帧和不可以接收哪些帧。在接收方,只有收到的数据帧的序号落入接收窗口内时,才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。
3、后退N帧协议(GBN)(发送窗口大小>1,接收窗口大小=1)
在后退N 帧式ARQ 中,发送方无须在收到上一个帧的ACK 后才能开始发送下一帧,而是可以连续发送帧。当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N 个帧后,若发现该N 个帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重传该出错帧及随后的N 个帧。换句话说,接收方只允许按顺序接收帧。(接收窗口大小=1则按序接收)
后退N 帧协议一方面因连续发送数据帧而提高了信道的利用率,另一方面在重传时又必须把原来已传送正确的数据帧进行重传(仅因这些数据帧的前面有一个数据帧出了错),这种做法又使传送效率降低。由此可见,若信道的传输质量很差导致误码率较大时,后退N 帧协议不一定优于停止-等待协议。
4、选择重传协议(SR)(发送窗口大小>1,接收窗口大小>1)
为进一K步提高信道的利用率,可设法只重传出现差错的数据帧或计时器超时的数据帧,但此时必须加大接收窗口,以便先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机。这就是选择重传ARQ 协议。
在选择重传协议中,每个发送缓冲区对应一个计时器,当计时器超时时,缓冲区的帧就会重传。另外,该协议使用了比上述其他协议更有效的差错处理策略,即一旦接收方怀疑帧出错,就会发一个否定帧NAK给发送方,要求发送方对NAK中指定的帧进行重传。
12.可靠传输机制有哪些?
数据链路层的可靠传输通常使用确认和超时重传两种机制来完成。
确认是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收。有些情况下为了提高传输效率,将确认捎带在一个回复帧中,称为捎带确认。超时重传是指发送方在发送某个数据帧后就开启一个计时器,在一定时间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止。
自动重传请求(Auto Repeat reQuest, ARQ) 通过接收方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信道所带来差错的方法之一。传统自动重传请求分为三种,即停止-等待(Stop-and-Wait) ARQ 、后退N 帧(Go-Back-N) ARQ 和选择性重传(Selective Repeat)ARQ,后两种协议是滑动窗口技术与请求重发技术的结合,由于窗口尺寸开到足够大时,帧在线路上可以连续地流动,因此又称其为连续ARQ 协议。注意,在数据链路层中流量控制机制和可靠传输机制是交织在一起的。
13.随机访问介质访问控制?
在随机访问协议中,不采用集中控制方式(信道划分介质访问--时分复用)解决发送信息的次序问题,所有用户能根据自己的意愿随机地发送信息,占用信道全部速率。在总线形网络中,当有两个或多个用户同时发送信息时,就会产生帧的冲突(碰撞,即前面所说的相互干扰),导致所有冲突用户的发送均以失败告终。为了解决随机接入发生的碰撞,每个用户需要按照一定的规则反复地重传它的帧,直到该帧无碰撞地通过。A/这些规则就是随机访问介质访问控制协议,常用的协议有ALOHA 协议、CSMA协议、CSMA/CD 协议和CSMA/CA 协议等,它们的核心思想都是:胜利者通过争用获得信道,从而获得信息的发送权。
1、ALOHA协议
ALOHA协议的思想很简单,只要用户有数据要发送,就尽管让他们发送。当然,这样会产生冲突从而造成帧的破坏。但是,由于广播信道具有反馈性,因此发送方可以在发送数据的过程中进行冲突检测,将接收到的数据与缓冲区的数据进行比较,就可以知道数据帧是否遭到破坏。同样的道理,其他用户也是按照此过程工作。如果发送方知道数据帧遭到破坏(即检测到冲突),那么它可以等待一段随机长的时间后重发该帧。
2、CSMA协议(载波侦听多路访问)(Carrier Sense Multiple Access)
非持续式:
经侦听,如果介质空闲,开始发送 如果介质忙,则等待一个随机分布的时间,然后重复步骤1
优点:等待一个随机时间可以减少再次碰撞冲突的可能性 缺点:如果在这个随机时间内介质上没有数据传送,则会发生浪费
1-持续式:
经侦听,如介质空闲,开始发送 如介质忙,持续侦听,一旦空闲立即发送 如果发生冲突,等待一个随机分布的时间再重复步骤1
优点:持续式的延迟时间要少于非持续式 缺点:如果两个以上的站等待发送,一旦介质空闲就一定会发生冲突
p-持续式:
经侦听,如介质空闲,那么以p的概率发送,以(1–p)的概率延迟一个时间单元发送 如介质忙,持续侦听,一旦空闲重复步骤1 如果发送已推迟一个时间单元,再重复步骤1
3、CSMA/CD协议(Collision Detection:碰撞检测)
载波侦听多路访问/碰撞检测(Carrier Sense Multiple Access with Collision Detection, CSMA/CD) 协议是CSMA 协议的改进方案。”载波帧听”就是发送前先侦听,即每个站在发送数据之前先要检测一下总线上是否有其他站点正在发送数据,若有则暂时不发送数据,等待信道变为空闲时再发送。”碰撞检测”就是边发送边侦听,即适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站点是否也在发送数据。工作流程可简单概括为“先听后发,边听边发(区别于CSMA 协议),冲突停发,随机重发”。
适配器从其父结点获得一个网络层数据报,准备一个以太网帧,并把该帧放到适配器缓冲区中。
如果适配器侦听到信道空闲,那么它开始传输该帧。如果适配器侦听到信道忙,那么它将等待直至侦听到没有信号能量,然后开始传输该帧。
在传输过程中,适配器检测来自其他适配器的信号能量。如果这个适配器传输了整个帧,而没有检测到来自其他适配器的信号能量,那么这个适配器完成该帧的传输。否则,适配器就须停止传输它的帧,取而代之传输一个48 比特的拥塞信号。
在中止(即传输拥塞信号)后,适配器采用截断二进制指数退避算法等待一段随机时间 后返回到步骤2) 。
4、CSMA/CA协议(Collision Avoidance:碰撞避免)
CSMA/CD 协议已成功应用千使用有线连接的局域网,但在无线局域网环境下,却不能简单地搬用CSMA/CD 协议,特别是碰撞检测部分。主要有两个原因:
接收信号的强度往往会远小于发送信号的强度,且在无线介质上信号强度的动态变化范围很大,因此若要实现碰撞检测,则硬件上的花费就会过大。
在无线通信中,并非所有的站点都能够听见对方,即存在“隐蔽站”问题。
为此, 802.11 标准定义了广泛应用于无线局域网的CSMA/CA 协议,它对CSMA/CD 协议进行了修改,把碰撞检测改为碰撞避免(Collision Avoidance, CA) 。”碰撞避免”并不是指协议可以完全避免碰撞,而是指协议的设计要尽量降低碰撞发生的概率。
CSMA/CA 采用二进制指数退避算法。信道从忙态变为空困时,任何一个站要发送数据帧时,不仅都须等待一个时间间隔,而且还要进入争用窗口,并计算随机退避时间以便再次试图接入信道,因此降低了发生碰撞的概率。 CSMA/CA 还使用预约信道、ACK 帧、RTS/CTS 帧等三种机制来实现碰撞避免:
预约信道。发送方在发送数据的同时向其他站点通知自己传输数据需要的时间长度,以便让其他站点在这段时间内不发送数据,从而避免碰撞。
ACK 帧。所有站点在正确接收到发给自己的数据帧(除广播帧和组播帧)后,都需要向发送方发回一个ACK 帧,如果接收失败,那么不采取任何行动。发送方在发送完一个数据帧后,在规定的时间内如果未收到ACK 帧,那么认为发送失败,此时进行该数据帧的重发,直到收到ACK 帧或达到规定重发次数为止。
RTS/CTS 帧。可选的碰撞避免机制,主要用于解决无线网中的“隐蔽站”问题。
14.PPP协议?
点到点协议(Point to Point Protocol,PPP)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。PPP具有以下功能:
(1)PPP具有动态分配IP地址的能力,允许在连接时刻协商IP地址;
(2)PPP支持多种网络协议,比如TCP/IP、NetBEUI、NWLINK等;
(3)PPP具有错误检测能力,但不具备纠错能力,所以ppp是不可靠传输协议;
(4)无重传的机制,网络开销小,速度快。
(5)PPP具有身份验证功能。
(6) PPP可以用于多种类型的物理介质上,包括串口线、电话线、移动电话和光纤(例如SDH),PPP也用于Internet接入。
15.HDLC协议?
HDLC协议使用统一的帧格式,运用方便;采用零比特插入法,易于硬件实现,且支持任意的位流传输,实现信息的透明传输;全双工通信,吞吐率高,在未收到应答帧的情况下,可连续发送信息帧,提高数据链路传输的效率;采用CRC帧校验序列,可防止漏帧,提高信息传输的可靠性。
主要有四个特点:
(1)对于任何一种比特流都可透明传输。
(2)较高的数据链路传输效率。
(3)所有的帧都有帧校验序列(FCS),传输可靠性高。
(4)用统一的帧格式来实现传输。
16.试分析中继器、集线器、网桥和交换机这四种网络互联设备的区别与联系。
这四种设备都是用于互联、扩展局域网的连接设备,但它们工作的层次和实现的功能不同。
中继器工作在物理层,用来连接两个速率相同且数据链路层协议也相同的网段,其功能是消除数字信号在基带传输中由于经过一长段电缆而造成的失真和衰减,使信号的波形和强度达到所需的要求;其原理是信号再生。
集线器(Hub) 也工作在物理层,相当于一个多接口的中继器,它可将多个结点连接成一个共享式的局域网,但任何时刻都只能有一个结点通过公共信道发送数据。
网桥工作在数据链路层,可以互联不同的物理层、不同的MAC 子层及不同速率的以太网。网桥具有过滤帧及存储转发帧的功能,可以隔离冲突域,但不能隔离广播域。
交换机工作在数据链路层,相当于一个多端口的网桥,是交换式局域网的核心设备。它允许端口之间建立多个并发连接,实现多个结点之间的并发传输。因此,交换机的每个端口结点所占用的带宽不会因为端口结点数目的增加而减少,且整个交换机的总带宽会随着端口结点的增加而增加。交换机一般工作在全双工方式,有的局域网交换机采用存储转发方式进行转发,也有的交换机采用直通交换方式(即在收到帧的同时立即按帧的目的MAC 地址决定该帧的转发端口,而不必先缓存再处理)。
参考文献:
[1]谢希仁. 计算机网络.第5版[M]. 电子工业出版社, 2008.
[2]王道论坛组, 王道论坛. 2015年计算机网络联考复习指导[M]. 电子工业出版社, 2014.