Redes
Class Red

java.lang.Object
  extended byProyecto.Objeto
      extended byRedes.Red
Direct Known Subclasses:
Ethernet, PuntoAPunto

public abstract class Red
extends Objeto

Clase base para las redes


Constructor Summary
Red(java.lang.String nombre, int mtu)
          Constructor
 
Method Summary
 void Conectar(Red red)
          Conecta esta red a otra red.
 void ConectarA(Equipo equipo, java.lang.String nombreInterfaz)
          Añade una equipo a la red
 void ConectarA(Red red)
          Conecta una red a otra red (util en hubs, o switches...).
 void Enviar(Dato dato)
          Envia una trama a la red (metodo a usar por los Equipos)
 int getMTU()
          Devuelve la MTU de la red
 int NumEquiposConectados()
          Devuelve el numero de equipos conectados a la red
 void Retransmitir(Dato dato)
          Envia una trama a la red (se usa cuando se reenvia desde otra red)
 void setMTU(int mtu)
          Cambia la MTU de una red
 boolean SoportaARP()
          Por defecto, las redes soportan ARP.
 
Methods inherited from class Proyecto.Objeto
Caracteristicas, DEBUG, getEvento, getInterfaz, getInterfaz, getNombre, getParametros, NuevoEvento, NumEventos, NumInterfaces, Pendientes, Procesar, setNombre
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Red

public Red(java.lang.String nombre,
           int mtu)
Constructor

Parameters:
nombre - Nombre de la red
mtu - MTU de la red
Throws:
java.lang.IllegalArgumentException - si la mtu o el nombre no es valida
Method Detail

ConectarA

public void ConectarA(Equipo equipo,
                      java.lang.String nombreInterfaz)
               throws java.lang.IllegalArgumentException
Añade una equipo a la red

Parameters:
equipo - Equipo a añadir
nombreInterfaz - Nombre de la interfaz
Throws:
java.lang.IllegalArgumentException

ConectarA

public void ConectarA(Red red)
Conecta una red a otra red (util en hubs, o switches...). La usan otras redes para decirle a esta que tiene que reenviar los datos tambien a la otra red. (¡No usar directamente!)

Parameters:
red - Red a la que se debe conectar esta red

Conectar

public void Conectar(Red red)
Conecta esta red a otra red. Si las clases derivadas no redefinen este metodo, no se podran conectar a otras redes. El comportamiento por defecto, es no dejar que una red se conecte a otra, de ahi que se lance la excepcion

Parameters:
red - Red a la que queremos conectar esta red
Throws:
java.lang.IllegalArgumentException - Por defecto una red no se puede conectar a otra

getMTU

public int getMTU()
Devuelve la MTU de la red

Returns:
MTU de la red

setMTU

public void setMTU(int mtu)
Cambia la MTU de una red

Parameters:
mtu - Nueva MTU

Enviar

public void Enviar(Dato dato)
Envia una trama a la red (metodo a usar por los Equipos)

Parameters:
dato - Datos de la trama

Retransmitir

public void Retransmitir(Dato dato)
Envia una trama a la red (se usa cuando se reenvia desde otra red)

Parameters:
dato - Datos de la trama

NumEquiposConectados

public int NumEquiposConectados()
Devuelve el numero de equipos conectados a la red

Returns:
Numero de equipos conectados

SoportaARP

public boolean SoportaARP()
Por defecto, las redes soportan ARP. En el caso de las redes que no lo soporten deberan sobrecargar este metodo.

Returns:
Cierto, ya que por defecto, si no se indica otra cosa, se soporta ARP