Está en la página 1de 60

Curso de Adaptacin al Grado

ESCUELA DE INGENIERAS INDUSTRIAL E INFORMTICA

Telecomunicaciones en la Industria
Arquitectura de redes TCP/IP

Contenido
TEMA 1.1. 1.2 1.3. 1.4. 1.5. 1.6. 1.7. 1.8. 1.9. 1 LA ARQUITECTURA TCP/IP .......................................................... 3 ARQUITECTURA TCP/IP .................................................................... 3 QU SON LOS PROTOCOLOS? ......................................................... 5 HOSTS, NODOS, ENLACES. .............................................................. 7 LOS ESTNDARES EN INTERNET ....................................................... 9 SERVICIOS ORIENTADOS A CONEXIN Y SIN CONEXIN .................... 10 CONMUTACIN DE PAQUETES ......................................................... 12 INTRODUCCIN A LAS CAPAS TCP/IP ............................................... 12 TOPOLOGA DE INTERNET ............................................................... 19 LA CAPA DE APLICACIN ................................................................ 22

Servicios proporcionados por los protocolos de transporte en Internet......................................................................... 26


1.10. LA CAPA DE TRANSPORTE ............................................................... 26

Multiplexacin y demultiplexacin de aplicaciones ................ 27 Protocolos TCP y UDP ...................................................... 29


1.11. LA CAPA DE RED ............................................................................ 32

Funciones de la capa de red ............................................. 32 El protocolo por excelencia: IP .......................................... 33 Subnetting ..................................................................... 46
1.12. LA CAPA DE ENLACE. ...................................................................... 48

Servicios proporcionados por la capa de enlace ................... 48 Protocolos de la capa de enlace ......................................... 50 Protocolos de acceso mltiple y LANs ................................. 51 ARP .............................................................................. 52 Direcciones Fsicas .......................................................... 53

Tema 1 La arquitectura tcp/ip 1.1. Arquitectura TCP/IP Internet es una red de dispositivos de mbito mundial que utiliza para comunicarse la pila de protocolos TCP/IP. Por eso este curso est centrado en estos protocolos, porque son los ms extendidos con mucha diferencia, los conceptos son los mismos que si se ven en otros protocolos, adems tenemos la posibilidad de ver la aplicacin prctica de forma ms fcil y hay un gran nmero de herramientas disponibles. El primer concepto que se debe aclarar es el de pila de protocolos TCP/IP, tambin llamada capas TCP/IP, arquitectura TCP/IP, etc. Para hacer esta aclaracin, debemos pensar en cmo es posible conseguir que dos programas residentes en dos ordenadores separados fsicamente por muchos kilmetros puedan llegar a comunicarse y transmitirse datos. Para conseguir esta comunicacin, podemos pensar en todo lo que hace falta para transmitir esos datos a travs de la distancia que separa a los ordenadores: Primero, necesitamos un lenguaje que los dos programas que se van a comunicar entiendan, para poder crear peticiones y que la otra parte sepa qu se est pidiendo. Como los datos que se transmitirn sern a veces muy grandes, tendr que haber un mecanismo para poder dividirlo en partes, numerando cada parte para que, cuando llegue a su destino, se pueda recomponer el mensaje original. Tendr que haber una forma de identificar para qu programa, de todos los que estn funcionando en el ordenador destino de los datos, es ese mensaje.

Tendr que haber una forma de identificar el ordenador destino del mensaje, de entre los cientos de millones de ordenadores que hay conectados en Internet a cada momento. Tambin se necesitar una infraestructura para dirigir esos datos a travs de cables y nodos intermedios (routers) desde el origen hasta su destino. Esta infraestructura deber incluir una forma de elegir los mejores caminos para que el mensaje llegue con ms rapidez y fiabilidad. Se necesitar tambin una forma de transformar los ceros y unos que componen el mensaje en seales elctricas para su transmisin por los diferentes medios (por cable telefnico, por fibra ptica, por el aire, etc). Y se necesitarn muchas otras cosas ms de las que nos ocuparemos posteriormente. Para poder estudiar todas estas funcionalidades necesarias para transmitir un mensaje, lo mejor es aislarlas, de forma que sean independientes, y tratarlas de forma individual. As, el estudiar cmo debe ser el lenguaje mediante el cual se comunican dos programas en dos ordenadores (la primera funcionalidad que mencionamos) es independiente de las otras funcionalidades, es decir, no tiene nada que ver con la forma en la que los ceros y unos del mensaje se transformar en seales fsicas para transmitirlas. De hecho, los aspectos relacionados con el lenguaje con el que se comunicarn los programas es una funcionalidad de mucho ms alto nivel que la transformacin a seales fsicas. Con todas estas consideraciones, se decidi aislar las funcionalidades y organizarlas en una estructura de niveles o capas, colocando las funcionalidades de ms alto nivel arriba y las de ms bajo nivel abajo. De esta forma surge la estructura de capas o arquitectura TCP/IP, que puede verse en la figura:

Aplicacin Transporte Red Enlace Fsica


Fig 1.1 Capas de la arquitectura o modelo TCP/IP

La capa de aplicacin recoge las funcionalidades de ms alto nivel, es decir, aquellas necesarias para que los programas remotos se entiendan, mientras que la fsica recoge las funcionalidades de ms bajo nivel, es decir, la transformacin de ceros y unos en seales elctricas, lumnicas, electromagnticas, etc. De esta forma, un mensaje se generar en la capa de aplicacin, codificado con el mencionado lenguaje que ambos programas conocen. Una vez el mensaje est codificado en este lenguaje, estos datos se pasarn a la capa de transporte para que las funcionalidades descritas en esta capa puedan aplicarse. Los datos seguirn as su recorrido hacia abajo y las funcionalidades de cada capa se irn aplicando hasta llegar a la capa fsica, donde los datos se convertirn en seales fsicas y saldrn al medio fsico para ir hacia su destino. Como puede intuirse, las funcionalidades de la capa de aplicacin se implementan en los programas o aplicaciones que se comunican, las capas por debajo se implementan en el sistema operativo de la mquina en la que est el programa. A partir de la capa de enlace, ciertas funcionalidades empiezan a implementarse por medio de hardware en vez de software, hasta que, en la parte ms baja de la capa fsica, todas las funcionalidades son implementadas con hardware (seales fsicas). 1.2 Qu son los protocolos?

Para que los ordenadores puedan intercambiar informacin necesitan una red de comunicaciones. Los programas de los ordenadores que necesitan utilizar la red para comunicarse se denominan aplicaciones de red, como son el correo electrnico, la Web, la mensajera instntanea (Messenger), etc. Estas aplicaciones de red se comunicarn por medio de mensajes especificados en un lenguaje comn, como hemos dicho. Algunos ejemplos de mensajes seran:
Dame la pgina web www.google.com La pgina web solicitada no se encuentra El mensaje que me has enviado me ha llegado con errores, envalo de nuevo

Por supuesto, los mensajes no consisten en frases de lenguaje natural como en estos ejemplos, sino que consisten en cdigos especiales que representan a lo que se quiere transmitir en ellos. Para que la comunicacin sea efectiva tanto los equipos que comunican como los elementos intermedios deben utilizar la misma forma de tratar, enviar, recibir, codificar los mensajes. Todo eso es lo que se define en los protocolos. Por ejemplo, TCP (Transport Control Protocol) es un protocolo que slo existe en los host 1 y controla los mensajes intercambiados a nivel de capa de transporte transporte. Este protocolo se encarga de que los mensajes lleguen a la aplicacin de red destino, de que lleguen en el orden correspondiente, de trocearlos si son grandes y recomponerlos a la llegada, etc. TCP slo existe en los hosts porque a los nodos intermedios (los routers por los que pasa el mensaje) no les interesa el contenido de estos mensajes. Ejemplos de mensajes especificados en el protocolo TCP seran:

Por host

se

entiende

cualquier dispositivo final

que

conectemos a la red de

comunicaciones, por ejemplo un ordenador, una impresora, un mvil, un frigorfico (hay frigorficos en el mercado que hacen de forma automtica la compra a travs de Internet segn se van terminando los alimentos).

Me falta un trozo del mensaje ID 455 Quiero establecer una comunicacin con la aplicacin 44332 en este ordenador El mensaje ID 654 ha llegado con error, retransmitirlo de nuevo

Como vemos, estos mensajes se intercambian entre el host origen y el host destino, mientras que para los nodos intermedios no tienen relevancia ni necesitan conocerlos. IP (Internet Protocol) es un protocolo que existe tanto en los host como en los nodos intermedios (routers), y que controla el camino que siguen los mensajes desde el origen hasta el destino. Este protocolo pertenece a la capa de red. Ejemplos de mensajes especificados en el protocolo IP seran:
La ruta tal est sobrecargada, no enviar mensajes a travs de ella Para que este mensaje llegue a su destino debe salir por esta interfaz

HTTP (Hypertext Transport Protocol) es un ejemplo de protocolo de ms alto nivel que TCP, porque HTTP lo que define es el formato de los datos que se intercambian a nivel de capa de aplicacin. Ejemplos de mensajes especificados en el protocolo HTTP seran los que vimos al principio precisamente:
Dame la pgina www.google.com La pgina solicitada no se encuentra No tiene permisos para ver esta pgina

1.3. Hosts, nodos, enlaces. Para comunicar los sistemas finales tiene que haber un medio fsico que los conecte, p.e. cable coaxial, de cobre, fibra ptica, ondas de radio, etc. Y a este medio fsico que conecta dos elementos consecutivos lo llamamos enlace (link). Enlaces diferentes pueden transmitir a velocidades diferentes.

La comunicacin entre dos sistemas en Internet no se realiza mediante enlaces dedicados sino que cada unidad de informacin puede seguir un camino diferente a travs de los distintos nodos intermedios, evitando tener que interconectar directamente entre s todos los hosts. A esta tcnica se la llama conmutacin de paquetes. En la siguiente figura puede verse un esquema de funcionamiento de la comunicacin entre dos aplicaciones de dos ordenadores a travs de Internet:

Aplicacin
Aplicacin

Aplicacin

Nodo intermedio

Enlace nodo origen host origen Interfaz de red

Aplicacin Aplicacin Aplicacin Aplicacin

Nodo destino Host destino


Fig 1.2 Elementos que forman parte de Internet.

Como se ve en la figura, tenemos dos aplicaciones de red que se quieren comunicar a travs de Internet. Esas aplicaciones residen en ordenadores que se denominan hosts o nodos (origen y destino). En esos mismos ordenadores se pueden estar ejecutando muchas ms aplicaciones, incluso algunas de ellas pueden estar comunicndose tambin con otras aplicaciones 8

de red en otros ordenadores. En su camino desde el origen al destino, el mensaje puede circular a travs de diversos nodos intermedios (debe tenerse claro que la palabra nodo se usa para todos los equipos, sean intermedios, origen o destino, mientras que host identifica a los equipos donde residen las aplicaciones que estn comunicndose. Los puntos por donde los mensajes abandonan o entran en los nodos se denominan interfaz de red, mientras que el medio fsico que hay entre dos interfaces se denomina enlace. Debe tenerse claro que, a pesar de que en la figura se ha representado el enlace por medio de una lnea, no siempre se corresponder con una conexin de tipo cable, sino que ese enlace puede ser el aire (por ejemplo en el caso de una conexin WIFI). Como puede verse en la figura, cada mensaje puede llegar desde el origen al destino por diferentes caminos. De hecho, dado que un mismo mensaje puede ser dividido en partes, es posible que cada trozo de un mismo mensaje circule por caminos diferentes, llegando incluso en orden diferente al que salieron al origen. De ah que sea importante un mecanismo para trocear y recomponer el mensaje aunque los trozos lleguen desordenados. Como hemos dicho, de esto se encarga el protocolo TCP, que pertenece a la capa de transporte. Los nodos intermedios (tambin llamados routers) no necesitan para nada recomponer el mensaje (ya que ste slo es para que lo lea la aplicacin del host destino), por lo que los nodos intermedios no implementan las funcionalidades de la capa de transporte (y tampoco las de la capa de aplicacin. 1.4. Los estndares en Internet Todas las caractersticas de construccin y funcionamiento de Internet se definen en los estndares de Internet. Estos estndares son desarrollados por la IETF (Internet Engineering Task Force). Los estndares son recogidos en documentos llamados RFCs (Request For Comments), donde se definen protocolos como TCP, IP, HTTP, etc. Hay ms de 2000 RFCs diferentes. Se 9

pueden consultar en la direccin www.ietf.org. Inicialmente los RFCs eran documentos para intercambiar distintos puntos de vista para solucionar problemas concretos, de ah su significado de request for comments. Hasta ahora se ha visto lo que es Internet desde el punto de vista del hardware y el software. A continuacin veremos un concepto importante: el tipo de servicios que Internet ofrece a las aplicaciones de red. Esto quiere decir que el conjunto de protocolos que hay en la pila TCP/IP puede ofrecer dos tipos principales de servicios, los denominados orientados a conexin y los no orientados a conexin o sin conexin.

1.5. Servicios orientados a conexin y sin conexin En un servicio orientado a conexin tanto el emisor como el receptor de la informacin tienen conocimiento de la existencia de esa conexin. Antes de empezar a intercambiar datos, emisor y receptor se ponen en contacto para establecer la conexin, se dice orientado a conexin porque en realidad la conexin slo la conocen el emisor y el receptor pero no es conocida por ningn sistema (nodo) intermedio (routers, etc). Mediante el uso de este tipo de servicio se garantiza, adems, que los datos se van a entregar al receptor en el orden correcto y en su totalidad. TCP [descrito en el RFC 793] es el protocolo que ofrece el servicio orientado a conexin en Internet, proporcionando transferencia de datos fiable, posibilidad de tener control de flujo (ponerse de acuerdo emisor y receptor en la velocidad de transmisin de datos) y de congestin (ser capaz de ajustar el flujo de transmisin para no causar congestin en la red). En cambio, en un servicio no orientado a conexin el emisor enva los datos sin previa comunicacin al receptor. Este servicio tiene la ventaja de ser ms rpido (menos intercambio de mensajes) y el inconveniente de que no se 10

sabr si la informacin ha llegado o no a su destino. UDP (User Datagram Protocol) [RFC 768] es el protocolo que ofrece el servicio no orientado a conexin en Internet. No existe control de flujo ni de congestin. El servicio no orientado a conexin se utilizar cuando se prefiera asegurar una cierta velocidad a costa de perder parte de la informacin, ejemplo de aplicaciones de este tipo son telefona a travs de Internet, video conferencia, aplicaciones multimedia. Por ejemplo, en la transmisin de vdeo, lo importante es que los datos lleguen con la rapidez adecuada para poder seguir las imgenes como si fuese en tiempo real, no importando tanto que se pierda parte de la informacin. Esta prdida de informacin pasar desapercibida o aparecer como pequeas interferencias en la imagen (lo mismo ocurrir con la voz). Todas aquellas aplicaciones que no pueden permitir prdida de informacin usan el servicio orientado a conexin, no nos vale que nos llegue un 95% de un correo electrnico o de una pgina Web. Una aplicacin, cuando va a transmitir un mensaje, tiene la capacidad de elegir si quiere un servicio orientado a conexin o no orientado a conexin. Esta eleccin, en la prctica, consiste en que se elija el uso del protocolo TCP o del protocolo UDP en la capa de transporte. De hecho, como se ver, en la capa de transporte slo existen estos dos protocolos y todas las comunicaciones se harn, en cuanto a las funcionalidades implementadas en esta capa, utilizando uno u otro. El hecho de que un servicio sea orientado o no a conexin solo afecta a los sistemas finales (host origen y host destino), los elementos intermedios son totalmente ignorantes al respecto. Como vimos anteriormente, los elementos intermedios (los nodos intermedios) no implementan la capa de transporte y, por lo tanto, ni siquiera saben lo que es el protolo TCP UDP.

11

Hemos hablado del proceso de comunicacin entre los hosts, ahora vamos a ver cmo se hacen las cosas en el interior de la red (es decir, a nivel de los nodos intermedios) para llevar la informacin de un punto a otro 1.6. Conmutacin de paquetes Los protocolos de la capa de aplicacin intercambian mensajes. La tcnica de conmutacin de paquetes consiste en que el emisor divide los mensajes en partes ms pequeas, denominadas genricamente paquetes. Estos paquetes se transmiten a travs de los nodos intermedios hasta llegar a su destino, de forma que cada paquete puede seguir un camino totalmente diferente al que sigue el resto. Los nodos a travs de los cuales se transmiten los paquetes se denominan conmutadores de paquetes (packet switches). La conmutacin, tal como se trata aqu es un trmino genrico referido al paso de los paquetes de un nodo a otro. De este modo, los nodos intermedios, o routers, son estos conmutadores de paquetes (packet switches) de los que estamos hablando. (Nota: No debe confundirse el trmino
packet switch con el trmino switch a secas, que es un dispositivo fsico diferente que trabaja a nivel de la capa de enlace).

Meciante las tcnicas de conmutacin de paquetes, los recursos (al hablar de recursos nos referimos a la capacidad del medio fsico para transmitir las seales) se utilizan cuando se necesitan, y el ancho de banda total est disponible para cada paquete. En Internet los paquetes son encaminados de acuerdo con la direccin del host de destino, la conocida direccin IP, tal como veremos ms adelante. Adems, como ya se ha dicho, cada paquete puede ir (en teora) por un camino diferente al que haya seguido cualquier otro. 1.7. Introduccin a las capas TCP/IP

12

Hasta este momento hemos visto el concepto de capas TCP/IP de forma intuitiva pero no sistemtica. En este apartado se presenta una descripcin general de cmo se produce la transmisin de datos en este tipo de redes, cubriendo todo el proceso y todas las capas de la pila de protocolos. La siguiente figura muestra las capas TCP/IP que implementa cada uno de los nodos por los que pasar el mensaje (los paquetes). Como se ha dicho, tanto el host origen como el destino implementan las 5 capas de la arquitectura, mientras que los nodos intermedios (los routers) implementan las 3 ms bajas (hasta la de red):

Aplicacin Aplicacin Aplicacin


Aplicacin

Transporte Red
Enlace

Fsica

Red
Enlace

Red Fsica Red


Enlace Fsica Red Red Enlace

Enlace Fsica
Fsica

Aplicacin Aplicacin
Aplicacin
Aplicacin Aplicacin Transporte

Enlace
Fsica

Red
Enlace Fsica

Fig. 1.3 Capas del modelo TCP/IP implementadas en cada nodo

Los datos que van a transmitirse se generan, como hemos dicho, en la capa de aplicacin. Los datos se generan con el formato adecuado al protocolo establecido para el intercambio de informacin. Por ejemplo, para transferencia de pginas web entre un servidor web y un navegador, se usa el protocolo HTTP.

13

Los datos, para llegar a su destino, necesitan usar la red, por lo que se pasan a la capa de transporte (se le pide a la capa de transporte un servicio), donde se les aade informacin necesaria para el control de la comunicacin. Supongamos que la capa de aplicacin solicita un servicio orientado a conexin, es decir, quiere, entre otras cosas, que se asegure la llegada de todos los paquetes y en el mismo orden que tenan al principio para recomponer el mensaje. Como sabemos, en la prctica, esto supone utilizar el protocolo TCP a nivel de capa de transporte. La capa de transporte deber dividir el mensaje recibido para que se ajuste al tamao de datos que se usa en esa capa. Como la capa de transporte divide el mensaje en varios trozos y stos pueden ir por diferentes rutas hacia su destino, ser necesario que cada trozo lleve consigo un nmero de secuencia para que en el destino sea posible recuperar el mensaje original en el orden correcto. Como se puede ver, las capas de transporte del emisor y del receptor son las que tienen conocimiento del significado de ese nmero de secuencia, mientras que las capas de aplicacin tratan con los mensajes completos. Cuando llegue a su destino, la capa de aplicacin del receptor recibe de su capa de transporte el mensaje completo (ya ensamblado) por lo que sta capa no tiene idea de si alguna vez ese mensaje fue dividido en partes, ni de por qu tipo de redes o a travs de cuntos nodos intermedios ha pasado el mensaje. Como se ve, la comunicacin se produce entre las capas equivalentes de emisor y receptor, los elementos intermedios no tienen en cuenta ningn tipo de informacin referente a estas capas. Una vez que los datos estn en la capa de transporte, slo queda el problema de dirigirlos desde el origen hasta el destino. De esto se encargan la capa inferior, la capa de red.

14

Para poder dirigir correctamente los datos desde el origen hasta el destino a travs de todos los nodos intermedios es necesario: Que el nodo destino est identificado de alguna forma. Que los nodos intermedios sepan dirigir los datos hacia ese nodo destino. La identificacin del nodo destino se realiza mediante el nmero o direccin IP. El nmero IP debe ser nico para cada nodo conectado a Internet. La informacin seguir un camino a travs de la red desde su origen hasta el destino. Todos los nodos que toman decisiones sobre el camino que debe seguir la informacin deben conocer el protocolo de la capa de red. Los nodos encargados del direccionamiento de la informacin a travs de la red, tal como hemos dicho, se llaman routers. Una vez que se decide el camino a seguir para una unidad de informacin, es necesario pasar los datos al siguiente elemento dentro del camino elegido. La tarea de transmitir la informacin entre dos nodos directamente conectados se hace mediante la capa de enlace (la capa de red le pide ese servicio a la de enlace). La capa de red slo toma la decisin sobre la ruta a seguir (sobre el siguiente elemento que va a recibir los datos) pero no se encarga de la transmisin fsica de los mismos. Ejemplo de protocolo de la capa de enlace es PPP (Point to Point Protocol), Ethernet, 802.11 (inalmbrico). Por ltimo, la capa fsica se encarga de adecuar y transmitir las seales segn el medio fsico sobre el que se vaya a producir la comunicacin. Transforma bit a bit la informacin a transmitir en seales elctricas. La siguiente figura muestra cmo se produce el paso de los datos a transmitir por las capas.

15

Mensaje a transmitir

Aplicacin Transporte Red Enlace Fsica

+5V

Fig. 1.4. Paso del mensaje por las capas hasta salir a la red.

Cada capa agrega informacin necesaria para efectuar las funcionalidades que le son propias. La informacin de cada capa se ha representado por medio de colores. Cada capa slo es capaz de entender la informacin correspondiente a su color, de forma que el resto de informacin no es relevante. Podemos ver la figura tambin desde abajo hacia arriba, imaginando cmo cada capa quita y procesa la informacin que entiende y cmo luego pasa el paquete hacia arriba para que la capa superior siga procesndolo. Al final, la capa de transporte recompone el mensaje original y se lo pasa a la capa de aplicacin que es la que, finalmente, procesar el propio mensaje que se intentaba transmitir. De esta forma, la informacin va pasando de nodo a nodo. En la siguiente figura podemos ver cmo sera el flujo por las capas de los diferentes dispositivos. Como vemos, los nodos intermedios slo procesan el mensaje hasta la capa de red, que es donde est la informacin necesaria para saber por dnde debe seguir el mensaje su camino. La informacin de las capas superiores (transporte y aplicacin) no es relevante en estos nodos intermedios, slo al final ser procesada en su totalidad.

16

Aplicacin
Aplicacin

Aplicacin
Aplicacin Transporte
Red Enlace Fsica

Red Enlace
Red Fsica Red Enlace Fsica Red

Red Enlace
Enlace

Fsica
Fsica

Aplicacin

Aplicacin Aplicacin
Aplicacin Aplicacin Transporte
Red Enlace Fsica

Enlace Fsica

Fig. 1.5. Recorrido de un paquete a travs de las capas de los nodos desde su origen hasta su destino.

En resumen, la capa de transporte proporciona una comunicacin lgica entre procesos (se encarga de entregar el mensaje completo al proceso o aplicacin correspondiente), la capa de red proporciona una comunicacin lgica entre hosts (se encarga de que los paquetes lleguen a la interfaz de red del host destino) y la capa de enlace mueve la informacin de nodo a nodo a travs del medio fsico que los une (enlace), es decir, se encarga de que el paquete pase de una interfaz de red a la siguiente. En definitiva, la transmisin de la informacin a travs de la red se realiza por medio de saltos de un nodo a otro que estn directamente conectados hasta llegar con el ltimo salto, al host de destino. Si nos fijamos, la gran mayora del procesamiento de datos en las redes basadas en TCP/IP se realiza en los extremos de la red, de forma que los nodos intermedios son un simple medio de transmisin. Si existe algn error en la transmisin o se pierde algn paquete, slo ser posible detectarlo en los extremos de la comunicacin, es decir, en los hosts. Esto no es problema si podemos confiar en que esto va a pasar muy pocas veces, es decir, si 17

podemos fiarnos de que el medio de transmisin es fiable, cosa que ocurre en el caso de las transmisiones en Internet. En el caso de que el medio de transmisin no fuese fiable y se produjesen errores o prdidas de paquetes sera mucho ms eficiente el detectar esas prdidas en los nodos intermedios. Una vez visto el esquema de funcionamiento de Internet, las capas y algunos de los protocolos de la arquitectura TCP/IP, puede surgir la pregunta de cuntos protocolos hay en cada capa, cuales son los ms importantes o usados, etc. La siguiente figura recoge algunos de los protocolos que hay en cada capa de la arquitectura TCP/IP.

HTTP SMTP NFS

POP3 SSH FTP

SNMP TELNET

DNS TFTP

Aplicacin UDP Transporte


ICMP
OSPF RIP

TCP

IP

ICMP

Red Ethernet 802.11 PPP Enlace

Fsica

Fig. 1.6. Ejemplos de protocolos por capas.

Como puede verse, en la capa de aplicacin hay muchos protocolos. De hecho, hay uno (o ms de uno) por cada aplicacin de red que exista, y habr que crear nuevos protocolos si se crean nuevas aplicaciones de red. En la figura vemos el protocolo de nivel de aplicacin para el servicio Web, que se denomina HTTP (HyperText Transfer Protocol), los protocolos POP (Post Office Protocol) y SMTP (Simple Mail Transfer Protocol) correspondientes al servicio de correo electrnico, el protocolo FTP (File 18

Transfer Protocol) correspondiente al servicio de transferencia de archivos, el protocolo SNMP (Simple Network Management Protocol) correspondiente al servicio de gestin de red, etc. Cada aplicacin que funcione comunicndose en Internet necesita definir un protocolo o conjunto de protocolos a nivel de capa de aplicacin, incluyendo los juegos en red como Half Life, Counter Strike, etc. En la capa de transporte slo hay dos protocolos: el TCP (Transmission Control Protocol) y el UDP (User Datagram Protocol). El primero ofrece el servicio orientado a conexin del que hemos hablado y el segundo ofrece el servicio no orientado a conexin. TCP es el protocolo ms complejo de los dos y el ms utilizado para la mayora de servicios en Internet. De hecho, aparece en el nombre de la arquitectura: TCP/IP. En la capa de red hay tambin un protocolo por excelencia: El protocolo IP (Internet Protocol) que, junto con el TCP, dan el nombre a la arquitectura TCP/IP. En esta capa hay tambin otros protocolos como el ICMP (Internet Control Messaging Protocol) que se utiliza para la transmisin de mensajes de control y error entre nodos, o el RIP (Routing Information Protocol) y el OSPF (Open Shortest Path First) que se utilizan para que los nodos intermedios (routers) intercambien informacin sobre las mejores rutas para que los paquetes lleguen a su destino. 1.8. Topologa de Internet Hasta ahora hemos visto la conceptualizacin del funcionamiento de Internet, pero no hemos dicho nada sobre la forma en que se implementa esta red en la prctica, es decir, la topologa de Internet. Por lo visto hasta ahora, se podra pensar que Internet est perfectamente estructurada, ya que existe un conjunto de protocolos que permiten a todos los elementos de la red comunicarse y, segn las figuras presentadas, hay numerosos caminos que un paquete puede seguir para llegar del origen al destino. Sin 19

embargo, desde el punto de vista de la topologa, Internet parece crecer de una manera catica, con la aparicin de nuevas ramas por todas partes y en todo instante y, adems, los paquetes no tienen la libertad de circular por cualquier enlace de forma totalmente libre. Bsicamente, se puede distinguir entre usuarios finales y proveedores de servicios de Internet (ISP). Los ISP son las empresas que proporcionan el acceso a Internet por parte de los usuarios finales. Los ISP se organizan de forma jerrquica, dependiendo de su importancia (zona geogrfica a la que dan servicio). As puede haber: ISPs locales. ISPs regionales. ISPs nacionales. ISPs internacionales.

ISP local ISP regional ISP nacional/internacional


Acuerdo de trnsito

Punto de conexin entre un ISP local y uno regional

ISP nacional/internacional ISP regional ISP local

Punto neutro (acuerdo de peering)

Usuario final
Fig. 1.7. Jerarqua de proveedores de servicios de Internet y sistemas finales

Hay ISP que no tienen red propia (infraestructura fsica), slo ofrecen servicios, contratando las lneas a otros ISPs mayores. Otros ISP cuentan con una infraestructura de red muy limitada, a nivel local o regional. En un

20

nivel superior se encuentran los ISP que tienen infraestructuras de red a nivel nacional o internacional. Con este modelo, para que un proveedor local pueda ofrecer acceso a Internet a un cliente, deber contratar el uso de las redes de otros ISP que tengan mayor cobertura que l y que, a su vez, pueden tener contratadas redes a proveedores internacionales. Con esta estructura, las relaciones entre ISP son puramente mercantiles y puede darse el caso de que, para que un cliente de un ISP espaol se comunique con otro cliente de otro ISP tambin en Espaa, sea necesario que la comunicacin se produzca saliendo al extranjero debido a que en Espaa, estos dos ISP no estn conectados en ningn punto. Para evitar este trfico internacional innecesario, se crean los denominados puntos neutros de intercambio. Un punto neutro es un lugar fsico y un equipamiento especfico que permite a varios ISP intercambiar la informacin entre ellos sin que exista contraprestacin econmica alguna. Los puntos neutros nacionales restringen el trfico entre proveedores dentro del mismo pas, de forma que el intercambio de la informacin se produce sin salir al extranjero. En Espaa, existe un nico punto neutro nacional, se encuentra en Madrid y est gestionado por la asociacin Espanix (www.espanix.net). Al punto neutro se conectan los proveedores nacionales interesados siempre que cumplan una serie de normas (por ejemplo, en el caso de Espanix, el proveedor debe contar con un enlace internacional). En el punto neutro existe un dispositivo que conecta un enlace de cada uno de los proveedores, de forma que se puede producir intercambio de trfico entre cada cualquier par de ellos. Cada proveedor debe llevar un router propio hasta el lugar donde se encuentra el dispositivo y conectarlo a l mediante un enlace. Aparte de los puntos neutros de nivel nacional, existen otros dedicados a mantener el trfico de manera local. As, hay tambin puntos neutros en Catalua (Catnix), Pais Vasco (Euskonix) y Galicia (Galnix). 21

Sin embargo, no basta con que los proveedores se conecten al punto neutro para que se pueda producir el intercambio de datos entre ellos, sino que cada par de proveedores que quieran intercambiar datos a travs del punto neutro deben alcanzar un acuerdo mediante el cual se reconocen como iguales, ya que el intercambio de datos no supone el pago de ninguna cantidad por parte de ninguno de los dos proveedores. A estos acuerdos se les conoce como acuerdos de peering (de pares o iguales), frente a los acuerdos de trnsito, que son los que se surgieron antes de existir los puntos neutros y que suponen el pago de una cantidad y la existencia de una relacin cliente-proveedor. Los acuerdos de peering entre dos proveedores no tienen porqu llevarse a cabo slo en los puntos neutros, sino que, de forma privada, dos compaas pueden intercambiar trfico sin prestacin econmica en un lugar elegido por ambos de forma privada.. En Europa hay varios puntos neutros, que estn recogidos en: http://www.euro-ix.net Cualquiera puede ser un ISP, hay que tener un router con varios modems (para el caso de acceso telefnico o ADSL) y pagar a un proveedor ms grande la red de conexin a Internet. Una vez vistas algunas generalidades sobre Internet, se pasar a tratar ms a fondo cada una de las capas del modelo TCP/IP, comenzando por la superior (aplicacin) y yendo hacia abajo. 1.9. La capa de Aplicacin Cuando los dos procesos comunicantes estn en la misma mquina, se comunican usando comunicacin interprocesos. Cuando los procesos estn 22

en distintas mquinas se comunican intercambiando mensajes a travs de la red de comunicaciones. Los protocolos de la capa de aplicacin definen el formato y el orden de los mensajes intercambiados entre los procesos, as como las acciones tomadas en la transmisin o recepcin de cada mensaje. El protocolo de la capa de aplicacin es slo una parte de la aplicacin de red. Por ejemplo, la web es una aplicacin de red que consiste en muchos componentes, incluyendo un estndar que define el formato de los documentos (HTML, HiperText Markup Language), los navegadores web (Netscape Navigator, Micorosoft Internet Explorer, Mozilla Firefox, Opera, etc), los servidores web (Apache, Microsoft Internet Information Server, etc) y el protocolo de la capa de aplicacin, que en este caso es el HTTP (definido en el RFC 2616). HTTP define cmo se intercambian mensajes entre el navegador y el servidor web (por ejemplo, HTTP define el cdigo para pgina no encontrada, que es el famoso 404). Por lo tanto, HTTP es slo una parte de la aplicacin web. Otro ejemplo puede ser la aplicacin de correo electrnico de Internet, que incluye muchos componentes como los servidores de correo que albergan los buzones de los usuarios, programas lectores de correo (Outlook, Messenger, Thunderbird, etc) que permite a los usuarios leer y crear los mensajes, un estndar que define la estructura de un mensaje de correo electrnico y unos protocolos de la capa de aplicacin que definen cmo los mensajes se pasan entre los servidores y entre los servidores y los lectores y cmo los contenidos de ciertas partes del correo electrnico (por ejemplo, la cabecera del mensaje) tienen que ser interpretados. El principal protocolo de la capa de aplicacin para correo electrnico es SMTP (Simple Mail Transfer Protocol, recogido en el RFC 821). Por lo tanto, SMTP es slo una pequea parte de correo electrnico. En concreto, un protocolo de la capa de aplicacin define: El tipo de mensajes intercambiado (solicitud, respuesta). 23

La sintaxis de los diferentes tipos de mensajes (campos que puede haber en cada mensaje). La semntica de los campos, es decir, el significado de la informacin en cada campo. Las reglas para determinar cundo y cmo un proceso enva mensajes y responde a mensajes. Las acciones a tomar ante la recepcin de cada tipo de mensaje.

Algunos de estos protocolos estn definidos en RFCs y por lo tanto son de dominio pblico (HTTP, etc), pero muchos otros protocolos de la capa de aplicacin son propietarios y no estn disponibles para dominio pblico, por ejemplo, muchos protocolos para telefona en Internet. Si nosotros programsemos un nuevo servicio para Internet, podramos crear un protocolo de nivel de aplicacin que no estara incluido en los RFCs, ya que stos slo recogen protocolos correspondientes a servicios universalmente conocidos y por lo tanto estandarizados. Un protocolo de la capa de aplicacin tpicamente tiene dos partes: una parte cliente y una servidora, cada uno en un sistema final de los que se comunican. El navegador web implementa la parte cliente de HTTP y el servidor web implementa la parte servidora de HTTP. En muchas aplicaciones, el host implementa tanto la parte servidora como la cliente, por ejemplo, en una sesin TELNET (un servicio para conectarse remotamente a otro equipo), el cliente ser el host que inicie la sesin. Otro ejemplo es el FTP (transferencia de archivos). Los sockets, entre la capa de aplicacin y la de transporte Como hemos visto, los procesos se comunican a travs de la red por medio de mensajes. Un socket es el punto por donde los procesos intercambian estos mensajes. Es como la puerta del proceso a la red, es el punto de 24

comunicacin entre la capa de aplicacin y la de transporte. El proceso simplemente deja el mensaje en esta puerta y confa en la infraestructura que hay por debajo para que lo transporte a la puerta del proceso destino, es decir, al socket remoto. Un socket es la interfaz entre la capa de aplicacin y la de transporte, tambin se dice que es la API (Application Programmers Interface). El desarrollador de aplicaciones tiene control sobre la parte del socket de la capa de aplicacin, pero tiene poco control sobre la parte del socket correspondiente a la capa de transporte (slo puede elegir el protocolo de la capa de transporte a usar, es decir, TCP UDP, y fijar algn parmetro de dicha capa, como el tamao mximo del buffer o del mensaje). Identificacin de los procesos (IP+puerto) Para que un proceso en un host pueda enviar un mensaje a otro proceso en otro host, el proceso emisor debe identificar de alguna manera al proceso receptor. Para ello debemos especificar dos cosas: El identificador del host. El identificador del proceso concreto que se ejecuta dentro de ese host. En Internet, la direccin del host se identifica mediante el nmero IP. Es un nmero binario de 32 bits que identifica el punto donde el host se une a la red (la interfaz de red). Cada ordenador estar identificado, por tanto, por una direccin IP (en realidad un ordenador puede tener varias interfaces y en ese caso tendra varias direcciones IP, pero no es el caso habitual) mientras que cada router tendr una direccin IP en cada una de las interfaces que tenga. Una vez que la informacin ha llegado al sistema (host) final, se debe identificar al proceso, dentro de los que se ejecutan en ese host, que debe recibir la informacin. En Internet, el proceso dentro del host se identifica 25

mediante el nmero de puerto destino. El nmero de puerto que identifica a un proceso se asigna libremente, por parte del diseador de la aplicacin. Se han estandarizado ciertos nmeros de puerto fijos para las aplicaciones ms usadas en Internet, como el servicio Web (protocolo HTTP, puerto 80), correo electrnico (protocolo SMTP, puerto 25), etc. En el RFC 1700 se puede encontrar la lista de los nmeros de puerto asignados bien conocidos Well Known Ports). Todo socket estar identificado por la direccin IP de la interfaz del host y el nmero de puerto correspondiente. Servicios proporcionados por los protocolos de transporte en Internet Como hemos visto, la aplicacin usa el socket como punto de salida y entrada a la red. Por debajo del socket est la capa de transporte, que es la encargada del transporte de la informacin entre los extremos que se comunican. Al desarrollar una aplicacin, debe indicarse a la capa de aplicacin qu tipo de servicio de transporte se requiere. Como ya vimos, la capa de transporte en Internet tiene dos protocolos dedicados a ofrecer dos tipos de servicio de transporte: TCP (servicio orientado a conexin) y UDP (servicio no orientado a conexin). 1.10. La capa de transporte Los protocolos de la capa de transporte proporcionan comunicacin lgica entre procesos de aplicaciones que se ejecutan en diferentes hosts. Las aplicaciones usan los servicios ofrecidos por esta capa para intercambiarse mensajes sin preocuparse de la infraestructura fsica que haya por debajo. Es importante distinguir, una vez ms, la diferencia entre el cometido de la capa de transporte y la de red. La capa de red proporciona comunicacin 26 a los protocolos ms comunes en Internet (a estos puertos se les llama puertos

lgica entre host, mientras que la de transporte proporciona comunicacin lgica entre procesos de los hosts. La capa de red ofrece el servicio de llevar los datos de un host a otro, pero no se encarga de dar los datos al proceso adecuado. La capa de transporte es la que se encarga de saber para cual de todos los procesos que se est ejecutando en ese host van dirigidos esos datos. Se puede decir que la capa de transporte extiende el servicio de entrega host a host para que sea servicio de entrega proceso a proceso. A este proceso (codificar adecuadamente cual es el proceso destino del mensaje y entregar el mensaje al proceso adecuado cuando llegue a su destino) se le denomina multiplexacin y demultiplexacin de aplicaciones. Por lo tanto, la multiplexacin y demultiplexacin de aplicaciones son servicios que ofrecen todos los protocolos de la capa de transporte (es decir, tanto TCP como UDP). Multiplexacin y demultiplexacin de aplicaciones Demultiplexacin es la accin de entregar los datos recibidos de la capa IP al proceso correcto de la capa de aplicacin. Se realiza en el host destino del mensaje, evidentemente. Multiplexacin es la accin de aadir las cabeceras correspondientes a los datos entregados por la capa de aplicacin de forma que en el otro extremo se puedan demultiplexar correctamente. Esta operacin se realiza en el host que origina el mensaje. En Internet, los protocolos UDP y TCP de la capa de transporte efectan las labores de Multiplexacin y demultiplexacin mediante dos campos especiales en las cabeceras: Nmero de puerto de origen. Nmero de puerto destino. 27

Cada nmero de puerto es un entero de 16 bits (los valores posibles van, por tanto, de 0 a 65535). Los nmeros de 0 a 1023 estn reservados para los nmeros estndar de puerto de los protocolos ms usados (well known ports). Toda aplicacin que se ejecute en un host y que use los servicios de red debe tener asignado un nmero de puerto. El asignar un puerto a la aplicacin tiene un problema asociado: en un determinado momento pueden existir en el mismo equipo varios procesos de la misma aplicacin ejecutndose, que utilizaran el mismo nmero de puerto. Por ejemplo, un servidor web puede iniciar un nuevo proceso por cada peticin que reciba y el nmero de puerto asociado ser el 80 (el de HTTP) para todos los procesos. Por esta razn, no basta con un nico nmero de puerto para identificar al proceso. Lo que se hace es usar un segundo nmero de puerto, en este caso en el host origen. Cmo se crea este segundo nmero de puerto? Lo vemos con un ejemplo. Como hemos visto, al host que inicia la comunicacin se le suele llamar cliente y al que responde a su peticin servidor. Supongamos que un cliente pretende iniciar una sesin telnet en un host determinado. El host cliente enviar en el campo puerto de destino el nmero de puerto asignado al protocolo de la aplicacin telnet, o sea, el 23. Como puerto de origen, el host cliente usa un nmero de puerto que no se est usando en ese momento en el propio host cliente. Cuando los datos llegan al servidor telnet, ste usa el nmero de puerto destino (23) para saber que debe pasarle los datos a la aplicacin telnet y usa el nmero de puerto origen (generado en el cliente) para identificar al proceso especfico de esa aplicacin. Cuando el servidor manda los datos de vuelta al cliente, invierte el orden de los nmeros de puerto, es decir, como puerto de destino usa el que le indic el cliente (en el campo puerto de 28

origen) y como puerto de origen usa el 23 (el que vena en el puerto de destino desde el cliente). Cuando los datos vuelven al cliente, los datos de los dos nmeros de puerto se usan para pasar la informacin al proceso de la aplicacin correcto. Cul es el problema que puede presentarse con este modo de

funcionamiento? El problema puede producirse cuando dos clientes eligen el mismo nmero de puerto origen. La forma en la que el servidor soluciona este caso es usando el nmero IP del equipo cliente que genera los datos. En definitiva, una comunicacin estar totalmente identificada de cualquier otra por medio de los cuatro nmeros que se han visto: La direccin IP del host destino. El puerto del host destino. La direccin IP del host origen. El puerto del host origen. Protocolos TCP y UDP UDP ofrece el servicio ms simple a las aplicaciones de la capa de aplicacin, simplemente se encarga de la multiplexacin y demultiplexacin de los datos y efecta una suma de comprobacin en los datos (no comprueba si se pierden datos). TCP, adems de los servicios ofrecidos por UDP ofrece: Control de flujo, es decir, la posibilidad de adecuar la velocidad de transmisin de paquetes para no sobrecargar al receptor. Control de errores, es decir, verificar que los paquetes no llegan con errores. Control de la congestin. Detectar que el flujo de transmisin no hace colapsar al canal de transmisin. Control de secuencia. Hacer que los paquetes puedan ser recompuestos en el mismo orden en que salieron del emisor. 29

Retransmisin de paquetes perdidos.

Es importante tener siempre en cuenta que el servicio confiable de transporte de datos que ofrece TCP puede ser ofrecido tambin por las capas de enlace, red o aplicacin, no estando limitado a la capa de transporte. Esto quiere decir que, si elegimos UDP como protocolo a nivel transporte, siempre podremos implementar algunas de las funcionalidades que faltan a nivel de programacin en la aplicacin, por ejemplo. Como ya se vio anteriormente, la eleccin de TCP UDP depender del tipo de aplicacin de que estemos hablando. Si queremos asegurar la llegada de todos los datos, en el orden en que salieron, la retransmisin de datos perdidos, etc, deberemos utilizar TCP, mientras que si podemos permitir la prdida de paquetes en beneficio de la velocidad de transmisin, utilizaremos UDP. La siguiente tabla muestra aplicaciones de red tpicas, junto con su protocolo de nivel de aplicacin y el de nivel de transporte utilizado.

30

Protocolo capa Aplicacin Correo electrnico Terminal remoto Servicio Web Transferencia de archivos Servicio de archivos Streaming de datos multimedia Telefona Internet Gestin de red Enrutamiento Traduccin de nombres propietario SNMP RIP DNS aplicacin SMTP Telnet HTTP FTP NFS propietario

Protocolo capa transporte TCP TCP TCP TCP tpicamente UDP tpicamente UDP

tpicamente UDP tpicamente UDP tpicamente UDP tpicamente UDP

SNMP, el protocolo usado para la gestin de red en Internet usa UDP. Esto es debido a que SNMP se usa para solucionar problemas en la red, y cuando hay problemas en la red, es ms fcil usar protocolos sencillos como UDP que no la sobrecarguen ms. Por otro lado, los datos intercambiados en el servicio de gestin de red son de pequeo tamao, al igual que los del servicio de enrutamiento y de traduccin de nombres; no mereciendo la pena el complicar los paquetes con mucha ms informacin y hacer el servicio ms lento. Por otro lado, TCP no sirve para comunicaciones multicast (las que se establecen entre varios equipos a la vez) ya que TCP lo que hace es establecer una conexin entre dos equipos. Las aplicaciones multicast se implementan usando UDP.

31

Esta tabla nos sirve tambin para aclarar de nuevo un concepto importante: conviene siempre distinguir lo que es la aplicacin de red de lo que es el correspondiente protocolo de nivel de aplicacin. La primera y segunda columna de esta tabla sirve para ver esta distincin, aunque en la prctica a veces se habla de servicio ftp por ejemplo, utilizando el nombre del protocolo como nombre del servicio. 1.11. La capa de red La capa de red ofrece sus servicios a la capa de transporte. La capa de aplicacin le pide el servicio de transmisin de datos a la de transporte. La capa de transporte se encarga como hemos visto de la multiplexacin y demultiplexacin de datos, chequeo de errores, control de secuencia, flujo, de prdida de informacin, etc, pero no se encarga de dirigir los datos desde su origen hasta su destino; para conseguir esto, hace una peticin de servicio a la capa de red. A diferencia que la capa de transporte, los protocolos de la capa de red involucran a todos los nodos de la red, por esta razn, estos protocolos son los ms interesantes de toda la pila de protocolos. Funciones de la capa de red Las principales funciones que realiza la capa de red se pueden resumir en: Determinacin del camino. Es el procedimiento mediante el cual la capa de red del router crea la informacin sobre las posibles rutas que un paquete recibido puede tomar para llegar a su destino. En base a esta informacin, y dada la direccin IP de destino del paquete recibido, el router decide por cual de sus interfaces debe reenviar este paquete. Los algoritmos que calculan los caminos se denominan algoritmos de encaminamiento o routing.

32

Switching. Es el hecho de hacer que la seal pase del interfaz de entrada del router a la interfaz de salida adecuada.

Internet

surgi

como es decir,

consecuencia dispositivos

de con

la

necesidad de

de

conectar Los

computadores,

capacidad

clculo.

diseadores de Internet decidieron aprovechar esta capacidad de clculo de los sistemas finales y crear un modelo de servicio de red del tipo best effort, tan simple como fuese posible, implementando la funcionalidad adicional (ej. transferencia fiable de datos) en capas superiores de los sistemas finales, con algunas interesantes consecuencias: Este modelo de servicio de la red hizo posible que fuese mucho ms fcil interconectar redes que usan diferentes tecnologas de la capa de red (Ethernet, Fibra ptica, etc). Este tipo de servicio implementado en la red hace muy fcil la aparicin de nuevas aplicaciones de red, ya que slo habr que programar los protocolos de las capas superiores de los sistemas finales. La capa de red contiene una serie de protocolos y elementos dedicados a la funcionalidad de llevar los paquetes desde la interfaz del host origen hasta la del host destino. En concreto, las siguientes funcionalidades se encuentran en la capa de red. Especificacin del formato de los datos en la capa de red: Protocolo IP Formas de decidir la ruta para un determinado paquete y formato de mensajes que los routers se intercambian para notificarse cuales son los mejores caminos: Protocolos de routing. Informacin sobre los posibles caminos y redes a las que puede acceder cada router: la tabla de rutas. Notificacin de sucesos en el proceso de encaminamiento: Protocolo ICMP. El protocolo por excelencia: IP

33

Cuando la capa de red recibe un segmento de la de transporte, encapsula el segmento dentro de un datagrama IP, escribe la direccin del host destino y otros campos en este datagrama y le pide a la capa de enlace que lo transporte al primer router en el camino hacia el host destino. La direccin IP (IPv4) Se puede decir que la direccin IP identifica de manera nica a un host dentro de la red, pero sabemos que en realidad esto no es del todo cierto, lo que identifica la IP es la interfaz, o el punto de unin entre el host y la red. Puede darse el caso de que un host tenga ms de una interfaz, pudiendo por lo tanto el mismo host tener ms de una direccin IP. En el caso del router, siempre habr ms de una interfaz (al menos habr dos), ya que la misin del router es transmitr los datagramas que llegan por un enlace hacia otro. Las direcciones IP son nmeros binarios de 32 bits (4 bytes) (hay por tanto 2^32 posibles valores) agrupados en grupos de 8 bits. Se suele representar por medio de cuatro nmeros enteros de 0 a 255 separados por puntos, que se corresponden con los grupos de 8 dgitos binarios: 11000000 192 . 10101000 168 00000001 . 1 00000001 . 1

Como las direcciones IP de los nodos de Internet deben ser globalmente nicas, no pueden ser asignadas libremente. La direccin IP de una interfaz est determinada por la red a la que se conecta. Este concepto de red hay que verlo desde el punto de vista del direccionamiento IP.

34

192.168.3.52

192.168.3.101

193.146.96.29

180.23.5.1 192.168.3.17 193.146.96.102 180.23.5.221 180.23.5.24

Fig. 1.7. Tres redes IP unidas por un router.

Los interfaces que pertenecen a la misma red, comparten los primeros bits de sus direcciones. En el ejemplo de la figura, comparten los 24 primeros bits (se dice que estos 24 bits representan a la red), identificando los 8 restantes a la interfaz particular. Para saber cuntos bits de la direccin IP identifican a la red y cuantos a dispositivos dentro de la misma se utiliza el concepto de mscara de red. La notacin /24 indica el nmero de bits que, empezando por la izquierda, identifican a la red (en este caso se indica que los 24 primeros bits identifican a la red). La mscara de subred es un nmero de 32 bits. Cada bit del nmero de mscara define si su equivalente en cuanto a posicin en la IP corresponde con la parte de red y subred o de host. Cuando el bit de la IP es usado para identificar la subred, en la mscara aparecer el valor 1 y aparecer 0 en caso contrario. En el ejemplo anterior, la mscara de subred sera: 11111111 11111111 11111111 00000000

35

Que se suele expresar al igual que la direccin IP en formato decimal agrupndola en grupos de 8 bits, en este caso: 255.255.255.0 Tambin se puede expresar de esta manera, mscara 24: 193.146.96.102/24 que indica igualmente que los primeros 24 bits empezando por la izquierda de la direccin IP identifican a la red. La red como tal tendr una direccin IP virtual (no est asignada a ninguna interfaz), formada por los 24 primeros bits y teniendo los restantes bits el valor cero. En el caso de la siguiente figura, la red se identificar por medio de la siguiente direccin IP: 193.146.96.0/24

192.168.3.52

Red 193.146.96.0/24
192.168.3.101 193.146.96.29

180.23.5.1 192.168.3.17 193.146.96.102 180.23.5.221 180.23.5.24

Fig. 1.8. Red 193.146.96.0/24

Es importante tener claro que la red IP est formada por todas las interfaces que comparten la estructura de direccin IP, incluyendo por tanto la interfaz del router correspondiente a esa red, tal como se ve en la figura. Existe otra direccin IP especial, la direccin de broadcast o de difusin. Se forma dejando los bits que identifican a la red tal cual y poniendo el resto a uno. En el ejemplo sera: 36

11000001 193.

10010010 146.

1100000 96.

11111111 255

Un mensaje enviado a la direccin de broadcast ser procesado por todos los dispositivos conectados a esa red IP. En este ejemplo con mscara 24, quedan 8 bits para identificar dispositivos dentro de la red, luego el nmero mximo de dispositivos que admite esta red es de (2^8)-2=254. Se restan dos porque hay dos direcciones reservadas, que acabamos de ver, la que identifica a la red y la de broadcast que no se pueden asignar a ningn dispositivo. En el ejemplo, la red tiene dos interfaces correspondientes a dos hosts y una interfaz correspondiente al router. Cualquier otra interfaz que perteneciese a esta red, debera tener una direccin de la forma: 193.146.96.xxx La figura anterior muestra, en realidad, tres redes conectadas mediante un router. En la siguiente figura se muestra cada una de estas redes:

37

Red 192.168.3.0/24
192.168.3.52

Red 193.146.96.0/24
192.168.3.101 193.146.96.29

180.23.5.1 192.168.3.17
193.146.96.102 180.23.5.221

180.23.5.24

Red 180.23.5.0/24
Fig. 1.8. Las tres redes IP de la figura con sus direcciones de red.

Direcciones pblicas y privadas El gran aumento del nmero de ordenadores que se conectan a Internet hizo que se tomaran medidas para que no se agotasen las direcciones IP. Para ello se dividi el espacio de direcciones IP en un grupo mayoritario de direcciones pblicas y otro bastante pequeo de direcciones privadas. Las direcciones pblicas se usan para identificar de forma nica y global a los hosts conectados a Internet. Las direcciones privadas por el contrario no podrn ser usadas para la identificacin global y nica de un host en Internet, sino que slo podrn usarse para equipos que no estn conectados de forma directa a Internet. Los routers de los ISP no reenvan nunca paquetes que tengan esas direcciones privadas. Las direcciones reservadas como privadas son: Direcciones de 10.0.0.0 a 10.255.255.255 Direcciones de 172.16.0.0 a 172.31.255.255 Direcciones de 192.168.0.0 a 192.168.255.255

38

Cuando alguno de estos equipos quiere enviar datos a Internet, debe tomar prestada un direccin IP pblica, para conseguirla existen diferentes tecnologas como proxy, NAT (network address translation), PAT (port address translation). Como hemos visto, los ISP (Proveedores de servicios de Internet) son las empresas (Telefnica, ONO, Jazztel, BT, etc.) a las que se asignan las direcciones de Internet en primera instancia. Posteriormente, estos ISP asignan bloques de direcciones de las que poseen a las empresas o particulares que contratan sus servicios. Las direcciones IP estn gestionadas al ms alto nivel por el ICANN (The Internet Corporation for Assigned Names and Numbers), quien adems tiene el trabajo de asignar los nombres de dominio y los nmeros de puertos usados en los protocolos. En concreto en Europa es el registro regional RIPE (Reseaux IP Europeans) el encargado de la asignacin de IPs (http://www.ripe.net/) por delegacin del ICANN. Desde este sitio Web podis acceder a su base de datos y averiguar a quin pertenece una direccin IP concreta. Dentro de las empresas, una vez que al administrador de la red se le ha adjudicado un bloque de direcciones ste puede asignar las direcciones a los equipos de dos formas: Estticamente. Se asigna de forma manual una direccin IP (junto con la mscara correspondiente) al equipo de modo que ste no la pierde a no ser que se le cambie la configuracin. Dinmicamente. Al arrancar el equipo obtiene su configuracin de red de un Servidor DHCP (Dynamic Host Configuration Protocol RFC 2131- ) de forma que, cada vez que se arranque un equipo, se le asigne una direccin IP de forma automtica. La direccin IP asignada al equipo ser escogida entre las que estn libres en ese 39

momento. Esta forma de asignar direcciones IP facilita mucho la configuracin de redes en las que hay muchos equipos. El protocolo IP, adems de lo visto, tambin especifica el formato de los datagramas, as como la forma de fragmentarlos y reensamblarlos, pero no entraremos a explicar estos aspectos. El protocolo de mensajes de control de Internet (ICMP) El protocolo ICMP es usado por los host y los routers para intercambiar informacin sobre la capa de red. Lo ms frecuente son los informes sobre errores. Por ejemplo, el mensaje host de destino inalcanzable es un mensaje ICMP que un router devuelve cuando no puede encontrar el camino hacia el destino especificado. Otras seales importantes en ICMP son echo request, que es una peticin para que un equipo conteste con un paquete de datos igual al que se le enva o echo response que es precisamente la respuesta a un paquete echo request. Estas dos seales se utilizan, por ejemplo, en la implementacin del comando ping, utilizado para saber si un equipo est encendido y funcionando. El encaminamiento en Internet. La capa de red se encarga de encontrar el camino desde el nodo origen hasta el destino. Desde el primer nodo (el host origen) hasta el ltimo, e incluyendo todos los intermedios, se debe hacer una decisin sobre el camino que un paquete debe seguir para dar el siguiente salto. A este proceso se le denomina encaminamiento o routing. Todos los nodos tienen informacin sobre la red en la que estn y la forma en la que deben enviar los paquetes para alcanzar cualquier otra red. Esta informacin se almacena en la denominada tabla de rutas.

40

A modo de ejemplo, la siguiente figura contiene la tabla de rutas del equipo A:


Tabla de rutas equipo A Red destino 192.168.3.0/24 193.146.96.0/24 Prximo router --192.168.3.1 192.168.3.1 Nmero de saltos 1 2 2 Interfaz de salida 192.168.3.52 192.168.3.52 192.168.3.52

192.168.3.52

180.23.5.0/24

192.168.3.101

193.146.96.29

180.23.5.1 192.168.3.17 193.146.96.102 180.23.5.221 180.23.5.24

Fig. 1.9. Tabla de rutas en A

La tabla de rutas del equipo A se leera as: Primera lnea: Si un paquete va dirigido a una interfaz de la red 192.168.3.0/24 no
debe enviarse a ningn router, la interfaz destino se puede alcanzar en un solo salto, y el paquete debe salir por la interfaz 192.168.3.52 del equipo.

Segunda lnea: Si un paquete va dirigido a una interfaz de la red 193.146.96.0/24


ste debe enviarse al router 192.168.3.1, la interfaz destino se puede alcanzar en dos saltos, y el paquete debe salir por la interfaz 192.168.3.52 del equipo.

Tercera lnea: Si un paquete va dirigido a una interfaz de la red 180.23.5.0/24 ste


debe enviarse al router 192.168.3.1, la interfaz destino se puede alcanzar en dos saltos, y el paquete debe salir por la interfaz 192.168.3.52 del equipo.

Respecto a esta informacin se pueden hacer varios comentarios. En primer lugar, vemos que la tabla de rutas nos da informacin de cmo alcanzar las diferentes redes, que aparecen en la primera columna. En la primera fila se habla de cmo alcanzar interfaces de la propia red donde est el equipo A, por lo tanto, no es necesario que el paquete pase por el router, el destino se puede alcanzar directamente. En la segunda lnea vemos que, para alcanzar otra red que no sea la propia, el paquete debe salir hacia el router, que es 41

identificado mediante la IP de la interfaz que el router tiene en la red donde est el equipo A. En cualquiera de los tres casos, el paquete debe abandonar el equipo por la nica interfaz que ste tiene, cosa evidente. La tabla de rutas del host A podra incluso aparecer ms simplificada utilizando la denominada red por defecto. La tabla sera esta:

Tabla de rutas equipo A Red destino 192.168.3.0 0.0.0.0/0 Prximo router --192.168.3.1 Nmero de saltos 1 2 Interfaz de salida 192.168.3.52 192.168.3.52

Fig. 1.9. Formato alternativo para tabla de rutas en A con ruta por defecto.

En este caso, la primera fila tiene e mismo significado que antes, es decir las interfaces de la propia red se alcanzan directamente sin necesidad de que el paquete vaya a ningn router. La segunda lnea, se leera en este caso para cualquier otra red de las no especificadas en la tabla, el paquete debe enviarse al router 192.168.3.1, sacndolo por la interfaz 192.168.3.52 La tabla de rutas tambin puede expresarse aadiendo una columna especfica para la mscara, sin indicarla en formato /24 como en los ejemplos anteriores. En este caso, la misma tabla de rutas que acabamos de ver quedara representada as:

Tabla de rutas equipo A Red destino 192.168.3.0 0.0.0.0 Mscara 255.255.255.0 0.0.0.0 Prximo router --192.168.3.1 Nmero de saltos 1 2 Interfaz de salida 192.168.3.52 192.168.3.52

Fig. 1.10. Formato alternativo de tabla de rutas en A con columna de mscara.

Por ltimo mencionar que, la direccin del router al que hay que enviar todos los paquetes que no van dirigidos a la propia red se denomina puerta 42

de enlace (192.168.3.1 en el ejemplo anterior) y es un dato obligatorio si queremos que el equipo en cuestin pueda comunicarse con otros fuera de la propia red, incluyendo el resto de Internet. Prestemos ahora atencin a la tabla de rutas del router, que se puede ver en la siguiente figura:
Tabla de rutas del router Red destino 192.168.3.0/24 Prximo router ------Nmero de saltos 1 1 1 Interfaz de salida 192.168.3.1 193.146.96.1 180.23.5.1

192.168.3.52

193.146.96.0/24 180.23.5.0/24

192.168.3.101

193.146.96.29

180.23.5.1 192.168.3.17 180.23.5.221 180.23.5.24 193.146.96.102

Fig. 1.11. Tabla de rutas en el router.

En este caso, vemos que el router alcanza todas las redes directamente, ya que tiene una interfaz en cada una. La tabla de rutas dice por qu interfaz debe salir un paquete que va dirigido a una determinada red de las que hay en la tabla. Se indica simplemente por qu interfaz debe salir un paquete del router para alcanzar cualquier equipo de las redes existentes. La direccin del host destino (de su interfaz) est almacenada en el datagrama IP. Para decidir el camino se utiliza la tabla de rutas, comparando esta direccin IP del host de destino con las entradas que hay en la tabla. El proceso de razonamiento que se produce para calcular la ruta es el siguiente. Se hace un AND lgico entre esa IP destino y la mscara de red de la tabla de rutas (expresada en binario, claro est). El resultado se compara con el campo red destino y, si coincide, esa entrada de la tabla

43

de rutas es vlida para alcanzar el destino y nos indica la interfaz por la que hay que enviar el mensaje y cul es el prximo salto (si es que existe). Veamos algunos ejemplos de encaminamiento partiendo de la siguiente figura:
Tabla de rutas equipo A Red destino 192.168.3.0 Mscara 255.255.255.0 Prximo router --Nmero de saltos 1 Interfaz de salida 192.168.3.52

Tabla de rutas del router


Red destino 192.168.3.0 Mscara 255.255.255.0 Prximo router --Nmero de saltos 1 Interfaz de salida 192.168.3.1

0.0.0.0

0.0.0.0

192.168.3.1

192.168.3.52

192.168.3.52

193.146.96.0 180.23.5.0

255.255.255.0 255.255.255.0

-----

1 1

193.146.96.1 180.23.5.1

192.168.3.101

193.146.96.29

180.23.5.1 192.168.3.17
180.23.5.221 180.23.5.24

E
193.146.96.102

Tabla de rutas equipo B


Red destino 192.168.3.0 Mscara 255.255.255.0 Prximo router --Nmero de saltos 1 Interfaz de salida 192.168.3.17

0.0.0.0

0.0.0.0

192.168.3.1

192.168.3.17

Fig. 1.12. Tablas de rutas en equipos A y B y router.

Ejemplo1: Host A enva datos a host B. La IP destino es, por tanto 192.168.3.17. En el host A se hace un AND lgico entre la IP destino (192.168.3.17) y la columna mscara o, lo que es lo mismo, nos quedamos con los 24 primeros bits de la direccin. El resultado se compara con la columna red destino de la fila correspondiente y vemos que coincide para la primera entrada de la tabla de rutas (192.168.3.0). Para alcanzar el destino hay que enviar el mensaje, por tanto, a travs de la interfaz 192.168.3.52 de A (en este caso es la nica que tiene) y no hay prximo salto, esto significa que el destino est en nuestra propia red, no hay que enviarlo a ningn router. Una vez decidido esto, se pedira a la capa de enlace que efecte ese salto hasta la interfaz con IP 192.168.3.17 y el paquete llegar a su destino en un solo salto. 44

Ejemplo2: Host A enva datos a host E. Encaminamiento en A: Se hace un AND lgico entre la IP destino (193.146.96.102) y la columna mscara, al comparar el resultado con la columna red destino de la fila correspondiente vemos que no coincide con la primera entrada (AND lgico de 193.146.96.102 y 255.255.255.0 = 193.146.96.0 192.168.3.0) lo que quiere decir que la interfaz destino no est en nuestra propia red. A continuacin vemos que el AND lgico s coincide para la segunda entrada de la tabla de rutas (AND lgico de 193.146.96.102 y 0.0.0.0 = 0.0.0.0). Por lo tanto, hay que enviar el mensaje a travs de la interfaz 192.168.3.52 de A hacia el router 192.168.3.1 (prximo salto). Una vez decidido esto, se pedir a la capa de enlace que efecte ese salto desde la interfaz 192.168.3.52 a la 192.168.3.1, con lo que el paquete llegar al router. Encaminamiento en el router: Una vez que el paquete llega al router, debe decidirse de nuevo por qu interfaz debe salir para seguir su camino hacia su destino. El paquete que el router recibe entrando por la interfaz 192.168.3.1 es procesado hasta localizar la IP de destino del mismo, que seguir siendo la del equipo C (193.146.96.102). Se hace un AND lgico entre esa IP destino (193.146.96.102) y la columna mscara, al comparar el resultado con la columna red destino de la fila correspondiente vemos que coincide para la segunda entrada de la tabla de rutas. Por lo tanto hay que enviar el mensaje a travs de la interfaz 193.146.96.1. Adems, podemos comprobar que no hay prximo router, es decir, que el router tiene esa interfaz en la propia red donde est el ordenador destino. La capa de red del router entonces hace la peticin a la de enlace para que efecte ese salto y el paquete alcance finalmente su destino.. Hemos visto que la tabla de rutas es un elemento fundamental para decidir el camino que tienen que seguir los mensajes en la red, pero cmo se construye la tabla de rutas en un router? La ruta por defecto la tiene que 45

configurar el administrador de red. El resto se introducen a partir de los protocolos de routing (RIP, OSPF) que se ejecutan en los routers, mediante los cuales los routers intercambian informacin sobre las redes que alcanzan y cmo las alcanzan. Subnetting Existen diversas razones para que una empresa necesite dividir una red grande en varias redes pequeas: Por introducir un nuevo tipo de red fsica. Por tener que dividir la red local en dos o ms por crecer el nmero de host demasiado. La separacin de la red en varias facilita la administracin y mejora la velocidad de transmisin de datos. Por tener que salvar grandes distancias, teniendo la necesidad de dividir la red en dos unindolas mediante routers. Si tenemos una red grande, por ejemplo 150.221.0.0/16, para evitar tener que pedir direcciones adicionales cuando queramos crear nuevas redes, se introdujo el concepto de subnetting. Mediante esta tcnica, algunos bits de la parte correspondiente a la identificacin del host en el nmero IP se usan para distinguir la nueva subred. En este nmero de red: 150. 221. 0. 0

10010110 11011101 00000000 00000000 La parte correspondiente a la red es: 10010110 11011101 Mientas que la parte correspondiente a equipos es: 00000000 00000000 Esta red podra tener como hosts equipos con los nmeros desde el: 150.221.0.1 46

10010110 11011101 00000000 00000001 hasta el: 150.221.255.254 10010110 11011101 11111111 11111110 es decir, 65534 hosts. Mediante la tcnica del subnetting, la empresa podra decidir dividir esta red en varias, usando por ejemplo los dos bits ms significativos de la parte correspondiente al host para identificar a la subred. De este modo se tendran cuatro posibles subredes: 150.221.0.0 10010110 11011101 00 000000 00000000 150.221.64.0 10010110 11011101 01 000000 00000000 150.221.128.0 10010110 11011101 10 000000 00000000 150.221.192.0 10010110 11011101 11 000000 00000000 La mscara de subred para cada una de estas nuevas redes sera la siguiente, expresada en los tres formatos conocidos: 11111111 11111111 11000000 00000000 255. /18 Cada router interno de la empresa debe utilizar esta mscara para decidir el camino por el que mandar los paquetes. Cada una de estas redes tendra 14 bits para identificar al host, por lo que cada subred podra contar ahora con con: 2^14-2 = 16382 255. 192. 0

47

En total (entre las cuatro redes), se direccionaran: 4*16382 = 65528 equipos Los rangos numricos para los hosts de cada una de las cuatro redes seran: Red 1: 150.221.0.1 a 150.221.63.254 Red 2: 150.221.64.1 a 150.221.127.254 Red 3: 150.221.128.1 a 150.221.191.254 Red 4: 150.221.192.1 a 150.221.255.254 La decisin de hacer subnetting la toma el administrador de la red de la empresa y la configuracin es vlida dentro de la empresa solamente. 1.12. La capa de enlace. La capa de red proporciona un servicio de comunicacin entre dos hosts. Esta comunicacin comienza en el host origen, atraviesa una serie de routers y termina en el host destino. Decide en cada nodo el camino que tienen que seguir los mensajes (los paquetes) pero no los mueve, es la capa de enlace la encargada de mover el mensaje entre dos nodos consecutivos a travs del medio o enlace que los une (cable coaxial, par trenzado de cobre, fibra ptica, aire, etc). Servicios proporcionados por la capa de enlace El protocolo de la capa de enlace define el formato de las unidades de datos intercambiados entre los nodos que se encuentran en los extremos de ese enlace, as como las acciones llevadas a cabo por esos nodos cuando envan y reciben estos datos. A las unidades de datos intercambiadas por las capas de enlace se las denomina frames. Algunos ejemplos de protocolos de la capa de enlace son: Ethernet, Token Ring, FDDI, PPP, 802.11(inalmbrico). 48

En su camino desde el host origen al destino, un datagrama puede ser transportado en cada enlace por una tecnologa y unos protocolos diferentes, que pueden ofrecer un mayor o menor nmero de servicios. Los servicios que puede ofrecer la capa de enlace son: Empaquetado de los datos en frames y acceso al enlace. Un frame es el datagrama de la capa de red con unas cabeceras aadidas. El acceso al medio tiene sentido cuando el enlace es usado por ms equipos que los dos que estn comunicndose, ya que, en este caso, las seales fsicas de dos o ms mensajes pueden interactuar y ser daadas. En el caso de una conexin punto a punto entre dos equipos, el enlace est dedicado a esos dos equipos y el servicio de acceso al medio carece de uso. Entrega fiable. Este servicio garantiza que el frame se mueve de un nodo a otro del enlace sin errores. Esto se consigue mediante acuses de recibo (ACK) y retransmisiones. Este servicio slo es til en enlaces con alto nivel de error, como los enlaces inalmbricos, donde es preferible corregir el error en el enlace en vez de en los extremos, ya que de otro modo se estaran retransmitiendo muchos frames con errores. Sin embargo, los protocolos ms populares de la capa de enlace no proporcionan dicho servicio, ya que los enlaces de fibra ptica, cable coaxial y los actuales cables de cobre. Ethernet, por ejemplo, no proporciona este servicio. Control del flujo. Los nodos en los extremos del enlace tienen una capacidad limitada de almacenamiento de frames. Esto puede ser un problema si un nodo recibe frames a una velocidad mayor que la que puede procesar durante un periodo de tiempo. Los frames se perderan. Deteccin de errores. Correccin de errores.

49

Servicio half-duplex y full-duplex. En el modo full-duplex, los dos nodos de los extremos del enlace pueden transmitir frames al mismo tiempo. En el modo half dplex la comunicacin puede ser en ambos sentidos, pero no al mismo tiempo.

Los servicios proporcionados por la capa de enlace son conceptualmente similares a los proporcionados por la capa de transporte. La diferencia es que en el caso de la capa de transporte, estos servicios se proporcionan a los procesos de la capa de aplicacin en los extremos de la red, mientras que los servicios de la capa de enlace se proporcionan a los nodos directamente conectados por un enlace. La mayora de las funciones que realiza la capa de enlace se implementan en el adaptador de red (denominada tarjeta de red en los ordenadores). Un adaptador es una tarjeta que contiene RAM, chips de proceso de seales, una interfaz que comunica con el medio y un bus que comunica la interfaz con el host. A los adaptadores tambin se los denomina tarjetas de interfaz de red (NIC). El adaptador es una unidad semiautnoma, en l se implementan todos los servicios de la capa de enlace. Es el adaptador el que decide si se pasan los frames a la capa de red para su procesamiento, de esta forma, se pueden descartar paquetes que directamente se sabe que no hay que procesar, evitando el pasarlo a capas superiores con el consiguiente gasto de tiempo de procesamiento (de la capa de red hacia arriba todo se hace por software ya). No es una unidad totalmente autnoma ya que comparte la alimentacin y algunos buses con el host. Protocolos de la capa de enlace Deteccin de errores. Se usan principalmente tres tcnicas de deteccin de errores: 50

Control de paridad. Mtodos de suma de comprobacin. Control de redundancia cclica (CRC).

Protocolos de acceso mltiple y LANs Hay dos tipos de enlace de red: Enlaces punto a punto. Enlaces broadcast.

Un enlace punto a punto tiene un solo emisor y un solo receptor. Ejemplos de protocolos de la capa de enlace para enlaces punto a punto son PPP y HDLC. Un enlace broadcast puede tener mltiples emisores y receptores, todos conectados al mismo canal compartido (canal broadcast). El trmino broadcast se usa porque cuando un nodo transmite un frame, el canal difunde el frame a todos y cada uno del resto de los nodos. Ethernet es la tecnologa para enlace broadcast ms ampliamente usada. El problema en un enlace broadcast es la coordinacin del acceso al medio (tambin llamado problema de acceso al medio), ya que todos los equipos conectados usan el mismo enlace. Ms de dos nodos pueden transmitir frames al mismo tiempo. Cuando esto ocurre, los frames pueden colisionar, por lo que las seales de estos frames se distorsionan y ya no pueden ser entendidas por los receptores. Todos los frames envueltos en la colisin se pierden y la capacidad del canal en ese instante se desaprovecha, necesitndose los consiguientes reenvos de los mismos datos. Por esta razn, cuando varios nodos van a transmitir a un tiempo, es necesario controlar el momento en que cada uno puede o no transmitir, de esto se encargan los protocolos de acceso mltiple.

51

Los protocolos de acceso mltiple se pueden clasificar como pertenecientes a una de estas tres categoras: Protocolos de particin del canal. Protocolos de acceso aleatorio. Protocolos de toma de turnos.

Dentro de los protocolos de particin del canal, podemos encontrar TDM (Multiplexacin por divisin en el tiempo), FDM (Multiplexacin por divisin en frecuencia) y CDMA (Multiplexacin por divisin de cdigo). Estos protocolos consisten en repartir el ancho de banda del canal asignando un trozo a cada comunicacin. No es muy eficiente. El acceso aleatorio consiste en que un nodo, cuando transmite, lo hace con todo el ancho de banda del canal. Cuando hay una colisin, cada nodo implicado en la colisin retransmite el frame despus de un periodo de tiempo aleatorio. Hay muchos protocolos de acceso aleatorio, los ms conocidos son ALOHA, CSMA (Carrier Sense Mltiple Access, es el usado en Ethernet), etc. CSMA detecta si hay alguien transmitiendo por el canal antes de empezar una transmisin, minimizando (aunque no eliminando completamente) la posibilidad de colisiones. Cuando el protocolo CSMA incorpora la posibilidad de detectar las colisiones se le denomina CSMA/CD (Collision Detection). Un ejemplo de protocolo de toma de turno es Token Passing Protocol, usado en Token Ring. Aunque fue bastante utilizado en el pasado, actualmente ha desaparecido en la prctica, por lo que no veremos nada sobre el mismo. ARP Como se ha dicho en el apartado dedicado a la capa de red, la capa de enlace es la que se encarga de mover el paquete de una interfaz a la siguiente. Para hacer esto, cada interfaz tiene, a nivel de enlace una 52

direccin denominada direccin fsica. Mediante esta direccin, cada interfaz de red es capaz de decidir si un determinado paquete es para ella o no. El frame (que es el nombre que recibe el paquete a nivel de la capa de enlace) debe entonces tener un campo dedicado a introducir la direccin fsica de la interfaz de destino. Cuando una interfaz detecta que la direccin fsica de destino coincide con la suya sabe que el frame es para ella y que, a continuacin, debe subir ese frame hacia la capa de red para que siga siendo. En el caso de que la direccin fsica de destino no coincida con la direccin fsica de la interfaz en cuestin, el frame es descartado. Direcciones Fsicas La direccin fsica no pertenece al nodo, sino al adaptador. A la direccin fsica tambin se la denomina direccin LAN (Local Area Network), direccin Ethernet MAC (Media Access Control). Estas direcciones se componen de un nmero de 6 bytes de longitud, dando 2^48 direcciones fsicas posibles. Estos 6 bytes son tpicamente expresados en notacin hexadecimal y agrupados por pares (por ejemplo 00-11-1D-48-DD-09). Una direccin fsica es permanente. Cuando se fabrica un adaptador, la direccin LAN se graba en la ROM del adaptador. No hay dos adaptadores que tengan la misma direccin fsica. Para asegurar esto, la direccin fsica est formada por una parte (24 bits) correspondiente al cdigo del fabricante y otra al nmero de la tarjeta de entre las de ese fabricante. El control de estos nmeros lo gestiona el IEEE. Las direcciones fsicas tienen una estructura plana, al contrario que las IP (que tenan una parte de direccin de red y otra de host), por lo que un equipo que se lleve de una red a otra no deber cambiar el adaptador (al contrario que en el caso de las IP, que debe ser cambiada si se cambia de red al equipo).

53

Cuando se quiere que un frame sea procesado por todos los nodos conectados al enlace debe enviarse con una direccin fsica especial denominada direccin broadcast, que es FF-FF-FF-FF-FF-FF. Cuando un nodo detecta un paquete con esta direccin fsica de destino, lo procesa como si fuese dirigido a l, subindolo a las capas superiores del protocolo. El uso de direcciones fsicas complica el proceso de transmisin de datos, introduciendo nueva complejidad, ya que el paquete que viaja por la red lleva asociada la direccin IP de destino, pero no la direccin fsica que corresponde al adaptador de esa direccin IP de destino. Deber existir, por tanto, un mecanismo para poder averiguar la direccin fsica de destino a partir de la IP, tal como se describir en el siguiente apartado. Pero la pregunta que surge inmediatamente es: Por qu no se usa la direccin IP solamente en vez de la fsica? Address Resolution Protocol (ARP) Debido a la existencia de las direcciones IP y fsica, existe la necesidad de tener un mecanismo de traduccin entre ambas. En Internet, este trabajo lo realiza el protocolo ARP. Cada host y router, en su capa de enlace, debe implementar el protocolo ARP. Para las siguientes explicaciones utilizaremos la siguiente figura, donde aparece la direccin IP y la direccin fsica para cada interfaz de la red de rea local:

54

192.168.3.52

192.168.3.101

192.168.3.17

Fig. 1.13. Direcciones IP y direcciones fsicas en una LAN.

Si el nodo de arriba (el A) quiere enviar un paquete al nodo de abajo (el B), tal como vimos en el ejemplo de la capa de red, decidir, consultando la tabla de rutas, que la interfaz de destino (192.168.3.17) est en su propia red y, por lo tanto, la puede alcanzar directamente sin pasar por ningn router intermedio. En ese momento, la capa de red pide a la de enlace ese servicio. La capa de enlace debe entonces transmitir el frame al nodo de abajo (192.168.3.17), para lo cual necesita saber la direccin fsica de la interfaz del nodo destino. Cmo determina el nodo de arriba la direccin fsica del nodo de abajo? El equipo A (192.168.3.52) le pasa al mdulo ARP la direccin IP de destino: (192.168.3.17) y el mdulo ARP devuelve la direccin fsica de la interfaz de este nodo, entonces, se enva el frame con la direccin fsica de destino correcta aadida al mismo. Este frame es detectado por todas las interfaces que estn conectadas al medio compartido, pero slo la interfaz cuya direccin fsica coincida con la direccin fsica de destino procesar el frame. Pero, cmo funciona ARP?, es decir, cmo se produce esa conversin entre direccin IP y direccin fsica? El mdulo ARP del nodo tiene en RAM una tabla denominada tabla arp. Esta tabla contiene el mapeo de direcciones IP a direcciones fsicas:

55

IP address 192.168.3.101 192.168.3.1

LAN address 2E-44-CC-13-89-A5 AA-1E-55-B5-31-C5

TTL 13:45:00 13:52:00

Fig. 1.14. Tabla ARP

Para cada direccin mapeada, la tabla contiene una entrada de tiempo de vida (TTL), que indica cundo ser borrada la entrada de la tabla. La tabla no contiene necesariamente una entrada para cada nodo de la LAN. Algunos nodos pueden haber tenido entradas que hayan caducado, otros puede que nunca hayan sido introducidos, lo que quiere decir que la tabla se crea y cambia dinmicamente. Supongamos, como en el ejemplo, que el nodo 192.168.4.57 quiere enviar un datagrama a otro nodo de la LAN. Si en la tabla ARP de este nodo origen existe una entrada para el nodo destino, se coge el valor correspondiente a esa direccin fsica y se introduce en el frame y se enva. Si no existe la entrada para el nodo destino, el nodo construye un paquete especial ARP que incluye la IP y la direccin fsica del nodo emisor, as como la IP del nodo destino. Este paquete se enva con la direccin fsica de destino de broadcast (FF-FF-FF-FF-FF-FF), de forma que todos los nodos lo procesen. Cuando un nodo recibe este frame, compara su IP con la IP destino que viene en el frame, no realizando ninguna accin si estos dos valores no coinciden; de esta forma, slo el nodo que tenga la IP que viene en el frame contestar al emisor con un frame ARP con un formato parecido en el que incluye su propia direccin fsica. De este modo, el nodo emisor ya conoce la direccin fsica del nodo destino y puede enviar los datos. Adems, el nodo emisor introduce en la tabla ARP el dato que ha conseguido de forma que si hay envos al mismo destino ya no tendr que realizar todo el proceso de nuevo. La tabla siguiente sera la resultante de haber resuelto mediante ARP la direccin fsica del equipo B:

56

IP address 192.168.3.101 192.168.3.1 192.168.3.17

LAN address 2E-44-CC-13-89-A5 AA-1E-55-B5-31-C5 CC-DD-11-50-7A-32

TTL 13:45:00 13:52:00 14:00:25

Fig. 1.15. Tabla ARP con nueva entrada aprendida.

Hay un par de cosas interesantes a destacar: El mensaje de consulta de ARP se enva en un frame broadcast, mientras que el de respuesta es un frame unicast (va dirigido al emisor). El protocolo ARP funciona de forma automtica, no necesitando ser configurado por el administrador. En este ejemplo, se ha enviado un datagrama a otro equipo de la misma LAN donde est el emisor. El datagrama llevaba una direccin IP de destino. El nodo emisor detect que esa IP corresponda a un equipo que se encontraba en su misma red (consultando la tabla de rutas) y que por lo tanto poda ser alcanzado directamente a travs del medio compartido, sin enviar el datagrama a ningn router intermedio. Por lo tanto, al poder alcanzar el equipo destino directamente, el nodo emisor debe usar la direccin fsica del nodo destino y enviar el paquete, para esto usaba ARP. Ahora, supongamos que queremos enviar un datagrama a un nodo fuera de la LAN. Utilizaremos la siguiente imagen para discutir el proceso:

57

193.146.96.2
1E-44-5F-D1-22-70

193.146.96.3
AA-BB-C2-48-3E-11

216.239.35.100

192.168.3.52

Internet

2A-5C-6F-77-15-CC

192.168.3.101

192.168.3.17

Fig. 1.16. Ruta de un mensaje desde una LAN hasta www.google.com

Por ejemplo, supongamos que desde el equipo A (192.168.3.52) se ejecuta un comando ping a www.google.com (216.239.35.100). Veamos el proceso completo de esta comunicacin. El equipo emisor, consultando su tabla de rutas, detecta, comparando la direccin IP de destino con las de la tabla, que este destino no est en su propia red, por lo que debe mandar el datagrama al router de salida (a su puerta de enlace). En la tabla de rutas, averigua la direccin IP de la interfaz del router de salida: 192.168.3.1. Por lo tanto, el equipo emisor debe enviar el datagrama a 192.168.3.1. Esta interfaz s pertenece a la LAN donde est el equipo A, por lo que el equipo puede enviar el frame de forma directa, de lo que se encarga la capa de enlace de A. Para hacer esto, necesita averiguar la direccin fsica para el interfaz 192.168.3.1. Se resuelve entonces la direccin fsica mediante ARP y se enva el frame a la direccin fsica AA-1E-55-B5-31-C5. Es importante tener claro que dentro del frame, el datagrama sigue llevando la direccin IP del destino (la de www.google.com, 216.239.35.100) y que la direccin 192.168.3.1 slo la usa el equipo emisor para preguntar la direccin fsica la interfaz de red del router de salida de la LAN.

58

Una vez que el frame llega a la interfaz 192.168.3.1 del router, ste extrae el datagrama, pasndolo a la capa IP, aqu es donde el router utiliza su tabla de rutas para detectar cual es el siguiente router en el camino. Para hacer esto, utiliza la direccin IP de destino que va en el datagrama (216.239.35.100). Una vez consultada la tabla de rutas, el router tiene dos informaciones: La direccin IP de la interfaz del siguiente router al que debe mandar el datagrama. En el ejemplo ser 193.146.96.3. La interfaz del propio router por donde debe mandar este datagrama para alcanzar la interfaz encontrada en el punto anterior. En el ejemplo esta interfaz ser 193.146.96.2. Entonces, el router pasa el datagrama a la capa de enlace de la interfaz encontrada (193.146.96.3). Esta interfaz est directamente conectada a la interfaz correspondiente al siquiente router en el camino. Esta interfaz resuelve mediante ARP la direccin fsica de la interfaz destino, empaqueta el datagrama en un frame con esta direccin fsica (AA-BB-C2-48-3E-11) y lo enva. De nuevo, internamente, el datagrama sigue llevando la IP de destino final (216.239.35.100). Este proceso se repite en todos los routers intermedios hasta que el datagrama llega al ltimo router. El ltimo router tendr una de sus interfaces conectada directamente al mismo medio que el equipo final (216.239.35.100). Cuando el datagrama llega a este router, al consultar la tabla de rutas, se llega a la conclusin de que el destino se puede alcanzar directamente a travs de la LAN a la que est conectada una interfaz del router. Se le pasa el datagrama a esa interfaz (216.239.35.1) y es esa interfaz la que, por medio de ARP resuelve la direccin IP de destino (216.239.35.100) a la correspondiente direccin fsica (2A-5C-6F-77-15-CC) y enva el frame al equipo final.

59

El paquete ha llevado siempre la misma direccin IP destino, que ha sido utilizada por los protocolos de la capa de red para decidir el siguiente salto que debe dar ese paquete. Para dar esos saltos, las capas de enlace de cada interfaz por donde el paquete ha ido saliendo, ha tenido que ir resolviendo la direccin IP de la siguiente interfaz a la correspondiente direccin fsica. Es muy importante tener claro este funcionamiento.

60

También podría gustarte