OSI七层模型
OSI七层模型
开放系统互连 (OSI) 模型是由国际标准化组织创建的概念模型,它使不同的通信系统能够使用标准协议进行通信。通俗地说,OSI 为不同的计算机系统提供了能够相互通信的标准。
OSI 模型可以看作是计算机网络的通用语言。它基于将通信系统分成七个抽象层的概念,每一层都堆叠在上一层之上。
OSI模型七个抽象层分别是物理层,数据链路层,网络层,传输层,会话层,表示层以及应用层。
物理层(Physical Layer)
主要功能
物理层是最底层的一层,它负责实现比特流的透明传送,屏蔽了具体传输介质和物理设备的差异。
该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。
主要协议
中继器(Repeater,也叫放大器)和集线器
数据链路层(Data Link Layer)
1.主要功能
数据链路层建立在物理层之上,它负责在直接相连的节点之间传输数据,通过帧的方式将数据分割成小的数据块进行传输。
2.主要协议
以太网,网卡,交换机,PPTP,ATMP,L2TP
网络层(Network Layer)
1.主要功能
功能 | 介绍 |
---|---|
逻辑编址 | 网络层为不同主机或设备分配唯一的逻辑地址,通常使用IP地址来实现。这样,数据包就可以在网络中进行正确的传输和交付。 |
路由选择 | 网络层根据网络拓扑结构和路由协议,选择最佳路径将数据包从源主机传输到目标主机。路由选择的目标是确保数据包以最快、最有效的方式到达目的地。 |
数据分组和封装 | 网络层将传输的数据拆分成较小的数据包(也称为分组或数据报),并为每个数据包添加必要的头部信息,以便路由器能够正确处理和转发。 |
错误处理和流量控制 | 网络层可以检测和处理数据传输过程中出现的错误,例如丢包或损坏的数据。此外,它还可以实施流量控制机制,以确保网络中的数据传输是平衡和有序的。 |
2.主要协议
协议 | 功能 |
---|---|
Internet Control Message Protocol (ICMP) | ICMP协议用于在IP网络中传输控制消息,例如错误报告和网络状态信息。它被用于网络故障排除和诊断。 |
Internet Protocol (IP) | IP协议是网络层最重要的协议之一,负责在互联网中路由数据包。它定义了IP地址的格式和分配方式,以及数据包的传输规则。 |
Internet Control Message Protocol (ICMP) | ICMP协议用于在IP网络中传输控制消息,例如错误报告和网络状态信息。它被用于网络故障排除和诊断。 |
Internet Group Management Protocol (IGMP) | IGMP协议用于在多播通信中,主机和路由器之间的组管理。它允许主机订阅和取消订阅特定的多播组。 |
Routing Information Protocol (RIP) | RIP是一种动态路由选择协议,用于在小型网络中选择最佳路由。它使用距离向量算法来计算和更新路由表。 |
Open Shortest Path First (OSPF) | OSPF是一种用于大型网络的动态路由选择协议。它使用链路状态算法来确定最佳路由,并支持网络的自动发现和适应性。 |
RIP协议
1.首先路由器会先学习到自身所在的直连网段的路由信息
2.当运行RIP动态路由协议的时候,路由器会每隔30秒向邻居(指的是直接相连的路由器)发送路由表。
但是在发送之前,会把路由信息的Metric值+1之后传给邻居。Metric叫做度量值,是衡量一条路由好坏的一个参数。如果是相同路由的情况下,必须要传过来的metric值比自己的小才可以学习,否则是不学习的。比如R1传给R2的“20.0.0.0 metric 1”的这条路由,R2自己的路由表里面有一条20.0.0.0的路由,且metric值为0,明显比R1传过来的小,所以是不学习这条路由的。Metric值越小,优先级就越高。而R1同时传过来的10.0.0.0的路由在R2里面是没有的,所以它会学习过来。
3.之后,轮到R2传给邻居路由了,R1和R3会同时收到R2传过来的路由信息。当然传出之前metric值还是会加。那么同样的因为R2传给R1的20.0.0.0的metric值是1比R1本身的20.0.0.0的metric值大,所以R1也是不学的。所以只会把自身没有的30.0.0.0 加入到自己的路由表里面。即:“R 30.0.0.0 20.0.0.2 1”。当R2传给R3的时候,同样30.0.0.0的路由不学习,而只学习“R20.0.0.0 30.0.0.0 1”这条路由。当R3的周期更新时间到了以后,也会把自己的路由信息metric值加1之后传给邻居R2。那么R2就学到了“R 40.0.0.0 30.0.0.0 1”这条路由。
4.最后到下一个30秒的更新周期的时候,R1又会把自己的路由信息传给邻居R2,而因为三个网段的路由信息R2都有,且三个网段的metric值都大,分别为“1 1 2”所以R2不学,然后R2传给R1的时候,R1就学到了“R 40.0.0.0 20.0.0.2 2”的路由。
传输层(Transport Layer)
主要功能
协议 | 功能 |
---|---|
分段和重组 | 传输层将上层应用传递下来的数据进行分割(分段),以适应下层网络的传输要求。在接收端,传输层会对收到的分段进行重组,以还原原始的数据。 |
连接控制与管理 | 传输层可以通过建立、维护和终止逻辑连接来提供可靠的数据传输服务。这些连接可以是面向连接的(如TCP)或无连接的(如UDP)。 |
流量控制和拥塞控制 | 传输层通过流量控制机制来调节发送端的数据传输速率,防止接收端因处理不及时而导致数据丢失。同时,传输层还负责拥塞控制,通过适应性调整传输速率,以避免网络拥塞情况的发生。 |
错误检测和纠正 | 传输层对传输过程中的错误进行检测,并可以通过差错检测码(如TCP的校验和)进行纠正。这有助于确保数据的准确性和完整性。 |
主要协议
协议 | 介绍 |
---|---|
Transmission Control Protocol (TCP) | TCP是最常用的传输层协议,提供可靠的、面向连接的数据传输。它使用基于确认和重传的机制,确保数据的可靠性和顺序性。 |
User Datagram Protocol (UDP) | UDP是一种无连接的传输层协议,提供较低的延迟和更高的数据传输速度。与TCP不同,UDP不提供可靠性和流量控制机制,适用于实时应用程序和不需要可靠性保证的场景。 |
TCP
TCP报文格式:
链接:TCP UDP详解
会话层
主要功能
功能 | 介绍 |
---|---|
建立、维护和终止会话 | 会话层负责建立、管理和终止应用程序之间的会话。它提供了会话的开始和结束标记,以及确保应用程序能够正常通信的机制。 |
会话同步 | 会话层通过在数据流中插入同步点(例如检查点和插入点)来确保会话中的数据传输是同步的。这样可以避免数据混乱和不一致的问题。 |
对话管理 | 会话层负责管理多个会话或对话之间的优先级、顺序和切换。它可以确保不同会话之间的数据传输有序进行。 |
会话恢复 | 会话层支持会话的断点恢复功能,以便在通信中断后能够重新建立会话并继续进行数据传输。 |
主要协议
协议 | 介绍 |
---|---|
Session Control Protocol (SCP) | SCP是一种用于会话层的协议,负责建立和终止会话。它定义了会话的开始和结束流程,以及会话同步和管理的机制。 |
Real-Time Transport Control Protocol (RTCP) | RTCP是用于多媒体会话的控制协议,配合Real-Time Transport Protocol (RTP)一起使用。它提供了会话质量反馈和参与者信息的功能。 |
表示层
主要功能
功能 | 介绍 |
---|---|
数据格式化和编码 | 表示层将应用层传输的数据进行格式化和编码,以便在网络中传输和解析。这包括数据的转换、压缩、加密和解密等操作。 |
语法和语义处理 | 表示层确保数据的语法和语义的正确性。它可以处理数据的结构、标记和语法规则,以便接收方能够正确地解析和处理数据。 |
数据压缩和解压缩 | 表示层可以对数据进行压缩,以减少数据传输的带宽消耗。同时,在接收方,表示层也可以对压缩的数据进行解压缩,使其恢复到原始的数据格式。 |
数据加密和解密 | 表示层可以对敏感的数据进行加密,以确保数据在传输过程中的安全性。接收方通过解密操作,将加密的数据还原为原始的明文数据。 |
主要协议
协议 | 说明 |
---|---|
LPP | |
ASCII (American Standard Code for Information Interchange) | ASCII是一种用于表示字符的编码标准。它将字符映射为七位二进制数,常用于文本文件和通信协议中的字符表示。 |
Unicode | Unicode是一种全球字符集标准,用于表示世界上各种语言的字符。它提供了一种统一的方式来表示和处理多语言字符集。 |
Encryption Protocols(加密协议) | 表示层可以使用各种加密协议和算法,例如SSL/TLS(Secure Sockets Layer/Transport Layer Security)来确保数据在传输过程中的安全性和保密性。 |
应用层
主要功能
功能 | 介绍 |
---|---|
用户界面 | 应用层向用户提供了访问网络的用户界面,使用户能够与网络进行交互并使用各种网络服务和应用程序。 |
数据格式转换 | 应用层负责将用户的数据转换为网络能够理解和传输的格式。例如,将文本、图像或音频转换为对应的数据格式。 |
数据压缩和加密 | 应用层可以对数据进行压缩,以减少传输的数据量。此外,应用层还可以对数据进行加密,保证数据在传输过程中的机密性和安全性。 |
文件传输和远程访问 | 应用层支持文件传输和远程访问协议,使用户能够通过网络传输文件或远程访问其他计算机系统。 |
电子邮件和即时通信 | 应用层提供电子邮件和即时通信服务,使用户能够发送和接收电子邮件、进行即时消息传递等。 |
主要协议
协议 | 说明 |
---|---|
Hypertext Transfer Protocol (HTTP) | HTTP是用于在Web浏览器和Web服务器之间传输超文本的协议。它基于请求-响应模型,实现了客户端和服务器之间的通信和数据传输。 |
File Transfer Protocol (FTP) | FTP是一种用于在客户端和服务器之间传输文件的协议。它支持文件的上传、下载、修改和删除等操作。 |
Simple Mail Transfer Protocol (SMTP) | SMTP是用于在邮件服务器之间传输电子邮件的协议。它定义了邮件的传输格式和传输规则。 |
Domain Name System (DNS) | DNS是用于将域名转换为IP地址的协议,用于在互联网上定位和寻址不同的网络资源。 |
Post Office Protocol (POP) / Internet Message Access Protocol (IMAP) | 这些协议用于在客户端设备上访问和管理邮件服务器上存储的电子邮件。 |
HTTP
链接:HTTP详解
FTP(文件传输协议)
工作原理
1.连接建立:客户端通过TCP连接到服务器的21端口。
2.用户身份验证:客户端发送用户名和密码进行身份验证。
3.目录导航:客户端通过命令进行目录切换、列出目录内容等操作。
4.文件传输:客户端发送RETR命令下载文件,发送STOR命令上传文件。
5. 连接关闭:客户端发送QUIT命令,服务器断开连接。
被动模式
主动模式