RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1040685
Accepted
Andrew Kachalin
Andrew Kachalin
Asked:2020-10-31 15:35:24 +0000 UTC2020-10-31 15:35:24 +0000 UTC 2020-10-31 15:35:24 +0000 UTC

带文件的快递员是数据传输协议吗?

  • 772

当局派我的同事康斯坦丁带着他必须提供的文件到附近的大楼。

问题:从信息论和其他计算机科学的角度来看,我们是否可以将康斯坦丁视为一种数据传输协议,将他周围的街道(在运动过程中)的寒冷视为一种信息传播媒介?

PS。这个问题不是为了好玩,我正在为计算机科学中的傻瓜编写培训手册。

теория
  • 4 4 个回答
  • 10 Views

4 个回答

  • Voted
  1. Best Answer
    Pavel Mayorov
    2020-10-31T16:35:57Z2020-10-31T16:35:57Z

    当然,特定的信使康斯坦丁不是一个协议。甚至抽象的信使也不是协议。协议不是一个物理实体,它是一个过程的描述,一个通用的算法。

    下面我更详细地考虑了这个堆栈中不同级别的协议的外观。


    物理层面。快递如何传递文件?

    1. 导演打电话给快递
    2. 主任将文件交给快递员
    3. 快递员到下一个建筑物到文件的收件人
    4. 快递员将文件交给收件人
    5. 收件人对快递员说“谢谢”(或“好吧,终于”)并拿起文件

    让我们尝试推广这个算法,去掉过于具体的步骤。收件人是否对导演如何将文件交给快递员感兴趣?不,他只对文件本身感兴趣。主管是否对收件人如何获取文件感兴趣?不,他只关心收件人收到它们。

    算法保留以下内容:“快递员拿走文件并将其交给收件人,然后将其交给收件人”。这是物理层协议。

    那么,在这个类比中,快递员是什么?这里的快递是星期三。携带信息的东西。


    现在是通道层。链路层控制对介质的访问。链路层协议包括调用courier的算法,其中需要提供“如果courier忙怎么办”的情况(导演可以等待或指定其他人作为courier - 在第二种情况下,传输媒介将是许多信使),“如果信使试图发送的不是导演而是其他人怎么办”或“信使如何识别收件人”(是的,这个未来的协议栈在数据链路上提供授权层!)


    网络和传输层。在您的示例中,未提供这些级别,因为快递员基本相同。但是,您可以考虑另一个示例,其中一位快递员将文件转移到另一位快递员甚至去邮局。这将是网络层协议。传输层协议将负责确认交付(或不确认,请参阅 UDP)


    应用层。此级别描述了传输文档的格式。

    • 10
  2. Streletz
    2020-10-31T15:44:08Z2020-10-31T15:44:08Z

    不,我们不可以。

    协议更像是一种以某种方式传输信息的协议。由快递员发送文件的协议是一种协议。您的 Konstantin 是他的具体实现(可能的实现之一)。街 - 星期三。冷是环境的参数之一。

    像这样的东西...

    • 5
  3. Denis I
    2020-10-31T15:55:04Z2020-10-31T15:55:04Z

    如果我们考虑 OSI 模型,那么

    1. 物理层(快递员移动的地方)城市、地区、宇宙

    2. 通道(从哪里到哪里) 街道、建筑物或办公室

    3. 网络(移动数据包的方法)Courier

    4. 运输(可靠性和交货速度) 他的投资组合

    5. 会议(拿去交给我,报告给我) 秘书

    6. 代表人(密件装在信封里送) 董事

    7. 应聘(我会做一个文件,然后寄到你想要的地方) 总会计师

    • 1
  4. Stanislav Pechezerov
    2020-11-20T03:54:00Z2020-11-20T03:54:00Z

    协议(任何级别)是一种数据传输方法,包括使用 Konstantin 的方法。如果康斯坦丁遵守一套严格的规则,并且他参与交换过程得到了发送方和接收方的同意,那么它可以被认为是一个协议。

    在 OSI 模型的上下文中,Courier Konstantin 当然在传输协议级别执行其功能,即确保从发送者到接收者的可靠数据传输。

    考虑整个交换链:

    想象一下,某位秘书(当然是在表现层工作的)把从应用层收到的以手册形式(报告、资金、合同等)的数据小心地密封在一个信封中,然后将它们传送出去作为对康斯坦丁的一项任务,她以前曾与康斯坦丁见过面,甚至可能计划在他在公司工作期间保持长期的友谊(可以这么说,在会议级别)。

    Kostya 完全不知道他发送信息的目的,但他对此不感兴趣。他把它们裹在外套里,这样带有谴责和诽谤同事的包裹就不会被弄湿,也不会因为落在圣彼得堡的倾盆大雨下而呈现出猥亵的样子)。而且康斯坦丁会在他进入目的地干燥温暖的房间之前将这个包裹拿走,放心。

    不,当然,他们可以强迫他脱衣服,甚至可以在地铁口接受检查,但沿途没有人可以看信封里面——毕竟文件是密封的,你可以打印出来只有撕开信封。

    在交付过程中,他使用有关最终目的地坐标的提示,这些提示以一组地址的形式包含在网络上,每个地址都分配到一个单独的建筑物或办公室。如果康斯坦丁在出发前没有找到目的地的确切位置,他将不得不将自己埋在该地区的地图中(“包裹自己”),并沿着路径不断检查其内容。

    康斯坦丁也有一些典型的传输层问题:

    它的可靠性值得怀疑:可能需要确认以确认它已成功将数据传送到最终目的地。但通常,由于高昂的间接成本,公司会在此类确认中加入螺栓,因为在工作日丢失 Konstantins 的比例通常是微不足道的。

    Konstantin 是否保证收件人接收发送数据的正确顺序?当然,是的。通常,康斯坦丁的下一个任务只有在他回到起点后才会发布。如果康斯坦丁突然失踪,公司内部完善的文件交换机制将被中断,但不会持续太久。迷人的秘书将不得不再次起草订单,但已经将其转移给另一位快递员。并且交换过程将重新开始。

    我还注意到,康斯坦丁可以沿其移动的所有城市交通、人行道、走廊以及可用于交付的部分(城市、地区或大公司的校园)的其他渠道基础设施,都被他用于数据传递。其中,顺便说一句,可能有桥梁;) 在 OSI 模型中,它们在数据链路层的工作方式相同。

    在这种情况下,较低的物理协议是什么?空气、城市、宇宙本身都没有传播信号,也就是说,它们当然是环境,但物理层面的协议却不是。我将协议称为从发送者到接收者的物理移动,因为正是这个过程构成了信息传输的基础。

    所以,我总结一下 - 使用 Konstantin 发送消息是使用类似快递的交换协议的一个明显例子。

    • 1

相关问题

  • 什么是“递归编程”?

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    根据浏览器窗口的大小调整背景图案的大小

    • 2 个回答
  • Marko Smith

    理解for循环的执行逻辑

    • 1 个回答
  • Marko Smith

    复制动态数组时出错(C++)

    • 1 个回答
  • Marko Smith

    Or and If,elif,else 构造[重复]

    • 1 个回答
  • Marko Smith

    如何构建支持 x64 的 APK

    • 1 个回答
  • Marko Smith

    如何使按钮的输入宽度?

    • 2 个回答
  • Marko Smith

    如何显示对象变量的名称?

    • 3 个回答
  • Marko Smith

    如何循环一个函数?

    • 1 个回答
  • Marko Smith

    LOWORD 宏有什么作用?

    • 2 个回答
  • Marko Smith

    从字符串的开头删除直到并包括一个字符

    • 2 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5