Java面试题----------一天两道之第十四天

一、TCP与UDP的区别

  • TCP是一种面向连接、可靠的基于字节流的传输层控制协议
  • UDP是一种简单的面向数据报的传输层控制协议,不提供可靠性
  • TCP是面向连接的,而UDP是无连接的协议,前者需要进行三次握手建立连接,而后缀不需要建立连接
  • TCP是可靠的,而UDP是不可靠的,TCP的可靠性由TCP报文的序号、ACK确认机制、重传等来保证
  • TCP是面向字节流的,而UDP是面向报文
  • TCP由于需要建立连接,保证可靠性等会让它传输比较慢,而UDP传输就比较快
  • TCP的消息传输是有序的,而UDP可能会出现无序的
  • TCP的连接是一对一的,而UDP可支持一对一,一对多和多对多等通信
  • TCP的首部开销比UDP首部开销大且复杂
  • TCP有流量控制,拥塞控制等,而UDP没有;流量控制可看成是控制发送者的发送速度,使接收者能来得及接收,从而防止分组丢失,而拥塞控制是防止过多的数据注入到网络中,从而防止网络中的路由器或链路不至于过载

二、了解TCP与UDP的应用场景吗?

  • 对实时性要求高和高速传输的场合下使用UDP
  • 在可靠性要求低,追求效率的情况下使用UDP
  • 需要传输大量数据且对可靠性要求高的情况使用TCP
  • TCP一般用于文件传输,而UDP一般用于即时通信

谢谢阅读,如有不对之处请指出!

发布了38 篇原创文章 · 获赞 0 · 访问量 291

猜你喜欢

转载自blog.csdn.net/weixin_42121758/article/details/104039534