4.- Programación de comunicaciones en red Flashcards

1
Q

4.1.- Comunicación entre aplicaciones

Red de ordenadores. Definición

A

Las redes de ordenadores están formadas por un conjunto de dispositivos que se encuentran conectados entre sí para poder intercambiar información entre ellos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

4.1.- Comunicación entre aplicaciones

Redes de ordenadores. Implementación

A

Para implementar estas redes, se utilizan unas tecnologías bastante complejas que dividen en capas para simplificar un poco las diferentes funciones que se deben llevar a cabo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

4.1.- Comunicación entre aplicaciones

Redes de ordenadores. Capas

A

Para implementar estas redes, se utilizan unas tecnologías bastante complejas que dividen en capas para simplificar un poco las diferentes funciones que se deben llevar a cabo. Cada una de estas capas será la encargada de una tarea determinada, poniendo en práctica los diferentes recursos (software y hardware) disponibles

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

4.1.- Comunicación entre aplicaciones

Modelo TCP/IP. Definicición

A

A continuación, es posible ver que se presentan unas encima de otras, como si fueran una pila, de tal forma que, cada capa se puede comunicar con las que tiene encima y debajo. En el modelo TCP/IP, se divide la comunicación en cuatro capas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

4.1.- Comunicación entre aplicaciones

Modelo TCP/IP. Capas

A

En el modelo TCP/IP, se divide la comunicación en cuatro capas.
* Application Layer
* Transport Layer
* Internet Layer
* Physical Network Layer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

4.1.- Comunicación entre aplicaciones

Modelo TCP/IP. Capas. Application Layer

A

Application Layer
* HTTP
* FTP
* DNS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

4.1.- Comunicación entre aplicaciones

Modelo TCP/IP. Capas. Transport Layer

A

Transport Layer
* TCP
* UDP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

4.1.- Comunicación entre aplicaciones

Modelo TCP/IP. Capas. Internet Layer

A

Transport Layer
* IP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

4.1.- Comunicación entre aplicaciones

Modelo TCP/IP. Capas. Physical Network Layer

A

Transport Layer
* Ethernet
* ATM
* DECnet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

4.1.- Comunicación entre aplicaciones

Aplicaciones. Enviar mensajes

A

Cuando una aplicación quiere enviar un mensaje se siguen los siguientes pasos:
1. El emisor envía el mensaje, lo que significa que el mensaje pasa de la capa de aplicación a la capa de transporte.
2. En el nivel de transporte se divide el mensaje en paquetes para realizar el envío y lo pasa a la capa inferior, la capa de Internet.
3. En el nivel de Internet se comprueba el destino de los paquetes y se calcula la ruta que deben seguir; después se envían los paquetes al nivel de red.
4. El nivel de red se encarga de transmitir el paquete al receptor del mensaje.
5. El receptor recibe los paquetes en el nivel de red, en el más bajo, y los envía a la siguiente capa, que se corresponde con el nivel de Internet.
6. El nivel de Internet del receptor es el encargado de comprobar que son correctos. Si es así, los reenvía al nivel de transporte.
7. El nivel de transporte es el encargado de formar el mensaje con los paquetes recibidos y envía el mensaje a la última capa, el nivel de aplicación.
8. El nivel de aplicación recibe el mensaje correctamente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

4.1.- Comunicación entre aplicaciones

Aplicaciones. Enviar mensajes. Paso 1

A

El emisor envía el mensaje, lo que significa que el mensaje pasa de la capa de aplicación a la capa de transporte.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

4.1.- Comunicación entre aplicaciones

Aplicaciones. Enviar mensajes. Paso 2

A

En el nivel de transporte se divide el mensaje en paquetes para realizar el envío y lo pasa a la capa inferior, la capa de Internet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

4.1.- Comunicación entre aplicaciones

Aplicaciones. Enviar mensajes. Paso 3

A

En el nivel de Internet se comprueba el destino de los paquetes y se calcula la ruta que deben seguir; después se envían los paquetes al nivel de red.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

4.1.- Comunicación entre aplicaciones

Aplicaciones. Enviar mensajes. Paso 4

A

El nivel de red se encarga de transmitir el paquete al receptor del mensaje.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

4.1.- Comunicación entre aplicaciones

Aplicaciones. Enviar mensajes. Paso 5

A

El receptor recibe los paquetes en el nivel de red, en el más bajo, y los envía a la siguiente capa, que se corresponde con el nivel de Internet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

4.1.- Comunicación entre aplicaciones

Aplicaciones. Enviar mensajes. Paso 6

A

El nivel de Internet del receptor es el encargado de comprobar que son correctos. Si es así, los reenvía al nivel de transporte.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

4.1.- Comunicación entre aplicaciones

Aplicaciones. Enviar mensajes. Paso 7

A

El nivel de transporte es el encargado de formar el mensaje con los paquetes recibidos y envía el mensaje a la última capa, el nivel de aplicación.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

4.1.- Comunicación entre aplicaciones

Aplicaciones. Enviar mensajes. Paso 8

A

El nivel de aplicación recibe el mensaje correctamente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

4.1.- Comunicación entre aplicaciones

Aplicaciones. Enviar mensajes. Paso 8

A

El nivel de aplicación recibe el mensaje correctamente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

4.2.- Roles Cliente y Servidor

Modelo cliente-servidor. Definición

A

El modelo cliente-servidor se basa en una arquitectura
en la que existen distintos recursos, a los que se denomina servidores, y un determinado número de clientes, es decir, de sistemas que requieren de esos recursos. Los servidores, proveem de recursos a los clientes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

4.2.- Roles Cliente y Servidor

Modelo cliente-servidor. Cliente. Definición

A

Sistemas que requieren de los recursos del servidor y los solicitan a través de peticiones al servidor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

4.2.- Roles Cliente y Servidor

Modelo cliente-servidor. Servidor. Definición

A

Sistemas donde se almacenan los recursos que requieren el cliente y los proveen a través de respuestas al cliente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

4.2.- Roles Cliente y Servidor

Modelo cliente-servidor. En la actualidad

A

En la actualidad existen distintas aplicaciones que utilizan este modelo, como pueden ser el correo electrónico, mensajería instantánea y el servicio de Internet, es decir, se utiliza siempre que se accede a una página web.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

4.2.- Roles Cliente y Servidor

Modelo cliente-servidor. Roles

A

Se debe tener en cuenta que, en este modelo, no se intercambian los roles entre clientes y servidores.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

4.2.- Roles Cliente y Servidor

Modelo cliente-servidor. Sockets

A

Los sockets también son un ejemplo del modelo cliente-servidor y se estudiarán en este capítulo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase InetAddress. Definición

A

Es la clase que representa las direcciones IP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase InetAddress. Funciones

A
  • byte[] getAddress ()
  • static InetAddress getLocalHost ()
  • static InetAddress getLocalHost(String host)
  • String toString ()
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase InetAddress. Funcion byte[] getAddress ()

A

Devuelve la dirección IP sin procesar como objeto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase InetAddress. Funcion static InetAddress getLocalHost ()

A

Devuelve la dirección IP de la máquina.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase InetAddress. Funcion static InetAddress getLocalHost (String host)

A

Devuelve la dirección IP de la máquina especificada.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase InetAddress. Funcion String toString ()

A

Convierte la dirección IP en una cadena.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. Definición

A

Es la clase que representa un localizador de recursos uniforme (URL), es decir, representa la dirección del recurso en Internet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. URL. Definición

A

Una URL es un conjunto de caracteres que permiten denominar de forma única los recursos en Internet, de esta forma facilita el acceso a ellos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. URL. Formato

A

El formato de una URL es el siguiente: protocolo://máquina:puerto/ruta_fichero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. URL. Usuario y contraseña

A

Si es necesario la identificación para acceder a ese recurso, el usuario y contraseña se deben indicar delante de la máquina, de forma que la URL quedaría: protocolo:/usuario:contraseña@máquina:puerto/ruta_fichero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. Constructores

Existen diferentes constructores

A

Existen distintas formas de crear un objeto de esta clase, dependiendo de los parámetros de los que se disponga. Por ello, existen diferentes constructores:
* URL (String url)
* URL (String protocol, String host, int port, String file)
* URL (String protocol, String host, String file)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. Constructores. URL (String url)

Existen diferentes constructores

A

Crea un objeto URL de la cadena recibida.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. Constructores. URL (String protocol, String host, int port, String file)

Existen diferentes constructores

A

Crea un objeto URL con los datos recibidos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. Constructores. URL (String protocol, String host, String file)

Existen diferentes constructores

A

Crea un objeto URL con los datos recibidos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. Funciones

Existen diferentes constructores

A
  • String getFile ()
  • String getHost ()
  • String getPath ()
  • int getPort ()
  • String getProtocol ()
  • URI toURI ()
  • URLConnection openConnection ()
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. Funciones. String getFile ()

Existen diferentes constructores

A

Devuelve el nombre del archivo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. Funciones. String getHost ()

Existen diferentes constructores

A

Devuelve el nombre de la máquina.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. Funciones. String String getPath ()

Existen diferentes constructores

A

Devuelve el nombre de la ruta de acceso.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. Funciones. int getPort ()

Existen diferentes constructores

A

Devuelve el puerto que ocupa.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. Funciones. String getProtocol ()

Existen diferentes constructores

A

Devuelve el protocolo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. Funciones. URI toURI ()

Existen diferentes constructores

A

Devuelve el URI equivalente a esta URL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URL. Funciones. URLConnection openConnection ()

Existen diferentes constructores

A

Crea y devuelve una conexión al objeto
remoto de esta URL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URLConnection. Definición

A

Esta clase permite trabajar con conexiones realizadas a la URL especificada.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URLConnection. Objeto URL. Función openConnection ()

A

Ccrear un objeto de la clase URL e invocar al método openConnection().

  • URL url = new URL (“https://www.ilerna.es/
    ca/fp-a-distancia”);
  • URLConnection urlCon = url.openConnection();

Con esto obtenemos una conexión al objeto URL referenciado. Las instancias se esta clase se pueden utilizar tanto para leer como para escribir al recurso referenciado por la URL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URLConnection. Funciones

A
  • abstract void connect ()
  • InputStream getInputStream ()
  • OutputStream getOutourStream ()
  • URL getURL()
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URLConnection. Funciones. abstract void connect ()

A

Establece la conexión con el recurso de la URL. Una vez que se obtiene la conexión se pueden leer y escribir datos en dicha conexión.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URLConnection. Funciones. InputStream getInputStream ()

A

Devuelve un flujo de entrada para leer los
datos del recurso.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URLConnection. Funciones. OutputStream getOutourStream ()

A

Devuelve un flujo de salida para escribir datos en el recurso.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

4.3.- Programación de aplicaciones en red. Librerías

Clase URLConnection. Funciones. URL getURL()

A

Devuelve la URL de la conexión.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

4.4.- Sockets

Socket. Definición

A

Un socket es un mecanismo que permite la comunicación entre aplicaciones a través de la red, es decir, abstrae al usuario del paso de la información entre las distintas capas. Su función principal es crear un canal de comunicación entre las aplicaciones y simplificar el intercambio de mensajes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

4.4.- Sockets

Sockets. Abstracción

A

Abstrae al usuario del paso de la información entre las distintas capas. Su función principal es crear un canal de comunicación entre las aplicaciones y simplificar el intercambio de mensajes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q

4.4.- Sockets

Sockets. Componentes

A

Un socket se define mediante la dirección IP de los dos dispositivos, el protocolo de transporte, y, por último, el puerto de cada uno de los dispositivos por el que se conectan.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q

4.4.- Sockets

Sockets. Puerto. Definición

A

Un puerto es el identificador que permite la comunicación entre los dispositivos de una red. Una máquina solo puede tener un único puerto asignado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

4.4.- Sockets

Sockets. Servidor

A

La máquina denominada servidor tiene un puerto asignado, que es el encargado de quedarse a la espera de que algún cliente realice cualquier petición.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q

4.4.- Sockets

Sockets. Cliente

A

Para que un cliente pueda comunicarse con un servidor, debe conocer su dirección IP y el puerto asignado, y realizar la petición.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
61
Q

4.4.- Sockets

Sockets. Servidor. Respuesta

A

Cuando el servidor recibe la petición, si decide aceptarla, asigna el puerto para la comunicación, de forma que el socket conocido por el cliente queda libre para recibir a nuevos clientes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
62
Q

4.4.- Sockets

Sockets. Cliente. Petición

A

Como la petición la realiza desde el puerto del cliente, el servidor ya conoce su puerto, y es el cliente el que aceptará la conexión, y después, asignará el puerto para el envío de mensajes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
63
Q

4.4.- Sockets

Sockets. Tipos

Existen dos tipos de sockets

A

Existen dos tipos de sockets:
* Sockets orientados a conexión
* Sockets no orientados a conexión.

64
Q

4.4.- Sockets

Sockets orientados a conexión. Protocolo TCP. Definición

A

Este tipo de sockets utilizan el protocolo TCP. Se utilizan para aquellas aplicaciones que requieren una alta fiabilidad en el envío de mensajes, puesto que, mediante este protocolo, aseguran la entrega de todos y cada uno de los paquetes, en el mismo orden en el que fueron enviados.

65
Q

4.4.- Sockets

Sockets orientados a conexión. Protocolo TCP. Verificacion

A

Para ello, se utiliza una verificación de los paquetes en el receptor, enviando un acuse de recibo. Si el emisor del mensaje no lo recibe, se procederá entonces al reenvío del paquete.

66
Q

4.4.- Sockets

Sockets orientados a conexión. Establecimiento de conexión

A

Otra de las principales características de este tipo de sockets es el establecimiento de la conexión. Para realizarla es necesario el envío de varios mensajes antes de comenzar el intercambio de mensajes

67
Q

4.4.- Sockets

Sockets orientados a conexión. Pre-envio de mensajes del cliente

A
  • Petición del cliente de establecer conexión (SYN).
  • Confirmación (ACK) por parte del servidor para establecer la conexión (SYN).
  • Confirmación de cliente del mensaje anterior (ACK).

Una vez que estos tres mensajes han sido enviados, es posible empezar a enviar mensajes entre los dispositivos.

68
Q

4.4.- Sockets

Sockets orientados a conexión. Finalización de conexión

Existen dos tipos de sockets

A

Cuando termina el envío de mensajes, el cliente es el que decide cerrar la conexión, para ello existen otro tipo de mensajes

69
Q

4.4.- Sockets

Sockets orientados a conexión. Post-envio de mensajes del cliente

A
  • El cliente envía el mensaje para cerrar la conexión (FIN).
  • El servidor confirma el cierre de conexión (ACK).
  • El servidor envía el cierre de la conexión (la otra vía) (FIN).
  • El cliente confirma el cierre de conexión (ACK)
70
Q

4.4.- Sockets

Sockets orientados a conexión. Servicios

A

Los sockets orientados a conexión se utilizan en distintos servicios como, por ejemplo, FTP, Telnet, HTTP y SMTP.

71
Q

4.4.- Sockets

Sockets orientados a conexión. Servicios

A

Los sockets orientados a conexión se utilizan en distintos servicios como, por ejemplo, FTP, Telnet, HTTP y SMTP.

72
Q

4.4.- Sockets

Sockets no orientados a conexión. Protocolo UDP. Definición

A

Este tipo de sockets utilizan el protocolo UDP

73
Q

4.4.- Sockets

Sockets no orientados a conexión. Protocolo UDP. Verificación

A

Al contrario que los anteriores, este tipo de sockets no garantizan que los mensajes enviados lleguen a su destino, por lo que no es un protocolo fiable. Además, tampoco garantizan que los paquetes vayan a llegar en el orden enviado

74
Q

4.4.- Sockets

Sockets no orientados a conexión. Conexión y mensajes

A

A cambio de esto, ofrecen una mayor velocidad en el intercambio de los mensajes, puesto que no tienen que establecer conexión para ello, ni controlar los mensajes que han llegado.

75
Q

4.4.- Sockets

Sockets no orientados a conexión. Servicios

A

Los sockets no orientados a conexión también son utilizados en los servicios. En este caso son utilizados por SNTP, DNS y NFS

76
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos

A

En la capa de transporte hay que destacar dos protocolos,TCP y UDP, que son muy importantes en la comunicaciónen red.

77
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias

A
  • Conexión
  • Función
  • Uso
  • Uso por otros protocolos
  • Ordenar por paquetes de data
  • Velocidad de transferencia
  • Confiabilidad
  • Tamaño de título
  • Campos comunes de títulos
  • Fluidez
  • Peso
  • Control de flujo de data
  • Verificación de errores
  • Campos
  • Reconocimiento
  • Handshake (verifica conexiones en tres tiempos)
78
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Conexión

A
  • TCP: Protocolo orientado a conexiones.
  • UDP: Protocolo sin conexiones.
79
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Función

A
  • TCP: Se usa para enviar mensajes por Internet de una computadora a otra, mediante conexiones virtuales.
  • UDP: Se usa para transporte de mensajes y/o transferencias. Al no estar basada en conexiones, un programa puede enviar una carga de paquetes y recibirse en el destino.
80
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Uso

A
  • TCP: Aplicaciones que requieren confiablidad alta y donde el tiempo de transmisión es menos crítico.
  • UDP: Aplicaciones que necesitan transmisión rápida y efectiva. Servidores que reciben una gran cantidad de peticiones pequeñas de un alto número de clientes.
81
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Uso por otros protocolos

A
  • TCP: HTTP, HTTPS, SMTP, Telnet.
  • UDP: DNS, DHCP, TFTP, SNMP, RIP, VoIP.
82
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Ordenar por paquetes de data

A
  • TCP: Orden especificado.
  • UDP: No tienen orden inherente. Los paquetes son independientes unos de los otros. Si requieren un orden, esto se maneja a nivel de aplicación.
83
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Velocidad de transferencia

A
  • TCP: Más lento.
  • UDP: No hace falta verificación de errores por paquete, por lo que su velocidad es mayor.
84
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Confiabilidad

A
  • TCP: Ofrece una garantía absoluta de que los datos llegarán en el mismo orden en que se enviaron.
  • UDP: No hay garantía de que los paquetes de datos lleguen.
85
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Tamaño del título

A
  • TCP: 20 bits.
  • UDP: 8 bits
86
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Campos comunes de títulos

A
  • TCP/UCP: Puerto de origen, puerto de destino, checksum.
87
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Fluidez

A
  • TCP: Los datos se leen como una secuencia de bits y no se transmiten indicadores para los límites desegmentos de los mensajes.
  • UDP: Los paquetes son enviados individualmente; se verifica su integridad solo si llegan. Los paquetes tienen límites definidos, que comprueban que el mensaje está completo.
88
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Peso

A
  • TCP: TCP es pesado. Requiere tres paquetes para establecer una conexión antes de transmitir. TCP maneja confiabilidad y control de congestión.
  • UDP: UDP es liviano. No hay ordenamiento de mensajes ni conexiones de verificación.
89
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Control de flujo de data

A
  • TCP: Sí realiza control de flujo. Requiere tres paquetes para establecer una conexión antes de transmitir. Maneja confiabilidad y control de congestión.
  • UDP: No se realiza control de flujo.
90
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Verificación de errores

A
  • TCP: Sí hay verificación de errores.
  • UDP: Sí hay verificación de errores, pero no tiene opciones para recuperar los datos perdidos.
91
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Campos

A
  • TCP: Número de secuencia, Número de ACK, Índice data, Reservado, Bit de control, Ventana, Indicador de urgencia, Opciones, Relleno, CheckSum, Puerto de origen, Puerto de destino.
  • UDP: Largo, Puerto de origen, Puerto de destino, CheckSum.
92
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Reconocimiento

A
  • TCP: Hay segmentos de reconocimiento.
  • UDP: No hace reconocimiento.
93
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Handshake (verifica conexiones en tres tiempos)

A
  • TCP: SYN, SYN-ACK, ACK.
  • UDP: No hace esta verificación.
94
Q

4.5.- Sockets para transmisión y recepción de información

Capa de transporte. Protocolos. Diferencias. Checksum

A
  • TCP: Completo.
  • UDP: Solo para detectar errores.
95
Q

4.6.- Creación de Sockets

Sockets orientados a conexión. Clase ServerSocket. Definición

A

Es la clase que se debe instanciar en la parte del servidor para crear el puerto que se queda esperando a la conexión por parte de los clientes.

96
Q

4.6.- Creación de Sockets

Sockets orientados a conexión. Clase ServerSocket. Constructores

Existen distintos constructores

A

Existen distintos constructores:
* ServerSocket ()
* ServerSocket (int port)
* ServerSocket (int port, int baklog)
* ServerSocket (int port, int baklog, InetAdress dirección)

97
Q

4.6.- Creación de Sockets

Sockets orientados a conexión. Clase ServerSocket. Constructores. ServerSocket ()

A

Crea un socket no enlazado.

98
Q

4.6.- Creación de Sockets

Sockets orientados a conexión. Clase ServerSocket. Constructores. ServerSocket (int port)

A

Crea un socket enlazado al puerto especificado.

99
Q

4.6.- Creación de Sockets

Sockets orientados a conexión. Clase ServerSocket. Constructores. ServerSocket (int port, int baklog)

A

Crea un socket enlazado al puerto especificado, indicando el número máximo de peticiones que pueden estar en cola.

100
Q

4.6.- Creación de Sockets

Sockets orientados a conexión. Clase ServerSocket. Constructores. ServerSocket (int port, int baklog, InetAdress dirección)

A

Crea un socket enlazado al puerto especificado y a una dirección IP, indicando el número máximo de peticiones que pueden estar en cola.

101
Q

4.6.- Creación de Sockets

Sockets orientados a conexión. Clase Socket. Definición

A

Es la clase que se debe instanciar en la parte del cliente.

102
Q

4.6.- Creación de Sockets

Sockets orientados a conexión. Clase Socket. Constructores

Existen distintos constructores

A

Existen distintos constructores:
* Socket ()
* Socket (InetAddress address, int port)
* Socket (InetAddress address, int port, InetAddress localAddr, int localPort)
* Socket (String host, int port)
* Socket (String host, int port, InetAddress localAddr, int localPort)

103
Q

4.6.- Creación de Sockets

Sockets orientados a conexión. Clase Socket. Constructores. Socket ()

A

Crea un socket no conectado.

104
Q

4.6.- Creación de Sockets

Sockets orientados a conexión. Clase Socket. Constructores. Socket (InetAddress address, int port)

A

Crea un socket conectado al puerto indicado en la dirección IP especificada.

105
Q

4.6.- Creación de Sockets

Sockets orientados a conexión. Clase Socket. Constructores. Socket (String host, int port)

A

Crea un socket y lo conecta al puerto especificado en el host.

106
Q

4.6.- Creación de Sockets

Sockets orientados a conexión. Clase Socket. Constructores. Socket (String host, int port, InetAddress localAddr, int localPort)

A

Crea un socket y lo conecta al host remoto especificado en el puerto especificado.

107
Q

4.6.- Creación de Sockets

Sockets no orientados a conexión. Clase DatagramSocket. Definición

A

Es la clase que se debe instanciar tanto en la parte del cliente como en el servidor.

108
Q

4.6.- Creación de Sockets

Sockets no orientados a conexión. Clase DatagramSocket. Constructores

Existen distintos constructores:

A

Existen distintos constructores:
* DatagramSocket ()
* DatagramSocket (int port)
* DatagramSocket (int port, InnetAddress Iaddr)
* DatagramSocket (SocketAddress bindaddr)

109
Q

4.6.- Creación de Sockets

Sockets no orientados a conexión. Clase DatagramSocket. Constructores. DatagramSocket ()

A

Crea un socket UDP y lo conecta a cualquier puerto disponible de la máquina host remota.

110
Q

4.6.- Creación de Sockets

Sockets no orientados a conexión. Clase DatagramSocket. Constructores. DatagramSocket (int port)

A

Crea un socket UDP y lo conecta con el puerto especificado.

111
Q

4.6.- Creación de Sockets

Sockets no orientados a conexión. Clase DatagramSocket. Constructores. DatagramSocket (int port, InnetAddress Iaddr)

A

Crea un socket UDP y lo conecta a la dirección local especificada.

112
Q

4.6.- Creación de Sockets

Sockets no orientados a conexión. Clase DatagramSocket. Constructores. DatagramSocket
(SocketAddress bindaddr)

A

Crea un socket UDP y lo conecta a la dirección de socket local especificada.

113
Q

4.6.- Creación de Sockets

Sockets no orientados a conexión. Clase DatagramPacket. Definición

A

Es la clase que permite crear paquetes para enviarlos a través del socket UDP.

114
Q

4.6.- Creación de Sockets

Sockets no orientados a conexión. Clase DatagramPacket. Constructores

Existen distintos constructores:

A

Existen distintos constructores:
* DatagramPacket (byte [] buf, int longitud)
* DatagramPacket (byte [] buf, int longitud, InetAddress address, int port)
* DatagramPacket (byte [] buf, int offset, int longitud)
* DatagramPacket (byte [] buf, int longitud, SocketAddress address)

115
Q

4.6.- Creación de Sockets

Sockets no orientados a conexión. Clase DatagramPacket. Constructores. DatagramPacket (byte [] buf, int longitud)

A

Crea un datagrama que recibe paquetes de la longitud especificada.

116
Q

4.6.- Creación de Sockets

Sockets no orientados a conexión. Clase DatagramPacket. Constructores. DatagramPacket (byte [] buf, int longitud, InetAddress address, int port)

A

Crea un datagrama que envía paquetes de la longitud especificada al puerto especificado,

117
Q

4.6.- Creación de Sockets

Sockets no orientados a conexión. Clase DatagramPacket. Constructores. DatagramPacket (byte [] buf, int offset, int longitud)

A

Crea un datagrama que recibe paquetes de la longitud especificada del puerto especificado.

118
Q

4.6.- Creación de Sockets

Sockets no orientados a conexión. Clase DatagramPacket. Constructores. DatagramPacket (byte [] buf, int longitud, SocketAddress address)

A

Crea un datagrama que envía paquetes de la longitud especificada al host especificado.

119
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase ServerSocket. Funciones

Algunos de sus métodos más importantes

A

Algunos de sus métodos más importantes:
* Socket accept ()
* void bind (SocketAddress endpoint)
* void close ()
* InetAddress getInetAddress ()
* int getPort ()

120
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase ServerSocket. Funciones. Socket accept ()

A

Acepta una petición de conexión por parte del cliente.

121
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase ServerSocket. Funciones. void bind (SocketAddress endpoint)

A

Vincula el socket a una dirección IP y a un puerto determinado.

122
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase ServerSocket. Funciones. void close ()

A

Cierra el socket.

123
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase ServerSocket. Funciones. InetAddress getInetAddress ()

A

Devuelve la dirección local del socket.

124
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase ServerSocket. Funciones. int getPort ()

A

Devuelve el puerto del socket.

125
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase Socket. Funciones

Algunos de sus métodos más importantes

A

Algunos de sus métodos más importantes:
* void bind (SocketAddress endpoint)
* void close ()
* void connect (SocketAddress endpoint)
* InputStream getInputStream ()
* InetAddress getLocalAddress ()
* int getLocalPort ()
* OutputStream getOutputStream ()
* int getPort ()
* boolean isClosed ()
* boolean isConnected ()

126
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase Socket. Funciones. void bind (SocketAddress endpoint)

A

Vincula el socket a una dirección local.

127
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase Socket. Funciones. void close ()

A

Cierra el socket.

128
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase Socket. Funciones. void connect (SocketAddress endpoint)

A

Conecta el socket con el servidor.

129
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase Socket. Funciones. InputStream getInputStream ()

A

Devuelve el flujo de entrada para el socket.

130
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase Socket. Funciones. InputStream InetAddress getLocalAddress ()

A

Devuelve la dirección a la que está conectado el socket.

131
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase Socket. Funciones. int getLocalPort ()

A

Devuelve el número de puerto local al está vinculado el socket.

132
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase Socket. Funciones. OutputStream getOutputStream ()

A

Devuelve el flujo de salida para el socket.

133
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase Socket. Funciones. int getPort ()

A

Devuelve el número de puerto remoto al que está conectado el socket.

134
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase Socket. Funciones. boolean isClosed ()

A

Comprueba si está cerrado el socket.

135
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase Socket. Funciones. boolean isConnected ()

A

Comprueba si está conectado el socket.

136
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase DatagramSocket. Funciones

Algunos de sus métodos más importantes

A

Algunos de sus métodos más importantes:
* InetAddress getAddress ()
* byte [] getData ()
* int getLength ()
* int getPort ()
* void setAddress (InetAddres address)
* void setData (byte [] data)
* void setLength (int longitud)
* void setPort (int port)

137
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase DatagramSocket. Funciones. InetAddress getAddress ()

A

Devuelve la dirección IP de la máquina con la que se ha realizado una transmisión de paquetes.

138
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase DatagramSocket. Funciones. byte [] getData ()

A

Devuelve el búfer de datos.

139
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase DatagramSocket. Funciones. int getLength ()

A

Devuelve la longitud de los datos.

140
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase DatagramSocket. Funciones. int getPort ()

A

Devuelve el puerto del host remoto con el que se ha realizado una transmisión de paquetes.

141
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase DatagramSocket. Funciones. void setAddress (InetAddres address)

A

Establece la dirección IP de la máquina a la que se envía este datagrama.

142
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase DatagramSocket. Funciones. void setData (byte [] data)

A

Establece el búfer de datos para un paquete.

143
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase DatagramSocket. Funciones. void setLength (int longitud)

A

Establece la longitud del paquete.

144
Q

4.7.- Enlazamiento y establecimiento de conexiones

Sockets orientados a conexión. Clase DatagramSocket. Funciones. void setPort (int port)

A

Establece el puerto del host remoto al que se envía el datagrama.

145
Q

4.8.- Programación de Cliente y Servidor

Socket TCP. Creación. Servidor

A

Cuando se crea un socket en el servidor, se queda esperando a que los clientes se conecten. Esto se realiza mediante la función accept( )

146
Q

4.8.- Programación de Cliente y Servidor

Socket TCP. Creación. Cliente

A

Cuando se crea un socket en el cliente, indicando el puerto y la dirección del socket servidor, se realiza la conexión entre el cliente y el servidor.

147
Q

4.8.- Programación de Cliente y Servidor

Socket TCP. Transmisión. Funciones

A

Una vez que existe conexión, comienza la transmisión de los datos, mediante funciones de write y read.

148
Q

4.8.- Programación de Cliente y Servidor

Socket TCP. Transmisión. Clases

A

Estas operaciones se realizan mediante las clases DataInputStream y DataOutputStream, que permiten utilizar diversos métodos de lectura y de escritura.

149
Q

4.8.- Programación de Cliente y Servidor

Socket TCP. Finalización

A

Cuando se termina la transmisión de los datos, se cierra la conexión, y también el socket del cliente. Después, cuando el servidor acaba su función, también se cierra.

150
Q

4.8.- Programación de Cliente y Servidor

Socket UDP. Creación. Servidor

A

Se crea un socket en el servidor que se queda a la espera de peticiones de clientes.

151
Q

4.8.- Programación de Cliente y Servidor

Socket UDP. Creación. Cliente

A

Cuando se crea un socket en el cliente, se conecta al socket del servidor.

152
Q

4.8.- Programación de Cliente y Servidor

Socket UDP. Creación. Transmisión

A

Una vez realizada la conexión se envían los distintos datagramas mediante los métodos send y receive.

153
Q

4.8.- Programación de Cliente y Servidor

Socket UDP. Creación. Finalización

A

Cuando se termina la transmisión de los datos, se cierra el socket del cliente. El servidor se puede quedar a la espera de otros clientes, pero cuando el servidor termina su función, también hay que cerrar su socket.

154
Q

4.9.- Hilos en programación de aplicaciones en red

Sockets. Simultaneidad. Problema

A

Mediante los sockets creados hasta ahora, el servidor
únicamente es capaz de trabajar con un cliente simultáneamente,

155
Q

4.9.- Hilos en programación de aplicaciones en red

Sockets. Simultaneidad. Solución

A

La solución para esto pasa por la creación de hilos para contestar a cada cliente. Es decir, cuando se crea el socket del servidor y se queda esperando clientes y recibe la petición de un cliente, debe crear un hilo con el resto del funcionamiento del servidor. De esta forma, el servidor podrá atender a todos los clientes que realicen la petición.