路由器(Router)是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网使用的以太网协议,因特网使用的TCP/IP协议。这样,路由器可以分析各种不同类型网络传来的数据包的目的地址,把非TCP/IP网络的地址转换成TCP/IP地址,或者反之;再根据选定的路由算法把各数据包按最佳路线传送到指定位置。所以路由器可以把非TCP/IP网络连接到因特网上。
路由器是一种三层设备,是使用IP地址寻址,实现从源IP到达目标IP地址的端到端的服务,其工作原理如下:
路由器通过路由表转发数据,路由表中的条目又分为直连网段和非直连网段。直连网段的路由由本地接口自动形成,非直连网段需要静态路由或动态路由,将网段添加到路由表中
静态路由是由管理员手动配置的,是单向的,它的特点是缺乏灵活性,只适用于中小网络需要配置的路由条目少的情况。
华为设备静态路由命令:
ip route-static <对方网段> <子网掩码> <下一跳IP>
当路由器在路由表中找不到目标网络的路由条目时,路由器把请求转发到默认路由接口,默认路由的表示形式为 0.0.0.0/0,默认路由只有在网络的末节才可以使用。
默认路由命令
ip route-static 0.0.0.0 0.0.0.0 <下一跳IP>
#默认路由是静态路由的一种
有时候我们会设置浮动路由,浮动路由指的是配置两条静态路由,默认选取链路质量优(带宽大的)作为主路径,当路径出现故障时,由带宽较小的备份路由顶替,保持网络的不中断。
浮动路由命令
ip route-static <对方网段> <子网掩码> <下一跳IP> preference <优先级>
#默认静态路由的优先级为60,备份路由的优先级要比60大
动态路由协议分类:
动态路由是基于动态路由协议实现的,不需要手动书写,路由器之间会互相学习,动态路由在一定程度上减少了管理任务,但也有缺点,会占用网络带宽。
RIP是距离-矢量型动态路由协议,使用“跳数”(即metric)来衡量到达目标地址的路由距离,为了防止出现路由环路,限制了最大跳数为15跳,16跳为不可达。RIP进程使用UDP的520端口来发送和接收RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷新,则相应的距离就被设定成无穷大,并从路由表中删除该表项。
RIP有V1和V2两个版本,V1提出较早所有有非常多的缺陷,V2支持子网路由选择,支持CIDR,支持组播,并提供了验证机制。但是RIP为了解决环路问题,限制了最大跳数为15跳,使得RIP不太适用于大型网络。随着OSPF和IS-IS的出现,很多人认为RIP已经过时了,不过RIP占用带宽小,易于配置、管理等特点使其非常适用于小型网络。
RIPV1和RIPV2的区别:
版本 | RIPV1 | RIPV2 |
---|---|---|
区别 | 有类路由协议 | 无类路由协议 |
广播更新255.255.255.255 | 组播更新224.0.0.9 | |
不支持VLSM | 支持VLSM | |
自动路由汇总,不可关闭 | 自动汇总可关闭,可手动汇总 | |
不支持不连续子网 | 支持不连续子网 |
华为设备RIP命令:
rip #进入RIP协议
undo summary #关闭路由自动汇总
version 2 #版本2,dis this查看,命令提示符还是显示的1
network <直连网段> #宣告直连网段
display rip <版本> route #查看rip路由
OSPF是链路状态路由协议,一般用在同一个AS(自治系统)内.
OSPF的工作原理:两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息(LSA)形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表。
OSPF基本特点:
工作流程简述:
建立邻接关系–链路状态数据库–最短路径树–路由表
OSPF区域:
为了适应大型网络,OSPF在AS内划分多个区域,每个OSPF路由器只负责维护所在区域的完整链路状态信息。
OSPF的区域分为骨干区域 area 0 和非骨干区域(除了0以外的所有区域),OSPF区域的维护依赖 area 0 骨干区域路由信息的中转,非骨干区域不能脱离骨干区域存在,若只有一个单区域,那一定是area 0。非骨干区域主要有四种,末梢、完全末梢、次末节、完全次末节。
Router ID:
router id 是OSPF区域内唯一标识路由器的IP地址。
选取router id的规则:
DR/BDR和DRothers:
在网络中任意两台路由器之间都要交换路由信息,如果网络中有n台路由器,则需要建立n(n-1)/2个邻接关系,这使得任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源。为解决这一问题,OSPF协议定义了指定路由器DR,备份指定路由器BDR和其他路由器DRothers。
DR/BDR选举过程:
224.0.0.5--DRothers的组播地址
224.0.0.6--DR/BDR的组播地址
设置DR/BDR优先级命令:
reset ospf process #重启ospf
ospf dr-priority ? #设置DR/BDR优先级
dis ospf interface #查看DR/BDR
OSPF数据包类型
OSPF包类型 | 描述 |
---|---|
HELLO包 | 用于发现和维持邻居关系 |
DBD数据库描述包 | 用于向邻居发送摘要信息以同步链路状态数据库,选举DR/BDR |
LSR链路状态请求包 | 在路由器收到包含新信息的DBD后发送,用于请求更详细的信息 |
LSU链路状态更新包 | 收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA |
LSAck链路状态确认包 | 确认已经收到的LSU,每个LSA需要被分别确认 |
OSPF多区域
OSPF根据网段来划分区域,同一网段必须在同一个区域内,多区域的拓扑结构为花瓣型,其他区域必须与 area 0 直连才可通信,如果不能直连,则需要配置虚链路。OSPF多区域内的路由器主要划分为下面几种:
简写 | 含义 |
---|---|
IR | 内部路由器(internal router) |
ABR | 区域边界路由器(area border router) |
BR | 骨干路由器(backbone router) |
ASBR | AS边界路由器(AS boundary router) |
查看LSA命令
(1)查看1类LSA(区域内路由)
display ospf lsdb router
(2)查看2类LSA(DR通告本区域路由)
display ospf lsdb network
(3)查看3类LSA(区域间LSA)
display ospf lsdb summary
(4)查看4类LSA(外部指向ASBR路由)
display ospf lsdb asbr
(5)查看5类LSA(外部路由)
dis ospf lsdb ase
(6)查看7类LSA(nssa 区域产生的外部路由)
diplay ospf lsdb nssa
OSPF四种特殊区域
参考:https://www.ibadboy.net/archives/1622.html
传统路由器在转发每一个分组时,都要进行一系列复杂操作,包括路由查找、访问控制表匹配、地址解析、优先级管理以及其他附加操作。这些操作大大影响了路由器的性能与效率,降低了分组转发速率和转发的吞吐量,增加了CPU的负担。经过路由器的前后分组间的相关性很大,具有相同目的地址和源地址的分组往往连续到达,这为分组的快速转发提供了实现的可能与依据。新一代路由器,如IP Switch、Tag Switch等,就是采用这一设计思想用硬件以实现快速转发,从而大大提高了路由器的性能与效率。