路由器


一、IP路由基础

什么是路由:路由器收到数据包,查看数据包目的地址,查看路由表,找到相应的路径,转发数据包。

路由器

工作内容:
路由器知道目的地址
发现到达目的地址的可能的路由
选择最佳路径(路由表)
维护路由信息

路由表Routing Table

每一台路由器都会维护一个路由表,在路由表中包含着路由器发现的路由(路由条目、路由表项);

路由表相当于路由器的地图,路由器能够正确转发IP报文的前提是在其路由表中存在匹配该数据包目的IP地址的路由条目;

路由表中的路由条目获取来源有多种:直连路由、静态路由及动态路由协议。

通信是双向的,数据往返能通才是通

直连路由-
直接连接到路由器上的网络

静态路由-
管理员手工构建路由表

默认路由- 
远端有多条路由,只有一个出口,一般配置在出口处,减少路由条目

动态路由- 
路由器之间动态学习到的路由表,并且网络拓扑更变时,能够自动收敛


命令图



二、静态路由

实验拓扑:


步骤:

配置接口IP

配置静态路由

ip route-static 目标网段  目标网段掩码  下一跳地址

R1的静态路由配置命令

ip route-static 192.168.2.0 255.255.255.0 192.168.12.2
ip route-static 192.168.23.0 255.255.255.0 192.168.12.2

R2的静态路由配置命令

ip route-static 192.168.1.0 255.255.255.0 192.168.12.1
ip route-static 192.168.2.0 255.255.255.0 192.168.23.3

R3的静态路由配置命令

ip route-static 192.168.1.0 255.255.255.0 192.168.23.2
ip route-static 192.168.12.0 255.255.255.0 192.168.23.2

查看路由表

dis ip routing-table

三、默认路由




路由总汇

将路由信息缩减,需要网络规划合理,如下图:




配置黑洞路由防止汇总路由出现环路

路由汇总可以缩减路由条目,但是同样如果出现不存在的路由条目,那么容易出现环路问题



如果网络中不存在设备在192.168.5.0/24网段,而有人请求了此错误的路由信息

信息先通过默认路由通过R1到达R2 而R2会认为192.168.5.0/24可以通过汇总的路由192.168.0.0 16 于是又发回给R1
如此反复,会造成环路,设备受损。


我们可以在R1中配置一条黑洞路由,当R2返回192.168.5.0的时候,根据最长匹配原则此条路由会发往null 0接口,此接口类似垃圾桶的作用。


loopback接口





四、故障分析

通信是双向的!!!最长匹配原则!


分析:PC能访问10.1.5.1 

路径:PC——R1——R4——R2——R3——R2——R1——PC

分析:R1无法访问10.1.5.1

路径:R1——R4(192.168.1.33/27源ip)——R2——R3——R2丢弃(无法匹配)

因为R2路由条目为192.168.1.0 255.255.255.224  也就是192.168.1.0/27 每个子网可用主机数为30
而子网192.168.1.0最多到192.168.1.30/27 目的IP是192.168.1.33/27 超出了范围,无法匹配路由条目,丢弃。


浮动路由

优先级越小越优先     1-255      默认60

在配置静态时可以设置优先级,如下图:

将通过R2的路由优先值配置为80 那么R1默认为60

所有R3路由表会记录通过R1的路由,而当R3到R1的链路down掉后,R3路由表会浮现R2的路由,这就是路由的浮现





动态路由协议分类图

AS自治系统内部的路由为内部网关路由协议




五、动态路由协议



1.距离矢量路由协议

RIP路由信息协议

基于UDP,端口520的应用层协议

同一条路由器收到多条去往同一个目的地点的路由  比较跳数,跳数少的写入路由器

周期性地更新(
广播
)整张路由表 RIP只学习直连路由器的路由表

依照传闻更新逐跳更新容易产生环路

如下图:

10.4.0.0这条链路down掉,

当下一次更新路由时,C路由器会从B路由器上学习到10.4.0.0的路由,显然这是条错误的路由,

随着路由表的更新,整个网络都反复更新着10.4.0.0这条路由,导致网络瘫痪





环路避免:


最大跳数 跳数作为度量值 RIP 16跳不可达

水平分割 (默认开启) 

接口发出某个网段的路由,那么接口不会学习这个网段的路由 师傅教了徒弟1+1 不会从徒弟身上学1+1

路由中毒       提前将不可达的路由泛洪出去
毒性逆转

RIP的配置


启动RIP

宣告指定的直连网络(接口)


具体如下(这里只是举例R3的RIP配置):

rip 1(启动rip 且创建为1号进程 ,我们可以为路由配置多个rip;R1、R2的进程也要为1才能和R3处于同一RIP进程)

version 2(使用的是rip 2的版本;同上R1、R2使用的RIP版本号也需要相同)

network 3.0.0.0  network192.168.23.0  (这两个是R3的直连网段)



2.链路状态路由协议

OSPF 开放式最短路径优先协议

OSPF交互的不是直接的路由表,而是LSAs(链路状态通告),将LSAs写入自己的LSDB(链路状态数据库),有了LSDB路由器就掌握了全局的拓扑。
OSPF采用
SPF(最短路径算法)
算法计算到达目的地的最短路径:
传输的内容是
链路状态
,链路=路由器接口、状态=描述接口以及其邻居路由器之间的关系。

OSPF度量值使用cost
每个接口都有cost值,路由的cost值为到达目的接口的cost值总和,只算入接口。
如下图:192.168.100.0/24 到C路由器S0/1口。cost为F1/0口+S1/0口,即1+64。



RouterID(唯一)表示使用OSPF的路由器,可以配置loopback接口(稳定)用其IP作为RouterID,IP地址从左往右比。




OSPF报文类型




邻居关系的建立类似交往。发送Hello报文,“打招呼”——DBD是交换基本信息,“交换名字,基本认识”——LSR是请求详细信息,“希望深入了解”——LSU即发送具体信息,“了解到对方详细信息”——LSAck确认信息,“确认对方的信息是否真实”


224.0.0.5所有OSPF路由器都监听




OSPF区域


OSPF必须有而且只有一个区域0骨干区域

LSA具体的内容 填充在LSDB中在区域内泛洪


多区域

area0为骨干区域,所有非骨干区域的路由器必须与area0直接相连。






OSPF的三张表




OSPF网络类型


通过
接口
的二层封装的协议来识别网络类型。

有4种类型

1.BMA 广播多路访问 (LAN以太网)
2.点对点
3.NBMA 不支持广播和组播 x.25、帧中继
4.点对多点 手工配置

DR和BDR


广播型(MA)的OSPF中需要进行DR(指定路由器) BDR(备份指定路由器)选举 。

选举通过比较接口优先级,优先级最大255 越大越优先 优先级相等 比较routerid 也是比大 一般手动选举DR ,

DR具有非抢占性 修改DR后需要重新启动整个拓扑



非DR和BDR为Other路由器 严谨说讨论DR BDR是立足在
接口

DR指定路由器(接口):与所有OSPF建立邻居关系,负责发布信息变化。
BDR备用指定路由器(接口):与所有OSPF建立邻居关系,

DR故障后 BDR成为DR。

Other其他使用OSFP的路由器(接口):Other之间不能建立邻居关系

所有的Other和DR和BDR建立邻居关系 Other之间不建立邻居关系,
网络拓扑发生变更时先告诉DR和BDR再从DR泛洪消息,DR正常时BDR只收信息不发信息,






LSA的泛洪

只有DR\BDR监听224.0.0.6
所有OSPF路由器监听224.0.0.5





反掩码 图54

1表示无所谓 0表示匹配
如:

常规算法,255去减掩码
192.168.1.1/30
255.255.255.255
-255.255.255.252(30)
192.168.1.0 0.0.0.3
也可以找出不变的部分 将其置1


OSPF的配置

单区域


例:



ospf 1 router-id 3.3.3.3  (启动ospf进程号为1,所有路由同一个ospf配置进程号最好一致;router-id 配置唯一的id)

area 0 (进入区域0)多区域的话,在如边界路由器中,进入不同的area 宣告对应的网段就行了

network 192.168.23.0 0.0.0.255  (OSPF宣告的是自身接口直连的网段)










DHCP

DHCP概念

我们一般使用DHCP动态给主机分配IP地址,DHCP是一种Clinet/Server模式的网络协议。这里的Server和Clinet只是一种应用程序不是真的服务器和客户机,它可以运行在真正的服务器,电脑,路由器等设备上。

DHCP基本概念和作用:




DHCP的基本工作流程:



1.发现阶段
DHCPDISCOVER 广播帧,客户端寻址服务端,二层网络中的所有服务端设备都会收到。为发现,会等待一段时间。

2.提供阶段
DHCPOFFER 广播帧,服务端从地址池中选取IP给客户端,二层网络中的所有客户端都会收到,客户端通过交易ID确认是否发送给自己。

3.请求阶段
DHCPEQUEST 广播帧,这里使用广播的意义是,客户端会收到多个服务端的提供,帧中包含DHCP Server服务标识(用来告诉所有服务端谁被选择了)客户端一般选择使用最先收到的。

4.确认阶段

有两个确认的报文,DHCPACK就是成功,如果DHCPNACK说明IP地址获取失败,重新进行第一步。

DHCP中继代理:

客户端和服务端只能在同一个二层网络中使用,如果存在多个二层网络,那就需要布置多个服务端。但我们这里可以使用一个DHCP Relay Agent,
DHCP Relay Agent和DHCP Server使用的是单播,意味着他们需要事先知道相互的IP地址。
中继代理必须和客户端在一个二层网络,和服务端没有要求。
一般配置在三层交换机,或者路由器上。





配置实例:


R1:
dhcp enable  开启dhcp
ip pool department1    创建ip地址池 名字为 department1,进入department1视图
network 192.168.1.0 mask 26   ip地址池的范围(网段加掩码可以计算出范围)
gateway-list 192.168.1.1     网关的ip
lease day 0 hour 1 minute 30   ip地址租借时间(可以只写天,或者天+小时;写unlimited表示不限制时间,永不过期)

int g0/0/0          进入对应接口
ip add 192.168.1.1 26    配置接口ip,接口ip就是网关
dhcp select global     开启全局dhcp

dis ip pool name department1 used  查看地址池department1的分配情况

另外两个地址池也类似,ip从65  129 开始就行了



中继实验

R1:

dhcp enable  开启dhcp
g0/0/0      进入对应接口
ip add 192.168.1.1 26   接口ip 
dhcp select relay    开启接口dhcp中继
dhcp relay server-ip 172.10.1.1   说明dhcp服务器ip

在R2创建地址池

全局的网络要通







声明:MINI-HAVEN|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 路由器


MINI-HAVEN