networking - PPP 和以太网的开销

标签 networking network-protocols ethernet overhead ppp

PPP 和以太网发送 5000 字节的开销是多少?

Point-to-Point Protocol 的帧大小: 8 字节 MTU:500字节

以太网帧大小:18 字节 MTU:1500字节

都发送 5000 字节..

我知道这只是一个计算,但我不确定如何计算。我到处都找不到。我想既然一个 PPP 帧占用 8 个字节,最大传输单元是 500,那么它可以一次发送 (500 - 8) 个字节的信息。它发送 10 个帧,导致发送 4920 个字节。然后发送最后一帧的最后 (80+8) 个字节。

以太网类似。每帧 (1500 - 18) 字节。发送 3 帧意味着发送 4446 字节。最后一帧发送 (554+18)bytes。

这显然没有回答“开销”问题。有人有什么想法吗?

最佳答案

这实际上取决于您如何定义开销。这个答案将假定开销是您除了数据本身之外还需要传输的字节数。

对于以太网,假设 5000 字节的有效负载未封装在 IP + TCP/UDP 帧中,则每个发送的数据包将有 18 字节的开销。这意味着每个 MTU 为 1500 的传输将能够容纳 1482 个字节。要传输 5000 字节,这意味着必须传输 4 个数据包,这意味着 72 字节(18 * 4)的开销。请注意,当您包含诸如包含 TCP 帧的 IP 帧之类的内容时,开销会变得更大。

对于 PPP,正如您已经展示的那样,您可以每帧发送 492 个字节。十一帧意味着 88 字节的开销 (11 * 8) - 同样,不包括有效负载中的任何其他协议(protocol)帧。

在这两个例子中,任何建立在这些链路层协议(protocol)之上的协议(protocol)都会产生开销。例如,使用包含 UDP 数据报的 IPv4 帧发送的以太网数据包将有额外的 28 个字节用于 header 而不是数据(假设没有 IP 选项,IPv4 header 中有 20 个字节,UDP header 中有 8 个字节)。考虑到原始的以太网示例,这意味着每个数据包的数据量变为 1454 字节,幸运的是仍然达到 4 个数据包(额外溢出到较小的第 4 个数据包),开销为 144 字节。

您可以阅读更多here (虽然我发现该页面有点难以阅读)。

关于networking - PPP 和以太网的开销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1337981/

相关文章:

linux - 以编程方式获取接口(interface)的驱动程序名称

architecture - 如何为设备和服务器之间的元数据同步设计高级应用程序协议(protocol)和数据格式?

networking - 网络层如何为数据包找到路由

r - 端口 28060 tcp 与 R 相关?

Windows 7 在启动过程和登录之前连接到网络

ping - 当我 ping 127.0.0.1 时会发生什么

sockets - Wireshark的替代品,可通过USB-Ethernet适配器捕获原始以太网

linux - 如何将以太网设备直接连接到 linux 中的交换机?

Linux : I programatically changed my default route to eth0 but now I can't ping, 有什么建议吗?

ios - 代理从我的 iPhone/iPad 到 Mac 上的 VirtualBox 的 http 和 https 流量