前端网络基础-传输层UDP协议
UDP(User Dategram Protocol)即用户数据报协议
它也是传输层协议。
我们需要知道数据分为重要数据和不重要数据,比如你发了一封邮件,下载文件,这些都是重要数据,少了一点,可能文件就会报错,打不开,所以对于这些数据,我们看重的是完整性,正确性。
但是比如你看网络直播,或打IP电话,打网络游戏,这种对数据实时性要求比较高,对数据传输速度要求快的,我们反而不太在意数据的完整性。比如你看网络直播时,忽然卡了一下,其实完全不影响整体看直播的体验,或者打游戏时,你根本不在乎数据是否完整,只要游戏操纵流畅,反馈及时就行。
所以传输层不止有TCP这种可靠,但是慢的传输协议,还有UDP这种快,但是不可靠的传输协议。
由于UDP协议的使命就是快速传输数据,不在乎数据是否丢失,即要速度,不要质量,所以UDP对于数据段的封装,非常精简,要比TCP封装操作简单的多,我们可以看下UDP报文格式
可以发现UDP报文头部中,只有四个内容
UDP源端口,UDP目标端口,UDP长度,UDP校验和。
即UDP数据传输只需要保证数据能够准确投递到应用层,以及数据正确性,其他都不要。
1、不要建立连接
TCP在通信前需要三次握手建立连接,UDP不需要,直接开始通信传输数据。
2、不要确认对方是否收到报文
TCP在发送报文后,都需要等待对方确认收到报文,这样才能继续发送下一个报文,而UDP根本不管对方是否收到,直接扔过去,扔完回家睡觉。
3、不要释放连接
TCP在通信结束还要四次挥手释放连接,UDP都不建立连接,更没有释放一说了。
UDP和TCP比较
1、可靠性上
TCP比UDP牛
2、速度上
UDP比TCP牛
TCP常应用于对数据完整性要求比较高的场景
UDP常用于于对数据传输速度要求快,但是数据完整性不做要求的场景。
我们知道的DNS解析底层默认依赖于UDP协议。
我们使用wireshark抓一个DNS解析过程的包来看看
相关文章
- 跨网段远程网络唤醒计算机,远程唤醒及跨网段远程唤醒
- 深度学习基础:9.复现经典网络:LeNet5与AlexNet
- RPN网络解读
- 网络基础
- 软件定义网络(SDN)基础概念学习笔记(下)
- 21. 网络基础(2)——网络传输的基本流程
- 新手网络工程师快看,一文带你掌握6个基础配置技能!
- 基础网络CDB使用API批量切换私有网络
- 通信网络基础pdf_通信网络系统基础
- 【网络入门】详解常用的基础网络知识(面试笔试常考内容)「建议收藏」
- Linux网络-套接字编程基础
- 【信管1.4】计算机网络基础(二)IP地址和网络服务器
- 通算一体网络十大基础问题白皮书(附下载)
- Docker高级篇:docker网络的四种类型
- 华为一骑绝尘,腾讯赶超新华三,数据交换网络领域中国局专利最新竞争态势!
- 网络基础概念
- 如果MySQL事务中发生了网络异常?
- 部分基础网络cvm云监控空白无图像
- Linux 基础网络配置指南(linux配置网络)
- Go语言UDP网络程序设计
- Linux实现精准的网络控制(linux网络控制)
- Linux 网络数据包检测技巧(linux查看数据包)
- 掌握Linux DNS启动,轻松实现网络访问管理(linuxdns启动)
- Linux网络协议栈:强大的构建基础(linux 网络 协议栈)
- 检测redis性能建立可靠的网络基础(检测redis)