《拥抱机器人时代——Servo杂志中文精华合集》——4.4 理解网络连接

简介:

本节书摘来异步社区《拥抱机器人时代——Servo杂志中文精华合集》一书中的第4章,第4.4节,作者:美国Servo杂志,更多章节内容可以访问云栖社区“异步社区”公众号查看

4.4 理解网络连接

对于物联网中每个需要与其他设备通信的设备,都必须通过某种网络连接。当两个及以上的设备相互连接就形成了网络,通常是为了传输或分享数据或别的什么通信目的。

当我们讨论物联网的时候,网络连接一般是无线的。这主要是出于实践上的考虑,因为用电线彼此连接数以亿万计的智能设备会很困难,甚至是根本不可能的。如果用无线方式把设备彼此连接、连接到中心集线器或者连接到互联网,那就相对容易得多。

4.4.1 传统的网络如何工作

在传统的网络中,无论是无线还是有线,一般每个设备都不是直接与其他设备连接的。这就是说,你起居室的电脑不是直接和你办公室的那个电脑通信的,你的智能手机也不是和你用于上网的调制解调器直接相连的。

相反,网络中的每个设备都是直接连接到一个叫做路由器的中心集线器的。如图4.3所示,所有需要发送的数据通过一个个路由器逐级到达另一个设备或者互联网。(假设路由器本身就连接到互联网,一般是通过某种调制解调器连接。)有些人管这个叫做中心辐射模式,这也正是今天多数家庭和办公室中所采用的模式。

4d12977eb8694c5f71d9ac941106d0cd47e6896f

4.4.2 通过网络传输数据

为了方便传输,数据是切割成碎片然后通过网络传输的。当你发送一个文件到一个网络上或者给互联网上的另一个设备的时候,整个文件并不是一下子传输过去的。相反地,这个文件被分割成很多小数据包,以防止在传输大量的数据的时候阻塞连接。数据包最后会在某个合适的网络设备上组装起来,如图4.4所示。

为了完成这种解包/传输/组装的过程,所有的网络硬件必须一同遵照一种预先定义的网络传输协议。这些规则决定了数据是如何通过网络传输的。

今天事实上的标准,无论是互联网还是局域网(LAN)连接,都使用TCP/IP(Transmission Control Protocol/ Internet Protocol)。这个协议中的IP部分提供了控制数据包在从一个网络路由到另一个网路的标准规则集。而这个协议中的TCP部分支持了两个设备之间的通信部分;它处理网络信息并将其翻译成你的网络可以理解的形式。换句话说,IP设定了规则而TCP翻译了那些规则。

94e6cb06a9be69005806461adeaf5ff9529a4971

这就是实际的情况。我们假设一个场景,即你想从你家庭办公室的电脑复制一份文件到你家里的电脑。当你点击了“复制”按钮,TCP建立了两台电脑之间的连接,然后IP执行这些通信规则并连接两台电脑的端口。因为TCP已经为传输准备了数据,IP就处理这个文件,将其分割成小块(数据包),并把每个数据包添加一个包头,以便确保它能找到该去的地方。TCP数据包也会被打上标签,标明它所携带的数据的类型和包的大小。

下一步,IP把数据包转换成一种标准形式并从第一台电脑发送到第二台电脑。当第二台电脑收到数据包之后,TCP按照包的原始形态翻译出来并把所有的数据包组合成一个文件。

4.4.3 理解IP地址

为了实现TCP/IP,网络中的每个设备都需要根据恰当的信息正确地配置。特别是,每个设备都需要分配一个本地的IP地址,以便让网络来认识这个设备。

一个IP地址就是一个数字的标签,有点类似街道门牌号码,但是全都是数字的。在今天的互联网上,一个IP地址是一个32位的数字,用一种“点+地址”的方式表述,即四组被点分隔的数字,比如:

192.106.126.193

每个十进制数字代表一串八个二进制数字——0和1。地址的第一部分代表网络地址,而随后的部分代表本地设备的地址(也叫做主机地址)。

一个路由器如果要明白需要将哪个数据传输到哪个设备上,就必须用到IP地址。如图4.5所示,TCP/IP向路由器广播数据,用特定的IP地址来区分数据的接收者。路由器读到IP地址然后转发这个数据到这个地址的计算机上。

98c4956ac2416c5fe6d214257d69f05477b2104b

连接到今天的互联网上的每个服务器或设备都会被分配一个自己的IP地址。在未来的物联网世界里,每个单一的设备,不管多小,也必须要被分配IP地址。

这就产生了一个问题,由于需要联网的设备数量巨大,很容易就将超过可用的IP地址数量——至少在当前的IPv4(也就是IP协议的第4版)中是这样。IPv4提供了大约43亿的唯一地址,其中的大部分已经被分配给了已有设备。

解决方案就是尽快普及下一代互联网协议,IPv6。(你没看错,它直接从第4版跳到了第6版。)这个协议扩充到了理论上多达340个100万的11次幂的地址——也就是340个千亿的千亿的千亿,远远超过所有可能的物联网设备所需要的地址。有理由相信,没有IPv6,物联网是不可能实现充分部署的。

注意

IPv6是通过把32位的地址扩展到128位来获得更多的地址的。这就像把3位的十进制数字变成了12位的十进制数据——当你采用更多位数的时候肯定会得到更多可能的数字。

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
机器人 API 数据格式
独家 | 手把手教你创建聊天机器人来协助网络运营(附代码)
在本教程中,我们将了解如何利用聊天机器人来协助网络运营。随着我们向智能化运营迈进,另一个需要关注的领域是移动性。
931 0
|
机器人
基于树莓派的FRILLER多地形机器人【MagPi杂志74期14-15页】
MagPi74_14 zh.jpg MagPi74_15 zh.jpg MagPi74_14_en.jpg MagPi74_15_en.jpg
957 1
|
机器学习/深度学习 算法 机器人
|
人工智能 自然语言处理 搜索推荐