OSI 网络 7 层模型

问: 请你介绍一下OSI七层网络模型

物理,链路,网络,传输,会话,表示,应用

问题: 他们都有什么用,解决了什么问题?

物理层

解决什么问题?
  • 数据传输的问题.
功能原理
  • 网络传输的硬件基础,数据传输的媒介

  • 传输 bit 数据

  • 形象的理解: 网线(当然不止)

问题

只负责传输数据,不管传给谁.(信号的广播)

例子

就像一个广播器,你发送什么,他就广播给路线上面的所有人

数据链路层

解决什么问题

数据谁接收的问题.

上面的物理层只负责发送数据,不管数据谁接收,如何判断数据发送给谁的?

很简单,每个数据上面写个名字就知道是发送给谁的了

功能原理
  • 信息的选择性接收,每一个机器都有一个唯一的网卡(mac 地址独一无二),
  • 将 bit数据封装为帧,每一帧都加上接收方的 mac 地址,
  • 接受数据的时候只接受我的 mac 地址的数据,其他数据不管.

例子

将字写到一个信封里面,每一封信都写上名字(mac 地址),每个人都只收自己的信,别人的信不管.

网络层

解决的问题
  • 信息发送到哪里的问题

  • 是遍布全世界的一张巨型大网,数据从一端发送到另外一端要经历无数的交叉节点(路由器),如果全部使用广播的形式传输数据效率太低了,而且还会有无数次的数据重复

  • 那要高效的将数据发送到对应位置,我们的信封上面应该写上邮政编码(收信地址)

功能原理
  • 提供 IP 地址
  • 将数据帧封装成包,每个包写上 IP 地址(邮政编码),路由器拿到包解析 IP 地址,对比自己本地的 ip 地址转发表,将包发送到下一个路由器.

例子

  • 简单理解就是邮件的发送过程,邮件写上名字只知道谁的邮件,全世界这么多人要一个个找吗?
  • 所以邮政编码相当于 IP ,路由器相当于邮件中转站;
  • 当邮件到达一个中转站,会根据他的邮政编码将邮件发送到下一个中转站而不是通过广播的方式传输.

到这里网络的基本雏形就有了,信号可以从一台设备发送到另一台设备

传输层

解决什么问题
  • 进程间的网络通信.
  • 上面只实现了设备之间的通信,就类似一个对讲机,功能比较单一.
  • 那么如果我想要与多台机器同时通信呢,如何区分他们谁是谁?(比如同时使用 QQ 与微信,如何区分哪些是 QQ 消息,哪些是微信消息?)
功能原理
  • 增加了端口
  • 将包封装为报文,每个报文都添加端口号,每个端口只能被一个进程使用,当报文达到设备(电脑),(操作系统)解析端口并交个对应的进程

举个例子

  • 你接收了很多的邮件,他们代表不同的功能(有中奖的,有工作的,有催你还花呗的),
  • 这时,你有一个秘书(操作系统)帮你将邮件放入对应的处理工序(进程)里面
  • 这时你可以同时接受各个地方发来的各种邮件,而这些邮件不会 乱成一团

而且根据不同的场景还提供了更加丰富的协议 tcp 与 udp

传输层的多进程支持为后面丰富的应用层功能提供基础

会话层
解决什么问题
  • 传输层进一步包装,
  • 控制连接开启,关闭,维护的控制中心
功能原理:
  • 控制连接与断开(代表:ssh)

类似于一个控制器,开关

表示层

解决什么问题
  • 数据传输的加密(加密通信:https)与多数据格式的解析(比如图片,音频,视频,收到的都是二进制形式的,如何转换成原始的数据)
  • 主要解决安全问题与丰富的文件格式的支持

应用层

解决什么问题
  • 展示发送方发送的数据最原始的样子(页面)
如何展示?
  • 发送方与接收方必须是相同的网络传输协议,采用相同一套的数据排版方式,
  • 这样拿到数据之后才知道每个数据怎么使用,放到那个位置,而不是接受一堆二进制数据.
相关推荐
zyu676 小时前
03-Docker存储和网络
网络·docker·容器
Arciab7 小时前
51单片机_LCD1602液晶显示
网络·嵌入式硬件·51单片机
DX_水位流量监测9 小时前
大坝安全监测之渗流渗压位移监测设备技术解析
大数据·运维·服务器·网络·人工智能·安全
电商API&Tina9 小时前
京东 API 数据采集接口接入与行业分析
运维·服务器·网络·数据库·django·php
童话的守望者9 小时前
dc8靶场通关
网络
寂寞恋上夜9 小时前
异步任务怎么设计:轮询/WebSocket/回调(附PRD写法)
网络·人工智能·websocket·网络协议·markdown转xmind·deepseek思维导图
Tao____9 小时前
基于Ruoyi开发的IOT物联网平台
java·网络·物联网·mqtt·网络协议
chao_66666611 小时前
解决 PowerShell 中文乱码问题
网络·学习·powershell
喵了meme11 小时前
Linux学习日记24:Linux网络编程基础
linux·网络·学习
Yan-英杰12 小时前
BoostKit OmniAdaptor 源码深度解析
网络·人工智能·网络协议·tcp/ip·http