INTERCONEXION DE REDES PROYECTO: Creación de una red de

Anuncio
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
!"#$%&
'(*)+,
.-/
01%
INTERCONEXION DE REDES
PROYECTO: Creación de una red de datos con enlaces WAN y
LAN en plataforma Linux
Parte I: Algunos conceptos básicos
1. ENCAPSULACIÓN IPIP
Parece extraño encapsular un data grama IP dentro de data grama IP. Bueno, aquí tenemos un par de
ejemplos comunes en los que se usa: Mobile-IP e IP-Multicast. Posiblemente su uso más extendido o al
menos el mejor conocido es Amateur Radio.
Las reglas convencionales de encaminamiento de redes IP comprenden direcciones de red y máscaras
de red. Esto hace que conjuntos de direcciones contiguas sean encaminadas mediante una sola regla
de encaminamiento. Esto es muy conveniente, pero significa que sólo puede usar una dirección IP en
particular cuando está conectado a alguna parte de la red a la que pertenece. En la mayoría de los
casos esto vale, pero si suele desplazarse entonces no será capaz siempre de conectar desde el
mismo sitio. La encapsulación IP/IP (IP tunneling) le permite saltarse esta restricción permitiendo que
los data grama que están destinados a su dirección IP sean encapsulados y dirigidos a otra dirección
IP. Si sabe que va a estar durante un tiempo trabajando en otra red IP entonces podrá poner a punto
una máquina de su red habitual para que acepte los data grama que van dirigidos a su IP y que los
reenvíe a la dirección que esté usando de manera temporal.
CONFIGURACIÓN DE RED CON TUNELES
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
La figura ilustra otra posible razón para usar encapsulación IPIP, las redes privadas virtuales. Este
ejemplo presupone que tiene dos máquinas cada una con una sola conexión ppp a Internet. Cada
máquina tiene una sola dirección IP. Tras cada una de estas máquinas hay algunas redes privadas de
área local configuradas con direcciones de red IP reservadas. Supongamos que quiere permitir que
cualquier máquina en la red A se conecte con cualquier máquina en la red B, como si estuvieran
conectadas a Internet por una ruta de red. La encapsulación IP se lo permitirá. Tenga en cuenta que la
encapsulación no resuelve el problema de cómo hacer que las máquinas las redes A y B se
comuniquen con otras máquinas en Internet, ya que para esto seguimos necesitando trucos como el
Enmascaramiento IP. La encapsulación la realiza normalmente una máquina que esté funcionando
como enrutador.
La conexión una vez configurada en los equipos se leería como:
RED B-> RED A: Envía cualquier data grama destinado a 192.168.30.0 dentro de un data grama IPIP
con dirección de destino 192.168.30.2.
RED A-> RED B: Envía cualquier data grama destinado a 172.16.30.0 dentro de un data grama IPIP
con dirección de destino 172.16.30.2.
Las configuraciones son recíprocas en cada extremo. El dispositivo de túnel usa el getway dado en la
ruta como destino del data grama IP en el que encerrará el data grama que ha recibido para encaminar.
Esa máquina debe saber cómo desencapsular data grama IPIP, esto es, debe también estar
configurada con un dispositivo túnel.
En esta página se mostrará como realizar la INTERCONEXIÓN DE REDES a través de un enlace PPP,
o en otras palabras como realizar el ejemplo anterior de encapsulación IPIP.
a. CONFIGURACION DE MÁQUINAS CON ENCAPSULAMIENTO IP.
No tiene por qué estar enrutando una red entera. Por ejemplo puede estar encapsulando una sola
dirección IP. En este caso podría configurar el dispositivo tunl en la máquina `remota' con su dirección
IP y el extremo A usará la máquina enrutadora (y Proxy Arp) en lugar encaminar la red a través del
dispositivo túnel.. Ahora tenemos una máquina B que quiere actuar y comportarse como si estuviera
conectada a Internet y al mismo tiempo fuera parte de una red remota soportada por la máquina A
Esta clase de configuración es más típica de aplicaciones Mobile-IP, donde una máquina quiere
moverse por Internet y mantener una única IP fija.
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
2. PROTOCOLO IP
El IP es un protocolo de data grama no confiable, sin conexión y principalmente responsable del
direccionamiento y enrutamiento de los paquetes entre servidores. Sin conexión significa que una
sesión no se establece antes de intercambiar los datos. No confiable significa que la entrega no está
garantizada. El IP siempre hace un mejor esfuerzo para intentar entregar un paquete. Un paquete IP
podría perderse, entregarse fuera de secuencia, duplicado o retrasado. El IP no intenta recuperarse de
este tipo de errores. La confirmación de la entrega de los paquetes y la recuperación de paquetes
perdidos es responsabilidad de un protocolo de alguna capa superior, tal como el TCP. EL IP está
definido en el RFC 791. Un paquete IP consiste de una cabecera IP (IP header) y una carga IP (IP
payload).
El protocolo IP define el mecanismo de entrega de paquetes en la red de redes. Existen tres razones
que convierten el protocolo IP en un elemento fundamental de Internet.
1. Define la unidad básica para la transferencia de paquetes utilizada a través de una red de redes
TCP/IP.
2. El software IP realiza la función de ruteo, seleccionando la ruta por la que los datos serán
enviados.
3. Además de aportar especificaciones formales para el formato de los datos y el ruteo, el IP incluye
un conjunto de reglas que le dan forma a la idea de entrega de paquetes no confiable con el
mejor esfuerzo. Las reglas caracterizan la forma en que las computadoras y ruteadores deben
procesar los paquetes, cómo y cuando se deben generar los mensajes de error y las condiciones
bajo las cuales los paquetes pueden ser descartados.
3. PROTOLOS A NIVEL DE ENLACE DATOS EN LA WAN
a. PROTOCOLO PPP
PPP(Protocolo punto a punto) definido en el RFC 1661. PPP realiza detección de errores, reconoce
múltiples protocolos, permite la negociación de direcciones IP en el momento de la conexión, permite la
verificación de autenticidad y tiene muchas mejoras respecto a SLIP. Para este protocolo no existe el
concepto de Cliente - Servidor ya que el manejo de los data grama y servicios sobre IP es exactamente
iguales en ambos casos, para crear la conexión un equipo realiza una solicitud de conexión a un equipo
remoto, este último le revisa ciertos permisos y le permite el acceso a su red. Por claridad llamaremos
Cliente al equipo que hace la solicitud y Servidor al equipo que presta el servicio, pero una ves creado
el enlace PPP ambos equipos son exactamente iguales para el protocolo.
PPP proporciona:
1. Permite usar tcp/ip sobre una línea serie, sea una línea de teléfono con un módem, o una línea
dedicada.
2. Un método de enmarcado que delinea sin ambigüedades el final de una trama y el inicio de la
siguiente, sumas de control de trama (FCS) fiables. El formato de trama también maneja
detección de errores.
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
3. Un protocolo de control de enlace para activar líneas, probarlas y negociar opciones y
desactivarlas ordenadamente cuando ya no son necesarias, este protocolo se llama LPC (link
control protocol).
4. Un mecanismo para negociar opciones de capa de red con independencia del protocolo de red
de usado. También puede transportar otros tipos de paquetes, no solamente IP (IPX por
ejemplo).
Solo se puede considerar desfavorable el hecho de que las cabeceras de los paquetes son más largas
que en el método SLIP.
Formato de trama ppp
b. PROTOCOLO SLIP Y CSLIP
SLIP (Serial Line Internet Protocol) le permite usar tcp/ip sobre una línea serie, sea una línea de
teléfono con un módem, o una línea dedicada. Por supuesto para usar SLIP necesitará tener acceso a
un servidor SLIP de algún tipo. Muchas universidades y empresas de todo el mundo proporcionan
acceso mediante SLIP.
Protocolo diseñado por Rick Adams en l984; para conectar estaciones Sun a Internet a través de una
línea de discado usando módems. El protocolo descrito en el RFC 1055, es muy sencillo. La estación
sólo envía paquetes IP en bruto a través de la línea, con un byte indicador (0xCO) al final para delimitar
la trama, introduce una sobrecarga muy pequeña en la comunicación debido a que las cabeceras
añadidas a los paquetes son cortas. SLIP usa los puertos serie de su máquina para transportar data
grama IP.Versiones mas recientes de SLIP (CSLIP) efectúan cierta comprensión de encabezados TCP
e IP. Lo que hacen es aprovechar que los paquetes consecutivos con frecuencia tienen muchos
campos de encabezado en común; se comprimen omitiendo aquellos campos que son iguales a los
campos del paquete IP previo. Aunque aun se utiliza ampliamente, SLIP tiene serios problemas:
1. No efectúa detección o corrección de errores, por lo que es responsabilidad de las capas
superiores detectar y recuperar tramas perdidas, dañadas o fusionadas.
2. En segundo lugar, SLIP solo reconoce IP, lo cual limita su uso a redes TCP/IP (Internet).
3. No proporciona ninguna forma de verificación de autenticidad, por lo que las partes no sabe
realmente con quien esta hablando.
4. SLIP no es un estándar aprobado por Internet, por lo que existe muchas versiones (e
incompatibles).
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
c. PROTOCOLO PLIP
plip (Parallel Line IP), se parece a SLIP en que se usa para proporcionar conexiones punto a punto
entre dos máquinas, excepto en que está diseñado para usar los puertos paralelos de impresora de la
máquina en lugar de los puertos serie (se incluye un diagrama de cableado en la sección de diagramas
de cableado más adelante). Como es posible transmitir más de un bit a la vez con un puerto paralelo,
es posible obtener mayores velocidades con la interfaz plip que con los dispositivos serie estándar.
Además, puede aprovecharse incluso el más sencillo de los puertos paralelos, el puerto de impresora,
en lugar de tener que comprar una UART 16550AFN, comparativamente más cara, para los puertos
serie. PLIP usa mucha CPU si lo comparamos con un enlace serie y casi seguro que no será una buena
opción si puede obtener algunas tarjetas Ethernet baratas, pero funcionará cuando no esté disponible
nada más y además lo hará bastante bien. Se puede esperar una tasa de transferencia de alrededor de
20 kilobytes por segundo cuando el enlace está funcionando correctamente.
Los controladores de dispositivo de PLIP compiten con el controlador de dispositivo paralelo por el
hardware del puerto paralelo. Si desea usar ambos controladores deberá compilar los dos como
módulos para asegurarse de que es capaz de elegir qué puerto quiere que use PLIP y qué puertos
usará como dispositivos para la impresora. Lea el Modules mini-Howto para obtener más información
sobre la configuración de los módulos en el núcleo.
Por favor tenga en cuenta que algunos portátiles usan circuitería que no funcionará con PLIP porque no
permiten algunas combinaciones de señales en las que se basa PLIP, que las impresoras no usan.
4. DIRECCIONAMIENTO IP
Cada servidor TCP/IP está identificado por una dirección IP lógica. Una dirección IP única es necesaria
para cada servidor y componente de red que se comunique usando TCP/IP. Cada dirección IP incluye
un identificador de red y un identificador de servidor.
El
identificador
de red
(también conocido como dirección de red) identifica los sistemas que están
localizados en la misma red física rodeados por enrutadores IP. Todos los sistemas en
la misma red física deben tener el mismo identificador de red. El identificador de red
debe ser único en la red global.
El
identificador
de servidor
(también conocido como dirección de servidor) identifica una estación de trabajo,
servidor, enrutador u otro dispositivo TCP/IP dentro de una red. La dirección de cada
servidor debe ser única al identificador de red.
Una dirección IP tiene 32 bits de longitud. En lugar de trabajar con 32 bits a la vez, es una práctica
común segmentar los 32 bits de la dirección IP en cuatro campos de 8 bits llamados octetos. Cada
octeto es convertido a un numero decimal (al sistema de numeración de base 10) en el rango de 0 a
255 y separados por un punto. Este formato es llamado notación decimal punteada.
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
!"#$%&
'(*)+,
.-/
01%
Ejemplo de una dirección IP en formato binario y decimal punteado.
Formato Binario
Formato decimal punteado
11000000 10101000 00000011 00011000
192.168.3.24
Clases de direcciones.
La comunidad de Internet originalmente definió cinco clases de direcciones para acomodar redes de
diferentes tamaños. La clase de direcciones define cuales bits son usados para el identificador de red y
cuales bits son usados para el identificador de servidor. También define el número posible de redes y el
número de servidores por red.
Clase A
Las direcciones de clase A son asignadas a redes con un número muy grande de servidores.
El bit de orden alto en una dirección de clase A siempre es igual a cero. Los siguientes siete
bits (completando el primer octeto) completan el identificador de la red. Los restantes 24 bits
(los últimos tres octetos) representan el identificador del servidor. Esto permite 126 redes y
16,777,214 de servidores por red.
Clase B
Las direcciones de clase B son asignadas a redes de mediano a gran tamaño. Los dos bit de
orden más alto en una dirección de clase B son siempre iguales al binario 10. Los siguientes
14 bits (completando los primeros dos octetos) completan el identificador de red. Los
restantes 16 bits (los últimos dos octetos) representan el identificador del servidor. Esto
permite 16,384 redes y 65,534 servidores por red.
Clase C
Las direcciones de clase C son utilizadas para pequeñas redes. Los tres bits de orden más
alto en una dirección de clase C son siempre iguales al binario 110. Los siguientes 21 bits
(completando los primeros tres octetos) completan el identificador de red. Esto permite
2,097,157 redes y 254 servidores por red.
Clase D
Las direcciones de clase D están reservadas para direcciones IP multicast. Los cuatro bits de
orden más alto en una dirección de clase D son siempre iguales al binario 1110. Los bits
restantes son para la dirección que los servidores interesados reconocerán. Microsoft
soporta direcciones de clase D para que las aplicaciones transmitan por multicast datos a
servidores con capacidad multicast en una red.
Clase E
Las direcciones de clase E son direcciones experimentales reservadas para uso futura. Los
bits de orden más alto en la dirección de clase E son iguales a 1111.
Resumen de las clases de direcciones A, B y C que pueden ser utilizados para direcciones de
servidores IP.
Clase
A
Porción del
Valor para
identificador
de
w1
red
1-126
W
Porción del i
identificador de
servidor
x.y.z
Redes
disponibles
Servidores por
Red
126
16,777,214
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
!"#$%&
'(*)+,
.-/
01%
B
C
128-191
192-223
w.x
w.x.y
y.z
z
16,384
2,097,152
65,534
254
1
La dirección de clase A 127.x.y.z está reservada para las pruebas de loopback y para la comunicación
interprocesos en la computadora local.
Direcciones públicas y privadas. Si su red no está conectada a Internet, cualquier direccionamiento
IP puede ser utilizado, si se desea conectividad a Internet directa (enrutada) o indirecta (por proxy o
traductor), entonces hay dos tipos de direcciones, direcciones públicas y privadas.
Direcciones
públicas
Las direcciones públicas son asignadas por InterNIC y consisten de identificadores de
red basados en clases o de bloques de direcciones CIDR (llamados bloques CIDR) que
están garantizados como únicos globalmente en Internet. Cuando se asignan
direcciones públicas, los enrutadores son programados en los enrutadores de Internet,
de tal manera que el tráfico a las direcciones públicas asignadas pueda llegar a su
destino. El tráfico hacia las direcciones públicas es visible en Internet.
Direcciones
Ilegales.
Las intranets privadas que no tienen intención de conectarse a Internet pueden elegir
las direcciones que quieran, incluso direcciones públicas que han sido asignadas por
InterNIC. Si una organización luego decide conectarse a Internet, su esquema de
direcciones actual podría incluir direcciones ya asignadas por InterNIC a otras
organizaciones. Esas direcciones estarían duplicadas o serían direcciones en conflicto y
son conocidas como direcciones ilegales. La conectividad desde direcciones ilegales a
localizaciones de Internet no es posible.
Direcciones
privadas
Para aquellos servidores dentro de la organización que no requieren acceso directo a
Internet, se necesitan direcciones IP que no dupliquen direcciones públicas ya
asignadas. Para resolver este problema de direcciones, los diseñadores de Internet
reservaron una porción del espacio de direcciones IP y lo nombraron el espacio de
direcciones privadas. Una dirección IP en el espacio de direcciones privadas nunca es
asignada a una dirección pública. Las direcciones IP dentro del espacio de direcciones
privadas son conocidas como direcciones privadas. Debido a que los espacios de
direcciones públicas y privadas no se traslapan, las direcciones privadas nunca duplican
direcciones privadas.
El espacio de direcciones privadas especificada en el RFC 1597 está definido por los siguientes tres
bloques de direcciones:
Es un identificador de red clase A que permite el siguiente rango de direcciones IP
La red privada válidas: desde 10.0.0.1 hasta 10.255.255.254. La red privada 10.0.0.0/8 tiene 24
10.0.0.0/8
bits de servidor que pueden ser utilizados para cualquier esquema de subredes
dentro de una organización privada.
Puede ser interpretada, ya sea como un bloque de 16 identificadores de red clase
La red privada
B o como un espacio de direcciones asignables de 20 bits (20 bits de servidor), el
172.16.0.0/12
cual puede ser utilizado para cualquier esquema de subredes dentro de la
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
organización privada. La red privada 172.16.0.0/12 permite el siguiente rango de
direcciones IP válidas: desde 172.16.0.1 hasta 172.31.255.254.
Puede ser interpretada ya sea como un bloque de 256 identificadores clase C o
como un espacio de direcciones asignables de 16 bits (16 bits de servidor), el cual
La red privada
puede ser usado para cualquier esquema de subredes dentro de una organización
192.168.0.0/16
privada. La red privada 192.168.0.0/16 permite el siguiente rango de direcciones
IP: desde 192.168.0.1 hasta 192.168.255.254
El resultado de que muchas organizaciones utilicen direcciones privadas es que el espacio de
direcciones es rehusado, ayudando a prevenir la depleción de direcciones públicas.
Debido a que las direcciones IP en el espacio de direcciones privadas nunca será asignado por
InterNIC como direcciones públicas, nunca existirán rutas en los enrutadores en Internet para las
direcciones privadas. El tráfico hacia las direcciones privadas no es visible en Internet. Por lo tanto, el
tráfico de Internet desde un servidor que tiene una dirección privada debe ya sea enviar su petición a un
gateway de la capa de aplicación (tal como un servidor Proxy), el cual tendría una dirección pública
válida, o tener traducida su dirección privada a una dirección pública válida usando un traductor de
direcciones de red (network address translator, NAT), antes de enviarla a Internet
5. ENRUTAMIENTO
El enrutamiento es el proceso de redirigir un paquete basado en la dirección IP destino. Un enrutador
(router) es un dispositivo que redirige los paquetes de una red a otra. Los enrutadores también son
comúnmente referidos como gateways. En ambos casos, con el servidor que envía y con el enrutador,
una decisión tiene que tomarse respecto hacia donde va a ser redirigido el paquete. Para tomar estas
decisiones, la capa del IP consulta una tabla de enrutamiento que está almacenada en la memoria. Los
elementos de las tablas de enrutamiento son creados por defecto cuando el TCP/IP se inicializa y
elementos adicionales son agregados ya sea manualmente por un administrador del sistema, o
automáticamente a través de la comunicación con los enrutadores.
La tabla de enrutamiento IP : Una tabla de enrutamiento está presente en todos los nodos IP. La tabla
de enrutamiento almacena la información acerca de las redes IP y de cómo pueden ser alcanzadas
(directa o indirectamente). Debido a que todos los nodos IP hacen alguna clase de enrutamiento IP, las
tablas de enrutamiento no son exclusivas de los enrutadores IP. Cualquier nodo que cargue el protocolo
TCP/IP tendrá una tabla de enrutamiento.
El resultado del proceso de determinación de la ruta es la elección de una sola ruta en la tabla de
enrutamiento. La ruta elegida da lugar a una dirección IP de redirección (la dirección IP del siguiente
HOP) y una interfase (el puerto). Si el proceso de determinación de la ruta falla en encontrar una ruta, el
IP declara un error de enrutamiento para el servidor que envía, un error de enrutamiento IP es indicado
internamente a los protocolos de capas superiores tales como TCP y UDP. Para un enrutador, un
mensaje ICMP de Destination Unreachable-Network Unreachable es enviado al servidor de origen.
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
!"#$%&
'(*)+,
.-/
01%
Parte II: Requerimientos
6. CABLES Y CABLEADO
a. Cable serie Módem NULO (NULL MODEM)
No todos los cables Módem NULO son iguales. Muchos cables módem nulo hacen poco más que un
pequeño truco para que el computador crea que están presentes todas las señales apropiadas,
cruzando los cables de transmisión y recepción. Esto sirve, pero significa que deberá usar programas
de control de flujo software (XON/XOFF), que es menos eficiente que el control de flujo hardware
(RTS/CTS).
Aquí presentamos dos tipos de Módem NULO con tres conectores DB25, DB9 y DB25 a DB9
CONECTOR DB25
CONECTOR DB9
FULL MÒDEM
DB25
1 PGND <->1 PGND
2 TxD ---> 3 RxD
3 RxD <--- 2 TxD
4 RTS ---> 5 CTS
5 CTS <--- 4 RTS
7 GND <--> 7 GND
6 DSR <---20 DTR
8 DCD <-/
20 DTR---> 6 DSR
\-> 8 DCD
NULL MODEM BÁSICO
DB9
DB25 - DB9
3 TxD ---> 2 RxD
2 RxD <--- 3 TxD
7 RTS ---> 8 CTS
8 CTS <--- 7 RTS
5 GND <--> 5 GND
6 DSR <--- 4 DTR
1 DCD <-/
4 DTR ---> 6 DSR
\-> 1 DCD
2 TxD ---> 2 RxD
3 RxD <--- 3 TxD
4 RTS ---> 8 CTS
5 CTS <--- 7 RTS
7 GND <--> 5 GND
6 DSR <--- 4 DTR
8 DCD <-/
20 DTR---> 6 DSR
\-> 1 DCD
DB25
1 PGND <->1 PGND
2 TxD ---> 3 RxD
3 RxD <--- 2 TxD
7 GND <--> 7 GND
DB9
3 TxD ---> 2 RxD
2 RxD <--- 3 TxD
5 GND <--> 5 GND
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
!"#$%&
'(*)+,
.-/
01%
b. Cable de puerto paralelo (cable PLIP)
Si pretende usar el protocolo PLIP entre dos máquinas, entonces este cable funcionará
independientemente del tipo de puertos paralelos que tenga instalados.
Nombre Patilla
STROBE
D0->ERROR
D1->SLCT
D2->PAPOUT
D3->ACK
D4->BUSY
D5
D6
D7
ACK->D3
BUSY->D4
PAPOUT->D2
SLCT->D1
FEED
ERROR->D0
INIT
SLCTIN
GROUND
Patilla
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
25
Línea
Patilla
*
15
13
12
10
11
*
*
*
13
13
13
5
6
4
3
*
2
*
*
25
Notas:
•
•
•
No conecte las patillas marcadas con un asterisco, *.
Las tomas de tierra extra son 18,19,20,21,22,23 y 24.
Si el cable que está usando tiene apantallamiento metálico, debería estar conectado a la carcasa
DB-25 en sólo uno de los extremos.
Cuidado: Un cable PLIP mal hecho puede destruir la tarjeta controladora. Sea muy cuidadoso y
examine dos veces cada conexión para asegurarse de que no va a hacer más trabajo ni a llevarse más
infartos de lo necesario.
Aunque puede que sea capaz de tener cables PLIP para grandes distancias, debería evitarlo. Las
especificaciones del cable permiten una longitud de alrededor de 1 metro. Por favor, tenga mucho
cuidado cuando tienda cables PLIP largos, ya que las fuentes de campos electromagnéticos fuertes,
como los rayos, cables de corriente y emisoras de radio pueden interferir en los controladores, y a
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
veces dañarlos. Si realmente quiere conectar dos ordenadores a larga distancia, debería intentar
obtener un par de tarjetas Ethernet para thin-net (red de cable fino) y tender cable coaxial.
7. MODEM - Opcional
Configuraciones más complicadas o comportamientos extraños de algunos proveedores no se cubren
en este documento.
Hay varios componentes involucrados en el acceso por módem a la red: módem, gestores de
dispositivos del núcleo (kernel drivers), programas de llamada y conexión (dip/chat), procesos
residentes (daemons) como pppd. Lo que se pretende es que introduciendo un simple comando, por
ejemplo link-up, el computador ejecute la secuencia de órdenes adecuada para obtener el acceso a la
red Internet.
A más bajo nivel, esto implica que algún programa deberá inicializar el canal serie utilizado por el
módem, le enviará algunas cadenas (strings) de inicialización al módem y marcará el número de
teléfono. Cuando se consiga la conexión a nivel de módem, otro programa deberá ajustar la línea serie
para uno de los modos serie del TCP/IP (ppp o slip), asignará una dirección IP a cada uno de los
extremos de la conexión y añadirá una ruta dentro del núcleo para los paquetes que entrarán/saldrán
con el protocolo IP.
Cuando se termine la conexión, todos estos pasos deberán deshacerse y todo quedará tal como
estaba.
a. CONFIGURACION
Esta sección contiene información sobre como configurar el módem para que trabaje correctamente
bajo Linux. El sistema deberá funcionar con la mayoría de módems.
HARDWARE
Algunos módems utilizan la CPU del PC para realizar tareas como la compresión de datos y la
corrección de errores (RPI). Estos dispositivos tienden a no funcionar bajo Linux, o lo hacen a baja
velocidad. Otro tipo de módems que será poco probable que funcionen bajo Linux son aquellos que
requieren la carga del firmware por medio de un driver DOS/Windows, o los que configuran su dirección
base y la IRQ por el método del 'Plug and Play'.
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
!"#$%&
'(*)+,
.-/
01%
Los módem externos deberán conectarse al PC a través de un puerto COM. La configuración de los
módems internos se realiza normalmente con 'DIP switches' o 'jumpers', así que asegúrese de que está
correctamente realizada antes de colocar el módem dentro del PC.
El caso más normal es el de configurar el módem como COM3 o COM4, para evitar conflictos con el
COM1/COM2 que puedan existir en el PC. El otro valor a configurar es el de la IRQ que será utilizada
por el COM del módem. Este valor deberá escogerse de manera que no entre en conflicto con otras
IRQ del PC.
Configuraciones estándar del los puertos COM del PC
PUERTO
DIRECION
BASE
IRQ
nombre Linux
COM1:
3F8
4
/dev/ttyS0
COM2:
2F8
3
/dev/ttyS1
COM3:
3E8
4 !!!
/dev/ttyS2
COM4:
2E8
3 !!!
/dev/ttyS3
Note que el estándar define la misma IRQ para COM1/COM3 y la misma IRQ para COM2/COM4. Esto
es una fuente de problemas, ya que la arquitectura del PC no admite la compartición de IRQ, por lo que
no podría utilizarse COM1/COM3 o COM2/COM4 al mismo tiempo.
Cuando ya se conoce la configuración hardware del módem, es el momento de instruir a Linux sobre
ella. Esto se hace con el programa setserial, deberá insertar una llamada al mismo en uno de sus
scripts de arranque, que están normalmente localizados en el directorio /etc/rc.d.
Para una comprobación rápida podremos ejecutar setserial desde la línea de comandos, los valores
permanecerán efectivos hasta el Siguiente arranque.
Un ejemplo, si su módem está configurado como COM3 y utiliza IRQ 5 es:
setserial /dev/ttyS2 port 0x3E8 irq 5
Otras opciones que puede necesitar pasar a setserial son spd_hi o spd_vhi. Esto depende de las
capacidades de compresión de su módem y de la velocidad de comunicación de módem a PC. Para
módems de 14400 bps que usen el protocolo V42.bis deberá utilizar spd_hi, para módems de 28800 o
más deberá especificar spd_vhi.
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
Estas opciones cambian la interpretación que hace el núcleo de un valor de baudios de 38400, spd_hi
le hace utilizar 57600 y spd_vhi le hace utilizar 115200.Por ejemplo:
setserial /dev/ttyS2 port 0x3E8 irq 5 spd_hi
o
setserial /dev/ttyS2 port 0x3E8 irq 5 spd_vhi
Puede consultar la página de manual (man page) sobre setserial para una descripción más detallada
de las opciones soportadas.
SOFTWARE
La configuración software del módem se refiere a las cadenas (strings) que deben enviarse al módem
antes de utilizarlo. Estas cadenas serán enviadas por el programa que desea utilizar el módem. El
manual de su módem es la fuente de información para encontrar esas cadenas. El caso más sencillo es
enviar al módem ATZ y luego AT&F. La primera causa un reset del módem y la segunda le carga los
parámetros por defecto, que acostumbran a ser bastante buenos para empezar. Estas cadenas,
también llamadas cadenas de inicialización, se utilizarán más tarde en los scripts de conexión.
COMPROBAR CONFIGURACION DEL MÒDEM
Tras ejecutar setserial (ya sea en los script de inicialización o a mano), se puede realizar una
comprobación simple para determinar si el módem está funcionando correctamente. Asumiendo que el
módem está en COM3 (/dev/ttyS2 bajo Linux), cambie a otra consola virtual (con ALT+F2 por ejemplo)
e introduzca la siguiente orden:
dd if=/dev/ttyS2 bs=1
Retorne a la consola original (con ALT+F1) y ejecute:
echo -e 'AT\r\n' > /dev/ttyS2
Vuelva a conmutar de consola con ALT+F2, deberá ver algo así:
AT
OK
Pulse CTRL+C para abortar el proceso dd.
Este test es muy básico, pero nos permitirá determinar si el módem funciona. De hecho puede utilizar
este mecanismo para comprobar cualquier cadena del módem. Hay que tener cuidado con cadenas que
contengan símbolos especiales del shell, deberá escaparlos con \ o delimitando la cadena con
comillas, por ejemplo 'AT&F' ó AT\&F.
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
Un conjunto de cadenas de módem interesantes son las ATIn, siendo n un número. Estas provocan que
el módem retorne información de identificación. Las siguientes son ejemplos de las respuestas
generadas por un módem:
echo -e 'ATI0\r\n'
144
OK
echo -e 'ATI1\r\n'
044
OK
echo -e 'ATI3\r\n'
WS-1414IV7G
VERSION 0.10.1
01-05-01-01
OK
echo -e 'ATI4\r\n'
UMC V.32bis/FAX/VOICE MÒDEM
OK
echo -e 'ATI5\r'
COUNTRY DEFAULT : 022
COUNTRY SETTING : 022
OK
b. PROVEEDOR INTERNET
Esta es la compañía o persona que le proporciona acceso a la red a través del módem. Deberá conocer
algunos datos relativos acerca de ella:
Número de teléfono
Modo de acceso (SLIP o PPP)
Procedimiento de entrada (login)
Dirección IP del servidor de nombres
Modalidad de asignación de direcciones IP (estática o dinámica)
Dirección IP remota (en caso de asignación estática)
Dirección IP local (en caso de asignación estática)
Todos estos datos son necesarios. Las direcciones IP remota y local no se necesitan si el proveedor le
asigna una diferente cada vez que conecta, lo que se conoce como asignación de IP dinámica.
MODO DE ACCESO (SLIP o PPP)
Este elemento determina los componentes que necesitará para conectar. Existen dos métodos
ampliamente utilizados para encapsular paquetes TCP/IP a través de líneas serie, SLIP y PPP.
Para conectar con el método SLIP se requiere un solo programa, dip. Para PPP se requieren dos
programas, pppd y chat. En ambos casos necesitará tener el soporte adecuado compilado en el núcleo
linux, veremos más detalles luego.
PROCEDIMIENTO DE ENTRADA (LOGIN) DEL PROVEEDOR
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
Este elemento determina la secuencia de sucesos que debe seguir su computador para ser reconocido
por el otro extremo de la conexión, su proveedor. Este procedimiento suele ser muy parecido al
procedimiento de entrada que debe seguirse al iniciar una sesión de linux.
La mayoría de proveedores de Internet están corriendo UNIX o derivados en sus ordenadores, así que
es común encontrarse con un procedimiento de entrada:
login: xxxxxx
password: xxxxxx
Esto implica que el software que está utilizando sea capaz de reconocer estas cadenas y enviar las
respuestas adecuadas. Tanto dip como chat son capaces de esto, así que no se preocupe, dispone de
las herramientas.
Es posible que el procedimiento de entrada sea innecesario si su proveedor utiliza PPP, dado que éste
provee otros métodos para autentificar a los usuarios (PAP/CHAP). De esto hablaremos en la sección
dedicada al PPP.
TCP/IP
El paquete TCP/IP está instalado si los siguientes archivos están presentes en el directorio /etc/rc.d:
rc.inet1
rc.inet2
Estos son los archivos de configuración del TCP/IP durante el arranque de sistema. Otros paquetes
necesarios son pppd y dip.
c. RESOLUCION DE NOMBRES (DNS)
Cada ordenador en la red debe tener una única dirección numérica, pero normalmente se accede a
ellos por nombre. La transformación entre nombres y números se realiza por un servicio llamado
Servidor de Nombres de Dominio, el acrónimo inglés es DNS. El DNS más básico se implementa con
un archivo llamado hosts localizado en el directorio /etc. En este archivo tenemos una línea para cada
una de las máquinas en la red, que contiene la dirección IP numérica y el nombre correspondiente.
La resolución de nombres cuando nos conectemos a Internet deberá realizarla un ordenador dedicado a
ello, que normalmente formará parte de la red de su proveedor de Internet. La dirección IP de ese
computador deberemos ponerla en el archivo /etc/resolv.conf, pero solo cuando estemos conectados.
Cuando nos conectemos, éste archivo deberá ser modificado para contener el dominio de su proveedor
y la dirección IP de su máquina DNS. Mientras no estemos conectados no es deseable tener esos
valores en el archivo, pues el servidor de nombres no puede ser alcanzado y se provocarían largos
retrasos en programas que intentan acceder a la red.
d. ACCESO CON PPP
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
Después de la configuranción del módem y el TCP/IP, deberemos ejecutar algún programa que nos de
la deseada conexión a Internet. En esta sección vamos a hablar de PPP, que involucra a los programas
pppd y chat.
El programa chat es una utilidad muy simple que es utilizado por pppd para establecer la conexión con
el módem, su funcionalidad queda reducida a esto. No tiene muchas utilizaciones por si solo, si
intentamos ejecutarlo en una línea de mandatos no conseguiremos nada útil.
Por otro lado, pppd es un programa potente y es el que realmente realiza el trabajo de mover paquetes
IP por la línea serie.
Para poder ejecutar estos programas deberá haber entrado en el sistema como root, o puede
alternativamente hacer pppd suid con chmod (consulte las páginas man pertinentes).
A continuación se presentan dos ejemplos, uno con un proveedor que requiere una secuencia de
entrada estilo UNIX y otro que no utiliza secuencia de entrada pero requiere PAP para la autentificación.
En ambos casos se asume que la asignación de direcciones IP es dinámica, aunque habrán notas
sobre asignación de IP estática. Pienso que estos dos son los casos más comunes, aunque podría
darse la necesidad de utilizar secuencia de entrada y autentificación PAP. En ambos ejemplos se
asume que el módem está en COM3, /dev/ttyS2 bajo Linux.
Los ejemplos son shell para bash, si está utilizando otro shell deberá de adaptarlos para él. También
podrá instalar bash y cambiar la primera línea de los guiones a #!/bin/bash.
El programa pppd requiere ciertos archivos de configuración en el directorio /etc/ppp. El primero es
options, que debe estar presente. Puede estar vacío, dado que las opciones pueden pasarse a pppd
en la línea de comandos, pero DEBERÁ existir.
En los ejemplos se utilizan las opciones para pppd en el archivo /etc/ppp/options , porque son siempre
las mismas y no requieren ser cambiadas de forma frecuente. Para casos en los que la configuración de
pppd deba cambiar frecuentemente, recomiendo dejar ese archivo vacío y pasar todas las opciones a
pppd en la línea de comando.
EJEMPLO PPP CON PROCEDIMIENTO DE 'LOGIN'
Se asumen los siguientes datos acerca de nuestra conexión imaginaria:
módem en COM3, /dev/ttyS2 bajo Linux.
Número de teléfono 5553223, marcado por tonos.
Secuencia de entrada estilo UNIX, usuario alguien y password divertido.
Dominio del proveedor fakeprov.net.
Dos servidores de nombres, con direcciones IP 194.211.47.10 y 194.211.41.11.
Asignación dinámica de IP.
Opciones del PPP
Introduzca lo siguiente en el archivo /etc/ppp/options:
mòdem
lock
crtscts
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
defaultroute
noipdefault
asyncmap a0000
SCRIPT PARA CHAT
Este script contiene comandos que instruyen al programa chat sobre como establecer la conexión con
nuestro proveedor a través del módem. Se utilizará un script chat porque se enviará un identificador de
usuario y una clave, si las especificásemos en la línea de comandos cualquiera utilizando nuestra
máquina podría verlas con la utilidad ps.
Los script chat están formados por parejas de cadena a enviar y cadena esperada. La cadena a enviar
se manda al módem y luego chat espera recibir la cadena esperada durante un tiempo por defecto.
También puede contener algunas palabras clave para definir timeouts y cadenas de error de módem. Lo
que no pueden contener son comentarios al estilo # algún texto, tal como soportan los guiones de shell.
En el ejemplo el número de teléfono es 5553223 y se marca por tonos, el identificador de login es
alguien y la password es divertido. Para marcar por pulsos, cambiar la cadena ATDT5553223 por
ATDP5553223.
Tome su editor de texto favorito y cree un archivo llamado chatscript en el directorio /etc/ppp. Rellenarlo
con las siguientes líneas. También puede cortarlas de este texto e incluirlas en el archivo que está
creando:
------------------------cortar
desde
línea
siguiente
---------------------ABORT BUSY ABORT 'NO CARRIER' ABORT 'NO DIALTONE' ABORT ERROR \
ATZ OK 'AT&F' OK ATDT5553223 CONNECT '' ogin: someone ssword: funny
------------------------- cortar hasta línea precedente --------------------Note la utilización de comillas simples para incrustar espacios en las cadenas. También notará que
algunas cadenas parecen incompletas, como ogin: o ssword:. Esto es intencionado y es para prevenir
fallos del guión debidos a caracteres perdidos en los inicios de cadena enviados por el proveedor o para
evitar errores de mayúsculas/minúsculas.
SCRIPT DE CONEXION SIMPLE
Ahora crearemos el siguiente eslabón de la cadena, un shell para ejecutar el programa pppd. Se
asume que el archivo /etc/resolv.conf deberá ser modificado con los datos correctos antes de
conectar, para evitar el tener que hacerlo manualmente. Utilice de nuevo su editor favorito y cree el
siguiente script, llámelo ppplink-up y colóquelo en algún directorio que esté en el PATH. /usr/bin o
/usr/local/bin pueden ser buenos lugares:
------------------------- cortar desde línea siguiente ---------------------#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
# datos de configuración, cambiarlos por los reales de su proveedor
DEVICE=/dev/ttyS2
SPEED=38400
PROVDOMAIN='fakeprov.net'
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
NAMESRV1='194.211.47.10'
# quitar línea siguiente si solo disponemos de un servidor de nombres
NAMESRV2='194.211.41.11'
CONNSCRIPT='/etc/ppp/chatscript'
# hacer copia de seguridad de /etc/resolv.conf
if [ -f /etc/resolv.conf ]; then
cp -f /etc/resolv.conf /etc/ppp/resolv.conf.orig
fi
# crear nuevo /etc/resolv.conf con datos del proveedor
echo domain $PROVDOMAIN > /etc/resolv.conf
echo nameserver $NAMESRV1 >> /etc/resolv.conf
# quitar línea siguiente si solo disponemos de un servidor de nombres
echo nameserver $NAMESRV2 >> /etc/resolv.conf
# intenta ejecutar pppd
if ! pppd $DEVICE $SPEED connect "chat -v -f $CONNSCRIPT"; then
echo "Error al ejecutar pppd..."
# restaurar /etc/resolv.conf original
cp -f /etc/ppp/resolv.conf.orig /etc/resolv.conf
# aborta el script
exit 1
fi
echo "pppd está corriendo ahora..."
exit 0
------------------------- cortar hasta línea precedente ---------------------
Deberá hacer el script ejecutable con chmod 0755 ppplink-up. Después de esto, ejecute el script como
root:
ppplink-up
Si todo está correcto, el script regresará inmediatamente al indicador de mandatos, dado que pppd se
ejecuta en segundo plano. Puede monitorizar el proceso ejecutando lo siguiente en una línea de
mandatos:
tail -f /var/log/messages /var/log/syslog /var/log/debug
Deberá verse en la consola un volcado del progreso de la llamada del módem y de la negociación del
pppd. Cuando vea algo como:
Nov 26 03:55:47 hansolo pppd[254]: Serial connection established.
Nov 26 03:55:48 hansolo pppd[254]: Using interface ppp0
Nov 26 03:55:48 hansolo pppd[254]: Connect: ppp0 <--> /dev/ttyS2
Nov 26 03:55:50 hansolo pppd[254]: Remote message:
Nov 26 03:55:51 hansolo pppd[254]: local IP address ...
Nov 26 03:55:51 hansolo pppd[254]: remote IP address ...
La conexión está lista. Puede pulsar CTRL+C para cancelar el proceso tail y empezar a correr sus
aplicaciones Internet favoritas.
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
Este script es muy básico y limitado. El siguiente es más complejo, pues esperará a que el enlace se
establezca, lanzará el volcado de progreso de conexión automáticamente y le informará también sobre
posibles errores. Se asume que tiene instaladas varias utilidades adicionales: egrep, tail, ifconfig, sleep,
ps y kill.
SCRIPT DE CONEXION MEJORADO
------------------------- cortar desde línea siguiente ---------------------#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
# datos de configuración, cambiarlos por los reales de su proveedor
DEVICE=/dev/ttyS2
SPEED=38400
PROVDOMAIN='fakeprov.net'
NAMESRV1='194.211.47.10'
# quitar línea siguiente si solo disponemos de un servidor de nombres
NAMESRV2='194.211.41.11'
CONNSCRIPT='/etc/ppp/chatscript'
MONFILES='/var/log/messages /var/log/debug /var/log/syslog'
# hacer copia de seguridad de /etc/resolv.conf
if [ -f /etc/resolv.conf ]; then
cp -f /etc/resolv.conf /etc/ppp/resolv.conf.orig
fi
# crear nuevo /etc/resolv.conf con datos del proveedor
echo domain $PROVDOMAIN > /etc/resolv.conf
echo nameserver $NAMESRV1 >> /etc/resolv.conf
# quitar línea siguiente si solo disponemos de un servidor de nombres
echo nameserver $NAMESRV2 >> /etc/resolv.conf
# intenta ejecutar pppd
if ! pppd $DEVICE $SPEED connect "chat -v -f $CONNSCRIPT"; then
echo "Error al ejecutar pppd..."
# restaurar /etc/resolv.conf original
cp -f /etc/ppp/resolv.conf.orig /etc/resolv.conf
# aborta el script
exit 1
fi
# proporcionar datos acerca del progreso de la conexión. Este comando se
# ejecuta en segundo plano y deberá finalizar más tarde, así que nos
# guardaremos el PID del mismo
tail -1 -f $MONFILES &
tailpid=$!
# arranca un temporizador de timeout, un proceso en segundo plano también
sleep 90 &
toutpid=$!
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
# espera el establecimiento del enlace
while ! ifconfig | egrep 'ppp[0-9]' - > /dev/null 2>&1; do
# portarse bien con el sistema
sleep 1
# comprueba si expiró timeout
if ! ps | egrep "$toutpid.+sleep" > /dev/null 2>&1; then
echo "Tiempo maximo agotado..."
# matar el proceso tail
kill $tailpid > /dev/null 2>&1
# matar pppd si está activo, utilizo /bin/kill porque permite especificar
# procesos por nombre, el kill incorporado en el shell no puede hacerlo
/bin/kill pppd > /dev/null 2>&1
# restaurar /etc/resolv.conf original
cp -f /etc/ppp/resolv.conf.orig /etc/resolv.conf
# aborta el script
exit 1
fi
# comprueba si pppd murió
if ! ps | egrep -w 'pppd' | egrep -v 'egrep' > /dev/null 2>&1; then
echo "pppd ha finalizado anormalmente..."
# mata proceso tail
kill $tailpid > /dev/null 2>&1
# mata temporizador timeout
kill $toutpid > /dev/null 2>&1
# restaura /etc/resolv.conf original
cp -f /etc/ppp/resolv.conf.orig /etc/resolv.conf
# aborta el script
exit 1
fi
done
# mata proceso tail
kill $tailpid > /dev/null 2>&1
# mata temporizador timeout
kill $toutpid > /dev/null 2>&1
# ya estamos conectados
echo "Conexión realizada..."
exit 0
------------------------- cortar hasta línea precedente ---------------------
Recuerde hacer el script ejecutable con chmod 0755 ppplink-up y disfrute de su conexión.
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
SCRIPT DE DESCONEXION
Ahora crearemos un script para desconectarnos de la red. Llámelo ppplink-down y póngalo en algún
directorio que esté en el PATH.
------------------------- cortar desde línea siguiente ---------------------#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
# nombre de dispositivo para pppd
PPPDEV=ppp0
# comprueba si el enlace PPP está activo
if [ -r /var/run/$PPPDEV.pid ]; then
# si, acabar co él
kill `cat /var/run/$PPPDEV.pid` > /dev/null 2>&1
# comprueba si tuvo éxito la operación
if [ $? != 0 ]; then
# no, eliminar archivo pid huérfano
rm -f /var/run/$PPPDEV.pid
else
# si, espera que el enlace se venga abajo
while ifconfig | egrep 'ppp[0-9]' - > /dev/null 2>&1; do
sleep 1
done
fi
echo "Enlace $PPPDEV terminado..."
else
# decir que no hay enlace PPP activo
echo "Enlace $PPPDEV no esta activo..."
fi
# restaura /etc/resolv.conf original si existe
if [ -r /etc/ppp/resolv.conf.orig ]; then
cp -f /etc/ppp/resolv.conf.orig /etc/resolv.conf
rm -f /etc/ppp/resolv.conf.orig
fi
exit 0
------------------------- cortar hasta línea precedente ---------------------
Haga este script ejecutable con chmod 0755 ppplink-down. Ejecutándolo cuando está activa la
conexión PPP forzará la finalización de la misma. También se restauran los archivos modificados por
los originales.
EJEMPLO PPP CON AUTENTIFICACIÓN
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
PAP es otro método ampliamente utilizado para autentificar a los usuarios cuando establecen enlaces
PPP. Consiste en un par de cadenas que serán definidas por su proveedor. Su sistema deberá
responder con la segunda cadena (normalmente su password) cuando el otro extremo le envíe la
primera cadena (normalmente el identificativo de usuario).
Deberá colocar esas cadenas en un archivo llamado pap-secrets en el directorio /etc/ppp. Siguiendo
con el ejemplo de identificativo usuario alguien y la password divertido, el archivo sería algo así:
# Secretos para autentificar con PAP
# cliente
servidor
secreto
direcciones IP
alguien
*
divertido
El campo servidor se utiliza para especificar que servidor se asocia a un determinado secreto, poniendo
un comodín * aquí se hace coincidir a cualquier servidor. Esto es lo más común con los proveedores de
internet, pues es difícil conocer los nombres de sus servidores. Es posible que usted deba utilizar este
campo, consulte con su proveedor si no está seguro.
El campo de direcciones IP se utiliza para especificar un rango de direcciones IP aceptables para un
cliente (nuestro computador), pero es innecesario cuando utilizamos asignación dinámica de IP.
El archivo puede contener cadenas de autentificación múltiples, la que se utilizará en un momento dado
se especifica con la opción user al invocar el programa pppd.
CAMBIOS DE LOS SCRIPT PARA AUTENTIFICACIÓN 'PAP'
Los dos script de los ejemplos anteriores pueden utilizarse con las siguientes modificaciones menores.
Suponiendo el pap-secrets de ejemplo presentado antes, cambie la llamada a pppd en los guiones de
la siguiente forma:
*** línea original
if ! pppd $DEVICE $SPEED connect "chat -v -f $CONNSCRIPT"; then
*** línea modificada
if ! pppd $DEVICE $SPEED user alguien connect "chat -v -f $CONNSCRIPT"; then
Esto es todo, en el caso de requerir una secuencia de entrada además del PAP, no elimine la misma
del archivo chatscript.
ACCESO CON SLIP
El método SLIP tiene dos variantes, sin compresión de cabeceras (SLIP) y con compresión de
cabeceras Van Jacobson (CSLIP). El que deberá utilizar depende de su proveedor.
Para conectar en modo SLIP/CSLIP, se requiere un programa llamado dip. Este programa toma un
script escrito en un lenguaje especial, lo interpreta y realiza las acciones necesarias para proporcionarle
un enlace SLIP/CSLIP.
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
!"#$%&
'(*)+,
.-/
01%
En algunos aspectos es algo más fácil que el PPP, pues solo se requiere afinar el script. El lado oscuro
es que tenemos un lenguaje más para aprender.
Se proporcionará un script dip genérico, utilizando comentarios en los lugares que requieren ser
modificadas con los datos particulares de su conexión. No está incorporada la facilidad de pasar
argumentos de línea de comandos a los guiones dip, por lo cual toda la información debe escribirse
dentro de los mismos. El lenguaje utilizado por dip permite el uso de variables, pero he encontrado más
descriptivo el utilizar valores directos y comentar las líneas apropiadas.
Se utiliza aquí la misma técnica de tener un archivo /etc/resolv.conf nulo para cuando no estamos
conectados y crear uno nuevo en el momento de la conexión.
Los script están diseñados para ser ejecutados bajo el shell bash.
EJEMPLO SLIP
Este ejemplo asume los siguientes datos imaginarios:
Módem en COM3, /dev/ttyS2 bajo Linux.
Número de teléfono 5553223, marcado por tonos.
Secuencia de entrada estilo UNIX, usuario alguien y password divertido.
Dominio del proveedor fakeprov.net.
Dos servidores de nombres, con direcciones IP 194.211.47.10 y 194.211.41.11.
Asignación dinámica de IP, los valores de las mismas son enviadas por el
proveedor después de una secuencia de entrada válida.
?
!#"%$'&)(*,+.-&-#/'0123"4-#657$8+*-#9"4- ;8<%=>:
KJL)< C -M F M E -M M !
0 ! M E ON
,!
? 0+@? ?BADCE
------------------------- cortar desde línea siguiente ---------------------main:
# poner valores por defecto en estas variables, requerido
get $locip 0.0.0.0
get $rmtip 0.0.0.0
# poner en esta línea la cadena que se recibe del módem al conectar
chatkey CONNECT 1
# esta cadena será enviada al módem antes de marcar el número de teléfono
init AT
# especificar aquí los parámetros correctos del módem
port cua2
speed 38400
parity N
databits 8
stopbits 1
flush
send \r\n\r\n
sleep 2
*$-F)201G3'&!"4-H-F&-(!!H" C -I
:
!"#$%&
'(*)+,
.-/
01%
# envía cadenas de inicialización al módem, estas son las más simples
send ATZ\r
wait OK 10
if $errlvl != 0 goto init_error
send AT&F\r
wait OK 10
if $errlvl != 0 goto init_error
send ATM1L2\r
wait OK 10
if $errlvl != 0 goto init_error
# marca el número, preceder el número con P para marcar por pulsos
# cualquier error será reportado y el script abortará
dial T5553223 60
if $errlvl == 0 goto msg_a
if $errlvl == 1 goto login
if $errlvl == 2 goto msg_b
if $errlvl == 3 goto msg_c
if $errlvl == 4 goto msg_d
if $errlvl == 5 goto msg_e
goto dial_error
login:
# aquí tenemos la secuencia de entrada, sustituir con la adecuada
sleep 1
send \r
wait ogin: 20
if $errlvl != 0 goto login_error
send alguien\r
wait ssword: 20
if $errlvl != 0 goto login_error
send divertido\r
# después de la secuencia de entrada esperamos recibir un par de cadenas
# que contienen la dirección IP local y la remota. Los siguientes comandos
# capturan esos valores y los asignan a las variables adecuadas.
get $locip remote 20
if $errlvl != 0 goto pass_error
get $rmtip remote 20
if $errlvl != 0 goto pass_error
logged:
# Establecer la unidad de transferencia máxima, 1006 es el máximo permitido
# para enlaces SLIP/CSLIP, pero es posible que funcione mejor un valor más
# bajo, como 296. Consultar las RFC's 1055 y 1144. Ajustarlo al gusto.
get $mtu 1006
# crear un ruta por defecto a través de este interface.
default
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
# dar mensaje informativo de que estamos conectados
print CONECTADO $locip ---> $rmtip
# seleccionar modo SLIP, no hay compresión de encabezados. Si su proveedor
# soporta, sería mejor poner modo CSLIP.
mode SLIP
# final de script, retorna 0 como código de salida.
exit
# lo que sigue son varios mensajes de error, el script será
# abortado y acabará con un código de retorno diferente de 0.
init_error:
print Error de inicialización de MÒDEM
quit
dial_error:
msg_a:
print Error desconocido al marcar
quit
msg_b:
print Error de MÒDEM al marcar
quit
msg_c:
print La linea esta ocupada
quit
msg_d:
print No hay portadora
quit
msg_e:
print No hay tono de marcar
quit
login_error:
print Anfitrion no responde a secuencia de entrada
quit
pass_error:
print Error de password
quit
------------------------- cortar hasta línea precedente ---------------------
Para asignación de dirección IP estática, sustituya lo siguiente al principio del script dip:
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
get $locip xxx.xxx.xxx.xxx
get $rmtip yyy.yyy.yyy.yyy
netmask zzz.zzz.zzz.zzz
Sustituir xxx.xxx.xxx.xxx con su dirección IP local, yyy.yyy.yyy.yyy con la dirección IP remota y
zzz.zzz.zzz.zzz con la máscara de red adecuada (usualmente es 255.255.255.0).
Elimine las líneas que obtienen las direcciones IP del anfitrión después de la secuencia de entrada:
*** eliminar get $locip remote 20
*** eliminar if $errlvl != 0 goto pass_error
*** eliminar get $rmtip remote 20
*** eliminar if $errlvl != 0 goto pass_error
Esto es todo para IP estáticas.
SCRIPT DE CONEXION
Ahora crearemos un shell para automatizar la tarea de conexión.
Con su editor favorito, crear el script siguiente. Llámelo sliplink-up y colóquelo en algún directorio que
esté en el PATH.
------------------------- cortar desde línea siguiente ---------------------#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
# datos de configuración, cambiarlos por los de su conexión.
DEVICE=/dev/ttyS2
SPEED=38400
PROVDOMAIN='fakeprov.net'
NAMESRV1='194.211.47.10'
# quitar línea siguiente si solo tenemos un servidor de nombres.
NAMESRV2='194.211.41.11'
# se supone que el script dip está localizado en "/usr/local/bin".
CONNSCRIPT='/usr/local/bin/slipconn.dip'
# hacer coipa de seguridad de /etc/resolv.conf, notar que utilizo el mismo
# directorio que en los ejemplos PPP, solo para ser consistente.
if [ -f /etc/resolv.conf ]; then
cp -f /etc/resolv.conf /etc/ppp/resolv.conf.orig
fi
# crear un nuevo /etc/resolv.conf con datos del proveedor
echo domain $PROVDOMAIN > /etc/resolv.conf
echo nameserver $NAMESRV1 >> /etc/resolv.conf
# quitar línea siguiente si solo tenemos un servidor de nombres.
echo nameserver $NAMESRV2 >> /etc/resolv.conf
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
# intenta ejecutar dip.
if ! dip -v $CONNSCRIPT; then
echo "Error al ejecutar dip..."
# restaura /etc/resolv.conf original.
cp -f /etc/ppp/resolv.conf.orig /etc/resolv.conf
# aborta el script.
exit 1
fi
echo "Enlace slip activado ahora..."
exit 0
------------------------- cortar hasta línea precedente ---------------------
Notar que en este caso no es necesario esperar a que el enlace esté activo, dado que dip se ejecuta en
primer plano y no retorna hasta que la conexión se ha completado con éxito o se produce un error. Esto
último lo determinamos por el código de retorno entregado por dip.
Deberá hacer ejecutable el script shell con chmod 0755 sliplink-up. Para ejecutarlo teclee lo siguiente
en una línea de mandatos:
sliplink-up
Deberá ver las líneas del script dip a medida que se ejecutan. El mensaje:
CONECTADO 10.1.200.100 ---> 200.157.0.7
Enlace slip activado ahora...
Aparecerá si todo ha ido bien. En caso de error no aparecerá el mensaje CONECTADO, en su lugar
tendremos un mensaje informativo de la naturaleza del error. Los números IP que se ven son
imaginarios, usted obtendrá los reales que le asigne su proveedor.
SCRIPT PARA DESCONECTAR
Este es un shell para deshacer el enlace SLIP/CSLIP. Llámelo sliplink-down y póngalo en algún
directorio que esté en el PATH. Verá que es muy parecido al mostrado en el ejemplo de enlace PPP:
------------------------- cortar desde línea siguiente ---------------------#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
# nombre de dispositivo SLIP.
SLIPDEV=sl0
# nombre de dispositivo del MÒDEM.
DEVICE=cua2
# comprobar si hay un enlace SLIP activo.
if [ -r /etc/dip.pid ]; then
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
# si, acaba con él.
dip -k -l $DEVICE > /dev/null 2>&1
# comprobar si la operación tuvo éxito.
if [ $? != 0 ]; then
# no, elimina archivo pid huérfano.
rm -f /etc/dip.pid
else
# si, espera que el enlace se venga abajo.
while ifconfig | egrep 'sl[0-9]' - > /dev/null 2>& 1; do
sleep 1
done
fi
echo "Enlace $SLIPDEV terminado..."
else
# decir que no hay enlace SLIP activo.
echo "Enlace $SLIPDEV no esta activo..."
fi
# restaurar /etc/resolv.conf original si existe.
if [ -r /etc/ppp/resolv.conf.orig ]; then
cp -f /etc/ppp/resolv.conf.orig /etc/resolv.conf
rm -f /etc/ppp/resolv.conf.orig
fi
exit 0
------------------------- cortar hasta línea precedente ---------------------
Como con todos los shell presentados, deberemos hacerlo ejecutable con chmod 0755 sliplink-down.
Al ejecutar este script con un enlace SLIP/CSLIP activo, se desconectará y se restaurarán los archivos
originales.
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
8. ENLACE SERIAL - requerido
En esta sección se detallara como realizar un enlace PPP a través de los puertos de comunicaciones
COM de dos equipos con un cable módem NULO, es decir crear una conexión PPP directa por cable
serial. Para la explicación de este caso se trabajara con dos equipos con el sistema operativo LINUX
RED HAT 6.0.
Los Puertos de comunicación serial COM en linux están soportados por los archivos /dev/ttySx, donde
la x es 0 para COM1, 1 para COM2 y asi sucesivamente.
Antes de comenzar es necesario verificar que los puertos COM estén correctamente configurados, esto
se realiza con el comando:
setserial -a /dev/ttySx
Este comando nos permite configurar los puertos de comunicaciones, en muchos casos, dependiendo
de la configuración particular de cada equipo, estos puertos de comunicaciones no son creados cuando
el equipo inicia, haciéndose necesario crearlos al momento de utilizarlos. Para realizar se procede de la
siguiente forma, asumiremos la conexión a través del COM1:
setserial -b /dev/ttyS0 IRQ 4
Este comando posee varios argumentos, pero para el caso práctico trabajaremos con los valores por
defecto. Es importante aclarar que cada dispositivo de un equipo posee una IRQ que le permite trabajar
correctamente, para el COM1 el IRQ es la 4, no lo cambie a menos que utilice otro puerto COM.
Para verificar el correcto funcionamiento puede utilizar el comando minicom en ambos equipos, si el
cable esta bueno y los puertos COM han sido configurados correctamente, en la pantalla de un equipo
se desplegara lo digitado en el otro.
Ahora, debemos ejecutar algún programa que nos de la deseada conexión PPP. En esta sección vamos
a hablar del programa pppd.
pppd es un programa potente y es el que realmente realiza el trabajo de mover paquetes IP por la línea
serie.
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
!"#$%&
'(*)+,
.-/
01%
Para poder ejecutar este programa deberá haber entrado en el sistema como root, o puede
alternativamente hacer pppd suid con chmod (consulte las páginas man pertinentes). No se recomienda
la segunda técnica, pues tiene implicaciones de seguridad.
El programa pppd requiere ciertos archivos de configuración en el directorio /etc/ppp. El primero es
options, que debe estar presente. Puede estar vacío, dado que las opciones pueden pasarse a pppd en
la línea de comandos, pero DEBERÁ existir.
OPCIONES DEL pppd
Introduzca lo siguiente en el archivo /etc/ppp/options:
módem
lock
crtscts
defaultroute
noipdefault
asyncmap a0000
•
•
•
•
•
La primera línea le dice a pppd que el dispositivo serie utilizado es un módem, así que deberá
monitorizar señales importantes (DCD) cuando se comunique con él.
La línea 2 dice que el dispositivo deberá ser bloqueado para uso exclusivo de pppd hasta que
finalice la conexión.
La línea 3 selecciona control de flujo por hardware entre el módem y el ordenador. Esto depende
del tipo de módem
utilizado, pero la mayoría de ellos la soportarán. La alternativa es
especificar -crtscts si su módem no soporta el control de flujo por hardware.
La línea 4 hace que la ruta por defecto para paquetes IP sea la conexión que va a establecer
pppd, de manera que cualquier comunicación con Internet se realice a través de la misma.
La línea 5 dice que nuestra máquina no dispone de una dirección IP válida, así que el otro
extremo deberá asignarnos una. Para IP estáticas, omita esta línea y ponga en su lugar:
localIP:remoteIP
Por ejemplo:
129.37.48.1:173.10.25.6
La parte de IP remota puede omitirse, dado que pppd puede obtenerla si es necesario.
Por ejemplo:
•
129.37.48.1:
La línea 6 establece el conjunto de caracteres de control (ASCII < 32) que deberán ser
escapados cuando sean
transmitidos por la línea serie. El valor que se utiliza escapa los
códigos XON y XOFF, utilizados para el control de flujo por software. Esto no sería necesario si
está utilizando control de flujo por hardware, pero sugiero dejarlo así de momento hasta que
estemos seguros de que la conexión funciona. Podremos cambiarlo a 0 más tarde para
aprovechar al máximo las características del módem.
En Linux. Los dispositivos de red se crean de forma dinámica y por tanto no requieren de la presencia
de ficheros de dispositivo. En la mayoría de los casos los dispositivos de red son creados
automáticamente por el controlador de dispositivos mientras se inicia y localiza el hardware. Por
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
ejemplo, el controlador Ethernet crea interfaces eth[0..n] secuencialmente según va encontrado tarjetas
Ethernet. La primera tarjeta que encuentra es eth0, la segunda eth1, etc.
Sin embargo, en algunos casos, de los que slip y ppp son ejemplos notables, los dispositivos de red son
creados por la acción de algún programa de usuario. Se aplica la misma numeración secuencial de
dispositivos, pero no se crean al arrancar. La razón es que al contrario que con los dispositivos
Ethernet, el número de dispositivos ppp o slip puede variar durante la actividad de la máquina.
Crear un enlace PPP a través de una conexión con un Módem NULO(Directo por Cable), es muy
sencillo.
Primero asegúrese que los puertos seriales estén correctamente configurados con setserial.
Es necesario iniciar el demonio pppd en ambos equipos. Asumiendo que ambas máquinas se
comunican con el puerto COM1, ejecutamos en la línea de comando
pppd -detach ctrscts lock <Local IP>:<Remote IP> /dev/ttyS0 38400&
Para mejor detalles ver figura
RED A :---> ppd -detach crtscts lock 192.168.30.2:172.16.30.2 /dev/ttyS0 38400 &
RED B :---> ppd -detach crtscts lock 172.16.30.2:192.168.30.2 /dev/ttyS0 38400 &
Cada vez que se crea un enlace PPP este es identificado con el dispositivo pppX; donde la X
representa un valor numérico que diferencia al enlace PPP de cualquier conexión del mismo tipo.
Ejemplo : ppp0, ppp1.
Esto establece el enlace pero todavía no permite el enrutamiento. Se puede verificar el enlace haciendo
un ping de una máquina a otra.
El enrutamiento depende de lo que se este tratando de hacer. Como ejemplo su ponga que busca que
una máquina con una tarjeta Ethernet conectada a una red sirva como entrada a la red para otro equipo
con un enlace PPP. Para este caso debería ejecutar los siguientes comandos:
En el equipo con Ethernet
pppd -detach crtscts lock proxyarp <Local IP>:<Remote IP> /dev/ttyS0 38400 &
En el otro equipo
pppd -detach crtscts lock defaultroute <Local IP>:<Remote IP> /dev/ttyS3 38400 &
Para enrutamientos mas complejos puede utilizar los script /etc/ppp/ip-up y /etc/ppp/ip-down
En el caso que nos concierne, el de interconectar dos redes, necesitamos realizar otro tipo de
configuración para establecer el enrutamiento. los cuales explicamos a continuación.
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
Le sugerimos que lea el planteamiento del proyecto, en caso que no lo haya leído antes.
Como resumen: Poseemos dos Redes independientes ,(RED A, RED B), las cuales necesitamos
interconectar de tal manera que los equipos pertenecientes a una red puedan utilizar los servicios de la
otra como si pertenecieran a la misma red. Para una mejor explicación analice la siguiente figura.
Una vez establecido el enlace PPP debemos adicionar ciertos valores a las tablas de enrutamiento de
cada equipo. con el comando route. Este comando nos permite manipular la tabla de enrutamiento,
permite adicionar, borrar y modificar los diferentes campos de dicha tabla. Para nuestro caso debemos
adicionar una ruta nueva en cada equipo que este en los extremos del enlace. Estos equipos se
convertirán en la puerta de entrada de la RED A a la RED B y viceversa. En la Línea de comandos
debemos ejecutar las siguientes instrucciones.
RED A
route add -net 172.16.30.0 netmask 255.255.0.0 gw 172.16.30.2 ppp0
RED B
route add -net 192.168.30.0 netmask 255.255.255.0 gw 192.168.30.2 ppp0
Ahora como paso final. se debe habilitar el enrutamiento. La mayoría de distribuciones modernas
incluyen algún programa que le permita configurar la mayoría de interfaces de red. Si tiene una de éstas
entonces debería ver si hace lo que usted quiere antes de acudir a la configuración manual.
/sbin/netcfg
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
/sbin/netconfig
Cualquiera de los anteriores programas puede habilitar el enrutamiento.
Esto es todo a partir de este instante los equipos pertenecientes a ambas redes pueden verse
mutuamente y compartir recursos como si pertenecieran a la misma red.
GLOSARIO
TERMINO
DEFINICION
Cliente
Suele ser la parte de un programa que se encuentra en el lado del usuario. Hay ciertas
excepciones, por ejemplo, en el sistema de ventanas X11 es el servidor el que está con
el usuario, y el cliente puede estar ejecutándose en una máquina remota. El cliente es el
programa o terminal de un sistema que está recibiendo el servicio proporcionado por el
servidor.
En el caso de sistema de igual a igual (peer to peer), como slip o ppp, se dice que el
cliente es el extremo que inicia la conexión y el extremo remoto, que ha sido llamado,
es el servidor.
!"#$%&
'(*)+,
.-/
01%
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
Data grama
Un data grama es un paquete discreto de datos y cabeceras que contiene direcciones,
que es la unidad básica de transmisión a través de una red IP. Puede que lo haya oído
llamar «paquete».
Dirección
hardware
Es un número que identifica de forma unívoca una máquina en una red física en la capa
de acceso al medio. Algunos ejemplos son las Direcciones Ethernet y las Direcciones
AX.25.
Dirección IP
Es un número que identifica unívocamente una máquina TCP/IP en la red. La dirección
es de 4 bytes de longitud y normalmente se la representa en notación decimal
puntuada, donde cada byte es representado en decimal con puntos «.» entre ellos.
Enrutador
Es un dispositivo que redirige los paquetes de una red a otra.
LPC
(link
control
Protocolo de control de enlace.
protocol).
RDSI
Es un acrónimo de Red Digital de Servicios Integrados (ISDN en inglés). La RDSI
proporciona medios
estandarizados por los cuales las compañías de
Telecomunicaciones pueden llevar información tanto de voz como de datos según las
premisas de los abonados. Técnicamente la RDSI es una red de circuitos de paquetes
conmutados.
Ruta
La ruta es el camino que siguen los data grama a través de la red para alcanzar su
destino.
La retransmisión de tramas (o Frame Relay) es una tecnología de red idealmente
preparada para transportar tráfico que es de naturaleza esporádica o a ráfagas. Los
Retransmisión
costes de red se reducen ompartiendo varios abonados a la retransmisión de tramas la
de tramas
misma capacidad de red y dejándoles a ellos el deseo de usar la red en momentos
ligeramente diferentes.
Servidor
Normalmente es la parte del programa o terminal de un sistema remoto con respecto al
usuario. El servidor proporciona algún servicio a uno o varios clientes. Los ejemplos de
servidores incluyen ftp, Network File System o Domain Name Server. En el caso de
sistemas de igual a igual (peer to peer) tales como slip o ppp. Se dice que es el servidor
el extremo del enlace que recibe la llamada y el otro extremo es el cliente.
Ventana
La ventana es la mayor cantidad de datos que el extremo receptor puede aceptar en un
momento dado.
BIBLIOGRAFIA
Stallings. William; Comunicaciones y redes de computadores; 5.ed. PRENTICE HALL, 1997
Tanenbaum. Andrew S; Computer networks; 2.ed.; PRENTICE HALL, 1989
Algunas direcciones de Internet donde se encuentran más ayudas son
http://web-redestb.redestb.es/personal/josepfeb/index.htm
!"#$%&
'(*)+,
.-/
01%
http://www.insflug.org
http://sunsite.unc.edu/mdw/linux.html
http://www.interweft.com.au/other/ppp-howto/ppp-howto.html
http://www.debian.org/
ftp://ftp.cdrom.com/pub/linux/sunsite/kernel.org/pub/linux/kernel
http://metalab.unc.edu/LDP/mirrors.html.
http://metalab.unc.edu/LDP/HOWTO/Serial-HOWTO.html
http://www.eskimo.com/~irish
ftp://ftp.eskimo.com/u/i/irish
2 0+%
3465+$.70
8.9:;<6/=>
<@?ABC
7+
D@EFG-/%<H JI("9&IKF5@
-/FLH3M:N+<
>8PO
Descargar