【问题标题】:Understanding CoAP proxies了解 CoAP 代理
【发布时间】:2019-12-23 10:16:39
【问题描述】:

根据 CoAP 规范RFC7252 第 5.7 节,存在两种类型的 CoAP 代理,即正向代理和反向代理。 与此定义正交的代理可以是 CoAP-CoAP 或 HTTP-CoAP 代理。

根据这些定义,我有以下问题:

  1. 在哪些用例中必须使用这些代理类型(正向代理、反向代理、CoAP-CoAP 和 HTTP-CoAP)?
  2. 这些用例中的代理究竟是什么?
  3. 每个代理需要 CoAP 消息的哪一部分来完成其任务? (我假设代理会考虑一些 CoAP 选项?)
  4. 代理在哪里运行?在边界路由器上?

如果有人可以提供除了上述问题的答案之外,还可以提供良好的敬意和例子。

【问题讨论】:

    标签: proxy reverse-proxy coap


    【解决方案1】:
    1. 代理时间的一些用例是:

      • 转发代理:逃避限制性防火墙(例如,因为传出连接被阻止,除非它们通过代理);当 CoAP-over-WebSocket 服务器用作转发代理时,一种特殊情况是从浏览器中访问 CoAP 上的资源。
      • 反向代理:与正向代理大致相同,但方向相反(即,如果服务器位于防火墙网络中,则可以在防火墙上运行反向代理,选择性地允许请求进入)。此外,反向代理可用于不受约束的服务器端的负载平衡。
      • HTTP-CoAP-proxies:从不具备良好 CoAP 支持的编程环境访问 CoAP 设备(例如,如果您的监控系统支持轮询 HTTP 服务器,则 H-C 代理可以轻松监控您的 CoAP 服务器)。
      • CoAP-HTTP 代理:使大型网络上的服务可用于受限设备(例如查询天气预报)。这通常用途有限,因为这些网络服务不使用适合受限设备的数据格式。
    2. 这在不同情况下几乎没有变化;除了显而易见的(交叉代理来回转换 CoAP 和 HTTP 消息)之外,正向和反向代理的区别仅在于它们是对带有 Proxy-* 选项(通常是 Proxy-Scheme)集的消息(正向代理)做出反应,还是对那些没有(反向代理)。

    3. 所有代理都需要检查完整的消息(即所有标头字段并查看所有选项)。大多数标头字段(令牌、消息 ID、mtype 在某种程度上)和几个选项(例如观察)是逐跳的,即。服务器对它们进行操作并为转发的请求创建新值。如果消息中有任何代理需要理解但没有理解的内容(即未知的代理不安全选项),它会拒绝转发。

    4. 这完全取决于应用程序,但在大多数常见示例中,这将是某种边界路由器;可以是 6LoWPAN 场景中的 6LBR,也可以是更大设置的防火墙。在 CoAP-over-WebSocket 端点和 CoAP 世界的其他部分之间进行路由的情况下,CoAP-over-WebSocket 服务器通常运行在同一台机器上,该机器还为使用套接字的 Web 应用程序提供服务。

      李>

    【讨论】:

    • 正如修正:还有一个额外的RFC 8075,它也解释了代理周围的很多事情。还有一个在 gcloud 中设置代理的教程gcloud coap2http
    • CoAP 到 CoAP 代理的目的是什么?是回答来自缓存的请求,还是还有其他适用于 CoAP 到 CoAP 代理的用例?
    • 您可以从 Intranet coap 切换到 Internet coaps(为从代理到 Internet coap 端点的传输添加加密)。或者作为从 coap 切换到 coap 的反向代理(在这样的反向代理处终止 DTLS),也许是为了负载平衡。但我不确定这些用例有多普遍。
    • CoAP-CoAP 代理的另一个用例(与缓存相关但不完全相同)是负责在有损链路上进行重传,并在大消息中调整块大小(如果这样做可以避免的话)是链路层碎片。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 2017-03-29
    • 2018-08-08
    • 2018-01-14
    • 1970-01-01
    相关资源
    最近更新 更多