OSPF协议
概览
OSPF区域:OSPF协议按照一定标准将一个自治系统划分为不同区域,用于分层管理路由器。
相关定义
- OSPF协议:基于链路状态的路由协议,在数据中心网络、园区网络中有广泛应用。
- 区域ID:唯一标识OSPF区域的点分十进制地址(类似 IPv4 类型的IP 地址)。
- 0号区域(区域ID:0.0.0.0)称为骨干区域,所有区域必须与骨干区域连通。
- 区域类型:为高效管理路由器,OSPF区域支持两种类型:
- Standard:标准区域(Standard Area),支持所有类型的LSA。
- Stub:末节区域(Stub Area),不支持第4、5类型的LSA。
- 区域认证加密:为增强协议包的安全性,OSPF协议支持区域认证加密,OSPF区域支持三种认证方式:
- 不认证:接收报文时不进行身份认证。
- Plaintext:接收报文时通过报文中携带的密码进行身份认证。
- MD5:接收报文时通过报文中携带的Key ID和密码散列值进行身份认证。
- 邻居:同一链路上通过OSPF Hello报文相互发现并验证通过的路由器。
- 根据不同复杂程度的网络拓扑结构及OSPF定时器的不同设置,OSPF启动到邻居关系建立可能会需要数秒时间(不超过60秒)。
- Router ID:在一个自治系统中,每个OSPF路由器采用Router ID标识,全局唯一。
- 路由器需存在Router ID,才能正常使用OSPF协议。
- 系统默认使用VPC路由器的管理网接口地址作为Router ID。
- 普通VPC路由器Router ID支持手动指定,建议使用VPC路由器上一个稳定的接口IP地址。
- 高可用组内VPC路由器不支持修改Router ID。
功能优势
相对于静态路由,动态路由支持自动拓扑变化,重新计算路由,无需人工干预,适用于大规模网络环境。相比其他路由协议,OSPF协议具备以下功能优势:
- 无路由跳数的限制。
- 使用组播更新变化的路由和网络信息。
- 路由收敛速度更快。
- 以开销作为度量值。
- 采用SPF算法可有效避免环路。
清单
OSPF路由区域信息清单(VRouterOspfArea inventory)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 请参见资源结构 | 3.4.0 | ||
| areaId | 区域Id,区域标识 | 3.4.0 | ||
| authentication | 3.4.0 | |||
| keyId | 认证方式为MD5时用到的keyid | 3.4.0 | ||
| password | 认证方式为plaintext时的密码 | 3.4.0 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.4.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.4.0 | |
| groupBy | 3.4.0 | |||
| createDate | 请参见资源结构 | 3.4.0 | ||
| lastOpDate | 请参见资源结构 | 3.4.0 | ||
| type | 类型 | 3.4.0 |
路由加入到区域的网络信息清单(VRouterOspfNetwork inventory)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 请参见资源结构 | 3.4.0 | ||
| L3NetworkUuid | 云主机L3网络的uuid,请参见 L3 network | 3.4.0 | ||
| routerAreaUuid | 路由区域的id,唯一标识 | 3.4.0 | ||
| vRouterUuid | 路由器的uuid,唯一标识 | 3.4.0 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.4.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.4.0 | |
| groupBy | 3.4.0 | |||
| createDate | 请参见资源结构 | 3.4.0 | ||
| lastOpDate | 请参见资源结构 | 3.4.0 |
操作(Operations)
创建路由区域资源(CreateVRouterOspfArea)
用户可以使用CreateVRouterOspfArea创建路由区域资源。
例如:
CreateVRouterOspfArea areaId=1参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| areaId | 区域Id,区域标识 | 3.4.0 | ||
| areaAuth | OSPF区域的认证方式 | 是 | 3.4.0 | |
| areaType | 区域类型 | 是 | 3.4.0 | |
| password | 认证方式为plaintext时的密码 | 是 | 3.4.0 | |
| keyId | 认证方式为MD5时用到的keyid | 是 | 3.4.0 | |
| resourceUuid | 区域资源的唯一标识 | 是 | 3.4.0 | |
| tagUuids | 标签UUID列表 | 是 | 3.4.0 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.4.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.4.0 | |
| timeout | 是 |
删除OSPF路由区域(DeleteVRouterOspfArea)
用户可以使用DeleteVRouterOspfArea删除OSPF路由区域。
例如:
DeleteVRouterOspfArea uuid=8c7d2c714e1231549dd2a66a3f140ae5参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源的UUID,唯一标示该资源 | 3.4.0 | ||
| deleteMode | 是 | 3.4.0 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.4.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.4.0 | |
| timeout | 是 |
获取OSPF的邻居信息(GetVRouterOspfNeighbor)
用户可以使用GetVRouterOspfNeighbor获取OSPF的邻居信息。
例如:
GetVRouterOspfNeighbor vRouterUuid=dfb6151287b632599becfc5716b8c374参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| vRouterUuid | 路由器的uuid,唯一标识 | 3.4.0 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.4.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.4.0 | |
| timeout | 是 |
查询OSPF路由区域信息(QueryVRouterOspfArea)
用户可以使用QueryVRouterOspfArea查询OSPF路由区域信息。
例如:
QueryVRouterOspfArea原生域查询(Primitive Fields of Query)
获取路由器的ID(GetVRouterRouterId)
用户可以使用GetVRouterRouterId获取路由器的ID。
例如:
GetVRouterRouterId vRouterUuid=9b8b08cd553c3fd1ba4efc3e6c98512d参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| vRouterUuid | 路由器的UUID,唯一标识 | 3.4.0 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.4.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.4.0 | |
| timeout | 是 |
Note:
- ZStack Cloud获取路由器的ID时支持表示OSPF协议中路由器的routerID,SystemTags增加routeProtocolRouterId选项。
- 选项格式为:
routeProtocolRouterId::xxxx - 例如:
routeProtocolRouterId::1.1.1.1
- 选项格式为:
设置路由器的ID(SetVRouterRouterId)
用户可以使用SetVRouterRouterId设置路由器的ID。
例如:
SetVRouterRouterId vRouterUuid=9b8b08cd553c3fd1ba4efc3e6c98512d routerId=10.10.10.1参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| vRouterUuid | 路由器的UUID,唯一标识 | 3.4.0 | ||
| routerId | IP地址形式的ID | 3.4.0 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.4.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.4.0 | |
| timeout | 是 |
Note:
- ZStack Cloud设置路由器的ID时支持表示OSPF协议中路由器的routerID,SystemTags增加routeProtocolRouterId选项。
- 选项格式为:
routeProtocolRouterId::xxxx - 例如:
routeProtocolRouterId::1.1.1.1
- 选项格式为:
添加网络到OSPF的区域(AddVRouterNetworksToOspfArea)
用户可以使用AddVRouterNetworksToOspfArea添加网络到OSPF的区域。
例如:
AddVRouterNetworksToOspfArea routerAreaUuid=d397110ba793345797e33bc6ed3db65f vRouterUuid=b02959e102353bfd9fd14a149fa20565 l3NetworkUuids=202258e4c4893f85a6b5baa7b8b55bb0参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| routerAreaUuid | 路由区域的id,唯一标识 | 3.4.0 | ||
| vRouterUuid | vpc路由器的唯一标识id | 3.4.0 | ||
| l3NetworkUuids | 3层网络的唯一标识id | 3.4.0 | ||
| resourceUuid | 资源的标识id | 是 | 3.4.0 | |
| tagUuids | 标签UUID列表 | 是 | 3.4.0 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.4.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.4.0 | |
| timeout | 是 |
从路由区域中移除网络(RemoveVRouterNetworksFromOspfArea)
用户可以使用RemoveVRouterNetworksFromOspfArea从路由区域中移除网络。
例如:
RemoveVRouterNetworksFromOspfArea uuids=ad747eefbaf534d4a46822cc02fd329a参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuids | 网络区域表中的uuid,全局唯一标识 | 3.4.0 | ||
| deleteMode | 是 | 3.4.0 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.4.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.4.0 | |
| timeout | 是 |
更改OSPF的路由区域属性(UpdateVRouterOspfArea)
用户可以使用UpdateVRouterOspfArea更改OSPF的路由区域属性。
例如:
UpdateVRouterOspfArea uuid=b90552421b6a390fa55da5b489a53e32参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源的UUID,唯一标示该资源 | 3.4.0 | ||
| areaAuth | 区域认证方式 | 是 | 3.4.0 | |
| areaType | 区域类型 | 是 | 3.4.0 | |
| password | 认证需要的password | 是 | 3.4.0 | |
| keyId | 认证需要的KeyID | 是 | 3.4.0 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.4.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.4.0 | |
| timeout | 是 |
查询路由加入到区域的网络信息(QueryVRouterOspfNetwork)
用户可以使用QueryVRouterOspfNetwork查询路由加入到区域的网络信息。
例如:
QueryVRouterOspfNetwork原生域查询(Primitive Fields of Query)
标签(Tags)
OSPF标签(OSPF Tags)
用户可以使用resourceType=OSPFVO在OSPF协议上创建用户标签。
例如:
CreateUserTag resourceType=OSPFVO tag=OSPF-1 \
resourceUuid=3533e0dcd01d4e2aa8697048e152c5d8