网络技术之IGP协议



  RIP总结

Rip:路由信息协议,基于udp520工作,源目端口,520;存在V1/2/ng版,rip ngipv6使用;其为DV型路由协议;基于跳数工作,最大1516跳不可达;周期更新;支持等开销负载均衡,最大6条,默认4条,12.4ios以上16

破解RIP环路方法:

      水平分割---------从此接口进,不从此接口出

      毒性逆转---------触发更新

      最大跳数---------16跳不可达

      抑制计时器------30s更新,180s失效,180s抑制。240s刷新(非cisco产品300s

RIP V1/2的区别:

      Rip v2是无类别协议,更新时携带掩码,可以进行VLSM/CIDR,不支持超网;rip v1仅支持连续性子网

 

     Rip v1广播更新,rip v2组播更新,224.0.0.9

 

     Rip v2支持认证

 

rip中的水平分割(s-h):

  1: 当从某接口收到某条路由时,不能再从此接口发出路由(只收不发),称为简单s-h

  2:当收到后,可以从此接口向外发,但会打上一个不可用标签(带毒性s-h),route poisoning :发现不可达直接设为不可达跳数(16

  s-h在默认情况下只有在fr主接口中是关闭的,在其它接口都是打开的

 

触发更新:

   接口下: ip rip triggered

  在帧中继中(广域网): 点到点子接口 可以用此命令

              多点子接口和主接口中会报错

  在hdlcppp封装的串线中(广域网):可以用此命令

  在以太网中: 无此命令

注:只有在p2p广域网接口中可运行,非p2p广域网报错,以太网中无此命令

 

 

v1支持连续型子网,v1收发时存在收发原则:

发:

 1:同类发明细,异类发汇总(同类时,是主机路由不管怎样都发送,非主机路由时,以配置的掩码发送;异类时,以主网网段发送)

  若在一路由器上存在一环回(12.11.11.11),而此路由器向外发路由的接口ip12.1.1.1,则判断接口ip属于那个主类,之后将其所属主类的网络位同所发路由条目的相应字段比较(比较掩码是否一致),若相同则为同类,否则为异类 ,同类时:以明细显示发送(以写定的ip及掩码发送),异类时:以主网形式发送

 2:同类时,明细的子网掩码与出接口的子网掩码是否相同,相同发送,不同时不发送

 3:同类时,若发出的为主机路由(32位)不管是否掩码相同,均可发送

 

收:

 1:收的路由与入接口是否同类,判断同类方法同发

 2:异类时,若路由表中有此主类网络的明细路由条目,则不接收,若路由表中没有此主类网络的明细路由条目,则以此路由主类掩码匹配接收

 3:同类时,以入接口的掩码匹配,若主机位有1(不管在主机位的那一位),则以主机路由放进路由表,若全0,则以入接口掩码匹配放入路由表

 注:接收时的判断是以发出后的路由条目判断,不是以发出前的判断,如:r1的环回为12.11.1.1/24  r1r2之间为:r1 12.1.1.1/24 

r2 12.1.1.2/29(/16) ,则发则发出的为12.1.1.0/24,而收时 若r2为 /16 ,则以主机路由收, 若r2为 /29 ,则以12.1.1.0

 

连续性子网------------掩码一致,母网相同;rip v1中,若网络是非连续性子网,可以通过第二地址解决

       int f0/0

       ip add X.X.X.X secondary

 

Rip 的扩展:

 手工汇总-------在更新源router发出的所有接口

 Int fX/X

 Ip summary-add rip X.X.X.X X.X.X.X

 

 认证--------先定义key,后在同邻居相连的接口上调用

Key chain XX

Key X

Key-string XXX

Key M

Key-string MMM

Int SX/X

Ip rip authentication key-chain XX (明文)

Ip rip authentication mode md5(修改为密文)

注意:在同一设备上可以定义多个密钥库(key-chain),但一个接口只能调用一个;同一密钥库中可以定义多把密钥,但正常情况下仅编号最小的密钥生效;在基于时间调用多把密钥时,邻居间key的编号和密钥必须一致

 

被动接口------只接收不发送路由信息,用于同用户相连接口,这些接口最好全部调用认证

Router rip

Passive-interface fX/X

 

加快协议收敛速度-------通过修改计时器实现,但需保持原有倍数关系,不易修改过小,全网必须一致

 

Router rip

Timers basic 15 90 90 120

缺省路由-------在边界上配置一条指向ISP的静态缺省,然后基于协议向内发布

Router rip

Default-information originate

 

 

干涉选路-------偏移列表

  在控制层的进或者出接口上人为加大rip度量,该策略可以叠加

Access-list 1 permit X.X.X.X X.X.X.X 

Router rip

Offset-list 1 in/out X FX/X

 

Rip版本兼容-------v1仅收发v1v2收发v2;升级版v112,发1

查看--show ip protocols

修改--ip rip send version 1/2

 

Rip实验总结: 

1.1-------

     R1------------xgd_wy_sj_so_11#show run | s route

ip route 10.0.0.0 255.0.0.0 Ethernet0/0 30.1.1.1

ip route 20.0.0.0 255.0.0.0 Ethernet0/0 30.1.1.1

ip route 30.1.1.1 255.255.255.255 Ethernet0/0   静态递归

xgd_wy_sj_so_11#show run int e0/0

Building configuration...

 

Current configuration : 66 bytes

!

interface Ethernet0/0

 ip address 10.123.1.1 255.255.255.0

end

 

xgd_wy_sj_so_11#show run int lo0 

Building configuration...

 

Current configuration : 64 bytes

!

interface Loopback0

 ip address 10.1.1.1 255.255.255.255

end

 

R2--------------------------router rip

 version 2

 network 10.0.0.0

 default-information originate  下放缺省

 no auto-summary

xgd_wy_sj_r_12#show run int e0/1

Building configuration...

 

Current configuration : 108 bytes

!

interface Ethernet0/1

 ip address 10.123.1.2 255.255.255.0

 ip nat outside

 ip virtual-reassembly in

end

 

xgd_wy_sj_r_12#show run int e0/0

Building configuration...

 

Current configuration : 181 bytes

!

interface Ethernet0/0

 ip address 10.234.1.2 255.255.255.0

 ip nat inside

 ip rip authentication mode md5

 ip rip authentication key-chain renzheng   认证

 ip virtual-reassembly in

end

 

xgd_wy_sj_r_12#show run int lo0 

Building configuration...

 

Current configuration : 64 bytes

!

interface Loopback0

 ip address 10.2.2.2 255.255.255.255

end

 

xgd_wy_sj_r_12#show run | s key

key chain renzheng    密钥库

 key 1

  key-string 123

 ip rip authentication key-chain renzheng  

 

xgd_wy_sj_r_12#show run | s nat

 ip nat inside

 ip nat outside

 default-information originate

ip nat inside source static 20.6.6.6 interface Ethernet0/1

ip nat inside source static udp 20.6.6.6 23 10.123.1.2 23 extendable

 

R4----------xgd_wy_sj_r_14#show run | s route

router rip

 version 1

 no validate-update-source   关闭更新源

 offset-list 1 in 3     偏移列表

 network 10.0.0.0

 network 20.0.0.0

 neighbor 20.1.56.6   单播建邻

ip route 20.1.56.0 255.255.255.0 Ethernet0/0 20.1.45.5

xgd_wy_sj_r_14#show run | s key

key chain renzheng

 key 1

  key-string 123

 ip rip authentication key-chain renzheng

xgd_wy_sj_r_14#show run int e0/0

Building configuration...

 

Current configuration : 114 bytes

!

interface Ethernet0/0

 ip address 20.1.45.4 255.255.255.0

 ip rip send version 2

 ip rip receive version 2

end

 

xgd_wy_sj_r_14#show run int e0/2

Building configuration...

 

Current configuration : 189 bytes

!

interface Ethernet0/2

 ip address 10.234.1.4 255.255.255.0

 ip rip send version 2

 ip rip receive version 2

 ip rip authentication mode md5

 ip rip authentication key-chain renzheng

end

 

xgd_wy_sj_r_14#show run int lo0 

Building configuration...

 

Current configuration : 64 bytes

!

interface Loopback0

 ip address 10.4.4.4 255.255.255.255

end

 

R5-------xgd_wy_sj_so_15#show run | s route

ip route 10.0.0.0 255.0.0.0 Ethernet0/0 20.1.45.4

ip route 20.6.6.0 255.255.255.0 Ethernet0/1 20.1.56.6

xgd_wy_sj_so_15#show run int e0/0

Building configuration...

 

Current configuration : 65 bytes

!

interface Ethernet0/0

 ip address 20.1.45.5 255.255.255.0

end

 

xgd_wy_sj_so_15#show run int e0/1

Building configuration...

 

Current configuration : 65 bytes

!

interface Ethernet0/1

 ip address 20.1.56.5 255.255.255.0

end

 

R6--------xgd_wy_sj_r_16#show run | s route

router rip

 version 2

 no validate-update-source

 network 20.0.0.0

 neighbor 20.1.45.4

 no auto-summary

ip route 20.1.45.0 255.255.255.0 Ethernet0/1 20.1.56.5

xgd_wy_sj_r_16#show run int e0/1

Building configuration...

 

Current configuration : 65 bytes

!

interface Ethernet0/1

 ip address 20.1.56.6 255.255.255.0

end

 

xgd_wy_sj_r_16#show run int lo0 

Building configuration...

 

Current configuration : 64 bytes

!

interface Loopback0

 ip address 20.6.6.6 255.255.255.255

end

注意:在本次实验中,版本v1v2存在兼容性问题,所以修改收发版本号;协议建邻为1跳建邻,所以在46建邻时会存在问题,可以使用单播建邻(隔跳建邻),但在使用单播建邻前得保证neighbor可达,所以可通过静态实现;建邻后还不能收发路由,存在更新源,所以关闭更新源

 

1.2:

  R2------------xgd_wy_sj_r_11#show run | s route

router rip

 version 2

 timers basic 15 90 90 120

 redistribute static

 offset-list 2 in 2 Ethernet0/0

 network 192.168.1.0

 no auto-summary

ip route 0.0.0.0 0.0.0.0 Serial1/0 12.1.1.1

xgd_wy_sj_r_11#show run int s1/1

Building configuration...

 

Current configuration : 281 bytes

!

interface Serial1/1

 ip address 192.168.1.1 255.255.255.240

 ip nat inside

 ip rip advertise 15

 ip rip authentication mode md5

 ip rip authentication key-chain renzheng

 ip virtual-reassembly in

 ip summary-address rip 192.168.1.128 255.255.255.240

 serial restart-delay 0

end

 

xgd_wy_sj_r_11#show run int s1/0

Building configuration...

 

Current configuration : 128 bytes

!

interface Serial1/0

 ip address 12.1.1.2 255.255.255.0

 ip nat outside

 ip virtual-reassembly in

 serial restart-delay 0

end

 

xgd_wy_sj_r_11#show run int lo0 

Building configuration...

 

Current configuration : 90 bytes

!

interface Loopback0

 ip address 192.168.1.129 255.255.255.248

 ip rip advertise 15

end

 

xgd_wy_sj_r_11#show run int lo1

Building configuration...

 

Current configuration : 90 bytes

!

interface Loopback1

 ip address 192.168.1.137 255.255.255.248

 ip rip advertise 15

end

 

xgd_wy_sj_r_11#show run | s key cha

xgd_wy_sj_r_11#show run | s key cha

key chain renzheng

 key 1

  key-string 123

R3-R5R2

R6---------xgd_wy_sj_r_11#show run | s route

router rip

 version 2

 timers basic 15 90 90 120

 network 192.168.1.0

 no auto-summary

xgd_wy_sj_r_11#show run int s1/1

Building configuration...

 

Current configuration : 237 bytes

!

interface Serial1/1

 ip address 192.168.1.81 255.255.255.240

 ip rip advertise 15

 ip rip authentication mode md5

 ip rip authentication key-chain renzheng

 ip summary-address rip 192.168.1.0 255.255.255.0

 serial restart-delay 0

end

 

xgd_wy_sj_r_11#show run int s1/0

Building configuration...

 

Current configuration : 241 bytes

!

interface Serial1/0

 ip address 192.168.1.50 255.255.255.240

 ip rip advertise 15

 ip rip authentication mode md5

 ip rip authentication key-chain renzheng

 ip summary-address rip 192.168.1.192 255.255.255.240

 serial restart-delay 0

end

 

xgd_wy_sj_r_11#show run int e0/0

Building configuration...

 

Current configuration : 219 bytes

!

interface Ethernet0/0

 ip address 192.168.1.66 255.255.255.240

 ip rip advertise 15

 ip rip authentication mode md5

 ip rip authentication key-chain renzheng

 ip summary-address rip 192.168.1.192 255.255.255.240

end

 

xgd_wy_sj_r_11#show run int lo0 

Building configuration...

 

Current configuration : 90 bytes

!

interface Loopback0

 ip address 192.168.1.193 255.255.255.248

 ip rip advertise 15

end

 

xgd_wy_sj_r_11#show run int lo1

Building configuration...

 

Current configuration : 90 bytes

!

interface Loopback1

 ip address 192.168.1.201 255.255.255.248

 ip rip advertise 15

end

 

 

R7---------xgd_wy_sj_r_17#show run | s route

router rip

 version 1

 timers basic 15 90 90 120

 network 78.0.0.0

 network 172.16.0.0

 network 192.168.1.0

xgd_wy_sj_r_17#show run int s1/1

Building configuration...

 

Current configuration : 228 bytes

!

interface Serial1/1

 ip address 172.16.3.1 255.255.255.0 secondary

 ip address 78.1.1.7 255.255.255.0

 ip rip advertise 15

 ip rip authentication mode md5

 ip rip authentication key-chain renzheng

 serial restart-delay 0

end

 

xgd_wy_sj_r_17#show run int s1/0

Building configuration...

 

Current configuration : 240 bytes

!

interface Serial1/0

 ip address 192.168.1.82 255.255.255.240

 ip rip advertise 15

 ip rip send version 1 2

 ip rip receive version 1 2

 ip rip authentication mode md5

 ip rip authentication key-chain renzheng

 serial restart-delay 0

end

 

xgd_wy_sj_r_17#show run int lo0 

Building configuration...

 

Current configuration : 85 bytes

!

interface Loopback0

 ip address 172.16.1.1 255.255.255.0

 ip rip advertise 15

end

 

R87

 

xgd_wy_sj_r_12#show run | s access

access-list 1 permit 192.168.1.0 0.0.0.255

access-list 1 permit 172.16.0.0 0.0.255.255

access-list 1 permit 78.1.1.0 0.0.0.255

access-list 2 permit 192.168.1.176 0.0.0.15

 

 

 

xgd_wy_sj_r_12#show run | s nat

 ip nat inside

 ip nat outside

 ip nat inside

ip nat inside source list 1 interface Serial1/0 overload

ip nat inside source static 78.1.1.7 12.1.1.2

 

 

注意:1v1v2兼容性问题

     在v2的边界上做时,在v1部分只能收到v2中的连续性(v1支持连续性子网),若在v1的边界做,v1部分只能收到v2部分的一条汇总,但两种做法都有不足(但此试验只能在v1的边界上做,因为在v2的边界上做,v1只能收到v2的连续性子网,其他的路由收不到,在v1的边界上做,使其收v2的,则可以收到)

    2:v1之间不能互访,因为v1支持连续子网,而此时存在收发问题,可以用第二地址解决

    3:为使v1中有v2部分的路由,需在v2边界(r6)上汇总,使其发向v1

    4:计时器(加快收敛时间)

      在接口中:timers basic 15 90 90 120

    5:访问:

        缺省:是保证出去有路

        nat:保证回来有路

    其中acl中:若不加反掩码,则表示的是具体ip而不是网段

    6telnet时:

     此处通过r1访问r2r8,则先在r8上开启远程访问功能,之后因为r1不知道内网环回路由,所以做一个内网到外外网的端口映射    

7:做完之后,基本完成,但由于实验过程中做过汇总,缺省等,所以可能有黑洞等问题,因此需做一条空接口路由用来防环

 

写了aclno掉一个项,就会全部no(除非进acl进程操作)

 

是先发送再汇总还是先汇总再发送??(先汇总)

 

RIP新增总结:

rip 基于bellman-ford算法

   特点: 完整RIB

          谣言传输

          周期更新---防止重启后同时发送更新包,在MA网络中,在到30s的瞬间switchcpu消耗很大,对bellman-ford算法也有影响,因此有一个随机差值(cisco%15的随机更新变化期,4.5s

路由转发中需要解决的问题;

       路由环路

       路由次优

       数据黑洞

 

帧中继中起rip ,主接口水平分割关闭,多点子接口默认打开,在HUB上需要手动关闭

 

    rip的触发更新只能在串行化链路的P2P子接口中使用

 

   rip中两种rip报文,requestresponse

 rip v1中,request报文,ttl=2

 

   管理距离只会影响本地router(本地有效)

   metric会传递并且叠加,inoffset-list会影响自己的路由表,out向不会影响自己,影响别人

 

  协议流

  数据流

 

将协议流的数据流断掉,不影响通信,只要有路由,数据层就能通信,就算路由down

 

冻结期的180s是在invalid180s后执行,但flush只有240s,所以,holddown time实际只用到60s

 

sleep time :触发更新计时器,路由发生变化,等sleep time后更新,但sleep time是随机的,手工指定了就以手定

 

output-delay30ms):避免路由更新太快导致老设备来不及处理,协议下直接输入

 

自己设计冻结期(180s抑制,实际用到60s)实验

 

networkX.X.X.X的两含义:向外宣告X.X.X.XX.X.X.X允许发送报文和接收来自邻居的报文

 

当直连不在同一网段时,想让rip中有路由,可关闭更新源检测 (但关闭后,可能导致有路由不通) ,源检测就是保证让有路由不通的路由不进入路由表;上述虽然有路由,但没有出接口,不能递归查询,所以不通

 

PPPpeer-neighbor-route,没关时,就会将自己的32位路由推到邻居

 

ripneighbor不影响组播发送,加neighbor,单播,组播都发

 

触发更新有时在protocol中看不到

       在12.4ios中会将holddown0

input-queue:输入队列(以包大小),将运行BGP的高端router的数据引入到运行rip的低端router,避免大到小的数据丢包

 

rip v1只支持自动汇总,v2手工汇总不支持超网(汇总后掩码长度不能小于主网)

 

多个汇总在敲时不覆盖,但对方学时以掩码最短为准

手工汇总不影响本地,只影响其他设备

自动汇总优于手工汇总,因为自动汇总一直会汇总到主类边界

 

汇总中引入缺省,直接汇总为0.0.0.0 0.0.0.0 ,学到路由还是主类网路由,原因在5

方法: 1:写静态缺省(只能写出接口),之后network 0.0.0.0(宣告缺省)

       2:写静态缺省(下一跳,出接口都可以) ,之后redistribute

 static

       3default-information original,后加route-map,可选择当匹配的路由存在时,才下放缺省(缺省路由出现条件),当匹配的不是rip路由时也生效

      4ip default-network +主类,若写的是子网,接口是主网,对端收不到,本地无变化;若写的是子网,接口也是子网,对端收不到,本地产生ip route 主类+掩码+写的子类

      5:接口汇总,0.0.0.0 0.0.0.0 (不是100%出现,而且也是很及时),在能产生0.0.0.0/0 null0的,因为null0的不定性,所以出现也不确定,在接口下又要缺省汇总,又要普通汇总,先敲缺省,再敲普通

 

distribute-list---决定那些路由发或者收,aclpermit就发或者收,

ripdistribute-list/offset-list都只能用标准,扩展有命令,但无用

 

当攻击者是搞破坏时,被动接口也失效,不能保证攻击者的信息不收(如路由),解决方法----认证,但认证不是加密;认证--在包中加数据,但原数据不变,加密--将数据变样

明文认证时,收时只要密码对应即可,不用钥匙序号(ID)对应,发ID最小的

密文认证时,看不到密码,但能看到ID,发也是小的,收时,看有无对方发的IDx),有就直接看密码,无对方的ID,就用x+1,有看密码,无再加1....

 

 

 

 

EIGRP总结

Eigrp---增强性内部网关路由选择协议,无类别D-V型(高级D-V;混合路由协议),协议号88,组播更新--224.0.0.10

5种数据包:

 Hello包:周期发送,用于邻居的发现,建立,保活;(在接口带宽大于1.544MT1链路)以上的链路hello time5shold time 15s,小于1.544hello time 60shold time 180s;这是在老的ios才是);(hello time跟接口带宽无关,和100M或者1.544M无关和链路也无关,在帧中继中:主接口中hello time60sP2P子接口中hello 5sMP子接口中hello time60s

因此eigrphello time是和封装有关:FR主,多点:60s 180sFRP2P子,以太网接口,PPP/HDLC封装:5s 15s,现在正确的解释);包中需要完全一致的数据(建邻条件)---AS号,认证字段,K值(metric weights),网段要一致,但掩码长度不需要一样,单组播要对应,要么全单播,要么全组播hello time对建邻无影响,只要偏差不是太大;hello:默认使用组播,当hello中的k1时,就为GOODBEY发送使用主地址,接收只要源地址在接收接口有C路由即可

更新包:目标网络号+度量,update:增量更新,为多台时为组播,可靠包,必须回ACK

查询包:针对某个对象查询,query:找不到最优时,发查询,组播

应答包:针对某个对象应答,reply:可靠包,单播包,谁发query,向谁发,要求回ACK

ACK:用于确认更新,查询,应答包,ack:单播,不可靠

SIA-QUERY:用于避免SIA超时导致邻居关系重置

SIA-REPLY:用于避免SIA超时导致邻居关系重置

GOODBEY

工作过程:

1,使用hello包,发现,建立邻居关系;

2,之后组播发送更新包到邻居,必须收到所有的邻居返回的ACK,若没收到某个的,那么将基于其设备进行单播重传,默认最多重传16次,再没收到将断开邻居关系;

3,之后网络收敛完成,生成邻居表,拓扑表,路由表;EIGRP存在备份路径,无周期更新,仅用hello包保活邻居关系;

4,当某条路径出现故障时,该路径所在的直连设备将发送查询包到邻居,需要ACK的确认,之后查询将通过邻居逐步扩散到整网络(DUAL),再使用应答包来回答结果,应答包也要确认,结果若未找到新的路径则所有设备删表,否则加载新路径。

 

AD(此处是管理距离):5,90,170

metric:bandwithK1,最小);loadingK2,最大);delayK3,总和,除了沿线,还要加cpu,队列等所有总合);reliabilityK4,最小);mtuK5,最小mtu),以到目标沿线的出接口或者路由传递的入方向

metric=[K1*b+((K2*b)/(256-loading)+K3*delay](K5/(reliability+K4))

 

metric=256*(10^7/BW+DLY/10),BW:kbps,DLY:usec

 

 

cisco设备默认:

           BW           DLY

ethernet   10000        1000

fastethernet 100000       100

serial        1544      20000

loopback      8000000   5000

eigrp中为了防止汇总时形成主类边界,所以关闭自动汇总

路由出现在拓扑表,才有可能进入路由表;要想有拓扑表,得先有邻居表,因此得有邻居关系

eigrpnetwork表示只有宣告的那些网段参与到eigrp

抓包中ttl2,但cisco中写的100(想表达的是最大传输为100跳,默认为100,不是ttl

eigrp中,hello time改变,hold不改,hold不会自动同步3倍;hold改变,不改hellohello不会同步3倍(修改一个,另一个不同步)

 

hello:启用eigrp后,向邻居发送hello

Hold:路由发生变化后的抑制时间

srtt:从发送3种可靠包,到收到对方ACK,再取平均值,衡量到对方的距离(链路的好坏),为了做rto

rto:重传超时,在平均往返时间内没收到ACK,需要多久再重传

active time:默认180s

multicast flow(组播流定时器):指定了从组播切换到单播之前,等ACK要多久

从组播切换到单播------MA网络中需要同某台设备通信时

EIGRP中没有源检测命令,因此eigrp建邻两接口需要在同一网段,但子网掩码长度没说要一致

启用第二地址并宣告,就能建立邻居关系,但未起第二地址的一方收不到对方的eigrp路由

 

eigrp中也可以单播(neighbor),但不能直接回车,后面要加接口,若接口敲错了,邻居会down,则敲错的接口和其邻居也不能建立,原因如下:

    敲了neighbor后,若一方敲一方不敲也不能建邻,因为一方发单播hello,一方发组播hello

则在一个上收发不一致(单播和组播之间不能建邻)

写一个接口没有的ip再加一个接口,就会向该接口发一个到此iphello

eigrp中有了passive 接口,就不能向外发,即使建立了单播也不发,不发任何包,更不理会

 

eigrprouter-id只是标识,无实际意义,一样不会影响邻居关系的建立,但会影响srtt(平均往返时间,因为一方需要对方的ACK,但对方会先判断对方收到的路由是否是自己发出的,是就不会,判断要时间,所以距长了),router-id相同会影响路由表,影响直连路由是否对方能学到

NSF:不中断转发

show ip eigrp topology

P:路由无问题

A:活动

U:更新

Q:查询

R:回应

 

DUAL算法:

 

FD(可行距离,到目标距离)------源到目标

AD(下一跳到目标距离)------下一跳到目标

FC(可行性条件)------最优FD>次优AD

最优:successor

备份:feasible successor

 

variance:在topology表有,fs*v<最优的FD,还受maximum-paths影响,默认4,最大16,但cisco官方是16(受ios影响)

自动汇总是影响发,不影响从别人那收,一方做了一方没做,做了的一方收明细,没做的一方收汇总

 

导致路由器进入SIA的原因:

1:路由器太忙,无法回复ACK

2:链路不好,导致Query分组丢失,或者reply分组丢失

3:单项链路故障

4:查找范围过大

 

解决:(在ios12.4后)增加了SIA querySIA reply来解决

 还可以:1:细分AS(不推荐,因为需要不同AS的双向重分布)

         2:使用汇总

         3:设置末梢路由器(stub路由器,最主要的办法)

 

eigrp手工汇总:不管本地起源还是从邻居学到都会汇总,并且会在本地产生一条汇总的空接口路由,在12.4ios上汇总会产生AD(管理距离)为5,但在15.1中没有了,在show ip protocol也看不到,可以利用比较的方法找出15.1中汇总路由的管理距离(小于6,大于5,但管理距离没有小数,因此更倾向于5,利用静态的管理距离为5和汇总在一起时,选静态的原因:管理距离一样,但metric,静态为1eigrp远大于1

 

default-metric X X X X X:修改默认metric(修改bandwidth5个值,)

metric weights 0 X X X X X (修改5K值,0-255

本地有明细才会向外发汇总

直到明细的最后一条消失,汇总才会消失

汇总的metric会选最小的metric

 

自动汇总:不会汇总邻居发来的进行汇总,只会汇总本地路由

 

合理使用leak-map,可以用在eigrp stubeigrp汇总中,只要不矛盾就可以任意混用(只有receive-only不能和其他混用)

 

不等/等价均衡:

traffic-share(流量共享):后可加balancedmin across-interface,加balance后,流量与度量成反比;利用min across-后,只是用成本最小的路由

利用offset-listvariance可以实现等价非等价,还可以使用改变K

 

eigrp4种关键技术:

    1neighbor discovery/recovery(邻居发现与恢复)

    2RTPreliable transport protocol,可靠传输)

    3DUAL有限状态机(dual finite-state machine

    4PDMsprotocol-dependent modules,协议物管模块)

     PDM主要功能:

    维护属于该协议簇的eigrp路由器的邻居表和拓扑表

    为DUAL构建和转换特定于协议的数据包

    将DUAL连接到特定于协议的路由表

    计算度量值,并将消息传递给DUALDUAL只处理可行后继罗预期的挑选实施过滤列表和访问列表

    执行到/来自其他路由协议的重分配功能

 

修改eigrp的管理距离:distance eigrp in90) ex170

     distance XX(AD) X.X.X.X(来源) X.X.X.X(来源反掩码) Xacl

 

eigrp水平分割:

no ip spit-horizon eigrp XX,在接口看到的水平分割情况是看不出来的,看到的是rip的,在show ip protocol 也看不到,在eigrp中,默认情况在所有链路下都是打开的

 

eigrp默认路由(和rip一样):

 1: 静态加重分布(DEX

 2静态(静态要写接口)加network 0.0.0.0

 3ip default-network X.X.X.X(后必须是主类,接口也必须是主类)

 4:接口下手工汇总

 

no default-information in/outeigrp私有):不让缺省进或者出:进:不收别人给的 ,出:不把自己产生的向外发,后可加acl

 

eigrp认证(eigrp只支持密文认证):

   接口下:

ip authentication mode eigrp 123 md5 

ip authentication key-chain eigrp 123 XXkey-chain名)

发是发key-id最小的,接收从最小k-id匹配,但eigrp的认证和rip不同,eigrp的密文认证必须keykey-string都得对应,key-idkey-string都要相同(也就是说eigrp的认证keykey-string都得一样才能建邻)

进入key X后,还可以定义send-lifetimeaccept-lifetime有效期(time可以用小时,分钟,秒也可以用local时区)

 

show ip eigrp topology X.X.X.X/XX相当于show ip eigrp topology all-links看到的内容

如何利用variance改变某条实现非等开?

 

 

 

 

 

 

 

 

 

OSPF总结:

ospf使用spf算法,本地先计算本地的,再将各个地方的拼起来,之后每个人都知道如何到达,不需要再请求别人(ospf不传路由,只传LSA,路由自己算);先收集,再启用spf算法,计算路径,是非谣言式;ospf利用触发跟新,但保留了周期跟新(ospf默认每隔30min泛洪一次),被称为链路状态刷新

协议号:89,无类协议,管理距离:110,组播更新,224.0.0.5/6

cost=10^8/bandwith(10^8自动cost参考值),单位:bps

ospf的进程号只在本地有效只要是邻居关系就可以发信息,不必进程号相同

auto-cost:根据接口计算相关带宽,可以修改参考带宽(10^8=100M),作用,根据接口带宽计算cost;将auto-cost关闭后,接口cost不再动态变化,而是固定值,串线:1562,以太网:10

参考带宽可以修改,cost会随参考带宽的改变而重新计算,但有上限(65535),注意:环回口的cost不会随参考带宽的变化而变化,也不会随接口带宽变化而变化,一直都是1

一般想修改cost

               1:可以修改refrence-cost(修改不当会引发环路):

                                     auto-cost reference-bandwidth XXMps

                2:修改接口cost(但可能影响其他路由协议选路)

但这两种方法都不建议

                3:最好用ip ospf XX cost XX(一定要在入口改,因为ospf计算时是计算的入向),但一般建议在所改链路的入/出都改,可以避免环路,只改入,去能选路,但回包时可能选其他的路(回包选路时用的接口和去时刚好相反),往返不一致

                4:重分布时,还可以改default-cost

cisco设备最大只能开31ospf进程;由于spf算法,一般可以存1万条路由条目,但建议5000

 

ospf优点:

          快速收敛(相对于rip

          spf算法可以有效防环(因为掌握了拓扑结构)

          分区域设计

ospf缺点:

          大量资源(内存,cpu

          严格网络设计(向日葵结构)

          对各种参数调整时,配置复杂

 

router-id

         唯一标识路由器,相同时,邻居关系不能建立,一般一旦确定不能修改(若修改就需要重启进程),手写>环回最大>物理接口最大,强烈建议手写,不然可能导致ospf震荡(如:若新加一个环回,ip比原来最大环回的大,就会影响ospf运行),注意并不是改了router-id就一定要重启进程,只有在有接口运行了ospf后,想改就得重启

 

 

ospf工作过程:

  在接口宣告到ospf中,可能进程还没启动,处于down,一旦进程启动,向外发hello,就进入init(在单播建邻中,在init后还有一个attempt状态(也是使用hello包),在其状态下还有一个pollinterval时间(默认120s),当在attempt状态接口down就会有这个时间,其时间将代替原来的hello time),收到别人的hello,并且active neighbor不为空,就进入two-way(邻居建立的标志),处于邻居关系ospf并不是正常运行,因为除了hello外不能知道其他信息,进行DBD交互就处于exstart状态(DBD头和hello一样,只是类型为2,此状态的DBD只有包头),一旦将more bit置为0,就停止DBD交互(只要选举主从关系,主从关系只会影响谁先发,不影响内容),exchange(也是交互DBD,但是完整的DBD,是本地整个数据库的描述,LSA的目录),拿到目录后找自己的需求的LSA目录就进行LSR,对方收到LSR,回复LSUA再进行LS ack(交互LSR,LSU,LSack的过程叫loading),之后的状态就是full

 

ospf在接口下需要发送的数据报文有5种:

     HELLO:确保邻居关系建立,type1;长度;源路由器(router-id);掩码(在非MA网络中掩码不一致,可以建邻,但在MA中,掩码不一致不能建邻,因为在two-way状态需要选举DR,BDR),hello time(在ospf中,修改hello timedead time会自动同步,但修改dead时间,hello时间不变,但不管改啥,wait time永远等于dead timehello一样,dead不同,邻居关系不能建立,dead一样,hello不一样,邻居关系也起不来),在MA网络中,建立邻接关系比较慢,因为在two-way时需要选举DR/BDR(等待时间wait),当MA网络中有了DR/BDR,再新加成员,建邻就会加快(因为不再需要建立邻接关系,新成员在邻居关系就好,DROTHER之间不需要建立邻接关系,也不需要再选DR/BDR(不存在抢占机制,一旦选举,即使将某个的priority改大,也不会成为DR/BDR,除非重启进程,但将某个的priority改为0或者将DR的优先级改为0,则马上会重选,并且其本身会成为DR other),因为已经存在了,除非重新选举(设备故障,重启进程),才参与选举);DR/BDR选举规则:priority大的,相同时比较router-id,大优,DR/BDR谁坏了就重新选举谁,DR故障,BDR成为DR,想成为DR,需要先成为BDR;配置速度等因素也会影响DR/BDR的选举(可能存在与规则不一致,解决方法:先shutdown,之后同时no shutdown;也可以clear ip ospf process但需要先清不想成为DR/BDR的设备);router-id(相同时不能建立邻居关系,只要相邻两台路由器router-id不同就可建立,不相邻的设备router-id相同也可以建立,只是可能会影响DBD交互),链路两端区域不同,非0域的一端报错,但两端都不在0域,则不会报错,因此需小心检查

     DBDtype2;接口mtu(不一致不能建邻,卡在exstart或者exchange状态,主和从,一个在exstart,一个在exchange);选项;seq(序列号,随机数开始)

mtu分三层(ip mtu)和二层,三层永远小于二层,影响建邻的mtuip mtu(三层),若三层mtu不一样,还不能改时,可以在接口下ignoreip ospf ignore,必须敲在mtu小的一端才生效),先建邻,再改ip mtu,邻居关系不会down(取决DBD的交互,在交互DBD前改才会影响,因为只有在交互DBD才用到mtu),默认mtu1500ip mtumtu有一定关系mtu-X=ip mtu,因此,一端mtu改了,会导致ip mtu也变化,从而导致两端ip mtu不一致,不能建邻

     LSR

     LSU

     LSack

只有5种包都好了才能建立邻接关系

 

DR/BDR其他问题:

     其角色定义指的是接口,而不是路由器,选不选DR/BDR看的是接口是否处于MA网络,而不是取决于拓扑情况(不是只有两台路由器直接相连就一定不选),在DR/BDR未选举之前,其字段是全零;DR.5向外发更新,BDR/DR others.6发更新,DR监听.6updata;优先级为0为放弃被选举权,在MA网络中DR/BDR都只有一个,没有BDR不影响正常通信,但不能没有DR

 

影响邻居建立的其他情况:

  两端网段不一致不能建邻,利用辅助ip也不能建邻,只有主ip能建邻

 利用全局下network和接口下:ip ospf X(进程号) area Y(区域号),生效的是那个?做在同一进程中不管什么情况下是接口下的生效,两个进程同时创建,以进程号从小到大排列,两进程不是同时宣告,以时间先后为准,在接口下两进程是覆盖关系

 

在链路两端--

相同进程的不同区域:不能建邻

不同进程的相同区域:可以建邻

 

FR的主接口和多点子接口的NBMA网络中,将spokenpri设为0,在hub上向每个spokenneiP2MP/P2MP-NB就是为了解决在FR中取代NBMA,在P2MP中会收到对方接口的主机路由,P2MP不需要指nei,不需要选DRspoken上可以用P2P子接口,或者用主接口再将网络类型改为P2MPP2MP-NB也有32位主机路由

P2P/P2MP中,若hello time不一致,show ip ospf  nei 能看到卡在down,在BRO/N-BRO中,啥都看不到

网络类型不一致,只要能够发现邻居并且hello timedead time一致就能建邻,只是若是一端为MA一端为N-MA会出现无路由情况

无自动发现功能,不能建邻,需单播建邻(但可以被动响应,一端敲单播,一端不敲即可)

在需要手工指nei建邻时会比较慢,因为在init后会有一个attempt状态,用来发现邻居

 

FR是不支持广播的广域网类型

 

 

 

邻居能建立但无路由的原因:

      1,需要DR和不需要DR的建邻就没有路由(因为dijstri算法将ospf分为两种:P2P,P2MP,P2MP-NB都描述一个区域的stub区域;BRO,NBMA都描述一个区域为transit区域,stub只有1LSA,没有2类,transit2类和1类,但两个的1类还不一样)

      2LSA不传递

      3,本地有LSA但不加表

 

ospfLSA

   LSA中最主要信息:typelink-idadv-router

   LSA防护:棒棒糖线性空间(0x80000000-0x7fffffff);当LSA序列号快到达最大时,会发送一个很大序列号的LSA(比最大值还大),让其他路由器清除,之后再发一个最小序列号的LSALSA老化时间默认3600s

database中不仅包含自己的LSA还包含别人给的

 

1LSA(描述路由器直连网段):router-lsashow ip ospf database router),LSA age optionLSA typelinks-id(发出更新的router-id),adv-router(发出更新的router-idlsa seqlennumber of links link id,本地接口地址,netmaskmetricconnection to ,根据1LSA可以画出拓扑图;1LSA本区域所有路由器一致(不管是否是邻接),不能传出本区域(在本区域泛洪)

P2P中每个接口就有一个LSA,数据库中也一样,但在MA网络中也这样描述就没必要(在MA内部描述一次就可以了,因此有了DR/BDR,也就产生了2LSA,用于在MA网络中为减少LSA数目);1类算出叫O路由

 

1LSA的数目,几个路由器就几个(cisco中),但links数目就不太好确定;但判断LSA数目就得判断需不需要DR,或者几个DR

 

2LSA(有DR就有,描述网段(掩码)):network-lsashow ip ospf database network),MA网络中对1LSA也有改进(DR地址,本地接口ip,不显示掩码,掩码在2LSA中);设备接口地址(本地和处于同一网段的其他设备),在MA中只有1+2类才能画出拓扑;在网络中同时有MAP2PP2P所在地也会收到MA2LSA,因为需要利用1+2计算MA区域的路由,因此泛洪范围也是本区域 ,link-idDR接口地址)adv-routerDRrouter-id

 

 

 

3LSA(ABR就有,描述内容:该网络号的掩码及metric)只有做了13的才叫ABRsummary net LSAshow ip ospf database summary);link state id(网段/路由条目),adv-router(最近的ABR router-id,当要去link state的网段就发给adv-routernetmaskmetric;确定路由3+1类,MA1+2+3类,1类(1+2)指明如何到ABR3确定到目标该找那个ABR3类计算出的路由叫O IA(域间路由);3LSA特点:每经过一个ABRADV-router就变为本地的router-idoption选项中,no tos-caDCupwardup/上位/bite,只在3LSA中有意义,用于防止3LSA发布时出现环路当将3类转为1类时置为上位,之后所有ABR在泛洪时要注意:当从一个0区域传出的3LSA,不再发回区域03LSA不能从普通区域传递到0区域);泛洪范围:整个ospf区域(但只是伪的,因为每过一个ABRADV会换为本地,不是完全无边界泛洪)

 

5LSAO E1/2):type-5 as externalshow ip ospf database external),links-id(网络号/路由条目)adv-router(通告源的router-idASBR(谁引入5类谁就是)),描述:掩码,metric type(默认2(不叠加沿途路由开销,真实metricroute table中大的多),1(明确显示真实metric)),metrictagexternal0),FA地址(5类全0,在计算实际metric时能用到)5类去目标,先找如何去ADV-ROUTER(根据1+5/1+2+5),但在进入其他区域时(1类消失),无法计算路由,因此产生4类;泛洪范围:整个ospf

 

4LSAASBR-summaryABR产生:当将5LSA泛洪到其他区域时,自己生成一个4类):link-idASBRrouter-id(但在数据库表中写的是network)),ADV-router(距自己最近的ABRrouter-id,每过一个ABR就换为本地),泛洪范围:除ASBR之外的所有ospf区域

 

为了减少LSA的数目,可以将某区域设为STUB区域(area X stub),用于过滤本区域4/5LSA,当设为stub之后,会在数据库中产生一个metric1stub区域缺省metric)的,下一跳为ABRnetwork为全03LSA;末节区域不能在骨干设置(因为若0域无5类,其他普通区域就无法收到);在普通区域设末节时,区域的所有路由器都要设立,否则邻接关系不能建立(因为在hello包中有末节区域标识);重发布和末节同时设立在一个区域,末节生效,重发布失效(并且会出现4级告警,但命令在)

cisco认为末节不完美,因为不能做重分布;但不能过滤域间路由,只能过滤外部路由,因此有了完全stub(避免ABR产生3类,减少LSA数目),可以过滤3/4/5LSAarea XX stub,再在ABR上配置area XX stub no-summarycisco私有)),产生一条O*IA的缺省3

ABR上的default-metric不是在产生O*IA中额metric

数据库完整是指在区域内的每个router完全一样

完全stub能过滤3类但不能重分布,因此有了NSSA/totally NSSA(没有4/5类,但单独设置了7LSAO NNSSA没有默认路由,需手工指定 totally NSSA cisco私有,有默认路由)

ON2=20

ON1=20+沿路NSSA路由器的cost+115.1IOS不加1

 

7LSAtype-7 AS-externalshow ip

ospf database nssa-external):link-id(外部路由网络号),ADV-router(产生7ASBR router-id),metric typemetric(默认20),FA地址(不一定是0.0.0.0),external tag

totally stubtotally nssa都会产生O*IA,NSSA默认不会产生默认路由,想产生(area XX nssa default-information originate,加此命令就产生O*N2ADV谁敲是谁(但只能在ABR上敲),link-id0metric20

 

75问题:在非末节区域可以存在5类,因此就有在ABR上进行75(将7类中内容复制到5类,但在option中有type 7/5 translation7/5转换bite,当置位时有用))

area XX nssa translate type7 suppress-fa(敲了会抑制FA地址,不敲时FA地址就不一定全0,会影响metric计算:FA=0.0.0.0,forward metric=我到ASBR距离,FA不是全0metric就是我到FA地址的距离)

 

LSA7 FA地址:

  1,外部接口没有运行ospfFA=选举地址

  2,外部接口运行了ospfFA=外部接口的ip地址

注意:LSA7FA地址选举规则:

          12.4选举通告进ospf的最大ip的环回地址,15.1选举最先配置ip地址并且通告进ospflookback接口地址

          选择通告进ospf的最高的可用的物理接口地址

         与router-id没有关系,会自动变化

 

LSA5 FA地址:

  全0或者继承LSA7FA地址(可以利用area XX nssa translate type7 suppress-fa抑制继承)

LSA5 metric计算:

    1FA=0.0.0.0 FA metric=我到ASBR的距离

    2FA=ip地址,FA metric=我到FA地址的距离

如果LSA5FA地址不可达,那么该LSA5无法加载进路由表

    不管什么都是我到FA的距离,谁设置的FA就到谁(默认全0,就到ASBR,被抑制了type 7/5 translation,变成全0,就是到ABRNSSA0域相连的设备)的距离)

LSA6类:组播ospf使用

LSA8类:在BGP中,携带BGP属性

LSA9/10/11opaque link/area/as lsa):用于MPLS

新文档中有LSA12

 

ABR作用:13upward防环,产生4类(1类不能在域间传输),75

15.1IOS75时,metric是多少就是多少,12.475时,metricABR1NSSA区域metric),cisco文档中说明),但根据经验是在ASBR上加的;因此在做工程时需要考虑设备的兼容性(IOS不同,可能对协议的影响不同)

 

想要影响区域的costarea X default-cost

 

 

ospf其他features

  1, ospf中,loopback是一种特殊网络类型,所以不管loopback是多少位学到路由都是32位,若想学到路由与掩码一致,则可以改网络类型(虽然可以改成任意类型,但ciscoIOS只支持P2P类型,改了之后想恢复,就no掉前面命令,不能直接用ip ospf networkloopback改),loopback的网络类型不管如何变,但其链路通告不会变;loopback有默认带宽8000000kb,修改默认带宽,loopback的开销依然不变,还是1(其带宽不影响cost计算) 

  2,在15.1中,log-adjacency-changes(不显示),在12.4中显示,但不管显不显示,默认都开启,这条命令后面还可以加detail,所有变化都会显示

 

 3 passive-interface default(所有接口),不收不发hello包(和eigrp一样)

 

  4,在ospf中也有neighbor但只能在NBMAP2MP-NB中配置,在NBMA中指neighbor,又改了优先级,则时间会很缓慢,需要多等时间,当为NBMA,且优先级为0,则写的neighbor命令的地址与接口在一个网段,则在配置中看不到neighbor命令(但在15.1中可以看见),只能show ip ospf neighbor查看或者在12.4中将priority改为非0也能看见

 

  5,在某些IOS中,若改了NBMA,手工指neighbor后,接口ip不能改

 

  一般不建议使用max-LSA减少LSA条目,建立使用汇总减少LSA

  6virtual-link

   在ospf中,若普通区域将0域分割,两端0域由于upward bite不能学习对方3LSA(在cisco IOS中,只有一方的0域没有任何0域的邻居关系,则此区域0不受upward限制,因此取决于ABR上是否有0域的邻接关系,有就限制,学不到对方03LSA,没有邻接关系就能学到,不受限制)

  想学到对方0LSA,则有以下方法:

   1,利用ospf的两种进程(A,B),两进程的router-id不能相同(因为是用router-id区分,不是进程号),之后再双向重分布(因为5LSA不受upward的影响)

   2,利用物理网线连接两个ABR,在配到0域,但会有代价问题

   3,利用虚拟链路(建议利用site2site

   4,利用VPN的变种:virtual-link(不能改变报文封装,VPN可以改变报文封装),在ABR上做,area XX(需要穿越的区域)virtual-link X.X.X.X对端router-id,必须是router-id,但不必保证两个地址能通信),之后会看到(ospf-vl0),因此可以建立多个virtual-link,查看: show ip ospf virtual-links查看(或者使用show ip ospf nei),有时在show ip ospf virtual-linksup,并不代表建立成功,必须要看到adajency is full,因为可能自己vir配置正确,但可能部分参数不匹配,其允许按需链路传输(需要才发,不需要就不发):允许DNAdo-not-age)和hello suppress(一旦建立成功full,就不受dead time影响),没有LSUhellovirtual-link认为其链路是P2P链路,因此需要几个就要建几个;virtual-link建立时,敲的跨越区域必须一样,因此若在两个0域之间有多个普通区域,则有几个普通区域就要建几个,利用普通区域之间的ABR

virtual-link作用:将分割的区域0连接在一起;将0域与非0域连接在一起

virtual-linkhello suppress问题:改了对端认证,但由于hello suppress问题,就算改了邻接关系也不会down

 

 

 7ospf汇总:

   ospf不支持自动汇总,因此12LSA无法汇总(就算汇总,也达不到要求,LSA条目反增不减)

   3LSA汇总叫域间汇总(area XX(区域号,1LSA所在区域) range X.X.X.X(网段)X.X.X.X(掩码),在产生3LSA的路由器上做-ABR上;同时做同一区域多个汇总,可以同时存在,但在对方收到是以子网掩码最长为准;不同区域无法做同一网段的汇总;支持CIDR和超网;汇总后面还可以加:cost(不敲,默认最小),advertisedefault);not-advertise(过滤,将区域的该网段的LSA不允许将本区域的1LSA转化为3LSA告诉其他区域),ospf中也有分发列表,但只能过滤基于接口(协议)的,不能基于区域,但汇总可以基于区域的1to3过滤

   4类汇总无意义,因为其不传递LSA,只告诉如何去ASBR

   5类汇总叫域外汇总(summary address XX.XX.XX.XX XX.XX.XX.XX),在生成5类的路由器上(ASBR上;或者在NSSA连接区域0ABR上(普通的ABR上做不了5类汇总,但在NSSAABR上可以,因为存在75,也有5类)),在普通路由器上有5类汇总命令,但不生效,在NSSAABR上汇总,先看到7LSA在汇总;

   6类组播中使用

   7类属于NSSA区域,同1类一样不法汇总(但用summary addressASBR上也能汇总7类,后面有NSSA-ONLY,加了该参数,就无法进行75,不能出NSSA区域)

   57LSA汇总可以打tag3类不能打标记

ABR:133类汇总 755类汇总

ASBR57类的汇总

普通路由器(域内路由器): 12475都不能汇总

汇总支持CIDR,VSLM,classful

但在3类和7类汇总缺省时会存在问题

 

8distance+ospf+O/O IN/O E(在同种路由时修改也无用)

   distance+X(管理距离)+ADV-router(更新源)+ACL(想要限制的路由条目),不限制就是ADV过来的所有路由

 

9ospf选路原则:

 O OIA OE ON

同时学到O路由的选路:

    1----来自相同区域的O路由:

     15.1IOS:来自不同router的一条路由

     cost相同当修改router-id的一端的AD(管理距离)两个路由都会变化,修改router-id的,都受影响

     cost不同,选小的,与AD无关

     cost  AD都相同,负载

     12.4IOScost相同,修改AD,在router-id的一端影响,router-id的一端修改影响

             cost不同,选小的,与AD无关

             cost AD都相同,负载

   2----来自不同区域的O路由:

     15.1IOS从不同区域收到相同路由时,且costAD都相等时,优选区域号大的

              从不同区域收到相同路由时,cost不同时,直接选cost小的

              从不同区域收到相同路由时,cost相同,AD不同时,修改管理距离都会生效(不管router-id大小),但不会影响选路(还是根据区域号和cost

     12.4IOS:从不同区域收到相同路由时,costAD都相等时,优选非区域0以外的区域号小的(当0域和普通区域时,优选普通区域;12.3一直是优于区域号小的)

 

同时学到O IA路由(域区域号和cost有关,与AD无关)

   15.1IOS:

-----从两个非区域0或者两个区域ABR上学到相同路由:

   costAD相同时,负载

           cost相同,修改router-id的一方的AD,无论改大改小,两条都生效

           cost相同,修改router-id的一方的AD,无论改大改小,两条都生效

-----当从一个区域0ABR和一个非0域的ABR上学到相同路由时:

           优选区域0(和upward防环有关),与ADcost无关

   12.4IOS

-----从两个非区域0或者两个区域ABR上学到相同路由:

            costAD相同,负载

            cost相同,修改router-id的一方的AD,无论改大改小,两条都生效

            cost相同,修改router-id的一方的AD,无论改大改小,两条都生效

-----当从一个区域0ABR和一个非0域的ABR上学到相同路由时:

            优选区域0(和upward防环有关),与ADcost无关

 

整个O IA的选路,12.415.1选路原则相同

 

同时学到O E路由(只与cost有关,与AD无关):

1-------OE2: 如果costAD相同时,负载

            如果外部costdefault-cost)不同,优选外部cost小的

            如果外部cost相同,优选沿途累加接口cost小的

 如果cost相同,修改router-id的一方的路由的AD,无论改大改小,两条都生效

 如果cost相同,修改router-id的一方的路由的AD,无论改大改小,两条都生效

2-------OE1(只与cost有关,与AD无关):  

                    如果costAD相同时,负载 

                    如果cost不同,直接比较外部cost+内部沿途累加cost之和,优选计算结果小的

    如果cost相同,将router-idLSA7AD改大改小,都生效

    如果cost相同,将router-idLSA7AD改大改小,都生效 

 

同时学到O N路由(只与cost有关,与AD无关)

1-------ON1 :

    如果ADcost相同,负载

    如果cost不同,直接比较外部cost+内部沿途累加cost之和,优选计算结果小的

    如果cost相同,将AREA-idLSA7AD改大改小,都生效

    如果cost相同,将AREA-idLSA7AD改大改小,都生效

 

2--------ON2

 

     如果ADcost相同,负载

     如果外部cost不同,优选外部cost小的

     如果外部cost相同,优选沿途累加接口cost小的

     如果cost相同,将AREA-idLSA7AD改大改小,都生效

    如果cost相同,将AREA-idLSA7AD改大改小,都生效

 

O路由与O IA路由选路:与costAD无关,直接优于O IA3类)路由

O IA路由与O E路由选路:与costAD无关,直接优于O E5类)路由

O IA路由与O N路由选路:与costAD无关,直接优于O N7类)路由

O E路由与O N路由选路:

            OE1ON1-----costAD相同,ON1优于OE1cost不同时,优于cost小的;AD不会成为选路比较参数

            OE2与 ON2----costAD相同,ON2优于OE2cost不同时,优于cost小的;AD不会成为选路比较参数

                         

            OE2ON1-----ON1优于OE2

            OE1ON2-----OE1优于ON2

A,基于一个ospf1router-id和进程号,中间一个路由器,两边两个的router-id一样,并属于一个进程)的ospfLSA之间选路:

基于15.2IOS12.4IOS

   O路由永远优于O IA路由(LSA3AD如果改小,15.1IOS有时会优选LSA3,这是bug,重启进程就好了

   O IA路由永远优于O E路由

   O IA路由永远优于O N路由

57类选路

基于15.2IOS,在15.0及其以后

   metric type相同时,ONOE cost相同,ON优于OEcost不同,优选cost小的,AD不会成为二者选路参数

   在metric type不同时,type1优于type2

基于12.4IOS及其以前:

   metric type相同时,ONOE cost相同,OE优于ONcost不同,优选cost小的,AD不会成为二者选路参数

   在metric type不同时,type1优于type2

 

B.基于两个ospf(两个router-id和进程号)的ospfLSA之间选路:cisco官方文档:

比较两个不同的ospf进程提供的路由时,会忽略路由类型,在router学习时根据ospf进程的启动收敛顺序,那个进程先把路由注入到ospf的路由表,将优先选择其作为该路由的下一跳!因为metric只会在同一进程中比较。并且LSA类型的比较也只会在同一进程比较。

但在同时重启进程后,谁优就不知道了,此时和链路,设备等因素都有关,不确定谁先启动

 

10ospf认证:

link/area/virtual(明文,密文):影响hello

 

在认证前后,hello包不同,不开auth typenull

开了:simple (明文)

建立认证后,helloDBDLSU,LSR,LSack报文中都有认证类型,认证密码(都不为null

确定那些设备可以和我建立two-way的邻居关系(不是做路由认证),密码不一致,或未配,ospf不会报错(注意密码后面空格)

配了认证,之后再将认证关掉,邻居关系依然存在,直到超时(dead

 

link 认证(确定那些设备可以和我建立链路关系)

 明文认证:

  ip ospf authentication(明文)

  ip ospf authentication-key XXX(密码),配多个是覆盖关系

 

 密文认证:

   ip ospf authentication message-digest

   ip ospf message-digest-key key 1 md5 XXX  ,可以配多个,显示是按配置时间顺序显示,有效的也是最后配置的(以最新的key-id为准),不匹配能建邻(因为在收到时,是在本地接口下找,只要有对方的key-id且密码一致就能建立),在ciscoospf设计中,发:最新的 收:只要自己接口下有就收,并且会将自己接口下的都同时发给对方

两端开认证,但不配密码,不影响邻居建立(发的key-id0,但自己不能敲0,是ospf单独保留)

在密文认证中,ip ospf authentication-key XX无意义  ;当明文,密文都开,是以最新为准

 

area认证,确定那些设备可以和我放在一个区域 (保护区域) 

  明文认证:

    area X authentication(回车,明文)

    密码是在所有属于该域的接口下配:

ip ospf authentication-key XXX

这样设计的原因:因为auth type是在hello包中携带,所以在接口下敲

当开了ospf认证,但某个接口没配密码,其他设备也能收到该路由,因为只要开了区域认证,设备就能进入该域

 

密文认证:

area X authentication message-digest(密文)

接口下:ip ospf message-digest-key xkey-id) md5 XXX

 

vitual-link 认证(确定那些设备可以和我建立virtual链路)

 区域0开了认证,virtual-link的两台ABR上也得开区域0的认证,并且无法敲密码(没地敲)

  明文认证:

   area XX virtual-link X.X.X.X authentication

   area XX virtual-link X.X.X.X authentication-key XX

也可以结合为:

area XX virtual-link X.X.X.X  authentication  authentication-key XX

配了virtual-link认证,但一端没配区域0的认证,邻居可以起来,路由也能收到(在cisco中,开了virtual-link,并通过了,就算区域认证不匹配,也能通过,virtual-link认证优先于区域0认证)

  密文认证:

   area XX virtual-link X.X.X.X authentication message-digest 

   area XX virtual-link X.X.X.X authentication message-digest-key XX

 

链路认证优先级高于区域认证(通过一个用密文,一个用明文来验证,因为同时用明文/密文做不了,密码的命令都是一个)

链路认证失败,邻居起不来,所以区域认证也没用

link认证和virtual-link认证不在一个层次,没有优先级的比较

 

11ospfLSA限制:

  max-path:默认4,最大32

  max-metric(自己产生的1LSA):默认就是链路的metric65535(只会影响1LSA中的to another router中的metric),只有敲了才会影响:

影响自己产生的link-to-another的这条链路会变为65535

自己的路由表收到对方的路由,会用65535+入向接口cost(但环回是加1

  max-metric router-LSA作用:

    1,自己产生的1LSA中描述to-another-router的链路变为65535

    2,自己学到的LSA放到路由表时:cost=65535+产生这个LSArouter的接口的cost

    3,在LSA的数据库中,会对max-metricLSA做标记

max-metric router-lsa +external-lsa(5)/sum-lsa3类)/include-stub/on-startup

summary-lsa:同router-lsa功能一样,只是他是作用于3类,且值为16711680

external-lsa:重分布的type1显示,作用同上

include-stub

 对自己在stubnssa区域产生的1lsacost的都会变成65535,其中nssa区域如果产生7lsa,那么这些7lsa不论是type1还是type2cost值都不会产生变化,都是20,但在路由表中type2显示20type1显示65535+20+接口cost,其中65535是计算1类,在ABR上转成3类时也是65535

 

on-startup5-86400s):现在不生效重启后才生效,并且在重启之后多少秒才发送lsa

on-startup wait-for-bgp

重启后才生效,并且在重启后等bgp收敛完成才发送router-lsa,或者等待600s之后发送

 

max-lsa:限制非自我产生的收到的LSA的数目

max-lsa XX 后面还可以加参数:1-100%,当达到多少时,产生告警信息(默认超过60%cisco文档是75%,这是模拟器的问题);ignore-countignore-timewarning-only(超过MAX只产生警告,不断邻居);reset-time(超过最大LSA后,等reset-time后才试图建立邻接关系)

1LSA是一台设备一个,357LSA是一条路由一个

到了最大LSA后,超过max数的LSA就不收,再等1dead time后邻居down(等一个dead是因为,在dead后就不收hello包)

ignore-time:进入ignore状态时间,默认5分钟后回复邻居(ignore-time次数会计数)

ignore-count:超过ignore-count后,一直为ignore状态,邻居起不来,除非重启,或者设reset-time

reset-time:一直进入ignore状态后多长时间自己重置所有邻居

可以保护企业中的边缘router(边缘做后,上游router最好做汇总或者过滤)

 

12ospf过滤:

  1:本地过滤(过滤路由,不能过滤LSA),只能在本地router生效

distribute-list X in+接口distribute-list in命令仅过滤路由使其无法进入本地路由表,不能阻止链路状态数据包的传播,因此不能禁止路由器已过滤的路由传播到其他路由器

警告:如果实施不小心,在ospf中使用distribute-list in命令可能会导致网络中形成路由环路);注意:是只有X中匹配为permit的才能进入

distribute-list X out+协议(不能加接口,某协议出来进入ospf时过滤)仅对由自治系统边界路由器(ASBR)重发布到ospf中的路由起作用。但不能应用于域内路由和域间路由

  2area range X.X.X.X X.X.X.X not-advertise本区域的ABR上做,过滤LSA1/2,会产生一个新的3

  3summary-address X.X.X.X X.X.X.X not-advertise外部路由产生的ASBR上做,或者75ABR上做,过滤LSA5/7

  4area X filter-list(只能用prefix-list) prefix XX out/in ABR过滤LSA3,只有被prefix-list匹配的LSA才能进或者出(in表示只有匹配(permit)的才能进;out表示匹配(permit)的才出);注意:out调用在12.4IOS时,不管匹配的是什么,全都生效,所有属于X的都不能出去

  5:接口下:ip ospf database-filter all out (部分IOS后还可以加数字1-65535metric) 过滤从该接口收到的所有LSA(只发不收)

  6neighbor X.X.X.Xx.x.x.x是地址不是router-id,知道ip能建邻,才知道router-id) database-filter all out 从某个neighbor出来的所有过滤;只对NBMA生效,因为只有他们在建邻时才用neighbor(注意12.4IOS中只有在NBMAP2MP网络类型中才能出现在sh run中,在其他网络类型下此命令起作用,但不在sh run里出现)

  7no discard-route internal/external 用来丢弃某个汇总路由(只能过滤3/5类汇总路由)

  8ignore lsa mospf 过滤LSA6(不是所有cisco路由器支持,和硬件及IOS有关)

 

13,其他相关问题:

 Ashow 速度:

ip ospf name-lookup(相当于ip domain lookup,因此一般关掉,会加快ospf show速度)

 Bclear 问题:

   clear ip ospf 后面还有很多参数:

      force-spf:立即强制进行完整spf计算(一般只在起进程时才进行spf计算)

      redistribution:立即产生5lsa

      rib:清ospf的路由表

 

 Cspf问题:

   现在ospf还有一个新的算法:ispf(增强版spf,简化ospfLSA泛洪计算速度,及硬件占用问题)

 

 Dospf第二地址问题:

   1,在ospf中第二地址不能向外产生hello报文(不能作为hello包的源ip),宣告主ip可以

   2,只有当第二地址和该接口的主地址属于相同区域时,第二地址才可能作为LSA发送给邻接router

 

14ospf中难点:

 cost 相同---

    某个设备从两个ABR上学到相同路由,且来自于同一区域,路由负载,数据库也有两个,两个ABR上也是两个

 cost不同-----cost小的,该设备的LSA也是两个;两个ABR上的LSA数目也都是两个(50%会变化:未修改costABR的速度,若在其发现时,赌坊已经转完,就不发阻止)

目标所在router域其中一个ABR router的链路断掉,之后链路再恢复,LSA数目还是两个(但在项目实施时,90%会发生变化:对方无LSA1,所以不转,仅自己转,因此只有一个,另一个ABR相关链路恢复,发现已经收到3LSAcost比自己的小就不转;有的转的原因:防止其他ABR相关链路故障)

 

在旧的IOS中:cisco设备设置,若我是ABR,并发现area X 当中的LSA已经被ABR1转成LSA3放入area0,并且ABR1cost比我小,那么我就不再执行LSA1LSA3

 

如上图,在R1中有一个环回,R1,R2,R3属于ospf0域;R2,R3,R4属于ospf1域;

R4上看到R1的环回路由有几条?3LSA有几个?在R2,R3上看到R13LSA各有几个?

若将R2e0/0cost改变,他们分别又会看到几条?几个LSA

分析方法如上,注意IOS差别

 

 

将协议重发布到rip默认metric15/16,因此必须改;重发布到eigrp,算不出来;重发布到ospf默认为20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(网络技术)