一、IP地址的规划
1.路由器
①端口
②路由协议的network声明
③控制列表
④NAT
⑤DHCP
⑥路由过滤
⑦静态路由(默认路由)
2.交换机
①管理IP
②vlan通信
③三层交换
④访问控制列表
⑤HSRP
//添加从属IP:ip address 192.168.10.1 255.255.255.0 secondary
//查看端口从属IP信息:show ip int fa0/0
二、路由协议的再发布
1.准备工作
①确认硬件是否需要升级
//更新协议硬件是否支持,性能是否够用
②确认IOS是否需要升级
③对老的配置进行备份
④定义边界路由器:同时运行多种路由协议的路由器
⑤定义“核心”和“边缘”:把边缘路由再发布到核心,把核心路由以“汇总方式”或“默认路由”发布到边缘
⑥定义发布方向
⑦定义“种子度量”:需要做“再发布路由”的度量
//协议默认种子度量:
a.向RIP/EIGRP环境发布的路由:无穷大
b.向OSPF环境发布的路由:20
(如果BGP向OSPF环境发布,路由的度量为1)
c.向ISIS环境发布的路由:0
d.向BGP环境发布的路由:等于IGP的度量
2.路由再发布的具体配置
如果把路由协议A的路由再发布到路由协议B的环境,在边界路由器上:
(config)#router B [自治系统号/进程号]
(config-router)#redistribute A 参数
①向RIP环境再发布:
(config)#router RIP
(config-router)#redistribute EIGRP/OSPF/BGP 自治系统号/进程号 metric 度量
//度量值不要太大,因为RIP协议最大跳数为16,2或3即可
②向OSPF环境再发布:
(config)#router OSPF 进程号
(config-router)#redistribute EIGRP/RIP [自治系统号] [metric 度量] [subnets]
//subnets:用于发布子网信息
③向EIGRP环境再发布
(config)#router EIGRP 自治系统号
(config-router)#redistribute OSPF/RIP [进程号] metric 带宽 延时 可靠性 负载 MTU
//带宽:实际物理带宽(K)
//延时:100(不可测量值)
//可靠性:255(完全可靠)
//负载:1
//MTU:1500
备注:也可用边界路由器向两边发布指向自己的默认路由,但如果接入互联网也要做默认路由,所以不建议使用
三、ISIS:Intermediate System-to-Intermediate System
1.ISIS属于链路状态路由协议
2.ISIS区域
①骨干区域:实现区域间通信
②通过链路实现区域间连接
3.路由器角色
①L1路由器(level):类似OSPF非骨干区域内部路由器
使用L1数据库(拓扑表),实现区域内通信
②L1/L2路由器:类似OSPF的ABR,使用L1数据库实现区域内通信,使用L2数据可实现区域间通信
③L2路由器:类似OSPF骨干路由器,使用L2数据库实现区域间通信
4.NET网络实体(地址)
格式:标识.区域ID.系统ID.选择器
//标识:49为私有地址,其他需要申请
//区域ID:XXXX 例如0001 ,0002 4为数,用来区分区域
//系统ID:YYYY,YYYY,YYYY (随意12个16进制值)一般可用mac地址
//选择器:描述设备类型,例如router为00
5.ISIS路径选择
某路由器收到链路状态信息后,比较区域ID
①链路状态信息新的区域ID与本区域ID不同,路由器吧信息发向距离自己最近的L1/L2路由器(开销小)
②链路状态信息新的区域ID与本区域ID相同,路由器使用L1数据库处理包
6.DIS:指定中间系统
在广播网络环境下,ISIS要选举DIS
①选举DIS目的:保证链路状态信息的可靠更新(增加LSA发送量)
②DIS选举所参考的参数
a 优先级:越大越好(范围:0—127,默认64)
b 系统ID:越大越好
7.ISIS的配置
①规划NET
②启用ISIS
(config)#router isis
③配置NET
(config-router)#net NET地址
④在端口上启用ISIS
(config-if)#ip router isis
⑤修改路由器角色
(config-router)#is-type {level-1|level-1-2|level-2-only}
四、BGP(Border Gateway Protocol)边界网关协议
补充:路由协议
1.IGP(内部网关协议):RIP、EIGRP、OSPF、ISIS
2.EGP(外部网关协议):BGP
1.BGP的应用场合
①自治系统之间通信
②自治系统内部通信(不常用,对设备处理能力要求较高)
2.BGP不使用的场合
①带宽低
②设备处理能力差
3.BGP的特性
①使用TCP实现连接(TCP连接能否成功建立,取决于neighbor命令的配置)
②属于“高级距离矢量路由协议”
③增量路由更新
④丰富的路由衡量标准(路径属性丰富)
⑤使用keepalive消息校验TCP连接
⑥使用大型网络环境
4.BGP的三张表
①邻居表(neighbor table)
存放邻居信息
②转发表/转发数据库(forwarding table/database)
存放从邻居处收到的所有路由信息
③路由表(routing table)
存放到达目的网络的最好路径
//OSPF和三层交换机也有转发表的概念,不过其转发表等同于路由表,但BGP上的转发表不同于路由表
5.BGP的消息类型
①open:声明路由器身份(包括router ID,等同于其他协议的HELLO包)
②keepalive:校验TCP连接
③update:路由更新
④notification:检测到错误后,发送该类包,之后关闭BGP连接
6.BGP邻居(对等体)neighbor=peers
分类:
①内部BGP邻居(IBGP):同一自治系统内的BGP邻居
形成条件:
a 不需要物理直连
b TCP连接成功建立
②外部BGP邻居(EBGP):不同自治系统的BGP邻居
形成条件:
a 物理直连
b TCP连接成功建立
7.BGP水平分割(为了防止环路)
基于邻居的水平分割:路由器从某邻居处收到路由后,不把该路由发送到其他邻居
//备注:BGP的水平分割用于“IBGP邻居之间”
提示:IBGP邻居要彼此学到对方路由,需要“全互连”
(不需要物理直连,只要TCP连接成功建立)
BCDE需要“全互连”,否则基于水平分割,A到B的数据包,不会经由C/D/E传给E,所以F就收不到A的路由
8.BGP的基本配置
(config)#router bgp 自治系统号
(config-router)#neighbor 邻居IP remote-as 自治系统号1
//自治系统号:本台路由器所在自治系统的自治系统号
//自治系统号1:邻居路由器所在自治系统的自治系统号
AS与AS1相同,本router与邻居router为IBGP
AS与AS1不相同,本router与邻居router为EBGP
(config-router)#network 网络号
//查看BGP路由信息:show ip bgp
总结:在同一自治系统内,配置BGP时,要先配置IGP协议。通过IGP学到邻居IP对应的路由 TCP连接才能成功建立 BGP邻居关系建立
9.BGP源地址问题
当两台路由器之间存在多条物理链路时,正常配置是:在路由器上配置多个neighbor,以实现多条物理链路均可正常使用。
但容易出现的问题:neighbor命令配置数量过多
解决:建议使用设备环回口作为邻居IP
但问题是:使用换回口邻居关系无法建立
原因:当路由器发送BGP包时,把出口地址作为包的源地址;当对方路由器收到BGP包时,比较包的源地址与自己配置命令neighbor后的IP是否是同一IP:
①相同:该包是邻居发送的,正常处理
②不同:该包不是邻居发送的,丢弃包
BGP源地址问题解决:通告路由器发送包时,把包的源地址改成环回口IP,而不用出口IP
(config-router)#neighbor 邻居IP update-sourse 环回口<lo0>
² 环回口被认为是路由器核心
自治系统间源地址问题:
当自治系统间的路由器存在多条链路时,使用环回口IP,作为neighbor后的IP
声明环回口网段:(静态路由)
(config)#ip route 目的网IP 目的网掩码 下一跳IP
(config-router)#neighbor 邻居IP ebgp-multihop 2
10.BGP的下一跳问题
路由器从EBGP邻居处学习到路由后,在把该路由发给IBGP邻居时,保留了路由的下一跳
解决办法:通告路由器把路由发送给IBGP邻居时,把路由的下一跳修改为自己的IP
(config-router)#neighbor 邻居IP next-hop-self
11.BGP同步问题
①BGP的同步:某台路由器通过BGP从IBGP邻居处学到某路由,同时通过IGP也学到该路由,称为“BGP”同步
②BGP同步对路由更新的影响
a.BGP同步处于开启状态:如果某条路由具备“BGP同步”要求,路由器把该路由器发送给EBGP邻居;否则路由器不把该路由发送给EBGP邻居
b.BGP同步处于关闭状态:只有路由器通过BGP从IBGP邻居处学到路由,将把该路由发送给EBGP邻居
BGP同步的配置:
(config-router)#[no] synchronization
BGP Example:
12.BGP状态
①idle(闲置状态):路由器查看路由表,确认是否有到达邻居的路由
②connet(连接状态):发现路由,并完成TCP三次握手
③open sent(open消息发送状态):发送open消息
④open confirm(open确认状态):对接收的open消息的确认
⑤established:邻居关系形成,开始交互路由信息
//查看BGP状态:debug ip bgp events
13.复位邻居关系
#clear ip bgp *
//复位所有邻居关系
#clear ip bgp 邻居IP
//复位指定邻居关系
#clear ip bgp * soft out
//保留邻居关系,向所有邻居重新发送路由
#clear ip bgp * soft in
//把以前的路由应用“路由过滤策略”进行过滤,把结果重新放入路由表
14.BGP的汇总
①自动汇总总是开启的,但可以关闭(基于类的自动汇总)
(config-router)#no auto-summary
②支持手工汇总
(config-router)#aggregate-address 汇总IP 汇总掩码 summary-only
15.BGP路径属性
衡量路径好坏的标准
①AS Path属性:数据包到达目的地所经过的自治系统的集合(目的地所在自治系统也包括在内)
格式:(自治系统号1,自治系统号2……)
机制:AS Path集合长度越短,路径越好
②下一跳next-hop属性
a直连网段的下一跳为0.0.0.0
b存在“BGP下一跳”问题
机制:下一跳为0.0.0.0的路由好于下一跳为其他地址的路由
例:
*> 202.110.100.1 0.0.0.0 优
* 202.110.100.2 劣
③origin属性(起源属性)
路由通过什么方式获得的
起源代码:
i:通过network声明发布的路由
e:通过BGP再发布获得
?:通过IGP再发布获得
机制:i优于e,e优于?
④.local preference属性(本地优先属性)
a该属性是一个数值