美文网首页工作生活
面试常见问题04 - 计算机网络(施工ing)

面试常见问题04 - 计算机网络(施工ing)

作者: 第八天的蝉啊 | 来源:发表于2019-07-02 22:33 被阅读0次

    1. TCP、UDP的区别

    1. TCP是有连接;UDP是无连接
    2. TCP保证可靠性;UDP可能丢包
    3. TCP传输效率低,要求系统资源多;UDP传输效率高,要求系统资源少
    4. TCP连接只能是点到点、一对一的;UDP支持一对一,一对多,多对一和多对多的交互通信
    

    2. TCP协议可靠性

    • 校验和:判断数据是否损坏
    • 序列号: TCP传输时将每个字节的数据都进行了编号
    • 确认应答:TCP传输的过程中,每次接收方收到数据后,都会对传输方进行确认应答。也就是发送ACK报文。这个ACK报文当中带有对应的确认序列号,告诉发送方,接收到了哪些数据,下一次的数据从哪里发。
    • 超时重传:发送方在发送完数据后等待一个时间,时间到达没有接收到ACK报文,那么对刚才发送的数据进行重新发送
    • 连接管理:通过三次握手与四次挥手来进行连接的建立与断开
    • 流量控制:根据接收端对数据的处理能力,决定发送端的发送速度,发送窗口取拥塞窗口和接收窗口中较小的那个
    • 拥塞控制:通过拥塞窗口、慢启动、快恢复来控制网络中的流量,避免网络拥塞

    3. TCP中状态位的含义

    • SYN:同步标志,仅在三次握手建立TCP连接时有效
    • ACK:确认标志,ACK=1时确认序号才有效
    • FIN:结束标志,用于提出断开连接
    • PSH:推标志,指示接收方立即将数据提交给应用层,而不是等待缓冲区满
    • RST:复位标志,用于复位相应的TCP连接
    • URG:紧急标志,URG=1是紧急指针有效

    4. TCP 的三次握手

    • 三次握手:保证双方都能够接收信息,是最少的安全次数
    • 两次或四次:两次握手不能保证客户端能够接收服务端的信息,而四次握手浪费资源
    • 报文丢失
    三次握手:
    1. SYN报文丢失,客户端接收不到SYN+ACK报文,则根据TCP超时重传机制重新发送SYN报文
    2. SYN+ACK报文丢失,服务端接收不到ACK报文,则根据TCP超时重传机制重新发送SYN+ACK报文
    3. ACK报文丢失,客户端认为连接已建立并发送数据,服务端在没接收到ACK报文的情况下接收到
       客户端发送的数据,则会发送一个RST报文通知客户端重置TCP连接
    
    四次挥手:
    1. 四次挥手过程中,客户端与服务端在没有接收到相应ACK报文的情况下会超时重传FIN报文
    2. 客户端第四次挥手后,需要等待2MSL(最长报文寿命时间)来保证ACK报文成功到达服务端,并
       保证本次TCP连接的所有报文在网络中消失
    

    5. RST报文的四种情况

    1. 端口未打开
    2. 请求超时
    3. 提前关闭
    4. 在一个已关闭的socket上收到数据
    

    5. ping 命令工作过程

    6. 滑动窗口的作用

    7. 粘包怎么解决?

    8. 一致性哈希

    9. CAP原则

    10. 路由器与交换机的区别

    相关文章

      网友评论

        本文标题:面试常见问题04 - 计算机网络(施工ing)

        本文链接:https://www.haomeiwen.com/subject/olexhctx.html