TCP协议--张云朝

一、TCP协议

TCP协议一种面向连接的、可靠的传输层通信协议。TCP主要用于在不可靠的网络环境中提供可靠的数据传输服务。(它位于OSI参考模型的第四层—网络层)


二、TCP的主要特点

1.面向连接:TCP通信收发双方需要预先建立一条逻辑通路,确保数据传输的可靠性。(注:上图为客户端与数据端如何搭建连接,即三次挥手)

(注:上图为断开连接的过程,即四次挥手)

2.可靠性

Ⅰ.确认机制----每收到一个TCP数据段,都需要发送一次确认报文。
Ⅱ.重传机制----超时重传,当一个数据段中的某个报文丢失,发送端会主动重新发送一次该报文。
Ⅲ.排序机制----传输数据段时,被分为多个报文,从不同路径传输,最终达到目的地的顺序会被打乱,需要根据序列号字段进行重新排序。
Ⅳ.流控机制(滑动窗口机制):可以通过调节窗口大小(Windows)来对流量进行控制
3.流控制 :TCP使用流控制机制来调节发送速度,避免快速发送方导致慢速接收方无法处理的情况。

4.拥塞控制 :TCP具有拥塞控制功能,当网络拥堵时,它会降低发送速率以保护网络的稳定性。

5.全双工通信 :TCP支持双向同时发送和接收数据,提高了通信效率。

6.面向字节流 :TCP不关心数据的边界,数据被分割成小块,接收端再重组这些数据块。

三、TCP工作原理

1.连接建立 :客户端发送SYN报文给服务器,服务器回复SYN+ACK报文确认连接请求,最后客户端发送ACK报文确认连接建立。

2..数据传输 :数据被分割成小的数据段,每个段包含序号和确认号,以确保数据的顺序和完整性。
3.窗口管理:接收端通过发送窗口大小来告诉发送端可以发送多少数据,以适应网络状况和接收端的处理能力。
4.超时重传机制:如果某个数据端未被确认,发送端会重传该段,若重传多次仍然未成功,则认为该段丢失,并通知上层处理。

四、TCP场景应用

Web浏览 :HTTP协议是基于TCP的,用于在Web浏览器和服务器之间传输HTML页面和其他资源。

电子邮件 :SMTP协议是基于TCP的,用于在邮件客户端和邮件服务器之间传输电子邮件。

文件传输 :FTP协议是基于TCP的,用于在文件服务器和客户端之间传输文件。

远程登录 :例如通过SSH协议进行远程主机访问,TCP保证了数据的安全传输。

实时通信 :尽管TCP不是专门设计用于实时通信的,但其可靠性使其适合于某些实时应用,如视频会议和在线游戏。

数据备份 :TCP可以确保数据在备份过程中不会丢失或 损坏。

数据采集 :工业自动化和物联网系统中,TCP用于从传感器和其他设备中收集数据。

数据同步 :在分布式系统中,TCP用于同步不同节点间的数据。

五、TCP的优劣势

1.优势:

Ⅰ.可靠性高 :

TCP通过三次握手建立连接,确保连接的可靠性。
提供数据确认、重传机制,确保数据的完整性和准确性。


Ⅱ.流量控制和拥塞控制 :

TCP具有流量控制机制,可以防止发送方发送过多数据导致接收方处理不过来。
拥塞控制机制可以动态调整发送速率,避免网络拥塞。


Ⅲ.广泛应用于关键应用 :

HTTP、HTTPS、FTP、POP、SMTP等重要协议均基于TCP,确保数据传输的安全和准确性。

2.劣势:

Ⅰ.慢,效率低 :

建立连接需要三次握手,增加了延迟。确认、重传、拥塞控制等机制消耗大量时间和系统资源。


Ⅱ.占用系统资源高 :

每个TCP连接都需要维护状态信息,占用CPU和内存资源。


Ⅲ.易受攻击 :

TCP的确认机制和三次握手机制使其容易受到DOS、DDOS、CC等攻击。

  • 17
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值