早期,每个厂家都希望用户使用他们自己的设备,并尽可能使所有设备都采用同一品牌的产品。这样,一旦用户购买第一台设备,后续的维护、新增或替换都将成为同一家厂商的产品。然而,这种方法存在一些重要的问题。
首先,若用户采用同一厂家的设备,意味着所有设备都依赖于该厂家的系统。如果该厂家的系统出现后台漏洞或错误,那么所有类型的设备都可能受到影响。这意味着,一旦黑客攻击成功该厂家系统中存在的bug,用户的整个网络就会陷入瘫痪。
其次,不同厂商的设备可能存在不兼容的问题。当不同厂家的设备混合使用时,可能会出现各种难以解释的错误。这种不兼容性可能涉及协议、接口或配置等方面,导致设备之间无法正确地交互和通信。
为了解决这个问题,国际标准化组织(ISO)站出来并发布了一套适用于网络设备的OSI参考模型。ISO是一个国际性非政府组织,也是全球最大且最具权威性的国际标准化组织。这个参考模型告诉市面上所有的网络设备厂商,他们必须遵循这套参考模型来设计他们的设备。
随着时间的推移,这种标准化的方法得到了发展,现在不同厂商的设备几乎可以自由交互使用。所有常见的网络协议也适用于这种标准化的环境。虽然不同厂商的设备可能存在部分命令差异,但基本原理是相同的。这种标准化解决了各个厂商之间的兼容性问题,开放了标准化接口,共享协议实现,实现了模块化工程,降低了设备新功能的开发难度,并便于故障排除等,带来了许多优点。
通过ISO的参考模型和标准化的接口,计算机网络得以在不同厂商的设备之间实现互联互通,使网络技术的发展更为迅速和高效。这为网络行业的发展奠定了坚实的基础,并带来了广泛的应用和便利性。
OSI分层一共有7层:(这里主要是以数据传输路径来解释)
1、物理层:定义了电压、物理接口、线缆标准、传输距离等物理层面的标准。
2、数据链路层:二层数据的传输形式,MAC地址寻址。
3、网络层:网络层面地址寻址,以及路由条目的转发。
4、传输层:数据分段、建立端到端连接,维护传输可靠性。
5、会话层:建立、维护拆除应用程序间的会话。
6、表示层:定义数据格式、结构、数据加密、压缩格式。
7、应用层:为应用层程序进程提供网络服务。
下面用一个图示来表示一个数据发送到另一台设备的全过程,最先应用层产生一个数据包,然后逐层封装。
在数据通信中,数据包的封装和解封装是一个重要的过程。封装是指在发送端将数据逐层的添加不同层的头部信息,最终形成一个完整的数据包,这个步骤是从应用层开始往下对数据进行封装。而解封装则是在接收端将数据包的头部信息逐层剥离,以提取出原始数据,这个是从物理层开始逐层往上进行解封。
在传输过程中,数据包的封装发生在不同的网络层。首先,在传输层,数据被分割成固定长度的数据段,并在每个数据段前添加一个TCP头部,以提供传输控制和错误检测等功能。接下来,在网络层,TCP数据段被添加一个IP头部,其中包含源IP地址和目标IP地址等信息,以便于路由和寻址。然后,在数据链路层,IP数据包的前面添加一个MAC头部,包含源MAC地址和目标MAC地址等信息,用于局域网内的数据传输。最后,在物理层,整个数据包被转换为二进制比特流,并通过物理介质进行传输。
数据的解封装则是以上过程的反向操作。在接收端,物理层将接收到的比特流转换为数据包,并将其传递给数据链路层。数据链路层剥离MAC头部,将数据包传递到网络层。网络层再剥离IP头部,并根据目标IP地址将数据包传递给传输层。传输层剥离TCP头部,将数据段传递给上层应用。
在这个过程中,应用层、表示层和会话层并没有直接参与数据包的封装和解封装过程。这是因为这些层次所提供的功能在数据包产生时已经定义好了。应用层负责为应用程序提供服务,定义数据传输格式等。表示层负责数据的编解码、加密解密等处理。会话层负责建立和维护数据传输会话。
然而,尽管OSI参考模型中将这些层次细化,实际上在实际网络中,TCP/IP参考模型更为常用和广泛接受。TCP/IP参考模型将应用层、表示层和会话层结合起来,统称为应用层。这是因为大部分业务都是基于IP协议进行传输,因此厂商设计的设备和网络架构也主要基于IP协议。
总结来说,数据包的封装和解封装是网络通信中的重要过程。封装时,数据添加不同层的头部信息,形成完整的数据包。解封装时,逐层剥离头部信息,提取原始数据。应用层、表示层和会话层在数据包封装和解封装中没有直接参与,而在TCP/IP参考模型中被统称为应用层。