2. Dispositivos para interconexión y Linux

Indicadores de Logro:

2.1. Lectura: Dispositivos para interconexión y Linux

De acuerdo al uso hay diversos dispositivos que permiten conectar computadores. Para el caso de redes pequeñas algunos ejemplos son:

Modems

Permiten conectar dos computadores empleando una línea telefónica.

Cable serial

Permite conectar dos computadores por sus puertos seriales.

Cable Base10T

Consta de 8 cables internos trenzados en parejas (azul con azul/blanco, verde con verde/blanco, naranja con naranja/blanco, cafe con cafe/blanco), en sus extremos tiene conectores RJ45 [197]. Permite conectar un computador a un concentrador o dos computadores directamente haciendo un cruce de los cables internos (a un cable con tal cruce se le dice cruzado --cross-over-- o invertido --reverse)[198] .

Concentrador [199]

Por medio de clabes Base10T (no cruzados) permite conectar varios computadores que tengan tarjetas Ethernet de 10MB, cada uno en un puerto del concentrador. Normalmente los concentradores son repetidores que retransmiten por todos sus puertos la señal que llega por uno de ellos y detectan colisiones. Hay modelos por ejemplo de 4, 8, 10 y 16 puertos, algunos tienen un puerto más para conectar a otro concentrador.

Para operar dispositivos de red conectados a un computador con Linux, es necesario emplear el controlador apropiado y asociar el dispositivo a una interfaz de red, que a su vez tendrá una dirección IP. Así por ejemplo a un modem se le puede asociar la interfaz ppp0 (o con otro número en lugar de 0) y a una tarjeta Ethernet se le puede asociar la interfaz eth0 (o con otro número en lugar de 0). Hay además una interfaz que siempre debe estar presente: lo (loopback) que representa una conexión con el mismo computador. Los nombres de las interfaces activas en un sistema Linux pueden consultarse con: /sbin/ifconfig o con netstat -i.

En esta sección se presentan detalles de algunos dispositivos para interconexión y su configuración. Hemos procurado dar especial enfasis a los requeridos en una red local Ethernet.

2.1.1. Modem

Un modem permite modular información digital para transmitirla por una línea telefónica. Infortunadamente la tecnología de modems está en gran parte patentada y muchas especificaciones son secretas, así que hay muchos modems que NO son soportados en Linux. Por esto, el paso más difícil es lograr que su modem sea reconocido y manejado por Linux.

No tendrá problemas con modems que puedan configurarse con jumpers y que no sean especifícos para Windows (winmodems), tal es el caso de modems externos que se conectan a los puertos seriales o modems que se conectan directamente al bus, pero que sean genéricos. Mientras que los primeros emplean la configuración estándar de los puertos seriales, los segundos normalmente pueden configurarse con jumpers o por software, para emplear una dirección base y un puerto libres.

Aún si tiene un winmodem es posible que exista un controlador para Linux, puede consultar una base de datos en: http://www.idir.net/~gromitkc/winmodem.html#drivers o puede buscar en el sitio web del fabricante.

Para emplear el modem desde Linux, debe haber un archivo para dispositivos en el directorio dev, que permita usarlo. Comunmente un modem quedará asociado a uno de los dispositivo seriales: /dev/ttyS0, /dev/ttyS1, /dev/ttyS2 o /dev/ttyS3. Tal dispositivo serial empleará puertos y direcciones base, que tienen valores por defecto o que en caso de requerirse pueden modificarse con setserial (ver Puertos y dispositivos seriales).

Una vez haya configurado el hardware de forma que esté asociado a un dispositivo serial, puede probar que este funcionando. Una forma fácil de hacerlo es enviando la cadena ATA al dispositivo del modem Por ejemplo si configuró su modem como primer puerto serial, intente:

echo "ATA" > /dev/ttyS0 

al hacerlo debe escuchar la línea telefónica en el parlante del computador o en el del modem (claro está debe tener conectada la línea telefónica al modem) [200]

También puede emplear un programa como minicom para enviar comandos a su modem y ver las respuesta que el mismo genera (por ejemplo al enviar la cadena ATZ debe responder OK).

Cuando haya determinado que su modem está operando correctamente en un dispositivo puede emplear minicom para conectarse a un BBS o al computador de algún amigo. Para conectarse a Internet debe configurar el protocolo PPP y dar información sobre su provedor de acceso a Internet. En Debian puede hacer estos pasos con los programas pppconfig o con wvdial. Con pppconfig podrá configurar más de un provedor y asignarle a cada uno un nombre, tal nombre puede usarlo posteriormente para iniciar una conexión con el programa pon.

Hay también algunos Modems USB soportados (que cumplen ACM --Abstract Control Model): 3Com OfficeConnect 56k, 3Com Voice FaxModem Pro, 3Com Sportster MultiTech MultiModem 56k, Zoom 2986L FaxModem, Compaq 56k FaxModem, ELSA Microlink 56k. Se maneja con un dispositivo /dev/usb/acm/0 (166,0) que puede emplearse como otros tipos de modems.

2.1.2. Tarjeta Ethernet

Los integrados (y eventualmente tarjetas) Ethernet de 10MB o 100MB soportadas por el kernel 2.2.19 son [201]:

  • Tarjetas ISA: AMD Lance y PCnet AT1500, NE2100 (lance), SMC Ultra (smc-ultra), 3Com 3c501 (3c501), 3c503 (3c503), 3c505 (3c505), 3c507 (3c507), (3c523), 3c527 (3c527), 3c509 3c579 (3c509), 3c515 ISA (3c515), AT170/1720 (at1700), Cabletron E21xx(e2100), WD80x3 (wd), DEPCA/DE10x,DE200,DE201,DE202, DE422 (depca),Etherworks DE203,DE204,DE205 (ewrk3), EtherExpress 16 (eexpress), EtherExpressPro/100 (eepro), Fujitsu FMV-181/182/183/184 (fmv18x), HP PCLAN+ 27247B/27252A (hp-plus), HP PCLAN 27245/27xxx) (hp.o), HP 10/100VG PCLAN (hp100), ICL EtherTeam 16i/32 (eth16i), NE2000/NE2100 (ne) SMC9192/9194 (smc9194), NI5010 (ni5010), NI5210 (ni52), NI6510 (ni65)

  • Tarjetas MCA: MCA NE2000 MCA para PS/2 (ne2), SKnet MCA (sk_mca), 3Com 3c523 (3c523) 3c529 (3c509), SMC Ultra MCA (smc-mca)

  • Tarjetas EISA: EISA 3Com 3c579 (3c509), 3c592/3c597 (3c59x) Generic DECchip/Digital EtherWorks (de4x5), Racal-Interlan EISA ES3210 (es3210), SMC-Ultra 32 (smc-ultra32),

  • Tarjetas VLB y PCI: PCI RealTek 8129/8139 (rtl8139 aunque para tarjetas 8139 es mejor rtl8139too) Fast Etherlink 3c590/3c595 o EhtereLink XL 3c900/3c905/3c905B/3c905C (3c59x) AMD PCnet32 (pcnet32), Adaptec Starfire/DuraLAN (starfire), Ansel Communications EISA 3200 (ac3200), Apricot Xen-II (apricot), LP486E (lp486e), CS89x0 (cs89x), DM9102 PCI Fast (dmfe), DECchip 2104/21041/21140 Tulip (tulip), SMC EtherPower DECchip 21040/21041/21140 (old_tulip), NetGear FA310TX (ng_tulip), Digi Intl. RightSwitch SE-X (dgrs), Mylex EISA LNE390A (lne390), Novell/Eagle/Microdyne NE3210 EISA (ne3210), PCI NE2000 (ne2k-pci), TI ThunderLAN (tlan), Via Rhine-1 y Rhine 2 (via-rhine), SiS 900/7016 PCI (sis900), SMC EtherPower II (epic100), tarjeta del Zenith Z-Note (znet),

  • Puerto paralelo: AT-LAN-TEC/RealTek (atp), D-Link DE600 (de600), D-Link DE620 (de620)

  • Tarjetas PCMCIA: Una gran variedad de tarjetas Ethernet PCMCIA (para portátiles) es soportada. Los controladores están incluidos en el paquete pcmcia-cs, una vez instalado puede consultarse en: /usr/share/doc/pcmcia-cs/SUPPORTED.CARDS.gz

  • USB. Kawasaki USB-ethenet controller (kaweth), ADMtek AN986, Accton 10/100, Billingston USB-100, Corega FEter USB-TX, MELCO/BUFFALO LUA-TX, D-Link DSB-650TX/DSB-650TX-PN/DSB-650/DU-E10/DU--E100, Linksys USB100TX, USB10TX, LANEED Ethernet LD-USB/TX, SMC 202, SOHOware NUB Ethernet (pegasus).

  • PLUSB Puede consultarse un listado por tarjetas y fabricantes, así como un descripción detallada del estado de cada una en Ethernet-HOWTO.

  • Otros dispositivos de comunicaciones, Prolific PL-2302 conector USB-USB (plusb), red punto a punto con ancho de banda de 5 Mbits/s.

En el sitio del principal desarrollador de controladores para tarjetas de red encontrará programas e información útil: http://www.scyld.com/network/

Varios controladores compilados junto con el kernel pueden configurarse desde el cargador de arranque con el parámetro ether=12,0x300,eth0 remplazando 12 por la IRQ, 0x300 por la dirección base y eth0 por la interfaz. Entre la dirección base y la interfaz pueden pasarse uno o dos parámetros cuyo significado depende del controlador, el primero es usado por tarjetas WD80x3 para establecer comienzo de memoria compartida, otros lo usan para establecer nível de mensajes de depuración y el controldor lance lo usa para especificar canal DMA; el segundo es usado por el controlador 3c503 (0 transreceptor interno, 1 - AUI externo) y por e2100 para escoger medio de sálida.

Cómo módulos estos controladores reciben diversos parámetros los más comunes para tarjetas ISA son irq=número y io=puerto base. Una lista de parámetros de algunos módulo está en las fuentes del kernel en Documention/networking/net-modles.txt.

2.1.3. Tarjeta Ethernet e interfaz de red

Para emplear una tarjeta de red Ethernet en Linux para conectarse a una LAN debe:

  1. Instalarla físicamente en el computador.

  2. Lograr que el kernel pueda comunicarse con la tarjeta, empleando el controlador apropiado

  3. Configurar una interfaz de red que servirá como abstracción de la tarjeta.

El primer paso no tendrá inconvenientes mientras manipule con cuidado el hardware y en el caso de tarjetas ISA si no emplea el mismos recurso para dos dispositivos (ver Hardware básico y Linux). Puede serle de útilidad la información sobre configuración con jumpers de tarjetas Ethernet disponible en: http://www.slug.org.au/NIC/

El segundo paso requiere cargar el controlador apropiado para su tarjeta, para esto puede consultar la sección anterior (ver Tarjeta Ethernet) o emplear modconf o examinar los controladores disponibles para tarjetas de red en /usr/lib/<version_de_su_kernel>/modules/net. Puede que tenga que probar con varios y con diversos parametros (no necesita reiniciar después de cada intento, sólo descargar el módulo que haya cargado). Para esto le serán de utilidad los programas para administrar módulos (ver Módulos). Si no encuentra un controlador apropiado para su tarjeta (o el chip que esta use), puede intentar con los controladores genéricos ne (si su tarjeta es ISA) o ne2k-pci (si su tarjeta es PCI).

Cuando haya configurado el controlador, podrá activar una interfaz de red. El kernel puede manejar varias interfaces simultaneamente, para ver la lista emplee el comando /sbin/ifconfig o netstat -i. Al emplearlo, debe ver al menos la interfaz más sencilla: lo que representa una conexión a su propio computador empleando como dirección IP: 127.0.0.1 y normalmente configurada en /etc/hosts con el nombre localhost.

Los nombres de las interfaces de red dependen del protocolo que soporte el dispositivo que empleará, para el caso de ethernet los nombres son eth0 para la primera tarjeta, eth1 para la segunda y así sucesivamente (un computador puede tener más de una tarjeta de red ethernet, aunque para nuestra plataforma cada computador requiere una sola).

Para activar o desactivar una interfaz de red en Debian puede emplear ifconfig con las opciones up y down respectivamente junto con parametros del protocolo (dirección IP del computador, mascara de red, compuerta). Otra forma de hacer esto en Debian (que además mantendrá la configuración después de reiniciar) es editando los parametros de las interfaces en el archivo /etc/network/interfaces y empleando los programas /sbin/ifup y /sbin/ifdown que reciben como parámetro el nombre de la interfaz por activar o desactivar, por ejemplo:

ifup eth0

Su archivo /etc/network/interface debe tener datos como los siguientes (aunque cambiando los valores de address y gateway de acuerdo al diseño de la red):

# Interfaz loopback
iface lo inet loopback

# Primera tarjeta de red
iface eth0 inet static
	address 192.168.1.5
	netmask 255.255.255.0
	network 192.168.1.0
	broadcast 192.168.1.255
	gateway 192.168.1.1

La línea iface eth0 inet static indica que la interfaz eth0 empleará el protocolo TCP/IP4 (inet) con una dirección IP estática [202].

Aunque comúnmente cada tarjeta de red tiene asociado una sóla interfaz de red y una sóla IP, en algunas circunstancias puede requerir más. Una segunda interfaz para eth0 se puede configurar con el nombre eth0:0 que podrá configurar de forma análoga a la primera en /etc/network/interface.

2.1.4. Instalación de una red local Ethernet

2.1.4.1. Planeación de la red

De acuerdo a la plataforma de referencia S-Helio 1.1 necesitará un concentrador con suficientes puertos para todos los computadores que tenga, cable 10BaseT con conectores RJ-45 y en cada computador deberá tener una tarjeta Ethernet (de 10MB) como NE2000 o compatible con un puerto para un conector RJ-45 (ver tarjeta-ethernet) .

El espacio físico en el que esté la red será la primera restricción que debe tener en cuenta. Haga un plano de ese espacio con las distancias a escala, ubique los computadores y diseñe el recorrido de los cables al concentrador. Hay varias recomendaciones que puede tener en cuenta al diseñar el mapa:

  • Es aconsejable por estética y seguridad que los cables vayan por canaletas (aunque no es indispensable).

  • La longitud máxima de cada cable (para unir concentrador y computador) es de 100 m.

  • Busque que los cables/canaletas vayan por las paredes del recinto y estén resguardadas (para evitar que alguien se tropiece).

En el mapa que haga también puede consignar las direcciones IP que planee usar en cada computador. Emplee direcciones asignadas para redes privadas, por ejemplo 192.168.1.1 al servidor y los clientes 192.168.1.2, 192.168.1.3 y así sucesivamente. Cómo compuerta emplee en todos los clientes la dirección del servidor y como máscara de red emplee 255.255.255.0 (ver Direcciones, enrutamiento y transporte).

2.1.4.2. Adquisición de Hardware

En el mercado encontrará diversos precios y sugerencias distintas a las que damos. Por ejemplo es posible que pueda conformar una red con cable coaxial, sin necesidad de concentrador a menor precio. Ese esquema está cada vez en más desuso, su instalación es un poco más difícil (debe poner resistencias de 50ohmios a los extremos del cable) y no escalará tan bien como concentradores en cascada.

Para hacer la adquisición de Hardware tenga en cuenta:

  • Los nombres de los componentes pueden variar de un almacén a otro, algunos sinónimos son:

    • tarjeta ethernet, tarjeta compatible NE2000 con conectores RJ45

    • concentrador o hub o hub repetidor

    • cable de pares trenzados, par trenzado, twisted pair, cable 10BaseT, UTP (Unshielded Twisted Pair).

  • Use el plano de red para determinar la longitud de cada cable, recuerde que todo computador debe tener un cable que lo una con el concentrador (compre un poco más de la longitud que midió pues al intentar ensamblar los conectores podría perder algo de cable en cada intento).

  • El concentrador debe tener suficientes puertos para todos los computadores (pueden ponerse varios concentradores en cascada).

  • Cada computador debe tener una tarjeta de red Ethernet 10MB (e.g. NE2000) que pueda usar desde Linux (ver Tarjeta Ethernet).

  • Cada cable debe tener dos conectores RJ-45. Uno para conectarlo al computador y el otro para conectarlo al concentrador. (Compre varios conectores RJ-45 adicionales pues al intentar ensamblar podría perder algunos).

2.1.4.3. Instalación

Una vez tenga instaladas las tarjetas de red debe conectar los cables a tales tarjetas y al concentrador. Como eventualmente usted mismo hará los cables, en esta sección damos instrucciones para que le resulte fácil el proceso. Requerirá unas pinzas especiales [203] para conectores RJ-45 y un probador (tester) para comprobar que fluye corriente en los cables que haga.

Ubique en el espacio para la red los computadores y los cables (verifique que las medidas de su plano hayan sido correctas).

Ponga en cada extremo de cada uno de los cables un conector RJ-45 empleando unas pinzas especiales. Como el cable 10BaseT se compone de 8 cablecitos de colores tenga en cuenta:

  1. Deje entre 8mm y 12 mm de los 8 cables al descubierto. [204]

  2. Empareje los 8 cablecitos antes de intentar ponerlos en el conector RJ-45. Pongalos en este orden: 1 naranja/blanco, 2 naranja, 3 verde/blanco, 4 azul, 5 azul/blanco, 6 verde, 7 café/blanco, 8 café [205].

  3. El conector RJ45 tiene varios canales, por cada uno de esos canales debe pasar un cablecito de color. Empuje bien los cablecitos hasta el fondo del conector RJ-45 y con las pinzas especiales baje los contactos del conector y asegure el cable.

  4. Después de ensamblar el primer extremo verifique con un probador que todos los cablecitos hagan contacto. Después ensamble el segundo extremo empleando la misma secuencia de colores y después verifique que estén haciendo buen contacto con un probador.

Una vez tenga los cables verifique que la tarjeta de red de cada computador esté bien instalada (algunas tienen luces [206] que se encienden cuando transmite o recibe información por el cable), y conecte con cables todas las tarjetas al concentrador.

Verifique también que cada tarjeta de red sea reconocida por el kernel y asigne la IP que planeó para cada una en /etc/network/interfaces (ver Tarjeta Ethernet e interfaz de red).

Finalmente verifique la instalación trasnmitiendo paquetes de un computador a otro. Por ejemplo desde el servidor (tal vez con IP 192.168.1.1) intente conectarse a un cliente (tal vez IP 192.168.1.2) con ping :

ping 192.168.1.2	
	  

2.2. Lecturas recomendadas: Dispositivos para interconexión y Linux

2.3. Ejercicios: Dispositivos para interconexión y Linux

2.3.1.

Compruebe que el loopback esté operando bien empleando ping y revisando la configuración que recibe cada vez que inicia el sistema.

2.3.2.

Desactive el loopback de su computador, examine el cambio con ifconfig y después reactivelo.

2.3.3.

El programa ifconfig presenta información sobre el dispositivo y el protocolo que abstrae. Por ejemplo dirección en la red, cantidad de paquetes recibidos, máscara de red, MTU, etc. Que significa el dato MTU?

2.3.4.

Instale una tarjeta de red o configúrela de forma que se cumplan todas las siguientes condiciones:

  • Al arranque del sistema la tarjeta de red sea reconocida.

  • La interfaz eth0 abstraiga la tarjeta y tenga asignada la dirección IP apropiada de acuerdo a su planeación de la red, que la máscara sea 255.255.255.0 y que el nombre de la máquina sea el que planeó.

  • Como compuerta debe estar la IP del servidor.



[197] Los conectores RJ45 son similares a los conectores de teléfono (RJ11), sólo que RJ45 tiene 8 pines mientras RJ11 tiene 4 o 6

[198] Para Ethernet sólo se requieren los pines 1,2,3 y 6 del conector RJ45, en un cable cruzado deben unirse 1 con 3 (preferiblemente con cable verde/blanco), 2 con 6 (cable verde), 3 con 1 (cable rojo/blanco), 6 con 2 (cable rojo).

[199] Concentrado del inglés hub. De acuerdo al RFC 1516 se define en la sección 9 "Repeater Unit for 10 Mb/s Baseband Networks" del estándar IEEE 802.3/ISO 8802-3 CSMA/CD

[200] El comando ATA es entendido por el modem como "contestar una llamada", por eso cuando lo da sin que haya una llamada entrante escucha la línea.

[201] Al lado de cada integrado o tarjeta soportada se presenta entre paréntesis el módulo del kernel que lo puede controlar.

[202] Una alternativa difere es configurar direcciones dinámicas don el protoclo DHCP. Con este protocolo la dirección IP de cada computador es asignada por un servidor, cuando el computador entra a la red. Esto es útil para redes inalámbricas o cuando debe conectar y desconectar con frecuencia computadores de la red ---supuestos que no forman parte de nuestra (ver Plataforma de referencia)

[203] En Colombia a tal "pinza especial" se le conoce como "ponchadora".

[204] Pablo Chamorro nos indicó que "algunas pinzas tienen un tope, entonces al colocar las puntas de los cables junto al tope, el corte de la envoltura del cable siempre se realiza en el mismo punto para que ni sobre ni falte y así no hay que preocuparse por estimar el punto de corte."

[205] Dado que sólo se requieren los pines 1 (recepción +), 2 (recepción -), 3 (transmisión +) y 6 (transmisión -), en realidad sólo se requiere conectar los pines de ambos conectores así: 1 - 1, 2 - 2, 3 - 3 y 6 - 6. Pero debe hacerse con una pareja de cables trenzado (para evitar deterioro de la señal).

[206] Luces es traducción de LED (Light emitting diode).