Linux Networking-concepts HOWTO

Rusty Russell Ricardo Javier Cárdenes Medina a1402@dis.ulpgc.es v1.0.1 Lunes 1 de Mayo 16:19:12 CST 2000, traducción del 27 de Junio de 2000 Este documento describe qué es una red (por ejemplo Internet), y los fundamentos de su funcionamiento.

Contents

1 Introducción 1 2 ¿Qué es una «red de ordenadores»? 2 3 ¿Qué es la «Internet»? 4

3.1 ¿Cómo funciona la Internet? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 Cuestión de IP 5

4.1 Grupos de direcciones IP: Máscaras de Red . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5 Nombres de máquinas y direcciones IP 7 6 Diferentes servicios: Correo electrónico, Web, FTP, Servicio de Nombres de Internet 7 7 Interfaces de llamada: PPP 8 8 Qué aspecto tienen los paquetes 8 9 Sumario 9 10 Agradecimientos 10 11 Indice 10

1 Introducción

Bienvenido, amable lector. Hemos escrito varios documentos «COMO» sobre redes en el pasado, y se nos ocurrió que hay montón de jerga en cada uno. Teníamos tres opciones: las otras dos eran o bien ignorar el problema, o bien explicar los términos en cada documento. Ninguna de las dos era atractiva. El matiz importante del software Libre es que usted ha de tener la libertad para explorar y trastear con los sistemas de software que usa. Pensamos que es una noble meta permitir a la gente experimentar esta libertad; no sólo la gente siente que la consecución del objetivo le da alas (como reconstruir el motor de un coche), sino que la naturaleza de la moderna Internet y del software Libre le permiten compartir la experiencia con millones de personas.

Pero tiene que empezar en algún lugar, así que aquí estamos.

2 ¿Qué es una «red de ordenadores»?

Una red de ordenadores es un conjunto de material preparado para que los nodos puedan comunicarse uno con otro (con «nodos» me estoy refiriendo a ordenadores, impresoras, máquinas de refrescos de cola y cualquier otra cosa que se le ocurra). No es realmente importante cómo estén conectados: pueden usar cables de fibra óptica o palomas mensajeras. Obviamente, algunas elecciones son mejores que otras (especialmente si tiene gato).

Normalmente, si se va a limitar a conectar dos ordenadores, no se le llama red; realmente, necesitará tres o más para tener una red. Pasa como con la palabra «grupo»: dos personas son sólo una pareja, pero tres ya pueden ser «grupo». Además, las redes suelen estar conectadas unas con otras, para constituirse en redes más grandes. Cada pequeña red (normalmente llamada «subred») puede ser parte de una red más grande.

La verdadera conexión entre dos ordenadores se llama a menudo «enlace de red» (network link). Si hay un cable que va de la parte posterior de su ordenador hasta las otras máquinas, ese es su enlace de red.

Hay cuatro cuestiones que generalmente tenemos en cuenta al hablar de redes de ordenadores:

Tamaño Si va a conectar los cuatro ordenadores de casa, tiene lo que llamamos LAN (Local Area Network - Red de Area Local). Si todo está a una distancia razonable que se pueda cubrir caminando, se le suele llamar LAN, da igual cuántas máquinas estén conectadas, y de qué manera esté hecha la red. El otro extremo del espectro es una WAN (Wide Area Network - Red de Area Amplia). Si tiene un ordenador en Lahore, Pakistán, otro en Birmingham, Reino Unido y otro en Santiago de Chile, e intenta conectarlos, tendrá una WAN.

Topología: La Forma Dibuje un mapa de la red: las líneas son los 2 (enlaces de red), y cada nodo es un punto. Quizá cada línea lleve a un nodo central, como una gran estrella, lo que quiere decir que todo el mundo se comunica a través de un punto (una «topología en estrella»):

              o   o   o
               \_| _/
                 \|/
            o-----o-----o
                _/|\_
               /  |  \
              o   o   o

Quizá todo el mundo hable en una única línea, como en este caso:

              o------o------o-------o--------o
              |                              |
              |                              |
              |                              o
              |                              |
              o                              |
                                             o

O puede que tenga tres subredes conectadas a través de un nodo:

                     o
         o           |  o--o--o
         |           |  |
         o--o--o--o--o  o
                \       |
                 o------o
                /       |
         o--o--o--o--o  o
         |           |  |
         o           |  o--o
                     o

Verá muchas topologías como estas en la vida real, y mucho más complejas.

Aspecto físico: De qué está hecha La segunda cuestión a tener en cuenta es con qué ha construido la red. La más barata es la «sneakernet» (red a zapato), donde gente mal vestida lleva disquetes de un ordenador a otro. La sneakernet es casi siempre una 2 (LAN). Los disquetes cuestan menos de 1 euro, y se puede comprar un sólido par de deportivos por unos 20 euros. El dispositivo más común usado en casa para conectar a redes mayores se llama «módem» (MODulador/DEModulador), que convierte una línea de teléfono normal en un enlace de red. Transforma la información del ordenador en sonidos, y escucha los sonidos que vienen del otro extremo para convertirlos de nuevo en información para el ordenador. Como puede imaginar, esto no es muy eficiente, y las líneas de teléfono no fueron diseñadas para este uso; pero es popular porque las líneas de teléfono son comunes y baratas: se venden módemes por menos de 50 euros y una línea de teléfono suele costar unos doscientos euros al año. La manera más común de conectar máquinas en una LAN es usar Ethernet. Ethernet se presenta en las siguientes modalidades principales (listadas de más antigua a la más reciente): Thinwire/Coax/10base2, UTP (Unshielded Twisted Pair/10baseT y UTP/100baseT. También se está empezando a difundir Gigabit ethernet (el nombre 1000baseT comenzaba a parecer estúpido). El cable 10base2 suele ser coaxial negro, con enlaces en forma de T para conectarlos a los objetos: todos están conectados en una gran fila, con «terminadores» especiales en ambos extremos. UTP suele ser cable azul^{1} con conectores transparentes al estilo de los teléfonos que se enchufan: cada cable conecta un nodo a un «hub» (un concentrador) central. El cable costará menos de dos euros el metro, y las tarjetas 10baseT/10base2 (muchas tienen ambos conectores) están sobre los 30 euros. Las tarjetas 100baseT, que también pueden trabajar con 10baseT, son diez veces más rápidas, y andan por menos de 80 euros. En el otro extremo tenemos la Fibra; un delgado filamento de cristal, encerrado en una capa protectora que se puede tender entre continentes. La fibra cuesta miles (de euros). Generalmente llamamos a cada conexión a un nodo «interfaz de red», o «interfaz» para abreviar. Linux les da nombres como «eth0» para la primera interfaz ethernet, y «fddi0» para la primera interfaz de fibra. La orden /sbin/ifconfig las enumera.

Protocolo: qué se habla El último detalle por tener en cuenta es el lenguaje que van a hablar los ordenadores. Cuando dos 2 (módemes) se comunican por una línea de teléfono, se tienen que poner de acuerdo en el significado de cada sonido, porque de lo contrario no funcionará. Esta convención se denomina «protocolo». Según se descubren nuevas formas de codificar lo que dicen las computadores en sonidos más pequeños, se inventan nuevos protocolos, y la mayoría de los módemes probarán con varios protocolos hasta que encuentren uno que el otro extremo entienda.

1(N. del T.: en España lo suelo ver blanco o gris)

Otro ejemplo es la red 2 (100baseT) que mencionamos antes: usa los mismos 2 (enlaces de red) físicos (2 (UTP)) que 2 (10baseT), pero habla diez veces más rápido. Estos dos protocolos son lo que denominamos protocolos de «nivel de enlace»; la manera en que se controla la información entre dos enlaces individuales de red, o «un salto». La palabra «protocolo» también se refiere a otras convenciones, como veremos más adelante.

3 ¿Qué es la «Internet»?

Internet es una 2 (WAN) que abarca todo el planeta: es una de las más grandes redes de ordenadores existentes. La expresión «internetworking» se refiere a conectar redes separadas para construir una más grande, de manera que «La Internet» es la conexión de un gran conjunto de subredes.

De manera que examinemos ahora la lista anterior y preguntémonos: ¿cuál es el tamaño de Internet, sus detalles físicos y protocolos?

El tamaño ya lo hemos establecido: es mundial.

Los detalles físicos, sin embargo, son variados: cada pequeña subred se conecta de forma diferente, con un aspecto y naturaleza física distinta. Los intentos de hacer un mapa útil de Internet han acabado de forma general en un abyecto fracaso.

Los protocolos que se hablan entre cada enlace también son diferentes a menudo: todos los 2 (protocolos de nivel de enlace) que nombramos antes, y muchos más.

3.1 ¿Cómo funciona la Internet?

Entonces se nos plantea la pregunta: ¿cómo puede hablar cada nodo de Internet con otros, si todos utilizan diferentes protocolos de nivel de enlace?

La respuesta es muy sencilla: necesitamos otro protocolo que controle cómo fluyen las cosas a través de la red. El protocolo de nivel de enlace describe cómo llegar de un nodo a otro si están conectados de forma directa: el «protocolo de red» nos dice cómo llegar de un punto de la red a otro, yendo a través de otros enlaces si fuera necesario.

Para la Internet, el protocolo de red es el Internet Protocol (versión 4), o «IP». No es el único que hay (tenemos otros como el Appletalk de Apple, IPX de Novell, DECNet de Digital y el NetBEUI de Microsoft) pero es el más ampliamente adoptado. Hay una nueva versión de IP denominada IPv6, pero aún no es tan común.

Para enviar un mensaje de una parte a otra del planeta, su ordenador escribe un fragmento de Internet Protocol, lo envía por el módem, que usa algún protocolo de nivel de enlace de módems para enviarlo al otro módem al que está llamando, que posiblemente esté enchufado a un servidor terminal (básicamente una gran caja de módems), que lo envía a otro nodo dentro de la red del ISP (Internet Service Provider - Proveedor de Servicios de Internet), que lo envía normalmente a otro nodo mayor, que lo manda al siguiente, y así sucesivamente. Un nodo que conecte dos o más redes se llama «router»^{2}: tendrá una 2 (interfaz) para cada red.

Llamamos a este conjunto de protocolos una «pila de protocolos», que a veces se representa de esta manera:

       [ Aplicación: Controla Porno ]        [ Capa de aplicación: Sirve Porno ]
                     |                                       ^

2N. del T.: mantenemos la denominación «router», ya que es la más común entre los propios hispanohablantes. También hemos escuchado «enrutador» o «encaminador»

                     v                                       |
     [ TCP: Controla la Retransmisión ]      [ TCP: Controla la Retransmisión ]
                     |                                       ^
                     v                                       |
     [ IP: Controla el Encaminamiento ]      [ IP: Controla el Encaminamiento ]
                     |                                       ^
                     v                                       |
     [ Enlace: Controla un solo Salto ]      [ Enlace: Controla un solo Salto ]
                     |                                       |
                     +---------------------------------------+

De manera que en el diagrama vemos un Netscape (la Aplicación de la izquiereda) obteniendo una página web de un servidor web (la Aplicación de la derecha). Para hacerlo utiliza el «Transmission Control Protocol» o «TCP»: alrededor del 90% del tráfico de la Internet hoy día es TCP, y se emplea para Web y correo electrónico.

De manera que el Netscape hace una consulta mediante una conexión TCP al servidor web remoto: esto lo controla la capa TCP, que se la pasa a la capa IP, que se hace cargo de la dirección que tiene que seguir, y la pasa a la capa de enlace apropiada, que la transmite al otro extremo del enlace.

En el otro extremo, la capa de enlace la pasa a la capa IP, que comprueba que vaya destinado a esa máquina (si no, puede enviarla a otra capa de enlace diferente para que pase al siguiente nodo), se la entrega a la capa TCP que, por último, se la manda al servidor.

De manera que tenemos lo siguiente:

1. La aplicación (Netscape, o el servidor web en el otro extremo) decide con quién quiere hablar, (y qué le quiere enviar).

2. La capa TCP envía paquetes especiales para iniciar la conversación con el otro extremo, y entonces empaqueta los datos en «paquetes» TCP: un paquete es sólo un término para describir un grupo de datos que pasan a través de la red. La capa TCP delega este paquete en la capa IP: estará mandándoselo a la capa IP hasta que la capa TCP del otro extremo responda diciendo que lo ha recibido. Esto se llama «retransmisión», e implica gran cantidad de reglas complejas que deciden cuándo retransmitir, cuánto esperar, etc. También le da a cada paquete un número, lo que significa que el otro extremo podrá ponerlos en el orden correcto.

3. La capa IP comprueba el destino del paquete, y averigua el siguiente nodo al que mandárselo. Este sencillo acto se llama «encaminamiento» (routing), y va desde lo realmente sencillo (si sólo tiene un módem, y no hay otra interfaz de red, todos los paquetes saldrán por ahí) a lo extremadamente complejo (si tiene 15 grandes redes conectadas directamente con usted).

4 Cuestión de IP

De manera que el papel de la capa IP es averiguar cómo «encaminar» paquetes a su destino final. Para hacerlo posible, cada interfaz en la red necesita una «dirección IP». Una dirección IP consiste en cuatro números separados por puntos, tal como «167.216.245.249». Cada número estará entre cero y 255.

Las interfaces de la misma red tienden a tener direcciones IP vecinas. Por ejemplo «167.216.245.250» estará cerca de la máquina con la dirección IP «167.216.245.249». Recuerde también que un router es un nodo con interfaces en una o más redes, de manera que el router tendrá una dirección IP por cada interfaz.

Por tanto la capa IP del Núcleo de Linux tiene una tabla con diferentes «rutas», que describe cómo llegar a varios grupos de direcciones IP. La más sencilla de ellas se llama «ruta por defecto»: si la capa IP no sabe qué hacer, es ahí a donde envía los paquetes. Puede ver una lista de las rutas usando /sbin/route.

Las rutas pueden indicar tanto un enlace, como un nodo particular que está conectado a otra red. Por ejemplo, cuando llamamos a un ISP, la ruta por defecto indicará el enlace del módem, porque por ahí se llega al mundo entero.

       Módem de             Módem  ~~~~~~
        Rusty             del ISP {      }
            o------------------o { La Red }
                                  {      }
                                   ~~~~~~

Pero si tenemos una máquina en nuestra red que conecta con el mundo exterior, es un poco más complejo. En el siguiente diagrama, mi máquina puede comunicarse directamente con las de Pedro y Pablo, y con el cortafuegos («firewall»), pero necesita saber que los paquetes dirigidos al resto del mundo han de pasar por el cortafuegos, que los reenviará. Esto significa que hay dos rutas: una dice «si está en mi red, sencillamente suéltalo ahí», y luego la ruta por defecto que dice «en cualquier otro caso, envíalo al cortafuegos».

                              o  La estación de trabajo
                              |    de Pedro          ~~~~~~
       La estación de trabajo |                     {      }
        de Rusty     o--------+-----------------o--{ La Red }
                              |         cortafuegos {      }
                              |                      ~~~~~~
                              o  La estación de trabajo
                                   de Pablo

4.1 Grupos de direcciones IP: Máscaras de Red

Queda un último detalle: existe una notación estándar para grupos de direcciones IP, a veces llamada «dirección de red». Igual que un número de teléfono puede ser separado en prefijo de área y el resto, podemos separar una dirección IP en el prefijo de red y el resto.

Antes se hablaba de «la red 1.2.3», refiriéndose a todas las 256 direcciones de la 1.2.3.0 a la 1.2.3.255. O si no bastaba con esa red, se hacía referencia a «la red 1.2», que implica todas las direcciones desde la 1.2.0.0 a la 1.2.255.255.

Normalmente no escribimos «1.2.0.0 - 1.2.255.255». En su lugar, lo abreviamos como «1.2.0.0/16». Esta extraña notación «/16» (se llama «netmask» - máscara de red) precisa de alguna explicación.

Cada número entre los puntos en una dirección IP se compone de 8 dígitos binarios (00000000 a11111111): los escribimos en la forma decimal para hacerlos más legibles para el ser humano. El «/16» significa que los primeros 16 dígitos binarios constituyen la dirección d red, o en otras palabras, «1.2.» es la parte de la red (recuerde: cada dígito representa 8 binarios). Esto significa que cualquier dirección IP que comience por «1.2» es parte de la red: «1.2.3.4» y «1.2.3.50» lo son, y «1.3.1.1» no.

Para hacer la vida más fácil, solemos usar redes que acaban en «/8», «/16» y «/24». Por ejemplo, «10.0.0.0/8» es una gran red que contiene las direcciones desde la 10.0.0.0 a la 10.255.255.255 (¡alrededor de 24 millones de direcciones!). 10.0.0.0/16 es más pequeña, y sólo contiene las direcciones IP de la 10.0.0.0 a la 10.0.255.255. 10.0.0.0/24 es aún más pequeña, y sólo contiene las direcciones 10.0.0.0 a 10.0.0.255.

Para termina de hacerlo confuso, hay otras maneras de escribir máscaras de red. Podemos escribirlas como direcciones IP:

     10.0.0.0/255.0.0.0

Para concluir, cabe señalar que la IP más alta de cualquier red está reservada para la «dirección de multidifusión», que se puede usar para enviar un mensaje a todas las máquinas de la red a la vez.

He aquí una tabla de máscaras de red:

     Forma   Forma                   Máximo número   Comentarios
       Corta   Completa                Máquinas
     /8      /255.0.0.0              16,777,215      Se suele llamar «clase A»
     /16     /255.255.0.0            65,535          Se suele llamar «clase B»
     /17     /255.255.128.0          32,767
     /18     /255.255.192.0          16,383
     /19     /255.255.224.0          8,191
     /20     /255.255.240.0          4,095
     /21     /255.255.248.0          2,047
     /22     /255.255.252.0          1,023
     /23     /255.255.254.0          511
     /24     /255.255.255.0          255             Se suele llamar «clase C»
     /25     /255.255.255.128        127
     /26     /255.255.255.192        63
     /27     /255.255.255.224        31
     /28     /255.255.255.240        15
     /29     /255.255.255.248        7
     /30     /255.255.255.252        3

5 Nombres de máquinas y direcciones IP

De manera que cada interfaz en cada nodo tiene una dirección IP. Rápidamente los humanos se dieron cuenta que era bastante difícil tener que recordar números, de manera que decidieron (igual que con los números de teléfono) tener un directorio de nombres. Pero como de todas maneras estamos utilizando ordenadores, es mejor que él mismo haga las consultas por nosotros de forma automática.

De manera que tenemos el Domain Name System (DNS - Sistema de Nombres de Dominio). Hay nodos que tienen direcciones IP bien conocidas a las que los programas pueden preguntar nombres, para obtener direcciones IP a cambio. Casi todos los programas que use podrán hacerlo, y por ello usted puede poner «www.linuxcare.com» en el Netscape, en lugar de «167.216.245.249».

Por supuesto, necesita al menos la dirección IP de uno de estos «servidores de nombres»: normalmente están almacenados en el fichero /etc/resolv.conf

Como las consultas y respuestas DNS son bastante pequeñas (un paquete cada una), no se suele usar el protocolo TCP: proporciona retransmisión automática, ordenación, y fiabilidad en general, pero al coste de enviar paquetes adicionales por la red. En su lugar usaremos el más sencillo «User Datagram Protocol», que no ofrece ninguna de las maravillosas características de TCP que no necesitamos.

6 Diferentes servicios: Correo electrónico, Web, FTP, Servicio de Nombres de Internet

En el ejemplo anterior, mostramos a Netscape enviando una consulta TCP a un servidor web que se ejecutaba en otro nodo. Pero imagine que el nodo del servidor web también está ejecutando un servidor de correo electrónico, otro de FTP y un servidor de nombres: ¿cómo se sabe a qué servidor va dirigida cada conexión TCP?

Por esa razón, TCP y UDP tienen un concepto de «puertos». Cada paquete tiene espacio para un «puerto de destino», que indica para qué servicio es el paquete. Por ejemplo, el puerto 25 de TCP es el servidor de correo, y el puerto 80 TCP es el servidor web (aunque a veces se encuentren servidores web en puertos diferentes). Puede encontrar una lista de puertos en /etc/services.

Además, si dos ventanas de Netscape acceden a la vez a diferentes partes del servidor web, ¿cómo sabe la máquina con el Linux ejecutando Netscape repartir correctamente los paquetes TCP con las respuestas del servidor web?

Aquí es donde entra en acción el «puerto de origen»: cada nueva conexión TCP toma un puerto^{3} diferente, de manera que todo el mundo puede diferenciarlas, incluso si van dirigidas a los mismos IP y puerto de destino. Normalmente, el primer puerto disponible será el 1024, e irá incrementándose con el tiempo y el uso.

7 Interfaces de llamada: PPP

Cuando llama con su módem a un ISP (Proveedor de Servicios de Internet), y conecta con el de ellos, el núcleo no sabe cómo enviar paquetes IP mediante él. Hay un protocolo llamado «Point-to-Point Protocol» (Protocolo Punto a Punto) o «PPP», que se usa para negociar con el otro extremo antes de permitir que pase ningún paquete. El ISP lo utiliza para identificar quén llama: en su máquina Linux hay un programa llamado «demonio PPP» que controla su extremo de la negociación.

Como hay tantos usuarios «de llamada» en el mundo, normalmente no tienen su propia dirección IP: la mayoría de los ISP le asignarán de forma temporal una de las que ellos poseen, mientras está usted conectado (el demonio PPP la negociará). Generalmente se le denomina «dirección IP dinámica», en contraposición a «dirección IP estática», que es el caso normal cuando Usted tiene una conexión permanente. Normalmente van asignadas a los módemes de su ISP: la siguiente vez que marque, posiblemente acceda por un módem diferente de la reserva de módemes, y por lo tanto obtendrá una IP diferente.

8 Qué aspecto tienen los paquetes

Para el excepcionalmente curioso (y el curiosamente excepcional), aquí tenemos una descripción del aspecto real de un paquete. Hay varias herramientas que miran qué paquetes están entrando y saliendo de su máquina Linux: el más común es «tcpdump» (que comprende más que TCP actualmente). Estos programas se llaman «husmeadores de paquetes» (packet sniffers).

El principio de cada paquete dice a dónde va, de dónde viene, el tipo de paquete, y otros detalles administrativos. Esta parte se denomina «cabecera del paquete». El resto del paquete contiene los datos por transmitir propiamente dichos, y normalmente se denomina «cuerpo del paquete».

Por lo tanto, cualquier paquete IP comienza con la «cabecera IP»: de al menos 20 bytes de largo. Tiene un aspecto parecido al siguiente: (este diagrama ha sido sustraído sin ningún remordimiento de conciencia del RFC 790):

        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |Versión|  IHL  |Tipo de Servic.|          Tamaño Total         |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |         Identificación        |Flags|  Desplaz. del Fragmento |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |Tiempo de Vida |   Protocolo   |    Checksum de la cabecera    |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3N. del T.: puerto de origen

        |                     Dirección de Origen                       |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |                     Dirección de Destino                      |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Los campos importantes son el Protocolo, que indica si es un paquete TCP (número 6), UDP (número 17) u otra cosa, la Dirección IP de Origen y la Dirección IP de Destino.

Ahora, si el campo de protocolo dice que es un paquete TCP, entonces a esta cabecera IP le sigue inmediatamente una cabecera TCP: la cabecera TCP también tiene al menos 20 bytes de longitud:

        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |        Puerto de Origen       |       Puerto de Destino       |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |                      Número de Secuencia                      |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |                    Número de Confirmación                     |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |Deplz. |           |U|A|P|R|S|F|                               |
        |de los | Reservado |R|C|S|S|Y|I|            Ventana            |
        | Datos |           |G|K|H|T|N|N|                               |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |           Checksum            |      Puntero de Urgencia      |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Los campos más importantes son el puerto de origen y el de destino, que dicen a qué servicio está destinado el paquete (o de cual viene, en el caso de que sea un paquete de respuesta). Los números de secuencia y confirmación (acknowledgement) se utilizan para mantener el orden de los paquetes, y decirle al otro extremos cuántos paquetes se han recibido. Los indicadores (flags) ACK, SYN, RST y FIN (escritos de mayor a menor) son simples bits que se utilizan en la negociación de apertura (SYN) y cierra (RST o FIN) de las conexiones.

Siguiendo a esta cabecera viene el verdadero mensaje que la aplicación envió (el cuerpo del paquete). Un paquete normal puede tener hasta 1500 bytes: esto significa que el mayor espacio que pueden ocupar los datos es de 1460 bytes (20 bytes para la cabecera IP y 20 para la cabecera TCP): alrededor del 97%.

9 Sumario

De manera que la Internet moderna utiliza paquetes IP para comunicarse, y la mayoría de estos paquetes usan internamente TCP. Hay nodos especiales llamados «routers» que conectan todas las pequeñas redes juntas en redes mayores, y dejan pasar estos paquetes hacia su destino. La mayoría de las máquinas normales están conectadas a una red (esto es, sólo tienen una interfaz), y por lo tanto no son routers.

Cada interfaz tiene una única dirección IP, como «1.2.3.4»: las interfaces de la misma red tendrán direcciones IP relacionades, con los mismos primeros números, de la misma manera que las conexiones telefónicas de la misma zona tienen el mismo prefijo. Estas direcciones de red se parecen a las direcciones IP, con una «/» para dilucidar qué parte de ellas es el prefijo, por ejemplo «1.2.0.0/16» indica que los primeros dos dígitos son la dirección de red: cada dígito representa 8 bits.

A las máquinas se les asignan nombres usando el Servicio de Nombres de Dominio: los programas les piden a los servidores de nombre que les informen de las direcciones IP, dado un nombre como «www.linuxcare.com». Entonces se puede usar esa dirección IP para comunicarse con ese nodo.

Rusty se le da realmente mal escribir documentación, sobre todo para novatos.

¡Que lo disfrute! Rusty.

10 Agradecimientos

Gracias a Alison, por revisar exhaustivamente el terrible borrador original, y decirme lo malo que era, de la manera más bonita posible.

11 Indice

• 2 (100baseT)

• 2 (10base2)

• 2 (10baseT)

• 8 (Cabecera IP)

• 2 (Coax, Cable coaxial)

• 4.1 (Dirección de difusión)

• 4.1 (Dirección de red, máscara de red)

• 4 (Dirección IP)

• 7 (Dirección IP dinámica)

• 7 (Dirección IP estática)

• 5 (DNS, Domain Name Service)

• 2 (Encaminamiento)

• 2 (Enlace de red)

• 2 (Enlace, protocolo de nivel de)

• 2 (Ethernet)

• 2 (Fibra)

• 2 (Gigabit Ethernet)

• 2 (Hub)

• 2 (Interfaz de red, interfaz)

• 3 (Internet)

• 3.1 (IP, Internet Protocol)

• 3.1 (IPv4, IP versión 4)

• 3.1 (IPv6, IP versión 6)

• 2 (LAN, Local Area Network)

• 4.1 (Máscara de red)

• 2 (Módem)

• 2 (Nodo)

• 1 (Paquete)

• 8 (Paquete, cuerpo)

• 8 (Paquete, cabecera)

• 8 (Paquete, esnifador (sniffer))

• 3.1 (Pila de Protocolos)

• 7 (PPP, demonio)

• 7 (PPP, Point-to-Point Protocol)

• 3.1 (Protocolo de red, protocolo)

• 6 (Puerto, TCP puerto, UDP puerto)

• 6 (Puerto de destino)

• 6 (Puerto de origen)

• 2 (Red de ordenadores)

• 2 (Retransmisión)

• 3.1 (Router)

• 4 (Ruta)

• 4 (Ruta por defecto)

• 2 (Salto)

• 5 (Servidor de nombres)

• 2 (Sneakernet)

• 2 (Subred)

• 3.1 (TCP, Transmission Control Protocol)

• 8 (TCP, cabecera)

• 2 (Terminador)

• 2 (Topología)

• 2 (Topología en estrella)

• 5 (UDP, User Datagram Protocol)

• 2 (UTP, Unshielded Twisted Pair)

• 2 (WAN, Wide Area Network)