路由与路由器
1、路由器基础
路由器的内部组件
- 特殊组件计算机
- console口进行具体的调试
辅助口(Auxiliary):一般不用
1、随机存取存储器RAM
配置文件或临时存储一般作为内存使用,断电时内容丢失
存储内容:
- 路由表
- ARP缓存
- 快速切换缓存
- 报文缓存
- 数据包保留队列
2、非易失随机存取存储器(NVRAM)
NVRAM,存储备份/启动配置文件,断电后内容不丢失。(内置的电池保证不断电),保证快速访问
3、Flash
电子可擦除可编程只读存储器EEPROM,存储了Cisco IOS(互联网操作系统),允许更新软件而无需更换闪存芯片;断电保持
4、只读存储器(ROM)
ROM,包含POST、引导程序(加载Cisco IOS),作系统软件
接口
数据包通过其进入和离开路由器的网络连接口,附在主板上或作为单独的模块
2、路由器启动步骤
系统启动程序
- 开机自检,从所有硬件模块的ROM执行诊断,如果无法重启就需要对硬件进行检查。
- 验证CPU、内存和网络接口的基本操作
- 软件初始化
软件启动程序:
- ROM在中的通用引导加载程序在CPU卡上执行,
- 操作系统可以在配置寄存器的启动字段上表示的位置中找到
- 加载操作系统映像(IOS)
- 将保存在NVRAM中的配置文件加载到主存储器中,并一次执行一行
- 如果NVRAM中没有配置文件,就进入初始配置例程,成为系统配置对话框(设置模式)
路由器初始化过程
查看和修改基本路由器配置
执行基本编址方案
- 显示当前随机访问存储器中的配置show running-config
- 存储路由器基本配置:copy running-config startup-config
- 显示NVRAM中的配置文件:show startup-config
- 显示路由表:show ip route
- 显示所有接口的配置信息: show interfaces
- 显示接口的简要信息:show ip int brief
3、路由和配置
使用网络寻址进行路由
路由器通过两个功能,将报文从一条数据链路交换(中继,relay)到另一条数据链路。
- 切换功能(switching function):允许路由器在一个接口上接收报文并通过第二个端口转发
- 路径选择功能(path determination function):使路由器选择最合适的接口转发数据包
- 路由器使用地址的网络部分进行路径选择,将数据包传递到下一个路由器;地址的节点部分由直接连接到目标网络的路由器使用,以将数据包传递到正确的主机。
静态和动态路由
静态路由:网关进入路由器进行配置的协议
动态路由:路由协议自动调整来适应拓扑和网络交通的变化
1、静态路由
如果希望隐藏网络的某些部分,只有一条路径可以访问网络,可以使用静态路由(默认路由,将B所有不知道的位置全部交给A,由A去进行访问)
这种分区称为末节网络
2、静态路由配置
允许对路由表的手动配置
命令格式:ip route network [mask]{address|interface}[distance]
其中:
- network:目的网络或子网
- mask:子网掩码
- address:下一跳地址
- interface:获取目的网络的接口
- distance:管理距离
管理距离(administrative distance)是路由器信息源的可信赖性的等级,表示从0到255的数值
- 数字越大,可信度越低。因此静态路由的管理距离通常设置很短(默认为1)
- 管理距离为0:直连网段最可信,比静态路由还高
3、动态路由
可以重定向网络中不同路径之间的流量traffic(或负载分担loadshare)
- 依赖于路由协议在路由器之间共享知识
- 取决于两个路由器基本功能:维护路由表、向其他路由表分发路由信息
- 彼此交换路由信息
收敛时间
- 从刚启动到网络到达稳定的时间
- 从发生变化到再次稳定的时间
动态路由协议分类
- 距离向量算法(Distance Vector)
- 链路状态(Link state)
- 混合路由(Hybird Routing)
其中Hybrid Routing是在两种中间
1、距离向量协议
路由器不需要知道网络的确切拓扑,路由器之间传递的是路由表的周期性副本(只知道可达,不需要知道怎么可达)
会产生路由环路问题:
Network1突然不可达,此时A的路由表删除了这条路由,但是B就发出了高速A到达E可以经过A,距离为2的消息,被C接收到,然后C传给D,D再传回给A,让A误认为网段1可以经由D到达。于是也接着发送,一直循环,直到最后距离计数到达无穷大。
解决方案:
- 定义最大值:设置最大跳数,比如最多转发15跳
- 路由中毒:网络发生故障时,路由器将这个网段的条目设置为不可达而不是直接删除。(可以转发直到整个网段的路由器都受到这条消息)
- 水平分隔:从某个端口收到的报文信息,不再从端口发送出去
- 计时器:收到网络信息不可达的信息时启动计时器,如果计时设备收到了一个比原来更好的到达的路径就会修改对应记录否则不修改;计时器结束后删除对应的条目
2、阻止发送路由更新
防止接口发出任何路由更新信息的命令:
Router(config-router)#Passive-interface f0/0
(只有在使用距离矢量路由协议时才有效)
链接状态协议Link-state Protocol
被OSPF使用
SPF算法,维护复杂的拓扑信息数据库。
相关的使用信息:
- 链接状态广告(LSA):告诉对方有这个链路
- 拓扑数据库:由LSA组成,每个节点都有
- 根据SPF算法生成SPF树
- 每个网络的路径和端口的路由表
1、链接状态网络发现
路由器之间会交换LSA,每个路由器和其他路由器并行构建一个拓扑数据库,包含来自网络的所有LSA。
SPF算法对逻辑拓扑构建一棵树,以自身为根进行最短路径优先(SPF)排序;路由器在路由表中列出其最佳路径以及这些目标网络的端口。
链路状态的问题:
- 处理和存储要求:需要更多内存执行CPU计算
- 带宽要求:初始链路状态数据包的泛洪使得对带宽的需求增加(初始消耗大,之后消耗小)
问题:链接状态更新
必须确保所有路由器获得所有需要的LSA数据包,各路由器根据不同的拓扑数据计算路由(如果有一个链路的状态发生变化,全部路由器就需要重新计算)。
比较:链接状态算法和距离向量算法
距离向量协议:
- 视野窄,代价小
- 基于跳数
- 定期交换路由表,收敛慢
- 交换路由表
链路状态协议:
- 视野宽,有一定代价
- 基于带宽
- 初期充分交换,收敛快
- 交换Linked State的数据库
混合协议:Hybrid Routing
同时使用并共享距离向量和链路状态
主动路由协议
Routing Protocol
IP 主动路由协议的示例包括:
英文缩写 | 英文解释 | 中文解释 | 备注 |
---|---|---|---|
RIP | a distance-vector routing protocol | 距离矢量协议 | DV |
IGRP | Cisco’s distance-vector routing protocol IGRP | 思科的距离矢量路由协议 | DV,基本启用 |
OSPF | Open Shortest Path First | 开放式最短路径优先 | LSP |
EIGRP | - | 平衡的混合路由协议 | 杂合 |
路由协议的主要目标
- 最佳路线:选择最佳路路线
- 效率:最少使用带宽和路由器处理器资源
- 快速收敛:越快越好。有些比其他人收敛更快
- 灵活性:可以处理各种情况,例如高使用率和失败的路由
标准:四个方面都好的协议更好一些;可以同时运行多个进程,之后基于AD度量
启动动态路由协议
启动protocol:router protocol [RIP…]
公告端口:network [network-number]
,要求是直连的网口
定义默认路由
默认路由使得路由表更短;如果路由表中没有目标网络的条目就会将数据包发送到这个默认网络中
使用动态路由协议定义默认路由:Router(config)## ip default-network [network-number]
将默认路由定义为静态路由:Router(config)## ip route 0.0.0.0 0.0.0.0 [next-hop-ipaddress| exit-interface]
配置默认路由后,使用 show ip route 将显示:(172.16.1.2 是默认的下一跳地址)