溯源

谈到计算机网络必须要提到这个OSI/RM(英语:Open System Interconnection Reference Model 简称为OSI/RM模型)七层网络模型,这个算是计算机网络的奠基石了。

早期计算机设备生产商的设备自成一套,标准五花八门,不同品牌的设备没办法连接一个网络里正常使用。互联网要像发展壮大,必须有个统一的标准,但是采用哪一家的标准也是个问题。公说公有理婆说婆有理,因为都不想用别人家的,标准是你定的,你就是先知啊,万一加点商业操作可让别人怎么活嘛。最后决定哪家的都不用了,让国际标准机构来出一个标准,大家都成为这个标准的成员。

于是1984年,ISO发布了著名的ISO/IEC 7498标准,描述了OSI参考模型,建立一种体制,用于协调现有的和未来的系统互联标准。

OSI/RM七层模型

需要注意的是OSI/RM七层模型,是个参考模型。它不具备协议细节,具体可参考附件中的标准文档。这个模型和软件领域的CMMI模型有几分相似,主要讲应该怎样,需要怎么,但是具体怎么实现的他是不管的。

那么OSI为什么是7层呢,几番探究,结果呢,ISO认为7层刚刚好,作为一个参考模型,这个设计可以组合出尽可能多的实际应用模型,比如TCP/IP体系就是4层的,把高三层作为应用层。当然呢,这个也为他的广泛推广应用带来了问题。

组成内容

OSI/RM由4部分组成:1. 开放系统; 2. 应用实体;3.连接;4. 物理介质。见下图

OSI/RM的组成

模型结构

OSI/RM分七层,低三层用于实现通讯子网的信息传输,或者说它们是面向通讯的(一般称之为通讯子网);最高三层享应用进程提供资源子网功能的服务,因此是面向应用的;中间是传输层,高低三层的桥梁层

OSI七层模型结构

模型详解

OSI七层模型内容

1. 物理层

物理层处于最底层,是建立在通信介质基础上的,实现设备之间的物理接口,规定在物理层传输的二进制数据(也就是高低电平)的电参数等标准。规定通信设备的机械的、电气的、功能的和过程的特性,用以建立、维护和拆除物理链路连接。

具体地讲,

  • 机械特性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;比如RJ-45双绞线最大长度多少,几根线组成。
  • 电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率 距离限制等;
  • 功能特性是指对各个信号先分配确切的信号含义,即定义了DTE和DCE之间各个线路的功能;
  • 规程特性定义了利用信号线进行bit流传输的一组 操作规程,是指在物理连接的建立、维护、交换信息是,DTE和DCE双放在各电路上的动作系列。在这一层,数据的单位称为比特(bit)。

属于该层的典型规范:串口通信的RS-232/485、RJ-45。

常见设备比如:中继器、集线器。中继器类似古代的烽火台,解决信号远距离传输问题。集线器也叫多端口中继器,类比下你的烽火台在交叉路口,一个烽火可以通知给好几个队友。

2. 数据链路层(DataLinkLayer)

数据链路层负责从网络层像物理层发送数据帧。注意是点到点,直接连接的两个网络节点,如果要跨几点,那么救出要出去第三层(网络层)才能完成。

主要任务有数据成帧、差错控制、调节速率、链路的建立维持与释放。在不可靠的物理介质上提供可靠的传输。

在这一层,数据的单位称为帧(frame)。该层的数据传输时已经有了地址,所以交换机性能上比集线器是要高一点。

常见协议有

  • PPTP(Point-to-Point Tunneling Protocol 点对点隧道协议)
  • L2TP(Layer 2 Tunneling Protocol 第二层隧道协议)
  • SLIP(Serial Line Internet Protocol 串行线路网际协议)
  • PPP(Point to Point Protocol 点对点协议)

PPTP、L2TP常用在VPN情景。SLIP用以使用户通过电话线和调制解调器接入Internet。

3. 网络层(Network Layer)

网络层负责信息寻址和逻辑地址和名字转换为物理地址。

主要职责是路由选择、地址转换和网络中数据竞争控制。

网络层是OSI参考模型中最复杂的一层,也是通信子网的最高一层。计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网,网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。

常见协议有 ARP、RARP、IP、ICMP、IGMP;

典型设备:三层交换机、路由器。

举个例子,你在上海的电脑上访问北京服务器上的一个网站,那么有非常多的路径可以到达这个服务器,那么怎么过去最好呢,就是这一层的功劳了。

传输层(Transport Layer)

传输层确保报文无差错、有序、不丢失、无重复地传输。为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。主要职责包括将信息重新打包为报文、差错控制、顺序控制。

OSI低3层的主要任务是数据通信,高3层的任务是数据处理。夹在中间的第四层自然起到承上启下的作用,是通信子网和资源子网的接口和桥梁。向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。

该层数据单元也称作数据包(packets),但是设计具体协议时叫法就有些变化,TCP的数据单元称为段(segments)而UDP协议的数据单元称为数据报(datagrams)

传输层协议的代表包括:TCP、UDP。

注意下TCP、UDP的端口号什么的是在这层,IP就算是第三层了。

5. 会话层(Session Layer)

会话层是用户应用程序和网络之间的接口,允许不同设备上的两个应用程序建立、使用和结束会话连接。处理何时建立连接、连接多久、何时断开。会话层不参与具体的传输。

会话层及以上的高层次中,数据传送的单位不再另外命名,而是统称为报文。

6. 表示层(Presentation Layer)

表示层确定设备之间交换数据的格式。对来自应用层的命令和数据进行解释,统一转换为OSI标准的数据格式传输给会话层,也就保证了数据是不依赖某一种计算机系统的。

比如传输数据的加解密就发生在这一层。

7. 应用层(Application Layer)

应用层是应用程序访问网络服务的接口。比如文件传输、访问数据库、收发电子邮件。它是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。

常见协议有:FTP、HTTP、POP3、SMTP、SNMP

像Chrome、微信啥的就是典型的7层应用的例子。

特点

分工合作,责任明确。万一出了问题,很容易判断是哪一层没做好,就应该先改善该层的工作,不至于无从着手。

对等交谈。双方以对等身份交谈是常用的规则,这样的最大好处是简化了各层所负责的事情。因此,通信协议是对等个体通信时的一切约定。

逐层处理,层层负责。

缺陷

OSI/RM模型在80s发布之后,并没有出现严格按照7层模型实现的网络标准风靡全球,其中一个主要的原因就是模型和协议自身的缺陷。首先是层次划分。开始就提到了为什么是7层的问题,如果仔细观察7层职责责其实不难发现:数据差错控制在多层进行实现,这个冗余带来的复杂度非常高(稳定和复杂互斥);结合我们的实际应用场景,会话层内容非常少,表示层几乎没有什么内容。

其次是OSI/RM模型是把Service和Protocol融合在一起的,使模型的实现变得很复杂。因此有人批评OSI模型受通信思想的支配,在很多地方并不适合计算机软件的工作方式。

最后是安全性、数据加密和网络管理等功能在设计之初并没有考虑进去,导致在数据安全和管理越来越受到关注的环境下,发展也受到掣肘。

但是这并不影响OSI/RM成为计算机网络的奠基石,还是那句话,OSI参考模型并不是一个严格上的标准,而是一个概念框架。

OSI/RM的一个典型例子是X.25协议,是完整按照OSI框架来的,包含了低三层,应用于电话网络中,后在帧中继的出现逐步淘汰。

得益于OSI的层层思想和详细的7层设计,现在在网络模型理解时都会参考OSI模型进行理解。

参考资料及文献

下载

avatar
  Subscribe  
最新 最旧 得票最多
提醒
shiyu
游客
shiyu

很棒!