Diferencia entre revisiones de «Programación de comunicacións en rede»
(→Resumo) |
|||
| Línea 1: | Línea 1: | ||
| − | = Distintos modelos de | + | = Distintos modelos de comunicacións entre procesos = |
| + | Na unidade didáctica primeira: | ||
| + | * aprendeuse a desenvolver aplicacións compostas de '''múltiples procesos que se comunican entre si mediante mecanismos de entrada/saída (E/S) secuenciais''', de xeito que uns procesos poden ler datos de ficheiros ou ''streams'' xenerados por outros. | ||
| + | * analizáronse os distintos tipos de sistemas existentes dependendo de se tiñan un procesador (sistemas monoprocesadores) ou varios (sistemas multiprocesadores). E neste último caso, segundo: | ||
| + | ** se compartían memoria e sistema de E/S (sistemas multiprocesadores fortemente acoplados) | ||
| + | ** se non compartían (sistemas multiprocesadores débilmente acopaldos) | ||
| + | ** sistemas distrbuídos | ||
| + | |||
| + | Na segunda unidade didáctica: | ||
| + | * aprendeuse a desenvolver aplicacións compostas de múltiples fíos que se comunican entre sí mediante memoria compartida, de xeito que o que un fío esribe na memoria podeno ler directamente os demáis; a memoria compartida permite a comunicación entre obxectos, e polo tanto de máis alto nivel, flexible e natural. | ||
| + | |||
| + | os modelos anteriores (procesos que se comunican mediante E/S e hilos que se comunican mediante memoria compartida) son apropiados para sistemas monoprocesadores y también para sistemas multiprocesadores fuertemente acoplados, que comparten memoria y el sistema de E/S, bajo el control de un único sistema operativo. | ||
| + | |||
| + | Nesta unidade aprenderase a desenvolver aplicacións concurrentes apropiadas para sistemas distribuidos; os procesos executanse en distintos procesadores de sistemas independeentes, y comunícanse a través dunha rede mediante protocolos estándares de comunicacións. | ||
| + | |||
| + | É posble distinguir dous modelos particulares: | ||
| + | * o modelo cliente/servidor (C/S), onde algúns procesos (procesos servidores) proporcionan servizos a outros (procesos clientes) | ||
| + | * o modelo entre iguais ou P2P (''peer to peer''), onde todos os procesos cooperan entre si y funcionan de xeito similar, sen que haiba unha especialización dos procesos. | ||
| + | |||
| + | == Modelos desde a perspectiva histórica == | ||
| + | Estos distintos modelos pódense enmarcar nunha perspectiva histórica, en tres etapas: | ||
| + | # '''Computación illada'''. Ata os anos 80 os ordenadores funcionaban de xeito independente e non estaban conectados entre si. Non había comunicación entre procesos que se executaban en ordenadores distintos. | ||
| + | # '''Computación en redes locais C/S'''. A partir dos anos 80 xeneralizanse as redes locais no ámbito empresarial; nestas redes existían ordenadores especializados nos que se executan procesos servidores, que proporcionaban servizos a outros procesos dentro da red local (clientes). A comunicación entre procesos realizábase mediante protocolos de rede privativos (non estándares). | ||
| + | # '''Computación distribuida'''. A irrupción da web durante os anos noventa extendeu o uso de internet máis alá dos ambitos militares, académicos e de investigación xeneralizándose o seu uso doméstico e empresarial. Os novos protocolos de rede estándares de internet sustituíron os protocolos privativos nas redes locais, o que fixo posible unha comunicación en rede non restrinxida ós limitesdas redes locais, e que permite a comunicación a través de internet entre procesos que se poden executan en dous ordenadores calquera do mundo. | ||
= Modelo de niveles de TCP/IP = | = Modelo de niveles de TCP/IP = | ||
Revisión del 01:01 2 oct 2021
Sumario
Distintos modelos de comunicacións entre procesos
Na unidade didáctica primeira:
- aprendeuse a desenvolver aplicacións compostas de múltiples procesos que se comunican entre si mediante mecanismos de entrada/saída (E/S) secuenciais, de xeito que uns procesos poden ler datos de ficheiros ou streams xenerados por outros.
- analizáronse os distintos tipos de sistemas existentes dependendo de se tiñan un procesador (sistemas monoprocesadores) ou varios (sistemas multiprocesadores). E neste último caso, segundo:
- se compartían memoria e sistema de E/S (sistemas multiprocesadores fortemente acoplados)
- se non compartían (sistemas multiprocesadores débilmente acopaldos)
- sistemas distrbuídos
Na segunda unidade didáctica:
- aprendeuse a desenvolver aplicacións compostas de múltiples fíos que se comunican entre sí mediante memoria compartida, de xeito que o que un fío esribe na memoria podeno ler directamente os demáis; a memoria compartida permite a comunicación entre obxectos, e polo tanto de máis alto nivel, flexible e natural.
os modelos anteriores (procesos que se comunican mediante E/S e hilos que se comunican mediante memoria compartida) son apropiados para sistemas monoprocesadores y también para sistemas multiprocesadores fuertemente acoplados, que comparten memoria y el sistema de E/S, bajo el control de un único sistema operativo.
Nesta unidade aprenderase a desenvolver aplicacións concurrentes apropiadas para sistemas distribuidos; os procesos executanse en distintos procesadores de sistemas independeentes, y comunícanse a través dunha rede mediante protocolos estándares de comunicacións.
É posble distinguir dous modelos particulares:
- o modelo cliente/servidor (C/S), onde algúns procesos (procesos servidores) proporcionan servizos a outros (procesos clientes)
- o modelo entre iguais ou P2P (peer to peer), onde todos os procesos cooperan entre si y funcionan de xeito similar, sen que haiba unha especialización dos procesos.
Modelos desde a perspectiva histórica
Estos distintos modelos pódense enmarcar nunha perspectiva histórica, en tres etapas:
- Computación illada. Ata os anos 80 os ordenadores funcionaban de xeito independente e non estaban conectados entre si. Non había comunicación entre procesos que se executaban en ordenadores distintos.
- Computación en redes locais C/S. A partir dos anos 80 xeneralizanse as redes locais no ámbito empresarial; nestas redes existían ordenadores especializados nos que se executan procesos servidores, que proporcionaban servizos a outros procesos dentro da red local (clientes). A comunicación entre procesos realizábase mediante protocolos de rede privativos (non estándares).
- Computación distribuida. A irrupción da web durante os anos noventa extendeu o uso de internet máis alá dos ambitos militares, académicos e de investigación xeneralizándose o seu uso doméstico e empresarial. Os novos protocolos de rede estándares de internet sustituíron os protocolos privativos nas redes locais, o que fixo posible unha comunicación en rede non restrinxida ós limitesdas redes locais, e que permite a comunicación a través de internet entre procesos que se poden executan en dous ordenadores calquera do mundo.
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.