文章目录
- 连接管理
- TCP连接管理
- 同意建立连接
- TCP3次握手
- 3次握手解决:半连接和接受老数据问题
- TCP:关闭连接
- 拥塞控制原理
- 拥塞控制的方法
连接管理
TCP连接管理
TCP连接管理
在正式交换数据之前,发送方和接收方握手建立通信关系:
- 同意建立连接(每一方都知道对方愿意建立连接)
- 同意连接参数
同意建立连接
2次握手的失败场景
TCP3次握手
①第一次:客户端将初始序号传给服务器。
②第二次:服务器将服务器的初始序号和同意与客户端建立连接的序号一起传给客户端。
③第三次;客户端同意和服务器建立连接,传一个ACK。
3次握手解决:半连接和接受老数据问题
TCP:关闭连接
- 客户端,服务器分别关闭它自己这一侧的连接
- 发送FIN bit = 1的TCP段
- 一旦接收到FIN,用ACK回应
- 接到FIN段,ACK可以和它自己发出的FIN段一起发送
- 可以处理同时的FIN交换
拥塞控制原理
拥塞:
- 非正式的定义: “太多的数据需要网络传输,超过了网络的处理能力”
- 与流量控制不同
- 拥塞的表现:
- 分组丢失 (路由器缓冲区溢出)
- 分组经历比较长的延迟(在路由器的队列中排队)
吞吐量:当网络in得多,那么out得也多
延时:当in的速率接近链路带宽的时候,延迟就会剧增
就会导致一些无意义的重传。
输出比输入少的原因:1)重传的丢失分组;
2)没有必要重传的重复分组
不停地往网络中注入,没有出来的情况。
拥塞控制的方法
2种常用的拥塞控制方法:
端到端的拥塞控制:就是TCP根据端系统的反馈来推断网络拥塞情况。
可能有两种情况:
①发送段超时
②冗余ACK