此为笔者自己尝试翻译《Osi Model : 7 Layer Of The Network Communication》的译文,原文地址:https://networkel.com/osi-model-7-layer-network-communication/
OSI(Open Systems Interconnection,开放系统互连)模型最初由ISO( International Organization for Standardization,国际标准化组织)在1978年开发完成。这个模型稍作修改后便在1984年作为“OSI参考模型”发布。OSI模型很快被全世界所接受,它主要定义了网络设备之间如何进行通讯。在OSI模型出现之前,每个供应商使用它们自己特有的计算机网络。它们通过自家产品的工作原理来相应地定义所有的(通讯)规则。例如,IBM只使用自己的设备,除了IBM以外,没有其他厂商的设备在这个网络上工作。
但是几年后,很多厂商也开始开发自己的设备了。并且在不同厂商的设备之间提供通讯成了一个很大的需求。OSI模型定义了一个独立于厂商的协议,并且为使用了这一模型的不同厂商的设备提供相互通讯的方法。这个模型并不会随着硬件、计算机网络或者软件而变化。很快它成为了一个工业标准。OSI模型由定义网络通讯的7层组成。这些层为:
- 物理层( Physical Layer )
- 数据链路层(Data Link Layer)
- 网络层(Network Layer)
- 传输层(Transport Layer)
- 会话层(Session Layer)
- 表示层(Presentation Layer)
- 应用层(Application Layer)
正如你在上文图中所见到的,应用层(第7层)是模型中的最高层,同时,物理层(第1层)是最底层。头3层被定义为了“媒介层”并且第4、5、6、7层被定义为了“主机层”。信息在第7层作为“数据(Data)”被传输并且在第4层(传输层)被划分为多个“段(Segments)”。这种分割使得接收设备可以以正确的顺序获取信息。地址参数在第3层被添加到这些“段“前,从此,我们的信息被称之为多个“包(Packet)”(译者注:即信息因为太长了,被分割为多个段,一个段加上一个地址参数就组成了一个包,多个段组成多个包)。每个包的物理地址(MAC addresses)在第2层被添加到每个“包”前,此时一条“帧”便形成了(译者注:即一个包加上物理地址会生成一个帧,多个包生成多个帧)。最终,这些“帧”在第一层被转换为位流并且准备好被传输。
第1层:物理层
物理层定义了我们的数据在线缆中的结构。数据被作为“位”传输。此层定义了“1”和“0”将被如何转换为无线电、电或者光信号。例如,一个“集线器”工作在OSI模型的第一层,因为它将数据视为电信号。很多硬件都工作于此层,诸如:电缆、RS-232( 常用的串行通信接口标准之一 )、通用串行总线(USB)、数字用户线路 (DSL)等。
第2层:数据链路层
数据链路层定义了连接物理层的规则。访问方法,像以太网(Enternet)或者令牌环(Token ring)工作于此层。这些访问方法基于各自的协议来处理数据。信息(数据)在此层称为一个“帧”。这些帧使得我们可以按顺序发送数据。 在数据链路层进行的大部分处理都是在网卡上进行的。同时其也对来自第一层的数据进行错误检测。诸如:以太网(Enternet)、 高级数据链路控制 (HDLC)、令牌环(Token ring)、L2TP( 一种工业标准的Internet隧道协议 )这些协议被用于此层。
第3层:网络层
如果一个包(packet)需要被发送给不同的网络,那么其将会在网络层被添加路由信息。报文在此被加上地址同时逻辑地址被转换为物理地址。英特网协议(IP,Internet Protocol)工作于此层,因此IP路由也是在此层完成的。诸如:英特网协议(IP、包括IPv4和IPv6)、 英特网控制报文协议( ICMP)、地址解析协议(ARP)和互联网组管理协议(IGMP)工作于第三层。
第4层:传输层
在此层,信息被标记为“段”。传输层提供传输数据的功能。诸如传输控制协议(TCP)和用户数据报协议(UDP)之类的协议工作于此层。此层也为上层提供服务质量(QoS)功能。对某些协议会进行错误检测(比如TCP协议)。流控制传输协议(SCTP)和数据报拥塞协议(DCCP)也工作于此层。
第5层:会话层
会话层为两个不同计算机上的应用程序提供连接。如果一台计算机正在同时与很多台计算机进行通讯,会话层也提供指定当前需要进行通讯的某台计算机的功能。这个功能通过通过不同的会话传递信息来实现(译者注:也就是每台通讯中的计算机都对应独立的会话)。网络文件系统(NFS)、 服务消息块(SMB)、ISO8326、ISO8327、ITU-T.6299以及网络基本输入输出系统(Netbios)工作于此层。
第6层:表示层
表示层将数据转换为接收计算机可以解析的形式。因此不同的软件可以相互之间共享同一份数据。此层定义了“数据如何被表达”。同时在此也定义了数据的格式。此外,诸如:加密、压缩、解密也在第六层进行。图像格式(比如:jpg、png等)、 美国信息交换标准代码(ASCII)、 扩展二进制编码的十进制交换码(EBCDIC)工作于此层。
第7层:应用层
应用层提供了用于应用程序的网络接口。只有应用层不用为其他层提供服务。此层使得应用程序可以于网络中工作。超文本传输协议(HTTP)、文件传输协议(FTP)、域名系统(DNS)和简单网络管理协议(SNMP)工作于此层。
OSI模型同时也提供有效的排错机制。举例来说,如果一个设备从网络上掉线,排错机制从第一层开始触发(比如检查到设备的物理连接。)。如果在第一层没有发现错误,那么开始检查第二层(检查设备的MAC地址是否在MAC地址表中)。如果检查到问题,那么就不需要检查第三层了!如果第二层也是正常的,那么第三层将会被检查(检查设备的IP地址是否在路由器的路由表中)。以此类推,一直用同样的方法检查到最顶上的第七层。