- TCP和UDP的区别
TCP | UDP | |
是否连接 | 面向连接 | 面向非连接 |
应用场合 | 可靠的 | 不可靠的 |
速度 | 慢 | 快 |
传送数据 | 字节流 | 数据报 |
是否可用于广播 | 否 | 是 |
为什么UDP比TCP快
- 不需要连接
- 没有ACK确认
- 没有流量控制
TCP如何保证可靠性:7点
(1)数据被分割成最适合发送的数据块
(2)每一个被发送的数据对应一个确认
(3)超时重发(通过发送端设置定时器)
(4)TCP有16位检验和,如果有差错,则丢弃
(5)如有必要,TCP会对收到的数据重新排序
(6)丢弃重复数据
(7)流量控制
TCP对传送的字节流不作任何解释
-
TCP的四个定时器
- 重传定时器
- 坚持(persist)定时器:使窗口大小信息保持不断流动,即使另一端关闭了其接收窗口;
- 保活(keepalive)定时器:检测一个空闲连接的另一端何时崩溃或重启;
- 2MSL定时器:测量一个连接处理TIME_WAIT状态的时间。