首页 > 其他分享 >TCP与UDP

TCP与UDP

时间:2024-04-10 20:33:52浏览次数:24  
标签:UDP 字节 TCP 应用 数据传输 连接


简述TCP与UDP区别
TCP(传输控制协议)和 UDP(用户数据报协议)是两种常见的网络传输协议,它们在传输数据的方式、特性和用途上有着显著的区别:

  1. 连接
    TCP:是一种面向连接的协议。在数据传输之前,必须建立一个稳定的连接。TCP 连接是通过三次握手过程建立的,这个过程确保了双方的发送和接收能力都是就绪的。
    UDP:是一种无连接的协议。它不需要建立和维护一个连接,数据可以直接发送给接收方,而不需要事先的握手过程。
  2. 可靠性
    TCP:提供了高度可靠的数据传输服务。它通过序列号、确认响应、超时重传以及流量控制等机制确保数据正确无误地从源传到目的地。
    UDP:提供的是最小可能的协议机制。它不保证数据包的顺序、完整性或者是否会被丢弃,可能会出现丢包、重复和乱序等情况。
  3. 速度和效率
    TCP:由于其可靠性机制、连接建立和拥塞控制等,通常比 UDP 慢。TCP 更适用于对数据完整性和顺序有严格要求的应用。
    UDP:由于其轻量级特性,没有过多的检查和确认机制,因此在速度上往往比 TCP 快。适用于对实时性要求高、可以容忍一定丢包率的应用,如视频流、在线游戏等。
  4. 数据流
    TCP:是面向字节流的。TCP 把应用层看成是一个连续的字节流,没有固定边界。
    UDP:是面向数据报的。每个 UDP 数据包(数据报)都是独立的,有明确的边界,每个数据包都独立传输、独立路由。
  5. 头部开销
    TCP:头部最小20字节,最大60字节,包含很多控制信息,如序列号、确认号等,使得 TCP 能提供可靠的服务。
    UDP:头部开销小,固定8字节,因此传输效率高,但功能简单。
  6. 应用场景
    TCP:适用于要求高可靠性的应用,如网页浏览、文件传输、电子邮件、数据库操作等。
    UDP:适用于对速度和效率要求高、可以容忍一定错误率的应用,如在线视频会议、实时游戏、DNS 查询等。
    总结
    TCP 提供可靠、面向连接的数据传输服务,适合对数据完整性和顺序有高要求的应用。UDP 提供简单、无连接的数据传输服务,以最小的协议开销实现高速传输,适用于对实时性要求高的应用场景。选择 TCP 还是 UDP 通常取决于应用的具体需求和网络环境。

标签:UDP,字节,TCP,应用,数据传输,连接
From: https://www.cnblogs.com/lxs666/p/18127347

相关文章

  • linux服务器 tcp高并发压测需要设置项
    linux服务器部署了一个tcp服务,需要进行并发压力测试 看看服务器能支持多少个tcp长连接  预计会有50w个连接需要设置linux不然是无法支持这么多连接的  如果达到这个值是无法建立新连接的 报错信息一般为 toomanyopenfiles 1, fs.file-max li......
  • python写的收Udp消息后,再发到 MQTT 的例子
    收到Udp消息后,再发到MQTT的例子完整代码udp2mqtt.pyimportjsonimportloggingimportrandomimportsocketimporttimeimportpaho.mqtt.clientasmqtt_clientBROKER='*******.ala.cn-hangzhou.emqxsl.cn'PORT=8084TOPIC="python-mqtt/wss"CLIEN......
  • python收发Udp消息
    发Udp消息udpSend.pyimportsocket#设置目标地址和端口server_address=('localhost',6789)#创建UDP套接字sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)try:#发送数据message='aaaaaaa'print(f"发送:{message}")se......
  • GO语言实现TCP端口转发
    12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061package main import (    "fmt"    "log"    "net&......
  • 【IP层的校验和与UDP的校验和】+【FPGA实现】
    MAC层的校验是CRC,而IP层也有其校验机制。CRC保证数据包的传输正确; IP头校验和IP头校验和是一种错误检测机制,用于在互联网协议(IP)中保证IP头的数据完整性。当一个IP数据包从源主机发送到目的主机时,它经过许多路由器和交换机,校验和可以帮助这些中间设备检查数据包......
  • TCP 三次握手与四次挥手面试题(计算机网络)
    TCP基本认识TCP头格式有哪些?  序列号:在建立连接时由计算机生成的随机数作为其初始值,通过SYN包传给接收端主机,每发送一次数据,就「累加」一次该「数据字节数」的大小。用来解决网络包乱序问题。确认应答号:指下一次「期望」收到的数据的序列号,发送端收到这个确认应......
  • 一台服务器​最大并发 tcp 连接数多少?65535?
    首先,问题中描述的65535个连接指的是客户端连接数的限制。在tcp应用中,server事先在某个固定端口监听,client主动发起连接,经过三次握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少呢?如何标识一个TCP连接在确定最大连接数之前,先来看看系统如何标识一个tcp连接。系统用一个......
  • 以太网UDP:心跳包、ICMP与ARP
    参考:https://juejin.cn/post/6844903951452602375心跳包UDP:用户数据报协议:主要用在实时性要求比较高的以及对质量相对较弱的地方.但是面对现在高质量的线路不会容易丢包,除非是一些拥塞条件下,如流媒体TCP:传输控制协议:是面连接的那么运行环境必然要求其可靠性不可丢包,......
  • 从系统cache中查看 tcp_metrics item
    从系统cache中查看tcp_metricsitemiptcp_metricsshow  tcp_metrics会记录下之前已关闭TCP连接的状态,包括发送端CWND和ssthresh,如果之前网络有一段时间比较差或者丢包比较严重,就会导致TCP的ssthresh降低到一个很低的值,这个值在连接结束后会被tcp_metricscache住,在新连接建......
  • 说说TCP为什么需要三次握手和四次挥手?
    一、三次握手三次握手(Three-wayHandshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备过程如下:第一次握手:客户端给服务端发一个SYN报文,并指明客......