IP 路由基础 | 路由条目生成 / 路由表内信息获取
注:本文为 “IP 路由” 相关文章合辑。
未整理去重。
IP 路由基础
秦同学学学已于 2022-04-09 18:44:20 修改
一. IP 路由产生背景
-
我们都知道 IP 地址可以标识网络中的一个节点,并且每个 IP 地址都有自己的网段,各个网段并不相同,并且有可能分布在不同的网络区域
-
我们之前也学习过在同网段之间通信可以通过 ARP 协议来获取目的主机的 mac 地址达到数据通信的目的,那么问题来了,跨网段该如何进行通信呢???
跨网段通信这个需求催生出了 IP 路由这项技术,用来解决跨网段通信的需求
二. 路由信息介绍 — 路由表
-
路由转发
网关及其中间节点(一般是路由器)解封装他们收到的 IP 报文,根据报文中目的 IP 地址,查询路由表选择合适路径后,按照路由表提供的出接口以及下一跳等进行转发,直到最后一跳路由器进行二层寻址(arp)将该报文转发给目的主机
-
常见转发报文设备 — 路由器
-
中间节点(路由器)选择转发依赖表项叫做 — 路由表

三. 路由表(比较重要单独拿出来进行讲述)

-
目的网络:标识目的网段 (网段地址)
-
掩码:与目的地址共同标识一个网段
-
出接口: 数据包被路由后离开本路由器的接口(确定路径后从哪个接口出去)
-
下一跳:路由器转发到达目的网段的数据包所使用的下一跳地址
可以理解为整个数据转发过程就是由一个个路由器内的路由表共同努力的结果
注意:
路由器可以通过各种方式发现路由(直连、静态、动态)
路由器只会选择一条最优路由条目放入路由表中(会通过各种方式进行比较,下面讲述)
四、路由条目生成 / 路由表内信息获取
我们通过以上知识可以清楚知道路由器内路由表的重要性,所以我们必须探寻一下路由表是如何形成的
路由表形成一般常见的有三种 —— 直连、静态、动态 (这篇文章只讲直连路由、静态路由和动态路由内容太多,单独出文章进行讲述)

直连路由

-
直连路由是直连到此路由器的网路,配置好 IP 地址后设备会自动化生成
-
当路由器是此报文转发的最后一跳路由器时,路由器会匹配直连路由将该报文进行转发
-
使用直连路由进行转发的时候,报文的目的 IP 和路由器接口 IP 必须在同一个网段内(以确保转发正确)
-
并不是所有接口生成的直连路由器都将出现在路由表中,直连路由出现在路由表内前提是该接口的物理状态和协议状态都为 up
- 直连路由的下一跳为出接口位置的 IP 地址
五、最优路由条目选举办法
[huawei] display ip routing-table

Destination/Mask:表示此路由的目的网络地址与网络掩码。将目的地址和子网掩码 “逻辑与” 后可得到目的主机或路由器所在网段的地址。例如:目的地址为 1.1.1.1,掩码为 255.255.255.0 的主机或路由器所在网段的地址为 1.1.1.0。
Proto(Protocol):该路由的协议类型,也即路由器是通过什么协议获知该路由的。
Pre(Preference):表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级最高(数值最小)者将成为当前的最优路由。
Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。
NextHop:表示对于本路由器而言,到达该路由指向的目的网络的下一跳地址。该字段指明了数据转发的下一个设备。
Interface:表示此路由的出接口。指明数据将从本路由器的哪个接口转发出去。
选举办法 — 路由优先级

・当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同,网络掩码越长越优,因为更加准确)时,路由器会比较这些路由的优先级,优选优先级值最小的路由。
・路由来源的优先级值( Preference )越小代表加入路由表的优先级越高。
・拥有 最高优先级的路由将被添加进路由表 。
个人理解
-
首先比较网络掩码,网络掩码越长优先级越高。掩码越长,主机位越少,IP 地址数量越少,寻址越容易。
-
若掩码相同,则比较协议优先级,协议优先级以数字表示,数字越小优先级越高。
| 路由来源 | 路由类型 | 默认优先级 |
| 直连 | 直连路由 | 0 |
| 静态 | 静态路由 | 60 |
| 动态路由 | OSPF 内部路由 | 10 |
| OSPF 外部路由 | 150 |
- 若优先级相同,则比较度量值(开销值),度量值越小优先级越高。
- 常用的度量值包括跳数、带宽、时延、代价、负载、可靠性等。
- 开销值可类比为性价比,从成本角度理解,开销越低越具优势。
六、IP 路由总结
-
当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,会选择路由优先级值最小的路由;如果这些路由学习自相同的路由协议,则优选度量值最优的。总之,最优的路由加入路由表。
-
当路由器收到一个数据包时,会在自己的路由表中查询数据包的目的 IP 地址。如果能够找到匹配的路由表项,则依据表项所指示的出接口及下一跳来转发数据;如果没有匹配的表项,则丢弃该数据包。
-
路由器的行为是逐跳的,数据包从源到目的地沿路径每个路由器都必须有关于目标网段的路由,否则就会造成丢包。
-
数据通信往往是双向的,因此要关注流量的往返(往返路由)。 路由信息和流量信息相反。
IP 路由概述
牧鸯人已于 2023-03-21 15:16:17 修改
前言

在一个 IP 网络中,路由 ( Routing ) 是个非常非常基本的概念。网络的基本功能,是使得处于网络中的两个 IP 节点能够进行通信,而通信实际上就是数据交互的过程,数据交互则需要网络设备帮助我们来将数据在两个通信节点之间进行传输。当路由器 (或者其他三层设备) 收到一个 IP 数据包,路由器会找出 IP 包三层头中的目的 IP 地址,然后拿着目的 IP 地址到自己的路由表中进行查找,找到 “最匹配” 的条目后,将数据包根据路由条目所指示的出接口或下一跳 IP 转发出去,这就是 IP 路由 ( IP routing )。而每台路由器都会在本地维护一个路由表 ( Routing Table ), 路由表中装载着路由器获知的路由条目 ( Routes ), 路由条目由路由前缀 (路由所关联的目的地)、入路由信息来源、出接口或下一跳 IP 等元素构成。路由器通过静态的或者动态的方式获取路由条目并维护自己的路由表。
IP 路由表(IP Routing Table)
为了理解路由表中的信息种类,我们需要先考虑数据包到达路由器接口时会发生什么,这是非常有用的。首先,路由器会检查数据帧目标地址字段中的数据链路标识。如果它包含了路由器接口标识符或广播标识符,那么路由器:将从帧中剥离出数据包并传递给网络层。在网络层,路由器将检查数据包的目标地址。如果目标地址是路由器接口的 IP 地址或是所有主机的广播地址,那么需要进一步检查数据包的协议字段,然后再把被封装的数据发送给适当的内部进程。
除此之外,所有其他目标地址都需要进行路由选择。这里的目标地址可能是另一个网络上的主机地址,该网络或者与路由器相连 (包括与那个网络相连接的路由器接口), 或者不直接连接到路由器上。目标地址还可能是一一个定向的广播地址,这种地址有明确的网络地址或子网地址并且主机位全部为 1. 这些地址也是可以路由的。
每个路由表项最少必须包括下面三个项目:
-
目标地址(路由前缀):这是路由条目所关联的目的的网络号。一条完整的路由前缀由:网络号 + 前缀长度构成,两种缺一不可,例如 192.168.1.0/24 与 192.168.1.0/25,虽然两者的网络号相同,都是 192.168.1.0,但是两者绝对是两条不同的路由、两个不同的路由前缀,因为他们的前缀长度不相同。
-
指向目标的指针:指针不是指向路由器的直连目标网络就是指向直连网络内的另一台路由器地址,或者是到这个链路的本地接口。更接近目标网络一跳的路由器叫下一跳(next hop)路由器。
-
路由信息的来源:本地路由是通过什么途径学习到的,例如是静态的,或者是通过 OSPF、IS-IS、EIGRP、BGP 等路由学习到的。
路由器将会尽快地进行最精准的匹配:按精确程度递增的顺序,可选地址排列如下:
-
主机地址(主机路径);
-
子网;
-
一组子网(一条汇总路由);
-
主网号;
-
一组主网号(超网);
-
缺省地址。
管理距离值(Administrative Distance,简称 AD)
路由器可以通过多种途径获知路由条目:如静态手工配置、各种动态路由协议等等。当路由器从两种不用的途径获知去往同一个目的地的两条路由,那么路由器会比较这两条路由的 AD 值,也就是管理距离,优选 AD 值小的路由。如果 AD 值相等,例如是同种路由协议,则进 - 步比较 metric 值,当然,这其中还牵涉到不同的路由协议内在的工作机制问题,这就要针对不同的路由协议具体讨论了。如下图,R3 与 R1 运行的是 RIP 协议,R3 又通过 OSPF 与 R2 建立邻接关系。于是 R3 同时 RIP、OSPF 学习到了去往目的地 1.1.1.0/24 的路由,这两条路由分别以 R1 和 R2 作为下一跳。那么 R3 最终选择 OSPF 的路由装载进路由表,也就是将 R2 作为实际去往 1.1.1.0/24 的下一跳,因为 OSPF 协议的 AD 值比 RIP 要小要更优。
不同的路由协议对应的 AD 值
| Routing Protocdls | AD | 备注 |
|---|---|---|
| 直连接口 | 0 | |
| 关联出接口的静态路由 | 1 | Metric = 0 |
| 关联下一跳的静态路由 | 1 | Metric = 0 |
| EIGRP 汇总路由 | 5 | |
| 外部 BGP | 20 | |
| 内部 EIGRP | 90 | |
| IGRP | 100 | |
| OSPF | 110 | |
| RIPv1、v2 | 120 | |
| 外部 EIGRP | 170 | |
| 内部 BGP | 200 |
静态路由特征
静态路由的优点
-
占用的 CPU 和 RAM 资源较少。
-
可控性强,也便于管理员了解整个网络路由信息。
-
不需要动态路由更新,可以减少带宽的占用。
-
简单和易于配置。
静态路由的缺点
-
配置和维护耗费管理员大量时间。
-
配置时容易出错,尤其对大型网络。
-
当网络拓扑发生变化时,需要管理员维护变化的路由信息。
-
随着网络规模的增长和配置的扩展,维护越来越麻烦。
-
需要管理员对整个网络的情况完全了解后才能进行恰当的操作和配置。
静态路由使用场所
-
网络中仅包含几台路由器。在这种情况下,使用动态路由协议可能会增加额外的管理负担。
-
网络仅通过单个 ISP 接入 Internet。因为该 ISP 就是唯一的 Internet 出口点,所以不需要在此链路间运行动态路由协议。
-
路由器没有足够的 CPU 和内存来运行动态路由协议。
-
可以通过浮动静态路由为动态路由提供备份。
-
链路的带宽较低,因为动态路由更新和维护和带来额外的链路负担。
动态路由协议特征
动态路由是路由器之间通过路由协议 (如 RIP、EIGRP、OSPF、IS-IS 和 BGP 等) 动态交换路由信息来构建路由表的。使用动态路由协议最大的好处是,当网络拓扑结构发生变化时,路由器会自动地相互交换路由信息,因此路由器不仅能够自动获知新增加的网络,还可以在当前网络连接失败时找出备用路径。
动态路由协议功能
-
发现远程协议功能。
-
动态维护最新路由信息。
-
自动计算并选择通往目的网络的最佳路径。
-
当前路径无法使用时找出新的最佳路径。
动态路由协议的优点
-
当增加或删除网络时,管理员维护路由配置的工作量较小。
-
当网络拓扑结构发送变化时,路由协议可以自动进行调整来更新路由表。
-
配置不容易出错。
-
扩展性好,网络规模越大,越能体现出动态路由协议的优势。
动态路由协议的缺点
-
需要占用额外的资源,如路由器 CPU 时间和 RAM 以及链路带宽等。
-
需要掌握更多的网络知识才能进行配置、验证和故障排除等工作,特别是一些复杂的动态路由协议对管理员的要求较高。
常见的动态路由协议
路由 IP 时间包时常用的动态路由协议包括:
-
RIP (Routing Information Protocol)—— 路由信息协议。
-
EIGRP (Enhanced Interior Gateway)—— 增加型内部网关路由协议。
-
OSPF (Open Shortest Path First)—— 开放最短路径优先。
-
IS-IS (Intermediate System-to-Intermediate Sstem)—— 中间系统 - 中间系统。
-
BGP (Border Gatewa Protocol)—— 边界网关协议。
动态路由协议分类
IGP 和 EGP
动态路由协议按照作用的 AS (Autonomous System, 自治系统) 来划分,分为 IGP (InteriorGateway Protocol, 内部网关协议) 和 EGP (Exterior Gateway Protocol, 外部网关协议)。IGP 用于自治系统内部,适用于 IP 协议的 IGP 包 RIP、EIGRP、OSPF 和 IS-IS。 而 EGP 用于不同机构管控下的不同自治系统之间的路由。BGP 是目前唯一使用的一种 EGP 协议,也是 Internet 所使用的主要路由协议。
距离矢量协议和链路状态路由协议
根据路由协议的工作原理,IGP 还可以进一步分为距离矢量路由协议和链路状态路由协议。距离矢量路由协议主要有 RIP 和 EIGRP,链路状态路由协议主要有 OSPF 和 IS-IS。
距离矢量协议适用的场所:
-
网络结构简单、扁平,不需要特殊的分层设计。
-
管理员没有足够的知识来配置链路状态协议和排查故障。
-
无关关注网络最差情况下的收敛时间。
链路状态协议适用的场合:
-
网络进行了分层设计。
-
管理员对于网络种采用的链路状态路由协议非常熟悉。
-
网络管理员对于网络中采用的链路状态路由协议非常熟悉。
有类路由协议和无类路由协议
路由协议按照所支持的 IP 地址类别又划分为有类路由协议和无类路由协议。有类路由协议在路由信息更新过程中不发送子网掩码信息,RIPv1 属于有类路由协议。无类路由协议在路由信息更新中携带子网掩码,同时支持 VLSM 和 CIDR 等;RIPv2、 EIGRP、OSPF、IS-IS 和 BGP 属于无类路由协议。
度量值(Metric)
度量值是指路由协议用来分配到达远程网络的路由开销值。对于同 - - 种路由协议,当有多条路径通往同一目的网络时,路由协议使用度量值来确定最佳路径。度量值越低,路径越优先。每一种路由协议都有自己的度量方法,所以不同的路由协议选择出的最佳路径可能是不 - 样的。IP 路由协议中经常使用的度量标准如下:
-
跳数 —— 数据包经过的路由器个数。
-
带宽 —— 链路的数据承载能力。
-
复杂 —— 链路的通信使用率。
-
延迟 —— 数据包从源到达目的需要的时间。
-
可靠性 —— 通过接口错误计数或以往的链路故障次数来估计出现链路故障的可能性。
-
开销 —— 链路上的费用,OSPF 中的开销值是根据接口带宽计算的。
路由加入到路由表中遵循的原则
路由表是保存在 RAM 中的时间文件,存储了与直连网络以及远程网络相关的信息。路由表包含网络与下一跳的关联信息。这些关联告知路由器,要以最佳的方式到达某目的地,可以将数据包发送到特定路由器 (即在到达最终目的地的途中的 “下一跳”)。下一跳也可以关联到通向最终目的地的送出接口。路由器在查找路由表的过程中通常采用 “递归查询” 路由器通常用以下 3 种途径构建路由表。
-
直连网络:直连到路由器某一接口的网络。当然,该接口处于活动状态,路由器自动将和自己直接连接的网络添加到路由表中。
-
静态路由:通过网络管理员手工配置添加到路由表中。
-
动态路由:由动态路由协议(如 RIP、EIGRP、OSPF 和 IS-IS 等)通告,路由器通过自动学习来构建路由表。
路由表工作的原理如下:
-
每台路由器根据其自身路由表中的信息独立做出转发决定。
-
一台路由器的路由表中包含某些信息并不表示其他路由器也包含相同的信息。
-
从一个网络能够到达另一个网络并不意味着数据包一定可以返回,也就是说路由信息必须双向可达,才能确保网络可以双向通信,所以静态路由一般都需要双向配置。
总结
为了实现数据的转发,路由器、路由表和路由协议是必不可少的。路由协议用于发现路由,生成路由表,路由表中保存了各种路由协议发现的路由,路由器用来选择路由,实现数据转发。
via:
-
IIP路由基础 - CSDN 博客
https://blog.csdn.net/xiaobai729/article/details/122920727 -
IP 路由概述 - CSDN 博客
https://blog.csdn.net/m0_61703913/article/details/124225059 -
IP Routing 概述 - CSDN 博客
https://blog.csdn.net/u012829687/article/details/24407221
相关文章:
IP 路由基础 | 路由条目生成 / 路由表内信息获取
注:本文为 “IP 路由” 相关文章合辑。 未整理去重。 IP 路由基础 秦同学学学已于 2022-04-09 18:44:20 修改 一. IP 路由产生背景 我们都知道 IP 地址可以标识网络中的一个节点,并且每个 IP 地址都有自己的网段,各个网段并不相同…...
Redis 启用自动内存碎片清理异常
Redis 启用自动内存碎片清理异常 127.0.0.1:6379> config set activedefrag yes (error) DISABLED Active defragmentation cannot be enabled: it requires a Redis server compiled with a modified Jemalloc like the one shipped by default with the Redis source dis…...
java后端开发day16--字符串(二)
(以下内容全部来自上述课程) 1.StringBuilder 因为StringBuilder是Java已经写好的类。 java在底层对他进行了一些特殊处理。 打印对象不是地址值而是属性值。 1.概述 StringBuilder可以看成是一个容器,创建之后里面的内容是可变的。 作用…...
LabVIEW危化品仓库的安全监测系统
本案例展示了基于LabVIEW平台设计的危化品仓库安全监测系统,结合ZigBee无线通信技术、485串口通讯技术和传感器技术,实现了对危化品仓库的实时无线监测。该系统不仅能提高安全性,还能大幅提升工作效率,确保危化品仓库的安全运营。…...
深度学习框架探秘|Keras 应用案例解析以及 Keras vs TensorFlow vs PyTorch
引言 上一篇文章《深度学习框架探秘|Keras:深度学习的魔法钥匙》 我们初步学习了 Keras,包括它是什么、具备哪些优势(简洁易用的 API、强大的兼容性、广泛的应用领域),以及基本使用方法。本文,…...
VINS-mono代码笔记
feature_tracker_node.cpp: 一、通过roslaunch文件的参数服务器获得配置参数 二、获得相机的内参 三、订阅图像,img_callback: 1、第一帧图像只记录时间戳 2、与之前时间戳比较一下,判断是否要发布当前帧,避免高频率发送ÿ…...
Maven下载安装IDEA使用MavenJava在pom.xml配置教程
一、Maven 简介 Maven 是一个强大的项目管理和构建工具,主要用于 Java 项目的构建、依赖管理和文档生成等。它通过一个统一的 XML 文件(pom.xml)来管理项目的整个生命周期,包括编译、测试、打包、发布等环节。 二、Maven 下载与…...
NAT(网络地址转换)技术详解:网络安全渗透测试中的关键应用与防御策略
目录 NAT的作用 NAT类型 NAT工作流程示例 NAT 转换技术的原理 源地址转换(SNAT,Source NAT): 目标地址转换(DNAT,Destination NAT): 端口地址转换(PAT,…...
newgrp docker需要每次刷新问题
每次都需要运行 newgrp docker 的原因: 当用户被添加到 docker 组后,当前会话并不会立即更新组信息,因此需要通过 newgrp docker 切换到新的用户组以使权限生效 如果不想每次都手动运行 newgrp docker,可以在终端中配置一个自动刷新的脚本。…...
【FastAPI 使用FastAPI和uvicorn来同时运行HTTP和HTTPS的Python应用程序】
在本文中,我们将介绍如何使用 FastAPI和uvicorn来同时运行HTTP和HTTPS的 Python应用程序。 简介 FastAPI是一个高性能的Web框架,可以用于构建快速、可靠的API。它基于Python的类型提示和异步支持,使得开发者可以轻松地编写出安全且高效的代…...
容器化部署Kafka的最佳实践:基于KRaft模式的无ZooKeeper方案
一、docker 部署kafka单节点 1.1安装docker 可以参考这篇CentOS 7安装docker并配置镜像加速 1.3 运行kafka(注意修改zookeeper,kafka地址) docker run -d --name kafka -e KAFKA_ADVERTISED_LISTENERSPLAINTEXT://172.16.10.180:9092 -p …...
20250214 随笔 线程安全 线程不安全
1. 什么是线程安全 & 线程不安全? 线程安全(Thread-Safe):在多线程环境下访问同一个对象时,不会产生数据竞争、不会出现数据不一致的问题。线程不安全(Not Thread-Safe):在多线…...
rem、em、vw区别
在前端开发里,rem、em、vw都是用来设置元素大小的单位,下面就用大白话讲讲它们的区别。 参考标准不一样 rem:就像大家都用同一把“大尺子”来量东西,这把“大尺子”就是网页里根元素(也就是 <html> 标签&#…...
【PHP】php+mysql 活动信息管理系统(源码+论文+数据库+数据库文件)【独一无二】
👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。 【PHP】php 活动信息管理系统(源码论文…...
cURL请求与Javascript请求转换工具
cURL请求与Javascript请求在线转换工具(如 curlconverter) 首先,看看各个证据中关于curl的定义。提到cURL是“Client for URLs”的缩写,最初全大写是为了方便记忆,社区也将其解释为“Client URL Request Library”或递归的“Curl URL Request Library”。同时,还指出cURL…...
rv1103b编译opencv
opencv-3.4.16,png的neon会报错,如果想开可以参考 https://blog.csdn.net/m0_60827485/article/details/137561429 rm -rf build mkdir build cd build cmake -DCMAKE_BUILD_TYPERELEASE \ -DCMAKE_C_COMPILERxxx/arm-rockchip831-linux-uclibcgnueabih…...
thingboard告警信息格式美化
原始报警json内容: { "severity": "CRITICAL","acknowledged": false,"cleared": false,"assigneeId": null,"startTs": 1739801102349,"endTs": 1739801102349,"ackTs": 0,&quo…...
OpenHarmonry 5.0.1源码下载与编译
预置环境:硬盘500G、内存32G、Ubuntu 20.04.6 LTS Ubuntu系统下载路径:ubuntu-releases安装包下载_开源镜像站-阿里云 一、必需环境 sudo apt-get update && sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf…...
【Python深入浅出㊸】解锁Python3中的TensorFlow:开启深度学习之旅
目录 一、TensorFlow 简介1.1 定义与背景1.2 特点 二、Python 3 与 TensorFlow 的关系2.1 版本对应2.2 为何选择 Python 3 三、安装 TensorFlow3.1 安装步骤3.2 验证安装 四、TensorFlow 基本概念与使用方法4.1 计算图(Graph)4.2 会话(Sessio…...
STM32 外部中断和NVIC嵌套中断向量控制器
目录 背景 外部中断/事件控制器(EXTI) 主要特性 功能说明 外部中断线 嵌套向量中断控制器 特性 中断线(Interrupt Line) 中断线的定义和作用 STM32中断线的分类和数量 优先级分组 抢占优先级(Preemption Priority) …...
string类详解(上)
文章目录 目录1. STL简介1.1 什么是STL1.2 STL的版本1.3 STL的六大组件 2. 为什么学习string类3. 标准库中的string类3.1 string类3.2 string类的常用接口说明 目录 STL简介为什么学习string类标准库中的string类string类的模拟实现现代版写法的String类写时拷贝 1. STL简介 …...
DeepSeek教unity------Dotween
1、命名法 Tweener(补间器):一种控制某个值并对其进行动画处理的补间。 Sequence(序列):一种特殊的补间,它不直接控制某个值,而是控制其他补间并将它们作为一个组进行动画处理。 Tw…...
AIP-146 泛化域
编号146原文链接AIP-146: Generic fields状态批准创建日期2019-05-28更新日期2019-05-28 API中的大多数域,无论是在请求、资源还是自定义应答中,都有具体的类型或模式。这个模式是约定的一部分,开发者依此约定进行编码。 然而,偶…...
【Go并发编程】Goroutine 调度器揭秘:从 GMP 模型到 Work Stealing 算法
每天一篇Go语言干货,从核心到百万并发实战,快来关注魔法小匠,一起探索Go语言的无限可能! 在 Go 语言中,Goroutine 是一种轻量级的并发执行单元,它使得并发编程变得简单高效。而 Goroutine 的高效调度机制是…...
【前端】Vue组件库之Element: 一个现代化的 UI 组件库
文章目录 前言一、官网1、官网主页2、设计原则3、导航4、组件 二、核心功能:开箱即用的组件生态1、丰富的组件体系2、特色功能亮点 三、快速上手:三步开启组件化开发1、安装(使用Vue 3)2、全局引入3、按需导入(推荐&am…...
第十五天 学习并实践HarmonyOS应用的基本结构、页面导航和状态管理
HarmonyOS应用开发入门:从基本结构到状态管理实战指南 前言 (约300字,说明HarmonyOS的发展前景,应用开发的市场需求,以及本教程的核心价值。强调手把手教学特点,降低学习门槛) 一、HarmonyOS应…...
Cursor生成JAVA相关的关键词提示规则
在项目根目录创建一个.curstorrules文件(注意有个小数点),之后在该文件内填入下面内容 你是 Java 编程、Spring Boot、Spring Framework、Maven、JUnit 及相关 Java 技术的专家。 代码风格与结构 编写整洁、高效且文档完善的 Java 代码&am…...
数据结构:队列(Queue)及其实现
队列(Queue)是一种广泛使用的线性数据结构,它遵循先进先出(FIFO,First In, First Out)的原则。也就是说,最早插入队列的元素会最先被移除。队列是一种典型的顺序存取结构,它与栈&…...
MoE架构中的专家选择门控机制:稀疏激活如何实现百倍效率突破?
技术原理(数学公式与核心逻辑) 核心公式 门控网络输出: G ( x ) Softmax ( W g ⋅ x b g ) G(x) \text{Softmax}(W_g \cdot x b_g) G(x)Softmax(Wg⋅xbg) 最终输出: y ∑ i 1 n G i ( x ) ⋅ E i ( x ) (仅保留Top-…...
坐井说天阔---DeepSeek-R1
前言 DeepSeek-R1这么火,虽然网上很多介绍和解读,但听人家的总不如自己去看看原论文。于是花了大概一周的时间,下班后有进入了研究生的状态---读论文。 DeepSeek这次的目标是探索在没有任何监督数据的情况下训练具有推理能力的大模型&#…...

