2.12.05

 

Configurando PPLive

Pues bien, vamos a ver como puedo configurar PPLive de forma adecuada para evitar los problemas de puertos y otras cuestiones.

Si no hacemos esto es posible que funcione, pero el rendimiento no sería el adecuado, ya que estamos evitando que otras fuentes externas se comuniquen con nosotros. Es posible en estos casos que yo me comunique con ellas, pero si ambos tenemos problemas para recibir datos externos, ninguno de los dos se comunicará con el otro.

Acabo de instalar PPLive, y como me encuentro tras un router multipuesto, supongo que los puertos de mi aplicación no estarán accesibles desde el exterior. Para poder mapearlos, lo primero que necesito saber es qué puertos son, obviamente. Lo más aconsejable es consultar la documentación del programa.

En el caso del PPLive, los puertos los tenemos dentro del menú Option... que aparece al hacer clic derecho sobre el icono del motor del PPLive. Posteriormente dentro de la ficha Network tenemos los dos puertos utilizados en la opción Port, en este caso, son el 5379 y el 7073 como podemos ver en la imagen:



Pero ¿A qué se debe estos dos puertos?. En la mayoría de los programas P2P a través de un puerto se realiza la compartición de datos, mientras que por el otro se intercambian fuentes con otros clientes y otras funciones. Uno habitualmente utiliza el protocolo TCP y el otro el UDP. No vamos a entrar en explicar cada uno de estos protocolos. Simplemente diremos que uno, el TCP, es más confiable (seguro) que el otro. En el caso de mi router no necesito saber quien es quien pues mapea ambos, pero en otros casos, como con ciertos firewalls, si que es necesario indicarlo, por lo que vamos a intentar averiguar de alguna manera cual es el TCP y cual es el UDP. Hay una forma muy sencilla de hacerlo. Veamos.

Cómo determinar qué puerto es el TCP y cual es el UDP
Una vez que hemos cargado el motor del PPLive, ejecutamos el administrador de tareas de Windows pulsando las teclas CTRL+ALT+SUPR. Nos dirigimos a la ficha Procesos y buscamos el nombre del fichero ejecutable de la aplicación que deseamos investigar, en este caso PE.EXE.



En la imagen os he marcado en amarillo lo que buscamos. Fijaos en el número que aparece en la columna PID, el 3412. Esto es importante para lo que viene a continuación. Si no os apareciera esa columna, podéis mostrarla entrando en el menú Ver - Seleccionar columnas... y activamos Identificador de proceso (PID)

Una vez que sabemos qué identificador de proceso tiene asignado el motor de PPLive, abrimos una ventana de comandos entrando en el menú Inicio, pulsando "Ejecutar..." y escribimos CMD.

En dicha ventana escribimos el comando NETSTAT -ano y pulsamos la tecla de retorno. Obtendremos algo como esto:



Os he resaltado las dos líneas que nos interesan. Fijaos como aparece el PID del motor del PPLive en dos ocasiones. En la primera línea vemos que indica que el protocolo es el TCP en el puerto 7073 y que está escuchando (Listening). La segunda línea marcada indica que el protocolo es UDP para el puerto 5379.

Como vemos, ambos puertos están preparados, pero desde el exterior son inaccesibles debido a que en mi router no están mapeados. Vamos a comprobarlo.

¡Socorro! ¡No escucho!
Para el siguiente experimento vamos a utilizar la misma herramienta, el comando NetStat -ano. Pero en esta ocasión voy a cargar algún canal en el PPLive. Al cabo de un rato, ejecuto el comando NetStat y fijaos lo que obtengo:



Para conservar la "privacidad" de las personas que visualizaban el canal, he ocultado el inicio de las direcciones IP con las que me he conectado. Podemos ver como en todas las conexiones TCP realizadas por mi ordenador (IP privada 172.16.3.5) y con identificador 3412 (el correspondiente al motor de PPLive), ninguna ha sido establecida con el puerto 5379, lo que indica que todas han sido conexiones de salida. Por ejemplo, mi ordenador ha establecido (ESTABLISHED) una conexión con la dirección xxx.xxx.190.24 a través del puerto 8008. Podéis observar como desde mi ordenador se ha utilizado un puerto también, en esta ocasión el 3602. Os preguntaréis este puerto a qué viene ahora. Tranquilos. En toda conexión debe existir un puerto local (de mi ordenador) y un puerto remoto (ordenador externo). Es como una llamada telefónica, siempre deben existir dos teléfonos a ambos extremos. En nuestro caso, para poder establecer la comunicación mi ordenador necesita utilizar un puerto. Pero como es una llamada al exterior (no es una llamada recibida), no hay problema de router ni nada por el estilo. Afortunadamente el puerto 8008 del ordenador destino si que estaba accesible. Lo importante es que observéis como no se ha producido ninguna conexión a los dos puertos establecidos en las opciones del PPLive.

Vale, muy bien, pero por qué todos los puertos a los que nos hemos conectado son distintos también, y ninguno es el supuesto 5379? La respuesta es sencilla y lógica. Es recomendable, muy recomendable, que no se utilicen los puertos por defecto que traen las aplicaciones P2P, por múltiples razones. Una de ellas es que algunas compañias de acceso impiden el tráfico cuando trae un número de puerto concreto para limitar el uso de programas P2P a sus usuarios, que son los que más ancho de banda consumen. Y las personas con las que hemos establecido una conexión, sabían esto y han modificado sus puertos.

¿Qué puertos puedo poner en mi aplicación P2P?
Es recomendable que leais la documentación del programa en cuestión, pues algunos aconsejan ciertos puertos. En el caso del PPLive vamos a elegir dos puertos al azar, siempre y cuando no estén utilizados ya por alguna aplicación de nuestro ordenador. Se deben evitar utilizar los llamados puertos bien conocidos que son todos aquellos que van desde el 0 al 1023. En nuestro caso vamos a usar alguno fácil de recordar o cualquier puerto que ya tenga mapeado de otras aplicaciones P2P que no van a funcionar simultaneamente con PPLive. En mi caso elijo 16800 para UDP y el 3900 para TCP (este es uno de los puertos que utiliza SopCast, así mato dos pájaros de un tiro). Existe un listado en la iana donde podéis comprobar si alguno de los que habéis elegido se encuentra ocupado por alguna aplicación que utilicéis.



Una vez que he modificado los puertos en el PPLive, hacemos la misma comprobación que hemos realizado antes, y observaremos como ahora están a la escucha estos dos puertos, sin embargo, nadie se conecta a ellos (posiblemente sea necesario reiniciar el motor del PPLive para que surta efecto el cambio).

Ahora tengo que mapear estos puertos en mi router. Debido a la gran cantidad de router y procedimientos que existe, te recomiendo que visites alguna página especializada o consultes con el manual de tu router para realizar el mapeado.

Una vez que hemos mapeado los puertos tenemos que poner atención en el firewall. Si el que tenemos es automático, como el que incorpora el Windows XP SP2, sólo tendremos que PERMITIR cuando nos aparezca el mensaje y del resto ya se ocupa él. Si no es automático, debes consultar la documentación al respecto para ver como se actúa.

Probando las conexiones externas
Si ahoras cargamos un canal en PPLive nos llevaremos una grata sorpresa. Cuando antes a duras penas conseguiamos 8 ó 9 fuentes (pares) ahora llegamos a cerca de las 40 o más.



Como podemos comprobar en la captura, aunque sólo muestro unas cuantas conexiones por falta de espacio, podemos comprobar como ahora nuestro PPLive (tiene un nuevo PID al haberlo reiniciado, el 3240) tiene una mayoría amplia de conexiones externas que son las establecidas al puerto 3900 (172.16.3.5:3900).

El límite del SP2
Si todo lo hemos hecho correctamente, las conexiones que vienen dirigidas a mi PPLive ya no encuentran ningún obstáculo. Sin embargo, si tenemos instalado en nuestro ordenador el Service Pack 2 de Windows XP, existe una limitación muy importante para algunas conexiones salientes.

Debido a la proliferación de gusanos como Blaster que aprovechan las conexiones permanentes de los usuarios a Internet, Microsoft decidión incluir en el SP2 de su sistema operativo una limitación que impidiera una expansión rápida de estos gusanos. Todo ordenador con Windows XP SP2 tiene limitadas sus conexiones salientes a un mismo puerto en 10 por segundo. Cuando se supera este límite, Windows guarda el resto de conexiones en su pila y las va enviando muy lentamente.

Esta medida, que como vemos, va encaminada a impider un avance rápido de los virus, ha sido muy polémica. Unos afirman y aseguran que de ninguna manera afecta a los programas P2P, y que como mucho, ralentiza la obtención de fuentes, pero que cuando el programa lleva conectado un rato, las descargas no se ven afectadas. Sin embargo, otros opinan que es una excusa de Microsoft para obstaculizar el uso de programas P2P.

El hecho es que la limitación existe, y cuando usamos un programa P2P como puede ser PPLive, es posible que en la búsqueda de fuentes, muchos usuarios hayan dejado los puertos por defecto que trae el programa, por lo que mi PPLive intentará conectarse seguramente con más de 10 usuarios que tienen el mismo puerto en un segundo. Si esto sucede, el sistema me limita las conexiones. Veamos si esto ha ocurrido. Para comprobar si dicho límite se ha sobrepasado, abrimos el Visor de sucesos que podemos encontrar dentro de las herramientas administrativas del Panel de control de nuestro Windows. Si seleccionamos Sistema nos podemos encontrar con algo como esto:



Fijaos en la advertencia que aparece en la primera línea. Si lleva como número de suceso el 4226, indica que efectivamente el sistema ha limitado las conexiones salientes de mi sistema. Si hacéis doble clic sobre él os aparecerá una ventana con el siguiente texto:

TCP/IP alcanzó el límite de seguridad impuesto sobre el número de intentos de conexión TCP simultáneas.

Para obtener más información, vea el Centro de ayuda y soporte técnico en http://go.microsoft.com/fwlink/events.asp.


Los contrarios a esta limitación afirman que esta medida es una tomadura de pelo, pues si mi ordenador se encuentra infectado con un gusano e infecto a 10 ordenadores en menos de un segundo, cada uno de esos ordenadores infecta a otros 10 ordenadores en un segundo, con lo cual, en un dia practicamente estarían infectados todos los ordenadores del mundo.

Cada cual que actue en consecuencia. Si pensáis que estáis suficientemente protegidos por antivirus, antispywares, firewalls, etc.. y tomáis todas las precauciones posibles para que vuestro ordenador no se infecte, podéis plantearos el quitar la limitación. Quien piense que es una buena medida para impedir la rápida infección de virus y gusanos que lo deje.

A continuación voy a explicar cómo se desactiva esta limitación. Lo hago simplemente a título informativo y con sentido pedagógico. De ninguna manera estoy diciendo que lo hagáis. Es más, os recomiendo que si no tenéis el suficiente conocimiento como para saber si vuestro ordenador está suficientemente protegido y desconocéis el funcionamiento de antivirus, firewalls y demás, que no toqueis nada. Actuar con responsabilidad.

El propio PPLive viene preparado para desactivar esta limitación. Se trata de un fichero que podéis encontrar en la carpeta donde se haya instalado el motor de PPLive, habitualmente en C:\Archivos de programa\Archivos comunes\Synacast\SynaLive. Allí podréis ver un archivo llamado EvID4226Patch.exe. Dicho programa lo podeis descargar también de http://www.lvllord.de

Una vez que ejecutamos dicho programa obtenemos una pantalla como esta:



Como podemos ver, nos indica que nuestro sistema está limitado a 10 conexiones y me pregunta si deseo aumentar dicho límite a 50. Puedo contestar Sí, No o incluso, indicarle otro valor diferente a 50 (pulsando la tecla C). Para PPLive considero que con 50 está bien, así que pulso la tecla Y.

Una vez pulsada la tecla "Y" vemos como realiza una copia de seguridad del archivo TCPIP.SYS (que es el que está modificando) por si en algún momento deseamos deshacer la operación y nos informa que Windows dispone de una copia de dicho fichero TCPIP.SYS, y que el sistema podría utilizarlo para sustituir el fichero alterado. Por eso nos pregunta si deseamos renombrar dicho fichero. Le contestamos que sí (Y) ya que de lo contrario abortará la operación.



Pasados unos segundos aparecerá un mensaje de aviso del Windows:



Esto es normal, pues Windows ha detectado que algo extraño ha sucedido y que no puede restaurar el fichero a su estado original, por lo que me emplaza a insertar el CD del sistema para restaurarlo desde allí. Obviamente nosotros no queremos eso, así que pulsamos el botón CANCELAR.

Me vuelve a salir un mensaje de aviso que dice así:

Eligió no restaurar las versiones originales de los archivos y puede afectar a la estabilidad de Windows. ¿Está seguro de que desea guardar estas versiones de archivos desconocidas?


A dicha pregunta contestamos que SI

Tras esto, el programa de parcheo nos informa que todo ha sucedido correctamente y me indica la ruta donde se encuentra la copia de seguridad del archivo original (observa que el nombre termina en .original). Además nos aconseja que reiniciemos el sistema, cosa que haremos después de pulsar una tecla cualquiera.

Una vez reiniciado el ordenador, si volvemos a ejecutar EvID4226Patch.exe nos permitirá cambiar de nuevo el límite a otros valores o simplemente, desinstalar el parche para que todo vuelva como estaba pulsando la tecla U.

OPCIONES EN PPLIVE
Antes de probar PPLive sería recomendable tocar algún valor de su configuración. A partir de aquí ya no hay una receta fija. Cada uno debe probar los diferentes valores que mejor se adapten a su sistema pues afecta mucho la memoria del ordenador, velocidad de conexión y otros factores.

Accediendo a las opciones de PPLive (clic derecho sobre su icono. Elegimos Option...) nos encontramos con la pestaña Peer. Allí vemos dos valores, Max Peer Count y channel max Peer Count. Aunque no he encontrado información al respecto oficial, "channerl max Peer Count" indica el número máximo de pares por canal. En PPLive se entiende un par por las conexiones que en ese momento mantienen un intercambio de información entre nosotros, ya sea de entrada, de salida o de ambas. Vigilad este parámetro pues con valores altos puede provocar saturación en el router y cuando esto ocurre no podréis hacer nada en Internet mientras PPLive esté funcionando, incluso bastante tiempo después. El valor mínimo es 16 aunque yo no he logrado poner menos de 32 y el máximo 128. En mi caso, cuando pongo más de 50 se me bloquea el router y alguna vez hasta he perdido la conexión.

Max Peer Count es un valor algo más confuso para mí. Aún no entiendo bien su función, aunque podría ser un límite similar al que incluye SP2, es decir, conexiones simultáneas por segundo.

Después de varias pruebas tocando estos valores he podido ver que con valores pequeños de Max Peer Count carga más lento el buffer, pero luego se mantiene más estable en el 100%. Sin embargo con valores mayores, carga más rápido, pero no se mantiene tan estable y provoca caidas y trompicones.

En mi caso particular (ya os digo que esto se obtiene probando), he encontrado una carga rápida de buffer y estabilidad sin saltos estableciendo ambos valores a 32 aproximadamente.

En esa misma ventana tenemos una cuadro de chequeo que indica UPNP. Sirve para mapear automaticamente los puertos elegidos en nuestro router. Obviamente, el aparatejo debe ser compatible UPNP para poder usarlo.

Otra categoria de opciones es bandWidth. Aquí podemos elegir entre Default (por defecto) o Custom. Al elegir esta última opción podremos establer el número de canales que queremos tener cargados simultaneamente. Salgo que tengáis muchos megas de ADSL y mucha memoria RAM en el ordenador, no os aconsejo más de uno, pues si elegimos 2 y hemos establecido por ejemplo a 50 el número máximo de pares por canal, tendremos 100 conexiones que en algunos casos pueden ser excesivas y el sistema se me vendrá abajo. Como máximo podremos tener 4 canales simultaneos.

Dentro de la categoría Play tenemos dos opciones; la primera, las opciones del buffer. Tampoco lo tengo muy claro su utilidad, aunque si variamos los valores, podremos perder bastante (o mejorar) el funcionamiento del PPLive. Por las pruebas que he hecho, indica en principio cuando arranca el reproductor. Por ejemplo, si lo ponemos en proporción y elegimos el 80%, el reproductor arrancará cuando el buffer llegue al 80%. Imagino que de forma idéntica, aunque no se tomando qué referencia, cuando indicamos en lugar de porcentaje el temporizador (timer) también arrancará a los 10 segundos (si hemos indicado un 10). Pero ya os digo que no se exactamente sobre qué referencia se toma. Y tampoco se si esto influye una vez que ha arrancado el reproductor. Por las pruebas que he hecho parece que si, y con valores bajos de proporción (50% por ejemplo), tenia muchos parones posteriormente. Sin embargo con valores más altos (80% o más) la estabilidad era mejor. Lo tengo puesto a 10 segundos que es como mejor me ha funcionado.

Player Option es sencillo. Indicaremos la ruta de nuestro reproductor favorito para visualizar stream con contenedores asf (por defecto Windows Media) y rm (Real Media).


Mi recomendación: si os funciona bien, no toquéis nada. Dejadlo como está. Si no os funciona, investigar y seguro que mejorará tomando como base todo esto que os comentado. Suerte ! :-)





<< Portada

This page is powered by Blogger. Isn't yours?

Creative Commons License
El contenido de este weblog tiene licencia Creative Commons Atribución-NoComercial-CompartirIgual 2.5. Puede reproducirlo sin fines comerciales indicando como fuente nuestra dirección http://tvxp2p.blogspot.com