1.路由概述
基本概念
网段间通讯:一个典型的数据通信网络中存在多个不同的IP网段,数据在IP网段间交互要借助具备路由能力的三层设备,从而实现数据的跨网段转发。
路由Rout/Routing是指导报文转发的路径信息,通过路由可以确认转发IP报文的路径,是数据通信网络中最基本的要素。路由过程就是报文转发的过程。
路由设备是依据路由转发报文到目的网段的网络设备,最常见的路由设备:路由器Router。 路由设备维护着一张路由表Routing table,保存着路由信息(指导报文转发的路径信息)。
网关gateway通常是一台三层网络设备(路由器、三层交换机、防火墙、服务器),网关地址:设备的接口地址 通常是1或254(网段中的第一个或者最后一个,好记)
路由信息
目的网络:标识目的网段
掩码:与目的地址共同标识一个网段
出接口:数据包被路由后离开本路由器的接口
下一跳(next hop):路由器转发到达目的网段的数据包所使用的下一跳地址
这些信息标识了目的网段、明确了转发IP报文的路径。
路由表
路由器通过各种方式发现路由,选择最优的路由条目放入路由表中
路由表中地址可以和目标地址不同,但目标地址始终得和路由表地址在同一网段
路由表指导设备对IP报文的转发
路由器通过对路由表的管理实现对路径信息的管理
当路由设备收到一个IP数据包时,查看IP头部中的目的IP地址,并在路由表中进行查找,在匹配到最优路由后,将数据包发给路由所指的出接口或下一跳。
查看路由表:display ip routing-table (windows)route print
总结
路由器两个接口的IP应在不同网段
当目标IP地址与源IP地址不在同一网段时,数据需要通过网关到达目标IP地址
当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,会选择路由优先级值最小的路由;如果这些路由学习自相同的路由协议,则优选度量值最优的。总之,最优的路由加入路由表。
当路由器收到一个数据包时,会在自己的路由表中查询数据包的目的IP地址。如果能够找到匹配的路由表项,则依据表项所指示的出接口及下一跳来转发数据;如果没有匹配的表项,则丢弃该数据包。
路由器的行为是逐跳的,数据包从源到目的地沿路径每个路由器都必须有关于目标网段的路由,否则就会造成丢包。
数据通信往往是双向的,因此要关注流量的往返(往返路由)。
最优路由条目优选
查看路由表
路由表字段含义
Destination/Mask:将目的地址和子网掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。例如:目的地址为1.1.1.1,掩码为255.255.255.0的主机或路由器所在网段的地址为1.1.1.0。
NULL0:黑洞(把包丢了)
路由优先级
当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,路由器会比较这些路由的优先级,优选优先级值最小的路由。
路由来源的优先级值(Preference)越小代表加入路由表的优先级越高。
拥有最高优先级的路由将被添加进路由表。
路由来源 | 路由类型 | 华为默认优先级 |
直连路由 | 直连路由 | 0 |
静态路由 | 静态路由 | 60 |
动态路由 | OSPF内部路由 | 10 |
RIP | 100 | |
OSPF外部路由 | 150 |
度量值Cost
当路由器通过某种路由协议发现了多条到达同一个目的网络的路由时(拥有相同的路由优先级),度量值将作为路由优选的依据之一。
路由度量值表示到达这条路由所指目的地址的代价。
一些常用的度量值有:跳数、带宽、时延、代价、负载、可靠性等。
度量值数值越小越优先,度量值最小路由将会被添加到路由表中。
等价路由ECMP(Equal Cost Multi-Path)
都相同的情况下全都加入路由表
多条等价路由可以实现负载分担 五元组完全相同—数据流
路由转发
最长匹配原则(寻找下一跳)
当路由器收到一个IP数据包时,会将数据包的目的IP地址与自己本地路由表中的所有路由表项进行逐位(Bit-By-Bit)比对,直到找到匹配度最长的条目,这就是最长前缀匹配机制。
路由条目生成
路由信息获取方式
直连路由Direct
生成条件:接口配置IP地址+UP
直连路由指向本地直连网络的路由,由设备自动生成。
当路由器为路由转发的最后一跳路由器时,IP报文匹配直连路由,路由器转发IP报文到目的主机。
使用直连路由进行路由转发时,报文的目的IP和路由器接口IP在一个网段之中。
并非所有接口生成的直连路由都会出现在路由表中,直连路由出现在路由表中的前提是该接口的物理状态、协议状态都为UP。
命令忘记,敲“?” tab补全
ping 2.0.0.1 (左边)
2.静态路由Static
静态路由由网络管理员手动配置,配置方便,对系统要求低。
适用于拓扑结构简单并且稳定的小型网络。
缺点是不能自动适应网络拓扑的变化,需要人工干预。
在大型网络中往往采用动、静路由结合的方式进行部署。
静态路由配置
ip route-static 目标网络 { 子网掩码|前缀 } { 下一跳地址|出接口 }
关联下一跳IP的方式
[Huawei] ip route-static ip-address { mask | mask-length } nexthop-address
关联出接口的方式
[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number
关联出接口和下一跳IP方式
[Huawei] ip route-static ip-address { mask | mask-length } interface-type interface-number [ nexthop-address ]
在创建静态路由时,可以同时指定出接口和下一跳(能写下一跳就写下一跳)。对于不同的出接口类型,也可以只指定出接口或只指定下一跳。
对于点到点接口(如串口),只需指定出接口。S P(pos)
对于广播接口(如以太网接口GE)和VT(Virtual-template)接口,必须指定下一跳。
配置举例
RTA与RTC上配置静态路由,实现10.0.0.0/24与20.1.1.0/24的互通。
因为报文是逐跳转发的,所以每一跳路由设备上都需要配置到达相应目的地址的路由。
另外需要注意通信是双向的,针对通信过程中的往返流量,都需关注途径设备上的路由配置。
R2回不去 通讯是双向的
方法
R1 已知3 未知1
R2 已知2 未知2
配错一定要删掉
缺省/默认路由
缺省路由是一种特殊的路由,当报文没有在路由表中找到匹配的具体路由表项时才使用的路由,能匹配所有目标网络。如果报文的目的地址不能与路由表的任何目的地址相匹配,那么该报文将选取缺省路由进行转发。
缺省路由在路由表中的形式为0.0.0.0/0。
应用场景:一般用于边界网络(家庭上网、企业网络出口),配置一条缺省路由让出口设备能够转发前往Internet上任意地址的IP报文。
3.动态路由OSPF
路由协议概述
路由器之间交互的一种语言,共享路由信息,维护路由器、提供最佳转发路径
当网络规模越来越大时,使用手动配置静态路由的方式获取路由条目将变得越发复杂,同时在拓扑发生变化时不能及时、灵活响应。动态路由协议能够自动发现和生成路由,并在拓扑变化时及时更新路由,可以有效减少管理人员工作量,更适用于大规模网络。
分类
按工作区域分类
IGP:用于一个AS内部交互路由信息。路由器相互信任(同一管理机构)路由数量较少,注重发现路由,不需要什么策略。
EGP:用于不同AS之间交互路由信息。路由器并非相互信任(不同管理机构)路由数量庞大,注重于引入路由,策略丰富。
AS(autonomous system)自治系统:处于同一管理机构下的网络(如:企业、电信、移动、联通)
根据工作机制及算法分类
DV 距离矢量(distance-vector)根据跳数来选择路由 | 基于距离矢量算法,路由器并不了解网络拓扑信息交互路由信息都会修改原始参数 (类似路旁,道听途说)如:RIP、EIGRP |
LS 链路状态 (link-state) 根据链路带宽来选择路由 | 基于SPF算法(shortest path first 最短路径优先),路由器了解完整的网络交互路由信息直接传递不会修改原始参数(类似地图,完整)如:OSPF、ISIS |
根据发送的更新是否携带掩码分类
Classful有类 | 不携带掩码如:RIPv1、IGRP、EGP 不携带掩码:默认的路由掩码都是默认的,影响路由选路 |
clasless无类 | 携带掩码如:RIPv2、EIGRP、OSPF、BGP |
根据业务应用
Unicast routing protocol 单播路由协议 | RIP、EIGRP、OSPF、BGP、ISIS |
Multicast routing protocol 组播路由协议 | DVMRP、PIM-SM、PIM-DM |
路由协议配置规则
协议是在接口上运行的(需要宣告接口的IP地址/接口开启协议)
只能学习和发布运行相同协议的路由信息(不同路由协议之间互不干扰)
不同路由协议之间需要交互路由信息,需要进行引入/注入(Import)
注:引入必须要同时运行多个协议的路由器做中间人/代理
路由器收敛
当所有路由表的信息都有一致的网络可达信息(相同的目的地址)
网络(路由)进入一个稳定状态
网络在达到收敛前无法完全正常工作
选择/衡量动态路由协议的一些性能指标
正确性 | 能够正确的找到最优且无环的路由 |
收敛快 | 当网络发生变化后,能够快速做出响应 |
低开销 | 协议自身的开销(占用内存、CPU、带宽) |
安全性 | 协议具有安全机制 |
普适度 | 适合各种拓扑结构和各种规模的网络 |
4.路由高级特性
路由递归/路由迭代
路由必须有直连的下一跳才能够指导转发,但是路由生成时下一跳可能不是直连的,因此需要计算出一个直连的下一跳和对应的出接口,这个过程就叫做路由递归。
查看无效的路由表项
解决方案
等价路由
浮动路由
浮动路由是主用路由的备份,保证链路故障时提供备份路由。主用路由下一跳可达时该备份路由不会出现在路由表。
等价路由修改优先级得到浮动路由(数字越小越优先)
CIDR(classless inter-domain routing,无类别域间路由)
CIDR采用IP地址加掩码长度来标识网络和子网,而不是按照传统A、B、C等类型对网络地址进行划分。
CIDR容许任意长度的掩码长度,将IP地址看成连续的地址空间,可以使用任意长度的前缀分配,多个连续的前缀可以聚合成一个网络,该特性可以有效减少路由表条目数量。
路由汇总-精确汇总
路由汇总将一组具有相同前缀的路由汇聚成一条路由,从而达到减小路由表规模以及优化设备资源利用率的目的。
路由汇总采用了CIDR的思想:将相同前缀的地址聚合成一个。
汇聚之前的这组路由称为精细路由或明细路由,汇聚之后的这条路由称为汇总路由或聚合路由。
基于一系列连续的、有规律的IP网段,如果需计算相应的汇总路由,且确保得出的汇总路由刚好“囊括”上述IP网段,则需保证汇总路由的掩码长度尽可能长。
诀窍在于:将明细路由的目的网络地址都换算成二进制,然后排列起来,找出所有目的网络地址中“相同的比特位”。
汇总的范围太广,将另一网段也包括在内,导致流量发错,造成数据包的丢失,这种路由为不精确的路由。为此配置汇总路由时要尽量精确,刚好包括所有明细路由。
引发的问题-环路问题
解决方案
在RTB上增加一条指向Null0的路由,即可解决上述问题。因此,在部署路由汇总的时候要格外注意,要规避环路问题。
loop back接口:回环口,逻辑、虚拟的接口
命令 | 备注 |
Interface loopback 0 | 创建配置一个回环口 |
作用 | 模拟直连网段,可用于测试设备稳定(配置地址永久开启)供其他协议使用(OSPF、BGP、MPLS)SNMP Traps消息的源地址其他用途(用途十分广泛) |