- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有两个位于同一子网上的 debian 服务器。它们通过开关连接。我知道 UDP 不可靠。
Question 1: I assume the link layer is ethernet. And MTU from a standard Ethernet is 1500 bytes. However, when I did a ping from one server to another, I found out that the maximum packet size can be sent is 65507. Shouldn't it be 1500 bytes? Can I say, because there's no router in between these two servers, therefore, the IP datagram will not be fragmented.
Question 2: Because two servers are directly connected with a switch, can I assume that all datagrams arrives in order and no loss on the path?
Question 3: How can I determine that the chances of datagram dropped at the server because of buffer overflow. What size to set the receive buffer so that datagram will not overflow receive buffer.
最佳答案
没有。 UDP 甚至在同一台机器上的进程之间也不可靠。如果数据包被发送到套接字而没有给接收进程时间来读取它们,缓冲区将溢出并且数据包将丢失。
您在启用分段的情况下进行了 ping 测试。除此之外,ping 不使用 UDP,而是使用 ICMP,因此结果没有任何意义。小于MTU的UDP包不会被分片,但是MTU取决于更多的因素,比如IP选项和VLAN头,所以它可能不会大于1500。
没有。交换机执行缓冲,内部缓冲区可能会溢出。考虑一个 24 端口交换机,其中 23 个节点都以尽可能快的速度传输到最后一个节点。很明显,到最后一个节点的连接无法处理其他 23 个链路的总流量,交换机将尝试缓冲数据包,但最终会丢弃它们。
除此之外,电噪声会破坏传输中的数据包,导致它们在校验和失败时被丢弃。
要分析缓冲区溢出的可能性,您可以使用排队论来计算数据包在缓冲区已满时到达的概率。您将需要一些关于数据包传输速率和处理时间的概率分布的假设。缓冲区中的数据包数量然后形成一个有限链,希望是马尔可夫链,您可以求解链中每个状态的稳态概率。要了解更多信息,可以使用“排队论”、“马尔可夫链”、“调用容量”、“电路容量”、“负载因子”等搜索关键字。
编辑:您更改了问题的标题。您的新问题的答案是:“您无法证明不正确的事情。”如果您想使用 UDP 制作可靠的应用程序,您应该添加自己的确认和丢失处理逻辑。
关于java - 我选择 UDP 作为我的 peer 2 peer 服务,我如何证明它在我的情况下是可靠的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548246/
来历及功能 peer.exe进程程序文件是由北京光芒时代国际传媒网络技术有限公司为其在飞速网发布的PC客户端:RaySource程序的一个组成部分。被描述为“Grid Service”,其功能主要
希望你们一切都好 我是 webRTC 的初学者,如果我的问题感觉像菜鸟,我很抱歉,但我想知道是否有任何正确的方法来关闭对等点之间的连接,尤其是使用 simple-peer.js,期待您的精彩回复 这是
我在使用 Windows 8 商店应用程序时遇到了一些问题。我的问题很简单: 我在一台电脑上有一个 Windows 8 商店应用程序,在另一台电脑上有相同的应用程序。个人电脑不在同一个网络中,但有互联
我正在从事一个尝试设置 PayPal 点对点支付的项目。然而,自适应支付 API 似乎是当前 PayPal API 的一个非常旧的版本,最近没有更新。 我是否遗漏了什么,或者 API 的这一部分是否仍
我的应用程序使用 GKSession 和 GKSessionModePeer。它必须处理任意连接和断开连接的点,因为这是一个长时间运行的应用程序,用户应该能够进入后台并稍后返回。这在大多数情况下都很好
我在 Google Meet 上开会,看到你可以打开实时字幕。他们实际上有一个演示 here关于如何进行实时语音到文本,所以这一点不会让我感到困惑。 我也一直想尝试使用 WebRTC(我相信 Goog
我正在尝试在聊天模块中共享图像/视频。我已经提到了Sample代码,但找不到任何帮助。 我已经提到过http://quickblox.com/modules/chat/它说通过插入我们全功能的聊天模块
我想让 WiFi peer-2-peer 中的一组连接过程对用户来说是无缝的。有办法吗? 蓝牙是怎么做到的? 最佳答案 基本上有两种方法可以做到这一点,我在 WIFI DIRECT, CONNECTI
这是我原来问题的后续:Qt Server+Client App: encryption fails (updated with code)还将此发布到 Qt 论坛:http://qt-project.
我有两个位于同一子网上的 debian 服务器。它们通过开关连接。我知道 UDP 不可靠。 Question 1: I assume the link layer is ethernet. And M
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 9 年前。 Improve this qu
我正在创建一个应用程序 (C#),它将通过网络发送一些消息。传出消息将由私钥签名,传入消息将使用私钥解密。 如果有人窃取私钥,我希望能够撤销它(向所有其他客户端发送撤销消息)。由于我是被盗私钥的所有者
我仍在学习 SIP 及其所有协议(protocol),特别是尝试将 PJSIP 集成到 iPhone 应用程序中以进行 p2p 调用。我对使用 PJSUA 的对等 2 对等连接有疑问。我能够通过使用
我想用 Webrtc 创建应用程序,它可以在网站、移动 ios 应用程序和 android 应用程序上运行。 我找到了这个链接:- http://xsockets.net/api/net-c/cust
我使用 Spark Streaming 从 Twitter 接收推文。我收到很多警告说: replicated to only 0 peer(s) instead of 1 peers 这个警告有什么
我有一个需要大量数据的模拟程序。我将数据加载到 GPU 中进行计算,数据中存在很多依赖性。由于 1 个 GPU 不足以处理数据,所以我将其升级为 2 个 GPU。但限制是,如果我需要其他 GPU 上的
我在调试我的代码时遇到问题,因为我无法理解引发的套接字错误。这是回溯。 Traceback (most recent call last): File "clickpression.py", lin
我试图将Fabric配置为可以在Kubernetes集群中使用,并且在一切正常的同时,我很难将链码(使用composer-cli)部署到网络上。看来,chaincode容器看不到创建它们的对等方。 2
在Java中,您可以使用Socket和ServerSocket来获取两个进程之间通信的双向 channel 。但其中只有一个必须拥有 ServerSocket 并被视为“服务器”,另一个则被视为“客户
我用不同的名称和不同的字段名称创建了自己的用户表,我想让 kamailio 将它用作对等用户的“acc”表,我该怎么做? 最佳答案 kamailio 中的 acc 表用于会计记录(即账单数据)。 我知
我是一名优秀的程序员,十分优秀!