在网络协议中,有这样一个经典问题:

红军协同对抗蓝军问题:

处于两地的红军A与红军B要与蓝军作战,但单独的红军A或红军B打不过蓝军,而红军A与红军B联合对抗蓝军则100%取得胜利。

于是红军A与红军B需要商议在何时进攻,但由于无线网络信号质量很差,无法确保红A与红B发出的消息能够送达对方,在此情境下,能否设计出一种可靠的通信协议使得红军一定取得胜利(即通信信道不完全可靠的情况下,设计出完全可靠的通信协议)。

分析

请求确认

假定红A计划与红B在次日凌晨2点共同向蓝军发起攻击,红A必定要向B发送请求进攻报文“次日2点进攻蓝军”,但是由于通信信道的不可靠性,红B必须向红A发送一个确认报文。
在这种协议下,对红A来说,是否发动攻击取决于有没有收到B的确认报文,而对于红B来说,是否发动攻击取决于有没有收到红A的请求进攻信号,如图所示:

而在该协议中红B并不知道红A有没有收到确认报文,假如红B的确认报文丢失,红A只能等待,而红B单独进攻蓝军,最后失败告终。

确认的确认

为了解决该问题,即需要让红B知道红A已收到确认报文,在原来协议的基础上增加:红A收到确认报文后向红B发送“确认的确认”。
在这种协议下,对红A来说,收到红B的确认报文后决定发起进攻,而对红B来说,在收到“确认的确认”报文后决定发起进攻。

但实际上“确认的确认”报文也可能丢失,而红A并不知道B是否收到了“确认的确认”,因此,如果“确认的确认”丢失,会导致红A单独作战。

……

为解决以上问题,需红B再次发送对“确认的确认”的确认报文,但这同样会导致相同的问题,无限循环下去。

总结

在不可靠通信信道上无法设计出一种完全可靠的通信协议,因为对最后一次确认报文的发送,发送方无法知晓接收方是否收到,因而发送方无法判定约定是否有效。

红军协同对抗蓝军问题相关推荐

  1. “华为杯”第十七届中国研究生 数学建模竞赛-【华为杯】D题:无人机集群协同对抗(附优秀论文及python代码实现)

    目录 摘 要: 1 问题重述 1.1 问题背景 1.2.1 问题一:逃逸区与最优突防策略求解

  2. 2020年中国研究生数学建模竞赛D题——无人机集群协同对抗

  3. “华为杯”研究生数学建模竞赛2020年-【华为杯】D题:无人机集群协同对抗(附优秀论文及MATLAB代码)

    目录 摘 要: 一.问题重述 1.1 研究背景 1.2 已知信息 1.3 问题描述 二.模型假设</

  4. 智能集群理论优化控制_无人机集群对抗研究的关键问题

    1)无人机集群协同对抗演化过程机理及其表述.由于集群对抗中信息的多元化和不完全.不确定性,对抗系统是一个复杂的动态随机过程,空战对抗态势随着时空不断演化,每个无人机作为一个智能体必须依据不断变化的态势 ...

  5. 汽车和山羊问题matlab仿真_Matlab----无人机集群对抗中的关键问题和仿真平台(开发中)案例...

    无人机集群对抗,是自动驾驶中路径规划的新问题,并且连续两年出现在最近的中国大学生数学建模竞赛中.可见,这是一个急需解决的数学问题(体现了官方的军事战略意志),同时,还没有成熟解决方案的问题. 本人在自 ...

  6. 可信安全网络 —— 安全左移之DDoS对抗

    文|宙斯盾DDoS防护团队 Rains DDoS的开始 互联网对人类文明的进步影响,不亚于蒸汽机发明对人类文明的影响. 当人们享受着网络技术进步给生活带来的便利时,也经历了由于底层协议在设计之初对安全 ...

  7. ISME | 根内生真菌与来自拟南芥和大麦微生物群落协同有益作用

    题目:The fungal root endophyte Serendipita vermifera displays inter-kingdom synergistic beneficial eff ...

  8. goldendb与mysql_GoldenDB ,一个已经全面支撑银行核心系统的国产数据库

    摘要:沿用.并存还是替代,一直是银行核心系统数据库转型重点思考的问题.四大行目前主要采用的是沿用与并存的数据库产品战略,在确保稳定的大前提下对新兴数据库技术进行探索研究和实践.相对而言,股份制银行在这 ...

  9. 阿里巴巴为何坚持对混沌工程的研发迭代?

    "阿里巴巴技术团队对混沌工程的研发迭代持续了数年,对于这一技术,阿里为什么如此坚持?" 2010 年底,Netflix 向全世界推出 Chaos Monkey (混乱猴子),该技术 ...

  10. 『功守道』软件供应链安全大赛·C源代码赛季启示录

    背景 软件供应链安全,这可以说是一个新近的人造的概念热词.泛泛来讲,如今的软件系统中任何一方都不是孤立的:套用到企业的场景,就有了供应链的概念. 以典型互联网企业为例.线上生产环境所依赖的操所系统,配 ...

最新文章

  1. 电脑编程教学_“人工智能”将无处不在,我的孩子要不要学习电脑编程?
  2. unity判断鼠标移动方向_【反向元气骑士】用unity实现俯视角射击是一种怎样的体验...
  3. 0/1背包问题——动态规划方法
  4. solaris下同一机器2个实例之间切换
  5. 51Nod 1050 循环数组最大子段和
  6. Java面向对象练习题之字母输出
  7. mysql命令行执行外部文件
  8. Asp.Net操作Cookie总结
  9. localStorage.getItem 往浏览器里面储存数据到本地localStorage
  10. 1-3.Win10系统利用Pycharm社区版安装Django搭建一个简单Python Web项目的步骤之三
  11. 修改Yarn的全局安装和缓存位置
  12. 后台数据库优化——板机
  13. AcWing.282石子合并(区间DP)题解
  14. Javadoc注释的用法
  15. linux 主机管理平台,Linux虚拟主机管理系统directadmin使用中文教程
  16. java 保存文件 中文乱码_java文件中文乱码问题
  17. 数据采集 - 获取【码市】最新发布需求,并实时通知用户 案例二
  18. Vue2学习笔记1 - win10下安装vue开发环境
  19. 我们进入微服务世界的旅程-以及我们从中学到的东西。
  20. IC卡数据编辑分析软件-M1卡分析助手

热门文章

  1. 为什么会有这么多种Python?
  2. 薛兆丰经济学课 1-1 人性与稀缺:经济学视角
  3. 思科路由器如何导出配置文件_备份cisco路由器配置文件
  4. xp系统计算机蓝屏,xp系统电脑一直蓝屏重启循环的原因和解决方法
  5. Glassfish的安装与使用
  6. 如何安装Aptana
  7. 开年工作重点:帮助同事找到工作的价值
  8. linux无线usb网卡,linux usb 无线网卡
  9. 收集的13个杀毒软件和安全防护软件(有图哦)
  10. openbsd_仔细看一下OpenBSD