存在自动学习的三层交换机吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
SimbaG
V2EX    问与答

存在自动学习的三层交换机吗

  •  
  •   SimbaG 2022-12-14 15:49:59 +08:00 2869 次点击
    这是一个创建于 1040 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想问的是,我司用 DHCP ,我有两个设备, A:192.168.0.50/24, 网关.0.1 B:A:192.168.1.51/24 网关.1.1

    但实际上这两个设备是接在同一个墙面网口的:

    墙 <-> 我的交换机 <-> A <-> B 

    现在 A 和 B 之间的通信都得过网关,就很慢,除非我去改 AB 的路由表。有没有什么先进的三层设备可以直接把 A 的包丢给 B ? 比如说 OpenWRT 配一下三层交换(甚至自动学习)?发现直连的 IP 就路由并转发。

    第 1 条附言    2022-12-14 22:04:33 +08:00

    这是我的环境,我的角色是非IT的使用者:

    CISCO路由器及交换机 <-> 未知设备 <-> 墙 <-> 我的交换机 <-> A <-> B 

    其中: CISCO路由器及交换机是我用网关MAC地址查出来生产商是CISCO。(也许802.1Q和思科私有协议会被支持?)

    墙是指墙上的网络接口面板。 墙右边的设备,一个交换机,A,B归我管理。 墙左边的设备不归我控制,我无法做任何修改。

    内网偶尔有点繁忙,因此我想A->B的连接可以直连。但我不拥有.0.x和.1.x网段额外的IP,新设备接入会被视为访客而分配到192.168.3.x。强行手动指定.0.abc地址给新设备会导致冲突从而我不愿意如此做。 我可以买一个新设备,但我不知道什么样的设备可以满足上述的千兆直连线速转发/路由。

    @leonshaw 所言的AB配置路由表我测试过了,A是Windows B是Linux,双向或但单向配好了额外的路由表之后可以工作。不过我还是期待有更棒的自动学习的方案?要不然我如果有ABCD 4个设备的话,我将需要配置4*3=12条路由表,那实在是太痛苦啦。

    所以什么的设备会支持动态路由协议呢?这可能还需要和网关侧CISCO的配上?

    感谢各位。

    22 条回复    2022-12-15 17:27:53 +08:00
    eason1874
        1
    eason1874  
       2022-12-14 16:10:01 +08:00
    A 和 B 在同一台交换机下,交换机会根据 MAC 地址表直接转发的,这是默认功能吧,不用特殊配置
    pcmid
        2
    pcmid  
       2022-12-14 16:12:41 +08:00 via iPhone
    三层交换机就是干这个的,不然为啥叫三层(
    leonshaw
        3
    leonshaw  
       2022-12-14 16:24:02 +08:00
    同一个 VLAN ? A B 上配对方的直连路由,例如
    ip route add 192.168.1.51/24 dev eth0

    或者交换机上配 IP 例如 0.2, 1.2 ,A B 路由互指到交换机 IP
    ip route add 192.168.1.51/24 via 192.168.0.2
    rrfeng
        4
    rrfeng  
       2022-12-14 16:28:22 +08:00
    不可以。

    上面几位都在说啥……
    rrfeng
        5
    rrfeng  
       2022-12-14 16:30:43 +08:00
    一个子网内的数据包( 0.x/24 )要到子网外面( 1.51 )去,肯定要经过网关啊。

    搞一些奇怪的直连路由除外(也不符合题主的要求)。
    NewYear
      &nbs; 6
    NewYear  
       2022-12-14 16:33:06 +08:00
    硬是没看懂,楼主是负责网络这块的吗。

    如果是同一个 vlan ,为何弄 2 个网段?
    如果不是同一个 vlan ,为何改路由表就能直连通讯?

    你的硬件是怎样的一个结构能写清楚一点么,网关是什么设备(三层交换机?企业路由器?家用路由器?),交换机是什么样的设备(傻瓜交换机?二层网管?三层网管?)。
    NewYear
        7
    NewYear  
       2022-12-14 16:37:47 +08:00
    如果说的是自动设置路由表,那么用 rip 或者你的三层交换机家私有的动态路由协议都可以。

    自动学习路由表=动态路由协议,三层交换机都有。
    不能自动学习=不同品牌用的不同协议,或者根本就不支持,这种除了自己能写代码就别想太多了。
    singerll
        8
    singerll  
       2022-12-14 16:45:00 +08:00
    你说这个我记得是可以实现的,但网络我本身也不是很了解,时间长也忘记了。

    你可以看下楼上说的动态路由协议。
    Unclev21x
        9
    Unclev21x  
       2022-12-14 16:49:31 +08:00
    你说的很慢是多慢?一个内网,2 个子网通信,慢?
    leonshaw
        10
    leonshaw  
       2022-12-14 16:50:23 +08:00
    没注意你不想改路由表,DHCP 可以下发路由的( option 121 或者 249 ),看看主机认不认。
    ppking
        11
    ppking  
       2022-12-14 17:14:56 +08:00
    三层交换机不就等价于路由器了嘛,不然为啥叫三层交换机啊。肯定可以的,你自己在这个交换机配置里加一下路由呗。
    DeWjjj
        12
    DeWjjj  
       2022-12-14 17:54:10 +08:00
    买个路由器,然后路由器接墙上不就结了。
    而且你希望组成一个内网,应该一个普通的 R1 之类的玩意就能满足了。
    shika
        13
    shika  
       2022-12-14 19:06:20 +08:00 via Android
    192.168.0.1 和 192.168.1.1 这两个网关在哪里,把它们配置在中间的交换机上不就行了吗。如果你想的是两个网段二层直通,那恐怕不行。
    SimbaG
        14
    SimbaG  
    OP
       2022-12-14 21:49:19 +08:00
    @NewYear 哦,我不负责网络这块。
    分配的 IP 就是如此,开发机在 A 网段,测试机在 B 网段。显然这样分配 IP 池也合理,我没办法请 IT 改。
    网关设备我确实不太了解,但肯定是个企业级的设备。
    我自己的设备是个普通的交换机,如果需要加钱买点什么的话,我也可以考虑。

    192.168.0.1 和 192.168.1.1 这两个网关我没法控制,在 IT 那里。
    SimbaG
        15
    SimbaG  
    OP
       2022-12-14 21:50:52 +08:00
    @leonshaw 有道理,你的意思是 AB 的路由指向交换机?
    但我没有被授权使用额外的 IP ,我并不能给我的交换机分配两个 IP 用来指向。
    mansurx
        16
    mansurx  
       2022-12-14 22:40:19 +08:00   1
    建议直接给 IT 开工单,让他们来解决内网相互访问慢的问题。在 LZ 提供的拓扑里,互访流量就算经过网关正常增加的延迟也是在毫秒级的,不可能有感知。

    三层设备(无论是交换机还是路由器)之所以是三层设备,就是因为他需要有用于转发和路由的 ip 。没有 ip 的二层设备只会在同 vlan 下转发,跨 vlan 通讯就必须通过网关路由。

    另外基于“新设备接入会被视为访客”这段描述,推测 LZ 的网里应该是有准入策略的,既然这个网用到了准入,大概率网段之间互访也会加入额外的限制,所以还是先咨询 IT 。
    leonshaw
        17
    leonshaw  
       2022-12-14 22:44:53 +08:00
    @SimbaG 交换机换成个 OVS ,配流表应该可以实现。
    chunyec
        18
    chunyec  
       2022-12-15 00:04:21 +08:00 via Android
    你这问题,两个需要同一个二层交换机直通的主机,不要 dhcp 获取 ip,手动给 ip 应该就行了,地址就给 192.168.0.0/16 就能二层互通了吧,网关地址配置成你原来那样就行了
    yw9381
        19
    yw9381  
       2022-12-15 02:16:08 +08:00 via Android
    没看明白一个物理接口在没有 vlan trunk 的情况下是如何做到通两个子网的
    不过题主这个是有办法实现的。很简单
    整个结构可以看作是一个双 WAN 单 LAN 的网络。那实际上。最简单的。搞个支持多 wan 的路由器。墙上的线用傻瓜交换分成两根。分别接到 wan1 wan2.并分别配置 0.1/24 1.1/24 的 ip 。你自己的设备挂在这个路由下面应该就可以了。不过还是建议和 it 说一下尽可能处理内网延迟才是正途。我猜测这种网络结构布局可能存在环路情况导致交换 /路由负载过高从而使得内网延迟较高
    zhangsanfeng2012
        20
    zhangsanfeng2012  
       2022-12-15 09:54:27 +08:00
    你的交换机上联口改成 dhcp client ,把 mac 地址改成 A 或者 B 的;然后下联口开 dhcp server ,给 A 和 B 分同网段 IP 。
    SimbaG
        21
    SimbaG  
    OP
       2022-12-15 16:38:20 +08:00
    @leonshaw 感谢,我琢磨下用 OpenWRT 之类的东西有没有可能做到类似 OVS 的效果。

    @chunyec 我没办法手工给 IP 的呀,我不拥有额外的 IP 。

    @yw9381 我的交换机应该没有自动识别吧(大概?) 因此的数据流向是 A->网关->B ,从我的物理拓扑就是:A->我的交换机->墙->我的交换机->B ,平白无故过了一圈。因此不需要 VLAN Trunk 就可以互通,A 的请求都会递给网关,网关是个路由器会转发回 B 。

    @zhangsanfeng2012 你的意思是做个 NAT ?这样会创建我自己的私网。

    @mansurx 延迟大概增加 0.8ms 吧,人类确实不能感知,但是带宽受限。

    @DeWjjj 其实我并不希望组成内网的,我还是想使用原有被分配的 IP

    感谢各位
    fub2020
        22
    fub2020  
       2022-12-15 17:27:53 +08:00
    另一个思路是在
    AB 之前单独拉一根网线,在二层解决这个问题
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5461 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 07:31 PVG 15:31 LAX 00:31 JFK 03:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86