V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
huangya
V2EX  ›  宽带症候群

底层网络问题: CSMA/CD 载波监听多点接入/碰撞检测协议的必要性

  •  1
     
  •   huangya · 2021-08-10 16:32:45 +08:00 · 1908 次点击
    这是一个创建于 1196 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在的以太网构成的局域网大多情况下多台主机都是通过一个交换机(非 hub )连接在一起的,而不是采用总线型结构。那是不是意味着这个协议在真实环境下虽然还是在用,但其实在绝大部分情况下如果能关闭(我不知道是否能在网卡中关闭),也是可以关闭的?
    10 条回复    2021-09-01 11:09:43 +08:00
    yanyumihuang
        1
    yanyumihuang  
       2021-08-10 16:36:06 +08:00   ❤️ 1
    以太网,实际上星型,逻辑上仍然是总线型。如果你的所有设备全都工作在全双工模式,那就不会发生碰撞
    raysonx
        2
    raysonx  
       2021-08-10 16:38:42 +08:00 via iPad   ❤️ 2
    CSMA/CD 目前只用在 10M/100M 半双工以太网下。千兆以太网理论上也支持半双工但实际没有设备支持,网卡处于全双工工作模式下是不启用的。
    Tianao
        3
    Tianao  
       2021-08-10 16:43:01 +08:00   ❤️ 1
    楼主的理解是对的,但据我所知,用户不能关闭 CD 机制。而且 CD 不是 CA (冲突避免),只有当检测到冲突发生时才会进行指数退避,在发送帧之前没有专门的 RTS-CTS 时间,理论上不会消耗额外的时隙。
    scegg
        4
    scegg  
       2021-08-11 09:44:00 +08:00
    楼主的想法是正确的,在你的场景下确实是没有 CD 的命中可能性。但协议要求支持,所以不能关闭(还记得民航机上的烟灰缸吗)。

    另外楼上也提到了,CD 本身是监测发生到碰撞后再延迟重发,所以在不碰撞的环境下也不会带来性能开销。
    no1xsyzy
        5
    no1xsyzy  
       2021-08-11 09:56:39 +08:00
    协议需要支持
    你真精简也就是每个以太网包一个字节的 prelude (好像有点记不得是不是这个名儿了……)可以去掉,然后 padding 可以去掉。
    prelude 还有校准时钟的目的。padding 不清楚千兆有多长。
    LGA1150
        6
    LGA1150  
       2021-08-11 16:09:40 +08:00
    @no1xsyzy Preamble 和 SFD
    benmaowang
        7
    benmaowang  
       2021-08-11 20:25:21 +08:00
    @no1xsyzy 前导码 Preamble ( 7 字节)+ 起始符 SFD ( 1 字节)+ ... + 帧间隙(>=20 字节),去掉就没办法定帧了吧
    no1xsyzy
        8
    no1xsyzy  
       2021-08-12 00:25:12 +08:00
    @benmaowang 可以缩缩,蚊子肉?
    帧间隙是为了 CD 保证最远距离下收到对面发出来的 Preamble 之时当前帧还没发完,不用 CD 的情况下确实可以缩缩。
    不过大部分情况下不会那么小……
    mxi1
        9
    mxi1  
       2021-08-19 09:16:39 +08:00
    @yanyumihuang #1 @huangya 这条回复说得对。现代的以太网设备都是全双工的了,并没有使用 CSMA/CD 机制。
    lynn0977
        10
    lynn0977  
       2021-09-01 11:09:43 +08:00 via Android
    对于取消 CSMA/CD,交换型网络和全双工,哪个是关键?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2562 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:47 · PVG 23:47 · LAX 07:47 · JFK 10:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.