我懂基本的网络知识,但不太擅长。现在我正在计算如果我使用IPv4 上的 UDP.我可以假设协议开销对于通过 IPv4 上的 UDP 发送的数据66字节. 并且数据需要以大小为4 KB(这将是有效载荷大小)
我的问题是:
网络数据包由什么组成?
维基百科指出
一个数据包由两种数据组成:控制信息和用户数据(也称为有效载荷)。
因此基本上,一个数据包有一个头和一个尾,中间有有效载荷数据。
数据包结构如下所示: 头部 | 有效载荷 | 尾部
所以如果我想形成一个数据包,我应该包括协议开销在我的计算中?
数据包大小 = 66 字节(协议开销)+ 4096 字节(有效负载)= 4162 字节
任何帮助都将非常感激。
答案1
计算发送给定数量的数据所需的最少数据包数(假设零丢失)。
Let Sp be the size of the payload of a packet.
Let St be the total size of the data.
Let Np be the number of packets.
then
Np=St/Sp
在这种情况下,我们不考虑元数据(标题/开销)。
让我们考虑一个物理例子。
如果我们有 1L 水 (Vt)。我们希望使用杯子 (Vc) 来移动它。因此我们必须使用杯子的次数 (Nc) 是 Nc=Vt/Vc。
但是哪个 Vc,杯子有两个体积,一个内部体积和一个外部体积(Vi 和 Ve)。外部体积是如果有盖子阻止水进入的话会排出多少水,或者 Vi+Vm,其中 Vm 是杯子所用材料的体积。Vi 更简单地说是杯子可以容纳的水的体积。我们应该使用哪个 Vc 值?Vc=Ve 或 Vc=Vi
答案2
- 问:数据包的哪些部分损坏会导致其无法送达?
- 答:数据包中任何重要部分出现错误都会导致数据包被拒绝。
- 问:如果数据包中的哪部分是重要的。
- 答:全部,否则它就不会存在。
因此,请考虑整个数据包:有效载荷、udp、ipv4、网络层(以太网、ppp 等)。请注意,网络层可能会因旅程的不同部分而改变,数据包的长度也会改变,但误码率也会改变。