python 中的UDP和TCP(1)
一、tcp:
tcp是transmission control protocol的简称,中文名传输控制协议。是一种面向连接的、可靠的、基于字节流的传输层通信协议。tcp通信需要经过创建连接、数据传输、终止连接三个步骤。通信开始前,一定要先建立相关的链接,才能发送数据。完成数据交换后,双方必须断开链接释放系统资源。
tcp优点:
1、tcp采用发送应答机制
tcp发送的每个报文段都必须得到接收方的应答才认为这个tcp报文段传输成功
2、超时重传
发送端发送一个报文段后就启动定时器,如果在定时时间内没有收到应答就重新发送这个报文段。tcp为了保证不发生丢包,就给每个包一个序号,同时序号也保证了
接收端实体包的按序接收。然后接收端实体对已成功收到的包发回确认;发送端实体在合理返回时延内未收到确认,那么对于的数据包就会被假设丢失,将会被进行重传。
3、错误校验
tcp用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和
4、流量控制和阻塞管理
流量控制用来避免主机发送得过快而使接收方来不及完全收下
二、udp
udp是user datagram protocol的简称,中文名是用户数据报协议,是一种简单的面向数据表的运输层协议,在网络中用于处理数据报,是一种无连接的协议。udp不提供可靠连接,只负责把应用程序传给ip层的数据报发送出去,并不能保证它们能达到目的地。由于udp传输数据报前不用在用户和服务器之间搭建一个连接,且没有重发机制,故而传输速度快。
三、tcp和udp区别
1、基于连接与无连接
2、tcp要求系统资源较多,udp比较少
3、udp程序结构较简单
4、tcp:流模式;udp:数据报模式
5、tcp保证数据正确性,udp可能丢包
6、tcp保证数据顺序,udp不保证
7、tcp首部开销20字节,udp只有8个字节
8、每一条tcp连接只能是点对点的;udp支持一对一,一对多,多对一和多对多
下一章写pythontcp、udp代码实现
推荐阅读