本质区别

一个是自治系统AS内部路由-ospf;一个是自治系统AS间路由-bgp;

简单理解

一个是生产路由的,一个是玩路由的。

OSPF是基于链路状况计算路由的;BGP本身不会去计算路由,只会把其他协议生成的路由拿来用。

1、类型不同

OSPF是无类别链路状态路由协议,属于IGP,工作也在一个AS内;

BGP是无类别路径矢量路由协议,属于EGP,工作在AS间

2、作用不同

OSPF是用来发现、计算路由的;

BGP是用来传递、控制路由的

3、数据包不同

OSPF的数据包有五种,分别是Hello包、DBD包、LSR、LSU、LSACK

BGP的数据包四种,分别是Open、Keeplive、Update、Notification

4、状态机不同

OSPF状态机一般有七个,分别是down、init、two-way、exstart、exchange、loading、full

BGP的状态机有六个,分别是Idle、Connect、Active、Opensent、Openconfirm、Establish

5、选路规则不同

OSPF选路规则有五个人为控制的只有cost,BGP有十二个,管理员可以灵活地控制

6、建邻条件

、OSPF建邻条件很多,有10个;BGP的建邻只需要邻居间可达、路由表中有邻居路由即可

7、追求不同

两种协议的追求不同,OSPF属于IGP协议,追求的是收敛快、选路佳、占用资源少;BGP属于EGP,追求的是可靠性、可控性强,还有就是以一个AS为一跳,即AS-BY-AS

8、防环机制不同

OSPF的防环机制主要依靠它的算法本身还有区域间水平分割等,BGP的防环机制主要有IBGP水平分割和EBGP水平分割