TCP和UDP区别是什么?Python学习教程

  TCP和UDP同属于协议,在学习Python的时候都会涉及到这方面的知识,那么TCP和UDP区别是什么呢?我们来看看它们的优缺点吧。

  什么是UDP?

  UDP是面向无连接的通讯协议,UDP数据包含目的端口号和源端口号信息。主要优点速度快、操作简单、要求系统资源较少,由于通讯不需要连接,可以实现广播发送;缺点是传输数据前并不与对方建立连接,对接收到的数据也不发送确认信号,发送端不知道数据是否会正确接收,也不重复发送,不可靠。

  什么是TCP?

  是面向连接的通讯协议,通过三次握手建立连接,通讯完成时四次握手,主要优点是TCP在数据传输时,有确认、窗口、重传、阻塞等控制机制,能保证数据正确性,较为可靠;缺点是相对于UDP速度慢,要求系统资源较多。

  TCP和UDP区别是什么?

  TCP是面向连接的协议,而UDP是无连接的协议,意味着当一个客户端和一个服务端通过TCP发送数据前,必须先建立连接,建立连接的过程被称为TCP三次握手;

  TCP提供交付保证,意味着一个使用TCP协议发送的信息是保证交付给客户端的,如果消息在传输过程中丢失,将重发;UDP是不可靠的,不提供任何交付的保证,一个数据报包在运输过程中可能会丢失;

  消息到达网络的另一端时可能是无序的,TCP协议将会为你排序,UDP不提供任何有序性的保证;

  TCP速度比较慢,而UDP速度比较快,因为TCP必须建立连接,以保证消息的可靠交付和有序性,需要做比UDP多的事;

  TCP是重量级的协议,UDP协议则是轻量级的协议。一个TCP数据报的报头大小最少是20个字节,UDP数据报的报头固定是8个字节。TCP报头中包含序列号,ACK号,数据偏移量,保留,控制位,窗口,紧急指针,可选项,填充项,校验位,源端口和目的端口。

(0)

相关推荐

  • 网络通信协议、IP地址、端口号

    一.网络通信协议 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样.在计算机网络中,这些连接和通信 ...

  • 100道接口测试面试题收好了!

    HTTP, HTTPS协议 什么是DNS HTTP协议 怎么抓取HTTPS协议 说出请求接口中常见的返回状态码 HTTP协议请求方式 HTTP和HTTPS协议区别 HTTP和HTTPS实现机有什么不同 ...

  • TCP/IP知识点:主机到主机层协议

    主机到主机层协议 主机到主机层的主要功能是对上层应用程序隐藏网络的复杂性,它告诉上层:"只需将你的数据和说明给我,我将对你的信息进行处理,为发送做好准备. 接下来的几节将介绍该层的两种协议: ...

  • Cookie和Session区别是什么?Python学习教程

    在Python中Cookie和Session有什么联系?Cookie和Session的区别是什么?接下来我们一起来看看详细的内容介绍吧,希望对你们有所帮助. 第一.存取方式不同 Cookie中只能保管 ...

  • Python学习教程:Python 内置函数最全汇总(上篇)

    Python学习教程:Python 内置函数最全汇总(一) 1 abs() 绝对值或复数的模 In [1]: abs(-6)Out[1]: 6 2 all() 接受一个迭代器,如果迭代器的所有元素都为 ...

  • Python学习教程:Python内置函数大总结(下篇)

    这里接着上次的Python学习教程,给大家总结了Python 剩下的33个内置函数. 31 hash() 返回对象的哈希值 In [112]: hash(xiaoming)Out[112]: 6139 ...

  • Redis和MongoDB哪个好?Python学习教程!

    Redis和MongoDB都是NOSQL数据库,采用结构型数据存储,在学习Python的过程中,我们也会接触到这方面的知识,那么你知道Redis和MongoDB各具有怎样的优劣势吗?我们一起来了解一下 ...

  • Python代码区分大小写吗?python学习教程

    大家都知道,很多编程语言在撰写代码的时候是区分大小写的,那么Python代码区分大小写吗?我们一起来看看吧. Python代码区分大小写吗? 答案是:当然.Python中的代码是区分大小写的,无论是变 ...

  • Python三大主流框架对比!Python学习教程

    在Python语言中,有三大主流框架,它们分别为:Flask.Django.Tornado,各具有独特的优势,也是学习Python时必须掌握的框架,那么它们之间有什么区别呢?我们一起来看看详细的介绍. ...

  • Redis集群方案怎么做?Python学习教程

    Redis集群方案该怎么做?都有哪些方案?Redis回收进程是如何工作的?这是面试找工作期间最常见的问题,接下来我们一起来看看吧. Redis集群方案该怎么做?具体分为三种: 1. codis:目前用 ...

  • 集合和列表有什么区别?Python学习教程

    学习Python的人应该都听说过集合和列表,也知道集合是处理数学问题的工具,列表是处理数据友好的工具,那么它们之间有什么区别呢?我们一起来看看吧. 什么是集合呢?集合是无序的.不重复的数据集合,它本身 ...

  • Python字符编码有几类?Python学习教程

    刚开始学习Python,肯定少不了基础知识的了解,比如说字符编码,那么你知道Python常见字符编码有哪些吗?我们一起来看看Python字符编码的常用种类吧. 第一种:ASCII码.是基于拉丁字母的一 ...