Está en la página 1de 21

7 Unix e Internet

Programacin II

Ing. Diego J. Arcusin info@digikol.com.ar

Introduccin
UNIX ocupa un lugar especial en el mundo de las redes en general, y en el mundo de Internet en particular, porque la mayora de los protocolos de Internet se implementaron inicialmente en plataformas UNIX. Adems, la mayora de los servicios de Internet se proporcionan an mediante servicios que se ejecutan en computadores basados en UNIX.

Redes de Computadores e Internet


Cuando se conectan entre si 2 o ms recursos de Hardware (computadoras, impresoras, etc.) se forma una red de computadores. Cada recurso de Hardware presente en una red recibe el nombre de host. A una red que conecta entre si a varias redes, se la llama interred (internetwork). Las redes de una interred se conectan entre s a travs de computadores especiales que se denominan routers (encaminadores) o pasarelas (gateways). Internet es una interred formada por cientos de miles de redes. No todas las redes estn conectadas directamente. Dos redes pueden estar conectadas a travs de mltiples rutas.

Fundamentos de la Redes
Razones para utilizar redes de computadores: Compartir recursos de computacin. Como medio de comunicacin (barato, rpido y seguro) Eficiencia de costos de procesamiento. Por el mismo precio se obtiene ms potencia de clculo con una red de estaciones de trabajo que con un minicomputador o un mainframe. Mayor disponibilidad. Si se utiliza un nico minicomputador o un mainframe, todos los trabajos se detienen si algo falla en el computador. En una red, si uno de los computadores sufre un fallo, el resto de los equipos de la red sigue funcionando y permite seguir trabajando.

Modelos de Red
Algunos aspectos para el diseo e implementacin de redes: El tipo de medio fsico de comunicacin o canal de comunicacin. La topologa de la red, esto es, la disposicin fsica de los elementos de la red (Por ejemplo: bus, anillo, etc.) Los protocolos (conjuntos de reglas) que se utilizan para permitir que un elemento de una red acceda al medio fsico antes de iniciar la transmisin de datos. Los protocolos que se utilizan para rutear los datos de las aplicaciones (por ejemplo una pgina web) desde un elemento de una LAN a otro, o de un elemento de una red a un elemento de otra red en una interred. Los protocolos utilizados para el transporte de datos entre un proceso de un host y un proceso de otro host. Los protocolos utilizados por el software para proporcionar aplicaciones especficas, tales como telnet o ftp.

Modelos de Red (cont.)


Modelo OSI 7 6 5 4 Aplicacin Presentacin Sesin Transporte 4 Transporte 5 Aplicacin Modelo TCP/IP

3
2 1

Red
Enlace de Datos Fsica

3
2

Red
Enlace

Dispositivo / Fsica

Los protocolos TCP/IP

5 Aplicacin

http, telnet, smtp, ftp, ping, time, etc.

4 Transporte 3 Red

TCP, UDP, Sockets puros IPv4, IPv6, ICMP, IGMP

2 Enlace
1 Fsica

Ethernet, Token Ring, ATM, etc.


Dispositivo / Fsica

La mayora de estos protocolos quedan fuera del alcance de este curso. Slo trataremos brevemente los temas ms relevantes.

TCP y UDP
La funcin de la capa de transporte es transmitir datos de aplicacin desde nuestro computador a otro computador remoto y viceversa. Este servicio de entrega puede ser sencillo, limitndose a hacer lo posible, pero sin garantizar la entrega de los datos (servicio UDP), o puede ser del tipo que garantiza una entrega segura y ordenada de los datos de aplicacin (servicio TCP) Como es posible que mltiples procesos de cliente y de servidor estn utilizando TCP y/o UDP simultneamente, estos protocolos identifican a cada proceso que se ejecuta mediante un entero positivo de 16 bits (entre 0 y 65.535) que se denomina nmero de puerto. Los nmeros de puerto del 0 al 1.023 son los que se denominan puertos conocidos y estn controlados por la Internet Assigned Numbers Authority. (IANA). Los servicios conocidos (como ftp y telnet) reciben puertos que se encuentran dentro del rango de puertos conocidos.

Ruteado de Datos (El protocolo IP)


La capa de red tiene la responsabilidad de rutear los datos hacia el elemento de destino. El protocolo IP transporta paquetes de TCP o de UDP que contienen datos de aplicacin en sus propios paquetes llamados Datagramas IP. El algoritmo de ruteo es del tipo hacer lo posible. La versin actual de IP es IPv4. La nueva versin IPv6 an no est disponible en la mayora de los sistema operativos. La descripcin de los algoritmos de ruteo est fuera del alcance de esta materia, pero describiremos un componente clave. El mtodo de direccionamiento (denominacin) de IP. Esta es La clave del ruteo, y es la asignacin exclusiva para todos y cada uno de los hosts de Internet. Esto se hace identificando de forma exclusiva la red en que se encuentra e identificando despus de forma exclusiva al host dentro de esa red. El ID (un entero positivo de 32 bits en IPv4 y un entero positivo de 128 bits en IPv6) se denomina direccin IP del Host.

Direcciones IP
Todo datagrama IP contiene en su interior la direccin IP del remitente y la del destinatario. La direccin IP del remitente permite al receptor identificar al remitente y responderle. Los hosts y los routers llevan a cabo el enrutamiento examinando la direccin IP del destinatario presente en los datagramas IP. En IPv4 la direccin IP est dividida en tres campos:
La clase de direccin, ID de red, ID de elemento.

La clase de direccin identifica el nmero de bits que se utilizan en los campos de ID de red e ID de elemento. Este mtodo da lugar a cinco clases de direccin: A, B, C, D y E.

Clases de Direcciones IP

31

24 23

16 15

8 7

Clase A:
Clase B: Clase C: Clase D: Clase E:

O
31

ID de Red
24 23 16 15

ID de Host
8 7 0

1O
31

ID de Red
24 23 16 15

ID de Host
8 7 0

1 1O
31 24 23

ID de Red
16 15 8 7

ID de Host
0

1 1 1O
31

Direccin multidifusin (Broadcast)


24 23 16 15 8 7 0

1 1 1 1O

Reservado para uso futuro

Direcciones IP (Notacin Decimal)


Si bien, los hosts y los routers procesan las direcciones IPv4 como nmeros binarios de 32 bits, las mismas se suelen dar (en el mundo humano) en la forma de notacin decimal separada por puntos. En esta notacin, los 4 bytes de la direccin IP se escriben en forma de su equivalente decimal y se separan mediante puntos. Por ejemplo: 11000000 01100110 00001010 00010101

Se podra escribir de la forma: 192.102.10.21

Nombres simblicos
Las personas prefieren utilizan nombres simblicos en lugar de direcciones numricas. Los nombres son ms fciles de recordar, especialmente con la transicin a direcciones de 128 bits en IPv6. Adems, los nombres pueden permanecer igual aunque cambien las direcciones numricas. Al igual que la direccin IP, el nombre simblico de un elemento de internet tiene que ser nico. Internet permite usar nombres simblicos dentro de un esquema jerrquico de nominacin. Los nombres simblicos tienen el formato siguiente: nombre_host.nombre_donminio En donde nombre_dominio es el nombre simblico que alude al lugar del host y que es asignado por parte del Network Information Center (NIC). El nombre_dominio consta de de dos (o ms) cadenas separadas mediante un punto (.)

Servidores de nombres
Como el software de Internet emplea direcciones IP y las personas prefieren utilizar nombres simblicos, el software de aplicacin traduce los nombres simblicos a direcciones de Internet equivalentes. Esta traduccin implica el uso de un servicio que proporciona Internet y que recibe el nombre de Sistema de Nombres de Dominio (DNS). El DNS implementa una base de datos distribuida formada por relaciones de nombres y direcciones. Existe un conjunto de computadores dedicados en los que es ejecutan procesos servidores denominados servidores de nombres que admiten solicitudes del software de aplicacin y cooperan para hacer relacionar los nombres de dominio con las direcciones IP correspondientes. Todas las organizaciones tienen al menos un servidor de nombres que normalmente es el programa BIND (Berkley Internet Name Domain). Las aplicaciones emplean funciones de resolucin tales cmo:
gethostbyname gethostbyaddr

Servidores de nombres (Cont.)


Un mtodo alternativo (ya antiguo), para utilizar los servicios de DNS consiste en emplear un archivo esttico de hosts. Normalmente /etc/hosts. Este archivo contiene los nombres de dominios y sus direcciones IP, uno por lnea. Este mtodo presenta dos problemas:
Su implementacin (y actualizacin) depende de la forma en que el administrador configure el sistema. El tamao de Internet, y su velocidad de crecimiento haran que al archivo de nombres fuera inmenso.

El comando ifconfig permite visualizar la direccin IP y otras informaciones relativas a la interfaz de nuestro computador con la red. El comando nslookup sirve para encontrar la direccin IP de un computador cuyo nombre se le pasa como parmetro.

El Modelo Cliente - Servidor


Los servicios de Internet estn implementados empleando un paradigma en el cul el software de los servicios est fragmentado en dos partes. La parte que se ejecuta en el computador al que est conectado el usuario que invoca la aplicacin, se denomina Cliente. La parte que normalmente empieza a ejecutarse cuando arranca el computador se denomina Servidor. Por una parte, el servidor est en marcha indefinidamente, esperando a que llegue la solicitud de un cliente. Al recibir una solicitud, el servidor sirve la solicitud del cliente y espera la llegada de una nueva solicitud. Por otra parte, el cliente slo empieza a funcionar cuando un usuario ejecuta el programa para emplear uno de los servicios que ofrece el servidor.

Software de Aplicacin
Los comandos hostname y uname permiten ver el nombre del host al que estamos conectados. Los comandos rwho y rusers permiten visualizar informacin relativa a los usuarios que estn utilizando actualmente hosts en nuestra red. El comando ruptime permite visualizar el estado de todos los hostos conectados a nuestra LAN. El comando ping permite combrobar el estado de una red o de un host en particular. Para esto enva un datagrama IP al Host para comprobar si se encuentra en la red. El comando finger permite visualizar informacin relativa a los usuarios de un host local o remoto. El comando talk permite comunicarnos interactivamente (chatear) con un usuario de nuestro propio host o de algn host remoto. El comando traceroute sirve para mostrar la ruta (los nombres de los routers que hay en la ruta) entre nuestro host y un host remoto. Adems, nos da una idea de la rapidez de la ruta. Para ms informacin sobre estos comandos dirijase a las pginas de manual de los mismos.

Conexin Remota
El protocolo Telnet tiene como objetivo permitirnos establecer conexiones con hosts remotos a travs de una red. Este protocolo no slo permite conectarse a hosts basados en UNIX, sino a cualquier host que soporte este protocolo y tenga un servicio telnet en funcionamiento. Una vez establecida la conexin, nuestra terminal acta como si fuese una terminal conectada al host remoto. El puerto conocido para el servicio telnet es el nmero 23. El comando UNIX para ejecutar un cliente telnet es telnet. El cliente telnet funciona en 2 modos: En modo de entrada y en modo de rdenes. Cuando el comando se ejecuta sin parmetros, el cliente entra en modo de rdenes, y muestra un prompt del tipo telnet>. Cuando se ejecuta con un argumento, el cliente muestra el indicador login: para que ingresemos nuestro usuario. Otro comando para establecer una conexin remota con otro UNIX es el comando rlogin

Transferencia de Archivos
El comando ftp (File transfer program) permite transferir archivos desde y hacia un host remoto. Cuando se ejecuta el comando ftp, empieza a ejecutarse en nuestro host un cliente ftp, que intenta establecer una conexin con el servidor ftp que se ejecuta en el host remoto. Una vez establecida la conexin ftp, se pueden ejecutar varias rdenes para hacer un uso efectivo de esta utilidad (Por ejemplo descargar o levantar archivos). Sin embargo, es preciso disponer de los permisos de acceso adecuados para poder transferir archivos al sitio remoto. La mayora de los sitios requieren que tengamos un usuario / password vlido para establecer la conexin, aunque tambin existen sistemas que permiten un acceso del tipo annimo.

Ejecucin Remota de Comandos


Se puede utilizar el comando rsh (Shell Remoto) para ejecutar un comando en un host remoto de nuestra red local. Esta orden ofrece una forma ms rpida de ejecutar comandos que estableciendo una sesin remota. El comando rcp (copia remota) permite la copia desde y hacia un host remoto. Existen versiones seguras de los comandos rlogin, rsh y rcp. Estas son slogin, ssh y scp que implementan mecanismos de encripcin para la transmisin de datos entre cliente y servidor.

Preguntas

También podría gustarte