Anda di halaman 1dari 4

Operacion y Administracion de Redes TCP/IP bajo Unix: Administracin ...

http://www.investigacion.frc.utn.edu.ar/labsis/Publicaciones/AdminTcp/...

Administracin de una red TCP/IP

Contenidos TCP/IP: una familia de protocolos Arquitectura de TCP/IP Transmitiendo los paquetes Multiplexacin: Puertos y Sockets En resumen...

TCP/IP: una familia de protocolos8 TCP/IP es un conjunto de protocolos de comunicaciones desarrollado para permitir a un conjunto de computadoras cooperar y compartir recursos a travs de una red de comunicaciones. De entre sus muchas caractersticas, hay dos que lo han transformado en uno de los protocolos de mayor difusin:

Es un standard abierto, diseado independientemente de plataformas de hardware y software especficas. As, TCP/IP es ideal para interconectar sistemas mas all de lo diferentes que stos sean. Es independiente de la tecnologa fsica que se utilice para construir la infraestructura de la red. TCP/IP puede montarse sobre Ethernet, Token-Ring, enlaces seriales telefnicos (dial-up links), redes X.25, y virtualmente cualquier otro medio fsico de transmisin de datos. Arquitectura de TCP/IP La familia TCP/IP est formada por mltiples protocolos de diferentes propsitos. Algunos de ellos, tales como IP, TCP y UDP constituyen el mecanismo bsico de transmisin de datos, y sern utilizados por todas las aplicaciones. Otros protocolos permiten realizar tareas mucho ms especficas, tales como transferir archivos entre computadoras (FTP), obtener pginas o documentos de la Web (HTTP), o sincronizar la hora desde otro equipo (XNTP). Cualquier aplicacin real utilizar varios de esos protocolos. Un caso tpico es el envo de correo electrnico. En primer lugar, existe un protocolo para enviar y recibir correo electrnico (denominado SMTP), que define una serie de comandos que una mquina enva a la otra cuando requiere transferirle un mensaje. Esos comandos permiten especificar quien es el autor del mensaje, a quien va dirigido y cual es el texto a enviar. Sin embargo, ese protocolo (como todos los otros protocolos de aplicacin) asume que hay alguna manera confiable para comunicar datos entre ambas computadoras, limitndose simplemente a definir a muy alto nivel los comandos necesarios para manejar la transmisin, pero no los detalles acerca de como va a efectivizarse la misma. Dichos detalles son dejados en manos de alguno de los protocolos de menor nivel, llamados protocolo de transporte: TCP o UDP. SMTP utiliza a TCP como protocolo de transporte. TCP es responsable de asegurar que los comandos trasmitidos lleguen al otro extremo de la comunicacin, contabilizando qu ha sido transmitido ya y retransmitiendo toda informacin que no haya llegado exitosamente a destino. Si la informacin a transmitir es demasiado larga, TCP la segmentar en varios paquetes que se transmitirn individualmente. Obsrvese que esta funcionalidad se requiere para muchas aplicaciones; es por ello que conforma un protocolo independiente en vez de formar parte de la especificacin de protocolos como SMTP. Desde el punto de vista del programador, TCP es una librara de rutinas que las aplicaciones utilizan cuando necesitan comunicaciones confiables con otra computadora a travs de la red. De manera similar, TCP utiliza los servicios de IP para efectivamente desplazar los paquetes alrededor de la red. IP constituye un protocolo de red, y es el encargado de determinar que rutas debern seguir los paquetes para llegar al punto de destino desde el punto de origen. Nuevamente, IP se presenta como una librera que utilizan protocolos de transporte como TCP al momento de enviar la informacin. Esta estrategia para construir protocolos en varios niveles se denomina diseo estratificado (o layering). Consiste en considerar a las aplicaciones, a TCP y a IP como diferentes capas, cada una de las cuales hace uso de los servicios ofrecidos por la capa inmediatamente inferior. En general, la arquitectura de las aplicaciones basadas en TCP/IP presentan 4 capas:

Un protocolo de aplicacin, para tareas especficas (por ejemplo, correo electrnico) Un protocolo de transporte, que provee servicios de extremo a extremo (como TCP o UDP) El protocolo de red IP, que provee el encaminamiento de los paquetes a su destino final Un protocolo de enlace fsico, que provee acceso al medio fsico de transmisin (por ejemplo, Ethernet o X.25)

Transmitiendo los paquetes A fin de ejemplificar el proceso completo, supongamos que se desea transmitir un archivo de 15000 bytes. El protocolo de aplicacin especializado en transferencia de archivos proporciona al protocolo de transporte el contenido del archivo a transmitir. La mayora de las redes no pueden manejar paquetes de 15000 bytes, por lo que el archivo ser segmentado en, digamos, 30 paquetes de 500 bytes cada uno, que entrega al protocolo de red para que sean enviados individualmente al otro extremo de la comunicacin. All, los paquetes se reunirn para reensamblar el archivo original. Sin embargo, mientras los paquetes estn en trnsito, la red no sabr que existe algn tipo de relacin entre ellos9. Es tambin posible que el paquete nmero 15 llegue antes que el 14, o que algunos paquetes se pierdan en el camino y deban ser retransmitidos. Todas estas tareas (segmentacin, retransmisin y reensamblaje) son llevadas a cabo por TCP (abreviatura de Transmission

1 de 4

11/09/2009 19:09

Operacion y Administracion de Redes TCP/IP bajo Unix: Administracin ...

http://www.investigacion.frc.utn.edu.ar/labsis/Publicaciones/AdminTcp/...

Control Protocol, o Protocolo de Control de Transmisin), mientras que el ruteo de paquetes individuales es responsabilidad de IP (abreviatura de Internet Protocol, o Protocolo de Inter-redes). A simple vista podra parecer que TCP es quien hace todo el trabajo, sin embargo, el rutear un paquete desde el origen hacia su destino puede ser una tarea muy compleja. TCP/IP asume que la red est formada por un gran numero de redes independientes, interconectadas entre si por dispositivos denominados gateways10, proporcionando al usuario la capacidad para acceder a recursos ubicados en cualquiera de esas redes, independientemente de su dispersin geogrfica11. Los paquetes frecuentemente atravesarn numerosas redes para llegar a su destino, pero el ruteo requerido para ello deber ser totalmente invisible para el usuario final. Todo lo que el usuario debe conocer es la direccin IP del punto de destino, un nmero que identifica unvocamente a cada computadora dentro de la inter-red. As, TCP entrega los paquetes a IP especificndole simplemente la direccin IP de destino hacia donde debe enviarlos. Queda en manos de IP determinar la mejor ruta para que la entrega se haga efectiva. Dicha ruta (continuando con el ejemplo anterior, y en el contexto de la estructura de la red de la UTN Facultad Crdoba), podra implicar que cada paquete tenga que atravesar varios segmentos de LAN Ethernet dentro de la UTN FC, un enlace de microondas hasta el nodo de conexin a Internet, otro hasta algn telepuerto en Buenos Aires desde donde se establece una conexin satelital hacia los EEUU, y as sucesivamente hasta llegar a la red de destino, en donde deber ser ruteado internamente hasta la computadora de destino. Finalmente, para transmitir cada paquete, IP utiliza el protocolo de enlace fsico que conoce las particularidades para acceder al medio fsico de transmisin (por ejemplo, una placa de red Ethernet). Multiplexacin: Puertos y Sockets En los prrafos anteriores se ha descripto el proceso para transferir informacin a lo largo de una conexin TCP/IP. Sin embargo, en un momento dado podran existir, entre las computadoras de origen y destino, mltiples conexiones ocurriendo simultneamente; pensemos, por ejemplo, en varios usuarios abriendo sesiones remotas o transfiriendo simultneamente archivos o correo electrnico entre dos mquinas de la red. Claramente, no es suficiente lograr que los paquetes lleguen al destino correcto; es necesario adems poder discriminar a cual conexin pertenecen de las mltiples conexiones simultneas que pueden existir en un momento dado. Para identificar cada conexin, TCP asigna un nmero de puerto a cada una. Supongamos que tres personas estn transfiriendo archivos entre dos computadoras. TCP asignara un nmero de puerto a cada transferencia, por ejemplo, 1000, 1001 y 1002. Todos los paquetes que se enven como parte de una misma conexin tendrn asignado ese nmero como puerto de origen. El nmero de puerto de origen permite tambin establecer una correspondencia directa entre una conexin de red y el programa de usuario que interviene en uno de los extremos de la conversacin. En el otro extremo, habr otro programa que recibe los datos transmitidos, que tambin deber poder asociarse a dicha conexin. Esa asociacin se hace por medio del puerto de destino que TCP asigna a cada paquete que transmite. Cuando un programa de usuario (conocido como proceso cliente) abre una conexin de red por medio de TCP, se le asigna (mas o menos al azar) un nmero de puerto. Ese programa asume que en la otra computadora estar en ejecucin otro programa (conocido como proceso servidor o, en la jerga Unix, demonio de red) que espera recibir peticiones desde la red. Cuando ese programa fue iniciado, su capa TCP le asign tambin un nmero de puerto. Obviamente, el nmero de puerto que se asigne a procesos servidores no puede ser aleatorio, ya que sera imposible para los clientes saber que nmero especificar como puerto de destino. Los procesos servidores se asocian, entonces, con nmeros de puerto fijos (llamados "nmeros bien conocidos" -- "well-known numbers"), mientras que los procesos cliente obtienen nmeros de puertos aleatorios al iniciar las conexiones12. Obsrvese que una conexin de red puede entonces identificarse unvocamente por medio de un conjunto de 4 nmeros: las direcciones IP de ambos extremos y los nmeros de puerto de origen y destino. Para el caso de las tres transferencias de archivos que se ponan como ejemplo mas arriba, si las direcciones IP de las maquinas de origen y destino son 172.16.10.150 y 172.16.8.123, y la transferencia se hace utilizando el protocolo FTP (que tiene asignado el nmero de puerto 21), cada conexin se puede identificar de la siguiente manera:

Conexin 1

Direccin IP: 172.16.10.150 Puerto: 1000 Direccin IP: 172.16.10.150 Puerto: 1001 Direccin IP: 172.16.10.150 Puerto: 1002

Direccin IP: 172.16.8.123

Puerto: 21
Direccin IP: 172.16.8.123

Conexin 2

Puerto: 21
Direccin IP: 172.16.8.123

Conexin 3

Puerto: 21

No pueden existir dos conexiones que compartan el mismo conjunto de nmeros, pero es suficiente con que al menos uno sea diferente. En el ejemplo anterior, en donde tres usuarios transfieren archivos entre dos computadoras, dado que las computadoras involucradas en cada transferencia son las mismas, las direcciones IP son iguales para cada conexin y todos realizan transferencias va FTP, por lo que el puerto de destino para las tres conexiones es el 21. Lo nico que difiere es el nmero de puerto de origen, que permite diferenciar a los tres usuarios. Cada par formado por una direccin IP y un nmero de puerto se denomina socket (enchufe), por lo que una conexin TCP puede verse como un canal virtual a travs de una red, "enchufada" a un socket en cada extremo. Por otra parte, el utilizar un nico canal de comunicaciones para combinar mltiples conexiones de datos se denomina multiplexacin; la informacin que arriba desde la red debe ser demultiplexada a fin de que cada mdulo de software reciba los paquetes que le corresponden.

2 de 4

11/09/2009 19:09

Operacion y Administracion de Redes TCP/IP bajo Unix: Administracin ...

http://www.investigacion.frc.utn.edu.ar/labsis/Publicaciones/AdminTcp/...

De hecho, hay varios niveles de multiplexacin en TCP/IP. Por una parte, TCP la utiliza para mantener mltiples conexiones, tal como se describi previamente. Por otra parte, sin embargo, existen otros protocolos (como UDP e ICMP) que utilizan IP como un medio para distribuir paquetes a lo largo de la red. Cuando IP recibe paquetes entrantes desde la red, debe poder determinar a cual protocolo de mayor nivel pasar el paquete. Esto constituye tambin otra forma de demultiplexacin, y se realiza por medio de la asignacin a cada paquete, por parte del IP de origen, de un numero de protocolo. Dicho nmero tiene un rol similar al nmero de puerto, con la diferencia de que no identifica conexin sino el protocolo de transporte que est administrando esa conexin. El proceso de multiplexacin y demultiplexacin de TCP/IP se esquematiza en la siguiente figura:

En resumen...

Una red TCP/IP est formada por mltiples redes interconectadas por medio de gateways. Dichos gateways pueden ser dispositivos fsicos especializados (llamados routers) o bien computadoras con mltiples adaptadores de red (llamados multihomed hosts) Cada una de esas redes estar formada por mquinas individuales (los hosts de la red) o por subredes interconectadas. Cada mquina de la red recibir un identificador numrico nico, llamado direccin IP. Las computadoras de la red ejecutarn aplicaciones que establecern comunicaciones entre ellas por medio de protocolos como TCP UDP, los cuales utilizarn el protocolo IP para rutear paquetes de informacin entre el origen y el destino. Algunas computadoras de la red ofrecern servicios a las dems, establecindose relaciones de tipo cliente/servidor entre ellas. Los roles de cliente y servidor no son excluyentes; una misma maquina puede al mismo tiempo ser cliente y servidor. Mas aun, podra ocurrir que la relacin cliente/servidor se d entre dos procesos ejecutndose en la misma mquina. Los procesos servidores reciben peticiones desde la red, usualmente "escuchando" en puertos fijos de TCP (llamados nmeros bien conocidos). Los clientes, por otra parte, utilizan puertos TCP asignados mas o menos al azar al iniciar la conexin. El par formado por una direccin IP y un nmero de puerto se denomina socket. Una conexin puede identificarse unvocamente por el par de sockets correspondientes al nodo de origen y al de destino. 8. Adaptado principalmente de un articulo de Charles Hedrick (Rutgers Univ., New Brunswick, N.J.) publicado en los newsgroups de Internet el 28 de Junio de 1987, y de otras fuentes mencionadas en la Bibliografa. 9. Ms an, la red ni siquiera sabe que los paquetes conforman un archivo. 10. En la jerga TCP/IP se denomina gateways a dispositivos que estn conectados a mas de una red, y ofrecen capacidad para rutear paquetes entre esas redes. Es decir, se trata de ruteadores (dispositivos de nivel OSI 3) y no estrictamente de gateways (dispositivos de nivel OSI superiores, capaces de hacer transformaciones de protocolos, formatos, codificaciones, etc.) 11. De hecho, el trmino internet (con i minscula) proviene de internetwork y se refiere a un conjunto de redes interconectadas. No debe confundirse con Internet (con I mayscula), que se refiere a la red de redes de alcance global. 12. No es necesario que un proceso cliente obtenga un "numero bien conocido" ya que nadie est tratando de encontrarlo; por el contrario, es necesario que los servidores tengan esos nmeros a fin de que los clientes puedan conectarse a ellos.

3 de 4

11/09/2009 19:09

Operacion y Administracion de Redes TCP/IP bajo Unix: Administracin ...

http://www.investigacion.frc.utn.edu.ar/labsis/Publicaciones/AdminTcp/...

4 de 4

11/09/2009 19:09