写作目的:为了应对考研复试中的面试,我整理了导师可能提问的地方,力求用口语化的语言描述出来。
这只是一部分,陆续还有计算机网络的其它章节,计算机网络的内容很多,我只整理数据链路层、网络层、传输层。
我的参考书是《计算机网络(谢希仁)》《王道计算机考研》,还有网上搜的。
思维导图在我的processon,正在完善。如果对你有帮助就打赏一下吧。
https://www.processon.com/view/link/5e8ca3430791292de87467d9
还有其它系列的面试题整理
考研复试计算机组成原理面试题
考研复试操作系统面试题
考研复试数据库原理系列
我发现自己写的文章里有很多处错别字,给大家致歉。
目录
描述一下数据链路层功能?
为网络层提供哪几种服务?
什么是数据链路层中的流量控制?
什么是数据链路层中的差错控制?
描述什么要組帧以及常用的方法?
差错控制常用的方法?
举例几种检错编码?
流量控制常用方式?
描述停止等待协议、GBN、SR
将文件分成组发送对每个组确认 和 将文件作为整体发送作为整体确认。比较一下优缺点?
什么是介质访问控制?
描述三种CSMA协议
描述CSMA\CD协议
为何不能简单搬用csma\cd
预约信道、ACK、RTS/CTS帧
CSMA\CA基本思想
描述CSMA\CD协议和CSMA\CA的不同
描述轮询访问控制
数据链路层使用PPP或CSMA/CD时,既然不能保证可靠传输,为什么要对数据帧进行差错检验?
为什么PPP协议不使用帧的编号和确认机制来实现可靠传输?
数据链路层在物理层的基础上向网络层提供服务,它将数据组装成帧,并提供差错检验,主要是加强物理层传输比特流的功能,将物理层可能出错的物理连接改造成逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。主要功能可总结为:为网络层提供服务、链路管理、帧的封装、流量控制、差错控制。
①无确认的无连接服务;②有确认的无连接服务;③有确认的面向连接服务。
流量控制是限制发送方的数据流量,让他的发送速率不超过接收方的接受能力。流量控制不是数据链路层独有的,其它的层也有,只是控制对象不同,数据链路层的流量控制是两个相邻结点之间的流量控制。
由于噪声原因,数据在传输过程中会出现错误。两种错误:位错误和帧错误。
位错误:是某个位出现了差错,可以使用CRC校验码发现错误,通过自动重传请求来重新传输出错的帧。
帧错误:帧的丢失、重复、或失序问题。引入定时器和编号机制。
数据链路层把比特组合成帧,是为了在出错时只发送出错的帧,而不必重发全部的数据,提高了效率。組帧主要解决了帧定界、帧同步、透明传输的问题。
四种方法:字符技术法、字符填充首位定界符法、比特填充首位标志法、违规编码法。
比特填充首位标志法:它使用特定的比特模式,用01111110来标识一个帧的开始或结束。为了不使信息位中出现比特流01111110被误判为首位标志,发送方的信息位遇到五个1就自动填充一个0,接收方执行逆操作可以获得数据。这种方法容易用硬件实现。
两类:自动重传请求法和前向纠错法。
自动重传请求法:发现错误,就想法通知发送端重发出错帧;
前项纠错法,接收端通过可以通过纠错编码对出错位进行纠正。
奇偶校验码等
停止-等待协议和滑动窗口流量控制
前者是发送一帧就要应答一帧,必须等待应答发送方才能继续发送。
后者是发送方维持一组连续的允许发送的帧的序号,叫发送窗口。接收方也维持接受窗口。由接收方对发送方进行流量控制。
(常考计算题,知识点有点多)
两种方式都是可行的,关键要看所在的网络环境。
第一个策略,适合于网络传输可靠性差的环境中,每个分组逐一确认,如果有出错的分组就可以及时
它要完成的任务是,为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输,使两对结点之间的通讯不互相干扰。
控制方法有:信道划分介质访问控制,随机访问介质访问控制,轮询访问介质访问控制。
载波侦听多路访问(CSMA)是一种介质访问控制(MAC)的协议。载波侦听(Carrier Sense) 指任何连接到介质的设备在欲发送帧前,必须对介质进行侦听,当确认其空闲时,才可以发送。 多路访问(Multiple Access) 指多个设备可以同时访问介质,一个设备发送的帧也可以被多个设备接收。
协议分为三种:
非持续CSMA(英语:non-persistent CSMA)
当要发送帧的设备侦听到线路忙或发生碰撞时,会随机等待一段时间再进行侦听;若发现不忙则立即发送;此策略可以减少碰撞,但会导致信道利用率降低,以及较长的延迟。
1-持续CSMA(英语:1-persistent CSMA)
当要发送帧的设备侦听到线路忙或发生碰撞时,会持续侦听;若发现不忙则立即发送。当传播延迟较长或多个设备同时发送帧的可能性较大时,此策略会导致较多的碰撞,导致性能降低。
p-持续CSMA(英语:p-persistent CSMA)
当要发送帧的设备侦听到线路忙或发生碰撞时,会持续侦听;若发现不忙,则根据一个事先指定的概率p来决定是发送帧还是继续侦听(以p的概率发送,1-p的概率继续侦听);此种策略可以达到一定的平衡,但对于参数p的配置会涉及比较复杂的考量。
对CSMA协议作进一步的改进,使发送站点在传输过程中仍继续侦听介质,以检测是否存在冲突。如果两个站点都在某一时间检测到信道是空闲的,并且同时开始传送数据,则它们几乎立刻就会检测到有冲突发生。而一旦检测到冲突立即停止发送数据。然后随机等待一个时间重新发送数据。口诀大家都知道:先听后发、边听边发、冲突停发、随机重发。
①接收信号的强度远小于发送信号的强度,无线介质上信号强度的动态变化很大,要实现实时监测碰撞,硬件花费过大。
②无线通讯中可能存在隐藏站的问题。
预约信道:发送方发送数据同时向其它站点告知自己要传输数据的时间长度,让其它站点在这段时间不发数据。
ACK:接收方在正确接收报文以后,如果失败不采取任何行动,如果成功都要返回一个ACK。发送方没有收到ACK就重新发送。
RTS/CTS帧:解决隐蔽站问题。可以不实现。
发送数据之前先告知其它结点,让其他结点在某段时间内不要发送数据,避免碰撞。
①CD可以检测冲突但无法避免冲突,CA可以尽量避免冲突。
②传输介质不同,一个总线型以太网,一个无线网
③检测方式不同。CD用电压来检测,CA用能量检测等三种方式来检测信道。
用户不能随机发送信息。有一个监控站,监控站会轮询一遍每个站点,再决定信道的分配。当某个结点使用信道,其它的结点不能使用信道。如令牌传递协议。
轮询介质访问控制适合高负载的信道,也就是这个信道同一时刻发送数据的概率很大。
为了不将已经发现的有错误的帧接收下来,由差错的上交主机没有什么意义。
①如果实现可靠传输的数据链路层协议,开销就会很大。
②PPP信息字段放入的数据是IP数据报。假如实现了可靠传输协议,上升到网络层后仍然可能被丢弃。它不能保证网络层也可靠。
③PPP可以保证无差错接受,因为有FCS。