Programación de comunicacións en rede
Sumario
Distintos modelos de comunicaciones entre procesos
Modelo de niveles de TCP/IP
Resolución de nomes
Práctica
Resumo
- Os protocolos de comunicación de nivel de transporte UDP y TCP permiten a comunicación entre procesos que se executan en distintos ordenadores (e que por tanto non comparten memoria).
- DNS
- é un protocolo importante que proporciona resolución de nomes a enderezos IP.
- fai posible o uso de nomes en lugar de enderezos IP para facer referencia a máquinas determinadas.
- A comunicación entre procesos con estos protocolos faise a través de sockets.
- Un socket para un protocolo de transporte (sexa UDP ou TCP) está ligado a:
- a unha interfaz de rede
- a un número de porto
- UDP
- é un protocolo de transporte non orientado a conexión que proporciona un servizo de entrega de paquetes individuais de datos chamados datagramas de UDP ou datagramas de usuario
- Non garantiza a súa entrega nin que cheguen ó seu destino no mesmo orden en que se envían desde a orixe.
- No propio datagrama está o enderezo IP e o porto de orixe; isto é todo o preciso para enviar datagramas de resposta.
- TCP
- é un protocolo de transporte orientado a conexión que proporciona un servicio de entrega fiable de segmentos de datos, unha vez establecida unha conexión, a través de streams asociados a la conexión; de xeito que o que un proceso escribe nun stream de saída o obten o outro de un stream de entrada, estando ambos streams conectados.
- Con TCP hay dous tipos de sockets:
- Os sockets de servidor serven para recibir peticións de conexión por parte de clientes.
- Unha vez establecida a conexión, cliente e servidor comunícanse a través de sendos sockets de comunicación, cada un ligado a un stream binario de saída e outro de entrada, de xeito que o stream de salida de un está conectado o de entrada do outro; o que permite para ambos procesos o envío e recepción de datos en modo full duplex.
- Existen:
- protocolos de aplicación baseados en texto e protocolos binarios, xa usen UDP ou TCP
- protocolos de aplicación con estado e sen estado. Os protocolos con estado son más difíciles de programar; podense facer con base nunha máquina de estados baseada no diagrama de estados para o servidor do protocolo.
- Pódense programar servidores multifío para protocolos de aplicación
- baseados en UDP, que poden crear novos fíos para responder a datagramas de UDP particulares; isto mellora o tempo de resposta e proporciona un mellor servizo.
- baseados en TCP, que crean novos fíos para xestionar novas conexións de clientes; isto permite atender a máis dun cliente á vez.