V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lrvy
V2EX  ›  问与答

😊同一 VLAN 下相同 MAC 和 IP 地址的两台 PC 是否可以正常联网?

  •  
  •   lrvy · 2018-09-07 18:16:21 +08:00 · 2498 次点击
    这是一个创建于 2272 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,从知乎看到的,感觉挺有意思的问题,下面是详细设定:

    1、有两台 PC A 和 B,通过 HUB 连接到同一子网下
    2、A 和 B 网卡同一型号,MAC 地址、IP 地址相同,通信方式为半双工
    3、A 和 B 操作系统、软件等设置完全一致

    问 A 和 B 是否可以访问互联网,如果可以网络质量咋样?如果不可以,为什么呢,原理是啥?
    22 条回复    2018-09-08 14:11:40 +08:00
    Moorj
        1
    Moorj  
       2018-09-07 18:22:46 +08:00
    会提示 IP 地址冲突吧
    wohenyingyu03
        2
    wohenyingyu03  
       2018-09-07 18:23:03 +08:00
    通过 hub 应该可以吧……交换机可能不行。
    lrvy
        3
    lrvy  
    OP
       2018-09-07 18:27:39 +08:00
    @Moorj #1 为啥冲突? MAC 和 IP 都一样啊

    @wohenyingyu03 #2 对呀,因为 switch interface 不同,所以才设定用 hub
    rrfeng
        4
    rrfeng  
       2018-09-07 19:04:21 +08:00
    理论上是可以,但是很有可能引起软件崩溃(包括系统)
    rexyan
        5
    rexyan  
       2018-09-07 19:29:36 +08:00 via iPhone
    arp 就过不了
    lrvy
        6
    lrvy  
    OP
       2018-09-07 19:34:21 +08:00
    @rexyan #5 怎么呢
    ShadowStar
        7
    ShadowStar  
       2018-09-07 19:35:12 +08:00
    理论上没问题,HUB 是全广播的,ARP 可以过。
    也不会引起什么系统崩溃,毕竟系统协议栈就会丢弃掉非自身的交互的报文。
    提示 IP 地址冲突这种是操作系统提供的“附加”功能,取决于系统是否会检测冲突。
    dongyulin353
        8
    dongyulin353  
       2018-09-07 19:36:56 +08:00   ❤️ 1
    网络 7 层了解下,数据链路层交换数据是靠 arp 协议,通过 mac 地址来识别设备的,你 mac 地址一样,不知道交换机怎么处理 arp 应答的
    lrvy
        9
    lrvy  
    OP
       2018-09-07 19:39:42 +08:00
    @ShadowStar #7 是的是的,我也是这么认为, 另“ 提示 IP 地址冲突” 这个也可以举个极端情况,很多嵌入式系统都木有这个 feature
    @dongyulin353 #8 没有交换机啊,用的 hub,仔细看设定 2
    lrvy
        10
    lrvy  
    OP
       2018-09-07 19:41:19 +08:00
    @dongyulin353 设定 1,写错了。。。
    lcdtyph
        11
    lcdtyph  
       2018-09-07 20:08:34 +08:00 via iPhone   ❤️ 1
    基于 tcp 的通信应该不能用了,udp 还可以。
    billlee
        12
    billlee  
       2018-09-07 22:33:06 +08:00
    现在真的还有不带转发表的 hub 吗?
    sujin190
        13
    sujin190  
       2018-09-07 22:44:02 +08:00 via Android   ❤️ 1
    就算链路能通,tcp udp 应用层也无法组包吧,那这样发的数据还有什么用啊,这样不能说正常联网了吧
    benmaowang
        14
    benmaowang  
       2018-09-07 22:57:59 +08:00   ❤️ 1
    可以访问互联网。
    网络质量不咋地。
    ARP 不会有任何问题。
    如果 A 和 B 碰巧每次使用的本地端口都不一样,TCP 和 UDP 应该都是可以的。但实际并不会有这么好的运气,本地端口相同时,你会发现几乎没法上网,TCP 会断,UDP 会神经错乱。
    asyqm
        15
    asyqm  
       2018-09-08 00:55:19 +08:00
    通常一个访问请求会被分为若干个数据包传输,这种情况通常会有部分包失败导致数据不全。可用性比较差。
    msg7086
        16
    msg7086  
       2018-09-08 01:02:59 +08:00
    交换机会绑定 MAC 和网线端口,所以每隔一段时间,这个映射被改变,会导致往这个 MAC 发送的数据被发送到另一根网线上,所以很有可能你 A 机发出的数据包,返回的时候被交换机发到 B 机去了。

    如果你使用的是傻瓜集线器( Layer 1 设备),那是有可能可行的。不过像是封包里的时间戳和编号之类的东西就没办法了。
    yangqi
        17
    yangqi  
       2018-09-08 04:28:38 +08:00
    不能,如上面说的两台机器虽然 mac 相同,但端口不一样,导致两台机器都接受不到完整的数据,现象就是两台机器都上不了互联网。
    smg
        18
    smg  
       2018-09-08 07:01:53 +08:00 via Android
    用的是 HUB,A 和 B 可以访问互联网,但他们之间不能通信。但 HUB 现在几乎绝迹了。
    如果交换机的话直接就是不能。
    initialdp
        19
    initialdp  
       2018-09-08 09:03:38 +08:00
    HUB 会怎么处理? 不同端口下的 MAC 和 IP 相同,HUB 轮流给数据? 这样的话,每台设备收到的数据都不完整。。我觉得是无法访问互联网的。
    yingfengi
        20
    yingfengi  
       2018-09-08 11:58:16 +08:00 via Android
    不可以,别折腾了
    AnonymousUser
        21
    AnonymousUser  
       2018-09-08 12:59:44 +08:00
    有意思的问题,做做实验看看
    LGA1150
        22
    LGA1150  
       2018-09-08 14:11:40 +08:00 via Android
    @benmaowang TCP 就算本地端口不同也可能会断,另一台收到了错误的 TCP 包后会发 RST
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5429 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 08:15 · PVG 16:15 · LAX 00:15 · JFK 03:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.