CCPN路由


ccnp

静态路由 ip route 目标地址 出接口/下一跳
浮动静态路由;就是冗余路由 ip route 24.1.1.0 255.255.255.0 s1/0 34.1.1.1 10 //10是一个ad值当比这个ad小的路由断了就自动调用这条路由
负载均衡;ospf和rip只支持等价负载均衡,bgp和eigrp支持非等价负载均衡
————————————————————————————————————————————————————————————————————

rip:定期更新时间是30秒,失效时间180秒,在路由表清楚路由时间240秒
最大跳数15跳
水平分割:防止环路
#router rip
#network 10.0.0.0 //通告主类网络

_______________________________________________

dhcp
#conf t
#ip dhcp excluded-address 192.168.1.1 192.168.1.10 //预留地址
#ip dhcp pool WOLF
#network 192.168.1.0 /24 //定义池的ip范围
#default-router 192.168.1.1 //定义网管
#dns-server 202.96.12.68
#lease 1 //默认租期是1天 这条命令可以更改默认租期

#show ip dhcp binding

#int e0
#ip helper-address 192.168.2.4 //这条命令是指才client和dhcp中隔了有路由器,路由器是隔离广播域的,所以要把广播包变成单播包加上这条命令,ip是dhcp服务器的ip

 

____________________________
路由表中
1、比较AD 小的优 2、比较度量值 小的优,如果度量值一样就负载均衡
c是直连路由(管理距离是0)
s是静态路由 1
d是eigrp 90 是距离矢量和链路状态杂合协议,协议号是88
o是ospf 110
i是iss 115
r是rip 120

 

#show ip eigrp interfaces //查看那些接口被宣告进eigrp

#show ip eigrp neighbors //查看邻居表, 在里面address是指对方的地址,接口本地接口,hold时间是hello时间的3倍(hello时间是每5秒发送),uptime是指和邻居
连接了多长时间,srtt往返时间 单位是ms(毫秒) 如果往返时间比较大说明线路拥塞, rto重传超时 单位ms(毫秒) 默认重传16次

#show ip route //查看路由表,是存放最优的路由

#clear ip eigrp neighbors //清除邻居,让他重新建立

#show ip interface //可以看到接口的带宽和延迟, 延迟之和是路由流向的入接口相加
在控制层面
ad值越小越优
metric,不同的路由协议计算metric不一样,rip是计算跳数,eigrp是带宽和延迟

数据层面
1,先执行与操作, 目标用掩码和目标ip与
2,在执行掩码最长匹配


EIGRP (高级距离矢量路由协议) 组播地址是224.0.0.10 管理距离是90 (是做增量更新),,触发更新,
支持增量更新 支持等价负载均衡和不等价负载均衡 有5个度量值(带宽,最大传输单元,延迟,可靠性,mtu)
topology存放的是邻居所有学过来的路由, fd(可行性距离)就是本地到达目标网络的metric值,ad(通告距离)邻居到达目标网络的metric值

度量值计算:(10的7次方除以最小带宽(kb)加上延迟(微妙)之和除以10)再乘以256 show int f0/0这边命令可以查看端口下的带宽和延迟,
计算方式是路由流向的入接口累加

向eigrp注入默认路由,比如R1是网管自动为下面的路由器下方默认路由让他们指向自己
1,重分布静态
a,写默认路由
b,重分布到eigrp
#router eigrp 90
#no auto-summary //解决不连续子网
#network 13.1.1.1 0.0.0.255
#exit
#ip route 0.0.0.0 0.0.0.0 s0
#eixt
#router eigrp 90
#redistribute static //把静态路由重分布到eigrp这样就可以学到静态路由 重分布进来的管理距离是170

~~~~~~~
ip default-network //
#ip default-network 12.0.0.0 //这个ip是外网地址,而且是主类地址
#router eigrp 10
#network 12.0.0.0 //通告这个网段
#exit
#ip route 12.0.0.0 255.0.0.0 null 0 //手动写汇总路由


手动汇总在接口上做的,在边界路由的出接口上做
#int s1
#ip summary-address eigrp 90 199.9.8.0 255.255.252.0 //汇总掩码计算方式,就是找相同位,路由传播out方向


show ip eigrp interfaces //查看那些接口是在eigrp里面的

bgp和eigrp支持非等价负载均衡,eigrp默认支持4跳,最大支持6条
#route eigrp 90
#maximun-paths 6 //这个是等价负载均衡

不等价负载均衡公式,successor(就是到达目标网络度量值最小的)的FD乘以自定义的vlue值大于备用路劲的fd
#route eigrp 90
#variance 2 //这个就是设置vlue值和主的fd向乘的


show ip eigrp topology all-links //查看eigrp所有的top链路,,也可以看fd和ad的值,想要成为备选路由备选路由的ad要小于主路由的fd值
show ip route 2.2.2.0 255.255.255.0 //查看这条路由的明细,也可以查看这条路由非等价负载均衡明细

#int s0
#ip bandwidth-percent eigrp 90 200 //这条的命令意思是把eigrp的带宽利用率调整为百分之200,
一搬结合#bandwith 3 因为这个接口带宽设置太小了,所以让eigrp的利用率调大
#int s0
#daly 1000 //更改端口延迟

解决查询包的扩散范围,利用汇总中心站点连接分支站点的出口上做路由汇总,还有一种就是用stub 在末端路由器上做 不要在中心站点上做
eigrp stub特征配置 (stub是指在一个星形链路状态中主路由器到其他分支站点断了,随后让末端路由器不要再去做无谓的操作)
#eigrp stub connected /summary /ststic /receive-only只接受不发送任何路由 (connected指向邻居路由器传递直连链路的信息) (summary只会传递汇总路由 (static只有传递静态路由

 

2,eigrp协议号是88 tcp是6 udp是17

3,dual算法是为了防止路由环路 AD=下一台路由器到目标的距离 fd=自己+AD的距离(fd最小的就是最佳路劲) AD是不能大于fd的不然要环路的
而且备用路劲的选择是备用的AD不能大于主的FD,,sucessor就是到达目标网络metric最小的那台路由器

4,eigrp有5个度量值(带宽k1,延迟k3,可靠性k4,最大传输单元k2,mtu) 计算方法metric=bandwidth[(10的7次方除以最小带宽乘以256)+(延迟之和除以10)]乘以256

5、#show ip eigrp neighbors 查看对方的ip,自己那个接口连的,hello包每五秒发送一次
6、#show ip protocols 里面可以看到k值 还有最大路劲16条

8、router#metric weights 0 (1 0 1 0 0) 第一个零是协议号不动 后面五位是K值
有5个度量值(带宽,延迟,可靠性,最大传输单元,mtu)如果改了K值每天路由器的eigrp的K值都要改成一样的
9、#show ip eigrp int

10、passive int (被动接口):是指只接受数据包不发送数据包, 在换回口上做
#router eigrp 110
#passive-interface default
#no passive-interface s0/1 这两条命令的意思是默认所有端口都是被动接口,只有s0/1口不开启被动接口
#newtwork 192.168.6.1 0.0.0.255


11、自动汇总工作在不同主网络的边界路由器上
12、水平分割是指:数据包在一个接口进不能再同一个接口出,在广域网上(frame relay)一定要在中心路由器端口上关闭水平分割 int#no ip split-horizon rigrp 110
13、#no auto-summary 关闭自动汇总 在端口下配置汇总路由int#ip summary-address eigrp 110 172.16.0.0 255.255.0.0
Frame Relay 不做广播 帧中继有两种映射方式(static mapping 和 dynamic mapping) top结构有三种 1,全互连 2,部分互连 3,星形
dlci号是域本地连接标示符 标明虚电路的走向
静态映射 if#frame-relay map ip 192.168.103 103 broadcast (对方的ip地址 , 103为本地的dlci号码) 如下面配置eigrp一定要加broadcast
关闭反向arp if#no frame-relay inarp eigrp 110 清空映射关系#clear frame-relay
frame relay有两种接口类型 1,多的子接口 2,点对点子接口
多点子接口配置
#int s0/0
i#encapsulation frame-relay
i#no frame-relay inarp eigrp 110 (关闭反向arp)
#int s0/0.1 multipoint
i#ip add 192.168.1.1 255.255.255.0
i#no ip split-horizon eigrp 110 (关闭水平分割)
i#frame-relay map ip 192.168.1.102 102 broadcast

eigrp本身是组播的形式发送数据包的,可以用 #neighbor 192.168.1.102 s0/0 改成单播的形式s0/0是那个出站接口发送hello包
在广域网中eigrp默认占用带宽上限为实际带宽的50%
在广域网中多点子接口的算法是;中心站点总带宽除以有多少个分支站点然后再除以2

eigrp认证机制;只支持MD5认证
#conf t
#key chain name (创建key的钥匙链名字为name)
#key 1
#key-string 123 (在钥匙链下面创建多个钥匙,为k1和k2 key-sting给钥匙加密为123 两边的key密码要一一对应)
#accept-lifetime
#send-lifetime (accept和send可以定义认证接受和发送的时间 两边的接受和发送也要一一对应)
#exit
#key 2
#key-string 321
#int s0
i#ip atuthentication key-chain eigrp 110 name (那配置好的key-chain挂到接口上 这里的name是钥匙链的名字)
i#ip authentication mode eigrp 110 md5 (开启eigrp认证为MD5)

#show key chain
#debug eigrp packet

 


偏移列表是指在入路由器和出路由器对度量值做增加来做路劲的选择。
#access-list 21 permit host 5.5.5.5 //acl抓取这条路由
#router eigrp 90
#offest-list 21 in 2 s0/0 (这里的2是指增加度量值的数值) (只有rip 和eigrp支持offset-list协议)

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
集成is-is,是用osi模型,在网络层,是链路状态,所有起iss路由器默认这台路由器是level1-2, iss的骨干区域是所有连续level1-2和level2组成的区域(连续的意思是中间不能出现level1的路由器)
l1是在一个区域内返回,l2是在一个骨干上泛洪,

iss有两种计算metric的方式,1:是narrow metric默认路由器上的所有metric都是10,更改metric的方位在0到63, 2:是wide metric这个也是根据带宽来改metric的

 


_____________________________________________


ospf
配置ospf一定要注意开机顺序,这样才能正确的选择dr和bdr
ospf分支区域一定要和主干区域连接 ospf是通过lsdb找到最优路劲的 (管理距离是110) 组播地址是224.0.0.5(是dr和其他路由器传播) 224.0.0.6(是dr和bdr之间传播) 协议号是89
如配置ospf常规区域必须连接主干区域
ABR:区域边界路由器
ASbR:自制系统边界路由器,如同一台路由器一个接口是ospf 另一个接口eigrp
opsf链路cost计算是10的8次方除以接口带宽

opsf有五个包;hello包是用来发现和维护邻居关系、 database description包是用来发现邻居之间数据是否同步、 link-state request包请求获取lsa的通告
link-state update包是用来发送给对方lsa通告信息 、 link-state acknowledgment包是确认已近收到了lsa通告。

ospf建邻居的四个必要条件,1、hello时间(有两种10s和30s)和死亡时间是hello时间的4倍,2、area ID要一致,3、认证密码要一致,4、stub标示要一致

ospf标记 o标示opsf区域内路由, OIA区域之间的路由,oE1外部自制系统的路由可以叠加cost, OE2外部自制系统的路由不可以叠加cost
限制las存储最大值的数量,(防止lsa过大导致机器死机)#max-lsa 12000 在ospf进程中配置,这条命令在12.4以上版本才有


ospf只有在两种类型的路由器做汇总,1、区域边界路由去(abr),2、自制系统边界路由器asbr
abr#area 1 range 172.168.0 255.255.248 这里的area 1是原来本身的区域

在ospf中常规区域一定要连主干区域,但是如果没有连接主干区域可以用虚电路解决,要在两台abr上操作,
0#area 1 virtual-link 10.2.2.2 (配置虚电路,两端都要做)这里的area 1是虚电路所跨越的区域 ,10.2.2.2是对端的router-id

在ospf中收到环回口的掩码都是32位的不管你配置多少位的掩码,如果要还原
#int loopback 0
#ip ospf network point-to-point 还原真实的掩码

#int s0/0
#ip ospf hello-interval 6 //修改hello时间,要两边一致


#show ip opsf int //查看那些接口宣告进ospf和cost值


#router-id 123 是指给ospf路由器标示名字
#clear ip ospf prcess 重启ospf进程

更改接口开销值 if#ip ospf cost 12 这条命令可以更改opsf路径走向。

ospf的DR和BDR的选举;DR是接口上优先级最高的那个,如果优先级无法选举通过root-id 接口优先级更改i#ip ospf priority 123
1,当一台路由器已经是dr,就算其他路由器优先级高也不会被选举为dr除非进程重置ospf #clear ip ospf prcess
2,当dr断了bdr自动升级为dr,然后在选举bdr
3,DR/BDR/DROTHER是接口概念
4,不同网段分别选自己的dr和bdr

NBMA网络是非广播多路访问;一定要手动指定邻居用neighbor
把接口改成NBMA接口 i#ip ospf network non-broadcast
opsf常用的网络类型;(点到多点)不用选举dr和bdr 更改点到多点类型的命令 i#ip ospf network point-to-multipoint

lsa类型 net-lsa2是看链路的框架,router-lsa1是看详细信息,summary-lsa3可以找到边界路由器
1,router-lsa里面的内容是链路的列表(就是邻居列表),直连路由的ip和本接口的ip,不穿越区域边界路由器
#show ip ospf database router (link-id) 里面显示的是邻居路由器的id和本地那个端口连接的,每台运行ospf路由器都会产生router-lsa
2,network-lsa只能在本区域传递不穿越区域边界路由器,是由一个网络多路访问的dr产生的,内容是本ma网络有多少台运行ospf的路由,和ma网络的子网掩码。
3,summary-lsa描述跨abr查看另一个区域内部的路由信息,是由ABR产生的
4,summary asb-lsa辅助找到lsa5发送的信息,就是告诉其他区域的路由器找到asbr在哪里
5,external-lsa(外部lsa)是由ASBR(自制系统边界路由器)产生,可以穿越网络中的任何一台边界路由器告知自己的信息


#show ip ospf database //里面不同的lsa linkid 和adv router是不一样的
linkid ADV Router
lsa1 router id router id
lsa2 dr的IP DR的routerID
lsa3 是域间路由 ABR的routerID
lsa4 ASBR的routerid ABR的routerID
lsa5 是域外的路由 ASBR的routerid


ospf常规区域中有3个特殊区域
1,stub area 可以拒绝接受lsa5 但是会自动产生一条默认路由给abr来访问外部路由,#area 2 stub(把area配置成stub区域)在区域中的所有路由器上配置
如果有两台abr的话 abr#area 2 stub #area 2 default-cost 10 (配置stub默认路由的开销值) 要成为完全末梢网络abr#area 2 stub no-summary。
在topy结构中只有连接一个asbr就用stub
2,nssa次stub区域,不让lsa5进入,但可以让直连的外部路由lsa7进入(就是过滤远端的5类路由)如果想访问远端的就要在nssa中配置一条默认路由,在topy结构中两边都连接asbr就用nssas,
abr#area 256 nssa no-summary (把lsa3,4,5都过滤掉了) area 2 nssa no-redistribution default-information originate //是指过滤7类路由 下方7类默认路由
在ospf的asbr配置默认路由像内部路由分发 asbr#default-information originate always
如果有两台边界路由去像内分发默认路由, asbr#default-information originate metric 100 可以设置优先级让他选择路径

特殊区域 作用 是否下方默认路由
stub区域 过滤lsa4/5 是lsa3 cost值等于1 0#area 1 defaule-cost 5 如果有两个边界路由器用这条命令进行选路 0#area 1 stub 把这个区域改成末节区域,在这区域上的路由器都要配置这条命令
totally stub 过滤lsa3/4/5 是lsa3 cost值等于1 在abr路由器上配置area 1 stub no-summary 过滤3类
nssa 过滤lsa4/5 否 需要自己配置命令 在nssa区域中都要配置area 1 nssa, 在nssa区域中abr路由器上配置下放默认路由因为过滤了5类 area 1 nssa default-information-originate
totally nssa 过滤lsa3/4/5 是lsa3 在abr路由器上配置area 1 nssa no-summary 过滤3类

#conf t
#router osper 110
#redistribute rip subnets metric-type 1 //把rip重分布ospf,默认是type2,type2不累加cost值(都是固定值20),如果要累加cost值设置为type1,接口的开销是64,
以太口是10


解决不规则链路(就是分支没有连接主干网络)
1,路由重分布
2,建立tunnel 链路,,就是间接的去连接主干区域
conf t
int tunnel 1
tunnel source 13.1.1.1 这里的原和目标的ip是物理的真实ip,,在两端互指原和目标IP
tunnel destination 13.1.1.3
ip address 172.16.1.1 255.255.255.0 这里的ip是自定义的ip
exit
router os 110
network 172.16.1.0 0.0.0.255 are 0 把自定义的ip通告到主干区域里面
3,配置虚拟电路
router os 110
area 2 virtual-link 3.3.3.3 //area 2是要穿越的区域,3.3.3.3是对方的route id


ospf认证
密钥 声明
link:链路认证 接口 接口
area:区域认证 接口 在ospf进程中
v-l:虚电路认证 在ospf进程中 在ospf进程中

link 链路明文认证配置
#conf t
#int s1
if#ip ospf authentication-key 123 (创建key,保证相连的路由器上key是相同的)
if#ip ospf authentication (开启认证) 或在区域下开启认证#area 0 authentication (area 0下区域所有接口都开启认证)

link 链路密文认证
if#ip ospf message-digest-key 1 md5 123(创建key) 1为key的id号两边必须一样,
if#ip ospf authentcation message-digest(在接口下开启认证) 或#area 0 authentication message-digest (area 0下区域所有接口都开启认证)

area:明文区域认证
#int s1
#ip ospf authentication-key 123
#router ospf 110
#area 1 authentication

v-l:虚电路明文认证
#route opsf 110
#area 2 virtual-link 3.3.3.3 authentication-key 123 //起密钥 #area 2 virtual-link 3.3.3.3 message-digest-key 1md5 123 //起密文认证
#area 2 virtual-link 3.3.3.3 authentication //声明 #area 2 virtual-link 3.3.3.3 authentication message-digest //密文声明

#debug ip ospf events (查看是否认证成功)


1、ospf只支持等价负载均衡:默认支持4条, show ip protocols查看负载均衡的数量,最大支持6条,
#route ospf 110
#macmum-paths 6 更改负载均衡的数量

2、ospf被动端口不接收和发送数据,而eigrp是接收数据但不发送数据。o#passive-interface e0/0


————————————————————————————————————————

网络类型 默认接口 特点
1、loopback: 环回口 掩码都是32位
2、point-to-point:点到点, 串口/isdn/郑中基点到点子接口 组播发hello包,没有dr
3、broadcast:广播, 以太口 组播更新/有dr
4、nbma: 郑中基物理接口/郑中基多点子接口 单播更新/有dr,,,所以就要在osfp进程中用neighbor去指定发送更新包
5、p2mp:点到多点 组播更新/无dr/会产生一条到达对方接口32位直连路由
6、p2mp nbma 单播/无dr/会产生一条到达对方接口32位直连路由

if#ip ospf hello-interval 30 更改hello时间为30秒


frame-relay:郑中基
1、二层协议
2、dlci号 本地有意义
3、pvc通道用dlci号去标示
4、tcp协议连接
5、lmi(Cisco/ansi/q933a)有3中状态active(代表本地和远端的线路正常)、inactive(本地正常 远端出问题了)、delete(本地出问题了,远端不知道),是一种链路状态
6、map映射,
自动map(dynamic)
手动map(static)

将路由器模拟成郑中基交换机
1,所有串口封装成郑中基,dce配置时钟
2,r2模拟成郑中基交换机
3,在接口下指定lmi的类型
4,在接口下配置郑中基交换机的dce
5,在接口下配置构建pvc
r1#conf t
#int s0
#encapsulation frame-relay
#no shutdown

运营商的配置
r2#int s0
#clock rate 100000
#encapsulation frame-relay
#no shutdown
#exit
#frame-relay switching //r2模拟成郑中基交换机
#int s0
#frame-relay lmi-type cisco //在接口下指定lmi的类型
#frame-relay intf-type dce //在接口下配置郑中基交换机的dce
#frame-relay route 104 interface s1 401 //在接口下配置构建pvc,104是input-dlci号,interface s1是从哪个端口出去的,401是output-dlci号
#frame-relay route 105 interface tunnel 2 100 //100是自定义的tennel-dlci号 只要不和实际的dlci重复就可以了
#exit
#interface tunnel 2
#tunnel source 23.1.1.2
#tunnel destination 23.1.1.3

#show frame-relay pvc 查看lmi的链路状态
#show frame-relay map 查看pvc的映射关系

客户端手动映射
#int s1
#frame-relay map ip 145.1.1.5 401 broadcast //手动映射 145.1.1.5对方接口ip 401是本地出去的dlci号

在郑中基中运行ospf
nbma: 手动neighbor,手动dr(ip ospf priorty 2),手动map
broadcast: 自动neighbor,手动dr,手动map
p2mp nbma: 手动neighbor,无dr,不用map 更改网络类型命令#ip ospf network point-to-multipoint non-broadcast
p2mp 全自动

 

 

路由重分布(是指其他路由协议注入到不同的路由协议里面使他们能互相通信)(重分发路由协议只有发送自己路由表里面的内容)
每一个路由协议都有一个(种子度量值),每种路由协议的度量值定义方法是不同的。
种子度量值的默认值 ospf=20 bgp=1 is-is=10 rip和eigrp度量值是无穷大。

在路由协议模式下#router rip
#redistribute ospf 1 metric 4 (这里是opsf注入到rip里面) (这里的metric是种子度量值)
#redistribute connected metric 3 (将直连链路重分布进路由协议) 如果加static是将静态路由重分布。

#router ospf
#redistribute eigrp 100 metric 100 subnets (如不加subnets,重分布进来的都是主网络号) (只有注入ospf才要加subnets)
如果注入eigrp的话metric ,5个度量值一定要写,但是只有前2个是进入度量值计算的,后3个随便写,前2个度量值是带宽和延迟。
*重分发路由协议一定要注意管理距离的问题,不然会导致路劲选择的错误和环路。最主要是rip和ospf之间的重分布。

路由器的管理距离
1,直连接口=0
2,静态路由=1
3,eigrp汇总路由=5
4,eigrp=90
5,ospf=110 6,ripv1\v2=120 7,外部eigrp=170 8,bgp=200 9,is-is=115 10,外部bgp=20

更改ospf的管理距离
#distance ospf external 100 inter-area 100 intra-atea 100 (intra是区域内的路由,inter区域间的路由,external外部路由)

#distance eigrp 90 170(90是内部路由,170是外部路由)

管理距离是本地有效的不会影响其他路由器。
如果想描述单个ip的管理距离,#distance 100 192.168.1.1 0.0.0.0 (这里的ip地址是原的ip地址)
而在ospf中原地址必须是routerid #distance 100 3.3.3.3 0.0.0.0 3 (3是访问控制列表的号码) (这里的3.3.3.3不一定是邻居路由器发出来的,而是所发送的routerid
ospf是链路状况协议,所以distribute只有入方向没有出方向, 2,distance对本地有效。

过滤路由信息(distribute(分发))
1,通过access list或route map 2,然后把列表捆绑在进站或出站的接口上
在rip上面做过滤#distribute-list 2 out serial 0/1 (用access-list2在出站接口s0/1的出站接口上做过滤)

前缀列表是用来匹配路由列表的 比access-list的优势就是能精确的匹配子网号。
#ip prefix-list shixiaomin deny 192.168.0.0/16 ge 20 (ge是大于等于,le是小于等于,)192.168.0.0/16下的子网,子网掩码需要大于等于20
#ip prefix-list shixiaomin permit 0.0.0.0/0 le 32 (允许所有路由条目)
#router rip
r#distribute-list prefix shixiaomin in s0/1

router map有3个地方使用,1重分部,2策略路由,3,bug中使用
#router-map shi permit 10 (如果不写match就是等于匹配所有语句)
如果prefix和router-map做嵌套,那么prefix都是premit

#ip prefix-list shixiaomin primet 192.168.0.0/16
#router-map shi deny 10
#match ip address prefix-list shixiaomin
#set metric 50
#router-map 123 premet 20000
#exit
#router ospf
#redistribute rip subnets router-map shi
注意router-map是用在重分发的时候

_______________________________________________________________________________________
is-is是0si模型三层

 

————————————————————————————————————————————————————————————————————————————————————
重分布就是让两种不同的协议互相学习到路由。
重分布,,,如果是双点双向重分布就要改管理距离了(eigrp和ospf做重复布没有双点重分布的问题而rip和ospf是有的), distance 121 1.1.1.1 0.0.0.0 //这里的1.1.1.1是对端冗余的那台路由器的router-id,
(r1通告过来的路由管理距离都改成121)

任何协议重分布到rip默认的metric是无限大(就是要手动指定)
任何协议重分布到eigrp默认的metric是无限大(就是要手动指定)
任何协议重分布到ospf默认的metric是20 #redistribute rip subnets 将任何协议重分布到ospf都要加上subnets
任何协议重分布到is-is默认的metric是0
任何协议重分布到bgp默认的metric是igp自身所携带的值

将is-is重分布到任何协议,is-is的直连路由不会重分布进去,,计算metric是路由流向的入接口相加。
#route rip
#ver 2
#no auto
#redistribute connected //是指把本地所有直连接口都引入到rip中

再重分布的时候只允许指定的路由重分布进来,只允许4.4.4.4重分布到eigrp
#access-list 4 permit 4.4.4.4 //acl指定那条路由重分布进来
#router eigrp 90
#redistribute ospf 110 metric 1500 100 255 1 1500
#distribute-list 4 out ospf 110 //只允许4.4.4.4重分布到eigrp

~~~~~
prefis-list 前缀列表,抓取路由,还可以控制掩码
#ip preffix-list 1 permit 2.2.2.0/24 le 32 //抓取小于32到24为之间的

#ip prefix-list 1 permit 0.0.0.0/0 le 32 //这条语句就是permit any

~~~~
route maps 在重分布,bgp,qos中使用
#access-list 3 permit 3.3.3.0
#perfix-list 8 permit 8.8.8.8/24 //用acl和perfix抓取路由
#route-msp R permit 10
#match ip address 3 //匹配acl
#set metric-type type-1 //把类型设置为e1
#exit
#route-map R permit 20
#match ip address prefix-list 8
#set metic 10
#exit
#router-map R permit 30 //在最后加一个空的route map是为了放行其他的路由,如果不加就会把deny所有
#router ospf 110
#redistribute rip subnets route-map R //调用router-map在重分布中

 

 

————————————————————————————————————————————————————————————————————————————————

ipsla(可以主动的检查端口到端口的联络状态检测)配置在默认路由和静态路由上面的
#ip sla monitor 22
type echo protocol ipicmpecho 11.1.1.1 source-interface f0/1 frequency 10 (在f0/1去ping 11.1.1.1 每10秒做一次)
ip sla monitor schedule 22 life forever start-time now (定义ipsla的工作时间)
#track 2 ip sla 22 reachability (跟踪ipsla22的可达性)
r#ip router 0.0.0.0 0.0.0.0 11.1.1.1 track 2 (tack 2 是指上面的跟踪信息,如果是up的是可达的。)

pbr策略路由(只在本地生效) 可以对源地址做策略 ( 策略路由router-map没有deny语句)
#router-map shi premit 10
#match ip add 10 (这里的10是acl)
#set ip next-hop 6.6.6.6 (下一条是6.6.6.6)

#int f0/0 (这端口是内部路由器到边界路由器上的总接口)
if#ip policy router-map 10

 

______________________________________________________________

bgp是内部路由和外部路由的双向通信 可以传递自制系统(as)
bgp是tcp数据包端口号是179
如果两台路由器在不同的自制系统,并且是直连的就是ebgp (管理距离是20) as相同就是 就是运营商相同 比如都是电信的
如果两台路由器在相同的自制系统就是ibgp(管理距离是200)

as号分共有和私有之分
0-64511为共有的, 共有的要去申请
64512-65535是私有的,私有的只能在本地用

在bgp中有3个报文
open包是建立邻居关系
keepalive包周期检查邻居的存活
还有一个就是错误报文

解决bgp路由黑洞,路由黑洞是指路由条目能互相通信但是数据却不能通信
用bgp全互联或mpls解决bgp路由黑洞

ebgp防止环路;通过as号,相同的as号不能转发给自己
ibgp防止环路;从ibgp学到的路由不会再发送到其他ibgp中

一台路由器启用了ospf和bgp,route-id要保持一致

ibgp中igp最好用换回口做路由条目

show ip bgp summary //查看bgpd连接那些邻居
show ip bgp //查看装发表
show ip route bgp //查看路由表

配置ebgp最冗余,要用环回口去做
#router bgp 65010 //65010本地的as号
#bgp router-id 4.4.4.4
r#neighbor 1.1.1.1 remote-as 65020 (1.1.1.1是邻居的单播换回地址地址) remote-as(对方的自制系统号码)
r#network 3.0.0.1 mask 255.255.255.255 (这里network是指把igp装入bgp中发往外部路由,network通告路由,
只要在show ip route中的本地路由都能通告出去,要精确匹配路由表里面的路由包括掩码) igp是内部网络路由协议如ospf,eigrp,rip,这条命令只要在as的边界路由器上配置
#neighbor 1.1.1.1 update-source lookpback //指定自己的源端口,这条命令是在用到换回口时用,如果是真实的物理接口就不要指定自己的原端口
#neighbor ebgp-multihop 2 //改ttl值就是跳数,默认是1,因为用的是换回口,如果是1跳到不了换回口。
#exit
#ip router 1.1.1.1 255.255.255.255 192.168.1.18
#ip router 1.1.1.1 255.255.255.255 192.168.1.19 //配置默认路由,是为做冗余,同一个目标地址两条链路都可以到


如果iBGP做冗余的话,目标地址是环回地址,
#router bgp 55033
#no syn (关闭同步是为了让不优的路由其他路由也能学习到,如果不关闭同步只能学习到最优的路由,只有ibgp中有这个规则ebgp不用关闭同步)
#neighbor 10.5.5.5 next-hop-self (这条命令是为了解决在ibgp中所有路由的下一条都指向的是另一个as边缘路由器的接口,因此在ibgp中就会判断错误,导致不优的路由无法发送给ibgp中的另一台路由器,
所以要指定下一跳的接口,这条命令在ibgp的两台边缘路由器上做,因此在同一个as中最少有3台路由器才会出现这条命令)
#neighbor peer-group-name peer-group (这条命令是在ibgp的边缘路由器里面的路由器上做,peer-group-name是自定义的组的名字,这条命令是为了减少重复的代码出现,在这条命令下的命令就可以调用如
neighbor peer-group-name remote-as 1 ,然后调用这个模板,route bgp 1 neighbor 2.2.2.2 peer-group peer-group-name)
r#neighbor 10.5.5.5 remote-as 450 (建立对等体bgp)
r#neighbor 10.5.5.5 update-source loopback 0 (10.5.5.5是对方的换回接口,loopback0是自己的源端口,源端口一定要加source,这里10.5.5.5是一个换回口,如果不加这个命令命令的原会从实际接口中发送,这样发送回错误
这条命令只有用换回口的时候去建立邻居才会用。用实际物理接口建邻居不用写这个命令
在路由器中默认接受数据流是使用串口接受的,而在neighbor中指定的是换回口接受数据流的,所以指定要用换回端口去接受数据。不然接受数据会错误,在ibgp中使用,如果在ebgp指对方的接口是换回口还要加上默认路由,
这样在一条链路down了以后另一条链路可以通信)

r#neighbor 10.5.5.5 ebgp-multiphop 2 (因为做了换回扣接受路由所以到达物理接口是一跳在到达换回口又是一跳所以要2跳因此multiphop改为2 多跳设定只有ebgp才有,ibgp默认是多跳的)
#ip route 10.5.5.5 255.255.255.255 192.168.1.18
#ip route 10.5.5.5 255.255.255.255 192.168.1.34

icmp重定向;是指当一个接口接收到数据但是没有做任何处理又从这个接口出去就是重定向,在bgp中如果发生这种情况路由器会发送给对端路由器让对端路由器改变自己的网关

#debug ip bgp updates 查看bgp的更新报文
#clear ip bgp * soft 清理bgp的邻居表,但是不断开连接

bgp排错,如果看见idle说明igp的路由没有通
如果出现active有4种出差可能性,邻居没有我本路由器的路由表,邻居地址配置错误,邻居没有和我建邻居,邻居as号配置错误
show ip bgp neighbor 12.1.1.1 advertised-routes 查看向邻居发送了那些路由
show ip bgp neighbor 12.1.1.2 received-routes 查看本台路由器收到了那些bgp路由
neighbor 12.1.1.2 soft-reconfiguration inbound 只有在在bgp中开启soft-reconfiguration inbounds,才能查看到

 

bgp汇总,
在bgp中自动汇总是在重分布的时候产生的,自动汇总不携带下一条和度量值,如果关闭就携带这些参数
1,手工写静态路由下一跳指向null0口,然后再network到bgp中,,如果想不重分布bgp中做汇总那么写一条汇总的静态路由
#ip route 200.1.16.0 255.255.252.0 null 0 写一条静态的路由下一跳是null0(做一个欺骗)口,这是为了把这条路由放到路由表里面,这样bgp(只能通告路由表里面的路由)中的network才能通告出来
#route bgp 1
#network 200.1.16.0 mask 255.255.252.0 把汇总路由放进bgp
2,在bgp中network全部通告出来,然后再做聚合
r2#route bgp 2
r2#network 200.1.16.0
r2#neteork 200.1.17.0
r2#aggregate-address 200.1.16.0 255.255.252.0 summary-only as-set summary-only只传聚合路由,不加明细路由和聚合路由都会传给邻居,
as-set把明细路由的属性添加到聚合路由上去,这样汇聚路由就也有as号了,就可以拥有水平分割了,as-set用在汇聚对方发送过来的路由,本地汇聚不用加summary-only
r2#aggregate-address 200.1.16.0 255.255.252.0 suppress-map sup 允许那些条目发送给对端邻居,sup是rout-map的名字

r2#ip prefix-list 1 premit 200.1.16.0/23 ge 24 le 24 这两条命令可以精确的匹配ip为200.1.16.0/24 200.1.17.0/24
r2#route-map sup
r2#mutch ip address prefix-list 1


bgp属性
必须遵守的属性
as path
next-hop
origin

show ip bgp 中最后i是在这条路由是通告进来的, ?问号重分发进来的igp路由,

 


bgp最佳路劲选举
1,比最大的weight值, 设置这个weight值只在本台路由器有效,默认值有两个值如果是在本台路由器通告的weight是32768如果不是默认值是0,越大越好,这个是cisco私有的
2,比最大的本地优先级,,传播范围的在同一个as中只能在ibgp中使用,默认值是100,越大越优,(更改weight在本台路由器上做,而localpreference是在对端路由器上做去改变自己的选路,
as-path是用于ebgp选路是在边界路由器上做如E5路由器)
3,优选起源于的本地的
4,经过的as号越短越好
5,手动更改origin code(打i的优于e的优于打?问号的
6,比最小的度量,, 默认值是0 ,值越小越好,,localpreference是告诉我的ibgp如何离开我的as,而最小度量值med是告诉我的ebgp邻居如何进入我的as
7,ebgp优于ibgp
8,优选最近的igp邻居 这个是比igp的costest值,越小越好
9,第9个用不到
10,如果上面都一样比最小的router-id
例子
weight例子
#route bgp 1
#neighbor 1.1.1.1 weight 1 这条命令的意思是只要在邻居1.1.1.1这台路由器发过来的路由weight值都改为1 这条命令默认是in方向 权重是一种cisco专有的属性,只用于当前路由器
这条命令的意思就是1.1.1.1weight高,所以本台路由器的下一条是1.1.1.1优先走
例子2
更改指定ip的weight值,在内部路由器上做
#ip prefix-list 2 premit 2.2.2.0/24
#route-map w
#match ip address prefix-list 2
#set weight 3
#exit
#route-map w premit 20 这是写一条空的route-map是为了放行其他路由,
#exit
#route bgp 1
#neighbor 1.1.1.1 route-map w in 只要1.1.1.1发过来的路由weight值都改成3,以后因weight值大以后2.2.2.2就走1.1.1.1这条路由

例子,比最大的本地优先级,在边界路由器上做
r1#route bgp 1
r1#bgp default local-preference 111 这个命令是指在r1上发送给邻居的ip优先级都给位111
例子2
r1#access-list 2 permit 2.2.2.0
r1#router-map l
r1#match ip address 2
r1#set local-preference 111
r1#exit
r1#route bgp 1
r1#neighbor 3.3.3.3 route-map l out
这条命令的意思是告诉对端邻居3.3.3.3出方向选择走配置命令的这条路由器

as号选举,在ebgp路由选举,in方向也可以做,as分in方向和out方向
都是用route-map,只是set有所变化
set as-path prepend 2 2 2
r2#route bgp 1
r2#neighbor 24.4.4.4 route-map z out

例子
比最小的度量,本地控制对端,在ebgp中使用,这个例子的意思是去往1的链路走,回来从另一条链路走
set metric 10
r1#route bgp 1
r1#neighbor 12.1.1.2 route-map med out


解决ibgp水平分割,让他能手动去管理分割,因为在ibgp中一台路由收到ebgp中的路由是不能再转发给下一台路由器的因为水平分割的缘故
1,路由反射器,只针对ibgp,用cs模型就是一个作为服务器,其他的路由器作为客户端,rr是指服务路由器
a,rr从ebgp收到的路由会发送给非客户端和客户端路由器
b,rr从client收到的路由发送给非客户端和客户端路由器和ebgp
c,rr从非客户端收到的路由只会发送给ebgp和客户端路由器,不会发送给其他非客户端路由器
命令就是在rr上面做
#route bgp 1
#neighbor 1.1.1.1 route-reflector-client 指定谁是我的客户端
#neighbor 4.4.4.4 route-reflector-client

2,设置联邦改变水平分割
a,在ibgp中改变router bgp 小as号(私有as号),就是把一个ibgp的as划分成几个小的as号,小as号之间如果用换回口做通信要加ebgp-multihop
b,声明所在的大as号
c,小as号之间互相指定peer
例子
r1#route bgp 64512
r1#route-id 1.1.1.1
r1#neighbor 12.1.1.2 remote-as 2
r1#neighbor 3.3.3.3 remote-as 64512
r1#neighbor 3.3.3.3 up lo0
r1#bgp confederation identifier 1 声明大as号
r3#route bgp 64512
r3#route-id 3.3.3.3
r3#netghbor 1.1.1 remote-as 64512
r3#neighbor 1.1.1.1 up lo0
r3#neighbor 4.4.4.4 remote-as 64513
r3#neighbor 4.4.4.4 ebgp-multihop
r3#bgp confederation identifier 1
r3#bgp confederation peers 64513 小as号之间互相指定peer
r4#route bgp 64513
r4#route-id 4.4.4.4
r4#neighbor 3.3.3.3 remote-as 64512
r4#neighbor 3.3.3.3 up lo0
r4#neighbor 3.3.3.3 ebgp-multihop
r4#bgp confederation identifier 1
r4#bgp confederation peers 64512

 

 

社团属性
可选的是指路由器有可能不识别此属性,用neighbor x.x.x.x send-community去识别可选的社团属性,社团属性传递性只有在邻居有效
r2#route-map com
r2#set community no-advertise
r2#exit
r2#neighbor 12.1.1.1 route-map com out
r2#neighbor 12.1.1.1 send-community
解释
no-advertise:携带此属性的路由不会通知给任何bgp邻居
no-export:携带此属性的路由不会传出大as 在联邦中使用
local-as:携带此属性的路由不会传出小as 在联邦中使用

 

bgp的认证只支持md5
r#neighbor 10.1.1.2 password shixiaomin (建立bgp的密码,两边都一致)

如何暂时关闭bgp
r#neighbor 10.5.5.5 shutdown (10.5.5.5是对方路由器的ip地址) 如果要打开bgp的话前面加个no就可以了

在bgp中下一跳是指下一个自制系统(as)
r#neighbor 1.0.0.4 next-hop-self (1.0.0.4想要连到自己的那台路由器的ip地址,next-hop-self指定自己为下一条路由器)

为了防止环路,ibgp发出来的消息不能发送给另外一个ibgp ebgp是通过as列表防止环路的

如果出现,idle说明igp或链路出现问题,connect说明完成3次握手,open sent发送open消息,open confirm检查open包和本地是否一致,established完成通信。

bgp路径选择
1,weight(权重熟悉)本地有效,思科私有,权重越大路径越优先 如果设置weight的话只能捆绑在in方向上。
#router-map shi permit 10
#match local-preference 150
#router-map shi permit 200
#set weight 200
#neighbor 10.0.0.1 router-map shi in (在router bgp中绑定router-map shi)

2,local-preference只能用于ibgp,描述自己的最佳出口,local-preference也是越大越好,
可以影响下一台的路由的路劲选择,in和Out方向都可以选择,(告诉内部路由器这么出去)

4,选择as-path 最短的越优,在ebgp中最好用as-path
#router-map aspath permit 10
#set as-path prepend 600 (这里是加一个as600,)

5,origin是指igp注入bgp的方法,是用network注入的,incompltet是重复发注入的,network比重分发优先级高
#set origin igp (这里改成network注入的)

6,med是当一个as有两个出口到另一个as,med是越小的越好,med只影响下一个as(不会影响其他as)用于ebgp (告诉外部路由这么进来)
#set metric 50 (这里的metric就是med)

7,如果一个是ebgp还有一个是ibgp的话,优先选择ebgp
8,如果两个都是ibgp的话优先选择里比较近的路劲
9,如果两个都是ebgp的话,优先选择在本地数据库时间比较长的哪一个
10,如果两台路由器routerid谁比较小,比较优先。

————————————————————————————————————————————————————————————————————

组播multicast


__________________

mpls 在数据层,不会给bgp分发标签
1,在mpls要开启cef,cef相当于一个路由表

1、ldp为每条路由打标签 端口号是646
2、lib是存放本地标签,学到的邻居的标签
3、lfib是信息转发数据库是一个标签库,是存放进标签和出标签的映射关系
4、fib是路由表


标签的构造
标签共有32字节
0到19是标签位 0~15是保留的
20-22是QOS位
23-24是否是栈底,是否是打了多层标签,第一层标签为0最后一层为1如果到1了就不往下读标签了
24-32是ttl


lsr是主要转发标签包的标签路由器
edge lsr是边界标签路由器

mpls不会为Bgp打标签

入标签是本端分配给邻居的
出标签是邻居分配给给本端


pop是指弹外出标签
untag是把所有标签弹出


步骤
1,起igp路由
2,启用cef
3,接口配置mpls
4,配置mtu mtu增大因为头部增大了

#ip cef
#int s0/0
#mpls ip
#

show mpls ldp neighbor 查看邻居的标签
#show mpls ldp discovery 查看是否收到对方的ldp hello 包
#show ip cef detail 查看fib表
#show mpls ldp bindings 查看lib表
#show mpls forwarding-table 查看LFIB表
#show ip cef exact-route 10.1.35.5 1.1.1.1 查看原10.1.35.5 目的1.1.1报文实际转发接口和下一跳


if#ip load-sharing per-packet 在两个接口上配置此台命令就负载均衡了


show ip cef detail 查看fib表
----------------
peer-to-peer 就是mplsvpn等于专线 费用高
可以把私有的ip通过公网传递到对端
ce是公司的路由器,pe是运营商的路由器

步骤
1,在运营商内部跑igp和mpls
2,在公司


1,ce和pe起(igp)
2,在pe上区分不同公司相同子网,用rd值(
3,vrf虚拟路由转发是在运营商路由器上,跑的是bgp路由
4,rt负责路由的导入和导出 相当于给公司打标签)

在公司连运营商的路由器上做
#ip cef
#int s0/0
#mpls ip
#exit
#route rip
#no aout-summary
#version 2
#network 12.0.0.0
#network 24.0.0.0

//运营商边界路由器上做,在公网的路由器上现在igp

#ip vrf a //创建虚拟路由表为公司
#rd 1:1 //在虚拟表中定义rd值(区分不同公司相同子网)
#route-target 1:1 //在虚拟表中定义rt值 相当于给公司打标签,为了区分公司
#conf t
#int s0/1
#ip vrf forwarding a //把连接对端公司的接口放到虚拟表中
#ip address 24.1.1.2 255.255.255.0
#no shutdown

#router rip
#address-family ipv4 vrf a //把和公司的直连网段放到运营商的虚拟列表中
#network 24.0.0.0

#router bgp 1
#bgp router-id 2.2.2.2
#no synchronization
#neighbor 3.3.3.3 remote-as 1
#neighbor 3.3.3.3 up lo0
#address-family vpnv4 //启用支持传vlnv4的路由
#neighbor 3.3.3.3 activate
#nethobor 3.3.3.3 send-community //识别社团属性
#exit
#route bgp 1
#address-family ipv4 vrf a //把虚拟表和bgp向关联
#redistribute rip //重分布rip进来
#exit
#router rip
#address-family ipv4 vrf a
#redistribute bgp 1 metric transparent //把bgp也从分布到rip中


在公司把内部地址通告到外网只要运行个igp协议就可以了
route rip
version 2
no aut-summary
network 24.1.1.0
network 4.0.0.0

_______________
ipsec vpn
二层vpn是帧中继
三成vpn是ipsec和mpls
应用层vnp是ssl

ipsec中
认证是hash(有两种认证md5和sha-a)
加密有三种des,3des,aes

ipsec,有两个类型站点到站点,还有一个是easy就是移动vpn

site-to-site的认证方式
1,域共享秘钥
2,数字证书,要ca服务器

easy的认证方式
1,用户名密码
2,otp,一次性服务器,运用到aaa服务器
3,生物认证


1,建立sa就是建立安全数据库
2,sa有两个模式 main mode(主要模式)和aggressive mode(积极模式),如果是main就直接到2点到点,是aggressive到移动模式1.5

dpd冗余备份
nat-t nat穿越


点到点配置步骤
1,起路由
2,a发送b感兴趣流(acl,两端对称)
3,协商通道用什么加密和认证方法
4,通道建立好以后建立是那种模式
5,结合感兴趣流和加密方式
6,把map应用到接口上
7,ipsec终结,手工和自动两种方式终结

要有专门的ios去支持,版本是在software中带k8或者k9的版本

r1#conf t
r1#ip route 0.0.0.0 0.0.0.0 serial 0
r1#exit
r1#access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 //建立感兴趣流
r1#crypto iaskmp policy 10 //和对端协商
r1#authentication pre-share //建立域共享秘钥,,建立认证用什么方式 ,,这种认证方式可以自定义密码
r1#hash md5 //认证使用MD5
r1#group 2
r1#encryption 3des //加密为3des
r1#exit
r1#crypto iaskmp key WOLF address 200.1.1.2 //定义域共享秘钥要加密换算的字符是wolf去连接对方的公网地址是200.1.1.2
crypto isakmp invalid-spi-recovery
crypto isakmp keepalive 30 10 periodic
crypto isakmp nat keepalive 360
crypto ipsec security-association lifetime seconds 28800
r1#exit
以上的是ike第一阶段,下面是ike第二阶段
r1#crypto ipsec transform-set SET esp-3des esp-sha-hmac //建立通道模式并选择加密方式,这个是对数据加密,set是自定义的名字
r1#mode tunnel //建立新包头
r1#exit
结合感兴趣流和第一第二阶段的命令
r1#crypto map VPN 10 ipsec-isakmp //挂载上面的代码vpn是自定义名字
r1#set peer 200.1.1.2 //对那个站点设置
r1#match address 100 //调用感兴趣流量
r1#set transfprm-set SET //调用通道
set pfs group2
r1#exit
r1#int s0 //在外网口
r1#crypto map VPN

access-list 102 permit esp host 200.1.1.1 host 200.1.1.2
access-list 102 permit udp host 200.1.1.1 host 200.1.1.2 eq isakmp
access-list 102 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
int s0
ip access-group 102 in

debug crypto ipsec 然后用扩展ping

show crypto ipsec sa 这是查看第二阶段的sa

show engine connections active 查看加密和解密是否正常
——————
sdm用软件配置vpn(security device manager)
路由器断首先要开启ssh
#conf t
#ip address 192.168.16.5 255.255.255.0
#no shutdown
#ip http secure-server //开启http服务 因为要配置sdm
#line vty 0 4
#transport input ssh telnet //放行ssh和Telnet
#login local
#exit
#username wolf privilege 15 password wolf //设置用户名权限是最高模式

在pc端安装sdm软件 sdm-v232版本


——————————

tunel vpn 但是不支持认证,好处是支持多种网络层协议

#int s0
#ip address 200.1.1.1 255.255.255.0
#no sh
#int lo0
#ip address 192.168.1.1 255.255.0
#no sh
#interface tunnel 1
#tunnel soutce 200.1.1.1
#tunnel destination 200.1.1.2
#tunnel mode gre ip //这条命令是指可以ipv6转ipv4,不打也可以默认就有
#ip address 172.16.1.1 255.255.255.0 //这个是给tunnel随便给一个ip地址,两端只要在同一网段就可以了
#exit
//#ip route 0.0.0.0 0.0.0.0 tunnel 1 //默认路由从tunnel1口出去, 如果配置了tunnel和ipsec就把这条命令去掉,在igp中宣告tunnel口,有了下面的eigrp就不用在写这条路由了

tunnel和ipsec做结合,支持认证,支持多种网络协议,不用数据连接激活
首先配置tunnel 然后在配置ipsec
#conf t
#access-list 100 permit gre host 200.1.1.1 host 200.1.1.2 //配置感兴趣流量本来是私网的,因为tunnel的缘故使用配置成公网的IP
#crypto isakmp policy 10
#authentication pre-share
#exit
#crypto isakmp key Wolf address 200.1.1.2 //crypto isakmp keepalive 10 3 是指每10秒发送数据包如果对方在3秒内没有给回应就在发送3次
#crypto ipsec transform-set SET esp-des esp-md5-hmac
#mode transport
#exit
# crypto map VPn 10 ipsec-isakmp
#set peer 200.1.1.2 //set peer 172.31.1.100 default 默认和这个站点建立
#match address 100 //set peer 172.32.1.200 如果第一个peer没有回应就和200这个站点建立
#set transform-set SET
#exit
#int s0
#crypto map VPN
#exit
#route eigrp 90 //配置eigrp是为了让通道自动保持通信,不要用流量去激活
#no auto-summary
#network 172.16.1.0 0.0.0.255 //宣告tunnel口
#network 192.168.1.0 0.0.0.255 //宣告自己的内部的IP

vpn做ha冗余架构
#int s0
#standby 1 preempt //抢占
#standby 1 ip 10.1.1.1 //虚拟出来的IP
#standby 1 priority 150
#standby 1 name VPNHA
#crypto map vpn 10 redundancy VPNHA stateful 这条命令就是sso 自切换sso ,要12.4以上版本才能支持,,是指在配用的路由器上把一些报文都复制下来,一旦active路由器down了配用路由器不用再去协商建立邻居关系了

reverse-route //这个命令的意思是反响路由注入 做ha的时候用的,在vpn路由器是active的时候会自动会生成一条静态路由,然后再内部的路由器上配置igp的时候重分布这条静态路由,这样就是自动选取路由了

————————————————————————

easy vpn 移动用户访问公司网络
1,在pc上装一个vpn的client端(Cisco systems vpn client)
2,在网管上配置

用sdm配置
#conf t
#int f0/0
#ip address 192.168.16.5 255.255.255.0 //配置外网口的地址
#no sh
#exit
#ip http sevure-server //开启https

 

 


——————————————————————————————


ip qos

qos部署
1,集成式部署,是指每个路由器配置都一样,
A,rsvp(资源预留协议)有 两种形式,独占式适合多个数据同时发送(是指明确知道原IP并且为期预留简写FF),共享式适用于多个原不是同时发送数据包(分两种se明确原为期预留和wf为所有原预留资源)
2,区分式部署,是指每个路由器可以去区分流量进行配置

 

rsvp集成式配置
#conf t
#int e0/0
#ip rsvp bandwidth //启用rsvp,启用后默认接口最大带宽的75%作为预留,在路由器两端都要做
#exit
#ip rsvp sender 210.210.210.60 210.210.210.30 upd 1040 0 210.210.210.30 e0/0 32 32
//210.210.210.60是目标端口IP,210.210.210.30是原端口ip, 1040目标端口号,0是原端口号(零代表任意端口号)
零后面210.210.210.30是上一跳接口ip, e0/0是指哪个接口过来原的数据,32是预留多少带宽 这条命令用在原主机连接的第一台路由器上,代替主机发送rsvp数据

#ip rsvp reservation 210.210.210.60 210.210.210.30 upd 1040 0 210.210.210.60 e0/0 ff load 32 32 //这条命令配置在目标主机连接的第一台路由器上,ff是指选用的独占式
在中间的路由器上只要启用rsvp就可以了


#show ip rsvp interface //查看那些接口启用了rsvp
#show ip rsvp installed //查看已经配置成功然后预留的多少带宽


区分服务:分为4个部分,
1,分类和标记:用过acl去分类, 网络打标记用优先级一共7种优先级0~4是普通的优先级可以手动给定,5是语音的优先级,6是管理路由的优先级如ospf等等,7一般不用和dscp两种方式打标记,,
二层打标记,cos是二层的标记,
pbr基于原做路由选路,而路由协议是基于目标做路由选路,pbr一定用在数据入接口上

用扩展traceroute可以跟踪流量是从哪里走的
pbr配置实例,基于原做路由选路
#conf t
#access-list 100 permit ip 5.5.5.0 0.0.0.255 2.2.2.0 0.0.0.255 //匹配感兴趣流
#access-list 109 permit ip 9.9.9.0 0.0.0.255 2.2.2.0 0.0.0.255
#route-map PBR
#match ip address 100 //调用acl
#set interface serial 1 //把这个流量往s1口出去 set ip pecedence 2在route-map设置优先级
#exit
#route-map PBR permit 20
#match ip address 109
#set ip next-hop 34.1.1.4
#exit
#int s0
#ip policy route-map PBR //在接口下调用route-map


cbm把流量做打标记,路由器的入和出端口都可以做
#conf t
#ip access-list extended TEL
#permit tcp any any eq telnet //抓感兴趣流
#exit
#ip access-list extended WWW
#permit tcp any any eq www
#exit
#class-map match-all TEL //match-all子条目必须所有匹配,match-any子条目中任意一条匹配
#mtch access-group name TEL //把感兴趣流做打标记
#class-map WW
#match access-group name WWw
#exit
#policy-map CBMARK
#class TEL
#set dscp af11
#exit
#class WWw
#set dscp af41
#exit
#class class-default //是指没有匹配到的流量优先级设为默认
#set dscp default
#exit
#int e0/0
#service-policy input CBMARK

#show policy-map interface //查看哪个端口调用了policy-map
————————————————————————
pbr和cbm是给流量打标记,nbar是给流量分类(就是抓取数据里面的文件如图片等等)
再Cisco官网上下载bt.pdlm用ftp导入到路由器的flash中,然后本地加载bt.pdlm(加载命令:ip nbar pdlm flash://bt.pdlm)这样就可以在match的时候就可以直接match pdlm中的类型了
#conf t
#class-map TL
#match protocol telnet //用pdlm就不用去匹配acl了直接可以匹配pdlm内置的感兴趣流
#exit
#policy-map CBMARK
#class TEL
#set dscp af11
#int e0/0
#service-policy input CBMARK
#ip nbar protocol-discovery //如果使用pdlm就要在接口打上这条命令

如果一个应用有多个端口号配置#ip nbar port-map http tcp 80 8080,这样调用http的时候http就匹配到两个端口了

#match protlcol http mime *.jpg|*.gif //是指匹配所有jpg和gif的文件,mime是匹配文件,url是匹配网址

2,整形和监管:可以限制中心站的和分支站的限速(速率不匹配),比如中心站点带宽高分支站的带宽小,当中心站点发送数据包时分支站点来不及接收(整形和监管就是解决这个问题)
整形就是超出的速率进行一个缓存,监管就是超出的速率drop或者打标记,做整形默认是再出方向,监管入方向和出方向都可以做
cir:承诺信息速率 单位是kbps
tc:承诺时间(默认承诺时间是125ms)
bc:承诺突发量 单位是字节 桶1
be:超出突发量 单位是字节 桶2

cir = bc/tc
shaping(整形),限制接口的传输带宽
1,通用流量整形(gts):在grs缓存中只能用wfq机制
#conf t
#int s0/0
#traffic-shape rate 64000 8000 8000 1000//限制接口速率为64k(就是cir),8000是bc一般配置是cir的8分之一,第二个8000是be和bc一样,1000是shaping缓存中包的个数

#traffic-shape grout ACL //可以对指定的流量限速,在这里调用acl

#show traffic-shape queue //可以查看缓存了多少个包,丢弃了多少个包

#conf t
#int s0/0
#en fram
#traffic-shape adaptive 32000 //设置自适应,如果收到比较慢的链路的回包自动降到cir的4分支3,32000是设置最低不能降到这个伐值(一般设置cir一半)

#traffic-shape fecn-adapt //这条命令配置在接受的路由器上,就是当发送的路由器发送的是upd包,接送放只有配置了这条命令才能够去回包

2,郑中基流量整形(frts)也只能在出方向
#conf t
#map-class frame-relay FRTS
#frame-relay traffic-rate 64000 //接口速率改为64000
#exit
#int s0/0
#frame-relay interface-dlci 104 //针对摸个dici做frts
#frame-relay class FRTS //在接口上调用frts
#frame-relay traffic-shaping

 

3,cb模型 shaping
#shape average 64000 在polic-map中设置

#show polic-map int

监管
1,承诺接入速率(acr)
#conf t
#int s0/0
#rate-limit output access-group 101 256000 2000 2000 conform-action transmit exceed-action drop //设置car出方向,cir是256000 bc是2000 be是2000,如果有空间就传输,没有空间就丢弃

2,cb模型 policing
#conf t
#policy-map cbpolice
#police 64000 confiorm-action exceed-action transmit violate-action drop //violate-action这个就是溢出的流量,而exceed-action这个是匹配桶2(be)

 

3,拥塞和避免:就是尾丢弃
red:是早期随机丢弃检测
wred:基于优先级丢弃 优先级低的丢弃
#conf t
#int s0/0
#random-detect //接口启用wred
#random-detect precedence 5 32 41 20 //针对优先级为5的,设置最小伐值为32,最大伐值为41,每20个包丢弃一个包
#
4,队列
A,分类,
B,加对,,先进先出(简写fif0)的队列在接口大于2.048mb(就是大于e1接口中使用),如果小于e1接口就使用wfq, 串口是1.544mb如果想把串口也改成先进先出用#no fair-queue
#hold-queue 400 in 改变队列的排队个数,队列个数是按照路由器的内存大小而定

pq:优先队列,队列优先级分为高,中,正常,低
#conf t
#priority-list 1 protocol ip high tcp telnet //区分流量并把Telnet流量定义为高,在protocol后改为interface就是为入接口定义优先级
#priority-list 1 protocol ip low list 100 //定义acl100的优先级为low
#access-list 100 permit icmp any any //
#int s0/1
#priority-group 1 //在接口上调用队列

#show queueing priority //查看接口上的pq

#debug priority

#priority-list 1 queue-limit 22 44 66 88 //配置队列高,中,正常,低的排队数量,这个只针对tcp,如果要针对upd和ip 命令:random-detece flow
~~~~~~~~~~
cq:用户队列,一共有0~16个队列,是轮循传递队列每个队列都传1500byt,0是系统队列不做配置
#conf t
#queue-list 1 protocol ip 2 tcp telnet //1只是一个名字, 2是指第二个队列
#queue-list 1 protocol ip 3 list 100 //调用acl
#access-list 100 permit icmp any any
#int s0/1
#custom-queue-list 1 //接口上调用

#queue-list 1 queue 2 byte-count 3000 //设置队列2传3000个字节然后在传第3个队列 默认轮循传递是1500

#queue-list 1 queue 2 limit 40 //设置排队的缓存为40个包

#queue-list 1 lowext-coustom 2 //是指从2队列开始到16是轮循的,而0和1队列是优先跑流量的
~~~~~~~~~~~~
wfq:基于不同的优先级做相应的动作,一共有256个队列,cdt是排队的下限 (就是一个包大于cdt如果这个包在最长队列就drop,如果不在最长对列就insert),hqo是排队的上限(如果一个包大于hqo
如果这个包在最长队列就drop,如果不在最长队列就insert但是drop最长队列的最后一个包)
调度优先级算法是,finish time = 真实的包大小 / (ip优先级+1) 算出来的值越小越优先
wfq配置
#conf t
#int s0/1
#fair-queue 66 512 5 //在接口下启用wfq,数字第一位定义cdt,二位是最大队列数,三位是为psvp保留的队列

#show queue fair
~~~~~~
llq就是pq加wfq,就是为语音流量设计的,语音流量是udp端口16384~32767范围
配置
#conf t
#int s0/1
#ip rtp priority 16384 16383 100 //这条命令就是专门为语音流量设置的,16384是设置最低的端口是,16383是16384+16383设置最高的端口号,rtp中100是预留的带宽
#fair-queue 66 512 5
~~~~~~~~
可用带宽 = 总带宽 * 0.75 - rtp预留的值
#int s0/0
#max-reserved-bandwidth 100 //可以调整最大带宽的利用率百分比,原来是0.75

cbwfq,一共有65个队列,手动可用分64个最后一个队列默认的流量都走这个队列
#conf t
#class-map VOIP
#match ip rtp priority 16384 16383 //抓取语音流量
#policy-map CBWFQ
#class VOIP
#priority precent 50 //把语音流量预留百分之50,语音流量现过
#exit
#class class-default
#bandwidth percent 30 //把其他流量都设置为百分之30
#exit
#int s0/0
#ip nbar protocol-discovery //启用nbar
#max-reserved-bandwidth 100 //可以调整最大带宽的利用率百分比,原来是0.75
#service-policy output CBWF1 //在出接口上调用,这里一定要在出接口上

#show protocol-map int //查看接口上所预留的带宽
C,调度

————————————————————————————————————————————

在交换机上做qos, 2950有4个q,也可以配置成1p3q,1p就是优先发送数据包的queue
//一下配置都在3560上
#conf t
#mls qos //启用QoS机制
#int f0/1
#priority-queue out //把第四个队列作为快速队列
#wrr-queue bandwidth 80 19 1 1 //针对4个queue带宽的比例 在2950上如果把第4个队列设置成快速队列只要在这条命令最后一个1改成0就可以了
#wrr-queue cos-map 4 5 6 7 //把优先级为5 6 7的放在第四个queue,默认queue的优先级分配是0 1在第一个queue,2 3在第二个queue依次类推

#show mls qos interface fastethernet 0/1 queueing //在交换机上查看queue的信息

#show wrr-queue cos-map #show wrr-queue bandwidth //在2950上和3560上的查看命令不一样,这个是在2950上

~~~~~~~~~~

压缩,
payload压缩,hdlc只支持stac,,而ppp支持多种压缩方式
#conf t //两边路由器都要配置
#int s0/0
#compress stac
头部压缩:分tcp和rtp头部压缩
#conf t
#int s0/0
#ip tcp header-compression

~~~~~~

qos预分类,用在vpn中使用,如果是gre/ipsea就是在crypto map中加qos
#int tunnel 0
#qos pre-classify

 

 

 

 


ccnp

静态路由 ip route 目标地址 出接口/下一跳
浮动静态路由;就是冗余路由 ip route 24.1.1.0 255.255.255.0 s1/0 34.1.1.1 10 //10是一个ad值当比这个ad小的路由断了就自动调用这条路由
负载均衡;ospf和rip只支持等价负载均衡,bgp和eigrp支持非等价负载均衡
————————————————————————————————————————————————————————————————————

rip:定期更新时间是30秒,失效时间180秒,在路由表清楚路由时间240秒
最大跳数15跳
水平分割:防止环路
#router rip
#network 10.0.0.0 //通告主类网络

_______________________________________________

dhcp
#conf t
#ip dhcp excluded-address 192.168.1.1 192.168.1.10 //预留地址
#ip dhcp pool WOLF
#network 192.168.1.0 /24 //定义池的ip范围
#default-router 192.168.1.1 //定义网管
#dns-server 202.96.12.68
#lease 1 //默认租期是1天 这条命令可以更改默认租期

#show ip dhcp binding

#int e0
#ip helper-address 192.168.2.4 //这条命令是指才client和dhcp中隔了有路由器,路由器是隔离广播域的,所以要把广播包变成单播包加上这条命令,ip是dhcp服务器的ip

 

____________________________
路由表中
1、比较AD 小的优 2、比较度量值 小的优,如果度量值一样就负载均衡
c是直连路由(管理距离是0)
s是静态路由 1
d是eigrp 90 是距离矢量和链路状态杂合协议,协议号是88
o是ospf 110
i是iss 115
r是rip 120

 

#show ip eigrp interfaces //查看那些接口被宣告进eigrp

#show ip eigrp neighbors //查看邻居表, 在里面address是指对方的地址,接口本地接口,hold时间是hello时间的3倍(hello时间是每5秒发送),uptime是指和邻居
连接了多长时间,srtt往返时间 单位是ms(毫秒) 如果往返时间比较大说明线路拥塞, rto重传超时 单位ms(毫秒) 默认重传16次

#show ip route //查看路由表,是存放最优的路由

#clear ip eigrp neighbors //清除邻居,让他重新建立

#show ip interface //可以看到接口的带宽和延迟, 延迟之和是路由流向的入接口相加
在控制层面
ad值越小越优
metric,不同的路由协议计算metric不一样,rip是计算跳数,eigrp是带宽和延迟

数据层面
1,先执行与操作, 目标用掩码和目标ip与
2,在执行掩码最长匹配


EIGRP (高级距离矢量路由协议) 组播地址是224.0.0.10 管理距离是90 (是做增量更新),,触发更新,
支持增量更新 支持等价负载均衡和不等价负载均衡 有5个度量值(带宽,最大传输单元,延迟,可靠性,mtu)
topology存放的是邻居所有学过来的路由, fd(可行性距离)就是本地到达目标网络的metric值,ad(通告距离)邻居到达目标网络的metric值

度量值计算:(10的7次方除以最小带宽(kb)加上延迟(微妙)之和除以10)再乘以256 show int f0/0这边命令可以查看端口下的带宽和延迟,
计算方式是路由流向的入接口累加

向eigrp注入默认路由,比如R1是网管自动为下面的路由器下方默认路由让他们指向自己
1,重分布静态
a,写默认路由
b,重分布到eigrp
#router eigrp 90
#no auto-summary //解决不连续子网
#network 13.1.1.1 0.0.0.255
#exit
#ip route 0.0.0.0 0.0.0.0 s0
#eixt
#router eigrp 90
#redistribute static //把静态路由重分布到eigrp这样就可以学到静态路由 重分布进来的管理距离是170

~~~~~~~
ip default-network //
#ip default-network 12.0.0.0 //这个ip是外网地址,而且是主类地址
#router eigrp 10
#network 12.0.0.0 //通告这个网段
#exit
#ip route 12.0.0.0 255.0.0.0 null 0 //手动写汇总路由


手动汇总在接口上做的,在边界路由的出接口上做
#int s1
#ip summary-address eigrp 90 199.9.8.0 255.255.252.0 //汇总掩码计算方式,就是找相同位,路由传播out方向


show ip eigrp interfaces //查看那些接口是在eigrp里面的

bgp和eigrp支持非等价负载均衡,eigrp默认支持4跳,最大支持6条
#route eigrp 90
#maximun-paths 6 //这个是等价负载均衡

不等价负载均衡公式,successor(就是到达目标网络度量值最小的)的FD乘以自定义的vlue值大于备用路劲的fd
#route eigrp 90
#variance 2 //这个就是设置vlue值和主的fd向乘的


show ip eigrp topology all-links //查看eigrp所有的top链路,,也可以看fd和ad的值,想要成为备选路由备选路由的ad要小于主路由的fd值
show ip route 2.2.2.0 255.255.255.0 //查看这条路由的明细,也可以查看这条路由非等价负载均衡明细

#int s0
#ip bandwidth-percent eigrp 90 200 //这条的命令意思是把eigrp的带宽利用率调整为百分之200,
一搬结合#bandwith 3 因为这个接口带宽设置太小了,所以让eigrp的利用率调大
#int s0
#daly 1000 //更改端口延迟

解决查询包的扩散范围,利用汇总中心站点连接分支站点的出口上做路由汇总,还有一种就是用stub 在末端路由器上做 不要在中心站点上做
eigrp stub特征配置 (stub是指在一个星形链路状态中主路由器到其他分支站点断了,随后让末端路由器不要再去做无谓的操作)
#eigrp stub connected /summary /ststic /receive-only只接受不发送任何路由 (connected指向邻居路由器传递直连链路的信息) (summary只会传递汇总路由 (static只有传递静态路由

 

2,eigrp协议号是88 tcp是6 udp是17

3,dual算法是为了防止路由环路 AD=下一台路由器到目标的距离 fd=自己+AD的距离(fd最小的就是最佳路劲) AD是不能大于fd的不然要环路的
而且备用路劲的选择是备用的AD不能大于主的FD,,sucessor就是到达目标网络metric最小的那台路由器

4,eigrp有5个度量值(带宽k1,延迟k3,可靠性k4,最大传输单元k2,mtu) 计算方法metric=bandwidth[(10的7次方除以最小带宽乘以256)+(延迟之和除以10)]乘以256

5、#show ip eigrp neighbors 查看对方的ip,自己那个接口连的,hello包每五秒发送一次
6、#show ip protocols 里面可以看到k值 还有最大路劲16条

8、router#metric weights 0 (1 0 1 0 0) 第一个零是协议号不动 后面五位是K值
有5个度量值(带宽,延迟,可靠性,最大传输单元,mtu)如果改了K值每天路由器的eigrp的K值都要改成一样的
9、#show ip eigrp int

10、passive int (被动接口):是指只接受数据包不发送数据包, 在换回口上做
#router eigrp 110
#passive-interface default
#no passive-interface s0/1 这两条命令的意思是默认所有端口都是被动接口,只有s0/1口不开启被动接口
#newtwork 192.168.6.1 0.0.0.255


11、自动汇总工作在不同主网络的边界路由器上
12、水平分割是指:数据包在一个接口进不能再同一个接口出,在广域网上(frame relay)一定要在中心路由器端口上关闭水平分割 int#no ip split-horizon rigrp 110
13、#no auto-summary 关闭自动汇总 在端口下配置汇总路由int#ip summary-address eigrp 110 172.16.0.0 255.255.0.0
Frame Relay 不做广播 帧中继有两种映射方式(static mapping 和 dynamic mapping) top结构有三种 1,全互连 2,部分互连 3,星形
dlci号是域本地连接标示符 标明虚电路的走向
静态映射 if#frame-relay map ip 192.168.103 103 broadcast (对方的ip地址 , 103为本地的dlci号码) 如下面配置eigrp一定要加broadcast
关闭反向arp if#no frame-relay inarp eigrp 110 清空映射关系#clear frame-relay
frame relay有两种接口类型 1,多的子接口 2,点对点子接口
多点子接口配置
#int s0/0
i#encapsulation frame-relay
i#no frame-relay inarp eigrp 110 (关闭反向arp)
#int s0/0.1 multipoint
i#ip add 192.168.1.1 255.255.255.0
i#no ip split-horizon eigrp 110 (关闭水平分割)
i#frame-relay map ip 192.168.1.102 102 broadcast

eigrp本身是组播的形式发送数据包的,可以用 #neighbor 192.168.1.102 s0/0 改成单播的形式s0/0是那个出站接口发送hello包
在广域网中eigrp默认占用带宽上限为实际带宽的50%
在广域网中多点子接口的算法是;中心站点总带宽除以有多少个分支站点然后再除以2

eigrp认证机制;只支持MD5认证
#conf t
#key chain name (创建key的钥匙链名字为name)
#key 1
#key-string 123 (在钥匙链下面创建多个钥匙,为k1和k2 key-sting给钥匙加密为123 两边的key密码要一一对应)
#accept-lifetime
#send-lifetime (accept和send可以定义认证接受和发送的时间 两边的接受和发送也要一一对应)
#exit
#key 2
#key-string 321
#int s0
i#ip atuthentication key-chain eigrp 110 name (那配置好的key-chain挂到接口上 这里的name是钥匙链的名字)
i#ip authentication mode eigrp 110 md5 (开启eigrp认证为MD5)

#show key chain
#debug eigrp packet

 


偏移列表是指在入路由器和出路由器对度量值做增加来做路劲的选择。
#access-list 21 permit host 5.5.5.5 //acl抓取这条路由
#router eigrp 90
#offest-list 21 in 2 s0/0 (这里的2是指增加度量值的数值) (只有rip 和eigrp支持offset-list协议)

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
集成is-is,是用osi模型,在网络层,是链路状态,所有起iss路由器默认这台路由器是level1-2, iss的骨干区域是所有连续level1-2和level2组成的区域(连续的意思是中间不能出现level1的路由器)
l1是在一个区域内返回,l2是在一个骨干上泛洪,

iss有两种计算metric的方式,1:是narrow metric默认路由器上的所有metric都是10,更改metric的方位在0到63, 2:是wide metric这个也是根据带宽来改metric的

 


_____________________________________________


ospf
配置ospf一定要注意开机顺序,这样才能正确的选择dr和bdr
ospf分支区域一定要和主干区域连接 ospf是通过lsdb找到最优路劲的 (管理距离是110) 组播地址是224.0.0.5(是dr和其他路由器传播) 224.0.0.6(是dr和bdr之间传播) 协议号是89
如配置ospf常规区域必须连接主干区域
ABR:区域边界路由器
ASbR:自制系统边界路由器,如同一台路由器一个接口是ospf 另一个接口eigrp
opsf链路cost计算是10的8次方除以接口带宽

opsf有五个包;hello包是用来发现和维护邻居关系、 database description包是用来发现邻居之间数据是否同步、 link-state request包请求获取lsa的通告
link-state update包是用来发送给对方lsa通告信息 、 link-state acknowledgment包是确认已近收到了lsa通告。

ospf建邻居的四个必要条件,1、hello时间(有两种10s和30s)和死亡时间是hello时间的4倍,2、area ID要一致,3、认证密码要一致,4、stub标示要一致

ospf标记 o标示opsf区域内路由, OIA区域之间的路由,oE1外部自制系统的路由可以叠加cost, OE2外部自制系统的路由不可以叠加cost
限制las存储最大值的数量,(防止lsa过大导致机器死机)#max-lsa 12000 在ospf进程中配置,这条命令在12.4以上版本才有


ospf只有在两种类型的路由器做汇总,1、区域边界路由去(abr),2、自制系统边界路由器asbr
abr#area 1 range 172.168.0 255.255.248 这里的area 1是原来本身的区域

在ospf中常规区域一定要连主干区域,但是如果没有连接主干区域可以用虚电路解决,要在两台abr上操作,
0#area 1 virtual-link 10.2.2.2 (配置虚电路,两端都要做)这里的area 1是虚电路所跨越的区域 ,10.2.2.2是对端的router-id

在ospf中收到环回口的掩码都是32位的不管你配置多少位的掩码,如果要还原
#int loopback 0
#ip ospf network point-to-point 还原真实的掩码

#int s0/0
#ip ospf hello-interval 6 //修改hello时间,要两边一致


#show ip opsf int //查看那些接口宣告进ospf和cost值


#router-id 123 是指给ospf路由器标示名字
#clear ip ospf prcess 重启ospf进程

更改接口开销值 if#ip ospf cost 12 这条命令可以更改opsf路径走向。

ospf的DR和BDR的选举;DR是接口上优先级最高的那个,如果优先级无法选举通过root-id 接口优先级更改i#ip ospf priority 123
1,当一台路由器已经是dr,就算其他路由器优先级高也不会被选举为dr除非进程重置ospf #clear ip ospf prcess
2,当dr断了bdr自动升级为dr,然后在选举bdr
3,DR/BDR/DROTHER是接口概念
4,不同网段分别选自己的dr和bdr

NBMA网络是非广播多路访问;一定要手动指定邻居用neighbor
把接口改成NBMA接口 i#ip ospf network non-broadcast
opsf常用的网络类型;(点到多点)不用选举dr和bdr 更改点到多点类型的命令 i#ip ospf network point-to-multipoint

lsa类型 net-lsa2是看链路的框架,router-lsa1是看详细信息,summary-lsa3可以找到边界路由器
1,router-lsa里面的内容是链路的列表(就是邻居列表),直连路由的ip和本接口的ip,不穿越区域边界路由器
#show ip ospf database router (link-id) 里面显示的是邻居路由器的id和本地那个端口连接的,每台运行ospf路由器都会产生router-lsa
2,network-lsa只能在本区域传递不穿越区域边界路由器,是由一个网络多路访问的dr产生的,内容是本ma网络有多少台运行ospf的路由,和ma网络的子网掩码。
3,summary-lsa描述跨abr查看另一个区域内部的路由信息,是由ABR产生的
4,summary asb-lsa辅助找到lsa5发送的信息,就是告诉其他区域的路由器找到asbr在哪里
5,external-lsa(外部lsa)是由ASBR(自制系统边界路由器)产生,可以穿越网络中的任何一台边界路由器告知自己的信息


#show ip ospf database //里面不同的lsa linkid 和adv router是不一样的
linkid ADV Router
lsa1 router id router id
lsa2 dr的IP DR的routerID
lsa3 是域间路由 ABR的routerID
lsa4 ASBR的routerid ABR的routerID
lsa5 是域外的路由 ASBR的routerid


ospf常规区域中有3个特殊区域
1,stub area 可以拒绝接受lsa5 但是会自动产生一条默认路由给abr来访问外部路由,#area 2 stub(把area配置成stub区域)在区域中的所有路由器上配置
如果有两台abr的话 abr#area 2 stub #area 2 default-cost 10 (配置stub默认路由的开销值) 要成为完全末梢网络abr#area 2 stub no-summary。
在topy结构中只有连接一个asbr就用stub
2,nssa次stub区域,不让lsa5进入,但可以让直连的外部路由lsa7进入(就是过滤远端的5类路由)如果想访问远端的就要在nssa中配置一条默认路由,在topy结构中两边都连接asbr就用nssas,
abr#area 256 nssa no-summary (把lsa3,4,5都过滤掉了) area 2 nssa no-redistribution default-information originate //是指过滤7类路由 下方7类默认路由
在ospf的asbr配置默认路由像内部路由分发 asbr#default-information originate always
如果有两台边界路由去像内分发默认路由, asbr#default-information originate metric 100 可以设置优先级让他选择路径

特殊区域 作用 是否下方默认路由
stub区域 过滤lsa4/5 是lsa3 cost值等于1 0#area 1 defaule-cost 5 如果有两个边界路由器用这条命令进行选路 0#area 1 stub 把这个区域改成末节区域,在这区域上的路由器都要配置这条命令
totally stub 过滤lsa3/4/5 是lsa3 cost值等于1 在abr路由器上配置area 1 stub no-summary 过滤3类
nssa 过滤lsa4/5 否 需要自己配置命令 在nssa区域中都要配置area 1 nssa, 在nssa区域中abr路由器上配置下放默认路由因为过滤了5类 area 1 nssa default-information-originate
totally nssa 过滤lsa3/4/5 是lsa3 在abr路由器上配置area 1 nssa no-summary 过滤3类

#conf t
#router osper 110
#redistribute rip subnets metric-type 1 //把rip重分布ospf,默认是type2,type2不累加cost值(都是固定值20),如果要累加cost值设置为type1,接口的开销是64,
以太口是10


解决不规则链路(就是分支没有连接主干网络)
1,路由重分布
2,建立tunnel 链路,,就是间接的去连接主干区域
conf t
int tunnel 1
tunnel source 13.1.1.1 这里的原和目标的ip是物理的真实ip,,在两端互指原和目标IP
tunnel destination 13.1.1.3
ip address 172.16.1.1 255.255.255.0 这里的ip是自定义的ip
exit
router os 110
network 172.16.1.0 0.0.0.255 are 0 把自定义的ip通告到主干区域里面
3,配置虚拟电路
router os 110
area 2 virtual-link 3.3.3.3 //area 2是要穿越的区域,3.3.3.3是对方的route id


ospf认证
密钥 声明
link:链路认证 接口 接口
area:区域认证 接口 在ospf进程中
v-l:虚电路认证 在ospf进程中 在ospf进程中

link 链路明文认证配置
#conf t
#int s1
if#ip ospf authentication-key 123 (创建key,保证相连的路由器上key是相同的)
if#ip ospf authentication (开启认证) 或在区域下开启认证#area 0 authentication (area 0下区域所有接口都开启认证)

link 链路密文认证
if#ip ospf message-digest-key 1 md5 123(创建key) 1为key的id号两边必须一样,
if#ip ospf authentcation message-digest(在接口下开启认证) 或#area 0 authentication message-digest (area 0下区域所有接口都开启认证)

area:明文区域认证
#int s1
#ip ospf authentication-key 123
#router ospf 110
#area 1 authentication

v-l:虚电路明文认证
#route opsf 110
#area 2 virtual-link 3.3.3.3 authentication-key 123 //起密钥 #area 2 virtual-link 3.3.3.3 message-digest-key 1md5 123 //起密文认证
#area 2 virtual-link 3.3.3.3 authentication //声明 #area 2 virtual-link 3.3.3.3 authentication message-digest //密文声明

#debug ip ospf events (查看是否认证成功)


1、ospf只支持等价负载均衡:默认支持4条, show ip protocols查看负载均衡的数量,最大支持6条,
#route ospf 110
#macmum-paths 6 更改负载均衡的数量

2、ospf被动端口不接收和发送数据,而eigrp是接收数据但不发送数据。o#passive-interface e0/0


————————————————————————————————————————

网络类型 默认接口 特点
1、loopback: 环回口 掩码都是32位
2、point-to-point:点到点, 串口/isdn/郑中基点到点子接口 组播发hello包,没有dr
3、broadcast:广播, 以太口 组播更新/有dr
4、nbma: 郑中基物理接口/郑中基多点子接口 单播更新/有dr,,,所以就要在osfp进程中用neighbor去指定发送更新包
5、p2mp:点到多点 组播更新/无dr/会产生一条到达对方接口32位直连路由
6、p2mp nbma 单播/无dr/会产生一条到达对方接口32位直连路由

if#ip ospf hello-interval 30 更改hello时间为30秒


frame-relay:郑中基
1、二层协议
2、dlci号 本地有意义
3、pvc通道用dlci号去标示
4、tcp协议连接
5、lmi(Cisco/ansi/q933a)有3中状态active(代表本地和远端的线路正常)、inactive(本地正常 远端出问题了)、delete(本地出问题了,远端不知道),是一种链路状态
6、map映射,
自动map(dynamic)
手动map(static)

将路由器模拟成郑中基交换机
1,所有串口封装成郑中基,dce配置时钟
2,r2模拟成郑中基交换机
3,在接口下指定lmi的类型
4,在接口下配置郑中基交换机的dce
5,在接口下配置构建pvc
r1#conf t
#int s0
#encapsulation frame-relay
#no shutdown

运营商的配置
r2#int s0
#clock rate 100000
#encapsulation frame-relay
#no shutdown
#exit
#frame-relay switching //r2模拟成郑中基交换机
#int s0
#frame-relay lmi-type cisco //在接口下指定lmi的类型
#frame-relay intf-type dce //在接口下配置郑中基交换机的dce
#frame-relay route 104 interface s1 401 //在接口下配置构建pvc,104是input-dlci号,interface s1是从哪个端口出去的,401是output-dlci号
#frame-relay route 105 interface tunnel 2 100 //100是自定义的tennel-dlci号 只要不和实际的dlci重复就可以了
#exit
#interface tunnel 2
#tunnel source 23.1.1.2
#tunnel destination 23.1.1.3

#show frame-relay pvc 查看lmi的链路状态
#show frame-relay map 查看pvc的映射关系

客户端手动映射
#int s1
#frame-relay map ip 145.1.1.5 401 broadcast //手动映射 145.1.1.5对方接口ip 401是本地出去的dlci号

在郑中基中运行ospf
nbma: 手动neighbor,手动dr(ip ospf priorty 2),手动map
broadcast: 自动neighbor,手动dr,手动map
p2mp nbma: 手动neighbor,无dr,不用map 更改网络类型命令#ip ospf network point-to-multipoint non-broadcast
p2mp 全自动

 

 

路由重分布(是指其他路由协议注入到不同的路由协议里面使他们能互相通信)(重分发路由协议只有发送自己路由表里面的内容)
每一个路由协议都有一个(种子度量值),每种路由协议的度量值定义方法是不同的。
种子度量值的默认值 ospf=20 bgp=1 is-is=10 rip和eigrp度量值是无穷大。

在路由协议模式下#router rip
#redistribute ospf 1 metric 4 (这里是opsf注入到rip里面) (这里的metric是种子度量值)
#redistribute connected metric 3 (将直连链路重分布进路由协议) 如果加static是将静态路由重分布。

#router ospf
#redistribute eigrp 100 metric 100 subnets (如不加subnets,重分布进来的都是主网络号) (只有注入ospf才要加subnets)
如果注入eigrp的话metric ,5个度量值一定要写,但是只有前2个是进入度量值计算的,后3个随便写,前2个度量值是带宽和延迟。
*重分发路由协议一定要注意管理距离的问题,不然会导致路劲选择的错误和环路。最主要是rip和ospf之间的重分布。

路由器的管理距离
1,直连接口=0
2,静态路由=1
3,eigrp汇总路由=5
4,eigrp=90
5,ospf=110 6,ripv1\v2=120 7,外部eigrp=170 8,bgp=200 9,is-is=115 10,外部bgp=20

更改ospf的管理距离
#distance ospf external 100 inter-area 100 intra-atea 100 (intra是区域内的路由,inter区域间的路由,external外部路由)

#distance eigrp 90 170(90是内部路由,170是外部路由)

管理距离是本地有效的不会影响其他路由器。
如果想描述单个ip的管理距离,#distance 100 192.168.1.1 0.0.0.0 (这里的ip地址是原的ip地址)
而在ospf中原地址必须是routerid #distance 100 3.3.3.3 0.0.0.0 3 (3是访问控制列表的号码) (这里的3.3.3.3不一定是邻居路由器发出来的,而是所发送的routerid
ospf是链路状况协议,所以distribute只有入方向没有出方向, 2,distance对本地有效。

过滤路由信息(distribute(分发))
1,通过access list或route map 2,然后把列表捆绑在进站或出站的接口上
在rip上面做过滤#distribute-list 2 out serial 0/1 (用access-list2在出站接口s0/1的出站接口上做过滤)

前缀列表是用来匹配路由列表的 比access-list的优势就是能精确的匹配子网号。
#ip prefix-list shixiaomin deny 192.168.0.0/16 ge 20 (ge是大于等于,le是小于等于,)192.168.0.0/16下的子网,子网掩码需要大于等于20
#ip prefix-list shixiaomin permit 0.0.0.0/0 le 32 (允许所有路由条目)
#router rip
r#distribute-list prefix shixiaomin in s0/1

router map有3个地方使用,1重分部,2策略路由,3,bug中使用
#router-map shi permit 10 (如果不写match就是等于匹配所有语句)
如果prefix和router-map做嵌套,那么prefix都是premit

#ip prefix-list shixiaomin primet 192.168.0.0/16
#router-map shi deny 10
#match ip address prefix-list shixiaomin
#set metric 50
#router-map 123 premet 20000
#exit
#router ospf
#redistribute rip subnets router-map shi
注意router-map是用在重分发的时候

_______________________________________________________________________________________
is-is是0si模型三层

 

————————————————————————————————————————————————————————————————————————————————————
重分布就是让两种不同的协议互相学习到路由。
重分布,,,如果是双点双向重分布就要改管理距离了(eigrp和ospf做重复布没有双点重分布的问题而rip和ospf是有的), distance 121 1.1.1.1 0.0.0.0 //这里的1.1.1.1是对端冗余的那台路由器的router-id,
(r1通告过来的路由管理距离都改成121)

任何协议重分布到rip默认的metric是无限大(就是要手动指定)
任何协议重分布到eigrp默认的metric是无限大(就是要手动指定)
任何协议重分布到ospf默认的metric是20 #redistribute rip subnets 将任何协议重分布到ospf都要加上subnets
任何协议重分布到is-is默认的metric是0
任何协议重分布到bgp默认的metric是igp自身所携带的值

将is-is重分布到任何协议,is-is的直连路由不会重分布进去,,计算metric是路由流向的入接口相加。
#route rip
#ver 2
#no auto
#redistribute connected //是指把本地所有直连接口都引入到rip中

再重分布的时候只允许指定的路由重分布进来,只允许4.4.4.4重分布到eigrp
#access-list 4 permit 4.4.4.4 //acl指定那条路由重分布进来
#router eigrp 90
#redistribute ospf 110 metric 1500 100 255 1 1500
#distribute-list 4 out ospf 110 //只允许4.4.4.4重分布到eigrp

~~~~~
prefis-list 前缀列表,抓取路由,还可以控制掩码
#ip preffix-list 1 permit 2.2.2.0/24 le 32 //抓取小于32到24为之间的

#ip prefix-list 1 permit 0.0.0.0/0 le 32 //这条语句就是permit any

~~~~
route maps 在重分布,bgp,qos中使用
#access-list 3 permit 3.3.3.0
#perfix-list 8 permit 8.8.8.8/24 //用acl和perfix抓取路由
#route-msp R permit 10
#match ip address 3 //匹配acl
#set metric-type type-1 //把类型设置为e1
#exit
#route-map R permit 20
#match ip address prefix-list 8
#set metic 10
#exit
#router-map R permit 30 //在最后加一个空的route map是为了放行其他的路由,如果不加就会把deny所有
#router ospf 110
#redistribute rip subnets route-map R //调用router-map在重分布中

 

 

————————————————————————————————————————————————————————————————————————————————

ipsla(可以主动的检查端口到端口的联络状态检测)配置在默认路由和静态路由上面的
#ip sla monitor 22
type echo protocol ipicmpecho 11.1.1.1 source-interface f0/1 frequency 10 (在f0/1去ping 11.1.1.1 每10秒做一次)
ip sla monitor schedule 22 life forever start-time now (定义ipsla的工作时间)
#track 2 ip sla 22 reachability (跟踪ipsla22的可达性)
r#ip router 0.0.0.0 0.0.0.0 11.1.1.1 track 2 (tack 2 是指上面的跟踪信息,如果是up的是可达的。)

pbr策略路由(只在本地生效) 可以对源地址做策略 ( 策略路由router-map没有deny语句)
#router-map shi premit 10
#match ip add 10 (这里的10是acl)
#set ip next-hop 6.6.6.6 (下一条是6.6.6.6)

#int f0/0 (这端口是内部路由器到边界路由器上的总接口)
if#ip policy router-map 10

 

______________________________________________________________

bgp是内部路由和外部路由的双向通信 可以传递自制系统(as)
bgp是tcp数据包端口号是179
如果两台路由器在不同的自制系统,并且是直连的就是ebgp (管理距离是20) as相同就是 就是运营商相同 比如都是电信的
如果两台路由器在相同的自制系统就是ibgp(管理距离是200)

as号分共有和私有之分
0-64511为共有的, 共有的要去申请
64512-65535是私有的,私有的只能在本地用

在bgp中有3个报文
open包是建立邻居关系
keepalive包周期检查邻居的存活
还有一个就是错误报文

解决bgp路由黑洞,路由黑洞是指路由条目能互相通信但是数据却不能通信
用bgp全互联或mpls解决bgp路由黑洞

ebgp防止环路;通过as号,相同的as号不能转发给自己
ibgp防止环路;从ibgp学到的路由不会再发送到其他ibgp中

一台路由器启用了ospf和bgp,route-id要保持一致

ibgp中igp最好用换回口做路由条目

show ip bgp summary //查看bgpd连接那些邻居
show ip bgp //查看装发表
show ip route bgp //查看路由表

配置ebgp最冗余,要用环回口去做
#router bgp 65010 //65010本地的as号
#bgp router-id 4.4.4.4
r#neighbor 1.1.1.1 remote-as 65020 (1.1.1.1是邻居的单播换回地址地址) remote-as(对方的自制系统号码)
r#network 3.0.0.1 mask 255.255.255.255 (这里network是指把igp装入bgp中发往外部路由,network通告路由,
只要在show ip route中的本地路由都能通告出去,要精确匹配路由表里面的路由包括掩码) igp是内部网络路由协议如ospf,eigrp,rip,这条命令只要在as的边界路由器上配置
#neighbor 1.1.1.1 update-source lookpback //指定自己的源端口,这条命令是在用到换回口时用,如果是真实的物理接口就不要指定自己的原端口
#neighbor ebgp-multihop 2 //改ttl值就是跳数,默认是1,因为用的是换回口,如果是1跳到不了换回口。
#exit
#ip router 1.1.1.1 255.255.255.255 192.168.1.18
#ip router 1.1.1.1 255.255.255.255 192.168.1.19 //配置默认路由,是为做冗余,同一个目标地址两条链路都可以到


如果iBGP做冗余的话,目标地址是环回地址,
#router bgp 55033
#no syn (关闭同步是为了让不优的路由其他路由也能学习到,如果不关闭同步只能学习到最优的路由,只有ibgp中有这个规则ebgp不用关闭同步)
#neighbor 10.5.5.5 next-hop-self (这条命令是为了解决在ibgp中所有路由的下一条都指向的是另一个as边缘路由器的接口,因此在ibgp中就会判断错误,导致不优的路由无法发送给ibgp中的另一台路由器,
所以要指定下一跳的接口,这条命令在ibgp的两台边缘路由器上做,因此在同一个as中最少有3台路由器才会出现这条命令)
#neighbor peer-group-name peer-group (这条命令是在ibgp的边缘路由器里面的路由器上做,peer-group-name是自定义的组的名字,这条命令是为了减少重复的代码出现,在这条命令下的命令就可以调用如
neighbor peer-group-name remote-as 1 ,然后调用这个模板,route bgp 1 neighbor 2.2.2.2 peer-group peer-group-name)
r#neighbor 10.5.5.5 remote-as 450 (建立对等体bgp)
r#neighbor 10.5.5.5 update-source loopback 0 (10.5.5.5是对方的换回接口,loopback0是自己的源端口,源端口一定要加source,这里10.5.5.5是一个换回口,如果不加这个命令命令的原会从实际接口中发送,这样发送回错误
这条命令只有用换回口的时候去建立邻居才会用。用实际物理接口建邻居不用写这个命令
在路由器中默认接受数据流是使用串口接受的,而在neighbor中指定的是换回口接受数据流的,所以指定要用换回端口去接受数据。不然接受数据会错误,在ibgp中使用,如果在ebgp指对方的接口是换回口还要加上默认路由,
这样在一条链路down了以后另一条链路可以通信)

r#neighbor 10.5.5.5 ebgp-multiphop 2 (因为做了换回扣接受路由所以到达物理接口是一跳在到达换回口又是一跳所以要2跳因此multiphop改为2 多跳设定只有ebgp才有,ibgp默认是多跳的)
#ip route 10.5.5.5 255.255.255.255 192.168.1.18
#ip route 10.5.5.5 255.255.255.255 192.168.1.34

icmp重定向;是指当一个接口接收到数据但是没有做任何处理又从这个接口出去就是重定向,在bgp中如果发生这种情况路由器会发送给对端路由器让对端路由器改变自己的网关

#debug ip bgp updates 查看bgp的更新报文
#clear ip bgp * soft 清理bgp的邻居表,但是不断开连接

bgp排错,如果看见idle说明igp的路由没有通
如果出现active有4种出差可能性,邻居没有我本路由器的路由表,邻居地址配置错误,邻居没有和我建邻居,邻居as号配置错误
show ip bgp neighbor 12.1.1.1 advertised-routes 查看向邻居发送了那些路由
show ip bgp neighbor 12.1.1.2 received-routes 查看本台路由器收到了那些bgp路由
neighbor 12.1.1.2 soft-reconfiguration inbound 只有在在bgp中开启soft-reconfiguration inbounds,才能查看到

 

bgp汇总,
在bgp中自动汇总是在重分布的时候产生的,自动汇总不携带下一条和度量值,如果关闭就携带这些参数
1,手工写静态路由下一跳指向null0口,然后再network到bgp中,,如果想不重分布bgp中做汇总那么写一条汇总的静态路由
#ip route 200.1.16.0 255.255.252.0 null 0 写一条静态的路由下一跳是null0(做一个欺骗)口,这是为了把这条路由放到路由表里面,这样bgp(只能通告路由表里面的路由)中的network才能通告出来
#route bgp 1
#network 200.1.16.0 mask 255.255.252.0 把汇总路由放进bgp
2,在bgp中network全部通告出来,然后再做聚合
r2#route bgp 2
r2#network 200.1.16.0
r2#neteork 200.1.17.0
r2#aggregate-address 200.1.16.0 255.255.252.0 summary-only as-set summary-only只传聚合路由,不加明细路由和聚合路由都会传给邻居,
as-set把明细路由的属性添加到聚合路由上去,这样汇聚路由就也有as号了,就可以拥有水平分割了,as-set用在汇聚对方发送过来的路由,本地汇聚不用加summary-only
r2#aggregate-address 200.1.16.0 255.255.252.0 suppress-map sup 允许那些条目发送给对端邻居,sup是rout-map的名字

r2#ip prefix-list 1 premit 200.1.16.0/23 ge 24 le 24 这两条命令可以精确的匹配ip为200.1.16.0/24 200.1.17.0/24
r2#route-map sup
r2#mutch ip address prefix-list 1


bgp属性
必须遵守的属性
as path
next-hop
origin

show ip bgp 中最后i是在这条路由是通告进来的, ?问号重分发进来的igp路由,

 


bgp最佳路劲选举
1,比最大的weight值, 设置这个weight值只在本台路由器有效,默认值有两个值如果是在本台路由器通告的weight是32768如果不是默认值是0,越大越好,这个是cisco私有的
2,比最大的本地优先级,,传播范围的在同一个as中只能在ibgp中使用,默认值是100,越大越优,(更改weight在本台路由器上做,而localpreference是在对端路由器上做去改变自己的选路,
as-path是用于ebgp选路是在边界路由器上做如E5路由器)
3,优选起源于的本地的
4,经过的as号越短越好
5,手动更改origin code(打i的优于e的优于打?问号的
6,比最小的度量,, 默认值是0 ,值越小越好,,localpreference是告诉我的ibgp如何离开我的as,而最小度量值med是告诉我的ebgp邻居如何进入我的as
7,ebgp优于ibgp
8,优选最近的igp邻居 这个是比igp的costest值,越小越好
9,第9个用不到
10,如果上面都一样比最小的router-id
例子
weight例子
#route bgp 1
#neighbor 1.1.1.1 weight 1 这条命令的意思是只要在邻居1.1.1.1这台路由器发过来的路由weight值都改为1 这条命令默认是in方向 权重是一种cisco专有的属性,只用于当前路由器
这条命令的意思就是1.1.1.1weight高,所以本台路由器的下一条是1.1.1.1优先走
例子2
更改指定ip的weight值,在内部路由器上做
#ip prefix-list 2 premit 2.2.2.0/24
#route-map w
#match ip address prefix-list 2
#set weight 3
#exit
#route-map w premit 20 这是写一条空的route-map是为了放行其他路由,
#exit
#route bgp 1
#neighbor 1.1.1.1 route-map w in 只要1.1.1.1发过来的路由weight值都改成3,以后因weight值大以后2.2.2.2就走1.1.1.1这条路由

例子,比最大的本地优先级,在边界路由器上做
r1#route bgp 1
r1#bgp default local-preference 111 这个命令是指在r1上发送给邻居的ip优先级都给位111
例子2
r1#access-list 2 permit 2.2.2.0
r1#router-map l
r1#match ip address 2
r1#set local-preference 111
r1#exit
r1#route bgp 1
r1#neighbor 3.3.3.3 route-map l out
这条命令的意思是告诉对端邻居3.3.3.3出方向选择走配置命令的这条路由器

as号选举,在ebgp路由选举,in方向也可以做,as分in方向和out方向
都是用route-map,只是set有所变化
set as-path prepend 2 2 2
r2#route bgp 1
r2#neighbor 24.4.4.4 route-map z out

例子
比最小的度量,本地控制对端,在ebgp中使用,这个例子的意思是去往1的链路走,回来从另一条链路走
set metric 10
r1#route bgp 1
r1#neighbor 12.1.1.2 route-map med out


解决ibgp水平分割,让他能手动去管理分割,因为在ibgp中一台路由收到ebgp中的路由是不能再转发给下一台路由器的因为水平分割的缘故
1,路由反射器,只针对ibgp,用cs模型就是一个作为服务器,其他的路由器作为客户端,rr是指服务路由器
a,rr从ebgp收到的路由会发送给非客户端和客户端路由器
b,rr从client收到的路由发送给非客户端和客户端路由器和ebgp
c,rr从非客户端收到的路由只会发送给ebgp和客户端路由器,不会发送给其他非客户端路由器
命令就是在rr上面做
#route bgp 1
#neighbor 1.1.1.1 route-reflector-client 指定谁是我的客户端
#neighbor 4.4.4.4 route-reflector-client

2,设置联邦改变水平分割
a,在ibgp中改变router bgp 小as号(私有as号),就是把一个ibgp的as划分成几个小的as号,小as号之间如果用换回口做通信要加ebgp-multihop
b,声明所在的大as号
c,小as号之间互相指定peer
例子
r1#route bgp 64512
r1#route-id 1.1.1.1
r1#neighbor 12.1.1.2 remote-as 2
r1#neighbor 3.3.3.3 remote-as 64512
r1#neighbor 3.3.3.3 up lo0
r1#bgp confederation identifier 1 声明大as号
r3#route bgp 64512
r3#route-id 3.3.3.3
r3#netghbor 1.1.1 remote-as 64512
r3#neighbor 1.1.1.1 up lo0
r3#neighbor 4.4.4.4 remote-as 64513
r3#neighbor 4.4.4.4 ebgp-multihop
r3#bgp confederation identifier 1
r3#bgp confederation peers 64513 小as号之间互相指定peer
r4#route bgp 64513
r4#route-id 4.4.4.4
r4#neighbor 3.3.3.3 remote-as 64512
r4#neighbor 3.3.3.3 up lo0
r4#neighbor 3.3.3.3 ebgp-multihop
r4#bgp confederation identifier 1
r4#bgp confederation peers 64512

 

 

社团属性
可选的是指路由器有可能不识别此属性,用neighbor x.x.x.x send-community去识别可选的社团属性,社团属性传递性只有在邻居有效
r2#route-map com
r2#set community no-advertise
r2#exit
r2#neighbor 12.1.1.1 route-map com out
r2#neighbor 12.1.1.1 send-community
解释
no-advertise:携带此属性的路由不会通知给任何bgp邻居
no-export:携带此属性的路由不会传出大as 在联邦中使用
local-as:携带此属性的路由不会传出小as 在联邦中使用

 

bgp的认证只支持md5
r#neighbor 10.1.1.2 password shixiaomin (建立bgp的密码,两边都一致)

如何暂时关闭bgp
r#neighbor 10.5.5.5 shutdown (10.5.5.5是对方路由器的ip地址) 如果要打开bgp的话前面加个no就可以了

在bgp中下一跳是指下一个自制系统(as)
r#neighbor 1.0.0.4 next-hop-self (1.0.0.4想要连到自己的那台路由器的ip地址,next-hop-self指定自己为下一条路由器)

为了防止环路,ibgp发出来的消息不能发送给另外一个ibgp ebgp是通过as列表防止环路的

如果出现,idle说明igp或链路出现问题,connect说明完成3次握手,open sent发送open消息,open confirm检查open包和本地是否一致,established完成通信。

bgp路径选择
1,weight(权重熟悉)本地有效,思科私有,权重越大路径越优先 如果设置weight的话只能捆绑在in方向上。
#router-map shi permit 10
#match local-preference 150
#router-map shi permit 200
#set weight 200
#neighbor 10.0.0.1 router-map shi in (在router bgp中绑定router-map shi)

2,local-preference只能用于ibgp,描述自己的最佳出口,local-preference也是越大越好,
可以影响下一台的路由的路劲选择,in和Out方向都可以选择,(告诉内部路由器这么出去)

4,选择as-path 最短的越优,在ebgp中最好用as-path
#router-map aspath permit 10
#set as-path prepend 600 (这里是加一个as600,)

5,origin是指igp注入bgp的方法,是用network注入的,incompltet是重复发注入的,network比重分发优先级高
#set origin igp (这里改成network注入的)

6,med是当一个as有两个出口到另一个as,med是越小的越好,med只影响下一个as(不会影响其他as)用于ebgp (告诉外部路由这么进来)
#set metric 50 (这里的metric就是med)

7,如果一个是ebgp还有一个是ibgp的话,优先选择ebgp
8,如果两个都是ibgp的话优先选择里比较近的路劲
9,如果两个都是ebgp的话,优先选择在本地数据库时间比较长的哪一个
10,如果两台路由器routerid谁比较小,比较优先。

————————————————————————————————————————————————————————————————————

组播multicast


__________________

mpls 在数据层,不会给bgp分发标签
1,在mpls要开启cef,cef相当于一个路由表

1、ldp为每条路由打标签 端口号是646
2、lib是存放本地标签,学到的邻居的标签
3、lfib是信息转发数据库是一个标签库,是存放进标签和出标签的映射关系
4、fib是路由表


标签的构造
标签共有32字节
0到19是标签位 0~15是保留的
20-22是QOS位
23-24是否是栈底,是否是打了多层标签,第一层标签为0最后一层为1如果到1了就不往下读标签了
24-32是ttl


lsr是主要转发标签包的标签路由器
edge lsr是边界标签路由器

mpls不会为Bgp打标签

入标签是本端分配给邻居的
出标签是邻居分配给给本端


pop是指弹外出标签
untag是把所有标签弹出


步骤
1,起igp路由
2,启用cef
3,接口配置mpls
4,配置mtu mtu增大因为头部增大了

#ip cef
#int s0/0
#mpls ip
#

show mpls ldp neighbor 查看邻居的标签
#show mpls ldp discovery 查看是否收到对方的ldp hello 包
#show ip cef detail 查看fib表
#show mpls ldp bindings 查看lib表
#show mpls forwarding-table 查看LFIB表
#show ip cef exact-route 10.1.35.5 1.1.1.1 查看原10.1.35.5 目的1.1.1报文实际转发接口和下一跳


if#ip load-sharing per-packet 在两个接口上配置此台命令就负载均衡了


show ip cef detail 查看fib表
----------------
peer-to-peer 就是mplsvpn等于专线 费用高
可以把私有的ip通过公网传递到对端
ce是公司的路由器,pe是运营商的路由器

步骤
1,在运营商内部跑igp和mpls
2,在公司


1,ce和pe起(igp)
2,在pe上区分不同公司相同子网,用rd值(
3,vrf虚拟路由转发是在运营商路由器上,跑的是bgp路由
4,rt负责路由的导入和导出 相当于给公司打标签)

在公司连运营商的路由器上做
#ip cef
#int s0/0
#mpls ip
#exit
#route rip
#no aout-summary
#version 2
#network 12.0.0.0
#network 24.0.0.0

//运营商边界路由器上做,在公网的路由器上现在igp

#ip vrf a //创建虚拟路由表为公司
#rd 1:1 //在虚拟表中定义rd值(区分不同公司相同子网)
#route-target 1:1 //在虚拟表中定义rt值 相当于给公司打标签,为了区分公司
#conf t
#int s0/1
#ip vrf forwarding a //把连接对端公司的接口放到虚拟表中
#ip address 24.1.1.2 255.255.255.0
#no shutdown

#router rip
#address-family ipv4 vrf a //把和公司的直连网段放到运营商的虚拟列表中
#network 24.0.0.0

#router bgp 1
#bgp router-id 2.2.2.2
#no synchronization
#neighbor 3.3.3.3 remote-as 1
#neighbor 3.3.3.3 up lo0
#address-family vpnv4 //启用支持传vlnv4的路由
#neighbor 3.3.3.3 activate
#nethobor 3.3.3.3 send-community //识别社团属性
#exit
#route bgp 1
#address-family ipv4 vrf a //把虚拟表和bgp向关联
#redistribute rip //重分布rip进来
#exit
#router rip
#address-family ipv4 vrf a
#redistribute bgp 1 metric transparent //把bgp也从分布到rip中


在公司把内部地址通告到外网只要运行个igp协议就可以了
route rip
version 2
no aut-summary
network 24.1.1.0
network 4.0.0.0

_______________
ipsec vpn
二层vpn是帧中继
三成vpn是ipsec和mpls
应用层vnp是ssl

ipsec中
认证是hash(有两种认证md5和sha-a)
加密有三种des,3des,aes

ipsec,有两个类型站点到站点,还有一个是easy就是移动vpn

site-to-site的认证方式
1,域共享秘钥
2,数字证书,要ca服务器

easy的认证方式
1,用户名密码
2,otp,一次性服务器,运用到aaa服务器
3,生物认证


1,建立sa就是建立安全数据库
2,sa有两个模式 main mode(主要模式)和aggressive mode(积极模式),如果是main就直接到2点到点,是aggressive到移动模式1.5

dpd冗余备份
nat-t nat穿越


点到点配置步骤
1,起路由
2,a发送b感兴趣流(acl,两端对称)
3,协商通道用什么加密和认证方法
4,通道建立好以后建立是那种模式
5,结合感兴趣流和加密方式
6,把map应用到接口上
7,ipsec终结,手工和自动两种方式终结

要有专门的ios去支持,版本是在software中带k8或者k9的版本

r1#conf t
r1#ip route 0.0.0.0 0.0.0.0 serial 0
r1#exit
r1#access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 //建立感兴趣流
r1#crypto iaskmp policy 10 //和对端协商
r1#authentication pre-share //建立域共享秘钥,,建立认证用什么方式 ,,这种认证方式可以自定义密码
r1#hash md5 //认证使用MD5
r1#group 2
r1#encryption 3des //加密为3des
r1#exit
r1#crypto iaskmp key WOLF address 200.1.1.2 //定义域共享秘钥要加密换算的字符是wolf去连接对方的公网地址是200.1.1.2
crypto isakmp invalid-spi-recovery
crypto isakmp keepalive 30 10 periodic
crypto isakmp nat keepalive 360
crypto ipsec security-association lifetime seconds 28800
r1#exit
以上的是ike第一阶段,下面是ike第二阶段
r1#crypto ipsec transform-set SET esp-3des esp-sha-hmac //建立通道模式并选择加密方式,这个是对数据加密,set是自定义的名字
r1#mode tunnel //建立新包头
r1#exit
结合感兴趣流和第一第二阶段的命令
r1#crypto map VPN 10 ipsec-isakmp //挂载上面的代码vpn是自定义名字
r1#set peer 200.1.1.2 //对那个站点设置
r1#match address 100 //调用感兴趣流量
r1#set transfprm-set SET //调用通道
set pfs group2
r1#exit
r1#int s0 //在外网口
r1#crypto map VPN

access-list 102 permit esp host 200.1.1.1 host 200.1.1.2
access-list 102 permit udp host 200.1.1.1 host 200.1.1.2 eq isakmp
access-list 102 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
int s0
ip access-group 102 in

debug crypto ipsec 然后用扩展ping

show crypto ipsec sa 这是查看第二阶段的sa

show engine connections active 查看加密和解密是否正常
——————
sdm用软件配置vpn(security device manager)
路由器断首先要开启ssh
#conf t
#ip address 192.168.16.5 255.255.255.0
#no shutdown
#ip http secure-server //开启http服务 因为要配置sdm
#line vty 0 4
#transport input ssh telnet //放行ssh和Telnet
#login local
#exit
#username wolf privilege 15 password wolf //设置用户名权限是最高模式

在pc端安装sdm软件 sdm-v232版本


——————————

tunel vpn 但是不支持认证,好处是支持多种网络层协议

#int s0
#ip address 200.1.1.1 255.255.255.0
#no sh
#int lo0
#ip address 192.168.1.1 255.255.0
#no sh
#interface tunnel 1
#tunnel soutce 200.1.1.1
#tunnel destination 200.1.1.2
#tunnel mode gre ip //这条命令是指可以ipv6转ipv4,不打也可以默认就有
#ip address 172.16.1.1 255.255.255.0 //这个是给tunnel随便给一个ip地址,两端只要在同一网段就可以了
#exit
//#ip route 0.0.0.0 0.0.0.0 tunnel 1 //默认路由从tunnel1口出去, 如果配置了tunnel和ipsec就把这条命令去掉,在igp中宣告tunnel口,有了下面的eigrp就不用在写这条路由了

tunnel和ipsec做结合,支持认证,支持多种网络协议,不用数据连接激活
首先配置tunnel 然后在配置ipsec
#conf t
#access-list 100 permit gre host 200.1.1.1 host 200.1.1.2 //配置感兴趣流量本来是私网的,因为tunnel的缘故使用配置成公网的IP
#crypto isakmp policy 10
#authentication pre-share
#exit
#crypto isakmp key Wolf address 200.1.1.2 //crypto isakmp keepalive 10 3 是指每10秒发送数据包如果对方在3秒内没有给回应就在发送3次
#crypto ipsec transform-set SET esp-des esp-md5-hmac
#mode transport
#exit
# crypto map VPn 10 ipsec-isakmp
#set peer 200.1.1.2 //set peer 172.31.1.100 default 默认和这个站点建立
#match address 100 //set peer 172.32.1.200 如果第一个peer没有回应就和200这个站点建立
#set transform-set SET
#exit
#int s0
#crypto map VPN
#exit
#route eigrp 90 //配置eigrp是为了让通道自动保持通信,不要用流量去激活
#no auto-summary
#network 172.16.1.0 0.0.0.255 //宣告tunnel口
#network 192.168.1.0 0.0.0.255 //宣告自己的内部的IP

vpn做ha冗余架构
#int s0
#standby 1 preempt //抢占
#standby 1 ip 10.1.1.1 //虚拟出来的IP
#standby 1 priority 150
#standby 1 name VPNHA
#crypto map vpn 10 redundancy VPNHA stateful 这条命令就是sso 自切换sso ,要12.4以上版本才能支持,,是指在配用的路由器上把一些报文都复制下来,一旦active路由器down了配用路由器不用再去协商建立邻居关系了

reverse-route //这个命令的意思是反响路由注入 做ha的时候用的,在vpn路由器是active的时候会自动会生成一条静态路由,然后再内部的路由器上配置igp的时候重分布这条静态路由,这样就是自动选取路由了

————————————————————————

easy vpn 移动用户访问公司网络
1,在pc上装一个vpn的client端(Cisco systems vpn client)
2,在网管上配置

用sdm配置
#conf t
#int f0/0
#ip address 192.168.16.5 255.255.255.0 //配置外网口的地址
#no sh
#exit
#ip http sevure-server //开启https

 

 


——————————————————————————————


ip qos

qos部署
1,集成式部署,是指每个路由器配置都一样,
A,rsvp(资源预留协议)有 两种形式,独占式适合多个数据同时发送(是指明确知道原IP并且为期预留简写FF),共享式适用于多个原不是同时发送数据包(分两种se明确原为期预留和wf为所有原预留资源)
2,区分式部署,是指每个路由器可以去区分流量进行配置

 

rsvp集成式配置
#conf t
#int e0/0
#ip rsvp bandwidth //启用rsvp,启用后默认接口最大带宽的75%作为预留,在路由器两端都要做
#exit
#ip rsvp sender 210.210.210.60 210.210.210.30 upd 1040 0 210.210.210.30 e0/0 32 32
//210.210.210.60是目标端口IP,210.210.210.30是原端口ip, 1040目标端口号,0是原端口号(零代表任意端口号)
零后面210.210.210.30是上一跳接口ip, e0/0是指哪个接口过来原的数据,32是预留多少带宽 这条命令用在原主机连接的第一台路由器上,代替主机发送rsvp数据

#ip rsvp reservation 210.210.210.60 210.210.210.30 upd 1040 0 210.210.210.60 e0/0 ff load 32 32 //这条命令配置在目标主机连接的第一台路由器上,ff是指选用的独占式
在中间的路由器上只要启用rsvp就可以了


#show ip rsvp interface //查看那些接口启用了rsvp
#show ip rsvp installed //查看已经配置成功然后预留的多少带宽


区分服务:分为4个部分,
1,分类和标记:用过acl去分类, 网络打标记用优先级一共7种优先级0~4是普通的优先级可以手动给定,5是语音的优先级,6是管理路由的优先级如ospf等等,7一般不用和dscp两种方式打标记,,
二层打标记,cos是二层的标记,
pbr基于原做路由选路,而路由协议是基于目标做路由选路,pbr一定用在数据入接口上

用扩展traceroute可以跟踪流量是从哪里走的
pbr配置实例,基于原做路由选路
#conf t
#access-list 100 permit ip 5.5.5.0 0.0.0.255 2.2.2.0 0.0.0.255 //匹配感兴趣流
#access-list 109 permit ip 9.9.9.0 0.0.0.255 2.2.2.0 0.0.0.255
#route-map PBR
#match ip address 100 //调用acl
#set interface serial 1 //把这个流量往s1口出去 set ip pecedence 2在route-map设置优先级
#exit
#route-map PBR permit 20
#match ip address 109
#set ip next-hop 34.1.1.4
#exit
#int s0
#ip policy route-map PBR //在接口下调用route-map


cbm把流量做打标记,路由器的入和出端口都可以做
#conf t
#ip access-list extended TEL
#permit tcp any any eq telnet //抓感兴趣流
#exit
#ip access-list extended WWW
#permit tcp any any eq www
#exit
#class-map match-all TEL //match-all子条目必须所有匹配,match-any子条目中任意一条匹配
#mtch access-group name TEL //把感兴趣流做打标记
#class-map WW
#match access-group name WWw
#exit
#policy-map CBMARK
#class TEL
#set dscp af11
#exit
#class WWw
#set dscp af41
#exit
#class class-default //是指没有匹配到的流量优先级设为默认
#set dscp default
#exit
#int e0/0
#service-policy input CBMARK

#show policy-map interface //查看哪个端口调用了policy-map
————————————————————————
pbr和cbm是给流量打标记,nbar是给流量分类(就是抓取数据里面的文件如图片等等)
再Cisco官网上下载bt.pdlm用ftp导入到路由器的flash中,然后本地加载bt.pdlm(加载命令:ip nbar pdlm flash://bt.pdlm)这样就可以在match的时候就可以直接match pdlm中的类型了
#conf t
#class-map TL
#match protocol telnet //用pdlm就不用去匹配acl了直接可以匹配pdlm内置的感兴趣流
#exit
#policy-map CBMARK
#class TEL
#set dscp af11
#int e0/0
#service-policy input CBMARK
#ip nbar protocol-discovery //如果使用pdlm就要在接口打上这条命令

如果一个应用有多个端口号配置#ip nbar port-map http tcp 80 8080,这样调用http的时候http就匹配到两个端口了

#match protlcol http mime *.jpg|*.gif //是指匹配所有jpg和gif的文件,mime是匹配文件,url是匹配网址

2,整形和监管:可以限制中心站的和分支站的限速(速率不匹配),比如中心站点带宽高分支站的带宽小,当中心站点发送数据包时分支站点来不及接收(整形和监管就是解决这个问题)
整形就是超出的速率进行一个缓存,监管就是超出的速率drop或者打标记,做整形默认是再出方向,监管入方向和出方向都可以做
cir:承诺信息速率 单位是kbps
tc:承诺时间(默认承诺时间是125ms)
bc:承诺突发量 单位是字节 桶1
be:超出突发量 单位是字节 桶2

cir = bc/tc
shaping(整形),限制接口的传输带宽
1,通用流量整形(gts):在grs缓存中只能用wfq机制
#conf t
#int s0/0
#traffic-shape rate 64000 8000 8000 1000//限制接口速率为64k(就是cir),8000是bc一般配置是cir的8分之一,第二个8000是be和bc一样,1000是shaping缓存中包的个数

#traffic-shape grout ACL //可以对指定的流量限速,在这里调用acl

#show traffic-shape queue //可以查看缓存了多少个包,丢弃了多少个包

#conf t
#int s0/0
#en fram
#traffic-shape adaptive 32000 //设置自适应,如果收到比较慢的链路的回包自动降到cir的4分支3,32000是设置最低不能降到这个伐值(一般设置cir一半)

#traffic-shape fecn-adapt //这条命令配置在接受的路由器上,就是当发送的路由器发送的是upd包,接送放只有配置了这条命令才能够去回包

2,郑中基流量整形(frts)也只能在出方向
#conf t
#map-class frame-relay FRTS
#frame-relay traffic-rate 64000 //接口速率改为64000
#exit
#int s0/0
#frame-relay interface-dlci 104 //针对摸个dici做frts
#frame-relay class FRTS //在接口上调用frts
#frame-relay traffic-shaping

 

3,cb模型 shaping
#shape average 64000 在polic-map中设置

#show polic-map int

监管
1,承诺接入速率(acr)
#conf t
#int s0/0
#rate-limit output access-group 101 256000 2000 2000 conform-action transmit exceed-action drop //设置car出方向,cir是256000 bc是2000 be是2000,如果有空间就传输,没有空间就丢弃

2,cb模型 policing
#conf t
#policy-map cbpolice
#police 64000 confiorm-action exceed-action transmit violate-action drop //violate-action这个就是溢出的流量,而exceed-action这个是匹配桶2(be)

 

3,拥塞和避免:就是尾丢弃
red:是早期随机丢弃检测
wred:基于优先级丢弃 优先级低的丢弃
#conf t
#int s0/0
#random-detect //接口启用wred
#random-detect precedence 5 32 41 20 //针对优先级为5的,设置最小伐值为32,最大伐值为41,每20个包丢弃一个包
#
4,队列
A,分类,
B,加对,,先进先出(简写fif0)的队列在接口大于2.048mb(就是大于e1接口中使用),如果小于e1接口就使用wfq, 串口是1.544mb如果想把串口也改成先进先出用#no fair-queue
#hold-queue 400 in 改变队列的排队个数,队列个数是按照路由器的内存大小而定

pq:优先队列,队列优先级分为高,中,正常,低
#conf t
#priority-list 1 protocol ip high tcp telnet //区分流量并把Telnet流量定义为高,在protocol后改为interface就是为入接口定义优先级
#priority-list 1 protocol ip low list 100 //定义acl100的优先级为low
#access-list 100 permit icmp any any //
#int s0/1
#priority-group 1 //在接口上调用队列

#show queueing priority //查看接口上的pq

#debug priority

#priority-list 1 queue-limit 22 44 66 88 //配置队列高,中,正常,低的排队数量,这个只针对tcp,如果要针对upd和ip 命令:random-detece flow
~~~~~~~~~~
cq:用户队列,一共有0~16个队列,是轮循传递队列每个队列都传1500byt,0是系统队列不做配置
#conf t
#queue-list 1 protocol ip 2 tcp telnet //1只是一个名字, 2是指第二个队列
#queue-list 1 protocol ip 3 list 100 //调用acl
#access-list 100 permit icmp any any
#int s0/1
#custom-queue-list 1 //接口上调用

#queue-list 1 queue 2 byte-count 3000 //设置队列2传3000个字节然后在传第3个队列 默认轮循传递是1500

#queue-list 1 queue 2 limit 40 //设置排队的缓存为40个包

#queue-list 1 lowext-coustom 2 //是指从2队列开始到16是轮循的,而0和1队列是优先跑流量的
~~~~~~~~~~~~
wfq:基于不同的优先级做相应的动作,一共有256个队列,cdt是排队的下限 (就是一个包大于cdt如果这个包在最长队列就drop,如果不在最长对列就insert),hqo是排队的上限(如果一个包大于hqo
如果这个包在最长队列就drop,如果不在最长队列就insert但是drop最长队列的最后一个包)
调度优先级算法是,finish time = 真实的包大小 / (ip优先级+1) 算出来的值越小越优先
wfq配置
#conf t
#int s0/1
#fair-queue 66 512 5 //在接口下启用wfq,数字第一位定义cdt,二位是最大队列数,三位是为psvp保留的队列

#show queue fair
~~~~~~
llq就是pq加wfq,就是为语音流量设计的,语音流量是udp端口16384~32767范围
配置
#conf t
#int s0/1
#ip rtp priority 16384 16383 100 //这条命令就是专门为语音流量设置的,16384是设置最低的端口是,16383是16384+16383设置最高的端口号,rtp中100是预留的带宽
#fair-queue 66 512 5
~~~~~~~~
可用带宽 = 总带宽 * 0.75 - rtp预留的值
#int s0/0
#max-reserved-bandwidth 100 //可以调整最大带宽的利用率百分比,原来是0.75

cbwfq,一共有65个队列,手动可用分64个最后一个队列默认的流量都走这个队列
#conf t
#class-map VOIP
#match ip rtp priority 16384 16383 //抓取语音流量
#policy-map CBWFQ
#class VOIP
#priority precent 50 //把语音流量预留百分之50,语音流量现过
#exit
#class class-default
#bandwidth percent 30 //把其他流量都设置为百分之30
#exit
#int s0/0
#ip nbar protocol-discovery //启用nbar
#max-reserved-bandwidth 100 //可以调整最大带宽的利用率百分比,原来是0.75
#service-policy output CBWF1 //在出接口上调用,这里一定要在出接口上

#show protocol-map int //查看接口上所预留的带宽
C,调度

————————————————————————————————————————————

在交换机上做qos, 2950有4个q,也可以配置成1p3q,1p就是优先发送数据包的queue
//一下配置都在3560上
#conf t
#mls qos //启用QoS机制
#int f0/1
#priority-queue out //把第四个队列作为快速队列
#wrr-queue bandwidth 80 19 1 1 //针对4个queue带宽的比例 在2950上如果把第4个队列设置成快速队列只要在这条命令最后一个1改成0就可以了
#wrr-queue cos-map 4 5 6 7 //把优先级为5 6 7的放在第四个queue,默认queue的优先级分配是0 1在第一个queue,2 3在第二个queue依次类推

#show mls qos interface fastethernet 0/1 queueing //在交换机上查看queue的信息

#show wrr-queue cos-map #show wrr-queue bandwidth //在2950上和3560上的查看命令不一样,这个是在2950上

~~~~~~~~~~

压缩,
payload压缩,hdlc只支持stac,,而ppp支持多种压缩方式
#conf t //两边路由器都要配置
#int s0/0
#compress stac
头部压缩:分tcp和rtp头部压缩
#conf t
#int s0/0
#ip tcp header-compression

~~~~~~

qos预分类,用在vpn中使用,如果是gre/ipsea就是在crypto map中加qos
#int tunnel 0
#qos pre-classify

 

posted @ 2019-05-14 11:08  cs37  阅读(878)  评论(0编辑  收藏  举报