自动协商 Auto-negotiation
802.3标准中的第28条是这样定义自动协商功能的:它允许一个设备向链路远端的设备通告自己所运行的工作方式,并且侦测远端通告的相应的运 行方式。自动协商的目的是给共享一条链路的两台设备提供一种交换信息的方法,并自动配置它们工作在最优能力下。
当交换FLP时,两个站点根据以下从高到低的优先级侦测双方共有的最佳方式。
1000BASE-T全双工
1000BASE-T
100BASE-T2 全双工
100BASE-TX 全双工
100BASE-T2
100BASE-T4
100BASE-TX
10BASE-T 全双工
10BASE-T
例如,A和B正在自动协商,并且A具有10/100/1000全半双工的能力,但是B只有10/100全半双工的能力,这样双方共有的最高链路能力为100,全双工。一旦双方进行自动协商,链路就会运行在双方能够支持的最佳能力下。
有关自动协商的大多数问题是由于有一方没有工作在自动协商方式。当一个站点工作在自动协商方式而另一方没有时,只有一方发送快速链路脉冲。另一方已经设定在特定的速率和双工方式下,这样就不会跟对端进行协商。他已经被强行设定,就不会再考虑他连接端的工作方式。
由于强行设定的站点不会告诉正在协商的站点自己的速率和单双工方式,自动协商的站点就必须自己决定合适的速率和单双工方式来匹配对端,这叫做平行检测。协商站点监听从对端过来的链路脉冲能够辨别通信速率。10,100和1000Mbs以太网使用不同的信号方式,所以协商站点能识别对端的工作速率。
然而,因为强行设定的站点不进行协商,协商站点没有方法知道强行设定站点工作在哪种双工方式下。协商站点为了避免全半双工不匹配,根据802.3标准,它必需与强行站点使用相同的速率,但是工作在半双工方式下。不管速率如何(除了10Gig),半双工是以太网的默认方式。在许多情况下,这会产生全半双工不匹配问题。
为了两端都达到全双工方式,要么两端都自动协商,要么两端都强行设定。
务必不要一端自动协商,另一端强行设定。这会导致双工不匹配。建议把两端设置留在自动协商以减少人为错误。
自动协商并不能百分之一百的可靠。因为各种各样的原因可能造成速度不匹配或者双工不匹配。速度不匹配的情况下,通常可以很容易的感觉的到,因为速度不匹配的情况下通讯双方是无法正常通讯的。而双工不匹配的情况下,双方能够互相正常通讯但是会造成接口错误包数量的不断增加,特别在接口流量较大的情况下会造成性能下降的问题。往往因为这个问题比较隐蔽不易查找。
自动协商并不能百分百可靠
双工不匹配的链接能通讯,但是产生大量错误,造成网络繁忙,降低网络性能
对于大多数接口速度和双工需要设置为自动以完全自动协商方式工作
强制为特定速度的交换机接口禁用自动协商双工设置
只有链路两边都设置为自动协商或手动设置为全双工才能实现全双工
主机与交换机或其他设备直接连接可工作在全双工模式,不能使用中继器或集线器
如果仅仅在链路一侧使能自动协商,默认为半双工模式,而不管另一侧的双工模式
如果链接的一侧被强制为全双工,另一侧设为自动协商,会发生双工不匹配
只需拔主机电缆 10 秒钟,可以强制进行新的自动协商
大多数10 Mb接口只支持10Mb半双工模式
大多数10/100Mb接口支持自动协商,大多数使用RJ-45双绞线插口的10/100Mb接口支持全双工模式
通过AUI端口连接的网络只支持10Mb半双工
接口的自动协商简化了网络管理的开销.但对其本质,应有正确的理解,以解决配置错误时所带来的问题.
先从最初的10兆以太网说起吧,为了维护链路的正常可用,接口要定期发送脉冲,如果在规定时间内,接口没有收到脉冲,就进入down状态,如果两次收到脉冲,就转为up状态,这种脉冲就是normal link pulse,简称nlp.其发送脉冲的间隔是16ms.
10兆不支持自动协商,是因为只能发送nlp,而自动协商是要接口能发送flp(fast link pulse)脉冲,百兆,千兆口都能发送flp.flp的发送间隔比nlp要小很多,具体的忘记了.呵呵.
百兆接口发送flp时,如果在规定时间内收到了响应,那接口可以进入百兆模式,如果超时没有收到flp,只收到nlp,转而向下兼容,发送nlp,转为10兆模式.
而双工问题是在flp中进行的,在一对接口中,相互发送flp,在flp中有个"速率双工能力"字段,2个接口就是靠这个字段来协商双工问题的.而要能保证两者进行协商,前提是任何一方都不能手工指定双工,否则这个"速率双工能力"将被忽略.可能造成无法协商正确的双工结果.
举个例子:如果一边是自动协商,一边是100兆全双工,那最后的结果是100兆半双工.原因:100兆是因为双方都发送flp,而半双工的原因是手工指定全双工的一端将flp中"速率双工能力"字段滞空.另外自动协商一端无法就双工能力进行协商,转为半双工.
所以100兆和双工问题要具体,分别的考虑.