文章目录
计算机网络——传输层(二)
五、TCP三次握手建立连接
5.1 三次握手建立连接
- 一方被动的等待一个进来的连接请求
- 另一方通过发送连接请求,设置一些参数
- 服务器方回发确认应答
- 应答到达请求方,请求方最后确认,建立连接


- Host1发送一个连接请求数据段
SYN,包含一个初始序列号X(随机产生),控制位SYN=1,ACK=0。整个SYN叫做第一次握手信息。第一次握手 - Host2收到Host1的SYN会回发一个连接应答SYN,里面也包含一个初始化序列号y(Host2随机产生),SYN=1,ACK=1,确认号ack number=x+1,表示对字节号x的确认。第二次握手
- 当连接应答到达Host1,Host1发送最后的确认。序列号的x+1,确认号为y+1,控制位SYN为0,ACK=1。第三次握手


5.2 重复连接请求CR与重复ACK


5.3 安全问题(DoS攻击)
SYN泛洪导致DoS攻击



这会导致被攻击者挂起很多进程等待,最终因为资源耗尽瘫痪。
六、TCP连接释放
6.1 发送FIN置位的TCP数据段

6.2 两军队问题

6.3 解决




6.4 四次挥手图解


七、TCP传输策略
7.1 滑动窗口

- 发送方发送2k数据,SEQ=0.
- 接收方接收2k的数据,编号1~2047。缓存剩余2k。回发一个确认,ack number = 2048 表明1~2047都收到了,同时Window size 的值是2048,表明剩余空间为2k。
- 发方收到确认,发送2k的数据,SEQ=2048.
- 收方回发确认,Window size = 0 ,表明没有空间了。
- 收方清理空间,空出2k,马上发送一个更新窗口。Windowsize=2018。
- ·······

7.2 交互式编辑器
这里举了一个例子,指出存在的问题。


7.2.1 问题

7.2.2 优化



7.3 傻瓜窗口综合征


解决



八、TCP拥塞控制
8.1 概述




8.2 慢启动算法




- 开始阈值为64k,拥塞窗口指数增长。
- 增长到一定的值,超时,此时,阈值变为当前拥塞窗口的一般32k。

然后再次启动慢启动过程。不断重复。拥塞窗口随着网络环境不断变化。
快速恢复
拥塞窗口不用重置为一个数据段大小,而是直接设置为阈值大小,从这里直接线性增长,这就是快速恢复。

8.3 小结
拥塞控制算法


注意

九、TCP定时器
9.1 重传定时器
TCP采用了肯定确认重传技术保证每个字节的传输。
为了解决数据段丢失问题,每发一个数据段会启动一个定时器,重传定时器。
9.2 持续定时器


9.3 其它定时器

9.4 TCP/UDP比较


本文深入探讨TCP传输层,包括TCP三次握手建立连接的过程,防止DoS攻击的安全措施,TCP连接释放的四次挥手机制,滑动窗口的传输策略,TCP拥塞控制的慢启动算法,以及TCP定时器在确保数据可靠性中的作用。
9245

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



