当前位置: 首页 > news >正文

Flannel后端为UDP模式下,分析数据包的发送方式(二)

发往 10.244.2.5 的数据包最终会经过物理网卡 enp0s3,尽管路由表直接指定通过 flannel.1 发出。以下以 Markdown 格式详细解释为什么会经过 enp0s3,结合 Kubernetes 和 Flannel UDP 模式的背景。


问题分析

在 Kubernetes 环境中,使用 Flannel 的 UDP 模式,数据包的目标 IP 10.244.2.5 根据路由表匹配到以下路由:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.244.2.0      10.244.2.0      255.255.255.0   UG    0      0        0 flannel.1

这表明数据包通过 flannel.1 网卡发出,网关为 10.244.2.0。但问题是,数据包是否最终会经过物理网卡 enp0s3?答案是肯定的,我们从 Flannel UDP 模式的工作机制来详细分析。


Flannel UDP 模式的数据包转发过程

在 Flannel 的 UDP 模式下,flannel.1 是一个 TUN 设备,工作在用户态,负责将数据包交给 Flannel 的用户态进程(flanneld)进行封装。以下是数据包从发出到最终传输的步骤:

  1. 路由匹配

    • 目标 IP 10.244.2.5 匹配路由 10.244.2.0/24,指定通过 flannel.1 接口,网关为 10.244.2.0
    • 数据包被发送到 flannel.1,这是一个虚拟 TUN 设备,数据包会从内核态传递到用户态的 flanneld 进程。
  2. Flanneld 的 UDP 封装

    • flanneld 进程接收到数据包后,查询 etcd 或 Kubernetes API 中的子网映射,确定 10.244.2.0/24 对应的目标节点。例如,目标节点的物理 IP 可能是 192.168.1.x(假设在 192.168.1.0/24 网络中)。
    • flanneld 将原始数据包(目标 IP 10.244.2.5)封装为 UDP 数据包,默认使用端口 8472。
    • 封装后的 UDP 数据包的目标 IP 是目标节点的物理 IP(例如 192.168.1.x),源 IP 是当前节点的物理 IP(例如 192.168.1.y)。
  3. 通过物理网卡发送

    • 封装后的 UDP 数据包需要通过节点的物理网络接口发送到目标节点。
    • 根据路由表,物理 IP 192.168.1.x 属于 192.168.1.0/24,匹配以下路由:
      Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
      192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
      
    • 因此,UDP 数据包通过 enp0s3 网卡发送到目标节点的物理 IP。
  4. 目标节点处理

    • 目标节点上的 flanneld 进程监听 UDP 端口 8472,接收到 UDP 数据包。
    • flanneld 解封装数据包,提取原始数据包(目标 IP 10.244.2.5)。
    • 数据包通过目标节点的 cni0 接口转发到本地 Pod 子网(10.244.2.0/24),最终到达目标 Pod。

为什么会经过 enp0s3?

  • flannel.1 的角色flannel.1 是 TUN 设备,负责将数据包从内核态传递到用户态的 flanneld 进程。它不直接与物理网络交互,而是依赖 flanneld 进行 UDP 封装。
  • UDP 封装后的传输:封装后的 UDP 数据包需要通过物理网络发送到目标节点。当前节点的物理网络接口是 enp0s3,它负责处理 192.168.1.0/24 网络的通信(包括目标节点的物理 IP)。
  • 路由表的作用:路由表中的 192.168.1.0/24 条目明确指定通过 enp0s3 发送物理网络的流量。因此,flanneld 生成的 UDP 数据包会通过 enp0s3 发出。

数据包路径总结

  1. 数据包(目标 IP 10.244.2.5)根据路由表通过 flannel.1 发出。
  2. flannel.1 将数据包交给 flanneldflanneld 封装为 UDP 数据包(目标 IP 为目标节点的物理 IP,例如 192.168.1.x)。
  3. UDP 数据包根据路由表(192.168.1.0/24)通过 enp0s3 发出。
  4. 目标节点接收 UDP 数据包,解封装后转发到目标 Pod。

最终答案

是的,发往 10.244.2.5 的数据包最终会经过物理网卡 enp0s3,因为 Flannel UDP 模式将数据包封装为 UDP 格式后,通过物理网络接口 enp0s3 发送到目标节点。

 - UDP 模式下,数据包在 `enp0s3` 上是 UDP 封装的,源和目标 IP 分别是发送和接收节点的物理 IP,端口为 8472。
  • 验证方法
    • 使用更广的过滤条件抓包,例如:
      tcpdump -i enp0s3 udp port 8472
      
      这会抓取 Flannel UDP 模式的所有流量(默认端口 8472)。
    • 检查是否有 UDP 数据包,源和目标 IP 是否为节点间的物理 IP(例如 192.168.1.y -> 192.168.1.x)。
    • 如果需要确认数据包内容,可以使用 -X 查看数据包的原始内容,检查是否包含内部的 Pod IP 10.244.2.5

相关文章:

Flannel后端为UDP模式下,分析数据包的发送方式(二)

发往 10.244.2.5 的数据包最终会经过物理网卡 enp0s3,尽管路由表直接指定通过 flannel.1 发出。以下以 Markdown 格式详细解释为什么会经过 enp0s3,结合 Kubernetes 和 Flannel UDP 模式的背景。 问题分析 在 Kubernetes 环境中,使用 Flanne…...

超低延迟音视频直播技术的未来发展与创新

引言 音视频直播技术正在深刻改变着我们的生活和工作方式,尤其是在教育、医疗、安防、娱乐等行业。无论是全球性的体育赛事、远程医疗、在线教育,还是智慧安防、智能家居等应用场景,都离不开音视频技术的支持。为了应对越来越高的需求&#x…...

改写视频生产流程!快手SketchVideo开源:通过线稿精准控制动态分镜的AI视频生成方案

Sketch Video 的核心特点 Sketch Video 通过手绘生成动画的形式,将复杂的信息以简洁、有趣的方式展现出来。其核心特点包括: 超强吸引力 Sketch Video 的手绘风格赋予了视频一种质朴而真实的质感,与常见的精致特效视频形成鲜明对比。这种独…...

Circle宣布Circle Payments Network主网上线

据 Circle 官方消息,Circle Payments Network 主网正式上线。该网络是一个基于区块链的支付协调协议,允许银行和支付服务提供商使用公共区块链上的 USDC 进行实时结算。 Circle Payments Network 支持企业对企业供应商支付、跨境汇款、资金管理、企业定期…...

【RabbitMQ】记录 InvalidDefinitionException: Java 8 date/time type

目录 1. 添加必要依赖 2. 配置全局序列化方案&#xff08;推荐&#xff09; 3. 配置RabbitMQ消息转换器 关键点说明 1. 添加必要依赖 首先确保项目中包含JSR-310支持模块&#xff1a; <dependency><groupId>com.fasterxml.jackson.datatype</groupId>&l…...

linux 学习之位图(bitmap)数据结构

bitmap 可以高效地表示大量的布尔值&#xff0c;并且在许多情况下可以提供快速的位操作。 1 定义 enum device_state{DOWN,DOEN_DONE,MAILBOX_READY,MAILBOX_PENDING,STATE_BUILD };DECLARE_BITMAP(state,STATE_BUILD)&#xff1b;相当于》u32 state[BITS_TO_LONGS(4)] BIT…...

CNN手写数字识别/全套源码+注释可直接运行

数据集选择&#xff1a; MNIST数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST)。训练集&#xff08;training set&#xff09;由来自250个不同人手写的数字构成&#xff0c;其中50%是高中学生&#xff0c;50%来自人口普查局&…...

基于springboot+vue网页系统的社区义工服务互动平台(源码+论文+讲解+部署+调试+售后)

感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;我会一一回复&#xff0c;希望帮助更多的人。 系统背景 在社会文明程度不断提升、社区治理需求持续深化的大背景下&#xff0c;社区义工服务作为…...

MBSS-T1:基于模型的特定受试者自监督运动校正方法用于鲁棒心脏 T1 mapping|文献速递-深度学习医疗AI最新文献

Title 题目 MBSS-T1: Model-based subject-specific self-supervised motion correction forrobust cardiac T1 mapping MBSS-T1&#xff1a;基于模型的特定受试者自监督运动校正方法用于鲁棒心脏 T1 mapping 01 文献速递介绍 心脏T1定量成像&#xff08;Quantitative Car…...

Google机器学习实践指南(迭代学习机制解析篇)

&#x1f525; Google机器学习(5)-迭代学习机制解析 Google机器学习实战(5)-深入理解模型训练中的迭代优化过程 一、迭代学习概念 ▲ 核心定义&#xff1a; 在训练机器学习模型时&#xff0c;首先对权重和偏差进行初始猜测&#xff0c;然后反复调整这些猜测&#xff0c;直到…...

【时时三省】Python 语言----文件

目录 1,文件打开 2, 文件关闭 3, 文件写入 4, 文件读出 5, 文件定位 6, 文件重命名 7, 复制文件 山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 1,文件打开 file = open(file, mode, buffering, encoding, errors, newline, closefd, opener) 2, 文…...

WPF···

设置启动页 默认最后一个窗口关闭,程序退出,可以设置 修改窗体的icon图标 修改项目exe图标 双击项目名会看到代码 其他 在A窗体点击按钮打开B窗体,在B窗体设置WindowStartupLocation=“CenterOwner” 在A窗体的代码设置 B.Owner = this; B.Show(); B窗体生成在A窗体中间…...

架构图 C4 规范简介

架构图 C4 规范简介 C4&#xff08;Context, Containers, Components, Code&#xff09;是一种用于软件架构可视化的分层建模方法&#xff0c;由 Simon Brown 提出。它通过四个不同层次的抽象来描述软件系统&#xff0c;适用于不同受众&#xff08;如业务人员、架构师、开发人…...

运维Web服务器核心知识与实战指南

一、Web服务器基础概述 &#xff08;一&#xff09;核心定义与功能 Web服务器是互联网的基础设施&#xff0c;负责存储、处理和传输网页内容&#xff0c;通过HTTP/HTTPS协议与客户端交互。其核心功能包括&#xff1a; 请求处理&#xff1a;监听端口&#xff08;默认80/443&a…...

免费建站系统是什么?如何选择免费建站系统?

如今&#xff0c;换互联网成为大家生活中必不可少的一部分。对于普通的个人、一些企业、包括一些事业单位&#xff0c;拥有一个高效实用的网站成为展示、宣传、产品介绍的重要途径。但是对于很多用户来说&#xff0c;对于一些没有建站基础的用户来说&#xff1a;建站是一项高门…...

React---day1

React 它允许我们只需要维护自己的状态&#xff0c;当状态改变时&#xff0c;React可以根据最新的状态去渲染我们的UI界面 开发React必须依赖三个库&#xff1a; eact&#xff1a;包含react所必须的核心代码react-dom&#xff1a;react渲染在不同平台所需要的核心代码babel&…...

赋能智慧党建:远眺科技助力党校可视化系统高效落地

项目背景&#xff1a;智慧党校建设的时代召唤 在数字化浪潮席卷各行各业的今天&#xff0c;传统党校亦面临转型升级的迫切需求。 宁波某地党校&#xff0c;积极响应国家关于推进“智慧党建”的号召&#xff0c;旨在通过引入先进信息技术&#xff0c;打造一个集数据展示、信息…...

解决使用HBuilder X开发时uView组件不生效的问题

1.uni-ui 是一个为 uni-app 开发的 UI 组件库&#xff0c;你可以通过 npm 安装它。 在项目的根目录下打开终端&#xff08;可以通过菜单“工具” > “终端”打开&#xff09;&#xff0c;然后运行以下命令来安装 uni-ui&#xff1a; npm install uview-ui2.安装后&#xff…...

React中 lazy与 Suspense懒加载的组件

MyHead.jsx console.log(MyHead.jsx); function Head() {return <>hello Head</>; } export default Head;懒加载.jsx // 引入 React 的 useState、lazy 和 Suspense API // lazy 用于懒加载组件&#xff0c;Suspense 用于在加载过程中显示 loading 状态 import …...

网络学习-利用reactor实现http请求(六)

一、实现HTTP请求 1、印象里面&#xff0c;总有人说C/C语言不能实现HTTP请求&#xff0c;其实不然。C/C语言完全可以实现HTTP请求。通过对select,poll,epoll等IO多路复用技术的学习以及reactor模式的学习&#xff0c;完全能够实现HTTP请求。 2、webserver 主要解决两个问题 …...

【东枫科技】usrp rfnoc 开发环境搭建

作者 太原市东枫电子科技有限公司 &#xff0c;代理销售 USRP&#xff0c;Nvidia&#xff0c;等产品与技术支持&#xff0c;培训服务。 环境 Ubuntu 20.04 依赖包 sudo apt-get updatesudo apt-get install autoconf automake build-essential ccache cmake cpufrequtils …...

RabbitMQ的其中工作模式介绍以及Java的实现

文章目录 前文一、模式介绍1. 简单模式2. 工作队列模式3. 广播模式4. 路由模式5. 通配符模式6. RPC模式7. 发布确认模式 二、代码实现1、简单模式2、工作队列模式生产者消费者消费者 1消费者 2 3、广播模式 (Fanout Mode)生产者消费者 4、路由模式 (Direct Mode)生产者消费者 5…...

Docker 镜像打包到本地

保存镜像 使用 docker save 命令将镜像保存为一个 tar 文件。命令格式如下&#xff1a; docker save [options] IMAGE [IMAGE...]示例&#xff1a;docker save -o centos.tar centos:latest--output 或 -o&#xff1a;将输出保存到指定的文件中。 加载镜像 如果需要在其他机器…...

5分钟搭建智能看板:衡石科技自助式BI工具使用教程

在数据驱动的时代&#xff0c;业务人员需要快速将数据转化为洞察&#xff0c;而非依赖IT团队排队开发报表。衡石科技HENGSHI SENSE的自助式BI工具&#xff0c;通过零代码配置、模板化设计、智能分析三大核心能力&#xff0c;让任何人都能在5分钟内搭建专业级数据看板。本文将手…...

安卓开发用到的设计模式(1)创建型模式

安卓开发用到的设计模式&#xff08;1&#xff09;创建型模式 文章目录 安卓开发用到的设计模式&#xff08;1&#xff09;创建型模式1. 单例模式&#xff08;Singleton Pattern&#xff09;2. 工厂模式&#xff08;Factory Pattern&#xff09;3. 抽象工厂模式&#xff08;Abs…...

Unity3D序列化机制详解

前言 Unity3D的序列化机制是其编辑器与运行时数据管理的核心&#xff0c;理解其工作原理对高效开发至关重要。以下是关键点总结&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;希望大家可以点击进来一起交流一下开发经验呀&#xff01; 1. 序列化的作…...

[Harmony]自定义导航栏

1.方案一 CustomNavigationBar import { router } from kit.ArkUI; import { DevicesUtil } from ../utils/DevicesUtil; import { common } from kit.AbilityKit;Component export struct CustomNavigationBar {State private navHeight: number 44State parTitle: string …...

LeetCode117_填充每个结点的下一个右侧结点指针Ⅱ

LeetCode117_填充每个结点的下一个右侧结点指针Ⅱ 标签&#xff1a;#树 #深度优先遍历 #广度优先遍历 #链表 #二叉树Ⅰ. 题目Ⅱ. 示例 0. 个人方法 标签&#xff1a;#树 #深度优先遍历 #广度优先遍历 #链表 #二叉树 Ⅰ. 题目 给定一个二叉树&#xff1a; struct Node {int v…...

Qt enabled + geometry 属性(2)

文章目录 enabled属性可用与禁用的概念API接口代码演示 阐述说明1. 先简单描述下要如何演示出上面两个接口的效果&#xff08;思路&#xff09;2. 事先规范按钮对象的命名3. 定义两个按钮对象的槽函数 动图演示效果4. widget.cpp geometry属性预备知识API接口上下左右移动 ta…...

OpenHarmony外设驱动使用 (十),Sensor

OpenHarmony外设驱动使用 &#xff08;十&#xff09; Sensor 概述 功能简介 Sensor驱动模型屏蔽硬件器件差异&#xff0c;为上层Sensor服务系统提供稳定的Sensor基础能力接口&#xff0c;包括Sensor列表查询、Sensor启停、Sensor订阅及取消订阅&#xff0c;Sensor参数配置等…...

(2025小白全踩坑版)【OpenHarmony】移植 3.1 版本系统到 STM32F407ZG开发板

在上stm32课程&#xff0c;有这样一道要求&#xff1a; 参考了大佬的文章之后&#xff0c;发现出现了liteos_m.mk文件找不到的情况&#xff0c;于是只能另寻他路 VSCode 搭建 STM32 开发环境_vscode stm32仿真-CSDN博客 【OpenHarmony】移植 3.1 版本系统到 STM32_openharm…...

【HTML-4】HTML段落标签:构建内容结构的基础

在网页开发中&#xff0c;段落标签<p>是最基础也是最重要的HTML元素之一。这篇博客将深入探讨段落标签的用法、最佳实践以及相关技术细节。 1. 段落标签的基本用法 HTML段落标签用于定义文本段落&#xff0c;浏览器会自动在段落前后添加一定的空白&#xff08;margin&a…...

深度学习+Flask 打包一个AI模型接口并部署上线

🚀 深度学习 + Flask 打包一个 AI 模型接口并部署上线(实战教程) 深度学习模型训练完毕后,我们该如何部署上线让它“动起来”?本篇带你手把手用 Flask 将训练好的 PyTorch 模型封装成 Web 接口,实现一个轻量、可访问的在线 AI 服务。 🧠 一、为什么要部署模型? 训练…...

C++类与对象(二):六个默认构造函数(二)

在上篇提到了构造函数、拷贝构造函数、析构函数&#xff0c;这篇将会分享剩下默认构造函数&#xff1a;赋值运算符重载、运算符重载。当学习了这些构造函数可以实现一个日期类。 目录 运算符重载 赋值运算符重载 前置 后置 运算符重载 函数名字为&#xff1a;关键字operat…...

HarmonyOS NEXT应用开发实战:玩鸿蒙App客户端开发

之前学习android时候&#xff0c;有一个玩android的客户端项目很火&#xff0c;不但能够学习知识&#xff0c;还能够动手实践&#xff0c;激发学习兴趣。这里作者通过一个完整的实战项目—玩鸿蒙客户端App&#xff0c;一块儿深入学习如何在HarmonyOS平台上开发一个功能丰富且完…...

十六、面向对象底层逻辑-BeanPostProcessor接口设计

一、引言&#xff1a;Bean生命周期的精密控制 在Spring容器的Bean实例化过程中&#xff0c;BeanPostProcessor接口是开发者介入对象初始化阶段的核心扩展点。作为Spring框架最强大的扩展机制之一&#xff0c;该接口提供了对Bean实例化过程的原子级控制能力&#xff0c;支撑了A…...

在线免费图片处理工具-传道软件图片工具

在线免费图片处理工具-传道软件图片工具 在线免费图片处理工具&#xff0c;无需注册与登录&#xff0c;用完即走。 官网链接&#xff1a; https://www.chdaoai.com/image.html 功能有&#xff1a; Favicon图标生成&#xff0c;图片颜色拾取器&#xff0c;屏幕颜色拾取&…...

JS进阶学习04

一、深浅拷贝 1.浅拷贝 首先浅拷贝和深拷贝只针对引用类型 浅拷贝&#xff1a;拷贝的是地址 常见方法&#xff1a; 1. 拷贝对象&#xff1a;Object.assgin() / 展开运算符 {...obj} 拷贝对象 2. 拷贝数组&#xff1a;Array.prototype.concat() 或者 [...arr] >如果是简…...

CSS、SCSS 和 SASS 的语法差异

CSS、SCSS 和 SASS 的语法差异 CSS (Cascading Style Sheets) 标准样式表语言&#xff0c;所有浏览器原生支持语法特点&#xff1a; 使用大括号 {} 包裹规则使用分号 ; 结束声明简单的选择器-属性-值结构 .container {width: 100%;margin: 0 auto; }SCSS (Sassy CSS) CSS的…...

ThreadPoolTaskExecutor 和 ThreadPoolExecutor 的使用场景

在Spring Boot项目中&#xff0c;ThreadPoolTaskExecutor 和 ThreadPoolExecutor 的使用场景不同&#xff0c;但大部分开发者会更倾向于用 ThreadPoolTaskExecutor。我来给你拆解清楚&#xff0c;面试时直接甩这个答案&#xff01; 1️⃣ 核心区别 ThreadPoolExecutor&#xf…...

打卡31天

文件的规范拆分和写法 知识点回顾 规范的文件命名 规范的文件夹管理 机器学习项目的拆分 编码格式和类型注解 作业&#xff1a;尝试针对之前的心脏病项目&#xff0c;准备拆分的项目文件&#xff0c;思考下哪些部分可以未来复用。 补充介绍&#xff1a; pyc文件的介绍 知识…...

OBOO鸥柏丨AI数字人触摸屏查询触控人脸识别语音交互一体机上市

OBOO鸥柏丨AI数字人触摸屏查询触控人脸识别语音交互一体机上市分析 OBOO鸥柏品牌推出的AI数字人触摸屏查询触控人脸识别语音交互一体机&#xff0c;是其在智能交互设备领域的又一创新产品。该一体机整合了触摸屏查询、AI人脸识别、AI声源定位语音麦克风&#xff0c;触控交互以…...

基于大模型的闭合性尺桡骨干骨折全方位诊疗研究报告

目录 一、引言 1.1 研究背景与目的 1.2 研究意义 二、大模型技术原理与应用现状 2.1 大模型基本原理 2.2 在医疗领域的应用案例 三、闭合性尺桡骨干骨折概述 3.1 骨折定义与分类 3.2 流行病学特征 3.3 临床症状与诊断方法 四、大模型在术前风险预测中的应用 4.1 数…...

Win11上安装docker

Win11上安装docker 一、安装WSL&#xff08;Windows Subsystem for Linux&#xff09;二、安装docker到D盘三、启动docker四、测试启动容器 一、安装WSL&#xff08;Windows Subsystem for Linux&#xff09; 以管理员身份打开cmd 更新WSL wsl --update3. 安装WSL wsl --ins…...

Axure项目实战:智慧运输平台后台管理端-订单管理1(多级交互)

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 课程主题:订单管理 主要内容:条件组合、中继器筛选、表单跟随菜单拖动、审批数据互通等 应用场景…...

如何在 Android 手机和平板电脑上下载应用程序

对于Android用户来说&#xff0c;从Google Play Store下载应用程序并不陌生&#xff0c;对吧&#xff1f;但是&#xff0c;除了 Google Play 商店之外&#xff0c;您还可以在哪里为 Android 设备下载和安装应用程序呢&#xff1f;这就是我们今天要分享的内容。我们解释了 6 种下…...

C++23 新特性:允许 std::stack 与 std::queue 从迭代器对构造 (P1425R4)

文章目录 背景与动机提案内容与实现细节提案 P1425R4实现细节编译器支持 对开发者的影响提高灵活性简化代码向后兼容性 总结 C23标准带来了许多令人兴奋的新特性和改进&#xff0c;其中之一便是对标准容器的增强。提案P1425R4允许 std::stack 和 std::queue 直接从一对迭代器…...

在线OJ系统测试报告

在线OJ系统测试报告 项目背景项目功能管理员功能用户功能 测试计划功能测试自动化测试性能测试 项目背景 本项目为在线OJ系统&#xff0c;采用微服务架构以及前后端分离的方法来实现&#xff0c;包含用户管理、题目管理、竞赛管理、判题服务、网关服务、消息与任务调度等多个子…...

31-35【动手学深度学习】深度学习硬件

1. CPU和GPU 1.1 CPU CPU每秒钟计算的浮点运算数为0.15&#xff0c;GPU为12。GPU的显存很低&#xff0c;16GB&#xff08;可能32G封顶&#xff09;&#xff0c;CPU可以一直插内存。 左边是GPU&#xff08;只能做些很简单的游戏&#xff0c;视频处理&#xff09;&#xff0c;中…...

Dify的大语言模型(LLM) AI 应用开发平台-本地部署

前言 今天闲着&#xff0c;捣鼓一下 Dify 这个开源平台&#xff0c;在 mac 系统上&#xff0c;本地部署并运行 Dify 平台&#xff0c;下面记录个人在本地部署Dify 的过程。 Dify是什么&#xff1f; Dify是一个开源的大语言模型&#xff08;LLM&#xff09;应用开发平台&#…...