发送数据包所需的最小数据量是多少?

时间:2014-12-04 00:15:32

标签: c packet

首先是一个小背景:我对聊天应用程序有所了解。我不希望用户需要输入连接细节,所以我想我可以发送自定义以太网数据包类型。该数据包由对等体接收;生成用户应用程序中每个对等方的数据库。我不想过度复杂化生成我的原始数据包。发送成功接收的数据包所需的最小数据量是多少?是否存在任何特殊情况,其中最小数据包将通过某些硬件而非其他硬件正确传输?

让我澄清一下,并明确一点:我问的是在数据包中所需的最小信息量是什么,以便传输和接收该数据包。可以在以太网数据包中找到的信息示例包括IP地址,硬件地址,生存时间等。

1 个答案:

答案 0 :(得分:1)

  

发送数据所需的最小数据量是多少?   成功收到数据包?

如果您不打算通过互联网发送,则根本不需要使用IP。 在局域网上,如果您愿意,可以使用自定义网络层。 还有现有的nonip协议(IPX)可能适合您的需求。 IPX的设置相对简单,但是如果他们抓住你使用它,人们会生你的气。 (我也不知道Windows自winxp以来是否支持IPX)。 那将是艰难的方式。

更简单的方法是使用UDP / IP。 UDP旨在最小化。 UDP的wiki页面将告诉您UDP数据报的标头大小。 不要忘记将IP标头(再次使用wiki)和以太网帧(同上)添加到此。 最后你需要一个有效载荷。

有很多选择。这在很大程度上取决于您打算使用的网络基础设施。如果您的基础设施是基于以太网的IP,那么您将不得不坚持下去!

  

在存在最小数据包的情况下是否存在任何特殊情况   使用某些硬件而不是其他硬件正确传输?   如果你遵守标准:不。如果你标榜标准:非常可能。

在你的后一个问题中,你似乎暗示你想采用'聪明'的技巧来减少数据包的大小(即错过了标题的非关键部分),但我再说一遍:不要反对标准。 如果抓住你这样做,你会失去你所有的朋友,人们会对你非常失望。