计算机网络(三):OSI七层参考模型

简介: OSI七层参考模型

OSI七层参考模型

OSI参考模型

国际标准化组织(ISO)于1984年提出开放系统互连OSI参考模型,目的是:支持异构网络系统的互联互通

-

应用层
应用层可以定义为是所有能和用户交互产生网络流量的程序的集合,是OSI参考模型的顶层

典型应用层服务:

1. 文件传输(FTP)
2. 电子邮件(SMTP)
3. 万维网(HTTP)



表示层
表示层主要用于处理在两个通信系统中交换信息的表示方法(语法和语义)

表示层功能:

1. 数据格式交换(翻译)
2. 功能二:数据加密解密
3. 功能三:数据压缩和恢复

主要协议:JPEG,ASCII



会话层
向表示层实体/用户进场提供建立连接并在连接上有序地传输数据,这叫做会话,也是建立同步(SYN)
会话层的功能:
1. 建立、管理、中止会话
2. 使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步适用于传输大文件

主要协议:ADSP,ASP



传输层
传输层是自下而上第一个面向端到端的层次,也是下三层通信子网与上三层资源子网的接口,它负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报
传输层功能:
1. 可靠传输、不可靠传输
2. 差错控制
3. 流量控制:
    流量控制用于防止在端口阻塞的情况下丢帧,这种方法是当发送或接收缓冲区开始溢出时通过将阻塞信号发送回源地址实现的。
4. 复用分用
    1. 复用:多个应用层进程可同时使用下面传输层的服务
    2. 分用:传输层把受到的信息分别交付给上面应用层中相应的进程



网络层
网络层主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务,网络层传输单位是数据包

网络层功能主要为:

1. 路由选择
2. 流量控制
3. 差错控制
4. 拥塞控制
    若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。

补充:网络和传输层的区别在于,网络层提供的是主机之间的逻辑通信机制,而传输层**提供的是应用进程之间的逻辑通信机制,位于网络层之上,并且依赖网络层服务。



数据链路层
数据链路层的主要任务是把网络层传下来的数据报组装成帧,数据链路层/链路层的传输单位是帧
数据链路层功能:
1. 成帧(定义帧的开始和结束)
2. 差错控制 (帧错+位错)
3. 流量控制
4. 访问(接入)控制—控制对信道的访问



物理层
主要任务是在物理媒体上实现比特流的透明传输,物理层传输单位是比特

透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送

物理层功能:

1. 定义接口特性
2. 定义传输模式(单工、半双工、双工)
3. 定义传输速率
4. 比特同步
5. 比特编码


OSI参考模型的通信过程

在OSI参考模型中,设备A向设备B发送数据时,所要发送的数据自应用层由上往下,每过一层就打包一遍该层的协议。等到数据在链路上开始传播,遇到中间系统,如遇到交换机、网桥等则解析到数据链路层,遇到路由器则解析到网络层,然后再进行转发,直到到达设备B后,再依次解析,不断向上层传递消息

端对端:就是这层数据不会被其它设备二次解析,直接到达目的设备

点对点:就是这层数据会被其它设备二次解析

TCP/IP参考模型

OSI七层模型和TCP/IP模型对比图见上,TCP/IP模型其实是先提出了TCP/IP协议栈后,被人总结归纳出的TCP/IP参考模型。目前,TCP/IP参考模型是实际应用中的参考模型。

两者的相同点

1. 都进行分层
2. 都基于独立的协议栈的概念
3. 可以实现异构网络互联

两者的不同点

  1. OSI定义三点:服务、协议、接口,TCP/IP设计之初并没有这种概念
  2. OSI先出现,参考模型先于协议发明,不偏向特定协议
  3. TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次
  4. 如图:

五层参考模型

五层参考模型是综合了OSI和TCP/IP优点的参考模型,是一个为了方便学习计算机网络原理而采用的模型

相关文章
|
8月前
|
网络协议 算法 Java
基于Reactor模型的高性能网络库之Tcpserver组件-上层调度器
TcpServer 是一个用于管理 TCP 连接的类,包含成员变量如事件循环(EventLoop)、连接池(ConnectionMap)和回调函数等。其主要功能包括监听新连接、设置线程池、启动服务器及处理连接事件。通过 Acceptor 接收新连接,并使用轮询算法将连接分配给子事件循环(subloop)进行读写操作。调用链从 start() 开始,经由线程池启动和 Acceptor 监听,最终由 TcpConnection 管理具体连接的事件处理。
274 2
|
8月前
基于Reactor模型的高性能网络库之Tcpconnection组件
TcpConnection 由 subLoop 管理 connfd,负责处理具体连接。它封装了连接套接字,通过 Channel 监听可读、可写、关闭、错误等
222 1
|
8月前
|
JSON 监控 网络协议
干货分享“对接的 API 总是不稳定,网络分层模型” 看电商 API 故障的本质
本文从 OSI 七层网络模型出发,深入剖析电商 API 不稳定的根本原因,涵盖物理层到应用层的典型故障与解决方案,结合阿里、京东等大厂架构,详解如何构建高稳定性的电商 API 通信体系。
|
5月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
6月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
405 2
|
6月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
146 8
|
8月前
基于Reactor模型的高性能网络库之Poller(EpollPoller)组件
封装底层 I/O 多路复用机制(如 epoll)的抽象类 Poller,提供统一接口支持多种实现。Poller 是一个抽象基类,定义了 Channel 管理、事件收集等核心功能,并与 EventLoop 绑定。其子类 EPollPoller 实现了基于 epoll 的具体操作,包括事件等待、Channel 更新和删除等。通过工厂方法可创建默认的 Poller 实例,实现多态调用。
385 60
|
8月前
|
安全 调度
基于Reactor模型的高性能网络库之核心调度器:EventLoop组件
它负责:监听事件(如 I/O 可读写、定时器)、分发事件、执行回调、管理事件源 Channel 等。
408 57
|
8月前
基于Reactor模型的高性能网络库之时间篇
是一个用于表示时间戳(精确到微秒)**的简单封装类
265 57
|
7月前
|
算法 安全 网络安全
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
【多智能体系统】遭受DoS攻击的网络物理多智能体系统的弹性模型预测控制MPC研究(Simulink仿真实现)
283 0