计算机网络面试常见问题!!

面试官:谈谈你对OSI七层模型和TCP/IP四层模型的理解?

答:在计算机网络体系中,为了方便使用和理解,将计算机网络设计成具有一定规律的层级模型,以OSI为模板的抽象参考模型有着七大层(答出每层的特点即可)这是一种趋于理想的模型,实际应用中会简化OSI模型,TCP/IP四层模型(数据链路层,网络层,传输层,应用层)

面试官:好,浅谈一下TCP协议的3次握手和4次挥手吧

答:因为TCP协议是面向连接的通信传输协议,所以创建连接和断开连接就显得尤为重要了。

三次握手就是1.客户端要与服务器端建立连接会先发送一个报文段(首部内容:同步SYN=1,确认ACK=0)2.服务器收到这个报文段根据首部内容确认这是“第一次握手”,并向客户端发送一个报文段作为回应(首部内容:同步SYN=1,确认ACK=1)3.客户端收到根据首部内容确认这是“第二次握手”,再给服务器发一个报文段(首部内容:同步SYN=0,确认ACK=1)此刻双方同意建立连接。

这就好比,我要认识你,我会向你发出礼貌问候:“你好,认识一下?” 你也会先确认:“可以啊 ,我叫xx,怎么称呼呢?” 我收到你的确认信息后,回答:“我叫**“(开始对话)

至于为什么TCP协议为什么要3次握手?2次,4次不行吗?

我觉得刚才的例子可以更好地解释,把这三次话语当作”握手“,前两次可以证明我们是可以沟通并更进一步的(网络的通畅)。但没有第三次对话,你提出怎么称呼后,我没有确认回应你,你就会陷入等待,超时。等下次再见面的时候又会重复前两次对话。我(客户端)不发送第三次会话,你(服务器)就一直等待。而次数达到4次,虽然稳定,但浪费了资源。

四次挥手就是1.客户端服务器发送连接释放的请求报文(首部中:终止FIN=1,确认ACK = 0)2.服务器收到连接释放的报文之后,给客户端发送确认报文(首部中:终止FIN=0,确认ACK=1)客户端不向服务器发送数据,服务器仍可以发送数据给客户端3.服务器释放连接,并向客户端发送确认报文(首部中:终止FIN=1,确认ACK=1)4.客户端收到服务器的连接释放报文段后,向服务器发出确认报文(首部中:终止FIN = 0,确认ACK=1)

面试官:TCP中如何进行流量控制?

答:TCP中的流量控制是利用滑动窗口来实现的,发送端向接收端发送接送端缓冲区中可接纳的数据,接收方处理不及时,会提示发送方降低发送速率防止包丢失,接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小。

追问:对于滑动窗口你了解多少呢?

答:我觉得这个词可以拆解成两个部分,窗口可以理解成一个缓存区域,发送方和接收方都维护了各自的窗口,发送方的窗口分为发送窗口和可用窗口,随着收到的ACK确认和数据的发送,这个窗口就会不断向前滑动。接收方分为:接受已确认,未收到但可以接受。接收方读取窗口内容,并不断确认通知发送方,窗口向前滑动。

面试官:发送方发送数据的大小怎么控制的?产生拥塞怎么办?

答:不用担心,发送方维护了一个拥塞窗口的状态变量,来决定发送方发送数据的数量。TCP针对拥塞使用了四种算法来控制(慢启动,拥塞避免,拥塞发生,快速恢复)

慢启动:拥塞窗口从1开始,采用指数增长计算方式,逐渐增大。

拥塞避免:TCP设置一个慢开始门限 ssthresh,当 cwnd >= ssthresh 时,进入拥塞避免,每个轮次只将 cwnd加 1,降低拥塞窗口的增长速度。

拥塞发生:当触发了重传机制,也就进入了拥塞发生算法

对于超时重传

ssthresh 设为 cwnd/2,cwnd 重置为 1,进入慢启动

快速重传

cwnd = cwnd / 2,ssthresh = cwnd,进入快速恢复

面试官:传输层协议还了解什么?和TCP协议有什么区别?

答:我知道,UDP协议面向无连接的通信服务协议
●面向连接:TCP协议需要建立连接,仅支持一对一通信;UDP协议无需建立连接,支持一对一、一对多、多对一和多对多的交互通信。
●可靠传输:TCP协议通过确认应答、连接管理、流量控制、拥塞控制来确保可靠性传输;UDP不保证可靠性传输。
●性能效率:TCP协议传输效率慢,需要较多的资源开销。UDP协议传输效率快,需要较少的资源开销。
●首部格式:TCP协议的首部需要20-60个字节,UDP协议需要8个字节

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值