OSI模型的认知(一)

2018.3.30

协议栈学习

OSI模型与协议栈

要弄懂什么是协议栈,首先就得学习一种协议栈。无线自组网协议栈是以OSI七层模型为原型的,于是我开始学习OSI模型,希望到时学习前者时能更好更快地理解。

OSI模型是干嘛的?个人认为是一种参考,一种比较稳健高效的跨设备信息交互的系统。它分很多层次,自底而上有物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

一个特点是:下层是为上层服务的,且这种服务是不可逆的、不越级的,比如说网络层只能得到数据链路层的服务,而不能得到物理层的服务。

另一个特点是:每一层有个“工人“为它服务,即下一层,且每一层有个“大佬”被它服务,即上一层。对于“工人”,让他服务时,需要给“工人”足够的细节、足够的信息,要清楚讲好他该做些什么,这样他将做他所分配的工作。但值得注意的是,关于“工人”怎样完成这件任务是无关紧要的,即下一层运作流程,该层是不予以关心的,只要下一层能完成任务就好。对于“大佬”,为他服务时,需要提供尽可能广泛、不特殊的接口,因为“大佬”可能需要你做很多事情,为使得能样样任务办好,该层应该有个能应付绝大多情况的能力。

以上两个特点是重要的,且对于构建一种新的系统模型时,这两个特点有很大的参考性。两个特点均保证了系统的逐级性,较严格的一级一级划分,不会出现跨级的联系。且系统的每一级只需着眼与它自己,不用关心下级的工作,只要学会把下级当作“黑匣子”用,且能给上级提供广泛性的服务就好了。可以说,这两个特点使得我们更容易地去实现、维护、修正这个系统。(其实这也有点模块化的味道)

那么协议栈是什么?首先要说说什么是协议。个人认为这可以理解为一种规范,举个例子,中文就可以看成是一种协议,大家都认同“电脑”这个词就是指电脑,于是大家就能很好地交流。要是有一天有个人称之为“脑电”,或许人们就听不懂了,交流也难以进行了。于是,协议可以理解为规范。很自然的,一个协议的成功与否应取决于有多少人遵守此协议,像那些人人都用的TCP/IP协议就很成功了。懂了协议,就来说说什么是协议栈。个人认为随着科技发展,有些系统是越发展越复杂了,像网络,一个OSI模型,整整七层,层层都有不容小觑的任务。每个任务的实现需要规范一些事情,比如大家电脑在网络中的地址,是应该叫“广东省广州市中山大学呢”,还是叫“中山大学广州市广东省”呢,这些需要有个规范,有个协议,有时一个任务可能需要不止一个协议。于是一层几个任务,几个协议,因为层层之间有级别,于是协议之间也有级别,像数据结构——栈一样,层层分级,于是曰之“协议栈”。

物理层,个人认为其主要特点是该层的任务与协议都是很“实在”的,“物理”性的。它规范了很多硬件方面的标准(机械特性、电气特性、功能特性、规程特性),比如,一条网线要多少条电线绞在一起,每条电线的半径,每条电线的作用,高电平、低电平所代表的意义(0还是1)之类的。物理层主要任务是在设备间建立、维护、断开物理上的链接,且要尽力屏蔽物理设备和传输媒体,通信手段的不同,为上级数据链路层提供广泛性服务,使它感受不到这些差异。

这里有些许概念应该了解:

模拟信号:电平幅度连续变化的电信号

数字信号:两种不用的电平表示01比特序列电压跳变的脉冲信号

调制:将发送端的数字信号变换为模拟信号

解调:将接收端的模拟信号变换为数字信号

串行通信:将一个字符的二进制代码从低位到高位依次传输,一个信道 

并行通信:将一个字符的二进制代码同时通过8条并行的通信信道发送

单工通信:只能一个方向传输,例如寻呼机 

半双工通信:双向传送,但一个时间只能一个方向发送信息,例如对讲机

全双工通信:可以同时发送信息,并且双向传送,例如手机

多路复用技术发送端将多个用户的数据通过多路复用器汇集到一条通信线路(这条通信线路的带宽应该尽可能高),发送到接收端,接收端通过分用器把数据分离成各路数据,分发给接收端的多个用户

数据链路层,个人认为其主要特点是相邻两点的数据传输。它规范了两点间以什么样的流程(异步传输/同步传输)、载体(HDLC/BSC帧)来传输数据。这一层有较多任务:一是数据链路的建立、维护、断开;二是确保数据准确,至少逻辑无误(差错控制、流量控制)数据传输本质上是以物理信号传输,势必会受到自然界环境中其它物理信号的干扰,接收端接收到的,极有可能是有效信息与误差信息的叠加。因此,修正所接受到的数据是很有必要的,但更为重要的是要有能力发现数据部分信息有错。一种方法是循环冗余编码(CRC),此法主要原理是数学规律,有一点类似a+1ab的余数是不同的,正确的数据与有差错的数据也是如此。那么又如何修正有差错的数据呢?一种简单又有效的方法是要求发送点重发,直至接收点所收数据无误。另一种不常见的方法是数据本身所带有额外的信息,这些信息能使数据恢复为正常数据(或许是利用某种数学知识、算法)显然,前者的开销小(不需要带太多额外信息),但是需要发送多次;后者的开销大,实现难,但只需发送一次(或许后者适用于军事)。数据链路层协议(连路通信规程)是用来规范传输数据的流程载体的,分两类,异步协议和同步协议。异步协议是指



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值