duplex mismatch

来源:互联网 发布:yum nginx 安装 编辑:程序博客网 时间:2024/05/29 13:51

Duplex mismatch due to auto negotiation

When a device set to auto negotiation is connected to a device that is not using auto negotiation, the auto negotiation process fails. The auto negotiating end of the connection is still able to correctly detect the speed of the other end, but cannot correctly detect the duplex mode. For backwards compatibility with Ethernethubs, the standard requires the auto negotiating device to use half duplex in these conditions.Therefore, the auto negotiating end of the connection uses half duplex while the non-negotiating peer is locked at full duplex, and this is a duplex mismatch.

The Ethernet standards and major Ethernet equipment manufacturers recommend enabling auto negotiation. Nevertheless, network equipment allows auto negotiation to be disabled and on some networks, auto negotiation is disabled on all ports and a fixed modality of 100 Mbit/s and full duplex is used. That was often done by network administrators intentionally upon the introduction of auto negotiation,because ofinteroperability issues with the initial auto negotiation specification. The fixed mode of operation works well if both ends of a connection are locked to the same settings. However, maintaining such a network and guaranteeing consistency is difficult. Since auto negotiation is generally the manufacturer’s default setting it is almost certain that, in an environment where the policy is to have fixed port settings, someone will sooner or later leave a port set to use auto negotiation by mistake.

Effects of duplex mismatch

Communication is possible over a connection inspite of a duplex mismatch. Single packets are sent and acknowledged withoutproblems. As a result, a simple ping command fails to detect a duplex mismatch because single packetsand their resulting acknowledgments at 1-second intervals do not cause anyproblem on the network. A terminal session which sends data slowly (in veryshort bursts) can also communicate successfully. However, as soon as either endof the connection attempts to send any significant amount of data, the networksuddenly slows to very low speed. Since the network is otherwise working, thecause is not so readily apparent.

A duplex mismatch causes problems whenboth ends of the connection attempt to transfer data at the same time. Thishappens even if the channel is used (from a high-level or user's perspective)in one direction only, in case of large data transfers. Indeed, when a largedata transfer is sent over a TCP, data is sent in multiple packets, some of which will trigger anacknowledgment packet back to the sender. This results in packets being sent inboth directions at the same time.

In such conditions, the full-duplex endof the connection sends its packets while receiving other packets; this isexactly the point of a full-duplex connection. Meanwhile, the half-duplex endcannot accept the incoming data while it is sending – it will sense it asa collision. The half-duplex device ceases its current datatransmission, sends a jam signal instead and then retries later as per CSMA/CD. This results in the full-duplex side receiving anincomplete frame with CRC error or a runtframe. It does notdetect any collision since CSMA/CD is disabled on the full-duplex side. As aresult, when both devices are attempting to transmit at (nearly) the same time,the packet sent by the full-duplex end will be discarded and lost due to anassumed collision and the packet sent by the half duplex device will be delayedor lost due to a CRC error in the frame.[6]

The lost packets force the TCP protocolto perform error recovery, but the initial (streamlined) recovery attempts failbecause the retransmitted packets are lost in exactly the same way as theoriginal packets. Eventually, the TCP transmission window becomes full and theTCP protocol refuses to transmit any further data until thepreviously-transmitted data is acknowledged. This, in turn, will quiesce the new traffic over theconnection, leaving only the retransmissions and acknowledgments. Since theretransmission timer grows progressively longer between attempts, eventually aretransmission will occur when there is no reverse traffic on the connection,and the acknowledgment are finally received. This will restart the TCP traffic,which in turn immediately causes lost packets as streaming resumes.

The end result is a connection that isworking but performs extremely poorlybecause of the duplex mismatch. Symptoms of a duplex mismatch are connectionsthat seem to work fine with a ping command, but "lock up" easily with very lowthroughput on data transfers; the effective data transfer rate is likely to beasymmetrical, performing much worse in the half-duplex to full-duplex directionthan the other. In normal half-duplex operations late collisions donot occur. However, in a duplex mismatch the collisions seen on the half-duplexside of the link are often late collisions. The full-duplex side usually willregister frame check sequence errors, or runtframes.[7][8] Viewing these standard Ethernetstatistics can help diagnose the problem.

Contrary to what one might reasonably expect, both sides of a connection need to be identically configured for proper operation. In other words, setting one side to automatic (either speed or duplex or both) and setting the other to be fixed (either speed or duplex or both) will likely result in either a speed mismatch, a duplex mismatch or both. A duplex mismatch can be fixed by either enabling auto negotiation (if available and working) on both ends or by forcing the same settings on both ends (availability of a configuration interface permitting).If there is no option but to have a locked setting on one end and auto negotiation the other (for example, an old device with broken auto negotiation connected to an unmanaged switch) half duplex must be used. All modern LAN equipment comes with auto negotiation enabled and the various compatibility issues have been resolved. The best way to avoid duplex mismatches is to use auto negotiation and to replace any legacy equipment that does not use auto negotiation or does not auto negotiate correctly.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

简而言之,就是两个设备,一个使用Auto,一个非Auto,Auto端的设备可以匹配到对端设备的速度,但双工模式会匹配为HD,如果另一端是FD,就导致了duplex mismatch

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 钱包价格 粉色钱包 kabao 子母包 单肩包 斜挎包 可爱的宠物狗 钱包定做 订做真皮钱包 钱包多少钱 地摊钱包 女士钱包厂家 包包货源网 香奈儿钱包女 钱包软件 女士真皮钱包 钱包品牌女 手包钱包 钱包手拿包 古奇女包钱包 率土之滨周年卡包 率土之滨周年卡包内容 率土之滨4周年卡包 糖果缤纷乐送卡包 率土之滨4周年卡包内容 率土之滨周年庆卡包 糖果缤纷乐黄金卡包 率土之滨2019周年庆卡包 率土之滨2018周年庆卡包 率土之滨四周年卡包 糖果缤纷乐炉石卡包 糖果缤纷乐送炉石卡包 辐射避难所无限卡包 糖果缤纷乐炉石卡包怎么拿 率土之滨s2赛季名将卡包 2018率土之滨各种节日卡包 卡卡 银行卡卡号 卡卡罗特 卡卡号 卡卡影院