网络原理之TCP和UDP
文章目录
- 网络原理之TCP和UDP
- 1.UDP
- 2. TCP
网络原理之TCP和UDP
1.UDP
- User Datagram Protocol,用户数据包协议
- 是一个面向数据报的通信协议,对应用层传下来的报文不合并,不拆分,只是再上面加上首部后就发送给下面的网络层
- 也就是应用层无论发送多长的报文给UDP,UDP都会一次性发出去
- 到达接受方后,拆掉首部,就可以发送给应用层了
- UDP报头包含4个字段,每个字段各占2个字节,16个二进制位
- UDP的特点
- UDP提供面向无连接的通信服务,所以无法提供复杂的控制机制,
- 如果出现丢包,UDP不会重发
- 如果包的顺序在传输中混乱,UDP不会纠正
- UDP是即时发送应用程序的数据,不考虑网络拥堵等情况
2. TCP
-
Transmission Control Protocol,传输控制协议
-
我们说UDP是无控制的协议,而TCP正好相反
-
TCP是一种可靠的,面向字节流的通信协议,把应用层的数据看成是无结构的字节流来发送
-
TCP会将应用层的数据根据网络状态切分成不同大小的报文,然后在合适的时机发送
-
TCP的头部有20个字节,额外开销较大
-
TCP的特点
- 丢包重发,乱序纠正
- TCP是面向有连接的协议,如果对方不存在,不会发送数据