IT面试常见基础知识 - 4.TCP/UDP *

361 阅读2分钟

思维导图以及目录见 juejin.cn/post/684490…

UDP(用户数据报协议)

你是否了解UDP协议?

  • UDP协议的三大特点: 
    面向报文:既不合并,也不拆分 
  • UDP协议的功能: 

TCP(传输控制协议)

你是否了解TCP?

  • TCP协议的五大特点: 
  1. 面向连接 
  • TCP连接的时候为何是三次握手而不是两次?

三次握手解决的主要是同步请求报文SYN超时的问题 如果只有两次握手(前两次),客户端发起的SYN同步报文如果发生丢失或者超时的现象,那么SYN同步报文在网络路由中逗留,客户端会启用超时重传策略,重新发送一个SYN,服务端收到之后会发送一个同步确认报文(SYNACK),连接建立完毕。此时如果第一次超时的SYN传递成功,server端会误认为客户端又进行了一次连接请求,造成误会。 三次握手中,客户端再收到server端的同步确认报文(SYNACK)之后,会发送一个ACK确认报文,进行连接的建立。在第一种情况下客户端对server超时报文的同步确认报文不会有ACK确认报文,所以server端不再进行操作。

  • TCP的四次挥手为何要进行两方面的断开呢?

因为客户端与server端的连接通道是全双工的,两条通道都可以发送或者接收,挥手两次达到半关闭状态,挥手四次才可以全部关闭连接。

  1. 可靠传输 
  • TCP是怎样保证可靠传输的呢? - - -停止等待协议 
  1. 面向字节流 

  2. 流量控制(滑动窗口协议:接收窗口可以通过报文字段动态调整发送窗口速率) 

  3. 拥塞控制 

  • 简单描述TCP慢启动(慢开始)的特点 
    其实就是TCP的满开始,拥塞避免策略

TCP和UDP有什么区别?

TCP是面向连接的,支持可靠传输的面向字节流的,具有流量控制和拥塞控制的协议,UDP只具有复用,分用和差错检测的功能,且是无连接的。