OSI七层模型讲解

一 . OSI七层模型及特点

OSI七层模型                                                                                                  

应用层(提供用户访问网络服务的界面, 包括各种应用程序和协议。)                                

    ⬇                                                                                        

表示层(处理数据表示方式,包括数据加密,解密和压缩)                             

    ⬇                                                                                                                            

会话层 (管理应用程序之间的对话)                                                               

    ⬇                                                                                                                          

传输层 (提供端到端的可靠数据传输)                                                        

    ⬇

网络层(处理分组路由和转发,负责寻址和选择最佳路径)

    ⬇

数据链路层(负责在直连节点之间传输数据帧)

    ⬇

物理层(物理媒介上传输比特流)

 

1.OSI七层模型------物理层(最底层)

物理层主要负责通过传输媒介在各节点上传输原始比特流(即0和1)

特点和功能:

  • 传输介质:物理层定义了数据如何在传输媒介上进行传输,包括(双绞线,光纤)和无线媒介(无线电波)。物理层规定了数据的传输速率,电压级别,信号大小,接插件的排列方式等。

  • 数据表示:物理层定义数据的格式,包括比特的编码方式、传输单位的顺序等。在传输数据时,信息被转换成电流脉冲、光信号或无线信号。
  • 传输控制:物理层负责控制数据的传输速率和时序,以确保发送端和接收端之间的数据传输是同步的。
  • 数据连接:物理层负责在物理上连接相邻设备之间的通信链路。这包括电缆连接、连接器类型、传输介质的配置等。
  • 拓扑结构:物理层定义了网络拓扑结构,如总线、星型、环形等不同网络连接方式

常见的物理层设备:

  • 网卡(Network Interface Card,NIC):网卡是计算机用于连接网络的接口设备,负责将计算机产生的数字数据转换成适合在网络传输介质上传输的信号,并将接收到的信号转换为数字数据。网卡分为有线网卡和无线网卡,有线网卡使用网线连接到交换机或路由器等网络设备。无线网卡会将数字数据转换为无线信号,通过发送和接收无线电波与其他设备进行通信。网卡都有一个唯一的MAC地址(Media Access Control address)。MAC地址是一个由12个十六进制数组成的标识符,用于唯一识别网络设备。它在工厂生产时,由设备制造商预先分配并写入到网卡的固件中。无论是有线网卡还是无线网卡,它们都具有独特的MAC地址。MAC地址在网络通信中起着重要的作用,用于区分不同的网络设备。
  • 中继器(Repeater):中继器是一种用于信号传输的设备,主要作用是增强或延长信号传输的距离。其原理是接收来自源设备的信号,经过放大和重新发送后将信号传输到目标设备,以弥补信号在传输过程中由于距离、信道衰减等原因而减弱的情况。中继器逐渐被更先进的设备如中继器被更换,如放大器(Amplifier)和转发器(Repeater)所取代。
  • 集线器(Hub):计算机网络中用于连接多台计算机或网络设备的设备。其主要作用是将网络中的数据包广播到所有连接的设备上,以实现多设备之间的通信。
  • 调制解调器(Modem):用于在数字设备和模拟信号之间进行数据转换。调制是指将数字信号转换为可以在模拟信号介质(如电缆、电话线等)上传输的信号。解调是指将从模拟信号中提取出的数字信号恢复为原始的数字数据。

 

 

2.OSI七层模型------数据链路层

数据链路层主要负责点对点通信的建立和管理,确保在相邻节点之间可靠地传输数据帧。在数据链路层使用MAC地址来进行设备之间的寻址和通信。

功能及特点:

(1 )封装:数据链路层将网络层传递下来的数据报封装成数据帧,添加头部和尾部信息,用于标识帧的起始和结束,以及进行差错检测等操作。


 

数据帧格式:

  • 帧起始标志(Start Frame Delimiter):标识数据帧的开始,通常由特殊的比特模式表示,以便接收端能够正确识别帧的开始位置;帧起始标识通常由 Preamble 前导码7个字节(56比特)和 Start of Frame Delimiter(SFD) 帧起始分隔符一个字节(8比特)两部分组成。SFD的值是固定的,表示数据帧的起始,并标志着数据帧的正式开始。
  • 目的MAC地址(Destination Address):表示数据帧的接收者的物理地址或逻辑地址,通常指定了数据帧应该发送到哪个设备。48位,6个字节,通常用6进制表示。
  • 源MAC地址(Source Address):表示数据帧的发送者的物理地址或逻辑地址,用于标识数据帧的来源。
  • 类型字段(Type):定义了数据帧中携带的数据的类型,例如IP数据包、ARP数据包等,以便接收端知道如何解析和处理数据内容。数据帧中的类型字段占据2个字节(16比特)。
  • 数据字段(Data):包含了传输的实际数据部分,即上层协议传输的有效载荷,如网络层的数据报文。
  • 校验序列(Frame Check Sequence):用于对数据帧中的数据部分进行差错检测,通常采用CRC(Cyclic Redundancy Check)或其他校验算法。通常占4个字节。

 

(2) 帧同步:在接收端,数据链路层负责识别和提取数据帧,确保正确的识别帧的开始和结束位置,从而准确地读取数据。

(3)流量控制:数据链路层通过流量控制技术,管理数据的发送速率,避免发送端发送过快导致接收端无法处理,从而避免丢失数据或造成网络拥塞。

(4)差错控制:数据链路层实现差错控制功能,通过校验和、确认应答等方式来检测和纠正在传输过程中产生的错误,确保数据传输的可靠性。

(5)访问控制:数据链路层负责协调多个设备对共享传输介质的访问,通过各种介质访问方法(如CSMA/CD、TDMA、CDMA等),避免不同设备之间的冲突,实现有效的共享。

常见的数据链路层设备:

  • 网桥(Bridge):在局域网中连接多个网段,根据MAC地址进行数据转发的设备,用于实现数据链路层的交换功能。网桥会检查目标MAC地址,并根据已知的MAC地址表决定将数据包转发到哪个LAN上。

 

  • 交换机(Switch):以太网交换机是一种高效的数据链路层设备,通过端口和MAC地址来建立转发表,根据源MAC地址和目标MAC地址进行数据包转发。因为交换机具有独立的转发表,数据包只会被发送到目标设备所在的端口,而不会像集线器一样向所有端口广播,避免了网络拥塞和冲突。隔离冲突域。

    交换机有三层交换机和二层交换机,三层交换机工作在 OSI 模型的网络层(第三层)。与普通的二层交换机(Layer 2 Switch)相比,三层交换机不仅能够实现数据链路层的转发功能,还具备网络层的路由功能。


     

 

  • 网卡(Network Interface Card,NIC):网卡是安装在计算机或其他设备上,用于与网络通信的硬件设备,是连接计算机与网络的接口,也属于数据链路层设备。

    在物理层方面,网卡负责将数字信号转换为模拟信号进行发送,或者将模拟信号转换为数字信号进行接收。它会处理电缆、光纤等物理介质的连接,确保信号能够在网络中传输。

    在数据链路层方面,网卡会根据数据链路层协议处理和封装数据帧,并根据MAC地址进行数据帧的识别、过滤和转发。网卡还会处理一些数据链路层的协议,如以太网协议。
     


     

3.OSI七层模型------网络层

负责在不同网络之间进行数据包的路由、转发和交付。

特点及功能:

  • IP 地址:网络层使用 IP 地址来标识网络中的每一个设备。IP地址是唯一的,能够确保数据包被正确发送到目标设备。

 

  • 路由功能:网络层通过路由器实现数据包在不同网络之间的转发。路由器根据目的地IP地址查找路由表,并选择最佳路径将数据包传送到目标网络中。

 

  • 分组转发:网络层将数据流分割成较小的数据包进行传输,每个数据包包含了目标地址等信息。这种分组转发方式提高了网络的效率和灵活性。

 

  • 数据包封装:网络层在数据包头部添加了必要的控制信息,如目标IP地址、源IP地址等。这些信息帮助数据包在网络中正确传输,并实现端到端的通信。

 

  • 路由算法:网络层使用各种路由算法来确定最佳路径,如距离矢量路由算法(Distance Vector Routing)、链路状态路由算法(Link State Routing)等。
  • 网络互连:网络层可以连接不同的局域网、广域网或互联网,实现不同网络之间的通信和互联。

网络层常见设备

  • 路由器(Router):路由器是网络层中最常见的设备,用于在不同网络之间转发数据包。路由器根据目标 IP 地址来决定数据包的转发路径,实现不同网络之间的通信和互联。路由器具有路由表、路由算法和转发功能,是连接不同网络的核心设备。路由器也可以作为网关设备。路由器的每一个接口单独属于一个广播域,所以路由器可以接收处理广播报文,但是不能转发广播报文,从而来隔离广播域。

 

  • 三层交换机(Layer 3 Switch):与普通交换机相比,三层交换机不仅具有数据链路层的转发功能,还具备网络层的路由功能。它能够在局域网中实现不同子网之间的路由转发,提高网络效率和安全性。

 

  • 防火墙(Firewall):防火墙可以位于网络层以上,用于监控和控制网络流量,保护网络免受恶意攻击和未经授权的访问。防火墙可以根据指定的规则过滤数据包,阻止潜在的安全威胁。

网络层主要协议

  • IP(Internet Protocol):IP是网络层中最重要的协议之一,用于在不同网络之间进行数据传输和路由选择。它提供了分组交换和分组转发的功能,能够将数据包从发送端传递给接收端。

 

  • ICMP(Internet Control Message Protocol):ICMP是用于在 IP 网络中发送控制消息的协议。它主要用于网络故障排查、错误报告和网络管理。ping命令基于icmp协议。

 

  • ARP(Address Resolution Protocol):ARP是用于将IP地址转换为物理MAC地址的协议。当主机需要发送数据包到相同局域网内的另一台设备时,会使用ARP协议查询目标设备的MAC地址。

4.OSI七层模型------传输层

传输层协议是计算机网络中的一级协议,主要负责在通信端点之间提供可靠的数据传输。

特点和功能

  • 可靠性:传输层协议能够提供可靠的数据传输服务,确保数据的完整性和有序性。通过使用序号、确认、重传等技术来处理丢失、重复、损坏的数据包。
  • 顺序保证:传输层协议在发送数据时保证数据包按照发送顺序到达接收端,避免数据包乱序。
  • 面向连接或无连接:传输层协议可以是面向连接的(如TCP)或者是无连接的(如UDP),根据应用需求选择不同的传输协议。
  • 提供端到端的数据传输服务:传输层协议能够提供端到端的数据传输服务,隐藏了网络底层的细节,让应用程序可以方便地进行数据交互。

常见的传输层协议

  • TCP(Transmission Control Protocol):TCP是面向连接的协议,它提供了可靠的、有序的、字节流形式的数据传输服务。TCP通过序号、确认和重传机制来保证数据的完整性和可靠性,并通过流量控制和拥塞控制来维护网络的可用性和性能。

TCP连接的建立过程通常包括三个阶段,即握手(handshake)、数据传输和连接释放。以下是TCP连接的具体过程:

(1)连接建立(Three-way Handshake)三次握手

第一步:客户端发起连接请求:客户端向服务器发送SYN(同步)数据包,并选择一个初始序号值。
 第二步:服务器确认连接请求:服务器收到客户端的SYN数据包后,会回复一个SYN-ACK(同步-确认)数据包,确认收到客户端的请求,并给出自己的序号值。
第三步:客户端确认连接:客户端收到服务器发送的SYN-ACK数据包后,会回复一个ACK(确认)数据包,表示连接已经建立。

(2)数据传输:
在建立连接之后,客户端和服务器可以开始通过TCP连接传输数据。数据传输过程中,每个数据包都包含序号以及确认序号,用于保证数据的正确性和顺序性。

(3)连接释放,四次挥手(Four-way Handshake):
   第一步:客户端发送连接释放请求:当客户端希望关闭连接时,会发送一个FIN(结束)数据包。
   第二步:服务器确认连接释放请求:服务器收到客户端的FIN数据包后,会发送一个ACK数据包进行确认。
   第三步:服务器发送连接释放请求:当服务器准备关闭连接时,会发送一个FIN数据包。
   第四步:客户端确认连接释放请求:客户端接收到服务器的FIN数据包后,会发送一个ACK数据包作为确认,完成连接释放。


 

  • UDP(User Datagram Protocol):UDP是无连接的协议,它提供了一种简单的尽力而为的数据传输服务。UDP在发送数据之前不需要建立连接,并且不提供可靠性保证、流量控制和拥塞控制。它更适合实时通信、视频流和音频流等应用,其中速度和低延迟更为重要。

5.OSI七层模型------会话层

主要负责管理和控制数据交换的对话过程。它建立了两个网络端点之间的逻辑连接,并提供了可靠的数据传输和检错功能
 

6.OSI七层模型------表示层

主要负责将数据从应用层转换为适合在网络上传输的格式,以及在接收端将收到的数据重新转换为应用层可识别的格式。
 

7.OSI七层模型------应用层

网络通信中最接近用户的层级,主要负责为用户提供网络服务和应用程序所需的接口。应用层协议是在应用程序之间进行通信和数据交换的协议。

特点和功能

  • 提供用户接口:应用层为用户和应用程序提供接口,使用户可以与网络进行交互和通信。
  • 实现应用程序间的通信:应用层通过各种协议实现不同应用程序之间的通信和数据交换,比如电子邮件、网页浏览、文件传输等。
  • 数据格式化:应用层负责处理应用程序的数据格式,确保能够被正确地解释和处理。
  • 数据加密和认证:应用层可以对数据进行加密和身份验证,以确保通信的安全性和完整性。
  • 错误处理与恢复:应用层负责处理通信过程中的错误和异常情况,保证数据的可靠传输和正确处理。

应用层协议

  • HTTP(超文本传输协议):用于在Web浏览器和Web服务器之间传输超文本文档,实现网页的访问和数据传输。
  • FTP(文件传输协议):用于在客户端和服务器之间传输文件,支持文件上传和下载操作。
  • SMTP(简单邮件传输协议):用于在邮件客户端和邮件服务器之间传输电子邮件,实现邮件的发送和接收。
  • POP3(邮局协议版本3):用于从邮件服务器上接收邮件到本地邮件客户端。
  • IMAP(互联网消息访问协议):用于与邮件服务器保持连接,能够在多个设备上同步邮件的状态和内容。
  • DNS(域名系统):用于将域名解析为对应的IP地址,实现主机名和IP地址之间的转换。
  • DHCP(动态主机配置协议):用于自动分配IP地址和其他网络配置信息给客户端设备。
  • SNMP(简单网络管理协议):用于管理和监控网络设备、服务器和应用程序。
  • HTTPS(超文本传输安全协议):在HTTP基础上增加了安全性,通过SSL/TLS协议加密数据传输。
     

 

 

相关推荐

  1. OSI模型讲解

    2024-03-27 03:26:01       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-27 03:26:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 03:26:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 03:26:01       82 阅读
  4. Python语言-面向对象

    2024-03-27 03:26:01       91 阅读

热门阅读

  1. linux内核网络分析 用户空间工具 “每日读书”

    2024-03-27 03:26:01       42 阅读
  2. C/C++ 设置Socket的IP_TOS选项

    2024-03-27 03:26:01       39 阅读
  3. LeetCode 93. 复原 IP 地址

    2024-03-27 03:26:01       40 阅读
  4. C# 类 结构体

    2024-03-27 03:26:01       38 阅读
  5. SSH公钥(SSH Key)生成方法

    2024-03-27 03:26:01       42 阅读
  6. 判断对象存活的算法

    2024-03-27 03:26:01       35 阅读
  7. node项目中express的使用

    2024-03-27 03:26:01       46 阅读
  8. 20240325_AI小字典

    2024-03-27 03:26:01       34 阅读
  9. android 13长按power键没有关机菜单

    2024-03-27 03:26:01       36 阅读
  10. leetcode77.组合

    2024-03-27 03:26:01       39 阅读
  11. C语言获取输出相关函数scanf、gets、fgets等

    2024-03-27 03:26:01       44 阅读
  12. 使用 python 拆分 excel 文件

    2024-03-27 03:26:01       39 阅读
  13. 电子商务类网站搭建需要注意的几点。

    2024-03-27 03:26:01       42 阅读