OSI七层模型
一、网络参考模型
-
网络参考模型是什么?
网络参考模型(Network Reference Model)是为了帮助人们理解和设计计算机网络而提出的一种抽象模型。它将计算机网络的功能和结构分解为若干层次,每一层都有特定的功能和责任。
-
为什么要有网络参考模型?
网络参考模型可以提供一个标准化的框架,以便不同厂商和组织之间可以进行通信和和互操作。
具体来说,网络参考模型有助于以下几个方面:
- 标准化和规范化:网络参考模型提供了一个标准化的网络层次结构,使得不同厂商和组织可以遵循相同的规范来设计和实现网络设备和协议。这有助于不同设备和系统之间的互操作性。
- 分层设计:网络参考模型将网络功能分解为若干层次,每一层都有特定的功能和责任。这种分层设计有助于简化网络的复杂性,使得网络的设计、实现和维护更加可管理和可扩展。
- 故障诊断和维护:通过网络参考模型,可以更容易地定位和解决网络中的问题,因为每一层都有明确定义的功能和接口,可以帮助工程师更快地进行故障诊断和维护。
-
网络参考模型有哪些?
OSI七层模型(本文接下来要讲的)、TCP/IP四层模型、五层模型等
二、OSI七层模型
-
OSI七层模型的七层自下而上分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
-
各层功能介绍和简单举例
-
物理层
功能:物理层负责在物理媒介上传输比特流,包括数据编码、传输速率、传输介质的特性等。
举例:以太网使用不同的物理层规范,如10BASE-T(使用双绞线)、1000BASE-SX(使用多模光纤)等。
-
数据链路层
功能:数据链路层负责在直接相连的节点之间传输数据,提供数据的可靠传输和错误检测。
举例:以太网使用MAC地址来标识网络设备,以太网交换机工作在数据链路层,负责转发数据帧。
-
网络层
功能:网络层负责在不同网络之间传输数据,提供数据的路由和转发功能。
举例:IP协议是网络层的代表,它通过IP地址来标识网络设备,并提供路由选择和数据包转发。
-
传输层
功能:传输层负责端到端的数据传输,提供数据的可靠传输、流量控制和多路复用功能。
举例:TCP协议是传输层的代表,它提供可靠的数据传输,流量控制和拥塞控制。
-
会话层
功能:会话层负责建立、管理和终止会话连接,提供数据的同步和恢复功能。
举例:在Web浏览器与Web服务器之间的会话建立和终止过程,就涉及到会话层的功能。
-
表示层
功能:表示层负责数据的格式转换、加密解密和压缩解压缩等功能。
举例:在网络通信中,数据的加密和解密过程就是表示层的功能。
-
应用层
功能:应用层负责为用户提供各种网络服务和应用程序,包括文件传输、电子邮件、远程登录等。
举例:HTTP协议是应用层的代表,它用于Web浏览器和Web服务器之间的通信,实现网页的传输和显示。
-
-
以场景来理解各层
-
场景
小明通过QQ给小红发了消息“你好”。
-
应用层
最直观的理解就是人机交互界面,或者说是系统程序窗口。小明将“你好”两个字输入电脑QQ软件里。
-
表示层
计算机接收到“你好”2个字之后,它会对数据进行格式转换,转换为计算机自己能够理解的语言,也就是二进制的0和1的组合,当然表示层还有其他功能,比如说是安全加密,压缩解压等。
-
会话层
计算机知道小明要发送东西之后,就需要准备发送了。所以,第一步就是要找到对方(小红),与对方建立会话关系。
-
传输层
传输层为网络中的主机提供端到端的通信,即计算机程序到程序之间的通信,使源端和目的端主机上的对等实体可以进行会话,可以理解为小明使用QQ发送消息,那么小红要接收消息也得使用QQ而不能使用微信。
-
网络层
传输层已经准备就绪了,可是我们知道QQ用户千千万,小明和小红中间还存在很多的其他用户,我们怎么实现小明的文字就能准确的发送到小红的QQ上呢? 这就是需要网络层的 IP 地址了。只要知道了小红的 IP 地址,就可以选择最佳路径进行准确的数据传输了。
-
数据链路层
网络层接收到数据后需要继续往下传输,需要使用工具,就是数据链路层的网卡,继续进行传输。
-
物理层
数据到达物理层后,变成信号传输。数据到达目标主机后,开始进行一个逆向的过程。即数据到达对方主机后,从物理层传输到数据链路层–网络层–传输层–会话层–表示层–应用层。此时,数据到达小红的电脑,小红就可以看到小明发送的“你好”两个字了。
-
-
TCP和UDP
-
TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)都是传输层的协议。
-
TCP是一种面向连接的、可靠的、基于字节流的传输协议。它提供了数据可靠传输、流量控制、拥塞控制和错误恢复等功能。TCP通过建立连接、三次握手、数据传输和四次挥手等步骤来确保数据的可靠传输。TCP适用于对数据传输可靠性要求较高的应用,如文件传输、Web访问等。
UDP是一种无连接的、不可靠的、面向数据报的传输协议。它提供了数据包的最小封装,不保证数据的可靠传输,也不提供流量控制和拥塞控制。UDP适用于对实时性要求较高,对数据传输可靠性要求较低的应用,如音频和视频流媒体、在线游戏等。
主要区别:
- 连接与无连接:TCP是面向连接的,需要在通信之前建立连接,然后再进行数据传输,最后关闭连接;UDP是无连接的,数据包可以直接发送,不需要建立连接。
- 可靠性:TCP提供可靠的数据传输,通过序列号、确认和重传等机制来保证数据的可靠性;UDP不保证数据的可靠传输,数据包可能丢失或乱序。
- 速度:UDP比TCP快,因为TCP提供了可靠性保证,需要进行更多的控制和处理,而UDP只提供了最基本的数据传输功能。
- 拥塞控制:TCP有拥塞控制机制,可以避免网络拥塞;UDP没有拥塞控制,数据包可能会因为网络拥塞而丢失。
总之,TCP和UDP都是传输层的协议,TCP提供可靠的数据传输和拥塞控制,适用于对数据传输可靠性要求高的应用;UDP提供了无连接的、不可靠的数据传输,适用于对实时性要求高的应用。
-