Sockets. Sockets. 1 Introducción

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Sockets. Sockets. 1 Introducción"

Transcripción

1 1 Introducción Los URL y las conexiones URL (URLConnection) proporcionan un mecanismo de un nivel relativamente alto (nivel 7 del modelo OSI) para acceder a los recursos de Internet. Algunas veces, los programas requieren una comunicación a través de la red, a un nivel un poco más bajo; por ejemplo, cuando se desea escribir una aplicación cliente / servidor. Para este tipo de programas, se utilizan las clases Socket y ServerSocket, del paquete java.net, que trabajan en los niveles 3 y 4 del modelo OSI. En las aplicaciones cliente / servidor, el servidor proporciona algún servicio, como por ejemplo: procesamiento de consultas a una base de datos o transmitir los precios actuales de inventario. El cliente utiliza el servicio proporcionado por el servidor, ya sea desplegando los datos de la consulta a la base de datos o haciendo recomendaciones de compra a un inversionista, teniendo en cuenta los precios del inventario. La comunicación entre cliente y servidor debe ser confiable; esto quiere decir que no se pueden perder datos, y que éstos deben llegar al cliente en el mismo orden en el cual fueron enviados por el servidor; por esta razón se utiliza TCP/IP. TCP proporciona un canal de comunicación confiable, punto a punto, que las aplicaciones cliente / servidor utilizan para comunicarse entre ellas a través de Internet. Para comunicarse a través de TCP, se establece una conexión entre el programa cliente y el programa servidor. Cada programa enlaza un socket en su extremo de la conexión. Para comunicarse, cliente y servidor leen y escriben hacia el socket asociado a la conexión. Cuando se escribe la parte del programa correspondiente al servidor, se abre un conector (socket), normalmente utilizando un número de puerto conocido, y se espera a que se conecte algún cliente. El cliente llama desde algún número de puerto no utilizado (conocido como puerto efímero). En cuanto se conectan el cliente y el servidor, es corriente que éste último proponga que la conversación continúe en un puerto diferente. Este diseño deja libre el número de puerto conocido, para manejar una nueva conexión. Una vez conectados el cliente y el servidor, hay un protocolo de más alto nivel que es dependiente del puerto que se esté utilizando. TCP/IP reserva los primeros 1024 puertos para sus protocolos específicos. La siguiente tabla muestra algunos números de puerto conocidos. Estos servicios se ofrecen tanto en puertos TCP como en puertos UDP. Página 1

2 Nombre del Puerto Puerto Descripción servicio TCP UDP echo 7 7 El servidor devuelve lo que envía el cliente discard 9 9 El servidor descarta lo que envía el cliente daytime El servidor devuelve la fecha y la hora en un formato legible chargen 19 El servidor TCP envía un flujo continuo de caracteres hasta que el cliente termina la conexión chargen 19 El servidor UDP envía un datagrama, cada vez que lo hace el cliente, que contiene un número aleatorio de caracteres. time El servidor devuelve la hora como un número binario de 32-bits, el número de segundos desde la media noche del 1 de enero de 1.900, UTC Tabla 1. Puertos Bien Conocidos En TCP/IP, el puerto 21 es para FTP, el 23 para Telnet, el 25 para , el 79 para finger, el 80 para HTTP, el 119 para netnews. Cada protocolo debe determinar cómo debe dialogar un cliente con el puerto. 2 Qué es un Socket? Un socket es un conector de red. Un conector de red es similar a un conector eléctrico. Hay distintos enchufes en la red eléctrica que tienen una forma estándar de entregar la energía. Cualquier cosa que entienda el protocolo estándar puede enchufarse al conector y enviar información. En los enchufes eléctricos no importa si se conecta una lámpara o un tostador, ya que siempre que trabajen con el voltaje adecuado, ambos funcionarán correctamente. Pensemos cómo se crea la factura del servicio de energía eléctrica: En algún lugar entre su casa y la red eléctrica hay un contador. Cada kilovatio que pasa a través del contador se queda registrado y periódicamente la factura llega a nuestra dirección. Por eso, aunque la electricidad fluya libremente a través de la red, todos los conectores de la casa tienen una dirección particular. De la misma forma funcionan los conectores de la red, excepto en que en lugar de electrones y de calles se trabaja con paquetes TCP/IP y direcciones IP. La noción de conector permite a un único computador atender a diferentes clientes a la vez, además de proporcionar diferentes tipos de información. Esto se consigue utilizando lo que se conoce como puerto, que es un conector numerado en una máquina particular. Se dice que un proceso servidor "escucha en un puerto hasta que un cliente se conecta a él. Un servidor puede aceptar múltiples clientes conectados todos ellos por el mismo número de puerto, aunque cada sesión es única. Para gestionar las conexiones de varios clientes, el proceso servidor debe ser un proceso multihilo o disponer de otros mecanismo para manejar las E/S simultáneas. Página 2

3 Normalmente, un servidor se ejecuta en un computador específico y tiene un socket enlazado a un número específico de puerto. El servidor sólo espera, escuchando en el socket, hasta que el cliente realice una solicitud de conexión. En el lado del cliente: El cliente conoce el nombre de host de la máquina en la cual se está ejecutando el servidor, y el número de puerto en el cual se encuentra conectado el servidor. Para realizar la solicitud de conexión, el cliente trata de reunirse con el servidor utilizando el nombre del computador donde esté se está ejecutando y el número de puerto. Figura 1. Solicitud de Conexión Si todo funciona adecuadamente, el servidor acepta la conexión. Durante la aceptación, el servidor obtiene un socket enlazado a un puerto diferente. Requiere un nuevo socket (y por tanto un nuevo puerto), para poder continuar escuchando en el socket original por otras solicitudes de conexión, mientras atiende las solicitudes del cliente conectado. Figura 2. Establecimiento de la Conexión En el lado del cliente, si la conexión es aceptada, se crea un socket, que puede ser utilizado para comunicarse con el servidor. El socket en el lado del cliente no se enlaza al número de puerto utilizado para establecer la conexión con el servidor. En lugar de esto, al cliente se le asigna un número de puerto local, en la máquina en la cual se está ejecutando. Ahora el cliente y el servidor pueden comunicarse, escribiendo o leyendo en sus respectivos sockets. Definición: Un socket es el extremo de un enlace de comunicación de dos-vías entre dos programas que se ejecutan en la red. Un socket se asocia a un número de puerto, para que TCP pueda identificar la aplicación a la cual se están enviando los datos. Página 3

4 3 Manejo de en Java Un objeto socket es la representación Java de una conexión de red TCP (Ver Figura). Utilizando esta clase, un cliente puede establecer un canal de comunicación basado en flujos de datos, con un computador remoto. Socket host host:port port TCP IP IP TCP HTTP Figura 3. Conexión TCP/IP usando Para comunicarse con un host remoto, el cliente debe crear primero un Socket hacia ese host. Esto automáticamente establece una conexión TCP, lanzando una excepción, si la conexión falla. Además del nombre de host, es necesario especificar un puerto; éste es un entero entre 1 y Efectivamente, hay direcciones diferentes en cada host. Para conectarse a un host, es necesario especificar su dirección IP. Debe haber un servidor escuchando activamente en el puerto especificado, o el intento de conexión fallará. Java proporciona dos tipos de sockets: los de cliente, implementados en la clase Socket, y los de servidor, implementados en la clase ServerSocket. La clase Socket esconde los detalles de implementación de cualquier sistema, al programa Java. Utilizando la clase java.net.socket los programas Java se pueden comunicar a través de la red, en una forma independiente de la plataforma. La clase Socket está diseñada para conectarse a un servidor y es la que inicia el protocolo de intercambio. La clase ServerSocket, implementa un socket que el servidor puede utilizar para escuchar y aceptar las conexiones con los clientes. La clase ServerSocket está diseñada para escuchar y esperar hasta que los clientes se conecten, para inmediatamente después empezar a prestarles el servicio solicitado. Es importante tener en cuenta que si se está tratando de establecer una conexión al Web, la clase URL y sus clases asociadas (URLConnection, URLEncoder) son probablemente más apropiadas que las clases relacionadas con los sockets. De hecho, un URL es una conexión de alto nivel al Web, y utilizan los sockets como parte de su implementación interna. Página 4

5 4 Clase Socket (Conectores TCP/IP para clientes) Para conectarse a un host, el programa cliente tiene que incluir una línea como: Socket conexión = new Socket (hostname, portnumber); Si se presenta algún problema, el constructor Socket lanza una IOException. De lo contrario, se puede suponer que el Socket está abierto y preparado para la comunicación: BufferedReader lector = new BufferedReader ( new InputStreamReader (conexión.getinputstream())); BufferedWriter escritor = new BufferedWriter ( new OutputStreamWriter (conexión.getoutputstream())); Ahora se puede leer y escribir utilizando los flujos lector y escritor de la forma habitual. Al finalizar el intercambio de datos, debe ejecutarse la instrucción: conexión.close(); La cual cierra la conexión y a la vez cierra todos los streams, readers y writers asociados a este Socket. Restricciones de seguridad en los Applets: La mayor parte de los navegadores incluyen un SecurityManager, que informa de una SecurityException cuando se intenta establecer una conexión TCP/IP con un host distinto a aquel de donde se descargó el applet. Para hacer que este código funcione en un applet, o se autolimita para conectarse sólamente al servidor propio del applet, o se negocian más derechos con el SecurityManager del navegador. 4.1 Constructores Al crear un socket, se crea automáticamente una conexión a un computador y un puerto específicos. Debe haber un servidor escuchando en el puerto del host; de lo contrario, se lanza una excepción de tipo IOException (Conexión rechazada). Otros posibles errores resultan de fallas en la red o nombres de hosts desconocidos. Socket (String host, int port) throws IOException Esto crea un socket y lo conecta al puerto (port) especificado, del computador (host) especificado. El host se especifica mediante un nombre (DNS) o por una dirección IP; el puerto debe estar en el rango Socket (InetAddress address, int port) throws IOException Esto crea un socket y se conecta al puerto y host especificados. La diferencia con el constructor anterior es que la identidad del host no se especifica utilizando un String, sino un objeto InetAddress que lo referencie. El puerto debe estar en el rango Página 5

6 Socket (String host, int port, InetAddress localaddr, int localport) throws IOException Esto crea un socket, lo une a la dirección y puerto locales, y lo conecta al host y puerto remotos. Si localaddress es null, se utiliza la dirección local por defecto. Si localport es 0 (cero), se utiliza un puerto aleatorio, de los que se encuentren desocupados. En efecto, cada conexión TCP consiste de una dirección local y una remota, y un puerto local y uno remoto. Cuando se crea un socket y se conecta aun host remoto, generalmente se le asigna un número de puerto aleatorio, de los que se encuentren desocupados. Este constructor permite especificar la dirección y el puerto local, lo cual puede ser útil en algunas ocasiones, para conectarse a servidores que requieren una conexión desde un puerto particular o donde es requerido por un firewall. Socket(InetAddress address, int port, InetAddress localaddr, int localport) throws IOException Esto crea un socket, lo une a la dirección y puerto locales (localaddr y localport), y lo conecta al host y puerto remotos (address, port). Si localaddr es null, se utiliza la dirección local por defecto. Si localport es 0 (cero), se utiliza un puerto aleatorio, de los que se encuentren desocupados. protected Socket( ) Este constructor crea un objeto Socket sin conectar. Este socket puede unirse posteriormente a una conexión entrante, por medio de un ServerSocket. Debe tenerse en cuenta que este constructor sólo puede ser llamado por una subclase como parte de una estructura socket personalizada (custom socket framework). protected Socket(SocketImpl impl) Este constructor sólo se puede utilizar para proporcionar una implementación socket personalizada, lo cual no se va a manejar en este curso. 4.2 Métodos Los métodos de la clase Socket permiten la identificación del host remoto, y de los números de puerto local y remoto, al igual que la extracción de flujos para propósitos de comunicación bidireccional. Para realizar comunicaciones a través de una conexión TCP, primero debe crearse un socket y luego utilizar los métodos getinputstream() y getoutputstream() para obtener los flujos con los cuales comunicarse al servidor remoto. En consecuencia, tanto el cliente como el servidor tendrán un InputStream y un OutputStream, para propósitos de comunicación. Página 6

7 InputStream getinputstream( ) throws IOException Este método devuelve un flujo de tipo InputStream, que permite comunicaciones basadas en flujos a través de una conexión TCP. Todos los datos escritos por el servidor en el extremo remoto de la conexión, deben ser leídos por este flujo de entrada. Los datos escritos a un socket se segmentan en paquetes, para la comunicación a través de IP. Para la aplicación, sin embargo, la conexión proporciona un flujo continuo de datos. Por razones de eficiencia, los flujos Socket deben utilizar un buffer. OutputStream getoutputstream( ) throws IOException Este método devuelve un OutputStream que permite comunicaciones basadas en flujos, a través de una conexión TCP. Todos los datos escritos hacia este flujo deben ser leídos por el servidor en el extremo remoto de la conexión. Por razones de eficiencia, con este flujo de salida deben utilizarse buffers; de lo contrario, el primer byte de un mensaje frecuentemente será enviado en un paquete independiente, desperdiciando ancho de banda. void close( ) throws IOException Este método cierra el socket, liberando cualquier tipo de recursos de la red y del sistema que estén siendo utilizados. Cualquier dato enviado antes de este llamado, se entregará exitosamente en el otro extremo de la conexión, a menos que exista una falla en la red. Hay que tener en cuenta que si con el flujo de salida del socket se ha utilizado un BufferedOutputStream, este debe cerrarse antes que el socket. De lo contrario, los datos que permanezcan en el buffer se perderán. Cerrar el flujo de salida o el de entrada de un Socket, cerrará la conexión de red; por tanto, sólo es necesario cerrar el socket, su InputStream y su OutputStream. No existe un forma de cerrar el socket parcialmente. InetAddress getinetaddress( ) Este método devuelve la dirección IP del host remoto. int getport( ) Este método devuelve el número del puerto del host remoto al cual se encuentra conectado el socket. InetAddress getlocaladdress( ) Este método devuelve la dirección local a la cual se encuentra unido el socket; es decir, la interfaz IP local a través de la cual se están enviando los paquetes. int getlocalport( ) Este método devuelve número de puerto local al cual se encuentra unido el socket. Este valor se asigna de forma aleatoria, si no se especifica un puerto en el constructor. Página 7

8 void setsotimeout(int timeout) throws SocketException Este método establece un time-out en milisegundos, después del cual una operación de lectura (blocking read operation) en este socket, se suspenderá automáticamente. Un valor de cero(0), deshabilita el time-out, de modo que las operaciones se bloquean indefinidamente. Este método es útil si se desea esperar sólo una cantidad específica de tiempo, para que el cliente responda a ciertos datos. Si una llamada a read() alcanza el timeout, se lanza una InterruptedException. int getsotimeout( ) throws SocketException Este método devuelve el valor actual de time-out del socket. Un valor de cero(0) indica que no hay time-out, o sea, que cualquier operación del socket, se bloquea indefinidamente (el valor por defecto). void setsendbuffersize(int size) throws SocketException Este método solicita que el sistema operativo establezca el tamaño de buffer para envío del socket (SO_SNDBUF) en el valor especificado (size). El aumento del tamaño del buffer, puede aumentar el desempeño para el envío de grandes volúmenes de datos. El sistema operativo puede ignorar el valor que se solicite. int getsendbuffersize( ) throws SocketException Este método devuelve el tamaño actual del buffer de envío del socket. void setreceivebuffersize(int size) throws SocketException Este método solicita que el sistema operativo establezca el tamaño de buffer para recepción del socket (SO_RCVBUF) en el valor especificado (size). El aumento del tamaño del buffer, puede aumentar el desempeño para la recepción de grandes volúmenes de datos. El sistema operativo puede ignorar el valor que se solicite. int getreceivebuffersize( ) throws SocketException Este método devuelve el tamaño actual del buffer de recepción del socket. static void setsocketimplfactory(socketimplfactory factory) throws IOException Este método estático puede utilizarse para instalar una implementación socket personalizada para toda la JVM (Java Virtual Machine). Este método sólo puede llamarse una vez, y es vetado por el SecurityManager. 4.3 Excepciones IOException Muchos de los métodos y constructores de la clase Socket pueden lanzar una IOException, si se encuentra un error. Página 8

9 SocketException Esta IOException es una superclase de algunas excepciones comunes de los sockets, que permiten un manejo más detallado de las excepciones de red. Las subclases son: BindException Esta SocketException indica que la dirección o puerto solicitados no se pudieron enlazar al socket. Generalmente esto ocurre cuando el puerto ya está en uso o es un puerto del sistema, o cuando la dirección local especificada no es una interfaz local de red válida. ConnectException Esta SocketException indica que el intento de conexión fue rechazado debido a que no hay un servidor escuchando en el puerto especificado de la máquina remota. NoRouteToHostException Esta SocketException indica que el host remoto no pudo alcanzarse, generalmente, debido a un problema en la red o a la presencia de un firewall. SecurityException El SecurityManager restringe la creación de sockets. Los applets no confiables, por ejemplo, no pueden abrir sockets hacia sitios diferentes a aquel en el cual residen. Otra restricción significativa es que un applet detrás de un firewall es posible que no pueda hacer uso del servicio de DNS, por lo cual es necesario utilizar las dirección IP del computador receptor, en lugar de su nombre de host. 5 Ejemplo1: Whois El siguiente ejemplo abre una conexión con un puerto whois (43) del servidor InterNIC, envía el argumento de la línea de comandos por el conector e imprime el dato recibido. InterNIC intentará determinar el nombre de dominio Internet del argumento que recibe y después devuelve la dirección IP e información de ese sitio. import java.io.*; import java.net.*; public class Whois { public static void main(java.lang.string[] args) throws Exception { int c; Socket s = new Socket ("internic.net", 43); InputStream in = s.getinputstream() ; OutputStream out = s.getoutputstream() ; String str = (args.length==0? "starwave.com":args[0])+"\n"; byte buf[] = new byte[str.length()]; Página 9

10 str.getbytes (0,str.length(),buf,0); out.write (buf); while ((c=in.read())!=-1) { System.out.print ((char)c); s.close (); La salida cuando no se envían parámetros al programa es: Si, por ejemplo, se introduce sportszone.com, como argumento en la línea de comandos, se obtendrá la siguiente salida: Página 10

11 6 La Clase ServerSocket (Conectores TCP/IP para servidores) Como se ha mencionado antes, Java tiene una clase de conector diferente que se debe utilizar para crear aplicaciones servidoras. La clase ServerSocket se utiliza para crear servidores que escuchan tanto a programas clientes locales como remotos que se conectan a ellos a través de puertos conocidos. Los objetos ServerSocket son bastante diferentes de los objetos Socket normales. Cuando se crea un ServerSocket, éste se registra en el sistema que tiene interés en recibir las conexiones de los cliente clientes. 6.1 Constructores Los dos constructores de ServerSocket reflejan el número del puerto en el que se desean aceptar las conexiones y, opcionalmente, durante cuánto tiempo se desea esperar a que se deje de utilizar el puerto. La longitud de la cola le indica al sistema cuántas conexiones de clientes puede dejar pendientes antes de que las conexiones sean rechazadas. Por defecto este valor es 50. Ambos constructores pueden lanzar una IOException bajo condiciones adversas. Estos son los dos constructores: ServerSocket (int puerto) Página 11

12 Crea un conector de servidor en el puerto especificado (puerto), con una longitud de cola igual a 50. ServerSocket (int puerto, int número) Crea un conector de servidor en el puerto especificado con una longitud de cola igual al número especificado. ServerSocket tiene un método adicional llamado accept ( ), que es una llamada que se bloquea y que espera a que un cliente inicie la comunicación y después devuelve un Socket normal que es el que se utiliza para la comunicación con el cliente. La instrucción: ServerSocket conexiónservidor = new ServerSocket(8000); le indica al sistema operativo que se intenta ofrecer un servicio en el puerto (aún no está escuchando en este puerto). Si el entorno de tiempo de ejecución es capaz de enlazar al puerto especificado, lo hace, y configura la acumulación permitida a un valor predeterminado de 50. (Esto significa que una vez que tenga 50 peticiones de conexión, se rechazarán todas las peticiones sucesivas. Se puede especificar un valor de acumulación diferente en el conector ServerSocket). Si el entorno de tiempo de ejecución no puede enlazar al puerto (lo que ocurre cuando el puerto ya está reservado a otro servicio), lanzará una IOException. Una vez se haya enlazado el puerto, es posible empezar a escuchar las conexiones llamando a accept(): Socket unsocket = conexiónservidor.accept(); Una vez hecha la conexión, accept() desbloquea el sistema y devuelve un Socket. En éste, se puede abrir streams, readers, y writers, al igual que se hizo desde el programa del cliente. 7 Ejemplo2: Ping en Java Ping (Packet InterNet Groper) es un comando estándar de TCP/IP que envía permite solicitar un mensajes de respuesta a un computador de la red o un gateway. En otras palabras, ping envía un mensaje, para verificar si el computador al cual lo envía está conectado y disponible en la red. Ping envía un mensaje a un computador de la red y le avisa al usuario si recibe o no una respuesta de ese computador. Enviar el mensaje a un computador es trivial: sólo debe abrirse un socket en el host y escribir hacia él. Java hace todo el trabajo de ensamblar los bytes en paquetes y enviarlos. La única duda podría ser cuál puerto utilizar. Hay muchos servicios TCP/IP estándar. El puerto 7 es el servicio de echo o reenvío, y el puerto 23 es el de telnet. En este ejemplo, se va a utilizar el puerto 13, que es el puerto de la fecha del sistema, y puede aceptar consultas TCP o UDP. Cuando se establece una conexión Página 12

13 con el puerto 13 en un computador, este responde con un mensaje sencillo, que incluye la fecha y hora actuales del computador. import java.io.*; import java.net.*; public class Ping { public static void main(java.lang.string[] args) throws Exception { if (args.length!=1) { System.out.println("Debe especificarse el <systemname> como parámetro"); System.exit(0); String machine = args[0]; final int daytimeport = 13; Socket so = new Socket(machine, daytimeport); BufferedReader br = new BufferedReader ( new InputStreamReader (so.getinputstream())); String timestamp = br.readline(); System.out.println( machine + " responde en: " + timestamp); Al ejecutar el programa, debe obtenerse una respuesta como la siguiente: Esto demuestra lo fácil que es crear una conexión socket a un puerto de otro computador, utilizando la librería de red de Java. Página 13

14 8 Ejemplo 3: Envío de un con Java Un es enviado mediante una conexión socket con el puerto 25 de un computador. Todo lo que se hará en este ejemplo será abrir un socket conectado al puerto 25 de un computador, y enviar mensajes de protocolo de correo hacia el programa servidor (demonio) del otro extremo. En un applet, se debe abrir un socket de retorno al servidor. En una aplicación, se puede abrir un socket en el mismo sistema en el cual se está ejecutando el programa. Si se utilizan correctamente los mensajes del protocolo de correo, el sistema los entenderá y enviará el . Este programa requiere que el programa SMTP (Simple Mail Transfer Protocol) se esté ejecutando en el servidor. Esto puede probarse haciendo telnet al puerto 25 del servidor, y verificar si se obtiene respuesta. El código del programa es el siguiente: import java.io.*; import java.net.*; public class { public static void main(java.lang.string[] args) throws IOException{ Socket sock = new Socket("donatello",25); BufferedReader dis = new BufferedReader( new InputStreamReader(sock.getInputStream())); PrintStream ps = new PrintStream (sock.getoutputstream()); ps.println("mail from: System.out.println(dis.readLine()); String Address = ps.println("rcpt to: "+ Address); System.out.println(dis.readLine()); ps.println("data"); System.out.println( dis.readline() ); ps.println("this is the message\n that Java sent"); ps.println("."); System.out.println( dis.readline() ); ps.flush(); sock.close(); Página 14

15 Muchos de los servicios de Internet son similares a este. Se establece una conexión socket y se utiliza un protocolo simple para comunicarle al servidor lo que se desea hacer. Página 15

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA. Daniel Díaz Sánchez

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA. Daniel Díaz Sánchez UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA Sockets para servidor Daniel Díaz Sánchez Florina Almenárez Andrés Marín Departamento de Ingeniería Telemática Universidad Carlos

Más detalles

1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4. 3.4.1.- Creación de Streams de Entrada...7

1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4. 3.4.1.- Creación de Streams de Entrada...7 1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4 3.1.- INTRODUCCION... 4 3.2.- MODELO DE COMUNICACIONES CON JAVA...5 3.3.- APERTURA DE SOCKETS... 6 3.4.- CREACIÓN DE STREAMS...

Más detalles

UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: TUTORIAL DE SOCKETS EN JAVA

UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: TUTORIAL DE SOCKETS EN JAVA UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: TUTORIAL DE SOCKETS EN JAVA Índice 1. Presentación...3 2. Conceptos básicos...4 2.1. TCP...4 2.2.

Más detalles

Arquitecturas cliente/servidor

Arquitecturas cliente/servidor Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor Creación de Sockets Cliente/Servidor Sockets en TCP Sockets en UDP Definición de DAEMON Concepto de Hilos Qué es un socket? Un socket

Más detalles

Federico Peinado www.federicopeinado.es

Federico Peinado www.federicopeinado.es Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es

Más detalles

CLASE SOCKET. 1. Crear un nuevo socket usando un constructor de la clase. 2. El socket trata de conectarse al host remoto.

CLASE SOCKET. 1. Crear un nuevo socket usando un constructor de la clase. 2. El socket trata de conectarse al host remoto. CLASE SOCKET 1. Crear un nuevo socket usando un constructor de la clase. 2. El socket trata de conectarse al host remoto. 3. Una vez establecida la conexión, tanto el host local como el remoto obtienen

Más detalles

UNIVERSIDAD POLITÉCNICA DE PACHUCA SOCKETS EN JAVA

UNIVERSIDAD POLITÉCNICA DE PACHUCA SOCKETS EN JAVA SOCKETS EN JAVA Los sockets son puntos finales de enlaces de comunicaciones entre procesos. Los procesos los tratan como descriptores de ficheros, de forma que se pueden intercambiar datos con otros procesos

Más detalles

1 SOCKETS EN JAVA. Sistemas Distribuidos::Sockets en Java EUI-SG/INFOR.UVA.ES 1

1 SOCKETS EN JAVA. Sistemas Distribuidos::Sockets en Java EUI-SG/INFOR.UVA.ES 1 1 SOCKETS EN JAVA La programación en red siempre ha sido dificultosa, el programador debía de conocer la mayoría de los detalles de la red, incluyendo el hardware utilizado, los distintos niveles en que

Más detalles

Universidad de Cantabria corcuerp@unican.es

Universidad de Cantabria corcuerp@unican.es Networking Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender los conceptos básicos de redes y su implementación en Java

Más detalles

Las clases Java Socket y ServerSocket

Las clases Java Socket y ServerSocket Las clases Java Socket y ServerSocket Lenguajes y Herramientas de Programación Universidad de La Laguna Programa de Doctorado de Física e Informática Escuela Técnica Superior Superior de Ingeniería Informática

Más detalles

Sockets en Java. Prof. Wílmer Pereira Universidad Simón Bolívar

Sockets en Java. Prof. Wílmer Pereira Universidad Simón Bolívar Sockets en Java Prof. Wílmer Pereira Universidad Simón Bolívar Arquitectura Cliente/Servidor Cliente Request Reply Servidor Cómo permitir comunicación entre objetos situados en diferentes máquinas? Sockets

Más detalles

Red LSUB. 4 de marzo de 2015 GSYC

Red LSUB. 4 de marzo de 2015 GSYC Red LSUB GSYC 4 de marzo de 2015 (cc) 2015 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

Justamente, una de las formas de crear un objeto de la clase URL permite especificar también el puerto:

Justamente, una de las formas de crear un objeto de la clase URL permite especificar también el puerto: Los Sockets Los sockets (zócalos, referido a los enchufes de conexión de cables) son mecanismos de comunicación entre programas a través de una red TCP/IP. De hecho, al establecer una conexión via Internet

Más detalles

Práctica 5: Servidor web concurrente en Java

Práctica 5: Servidor web concurrente en Java Práctica 5: Servidor web concurrente en Java Esta práctica pretende familiarizar al alumno con la programación de servidores que emplean sockets TCP. Para ello partiremos del servidor web básico visto

Más detalles

Sockets en Java. La Creatividad proviene de un conflicto de ideas. Uso de Sockets

Sockets en Java. La Creatividad proviene de un conflicto de ideas. Uso de Sockets Uso de Sockets Este pequeño manual, le muestra cómo funciona el Socket Server para crear un pequeño servidor web que envía una página HTML a cualquier Navegador Web como Firefox, Internet Explorer, etc..

Más detalles

Examen de Redes - ETSIA 9 de septiembre - Primer Parcial

Examen de Redes - ETSIA 9 de septiembre - Primer Parcial Apellidos, Nombre: Grupo: Examen de Redes - ETSIA 9 de septiembre - Primer Parcial AUTORIZO a los profesores de la asignatura Redes de 2º curso de la ETSIA a publicar las calificaciones de los exámenes

Más detalles

Lab 01: Programación de Sockets en TCP

Lab 01: Programación de Sockets en TCP UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO Departamento Académico de Informática REDES Y TELECOMUNICACIONES 2 Lab 01: Programación de Sockets en TCP Ingº Manuel Peñaloza Figueroa Dime y lo olvidaré.

Más detalles

PROGRAMACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS EN JAVA

PROGRAMACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS EN JAVA PROGRAMACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS EN JAVA Qué es la arquitectura cliente servidor? La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten

Más detalles

EJEMPLOS PROGRAMACIÓN SOCKET - JAVA

EJEMPLOS PROGRAMACIÓN SOCKET - JAVA EJEMPLOS PROGRAMACIÓN SOCKET - JAVA 1.- Calcular el Cuadrado TCP En esta aplicación el cliente se conecta al servidor, para ello debe introducir la dirección IP del servidor y los parámetros sobre los

Más detalles

Programación para redes con Java

Programación para redes con Java Programación para redes con Java Jorge Eduardo Ibarra Esquer Programación para redes Clases en java.net Protocolos Sockets Datagramas Aplicaciones cliente-servidor 1 Programación para redes Java presenta

Más detalles

Programación Orientada a Objetos. Tema 7: Persistencia

Programación Orientada a Objetos. Tema 7: Persistencia Programación Orientada a Objetos Tema 7: Persistencia Tema 7: Persistencia Contenidos 1. LIBRERÍA I/O 2. FICHEROS 3. FICHEROS DE ACCESO DIRECTO 4. FICHEROS DE TEXTO 5. SERIALIZACIÓN DE OBJETOS 6. EJEMPLO

Más detalles

Examen Final de Redes - ETSIA - 24 de junio de 2006

Examen Final de Redes - ETSIA - 24 de junio de 2006 Apellidos, Nombre: Grupo de matrícula: Examen Final de Redes - ETSIA - 24 de junio de 2006 1. (0,5 puntos) Calcula el tiempo necesario para recibir la respuesta a una consulta DNS si el servidor de nombres

Más detalles

Examen de Redes - Primer Parcial - ETSIA 26 de Enero de 2006

Examen de Redes - Primer Parcial - ETSIA 26 de Enero de 2006 Examen de Redes - Primer Parcial - ETSIA 26 de Enero de 2006 Apellidos, Nombre: Grupo de matrícula: Soluciones al examen Todos 1. (1 punto) Convierte el siguiente servidor iterativo en un servidor concurrente:

Más detalles

Modelo de Objetos Distribuidos

Modelo de Objetos Distribuidos Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo

Más detalles

Juan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN

Juan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN UNICIENCIA 24 pp. 83-89 2010 IMPLEMENTACIÓN DE UN SERVIDOR FTP UTILIZANDO EL MODELO CLIENTE/SERVIDOR MEDIANTE EL USO DE SOCKETS EN LENGUAJE C UNIX CON EL FIN DE MEJORAR LOS TIEMPOS DE RESPUESTA EN LA RED

Más detalles

Java: comunicación en Internet. Modem. Satelite UMTS W-LAN. Láser. Fibra óptica. Conceptos básicos

Java: comunicación en Internet. Modem. Satelite UMTS W-LAN. Láser. Fibra óptica. Conceptos básicos Conceptos básicos Los computadores conectados a Internet se comunican entre ellos usando protocolos: Java: comunicación en Internet Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad

Más detalles

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. http://www.icc.uji.es. CAPÍTULO 8: El nivel de transporte en Internet

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. http://www.icc.uji.es. CAPÍTULO 8: El nivel de transporte en Internet Redes (IS20) Ingeniería Técnica en Informática de Sistemas http://www.icc.uji.es CAPÍTULO 8: El nivel de transporte en Internet ÍNDICE 1. Introducción Curso 2002-2003 - Redes (IS20) -Capítulo 8 1 1. Introducción

Más detalles

TELEPROCESO Y SISTEMAS DISTRIBUIDOS

TELEPROCESO Y SISTEMAS DISTRIBUIDOS Universidad Nacional del Nordeste TELEPROCESO Y SISTEMAS DISTRIBUIDOS La Interfaz Socket Lic. Vanesa S. Roffé Año 2009 Introducción - Origen de la INTERFAZ SOCKET La Interfaz Socket es una API para redes

Más detalles

Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet

Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet Clase 22 Nivel de Aplicación WWW Tema 6.- Nivel de aplicación en Internet Dr. Daniel Morató Redes de Computadores Ingeniero Técnico de Telecomunicación Especialidad en Sonido e Imagen 3º curso Temario

Más detalles

Clases Java para comunicaciones en red

Clases Java para comunicaciones en red Clases Java para comunicaciones en red Lenguajes y Herramientas de Programación Universidad de La Laguna Programa de Doctorado de Física e Informática Escuela Técnica Superior Superior de Ingeniería Informática

Más detalles

ARQUITECTURAS CLIENTE/SERVIDOR

ARQUITECTURAS CLIENTE/SERVIDOR Arquitecturas Cliente/Servidor, Sem 2016-1 M.I.Yasmine Macedo Reza 1 ARQUITECTURAS CLIENTE/SERVIDOR Conceptos básicos Arquitecturas Cliente/Servidor, Sem 2016-1 M.I.Yasmine Macedo Reza 2 Conceptos básicos

Más detalles

Laboratorio de Redes de Comunicaciones Programación con Sockets en Java

Laboratorio de Redes de Comunicaciones Programación con Sockets en Java Laboratorio de Redes de Comunicaciones Programación con Sockets en Java Sockets orientados a conexión Sockets no orientados a conexión Java: Distribuido Java se ha construido con extensas capacidades de

Más detalles

Arquitecturas cliente/servidor

Arquitecturas cliente/servidor Arquitecturas cliente/servidor Conceptos básicos 1 Conceptos básicos 1. Definición de puerto 2. Sockets 3. Conceptos cliente/servidor 4. Definición de Stream 5. Concurrencia, multiprogramación y multitarea

Más detalles

Sockets. Introducción. Las redes de computadoras permiten al usuario. Curso Propedéutico Maestría en Ciencias de la Computación BUAP

Sockets. Introducción. Las redes de computadoras permiten al usuario. Curso Propedéutico Maestría en Ciencias de la Computación BUAP Sockets Curso Propedéutico Maestría en Ciencias de la Computación BUAP Introducción Las redes de computadoras permiten al usuario Acceder a datos remotos Procesamiento remoto Recursos remotos Dr. Ivan

Más detalles

DESARROLLO DE APLICACIONES PARA CONTROL Y MONITOREO DE DISPOSITIVOS REMOTOS

DESARROLLO DE APLICACIONES PARA CONTROL Y MONITOREO DE DISPOSITIVOS REMOTOS UNIDAD IZTAPALAPA DIVISIÓN DE CIENCIAS BÁSICAS E INGENIERIA DESARROLLO DE APLICACIONES PARA CONTROL Y MONITOREO DE DISPOSITIVOS REMOTOS PARA OBTENER EL TITULO DE LICENCIADO EN COMPUTACION PRESENTAN: CRISÓSTOMO

Más detalles

Práctica III: Streams, Readers y Writers

Práctica III: Streams, Readers y Writers Práctica III: Streams, Readers y Writers Objetivos En esta práctica vamos a aprender a utilizar Streams, Readers y Writers para realizar operaciones de entrada/salida desde programas escritos en el lenguaje

Más detalles

Objetivos. Comprender el funcionamiento de Internet y los protocolos que la hacen funcionar

Objetivos. Comprender el funcionamiento de Internet y los protocolos que la hacen funcionar Internet Jorge Juan Chico , Julián Viejo Cortés 2011-14 Departamento de Tecnología Electrónica Universidad de Sevilla Usted es libre de copiar, distribuir y comunicar

Más detalles

Desarrollar, usando Java, un cliente básico del protocolo web que permita enviar una solicitud HTTP a un servidor web y procesar la respuesta.

Desarrollar, usando Java, un cliente básico del protocolo web que permita enviar una solicitud HTTP a un servidor web y procesar la respuesta. Cliente HTTP en Java Objetivos Desarrollar, usando Java, un cliente básico del protocolo web que permita enviar una solicitud HTTP a un servidor web y procesar la respuesta. Requerimientos de la aplicación:

Más detalles

LABORATORIO DE RC PRÁCTICA 2: IMPLEMENTACIÓN DE UN CLIENTE Y SERVIDOR DE

LABORATORIO DE RC PRÁCTICA 2: IMPLEMENTACIÓN DE UN CLIENTE Y SERVIDOR DE UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC PRÁCTICA 1: IMPLEMENTACIÓN DE UN CLIENTE Y SERVIDOR DE ECO UDP PRÁCTICA 2: IMPLEMENTACIÓN DE UN CLIENTE

Más detalles

Práctica 4: Herencia. Objetivos:

Práctica 4: Herencia. Objetivos: Práctica 4: Herencia Objetivos: Como se implementa la herencia en Java (superclase - clase descendiente). Utilizar super. Redefinición de métodos Clase Object Clase System Clases abstractas 1. Herencia.

Más detalles

Entrada y Salida con Java

Entrada y Salida con Java Entrada y Salida con Java Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid E/S con flujos (streams) En Java

Más detalles

Cliente/Servidor en Java

Cliente/Servidor en Java Cliente/Servidor en Java Grupo ARCOS Desarrollo de Aplicaciones Distribuidas Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Introducción: 1. Paradigma cliente/servidor 2. Entorno

Más detalles

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

CURSO PRÁCTICO DE REDES PRÁCTICA 3b. PRÁCTICA DE TCP-IP Protocolo TCP. Departamento de Ingeniería Área de Ingeniería de Sistemas y Automática

CURSO PRÁCTICO DE REDES PRÁCTICA 3b. PRÁCTICA DE TCP-IP Protocolo TCP. Departamento de Ingeniería Área de Ingeniería de Sistemas y Automática 1. OBJETIVO Esta práctica tiene como objetivo el estudio del protocolo TCP, analizando los mecanismos de conexión y desconexión, opciones de la cabecera, etc. Se experimentará así mismo con varios servicios

Más detalles

Comunicacion en Java. Alejandro Escobar

Comunicacion en Java. Alejandro Escobar Comunicacion en Java Alejandro Escobar Introducción a las comunicaciones Modelo básico de red Imagen tomada de: http://java.sun.com/docs/books/tutorial/networking/overview/networking.html Normalmente programamos

Más detalles

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED Dolly Gómez Santacruz dolly.gomez@gmail.com CAPA DE RED La capa de red se ocupa de enviar paquetes de un punto a otro, para lo cual utiliza los servicios

Más detalles

EDITRAN. Funcionalidades desde V5.0 a V5.1. Windows/Unix

EDITRAN. Funcionalidades desde V5.0 a V5.1. Windows/Unix EDITRAN Funcionalidades desde V5.0 a V5.1 Windows/Unix INDRA 18 de marzo de 2015 ÍNDICE 1. INTRODUCCIÓN.... 1-1 2. EDITRAN V5.1.0... 2-1 2.1. Nuevas Funcionalidades... 2-1 2.1.1. EDITRAN/P: El número máximo

Más detalles

ARQUITECTURA DE REDES Laboratorio

ARQUITECTURA DE REDES Laboratorio 1nsloo.cl ARQUITECTURA DE REDES Laboratorio Práctica 7: Protocolos de transporte en TCP/IP 1. OBJETIVO Conocer las características de los protocolos de transporte de la arquitectura TCP/IP: TCP y UDP.

Más detalles

MANUAL TÉCNICO DEL PROXY UTN

MANUAL TÉCNICO DEL PROXY UTN MANUAL TÉCNICO DEL PROXY UTN El Proxy UTN fue desarrollado en Java con el JDK1.1.8, se emplearon los paquetes: java.net.- Para el manejo de comunicaciones de red. java.io.- Para manejo de entrada/salida.

Más detalles

Telnet. Telnet Operación

Telnet. Telnet Operación Telnet Protocolo utilizado para la ejecución de procesos en sistemas remotos. Emulación de Terminal Utiliza las funcionalidades de TCP Well Known Service, port number 23 Telnet Operación NVT (Network Virtual

Más detalles

Tutorial BMS Server Studio UDP

Tutorial BMS Server Studio UDP Tutorial BMS Server Studio UDP ÍNDICE Página 0. Introducción...3 1. Configuración del puerto UDP...4 2. Ejemplos...6 2.1 Configuración manual...6 2.1.1 Configuración SocketTest...6 2.1.2 Configuración

Más detalles

Seminario de Redes TRABAJO PRACTICO Nº 3. UDP y TCP. E-mail: deimos_azul@yahoo.com Padrón: 77902. E-mail: gonzalojosa@hotmail.

Seminario de Redes TRABAJO PRACTICO Nº 3. UDP y TCP. E-mail: deimos_azul@yahoo.com Padrón: 77902. E-mail: gonzalojosa@hotmail. Departamento de Electrónica Facultad de Ingeniería Seminario de Redes TRABAJO PRACTICO Nº 3 UDP y TCP. Grupo: NMNK Responsable a cargo: Integrantes: Guzmán Pegazzano, Ma. Azul E-mail: deimos_azul@yahoo.com

Más detalles

James Gosling, creador de Java

James Gosling, creador de Java Lo que Java intenta hacer y lo hace con bastante éxito, es abarcar dominios diferentes. De esa forma le permite efectuar trabajos para de aplicaciones del lado del servidor, del lado del cliente, para

Más detalles

PROGRAMACION DISTRIBUIDA

PROGRAMACION DISTRIBUIDA PROGRAMACION DISTRIBUIDA Distribución basada en el patrón proxy-servant Héctor Pérez 2 Distribución de aplicaciones basadas en objetos Objetivo: rediseño de una aplicación orientada a objetos para ser

Más detalles

Cátedra de Sistemas Distribuidos Escuela de Ingeniería Electrónica Departamento de Sistemas e Informática

Cátedra de Sistemas Distribuidos Escuela de Ingeniería Electrónica Departamento de Sistemas e Informática Cátedra de Sistemas Distribuidos Escuela de Ingeniería Electrónica Departamento de Sistemas e Informática Trabajo Práctico nro. 2: Comunicación Entre Procesos Tiempo Distribuido Objetivos del Práctico

Más detalles

LA ARQUITECTURA TCP/IP

LA ARQUITECTURA TCP/IP LA ARQUITECTURA TCP/IP Hemos visto ya como el Modelo de Referencia de Interconexión de Sistemas Abiertos, OSI-RM (Open System Interconection- Reference Model) proporcionó a los fabricantes un conjunto

Más detalles

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA. Daniel Díaz Sánchez

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA. Daniel Díaz Sánchez UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA Comunicaciones en Java Sockets Cliente Daniel Díaz Sánchez Florina Almenárez Andrés Marín Departamento de Ingeniería Telemática Universidad

Más detalles

COMUNICACIÓN ENTRE PROCESOS SOCKETS

COMUNICACIÓN ENTRE PROCESOS SOCKETS COMUNICACIÓN ENTRE PROCESOS SOCKETS Diseño de Sistemas Operativos Curso 2007/08 Grupo: Mi30 Martín Santana, A. David Martínez Santana, Luis Ignacio Qué son?(definición) n) Los sockets son mecanismos de

Más detalles

Curso de Redes Computadores 1 Tema 3 Introducción a la capa de transporte. Interfaz de programación en redes. Sockets.

Curso de Redes Computadores 1 Tema 3 Introducción a la capa de transporte. Interfaz de programación en redes. Sockets. Curso de Redes Computadores 1 Tema 3 Introducción a la capa de transporte. Interfaz de programación en redes. Sockets. Prof. Ricardo Gonzalez Redes de Computadores Tema 3 1 1 Modelo Cliente-Servidor Dos

Más detalles

Para esto, he desarrollado una aplicación en Visual Studio con tres proyectos, como se presenta en la siguiente ilustración:

Para esto, he desarrollado una aplicación en Visual Studio con tres proyectos, como se presenta en la siguiente ilustración: Caso Práctico: Diffie-Hellman sobre socket de C# Este caso práctico se abordará en el ámbito de aplicaciones cliente/servidor; programación con Socket. Se aplicará el lenguaje C#, el.net Framework 3.5

Más detalles

Práctica de laboratorio 4.5.2: Protocolos de la capa de Transporte TCP/IP, TCP y UDP Diagrama de topología

Práctica de laboratorio 4.5.2: Protocolos de la capa de Transporte TCP/IP, TCP y UDP Diagrama de topología Práctica de laboratorio 4.5.2: Protocolos de la capa de Transporte TCP/IP, TCP y UDP Diagrama de topología Este documento es información pública de Cisco. Página 1 de 10 Tabla de direccionamiento Dispositivo

Más detalles

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE PRÓLOGO... 13 APECTOS BÁSICOS DE JAVA... 15 1.1. LA MÁQUINA VIRTUAL JAVA... 15 1.2. EDICIONES JAVA... 16 1.3. ESTRUCTURA DE UN PROGRAMA JAVA... 16 1.4. EL MÉTODO

Más detalles

2. Qué dispositivo se debe utilizar para enrutar un paquete a una red remota? A switch de acceso B servidor de DHCP C hub D router

2. Qué dispositivo se debe utilizar para enrutar un paquete a una red remota? A switch de acceso B servidor de DHCP C hub D router 1. Consulte la imagen. Según la configuración IP que se muestra, cuál es la razón por la cual el Host A y el Host B no pueden comunicarse fuera de la red local? A B C D Al Host A se le asignó una dirección

Más detalles

CAPITULO 4 Capa de Transporte del modelo OSI

CAPITULO 4 Capa de Transporte del modelo OSI CAPITULO 4 Capa de Transporte del modelo OSI 4.0 Introducción del capitulo 4.0.1 Introducción del capitulo Las redes de datos e Internet brindan soporte a la red humana al proporcionar la comunicación

Más detalles

FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES

FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES Dolly Gómez Santacruz dollygos@univalle.edu.co CAPA DE SESION Conceptos El propósito principal de la capa de sesión en la pila OSI es minimizar los

Más detalles

Redes de Computadoras Junio de 2006. Teoría y problemas (75 %)

Redes de Computadoras Junio de 2006. Teoría y problemas (75 %) Redes de Computadoras Junio de 2006 Nombre: DNI: Teoría y problemas (75 %) 1. (1 punto) Suponga una aplicación P2P de compartición de ficheros en la que existe un servidor central que ofrece un servicio

Más detalles

Tema 4.1: - TRANSPORTE-

Tema 4.1: - TRANSPORTE- Tema 4.1: - TRANSPORTE- -Introducción - Terminología OSI - Tipologia y complejidad - Servicios - Calidad de servicio - Conexiones de transporte - Transporte en Internet - Introducción. Su función básica

Más detalles

UNIDAD DIDACTICA 11 CONFIGURACIÓN DE LA RED EN GNU/LINUX

UNIDAD DIDACTICA 11 CONFIGURACIÓN DE LA RED EN GNU/LINUX UNIDAD DIDACTICA 11 CONFIGURACIÓN DE LA RED EN GNU/LINUX Eduard Lara 1 1. INTRODUCCIÓN En este capítulo recorreremos los pasos necesarios para configurar el protocolo TCP/IP en una máquina: Asignación

Más detalles

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP Práctica 9 GESTIÓN Y UTILIZACIÓN DE REDES LOCALES Curso 2001/2002 TCP/IP: protocolo TCP Introducción Como se ha comentado en la práctica anterior, el protocolo UDP es muy sencillo de implementar, pero

Más detalles

Arquitectura de Redes y Servicios de Telecomunicación

Arquitectura de Redes y Servicios de Telecomunicación Práctica 3 Arquitectura de Redes y Servicios de Telecomunicación Programación cliente/servidor: Servicio de echo. Desarrollo de un cliente y un servidor del servicio de echo. Objetivos La programación

Más detalles

1.Introducción. 2.Direcciones ip

1.Introducción. 2.Direcciones ip 1.Introducción El papel de la capa IP es averiguar cómo encaminar paquetes o datagramas a su destino final, lo que consigue mediante el protocolo IP. Para hacerlo posible, cada interfaz en la red necesita

Más detalles

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN

PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN PRACTICA CAPITULO 2 MODULO 1 PROTOCOLOS Y LA FUNCIONALIDAD DE LA CAPA DE APLICACIÓN Los protocolos de capa de aplicación de TCP/IP más conocidos son aquellos que proporcionan intercambio de la información

Más detalles

Práctica 1: Configuración de una Red Local. Estaciones de Trabajo

Práctica 1: Configuración de una Red Local. Estaciones de Trabajo Práctica 2:Configuración de una Red Local de Estaciones de Trabajo Introducción En esta práctica configuraremos la conexión de red del equipo con S.O. Windows XP. Para el acceso a Internet usaremos el

Más detalles

Tecnologías De La Información Y Comunicación I. Firewall Y Proxy. Integrantes: Héctor Duran. Katherine Zumelzu

Tecnologías De La Información Y Comunicación I. Firewall Y Proxy. Integrantes: Héctor Duran. Katherine Zumelzu Firewall Y Proxy Integrantes: Héctor Duran Katherine Zumelzu Fecha: 15/04/2015 Índice Qué es un firewall?... 3 Tipos de Firewall... 4 -Nivel de aplicación de Pasarela:... 4 -Circuito a nivel de Pasarela:...

Más detalles

Fig.1 Redes conectadas a Internet a través de routers IP

Fig.1 Redes conectadas a Internet a través de routers IP PRACTICA 4 EL PROTOCOLO IP Hasta ahora hemos visto aspectos relacionados con el hardware de red de nuestras máquinas: Acceso al adaptador de red y un mecanismo para la resolución de direcciones hardware.

Más detalles

DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA

DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA José Luis Pastrana Brincones (pastrana@lcc.uma.es) Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga

Más detalles

8 Conjunto de protocolos TCP/IP y direccionamiento IP

8 Conjunto de protocolos TCP/IP y direccionamiento IP 8 Conjunto de protocolos TCP/IP y direccionamiento IP 8.1 Introducción a TCP/IP 8.1.1 Historia de TCP/IP El Departamento de Defensa de EE.UU. (DoD) creó el modelo de referencia TCP/IP porque necesitaba

Más detalles

CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA 2014

CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA 2014 CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA 2014 Ings. Mario Bressano & Miguel Iwanow ENVÍO 01/2014 Introducción al Lenguaje Java Paquetes Un Paquete en Java es un contenedor de clases que permite agrupar

Más detalles

CAPITULO 5. SOCKETS. M.E Carmen Cerón G Programación Concurrente 109

CAPITULO 5. SOCKETS. M.E Carmen Cerón G Programación Concurrente 109 CAPITULO 5. SOCKETS Una de las grandes potencias del lenguaje de programación Java es la total portabilidad de sus programas gracias a su "máquina virtual". Esto adquiere una importancia aún mayor en Internet

Más detalles

Práctica 7: Configuración de un router NAT

Práctica 7: Configuración de un router NAT Práctica 7: Configuración de un router NAT Cuando se contratan los servicios básicos de un ISP, éste nos proporciona una conexión a Internet con un ancho de banda determinado (de acuerdo al contrato elegido)

Más detalles

LABORATORIO DE FTP. PRESENTADO POR: Diana Maritza Aragón Marta Moreno Luis Miguel Pérez. PRESENTADO A: Marcelo Utard Javier Bozzuto

LABORATORIO DE FTP. PRESENTADO POR: Diana Maritza Aragón Marta Moreno Luis Miguel Pérez. PRESENTADO A: Marcelo Utard Javier Bozzuto LABORATORIO DE FTP PRESENTADO POR: Diana Maritza Aragón Marta Moreno Luis Miguel Pérez PRESENTADO A: Marcelo Utard Javier Bozzuto ESCUELA DE GRADUADOS DE ELECTRÓNICA Y TELECOMUNICACIONES LABORATORIO DE

Más detalles

INSTITUTO TECNOLÓGICO DE SALINA CRUZ. Fundamentos De Redes. Semestre Agosto-Diciembre 2014. Reporte De Lectura

INSTITUTO TECNOLÓGICO DE SALINA CRUZ. Fundamentos De Redes. Semestre Agosto-Diciembre 2014. Reporte De Lectura INSTITUTO TECNOLÓGICO DE SALINA CRUZ Fundamentos De Redes Semestre Agosto-Diciembre 2014 Reporte De Lectura Lectura Capítulo IV UNIDAD 3: Capa de red y direccionamiento de la red: IPv4 NOMBRE: Liña Quecha

Más detalles

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET 1 EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET La familia de protocolos TCP/IP fue diseñada para permitir la interconexión entre distintas redes. El mejor ejemplo es Internet: se trata

Más detalles

COMU ICACIO ES E U IX CO JAVA

COMU ICACIO ES E U IX CO JAVA COMU ICACIO ES E U IX CO JAVA El sistema de Entrada/Salida de Unix sigue el paradigma que normalmente se designa como Abrir-Leer-Escribir-Cerrar. Antes de que un proceso de usuario pueda realizar operaciones

Más detalles

Laboratorio de Redes de Computadores

Laboratorio de Redes de Computadores 3. Análisis de tráfico en una LAN 3.1 Introducción En esta práctica se va a trabajar sobre la misma configuración de red utilizada en la práctica anterior (Figura 32) y se van a hacer ejercicios muy similares,

Más detalles

Protección de los clientes contra los ataques a la red

Protección de los clientes contra los ataques a la red Protección de los clientes contra los ataques a la red La información incluida en este documento representa el punto de vista actual de Microsoft Corporation acerca de los temas tratados hasta la fecha

Más detalles

GUÍA USO MOTOR SCRIPTING SOFIA2

GUÍA USO MOTOR SCRIPTING SOFIA2 GUÍA USO MOTOR SCRIPTING SOFIA2 JULIO 2014 Versión 4 1 INDICE 1 INDICE... 2 2 INTRODUCCIÓN... 3 2.1 REQUISITO... 3 2.2 OBJETIVOS Y ALCANCE DEL PRESENTE DOCUMENTO... 3 2.3 CONCEPTOS... 3 3 DESARROLLO DE

Más detalles

Sistemas Distribuidos ITInformática (UVA) César Llamas Bello - Febrero 2003

Sistemas Distribuidos ITInformática (UVA) César Llamas Bello - Febrero 2003 Comunicación entre procesos Sistemas Distribuidos ITInformática (UVA) César Llamas Bello - Febrero 2003 Indice Interfaz de programación para protocolos de Internet Representación externa de datos y empaquetado

Más detalles

Qué equilibra la importancia del tráfico y sus características con el fin de administrar los datos? Estrategia QoS

Qué equilibra la importancia del tráfico y sus características con el fin de administrar los datos? Estrategia QoS Qué forma de comunicación es una comunicación basada en texto real utilizada entre dos o más personas que principalmente utilizan texto para comunicarse entre ellas? Mensajería instantánea Qué tipo de

Más detalles

Semestre I Aspectos básicos de Networking

Semestre I Aspectos básicos de Networking Semestre I Aspectos básicos de Networking Capítulo 6: Direccionamiento de la red Ip v4 1 Estructura de una dirección Ip v4 Cada dispositivo de una red debe ser definido en forma exclusiva. En la capa de

Más detalles

Excepciones y E/S Java y Servicios Web I Master en Ingeniería Matemática

Excepciones y E/S Java y Servicios Web I Master en Ingeniería Matemática Excepciones y E/S Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) montenegro@fdi.ucm.es Contenidos Generación de excepciones.

Más detalles

La vida en un mundo centrado en la red

La vida en un mundo centrado en la red La vida en un mundo centrado en la red Aspectos básicos de networking: Capítulo 3 1 Objetivos En este capítulo aprenderá a: Describir cómo las funciones de las tres capas superiores del modelo OSI que

Más detalles

Introducción a la programación con sockets en C

Introducción a la programación con sockets en C Introducción a la programación con sockets en C Enrique Bonet Departamento de Informática Universidad de Valencia Índice Introducción Socket Creación de un socket Cierre de un socket Asociación de un socket

Más detalles

INGENIERÍA EN SISTEMAS Y TELECOMUNICACIONES ÉNFASIS EN ADMINISTRACIÓN DE REDES

INGENIERÍA EN SISTEMAS Y TELECOMUNICACIONES ÉNFASIS EN ADMINISTRACIÓN DE REDES INGENIERÍA EN SISTEMAS Y TELECOMUNICACIONES ÉNFASIS EN ADMINISTRACIÓN DE REDES SEGURIDAD DE REDES DE COMPUTADORAS Tarea de Investigación CONFIGURACIÓN DE FIREWALL Autor: Jorge Antonio Cobeña Reyes Tutor:

Más detalles

Manual de Usuario CPE OX330. Manual de Usuario CPE OX330

Manual de Usuario CPE OX330. Manual de Usuario CPE OX330 Manual de Usuario CPE OX330 Índice Contenido 2 1 Set UP 3 2 Configuración LAN 3 3 Configuración WAN 5 4 Configuración NAT 5 5 Configuración del Sistema 6 6 Tools 7 Estado del Sistema 7 2 Manual de uso

Más detalles

Solución del examen de Redes - Segundo parcial - ETSIA - 1 de junio 2007

Solución del examen de Redes - Segundo parcial - ETSIA - 1 de junio 2007 Solución del examen de Redes - Segundo parcial - ETSIA - de junio 2007 Apellidos, Nombre: Grupo de matrícula:. (0,75 puntos) La captura mostrada en la figura siguiente se ha realizado desde un equipo del

Más detalles

Conceptos Fundamentales sobre UNIX Laboratorio 16.2.6 Comandos de Networking (Tiempo estimado: 45 min.)

Conceptos Fundamentales sobre UNIX Laboratorio 16.2.6 Comandos de Networking (Tiempo estimado: 45 min.) Conceptos Fundamentales sobre UNIX Laboratorio 16.2.6 Comandos de Networking (Tiempo estimado: 45 min.) Objetivos: Desarrollar una comprensión de los comandos de networking de UNIX y TCP/IP Hacer ping

Más detalles

CA Nimsoft Monitor Snap

CA Nimsoft Monitor Snap CA Nimsoft Monitor Snap Guía de configuración de Monitorización de la conectividad de red Serie de net_connect 2.9 Aviso de copyright de CA Nimsoft Monitor Snap Este sistema de ayuda en línea (el "Sistema")

Más detalles

FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP

FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP Dolly Gómez Santacruz dollygos@univalle.edu.co Arquitectura de Redes Introducción Las comunicaciones en redes son complejas,

Más detalles