当前位置:网站首页>UDP 的报文结构和注意事项
UDP 的报文结构和注意事项
2022-07-27 14:35:00 【瘦皮猴117】
目录
网络的原生情况
网络的原生情况:网络中的数据,是经过路由器之间,一跳一跳地、接力一样地,传送到目标主机上的,会带来两个问题:
1.网络传送是不可靠的
1)你发送了的数据,对方不保证一定能收到2)不能保证严格按照发送时的顺序被对方接收到
由于路可能不同,数据很难保证按照出发的顺序到达。
2.网络是不安全的
1)你发送的所有数据,沿途的路由器都可以进行查看或者修改(窃听、篡改)2)别人可以伪造成你发送的数据
传输层的UDP
User Datagram Protocol用户报文协议
UDP是一个很简单的传输层协议,它只是做到了传输层最基本的职责(在host to host 连同的情况下,实现process to process)。
网络层本身是不可靠的,UDP又没有做过任何的处理,所以,UDP是不可靠的。这里的不可靠,并不是UDP做了什么,才变得不可靠了,而是UDP什么都没做,所以把网络层的不可靠特性直接表达给了应用层,所以站在应用层的角度,我们才说UDP是不可靠的。
UDP做了哪些工作(机制)
UDP的报头(header)长什么样,这些报头中的内容,都是配合UDP协议完成它的职责的。
1.所有网络协议的报头中都要具备的职责:如何进行解包(怎么把数据中的header和 payload 分开)
byte[]data = {12345}
2.分用的问题,在UDP中,分用的问题实际上就是 process to process的问题。
UDP 的对外口碑(UDP 的特点)站在应用层的角度:
缺点:不可靠
优点:无连接、面向数据报文、成本低(便宜)
UDP报头结构
接收者如何可以根据header 中的数据进行解包。因为header的长度是定长(固定长度),前8个字节一定是header,剩下的一定是payload。
UDP长度:整个报文的长度。64kb16位(bit) = 2字节(byte) = 2^16-1=65535——>65535 / 1024 = 64kb
怎么做分用的,数据该交给应用层的哪个进程?
利用目的端口。同时可以支持回信,也把源端口带上。
校验和
UDP缓冲区
缓冲区
UDP没有发送缓冲区
UDP有接收缓冲区
小结
边栏推荐
- Network equipment hard core technology insider router Chapter 7 tompkinson roaming the network world (Part 2)
- flutter —— 布局原理与约束
- “router-link”各种属性解释
- Leetcode 781. rabbit hash table in forest / mathematical problem medium
- [TensorBoard] OSError: [Errno 22] Invalid argument处理
- Spark 3.0 DPP implementation logic
- 复杂度分析
- Network equipment hard core technology insider router Chapter 16 dpdk and its prequel (I)
- JS uses extension operators (...) to simplify code and simplify array merging
- Fluent -- layout principle and constraints
猜你喜欢

Static关键字的三种用法

Pictures to be delivered

Analysis of spark task scheduling exceptions

With just two modifications, apple gave styleganv2 3D generation capabilities

How to take satisfactory photos / videos from hololens

Leetcode 190. reverse binary bit operation /easy

语音直播系统——提升云存储安全性的必要手段

C语言:扫雷小游戏

【剑指offer】面试题45:把数组排成最小的数

Implement custom spark optimization rules
随机推荐
[正则表达式] 匹配分组
直接插入排序
Troubleshooting the slow startup of spark local programs
C语言:函数栈帧
使用双星号代替Math.pow()
Spark 3.0 Adaptive Execution 代码实现及数据倾斜优化
【剑指offer】面试题39:数组中出现次数超过一半的数字
【剑指offer】面试题55 - Ⅰ/Ⅱ:二叉树的深度/平衡二叉树
Modify spark to support remote access to OSS files
C语言:扫雷小游戏
C语言:动态内存函数
聊聊ThreadLocal
【剑指offer】面试题56-Ⅰ:数组中数字出现的次数Ⅰ
【剑指offer】面试题49:丑数
Spark lazy list files 的实现
What format is this data returned from the background
Multi table query_ Exercise 1 & Exercise 2 & Exercise 3
后台返回来的是这种数据,是什么格式啊
语音直播系统——提升云存储安全性的必要手段
Network equipment hard core technology insider router Chapter 21 reconfigurable router









