使用EVE-NG-锐捷实现OSPF

一、OSPF基础知识

Open shortest Path First(OSPF)开放式最短路径优先协议

1.OSPF的关系状态

(1)邻居关系(TWO-WAY)

  • 只发送hello包不发送LSA包(链路状态通告包)

(2)邻接关系(FULL)

  • OSPF设备与设备之间相互建立OSPF关系,初始为邻居关系(TWO-WAY)状态,最终会建立邻接关系(FULL)状态
  • 既发送hello包,又发送LSA包(链路状态通告包)

2.OSPF建立关系的流程

  • R1与R2要建立OSPF关系
  • 一 开始R1与R2处于Down state的状志(R1与R2未建立任何关系)
  • 然后R1会发送hello包到网络(通过组播地址:224.0.0.5)
  • 其他的设备如果也在这个网络中同时也运行着OSPF协议就会监听到这个hello包
  • 此时R2与R1在同一网络中,同时也运行着OSPF协议,R2监听到了R1发的hello包
  • 接着R2会回复一个hello包
  • 当R1收到R2回复的hello包后,R1与R2会进入init state(加载状态)
  • 进入到init状态之后,此时是双向通信
  • 接着会马上过渡到Two-way state 邻居状态(此时未发送具体的路由更新仅在交换hello包)
  • 进入TWO-WAY状态后,是否会往后进行取决于:(如果在two-way状态下,两端设备的端口优先级都为0,此时他们不会往下进行会一直停留在two-way状态(因为两端设备都是DROTHERS)
  • 如果他们会往下进继进行,他们会再次互相发送交换hello包进入EXstart stare状态,在交换hello包的过程中就选出了DR与BDR(若R1与R2端口优先级默认都为1,无法通过端口优先级选出DR与BDR,这时会比较Router-ID的大小来选出DR,Router-ID大的为DR)
  • 在EXstart state状态下他们还会交换DBD消息,用于选举主从(此时发送的DBD消息没有携带路由数据条目境像,主要用于评估出谁先发DBD,此时的DBD信息携带了自己的router-id,通过比较router-id选出谁先发DBD)
  • 比较出来后,R1与R2进入exchange状态,开始第二次发DBD,此时的DBD包含了自己的链路状态数据库镜信息
  • 交换完DBD消息后,会通过LSACK确认是否接收到DBD消息,未接收到会重发
  • 确认接收到后,R1与R2进入Loading state状态,开始交换LSR,LSU,LSACK
  • 交换完后进入FULL State邻接关系状态.

3.OSPF如何维系关系?

  • OSPF通过hello包维系关系
  • 每10S检测一次
  • 对端40S无回应则宣布关系失效

假设R2宕机了其他路由器是怎么判断R2挂掉的?

  • 通过设备之间运行的协议相互发hello包判断
  • 设全网运行了OSPF
  • R1会给R2发hello包
  • 若R2在40S后无回应,则R1会判断出R2挂掉了

4.OSPF为什么会有两种关系状态?

这两种关系是为了面向不同的网络类型的情况

点对点式网络结构

  •  两台设备一条线,两个设备用一条线连接,即点对点式网络
  • R1与R2        R2与R3        R3与R4        R4与R1        都是点对点式网络

广播式网络结构

  • 这些设备都在一个局域网内(一个网段内)设备与设备之间彼些会形成邻居关系
  • R1与R2,R3,R4,R5,R6形成邻居关系
  • R2与R3,R4,R5,R6,R1形成邻居关系
  • R5与R1,R2,R3,R4,R6形成邻居关系..
  • 若R4上有一个新网段,R4将此网段更新给R1,R2,R3,R5,R6
  • 当别的设备收到路由更新时他依然会给他自己的邻居发路由更新
  • R1收到路由更新会给R2,R3,R4,R5,R6发这会出现重复更新的现象。
  • 为了避免这种现象,网络中就形成了不同的关系状态

5.OSPF中的角色

(1)三种角色

  1. DR:大哥角色

  2. BDR:二哥角色

  3. DROTHERS:小弟角色

  • 不同设备扮演不同的角色,不同角色之间形成的关系不一样
  • DROTHERS的路由条目一旦有更新,只会发送给DR和BDR
  • 第一次没有调整OSPF的优先级时,DR和BDR的选举依赖于谁先启动OSPF进程,谁就是DR

  • 设选R1为DR;R5为BDR,其他的设备为DROTHERS
  • 如果R4(DROTHERS)有更新,R4会将更新信息发给R1(DR)与R5(BDR)
  • 然后R1(DR)会把收到的更新发给R2,R6,R3
  • 通过这样的更新方式来减少重复更新
  • BDR只接收信息,不发送信息
  • DROTHERS与DR之间即发送hello包,也发LSA包形成邻接关系(FULL)
  • DROTHERS与DROTHERS之间只会发送hello包不发LSA包(路由信息更新)形成TWO-WAY(邻居关系)

(2)如何选出不同的角色?

通过比较优先级信息,进程标识(router-id)

  • 优先级信息:越大越好,默认=1(OSPF接口优先级)
  • 进程标识(router-id):以一个IP地址格式为代表,X.X.X.X格式,越大越好

(3)不同角色监听的组播地址不一样.

  • 当DROTHERS一旦出现更新信息,他会发送到224.0.0.6上
  • 224.0.0.6这个组播地址只有DR和BDR监听
  • DR会把接收到的更新发送到224.0.0.5上
  • 224.0.0.5这个组播地址是DROTHERS监听
  • DR和BDR也会监听224.0.0.5(用于获取hello包)
  • 224.0.0.5一个组播地址多用途,即用于路由更新,也用于发送hello包
  • 所有设备相互发送的hello包都会发送到224.0.0.5这个组播地址上

6.OSPF的更新机制

(1)OSPF的数据包

  • hello包————检测领居是否还活着
  • DBD包————数据库描述信息包
  • LSR包————链路状态请求包
  • LSU包(包含LSA包:具体的路由信息更新条目)一链路状态更新包
  • LSACK包一链路状态确认信息包

Hello包:

  • Router ID                                                                             路由器的标识符
  • Hello and dead intervals*                                                    hello包时间/死亡时间
  • Neighbors                       
  • Area ID*                                                                               区域ID
  • Router priority                                                                      路由优先级
  • DR IP address                                                                     DR信息
  • BDR IP address                                                                   BDR信息
  • Authentication password*                                                      认证密码
  • Stub area flag *                                                                    末节区域
  • OSPF的Hello包中加星号的,两边的设备参数要一致,不一致两设备无法建立关系

LSA包( Link state Advertise 链路状态通告)

  • 发送全部可以到达目的的路由条目,让对端设备计算到达目的的最优路由路径
  • 通过组播进行更新
  • 发送自己的路由更新,发送到组播地址上,组播地址类似某频道,只有运行了OSPF协议的设备才会监听这个组播地址

(2)OSPF路由更新方式

  • OSPF触发更新:一旦网络发生了变化,他会将更新的,变化的路由条目发送给对端设备(新增的条目和减少的条目都会发)
  • OSPF周期更新:每隔30min(分钟)周期更新一次
  • 更新的路由信息支持非主类(VLSM)条目
  • 非主类掩码(VLSM:可变长子网掩码:如255.255.255.128,255.255.255.192,255.255.255.224,255.255.255.240),可以支持更小的网段

  • 设R1与R2要进行路由更新,R1上有10000条路由条目,R2上有9000条路由条目,R2的9000条路由条目与R1重复。
  • 首先R1与R2建立关系
  • 接着R1与R2相互发送hello包检测对方是否还活着
  • 然后R1会给R2发DBD包(数据库描述信息包,路由条目的镜像)
  • R2收到DBD包后,他会检测自己没有的路由条目
  • 然后R2会给R1发LSR包(链路状态请求包),请求自己没有的那1000条路由条目
  • R1收到LSR包后会给R2发LSU包(链路状态更新包),1000条的路由更新
  • R2收到LSU包后会给R1发LSACK确认包(链路状态确认信息包)
  • 完成路由条目更新

(3)OSPF中的组播地址

  • 224.0.0.5
  • 224.0.0.6

7.OSPF的优点

  • 方便管理
  • 支持VLSM
  • 网络发生变化的时候发送触发式更新
  • 对网络发生的变化能够快速响应

8.OSPF协议如何选择最优路径?

  • 主要参考带宽,谁带宽大就选谁为最优.

9.OSPF内有三张表

  1. 邻居表
  2. 链路状态数据库
  3. 路由表
  • 发送hello包——>接收hello包——>建立OSPF邻居关系——>相互将自己的链路状态数据库发送给对方——>对方收到后,放入自己的链路状态数据库内——>计算出自己的数据库——>计算出最优的路由条目——>放入到自己的路由表内
  • 数据库中保存的是去往目的的所有线路.
  • 整个OSPF网络中一每台设备都知道全网的路径

10.OSPF中的Router-ID

  • RouterID:路由器的标识符(进程标识)
  • OSPF的进程号可以不同
  • 每台设备的Router-ID不可以重复

(1)Route-ID (RID)如何选举?

RI与R2建立OSPF邻居关系

  • 启动OSPF进程时,可以不写rauter-id,也可以形成邻居关系,这时Router~id会自动选举.
  • 本路由器上的loopback环回接口最大将选为RID
  • 如果没有环回口,则会比较本地物理接口,最大的IP将会选举为RID.

(2)Route-ID (RID)的作用

  • 用来选举DR与BDR
  • 如果优先级是0的情况下依靠router-id来选举

11.OSPF区域的概念

  • OSPF设计之初面向中大型网络环境
  • 彼此间更新信息量比较大,设备与设备间相互传递信息,可能会导致整个网络出现频发的更新现象,这时OSPF将一个大型网络做了一个区域划分,让一部分信息只在自己的区域内传递来分割减少不必要的信息发送。
  • OSPF中的骨干区域:指区域0
  • 常规区域:除了区域0以外的区域
  • 常规区域必须和骨干区域是直接相连的

二、项目案例

1.常规OSPF案例

(1)项目拓扑

(2)项目实现

路由器R1配置:

进入特权模式
enable

进入全局模式
configure terminal

更改名称为R1
hostname R1

进入console口配置模式
line console 0

开启信息同步。(类似华为设备关闭信息提示)	
logging synchronous	

进入g0/0接口
interface g0/0

将g0/0接口IP地址配置为192.168.1.1/24
ip address 192.168.1.1 255.255.255.0

开启接口
no shutdown

退出到上一级
exit

进入环回接口0
interface loopback 0

配置环回地址为1.1.1.1/24。环回接口可以模拟一个网段,是虚拟接口,虚拟接口默认是开启状态,不用no shutdown
ip address 1.1.1.1 255.255.255.0

退出到上一级
exit

退出到上一级
exit

显示接口信息
show ip interface brief 

进入全局模式
configure terminal

启动ospf进程100,100为进程号(1-65535)
router ospf 100

配置router-id,通常使用环回接口 IP 地址命名
router-id 1.1.1.1

yes

宣告直连网段
宣告          直连网段     反掩码   区域
network 192.168.1.0 0.0.0.255 area 0

宣告直连网段
宣告          直连网段     反掩码   区域
network 1.1.1.1 0.0.0.255 area 0

退出到上一级
exit

退出到上一级
exit

显示路由器当前正在运行的包含router关键字的配置信息
show running-config | begin router

显示路由表信息
show ip route

显示ospf邻居表信息
show ip ospf neighbor 

显示ospf数据库信息
show ip ospf database

清理ospf进程
clear ip ospf process

显示ospf邻居表信息
show ip ospf neighbor

查看是否可与3.3.3.3通信
ping 3.3.3.3

 

 第一次没有调整OSPF的优先级时,DR和BDR的选举依赖于谁先启动OSPF进程,谁就是DR

路由器R2配置:

进入特权模式
enable

进入全局模式
configure terminal

更改名称为R2
hostname R2

进入console口配置模式
line console 0

开启信息同步。(类似华为设备关闭信息提示)	
logging synchronous	

进入g0/1接口
int g0/1

将g0/1接口IP地址配置为192.168.1.2/24
ip address 192.168.1.2 255.255.255.0

开启接口
no shutdown 

退出到上一级
exit

进入g0/0接口
interface g0/0

将g0/0接口IP地址配置为192.168.2.1/24
ip address 192.168.2.1 255.255.255.0

开启接口
no shutdown 

退出到上一级
exit

退出到上一级
exit

显示接口信息
show ip interface brief 

进入全局模式
configure terminal 

启动ospf进程100,100为进程号(1-65535)
router ospf 100

配置router-id,通常使用环回接口 IP 地址命名
router-id 2.2.2.2

yes

宣告直连网段
宣告          直连网段     反掩码   区域
network 192.168.1.0 0.0.0.255 area 0

宣告直连网段
宣告          直连网段     反掩码   区域
network 192.168.2.0 0.0.0.255 area 0

退出到上一级
exit

退出到上一级
exit

显示路由器当前正在运行的包含router关键字的配置信息
show running-config | begin router

显示路由表信息
show ip route

显示ospf邻居表信息
show ip ospf neighbor 

显示ospf数据库信息
show ip ospf database

 

路由器R3配置:

进入特权模式
enable

进入全局模式
configure terminal 

更改名称为R3
hostname R3

进入console口配置模式
line console 0

开启信息同步。(类似华为设备关闭信息提示)	
logging synchronous	

进入g0/1接口
interface g0/1

将g0/1接口IP地址配置为192.168.2.2/24
ip address 192.168.2.2 255.255.255.0

开启接口
no shutdown 

退出到上一级
exit

进入环回接口0
interface loopback 0

配置环回地址为3.3.3.3/24。环回接口可以模拟一个网段,是虚拟接口,虚拟接口默认是开启状态,不用no shutdown
ip address 3.3.3.3 255.255.255.0

退出到上一级
exit

退出到上一级
exit

显示接口信息
show ip interface brief 

进入全局模式
configure terminal 

启动ospf进程100,100为进程号(1-65535)
router ospf 100

配置router-id,通常使用环回接口 IP 地址命名
router-id 3.3.3.3

yes

宣告直连网段
宣告          直连网段     反掩码   区域
network 192.168.2.0 0.0.0.255 area 0

宣告直连网段
宣告       直连网段  反掩码   区域
network 3.3.3.0 0.0.0.255 area 0

退出到上一级
exit

退出到上一级
exit

显示路由器当前正在运行的包含router关键字的配置信息
show running-config | begin router

显示路由表信息
show ip route

显示ospf邻居表信息
show ip ospf neighbor 

显示ospf数据库信息
show ip ospf database

查看是否可与1.1.1.1通信
ping 1.1.1.1

 

2.多进程OSPF案例

  • 假设R1上的网段不能传到R3上
  • R3上的网段不能传到R1上
  • 可以在R2上面启动多个OSPF进程,把R2左边的接口宣告到进程100中,把右边的接口宣告到进程200里
  • 这时R1与R2可建立OSPF邻居关系
  • R2与R3可建立邻居关系
  • 但是R1的条目发送到R2后不会将此条目发给R3
  • 将连接不同设备的接口宣告进不同进程下形成有效分割
  • 同一设备上,不同进程下的邻居不会相互传递路由信息LSA

(1)项目拓扑

(2)项目实现

路由器R1配置:

进入特权模式
enable

进入全局模式
configure terminal

更改名称为R1
hostname R1

进入console口配置模式
line console 0

开启信息同步。(类似华为设备关闭信息提示)	
logging synchronous	

进入g0/0接口
interface g0/0

将g0/0接口IP地址配置为192.168.1.1/24
ip address 192.168.1.1 255.255.255.0

开启接口
no shutdown

退出到上一级
exit

进入环回接口0
interface loopback 0

配置环回地址为1.1.1.1/24。环回接口可以模拟一个网段,是虚拟接口,虚拟接口默认是开启状态,不用no shutdown
ip address 1.1.1.1 255.255.255.0

退出到上一级
exit

退出到上一级
exit

显示接口信息
show ip interface brief 

进入全局模式
configure terminal

启动ospf进程100,100为进程号(1-65535)
router ospf 100

配置router-id,通常使用环回接口 IP 地址命名
router-id 1.1.1.1

yes

宣告直连网段
宣告          直连网段     反掩码   区域
network 192.168.1.0 0.0.0.255 area 0

宣告直连网段
宣告          直连网段     反掩码   区域
network 1.1.1.1 0.0.0.255 area 0

退出到上一级
exit

退出到上一级
exit

显示路由器当前正在运行的包含router关键字的配置信息
show running-config | begin router

显示路由表信息
show ip route

显示ospf邻居表信息
show ip ospf neighbor 

显示ospf数据库信息
show ip ospf database

清理ospf进程
clear ip ospf process

显示ospf邻居表信息
show ip ospf neighbor

 

路由器R2配置:

进入特权模式
enable

进入全局模式
configure terminal

更改名称为R2
hostname R2

进入console口配置模式
line console 0

开启信息同步。(类似华为设备关闭信息提示)	
logging synchronous	

进入g0/1接口
int g0/1

将g0/1接口IP地址配置为192.168.1.2/24
ip address 192.168.1.2 255.255.255.0

开启接口
no shutdown 

退出到上一级
exit

进入g0/0接口
interface g0/0

将g0/0接口IP地址配置为192.168.2.1/24
ip address 192.168.2.1 255.255.255.0

开启接口
no shutdown 

退出到上一级
exit

退出到上一级
exit

显示接口信息
show ip interface brief 

进入全局模式
configure terminal 

启动ospf进程100,100为进程号(1-65535)
router ospf 100

配置router-id,通常使用环回接口 IP 地址命名
router-id 2.2.2.2

yes

宣告直连网段
宣告          直连网段     反掩码   区域
network 192.168.1.0 0.0.0.255 area 0

退出到上一级
exit

启动ospf进程200,200为进程号(1-65535)
router ospf 200

配置router-id,通常使用环回接口 IP 地址命名
router-id 2.2.2.3

yes

宣告直连网段
宣告          直连网段     反掩码   区域
network 192.168.2.0 0.0.0.255 area 0

退出到上一级
exit

退出到上一级
exit

显示路由器当前正在运行的包含router关键字的配置信息
show running-config | begin router

显示路由表信息
show ip route

显示ospf邻居表信息
show ip ospf neighbor 

显示ospf数据库信息
show ip ospf database

 

 

路由器R3配置:

进入特权模式
enable

进入全局模式
configure terminal 

更改名称为R3
hostname R3

进入console口配置模式
line console 0

开启信息同步。(类似华为设备关闭信息提示)	
logging synchronous	

进入g0/1接口
interface g0/1

将g0/1接口IP地址配置为192.168.2.2/24
ip address 192.168.2.2 255.255.255.0

开启接口
no shutdown 

退出到上一级
exit

进入环回接口0
interface loopback 0

配置环回地址为3.3.3.3/24。环回接口可以模拟一个网段,是虚拟接口,虚拟接口默认是开启状态,不用no shutdown
ip address 3.3.3.3 255.255.255.0

退出到上一级
exit

退出到上一级
exit

显示接口信息
show ip interface brief 

进入全局模式
configure terminal 

启动ospf进程100,100为进程号(1-65535)
router ospf 100

配置router-id,通常使用环回接口 IP 地址命名
router-id 3.3.3.3

yes

宣告直连网段
宣告          直连网段     反掩码   区域
network 192.168.2.0 0.0.0.255 area 0

宣告直连网段
宣告       直连网段  反掩码   区域
network 3.3.3.0 0.0.0.255 area 0

退出到上一级
exit

退出到上一级
exit

显示路由器当前正在运行的包含router关键字的配置信息
show running-config | begin router

显示路由表信息
show ip route

显示ospf邻居表信息
show ip ospf neighbor 

显示ospf数据库信息
show ip ospf database

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/960556.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

未来五年高速线缆市场有望翻3倍!AEC凭借传输距离优势占比将更高

未来五年高速线缆市场有望翻3倍!AEC凭借传输距离优势占比将更高 高速铜缆凭借高带宽、高速等优势,有望成为数据中心连接的最优解。铜缆高速连接主要用于数据中心内部服务器与交换机之间、交换机... - 雪球 高速铜缆凭借高带宽、高速等优势,有…

zyNo.19

哈希(md5)绕过问题 本质上是弱类型问题的延申 题型 登录的哈希验证 $a ! $b Md5($a) md5($b) 解决办法Md5绕过 var_dump ("0e123456" "0e4456789"); //true 0e545993274517709034328855841020//true 参考资料0e开头的哈希…

怎么样把pdf转成图片模式(不能复制文字)

贵但好用的wps, 转换——转为图片型pdf —————————————————————————————————————————— 转换前: 转换后: 肉眼可见,模糊了,且不能复制。 其他免费办法,参考&…

飞致云开源社区月度动态报告(2025年1月)

自2023年6月起,中国领先的开源软件公司飞致云以月度为单位发布《飞致云开源社区月度动态报告》,旨在向广大社区用户同步飞致云旗下系列开源软件的发展情况,以及当月主要的产品新版本发布、社区运营成果等相关信息。 飞致云开源运营数据概览&…

hive:数据导入,数据导出,加载数据到Hive,复制表结构

hive不建议用insert,因为Hive是建立在Hadoop之上的数据仓库工具,主要用于批处理和大数据分析,而不是为OLTP(在线事务处理)操作设计的。INSERT操作会非常慢 数据导入 命令行界面:建一个文件 查询数据>>复制>>粘贴到新…

Dismissible组件的用法

文章目录 1 概念介绍2 使用方法3 示例代码我们在上一章回中介绍了GestureDetector Widget相关的内容,本章回中将介绍Dismissible Widget.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里介绍的Dismissible是一个事件响应Widget,它和GestureDetector类似,不过它只…

【Redis】缓存+分布式锁

目录 缓存 Redis最主要的使用场景就是作为缓存 缓存的更新策略: 1.定期生成 2.实时生成 面试重点: 缓存预热(Cache preheating): 缓存穿透(Cache penetration) 缓存雪崩 (Cache avalan…

开源物业管理系统赋能社区管理提升居民服务体验与满意度

内容概要 在现代物业管理中,开源物业管理系统的出现为社区管理带来了新的契机。这种系统的核心思想是通过开放、共享的方式,为各类物业管理需求提供灵活的解决方案。从基本的信息传递到复杂的投诉处理,开源物业管理系统能够根据不同社区的实…

动态规划DP 数字三角型模型 数字三角形

数字三角形 原题链接 AcWing 898.数字三角形 题目描述 给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字…

全连接神经网络(前馈神经网络)

一、全连接神经网络介绍 在多层神经网络中, 第 N 层的每个神经元都分别与第 N-1 层的神经元相互连接。 1、神经元 这个神经元接收的输入信号为向量 , 向量为输入向量的组合权重, 为偏置项, 是一个标量。 神经元的作用是对输入向…

Linux:多线程[2] 线程控制

了解: Linux底层提供创建轻量级进程/进程的接口clone,通过选择是否共享资源创建。 vfork和fork都调用的clone进行实现,vfork和父进程共享地址空间-轻量级进程。 库函数pthread_create调用的也是底层的clone。 POSIX线程库 与线程有关的函数构…

DeepSeek崛起:中国AI新星如何撼动全球资本市场格局

引言 近期,中国人工智能实验室DeepSeek发布的两款开源模型——DeepSeek V3和DeepSeek R1——以其优异的性能和低廉的成本迅速爆火,引发了全球资本市场的震动,尤其对美国资本市场产生了显著影响。DeepSeek R1更是能够在数学、代码和推理任务上…

【物联网】ARM核常用指令(详解):数据传送、计算、位运算、比较、跳转、内存访问、CPSR/SPSR、流水线及伪指令

文章目录 指令格式(重点)1. 立即数2. 寄存器位移 一、数据传送指令1. MOV指令2. MVN指令3. LDR指令 二、数据计算指令1. ADD指令1. SUB指令1. MUL指令 三、位运算指令1. AND指令2. ORR指令3. EOR指令4. BIC指令 四、比较指令五、跳转指令1. B/BL指令2. l…

图像处理算法研究的程序框架

目录 1 程序框架简介 2 C#图像读取、显示、保存模块 3 C动态库图像算法模块 4 C#调用C动态库 5 演示Demo 5.1 开发环境 5.2 功能介绍 5.3 下载地址 参考 1 程序框架简介 一个图像处理算法研究的常用程序逻辑框架,如下图所示 在该框架中,将图像处…

病理AI领域基础模型及多实例学习方法的性能评估|顶刊精析·25-01-27

小罗碎碎念 这篇论文聚焦于组织学全切片图像分析,旨在探究多实例学习(MIL)与基础模型(FMs)结合的效果。 由于全切片图像(WSI)分析面临标注有限和模型直接处理困难等问题,MIL成为常用…

Tensor 基本操作2 理解 tensor.max 操作,沿着给定的 dim 是什么意思 | PyTorch 深度学习实战

前一篇文章,Tensor 基本操作1 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 目录 Tensor 基本操作torch.max默认指定维度 Tensor 基本操作 torch.max torch.max 实现降维运算,基于指定的 d…

以太网详解(六)OSI 七层模型

文章目录 OSI : Open System Interconnect(Reference Model)第七层:应用层(Application)第六层:表示层(Presentation)第五层:会话层(Session)第四…

Spring MVC异常处理机制

文章目录 1. 异常处理的思路2. 异常处理两种方式3. 简单异常处理器SimpleMappingExceptionResolver 1. 异常处理的思路 系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发…

本地大模型编程实战(03)语义检索(2)

文章目录 准备按批次嵌入加载csv文件,分割文档并嵌入测试嵌入效果总结代码 上一篇文章: 本地大模型编程实战(02)语义检索(1) 详细介绍了如何使用 langchain 实现语义检索,为了演示方便,使用的是 langchain 提供的内存数据库。 在实…

[Dialog屏幕开发] 设置方式对话框

阅读该篇文章之前,可先阅读下述资料 [Dialog屏幕开发] 设置搜索帮助https://blog.csdn.net/Hudas/article/details/145381433?spm1001.2014.3001.5501https://blog.csdn.net/Hudas/article/details/145381433?spm1001.2014.3001.5501上篇文章我们的屏幕已实现了如…