网络基础知识二之TCP协议和UDP协议

109 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第13天,点击查看活动详情

TCP协议和UDP协议

当数据通过网络层IP协议确定要通讯的主机时,我们要通过网络层开始传输数据,此时有两种策略,一种是类似生活中的发短信,只管发,不管对方接没有接受到,另一种类似生活中的打电话,是先跟对方建立好连接,然后发送并确认对方收到完整的信息,这两种策略对应网络传输层的两种主要协议UDP协议和TCP协议。UDP协议和TCP协议报文头格式对比:见图

image.png

从图上可以看出UDP协议报文头格式比较简单,控制字段较少,TCP协议报文头格式控制字段较多,开销较大。

1、 TCP协议

TCP-Transmission Control Protocol,即传输控制协议,是一种面向连接的可靠的数据通信协议。

主要特点:

  • TCP是面向连接的。
  • 每条TCP连接只能用于两个断点,一对一的。
  • TCP提供可靠交付服务,连接传输数据、无差错、不丢失、不重复,且可以按顺序到达。
  • TCP提供全双工通信
  • 面向字节流,TCP根据对方给的窗口和当前网络堵塞的程度,来决定一个报文应该包含多少个字节。

2 、UDP协议

UDP-User Datagram Protocol,即数据报文协议,是一种无需建立连接,尽量交付数据的协议。

主要特点:

  • 无连接
  • UDP使用最大能力交付数据,不保证可靠性
  • UDP是面向报文的,UDP对应用层交付下来的报文,既不合并,也不拆分,而是保留这些报文的边界,应用层给的UDP多长的报文,UDP都照样发送,即一次发送一个报文。
  • UDP没有阻塞控制
  • UDP支持一对一,一对多,多对一,多对多的交互通信方式
  • UDP的报文头部开销小,只有8字节