ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

为什么 TCP 隧道在物联网中很重要

2021-07-16 16:57:49  阅读:224  来源: 互联网

标签:隧道 IoT TCP 联网 客户端 连接 设备


我们都看过经典的电影场景。警方已经追踪到坏人的电话,他们准备冲进房间。枪支已准备就绪,紧张局势加剧,执法人员破门而入——却发现两部电话已连接,麦克风对扬声器和扬声器对麦克风,传达了罪犯的要求。

这不仅是经典的电影比喻,而且还是 TCP 隧道的一个简单示例。让我们探讨一下这是什么以及为什么它是现代物联网的一个重要概念。

回归本源

让我们退后一步解释这里发生的事情。首先,互联网上的大多数服务使用传输控制协议 (TCP) 连接作为客户端和服务器程序之间通信的方式。TCP 连接就像电话连接一样,一旦“呼叫”被连接,就可以通过对着麦克风说话(电话的输入通道)并激活另一端的扬声器(输出接收端的通道)。同样,情况正好相反。

为了完成电话类比,请考虑可以像使用分机号码拨打电话一样创建 TCP 连接。与电话号码一样,TCP 连接使用 IP 地址和分机号码连接到服务器的 IP 地址(电话号码)和正确的端口(分机)。例如,当有人请求一个网页时,浏览器会打开一个到 IP 地址指定的网络服务器的 TCP 连接。再次,将其视为电话对话,然后浏览器“说话”到 TCP“麦克风”以请求特定页面,然后将其传输到网络服务器端的接收器。然后网络服务器定位网页并将其传输回浏览器以“收听”,这意味着它会显示用户的数据。很简单吧?这就是为什么在如此多的客户端/服务器应用程序中使用 TCP 来请求和接收数据的原因。

TCP隧道图1

IoT 中典型的 TCP 客户端/服务器应用程序,例如连接到 IoT 设备(服务器)的智能手机应用程序(客户端)。这种连接类似于电话交谈。(来源:Nabto)

防火墙的连接问题

但有一个问题。假设您想使用 TCP 隧道在 IoT 中创建客户端/服务器应用程序,例如连接到 IoT 设备(服务器)的智能手机应用程序(客户端)。不幸的是,实现这一目标说起来容易做起来难。

为什么?好吧,如果智能手机和物联网设备位于以 WIFI 显示的同一局域网上,那么应该没有问题,因为建立连接只是智能手机定位物联网设备 IP 地址的问题。但这并不是很有用,就像您与 IoT 设备位于同一建筑物中一样,您可以直接前往设备并与之交互。

另一方面,如果您远程操作,您的智能手机(和您)将位于局域网之外,这意味着建立连接更加困难,因为您的家庭网络防火墙会阻止来自网络外部的连接. 当然,您可以为此类连接打开防火墙,也可以将 IoT 设备置于防火墙之外的可公开访问的 IP 地址上。但是,不建议这样做,因为您的 IoT 设备可能容易受到来自整个互联网的攻击。

TCP隧道图2

家庭网络防火墙可能会阻止来自外部的连接,使远程客户端难以从 IoT 设备读取数据;并且为物联网设备打开防火墙不是一种选择,因为它很容易受到黑客攻击。(来源:Nabto)

使用 TCP 隧道寻找出路

物联网开发人员的问题就变成了:我们如何才能通过防火墙连接到外部世界?我们如何以安全的方式这样做?这两个问题的答案是带有嵌入式中继的 TCP 隧道。该解决方案允许设备保持在防火墙之后,同时安全地跨公共渠道进行通信。此外,通过中间的中继,这些通信可以作为额外的预防措施进行加密和验证。TCP 隧道通过在客户端运行一个小程序来工作,该程序对 TCP 连接/请求开放。它看起来像这样。隧道接收端连接到运行在物联网设备上的隧道调度端程序。一旦隧道调度员收到这样的“外展,”它将创建到数据应用物联网设备的 TCP 连接,隧道接收器和隧道调度器将在两个连接之间接收和转发数据。对于 TCP 客户端,它看起来好像 TCP 服务器端在本地运行,而对于 TCP 服务器端应用程序,它看起来就像一个客户端连接到本地。

TCP 隧道图 2

TCP 隧道通过在客户端运行一个小程序来工作,该程序对 TCP 连接/请求开放。(来源:Nabto)

另一个功能是,如果您认为本地连接是安全的,则隧道可以变得非常安全,例如程序之间发生在手机或物联网设备内部的连接。隧道接收器和隧道调度器之间的连接可以使用证书进行强身份验证,同样,可以通过加密保护隐私。这对于携带敏感或私人数据的设备尤其重要,例如网络摄像头或可穿戴设备。

例如,在视频设备中,TCP 隧道通常用于在现有视频播放器客户端和 TCP 视频流服务(例如 IP 摄像机上的 RTSP 服务器)之间发送和接收图像。同时,对现有 HTTP 服务的安全远程访问在提供对管理应用程序的远程访问方面很受欢迎。我个人非常喜欢这个解决方案及其简单性。客户端或服务器端都无需进行任何调整——相反,当客户端实际与隧道调度程序进行通信时,它会相信它正在与本地服务器进行通信。实际上,TCP 隧道的这种简单“魔法”允许物联网设备从安全位置与外部世界连接。

相关实战:https://www.yunduoketang.com/article/spwangkerj.html
https://www.yunduoketang.com/article/zhibojiaoxue2.html
https://www.yunduoketang.com/article/wxwnagxiaopt1.html
https://www.yunduoketang.com/article/zhiboshangkerj01.html
https://www.yunduoketang.com/article/xspeixunrj.html

标签:隧道,IoT,TCP,联网,客户端,连接,设备
来源: https://blog.csdn.net/lyfwx/article/details/118807809

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有