martes, 24 de agosto de 2010

Transmision de video usando sockets en Java

Este post será corto de palabras pero como siempre con mucho código fuente para descargar, analizar y reutilizar. Un amigo de guatemala me hizo una consulta acerca de la transmisión de video y bueno, Dos horas antes de escribir este post me propuse darle una mano. La idea era transmitir video pero sin usar R.T.P. sino transmitiendo uno a uno los frames provenientes de una fuente de video, que en este caso es una cámara web.

Anteriormente posteé la forma de cómo acceder a los frames de video usando el Java Media Framework, si no lo has leído aún te recomiendo lo hagas http://rolandopalermo.blogspot.com/2010/06/procesamiento-de-video-en-tiempo-real.html y en este post vamos a transmitir esos frames capturados. No explicaré el código porque en internet hay bastante información así como ejemplos de cómo usar sockets en java.

Fig. Servidor

Fig. Cliente

Aquí les dejo el proyecto desarrollado usando Netbeans.

Photobucket

Saludos y espero te sea de utilidad!... No olvides dejar tu comentario que motiva el seguir compartiendo el conocimiento y las experiencias.

viernes, 13 de agosto de 2010

Cap. 10: Reto de integración de habilidades de Packet Tracer - CCNA 2 version 4.0

Introducción:
Esta actividad se centra en las capacidades de división en subredes con VLSM, la configuración básica del dispositivo, el enrutamiento EIGRP y el enrutamiento RIPv2. Una vez que haya configurado todos los dispositivos, probará la conectividad de extremo a extremo y examinará su configuración.
Objetivos
Diseñar y documentar un esquema de direccionamiento en base a los requerimientos.
Aplicar una configuración básica a los dispositivos.
Configurar un enrutamiento estático entre routers ISP.
Configurar el enrutamiento EIGRP en Región 1 y el enrutamiento RIPv2 en Región 2.
Deshabilitar las actualizaciones de enrutamiento en las interfaces adecuadas.
Configurar y redistribuir las rutas predeterminadas.
Verificar la completa conectividad entre todos los dispositivos de la topología.


Tarea 1: Diseñar y documentar un esquema de direccionamiento

Paso 1: Diseñe un esquema de direccionamiento.

Utilice la topología y los siguientes requisitos para diseñar un esquema de direccionamiento:

Los enlaces WAN entre R1 y R2, junto con sus respectivos routers ISP, ya están configurados. También los enlaces entre el servidor ISP y el servidor Web ya están configurados.
El espacio de dirección para la Región 1 es 10.1.0.0/16. Le deberá asignar a cada router de sucursal (B1-R1, B2-R1 y B3-R1) un espacio de dirección según estos requisitos. Comenzando por el requisito mayor, asigne un espacio de direccionamiento a cada router:
B1-R1 necesita espacio para 8000 hosts
B2-R1 necesita espacio para 4000 hosts
B3-R1 necesita espacio para 2000 hosts
Divida el espacio de dirección de cada router de sucursal en cuatro subredes iguales. Registre las subredes en la tabla provista en las instrucciones impresas.
Para las WAN en la Región 1, divida en subredes el espacio de dirección 10.1.128.0/28. Registre las subredes en la tabla proporcionada en las instrucciones impresas.
El espacio de dirección para la Región 2 es 172.2.0.0/16. Se le deberá asignar a cada router de sucursal (B1-R2, B2-R2 y B3-R2) un espacio de dirección según estos requisitos. Comenzando por el requisito mayor, asigne un espacio de direccionamiento a cada router:
B1-R2 necesita espacio para 500 hosts
B2-R2 necesita espacio para 200 hosts
B3-R2 necesita espacio para 100 hosts
Divida el espacio de dirección de cada router de sucursal en cuatro subredes iguales. Registre las subredes en la tabla provista en las instrucciones impresas.
Para las WAN en la Región 2, divida en subredes el espacio de dirección 172.20.4.0/28. Registre las subredes en la tabla proporcionada en las instrucciones impresas.

Paso 2: Documente el esquema de direccionamiento.

Opcional: En la topología, rotule cada subred. Para ahorrar espacio, use sólo los últimos dos octetos, dado que sólo estos octetos cambian.
Utilice la tabla provista con las instrucciones impresas para documentar las direcciones IP y las máscaras de subred. Asigne la primera dirección IP a la interfaz del router.
En los enlaces WAN, asigne la primera dirección IP a R1 y R2 para los enlaces con la perspectiva de cada router B1, B2 y B3 de cada router.

El direccionamiento es algo que en este post no voy a explicar puesto que es algo sobre lo que ya se debe tener amplio conocimiento asumiendo el hecho que estamos en el CCNA2 y direccionamiento IP es un tema del CCNA1.

Bueno, luego de desarrollar todo el direccionamiento ip debemos tener algo como lo siguiente:



Bueno, ahora acá les dejo el running-config, que a estas alturas ya debemos saber interpretarlo.

Para el router B1-R1
Current configuration : 1047 bytes
!
version 12.3
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname B1-R1
!
!
!
!
!
!
!
!
!
!
!
!
no ip domain-lookup
!
!
!
!
!
!
interface FastEthernet0/0
ip address 10.1.0.1 255.255.248.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 10.1.8.1 255.255.248.0
duplex auto
speed auto
!
interface Serial0/0/0
ip address 10.1.64.2 255.255.255.252
!
interface Serial0/0/1
no ip address
shutdown
!
interface FastEthernet1/0
ip address 10.1.16.1 255.255.248.0
duplex auto
speed auto
!
interface FastEthernet1/1
ip address 10.1.24.1 255.255.248.0
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
router eigrp 1
passive-interface FastEthernet0/0
passive-interface FastEthernet0/1
passive-interface FastEthernet1/0
passive-interface FastEthernet1/1
network 10.0.0.0
no auto-summary
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0/0/0 
!
!
!
!
!
!
!
line con 0
password cisco
login
line vty 0 4
password cisco
login
!
!
!
end


Para el router B2-R1
Current configuration : 1049 bytes
!
version 12.3
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname B2-R1
!
!
!
!
!
!
!
!
!
!
!
!
no ip domain-lookup
!
!
!
!
!
!
interface FastEthernet0/0
ip address 10.1.32.1 255.255.252.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 10.1.36.1 255.255.252.0
duplex auto
speed auto
!
interface Serial0/0/0
ip address 10.1.64.6 255.255.255.252
!
interface Serial0/0/1
no ip address
shutdown
!
interface FastEthernet1/0
ip address 10.1.40.1 255.255.252.0
duplex auto
speed auto
!
interface FastEthernet1/1
ip address 10.1.44.1 255.255.252.0
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
router eigrp 1
passive-interface FastEthernet0/0
passive-interface FastEthernet0/1
passive-interface FastEthernet1/0
passive-interface FastEthernet1/1
network 10.0.0.0
no auto-summary
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0/0/0 
!
!
!
!
!
!
!
line con 0
password cisco
login
line vty 0 4
password cisco
login
!
!
!
end


Para el router B3-R1

Current configuration : 1050 bytes
!
version 12.3
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname B3-R1
!
!
!
!
!
!
!
!
!
!
!
!
no ip domain-lookup
!
!
!
!
!
!
interface FastEthernet0/0
ip address 10.1.48.1 255.255.254.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 10.1.50.1 255.255.254.0
duplex auto
speed auto
!
interface Serial0/0/0
ip address 10.1.64.10 255.255.255.252
!
interface Serial0/0/1
no ip address
shutdown
!
interface FastEthernet1/0
ip address 10.1.52.1 255.255.254.0
duplex auto
speed auto
!
interface FastEthernet1/1
ip address 10.1.54.1 255.255.254.0
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
router eigrp 1
passive-interface FastEthernet0/0
passive-interface FastEthernet0/1
passive-interface FastEthernet1/0
passive-interface FastEthernet1/1
network 10.0.0.0
no auto-summary
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0/0/0 
!
!
!
!
!
!
!
line con 0
password cisco
login
line vty 0 4
password cisco
login
!
!
!
end


Para el router R1
Current configuration : 1003 bytes
!
version 12.3
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname R1
!
!
!
enable secret 5 $1$mERr$9cTjUIEqNGurQiFU.ZeCi1
!
!
!
!
!
!
!
!
!
!
no ip domain-lookup
!
!
!
!
!
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
shutdown
!
interface FastEthernet0/1
no ip address
duplex auto
speed auto
shutdown
!
interface Serial0/0/0
ip address 10.1.64.1 255.255.255.252
clock rate 64000
!
interface Serial0/0/1
ip address 10.1.64.5 255.255.255.252
clock rate 64000
!
interface Serial0/1/0
ip address 10.1.64.9 255.255.255.252
clock rate 64000
!
interface Serial0/1/1
ip address 209.165.201.2 255.255.255.252
!
interface Vlan1
no ip address
shutdown
!
router eigrp 1
redistribute static 
passive-interface Serial0/1/1
network 10.0.0.0
no auto-summary
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0/1/1 
!
!
!
!
!
!
!
line con 0
password cisco
login
line vty 0 4
password cisco
login
!
!
!
end


Para el router ISP-R1
Current configuration : 1052 bytes
!
version 12.3
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname ISP-R1
!
!
!
enable secret 5 $1$843i$2WtI74NAnrsI2xYF0OPmr.
!
!
!
!
!
!
!
!
!
!
no ip domain-lookup
!
!
!
!
!
!
interface FastEthernet0/0
ip address 209.165.200.225 255.255.255.252
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
duplex auto
speed auto
shutdown
!
interface Serial0/0/0
ip address 209.165.201.1 255.255.255.252
clock rate 64000
!
interface Serial0/0/1
ip address 209.165.201.5 255.255.255.252
clock rate 64000
!
interface Vlan1
no ip address
shutdown
!
ip classless
ip route 209.165.201.8 255.255.255.252 Serial0/0/1 
ip route 209.165.200.228 255.255.255.252 Serial0/0/1 
ip route 10.1.0.0 255.255.0.0 Serial0/0/0 
ip route 172.20.0.0 255.255.0.0 Serial0/0/1 
!
!
!
banner motd ^C
********************************
!!!AUTHORIZED ACCESS ONLY!!!
********************************
^C
!
!
!
!
line con 0
password cisco
login
line vty 0 4
password cisco
login
!
!
!
end


Para el router B1-R2
Current configuration : 1037 bytes
!
version 12.3
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname B1-R2
!
!
!
!
!
!
!
!
!
!
!
!
no ip domain-lookup
!
!
!
!
!
!
interface FastEthernet0/0
ip address 172.20.0.1 255.255.255.128
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 172.20.0.129 255.255.255.128
duplex auto
speed auto
!
interface Serial0/0/0
ip address 172.20.4.2 255.255.255.252
!
interface Serial0/0/1
no ip address
shutdown
!
interface FastEthernet1/0
ip address 172.20.1.1 255.255.255.128
duplex auto
speed auto
!
interface FastEthernet1/1
ip address 172.20.1.129 255.255.255.128
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
router rip
version 2
passive-interface FastEthernet0/0
passive-interface FastEthernet0/1
passive-interface FastEthernet1/0
passive-interface FastEthernet1/1
network 172.20.0.0
no auto-summary
!
ip classless
!
!
!
!
!
!
!
line con 0
password cisco
login
line vty 0 4
password cisco
login
!
!
!
end


Para el router B2-R2
Current configuration : 1038 bytes
!
version 12.3
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname B2-R2
!
!
!
!
!
!
!
!
!
!
!
!
no ip domain-lookup
!
!
!
!
!
!
interface FastEthernet0/0
ip address 172.20.2.1 255.255.255.192
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 172.20.2.65 255.255.255.192
duplex auto
speed auto
!
interface Serial0/0/0
ip address 172.20.4.6 255.255.255.252
!
interface Serial0/0/1
no ip address
shutdown
!
interface FastEthernet1/0
ip address 172.20.2.129 255.255.255.192
duplex auto
speed auto
!
interface FastEthernet1/1
ip address 172.20.2.193 255.255.255.192
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
router rip
version 2
passive-interface FastEthernet0/0
passive-interface FastEthernet0/1
passive-interface FastEthernet1/0
passive-interface FastEthernet1/1
network 172.20.0.0
no auto-summary
!
ip classless
!
!
!
!
!
!
!
line con 0
password cisco
login
line vty 0 4
password cisco
login
!
!
!
end


Para el router B3-R2
Current configuration : 1037 bytes
!
version 12.3
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname B3-R2
!
!
!
!
!
!
!
!
!
!
!
!
no ip domain-lookup
!
!
!
!
!
!
interface FastEthernet0/0
ip address 172.20.3.1 255.255.255.224
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 172.20.3.33 255.255.255.224
duplex auto
speed auto
!
interface Serial0/0/0
ip address 172.20.4.10 255.255.255.252
!
interface Serial0/0/1
no ip address
shutdown
!
interface FastEthernet1/0
ip address 172.20.3.65 255.255.255.224
duplex auto
speed auto
!
interface FastEthernet1/1
ip address 172.20.3.97 255.255.255.224
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
router rip
version 2
passive-interface FastEthernet0/0
passive-interface FastEthernet0/1
passive-interface FastEthernet1/0
passive-interface FastEthernet1/1
network 172.20.0.0
no auto-summary
!
ip classless
!
!
!
!
!
!
!
line con 0
password cisco
login
line vty 0 4
password cisco
login
!
!
!
end


Para el router R2
Current configuration : 1028 bytes
!
version 12.3
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname R2
!
!
!
enable secret 5 $1$mERr$9cTjUIEqNGurQiFU.ZeCi1
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
shutdown
!
interface FastEthernet0/1
no ip address
duplex auto
speed auto
shutdown
!
interface Serial0/0/0
ip address 172.20.4.1 255.255.255.252
clock rate 64000
!
interface Serial0/0/1
ip address 172.20.4.5 255.255.255.252
clock rate 64000
!
interface Serial0/1/0
ip address 172.20.4.9 255.255.255.252
clock rate 64000
!
interface Serial0/1/1
ip address 209.165.201.10 255.255.255.252
!
interface Vlan1
no ip address
shutdown
!
router rip
version 2
passive-interface Serial0/1/1
network 172.20.0.0
network 209.165.201.0
default-information originate
no auto-summary
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0/1/1 
!
!
!
!
!
!
!
line con 0
password cisco
login
line vty 0 4
password cisco
login
!
!
!
end


Para el router ISP-R2
Current configuration : 1086 bytes
!
version 12.3
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname ISP-R2
!
!
!
enable secret 5 $1$GMyb$UNr8Qq.Ewy8h5Wtda8FTN/
!
!
!
!
!
!
!
!
!
!
no ip domain-lookup
!
!
!
!
!
!
interface FastEthernet0/0
ip address 209.165.200.229 255.255.255.252
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
duplex auto
speed auto
shutdown
!
interface Serial0/0/0
description Link to R2
ip address 209.165.201.9 255.255.255.252
clock rate 64000
!
interface Serial0/0/1
description Link to ISP-R1
ip address 209.165.201.6 255.255.255.252
!
interface Vlan1
no ip address
shutdown
!
ip classless
ip route 209.165.201.0 255.255.255.252 Serial0/0/1 
ip route 209.165.200.224 255.255.255.252 Serial0/0/1 
ip route 172.20.0.0 255.255.0.0 Serial0/0/0 
ip route 10.1.0.0 255.255.0.0 Serial0/0/1 
!
!
!
banner motd ^C
********************************
!!!AUTHORIZED ACCESS ONLY!!!
********************************
^C
!
!
!
!
line con 0
password cisco
login
line vty 0 4
password cisco
login
!
!
!
end


Con fines de pruebas de conectividad he agregado una pc a una de las 4 lan de cada sede. Aca en la imágen se puede apreciar mejor xD!!


Evidentemente cada computadora debe tener su respectiva configuración. Aca se las dejo también xD!!!


Algunos tips muy útiles al momento de configurar un router Cisco. Evidentemente estos tips están de acuerdo a las necesidades de configuración para este laboratorio y a las prestaciones que se quieren alcanzar.

Tip 1!!!!!
Desactivar sumarización automática
R(config)#router rip
R(config-router)#no auto-summary


Tip 2!!!!!
Desactivar las actualizaciones de enrutamiento en las interfaces adecuadas


R(config)#router rip
R(config-router)#passive-interface 


Ejemplo:
R(config)#router rip
R(config-router)#passive-interface fastEthernet 0/0


Tip 3!!!!!
Configurar los intervalos de hello en los router de sucursal en 30 segundos.

R#conf terminal 
R(config)#interface serial 0/0/0
R(config-if)#ip hello-interval eigrp <id> <tiempo en segundos>
R(config-if)#ip hold-time eigrp <id> <tiempo en segundos>


Ejemplo
B3-R1#conf terminal 
B3-R1(config)#interface serial 0/0/0
B3-R1(config-if)#ip hello-interval eigrp 1 30
B3-R1(config-if)#ip hold-time eigrp 1 180


Tip 4!!!!!
Configurar una ruta estática por defecto.

R(config)#ip route 0.0.0.0 0.0.0.0 <interfaz de salida>


Ejemplo
R2(config)#ip route 0.0.0.0 0.0.0.0 serial 0/0/1


Tip 5!!!!!
Configurar un router para enviar información de la ruta estática por defecto a otros routers de la red.

R(config)#router rip
R(config-router)#default-information originate


Y para finalizar aca les dejo el archivo pka si es que ya no tienen tiempo de leer todo lo anterior.

Photobucket

También te podrían interesar los siguientes enlaces:

Eso es todo, espero les sea de utilidad y no olviden dejar sus comentarios que motiven el seguir compartiendo el conocimiento. Saludos.

jueves, 12 de agosto de 2010

Ventana splash con Java

Una imágen vale más que mil palabras dicen muchos... cierto o no, he tomado al pie de la letra esa frase y aca les presento este post dedicado a las tan conocidas ventanas splash. Tutoriales en internet hay por montones, pero este post te guiará paso a paso usando imágenes que te mostrarán exactamente lo que tienes que hacer. Para este post no estoy creando la ventana splash desde cero usando un JWindow o un JDialog, sino que uso la última funcionalidad que el java brinda para este tipo de cosas, según lo describe Oracle en su artículo http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/splashscreen/
Espero sea de utilidad y agradezcas dejando un comentario que motive seguir compartiendo el conocimiento.

Paso 1. Crear Proyecto

Paso 2. Seleccionar el nombre del proyecto


Paso 3. Opciones adicionales del proyecto


Paso 4. Creando un paquete


Paso 5. Poniéndole nombre al paquete


Paso 6. Creando un JFrame


Paso 7. Nombrando al JFrame creado


Paso 8. Accediendo a la carpeta src. Esta carpeta está dentro de la carpeta del proyecto y aquí es donde debemos poner la imágen que se mostrará en la ventana splash.


Paso 9. Pegamos nuestra imágen!!!.

Paso 10. Accedemos a las propiedades del proyecto.


Paso 11. Establecemos la clase principal.

Paso 12. Editamos el manifest.mf que se encuentra en la carpeta del proyecto y agregamos lo siguiente:

SplashScreen-Image: splash.jpg



Paso 13. Verificamos que el archivo manifest.mf quede algo así:


Limpiamos el proyecto y lo estructuramos, o sea Clean and Build y listo, eso es todoo. En el proyecto que adjunto encontrarán algunos detalles adicionales.

Photobucket

Y así se debería ver:

Solo es cuestión de tener buenos gustos.

Ahora, no solo pueden poner una imágen sino también un gif animado, lo cual le dará más vistosidad o hasta una imágen png con canal alfa y toda esa nota de transparencias para obtener una splash screen como el camaleón del CorelDraw.

También en este artículo encontrarán información adicional sobre este tema: