OSI七层参考模型

OSI七层模型基础知识

在这里插入图片描述

应用层

网络服务与用户的一个接口(用户操作)
人机交互窗口把我们(人)语言输入到计算机当中。例如:微信或QQ

表示层

数据的表示、安全、压缩人的语言翻译成计算机语言。
将接收到的数据翻译成二进制数组成的计算机语言,并且对数据进行压缩、解压、数据加密和解密等一些工作。

会话层

建立管理中止会话(软件的建立会话(QQ、微信)
管理是否允许不同的机器上用户之间建立会话连接的关系

传输层

定义传输数据的协议端口,以及流控和差错校验(端到端防火墙)
将上层的数据分片并且加上端口号封装数据段,或者通过对报文头中的端口识别,实现网络中不同的主机上用户进程之间数据。

网络层

进行逻辑地址(IP地址)实现不同网络之间的路径选择(路由器)
将上层数据加上源和目标的逻辑地址(IP)封装成数据包,实现数据从源端到目的端的传输。

数据链路层

建立逻辑链接、进行硬件地址寻址、差错校验等一些功能(交换机网卡)
将上层数据加上源和目的地址(物理地址)封装成数据帧―MAC地址用来标识网卡的物理地址,建立数据链路。

物理层

建立、维护、断开物理链接(网卡、网线、中继器、集线器、光纤)
把报文头部和上层数据信息都是都二进制数组成的,物理层将这些二进制数字组成比特流转换成电信信号在网络中传输

TCP/IP五层

TCP/IP五层模型是将OSI七层模型上三层(应用层、表示层、会话层)合并成应用层,形成的五层模型
在这里插入图片描述

物理层

工作在物理层的设备主要为网卡和集线器
物理层的PDU为比特

数据链路层

工作在数据链路层的设备主要为交换机和网桥
数据链路层的PDU为数据帧

网络层

工作在网络层的设备主要为路由器和三层交换机
网络层的PDU为数据包
主要协议为IP,ICMP,IGMP,ARP,RARP

传输层

工作在传输层的设备主要为防火墙
传输层的PDU为数据段
主要协议为TCP,UDP

应用层

工作在TCP/IP五层模型封装和解封装的过程应用层的设备主要为PC和服务器
主要协议为HTTP,HTTPS,DHCP,DNS,SNMP,SMTP,FTP

TCP/IP五层模型封装和解封装的过程

封装过程

首先一个用户在发给电脑一个请求,先传给应用层应用将数据处理完,之后交给传出加好TCP或者UDP的报头,传给应用层网络层在添加一层IP的报头,再交给数据链路层添加mac的头部和尾部,最后送到物理链路层转为比特流进行传出,这可以玩吗可以比作寄快递或者发请求的过程,这就是封装过程。

解封装

解封装与封装过程相反,封装是从应用层到物理层一层层加报头,解封装是在物理层到应用层的过程一层层去报头,我们可以想象层收到快递的过程,或者读取文件的过程。
在这里插入图片描述
在这里插入图片描述

每一层的名字

在每一层的报头名字是都是不一样的,应用层叫做数据,传输层叫做数据段,网络层叫做数据包,数据链路层叫做数据帧,物理层叫做比特流。

端到端和点到点的区别?

点到点是主机到主机之间的通信(网络层及以下)
端到端是进程和进程之间的通信(传输层)
同一台计算机可以同时跟很多计算机通信,使用IP对不同的计算机加以区分(点到点)
一台计算机上的一个程序和很多其他计算机上的程序通信,需要使用IP+端口才能唯一的表示一个会话。
如你用QQ同时和ABC三个用户通信,就是用三个用户连接的IP和端口号来区分的。

数据传输的方式

单工 同一时间内只能以防接收或发送信息,不能实现双向通信 广播、电视
半双工 允许双向通信,但是同一时间内只能实现发送或接收信息,可以实现双向通信 对讲机
全双工 允许同时在两个方向上传输,两端设备要同时满足发送和接收能力,实现双向通信 电话通信
总结

总结

OSI七层模型的分层结构有:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
高三层属于应用层,面向用户和应用
第四层属于数据流层,主要是硬件为主
其中网络层主要面向IP地址,数据链路层面向MAC地址,物理层是比特流
各个层级之间的通信都有不同的传输协议

### 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
发出的红包

打赏作者

搞什么滚去学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值