常见的IGP内部网关协议:RIP(端口号UDP520)、OSPF(IP协议89)

常见的EGP外部网关协议:BGP(TCP179)

OSPF

3张表、5个包、6个状态

邻居表、LSDB、路由表

init、2-way、exchange-start、exchang、loading、full

1、分类

ospfv2是针对于ipv4的

ospfv3是针对于ipv6的

2、概念

Router-ID是路由器的标识,开启ospf的时候需要指定router-id,router-id格式是IP地址的格式,只是一个名字,并不代表就有这个IP地址

区域

OSPF Area用于标识OSPF的区域,区域是从逻辑上将设备划分为不同的组,每个组用区域号Area ID来标识。

开销

开销cost是路由的度量值,由接口带宽决定,cost=10^8/带宽,相当于1Gbps/带宽。cost越小越优。

3、OSPF工作原理

五个包

报文名称

报文功能

hello包

用于发现和维护邻居关系,定期发送

Database Description(DBD包)

描述本地LSDB链路状态数据库的摘要信息,用于两台设备进行数据库同步

LSDB即所有LSA链路状态信息的集合

先发送LSDB摘要信息获取自己缺少的路由信息,再通过LSA去发送对方没有的路由信息

Link State Request (LSR)

用于向对方请求所需要的LSA,设备只有在OSPF邻居双方交换DD报文之后才会向对方发出LSR报文

Link State Update (LSU)

用于向对方发送其所需要的LSA

Link State ACK

用来对收到的LSA进行确认

先发送hello包建立邻居关系(形成邻居表);发送DBD包同步LSDB链路状态数据库信息;发送LSR链路状态请求包向对方请求自己没有的LAS;发送LSU链路状态更新信息向对方发送所需要的LAS(LSDB);最后发送LAS确认信息,确认已收到对方发送的LSA。(路由表)

ibgp比ospf好在哪里 ospf,bgp_链路

邻居关系建立过程

R1、R2

首先R1发送hello包,R2收到之后把R1 加入到自己的邻居表中状态标记为init;R2发送hello包告诉R1 自己已经知道R1 是自己的邻居,此时R1 将R2 加入到邻居表中状态为2-way;R1 发送hello包告诉R2自己已经知道R2是自己的邻居,此时R2把状态改为2-way。

ibgp比ospf好在哪里 ospf,bgp_网络协议_02

ibgp比ospf好在哪里 ospf,bgp_网络_03

邻居关系建立完成之后,建立邻接关系

exchang-start状态选主从;exchange状态发送带有LSA摘要信息的DBD包;loading状态发送LSR、LSU、LSACK;数据库同步完毕之后达到full状态

七个状态

ibgp比ospf好在哪里 ospf,bgp_网络协议_04

DR和BDR,只需要找DR进行LSDB进行同步

        选举:优先级;优先级一样,就比较router-id ,越大越优先。

        选举结束后:当网络中加入一个更高优先级的路由器,处于稳定性考虑,此时它 只能成为非指定路由器;当DR失效时,BDR立刻成为新的DR,非指定路由器竞争成为新的BDR。

4、邻居关系无法建立的原因

  • router id一致:每台路由器的router id需要不一致
  • area id不一致:同一网段的所有端口应当配置在同一区域
  • 网络接口类型不一致:hello和hellodown的时间需要一致
  • 路由器掩码不一致
  • 同一区域的验证类型不一致、验证码不一致

5、单区域存在的问题

LSDB庞大,SPF计算开销大;

LSA洪泛范围大,拓扑变化影响范围大;

路由表庞大,不能汇总。

所以就有了OSPF多区域

OSPF多区域

优点:支持大规模的组网;多区域的划分减少了LAS洪泛的范围,优化网络;在边界路由器做了路由汇总,减小路由表规模。减轻路由器的计算压力。

1、基本结构

ibgp比ospf好在哪里 ospf,bgp_网络_05

路由器类型

IR(Internet Router):区域内路由器

ABR(Area Border Router):区域边界路由器

BR(Backbone Router):骨干路由器Area0区域的边界路由器

ASBR(AS Boundary Router):自治系统边界路由器,与其他路由协议(RIP)相连的路由器成为ASBR。

注意:其他Area区域必须要和Area0直接相连

区域类型

骨干区域:area0,骨干区域有且只有一个

非骨干区域:非骨干区域之间不能直接相连,需要连接在骨干区域,通过骨干区域去通信

特殊区域:具有某些特殊性质的区域,比如stub末梢区域、NSSA非纯末梢区域

        末梢区域:允许学习1、2、3类LSA,但是解决学习4、5、7外部路由,因为末梢区域不想知道AS外边的世界,只想通过缺省路由来让ABR去转发。

        完全末梢区域:拒绝所有外部路由只允许1、2类LSA和3类默认路由,其他3、4、5、7都不允许。

        非纯末梢区域:在NSSA区域内的ASBR路由器利用7类lsa来通告外部的目的网 络,7类在NSSA区域内泛洪,此时7类lsa会被ABR路由器转换成5类lsa泛洪到骨干区 域(5类不能转换成7类);1、2、3、7都能进入NSSA区域,4、5类不行

        完全非纯末梢区域:拒绝所有外部协议和汇总,只允许1、2、7,其他都使用默认路由进行通信。

ibgp比ospf好在哪里 ospf,bgp_网络_06

ibgp比ospf好在哪里 ospf,bgp_网络协议_07

 链路状态通告LSA类型

类型

描述

用途

type1

路由器LSA

区域内LSA,用于描述区域内的链路状态信息

type2

网络LSA

区域内的DR发出,用于描述区域内变更信息

type3

网络汇总LSA

由ABR发出,用于描述其他区域的链路汇总信息,区域间传递

type4

ASBR汇总LSA

由ABR发出,用于通告ASBR信息,确定ASBR位置,不会出现在ASBR所属区域内

type5

AS外部LSA

ASBR发出,用于通告外部路由,告诉AS自治系统的路由器通往外部AS的路径,在整个AS中进行洪泛

type7

NSSA非纯末梢外部LSA

NSSA区域内的ASBR发出,用于通告本区域连接的外部路由,和type5相似,但是type7只在NSSA区域内洪泛,ABR传递到其他区域的时候会转换为LSA5

555到这了,终于搞懂了一些了-_-

2、LSDB

每个区域都有自己的LSDB,SPF独立的去计算;

LSA洪泛也是在自己的区域内进行。

3、特殊区域——缺省路由发布总结

ibgp比ospf好在哪里 ospf,bgp_网络_08

 

边界网关协议BGP

外部网关协议

自治系统之间的通信

1、在配置BGP的时候至少要选择一个路由器作为BGP发言人,一般为边界路由器;

2、不同自治系统的BGP发言人要交换路由信息,首先必须先建立TCP连接,端口号为179

        在TCP连接上交换BGP报文建立BGP会话

        利用BGP会话交换路由信息(增加路由、撤销路由、差错信息等)

        两个BGP发言人互称为邻站或者对等站

3、BGP发言人除了运行BGP之外,还必须运行自己所在的自治系统的内部网关协议RIP或者OSPF

4、BGP发言人交换网络可达性信息

5、BGP发言人根据获取到的路由信息,选择一条较好的路由,构造出一个树形结构,不存在环路的自治系统联通圈。

6、适用于多级网络

7、4种报文

        open打开报文:用来与相邻的另一个BGP发言人建立关系,是通信初始化

        update更新报文:用来更新某条路由信息,以及列出要撤销的路由

        keep alive保活报文:用来周期性的证实邻站的连通性

        notification通知报文:用来发送检测到的差错

BGP不咋会-_-

RIP(router information protocol路由信息协议)

1、概念

RIP是一种距离矢量路由协议,使用基于跳数的度量值;

最大跳数为16,适用于小型网络;

封装在UDP,端口号为520;

RIP分为RIPv1和RIPv2:RIPv1支持定长子网划分网络,采用广播的形式发送报文,不支持认证;RIPv2传递路由和子网掩码,所以支持变长子网掩码划分网络,采用组播的形式(224.0.0.9),支持明文和MD5认证。

2、防环机制

1、无穷大计数:RIP最多为16跳,大于等于16跳都会视为无效

2、抑制计时器:当接口学到跳数更大的路由会启动抑制计时器,等待路由失效,才会更新此路由

3、水平分割:在这个接口学到的路由不会从这个接口再发送出去

4、路由毒化:链路断开或者路由失效的时候,会向外通告16跳无效路由给其他路由器

5、触发更新:链路断开时,直接触发更新,马上进行路由失效通告,链路恢复也会立即通告

6、毒性逆转:从该接口学到的路由以无效路由通告出去,和水平分割有点像,两者只能使用一种

(链路发生改变,从该接口学到16跳无效路由会以16跳无效路由从该接口发送出去。告诉其他路由器自己已经知道了链路发生变化,在抑制计时器时间内期待此路由更新。)

Cisico配置RIP

1、启动RIP路由协议

R4(config)#router rip

2、宣告指定的直连网络

R4(config-router)#network 1.1.1.0

配置network命令用于激活接口的rip进程,也就是这个接口会去广播rip信息;这个接口所在的网段会被放在更新消息内去宣告。

1.0.0.0/24 is subnetted, 1 subnets

C       1.1.1.0 is directly connected, FastEthernet0/0

R    2.0.0.0/8 [120/1] via 1.1.1.2, 00:00:06, FastEthernet0/0

120是AD管理距离值,1是跳数

ibgp比ospf好在哪里 ospf,bgp_网络协议_09

小贴士:RIP只支持主类网络,比如network 192.168.1.0这个网络是一个c类地址,则掩码默认为24,而如果是network 172.6.1.0这个是个B类地址,所以我们在show ip router的时候看到的路由掩码其实默认会变成是16位的172.6.0.0。