Está en la página 1de 13

Comunicaciones

Comunicaciones:
Mecanismo(s) de intercambio de informacin entre 2 ms
computadores conectados entre s o a travs de otros.

Terminologa:
Trama: unidad de informacin a transmitir
Medio: elemento fsico por el que circula la informacin, y
caractersticas de dicho medio.
Interfaz: conexin del computador al medio fsico.
Emisor: dispositivo/programa que genera y enva una trama.
Receptor: dispositivo/programa que debe recibir y procesar una
trama.
Cliente: dispositivo/programa que inicia una secuencia de
comunicacin.
Servidor: dispositivo/programa que espera una comunicacin.
Comunicaciones
Punto a punto: slo hay un emisory un
receptor
Serie (RS-232,USB)
Paralelo
Inalmbrica (Bluetooth)

Multipunto: un emisor,
mltiples posibles receptores
Serie (I2C, CAN, RS-485)
Red (Ethernet)
Inalmbrica (Wifi)
Comunicaciones
Especificacin de comunicaciones: modelo
de capas (ISO/OSI)

Secuencia de comunicacin y contenido de las tramas


(responsabilidad del programador)

Capas intermedias para asegurar el enrutado, la


conexin lgica, el chequeo de errores, etc.
Cada capa usa los servicios de la inmediatamente
inferior.

Definicin del medio fsico, cableado, conectores, niveles


de tensin/corriente, flujo de bits, etc.
Comunicaciones
La programacin de comunicaciones a nivel de capa
de aplicacin:
Codificar en tramas los contenidos a transmitir.
Definir la secuencia de comunicacin: establecimiento de
conexin, envo/recepcin, fin de conexin.
Identificar al receptor en comunicaciones multi-punto.
Establecer protocolo de acceso al medio si no existe en las
capas inferiores.
Establecer mtodo de deteccin/correccin de errores si no
existe en las capas inferiores.
Equipos pequeos (sin S.O.): programacin del interfaz
a nivel de puertos e interrupciones.
Equipos grandes (con S.O.): programacin a nivel de
dispositivos de E/S.
Comunicaciones en red TCP/IP
Redes de ordenadores: grupo de ordenadores autnomos
interconectados
Interconexin de dos o ms ordenadores: situacin en la que
stos son capaces de intercambiar informacin.
Autnomos: excluye aquellos casos donde existe una clara
relacin maestro/esclavo.

Utilidades de las redes de Ordenadores para las empresas:


Comparticin de recursos
Mayor fiabilidad
Reduccin de costes
Mayor flexibilidad
Simplificacin y agilizacin de comunicacin
Utilidades de las redes de Ordenadores para el pblico general:
Acceso a informacin remota
Una nueva forma de comunicacin personal
Nuevas formas de entretenimiento
Utilidades de las redes de Ordenadores para la industria:
Implementacin del control distribuido
Comunicaciones en red TCP/IP
Sistema de comunicacin: conjunto de hardware y
software que permite la comunicacin entre
estaciones.
Funciones del sistema de comunicacin:
Identificar las estaciones que conforman la red
Establecimiento de conexiones y multiplexacin de canales
Control de errores durante la comunicacin
Fragmentacin y reconstruccin de los mensajes
Compactacin de mensajes
Manejo de congestiones y control del flujo de la informacin
Sincronizacin
Establecimiento de distintos niveles de prioridad
Comunicaciones en red TCP/IP
Modelo de capas ISO/OSI
Comunicaciones en red TCP/IP
Protocolo de red IP (Internet Protocol):
Identificacin de un nodo en la red: direccin IP, formada por 4 bytes
Identificacin de un programa usuario del nodo: n de puerto

Protocolo de transporte con conexin: TCP


Conexin punto a punto (direccin IP + n puerto)
Conexin -> envo de datos -> cierre conexin
Conexin segura: el protocolo asegura que no hay prdida de
mensajes, el troceado, la reconstruccin y el orden.

Protocolo de transporte sin conexin: UDP


No hay conexin
Envo y recepcin de datos a cualquier punto (direccin IP + n puerto)
Envo y recepcin no seguros
Puertos IP
Puertos estndar:
20 FTP data (File Transfer Protocol)
21 FTP (File Transfer Protocol)
22 SSH (Secure Shell)
23 Telnet
25 SMTP (Send Mail Transfer Protocol)
43 whois
53 DNS (Domain Name Service)
68 DHCP (Dynamic Host Control Protocol)
79 Finger
80 HTTP (HyperText Transfer Protocol)
110 POP3 (Post Office Protocol, version 3)
115 SFTP (Secure File Transfer Protocol)
119 NNTP (Network New Transfer Protocol)
123 NTP (Network Time Protocol)
137 NetBIOS-ns
138 NetBIOS-dgm
139 NetBIOS
143 IMAP (Internet Message Access Protocol)
161 SNMP (Simple Network Management Protocol)
194 IRC (Internet Relay Chat)
220 IMAP3 (Internet Message Access Protocol 3)
389 LDAP (Lightweight Directory Access Protocol)
443 SSL (Secure Socket Layer)
445 SMB (NetBIOS over TCP)
666 Doom
993 SIMAP (Secure Internet Message Access Protocol)
995 SPOP (Secure Post Office Protocol)

Aplicaciones de usuario:
1024 a 65535
Comunicaciones en red TCP/IP
Protocolo de encaminamiento: IP
Permite hacer llegar los paquetes a su destino a travs de
routers o encaminadores
Direccin IP compuesta por 4 nmeros de 8 bits: x.x.x.x
Servicio de nombres (DNS) para evitar conocer la direccin IP
de cada nodo
....
unival.es carbon.etsimo.uniovi.es hierro.etsimo.uniovi.es
130.25.15.24 130.25.15.69 .... 130.25.15.135
rediris.es
unimad.es etsimo.uniovi.es 130.25.15
130.25.15.203
ROUTER
130.25.50.25
uniovi.es 130.25
130.25.50.1 130.25.50.15
ROUTER
130.25.50.11 130.25.50.21
ROUTER
130.25.11.203 130.25.13.203
etsiig.uniovi.es 130.25.11 euitig.uniovi.es 130.25.13

130.25.11.10 130.25.11.29 .... 130.25.11.132 130.25.13.3 130.25.13.31 .... 130.25.13.55


autom.etsiig.uniovi.es oboe.etsiig.uniovi.es solar.euitig.uniovi.es
Comunicaciones en red TCP/IP
socket: identificacin de una conexin punto a punto entre 2
dispositivos conectados en red (direccin + puerto).
Declaracin de identificador:
int sock;
1er paso: crear id. vlido de socket (tipo SOCK_STREAM para
TCP, tipo SOCK_DGRAM para UDP):
sock=socket(AF_INET,SOCK_STREAM,0);
2 paso: asignar puerto local al socket:
struct sockaddr_in add_local;
Rellenar campos de add_local: direccin IP, puerto
(network order), protocolo
err = bind(sock,(struct sockaddr*) &add_local, sizeof(struct
sockaddr_in));
Si no ha habido errores, el socket ya puede ser utilizado para:
Conectar + enviar/recibir + desconectar (TCP)
Enviar/recibir (UDP)
Comunicaciones en red TCP/IP
Programacin de sockets sin conexin (UDP)

Enviar datos:
ssize_t sendto(int sockfd, const void *buf, size_t len,
int flags, const struct sockaddr *dest_add,
socklen_t add_len);
ssize_t send (int sockfd, const void *buf, size_t len,int flags);
Recibir datos:
ssize_t recv(int sockfd, void *buf, size_t len, int flags);

ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,


struct sockaddr *src_addr, socklen_t *addrlen);

Cerrar el socket:
close(sock);

No hay seguridad de que los datos hayan llegado aunque err==0


Si se envan varios mensajes, no hay seguridad del orden de llegada (pueden seguir
rutas distintas)
Si el mensaje es demasiado grande, es responsabilidad del remitente trocearlo y
enviarlo, y del receptor componer los trozos.
Comunicaciones en red TCP/IP
Programacin de sockets con conexin (TCP)

Establecimiento de conexin: modelo cliente/servidor.


Cliente: solicitante de una conexin (ej. navegador web)
Servidor: receptor de una solicitud de conexin (ej. servidor de pginas web).
Hasta que no se establezca una conexin no se pueden enviar y recibir datos
Se asegura la llegada de los mensajes y su orden
Se trocean y recomponen automticamente los mensajes demasiado grandes.
LADO CLIENTE LADO SERVIDOR
Solicitud de conexin: Admitir solicitudes de conexin: listen()
struct sockaddr_in addr_servidor; err=listen(sock,n_conex_max);
Rellenar campos de addr_servidor Esperar por una conexin: accept()
err=connect(sock,(struct sockaddr*) int conectado;
&addr_servidor,sizeof(struct struct sockaddr_in addr_cliente;
sockaddr_in)); int len=sizeof(struct sockaddr_in);
conectado=accept(sock,(struct
Si no hay error, se ha establecido la sockaddr*) &addr_cliente,&len);
conexin: se pueden enviar y recibir Si no hay error, se ha establecido la
datos con send() y recv() conexin con el socket conectado: se
Cerrar conexin con close() pueden enviar y recibir datos con send()
y recv().
Cerrar conexin con close(conectado);

También podría gustarte