静态路由和动态路由的区别
静态路由:由网络管理员手工添加的路由
动态路由:所有路由器上运行相同的路由协议,之后,通过路由器之间的沟通交流,最终计算生成的路由条目。
静态路由的优缺点:
优点:
1.选路是由管理员选择,相对更好掌控
2.不会占用额外资源
3.相对安全性更高
缺点:
1.在复杂的网络环境中,配置量较大。
2.无法根据网络拓扑的变化而自动收敛
动态路由的优缺点:
优点:
1.可以基于网络拓扑变化而自动收敛
2.部署简单
缺点:
1.路由器依据某种单一算法计算的路径不一定是最佳路径,甚至可能出现环路。
2.需要额外占用路由器硬件资源及链路带宽资源
3.容易产生安全问题
总结:
1.静态路由只能适用于简单的小型网络环境
2.动态路由可以适用于复杂的大型网络环境
AS-----自治系统------由单一的机构或组成所管理的一系列的IP网络及设备所构成的集合
自治系统(AS)
自治系统(AS):由单一的机构或组成所管理的一系列的IP网络及设备所构成的集合
为了方便AS管理会给它设立编号,AS的编号16位二进制构成,取值范围0-65535。拓展版------由32位二进制构成
根据AS的范围,我们将路由协议分为2大类:
应用在AS内部----IGP(内部网关协议)------------RIP协议,OSPF协议,IS-IS,EIGRP(思科的私有协议)等
应用在AS之间-----EGP(边界网关协议)----------BGP
IGP根据算法分
距离矢量型协议(DV)
-----使用贝文曼–福特算法(Bellman - Ford)-----通过直接传递路由条目信息获取未知网段的路由信息。
-----也称为“依据传闻的路由协议”-----RIP协议用的就是这种算法。
链路状态型协议(LS)
----传递的链路状态信息
(LSA-----链路状态通告)。------使用SPF算法(最短路径优先算法)----这个算法会把图形结构转换成最短路径树 把周围的连接情况记录下来
------OSPF协议用的就是这种算法、IS-IS也是
路由信息协议(RIP)
RIP的邻居:相邻的两个路由器且他们之间具备通讯条件
发送包是会携带两个信息: 一个是目标网段, 一个叫开销值(COST)-------动态路由的选路依据
思科的设备叫做:度量值(Metric),华为的设备叫做:开销值(COST)
开销值
:当动态路由计算出到达同一个目标网段存在多条路径时,将选择开销值最小的路径加入到路由表中
.
因为同一个协议优先级都是一样的,所以需要开销值。不同动态路由协议的开销值的度量标准不同,所以,不同动态路由协议之间的开销值没有可比性,不同协议,比较优先级。
RIP以跳数作为开销值的度量标准。
(RIP默认的优先级是100)。只适用于在中小型网路中的动态路由协议
IP存在一个工作半径-------15跳。当一条路由的开销值到达16跳时,则认为目标网段不可达。
RIP支持等开销负载均衡,比如开销值一样
RIP开销值的算法:
RIP发送携带的开销值COST=本地该网段的开销值+1
静态路由的开销值为什么0:所有的开销是由人来决定的
动态路由的开销值就很重要,因为有可能会很长,所以你需要选择开销最小的,所以动态路由需要开销值选路
Bellman—Ford(贝文曼–福特算法)
将收到的信息分为四种情况:
1.AR1收到AR2发送的2.2.2.0/24网段的信息,
AR1本地路由表中没有到达2.2.2.0/24网段的路由信息
,直接将AR2发送的信息刷新
到本地路由表中。
例:AR1的路由表
NextHop填谁给你发的信息
Destination/Mask Proto Pre Cost Flags NextHop Interface
2.2.2.0/24 RIP 100 1 D AR20/0/0 AR10/0/0(从哪个接口收到的信息)
2.AR1收到AR2发送的2.2.2.0/24网段的信息,
AR1本地路由表中有到达2.2.2.0/24网段的路由信息,且下一跳是AR2。
AR1将AR2发送的这条路由信息刷新
到路由表中。
3.AR1收到AR2发送的2.2.2.0/24网段的信息,
AR1本地路由表中有到达2.2.2.0/24网段的路由信息,且下一跳不是AR2,则比较开销值,如果,本地存在的路由的开销值大于AR2发送的路由的开销值。
则AR1将AR2发送的这条路由信息刷新
到路由表中。
4.AR1收到AR2发送的2.2.2.0/24网段的信息,
AR1本地路由表中有到达2.2.2.0/24网段的路由信息,且下一跳不是AR2,则比较开销值,如果,本地存在的路由的开销值小于AR2发送的路由的开销值,
则AR1不刷新
AR2发送的路由
RIP的版本
RIPV1和RIPV2:主要针对iPv4
RIPNG:主要针对ipv6
RIPV1,RIPV2的区别
1.RIPV1是有类别的路由协议,RIPV2是无类别的路由协议
无类别是指:使用的ip地址没有根据ABC类划分
RIPV1在发送路由目标网段不携带子网掩码(会根据默认的划分规则,会产生大量的路由黑洞)
RIPV2在发送路由目标网段携带子网掩码
2.RIPV1不支持手工认证,RIPV2支持手工认证
手工认证:设置一个口令,发送时携带口令才通过认证,确保安全
3.RIPV1使用广播发送信息,RIPV2使用组播发送 信息
RIPV2使用的组播地址—224.0.0.9,组播地址交换机也会泛洪,运行了PIPV2协议的路由器放进组播里面
RIP所使用的通讯端口是UDP的520端口。源ip和目标ip使用的端口都是520端口
RIP数据包
request----------请求包 只有在刚运行才会使用,问邻居要路由信息
response--------响应包(更新包) 邻居回你response包含路由信息的包
RIP在收敛完成后,依然会每隔30s发送一个response包,这种行为叫做RIP的周期更新
。
二层是不可靠性的,三层是不可靠性的,四层选的udp也是不可靠的,所以需要RIP来弥补,通过周期更新来弥补自身没有确认机制,来确保自己的可靠性
RIP周期更新的原因:
1.自身没有确认机制
2.需要靠周期更新实现保活(保活机制:每隔一段时间发送包,确保自己还活着)
RIP的周期更新-----------异步周期更新
RIP的计时器
周期更新计时器--------30S
无效计时器-------180S(路由表中完成一次刷新就会倒计时)。路由条目刷新后启动一个180s的失效计时器。若计时器时间结束,路由未刷新,则认为该路由失效。则将该路由从本地全局路由表中删除,并将该路由的开销值改为16.保存在缓存中,之后周期更新时依然携带该路由
将该路由的开销值改为16.保存在缓存中,之后周期更新时依然携带该路由。--------称为带毒传输
(为了传达这个地方去不了了)
垃圾回收计时器-----120S 无效计时器归0后开始计时,120s,时间到则将彻底删除不可达路由,之后周期更新也将不会携带。
因为异步周期更新的原因会导致出环的现象,说以RIP针对出环的问题做了RIP的破环机制。
RIP的破环机制
1.触发跟新:一旦拓扑结构发生变化,立即将变化信息发送出去
2.水平分割:从哪个口学来的路由就不再从哪个口发出去。
3.毒性逆转:从哪个口学来的路由还从哪个口发,但是,必须带毒。
水平分割和毒性逆转只能二选其一,华为设备默认开启的是水平分割。华为设备如果毒性逆转和水平分割同时开启,则将按照毒性逆转的规则执行。
RIP的配置
1.启动RIP进程
[r1]rip 1 -----------数字代表进程号,仅具有本地意义,用来区分同一个路由器上运行不同的rip进程,如果不设定进程号,默认进程1
2.选择rip版本
[r1-rip-1]version 2
3.宣告
宣告的要求:
1.必须宣告所有直连网段
2.只能按照主类宣告
[r1-rip-1]network 1.0.0.0
[r1-rip-1]network 12.0.0.0
宣告的目的:
1.激活接口,只有激活的接口才能收发RIP的数据。
2.发布路由,只有激活的接口对应的路由信息才能通过RIP发送。
查看RIP的路由表display rip 1 route
,这里Sec指的是失效计时器
当我们删除了一个网段时,这里的Sec变成了垃圾计时器,可以看到Cost也已经变成16了
RIP的拓展配置
1.RIPV2手工认证
[r1-GigabitEthernet0/0/0]rip authentication-mode md5 usual plain 123456
md5指的是加密格式
usual是标准,配置手工认证时需要确保双方使用的标准是一样的
plain指的是本地存储是以密文还是明文存储
可看看到本地缓存是以明文方式存储的,因为我使用的是plain
可看看到本地缓存是以密文方式存储的,因为我使用的是cipher
2.RIPV2手工汇总
把下面两个网段汇总成一个
[r1-GigabitEthernet0/0/0]rip summary-address 192.168.0.0 255.255.254.0
3.沉默接口
作用:只能接受RIP的数据,不能发送RIP数据
[r1-rip-1]silent-interface ?
Cellular Cellular interface
GigabitEthernet GigabitEthernet interface
all All the interfaces
disable Override silent-interface configuration and make the
interface active
[r1-rip-1]silent-interface g
[r1-rip-1]silent-interface GigabitEthernet 0/0/1
4.加快收敛----减少计时器
注意:修改计时器时不能不能破坏计时器之间的倍数关系=
[r1-rip-1]timers rip ?
INTEGER<1-86400> Periodic update time (seconds)
[r1-rip-1]timers rip 30 ?
INTEGER<1-86400> Age time (seconds)
[r1-rip-1]timers rip 30 180 ?
INTEGER<1-86400> Garbage collection time (seconds)
[r1-rip-1]timers rip 30 180 120
5.缺省路由
在边界路由器上配置,使边界路由器作为缺省源,内网其他路由器将自动下发一条指向缺省源方向的缺省路由,边界路由器本省的缺省路由必须手工配置。
[r3-rip-1]default-route originate
OSPF(动态路由协议)
评判路由协议好坏主要有哪些方面?
1.占用资源少
2.收敛速度快
3.选路是否合理
总结:选路佳,收敛块,占用资源少
RIP--------使用距离矢量型协议
1.以跳数作为开销值进行选路,本身存在不合理性
2.由于RIP本身计时器时间较长,收敛速度较慢
3.RIP单个数据包占用资源并不算大,但是因为RIP存在30s一次的周期更新,所以,整体看来,RIP的资源占用很大。
由于RIP三个维度的表现都不算太好,所以,只能适用于中小型网络环境中。
OSPF(开放式最短路径优先算法)-----使用链路状态型协议
OSPF传递的是LSA信息------------链路状态信息
OSPF使用带宽作为开销值的
1.OSPF因为是链路状态性协议,所以,计算出的路径不会出现环路,并且,OSPF以带宽作为开销值进行选路,相较于跳数更加合理。所以,从选路的角度看,OSPF优于RIP。
2.由于OSPF的计时器时间短语RIP的计时器,所以,从收敛速度角度比较,OSPF由于RIP。
3.从单个数据包携带的数据量来看,因为OSPF携带的是拓扑信息(LSA),所以,数据量较RIP大很多。但是,由于RIP存在30S一次的周期更新,并且OSPF本身存在很多减少更新量的措施,所以,从整体的角度看,OSPF小优于RIP。
OSPF版本
OSPFV1
(在实验室阶段夭折了)
OSPFV2
:在IPV4上使用
OSPFV3
在IPV6上使用
RIPV2和OSPFV2对比
相同点:
1.OSPFV2和RIPV2都是无类别的路由协议,都支持VLSM,CIDR
(为什么OSPFV2也能叫无类别的路由协议:区域之间传递的是路由信息)
2.OSPFV2和RIPV2(224.0.0.9)都已组播的形式发送信息.
(OSPFV2的组播地址224.0.0.5、224.0.0.6)
3.OSPFV2和RIPV2都支持等开销负载均衡
不同点:
RIP只能使用于中小型网络,OSPF可以应用在大型网络当中
OSPF为了适应中大型网络环境,需要进行结构化部署----就是区域划分
如果只有一个区域的OSPF网络,我们将这样的网络称为
单区域OSPF网络
,如果存在多个区域的OSPF网络,我们将这样的网络称为多区域OSPF网络
区域划分的主要目的:
区域内部传递拓扑信息,区域之间传递路由信息。
区域边界路由器:充当连接两个区域的中间设备传递路由信息。
区域边界路由器(ABR)
:同时属于多个区域,并且一个接口对应一个区域。至少有一个接口属于骨干区域。区域之间可以存在多个ABR。一个ABR可以属于多个区域。
区域划分的要求:
1.区域之间必须存在ABR
2.区域划分必须按照星型拓扑结构划分----星型拓扑中间的区域称为骨干区域
3.OSPF存在区域编号—区域ID(area ID)由32位二进制构成。用点分十进制进行表达。骨干区域的area ID为0。
OSPF的数据包
hello包
作用:可以用来周期发现、建立和保活邻居关系。
周期
:OSPF的hello包默认10S为周期进行周期发送(特殊的网络环境是30S)
死亡时间(dead time):4倍的hello时间
RID------用来标定和区分OSPF网络中不同的路由器。
RID的要求:
1.全网(OSPF网络)唯一
2.格式统一 --------RID要求必须符合IP地址格式(由32位二进制构成,并且使用点分十进制表达)
RID的获取方式:
1.手工配置 -------仅需要满足以上两点要求即可
2.自动获取 ------路由器先从环回地址中选取数值最大的IP地址作为RID。若不存在环回地址,则将从本地的物理接口对应的IP地址中选取数值最大的IP地址作为RID。(hello包会携带RID)
DBD包
作用:是一个数据库描述报文,描述LSDB(数据链路状态数据库-----存储LSA信息),LSDB相当于携带的是一个“数据库的目录”,避免重复浪费
LSR包----链路状态请求报文----作用:基于DBD包请求未知的LSA信息
LSU包-------链路状态更新报文—作用:真正携带LSA信息的数据包
LSAck包--------链路状态确认报文-----确认包
OSPF的状态机
Init 初始状态
Two-Way 双向通信------标记着邻居关系的建立
通过条件匹配
才能进入下一个状态
主从关系选举:使用未携带数据的DBD包(主要目的是为了和之前的邻居关系进行区分,这里未携带数据指的是未携带它本职工作的数据,其实它是携带了RID的)进行主从关系选举,通过对比RID,RID大的为主,主可以优先进入下一个状态。
Full Stale:标志着邻接关系
的建立
Down状态
-------- 一旦启动OSPF,发送hello包进入下一个状态
Init状态(初始化转态)
-----当你收到一个hello包中包含本地的RID信息时,进入下一个状态。
Two-way(双向通讯)状态
:----标志着邻居关系的建立
Exstart(预启动)状态
:使用未携带数据的DBD包进行主从关系选举,RID大的为主,主可以优先进入下一个状态(还有一个作用,为主的发DBD包是会有一个序列号,为从的路由器发过去时也会携带序列号,这种行为成为隐形确定)
Exchange(准交换)状态
:使用携带目录信息的DBD包进行目录信息的共享,需要ACK确认。
Loading(加载)状态
:查看对端的DBD包与本端LSA信息进行对比,基于未知的LSA信息发送LSR包进行请求。对端使用LSU进行回复,需要ACK确认。
FULL(转发)状态
:标志着邻接关系的建立。
OSPF的工作过程
启动配置完成后,OSPF向本地所有运行OSPF协议的接口以组播(224.0.0.5)的形式发hello包。hello包中需要携带自身本地的RID及自身已知邻居的RID。之后,将收集到的邻居关系记录在一张表中-------(这张表叫做邻居表
)。
邻居表建立完成后需要进行条件匹配,失败则停留在邻居关系,仅使用hello包进行周期保活。
匹配成功,则开始建立邻接关系。首先需要使用未携带数据的DBD包进行主从关系选举。之后使用携带数据DBD包共享数据库目录。之后使用LSR/LSU/LSACK数据包来获取未知网段的LSA信息;完成本地数据库表
的建立。-----LSDB(链路状态数据库表)。
最后,基于本地的链路状态数据库,生成有向图及最短路径树,之后,计算本地到达未知网段的路由信息。生成的路由信息加载到路由表
中。
收敛完成后,OSPF需要10S一次使用hello包进行周期保活。每30分钟进行一次周期更新。
OSPF有周期更新30分钟一次,第一个原因,OSPF协议有一点不自信, 第二个原因:同一个网段可能发送多个LSA信息,数据库表会记录最新的一条,会给LSA添加一个序列号来判断新旧。序列号有上限,周期更新会刷新序列号。
结构突变
1.突然增加一个网段:触发更新,立即发送携带LSA信息的LSU包,需要ACK确认。
2.突然断开一个网段:触发更新,立即发送携带LSA信息的LSU包,需要ACK确认。
3.无法联系(比如路由器断电了)------40的死亡时间
OSPF的基本配置
1.启动OSPF进程
[r1]ospf 1 router-id 1.1.1.1 启动OSPF进程并设置RID
2.创建区域
[r1-ospf-1]area 0
3.宣告------宣告所有直连网段
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
这里的0.0.0.0 -----反掩码
反掩码由连续的1和连续的0构成的,其中0代表不可变位,1代表可变位
所以激活的是1.1.1.1这个ip,精准的宣告
[r1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255
这是宣告的一个范围
查看OSPF邻居表
[r1]display ospf peer
OSPF Process 1 with Router ID 1.1.1.1
Neighbors
Area 0.0.0.0 interface 12.0.0.1(GigabitEthernet0/0/0)'s neighbors
Router ID: 2.2.2.2 Address: 12.0.0.2
State: Full Mode:Nbr is Master Priority: 1
DR: 12.0.0.1 BDR: 12.0.0.2 MTU: 0
Dead timer due in 35 sec
Retrans timer interval: 5
Neighbor is up for 00:14:33
Authentication Sequence: [ 0 ]
Area:区域
Router ID:邻居的RID
Address:邻居的地址
State:状态
Mode:主从关系,Master是主关系,Slave是从关系
Priority:优先级(越大的优先级越高)
DR:指定路由器
BDR:备份指定路由器
查看OSPF的数据库表
[r1]display ospf lsdb
查看一条LSA信息
[r1]display ospf lsdb router 2.2.2.2
查看路由表
[r1]display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
2.2.2.1/32 OSPF 10 1 D 12.0.0.2 GigabitEthernet 0/0/0
3.3.3.1/32 OSPF 10 2 D 12.0.0.2 GigabitEthernet 0/0/0
23.0.0.0/24 OSPF 10 2 D 12.0.0.2 GigabitEthernet 0/0/0
2.2.2.2/32代表主机路由
OSPF在华为体系中默认优先级为10。
OSPF是以带宽作为开销值的度量标准。
COST==参考带宽/真实带宽 ---华为的默认的参考带宽是:100Mbps
假如真实带宽是1000Mbps
100/1000算出来是小数,但是cost只接受整数,100/1000cost值为1
修改参考带宽
[r1-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
[r1-ospf-1]bandwidth-reference 1000
注意:参考带宽一旦修改,OSPF网络内所有设备必须均修改成相同的
条件匹配
指定路由器------DR
备份指定路由器------DR
一个广播域中,在DR和BDR都存在的情况下,至少需要四台路由器才能看到邻居关系
条件匹配:在一个广播域中,若所有设备均为邻接关系,将出现大量的重复更新:故需要进行DR/BRD选举;所有非DR/BDR的设备之间仅维持邻居关系。
DR/BRD的选举
1.比较优先级。优先级最大的为DR,次大的为BDR。优先级初始的默认值为1.
设置优先级:
[r1-GigabitEthernet0/0/0]ospf dr-priority ?
INTEGER<0-255> Router priority value
[r1-GigabitEthernet0/0/0]ospf dr-priority 1
优先级的取值范围0-255.若优先级设置为0,则代表放弃DR/BDR选举。
2.如果优先级相同,则比较RID。RID大的路由器对应接口为DR,次大的为BDR。
拓展配置
1.手工认证
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
用法跟RIP基本一致,需要注意的是这里的Key ID两边必须一样
2.手工汇总----区域汇总
把下面三个网段汇总成一个
[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.252.0
3.沉默接口
只能对物理接口使用。不能对环回接口使用
[r2-ospf-1]silent-interface GigabitEthernet 0/0/2
4.加快收敛
[r2-GigabitEthernet0/0/0]ospf timer ?
dead Interval after which a neighbor is declared dead
hello Time between HELLO packets
ldp-sync Specify LDP-OSPF synchronization timer interval
poll Interval for sending Poll Hello packet in the NBMA network
retransmit Retransmit interval
[r2-GigabitEthernet0/0/0]ospf timer he
[r2-GigabitEthernet0/0/0]ospf timer hello ?
INTEGER<1-65535> Second(s)
[r2-GigabitEthernet0/0/0]ospf timer hello 5
注意:修改hello时间,死亡时间会自动按照4倍关系进行匹配
注意:邻居之间hello时间(死亡时间)必须相同,否则无法建立邻居关系
5.缺省路由
[r3-ospf-1]default-route-advertise
主语:这样下发缺省必须要求边界路由器自身具备缺省路由
[r3-ospf-1]default-route-advertise always
加always可以强制下发缺省信息