python socket编程(五)

TCP

TCP,传输控制协议(Transmission Control Protocol)

UDP类似写信的模型,有可能信息丢失,不安全。
TCP可以想象成打电话的模型,相对更稳定安全,TCP的一大特点,发送的数据包如果对方没有收到,那么会再发一遍,保证数据一定能够到达。
或者数据再传输过程中出错了,接收方会对数据进行检查,发现数据是错误的,会请求再传一次这个包

TCP在通信前必须先建立连接
TCP通信三个步骤,创建连接、数据传送、终止连接

TCP比UDP更复杂,但是更稳定,体现在:

1)TCP采用发送应答机制

TCP发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传输成功
UDP:a发送给b一组数据,a不知道b是否收到
TCP:a发送给b一组数据,b收到后会告诉a,否则,超时重传

2)超时重传

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

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

3)错误校验

TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。

4) 流量控制和阻塞管理

流量控制用来避免主机发送得过快而使接收方来不及完全收下。
简单点说就是发送方考虑接收方的速度,你收一点,我再发一点。

TCP通信模型

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值