TCP/IP 详解(第 2 版) 笔记 / 3 链路层 / 3.3 全双工, 节能, 自动协商机制, 802.1X 流控制 / 3.3.1 双工不匹配(duplex mismatch)

本文介绍了以太网的全双工和半双工模式,以及自动协商机制在Linux和Windows环境下的查看和配置方法。全双工能提高网络性能,而双工不匹配可能导致性能下降和冲突。通过ethtool和网络接口属性配置可以检查和解决此类问题。
摘要由CSDN通过智能技术生成

目录、参考文献


3.3 全双工, 节能, 自动协商机制, 802.1X 流控制

最初开发以太网时,它仅使用共享电缆以半双工模式运行
数据在一个时间点只能以一种方式发送,在任何给定的时间点只有一个站点在发送帧
随着交换式以太网的发展,网络不再是一根共享的电缆,而是多组链路,这样一来,多对站点可以同时交换数据
此外,以太网被改为全双工运行,不再使用冲突检测电路
以太网的物理长度也因此得到了扩展,因为与半双工操作和冲突检测相关的时序约束被移除了

在 Linux 中,可以通过 ethtool 程序查看是否支持全双工以及是否正在使用全双工
该工具还可以用来查看和设置以太网接口的许多其它属性:

Linux# ethtool eth0
Settings for eth0: 
            Supported ports: [ TP MII ] 
            Supported link modes: 10baseT/Half 10baseT/Full 
            100baseT/Half 100baseT/Full 
            Supports auto-negotiation: Yes 
            Advertised link modes: 10baseT/Half 10baseT/Full 
            100baseT/Half 100baseT/Full 
            Advertised auto-negotiation: Yes 
            Speed: 10Mb/s 
            Duplex: Half 
            Port: MII 
            PHYAD: 24 
            Transceiver: internal 
            Auto-negotiation: on 
            Current message level: 0x00000001 (1) 
            Link detected: yes
Linux# ethtool eth1
Settings for eth1: 
            Supported ports: [ TP ] 
            Supported link modes: 10baseT/Half 10baseT/Full 
                        100baseT/Half 100baseT/Full 
                        1000baseT/Full 
            Supports auto-negotiation: Yes 
            Advertised link modes: 10baseT/Half 10baseT/Full 
                        100baseT/Half 100baseT/Full 
                        1000baseT/Full 
            Advertised auto-negotiation: Yes 
            Speed: 100Mb/s 
            Duplex: Full 
            Port: Twisted Pair 
            PHYAD: 0 
            Transceiver: internal 
            Auto-negotiation: on
            Supports Wake-on: umbg 
            Wake-on: g 
            Current message level: 0x00000007 (7) 
            Link detected: yes

在本例中,第一个以太网接口 (eth0) 连接到半双工 10Mb/s 网络
它能够进行自动协商auto-negotiation),这是一种源自 802.3u 的机制,使接口能够交换一些信息,如速度信息、半双工或全双工操作这样的功能信息等等
自动协商信息是在物理层使用数据还未被发送或接收时发送的信号进行交换的
第二个以太网接口(eth1)也支持自动协商,速率被设置在 100Mb/s,操作模式被设置为全双工
其它字段(PortPHYADTransceiver)分别表示:物理端口类型、地址、物理层电路是在 NIC 的内部还是外部
当前消息级别(Current message level)字段用于配置与接口的操作模式相关的日志消息,它的行为特定于驱动程序
我们在下面的例子之后再讨论唤醒(wake-on)字段

在 Windows 中获得类似信息的方法:点击【控制面板】【网络连接】,然后右键单击某个网络接口选择【属性】,单击配置框并选择【高级】选项卡
这将打开一个类似图 3-6 所示的菜单(此图为 Windows 7 的以太网接口)

Figure 3-6
图 3-6
Windows 7 中网络接口属性的【高级】选项卡
该控件允许用户向网络设备驱动程序提供操作参数

图 3-6 展示了可以用适配器的设备驱动程序配置的特殊功能
这个特定的适配器和驱动程序,可以启用或禁用 802.1p/q 标签,也可以启用或禁用流控制和唤醒(wake-up)功能(见 3.3.2 节)
可以手动设置速度和双工模式,也可以选择更典型的自动协商选项

3.3.1 双工不匹配(duplex mismatch)

历史上,使用自动协商存在一些互操作性问题
特别是当计算机与关联的交换机端口使用不同的双工配置时,或当链路的一端启用自动协商机制而另一端禁用时
在这种情况下,可能会发生双工不匹配(duplex mismatch)
当这种情况发生时,连接并没有完全失效,但可能会有显着的性能下降
当网络中两个方向上的流量逐渐变大时(如在传输大量数据时)
半双工接口可以将传入流量检测为冲突,触发 CSMA/CD 以太网 MAC 的指数退避功能
同时,触发冲突的数据丢失,这时可能需要通过像 TCP 这样的高层协议来进行重传
因此,只有当半双工接口在发送数据的同时有足够的流量来接收数据时,才会出现性能下降的情况,轻负载下一般不会发生这种情况
一些研究人员试图构建分析工具来检测这种情况 [SC05]


目录、参考文献

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值