UDP协议遇到的一个奇怪现象

rabbitjerry 2014-11-07 05:51:07
三台主机A,B,C都接到交换机上,A用UDP协议发送数据到B,B处理后将结果用UDP协议发送给C。
使用任务管理器监控B的网络状态,正常连接并运行时收和发都保持在较高的水平(收约为60%,发约为20%)。
在某个时刻拔掉C的网线,大约几秒后B的网络中,发的网络掉到0%,但收仍然在继续,为60%。
按照常规的认识,UDP是非连接的,拔掉C的网线应该不影响B的发啊?
请问一下其中的原因,谢谢~
...全文
355 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Henzox 2014-11-10
  • 打赏
  • 举报
回复
理论上来讲,UDP 是无连接的,不用关心收的问题,但是在网络层传的时候,是需要 MAC 地址的,如果 C 不在局域网中,而此时 B 里面的 MAC 缓冲丢失,这时发包就得不到 C 的 MAC ,那么这个包在本地的协议栈就可以判断出肯定不可到达,直接不让发也是可能的。
hushoubo 2014-11-10
  • 打赏
  • 举报
回复
楼上说得好像有道理
二进制脑袋 2014-11-09
  • 打赏
  • 举报
回复
“UDP是广播方式”,这句话与我记忆中的理解不一致,能否解释解释?
ckc 2014-11-08
  • 打赏
  • 举报
回复
如果b发给c有中转,应该不影响b的发送 如果中间没有中转,那么b直接把包投送给c,c没有了,流量没有了我觉得是可以理解的
笨笨仔 2014-11-08
  • 打赏
  • 举报
回复
看不太明白,UDP是广播方式,如果B、C使用同一个端口,就都可以收到,为何还要转发? 使用UDP时,系统设计最好加入管理,因为发出的广播并不能保证对方收到。我曾经设计过一个管理系统,也使用UDP协议管理登录的员工。思路是:对话方式(如TCP),所有的广播必须在指定时间内有应答(比如“心跳”),应答超时则认为工作端断开。广播和应答使用不同的端口完成。

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧