P2P 技术在物联网中的应用
扫描二维码
随时随地手机看文章
引 言
在现今的生活中,物联网的应用越来越多,智能化的物联网产物越来越深入人们的生活。而在应用的过程中,传输的安全、传输的方式也得到了发展。物联网(IoT)的概念是美国麻省理工学院(MIT)在 1999 年提出,而在 2008 年底, 在 IBM 向美国政府提出“智慧地球”战略后,物联网很快引起了许多国家的高度关注 [1]。这种旨在使万事万物皆可互联互通的概念让世界信息产业获得了又一次浪潮。
P2P(Peer-to-Peer)网络结构是一种端到端的网络互联结构,这种去中心化的网络架构在现今物联网应用中的优势十分明显。以即时通信为例 :利用 P2P 网络架构在物联网中使用视频与语音通信的方式,延时小、可靠性高、安全性高。
将这两种技术特点综合到一起应用至树莓派中以音视频传输场景为原型形成人与物之间的通信交流。物联网作为互联网中的延伸可以应用在多种设备中实现数据的传输与交换,P2P 技术旨在实现端到端的网络通信,后者应用在前者中可以实现更好的应用功能。
1 物联网的概念与特点
根据物联网的概念,大家可以把它想象成万物之间沟通的桥梁。物联网是建立在互联网基础上并不断延伸和扩展的网络,即用户端延伸和扩展到了任何现实和可能的物品与物品之间,能进行实时的、准确的信息交换和通信。一些学者按照物联网的服务流程及各子系统所实现的主要功能将整个系统分为感知、传输、处理三个主要环节,据此将物联网网络架构分为感知层、网络层和应用层 [2]。国际电信联盟(ITU-T)定义了 IoT通用参考模型,该模型由设备层、网络层、应用层及与之相关的管理和安全构成。设备层用以识别、采集、捕获,网络层依赖各类网络的相关控制与传送,连接业务支持和应用支持层。图 1 为物联网参考构架图 [3]。
本文把物联网的应用过程总结为两个字—随时。为什么说是“随时”呢?从概念上看,物联网主要实现物与物、人与物之间的关系。从结构上看物联网的三种层次都围绕采集、识别和捕获。这些都需要随时使用,实现物与物、人与物的随时交流。
2 P2P 网络的概念与特点
点对点网络或称对等计算机网络,是一种分布式应用程序体系结构,用于在点之间分配任务和工作负载,它是应用层中对等计算模型形成的网络或网络形式。通过这个概念可以建立起如图 2 所示的网络拓扑图 [4]。
图 2 P2P 网络拓扑图
图中,把每一个用户(peer)当作一个节点,每一个节点在这个网络架构中都是地位相等的,每一个节点都是服务器(server)和用户(user),每一个节点都是在网络架构中提供服务和内容。两个节点之间的消息或资源联系不需要经 过中心服务器或其他节点,保证了即时和安全。这么做首先 避免了在传统网络架构中可能出现的性能或网络带宽瓶颈 ; 其次,在整个网络体系结构中,不仅会有用户对服务的需求 增加,在总体上,系统资源和服务能力也在同步扩展,总是 很容易满足用户的需求。所以理论上,它的扩展性几乎可以 认为是无限的。那么在整个网络架构中由于没有中心节点的 存在,当出现攻击者攻击其中一个节点时,其他节点不会因 为其中一个节点的攻破而全部暴露在攻击者面前,保证了整 个网络架构的安全性 [4]。在网络中,当对用户提供 Web服务时,一定会遇到在访问量高峰时段的高并发的时候,用户请 求数较多但一台服务器(server)无法同时处理这么多请求时, 一定会搭建部署负载均衡以平分大批量请求数的状态下,用 多台服务器平分处理巨大的数据量压力。结合 P2P网络拓扑结构和定义可以形成一个网络的负载均衡。
3 在现今网络应用环境中所需解决的通信问题
现今的网络通信协议中,首先要研究两种协议 :UDP 协议和 TCP/IP 协议中的通信过程和特点。其中,UDP 协议中的 UDT 协议使安全性和可靠性大大增强 ;TCP/IP 协议的可靠性优势与 UDP 协议对传输要求较高的应用场景十分有优势。因其各有特点,所以它们被应用于不同的网络协议中。P2P 网络结构应用在物联网中需要 TCP/IP 的可靠性和 UDP 在传输上的优势,以音视频使用 P2P 架构传输在物联网中应用为例,音视频传输需要的传输性能较高,在人与物、物与物之间传输也需要较好的安全性。所以两种协议各有用处。
其次, 在 IPv4 中为缓解 ip 地址短缺的问题而出现了NAT 网络地址转换技术,但私网地址,如 192 等网段无法在公网上使用,需要做 NAT 穿透。
在 P2P 网络中可以通过公共节点的方式获取在内网中的设备,在外网的 IP 及端口,内网节点通过公共节点连接至其他节点或网络(其他节点或网路连接至内网节点)实现内网穿透。
4 以利用 WebRTC技术在树莓派上应用为例
WebRTC 技术是一种基于浏览器的多媒体实时通信技术 [5]。这种技术最大的特点是可在不安装任何扩展和插件的前提下实现点对点的实时通信,十分适合在实时的物联网视频监控中应用。将 WebRTC 技术总体的 3 个部分以不同端口运行的方法部署在一台树莓派中进行连接测试应用。
在树莓派上安装支持 ARM 指令集的 Raspbian 系统,远程桌面截图如图 3 所示。
图 3 远程桌面截图
安装 nginx,并设置端口为 8080,如图 4 所示。
图 4 nginx
配置文件 nginx.conf 时,在 HTML 内添加如图 5 所示的代码用以解析 https。
图 5 https 解析
修改 WebRTC 信令服务器配置文件如图 6 所示。重新编译信令服务器并开启 https 如图 7 所示。
树莓派上测试的摄像头开启标识为 video0:/dec/video0 open。
视频流上传模块位于树莓派上,将获得的视频流进行处理并每 5s保存为一个视频文件。在两端连接后形成音视频交换。在传输的过程中,为了保证传输和通信质量,还需要做对音频的降噪处理。这样在整个网络中形成如图 8所示的结构。
5 结 语
音视频传播在 P2P 网络结构中有着十分显著的优势,而在物联网中也能得到良好应用,比如在温室大棚监控、无人机植保等应用中有着显著效果 ;无人机植保中,需要大量人力操作无人机,如把无人机当作物联网中的一个节点的话,连接至一树莓派,飞手可通过 Web 端或客户端同时协助多个无人机同时作业,既可以缓解现今无人机飞手较少,需求却较大的问题,也可以加快物联网在现今的推广和普及。