一、 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 数据库实现区域间通信
p_w_picpath
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 连接成功建立
p_w_picpath
外部 BGP 邻居( EBGP ):不同自治系统的 BGP 邻居
形成条件:
a 物理直连
b TCP 连接成功建立
p_w_picpath
7.BGP 水平分割(为了防止环路)
基于邻居的水平分割:路由器从某邻居处收到路由后,不把该路由发送到其他邻居
// 备注: BGP 的水平分割用于“ IBGP 邻居之间”
提示: IBGP 邻居要彼此学到对方路由,需要“全互连”
(不需要物理直连,只要 TCP 连接成功建立)
p_w_picpath
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
p_w_picpath
总结:在同一自治系统内,配置 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
p_w_picpath
10.BGP 的下一跳问题
路由器从 EBGP 邻居处学习到路由后,在把该路由发给 IBGP 邻居时,保留了路由的下一跳
p_w_picpath
解决办法:通告路由器把路由发送给 IBGP 邻居时,把路由的下一跳修改为自己的 IP
config-router #neighbor 邻居 IP next-hop-self
p_w_picpath
11.BGP 同步问题
BGP 的同步:某台路由器通过 BGP IBGP 邻居处学到某路由,同时通过 IGP 也学到该路由,称为“ BGP ”同步
BGP 同步对路由更新的影响
a.BGP 同步处于开启状态:如果某条路由具备“ BGP 同步”要求,路由器把该路由器发送给 EBGP 邻居;否则路由器不把该路由发送给 EBGP 邻居
b.BGP 同步处于关闭状态:只有路由器通过 BGP IBGP 邻居处学到路由,将把该路由发送给 EBGP 邻居
BGP 同步的配置:
config-router #[no] synchronization
p_w_picpath
BGP Example
p_w_picpath
p_w_picpath
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
p_w_picpath
15.BGP 路径属性
衡量路径好坏的标准
AS Path 属性:数据包到达目的地所经过的自治系统的集合(目的地所在自治系统也包括在内)
格式:(自治系统号 1 ,自治系统号 2 ……)
机制: AS Path 集合长度越短,路径越好
p_w_picpath
下一跳 next-hop 属性
a 直连网段的下一跳为 0.0.0.0
b 存在“ BGP 下一跳”问题
机制:下一跳为 0.0.0.0 的路由好于下一跳为其他地址的路由
例:
*&gt; 202.110.100.1    0.0.0.0              
*                 202.110.100.2              
origin 属性(起源属性)
路由通过什么方式获得的
起源代码:
i :通过 network 声明发布的路由
e :通过 BGP 再发布获得
? :通过 IGP 再发布获得
机制: i 优于 e e 优于 ?
.local preference 属性(本地优先属性)
a 该属性是一个数值
b 该属性越大越优先
c 当本 AS 的有多个出口连接外部 AS 时,非出口路由器使用“本地优先属性”决定把发到外部 AS 的包,优先发向哪个出口