UDP TCP对比

有TCP为什么还要有UDP?

UDP有时比TCP更有优势。UDP以其简单、传输快的优势,在越来越多场景下取代了TCP,如实时游戏。

(1)网速的提升给UDP的稳定性提供可靠网络保障,丢包率很低,如果使用应用层重传,能够确保传输的可靠性。

(2)TCP为了实现网络通信的可靠性,使用了复杂的拥塞控制算法,建立了繁琐的握手过程,由于TCP内置于系统协议栈中,极难对其进行改进。

采用TCP,一旦发生丢包,TCP会将后续的包缓存起来,等前面的包重传并接收到后再继续发送,延时会越来越大,基于UDP对实时性要求较为严格的情况下,采用自定义重传机制,能够把丢包产生的延迟降到最低,尽量减少网络问题对游戏性造成影响。
 
比如现在的一些开会软件应该大都采用的是RUDP这样一种应用层协议,reliable UDP.

UDP单播 广播 组播

单播就是点对点、多播是给一组设备发、广播就是在自己所在的网段发送信息(比如局域网游戏)。

现在的路由器都有个拒绝发送广播的策略,广播一般来说就是在你的路由器内部进行广播,

UDP 单播、广播和多播 - DoubleLi - 博客园

组播(多播)

  多播,也称为“组播”,将网络中同一业务类型主机进行了逻辑上的分组,进行数据收发的时候其数据仅仅在同一分组中进行,其他的主机没有加入此分组不能收发对应的数据。

  在广域网上广播的时候,其中的交换机和路由器只向需要获取数据的主机复制并转发数据。主机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择地复制并传输数据,将数据仅仅传输给组内的主机。

多播的这种功能,可以一次将数据发送到多个主机,又能保证不影响其他不需要(未加入组)的主机的其他通 信。

相对于传统的一对一的单播,多播具有如下的优点

  1、具有同种业务的主机加入同一数据流,共享同一通道,节省了带宽和服务器的优点,具有广播的优点而又没有广播所需要的带宽。

  2、服务器的总带宽不受客户端带宽的限制。由于组播协议由接收者的需求来确定是否进行数据流的转发,所以服务器端的带宽是常量,与客户端的数量无关。

  3、与单播一样,多播是允许在广域网即Internet上进行传输的,而广播仅仅在同一局域网上才能进行。

组播的缺点:

  1、多播与单播相比没有纠错机制,当发生错误的时候难以弥补,但是可以在应用层来实现此种功能。

  2、多播的网络支持存在缺陷,需要路由器及网络协议栈的支持。

  3、多播的应用主要有网上视频、网上会议等。

UDP传输 TCP传输相关推荐

  1. 在android中如何使用UDP和TCP传输

    首先我们来看一下什么是UDP和TCP. 什么是TCP? TCP:Transmission Control Protocol 传输控制协议TCP是一种面向连接(连接导向)的.可靠的.基于字节流的运输层( ...

  2. RTI Connext的TCP传输

    RTI TCP传输版本5.0.0 RTI TCP Transport支持使用TCP的RTI Connext应用程序之间的通信. 通信可以通过LAN或通过WAN进行. 概观 开箱即用,RTI Conne ...

  3. 关于JAVA网络编程UDP和TCP(上)

    对于JAVA的网络编程我们又称之为socket编程.首先,网络编程,顾名思义,要涉及到网络,其中网络协议是必不可少的对于我们而言,一个重要的网络协议是大家要会的:TCP/IP协议,udp协议. 一.网 ...

  4. 计算机网络概述---传输层 UDP和TCP

    传输层的功能 传输层为应用进程间提供端到端的逻辑通信(网络层是提供主机之间的逻辑通信), 传输层两大重要的功能:复用 和 分用. 复用:在发送端,多个应用进程公用一个传输层: 分用:在接收端,传输层会 ...

  5. 【计算机网络】传输层 : 总结 ( TCP / UDP 协议 | 寻址与端口 | UDP 协议 | TCP 协议特点 | TCP 连接释放 | TCP 流量控制 | TCP 拥塞控制 ) ★★★

    文章目录 一.传输层 TCP / UDP 协议 ★ 二.寻址端口号 ★ 三.UDP 协议特点 四.UDP 协议首部格式 五.UDP 校验 六.TCP 协议 特点 ★ 七.TCP 报文段首部格式 八.T ...

  6. 计算机网络 | 传输层 :UDP与TCP协议详解

    传输层 UDP UDP的协议格式 UDP的特点 基于UDP的应用层知名协议 UDP如何实现可靠传输 TCP TCP的协议格式 TCP的特点 连接管理机制 三次握手 四次挥手 保活机制 问题补充 可靠传 ...

  7. 王道考研 计算机网络19 传输层 传输层的寻址与端口 TCP UDP

    传输层 传输层的寻址与端口 FTP:文件传输协议(File Transfer Protocol)是用于在网络上进行文件传输的一套标准协议. Telnet协议是TCP/IP协议族中的一员,是Intern ...

  8. c++ udp多线程 例子_[内附完整源码和文档] 基于udp实现tcp功能进行大文件传输

    一.项目要求 Please choose one of following programing languages: C, C++, Java, Python; 本项目采用的是python3.6 L ...

  9. UDP与TCP对比,TCP保证可靠性传输的详细说明

    目录 1 UDP 2 TCP 2.1 TCP协议如何保证可靠传输 2.2 流量控制 2.2.1 TCP的滑动窗口 2.3 拥塞控制 2.3.1 慢开始 2.3.2 拥塞避免 2.3.3 快重传 2.3 ...

  10. 带你一文看懂--应用层、传输层的协议,HTTP协议及实现,UDP和TCP的报文格式以及为什么3次握手和4次挥手

    网络基础:TCP/IP四层模型中的典型协议--理解网络通信的流程原理 应用层协议:负责应用程序之间的数据沟通 网络版计算器:客户端向服务端传递两个数字以及一个运算符,服务端收到数据进行解析得到数字与运 ...

最新文章

  1. 量子计算机不会“秒杀”经典计算机
  2. 处理字符集中的算式问题
  3. 42岁!他成为2019年最年轻中科院院士!一篇论文未发博士毕业
  4. 2021年,深度学习还有哪些有潜力且处于上升期的研究方向?
  5. Linux运维之道之ENGINEER1.3(配置SMB共享,配置NFS共享)
  6. java和oracle的关联,Oracle数据关联查询
  7. JavaScript与JSP区别
  8. 第四季-专题15-网卡驱动程序设计
  9. mysql 交互式和非交互式操作(interactive_timeout和wait_timeout)
  10. 存储过程系列三:根据表别名方式distinct去重插入
  11. emouse思·睿—评论与观点整理之一
  12. 随书赠送的股票量化分析工具—出升级版啦!功能抢先看
  13. 菜鸟学R语言(方差分析)
  14. vue element-plus 插件
  15. [算法·思想]囚徒困境中Tit For Tat策略为什么就是最好的,之JAVA代码模拟实现
  16. 2021年黄石二中高考成绩查询,2020年黄石二中2020届高考总结
  17. Phyton安装MySQL驱动
  18. 微信红包随机算法转载
  19. 端口被占用时怎么解决?
  20. windows7浏览器无法打开html,Win7系统chrome浏览器无法打开怎么回事?Win7系统chrome浏览器无法打开的解决方法...

热门文章

  1. Maven详细安装教程
  2. IATF16949:2016汽车质量管理体系认证办理流程
  3. Hadoop大数据开发技术
  4. 计算机毕业设计:java基于SSM的班级管理系统
  5. Weblogic下载与安装
  6. 两个平面之间的关系—平行、垂直、相交
  7. IDEA中如何使用debug调试项目 一步一步详细教程
  8. easyui框架的使用,定制日历控件
  9. python模块使用手册_Python中文手册-Python模块
  10. 租房管理系统毕业设计Java_java毕业设计_springboot框架的租房管理系统