• 操作系统里静态路由和直连路由的优先级-转


    原文:https://blog.csdn.net/centerpoint/article/details/37601477

    引言

    在操作系统上, 同网段IP是通过二层方式直接通信,  不经过网关,成为了一个根深蒂固的观念,  就算在有直连路由的同时也配置同网段的静态路由, 也不会有人怀疑直连路由的优先级,  认为还是会优先二层通信, 特别是玩过路由器的人, 都知道相同网段的情况下直连路由比静态路由的优先级高.  然而事实并非如此.:

    Linux系统下的静态路由与直连路由优先级对比:

    eth0配置 192.168.1.2/24 网关 192.168.1.1

    然后再配置  route add -net 192.168.1.0/24 gw 192.168.1.1

    结果如下:

    带网关的是静态路由,可见2条路由的优先级都是0, 但是根据实验, 数据包会先发到网关, 也就是静态路由优先(即便本机有arp记录,也会静态路由优先)

    Windows(2003)系统下的静态路由与直连路由优先级对比:

    本地连接1 配置 192.168.1.12/24 网关 192.168.1.1

    然后再配置  route add  192.168.1.0 mask 255.255.255.0  192.168.1.1

    结果如下:

    可见直连路由的网关是本身,优先级为10, 静态路由的网关是192.168.1.1 , 优先级为1, 明显也是静态路由优先, 实际测试也是如此.

    华为三层交换机下的静态路由与直连路由优先级对比:

    在vlanif 上配置 ip address 作为网关, 同时用 ip route-static 将同样网段指到另一出口的互联地址, 经测:

    无论直连路由上有没有活跃的目标IP(活跃的arp记录) 都不会往静态路由转发.

    用display routing-table 查看, 也只能看到直连路由

    可见是直连路由优先级高

    结论: 

    操作系统上静态路由优先, 路由设备上直连路由优先.  当然这都是在相同网段的前提下, 在网段不同的时候, 都遵循深度优先原则, 即网段越小优先级越高.

    现实意义:

    或许有人说了, 这有什么用呢? 有谁会在有直连路由的时候去配置相同的静态路由呢?

    1.在把Linux作为软路由的时候, 难免会配置成这样而导致异常

    2.在南方普遍使用的双线双IP服务器里面一般都要配置静态路由表,如果恰好包含本机IP段而且网段大小一致就会出现这种情形.

    3.静态路由优先的情况下, 根本的影响是同网段的二层通信会走三层(走网关), 从而导致:

    (1).增加网关的负载

    (2).如果网关接口限速会影响带宽

    (3).如果网关接口计费的话增加费用

    (4).如果网关上做了策略路由, 把inbound的包都策略走了, 可能导致同网段IP不通, 哪怕2个IP在同一个LAN的相邻端口

  • 相关阅读:
    查看端口被占用
    Eclipse导入包
    Eclipse中构造方法自动生成
    Eclipse中get/set方法自动生成
    Eclipse改字体大小
    设计六原则
    类的关系
    JAVA实现多线程下载
    try...catch的前世今生
    447. 回旋镖的数量
  • 原文地址:https://www.cnblogs.com/mude918/p/8955601.html
Copyright © 2020-2023  润新知