路由部分

One.IP路由基础


1.1路由器

  • 路由器:一个接口为一个广播域IP选路和路由器工作原理
    路由器可以区分广播域和冲突域
    工作在网络层,可以根据目的IP进行数据的转发或者接收
    路由器在转发数据的时候,可以选择一条路由器本身认为最优的路径

    路由器是根据路由表进行路径选择
    路由表简单理解就是指导路由器进行数据转发的地图
    路由器收到一个数据,解封装到网络层,发现目的IP不是自己,则进行数据转发…转发数据的时候,路由器会查询路由表,根据路由表选择一条最优的路径,并进行MAC重新封装再转发…
    –如果路由表没有数据的目的IP相关的信息
    –则路由器将该数据丢弃…


1.2路由表

  • 路由表组成:
    目的地址:表示能够前往的目的信息 目的IP+掩码
    NextHop(下一跳):指明IP数据包经过的下一台路由器的接口IP地址(通过下一跳的IP获取相应的MAC)告诉我们下一跳的MAC地址是多少
    出接口(Interface):指明该IP数据包应该从哪个接口发送出去

  • 路由表的形成:
    1、通过配置IP可以形成一条路由信息(直连) 比如IP地址为192.168.1.10/24,则路由表中为192.168.1.0/24
    2、手动配置(静态路由):手动指明目的是什么,下一跳,出接口,以及优先级
    3、动态:通过路由协议进行路由信息的获取

  • 路由选择
    同一个目的地址192.168.1.0

    1. 如果是不同来源
      优先级:用来判断不同的路由来源,哪个比较优
      直连优先级为0 静态优先级为60 动态不同协议不同优先级(RIP:100,OSPF:10)
      优先级的数值越低越优先

    2. 如果同一个来源,有不同路径
      cost(开销值):用来判断同一个来源,不同的路径优先级
      比如:RIP通过跳数(hop),经过几台路由器
      cost的数值越低越优先

    3. 如果同一个目的地址,同来源,同COST
      则进行负载分担(负载均衡)

    直连的cost值一般为0

    假设数据报文中目的IP是192.168.1.1
    路由器的路由表有如下几条
    192.168.1.1/32 RIP 100
    192.168.1.0/24 OSPF 10
    192.168.0.0/16 静态 60
    最长掩码匹配原则(越精确越优先) 有多个匹配目的网络的路由条目,则路由器会选择掩码最长的条目.
    192.168.1.0000 0001
    192.168.1.0000 000
    192.168.1.0000 00

    路由器在匹配数据报文的目的IP的时候
    1、最长掩码匹配
    2、判断最优的来源
    3、判断最优的cost
    4、负载均衡


1.3下一跳和出接口

  • 需要知道下一跳(获取对方的MAC地址)和出接口(可有可无,路由器可以自行判断)才能将数据转发出去

  • 网络中存在两种链路

    1. 以太网(可以同时连接多个主机或网络互联设备)
      在以太网中配置静态路由,下一跳必须填写,出接口可写可不写
    2. 串行链路(同一条链路只能连接A和B):
      串行的底层协议不需要MAC地址
    3. 下一跳和出接口任选一个

1.4 三种特殊路由

  • goktech

    1. 路由器查询的时候是进行的全表查询

    2. 负载分担:
      逐流分载(针对的是不同的端)
      逐包分载(实现线路利用的最大化)
      –目的地址,掩码,优先级,开销值均一致 多条链路同时使用

    3. 浮动路由(路由备份):多条链路中,部分链路使用,部分链路进行备份
      –原理:修改静态路由的优先级
      比如目的地址192.168.1.0/24
      1、下一跳:1.1.1.1 优先级为60
      2、下一跳:2.2.2.2 优先级为70
      这个时候,路由器只会将最优的路径显示到路由表中,另外一条次优路由会被隐藏在路由器的数据库中.
      正常情况下,最优的路由会显示在路由表中并使用.如果最优的路由出现路径故障,次优的会显示到路由表中并使用,故障的路由则被隐藏到数据库中.

    4. 缺省路由(默认路由)
      目的地址和掩码全为0
      当路由表中没有任何一条路由能够进行数据匹配,则使用默认路由进行数据转发
      默认路由一般用于:连接Internet的出口 也可以用于一个最边界的设备连接其他网络
      优点:减少配置量
      缺点:不安全
      缺省路由优先级是60(静态路由),但是匹配的优先级为最低

ONE OVER


Two.静态路由

2.1静态路由的配置

由管理员手动指定的 目的地址 掩码 优先级 下一跳 出接口的路由信息
指令 ip route-static 192.168.1.0 255.255.255.0(24) 10.1.1.1 s2/0/0
表示开始配置静态路由 表示目的地址+掩码 下一跳 出接口
ip route-static 目的地址 掩码 下一跳 出接口


2.2静态路由的特点:

适用于小型网络环境
配置量较大
不能随着网络的变更自行更新

TWO OVER


Three.距离矢量路由协议RIP

距离矢量路径协议:RIP

协议优先级–管理距离
cost–度量值

3.1RIP的介绍

  • 动态路由协议:RIP
    工作在应用层,使用了UDP协议,并且端口号是520
    RIP协议优先级:100
    RIP使用的cost值(开销值)是跳数(hop)
    RIP版本分为v1版本和v2版本.

  • 距离矢量路由协议:通过动态学习,能够知道目的地址和掩码的信息…同时知道去往该目的地址方向是什么,距离是多远…但是中间会经过哪些谁,经过哪些路径,并不能得知…

  • RIP特点:1、配置简单 2、适用于小型网络 3、配置量小,路由信息可以随着网络的变动自动更新 4、易于维护

  • RIP是一种比较简单的IGP协议(内部网关路由协议)


3.2RIP的工作机制

  • goktech
    1、路由器第一次运行RIP的时候,会发送一个RIP的request:为了请求更新(请求对方路由器将路由信息发送给自己) 第一次才会发送
    2、收到请求的路由器会将自己的路由信息(加入了RIP协议的)回应给请求方 response
    3、第一次的请求–响应交换完成之后,路由器会周期性发送response响应 周期时间为30s

  • 关于跳数:
    对于一条路由信息来说,起始路由器上该路由条数为0.该起始路由器向外发送response响应的时候,会将跳数hop+1,后续每一台路由器向外发送response的时候,hop+1
    跳数最大上限为15跳,0-15跳可用,16跳表示不可达.

  • RIP发送消息的时候

    1. 如果是RIPv1版本,则发送广播消息,目的地址为255.255.255.255
    2. 如果是RIPv2版本,则发送组播或者广播消息,目的地址为244.0.0.9或者255.255.255.255
    3. 224.0.0.9:专门用来作为RIP的路由协议目的地址,只有开启了RIP的路由器才能接受并处理
  • RIP三种时间的介绍
    三种时间:更新周期(30s) 老化时间(180s) 垃圾收集时间(120s)

    1. 更新周期:30s
    2. 老化时间:180s
      路由器会认为该路由可能不可达,跳数设置为16
      此时该路由条目并没有被删除,继续保持在路由表中
    3. 垃圾收集时间:120s
      在到达老化时间(180s)之后,记120s,之后将该路由删除…
    4. RIP路由器收到一次更新,就将路由条目从0开始计时

3.3RIP两种版本的比较

RIPv1 vs RIPv2

  • 认证只是为了识别RIP报文是否合法,而不是进行数据加密
    认证分为:
    1、明文认证:数据传输过程中,密码明文显示
    2、MD5认证 密文认证

  • goktech
    RIPv1是有类路由协议,不支持VLSM和CIDR
    RIPv1版本发送response报文的时候,不会带掩码信息.
    RIPv1是通过IP前缀判断掩码信息
    RIPv2是无类路由协议,支持VLSM和CIDR
    RIPv2发送response的时候,会携带掩码信息…

  • RIPv1报文结构:
    command:表示报文是请求还是响应,1表示请求,2表示响应
    version:版本
    address family identifier:AFI,表示支持的协议类型 比如支持IPv4
    IP address:表示目的地址所在的网段(通过network宣告的网段)
    metric:cost值,度量值,也就是跳数

  • RIPv2报文结构:
    command:表示报文是请求还是响应,1表示请求,2表示响应
    version:版本
    address family identifier:AFI,表示支持的协议类型 比如支持IPv4
    route tag:用来标识路由,比如非RIP路由进入RIP区域,可以进行标识
    IP address:表示目的地址所在的网段(通过network宣告的网段)
    subnet mask:子网掩码
    next-hop:表示下一跳 正常情况下,RIP的路由更新之后,路由器会认为下一跳就是发送更新的那个人
    metric:cost值,度量值,也就是跳数

  • 认证
    AFI:0xffff(表示该项剩下的部分为认证信息)
    MD5雪崩效应(完整性校验) 哈希算法 MD5不能进行逆推 (部分可以推算出来,撞库)
    R1对密码进行MD5 R2也对自己的密码进行MD5算出128bit
    Authentication:认证方式 明文密文


3.4RIP的更新机制

  • 一是定期更新,二是触发更新。“定期更新”是根据设置的更新计时器定期发送RIP路由通告。该通告报文中携带了除“水平分割”机制抑制的RIP路由之外本地路由器中的所有RIP路由信息。而“触发更新”则是RIP路由器仅在有路由表项发生变化时发送的RIP路由通告,仅携带本地路由表中有变化的路由信息
  • RIP路由的更新规则如下:
    1. 更新的某路由表项在路由表中没有,则直接在路由表中添加该路由表项;
    2. 路由表中已有相同目的网络的路由表项,且来源端口相同,那么无条件根据最新的路由信息更新其路由表;
    3. 路由表中已有相同目的网络的路由表项,但来源端口不同,则要比较它们的度量值,将度量值较小的一个作为自己的路由表项;
    4. 路由表中已有相同目的网络的路由表项,且度量值相等,保留原来的路由表项。

3.5RIP环路:

  • RIP环路产生原因:回环口172-R1------R2
    正常情况下,R1会将172作为response响应发送给R2
    R2学习到172的条目,下一跳是R1,跳数为1
    同时到周期更新的时候,R1 R2会交互172,但是R1因为自己的172是直连,所以不学习,R2会刷新学习

    R1的172出现故障的时候,刚好R2将该路由更新发送给R1
    就会导致R1学习到172的条目,下一跳是R2,跳数为2
    此时就会出现R1和R2路由器上172的条目互指(出现互指即为环路)

  • 解决方法:
    1、最大跳数15跳,16跳不可达.(理论有效,实际无效) 两台路由器之间交互更新,每一次跳数+1,直到最后有一台路由器收到跳数为16
    2、水平分割:从A路由器收到的信息,不再转发给A 从某个接口收到的路由更新,不会再从该接口发送出去.
    3、触发更新:当路由发生变动的时候,直接发送变化后的response报文 比如R1的172条目发生故障,则直接告知R2,该条目故障
    4、路由中毒:将故障条目置位16跳
    触发更新和路有中毒一般是一起用的
    5、毒性逆转:收到中毒消息的路由器,直接向发送方回应response消息 比如R1发送16跳的信息,则R2回复16跳的更新
    6、老化时间&垃圾收集时间:水平分割开启的情况下,即R2不会对R1进行交互

  • 水平分割和毒性逆转会冲突:
    如果两者一起开启,则毒性逆转生效
    默认情况下,水平分割开启


3.6RIP命令(HUAWEI):

  • 协议视图配置:
    rip:表示开启rip协议
    version 2:表示修改版本为v2
    network 10.0.0.0:表示宣告10开头的所有接口(将10开头的所有路由信息加入RIP)
    network后面写的是主类:A类写x.0.0.0 B类写x.x.0.0 C类写x.x.x.0

正常情况下:RIP路由器发送RIP的response是,hop+1…RIP路由器正常情况下接收response时,hop+0(改变策略)

  • 接口视图配置
    rip metricout 2 //表示将发送时的hop+2
    rip metricin 2 //表示接收的时候,也对hop值进行增加,hop+2

  • 接口视图下开始RIP认证
    rip authentication-mode simple(MD5) cipher(plain) 123
    //表示接口开启RIP认证,认证方式为明文,密码为123
    rip authentication-mode md5 nonstandard plain 123 10
    //表示接口开启RIP认证,认证方式为MD5,标准为IETF标准,密码为123,KEY ID为10,同时本地存储为明文 Hash只算密码,key id也要相同,不然不通过,二次校验码,更换密码不中断,华为同一时间之内只能存在一个key id…两端的密码和key id一定要相同

  • 查看一个接口配置了哪些RIP参数:
    display rip 1 interface G0/0/0 verbose

  • 查看RIP协议配置
    display cu conf rip

  • 针对RIP报文:
    接口视图下
    禁止RIP发送数据或者禁止接收数据
    undo rip input
    undo rip output
    表示禁止发送和接收rip报文,其他报文正常通过

    该禁止接收发送另外一种方式:静默接口
    协议视图下:silent-interface g0/0/0 //表示禁止g0/0/0接口向外发送RIP报文,但是允许接收RIP报文

  • 汇总:
    假设目的地址为172.16.1.0 172.16.2.0 172.16.3.0
    对于RIP来说,需要通过命令告知路由器进行汇总
    协议视图下
    summary always:表示开启强制自动汇总
    undo summary:表示关闭汇总
    RIP默认情况下有开启汇总,但是被水平分割抑制

    手工汇总:接口视图下:rip summary address 172.16.0.0 22 //表示手动对路由进行汇总
    什么时候会汇总:
    当路由器发现发送路由的时候,发送的路由和接口主类不一致,则汇总…
    比如路由为172.16.1.0 172.16.2.0 172.16.3.0 但是接口是10.1.1.1
    一个主类是172.16.0.0 一个主类是10.1.1.1
    主类不一致,则发生自动汇总,汇总成172.16.0.0/16

THREE OVER


Four.OSPF概述与实验

4.1OSPF的背景

  • 链路状态路由协议-OSPF(全称:开放式最短路径优先)
    (无环的路由协议)OSPF邻接关系建立过程
    由IETF组织制定
  • IGP:内部网关路由协议(RIP、OSPF、EICRP:思科私有、IS-IS)
    EGP:外部网关路由协议(EGP、BGP)
    由某个特定路由协议形成的网络称为自治区域
  • RIP的局限性
    D-V:收敛速度慢
    主动机:每隔30s自动发送报文
    被动机:自动接收报文
    收敛慢,容易产生环路,扩展性差

4.2OSPF的介绍

  • OSPF优先级:10

  • 采用SPF算法

  • 链路–>路由器接口
    状态–>描述接口及其与邻居路由器之间的关系

  • OSPF的优越性:

    1. 无环路
    2. 收敛快(1、区域划分,2、算法)
    3. 扩展性好(Options)
    4. 支持认证(哈希MD5认证)
  • 骨干区域(常规区域) 非骨干区域(非常规区域)
    要求:默认情况下,两个非骨干区域不能相邻

  • LSA:链路状态信息,LSDB:链路状态信息库(LSA的集合)
    一个网段既有一个LSA(包含网段信息…包含路由信息)
    LSA泛洪:转发给相邻的路由器…(从接口泛洪出去)
    链路信息收集
    最后整理为一个LSDB
    再经过SPF算法算出最短路径树
    度量值为开销值(开销值越低越快到达目标网络)
    开销值可基于带宽进行计算
    最后加工进一个路由表.


4.3OSPF三张表

  • 邻接表:列出本地路由器全部已经建立邻接关系的邻居路由器信息
  • 链路状态数据库LSDB:列出网络中其他路由器的信息,由此显示了全网的网络拓扑
  • 路由表:列出通过SPF算法计算出的到达每个相连网络的最佳路径

4.4Route ID

  • Route ID:是一个32位的值

  • 在自治系统中唯一标识一台运行OSPF的路由器,每台运行OSPF的路由器都有一个Router ID 可以是任意的IP地址

    1. 标识路由器的身份
    2. 选举DR,BDR的依据
  • Router ID的选举规则:

    1. 手动配置Router ID最优

    2. 若存在逻辑接口,则使用逻辑接口中最大的IP地址作为Router ID(回环口)

    3. 若没有逻辑接口,则使用活跃物理接口的最大IP地址作为Router ID(物理接口)

  • 主从关系:先比较优先级,优先级相同则比较Router ID…

  • 选举DR,BDR的作用:
    DR(指定路由器),BDR(备份指定路由器)
    尽可能少的建立邻接关系…
    同一个网段选举出一个DR和一个BDR
    Other DR:其他路由器

  • 基于这个原因会使用到两个组播地址:224.0.0.5 224.0.0.6
    224.0.0.6是由DR/BDR加入…BDR备份DR的邻接关系…
    而Other DR,BDR/DR加入224.0.0.5…建立起邻接关系,实现LSDB同步

  • 优先级为0表示不参加选举(ospf dr-priority X)
    X:0~255:ospf dr-priority X更改优先级
    重启进程进行重新选举

  • OSPF区域:骨干区域和非骨干区域

  • ABR:区域边界路由器(area broden router)
    ASBR:一边基于OSPF的协议,另一边是另外的协议


4.5OSPF邻接关系建立过程

  • OSPF为传输层协议,封装在IP报文中,协议号为89
  • OSPF报文类型有五种:
    1. Hello报文
    2. DD(Database Description)数据库描述报文:LSDB–DB
    3. LSR(Link State Request)链路状态请求报文
    4. LSU(Link State Update)链路状态更新报文
    5. LSACK(Link State Acknowledge)链路状态回复报文

邻居状态机

  • 邻居列表:Route ID
    双方都收到hello包,(其中一个包的邻居列表和接收方对应,则接收方进入Init状态…)
    并且邻居列表都是自己,就会进入2-way状态,邻居关系建立成功…
    40s之内如果没有建立起邻接状态,则进入down状态

  • 两台路由器A,B之间运行OSPF,互相发送hello报文…
    一开始路由器A发送给路由器B的hello报文中的邻居列表为空,路由器B收到之后进入init状态,并将其中的Router ID修改为路由器A的Router-ID,发送至路由器A…
    路由器A收到路由器B的回应后将路由器B的邻居状态置为2-Way状态
    反之同理
    一旦双方都收到活跃邻居为自己,则进入2-way状态…
    ——说明双方邻居建立成功

  • 双方从2-way状态从发送空的DD报文进入ex-start状态,期间会根据Router ID的优先级或者大小选举出主从路由器
    由从路由器先向主路由器发送含有LSA摘要信息的DD报文(如果接受到的一方没有相关摘要,则发送LS请求报文),双方进行LSDB同步
    经过有内容的DD报文交互之后,主从路由器会向对方请求自己所不具备的LSA详细内容(也就是发送LSR报文)
    当对方在收到LSR报文时候,会通过LSU报文,将对方所请求的LSA信息发给对方…(从ex-change过渡到Loading状态)
    收到LSU报文之后的一方,会进行报文收到确认回复(LSACK报文)
    一旦双方都收到LSAck报文则进入full状态
    ——说明双方邻接关系建立起来,LSDB已经完成同步,获取当前网络拓扑


4.6杂东西

  • 抓取流量包对应字段的意义:
    I:是否为第一个报文
    M:后面还有没有更多的DD报文
    MS:谁是主路由器,谁是从路由器
  • OSPF支持的网络类型:
    1、广播类型
    2、点到点类型
  • OSPF支持的网络类型:
    1、广播类型
    2、点到点类型
  • OSPF开销:ospf cost… ospf的接口开销值 = 带宽参考值/带宽
    (带宽参考值为100Mbit/s)
    在ospf协议视图下,bandwidth-reference xxxx可以修改带宽参考值
  • 更改hello时间能够同时更新死亡时间
    更改死亡时间 hello时间不会更改
  • 明细匹配、减少算法运行时间(通告的时候不使用有类的划分方式)

4.7OSPF路由协议特点

1、可适应大规模网络
2、路由变化收敛速度块
3、无路由环路
4、支持VLSM
5、支持等价路由
6、划分区域,方便管理
7、以组播地址发送协议报文
8、触发更新


4.8ospf配置

1、ospf router-id x.x.x.x
2、area 0(搭建区域)
3、network x.x.x.x x.x.x.x (反掩码)网络位全0,主机位全1
4、display ospf peer(查看当前邻居)
5、terminal debugging(华为自带的抓包特性)
6、debugging ospf packet
7、Autype:0表示不认证 1表示简单认证 2表示MD5认证
8、ospf timer hello xx
9、reset ospf 1 process:重启进程(用户视图下)
10、ospf dr-priority X更改优先级
DR BDR在显示的时候写的是接口ip

FOUR OVER


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值