1.华为模拟器:

1.操作模式:

  • 用户视图模式(第一级别模式,可以对设备进行所有的查看及测试):

    1
    <Huawei>
  • 配置模式(第二级别模式,改名,设置密码等)

    1
    [Huawei]
  • 专用配置模式(第三级别模式)

    1
    [Huawei-?????]
  • 专用配置模式(第四级别模式)

    1
    [Huawei-?????-?????]
  • 高级模式可以执行低级模式命令

2.用户视图配置命令:

  • 查看接口配置简介:

    1
    display interface brief
    1
    2
    3
    4
    Interface                   PHY   Protocol InUti OutUti   inErrors  outErrors
    GigabitEthernet0/0/0 up up 0% 0% 0 0
    # PHY(物理状态,通电即为up)
    #Protocol(协议,配置IP地址即为up)
  • 保存配置:

    1
    save
  • 重启设备:

    1
    reboot

3.配置模式:

  • 查看当前配置

    1
    display current-configuration
  • 设置主机名

    1
    2
    # 如将[Huawei]改成[r1]
    sysname [name]
  • 设置时间和时区:

    1
    2
    clock datetime [YY:MM:TT]
    clock timezone [时区名称] add [YY:MM:TT] # 更改时区
  • 查看时间和时区:

    1
    display clock
  • 查看系统版本:

    1
    display version
  • 查看路由表:

    1
    2
    display ip routing-table
    display ip routing-table protocol [协议类型] # 只查看其中一种协议的路由表
  • 查看DHCP地址池:

    1
    display ip pool
  • 查看DHCP获取报文情况

    1
    display dhcp statistics	

4.接口配置命令:

  • 进入端口:

    1
    interface ???Ethernet [端口号]
  • undo取消此命令:

    1
    2
    3
    undo shutdown # 开启端口
    shutdown # 关闭端口
    undo ip address [IP地址] [网路地址长度/子网掩码]
  • 配置端口IP地址和子网掩码或网络号长度

    1
    ip address [IP地址] [网路地址长度/子网掩码]
  • 查看当前接口的所有配置

    1
    display this

5.帮助命令:

  • ?:查看该模式或该单词后可以配置的命令及注解
  • Tab键:自动补全单词

6.命令级别:

1
2
参观级:0,监控级:1,配置级:2,管理级:3级以上
用户等级:0-15

2.Telnet(用户):

  • telnet是基于TCP协议的,端口号23

  • 开启用户接口空间(先配置各接口IP地址):写在被登录的设备

    1
    [Huawei]user-interface vty 0 4
  • 修改认证模式为AAA

    1
    authentication-mode aaa
  • 进入AAA接口模式

    1
    [Huawei]aaa
  • 创建本地用户及密码

    1
    [Huawei-aaa]local-user huawei password cipher 123456
  • 修改huawei用户的权限等级

    1
    [Huawei-aaa]local-user huawei privilege level 15
  • 修改huawei用户的服务类型为telnet

    1
    [Huawei-aaa]local-user huawei service-type telnet
  • 测试:连接telnet服务器

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <Telnet Client>telnet 192.168.1.2
    Press CTRL_] to quit telnet mode
    Trying 192.168.1.2 ...
    Connected to 192.168.1.2 ...

    Login authentication

    Username:huawei
    Password:

3.DHCP服务:

  • 基本概念:

    • 动态主机配置协议

    • C/S架构:响应速度快

    • 基于UDP,67/68(68用于客户端,67、用于服务端)

    • 报文类型:八种

      1. DHCP discover:客户端用于寻找DHCP服务器
      2. DHCP offer:DHCP服务器回复客户端的DISCOVER报文,该报文携带了网络参数
      3. DHCP request:客户端请求配置确认或续租
      4. DHCP ack:服务器对request确认
      5. DHCP nak:服务器对reqeust拒绝
      6. DHCP release:客户端请求释放地址
      7. DHCP decline:客户端用于检测IP地址冲突后,发送给服务器的
      8. DHCP inform:当客户端获取IP报文后,使用哦个此报文获取其他配置信息
  • 工作过程:

    1. 客户机广播DHCP discover报文来发现当前网络中的DHCP服务器,并请求IP地址等相关信息
      • 路由器收到这个数据帧后,先看二层,一看是广播帧,所以,解二层封装;
      • 将解开后的数据包发送给IP模块进行处理,IP模块需要先看目的IP地址,一看是受限广播地址,则解三层封装;
      • 因为U协议字段为17(UDP),则交给UDP模块UDP模块进行处理
      • 之后依靠数据段中的目的端口号67(DHCP服务端)判断,交给对应的DHCP服务进行进一步处理
    1
    2
    3
    # 源端口号:68,目的端口号:67
    # 源IP地址:0.0.0.0,目的IP地址:255.255.255.255
    # 源MAC地址:他自己,目的IP地址:fffffff
    1. DHCP服务器发送DHCP offer报文,携带即将分配给客户机的IP地址和相关信息
    1
    2
    3
    # 源端口号:67,目的端口号:68
    # 源IP地址:他自己IP地址,目的IP地址:分配的IP地址(华为),255.255.255.255(其他厂家)
    # 源MAC地址:他自己,目的IP地址:客户机MAC地址(华为),fffffff(其他厂家)
    1. 客户机接受此分配,广播DHCP request报文,向服务器请求使用该IP地址
      • 一方面需要告诉获取IP地址的服务器,请求该IP地址;
      • 另一方面,需要告诉剩余没有获取IP地址的服务器,可以释放该IP地址
    1
    2
    3
    # 源端口号:68,目的端口号:67
    # 源IP地址0.0.0.0,目的IP地址:255.255.255.255
    # 源MAC地址:他自己,目的IP地址:fffffff
    1. DHCP服务器收到后,发送DHCP ack报文,告知客户机允许使用该IP地址
    1
    2
    3
    # 源端口号:67,目的端口号:68 
    # 源IP地址:他自己IP地址,目的IP地址:分配的IP地址(华为),255.255.255.255(其他厂家)
    # 源MAC地址:他自己,目的IP地址:客户机MAC地址(华为),fffffff(其他厂家)
    1. 客户机使用无故ARP来检测是否有人使用此IP地址,若没有人响应就使用。
  • DHCP租期:

    • 租期更新计时器:
      • 华为默认24小时:
      • 租期到达一半(12小时)
        1. PC发送一个DHCP request报文,是单播发送
        2. 若服务器回复ACK报文,则租期更新计时器刷新
        3. 若服务器回复MAK报文,PC等待下一个更新周期
    • 租期重绑计时器:
      • 当租期到达87.5%(21小时),此时PC进行第二次续租
      • PC发送DHCP Request,使用广播
        • 如果收到ACK报文,则刷新各类计时器,并绑定新的服务器
        • 如果收到NAK报文,则PC必须立刻停止使用现在使用的IP地址,然后重新申请IP地址
    • 租期失效计时器:
      • PC在租期内正常到期,服务器没有回复,PC才停止使用该IP地址,并发送DHCP release报文
        • PC重新进入DHCP工作流程,发送DHCP discover报文申请IP地址
      • PC主动放弃使用分配得的IP地址,此时发送DHCP release报文
  • 地址池:

    • 全局地址池:为所有连接到服务器的PC提供地址
    • 接口地址池:为连接到该接口
  • 先给路由器端口和服务器配置IP地址子网掩码

  • 全局地址池配置:

    • 开启DHCP服务(在配置模式下):

      1
      dhcp enable
    • 创建名为…的全局地址池:

      1
      ip pool [name]  # 一台设备上可以创建多个池塘,但一个池塘只能服务一个广播域
    • 配置IP地址池的子网地址和子网掩码

      1
      network [IP网段] mask [子网掩码/网络地址长度] 
    • 配置默认网关:

      1
      gateway-list [IP地址]
    • 配置DNS服务器IP地址:

      1
      dns-list [IP地址1] [IP地址2]
    • 设置地址租约时间(可选,默认24小时):

      1
      lease day [num] hour [num]
    • 排除IP地址:

      1
      excluded-ip-address 192.168.1.253 192.168.1.253   # 将192.168.1.253排除在地址段外
    • 进入相对应的端口,启动dhcp服务

      1
      dhcp select global
    • 在终端上设置IPv4设置为DHCP

  • 接口地址池配置:(了解)

    1
    2
    3
    4
    5
    [Huawei]dhcp enable
    [Huawei-GigabitEthernet0/0/0]dhcp select interface //开启接口DHCP功能
    [Huawei-GigabitEthernet0/0/0]dhcp server dns-list 114.114.114.114
    [Huawei-GigabitEthernet0/0/0]dhcp server excluded-ip-address 192.168.1.10 192.168.1.253
    [Huawei-GigabitEthernet0/0/0]dhcp server static-bind ip-address 192.168.1.5 mac-address 5489-9842-3FA4

4.VLAN虚拟局域网

  • 网络速率 约等 带宽/8)*85%

  • 交换机和路由器协同工作后,将原来的一个广播域逻辑的切分为多个

  • 交换机创建VLAN(在配置模式下):

    1
    2
    vlan [num]
    # 用户范围1~4094,VLAN1已存在,默认所有的接口都存在VLAN1中
    1
    2
    3
    # 批量创建
    vlan batch [num1] to [num2]
    vlan batch [num1] to [num2] [num3] to [num4]
  • 交换机查看VLAN

    1
    display vlan
  • 给交换机接口划分VLAN(进入该接口):

    1
    2
    port link-type access        # 先将该接口修改为接入模式
    port default vlan [num] # 将该接口划分到对应的VLAN中
    1
    2
    3
    4
    # 批量的将多个接口划分到VLAN中
    port-group group-member Ethernet [接口号] to Ethernet [接口号]
    port link-type access
    port default vlan [num]
  • 给交换机接口设置trunk模式,并设置允许通过VLAN(先进入接口模式下)

    1
    2
    port link-type trunk    # 将接口修改为trunk模式
    port trunk allow-pass vlan [[num1] to [num2] / all] # 默认华为交换机仅允许VLAN1通过,需要定义允许列表
  • 给路由器创建子接口,定义其管理的VLAN,配置IP地址,开启ARP功能

    1
    2
    3
    4
    interface g[子端口]                         # 如:0/0/0.1,创建子接口
    dot1q termination vid [num] # 定义其管理的VLAN
    ip address [IP地址] [子网掩码/网络地址长度]
    arp broadcast enable # 开启ARP功能

5.路由:

1.静态路由:

  • 查看路由表详情:

    1
    2
    3
    4
    目的地址/掩码         协议      优先级  开销值           下一条           接口
    Destination/Mask Proto Pre Cost Flags NextHop Interface
    127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
    127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
  • 若匹配上多条路由项,则按照 “最长掩码匹配规则“ 进行选择

  • 路由的来源:

    • 直连路由:设备自动发现
    • 静态路由:手工配置
    • 动态路由:通过动态协议算法计算得出
  • 路由优先级:

    路由来源 缺省优先级(华为) 缺省优先级(思科)
    直连路由 0 0
    OSPF 10 110
    静态路由 60 100
    RIP 100 120
    BGP 255 255
    EIGRP 90
  • 如果时跳转到下一个路由器的下一个路由器的相连网段,下一跳路由器端口的IP地址写(下一个路由器)

  • 可以对多个网段进行聚合,减少路由表的条数

  • 配置了源路由到目标路由的静态路由,还需配置目标路由到源路由的静态路由

  • 配置:

    1
    ip route-static [目标IP网段] [子网掩码/网络地址长度] [下一跳路由器端口的IP地址]
    1
    ip route-static 172.16.1.0 24 GigabitEthernet 0/0/1 192.168.1.2   # 接口配置静态路由(了解)

2.路由扩展配置:

  1. 负载均衡(等价鲈鱼):当访问相同目标,具有多条开销相等路径时,可以让设备将流量拆分后延多条路径同时传输,起到带宽叠加的作用,减少单条链路数据传输压力

  2. 环同接口:创建后,可用于路由器测试TCP/IP协议组件是否能封装与解封;同时可用于实验环境中,模拟连接PC终端的用户接口,来减少实际设备成本需求。

    • 创建LoopBack虚拟接口(配置模式下):

      1
      interface LoopBack [0~2147483647]
    • 设置虚拟接口IP地址

      1
      ip address 1.1.1.1 24
    • 创建环回接口可以在本设备上ping通本设备上的所有端口,相当于本设备连接了一个虚拟终端PC

  3. 手工汇总:当路由器需要配置多条路由项时,可以选择将其进行子网汇总,减少路由表项数量,降低CPU运算负载,提高转发效率

  4. 路由黑洞:在手工汇总时,可能会包含一些网络中实际不存在的网段,造成流量有去无回的现象,浪费了链路资源

  5. 缺省路由:一条不限定目标的路由,代表所有的网段;路由器查表时在查询完本地所有的直连,静态,动态路由后若依然没有可达路径,才使用该条目。

    • 设置缺省路由:

      1
      ip route-static 0.0.0.0 0.0.0.0 <下一跳路由器的IP地址>
  6. 空接口:当路由黑洞与缺省路由相遇时,将必然出现环路;在黑洞路由器上(汇总路由的下一跳路由器),配置一条到达汇总网段的空接口路由,空接口及丢弃流量,来避免环路的产生。

    1
    ip route-static [汇总后的IP地址] [子网掩码/网络地址长度] NULL 0   # 除路由黑洞和缺省相遇的情况外,汇总的网段的路由器上都得写
  7. 浮动静态:访问相同目标,具有多条路径时,将加载优先级最小的路径到表中;若优先级相同将同时加入表中(负载均衡);因此修改部分路由的优先级,可以实现静态备份的效果。

    • 设置静态路由优先级:(越小优先级越大)

      1
      ip route-static [目标IP地址] [子网掩码/网络地址长度] preference [num]
  8. 环路:当两个路由器上的路由表,分别存在一条到达同一网段且下一条是另一台路由器时,将形成环路

    • 占用大量带宽,影响正常数据包转发
    • 损耗路由器资源,当路由器资源消耗过大时,设备会宕机
    • 解决方式—TTL

3.动态路由

  • 静态协议的优缺点及结论:

    • 缺点:

      1. 中大型网络配置量过大
      2. 不能基于拓扑的变化而实时变化
    • 优点:

      1. 不会额外占用物理资源
      2. 安全问题
      3. 计算路径问题
    • 结论:小型网络建议使用静态路由;中大型较复杂网络,建议使用动态

  • 动态路由协议:

    • 概念:路由器间沟通,协商,计算自动生成路由表;在拓扑结构发生变化后,可以实时收敛(重新计算)来适应新的结构

    • 基于AS进行分类:(AS自治系统 0~65535标准编号)

      • IGP 内部网关路由协议,AS内部使用(RIP,OSPF,EIGRP,ISIS…..)
      • BGP 外部网关路由协议,AS之间使用(BGP,EGP)
    • IGP分类:

      • 基于工作特点进行分类:
        • DV 距离矢量(RIP,EIGRP):向相邻路由器共享路由表
        • LS 链路状态(OSPF,ISIS):向邻接路由器共享拓扑图,自我计算路由;
          • 优点:防环能力上优于距离矢量,选路能力上也优于距离矢量;
          • 缺点:更新量大,占带宽
      • 基于更新时是否携带子网掩码:
        • 有类别(不携带子网掩码,按主类定义子网掩码)
        • 无类别(携带子网掩码,基于实际掩码来判断网段)

1.RIP协议:

  • RIP:路由信息协议,也称距离矢量协议

  • 存在三个版本:V1 / V2 / NG(下一代IPV6专用)

  • 特点:

    • 基于UDP520端口工作;使用跳数作为度量(最大跳数为15,当值为16时,该路由不可达)

    • 更新方式:30s周期更新(保活,确认),触发更新(开销值发生变化时);

    • 支持等开销负载均衡

  • V1和V2的区别:

    • 更新是是否携带掩码:
      • V1有类别协议(不携带子网掩码),不能区分和汇总
      • V2无类别协议(携带子网掩码),进行子网划分(VLSM)和子网汇总(不能比主类短),不支持超网(可以比主类短)
    • 更新方式:
      • V1是广播更新(255.255.255.255)
      • V2组播更新(224.0.0.9)
    • V2支持手工认证
  • RIP环路问题:

    image-20221026170448015

    • 触发更新:

      • 当某一个路由器中的路由项发生改变时,不需要等待下一次周期更新到来,就可以直接将发生改变的路由项发送
      • 不能完全避免环路发生
    • 水平分割(华为默认开启):从此口进(从此口学到的路由),不从此口出(下一次不从此口发出去)

    • 毒性逆转:当这条路由不可达时,向对方发送这条路由,但度量为16;然后打破水平分割,将此路由发回来进行确认,然后扩散这条路由

    • 跳数限制:15跳为最大条数

    • 抑制计时器

    • 注意:

      1
      2
      # 水平分割和毒性逆转机制,原理相同,但是做法不同,故只能选择其中一个与触发更新搭配防环。
      # 若水平分割和毒性逆转机制同时开启,则按照毒性逆转执行。
    • 例题:

      1
      2
      问题:能不能光使用水平分割或毒性逆转机制,不使用触发更新?
      答:理论上可以,但实际不行;触发更新可以加快路由的收敛速度。
  • RIP的数据包:

    • request包(请求报文):只能在启动RIP进程后使用,希望尽快获取邻居的路由信息
    • response包(应答报文):携带了具体的路由信息,用来回答请求报文(周期发送)
  • RIP工作原理:

    1. 初始化:

      • RIP在初始化时,会从每一个参与工作的接口上发送请求数据包。该请求数据包会向所有的RIP路由器请求一份完整的路由表
      • 该请求通过广播形式(组播形式)发送
    2. 接受请求:

      • RIP路由器在接收到请求数据包后,会使用应答数据包回复,且该数据包包含了本地所有的路由信息
    3. 接受到响应数据包:

      • 路由器接收并处理该数据包
      • 将接受到的数据包内容与自己本地路由表进行对比,然后进行添加,删除,修改等操作
    4. 常规路由更新:

      • 当收敛完成后,路由器会以30S为周期,发送应答包文

      • 邻居路由器收到应答报文后,会设置180s的超时时间,如果180s内没有收到邻居发来的应答报文,路由器会认为邻居出现问题,并将下一跳设置为16

  • RIP算法:贝尔曼福特算法

    1. 当接收到的数据包中含有本地路由表中没有的路由项,则直接加载到本地路由表
    2. 当接收到的数据包含有本地已具有的路由项时,且下一跳地址相同,则将数据包中的路由项更新至本地
    3. 当接收到的数据包中含有本地已具备的路由项时,但下一跳不同,则比较COST值,若本地路由表中的COST值较大,则进行更;若本地路由表中的COST值较小,则不进行更新
  • RIP计时器:

    • 更新计时器:

      • 每台启动了RIP协议的路由器,都有一个属于自己的更新计时器
      • 30S
      • 当更新计时器为0时,则向周围发送响应报文
      • 为什么要进行周期更新?
        • UDP是不可靠的
        • RIP路由传递过程中需要可靠机制
        • RIP
    • 无效计时器:

      • 每台路由器上的每一个路由项都有一个无效计时器
      • 180S(一般是更新计时器的六倍)
      • 每条路由条目被更新时,计时器刷新为180S
      • 计时器为0时,则认为该路由项无效,会将开销值设置为16,并向外传输(告诉其他路由器,这个网段不可达)
    • 垃圾收集计时器:

      • 当一个路由项变为无效路由项时,虽然COST值会被设置为16,但是路由项本身并不会被立刻删除,而是会启动垃圾收集计时器,在这个计时器倒计时为0前,该路由器周期更新时仍然会携带该无效路由项
      • 一旦该计时器为0,则删除该路由项(包括之前与之对应的无效计时器,垃圾收集计时器)
      • 120S(更新计时器的四倍)
      • 注意:垃圾收集计时器为0前的某一时刻,该路由项被更新,则该路由项可以正常加表使用,COST值回复,删除垃圾收集计时器,回复无效计时器
    • 例题:

      1
      假设某一时刻,一台路由器的RIP路由器中共有30个路由项,其中COST值的有23个,等于16的有7个,问,此时一共有多少个计时器在工作?分别是什么计时器?
  • 具体配置步骤:

    1. 启动RIP:(配置模式下,启动时可以定义进程号,默认1,范围1~65535)
    1
    rip [进程IP]
    1. 选择版本:(版本1:其他路由获取得到的IP地址是主类,版本2:其他路由获取得到的IP地址是精确的网络地址)
    1
    version [num]
    1. 宣告(含义:激活(被选中接口可以收发RIP的信息)和共享路由(被选中接口的网段可以共享给本地的所有邻居)):
    1
    2
    3
    network [端口网络地址]
    如:network 12.0.0.0 network 172.16.0.0 network 192.168.1.0
    # 如果有多个不同的主类端口,宣告多次;如果多个接口主类相同,只宣告一次
  • RIP的扩展配置:

    • RIPversion2的手工汇总:

      1
      2
      rip summary-address [汇总网段] [子网掩码]    # 在发送RIP数据包接口上汇总
      # 在对方的路由器上查看路由表,验证是否汇总
    • RIPversion2的认证:(所有RIP的信息将被加密传输,两两直连的邻居间,认证口令和模式必须完全一致)

      1
      2
      # 接口配置
      rip authentication-mode [加密算法] usual cipher [具体密码]
    • 沉默接口(只收不发路由协议信息,只能用于连接用户终端的接口):

      1
      2
      # 这些接口在沉默后即使被宣告,依然不会被
      slient-interface ???Ethernet[端口号] # 先进入rip
    • 加快收敛:适当的修改计时器,可以加快协议的收敛速度;修改时,全网所有运行RIP的设备建议一致;维持原有倍数关系,且不易修改的过小。

      1
      2
      # 更新30S,实效180s,刷新300s(cisco240s)
      timers rip [更新时间] [失效时间] [刷新时间] # 单位s,先进入rip
    • 缺省路由:在边界路由器上定义缺省源头信息后,将向内网发布缺省路由,之后内部路由器将自动生成缺省路由指向边界路由器方向,边界路由器指向ISP的缺省路由,依然需要手写

      1
      default-route originate   # 先进入rip
    • 域外某网段修改开销值:

      1
      rip metricin ip-prefix p24 3    # 先进入某接口

2.OSPF协议:

  • OSPF:开放式最短路径优先协议,无类别(带掩码)链路状态igp协议,周期更新(30min)+触发更新

  • 跨四层封装(传输层),基于IP封装,协议号89

  • 版本:v1(实验室阶段夭折),v2(IPv4),v3(IPv6)

  • 链路状态协议的更新量随着网络范围的扩展指数性的上升,因此OSFP协议为了在中大型网络中工作,需要结构化的部署区域之内传递拓扑,区域传递路由

  • 为什么需要结构化部署:

    1
    因为OSPF是无类别链路状态IGP协议,而链路状态最大的特点就是共享拓扑,而共享拓扑;而共享拓扑的话就会产生大量的更新这样不利于网络的流通,因此需要合理的流畅,因此需要合理的IP规划,进行结构化部署。区域之内是LSA的拓扑数据交换:区域之内传递拓扑,区域传递路由
  • 区域划分的目的或链路状态协议的距离矢量特征:区域之内传递拓扑,区域传递路由

  • 更新方式:组播更新(224.0.0.5(all),224.0.0.6(DR/BDR))

  • 算法:SPF(最短路径优先算法)

  • OSPF的五种数据包:

    1. Hello:1.邻居的发现,关系的建立;2.周期(以太网10s)的保活;3.携带rid(IP地址格式)
    2. Dbd:数据库描述报文(本地数据库目录(发送链路状态中自身知道的)),LSDB:链路状态数据库,存储LSA信息的数据库
    3. Lsr:链路状态请求报文(请求对方我不知道的)
    4. Lsu:链路状态更新报文(返回我不知道的拓扑或者路由)
    5. Lsack:链路状态确认报文(保证可靠性)
  • OSPF的7个状态机:(两个路由器的关系)

    1. Down:双方都不认识对方(A与B)

    2. init初始化:,B接收到hello包中(不包含自己的名字),B知道了A,B进入init状态

    3. 2way双向通讯:B接收到hello包中(包含自己的名字),邻居关系建立的标志

      • 条件匹配成功进入下一个状态,如果条件匹配失败,则停留在邻居关系,仅使用hello进行周期保活
    4. Exstart预启动:使用不携带目录信息的DBD包,1.进行主从关系的选举;rid大为主,为主的可以优先获取LSA信息,解决了目录共享时的无序,避免了它们的同时更新;2.主方可以住到隐形确认,可以定义隐形确认中的序列号。

    5. Exchange准交换:使用携带目标信息的dbd包(谁的rid大先发送dbd包),共享本地数据库目录

    6. loading加载:查看完邻接的dbd信息后,对比本地,然后基于本地未知的Lsa进行查询;使用lsr向对端查询,对端使用lsu来传输这些lsa信息,本地收到后需要lsack来进去确认

    7. Full邻接关系建立标志;意味着邻接间,数据库同步(一致);邻接关系的设定是为了和之前邻居关系进行区分,邻居关系只是单纯的使用hello包进行保活,而只有邻接关系,才会发LSA信息

  • 名词解释:

    • 邻居关系:邻居关系就是只交互过hello报文,并不知道邻居具体的Lsa
    • 邻接关系:就是两个邻居之间完成交互过各种报文,两台路由器拥有各自的明细拓扑信息Lsdb完全同步
    • Lsdb:链路状态数据库,所有lsa的集合
    • Lsa【货物】:链路状态通告,具体的一条一条拓扑或路由信息,基于LSU包进行共享(LSU运输)
  • 结构突变:

    • 新增网段:触发更新– LSU和LSack 直接告知
    • 断开网段:触发更新– LSU和LSack 直接告知
    • 无法沟通:dead time为hello包的4倍;在4次周期内未收到对端的hello包,将断开与其邻居关系,删除通过该邻居计算所得路由
  • OSPF的工作过程:

    1. 启动配置完成后,OSPF向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包,(包含本地的RID以及自己已知的邻居的RID);之后,将收集到的邻居关系记录在一张表 — 邻居表
    2. 之后需要关注条件,若不能建立为邻接,将保持为邻接关系,仅hello包周期保活
    3. 若条件匹配可以建立邻接关系,先使用未携带数据库目录信息的DBD包来进行主从关系的选举,之后由主引导先后顺序使用携带目录信息的DBD包共享数据库目录
    4. 之后本地基于其他设备的目录,判断由本地未知的LSA信息,再使用LSR/LSU/LSACK来通过邻接获取具体的LSA信息,完成本地的数据库表(LSDB链路状态数据库)
    5. 本地数据库完整后,本地将基于数据库中的内容启动SPF算法,将数据库整理为有向图–>最短路径树—->将本地到达所有未知网段的最短路径加载于本地的路由表
    6. 路由表建立完成,收敛结束,之后每10S使用hello包周期保活;每30min邻接间进行一次数据库目录核对
  • 区域划分规则:

    1. 星型结构:编号0骨干区域(中心),大于0为非骨干区域(分支),非骨干区域必须直连骨干区域

    2. 必须存在ABR:区域边界路由器,骨干区域0与非骨干区域相连>0的设备;区域之间可以存在多个ABR设备;一个ABR也可以连接多个区域

  • 区域ID:用来区分和标识OSPF的不同区域,32位二进制构成;也可以使用点分十进制表示,还可以直接使用十进制表示;其中,骨干区域的ID、必须设置为0。

  • RID(路由器id):

    • 格式IPv4地址,可以区分和标定不同的路由器

    • 32位二进制构成,全网唯一,格式统一(采用点分十进制的方式表示)

    • RID的获取方式:

      1. 手工配置:

      2. 自动生成:1.优先选择环回接口中IP地址最大的作为RID,2.如果没有环回,则选择物理接口中IP地址最大的作为RID

  • 基础配置:

    1. 启动时定义进程号(配置模式,默认进程1)

      1
      ospf [num] router-id [路由器id]
    2. 宣告接口地址(激活(可以收发OSPF的信息),被选中接口的拓扑信息可以共享给邻接,区域划分):

      1
      2
      area 0   # 先定义区域
      network [接口IP地址] [反子网掩码]
    3. 查询ospf:

      1
      2
      display ospf peer   # 查看邻居关系表
      display ospf peer brief # 查看邻居简表
      1
      2
      display ospf lsdb    # 查看LSDB
      # 邻居关系建立后,关注件匹配失败,保持为邻居关系,仅hello包周期保活;匹配成功过,可以建立邻接关系;邻接关系间,将使用 DBD/LSR/LSU/LSack来获取本地未知的LSA信息,完整本地的LSDB(数据库表)
      1
      2
      3
      display ip routing-table protocol ospf   # 查看ospf路由
      # 优先级为10;度量为cost值;cost值=开销值
      # 当数据库同步完成后,本地基于SPF(最短路径有心啊)算法,将数据录转换为有向图,再将有向图转换为树形结构;之后基于树形结构,以本地为起点到达所有未知网段的最短路劲,加载到路由表中。
      1
      2
      3
      4
      bandwidth-reference 1000    # 若修改带宽,全网需要一致(单位MB/s),先进入ospf
      # OSPF cost=参考带宽/接口带宽,-----默认参考带宽为100M
      # OSPF优先cost值之和最小,为最佳路径;
      # 若两条链路cost值之和相同,等开销负载均衡;若接口带宽大于参考带宽,cost为1,将可能导致选路不佳,建议修改默认的参考带宽
  • 扩展配置:

    1. DR(一个路由器)/BDR(备份路由器)选举(有DR才有拓扑交换和lsa信息,才有路由):

      • 邻居成为邻接关系的条件,与网络类型有关

      • 网络类型:

        • 点到点:在一个网段内只能存在两个节点(串线链路)
        • MA-多路访问:在一个网段内的节点数量不限制;不是当下连接了几个节点;而是该网络类型允许最终连接多个节点(以太网)
      • 点到点网络邻居关系必成为邻接关系;

      • 在MA网络中,将进行DR/BDR选举;在一个网段中仅DR(大哥)/BDR(二哥)与DRother其他路由器(小弟)为邻接关系,非DR/BDR之间(小弟与小弟之间)为邻居关系

        • 选举规则:

          1. 先比较一个网段所有参选接口的优先级,默认优先级为1,取值范围0-255,越大越优;0标识不参选
          2. 若优先级相同,比较参选设备的RID,数值大优
        • 干涉选举:

          1
          ospf dr-priority 1   # 先进入这个参选接口

          注:由于网段DR/BDR选举需要消耗40S,故为保障网络的稳定性,选举是非抢占的;一旦一个网段选举完成后,再修改优先级除非设备重启,否则无法干涉到结果;若需要干涉选举时,可以重启所有设备的OSPF

          1
          reset opsf process   # 重启ospf进程

          最终的方法时修改非DR/BDR设备的优先级为0,代表不参选;不用重启进程

          1
          ospf dr-priority 0   # 先进入这个参选接口
    2. 区域汇总:OSPF协议不支持接口汇总,只能在将A区域拓扑计算所得路由共享给B区域时进行汇总

      1
      2
      3
      4
      ospf [num]
      area [num] # 进入区域的边界路由器配置
      abr-summary [汇总后的IP地址] [子网掩码]
      display ip routing-table protocol ospf # 在另一个区域的路由器查看是否汇总
    3. 被动接口:仅接收不发送路由协议信息,用于连接用户终端的接口,不得用于建立邻接关系

      1
      silent-interface g0/0/0
    4. 认证:在直连邻居或者邻接的接口上配置,保障更新的安全

      1
      ospf authentication-mode [加密算法] [编号] cipher [具体密码]    # 模式,编号,密码要求邻居间一致
    5. 加快收敛:

      1
      ospf timer hello [num]   # 先进入接口
      • 邻居间计时器 10s hello time,40s dead time
      • ospf要求直连邻居间hello time和dead time必须完全一致,否则无法建立邻居关系
      • 修改本地的hello time,本地的dead time自动4倍关系匹配
    6. 缺省路由:边界路由器上配置后,将自动向内网下方一条缺省路由,之后内网设备将自动生成缺省路由边界

      1
      2
      ospf [num]
      default-route-advertise always

3.RIP与OSPF的区别:

  • 相同点:
    1. RIPv2和OSPFv2都是无类别(传递路由信息时是否携带子网掩码)的路由协议
    2. RIPv2(224.0.0.9)和OSPFv2(224.0.0.5,224.0.0.6)都使用组播来更新信息;所有224.0.0.X格式的组播地址我们称为本地链路组播,目的IP地址是本地链路组播的数据包中的TTL值被设定为1;所有本地链路组播都会存在对应的组播MAC地址,01-00-5e-后24位为组播IP地址的后24位
    3. RIPv2和OSPFv2都支持等开销负载均衡
  • 不同点:
    1. RIPv2只能适用于中小型网络环境中,而OSPFv可以适用于中大型网络环境

6.ACL访问控制列表:

  • 作用:

    1. 访问控制(在路由流量进或除的接口上,匹配流量产生动作(允许,决绝))
    2. 定义感兴趣流量(抓取流量,之后给其他的策略,让其他策略进行工作)
  • 匹配规则:

    • 至上而下逐已匹配,上条匹配按上条执行,不再查看下条;

    • ciso系统默认末尾隐含拒绝所有;华为系末尾隐含允许所有

  • 分类:

    1. 标准:仅关注数据包中的源IP地址;故调用时必修尽量的靠近目标,避免对其他流量的误删,编号范围2000-2999,一个编号为一个表
    2. 扩展:关注数据包中的源,目标IP地址,目标端口号或协议号编号范围3000-3999,由于扩展ACL源IP地址,目标IP地址均关注。故调用时尽量靠近源;
  • 匹配命令:

    • 标准:

      1. 选择路由器:因为只关注源IP地址,所以选择目标设备最近的路由器的最近接口(避免对流量进行误删)

      2. 定义acl列表名称

        1
        acl [id]
      3. 定义规则:

        1
        2
        3
        4
        rule [permit/deny] source [IP地址] [通配符]
        例:
        rule deny source 192.168.1.3 0.0.0.0 #拒绝一个IP地址
        rule deny source 192.168.2.0 0.0.0.255 #拒绝一个网段

        通配符:0代表固定,1代表可变

        1
        2
        3
        # 抓去1.1.1.0/24 - 1.1.255.0/24网段中的奇数网段和偶数网段
        奇数网段:rule deny source 1.1.1.0 0.0.254.0
        偶数网段:rule deny source 1.1.0.0 0.0.254.0
      4. 在接口上调用ACL(一个接口的一个方向只能调用一张表)

        1
        traffic-filter [inbound/outbound] acl [列表ID]
    • 扩展:

      • 如果拒绝ping此路由器,此路由器所有接口需要设置

      • 应该在与源设备最近的路由器配置(避免浪费资源)

      • 配置:

        • 仅关注源IP地址和目标IP地址

          1
          2
          3
          rule [permit/deny] ip source [源IP地址] [通配符] destination [目标IP地址] [通配符]
          例:
          rule deny ip source 192.168.1.3 0.0.0.0 destination 192.168.3.2 0.0.0.0
        • 同时关注协议号,或目标端口号

          1
          2
          3
          4
          5
          6
          rule [permit/deny] [协议类型] source [源IP地址] [通配符] destination [目标IP地址] [通配符] destination-port eq [端口号]
          例:
          # 该条ACL拒绝了192.168.1.3对192.168.3.2的telnet远程登录
          rule deny tcp source 192.168.1.3 0.0.0.0 destination 192.168.3.2 0.0.0.0 destination-port eq 23
          # 拒绝192.168.1.10 对192.168.1.1 的icmp访问--ping
          rule deny icmp source 192.168.1.10 0.0.0.0 destination 192.168.1.1 0.0.0.0
      • Telnet:远程登陆,不加密,基于TCP,目标端口23

        • 条件;1.被登录设备与登录设备网络可达,2.被登录设备进行了telent服务配置

        • 被登录设备配置:

          1
          2
          3
          aaa     # 进入aaa模式
          local-user [用户名] privilege level [权限值] password cipher [密码]
          local-user [用户名] service-type telnet # 该账号只用于什么登录
          1
          2
          user-interface vty 0 4     # 进入vty虚拟登录接口
          authentication-mode aaa # 在vty线上开启认证

7.NAT网络地址转换:

  • 概念:边界路由器对源IP地址或目标IP地址的修改

  • IPv4地址中,存在私有与公有IP地址的区别:

    • 公有:具有全球唯一性,可以在互联网通讯,需要付费使用
    • 私有:具有本地唯一性,不能在互联网通讯,无需付费使用
  • 私有IP地址:A类:10.0.0.0/8;B类:172.16.0.0/16-172.31.0.0/16;C类:192.168.0.0/24-192.168.255.0/24

  • 分类:

    • 一对一(静态转换):用于内部网络的服务器
    • 一对多(easy-ip):内部的多个私有ip地址转换为同一个公有ip
      • 简单的常用转换方式;属于动态性(PAT端口地址转换)
      • 多个私有地址共用同一个公有地址时,为了实现同时收发数据,在ip地址被转换成同一个公有地址的同时,还需要使用不同的源端口号来进行区分;
      • 由于端口号的数量限制,故在内部存在大量流量需要进入互联网时,若超过65535数量时,只能排队等候,导致网络延时,可以启用多对多;
    • 多对多(动态转换):内部的多个私有IP地址可以转换为多个公有IP地址
      • 当内部存在大量的私有ip地址时,为保障网络的传输效率,需要多个公有ip地址循环提供端口来进行转换
    • 端口映射:基于一个公有IP地址的特定端口进行转换
      • Network Address Port Translation(NAPT):网络地址端口转换
      • 将边界路由器上的公有ip地址的某个特定端口与内部单个ip地址的特定端口进行映射
  • 一对多配置命令:

    1. 先配置acl访问列表(让acl抓取流量,在边界路由器上)

      1
      2
      acl 2000
      rule permit source [IP网段/IP地址] [通配符] # 通配符中0表示固定
    2. 进入边界路由器接口,

      1
      nat [inbound/outbound] [acl列表id]        # 公用IP地址为边界路由器接口IP地址
  • 一对一配置命令(先进入边界路由器接口):

    1
    2
    # 在边界路由器上连接公网的外部接口上,固定的将内部192.168.1.10与外部12.1.1.3进行绑定
    nat static global [要绑定公用IP地址] inside [内部绑定IP地址]
  • 端口映射配置命令(先进入边界路由器接口):

    1
    2
    # 公用IP地址为边界路由器接口IP地址,公网端口为边界路由器接口端口
    nat server protocol tcp global current-interface [公网端口号] inside [内网IP地址] [端口号]
  • 多对多配置命令(先进入边界路由器接口):

    1
    2
    3
    4
    nat address-group [分组号] [公用开始IP地址] [公用结束IP地址]   # 定义可用的公用IP地址段
    acl 2000
    rule permit source [IP网段/IP地址] [通配符] # 通配符中0表示固定
    nat outbound [列表ID] address-group [分组号]
    1
    2
    # 扩展配置,no-pat若在多对多的命令末尾添加no-pat单词,那么将成为静态nat,最先出来的私有ip将一对一与这些公有ip形成静态的绑定关系,使得后出来的私有ip不能再被转换为公有;
    nat outbound [列表ID] address-group [分组号] no-pat