阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Python 关于TCP简介以及与UDP的区别

81次阅读
没有评论

共计 1426 个字符,预计需要花费 4 分钟才能阅读完成。

导读 我们来介绍 Python 关于 TCP 简介以及与 UDP 的区别
TCP 介绍

TCP 协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由 IETF 的 RFC 793 定义。
TCP 通信需要经过创建连接、数据传送、终止连接三个步骤。
TCP 通信模型中,在通信开始之前,一定要先建立相关的链接,才能发送数据,类似于生活中,” 打电话 ””

TCP 特点
1. 面向连接

通信双方必须先建立连接才能进行数据的传输,双方都必须为该连接分配必要的系统内核资源,以管理连接的状态和连接上的传输。
双方间的数据传输都可以通过这一个连接进行。
完成数据交换后,双方必须断开此连接,以释放系统资源。
这种连接是一对一的,因此 TCP 不适用于广播的应用程序,基于广播的应用程序请使用 UDP 协议。

2. 可靠传输

1)TCP 采用发送应答机制

TCP 发送的每个报文段都必须得到接收方的应答才认为这个 TCP 报文段传输成功

2)超时重传

发送端发出一个报文段之后就启动定时器,如果在定时时间内没有收到应答就重新发送这个报文段。

TCP 为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。

3)错误校验

TCP 用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。
流量控制和阻塞管理
流量控制用来避免主机发送得过快而使接收方来不及完全收下。

TCP 与 UDP 的不同点
  1. 面向连接(确认有创建三方交握,连接已创建才作传输。)
  2. 有序数据传输
  3. 重发丢失的数据包
  4. 舍弃重复的数据包
  5. 无差错的数据传输
  6. 阻塞 / 流量控制

udp 通信模型 udp 通信模型中,在通信开始之前,不需要建立相关的链接,只需要发送数据即可,类似于生活中,” 写信 ””

Python 关于 TCP 简介以及与 UDP 的区别

TCP 通信模型

udp 通信模型中,在通信开始之前,一定要先建立相关的链接,才能发送数据,类似于生活中,” 打电话 ””

Python 关于 TCP 简介以及与 UDP 的区别

tcp 的 3 次握手

Python 关于 TCP 简介以及与 UDP 的区别

tcp 的 4 次挥手

Python 关于 TCP 简介以及与 UDP 的区别

tcp 注意点

tcp 服务器一般情况下都需要绑定,否则客户端找不到这个服务器
tcp 客户端一般不绑定,因为是主动链接服务器,所以只要确定好服务器的 ip、port 等信息就好,本地客户端可以随机
tcp 服务器中通过 listen 可以将 socket 创建出来的主动套接字变为被动的,这是做 tcp 服务器时必须要做的
当客户端需要链接服务器时,就需要使用 connect 进行链接,udp 是不需要链接的而是直接发送,但是 tcp 必须先链接,只有链接成功才能通信
当一个 tcp 客户端连接服务器时,服务器端会有 1 个新的套接字,这个套接字用来标记这个客户端,单独为这个客户端服务
listen 后的套接字是被动套接字,用来接收新的客户端的链接请求的,而 accept 返回的新套接字是标记这个新客户端的
关闭 listen 后的套接字意味着被动套接字关闭了,会导致新的客户端不能够链接服务器,但是之前已经链接成功的客户端正常通信。
关闭 accept 返回的套接字意味着这个客户端已经服务完毕
当客户端的套接字调用 close 后,服务器端会 recv 解堵塞,并且返回的长度为 0,因此服务器可以通过返回数据的长度来区别客户端是否已经下线

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1426字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中