2000年前后开始接触网络的人应该还记得,用网线(双绞线)把计算机连接到以太网hub时,有的网线可以建立连接,有的则不行。如果一条双绞线可以在计算机和hub之间建立连接,那么用它来连接两台电脑时,就无法建立连接。
为什么会有什么这样的差别呢?这要从双绞线的线序说起。用来连接PC和hub的双绞线两端的线序是完全一样的,这种双绞线称为“直连线”。另一种双绞线两端的线序不同,按特定的方式有交叉,这种双绞线称为“交叉线”。交叉线可以用来连接两台电脑。
双绞线内部由8根线组成,8根线分为4对,白橙和橙色线相互缠绕组成一对、白绿和绿色、白蓝和蓝色、白棕和棕色各组成一对。双绞线的两端各使用一个RJ45水晶头固定。
双绞线用RJ45水晶头固定之后,如下图所示:
RJ45水晶头中的8个槽位按上图所示的方式进行编号,每个槽位连接双绞线的一根线。直连线上,8根线并不是按照“白橙->橙->白绿->绿->白蓝->蓝->白棕->棕”的方式排列的,正确的排列方式如下:
RJ45 的槽位 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
线的 颜色 |
白橙 |
橙 |
白绿 |
蓝 |
白蓝 |
绿 |
白棕 |
棕 |
交叉线的一端和直连线的线序一样,另一端则把1-2线对和3-6线对换了位置。这样,交叉线另一端的线序如下:
RJ45 的槽位 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
线的 颜色 |
白绿 |
绿 |
白橙 |
蓝 |
白蓝 |
橙 |
白棕 |
棕 |
直连线的线序是TIA/EIA-568A线序;而交叉线一端是TIA/EIA-568A线序,另一端则是TIA/EIA-568B线序。
早期的以太网hub和计算机可以使用直连线建立连接,这是因为hub端口和计算机网卡的端口是不一样的。计算机网卡上,1和2线用来发送信号,3和6线用来接收信号。Hub端口上,情况恰好相反,1和2线用来接收信号,而3和6线用来发送。计算机网卡端口属于MDI端口,而hub端口则属于MDI-X端口。
早期的以太网hub上,通常有2类端口,即多个连接计算机的端口和一个uplink端口。用来连接计算机的端口是MDI-X端口,而uplink端口则是MDI端口。MDI和MDI-X端口之间,需要使用直连线;而相同类型的端口之间需要使用交叉线。
IEEEStd802.3i-199010Base-T标准提出了MDI和MDI-X的概念。后来,IEEEStd802.3u-1995标准定义的100Base-T4、100Base-TX都继承了这个概念。10BASE-T和100BASE-TX以太网中,4,5,7和8线没有使用。千兆以太网之后,MDI和MDI-X的含义发生了变化,千兆以太网会用到全部8根线,每根线上都同时进行收发。
1998年11月和2000年10月,HP公司先后获得两项HPAuto-MDIX专利:U.S.Patents6,175,865和6,460,078。
U.S.Patents6,175,865 |
Apparatusforautomaticallyconfiguringnetworkmediaconnections |
Nov12th,1998 |
U.S.Patents6,460,078 |
Apparatusforautomaticallyconfiguringmediaconnectorsofanodeinterfacedevice |
Oct20th,2000 |
HPAuto-MDIX解决了双绞线线序匹配的问题,用户不必再关心双绞线的线序问题。HPAuto-MDIX可以自动检测并配置PHY内部的线序。这样,无论使用直连线还是交叉线,以太网端口都可以对接成功。
1999年,HPAuto-MDIX被IEEEStd802.3ab采用,应用在1000BASE-T中。IEEEStd802.3的40.4.4章节中,这个功能被称为AutomaticMDI/MDI-X。
现在,绝大多数以太网设备都支持AutomaticMDI/MDI-X,但是在IEEE802.3标准的百兆以太网章节中,并没有看到关于AutomaticMDI/MDI-X的描述。
IEEEStd802.3的10M和百兆以太网的章节中,对线序的交叉(crossover)进行了说明。终端设备和中继设备对接时,建议在中继设备上实现crossover。如果对接双方都实现了内部的crossover,那么就需要在双绞线上作crossover。
千兆以太网标准引入了AutomaticMDI/MDI-X功能,该功能对于1000BASE-T以太网是可选项。
1000BASE-T和早期的MDI/MDI-X是不兼容的,实现方式也不一样。1000BASE-T使用了双绞线的全部4对线(8根线),每对线上既有收又有发。IEEEStd802.3标准的原文如下:
Thecrossoverfunctionspecifiedhereisnotcompatiblewiththecrossoverfunctionspecifiedin14.5.2forpairsTDandRD.(Clause40,40.8.2CrossoverFunction)
本文出自 “网络工房” 博客,转载请与作者联系!