• 【计算机网络】OSI七层网络参考模型


    OSI模型划分为7层,TCP/IP划分为4层,实际上有5层

    在这里插入图片描述

    OSI模型的目的是为了解决主机之间的通信,那么每一层在这里起了什么作用呢?

    • 物理层: 实际物理上的连通,用电、光等物理媒介,但是信号并不是一条路走到底,信号需要去到哪台设备是需要定向的,因此需要更高级一点的网络模型
    • 数据链路层: 数据链路层将比特封装成帧,封装的时候会加上物理地址(MAC地址),但是使用MAC地址来作为唯一的寻址方法是不科学的,因为两个MAC地址相似的网卡,在位置上可能相差千里,因此物理地址很难做出快速定位。因此需要IP地址来进行寻址,IP这样的逻辑地址就是实现端到端的基础,而不是物理地址那样的跳到跳传输。
      在这里插入图片描述
    • 网络层: 路由器也是网络层的核心。将数据封装为包,在封装为二层的帧之前就是包,路由器根据包里的IP地址进行路由转发,地址管理和路由选择就是这一层的核心,虽然有MAC地址和IP地址可以抵达对方的主机,但是对方主机可能运行着无数多个软件进程,如何让数据去到正确的进程里?就需要端口号。
    • 传输层: 在网络层的端到端的基础上,实现了服务进程到服务进程的传输。段就是传输层里数据的名字。负责可靠传输(TCP)和不可靠传输(UDP)
    • 会话层:管理登录状态、同步服务
    • 表示层: 负责编码和解码,加密、压缩等
    • 应用层: 在不同主机上的两个应用程序如何沟通?使用HTTP协议,开发者根据HTTP协议编写应用程序。
      在这里插入图片描述
      数据流通过程
      在这里插入图片描述
      注:
      上述所有的封装过程都是由操作系统完成,最后数据的发送一定是通过网卡发送出去。
      接收和解封同理。

    内容来源技术蛋老师|OSI七层网络参考模型

  • 相关阅读:
    基于Linux下的多人聊天室
    超强、超详细Redis入门教程
    知识图谱:知识表示发展史
    SpringBoot - @RequestBody、@ResponseBody的使用场景
    我想咨询一下Python,请问在哪儿找资源比较好呀?
    Vscode MacOS版本下载及html配置
    uni-app轮播图制作
    爱上开源之golang入门至实战第四章函数(Func)(六)
    nRF52832闪存FDS使用(SDK17.1.0)
    算法刷题第九天:广度优先搜索 / 深度优先搜索--3
  • 原文地址:https://blog.csdn.net/wenningker/article/details/126673623