Está en la página 1de 10

CÓMO FUNCIONA INTERNET (CONTEXTO PARA EL TEMA 4).

PRIMERA PARTE

QUÉ VAMOS A HACER EN ESTAS SESIONES


Vamos a entender el funcionamiento de Internet. Concretamente de sus protocolos, que son los
responsables de que los datos de un proceso que se ejecuta en un ordenador de una red, sea
capaz de llegar a otro proceso que reside en otra máquina de la misma o de distinta red.
El contenido que vamos a trabajar está en el libro de Forouzan, disponible desde la Universidad
de Málaga en este enlace:
https://jabega.uma.es/permalink/34CBUA_UMA/104ji69/alma991001050729704986
Os voy a desgranar el material que debemos trabajar, dividiéndolo en semanas. Os recuerdo
que, además de las dos sesiones presenciales semanales, se necesitan, aproximadamente, otras
dos sesiones de trabajo en casa.

PRIMERA SEMANA
Se trata de hacer una introducción a la pila de protocolos TCP/IP. Para ello, antes tenemos que
ser capaces de responder a estas preguntas:
¿Qué es un protocolo? Si no lo tienes claro aún, te invito cariñosamente a que repases
contenidos anteriores de la asignatura. Este es nuestro punto de partida.
¿Qué es una pila de protocolos? Es un conjunto de capas o niveles, que se encuentran apilados
para dar un servicio de comunicación. Cada capa implementa un protocolo.
Mira la figura. En Internet tenemos, en sentido descendente, la capa de transporte (donde están
TCP o UDP), la capa de red (donde está IP y otros protocolos de apoyo), y la capa de acceso a
red.
Para dar su servicio correspondiente, cada capa utiliza el servicio que le ofrece su capa inferior.

1
IMPORTANTE: el nivel de acceso a red, en el libro del Forouzan, se compone de dos subniveles:
el subnivel de acceso al medio y el subnivel físico (el primero codifica y decodifica tramas, y el
segundo se encarga de la traducción de bits a ondas electromagnéticas/ópticas y viceversa).
Siempre que veáis dibujados estos dos subniveles, nos referimos a la capa de acceso a red.
Servicio que da la capa de transporte:
¿A quién se lo da? A los procesos de los usuarios.
¿En qué consiste? Da un servicio de tubería de bytes fiable entre un cliente y un servidor
conectados (TCP). También ofrece la alternativa de utilizar un servicio de mensajería NO fiable
y no orientada a conexión (UDP).
Característica fundamental: se basa en el uso de PUERTOS para distinguir los procesos
receptores de un mensaje de este nivel

Servicio que da la capa de red:


¿A quién se lo da? A los protocolos de transporte que necesitan utilizarlo para envíos y
recepciones de datagramas de Internet
¿En qué consiste? Da un servicio de datagramas NO fiable y no orientado a conexión, permite
que los mensajes atraviesen redes y sean entendidos por los routers (que son los equipos
encargados en encaminar un datagrama de una red a otra)
Característica fundamental: se basa en el uso de DIRECCIONES IP para distinguir a los equipos
destino y origen del datagrama IP.

Servicio que da la capa de acceso a red:


¿A quién se lo da? A la capa de red
¿En qué consiste? Permite que los datagramas IP viajen por una red de ordenadores. Este
servicio NO está pensado para llevar paquetes de datos a ordenadores que están en una red
diferente. El equipo origen y destino deben pertenecer a la misma red. Los mensajes se traducen
a señales electromagnéticas (u ópticas) en transmisión. En recepción se produce la traducción
inversa.
Característica fundamental: se basa en el uso de direcciones físicas (se llaman MAC) asociadas a
cada tarjeta de red, para distinguir a los equipos destino y origen de los datos.

Es importante entender que un protocolo de transporte solo se entiende (dialoga) con otro
protocolo de transporte. Un protocolo de red solo se entiende con otro protocolo de red, y uno
de acceso con otro de acceso. Mira esta figura:

2
En la parte de arriba ves una topología con dos redes. Un router sirve de frontera o separación
entre ellas. Los hosts (ordenadores normales) son equipos con un interfaz o tarjeta de red que
los conecta a una red. El router tiene como mínimo dos interfaces o tarjetas, una por cada red a
la que está conectado. Por supuesto, un router puede estar conectado a más de dos redes.
En la parte de abajo de la figura, ves las capas implementadas en cada equipo de la red. Observa
cómo los hosts implementan toda la pila de protocolos (transporte+red+acceso). El router,
idealmente, solo necesita tener implementada la capa de red y una capa de acceso por cada
tarjeta de red (eso es importante, ojo).
Las líneas discontinuas refuerzan la idea de que las capas solo dialogan con su equivalente en
otro equipo. Por ejemplo, las capas de transporte del host1 y host2 solo dialogan entre sí. Es
decir, una PDU creada por la capa de transporte del host 1, atraviesa el router sin que éste
interprete, ni manipule dicha PDU de transporte.
En el caso de las PDUs de nivel de red, sí que son interpretadas y manipuladas por el router o
routers intermedios hasta llegar a la red donde reside el host destino (en este caso host 2).

No te confundas con las líneas discontinuas de la figura de arriba. Indican qué capas se hablan
entre sí. Pero los datos NO viajan de esa forma. Sigue leyendo, que a lo mejor ya te estabas
preguntando cómo se realiza de verdad una transmisión y una recepción.

EL VIAJE DE LOS DATOS


Cada capa, cuando tiene que realizar un envío, monta su propio paquete de datos, que es un
array de bytes conocido por sus siglas en inglés: PDU (Protocol Data Unit). Así, una PDU está
formada por una cabecera más los datos que quiere enviar. En la cabecera, la capa de protocolo
emisora introduce información necesaria para que la capa de protocolo (¡del mismo nivel!) en
el destino entienda qué es ese mensaje y qué contiene. Por ejemplo, una capa de transporte

3
coloca en su cabecera el puerto destino al que van los datos, y también coloca el puerto origen
que ayudará a recibir las posibles respuestas futuras del otro extremo. Los datos de la PDU son
la información tal cual que la capa superior quiere enviar (o el proceso, si estamos en la capa
superior de la pila).
Una vez que ha montado la PDU completa (cabecera + datos), solicita a la capa inferior que la
envié (es decir, está utilizando el servicio que le proporciona dicha capa). El proceso se repite, y
cada capa monta su PDU, añadiendo su cabecera y considerando que los datos son el mensaje
de la capa superior. Así, hasta que la capa de acceso a red (en la tarjeta de red), convierte los
bits a señales electromagnéticas que viajan por el medio de transmisión.
Mira esta figura, que explica visualmente lo que acabamos de introducir:

Empecemos a interpretarla de arriba hacia abajo. Imagina que un proceso acude a las llamadas
al sistema de sockets para enviar un conjunto de bytes, por ejemplo, "Hola fsc". Cuando lo
deposita en la cola del kernel, la capa de transporte coge esos datos y monta su PDU.
PDU DE TRANSPORTE:
• CABECERA (HEADERT): la información importante (por ahora) que lleva es el puerto
destino y el origen
• DATOS (PAYLOADT): los datos que el proceso quiere mandar al destino
La PDU de transporte se entrega a la capa de red (al protocolo IP) para que la envíe a una IP
destino. La capa de red monta su PDU:
PDU DE RED (en Internet, se conoce como datagrama IP):
• CABECERA (HEADERR): la información importante (por ahora) que lleva es la dirección IP
origen y la dirección IP destino

4
• DATOS (PAYLOADR): la PDU completa de la capa de transporte

Incido en algo que es muy importante: a la capa de red le importa tres pimientos lo que
contienen los datos que van dentro de sus PDUs, esa información solo es relevante para la capa
de transporte, como veremos luego, en la parte de recepción.
La PDU de red se entrega a la capa de acceso a red, para que la envíe a un ordenador de la propia
red. La capa de acceso monta su PDU:
PDU DE ACCESO (se conoce como trama de datos -frame, en inglés-):
• CABECERA (HEADERA): la información importante (por ahora) que lleva es la dirección
MAC origen y la dirección MAC destino
• DATOS (PAYLOADA): la PDU completa de la capa de red
• COLA: esta PDU tiene unos bytes extra donde se introduce información necesaria para
el control de errores en destino. En la figura, aparece como FCS (frame control
sequence). ¿Recuerdas el concepto de bit de paridad? El propósito es el mismo, pero
aquí se utilizan 32 bits, con un esquema de detección de errores mucho más avanzada
(y fuera del alcance de la asignatura).
¿Qué es eso de "la dirección MAC"? MAC son las siglas de Media Access Control (control de
acceso al medio de transmisión). Consiste en un identificador que se asigna a cada tarjeta de
red. Tiene seis bytes, y normalmente se representa con cada byte en notación hexadecimal
separada por ':'. Ejemplo: a0:33:45:2f:11:de
Luego veremos más sobre estas direcciones y por qué necesitamos utilizarlas ¿acaso no
teníamos ya las direcciones IP?
Ahora vamos con lo que pasa en un receptor final. Aquí te pongo lo que llega a host2 (sí, los
datos han pasado por el router también, pero en eso vamos a hacer hincapié más adelante).

5
Esta figura la tenemos que leer de abajo hasta arriba. Al host 2 le llega una trama de datos. Su
capa de acceso a red, primero comprueba el FCS para determinar que no hay errores en la
recepción. Después, mira la cabecera y comprueba si la MAC destino es la de su tarjeta de red.
En caso negativo, la descarta. En caso afirmativo, coge los datos que contiene y se los pasa a la
capa de red. Claro, recuerda que dentro lleva una PDU de red, con su HR y su PAYLOADR. En la
figura te lo he puesto como si tuviéramos rayos-x y viéramos lo que hay dentro del PAYLOADA.
La capa de red mira la cabecera del datagrama IP que le llega, y lo primero que hace es
determinar si la IP destino que aparece ahí corresponde a la IP del host 2. En caso negativo, y
por ser un ordenador de tipo host, se descarta. Pero si este equipo fuera un router, lo que va a
hacer es intentar encaminarla a otra red para que siga su viaje al destino final. Lo veremos.
En caso de que la IP destino de ese datagrama coincida con la IP del host 2, se cogen los datos
que contiene y se le pasan a la capa de transporte. Nuestros rayos-x no mienten, en ese
PAYLOADR se encuentra una PDU de transporte, con su HT y PAYLOADT.
Por último, la capa de transporte mira la cabecera de la PDU de transporte recibida, y mira el
puerto destino para depositar los datos en la cola del socket vinculado a ese puerto. A partir de
ahí, ya sabemos que en algún momento del futuro, el proceso receptor usará un read() o un
recvfrom(), lo que toque según si está en TCP o UDP, para recoger el mensaje "Hola fsc".

Al proceso por el cual una PDU de la capa N se inserta como datos en una PDU de la capa
inmediatamente inferior (N-1) se le denomina encapsular. El proceso inverso en recepción se
denomina desencapsular.

6
CADA CAPA DE PROTOCOLO TIENE SUS PROPIAS DIRECCIONES
Creo que hemos entendido bien llegados a este punto que cada capa maneja su propio formato
de direcciones:
Capa de transporte: las direcciones que maneja son los puertos
Capa de red: maneja las direcciones IP (a estas direcciones se las llama LÓGICAS)
Capa de acceso: maneja las direcciones MAC (a estas direcciones se las llama FÍSICAS)

El sentido de que existan puertos está claro: los puertos identifican a los sockets de los procesos
de los usuarios. Claro, piensa que la capa de transporte es única (imagina que es un proceso que
se ejecuta dentro del kernel), y todos los procesos de los usuarios utilizan su servicio. La única
manera de poder recibir una PDU de transporte y poder entregar los datos al socket correcto es
a través del puerto asociado (y a eso lo llamamos demultiplexar en nuestra profesión).
Pero ¿cuál es el sentido de que existan direcciones IP en los equipos y, además, direcciones
MAC? ¿No parecen redundantes? No, en absoluto.
Recuerda que Internet significa Inter-red, o lo que es lo mismo: red de redes. Así que mira cómo
eran las redes aisladas antes de Internet:

Cada red estaba aislada del resto. Para que los equipos en red se pudieran comunicar,
simplemente debían tener tarjetas de red con MACs distintas.
Fíjate que, en aquel momento, las MAC se podían repetir siempre que pertenecieran a tarjetas
de red de equipos que estuvieran en redes distintas. No había ningún problema.
Pero ahora llega Internet, y permite que las dos redes se comuniquen entre sí poniendo un
router en medio que hace de encaminador de paquetes entre una red y otra:

7
Surge inmediatamente el problema. Hay que mantener las direcciones MAC, porque son las que
permiten que los ordenadores se comuniquen dentro de la misma red (incluyendo ahora al
router, ojo), pero NO se pueden utilizar para identificar de forma única a los ordenadores en
Internet ¡porque pueden estar repetidas, y eso llevaría a errores en la entrega de paquetes!
Afortunadamente, la Inter-red se diseñó pensando en no tener esos problemas. Para ello, cada
red que forma parte de Internet tiene un identificador único, y los equipos se numeran a partir
de ese identificador único. Mira la figura:

La red de la izquierda es la red 1, y todos los equipos que pertenecen a ella se numeran como
1.1, 1.2, 1.3, etc. Lo mismo pasa con la red de la derecha, que ahora ha pasado a denominarse
red 2, y todos sus equipos se numeran como 2.1, 2.2, 2.3, etc.
Pues esas direcciones de equipos son las direcciones lógicas ¡las direcciones IP!
Observa cómo este router tiene dos MAC, una por cada tarjeta de red, y dos direcciones IP, una
por cada red en la que está conectado.

YA ESTÁS PREPARADO PARA ESTUDIAR EL APARTADO 19.1 DEL LIBRO FOROUZAN


Entra completo, excepto estos dos mini apartados de las páginas 525 a 527:
->Tres niveles de jerarquía: subredes
->Más niveles de jerarquía

Cuando acabes, debes ser capaz de dar respuesta a las siguientes cuestiones:
¿Qué partes tiene una dirección IP?
¿Qué diferencia hay entre las IP con clase y sin clase? ¿Por qué existen ambas?
¿Qué es una máscara de red (también llamada de subred) y para qué se utiliza?

8
¿Qué es el concepto de broadcast y cómo se consigue hacer en una red IP?
¿Qué es el multicast y qué significa que una dirección IP sea de multicast?
¿Por qué hay direcciones IP públicas y privadas?
Si abro una consola de mi ordenador de Windows (ejecutar: cmd) y tecleo el comando
ipconfig
Me da información sobre todos los interfaces de red que tengo. Hay algunos que hay que
ignorar, porque son virtuales y pertenecen a VMWare y/o VirtualBox, pero mirando, a mi me
sale esto:

Me dice que la dirección IPv4 es la 192.168.0.100 ¿Y la tuya? ¿La red de tu casa es pública o
privada?
Y eso lleva a la última pregunta, ¿cómo podemos acceder a Internet si nuestra red es privada?
¿En qué consiste la técnica NAT?
Ejercicios (intenta NO utilizar la calculadora):
- Dada la dirección IP 114.34.2.8, indique su dirección de red, la dirección de broadcast, y
el número de equipos que se pueden direccionar en dicha red.
- Dada la dirección IP 25.34.12.56/16, indique su dirección de red, la dirección de
broadcast, la dirección IP del primer equipo direccionable en esta red y la dirección IP
del último equipo direccionable en esta red

CÓMO FUNCIONA UN LA CAPA DE RED. ENCAMINANDO MENSAJES


La capa de red se encarga de realizar el encaminamiento de datagramas.
Si eres la capa de red de un host:
- Si te llega una petición de envío de la capa de transporte: monta el datagrama y lo
manda utilizando el servicio de envío que ofrece la capa de acceso a red
- Si te llega un datagrama recibido desde la capa de acceso a red, determina si es para ese
host. En ese caso, sube su payload a la capa de transporte.
Si eres la capa de red de un router:
- Si te llega un datagrama recibido de una de tus capas de acceso, mira la IP destino del
datagrama y consulta en una tabla, denominada TABLA DE ENCAMINAMIENTO, donde
viene información sobre el camino que debe seguir un datagrama destinado a una red
(es decir, por qué interfaz de salida debe dejar el datagrama para que siga su camino).

9
YA ESTÁS PREPARADO PARA ESTUDIAR EL APARTADO 20.1 DEL LIBRO FOROUZAN
Entra completo

La cabecera de un datagrama IP contiene más información que las direcciones IP origen y


destino. Los campos de la cabecera IPv4 son muy interesantes para entender qué puede hacer
el protocolo IP.

YA ESTÁS PREPARADO PARA ESTUDIAR EL APARTADO 20.2 DEL LIBRO FOROUZAN


Entra completo hasta la página 555 (incluída)
NOTA: No te tienes que aprender de memoria la posición de los campos en la cabecera, por
supuesto, pero sí que debes saber para qué se utilizan los campos principales

Al terminar el apartado 20.2, referido a la cabecera de un datagrama IP, debes ser capaz de
contestar a las siguientes preguntas:
¿Cuál es la diferencia entre el campo hlen y el campo longitud total?
¿Qué pasa si un datagrama intenta atravesar una red donde no cabe? ¿Qué es la MTU de una
red?
Si un datagrama debe atravesar un router y sigue su camino ¿cuántos campos de la cabecera
debe cambiar el router antes de depositarlo en la siguiente red?

10

También podría gustarte