计网常见面试知识(一)
1.三次握手
2.四次挥手
为什么会有TIME_WAIT状态
- 确保有足够的时间让对方收到ACK包
- 避免新旧连接混淆
为什么需要四次握手才能断开连接
因为全双工,发送方和接收方都需要FIN报文和ACK报文
服务器出现大量CLOSE_WAIT状态的原因
对方关闭socket连接,我方忙于读或写,没有及时关闭连接
- 检查代码,特别是释放资源的代码
- 检查配置,特别是处理请求的线程配置
3.TCP与UDP的区别
- 面向连接vs无连接
- 可靠性vs不可靠性
- 有序性vs无序性
- 速度慢vs速度快
- 量级20字节vs8zijie
4. tcp滑动窗口
RTT和RTO
- RTT:发送一个数据包到服务器,服务端返回一个ACK,客户端收到对应的ACK,所花费的时间
- RTO:重传时间间隔。TCP在发送一个数据后,会启动一个重传定时器,如果收到回复就会重置RTO,否则就会重传数据
TCP使用滑动窗口做流量控制与乱序重排
- 保证TCP的可靠性
- 保证TCP的流控特性
5.拥塞控制
满开始,拥塞避免,快重传,快恢复
6.HTTP
超文本传输协议HTTP是属于应用层的协议
- 支持客户/服务器模式(客户端向服务器发送请求,服务器返回响应)
- 简单快速
- 灵活
- 无连接
- 无状态
请求。响应的步骤
- 客户端连接到web服务器
- 发送HTTP请求
- 服务器接受请求并返回HTTP响应
- 释放连接TCP连接
- 客户端浏览器解析HTML内容
7.Cookie和Session
Cookie
- 是由服务器发送给客户端的特殊信息,以文本的形式存放在客户端
- 客户端再次请求的时候,会把Cookie回发
- 服务器接受到后,会解析Cookie生成与客户端相对应的内容
Session
- 服务器端的机制,在服务器上保存的信息
- 解析客户端请求并操作session id,按需保存状态信息
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 时间海!
评论