TCP协议工作原理详细介绍(形象举例版)

        下面是形象说明TCP协议的工作原理介绍,作者本人也是在上面吃过很多亏,也在前东家处理市场批量问题(设备在基于TCP通讯跑工况时,连续跑了42天后自动断线了),当然啦,收获也是硕果累累。时隔几年,对TCP也是记忆模糊了,现通过该文章重新整理整理。为衔接历史文章《OSI七层模型和TCP/IP四层模型形象实例》,这里依旧以邮件为例。

目录

1、工作原理

1.1、三次握手(建立连接)

1.1.1、第一次握手(SYN)

1.1.2、第二次握手(SYN-ACK)

1.1.3、第三次握手(ACK)

1.2、数据传输

1.2.1、数据分段传输

1.2.2、确认与重传

1.2.3、流控制

1.3、四次挥手(终止连接)

1.3.1、第一次挥手(FIN)

1.3.2、第二次挥手(ACK)

1.3.3、第三次挥手(FIN)

1.3.4、第四次挥手(ACK)

2、总结


1、工作原理

        假设,我们正在通过一个TCP连接在两台计算机之间传送一个文件,就像通过网络发送电子邮件附件一样。

1.1、三次握手(建立连接)

1.1.1、第一次握手(SYN)

        假设A想要发送一个文件给B。

        A的计算机发送一个TCP段,这个段就像是一封信,上面写着:”我想和你建立一个通信连接,这是我的起始序列号X。“

1.1.2、第二次握手(SYN-ACK)

        B的计算机收到A的请求后,发送一个确认响应,这个响应包含两个信息:“我收到了你的连接请求,这是我的起始序列号Y,并且我统一建立连接。”

1.1.3、第三次握手(ACK)

        A的计算机收到B的确认后,发送最后一个确认段:“好的,我们已经建立连接,让我们开始传输数据。”

1.2、数据传输

1.2.1、数据分段传输

        A的计算机开始将文件分割成多个小块,并为每个小块分配一个序列号。这些小块就像是一系列带有编号的信件。

        A的计算机发送第一个数据块(比如编号为1的信件)给B,并等待确认。

1.2.2、确认与重传

        B的计算机收到数据块后,发送一个确认消息(ACK)给A:“我已经收到了编号为1的信件。”

        如果A在预定时间内没有收到确认,它会认为数据块可能在传输中丢失了,于是会重新发送这个数据块。

1.2.3、流控制

        在传输过程中,B的计算机可能会暂时处理不过来收到的数据,就像邮筒满了无法接收更多信件一样。

        B的计算机通过发送一个窗口大小为0的消息告诉A:“请暂停发送,我的邮筒满了。”

1.3、四次挥手(终止连接)

1.3.1、第一次挥手(FIN)

        当所有数据块都传输完毕后,A的计算机发送一个结束连接的请求:“我已经发哦是那个玩所有数据,我想关闭这个连接。”

1.3.2、第二次挥手(ACK)

        B的计算机确认收到结束连接的请求:“好的,我知道你想关闭连接了。”

1.3.3、第三次挥手(FIN)

        B的计算机也准备好关闭连接,于是发送自己的结束连接请求:“我也准备好了,可以关闭连接了”

1.3.4、第四次挥手(ACK)

        A的计算机确认B的结束请求:“好的,我们现在可以关闭连接了。”

2、总结

        通过这个例子,可以看到TCP协议就像是一个精心设计的邮递系统,确保信息能够可靠、有序的在A和B之间传递,即使是在网络条件不佳的情况下也能保持通信的稳定性。希望对大家有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EmbSW_Guru_Wx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值