1》TCP协议的特点
-
TCP是面向连接的(虚连接)的传输层协议
-
每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的
-
TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达。
可靠有序,不丢不重 -
TCP提供全双工通信
- `发送缓存` 准备发送的数据&已发送但尚未收到确认的数据 - `接收缓存` 按序到达但尚未被应用程序读取的数据&不按序到达的数据 -
面向字节流
- `流` 流入到进程或从进程流出的字节序列 - TCP把应用程序交下来的数据看成仅仅是一连串的无结构的字节流
2》TCP报文段的首部格式
3》TCP连接管理
TCP传输的三个阶段
连接建立 ---- 数据传送 ---- 连接释放
连接建立:
采用客户服务器方式,主动发起连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫做服务器!!!
洪泛攻击
连接释放
4》TCP可靠传输
可靠保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一样的
实现可靠传输的机制
确认 采用累计确认
重传
冗余确认实现快速重传
5》TCP流量控制 --- 点到点、端到端
利用滑动窗口来解决!!! 发送方动态确定自己的发送窗口,发送窗口等于接收方接收窗口and拥塞窗口的最小值!!!!
- 接收到零窗口通知后,会启动持续计时器,到时间就会发送一个零窗口的
探测报文段!!!
6》TCP拥塞控制 --- 全局性问题
出现拥塞的条件:
对资源需求的总和 > 可用资源
网络中有许多资源同时呈现供应不足 ---> 网络性能变坏 ---> 网络吞吐量将随输入负荷增大而下降
防止过多的数据注入到网路中!!!
拥塞控制四种算法:
前提:
慢开始和拥塞避免
快重传和快恢复