La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación II Ing. Diego J. Arcusin 7 – Unix e Internet.

Presentaciones similares


Presentación del tema: "Programación II Ing. Diego J. Arcusin 7 – Unix e Internet."— Transcripción de la presentación:

1 Programación II Ing. Diego J. Arcusin 7 – Unix e Internet

2 Introducción UNIX ocupa un lugar especial en el mundo de las redes en general, y en el mundo de Internet en particular, porque la mayoría de los protocolos de Internet se implementaron inicialmente en plataformas UNIX. Además, la mayoría de los servicios de Internet se proporcionan aún mediante servicios que se ejecutan en computadores basados en UNIX.

3 Redes de Computadores e Internet Cuando se conectan entre si 2 o más 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 través 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 están conectadas directamente. Dos redes pueden estar conectadas a través de múltiples rutas.

4 Fundamentos de la Redes Razones para utilizar redes de computadores: Compartir recursos de computación. Como medio de comunicación (barato, rápido y seguro) Eficiencia de costos de procesamiento. Por el mismo precio se obtiene más potencia de cálculo 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.

5 Algunos aspectos para el diseño e implementación de redes: El tipo de medio físico de comunicación o canal de comunicación. La topología de la red, esto es, la disposición física 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 físico antes de iniciar la transmisión de datos. Los protocolos que se utilizan para rutear los datos de las aplicaciones (por ejemplo una página 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 específicas, tales como telnet o ftp. Modelos de Red

6 Modelos de Red (cont.) 7Aplicación 6Presentación 5Sesión 4Transporte 3Red 2Enlace de Datos 1Física 5Aplicación 4Transporte 3Red 2Enlace 1Dispositivo / Física Modelo OSI Modelo TCP/IP

7 Los protocolos TCP/IP 5 Aplicaciónhttp, telnet, smtp, ftp, ping, time, etc. 4 TransporteTCP, UDP, Sockets puros 3 RedIPv4, IPv6, ICMP, IGMP 2 EnlaceEthernet, Token Ring, ATM, etc. 1 FísicaDispositivo / Física La mayoría de estos protocolos quedan fuera del alcance de este curso. Sólo trataremos brevemente los temas más relevantes.

8 La función de la capa de transporte es transmitir datos de aplicación desde nuestro computador a otro computador remoto y viceversa. Este servicio de entrega puede ser sencillo, limitándose 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 aplicación (servicio TCP) Como es posible que múltiples procesos de cliente y de servidor estén utilizando TCP y/o UDP simultáneamente, estos protocolos identifican a cada proceso que se ejecuta mediante un entero positivo de 16 bits (entre 0 y ) que se denomina número de puerto. Los números de puerto del 0 al son los que se denominan puertos conocidos y están 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. TCP y UDP

9 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 aplicación en sus propios paquetes llamados Datagramas IP. El algoritmo de ruteo es del tipo hacer lo posible. La versión actual de IP es IPv4. La nueva versión IPv6 aún no está disponible en la mayoría de los sistema operativos. La descripción de los algoritmos de ruteo está fuera del alcance de esta materia, pero describiremos un componente clave. El método de direccionamiento (denominación) de IP. Esta es La clave del ruteo, y es la asignación 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 después 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 dirección IP del Host. Ruteado de Datos (El protocolo IP)

10 Todo datagrama IP contiene en su interior la dirección IP del remitente y la del destinatario. La dirección IP del remitente permite al receptor identificar al remitente y responderle. Los hosts y los routers llevan a cabo el enrutamiento examinando la dirección IP del destinatario presente en los datagramas IP. En IPv4 la dirección IP está dividida en tres campos: La clase de dirección, ID de red, ID de elemento. La clase de dirección identifica el número de bits que se utilizan en los campos de ID de red e ID de elemento. Este método da lugar a cinco clases de dirección: A, B, C, D y E. Direcciones IP

11 Clases de Direcciones IP ID de HostID de RedO Clase A: ID de HostID de Red1 Clase B: O ID de HostID de Red1 Clase C: O Dirección multidifusión (Broadcast)1 Clase D: O Reservado para uso futuro1 Clase E: O

12 Si bien, los hosts y los routers procesan las direcciones IPv4 como números binarios de 32 bits, las mismas se suelen dar (en el mundo humano) en la forma de notación decimal separada por puntos. En esta notación, los 4 bytes de la dirección IP se escriben en forma de su equivalente decimal y se separan mediante puntos. Por ejemplo: Se podría escribir de la forma: Direcciones IP (Notación Decimal)

13 Las personas prefieren utilizan nombres simbólicos en lugar de direcciones numéricas. Los nombres son más fáciles de recordar, especialmente con la transición a direcciones de 128 bits en IPv6. Además, los nombres pueden permanecer igual aunque cambien las direcciones numéricas. Al igual que la dirección IP, el nombre simbólico de un elemento de internet tiene que ser único. Internet permite usar nombres simbólicos dentro de un esquema jerárquico de nominación. Los nombres simbólicos tienen el formato siguiente: nombre_host.nombre_donminio En donde nombre_dominio es el nombre simbólico 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 más) cadenas separadas mediante un punto (.) Nombres simbólicos

14 Como el software de Internet emplea direcciones IP y las personas prefieren utilizar nombres simbólicos, el software de aplicación traduce los nombres simbólicos a direcciones de Internet equivalentes. Esta traducción 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 aplicación 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 resolución tales cómo: gethostbyname gethostbyaddr Servidores de nombres

15 Un método alternativo (ya antiguo), para utilizar los servicios de DNS consiste en emplear un archivo estático de hosts. Normalmente /etc/hosts. Este archivo contiene los nombres de dominios y sus direcciones IP, uno por línea. Este método presenta dos problemas: Su implementación (y actualización) depende de la forma en que el administrador configure el sistema. El tamaño de Internet, y su velocidad de crecimiento harían que al archivo de nombres fuera inmenso. El comando ifconfig permite visualizar la dirección IP y otras informaciones relativas a la interfaz de nuestro computador con la red. El comando nslookup sirve para encontrar la dirección IP de un computador cuyo nombre se le pasa como parámetro. Servidores de nombres (Cont.)

16 Los servicios de Internet están implementados empleando un paradigma en el cuál 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 aplicación, 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 sólo empieza a funcionar cuando un usuario ejecuta el programa para emplear uno de los servicios que ofrece el servidor. El Modelo Cliente - Servidor

17 Los comandos hostname y uname permiten ver el nombre del host al que estamos conectados. Los comandos rwho y rusers permiten visualizar información relativa a los usuarios que están 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 envía un datagrama IP al Host para comprobar si se encuentra en la red. El comando finger permite visualizar información 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 algún 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. Además, nos da una idea de la rapidez de la ruta. Para más información sobre estos comandos dirijase a las páginas de manual de los mismos. Software de Aplicación

18 El protocolo Telnet tiene como objetivo permitirnos establecer conexiones con hosts remotos a través de una red. Este protocolo no sólo 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 conexión, nuestra terminal actúa como si fuese una terminal conectada al host remoto. El puerto conocido para el servicio telnet es el número 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 parámetros, 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 conexión remota con otro UNIX es el comando rlogin Conexión Remota

19 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 conexión con el servidor ftp que se ejecuta en el host remoto. Una vez establecida la conexión 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 mayoría de los sitios requieren que tengamos un usuario / password válido para establecer la conexión, aunque también existen sistemas que permiten un acceso del tipo anónimo. Transferencia de Archivos

20 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 más rápida de ejecutar comandos que estableciendo una sesión 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 encripción para la transmisión de datos entre cliente y servidor. Ejecución Remota de Comandos

21 Preguntas ?


Descargar ppt "Programación II Ing. Diego J. Arcusin 7 – Unix e Internet."

Presentaciones similares


Anuncios Google