BGP综合实验拆解:从邻居建立到路由反射与选路控制
很难找到一个比 BGP 更基础又劝退的协议。很多朋友跟我一样第一次配 BGP 时照着文档敲完 neighbor、看着状态机跳到 Established就长舒一口气觉得实验做完了。直到真正面对题目只写着bgp综合实验四个字、要求在模拟器里搭起完整业务场景时才会发现自己对 IBGP/EBGP 的区别、下一跳问题、路由反射器规则、选路策略这些知识点根本没串起来。这篇文章我把一个典型的 BGP 综合实验拆开揉碎从拓扑设计、地址规划到路由策略配置、故障排查完整跑一遍。内容按实验环境与设计思路 → 核心协议机制 → 配置验证 → 踩坑排错来组织适合正在备考网络认证、准备面试或刚接手企业网络维护的朋友。你不需要有真实设备用主流模拟器就能复现但建议先把 TCP/IP、OSPF、基础路由转发搞清楚再上手否则会被概念砸晕。1. 实验场景与拓扑设计1.1 综合实验到底在练什么BGP 和 OSPF、静态路由最大的区别是它承载的是跨 AS 的路径选择天然带有策略属性。单点实验一般只验证邻居能不能建立、路由能不能学到但生产环境里的问题远不止这些——尤其是当一个 AS 要同时对接多个上游、内部还要通过反射器分发路由时你必须在同一个实验里把下面几个问题串起来EBGP 邻居是跨 AS 建立的更新源、TTL、AS 号任何一项错一点状态就卡在 ActiveIBGP 路由进入 AS 后下一跳默认还是 EBGP 对端地址如果不做下一跳修改内部路由器可能学得到路由但装不进 IP 路由表IBGP 全互联在路由器多时不可扩展路由反射器能解决但反射规则一记混就出黑洞出站流量和入站流量要控制的属性完全不同Local-Pref 管出站MED 和 AS Path 管理入站用错地方等于白配。综合实验的价值就是把上面几个问题摆在一个拓扑里逼你逐步拆解。做完之后你对 BGP 的认知会从能建邻居升级到能控制路由的走向。1.2 推荐拓扑单 AS 对接双 ISP我用的拓扑是经典的单 AS 双上联场景企业侧内部 4 台路由器模拟两个上游运营商。这个场景非常贴近真实企业网络一家公司有两个 ISP 出口内部运行 IBGP同时公司自身也有对外发布的业务网段。ISP1 (AS 65002) | R5 | 192.168.15.0/30 | R1 (AS 65001, RR) ---- R2 (AS 65001) | \ / | | \ / | R3 R4企业内部 AS 号用 65001两个模拟 ISP 分别用 65002、65003。这里强调一句实验里可以随便用私有 AS 号64512-65535真实商业环境接入公网必须使用运营商分配的公有 AS 号两者机制完全一致不用担心实验结论失真。每台设备的 Loopback 0 同时承担两种角色一是作为 OSPF 路由的终点保证 IBGP 更新源稳定二是作为 Router ID参与 BGP 选路比较。整体地址规划见下表。设备AS互联接口IP 地址说明R165001Loopback01.1.1.1/32Router ID / 反射器R165001GE0/0/1 到 R210.0.12.1/30核心间互联R165001GE0/0/2 到 R310.0.13.1/30接入互联R165001GE0/0/3 到 R410.0.14.1/30接入互联R165001GE0/0/0 到 ISP1192.168.15.1/30上行出口 1R265001Loopback02.2.2.2/32Router IDR265001GE0/0/1 到 R110.0.12.2/30核心间互联R265001GE0/0/2 到 R310.0.23.2/30接入互联R265001GE0/0/3 到 R410.0.24.2/30接入互联R265001GE0/0/0 到 ISP2192.168.26.2/30上行出口 2R365001Loopback03.3.3.3/32反射器客户端R365001GE0/0/1 到 R110.0.13.3/30接入互联R365001GE0/0/2 到 R210.0.23.3/30接入互联R465001Loopback04.4.4.4/32反射器客户端R465001GE0/0/1 到 R110.0.14.4/30接入互联R465001GE0/0/2 到 R210.0.24.4/30接入互联R565002Loopback05.5.5.5/32模拟 ISP1R565002GE0/0/0 到 R1192.168.15.5/30对端互联R665003Loopback06.6.6.6/32模拟 ISP2R665003GE0/0/0 到 R2192.168.26.6/30对端互联模拟 ISP 侧还会回环宣告几条路由模拟公网前缀R5 发布 202.1.1.0/24 和 202.2.2.0/24R6 发布 203.1.1.0/24 和 203.2.2.0/24。企业侧业务网段则用 network 命令注入 201.1.1.0/24 和 201.2.1.0/24。这样拓扑里既有 EBGP 学习到的外部路由也有本地通过 network 发布的业务路由后面验证反射、策略时都有内容可看。1.3 拓扑设计里的关键取舍刚开始做实验的时候我习惯把 IBGP 配成全网状互联6 台设备两两建邻居模拟器性能吃得消配置却写了一堆而且完全没体现出反射器的价值。后来才意识到综合实验的意义不是把每个协议都配一遍而是挑一个能放大问题的场景去反复验证。所以这里故意让 R1 做路由反射器R2、R3、R4 都作为它的客户端这样一方面减少了 IBGP 会话数量另一方面也能测试反射场景下的路由学习是否符合预期。内部 IGP 我选择 OSPF把所有物理接口和 Loopback 接口都通告到 Area 0。原因是真实场景中IBGP 依赖 IGP 解决下一跳可达性问题OSPF 收敛快、排查直观适合作为底层。如果用静态路由也能做但你在排障时往往分不清是路由反射问题还是静态路由缺失问题实验容易卡住。EBGP 互联我用了直连物理接口地址没有走 Loopback。这里要和 IBGP 区分开IBGP 用 Loopback 是为了物理链路中断时邻居依然可用EBGP 一般对端是不同 AS 的运营商设备中间可能隔着多层网络反而应该在直连接口或专门规划的互联地址上建邻居尽量不要绕路。很多初学者喜欢全部用 Loopback 建邻居结果 EBGP 邻居老是 Up 不起来就是因为中间没有打通到对端 Loopback 的路由。2. 先把四个核心机制吃透2.1 EBGP 与 IBGP 的江湖规矩BGP 区分 EBGP 和 IBGP根本目的是防环。EBGP 的一方收到路由后会检查 AS Path如果发现自己 AS 号已在路径里就判定环路并丢弃IBGP 则依靠水平分割规则从 IBGP 对等体学到的路由不会再通告给任何其他 IBGP 对等体。这个规则虽然简单却带来一个很现实的问题AS 内部路由器为了保证所有 IBGP 路由器都学到外部路由必须形成全互联的 IBGP 会话设备一多就完全不可行。所以实验里 R1 被配置成反射器之后R2/R3/R4 之间的 IBGP 会话就可以省掉由 R1 代为中转——这里的逻辑基础就是对水平分割规则的合理突破而不是删除。配置 EBGP 时还有几个容易踩的细节EBGP 对等体默认 TTL 为 1如果你用 Loopback 做更新源中间跨了设备必须手动增加 TTL如果只用直连接口地址则没有这个问题。我的实验为了控制复杂度EBGP 全部走直连接口IBGP 全部走 Loopback这样思路最清晰。2.2 IBGP 下一跳问题与 Loopback 更新源IBGP 路由进入 AS 后BGP 表中的下一跳默认还是 EBGP 对端地址比如 R3 从 R1 学到 202.1.1.0/24下一跳是 192.168.15.5。问题是 R3 的 IGP 路由表里根本没有 192.168.15.0/30 这个网段因为 OSPF 只在 AS 内部运行。于是 BGP 表里有路由IP 路由表却装不进去这就是经典的BGP 路由不活跃问题。解决办法是修改 BGP 通告给 IBGP 对等体时的下一跳为自身地址。命令上就是 peer 后面加上 next-hop-local 或 next-hop-self 的选项不同厂商关键字略有差别但思路一致让 IBGP 对等体看到的下一跳落在自己 AS 内、且可通过 IGP 到达。做了这个修改后R3 看到的下一条会变成 1.1.1.1 或 10.0.13.1再配合 OSPF 可达性就能正常转发。Loopback 更新源也跟这个问题相关。IBGP 邻居对端地址如果使用物理接口地址物理链路一断邻居就断使用 Loopback 地址时只要 OSPF 还能通过其他路径到达这个地址BGP 会话就不会抖动。生产环境里IBGP 几乎都建议用 Loopback 作为更新源这也是我实验里这么规划的原因。2.3 路由反射器不是随便配的路由反射器的目的是打破 IBGP 水平分割但规则必须记准否则会出现有些路由学不到、有些路由却出现环路。三条核心规则我用自己的话复述一遍反射器从客户端学到的路由会反射给所有其他客户端和所有非客户端反射器从非客户端学到的路由只反射给客户端不会反射给其他非客户端反射器从 EBGP 对等体学到的路由会反射给所有客户端和非客户端。实验里 R1 把 R2、R3、R4 都配成客户端形成了一个全客户端的反射器环境规则变得很简单只要 R1 学到路由就会反射给所有客户端。如果实验再复杂一点在 AS 里加一个非客户端路由器就必须注意非客户端之间不互相反射这条很多综合实验的黑洞都来自这里。反射器的 Originator ID 和 Cluster ID 也要知道。Originator ID 用于标识路由起源的路由器防止路由反射回来后又被原发起者重新接受Cluster ID 用于防止集群内环路。默认情况下 Originator ID 为发起者 Router ID如果你用多个反射器需要手动配置 Cluster ID。这个细节在纯单反射器拓扑里不体现但面试时非常爱考。2.4 选路原则如何支撑路由策略BGP 的选路原则是综合实验的灵魂因为策略配置只是手段最终要预测的是一条路由在设备上会怎么选。常用顺序整理如下设备厂商私有的本地优选属性如 Weight 或 Preferred-Value最大Local Preference 最大本地起源路径优先于从其他对等体学到的路径AS Path 最短优先Origin 类型IGP 优于 EGP 优于 IncompleteMED 最小优先EBGP 路由优于 IBGP 路由到下一跳的 IGP metric 最小优先。实验里我会用 Local-Pref 控制出站流量用 AS Path Prepending 控制入站流量。Local-Pref 是本地 AS 内传递的属性R1 从 ISP1 学到的路由抬高 Local-Pref等于告诉 AS 内所有路由器去外网优先走 R1 出口。AS Path Prepending 则是在向对端通告路由时人为追加自己的 AS 号让路径变长这样对端 AS 在选路时会把这条路径排后适用于需要引导入站流量的场景。要特别注意 Local-Pref 和 MED 的应用方向Local-Pref 高者优先只影响本 AS 的出站路径选择MED 小者优先用来影响对端 AS 的入站路径选择。很多初学者在这两个属性上反复翻车其实记住一句话就行Local-Pref 管我出去MED 管别人进来。3. 完整配置与验证下面配置我以常见的命令行风格为例厂商不同关键字略有差异关键点我会标注清楚。开始前建议清空所有设备配置按顺序操作否则很容易出现历史配置干扰。3.1 基础地址与 OSPF 部署先给 R1 配置接口地址和 OSPF其他设备类似。system-view sysname R1 interface LoopBack0 ip address 1.1.1.1 32 interface GE0/0/0 ip address 192.168.15.1 30 interface GE0/0/1 ip address 10.0.12.1 30 interface GE0/0/2 ip address 10.0.13.1 30 interface GE0/0/3 ip address 10.0.14.1 30 ospf 1 router-id 1.1.1.1 area 0.0.0.0 network 1.1.1.1 0.0.0.0 network 10.0.0.0 0.255.255.255 network 192.168.15.0 0.0.0.3注意我在 OSPF 里通告了 192.168.15.0/30这样即使不用 next-hop-localR3 也能通过 OSPF 学到 EBGP 路由的原始下一跳。但真实生产环境不推荐把上行互联地址全部放进 OSPF更标准做法是只跑内部地址外部路由的下一跳由 BGP 的 next-hop 修改解决。实验里放进去是为了演示如果 IGP 能学到下一跳路由也能活但生产别这么干。R2、R3、R4 的配置除了地址不同结构和 R1 一样。R2 需要通告 10.0.12.0/30、10.0.23.0/30、10.0.24.0/30 和自己的 Loopback 2.2.2.2R3 通告 10.0.13.0/30、10.0.23.0/30 和 3.3.3.3R4 通告 10.0.14.0/30、10.0.24.0/30 和 4.4.4.4。配置完成后互相 ping Loopback 应全通。3.2 配置 EBGP 邻居与路由发布R1 与 ISP1 建立 EBGPR2 与 ISP2 建立 EBGP。以 R1 为例bgp 65001 router-id 1.1.1.1 peer 192.168.15.5 as-number 65002 peer 192.168.15.5 next-hop-local ipv4-family unicast network 201.1.1.0 255.255.255.0R2 上则是对 192.168.26.6 建立 EBGP并发布 201.2.1.0/24。ISP 侧 R5、R6 分别宣告 202.x.x.x 和 203.x.x.x 的网段system-view sysname R5 interface LoopBack0 ip address 5.5.5.5 32 interface GE0/0/0 ip address 192.168.15.5 30 bgp 65002 router-id 5.5.5.5 peer 192.168.15.1 as-number 65001 ipv4-family unicast network 202.1.1.0 255.255.255.0 network 202.2.2.0 255.255.255.0配置完成后在 R1 上执行显示 BGP 对等体的命令应能看到与 192.168.15.5 的状态为 Established。注意 EBGP 邻居要求两端 AS 号与配置一致且 TCP 端口 179 可达两边互联地址能互相 ping 通是做这个实验的前提。3.3 配置 IBGP 与路由反射器现在配置 R1 与 R2、R3、R4 的 IBGP 会话。因为 IBGP 用 Loopback 做更新源必须指定 connect-interface否则默认会拿物理出接口地址做更新源导致对端校验失败。bgp 65001 router-id 1.1.1.1 peer 2.2.2.2 as-number 65001 peer 2.2.2.2 connect-interface LoopBack0 peer 2.2.2.2 reflect-client peer 3.3.3.3 as-number 65001 peer 3.3.3.3 connect-interface LoopBack0 peer 3.3.3.3 reflect-client peer 4.4.4.4 as-number 65001 peer 4.4.4.4 connect-interface LoopBack0 peer 4.4.4.4 reflect-clientR2、R3、R4 上也都要配置与 R1 的 IBGP 会话但不需要配置 reflect-client 参数因为反射器的角色只在 R1 上定义。以 R3 为例bgp 65001 router-id 3.3.3.3 peer 1.1.1.1 as-number 65001 peer 1.1.1.1 connect-interface LoopBack0R3 不需要跟 R2、R4 建立 IBGP。完成这些配置后在 R3 上查看 BGP 路由表时应能看到来自 ISP1 和 ISP2 的外部路由而且 R3 不需要主动去和 R2 建邻居这就体现了反射器的效果。3.4 用路由策略控制上游选路如果只让默认选路跑R3 去外部路由时会怎么选呢它会比较两条 IS-ISP 路径的 Local-Pref如果都是默认 100就比 AS Path 长度ISP1 是 65002、ISP2 是 65003长度一样然后比较 MED 也都是默认 0最后可能因为 Router ID 大小分出主备但这完全不可控。为了让实验有明确的预期结果我用路由策略做两类控制。第一类控制是在 R1 上对从 ISP1 学到的路由抬高 Local-Pref 到 150ip ip-prefix ISP1_PREFIX permit 202.0.0.0 8 less-equal 32 route-policy LP_ISP1 permit node 10 if-match ip-prefix ISP1_PREFIX apply local-preference 150 route-policy LP_ISP1 permit node 20 bgp 65001 peer 192.168.15.5 route-policy LP_ISP1 import这个效果是只要 R1 从 ISP1 学到的前缀属于 202.0.0.0/8 网段Local-Pref 就变成 150而 R2 从 ISP2 学到的 203.x.x.x 前缀 Local-Pref 保持默认 100于是 AS 内所有 IBGP 路由器去 202.1.1.0/24 都会优先走 R1 出口。第二类控制是为了展示 AS Path 的影响。如果我们想让 202.2.2.0/24 这条前缀在 R3 上改走 R2 出口可以在 R1 上对这条前缀做 AS Path 追加把它变长ip ip-prefix ISP1_SPECIAL permit 202.2.2.0 32 route-policy AS_PATH_PREPEND permit node 10 if-match ip-prefix ISP1_SPECIAL apply as-path 65002 65002 65002 route-policy AS_PATH_PREPEND permit node 20 bgp 65001 peer 192.168.15.5 route-policy AS_PATH_PREPEND import注意 apply as-path 后面的 AS 号写法在不同厂商有差异有些需要完整地写 65002 65002 65002有些需要指定追加位置。核心思想是让这条路由的 AS Path 从 65002 变成 65002 65002 65002长度从 1 变成 3。ISP1 侧配置完R3 比较两条路径时202.2.2.0/24 这条路由走 ISP1 的 AS Path 长度是 3走 ISP2 的路径长度是 1从 203 路径学到的 AS Path 是 65003所以最终会选择 ISP2 的出口。3.5 验证实验效果配置全部完成后我习惯按下面顺序验证不要一上来就 ping那样排错效率很低查看 IBGP 和 EBGP 邻居状态确认全部 Established查看 BGP 路由表确认从 R1/R2 学到的外部路由都存在查看 IP 路由表确认 BGP 路由是否被安装为活跃路由最后用 ping 和 tracert 验证实际转发路径。在 R3 上查看 BGP 邻居和路由表display bgp peer display bgp routing-table预期能看到 R1 反射过来的 202.1.1.0/24、202.2.2.0/24 和 203.x.x.x。再查看 202.1.1.0/24 的详细 BGP 信息display bgp routing-table 202.1.1.0与预期一致时最佳路径的 Local-Pref 应该是 150说明策略生效下一跳应该是 1.1.1.1因为 R1 做了 next-hop-localAS Path 是 65002。接着看 202.2.2.0/24 的详细信息最佳路径的 AS Path 应该是 65003而不是被追加后的长路径说明 AS Path 策略生效。最后在 R3 上执行display ip routing-table 202.1.1.0 ping 202.1.1.1如果路由器能正常转发并且 traceroute 第一跳是 10.0.13.1R1就能确认整条IGP 开通 → EBGP 建立 → 反射 → 策略控制 → 下一跳修正链路是通的。4. 故障排查手册4.1 邻居卡在 Idle 或 ActiveBGP 邻居状态卡在 Idle通常是对等体配置根本没生效或者本端没有发起 TCP 连接卡在 Active说明本端在反复尝试连接对端但连不上。最常见的几个原因按出现频率排列互联地址没有互通直接 ping 对端连接地址不通就先查接口和 VLAN对端 AS 号配置错误两边 AS 号不匹配BGP 会直接拒绝对等体关系没有指定更新源或更新源不对IBGP 用 Loopback 建邻居时必须指定 connect-interface防火墙或模拟器安全区域拦截了 TCP 179 端口Router ID 未配置很多厂商缺省没有 Router ID 会导致对等体建立失败。排查时先 ping 对端更新源地址然后查看本端和对端的 BGP 配置逐行比对 AS 号、更新源、使能地址族。如果都没问题再确认对端是否配置了 peer 指向本端的命令——很多新手只配了本端去连对端的命令却忘了对端也要配置回来。4.2 邻居 Up 了路由却不活跃这是 BGP 实验里最坑的一类故障display bgp routing-table 里明明有路由但 display ip routing-table 里看不到或者路由是带黑洞标记的。多数原因是下一跳不可达设备学得到 BGP 路由但发现下一跳在 IGP 路由表里不存在于是不把它装进 IP 路由表。解决办法就两个一是把 EBGP 对等体互联网段引入 IGP实验可行但生产不推荐二是让 IBGP 通告时把下一跳改成自身地址也就是配置 next-hop-local。我实验里已经给 R1、R2 都配置了 next-hop-local如果模拟器版本不支持这个关键字检查一下你的厂商文档里对应的命令名功能是一样的。还有一种情况是路由被过滤了。比如你在入方向配置了路由策略策略里只有 AS Path 或前缀匹配的节点却没有配允许其他路由的最终节点那么所有未匹配路由都会被拒绝BGP 表自然看不到。查这类问题时把策略临时取消一下就能定位。4.3 反射器配置了但路由学不全如果 R3 能学到 R1 反射的路由却学不到 R2 对外部 ISP2 的路由先别急着调反射规则看看 R1 自己有没有学到 R2 的路由。R1 是从 EBGP 还是从 IBGP 学到的如果 R2 与 R1 的 IBGP 会话本身没建立R2 学到 ISP2 路由后根本不会通告给 R1R1 自然没东西可反射。确认会话建立后注意反射规则的非对称性。R1 从客户端 R2 学到的路由会反射给其他客户端 R3、R4这是没问题的但如果你把 R3 配置成了 R1 的非客户端而 R2 又是客户端那么 R1 从 R2 学到的路由反射给非客户端 R3 也是允许的真正不允许的是非客户端之间互不反射即 R3 和 R4 如果不通过 R1而直接互相依赖 BGP 会话就会出问题。排查反射器故障时建议在 R1 上开启 BGP 调试或抓包确认路由是否真的被反射比在 R3 上瞎猜快得多。4.4 策略不生效的快速检查清单执行 route-policy 之后路由选择没按预期走我会按下面清单逐项检查策略有没有在正确的方向上调用入方向用 import出方向用 export别搞反前缀列表写的是不是位长过长的精确匹配比如只写了 202.1.1.0 24结果实际路由是 202.1.1.0/24 就匹配不上route-policy 每个 node 之后有没有补一个 node 20 允许其他所有路由如果忘了未匹配路由会被全部拒绝Local-Pref 是只影响本 AS还是被错误地配置在出方向想影响别人AS Path 追加后有没有刷新会话或执行软重置如果策略改动没生效试试重置 BGP 会话观察变化。软重置命令在实验环境里非常有用可以在不中断网络的情况下重新发送路由更新。如果你改了策略发现没反应大概率就是没有执行软重置直接手动重置邻居后再看。我的经验与扩展建议这类综合实验我做过多遍最大的感受是BGP 不好学不是因为配置命令复杂而是因为你必须同时理解IGP、BGP、路由策略三层之间的耦合。每次实验前先画拓扑、写地址规划表、预判选路结果比直接开模拟器敲命令有效得多。我也建议你把实验记录做成笔记把每次故障的现象和解决命令写下来面试时被问到BGP 排障就能直接讲出真实案例而不是只背概念。如果你做完这个实验还有时间可以尝试扩展把单反射器改成双反射器并配置 Cluster ID验证集群内防环或者加入 BFD 联动 BGP观察链路中断后会话快速收敛再或者用 MED 控制对端 AS 的入站路径。这些扩展都会遇到新的坑但踩过一次之后你对 BGP 的信心会完全不一样。

相关新闻

Embedding选型实战:提升RAG检索质量的完整指南

Embedding选型实战:提升RAG检索质量的完整指南

做RAG(检索增强生成)系统的朋友应该都有过这种经历:知识库搭完了,文档切好了,向量库也建起来了,结果一问业务问题,答案总是"差点意思"。要么召回的片段跟问题八竿子打不着&#xff0c…

2026/10/17 7:16:05 阅读更多 →
混合检索实战:BM25与向量召回融合的搜索优化方案

混合检索实战:BM25与向量召回融合的搜索优化方案

1. 混合检索到底解决了什么问题:两套检索逻辑各自的天花板这两年做了好几个搜索相关的项目,从站内商品搜索到文档知识库,一个最直观的感受是:没有一种检索方案能通吃所有查询。传统的关键词检索在专有名词、型号、编号这类精确词上…

2026/10/17 7:16:05 阅读更多 →
拆解供应链体系:核心指标、牛鞭效应与信息流优化实践

拆解供应链体系:核心指标、牛鞭效应与信息流优化实践

做供应链这个领域十几年,每次跟人介绍自己的工作,十次有八次会被理解成“管仓库的”或者“搞运输的”。这也难怪,供应链这个词听起来确实抽象,但它本质上就是一家企业、甚至一个行业能不能赚钱、能不能活下去的底层逻辑。这篇是这…

2026/10/17 7:15:05 阅读更多 →

最新新闻

CMake构建CUDA工程全攻略:架构配置、生态库链接与调试实践

CMake构建CUDA工程全攻略:架构配置、生态库链接与调试实践

接手CUDA工程时,最让我难受的往往不是 kernel 写不出来,而是编译系统本身在拖后腿。不少项目用了三年甚至五年前的 CMake 写法,还在用find_package(CUDA REQUIRED)加一串全局宏定义和库路径,换一张显卡、换一个 SDK 版本就崩一次。…

2026/10/17 7:55:15 阅读更多 →
Odyssey-3世界模型免费试玩实测:从一句话到可交互场景

Odyssey-3世界模型免费试玩实测:从一句话到可交互场景

1. 世界模型突然免费开放,这件事为什么值得聊10月12日,Odyssey-3 世界模型宣布开放免费试玩。消息一出,不少做生成式内容、做交互应用、做游戏原型的朋友都在群里转。我第一时间去试了一轮,从注册到跑出第一段可交互场景&#xff…

2026/10/17 7:55:15 阅读更多 →
从零实现mini-redis:RESP协议解析与序列化实战指南

从零实现mini-redis:RESP协议解析与序列化实战指南

做mini-redis这类练手项目,很多人一上来就埋头写命令处理逻辑,结果写到一半发现卡在解析客户端请求这一层。我自己第一次实现时就吃过这个亏,等真正把RESP协议弄明白,后面所有功能开发都顺了。RESP全称是REdis Serialization Prot…

2026/10/17 7:55:15 阅读更多 →
HarmonyOS PC端智能监控:摄像头联动与异常行为识别实战

HarmonyOS PC端智能监控:摄像头联动与异常行为识别实战

做监控相关开发的人应该都有同感:摄像头不难调,难的是拿到画面之后怎么办。我这次做得比较完整,基于 HarmonyOS 6.0 的 PC 端应用,把一个摄像头实时画面采集、异常行为识别、多摄联动报警的流程全部打通了。项目名字叫“智能监控助…

2026/10/17 7:55:15 阅读更多 →
近场线圈天线设计实战:从参数规划到NFC读卡距离优化

近场线圈天线设计实战:从参数规划到NFC读卡距离优化

简介:这份线圈天线设计经验总结资料面向无线通信、广播、雷达系统等领域的射频工程师与天线设计初学者,系统梳理了天线基本原理、线圈关键参数、微波仿真、阻抗匹配及频率选择性等核心知识点,可帮助读者快速建立完整设计框架。压缩包共3个文件…

2026/10/17 7:55:15 阅读更多 →
Stable Diffusion在自动驾驶视觉中的实战:长尾数据生成与调参指南

Stable Diffusion在自动驾驶视觉中的实战:长尾数据生成与调参指南

你如果混自动驾驶视觉圈子稍微久一点,就会发现一个特别微妙的现象:公开论坛上几乎没人把Stable Diffusion当正经生产力工具讲,但在不少团队的内部聊天群里,它早就是默认的数据生成后备方案了。标题里说“偷偷用”真不算夸张——因…

2026/10/17 7:54:15 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →