OSPF路由实验
计算机网络实验报告-OSPF协议实验

实验2 OSPF协议实验1.查看R2的OSPF的邻接信息,写出其命令和显示的结果:答:2.将R1的router id 更改为3.3.3.3,写出其命令。
显示OSPF的概要信息,查看此更改是否生效。
如果没有生效,如何使其生效?答:没有生效,需要重启OSPF协议:让reset ospf processdis ospf brief3.6.1 OSPF协议报文格式3.分析截获的报文,可以看到OSPF的五种协议报文,请写出这五种协议报文的名称。
并选择一条Hello报文,写出整个报文的结构(OSPF首部及Hello报文体)。
答:OSPF头部:Byte1:版本号 2Byte2:报文类型1(Hello)Byte3-4:报文长度48Byte5-8:发送者RouterID 2.2.2.2Byte9-12:区域信息0.0.0.0Byte13-16:校验和0xf290Byte17-18:Auth Type NullByte19-24:Auth Data noneHello报文体:Byte1-4:子网掩码255.255.255.0Byte5-6:报文周期10Byte7:报文选项 EByte8:优先级 1Byte9-12:Dead Interval 40Byte13-16:DR地址0.0.0.0Byte17-20:BDR地址0.0.0.0Byte21-24:ActiveNeighbor 3.3.3.34.分析OSPF协议的头部,OSPF协议中Router ID的作用是什么?它是如何产生的?用来唯一确定自治区域内的一台路由器。
答:可以手动设定,若没有指定,会自动选择路由器回环接口中最大IP地址为Router ID 5.分析截获的一条LSUpdate报文,写出该报文的首部,并写出该报文中有几条LSA?以及相应LSA的种类。
答:OSPF头部:Byte1:版本号 2Byte2:报文类型4(LS Update)Byte3-4:报文长度64Byte5-8:发送者RouterID 2.2.2.2Byte9-12:区域信息0.0.0.0Byte13-16:校验和0x0868Byte17-18:Auth Type NullByte19-24:Auth Data none该报文中有1条LSA,种类为Router-LSA3.6.2 链路状态信息交互过程6.结合截获的报文和DD报文中的字段(MS,I,M),写出DD主从关系的协商过程和协商结果。
计算机网络实验_实验5 OSPF路由协议实验_实验56 OSPF协议路由的计算_

北航计算机网络实验实验5.6OSPF协议的路由计算OSPF协议的路由计算⏹SPF算法和COST值⏹区域内路由的计算⏹区域间路由的计算--骨干区域和虚连接⏹区域外路由的计算--与自治系统外部通信SPF算法LSDBLSA 的RTA LSA 的RTBLSA 的RTCLSA 的RTD(二)每台路由器的链路状态数据库(一)网络的拓朴结构CABD123CAB D 123CAB D 123CABD123(四)每台路由器分别以自己为根节点计算最短路径树(三)由链路状态数据库得到的带权有向图CABD1235RTCRTD3215RTBRTASPF算法和COST值⏹SPF算法也被称为Dijkstra算法,是OSPF路由协议的基础。
☐SPF算法将每一个路由器作为根(Root)来计算到每一个目的地路由器之间的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树。
⏹在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost值。
☐Cost值应用于每一个启动了OSPF的链路,它是一个16bit的整数,范围是1~65535。
Cost值的计算方法⏹计算方法108/bandwidth☐56-kbps serial link = 1785☐10M Ethernet = 10☐64-kbps serial link = 1562☐T1 (1.544-Mbps serial link) = 64⏹用户可以手动调节链路Cost,缺省情况下,接口按照当前的波特率自动计算开销区域内路由的计算S1Vlan2:10.1.1.2/24Vlan2:30.1.1.2/24E1:30.1.1.1/24Vlan3:40.1.1.1/24E0:40.1.1.2/24R1R2AREA 0E0:10.1.1.1/24S0:20.1.1.1/24S0:20.1.1.2/24E0/1E0/24E0/1S2100200300500。
锐捷OSPF路由协议一实验

6.3OSPF路由协议6.3.1OSPF的基本配置【需求】两台PC所在网段,通过两台使用OSPF协议的路由器实现互连互通。
【组网图】【配置脚本(一)】RouterA配置脚本#sysnameRouterA#routerid1.1.1.1/配置routerid和loopback0地址一致/#radiusschemesystem#domainsystem#interfaceEthernet0/0ipaddress10.1.1.1255.255.255.0#interfaceSerial0/0link-protocolpppipaddress20.1.1.1255.255.255.252#interfaceNULL0#interfaceLoopBack0ipaddress1.1.1.1255.255.255.255#ospf1/启动ospf路由协议/area0.0.0.0/创建区域0/network1.1.1.10.0.0.0/接口loop0使能OSPF/ network10.1.1.00.0.0.255/接口e0/0使能OSPF/ network20.1.1.00.0.0.3/接口s0/0使能OSPF/ #user-interfacecon0user-interfacevty04#returnRouterB配置脚本#sysnameRouterB#routerid1.1.1.2/配置routerid和loopback0地址一致/ #radiusschemesystem#domainsystem#interfaceEthernet0/0ipaddress30.1.1.1255.255.255.0#interfaceSerial0/0link-protocolpppipaddress20.1.1.2255.255.255.252#interfaceNULL0#interfaceLoopBack0ipaddress1.1.1.2255.255.255.255#ospf1/启动ospf路由协议/area0.0.0.0/创建区域0/network1.1.1.20.0.0.0/接口loop0使能OSPF/network20.1.1.00.0.0.3/接口s0/0使能OSPF/network30.1.1.00.0.0.255/接口e0/0使能OSPF/#user-interfacecon0user-interfacevty04#return【验证】RouterA和RouterB可以通过OSPF学习到对方路由信息,并可以ping通对方网段。
路由协议实验(RIP,OSPF)

实验二、路由协议实验(RIP,OSPF)
一.实验目的
常见的路由协议有静态RIP,OSPF等,静态路由一般用于较小的网络环境,RIP一般用于不超过15台路由器的环境,OSPF常用于大型的网络环境,是目前主流的网络路由协议之一。
二.实验内容和要求
1.如何配置路由器,并掌握基本的命令
2.学习常见的网络路由协议配置方法
三.实验主要仪器设备和材料
AR28路由器、AR18路由器,一台PC机。
四.实验结果截图
组别为13组,我们作为分组1
(1)RIP实验
1.AR28-1路由表
3.可以PING 通
(2)OSPF实验
1.AR28-1路由表
2.可以PING 通
五、RIP,OSPF的工作原理
RIP是距离矢量路由协议,它通过交换明确的路由来达到全网互通,即是说他所获得的路由都是通过邻居发送过来的。
类似于问路的时候沿路打听。
OSPF是链路状态路由协议,他不发送路由信息。
而是通过发送链路状态LSA来独自计算路由条目。
类似GPS发送给对方方位后具体怎么走是本地系统计算出来的。
六、思考题
1、答:可以同时配置。
OSPF的优先级较高,所以OSPF协议生效。
HCIA-Datacom网络技术实验指南 OSPF路由协议基础实验-p50

Lo0 G0/0/1 G0/0/2
Lo0 E0/0/1 E0/0/1
IP地址 172.16.10.1 10.10.14.1 10.10.12.1
10.10.0.1 10.10.12.2 10.10.23.2 10.10.0.2 172.16.30.3 10.10.34.3 10.10.23.3 10.10.0.3 10.10.14.4 10.10.34.4 10.10.0.4 172.16.10.10 172.16.30.10
• 在本实验中,我们要实现两台主机之间的通信。通过几个配置任 务,分别完成单条静态路由、备份路由、负载分担和默认路由的 配置。
实验目的
• 理解 OSPF 的基本概念 • 掌握单区域 OSPF 的配置 • 掌握 OSPF 邻居状态的解读 • 掌握通过 Cost 控制 OSPF 选路的方法 • 掌握 OSPF 默认路由发布的方法 • 掌握 OSPF 认证的配置方法
配置任务1:建立单区域OSPF
• 实验目标:通过OSPF协议,让4台路由器分别学习到两台PC的网 段,以及每台路由器的环回接口地址,实现全网IP互通。
AR2
G0/0/1
G0/0/2
AR1 G0/0/0
G0/0/2 G0/0/1
OSPF区域0
G0/0/2 G0/0/1
AR3 G0/0/0
G0/0/1
配置任务1:构建直连连通性(4)
• AR4的基础配置
<Huawei>system-view Enter system view, return user view with Ctrl+Z. [Huawei]sysname AR4 [AR4]interface GigabitEthernet 0/0/1 [AR4-GigabitEthernet0/0/1]ip address 10.10.14.4 24 [AR4-GigabitEthernet0/0/1]quit [AR4]interface GigabitEthernet 0/0/2 [AR4-GigabitEthernet0/0/2]ip address 10.10.34.4 24 [AR4-GigabitEthernet0/0/2]quit [AR4]interface LoopBack 0 [AR4-LoopBack0]ip address 10.10.0.4 32
网络实验6路由器OSPF动态路由配置,路由器综合路由配置

《网络原理与技术实验》实验报告实验名称:路由器OSPF动态路由配置,路由器综合路由配置评分:________班级:学号:姓名:实验目的:●掌握OSPF协议的配置方法:●掌握查看通过动态路由协议OSPF学习产生的路由;●熟悉广域网线缆的链接方式;实验原理:OSPF开放式最短路径优先协议,是目前网路中应用最广泛的路由协议之一。
属于内部网管路由协议,能够适应各种规模的网络环境,是典型的链路状态协议。
OSPF 路由协议通过向全网扩散本设备的链路状态信息,使网络中每台设备最终同步一个具有全网链路状态的数据库,然后路由器采用OSPF算法,以自己为根,计算到达其他网络的最短路径,最终形成全网路由信息。
实验拓扑图:实验步骤:新建packet tracer拓扑图(1)在本实验中的三层交换机上划分VLAN10和VLAN20,其中VLAN10用于连接校园网主机,VLAN20用于连接R1。
(2)路由器之间通过V35电缆通过串口连接,DCE端连接在R1上,配置其时钟频率64000。
(3)主机和交换机通过直连线,主机与路由器通过交叉线连接。
(4)在S3560上配置OSPF路由协议。
(5)在路由器R1、R2上配置OSPF路由协议。
(6)将PC1、PC2主机默认网关设置为与直连网路设备接口IP地址。
(7)验证PC1、PC2主机之间可以互相同信;PC1IP: 192.168.1.2Submask: 255.255.255.0Gateway: 192.168.1.1PC2IP: 192.168.2.2Submask: 255.255.255.0Gateway: 192.168.2.1S3560enconf thostname S3569vlan 10exitvlan 20interface fa 0/10switchport access vlan 10exitint fa 0/20switchport access vlan 20exitinterface vlan 10ip address 192.168.1.1 255.255.255.0 no shutdownexitinterface vlan 20ip address 192.168.3.1 255.255.255.0 no shutdownendshow ip route //空的conf tip routingrouter ospf 1network 192.168.1.0 0.0.0.255 area 0 network 192.168.3.0 0.0.0.255 area 0 endshow ip route实验程序执行结果:实验二实验目标:掌握综合路由器的配置方法;掌握查看通过路由重分布学习产生的路由;熟悉广域网线缆的链接方式;技术原理:为了支持本设备能够运行多个路由协议进程,系统软件提供了路由信息从一个路由进程重分布到另一个路由进程的功能。
H3C OSPF路由汇总实验

网络拓扑一:实验步骤:配置各台设备的ip地址测试直连的连通性配置OSPF路由协议查看全网连通性定义ACL,实现过滤计算出的路由,并且查看实验现象恢复全网的连通性,再次定义ACL,实现过滤Type 3 LSA,并且查看实验现象二:实验的配置命令和实验现象接口IP地址和测试直连的连通性---------------------略配置OSPF协议wcg-RT1:[wcg-RT1]ospf 1 router-id 1.1.1.1[wcg-RT1-ospf-1]area 0[wcg-RT1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255[wcg-RT1-ospf-1-area-0.0.0.0]network 192.168.12.1 0.0.0.0[wcg-RT1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0Wcg-RT2:[wcg-RT2]ospf 1 router-id 2.2.2.2[wcg-RT2-ospf-1]area 0[wcg-RT2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0[wcg-RT2-ospf-1-area-0.0.0.0]network 192.168.12.2 0.0.0.0[wcg-RT2-ospf-1-area-0.0.0.0]network 192.168.23.1 0.0.0.0wcg-RT3:[wcg-RT3]ospf 1 router-id 3.3.3.3[wcg-RT3-ospf-1]area 0[wcg-RT3-ospf-1-area-0.0.0.0]network 192.168.23.2 0.0.0.0[wcg-RT3-ospf-1-area-0.0.0.0]quit[wcg-RT3-ospf-1]area 1[wcg-RT3-ospf-1-area-0.0.0.1] network 192.168.34.1 0.0.0.0[wcg-RT3-ospf-1-area-0.0.0.1] network 3.3.3.3 0.0.0.0wcg-RT4:[wcg-RT4]ospf 1 router-id 4.4.4.4[wcg-RT4-ospf-1]area 1[wcg-RT4-ospf-1-area-0.0.0.1] network 4.4.4.4 0.0.0.0[wcg-RT4-ospf-1-area-0.0.0.1]network 192.168.2.0 0.0.0.255 [wcg-RT4-ospf-1-area-0.0.0.1]network 192.168.34.2 0.0.0.0查看全网连通性dis ip routing-table用ping命令测试连通性在wcg-RT4上定义acl 并且调用ACL过滤计算出的路由:[wcg-RT4]acl number 2000[wcg-RT4-acl-basic-2000] rule deny source 192.168.1.1 0 [wcg-RT4-acl-basic-2000]rule deny source 192.168.1.3 0[wcg-RT4-acl-basic-2000]rule permit [wcg-RT4-acl-basic-2000]quit[wcg-RT4]ospf 1[wcg-RT4-ospf-1]filter-policy 2000 import查看过滤效果并用ping测试结果dis ip routing-tableping 命令测试恢复网络的全网连通性,并在wcg-RT3上第一ACL,过滤type 3 LSA [wcg-RT3]acl number 2000[wcg-RT3-acl-basic-2000] rule deny source 192.168.1.1 0[wcg-RT3-acl-basic-2000] rule deny source 192.168.1.3 0[wcg-RT3-acl-basic-2000] rule permit[wcg-RT3-acl-basic-2000]quit[wcg-RT3]ospf 1[wcg-RT3-ospf-1-area-0.0.0.1]filter 2000 import查看wcg-RT4路由表dis ip routing-table查看wcg-RT3和wcg-RT4 area 1的LSDBdis ospf lsdb用ping命令测试结果:。
ospf--引入外部路由实验

network 20.1.1.0 0.0.0.3 network 10.1.1.0 0.0.0.3 network 2.2.2.2 0.0.0.0 area 0.0.0.1 network 50.1.1.0 0.0.0.3 #
[r4]dis cu conf os # ospf 2 router-id 4.4.4.4 area 0.0.0.0
network 40.1.1.0 0.0.0.3 #
[r5]dis cu conf os # ospf 1 router-id 5.5.5.5 area 0.0.0.1
network 50.1.1.0 0.0.0.3 #
在下一跳配置中ar1的地址和ar2的地址一样了下一跳写的是对的但你没有ar2的g000接口不是100002的地址你pc1和pc3也能通信我感觉原理是不通的吧
ospf--引 入 外 部 路 由 实 验
ospf–引 入 外 部 路 由 实 验
更多源代码请浏览我的
实验要求:
创建ospf1 、ospf2,并根据拓扑图划分区域的地址,r1上引入type-1的外部路由
[r6]dis cu conf os # ospf 1 router-id 6.6.6.6 area 0.0.0.2
network 60.1.1.0 0.0.0.3 #
验证
# dis ospf routing dis ip route-table dis ospf lsdb ase isplay cu conf ospf # ospf 1 router-id 1.1.1.1 import-route ospf 2 type 1 area 0.0.0.0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
路由器v1的路由表
权值 2 1 2 3 4
四. 代码实现部分
1. 算法步骤描述如下:
1. 用邻接矩阵arcs表示有向图。S为找到最短路径的 目标结点的集合,V为图中所有点的集合 2. 算法开始时S为空集,设出发点为v1 ,则辅助向 量D的初始值为 [∞ ,2,5, 1,∞,∞] 3. 选择vj ,使得D[i]=Min{D[k]|vk єV-S},则Vi就是当 前找到最短路径的目标结点, 令S=S U {Vi}。 4. 修改从V1出发到集合V-S上任一点Vk的当前最短 路径长度,如果 D[i]+arcs[i][k]<D[k], 则修改D[k]为D[k]= D[i]+arcs[i][k] 5. 重复3、4共n-1次(有向图有n个顶点)
V6
V1
三.SPF( Dijkstra算法)算法计算路由
1 V1
V4 1 V5
2
2
V6 2 V6
V2
1 1 V4 1 V1
V5
1 V3 V3 1
V5 1 V4 2 V2 V1 1
2 V6 V3
2 V2
三.SPF( Dijkstra算法)算法计算路由
(5)根据最小生成树SPF,为每个路由器建立路 由表,路由器V1的路由表如图示。
三.SPF( Dijkstra算法)算法计算路由
一. SPF计算
OSPF协议是使用Dijkstra算法来产生最小生成树 的。在全毗邻状态建立后,各相邻路由器LSDB内容 完成同步,各OSPF路由器可以开始最短路径优先计 算。 OSPF协议中SPF计算路由过程如下: 1.各路由器发送自己的LSA,其中描述了自己的链 路状态信息。 2.各路由器汇总收到的LSA,生产LSDB。 3. 各路由器以自己为根节点计算最小生成树,依
(1)网络拓扑结构如下
3
1
V6
三.SPF( Dijkstra算法)算法计算路由
(2)每台路由器的链路状态数据库
LSDB RTV1的LSA RTV2的LSA RTV3的LSA RTV4的LSA RTV5的LSA RTV6的LSA
三.SPF( Dijkstra算法)算法计算路由
(3)由链路状态数据库得到的带权有向图
#include"iostream.h" 四 . 代码实现部分 #include"stdlib.h"
#define MAXPOINT 6//定义最大的顶点数目 #define limit 10 //设置没有路径的权代替无穷大 struct record{ //每个顶点的数据结构设置为一个数组队列 int number; //顶点号 int flag; //标志是否从队列中被选过如果为1表示选过 如为0表示未选 int allpath; //从源点到这个点的当前最短距离(权最小) }path[MAXPOINT+1]; int a[MAXPOINT+1]; int cost[MAXPOINT+1][MAXPOINT+1]; //用来表示图的邻接矩阵 void main() { int t, i,j,temp,front=1,rear=MAXPOINT,N,minnumber; //temp表示在数组队列中的当前下标 front表示队列首 rear表示队列尾 //N 表示待输入的源点号码 minnumber 表示选中的点的号码 int min=10; //设置一个初始值 for(i=1;i<=MAXPOINT;i++) for(j=1;j<=MAXPOINT;j++) {cout<<"请输入从第"<<i<<"点到第"<<j<<"点的路径长度(权)如果没有路径的 话请输入'10' "<<endl; cin>>cost[i][j]; //初始化所有点之间的(权)路径值Байду номын сангаас
一.OSPF协议简介
5.RIP收敛速度慢,特别是在坏路由收敛尤 其慢,OSPF收敛速度快 6. RIP网络是一个平面网络,对网络没有分 层,OSPF支持层次结构,在自治系统中可以 划分区域,使LSA限定在一定范围内。 7. OSPF和RIPv2都支持VLSM和CIDR,有利 于设计高效的IP寻址,RIPv1不支持。 8. OSPF使用代价最为度量,此度量值一般 与带宽成反比,RIP使用跳步数作度量值,不 考虑带宽。
运行程序,根据最小生成树,为每一个路 由器建立起路由表,计算出了每个路由器到其 他目的路由的最短路径以及到目的路由的下一 跳,其中下一跳中0代表直接转发,其他数字 代表路由器编号。运行结果如图示。
二. OSPF协议运行过程
1.OSPF运行步骤 (1)建立路由器毗邻关系。 (2)在多路访问型网络中手动或自动的选举 DR和BDR。 (3)OSPF路由发现。 (4)选择最佳路由。 (5)维护路由信息。
二. OSPF协议运行过程
1.1 形成邻接关系的条件: (1)邻接路由器相邻接口必须在同一个网 络中。 (2)hello分组中以下信息要匹配。邻接路 由器认证密码必须相同。Hello分组发送间隔 必须相同,失效时间间隔必须相同。邻接路由 器数据链路层的MTU必须相同。如果定义了存 根区域,则邻接路由器根区域标识符必须相同。
OSPF实验
一.OSPF协议简介
二. OSPF协议运行过程 三. SPF( Dijkstra算法)算法计算路由 四. 代码实现部分
一.OSPF协议简介
1. OSPF算法介绍
与采用距离向量算法的RIP不同的是, OSPF算法采用了链路状态算法,“最短路径 优先”是因为在OSPF中使用的是Dijstra提出的 计算最短路径算法。 OSPF协议中,路由器并不与邻接路由器交 换跳数信息,他的每个路由器主动探测与其邻 接路由器的链路状态,并将这些链路状态及时 的发送给其他邻接路由器,而邻接路由器再将 这些信息在自治系统中传播出去。
二. OSPF协议运行过程
1.2 OSPF邻接建立过程经过的阶段: 关闭状态:在最近的失效时间间隔内没有收到 任何hello分组,此时没有于邻居交换信息。 尝试状态:不停的发送hello分组,知道进入 初始状态。 初始状态:路由器A收到了路由器B的第一个 hello分组就进入此状态,路由器B此时没有收 到来自A的hello分组。 双向状态:表明双方均收到了对方的hello分组。
5 V2 2 V1 1 3 V3
5
2
3
1 2
V6
V4
1
V5
三.SPF( Dijkstra算法)算法计算路由
(4)每台路由器分别以自己为根节点计算最小 生成树。
2 1 V4 1 V3 V2 2 V2 V1 2 V2 1 V5 2 V6 V4 1 1 V5 2 3 V3
V1
3
V3
1
V5
2 V6 1
V4
一.OSPF协议简介
2. OSPF和RIP的比较
OSPF与RIP相比,有如下的特点和优点。
1.RIP协议是距离向量协议,OSPF协议是链 路状态协议。 2.RIP协议定期的广播路由表,OSPF只是在 链路状态发生变化的时候才组播LSA。 3.RIP适用于小型网络,OSPF适用中型或大 型网络 4.RIP存在路由环路问题,OSPF能保证无环 路由选择。 。
}
min=10; path[minnumber].flag=1;//把选中的点的标志变量置1表示已经被 选过避免选中 for(i=1;i<=MAXPOINT;i++)//进行类似广度优先搜索,更新最短路径 { if((i!=minnumber)&&(path[minnumber].allpath+cost[minnumber ][i]<path[i].allpath)) { path[i].allpath=path[minnumber].allpath+cost[minnumber][i]; a[i]=minnumber; } } rear--;//次数减1 } for(i=1;i<=MAXPOINT;i++) { if(a[i]==N) a[i]=0; } for(i=1;i<=MAXPOINT;i++) { t=a[i]; if((a[t]!=0)&&(t!=0)) a[i]=a[t]; }
三.SPF( Dijkstra算法)算法计算路由
据是链路状态的代价cost(从本路由器出发, 到目的路由器之间所有最小链路cost之和) 4.各路由器按照自己生成的最小生成树得出 的路由条目并更新到路由表中。
三.SPF( Dijkstra算法)算法计算路由
二 . 例:SPF过程
5 2 V1 2 1 V4 1 V5 2 V2 3 V3 5
//cout<<"请输入源点号"<<endl; //输入一个起点 //cin>>N; for(N=MAXPOINT;N>=1;N--)//把每一个点轮流地都设置为起点,可以求出任意一 对顶点之间的最短路径 { for(i=front;i<=rear;i++) //初始化每个点的信息 { if(i==N) path[i].allpath=0; else path[i].allpath=limit; path[i].flag=0; path[i].number=i; } while(rear>=1) //控制循环次数 { for(temp=front;temp<=MAXPOINT;temp++) { if(path[temp].allpath<min&&path[temp].flag==0)//选出一个具有最值 //的点 { minnumber=path[temp].number; min=path[temp].allpath ; }