欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 第二十八篇:TCP协议概述,TCP系列二

第二十八篇:TCP协议概述,TCP系列二

2025/4/30 18:09:29 来源:https://blog.csdn.net/u013501979/article/details/142941916  浏览:    关键词:第二十八篇:TCP协议概述,TCP系列二

传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在 TCP 协议中,通过三次握手建立连接。通信结束后,还需要断开连接。如果在发送数据包时,没有正确被发送到目的地时,将会重新发送数据包。

⾯向连接:⼀定是「⼀对⼀」才能连接,不能像 UDP 协议可以⼀个主机同时向多个主机发送消息,也就是⼀对多是⽆法做到的;

可靠的:⽆论的⽹络链路中出现了怎样的链路变化,TCP 都可以保证⼀个报⽂⼀定能够到达接收端;

基于字节流:消息是「没有边界」的,所以⽆论我们消息有多⼤都可以进⾏传输。并且消息是「有序的」,当「前⼀个」消息没有收到的时候,即使它先收到了后⾯的字节,那么也不能扔给应⽤层去处理,同时对「复」的报⽂会⾃动丢弃。

一、如何理解面向连接里面的“连接”

面向连接就是通信双方在通信时,要事先建立一条通信线路,然后进行通信。这条通信线路并不是一条实际的路而是我们抽象出来的一条路,简单来说就是:⽤于保证可靠性和流量控制维护的某些状态信息称为连接也可以理解成“通信线路”这些状态信息包括Socket、序列号和窗⼝⼤⼩

  1. 套接字:由 IP 地址、端⼝号以及传输层协议(TCP或UDP)组成
  2. 序列号:⽤来解决乱序问题等
  3. 窗⼝⼤⼩:⽤来做流量控制

两个套接字可以唯一确定一个“连接”即四元组源IP源端口目的IP目的端口

二、TCP的功能

① 面向流的处理

TCP 以流的方式处理数据。换句话说,TCP 可以一个字节一个字节地接收数据,就像水流一样处理,而不是一次接收一个预订格式的数据块。TCP 把接收到的数据组成长度不等的段,再传递到网络层。

② 重新排序

如果数据以错误的顺序到达目的地,TCP 模块能够对数据重新排序,来恢复原始数据。

③ 流量控制

TCP 能够确保数据传输不会超过目的计算机接收数据的能力。

④ 优先级与安全

为 TCP 连接设置可选的优先级和安全级别。

⑤ 适当的关闭

以确保所有的数据被发送或接收以后,再进行关闭连接。

三、TCP 工作模式

TCP 协议的数据包进行传输采用的是服务器端和客户端模式。发送 TCP 数据请求方为客户端,接收端则为服务器端。客户端要与服务器端进行通信,服务器端必须开启监听的端口,因为TCP报文到达接收端的传输层的时候,需要找到监听端口的程序,然后交给该程序去处理,并且TCP协议规定TCP报文中必须带有目的端口,然后才能进行通信。

① 建立连接

首先基于TCP协议的应用,必须通过三次握手建立连接,即通过三次握手在通信双方的本地维护一份套接字序列号窗⼝⼤⼩等信息。

② 发送数据

建立好连接(维护好套接字序列号窗⼝⼤⼩等信息)后就可以发送信息了;发送端每次发送信息,接收端都会回复一个信息已收到的确认报文。如果接收端没有返回确认报文,发送端会继续发送。

③ 断开连接

信息发送完成后,就需要通过四次挥手断开连接(消除套接字序列号窗⼝⼤⼩等信息)。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词