El proyecto Aeroseth es distribuido porque se ejecuta dentro de una red de computadoras que comparten información a través de un protocolo.
Cada computadora puede tener o no la misma hora, y aunque sea distinta, la comunicación entre las mismas no se ve distorsionada, puesto que se sincronizan utilizando mensajes.
Las computadoras envían y reciben información, con el objetivo de satisfacer las necesidades de la empresa Aeromar, entre las cuales están: la falta de un control en la entrada y salida de piezas, un registro de las bitácoras realizadas por los mecánicos, la planeación de las fechas de reparación y de los vuelos y la administración del personal.
Si dentro de la red, alguna computadora falla o presenta un desperfecto, las demás no resultan afectadas por el error.
Se pueden agregar varias computadoras al sistema original sin que haya errores entre las mismas, y pueden poseer distintas características, pero de preferencia deben poseer Windows 7.
Las unidades de procesamiento pueden realizar distintas tareas, como navegar por internet, reproducir música o escribir algún texto, al mismo tiempo que se comunican entre ellas.
viernes, 29 de noviembre de 2013
miércoles, 20 de noviembre de 2013
Clase ClienteJuego
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ahorcado;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import javax.swing.JOptionPane;
/**
*
* @author Alumnos
*/
public class ClienteJuego extends Frame implements ActionListener{
private TextField letra = new TextField(1);
private Label palabra = new Label("");
private Label letras_ocupadas = new Label("");
private Label ganador = new Label("");
private Button ok = new Button("Ingresar");
private Graphics g;
private int comparador[];
private String palabra_actual = "";
private int errores = 0;
Label turno;
Label turno2;
int jugador;
BufferedReader entrada;
PrintWriter salida;
public ClienteJuego(){
super("Juego del Ahorcado");
Socket socket = new Socket();
try {
socket = new Socket("localhost",2250);
entrada = new BufferedReader(new InputStreamReader(socket.getInputStream()));
salida = new PrintWriter(socket.getOutputStream(), true);
Thread lectura = new Thread( new Lector());
lectura.start();
System.out.println("Conexion Establecida con Servidor");
} catch (IOException e) {
System.err.println("No se pudo establecer la conexión");
System.exit(1);
}
setLayout(new BorderLayout());
setBackground(Color.yellow);
setResizable(false);
Canvas canvas = new Canvas();
canvas.setSize(200,300);
Panel p = new Panel(new GridLayout(5,1));
Panel p1 = new Panel();
turno = new Label("Es Turno del jugador 1 : ");
turno2 = new Label("Es Turno del jugador 1 : ");
p1.add(turno);
p1.add(letra);
p1.add(ok);
Panel p2 = new Panel();
p2.add(new Label("Palabra : "));
p2.add(palabra);
Panel p3 = new Panel();
p3.add(new Label("Ha ingresado las siguientes Letras : "));
p.add(p1);p.add(p2);p.add(p3);p.add(letras_ocupadas);p.add(ganador);
add("West",canvas);
add("Center",p);
ok.addActionListener(this);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent w){
System.exit(0);
}});
setSize(500,330);
show();
g = canvas.getGraphics();
}
@Override
public void actionPerformed(ActionEvent e) {
String l = String.valueOf( letra.getText().charAt(0) );
System.out.println("La letra a mandar es: " + l);
salida.println(l.toUpperCase());
System.out.println("Mandando Letra a salida");
}
public static void main( String args[] ){
new ClienteJuego();
}
private class Lector implements Runnable{
String cadena;
@Override
public void run() {
try {
while(true){
cadena = entrada.readLine();
if( cadena != null ){
System.out.println("Recibiendo distinto de nulo en cliente");
String caracter = String.valueOf(cadena.charAt(2));
System.out.println("Caracter es: " + caracter );
if( cadena.charAt(0) == 'N' ){
jugador = cadena.charAt(1) - 47;
setTitle("JUGADOR " + jugador);
palabra_actual = cadena.substring(2).trim();
String aux = "";
System.out.println(palabra_actual);
comparador = new int[ palabra_actual.length() ];
System.out.println("llega");
for(int i = 0; i < palabra_actual.length(); i++){
aux = aux + "_ ";
comparador[i] = 0;
}
System.out.println("el auxiliar es: " + aux);
palabra.setText(aux);
}else if( cadena.charAt(0) == 'C' ){
if( (cadena.charAt(4)-47) == jugador ){
letra.enable(true);
turno.setText("Ingresa una letra:");
}else{
letra.enable(false);
turno.setText("Espera tu turno:");
}
String aux="";
for(int i = 0; i < comparador.length; i++){
if(caracter.equals(""+palabra_actual.charAt(i)) ){
comparador[i] = 1;
}
if(comparador[i]==1)
aux += palabra_actual.charAt(i);
else
aux += "_ ";
}
palabra.setText(aux);
}else if( cadena.charAt(0) == 'I' ){
System.out.println("el jugador es: " + jugador );
System.out.println("Y el caracter es: " + (cadena.charAt(4)-47) );
if( (cadena.charAt(4)-47) == jugador ){
letra.enable(true);
turno2.setText("Ingresa una letra: ");
}else{
turno2.setText("Espera tu turno:");
letra.enable(false);
}
turno.setText("");
errores++;
String aux = letras_ocupadas.getText();
if( aux.indexOf(caracter) < 0 )
aux += " " + caracter;
letras_ocupadas.setText(aux);
switch(errores){
case 1:
g.setColor(Color.red);
g.fillRect(110,220,30,10);break;
case 2:
g.fillRect(120,20,10,200);break;
case 3:
g.fillRect(70,20,50,10);break;
case 4:
g.fillRect(68,20,5,20);break;
case 5:
g.setColor(Color.black);
g.drawOval(50,40,40,40);break;
case 6:// Cuerpo
g.drawLine(70,80,70,150);break;
case 7:// Brazos
g.drawLine(70,100,40,100);break;
case 8:
g.drawLine(70,100,100,100);break;
case 9:// Piernas
g.drawLine(70,150,40,190);break;
case 10:
g.drawLine(70,150,100,190);
ganador.setText("Perdiste!!!");
palabra.setText(palabra_actual);
}
}else if(cadena.charAt(0) == 'P' ){
String puntos = cadena.substring(1);
JOptionPane.showMessageDialog(null, "Has Perdido con " + puntos);
}else{
String puntos = cadena.substring(1);
JOptionPane.showMessageDialog(null, "Has Ganado con " + puntos);
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("CONEXIÓN FINALIZADA");
System.exit(0);
}
}
}
}
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ahorcado;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import javax.swing.JOptionPane;
/**
*
* @author Alumnos
*/
public class ClienteJuego extends Frame implements ActionListener{
private TextField letra = new TextField(1);
private Label palabra = new Label("");
private Label letras_ocupadas = new Label("");
private Label ganador = new Label("");
private Button ok = new Button("Ingresar");
private Graphics g;
private int comparador[];
private String palabra_actual = "";
private int errores = 0;
Label turno;
Label turno2;
int jugador;
BufferedReader entrada;
PrintWriter salida;
public ClienteJuego(){
super("Juego del Ahorcado");
Socket socket = new Socket();
try {
socket = new Socket("localhost",2250);
entrada = new BufferedReader(new InputStreamReader(socket.getInputStream()));
salida = new PrintWriter(socket.getOutputStream(), true);
Thread lectura = new Thread( new Lector());
lectura.start();
System.out.println("Conexion Establecida con Servidor");
} catch (IOException e) {
System.err.println("No se pudo establecer la conexión");
System.exit(1);
}
setLayout(new BorderLayout());
setBackground(Color.yellow);
setResizable(false);
Canvas canvas = new Canvas();
canvas.setSize(200,300);
Panel p = new Panel(new GridLayout(5,1));
Panel p1 = new Panel();
turno = new Label("Es Turno del jugador 1 : ");
turno2 = new Label("Es Turno del jugador 1 : ");
p1.add(turno);
p1.add(letra);
p1.add(ok);
Panel p2 = new Panel();
p2.add(new Label("Palabra : "));
p2.add(palabra);
Panel p3 = new Panel();
p3.add(new Label("Ha ingresado las siguientes Letras : "));
p.add(p1);p.add(p2);p.add(p3);p.add(letras_ocupadas);p.add(ganador);
add("West",canvas);
add("Center",p);
ok.addActionListener(this);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent w){
System.exit(0);
}});
setSize(500,330);
show();
g = canvas.getGraphics();
}
@Override
public void actionPerformed(ActionEvent e) {
String l = String.valueOf( letra.getText().charAt(0) );
System.out.println("La letra a mandar es: " + l);
salida.println(l.toUpperCase());
System.out.println("Mandando Letra a salida");
}
public static void main( String args[] ){
new ClienteJuego();
}
private class Lector implements Runnable{
String cadena;
@Override
public void run() {
try {
while(true){
cadena = entrada.readLine();
if( cadena != null ){
System.out.println("Recibiendo distinto de nulo en cliente");
String caracter = String.valueOf(cadena.charAt(2));
System.out.println("Caracter es: " + caracter );
if( cadena.charAt(0) == 'N' ){
jugador = cadena.charAt(1) - 47;
setTitle("JUGADOR " + jugador);
palabra_actual = cadena.substring(2).trim();
String aux = "";
System.out.println(palabra_actual);
comparador = new int[ palabra_actual.length() ];
System.out.println("llega");
for(int i = 0; i < palabra_actual.length(); i++){
aux = aux + "_ ";
comparador[i] = 0;
}
System.out.println("el auxiliar es: " + aux);
palabra.setText(aux);
}else if( cadena.charAt(0) == 'C' ){
if( (cadena.charAt(4)-47) == jugador ){
letra.enable(true);
turno.setText("Ingresa una letra:");
}else{
letra.enable(false);
turno.setText("Espera tu turno:");
}
String aux="";
for(int i = 0; i < comparador.length; i++){
if(caracter.equals(""+palabra_actual.charAt(i)) ){
comparador[i] = 1;
}
if(comparador[i]==1)
aux += palabra_actual.charAt(i);
else
aux += "_ ";
}
palabra.setText(aux);
}else if( cadena.charAt(0) == 'I' ){
System.out.println("el jugador es: " + jugador );
System.out.println("Y el caracter es: " + (cadena.charAt(4)-47) );
if( (cadena.charAt(4)-47) == jugador ){
letra.enable(true);
turno2.setText("Ingresa una letra: ");
}else{
turno2.setText("Espera tu turno:");
letra.enable(false);
}
turno.setText("");
errores++;
String aux = letras_ocupadas.getText();
if( aux.indexOf(caracter) < 0 )
aux += " " + caracter;
letras_ocupadas.setText(aux);
switch(errores){
case 1:
g.setColor(Color.red);
g.fillRect(110,220,30,10);break;
case 2:
g.fillRect(120,20,10,200);break;
case 3:
g.fillRect(70,20,50,10);break;
case 4:
g.fillRect(68,20,5,20);break;
case 5:
g.setColor(Color.black);
g.drawOval(50,40,40,40);break;
case 6:// Cuerpo
g.drawLine(70,80,70,150);break;
case 7:// Brazos
g.drawLine(70,100,40,100);break;
case 8:
g.drawLine(70,100,100,100);break;
case 9:// Piernas
g.drawLine(70,150,40,190);break;
case 10:
g.drawLine(70,150,100,190);
ganador.setText("Perdiste!!!");
palabra.setText(palabra_actual);
}
}else if(cadena.charAt(0) == 'P' ){
String puntos = cadena.substring(1);
JOptionPane.showMessageDialog(null, "Has Perdido con " + puntos);
}else{
String puntos = cadena.substring(1);
JOptionPane.showMessageDialog(null, "Has Ganado con " + puntos);
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("CONEXIÓN FINALIZADA");
System.exit(0);
}
}
}
}
Clase ServidorJuego
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ahorcado;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.*;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Alumnos
*/
public class ServidorJuego {
public static final int PUERTO = 2250;
Socket jugadores[] = new Socket[100];
int puntos[] = new int[100];
BufferedReader entrada[] = new BufferedReader[100];
PrintWriter salida[] = new PrintWriter[100];
Thread hilos[] = new Thread[100];
String palabras[] = {"Victor","Francisco","investigacion", "Archivo",
"Computacion","Astronomia","Ingenieria",
"Felicidad","Salud","Dinero","Energia",
"Fuerza","Flojera"};
public String actual = "lkdjakj";
String respuesta;
int contador;
int errores;
int turnoActual;
int numJugadores = 4;
Random generador = new Random();
public static void main( String args[] ){
new ServidorJuego().inicia();
}
public ServidorJuego(){
actual = palabras[generador.nextInt(palabras.length-1)].toUpperCase();
}
public void inicia(){
System.out.println(actual);
try {
ServerSocket servidor = new ServerSocket(PUERTO);
for( int i = 0; i < numJugadores; i++ ){
jugadores[i] = new Socket();
System.out.println("Esperando jugador " + i+1);
jugadores[i] = servidor.accept();
System.out.println("Aceptado ");
System.out.println("Palabra: " + actual );
entrada[i] = new BufferedReader( new InputStreamReader( jugadores[i].getInputStream() ) );
salida[i] = new PrintWriter(jugadores[i].getOutputStream(), true);
salida[i].println("N" + i + " " + actual);
}
System.out.println("Palabra: " + actual );
System.out.println("Turno Actual " + turnoActual );
while( contador < actual.length() && errores < 10 ){
System.out.println(" contador de correctas = " + contador);
System.out.println("Numero de errores: " + errores );
String cadena = entrada[turnoActual].readLine();
if( cadena != null ){
System.out.println("Distinto de nulo");
char letra = cadena.charAt(0);
System.out.println("Letra recibida: " + letra );
if( actual.indexOf(letra) != -1){
System.out.println("Letra Encontrada");
int temp = 0;
for( int i = 0; i < actual.length(); i++ ){
if( actual.charAt(i) == letra ){
temp++;
}
}
System.out.println("Se encontro " + temp + " veces");
contador += temp;
System.out.println("El contador es " + contador);
puntos[turnoActual] += (temp*10);
turnoActual++;
if( turnoActual == numJugadores ){
turnoActual = 0;
}
for( int i = 0; i < numJugadores; i++ ){
salida[i].println("C " + letra + " " + turnoActual+1);
}
}else{
puntos[turnoActual] -= 2;
errores++;
System.out.println("No se encontro, hay: " + errores);
turnoActual++;
if( turnoActual == numJugadores ){
turnoActual = 0;
}
for( int i = 0; i < numJugadores; i++ ){
salida[i].println("I " + letra + " " + turnoActual+1);
}
}
System.out.println("Turno ahora es: " + turnoActual );
}
}
if( errores == 10 ){
for( int i = 0; i < numJugadores; i++ ){
salida[i].println("P " + puntos[i] );
}
}else{
int max = -1;
int posicion = -1;
for( int i = 0; i < numJugadores; i++ ){
if( puntos[i] > max ){
max = puntos[i];
posicion = i;
}
}
for( int i = 0; i < numJugadores; i++ ){
if( i == posicion ){
salida[i].println("G " + puntos[i] );
}else{
salida[i].println("P " + puntos[i] );
}
}
}
} catch (IOException ex) {
Logger.getLogger(ServidorJuego.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ahorcado;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.*;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author Alumnos
*/
public class ServidorJuego {
public static final int PUERTO = 2250;
Socket jugadores[] = new Socket[100];
int puntos[] = new int[100];
BufferedReader entrada[] = new BufferedReader[100];
PrintWriter salida[] = new PrintWriter[100];
Thread hilos[] = new Thread[100];
String palabras[] = {"Victor","Francisco","investigacion", "Archivo",
"Computacion","Astronomia","Ingenieria",
"Felicidad","Salud","Dinero","Energia",
"Fuerza","Flojera"};
public String actual = "lkdjakj";
String respuesta;
int contador;
int errores;
int turnoActual;
int numJugadores = 4;
Random generador = new Random();
public static void main( String args[] ){
new ServidorJuego().inicia();
}
public ServidorJuego(){
actual = palabras[generador.nextInt(palabras.length-1)].toUpperCase();
}
public void inicia(){
System.out.println(actual);
try {
ServerSocket servidor = new ServerSocket(PUERTO);
for( int i = 0; i < numJugadores; i++ ){
jugadores[i] = new Socket();
System.out.println("Esperando jugador " + i+1);
jugadores[i] = servidor.accept();
System.out.println("Aceptado ");
System.out.println("Palabra: " + actual );
entrada[i] = new BufferedReader( new InputStreamReader( jugadores[i].getInputStream() ) );
salida[i] = new PrintWriter(jugadores[i].getOutputStream(), true);
salida[i].println("N" + i + " " + actual);
}
System.out.println("Palabra: " + actual );
System.out.println("Turno Actual " + turnoActual );
while( contador < actual.length() && errores < 10 ){
System.out.println(" contador de correctas = " + contador);
System.out.println("Numero de errores: " + errores );
String cadena = entrada[turnoActual].readLine();
if( cadena != null ){
System.out.println("Distinto de nulo");
char letra = cadena.charAt(0);
System.out.println("Letra recibida: " + letra );
if( actual.indexOf(letra) != -1){
System.out.println("Letra Encontrada");
int temp = 0;
for( int i = 0; i < actual.length(); i++ ){
if( actual.charAt(i) == letra ){
temp++;
}
}
System.out.println("Se encontro " + temp + " veces");
contador += temp;
System.out.println("El contador es " + contador);
puntos[turnoActual] += (temp*10);
turnoActual++;
if( turnoActual == numJugadores ){
turnoActual = 0;
}
for( int i = 0; i < numJugadores; i++ ){
salida[i].println("C " + letra + " " + turnoActual+1);
}
}else{
puntos[turnoActual] -= 2;
errores++;
System.out.println("No se encontro, hay: " + errores);
turnoActual++;
if( turnoActual == numJugadores ){
turnoActual = 0;
}
for( int i = 0; i < numJugadores; i++ ){
salida[i].println("I " + letra + " " + turnoActual+1);
}
}
System.out.println("Turno ahora es: " + turnoActual );
}
}
if( errores == 10 ){
for( int i = 0; i < numJugadores; i++ ){
salida[i].println("P " + puntos[i] );
}
}else{
int max = -1;
int posicion = -1;
for( int i = 0; i < numJugadores; i++ ){
if( puntos[i] > max ){
max = puntos[i];
posicion = i;
}
}
for( int i = 0; i < numJugadores; i++ ){
if( i == posicion ){
salida[i].println("G " + puntos[i] );
}else{
salida[i].println("P " + puntos[i] );
}
}
}
} catch (IOException ex) {
Logger.getLogger(ServidorJuego.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
domingo, 8 de septiembre de 2013
Modelo OSI
Modelo OSI
Introducción
El propósito de este trabajo es describir lo que es el
modelo OSI así como las capas que lo componen, ya que permite entender el funcionamiento de las redes.Además al ser un standard permite la comunicación
entre computadoras que poseen distintas características sin ningún problema.
Desarrollo
¿Qué es el modelo OSI?
El modelo OSI (Open System Interconnection) es un esquema creado por la ISO (Organización internacional
para la Normalización) que describe la transferencia de datos dentro de una red y que es independiente de las diferencias que pueda haber entre el software y el
hardware de los dispositivos que la componen.
Posee capas que definen la transmisión de datos en la red.
Cada capa posee funciones y protocolos que deben de seguir.
Las 7 capas son:
1.
Aplicación
2.
Presentación
3.
Sesión
4.
Transporte
5.
Red
6.
Enlace
7.
Física
La capa de aplicación, presentación y sesión son las que más
necesitan de la computadora del usuario. Las de transporte, red, enlace y
física, se utilizan en la comunicación de la red.
Descripción de las capas
Capa de aplicación
Proporciona a las aplicaciones usadas por el usuario el
acceso a los servicios de la red tales como la transferencia de archivos, la
entrada a la base de datos y el correo electrónico. Provee los protocolos para
el intercambio de datos, como son FTP (Protocolo de transferencia de archivos)
y SMTP (Protocolo Simplificado de Transferencia de Correo).
Capa de presentación
Convierte los datos proporcionados por la capa de
aplicación a un formato común (como el
código ASCII y EBCDIC), de tal forma que el receptor pueda leer lo que le envía
el emisor. También los comprime y cifra.
Capa se sesión
Establece, administra y termina las sesiones entre los host
que se comunican. Además, sincroniza y administra el intercambio de mensajes
entre ellos.
Capa de transporte
Realiza la transmisión de los datos del host a la red. Rompe
los datos (segmentos) que envío el emisor y luego los une cuando llegan al
receptor.
Capa de red
Encuentra la ruta que han de seguir los paquetes de datos a
través de la red para comunicar dos hosts ubicados en lugares distintos.
También convierte la dirección lógica (IP) a la dirección física de la
computadora.
Capa de enlace
Se encarga de convertir el paquete de datos a una trama de
datos. Mueve los datos por el medio físico e identifica la computadora de
acuerdo a su dirección de hardware. Además, verifica que las tramas no
contengan errores, que estén en el orden correcto y de controlar su tránsito.
Se divide en dos, el LLC (Control Lógico de Enlace) y MAC (Control
de Acceso al Medio). El LLC dicta como se transfieren los datos por el medio y
el MAC controla el hardware utilizado.
Capa física
Es el medio tangible por el que se envían los datos, como
son los cables y los conectores. Convierte las tramas de datos a bits, los
cuales son variaciones en el voltaje de la corriente del medio de transmisión.
Conclusión
Realizando esta investigación, he comprendido el modelo OSI
y las funciones que cada una de sus capas realiza. Opino que este tema es muy
importante en el desarrollo de las redes (y por lo tanto, de los sistema distribuidos),
puesto que con ello se entiende como se da la transferencia de datos a través de
ellas.
Referencias
Colima, U. d. (s.f.). Recuperado el 9 de Septiembre de
2013, de http://docente.ucol.mx/al950441/public_html/osi1hec_B.htm
Feldgen, M. (s.f.). Facultad
de Ingeniería de la Universidad de Buenos Aires. Recuperado el 8 de
Septiembre de 2013, de
http://materias.fi.uba.ar/7574/s1apuntes/s1_modelo_OSI.pdf
Rigotti, G. (s.f.). Facultad
de Ciencias Exactas. UNICEN. Recuperado el 9 de Septiembre de 2013, de
http://www.exa.unicen.edu.ar/catedras/comdat1/material/ElmodeloOSI.pdf
domingo, 25 de agosto de 2013
Red
Introducción
En este
trabajo se trata el tema la red, debido a la importancia que tiene en nuestras
vidas, pues permiten la comunicación entre personas que están muy alejadas
entre sí, así como su uso en los sistemas distribuidos usados en los negocios, la
industria, el gobierno, la educación, etcétera.
Se expone
la definición de la red, los tipos de red y las topologías de red.
Desarrollo
Definición
Es un
conjunto de computadoras conectadas entre sí utilizando un medio físico y dispositivos
para lograr la conexión, con el objetivo de compartir recursos y comunicarse
entre ellos.
Conceptos
incluidos en la definición
Dispositivo.
Son elementos de la red que gestionan el flujo de información entre los
ordenadores de esta. (Martin Santiago)
Conexión.
Es un enlace entre equipos o sistemas.
Medio. Es
lo que permite la transmisión de mensajes entre los componentes de la red. Hay
de dos tipos, los guiados y no guiados.
Recurso.
Son las aplicaciones, herramientas y dispositivos periféricos con los que
cuenta una computadora; los cuales pueden ser utilizados por los ordenadores
pertenecientes a la red, como impresoras, archivos, scanner, etcétera. (Alegsa.ar.com,
2010)
Comunicación.
Es el intercambio de mensajes entre un emisor y un receptor, usando el mismo
canal, el mismo medio y el mismo código, siguiendo un protocolo.
Tipos de redes
LAN (Local
Area Network)
Una LAN conecta a varias computadoras en un área de
corta distancia, utilizando como medio de transmisión fibra óptica, cable
coaxial o infrarrojo. Puede ser usada en una casa, un edificio o un salón, sin
embargo, puede haber varias LAN en alguno de estos lugares.
Comenten
pocos errores, y tradicionalmente se ejecutan a una velocidad de 10 Mbps a 100
Mbps.
Utiliza
Ethernet y Token Ring para la conexión; y protocolos como Appeltalk, IPX,
DECnet o Banyan Vines. (Martínez, 2007)
MAN (Metropolitan
Area Network)
Enlaza
varias LAN que están cerca geográficamente (cerca de 50 km) entre sí a alta
velocidad, como si estuvieran en la misma área local.
Se
extienden sobre ciudades o varias de ellas, e implementadas por los proveedores
de internet, utilizando fibra óptica y protocolos como ATM, Ethernet, Token
Ring entre otros. (ITESCO)
WAN (Wide
Area Network)
Es una red
que provee el servicio a un país o un continente, cubriendo distancias de 100 a
1000 km. La información que fluye a
través de ella es utilizada por muchos usuarios, por lo tanto es de carácter público.
Usa
numerosas líneas de transmisión como cables, fibra óptica y enlaces satelitales;
y protocolos como Frame Relay, Synchronous Data Link Control, entre otros (Quinodóz, 2009)
Topologías de red
La
topología de red es la disposición física en la cual sus componentes están conectados.
Estrella
Todas las
estaciones están conectadas a un nodo central (generalmente es un hub o
concentrador) por el cual circula toda la información de la red, pero no se
establece ninguna conexión entre los demás nodos. (Pacheco Borja, 2008)
Ventajas
|
Desventajas
|
El mal
funcionamiento de una de las computadoras, no afecta el funcionamiento de los
demás componentes de la red.
|
El costo del cableado llega a ser
alto
|
Alta
seguridad
|
Si el concentrador
no funciona, se interrumpe la comunicación en la red.
|
Es fácil
insertar o quitar ordenadores.
|
|
Anillo
Las
computadoras se conectan formando un círculo. Cada una está conectada con la
anterior con la siguiente y cada uno
posee un repetidor. Cuando un ordenador realiza una solicitud a otro, debe de
pasar por los otros elementos que estén entre ellos. (López, 2005)
Ventajas
|
Desventajas
|
Alta velocidad de transmisión
|
Si
uno de los elementos de la red se cae, la comunicación se interrumpe.
|
Alto rendimiento cuando hay alto tráfico.
|
Es difícil insertar
más ordenadores.
|
Se evitan las colisiones, por lo que no se pierde
información.
|
|
Bus
Todos los
nodos están conectados a un enlace y no hay conexiones entre ellos. Cada host está conectado a un mismo cable. En
el momento en el que un ordenador realiza una solicitud, todos los demás la “toman”
para ver si son el destinatario de esta.
Si esa es la situación, la utilizan, sino, la descartan. Es la topología más usada en una red LAN. (Barcelo Ordinaz & Inigo Griera)
Ventajas
|
Desventajas
|
Todos los componentes de la red pueden obtener
información de los demás dispositivos.
|
Bajo
rendimiento cuando el tráfico es demasiado.
|
Es sencillo el conectar otras estaciones.
|
Si el enlace entre
los nodos se rompe, la comunicación se ve interrumpida.
|
Múltiple o
compleja
En esta
topología, cada nodo está conectado a uno o más nodos, de modo que la
disponibilidad de enlaces entre los nodos aumenta. Poseen nodos terminales y
nodos de paso.
Ventajas
|
Desventajas
|
La red es inmune a errores, pues si un componente
falla, la comunicación de los demás no se ve interrumpida.
|
El
costo del cableado es muy alto comparado con otras tipologías.
|
La información enviada puede seguir distintos
caminos hasta llegar a su destino.
|
Su instalación y
mantenimiento es difícil de realizar, ya que existen demasiadas conexiones.
|
Conclusión
Con esta
investigación, nos dimos cuenta de la complejidad que posee una red de
computadoras, de la cual no nos percatamos ya que las usamos sin ponernos a
pensar en los mecanismos y herramientas que utilizan.
Bibliografía
Alegsa.ar.com. (24 de Junio
de 2010). Recuperado el 25 de Agosto de 2013, de
http://www.alegsa.com.ar/Dic/recurso.php
Barcelo Ordinaz, J. M., & Inigo Griera, J. (s.f.). SW
computación. Recuperado el 25 de Agosto de 2013, de
http://www.sw-computacion.f2s.com/Linux/011-Redes_computacionales.pdf
ITESCO. (s.f.). Introducción a la ingeniería en sistemas
computacionales. Recuperado el 25 de Agosto de 2013, de
http://davedestruction.net84.net/CONECTIVIDAD.pdf
López, D. (Junio de 2005). Universidad de Huelva.
Recuperado el 25 de Agosto de 2013, de
http://www.uhu.es/diego.lopez/Docs_ppal/Transparencias%20Redes%20tema4%2005-06.pdf
Martin Santiago, M. A. (s.f.). I.E.S. Siete Colinas. Recuperado el 25 de Agosto de 2013,
de http://www.sietecolinas.es/materiales/inf/internet.pdf
Martínez, E. (21 de Julio de 2007). eveliux.com.
Recuperado el 25 de Agosto de 2013, de
http://www.eveliux.com/mx/redes-lan-can-man-y-wan.php
Pacheco Borja, J. (20 de Agosto de 2008). Scribd.
Recuperado el 25 de Agosto de 2013, de
http://es.scribd.com/doc/4915644/Topologia-en-estrella
Quinodóz, C. (8 de Abril de 2009). Prof. Carolina
Quinodóz. Recuperado el 25 de Agosto de 2013, de
http://profecarolinaquinodoz.com/principal/?tag=red-wan
domingo, 18 de agosto de 2013
Comunicación
Comunicación
Introducción
Este trabajo aborda el tema de la comunicación, debido a que
es un proceso que todos los seres humanos (y en general, los seres vivos)
utilizan en todos los ámbitos de su vida, como la tecnología, la política, la
educación, los negocios, etcétera.
Se da una definición de lo que es la comunicación, los
conceptos incluidos en esta y los pasos que se realizan al comunicarse.
Desarrollo
Definición
Es un proceso mediante el cual un emisor y un receptor
realizan un intercambio de mensajes utilizando un canal a través de un medio, además de un mismo código,
estableciendo una conexión en un momento y espacio determinado.
Conceptos incluidos en la definición
Emisor. Es quien inicia la comunicación, mediante la
elección, codificación y el envío del mensaje.
Mensaje. Es la información que el emisor quiere transmitir
al receptor. (Aprendizaje)
Receptor. Analiza y sintetiza la información que recibió del
emisor; y se convierte en emisor al responder el mensaje. (Barba Guzmán
& Cabrera Parra, 2003)
Canal. Es el conducto físico mediante el cual se transmite
el mensaje. (Ministerio de Educación, 2007) .
Medio. Dispositivo o equipo que el canal necesita para
cumplir su función transmisora (Córica, 2012) .
Código. Es un conjunto de símbolos cuyo significado debe ser conocido por el emisor y y el receptor (Córica, 2012) .
Conexión. Es un enlace o atadura que une a una cosa con
otra.
Conclusión
La comunicación es vital en la vida del ser humano, desde la
que se establece entre un alumno y su maestro, hasta la que se da entre las computadoras de los
usuarios de las redes sociales. Se
debería de ahondar más en el tema debido a la importancia que tiene y ha tenido en la sociedad.
Bibliografía
Aprendizaje, C. V.
(s.f.). Elementos del Proceso de la Comunicación. Recuperado el 18 de
Agosto de 2013, de
http://www.cca.org.mx/lideres/cursos/redaccion/comunicacion/cont_elementos.htm
Barba Guzmán, F., &
Cabrera Parra, J. A. (2003). La comunicación. Puebla: Universidad de
las Américas Puebla.
Córica, J. L. (2012). Concepto
de comunicación educativa. Pachuca: Universidad Autonoma del Estado de
Hidalgo.
Ministerio de
Educación, C. y. (27 de Julio de 2007). Proyecto Cíceros. Recuperado
el 17 de Agosto de 2013, de
http://recursos.cnice.mec.es/lengua/profesores/eso1/t1/teoria_1.htm
domingo, 11 de agosto de 2013
Sistemas distribuidos
Sistemas distribuidos
Introducción
El objetivo
de este trabajo es adquirir la noción y las características de lo que es un
sistema distribuido, ya que en la actualidad, algunos programas y páginas web
no funcionan en una sola computadora, sino que se necesita que haya dos o varias
de ellas para compartir información entre los usuarios, con diversos objetivos,
como jugar, realizar una tarea, comunicarse, etc.
Desarrollo
Definición de sistema distribuido
Es una red en la que sus componentes comparten información
mediante un protocolo para lograr un propósito.
Entre sus características se encuentran la concurrencia,
tolerancia a errores, carencia de reloj global, apertura, transparencia y escalabilidad.
Conceptos incluidos en la definición y características.
Red. Es un conjunto de computadoras conectadas entre sí.
Protocolo. Es un conjunto de reglas que se debe respetar
para permitir el envío de mensajes en una red. (Protocolos,
2013)
Concurrencia. Los elementos de la red conectados pueden ocupar
los recursos de la misma al mismo tiempo. (J. Sosa, 2012)
Tolerancia a errores. El sistema distribuido sigue activo
aunque una de las computadoras haya dejado de funcionar o tenga alguna falla.
Carencia de reloj global. Cada uno de los componentes se
coordina con el envío de mensajes, sin la necesidad de que sincronicen sus
relojes para ello. (Benitez, Cabral, & Caceres, 10)
Apertura. Estos sistemas se desarrollan bajo estándares que
permiten el uso de equipos de diferentes características. (Franco Martínez)
Transparencia. La transparencia consiste en esconder
al usuario la arquitectura del sistema. Para el usuario es indiferente usar un
sistema distribuido. (Corral)
Escalabilidad. Otro(s) ordenador(es) pueden unirse al
sistema sin que la comunicación de los demás se vea afectada.
Mapa conceptual
Conclusión
Con esta investigación, he comprendido lo que es un sistema
distribuido, sus características, las funciones que cumple, su
importancia, trascendencia y las ventajas que tiene el diseñar un software en esta clase de sistema.
Bibliografía
Protocolos. (Julio de 2013). Recuperado el 2013 de Agosto de 10, de
http://es.kioskea.net/contents/275-protocolos
Benitez, E., Cabral,
C., & Caceres, M. O. (2002 de Julio de 10). Caracterización de los
sistemas distribuidos. Recuperado el 09 de Agosto de 2013, de
http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/CARSD02.htm
Corral, R. (s.f.). Sistemas
distribuidos en .NET con remoting (I). Recuperado el 9 de Agosto de 2013,
de http://www.dnmplus.net/articulos/sistemas-distribuidos-en-net-con-remoting-i.aspx
Franco Martínez, E. A.
(s.f.). Sistemas Operativos II. Recuperado el 9 de Agosto de 2013, de
http://computacion.cs.cinvestav.mx/~efranco/docencia/sistemasoperativosii/files/14_15_16_17_Arquitecturas_de_sistemas_distribuidos_y_Tarea_04.pdf
J. Sosa, V. (Enero de
2012). Sistemas distribuidos Panorama. Recuperado el 11 de Agosto de
2013, de
http://www.tamps.cinvestav.mx/~vjsosa/clases/sd/sistemas_distribuidos_panorama.pdf
Suscribirse a:
Entradas (Atom)