1.UDP协议
1.1 UDP协议格式
1.2 UDP协议特点
- 无连接:知道对端IP和端口号就可以传输数据,无需建立连接
- 不可靠:没有确认应答、超时重传等机制
- 面向数据报:不够灵活的控制读写数据的次数和数量
1.3 UDP缓冲区
- UDP的发送缓冲区会给数据报增加UDP头部,调用sendto会将数据交给内核,由内核将数据传输给网络层协议进行后续传输
- UDP具有接收缓冲区,但并不保证接受数据的顺序;如果缓冲区满了,数据就会被丢弃
1.4 基于UDP的应用层协议
- NFS
- DNS
- DHCP
- TFTP
2. TCP协议
2.1 TCP协议格式
2.2 TCP协议特点
- 有链接
- 可靠传输
- 面向字节流
2.3 TCP机制
确认应答机制:
TCP每个字节的数据都进行了编号,每一个ACK都带有对应的确认序列号,意思是告诉发送者,我已经收到哪些数据,下一次从哪里发送数据
超时重传机制:
- 主机A发送数据给主机B,可能因为网络的问题,数据无法到达
- 如果主机A在一个特定时间内没有收到B发来的确认应答,就会重传数据
还有一种情况:主机B的ACK丢失
此时主机B会收到很多重复信息,通过前面的确认应答机制可以去除重复信息
那么超时时间如何确定?
超时时间太长会影响重传效