天天看点

《Network Warrior中文版(第2版)——思科网络工程师必备手册》一3.2 自动协商的运作方式

本节书摘来自异步社区《network warrior中文版(第2版)——思科网络工程师必备手册》一书中的第3章,第3.2节,作者【美】gary a. donahue,更多章节内容可以访问云栖社区“异步社区”公众号查看

network warrior中文版(第2版)——思科网络工程师必备手册

首先,来看一下自动协商干不了的事儿:在接口上激活自动协商功能时,该机制既不会自动测出以太网链路对端接口的配置,也不会针对测出的配置,随即与之匹配。但很多网管人员都对此不明就里,从而导致了许多问题。

自动协商是一种协议,与所有协议一样,只有链路两端同时运行时,协议机制方可生效。换句话说,若链路一端运行了自动协商,而对端却没有,那么该机制就不能自动测出链路对端的速度和双工配置。要是链路对端也开启了自动协商功能,那么链路两端的接口(网卡)便能够共同确定最佳速度和双工模式。每端接口都会通告自己所能运行的速度和双工模式,于是,便可选择速度与双工的最佳配对模式(优选较高的速度,并配以全双工)。

人们对自动协商存在误解,主要是因为自动协商看起来似乎总能大功告成。这要拜赐于一种叫做并行检测(parallel detection)的特性,在自动协商的过程中,若未发现对端链路开启自动协商功能,并行检测特性就会“出手干预”。该特性的运作方式是:将接收自本端10base-t、100base-tx以及100base-t4驱动程序的信号,发送给链路对端。只要上述驱动程序中的任何一个检测到了(对端发回的)信号,便会将接口设置为相应的速度。

并行检测只能测出链路的速度,无法测定双工模式。这一点非常值得关注,因为双工模式会随以太网的速度而变。

10base-t

10base-t在设计之初并不支持全双工。支持全双工的10base-t实现寥寥无几。

100base-t

100base-t很早便开始支持全双工,只要还有人用,该技术就是连接100mbit/s链路的首选方法。然而,100base-t的默认行为通常为半双工,需手动设置为全双工。

1000base-t

就功能而言,吉比特以太网的自动协商协议要远胜于10m或100m以太网。在大多数情况下,应将吉比特接口设置为自动协商模式。

10吉比特

一般而言,10 吉比特以太网连接要依赖于光纤收发器,或特殊的铜线连接器(与10/100/1000 m以太网所用的rj45连接器不同)。硬件往往也会指明10吉比特以太网的连接方式。在6500交换机上,10吉比特接口都需要xenpak模块,该模块也只能用于10吉比特端口。在nexus 5000交换机上,有些端口是1吉/10吉端口,可使用speed命令来更改端口的速度。

由于10base-t不具备全面支持全双工的能力,加之100base-t典型的默认行为(需人工激活自动协商功能),因此,当自动协商失败,过渡到了并行检测阶段(该阶段只会检测速度)时,对驱动程序来说,最可靠的做法是:让链路(接口/网卡)运行半双工。

随着网络以及联网设备功能的不断发展,链路速度越高,所附带的自动协商协议功能也越强,自动协商发生故障的可能性自然也会越来越低。话虽这么说,但笔者曾见过不少20“岁”以上高龄的路由器仍在网络中“老当益壮”,因此,在未来若干年内,对自动协商运作方式“门清”的读者,肯定不会“吃亏”。

继续阅读