Ingeniero de sistemas

Páginas: 5 (1091 palabras) Publicado: 28 de agosto de 2012
SOCKETS
MSc. Eloy Espozo Espinoza

Introducción
• Internet es un canal a través del cual se puede transmitir

información • Todas las comunicaciones ahora se realizan a través de Internet • Internet crece a un ritmo vertiginoso y constantemente se mejoran los canales de comunicación con el fin de aumentar la rapidez de envío y recepción de datos. • Se debe abstraer el proceso decomunicación entre dos equipos mediante Internet

Comunicaciones entre procesos
• La programación de red involucra la interacción de dos o más

procesos • La IPC provee un mecanismo que permite a los procesos comunicarse y sincronizarse entre sí, a través de la red subyacente • El método de IPC usado varía en base al tipo de datos comunicados y las características de la comunicación. • La comunicaciónsigue una serie de reglas (protocolos de comunicación)

Comunicaciones entre procesos
• IPC en sistemas Linux y windows:

Protocolos de comunicación
• Conjunto de reglas normalizadas para la representación,

señalización, autenticación y detección de errores necesario para enviar información a través de un canal de comunicación • Especificaciones
– Sintaxis: se especifica como son ycomo se construyen. – Semántica: que significa cada comando o respuesta del protocolo

respecto a sus parámetros/datos. – Procedimientos de uso de esos mensajes: es lo que hay que programar realmente (los errores, como tratarlos).

Suite de protocolos TCP/IP
• Conjunto de protocolos

diseñado con una arquitectura en capas. • Las capas permiten a los diseñadores del protocolo dividir enmódulos las tareas y servicios que realizará el mismo. • Especifica la manera en que un módulo interactúa con otros.

Protocolo IP
• Provee el servicio de entrega de paquetes de una

máquina a otra • Es un protocolo jerárquico no orientado a conexión • Permite identificar unívocamente a un equipo en Internet

Protocolos TCP y UDP
• TCP • Protocolo orientado a conexión • Ofrece control de flujoy confiabilidad de entrega • Brinda soporte a muchas de las aplicaciones de Internet

• UDP • Protocolo no orientado a conexión • Ofrece velocidad de transmisión • Generalmente usado por las aplicaciones que requieren tiempo real

Números de Puerto
• Interfaz para comunicarse con una aplicación o programa

a través de una red • Identifican los procesos asociados a cada canal de datos Socket
• Socket se refiere a un elemento abstracto que sirve para

establecer la comunicación entre dos procesos remotos • Son el mecanismo principal para la entrega de paquetes o datagramas • Está definido por la asociación:
• Dirección IP origen, Dirección IP destino, Puerto origen, Puerto

destino, protocolo de transporte

Sockets Berkeley
• Interfaz de entrada-

salida que permitecomunicar dos procesos que pueden estar ejecutándose en el mismo sistema o en sistemas diferentes • Es una API para protocolos de comunicación desarrollada para el lenguaje C

Winsock
• Biblioteca dinámica de funciones DLL para sistemas

Windows • Incluye soporte para envío y recepción de datos a través de sockets Berkeley

Ejemplos de Sockets

Información del socket
• Toda lainformación relacionada al socket se almacena en

la estructura siguiente, definida en :
struct sockaddr { unsigned short sa_family; /* familia de la dirección */ char sa_data[14]; /* 14 bytes de la dirección del protocolo */ };

Direcciones de Socket
• Los 14 bytes de las direcciones Internet se almacenan en

la estructura definida en :
struct in_addr { unsigned long s_addr; }; structsockaddr_in { short int sin_family; /* Familia de la Dirección */ unsigned short int sin_port; /* Puerto */ struct in_addr sin_addr; /* Dirección de Internet */ unsigned char sin_zero[8]; /* De igual tamaño que struct sockaddr */ };

Llamada Socket()
• Para realizar una conexión por red, primero se debe abrir

un socket especificando el protocolo a usar
#include #include int socket(int family,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ingeniero En Sistemas
  • Ingeniero De Sistemas
  • Ingeniero En Sistema
  • Ingeniero en sistemas
  • Ingeniero De Sistemas
  • Ingeniero en Sistemas
  • Ingeniero de Sistemas
  • ingeniero en sistemas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS