OSI七层参考模型

一、背景

        七层互联网协议模型是由国际标准化组织(ISO)在20世纪70年代和80年代的多个阶段中开发的。该模型的目标是为计算机网络设计提供一个通用的框架,以便各种不同的网络技术和协议能够更好地互操作。虽然ISO负责定义这个模型,但实际上,它的发展受到了许多学术界和工业界的贡献。在这个过程中,许多人都对网络协议的发展和设计提出了建议和观点。在这个背景下,七层模型逐渐形成,成为理解和设计网络体系结构的标准框架。

二、定义及通俗解释


        七层互联网协议,也称为OSI(Open Systems Interconnection)模型,是一个由国际标准化组织(ISO)定义的通信协议的框架,用于理解和设计计算机网络体系结构。该模型将网络通信分解为七个不同的层次,每一层都有特定的功能和任务。这七个层次从底层到顶层分别是:

1.应用层(Application Layer) 提供网络服务,包括文件传输、电子邮件、远程登录等,是网络用户与应用程序之间的接口。应用层是我们日常使用的软件和服务所在的地方,负责提供用户与网络之间的接口。无论是浏览器、邮件客户端还是其他应用,它们都在应用层进行通信。

(通过人机交互来实现各种各样的服务)

2.表示层(Presentation Layer) 处理数据的格式问题,确保一个系统的应用层能理解另一个系统发送过来的数据。表示层就像是一名翻译官,负责处理数据的格式问题,确保发送方和接收方能够正确地理解彼此的数据格式,避免信息的失真。

(编码,解码,加密,解密)

3.会话层(Session Layer) 管理用户会话,负责建立、管理和终止会话连接。会话层扮演着一名协调员的角色,负责建立、管理和终止会话连接。这使得不同应用之间能够进行有效的通信,确保数据的顺利传递。

(发现,建立,维持,终止会话进程)

上三层        ------产生数据

下四层        ------传输数据

4.传输层(Transport Layer) 提供端到端的通信,负责数据的分段、流量控制和错误修复。传输层就像是一名搬运工,负责将数据从一个端口搬运到另一个端口。它管理数据的分段、流量控制和错误修复,确保数据在端到端的通信中安全可靠。 它是计算机通信体系结构中关键的一层。主要关注tcp、udp。ipv6传输效率高就和这层有关。在这一层,数据的单位称为数据段(segment)。

注释:(通过不同端口号来区分不同的服务

端口号:0-65535

静态端口号:1-1023

一个端口号对应一个服务,呈永久绑定关系

动态端口号:1024-65535

URL:百度一下,你就知道全球领先的中文搜索引擎、致力于让网民更便捷地获取信息,找到所求。百度超过千亿的中文网页数据库,可以瞬间找到相关的搜索结果。icon-default.png?t=N7T8http://www.baidu.com/URL:统一资源定位符     

域名:baidu.com 

https:安全的超文本传输协议

Http:超文本传输协议          )

主要功能:

①:为端到端连接提供传输服务

②:这种传输服务分为可靠和不可靠的,其中Tcp是典型的可靠传输,而Udp则是不可靠传输

③:为端到端连接提供流量控制,差错控制,服务质量(Quality of Service,QoS)等管理服务

包括的协议如下

TCP(Transmission Control Protocol):传输控制协议,传输效率低,可靠性强

UDP(User Datagram Protocol):用户数据报协议,适用于传输可靠性要求不高,数据量小的数据(比如QQ)

数据分段:

MSS 最大段长度 1480KB

MTU 最大传输单元 1500KB

计算机单位换算

位        bit                字节             Byte

8位=1字节

1024字节=1KB

1024KB=1MB

1024MB=1GB

1024GB=1TB

1024TB=1PB(不常见)

5.网络层(Network Layer): 负责在整个网络中寻址和路由数据包,实现不同网络之间的通信。网络层就像是一名智慧的导航员,负责在整个网络中引导数据的流动。它使用IP地址来定位不同设备,并决定最佳的数据传输路径。这一层让互联网成为可能,让数据能够跨越不同的网络进行传输。在这一层,数据的单位称为数据包(packet)。注:通过ip地址来进行逻辑寻址

6.数据链路层(Data Link Layer) 负责在直接连接的节点之间传输帧,处理物理层的错误,并确保数据的可靠传输。数据链路层就像是一位精密的工程师,负责将物理层提供的原始比特流组织成有序的帧,以便它们能够在相邻的设备之间可靠地传输。这一层也负责错误检测和纠正,确保数据的完整性。在这一层,数据的单位称为帧。

注:通过MAC地址来进行物理寻址

MAC地址--物理地址--不可更改

设备出厂时直接烧录在网卡上的编号

LLC-逻辑链路控制子层        -        为上层服务提供FCS校验封装和解封装

MAC-媒介访问控制子层        -        通过MAC地址来进行物理寻址

7.物理层(Physical Layer) 负责定义物理连接和传输介质的特性,例如电缆的规范、传输速率等。物理层是网络通信的起点,负责定义我们使用的传输媒介和传输的基本特性。想象一下,就像是我们的通信线路和光缆的基石。这一层的工作就是确保数字数据能够在不同的物理媒介上流动。 功能是:利用传输介质为数据链路层提供物理连接,用于计算机之间的数据传输,传输bit流。负责0、1 比特流(0/1序列)与电压的高低、逛的闪灭之间的转换。在这一层,数据的单位称为比特(bit)。(高低电频)

        每个层次的功能都相对独立,通过接口与相邻的层次进行通信。这种模型的设计使得不同层次的协议可以独立开发和修改,而不会影响其他层次。与七层互联网协议模型相对应的是TCP/IP协议栈,它是实际互联网上广泛使用的协议。TCP/IP并不完全符合七层模型,但在实际应用中成为了互联网通信的事实标准。TCP/IP协议的设计受到了包括Vinton Cerf、Robert Kahn和Leonard Kleinrock等人的贡献,他们在互联网的早期发展中扮演了关键角色。

口诀:

应表会传网数物

物数网传会表应


                
### OSI七层参考模型的功能及作用 #### 1. 物理 (Physical Layer) 物理负责定义硬件设备之间的电气、机械、过程和功能特性,用于建立、维护和释放物理链路。它主要关注比特流的传输以及信号的形式和参数。其核心功能包括电压电平、线缆规格、持续时间等具体细节[^1]。 ```c // 示例:设置波特率 void setBaudRate(int baud_rate); ``` #### 2. 数据链路 (Data Link Layer) 数据链路提供节点之间可靠的数据传输机制,并管理错误检测与纠正。此还执行帧同步、访问控制等功能。MAC地址在此被使用来唯一标识网络中的设备[^3]。 #### 3. 网络 (Network Layer) 网络决定如何将数据包从源发送至目标,涉及路由选择算法的选择路径决策。IP寻址发生在这一,确保数据能够跨越不同子网传递给最终目的地。 ```python def route_packet(packet, destination_ip): # 路由逻辑 pass ``` #### 4. 传输 (Transport Layer) 作为中间桥梁,传输提供了端到端通信的服务质量保障,比如通过序列号确认消息已接收并请求重新发送丢失部分。TCP协议属于此类别,在这里实现了全双工模式下的可靠交付。 #### 5. 会话 (Session Layer) 会话允许应用程序在不同的机器上创建、管理和终止对话(称为会话)。它可以协调多进程间的交互顺序,中断或恢复特定操作。 #### 6. 表示 (Presentation Layer) 表示解决用户信息格式化问题,如加密解密、压缩解压等转换任务都在此处完成,从而使得来自不同系统的数据可以互相理解。 #### 7. 应用 (Application Layer) 最高级别的应用直接面向用户提供所需的各种服务接口,例如文件传输(FTP)、电子邮件(SMTP),还有Web浏览(HTTP)。 ```javascript function sendEmail(recipient, subject, body){ // 实现邮件发送逻辑 } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值