写作目的:为了应对考研复试中的面试,我整理了导师可能提问的地方,力求用口语化的语言描述出来。
这只是一部分,陆续还有计算机网络的其它章节,计算机网络的内容很多,我决定只整理数据链路层、网络层、传输层。
我的参考书是《计算机网络(谢希仁)》《王道计算机考研》,还有网上搜的。
思维导图在我的processon,正在完善。如果对你有帮助就打赏一下吧。
https://www.processon.com/view/link/5e8ca3430791292de87467d9
还有其它系列的面试题整理
考研复试计算机组成原理面试题
考研复试操作系统面试题
考研复试数据库原理系列
目录
传输层的功能
尝试比较一下网络层与传输层
什么是无连接服务和面向连接服务
描述UDP协议
IP数据报和UDP数据报的区别
TCP和网络层虚电路的区别
描述TCP协议
描述三次握手和四次挥手
为什么不采用二次握手释放连接
TCP使用的是BGN还是选择重传?
如果互联网所有的结点和链路都不发生故障TCP还有用吗?
拥塞控制和流量控制
描述什么是拥塞控制?
传输层的功能1、提供应用进程之间的逻辑通讯。
2、分用和复用
3、对接受到的报文进行差错检验,检验部分包括首部和数据部分
4、提供TCP和UDP两种传输协议。
尝试比较一下网络层与传输层1、服务对象:传输层提供端到端逻辑通讯,网络层提供主机到主机的逻辑通讯;
2、复用和分用:传输层的复用是发送方不同的应用进程都可使用统一传输层协议传送数据,传输层的分用是接收方的传输层在剥去报文的首部后能够把这些数据正确交付到应用进程。网络层的复用是发送方的不同协议数据都可以封装成IP数据报发出去,分用时指接收方的网络层在剥去首部后把数据交付给相应的协议。
3、传输层差错检测时要检查首部和数据,而网络层只检查IP数据报的首部。
4、传输层可以提供有链接和无连接的两种协议,而网络层只能提供其中之一,不能同时存在两个。
什么是无连接服务和面向连接服务面向连接的服务:通讯双方在通讯之间必须建立连接,通讯过程中连接不断开,整个传输服务是可靠的,但是要消耗资源,协议数据单元的头部要占用较大空间。
无连接的服务:通讯双方通讯不需要建立连接,直接发送信息到网络上,尽力保证送达。整个服务是不可靠的,但速度更快、实时性好。
描述UDP协议UDP是无连接的协议,他仅在IP数据报服务上增加了两个最基本的功能:复用和分用与差错检验。
UDP的优点:不用建立连接;无连接状态;分组首部开销小;没有拥塞控制,应用层能更好地控制送时间 。
UDP的工作过程:UDP面向报文,发送方UDP对应用层的报文,在添加了首部之后就向下交付给IP层,不合并也不拆分,而是保留这些报文的边界;接收方除去IP首部之后,就原封不动地交给上层应用进程,一次交付一个完整的报文,因此UDP是数据报处理的最小单位。
IP数据报和UDP数据报的区别IP数据报经过路由要存转发,而UDP是封装在IP数据报内的,对路由是不可见的。
TCP和网络层虚电路的区别TCP报文段对路由器不可见,虚电路对路由器可见,虚电路锁经过的结点都必须保存虚电路的状态信息。在网络层如果采用虚电路,则无法提供无连接服务;
描述TCP协议TCP在不可靠的IP层上实现可靠的数据传输协议,它主要解决传输的可靠性、有序、不丢失和不重复的问题。
TCP的特点有:面向连接的传输层协议;每条TCP链接两个端口;全双工通讯;面向字节流通讯。
描述三次握手和四次挥手三次握手要解决三个问题:
1、双方互相感知彼此存在;2、允许双方协商一些参数;3、能对运输实体资源进行分配。
连接建立过程:第一步,客户机向服务机发送连接请求报文SYN等于1,seq随机选一个数,这个过程不传输数据,但消耗序号。第二步,如果服务器同意,就向客户机发确认报文SYN等于1,ACK等于1,确认字段为x+1,seq等于随机。不携带数据,但要消耗序号。第三步,客户机收到确认后,还要向服务器再确认,并给该连接分配缓存和变量。ACK等于1,序号字段等于,收到的确认字段+1,确认字段等于,收到的序号字段+1。可以携带数据,如果不携带数据就不消耗序号。
连接释放的过程:因为TCP是全双工的,所以双方都要关闭连接。第一步,客户端先发送关闭连接报文,FIN等于1,seq=u,它等于前面已经传送过的数据的最后一个字节的序号加一,即使不携带数据,也要消耗序号。第二步,服务器收到后,发送确认序号,还有服务器本次要发送的数据第一个序号,这时,客户端到服务器的连接就释放了,但服务器到客户端的连接还没释放。第三步,若服务器没有数据要发送了,就通知TCP释放连接,发出FIN等于1。第四步,客户端收到连接释放报文后,必须发出确认。等待2ms之后,就所有连接全部关闭了。
为什么不采用二次握手释放连接为了防止两次握手情况下,失效的连接请求报文突然又传送到服务端而产生错误。
TCP使用的是BGN还是选择重传?有点像GBN和SR协议的混合体。从累计确认这一点看,比较像GBN。但是GBN会从发生错误的报文处开始重传,而TCP的方式则是把失序的先缓存起来,又有点像SR。
如果互联网所有的结点和链路都不发生故障TCP还有用吗?TCP是必不可少的。
①报文到达目的地会有失序问题
②由于路由计算出现失误,IP数据报可能会在互联网中转圈,最后可能丢弃。
③由于路由器可能出现大流量,导致一些数据报被丢弃。
IP协议保证不了可靠,为了保证可靠传输,TCP是必须的。
拥塞控制和流量控制拥塞控制是全局性的,于网络中的所有因素都有关。流量控制是点对点的,为了抑制发送端发送速率。
描述什么是拥塞控制?防止过多数据注入网络,使网络中的路由器或链路不至于过载。有四种算法:慢开始、拥塞避免、快重传、快恢复。TCP协议还要求发送方维护两个窗口:接受窗口和拥塞窗口。发送窗口的值等于他们两个的最小值。