来源
一骥绝尘
知圈
进“域控制器群”请加微,备注域
OSI7层模型简介工作涉及过网络工程的朋友,相信都会接触过OSI7层模型这个概念。汽车车载网络作为一种重要的网络用例,自然也会经常遇见这个概念。尤其近年来随着车载以太网的普及以及车联网技术的实现,汽车网络愈加复杂。而OSI7层模型则可以说是用以理解和设计汽车网络的利器。OSI全称是OpenSystemInterconnect,即开放式系统互连。有时也叫OSI参考模型,是ISO组织在年研究的网络互连模型。该体系结构标准定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层)。首先,这是一个互连模型,其目的在于研究网络通讯。其次,为什么要分层?其意义在于更好地解耦复杂问题,让层与层之间各自独立。功能相仿的内容抽象到同一层里,让每层专注于自己的任务和分工,各司其职提高效率。出了故障时也能顺藤摸瓜,按层排查。各个制造商也可以按分层结构集中开发某一层或者某几层的软件或者硬件设备。图1:OSI7层模型这个模型从80年代提出到今历久不衰,可见其分层的合理性。该模型同时还适用于各类网络通讯,为众多网络开发人员提供统一的语言。按照不同网络的标准和规范,不一定都会全部应用完这7层(实际上用完7层的网络不多),但是通过合并某些层次,该模型也可以退化成TCP/IP(4层)等模型。接下来我们从上往下一层一层的来剖析这个模型。为了辅助参考,我们类比一个老板接收报告的例子。第7层应用层:这是人机交互的一层。应用层顾名思义就是被终端业务应用使用的一层,这一层提供的数据是能被一般人所理解的,例如我们平时浏览网页或者查看邮件所看到的数据,都是应用层所提供的。典型的应用层协议有HTTP,FTP,SMTP,DNS等。以参考例子来看,应用层协议就像是一份呈现在老板桌上的市场分析报告,其编排都是按照老板所熟悉的模板来进行,对老板来说一目了然。第6层表示层:这是确保数据格式可用的一层。这一层会调整数据为应用可读的格式。通讯上的加解密、解压缩和编译码等工作都会在这一层进行。典型的表示层协议有ASCII码到EBCIDC的转换、SSL和MPEG等。以参考例子来看,表示层协议就像是老板的秘书,把收到的原始报告按照老板熟悉的模板重新编排。第5层会话层:这是维护连接和控制端口及会话的一层。这一层主要功能是负责两个通讯节点之间的传输联接。过程中包括建立通讯通道、在使用时确保会话畅通并在使用结束后结束会话。会话层还可以在数据传输过程中设置检查点,如果传输中断,设备可以在最后一个检查点处重传。典型的会话层协议有RPC、SQL和NFS等。以参考例子来看,会话层就像公司里的通讯助理,她负责与报告提供方联系,确保报告通过快递发出,并通过快递单号追踪物料情况,确认收货等。第4层传输层:这是通过协议传输数据的一层。这一层主要功能是管理传输的数据包,提供端到端的数据传输服务。过程中可以采用面向连接或者无连接的方式来实现。如果需要数据分包整包、流量控制、错误控制等都会发生在这一层。传输层是承上启下的一层,往上的更偏应用上层,往下的更偏底层软硬件。典型的传输层协议有TCP(面向连接)和UDP(无连接)。以参考例子来看,传输层就像快递公司。报告提供方找到对应的快递公司来运送报告,把单号告诉公司通讯助理。至于这个信件具体怎么运输,货物会否丢失,公司通讯助理是否隔天能收到,就是靠快递公司来管理保证了。第3层网络层:这是路径选择的一层。这一层的主要功能是数据打包解包和路径选择,其目的是实现两个端系统之间的数据透明传送。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。网络层一方面会把数据在发送端分段成单个的数据包,在接收端把数据包组合后提供给传输层。同时网络层会寻找最佳的物理传输路径,确定数据包的实际路由路径。典型的网络层协议有IP和ICMP等。以参考例子来看,网络层就相当于快递公司里的城际运输。例如报告提供方发给公司通讯专员的发件地址是广州市XX路YY号,收件地址是上海市AA路BB号。城际运输会先