作者:故事我忘了
个人微信公众号:程序猿的月光宝盒

1.UDP简介

1.1UDP报文结构:

Source Port:源端口

Destination Port:目标端口

Length:数据包长度

Checksum:奇偶校验值

data octets:用户数据

1.2 UDP特点

​ 1.面向非连接

​ 传输数据之前,源端和终端无建立连接,当他想传送时,就简单地去抓取来自应用程序的数据,并尽可能快的把他扔到网络上,在发送段,UDP传送数据的速度,仅仅是受应用程序生成数据的速度的影响,计算机的能力和传输带宽的限制.在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读取一个消息段.

  1. 不维护连接状态,支持同时向多个客户端传输相同的消息

  2. 数据包报头只有8个字节,额外开销较小

  3. 吞吐量只受限于数据生成速率,传输速率以及机器性能

  4. 尽最大努力交付,不保证可靠交付,不需要维持复杂的链接状态表

  5. 面向报文,不对应用程序提交时的报文信息进行拆分或者合并,因此,应用程序应该选择合适的报文大小

2. TCP和UDP的区别

  1. TCP面向连接,UDP面向非连接

  2. 可靠性:TCP比较可靠,利用握手,确认和重传机制来提供可靠性,而UDP可能会丢失
  3. 有序性:TCP有序,TCP利用序列号保证了消息报的顺序交互,到达可能无序,但是TCP最终会排序,而UDP不具备有序性
  4. 速度:TCP速度比较慢,因为要创建连接,保证消息的可靠性和有序性,UDP更适合对速度比较敏感的应用,比如在线视频媒体,电视广播,多人在线游戏
  5. 量级:TCP属于重量级,UDP属于轻量级的,体现在源数据的头大小,TCP是20个字节,而UDP是8个字节

最新文章

  1. Windows 2008 IIS7.5中创建独立账号的FTP站点图文教程
  2. Keepalived日志
  3. 函数对象(仿函数 functor)
  4. bootstrap源码分析----栅格系统
  5. 二十四种设计模式:适配器模式(Adapter Pattern)
  6. POJ C++程序设计 编程题#1 编程作业—多态与虚函数
  7. 【BZOJ 1006】[HNOI2008]神奇的国度
  8. Android开发之创建桌面快捷方式
  9. IOS web网页图片上传问题
  10. yum update
  11. mysql null值问题
  12. java-读取属性文件
  13. Cat 跨线程之 TaggedTransaction 用法和原理分析
  14. Android源码博文集锦3
  15. scrapy中的request
  16. ZJOI2019一轮停课刷题记录
  17. Repeater 实现 OnSelectedIndexChanged
  18. background-attachment属性
  19. java io详解(1)
  20. BZOJ2561 最小生成树(最小割)

热门文章

  1. cd ..、cd / 和 cd ~ 的区别
  2. 《Java知识应用》Java发送邮件(QQ,163)
  3. 自定义滚动条(Custom ScrollBar)
  4. Android获取ROOT权限的通用方法
  5. windows10 双系统安装后,grub2 引导修复(亲自实验);grub2 命令行 手动加载内核;fedora 29 系统grub2引导修复;
  6. NGUI 源码分析- AnchorPoint
  7. openwrt_在PPPOE上网的同时_访问光猫
  8. Docker系列之原理简单介绍
  9. Jmeter录制后的脚本调优
  10. puppeteer开发