UDP协议:不能保证安全,性能好
特点:
- 无连接
- 不可靠:没有确认应答机制,没有超时重传机制,没有连接管理机制
- 面向数据报:最大不超过64k
- 有接收缓冲区,没有发送缓冲区
TCP协议:安全+性能的平衡
原理:
- 确认应答机制:序号+确认序号实现

- 超时重传机制:系统基于TCP协议实现,动态计算报文最大生存时间(MSL),超时时间设为2MSL,如果超时,表示丢包(发送数据报,接受确认数据报),则需要重新发送数据报,系统发送缓存区中有数据报,可以重新发送
- 连接管理机制:
建立连接的过程(TCP三次握手):
建立连接都是单方向的!

TCP建立连接过程的握手可以超过三次但不得小于三次
TCP关闭连接过程:

TCP四次挥手能否是三次挥手(FIN与ACK同时发送)?
不能,因为客户端如果一接收到FIN关闭连接的数据报,客户端就会断开连接,这样就导致如果服务器如果还有任务没完成,客户端就断开连接,那么就会发生丢包现象。
TCP能否五次挥手?
能,目的是让用户程序在关闭连接前ch处理需要的任务
需要了解的TCP四次挥手的过程中的几种状态:
- close_wait状态:服务端程序没有调用close方法,导致大量的链接处于close_wait状态,处于半关闭状态,是一种bug
- 在第三次数据传输时,服务端发送FIN请求到客户端,为什么,客户端处于time-wait而不能直接设置为closed?
答:第四次ACK响应报文可能会丢失,导致服务端无法关闭连接,需要服务端重新发送FIN请求,所以客户端必须等待最大超时时间(2MSL) - time-wait为什么是2MSL?
答:客户端返回ACK传输时间+服务端重新发送FIN时间
滑动窗口

TCP这种确认应答机制,性能较差,如果一次发送多条数据,就可大大提高性能,这就引入滑动窗口





流量控制


拥塞控制



延迟应答


捎带应答

TCP协议中的安全性与可靠性

1098

被折叠的 条评论
为什么被折叠?



