物联网各层协议的演变关系(物理层、连接层、网络层、传输层、应用层)

摘自《树莓派开始,玩转Linux》,我觉得这个作者对于物理层、连接层、网络层、传输层、应用层的解释很好接受,就摘抄过来,自己做个记录,同时建议刚开始学习树莓派的新人可以读一下这本书,真的很不错。
ps:侵权联系删除
1.物理层
计算机的基础协议在通信的物理介质。
所谓的物理层(Physical Layer),是指光纤、电缆或者电磁波等真实存在的物理媒介。这些媒介可以传送物理信号,比如亮度、电压、振幅。计算机底层的信息是二进制码,用0和1构成的序列就可以代表信息,因此在物理层只需要约定两种物理信号来分别表示0和1即可,比如用高电压表示1,低电压表示0。从物理信号到二进制的约定就构成了物理层协议。针对特定的媒介,电脑可以有相应的接口,用来接收物理信号。随后计算机将利用相应的物理层协议,把物理信号解读成二进制序列。
2.连接层
连续的二进制序列就像没有标点的文言文一样让人头脑发昏。在连接层(Link Layer),我们把二进制序列分割成帧(Frame)。所谓的帧,是一段有限的二进制序列。连接层协议能帮助计算机识别二进制序列中所包含的帧。它规定特殊的0/1组合来作为帧的起始和结束。连接层协议还规定了帧的格式。帧中包含有收信地址(SRC, Source)和送信地址(DST, Destination),还有能够探测错误的校验序列(Frame Check Sequence)。
当然,帧中最重要的是所要传输的数据。帧就像是一个信封,把数据包裹起来。以太网(Ethernet)和Wi-Fi是现在最常见的连接层协议,分别用于有线网络和无线网络。树莓派的网口通信用的是以太网协议,而无线Wi-Fi用的自然就是Wi-Fi协议。因此,树莓派至少有两种方式接入网络。相应的,树莓派上也有两个网络接口控制器(NIC, Network Interface Controller),也就是所谓的“网卡”。
这两个网卡分别使用以太协议和Wi-Fi协议进行通信。通过连接层协议,我们可以指定帧的收信地址,从而把信息传递给其他的计算机设备。但遗憾的是,帧的收信地址只能是本地局域网内的。因此,连接层更像是一个社区的邮差,他认识社区中的每一户人家。社区中的每个人都可以将一封信,也就是一帧交给他。邮差把信送给同一社区的另一户人家。更远距离的通信还需要在更高的网络层实现。
3.网络层
网络层(Network Layer)的目的是让不同的社区之间通信。比如,让Wi-Fi局域网上的一台计算机和以太局域网上的另一台计算机通信,就需要一个“中间人”。
这个“中间人”必须有以下功能。
(1)能从物理层上为两个网络接收和发送0/1序列。
(2)能同时理解两种网络的帧格式。
路由器(Router)就是为此而产生的“中间人”设备。一个路由器有多个网,因此路由器可以同时接入多个网络,并理解相应的连接层协议。在帧经过路由到达另一个网络的时候,路由会读取帧的信息,并改写以发送到另一个网络。所以路由器就像是在两个社区都有分支的邮局。
一个社区的邮差将信送到本社区的邮局分支,而邮局会通过自己在另一个社区的分支将信转交给另一个社区的邮差手中,并由另一个社区的邮差送到目的地。
由于树莓派上有多个网卡,它也可以充当一个路由器。我们说过,连接层的帧中只能记录本地的送信地址,如“第一条街第三座房子”或者“中心十字路口拐角的小房子”这样一些本地人才知道的地址描述。邮局收到这样的信件就傻眼了,这是要送到纽约还是东京。邮局只能抱着侥幸心理读一下信——也就是帧的数据部分。邮局发现,送信人居然也懂IP协议,在信的开头写上标准的邮编——IP地址。
如果目的地社区也归这个邮局管,那么邮局工作人员就把信重新装到一个新的信封中,写上对应的本地地址,交给那个社区的邮差。然而,IP地址也可能不在邮局的管辖范围内。邮局会把信件转交到其他邮局。有时候一封信要通过多个邮局转交,才能最终到达目的地,这个过程叫作路由(Route)。邮局将分离的局域网络连接成了覆盖全球的互联网。
4.传输层
上面的三层协议让不同的计算机之间可以通信。但计算机中实际上有多个运行着的程序,也就是所谓的进程。
每个进程都可能有通信需求。这就好像一所房子里住了好几个人。如何让信准确送到某个人手里呢?遵照与之前相同的逻辑,在网络层协议的数据部分增加传输层(Transport Layer)信息。我在信纸上增加新的信息,也就是收信人的姓名。
大楼管理员从邮差手中接过信,会根据收信人,将信送给房子中的某个人。传输层协议,比如TCP协议和UDP协议,都使用端口号(Port Number)来识别收信人。在写信的时候,我们写上目的地的端口。当信到达目的地的管理员手中后,他会根据传输层协议,识别端口号,将信送给不同的人。
TCP和UDP协议是两种不同的传输层协议。UDP协议类似于信件交流过程,一封信包含所有的信息。TCP协议则好像两个情人间的频繁通话。他们要表达的感情太多,以至于连续的发信。另一方必须将这些信按顺序排列起来,才能看明白全部的意思。
此外,TCP协议还能控制网络交通,避免网络阻塞。由于完善的功能,TCP也成了最常用的传输层协议。
5.应用层
通过上面的几层协议,我们已经可以在任意两个进程之间进行通信。然而,在应用层(Application Layer)上,还可以有更高层的协议。不同类型的进程就像从事不同行业的人。
有的是律师,有的是外交官。某些行业会有特定的职业用语规范。律师之间的通信会用严格的律师术语,以免产生纠纷。外交官之间的通信,也要符合一定的外交格式,以免发生外交事故。如果是情报机构,则要通过暗号来加密信息。
同样,某个类型的应用可以使用某个应用层协议,进一步规范用语。
应用层的协议包括用于Web的HTTP协议,这是浏览器工作的基础。DNS协议也是应用层协议,从而允许我们使用如douban.com这样的域名。应用层的IMAP协议用于E-mail传输。还有些加密协议让数据能安全地传递。应用层协议不但让通信更稳定也更完善,还让计算机能提供更丰富的互联网服务。
计算机通信从物理信号出发,最终实现了复杂的互联网通信,靠的就是网络协议。这些高层协议像邮差、邮局、大楼管理员一样,传递符合特定用语规范的信息。通过不同层次的封装,我们不再关心底层协议,专注于高层信息的编辑和发送。这些看起来繁杂得像森林的网络协议,是互联网最重要,也最常被忽视的基础设施。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值