Auto MDI-X a prueba: cables straight-through, crossover, hubs, switch y PCs
En este artículo pongo a prueba la teoría sobre los cables de Ethernet straight-through y crossover, como se muestra en el artículo sobre este tema.
Para esta práctica usaré lo siguiente:
- Cable Cat6a usando solo los pares 2 y 3 con un pinout T568A en ambos extremos (straigth-through)
- Cable Cat6a usando solo los pares 2 y 3 con un pinout T568B en ambos extremos (straigth-through)
- Cable Cat6a usando solo los pares 2 y 3 con un pinout T568A en un extremo y T568B en otro (crossover)
- Hub (no switch) antiguo RH02 (EH-6005S) anterior a 1998 (solicitud patente US6175865B1)
- Cisco Catalyst 2940 (switch) C2940-8TT-S
- 2 PCs
- Adaptadores Ethernet-USB 10/100 (sin Auto MDI-X)
- Kit herramientas (principalmente se necesita crimpadora y mini-cortadora de cable [Stripping Plier])
Creación de cables
El primero paso es tener listos los cables a usar. Dispongo de un rollo de varios metros de cable Cat6 (del cual usare solo 2 pares simulando un cable 10/100) y las herramientas necesarias para ello por lo que procedo a montar los cables según los pinouts indicados:
La imagen de la izquierda es un cable T58B-T568B (straight-through) y el de la derecha un T568B-T568A (crossover). Se necesita ambos y además uno T568A-T568A.
Como se indica en el artículo de la teoría, el funcionamiento de un straight-through 568A-568A y un 568B-568B es el mismo, pero practica y double-check, se hace ambos.
No me detengo en el proceso de la creación del cable. Los pasos uno a uno se pueden ver aquí. El resultado es el siguiente:
- Cable T568A-T568A (straight-through)
- Cable T568B-T568B (straight-through)
- Cable T568A-T568B (crossover)
Prueba 1: conexión PC-HUB
El puerto del PC es de tipo uplink (MDI) y el del hub es un puerto regular (MDI-X), por lo que la teoría dice que para esta conexión debemos usar un cable straight-through ya sea 568A-568A o 568B-568B. Para poner a prueba la teoría se necesita que tanto la NIC del PC a usar, como el HUB, sean lo suficientemente antiguos como para no implementar auto-MDIX.
Entonces, para la NIC del PC basta con usar un adaptador que sea del tipo 10/100 (no 1000, ya que implementará auto-MDIX) de hace unos años. Los que se usan en esta prueba y siguientes son estos:
Adaptadores USB a Ethernet 10/100 (comprados en eBay)
Datos técnicos del adaptador USB a Ethernet
Las opciones de configuración que ofrece el adaptador en Windows son bastante básicas permitiendo ajustar únicamente speed y duplex y el uso de una MAC personalizada:
Los drivers para este adaptador se instalan desde Windows Update (driver Corechip). Si no, se puede usar el setup.exe contenido en el propio USB.
El HUB que se usa en esta práctica es un HUB 10BASE-T anterior incluso a la fecha de la patente de auto-MDIX por lo que queda claro que no lo implementa:
Hub 10BASE-T - parte superior
Hub 10BASE-T - parte frontal (el puerto numerado como 5X es un puerto uplink MDI-X)
Parte trasera del hub
Caja del hub ("networking retro"...)
A continuación las hojas del manual del hub RH02 - EH6005S:
Se conecta un cable 568A-568A straight-through del PC al HUB con el siguiente resultado:
Se observa que se establece la conexión. Tanto el led del hub como el del adaptador conectado al PC se encienden.
A continuación la prueba con un cable crossover:
Utilizando un cable crossover no se establece la conexión, porque se está usando un cable que conecta los pines Tx 1-2 del PC a los pines Tx 3-6 del hub, y los pines Rx 3-6 del PC a los pines Rx 1-6 del hub. Los cables de transmisión (Tx) deben ir a los de recepción (Rx) y el cable crossover los está cruzando de manera que los de Tx van a Tx y Rx a Rx por lo que no hay conexión.
En la siguiente imagen se marca en azul como es la conexión de este cable crossover y por qué no funciona.
- El pin 1 de la NIC del PC es el Tx+ que va a al Tx+ del hub (pin 3)
- El pin 2 de la NIC del PC es el Tx- que va al Tx- del hub (pin 6)
- El pin 3 de la NIC del PC es el Rx+ que va al Rx+ del hub (pin 1)
- El pin 6 de la NIC del PC es el Rx- que va al Rx- del hub (pin 2)
Si auto MDI-X estuviese habilitado en uno de los extremos, por ejemplo el hub, este podría cambiar su lógica haciendo que los pines 1-2 fuesen para Tx y el 3-6 para Rx.
Prueba 2: conexión PC-SWITCH
Un switch usa la misma lógica que un hub. En el caso de esta práctica, el switch tiene capacidad para deshabilitar y habilitar auto MDI-X individualmente en cada puerto.
Para la prueba me baso en el siguiente documento de Cisco: Configuring Auto-MDIX
Según la tabla anterior, extraída del documento de Cisco, queda claro que el único caso en el que el enlace no queda UP es cuando se usa un cable incorrecto y además auto MDI-X esta deshabilitado en ambos extremos. Para probarlo se harán las siguientes 4 pruebas:
Usando un cable straight-through:
- PC (sin auto MDI-X) -- switch (con auto MDI-X, por defecto)
- PC (sin auto MDI-X) -- switch (sin auto MDI-X)
Usando un cable crossover:
- PC (sin auto MDI-X) -- switch (con auto MDI-X, por defecto)
- PC (sin auto MDI-X) -- switch (sin auto MDI-X)
Straight-through: PC (sin auto MDI-X) -- switch (con auto MDI-X, por defecto)
En primer lugar se prueba a conectar PC y switch con la configuración en ambos por defecto, es decir, usando el mismo adaptador Ethernet a USB de la prueba 1, auto MDI-X deshabilitado en el PC y habilitado en el switch, usando un cable straight-through 568B-568B.
Configuración del puerto del switch donde se conecta el cable al PC
Se observa que la conexión se establece:
Straight-through: PC (sin auto MDI-X) -- switch (sin auto MDI-X)
Deshabilitar auto MDI-X en ambos extremos hace necesario usar el tipo de cable correcto, que en este caso es un cable straight-through.
Usar un cable straight-through funciona en ambos casos (MDI-X habilitado y deshabilitado)
Crossover: PC (sin auto MDI-X) -- switch (con auto MDI-X, por defecto)
Cuando se usa un cable incorrecto, crossover en este caso, se hace necesario que en al menos uno de los extremos, auto MDI-X esté habilitado. Con la configuración del switch por defecto, auto MDI-X está habilitado por lo que cuando se usa un cable crossover el link pasa a UP:
Crossover: PC (sin auto MDI-X) -- switch (sin auto MDI-X)
Este es el único caso en el que no se establece la conexión:
En la imagen se observa que en cuanto se configura el comando no mdix auto en la interfaz, el link cae.
Prueba 3: HUB-SWITCH
En el caso de dos dispositivos que usan la misma lógica (like devices), se debe usar un cable crossover cuando auto MDI-X no esta habilitado en ninguno de los extremos.
En la siguiente imagen se observa la conexión entre el puerto F0/1 y el puerto 2 del hub usando un cable crossover, por lo que el link pasa a UP. Tambien se observa el uso de un cable straight-through entre el puerto F0/2 del switch y el puerto 1 del hub, que queda DOWN debido a que no es el tipo de cable correcto.
En ambos puertos del switch usados (F0/1-2) se ha configurado el comando no mdix auto