面试知识总结——计算机网络

1. TCP和UDP区别?

TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,UDP是一种无连接的传输层协议。区别如下:

  • TCP是面向连接的,可靠性高;UDP是基于非连接的,可靠性低。
  • 由于TCP是连接的通信,需要有三次握手、重新确认等连接过程,会有延时,实时性差,同时过程复杂,也使其易于攻击;UDP没有建立连接的过程,因而实时性较强,也稍安全。
  • 在传输相同大小的数据时,TCP首部开销20字节;UDP首部开销8字节,TCP报头比UDP复杂,故实际包含的用户数据较少。TCP在IP协议的基础上添加了序号机制、确认机制、超时重传机制等,保证了传输的可靠性,不会出现丢包或乱序,而UDP有丢包,故TCP开销大,UDP开销较小。
  • 每条TCP连接只能时点到点的;UDP支持一对一、一对多、多对一、多对多的交互通信。
    对实时性要求高和高速传输的场合下使用UDP;在可靠性要求低,追求效率的情况下使用UDP;需要传输大量数据且对可靠性要求高的情况下使用TCP。
    (https://blog.csdn.net/weixin_39123191/article/details/81381998)

2. TCP三次握手和四次挥手(为什么要三次握手?两次握手不行吗?):

TCP协议笔试面试知识整理
“三次握手,四次挥手”你真的懂吗?
通俗大白话来理解TCP协议的三次握手和四次分手

3. 如何实现UDP里面一部分消息是可靠的?如何实现包的有序性?

你可能感兴趣的:(面试知识总结,计算机网络)