<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://test.amule.szerverem.hu/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://test.amule.szerverem.hu/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=212.170.156.253</id>
		<title>AMule Project FAQ - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://test.amule.szerverem.hu/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=212.170.156.253"/>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Special:Contributions/212.170.156.253"/>
		<updated>2026-04-05T02:24:42Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.3</generator>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Translations-es</id>
		<title>Translations-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Translations-es"/>
				<updated>2006-10-31T13:36:11Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Translations|Inglés]] | [[Translations-pt|Portugués]] | [[Translations-ko_KR|Coreano]] | [[Translations-ru|Ruso]] |  [[Translations-cn|Chino]] | '''Español''' &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Es muy facil ser un traductor de [[aMule]] a tu idioma, actualmente soporta [http://www.unicode.org Unicode], por lo que no hay limitación para caracteres Chinos, Coreanos, Árabes ... es posible realizar cualquier traducción.&lt;br /&gt;
&lt;br /&gt;
Pero las traducciones necesitan de traductores, no temas entrar en el mundo de [[aMule]]!&lt;br /&gt;
&lt;br /&gt;
No es necesario programar en lenguaje [http://gcc.gnu.org C++] o [http://en.wikipedia.org/wiki/Klingon_language Klingon] para ser un traductor!&lt;br /&gt;
Solamente necesitas conocer tu propia lengua (!!) y algún conocimiento de ingés!&lt;br /&gt;
&lt;br /&gt;
Interesante? entonces comenzamos&lt;br /&gt;
&lt;br /&gt;
== Como comenzar ==&lt;br /&gt;
&lt;br /&gt;
De vez en cuando (una vez al mes) posteamos un fichero de texto llamado &lt;br /&gt;
''source_strings.po'' en el foro [http://forum.amule.org/thread.php?threadid=1097 Translation].&lt;br /&gt;
&lt;br /&gt;
Descarga el fichero an ábrelo con [http://i18n.kde.org/tools/kbabel/ KBabel] si utilizas [http://www.kde.org KDE], [http://www.poedit.org PoEdit] o el  [http://gtranslator.sourceforge.net/ gTranslator] si usas [http://www.gnome.org Gnome].&lt;br /&gt;
&lt;br /&gt;
Previamente no debes olvidar el marcar tus preferencias en el &lt;br /&gt;
[http://i18n.kde.org/tools/kbabel/ KBabel], [http://www.poedit.org PoEdit] o [http://gtranslator.sourceforge.net/ gTranslator] incluyendo el nombre, e-mail, grupo de caracteres y demás.....&lt;br /&gt;
&lt;br /&gt;
Esto es lo que verás con [http://i18n.kde.org/tools/kbabel KBabel]:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb1.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
En la esquina superior izquierda tienes el texto en inglés.&lt;br /&gt;
&lt;br /&gt;
En la esquina superior derecha tienes el fichero del que procede el texto.&lt;br /&gt;
&lt;br /&gt;
Ahora solo tienes que escribir el texto traducido en la esquina inferior izquierda&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb2.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#ff0000&amp;gt;Debes tener especial cuidado en copiar todos los caracteres especiales como &amp;amp;, %i, \n, etc... en el texto traducido y respetar los espacios al inicio y final del texto.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE''', revisa [[format specifiers|este documento]] para saber cuales son los caracteres que no deben ser modificados.&lt;br /&gt;
&lt;br /&gt;
Continua con todos los textos del fichero y una vez finalizado guárdalo.&lt;br /&gt;
&lt;br /&gt;
Has acabado la traducción!, envíala al &lt;br /&gt;
[http://www.amule-project.net/amule/board.php?boardid=40 foro de traducciones del aMULE] y miles de personas te estarán agradecidas :)&lt;br /&gt;
&lt;br /&gt;
== Como continuar una traducción ya empezada ==&lt;br /&gt;
&lt;br /&gt;
Cuando la traducción ya ha sido iniciada, no será necesario que vuelvas a traducir los textos ya traducidos del fichero ''source_strings.po'' !&lt;br /&gt;
&lt;br /&gt;
Hay un proceso automático que se encarga de incluir los textos ya traducidos en el fichero ''source_strings.po''&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, imagínate que deseas continuar la traducción al francés:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Descarga la última ''source_strings.po'' del  [http://forum.amule.org/thread.php?threadid=1097 foro], y la antigua ''fr.po'' que se encontraba en la versión del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
* Integra la antigua y nueva versión escribiendo: &lt;br /&gt;
&lt;br /&gt;
'''msgmerge --no-fuzzy-matching -o new_fr.po fr.po source_strings.po'''&lt;br /&gt;
&lt;br /&gt;
Alternativamente podrías usar las herramientas incluidas en el &lt;br /&gt;
[http://i18n.kde.org/tools/kbabel KBabel] o en el    [http://poedit.sourceforge.net PoEdit] (consulta la ayuda de estas aplicaciones)&lt;br /&gt;
&lt;br /&gt;
A continuación comienza la traducción en el fichero ''new_fr.po'' como lo hiciste anteriormente en el fichero ''source_srings.po'', simplemente tendrás que traducir los textos que no fueron traducidos anteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Probando la traducción ==&lt;br /&gt;
&lt;br /&gt;
=== Antes de empezar ===&lt;br /&gt;
&lt;br /&gt;
Una vez guardado el fichero, puedes re-[[compile]|compilar] el [[aMule]], o simplemnte puedes comprobar que el fichero es correcto (este proceso se realiza automáticamente cuando [[compile|compilas el fichero]]).&lt;br /&gt;
&lt;br /&gt;
La segunda opción tiene algunas ventajas, y es que no es necesario crear todos los ejecutables del [[aMule]], solamente necesitas crear el ejecutable de la traducción.&lt;br /&gt;
&lt;br /&gt;
El procedimiento mas indicado es intentarlo [[#Testing only the translation file|solo con el fichero de prueba]] hasta que lo logremos, y una vez finalizado[[#Testing with aMule|compilar el aMule con las traducciones]] para ver como funciona.&lt;br /&gt;
&lt;br /&gt;
=== Probando solamente el fichero de traducción ===&lt;br /&gt;
&lt;br /&gt;
Para hacerlo, primero debes ejecutar ''./configure''.&lt;br /&gt;
&lt;br /&gt;
Ahora, una vez que hayas copiado tu fichero en el directorio ''po/'', ejecuta ''make '''translation_language'''.gmo'', ejemplo ''make en_GB.gmo''&lt;br /&gt;
&lt;br /&gt;
Si la traducción es correcto, te mostrará algo como esto: &lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make en_GB.gmo&lt;br /&gt;
 rm -f en_GB.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o en_GB.gmo en_GB.po&lt;br /&gt;
 1354 translated messages&lt;br /&gt;
&lt;br /&gt;
Este es un ejemplo de una traducción correcta y completa.&lt;br /&gt;
&lt;br /&gt;
Como &amp;quot;correcta&amp;quot; debes entender a una traducción que bien completa o no, puede ser usada ya que no contiene errores de sintaxis.&lt;br /&gt;
&lt;br /&gt;
Una traducción e incompleta sería la siguiente:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make ru.gmo&lt;br /&gt;
 rm -f ru.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o ru.gmo ru.po&lt;br /&gt;
 1333 translated messages, 79 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Como puedes ver, 79 lineas todavía estan pendientes de ser traducidas.&lt;br /&gt;
&lt;br /&gt;
También puedes tener traducciones &amp;quot;dudosas&amp;quot; (ingles=fuzzy). Las traducciones dudosas son aquellas que ha detectado el [http://www.gnu.org/software/gettext gettext], y probablemente son erróneas. Estas quedan marcadas mediante la adicción de un texto ''#, fuzzy'' a la derecha de la traducción. Por lo que si ves que tienes  &amp;quot;fuzzy translations&amp;quot;, busca estas líenas y corrígelas (o simplemente borra el texto ''#, fuzzy'' si ves que están bien).&lt;br /&gt;
&lt;br /&gt;
Un ejemplo de traducciones dudosas es el siguiente:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make hr.gmo&lt;br /&gt;
 rm -f hr.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o hr.gmo hr.po&lt;br /&gt;
 544 translated messages, 412 fuzzy translations, 443 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Por último la traducción puede contener errores, en estos casos aparece un texto que explica cada uno de ellos:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make de.gmo&lt;br /&gt;
 rm -f de.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o de.gmo de.po&lt;br /&gt;
 de.po:88: number of format specifications in 'msgid' and 'msgstr' does not match&lt;br /&gt;
 /usr/bin/msgfmt: found 1 fatal error&lt;br /&gt;
 make: *** [de.gmo] Error 1&lt;br /&gt;
&lt;br /&gt;
En este jemplo aparece un error en la línea 88, por lo que no creará el ejecutable hasta que sea corregido.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Probando con el [[aMule]] ===&lt;br /&gt;
&lt;br /&gt;
Puedes probar la traducción [[compile|re-compilando el  aMule]] y viendo como queda.&lt;br /&gt;
&lt;br /&gt;
Si tu lenguaje no estuviera disponible en el [[aMule]], debes añadir el mismo a la base de datos, para que el [[aMule]] sepa que existe y se pueda&lt;br /&gt;
[[compile|compilar]] con ese lenguaje. &lt;br /&gt;
Para hacer esto debes añadir el código del lenguaje al fichero ''po/LINGUAS''  (un lenguaje por línea).&lt;br /&gt;
&lt;br /&gt;
A continuación [[compile]|compila] el [[aMule]] normalmente. Si necesitas ayuda, [[compile|pincha aquí]].&lt;br /&gt;
&lt;br /&gt;
== Traduciones avanzadas ==&lt;br /&gt;
&lt;br /&gt;
Si no eres nuevo en el desarrollo de aplicaciones en Linux o eres lo sufientemente impaciente para tener siempre actualizada la traducción a tu lenguaje.....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Genera el fichero ''source_strings.po'' tu mismo!&lt;br /&gt;
&lt;br /&gt;
Como lo hacemos?&lt;br /&gt;
&lt;br /&gt;
* Desacarga la última versión del [[aMule]] [http://www.gnu.org/software/cvs CVS] desde http://amule.hirnriss.net&lt;br /&gt;
&lt;br /&gt;
* Descomprime el archivo, ves al directorio raiz (root) y genera  [http://www.gnu.org/software/make Makefiles]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:::'''tar -xjf aMule-cvs-20041009.tar.bz2'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''cd amule-cvs'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''./configure'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Actualiza el fichero ''POTFILE.in'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:::'''grep -m 1 '_(' `find * -name &amp;quot;*.cpp&amp;quot;` | cut -d: -f1 &amp;gt; po/POTFILES.in'''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Genera el nuevo fichero ''source_strings.po'':&lt;br /&gt;
&lt;br /&gt;
:::&amp;lt;code&amp;gt;&lt;br /&gt;
:::'''cd po'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot amule.pot.old'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''make amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot source_strings.po'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot.old amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Translations#How_to_proceed|Traduce]] el nuevo ''source_strings.po'' y [http://forum.amule.org/board.php?boardid=40 envíalo]!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Thepolish|Thepolish]] 22:46, 9 Oct 2004 (CEST)&lt;br /&gt;
-- Traducido por --[[User:Crax|Crax]]&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Format_specifiers-es</id>
		<title>Format specifiers-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Format_specifiers-es"/>
				<updated>2006-10-31T13:22:43Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''MEN AT WORK, PLEASE DONT LINK IT, I WILL LINK IT WHEN FINISHED, THANX ;)'''&lt;br /&gt;
fdo. crax&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Format_specifiers|Inglés]] | '''Español'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
[[aMule]] se realiza en el lenguaje de programación [http://www.icce.rug.nl/documents/cplusplus C++]. Este lenguaje permite gestionar de una manera sencilla los caracteres pero en algunos casos es necesario recurrir a algún que otro truco.&lt;br /&gt;
&lt;br /&gt;
En el caso de que estés realizando una [[translations-es|traducción de aMule]], lo mas probable es que te encuentres una series de “cosas extrañas”. Algunas veces serán simplemente tipos de letra, pero en otras ocasiones, éstas se incluyen con un propósito determinado.&lt;br /&gt;
&lt;br /&gt;
Este documento es '''necesario y obligado''' para alguien que desea o esta [[translations-es|traduciendo el  aMule]]. En este documento se describen todos casos de grupos de caracteres que '''nunca''' deben modificarse.&lt;br /&gt;
&lt;br /&gt;
Por la tanto en este documento puedes encontrar la descripción de los grupos de caracteres que '''no''' debes modificar y cual es la explicación de cada uno de ellos..&lt;br /&gt;
&lt;br /&gt;
== Códigos especiales ==&lt;br /&gt;
&lt;br /&gt;
=== Códigos especiales [http://www.ecma-international.org/publications/standards/Ecma-006.htm ASCII] no representables ===&lt;br /&gt;
&lt;br /&gt;
Son códigos que representan caracteres en código  [http://www.ecma-international.org/publications/standards/Ecma-006.htm ASCII] los cuales no pueden ser escritos con el teclado.&lt;br /&gt;
&lt;br /&gt;
*''\a'' -&amp;gt; Normalmente produce una alerta sonora (en algún  caso visual) como un pitido&lt;br /&gt;
*''\b'' -&amp;gt; Regresa hacia atrás un caracter&lt;br /&gt;
*''\f'' -&amp;gt; En la mayoría de los sistemas realiza una limpieza de la pantalla.&lt;br /&gt;
*''\n'' -&amp;gt; Finaliza la línea actual y comienza una nueva, situando el cursor al inicio de la nueva línea.&lt;br /&gt;
*''\r'' -&amp;gt; Va al inicio de la línea actual&lt;br /&gt;
*''\t'' -&amp;gt; Tabulación horizontal.&lt;br /&gt;
*''\v'' -&amp;gt; Tabulación vertical.&lt;br /&gt;
*''\&amp;lt;octal digits&amp;gt;'' -&amp;gt; Mostrará ''octal digits'' en octal&lt;br /&gt;
*''\x&amp;lt;hex digits&amp;gt;'' -&amp;gt; Mostrará el valor ''hex digits'' en hexadecimal&lt;br /&gt;
&lt;br /&gt;
=== Códigos especiales de desambiguación ===&lt;br /&gt;
&lt;br /&gt;
Los siguientes no son caracteres que no se puedan escribir mediante el teclado, pero debido a las limitaciones en el lenguaje de programación [http://www.icce.rug.nl/documents/cplusplus C++] son necesarios para utilizarlos como:&lt;br /&gt;
*''\?'' -&amp;gt; muestra un signo de interrogación ( ''?'' ) para evitar traducciones tipográficas (no todos los compiladores soportan la traducción tipográfica, por lo que no siempre es necesario)&lt;br /&gt;
*''\\'' -&amp;gt; Muestra un slash ( ''\'' )&lt;br /&gt;
*''\' '' -&amp;gt; Muestra una comilla simple ('' ' '')&lt;br /&gt;
*''\&amp;quot;'' -&amp;gt; Muestra comillas ('' &amp;quot; '')&lt;br /&gt;
&lt;br /&gt;
=== Ejemplos ===&lt;br /&gt;
&lt;br /&gt;
A continuación tenemos unos ejemplos de los códigos mostrados anteriormente. Se muestran en parejas incluyendo la línea de código y la salida que tendrá dicha línea de código en el sistema.. En otras palabras, la primera línea representa el código   [http://www.icce.rug.nl/documents/cplusplus C++] y la segunda línea  (o grupo de línea en el caso de que sea necesario explicarlo en más de una línea) explica como el código  [http://www.icce.rug.nl/documents/cplusplus C++] de la línea anterior se ejecuta en el sistema:&lt;br /&gt;
&lt;br /&gt;
** Línea de código: ''&amp;quot;[[User:Jacobo221|Jacobo221]] is an angel\aOh, true, I am not.&amp;quot;''&lt;br /&gt;
**Salida: ''[[User:Jacobo221|Jacobo221]] is an angelOh, true, I am not'' (Se escuchará un pitido justo después de la palabra ''angel'' y la siguiente palabra no (''Oh'') no se mostrará hasta que no finalice el pitido)&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;I have 6\b5 fingers in my right hand&amp;quot;''&lt;br /&gt;
**Salida: ''I have 5 fingers in my right hand''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;Where is the &amp;lt;RETURN&amp;gt; key???\nAh, here it is!&amp;quot;''&lt;br /&gt;
**Salida: ''Where is the &amp;lt;RETURN&amp;gt; key???''&amp;lt;br&amp;gt;''Ah, here it is!''&lt;br /&gt;
&lt;br /&gt;
** Línea de código: ''&amp;quot;I am a BIG lier\rI'm married with Marilyn Monroe&amp;quot;''&lt;br /&gt;
**Salida: ''I'm married with Marilyn Monroe''&lt;br /&gt;
&lt;br /&gt;
** Línea de código: ''&amp;quot;\141\115\165\x6C\x65&amp;quot;''&lt;br /&gt;
**Salida: ''aMule'' (Ten en cuenta que el valor en octal de ''a'' en código [http://www.ecma-international.org/publications/standards/Ecma-006.htm ASCII] es 141, el valor en octal ''M'' es 115, el valor en octal de ''u'' es 165, el valor en  hexadecimal de''l'' es 6C y por último el valor hexadecimal de ''e'' es 65)&lt;br /&gt;
&lt;br /&gt;
** Línea de código: ''&amp;quot;Isn\'t it complicated to use the \&amp;quot; and \\ characters\?&amp;quot;''&lt;br /&gt;
**Salida: ''Isn't it complicated to use the &amp;quot; and \ characters?''&lt;br /&gt;
&lt;br /&gt;
== Códigos de formateo ==&lt;br /&gt;
&lt;br /&gt;
=== Códigos de formateo básico ===&lt;br /&gt;
&lt;br /&gt;
Los códigos de formateo son grupos de caracteres que serán sustituidos por otros datos. El código de formato mismo especifica por que tipo de datos será sustituido:&lt;br /&gt;
&lt;br /&gt;
*''%d'' -&amp;gt; Valor decimal (signed integer type). Equivalente a %i&lt;br /&gt;
*''%i'' -&amp;gt; Valor decimal (signed integer type). Equivalente a %d&lt;br /&gt;
*''%u'' -&amp;gt; Número natural (unsigned integer type).&lt;br /&gt;
*''%x'' -&amp;gt; Valor hexadecimal representado en minúsculas (unsigned integer type)&lt;br /&gt;
*''%X'' -&amp;gt; Valor hexadecimal representado en mayúsculas(unsigned integer type)&lt;br /&gt;
*''%o'' -&amp;gt; Valor octal (unsigned integer type)&lt;br /&gt;
*''%f'' -&amp;gt; Número racional (con decimales) with the normal (showing all numbers) notation (tipos float y double)&lt;br /&gt;
*''%e'' -&amp;gt; Número racional (number with a floating point) con valor exponencial representado a partir de ''e'' minúscula (tipos float y double types)&lt;br /&gt;
*''%E'' -&amp;gt; Número racional (number with a floating point) con valor exponencial representado a partir de la ''E'' mayúscula (tipos float y double types)&lt;br /&gt;
*''%g'' -&amp;gt; Rational number (number with a floating point) with normal or exponential notation depending on the value. If exponential, a lowercase ''e'' will be used  (both float and double types)&lt;br /&gt;
*''%G'' -&amp;gt; Núnero racional (number with a floating point) with normal or exponential notation depending on the value. If exponential, an uppercase ''E'' will be used  (both float and double types)&lt;br /&gt;
*''%c'' -&amp;gt; Muestra caracteres (tipo integer)&lt;br /&gt;
*''%s'' -&amp;gt; Un string (array, pointer of integers type)&lt;br /&gt;
*''%p'' -&amp;gt; Muestra la dirección de memoria (tipo pointer)&lt;br /&gt;
*''%n'' -&amp;gt; The variable that is assigned to this format specifier will be given the value of the number of characters displayed up to know (tipo integer)&lt;br /&gt;
&lt;br /&gt;
=== Type extensions ===&lt;br /&gt;
&lt;br /&gt;
En algunos casos, algunos caracteres se pueden incluir entre el ''%'' y el carácter que especifica el tipo de dato. Este carácter insertado entre ambos significa el tipo de dato por el que va ser substituido el dato original.: &lt;br /&gt;
:&lt;br /&gt;
*''h'' -&amp;gt; Convertirá en short integer type. Válido para ''d'', ''i'', ''o'', ''u'', ''x'', ''X'' y ''n''.&lt;br /&gt;
*''l'' -&amp;gt; Convertirá en long integer type. Válido para ''d'', ''i'', ''o'', ''u'', ''x'', ''X'' y ''n''.&lt;br /&gt;
*''L'' -&amp;gt; Convertirá en long double type. Válido para  ''e'', ''E'', ''f'', ''F'', ''g'', ''G''&lt;br /&gt;
&lt;br /&gt;
=== Trucos  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Además, algunos de los códigos de formato permiten realizar ciertas modificaciones a la hora de cambiar el aspecto de salida. Estos códigos deben ser insertados entre el ''%'' y el caracter:&lt;br /&gt;
*''-'' -&amp;gt; Alinea a la izquierda&lt;br /&gt;
*''+'' -&amp;gt; Muestra un símbolo ( ''+'' ) cuando el número es positivo. Válido para  *''d'', ''i'', ''e'', ''E'', ''f'', ''g'' y ''G''.&lt;br /&gt;
*''0'' -&amp;gt; Rellena los espacios en blanco con ceros ( ''0'' ). Válido para *''d'', ''i'', ''u'', ''x'', ''X'', ''o'', ''e'', ''E'', ''f'', ''g'' y ''G''.&lt;br /&gt;
*''#'' -&amp;gt; Actuará de diversos modos dependiendo del tipo de datos.&lt;br /&gt;
**''o': Un cero ( ''0'' ) will be prepended when the data is non-zero.&lt;br /&gt;
**''x'' y ''X'': Prepends ''0x'' or ''0X'' to the data, depending whether the format specifier was ''x'' or ''X''.&lt;br /&gt;
**''f'', ''e'', ''E'', ''g'' y ''G'': Muestra la coma decimal incluso cuando el número no es decimal..&lt;br /&gt;
**''g'' y ''G'': The trailing zeros are not removed.&lt;br /&gt;
*''&amp;lt;non-zero decimal value&amp;gt;'' -&amp;gt; Specifies the minimum width the data must occupy (if not all is occupied, it will be padded). Can be used together with ''0''.&lt;br /&gt;
*''.&amp;lt;decimal value&amp;gt;'' -&amp;gt; It will act in different ways depending on the type of data:&lt;br /&gt;
**''f'', ''e'' and ''E'': Specify the amount of decimals it is allowed to display (if ''.0'', no decimals will be displayed).&lt;br /&gt;
**''s'': Maximum amount of characters to display (if ''.0'', no characters will be displayed).&lt;br /&gt;
*''%%'' -&amp;gt; This is not a format specifier, instead, it is only meant to be used to avoid ambiguousity. It will display a single ''%'' character.&lt;br /&gt;
&lt;br /&gt;
=== Nota importante ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''NUNCA''' debes cambiar el orden de los códigos de formateo, causaría efectos inesperados. Deben ir en el mismo orden que en original mientras  realices la traducción.&lt;br /&gt;
Ejemplo: En el caso de que tradujeras la frase  ''&amp;quot;I am %d years old and my name is %s.&amp;quot;'' a ''&amp;quot;Mi nombre es  %s y tengo %d años.&amp;quot;'' (ten en cuenta ''%s'' and ''%d'' han cambiado de orden), esto causaría un error fatal del [[aMule]] cuando intentara mostrar la frase.. &lt;br /&gt;
&lt;br /&gt;
=== Ejemplo  ===&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran una serie de ejemplos de los codigos de formateo que vimos anteriormente. Se muestran en parejas incluyendo la línea de código y la salida que tendrá dicha línea de código en el sistema.. En otras palabras, la primera línea representa el código   [http://www.icce.rug.nl/documents/cplusplus C++] y la segunda línea  (o grupo de línea en el caso de que sea necesario explicarlo en más de una línea) explica como el código  [http://www.icce.rug.nl/documents/cplusplus C++] de la línea anterior se ejecuta en el sistema, Los datos por los que los códigos de formateo son substituidos son aleatorios.  (bueno, no exactamente aleatorios, he incluido datos con significado en cada ejemplo):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;I am %s and I am %d years old.&amp;quot;''&lt;br /&gt;
**Salida: ''I am [[User:Jacobo221|Jacobo221]] and I am 19 years old.''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;The first letter in the english alphabet is %c&amp;quot;''&lt;br /&gt;
**Salida: ''The first letter in the english alphabet is A''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;There exists a format specifier which is %%%c&amp;quot;''&lt;br /&gt;
**Salida: ''There exists a format specifier which is %E''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;There exists a format specifier which is %%c&amp;quot;''&lt;br /&gt;
** Salida: ''There exists a format specifier which is %c''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;%E and %e are the same number&amp;quot;''&lt;br /&gt;
** Salida: ''9.186329E+00 and 9.186329e+00 are the same number''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;%g is in normal notation while %g is in exponential notation&amp;quot;''&lt;br /&gt;
**Salida: ''0.25 is in normal notation while 3.234234E+34 is in exponential notation''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;%+d is a positive number&amp;quot;''&lt;br /&gt;
**Salida: ''+5 is a positive number''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;%05f says: Am I not 0-plenty?&amp;quot;''&lt;br /&gt;
** Salida: ''000.250000 says: Am I not 0-plenty?''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;Both %#o and %#X start with notation specifier&amp;quot;''&lt;br /&gt;
**Salida: ''Both 0345 and 0X65FC start with notation specifier''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;%010x must be plenty of zeros&amp;quot;''&lt;br /&gt;
**Salida: ''00000065fc must be plenty of zeros''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;Pi number is %.2f&amp;quot;''&lt;br /&gt;
**Salida: ''Pi number is 3.14''&lt;br /&gt;
&lt;br /&gt;
** Línea de código: ''&amp;quot;Look what happens when you read the four letters in [http://www.mozilla.org/products/firefox Firefox]: %.4s&amp;quot;''&lt;br /&gt;
**Salida: ''Look what happens when you read the four letters in [http://www.mozilla.org/products/firefox Firefox]: Fire''&lt;br /&gt;
&lt;br /&gt;
== Otras herramientas ==&lt;br /&gt;
&lt;br /&gt;
También hay otra serie de cosas que debes tener en cuenta cuando realices una traducción, así que lo mejor es que continúes leyendo este documento.&lt;br /&gt;
&lt;br /&gt;
=== Character cases ===&lt;br /&gt;
&lt;br /&gt;
The [http://www.icce.rug.nl/documents/cplusplus C++] programming language doesn't consider uppercase and lowercase letters as the same lettes. So, 'a' is a different letter from 'A' for [http://www.icce.rug.nl/documents/cplusplus C++] programs. In most cases, this will be insignificant for you, but when dealing with [[#Escape codes|escape codes]] and [[#Format specifiers|format specifiers]] it does, so please remain them the same.&lt;br /&gt;
&lt;br /&gt;
=== Leading and ending blank spaces ===&lt;br /&gt;
&lt;br /&gt;
You will sometimes find strings with either begin or end with a space. This is '''not''' a typo. That space is there for a reason. Most usually this reason is one of the following:&lt;br /&gt;
#Appearance. Maybe it separates the string from somewhere that, without this separation, would look ugly.&lt;br /&gt;
#Future additions. In 99% of the cases, it will be because some data is going to be appended to it. Imagine you find a string like ''I am ''. Although no ''%s'' format specifier is found there, some data is going to be added later anyway. So, if the blank space wasn't kept, once translated, in the app it would look like ''I amme'' instead of ''I am me''.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
The following are examples of the above cases explained. They are unified into groups of four lines. The first line shows an original string, the second one how it should be translated (the examples are translated into spanish),the third one a possible output and the fourth line translates the translated possible output back into english so that you can understand it in case you don't speak spanish:&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;[[aMule]] version &amp;quot;''&lt;br /&gt;
**Translation: ''&amp;quot;[[aMule]] versión &amp;quot;''&lt;br /&gt;
**Output: ''[[aMule]] versión 2.0.0''&lt;br /&gt;
**Output (in english): ''[[aMule]] version 2.0.0''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot; can become a %s [[aMule]] user&amp;quot;''&lt;br /&gt;
**Translation: ''&amp;quot; puede llegar a ser un %s usuario de [[aMule]]&amp;quot;''&lt;br /&gt;
**Output: ''Cualquiera puede llegar a ser un feliz usuario de [[aMule]]''&lt;br /&gt;
**Output (in english): ''Anyone can become a happy [[aMule]] user''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot; this line looks complete and the leading and ending spaces can be deleted because they seem typos &amp;quot;''&lt;br /&gt;
**Translation: ''&amp;quot; esta frase parece completa y los espacios del principio y del final se pueden eliminar porque deben ser un error &amp;quot;''&lt;br /&gt;
**Output: ''Aunque esta frase parece completa y los espacios del principio y del final se pueden eliminar porque deben ser un error no lo es porque, como se puede ver, quedaban cosas por añadir, lo cual demuestra que '''nunca''' se deben eliminar esos espacios''&lt;br /&gt;
**Output (in english): ''Allthough this line looks complete and the leading and ending spaces can be deleted because they seem typos it is not because, as you can see, there were still words to be added, so this shows you why you should '''never''' delete those spaces''&lt;br /&gt;
&lt;br /&gt;
== Overall example ==&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
:Untranslated:&lt;br /&gt;
:''msgid=&amp;quot;I am %s and I a %d-year old\nand I\'m a happy \&amp;quot;aMule\&amp;quot; user &amp;quot;''&lt;br /&gt;
:''msgstr=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:Would become (translation to spanish):&lt;br /&gt;
:''msgid=&amp;quot;I am %s, %d years old\nand &amp;amp;I\'m a happy \&amp;quot;rabitty-aMule\&amp;quot; user &amp;quot;''&lt;br /&gt;
:''msgstr=&amp;quot;Soy %s y tengo %d años\ny soy un fel&amp;amp;iz usuario del \&amp;quot;conejillo-aMule\&amp;quot; &amp;quot;''&lt;br /&gt;
&lt;br /&gt;
:Explanation:&lt;br /&gt;
:#''%s'' and ''%d'' '''must''' be copied literally since they will be substituted in the program with some string or number. General rule: anything between a character ''%'' and the next letter-character (that is, ''a'', ''b'', 'c'', etc...) or percentage character (''%'') must be copied literally.&lt;br /&gt;
:#''\n'' must be copied literally too since it brakes the line into a new line. The general rule is: ''\'' and it's very next character (can be ''\'', ''a'', ''n'', ''t'', '',f'', ''&amp;quot;'', ''&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;'', etc) must be copied literally.&lt;br /&gt;
:#''&amp;amp;'' must be placed '''before'' the very same letter in the translation since it indicates the combination ALT+letter that will select that option.&lt;br /&gt;
:#The ending space is left since in the original message it was there. '''Never''' remove startng or ending spaces, even if they look ugly. They are there for some reason. Nomally this will be because either before or after that string comes another string. For example: ''&amp;quot;Opening file &amp;quot;'' has a blank space at the end, so you can expect that right after it the name of a file will be displayed. Something like ''Opening file server.met''&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Format_specifiers-es</id>
		<title>Format specifiers-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Format_specifiers-es"/>
				<updated>2006-10-31T13:19:45Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''MEN AT WORK, PLEASE DONT LINK IT, I WILL LINK IT WHEN FINISHED, THANX ;)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
center&amp;gt;&lt;br /&gt;
[[Format_specifiers|Inglés]] | '''Español'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
[[aMule]] se realiza en el lenguaje de programación [http://www.icce.rug.nl/documents/cplusplus C++]. Este lenguaje permite gestionar de una manera sencilla los caracteres pero en algunos casos es necesario recurrir a algún que otro truco.&lt;br /&gt;
&lt;br /&gt;
En el caso de que estés realizando una [[translations-es|traducción de aMule]], lo mas probable es que te encuentres una series de “cosas extrañas”. Algunas veces serán simplemente tipos de letra, pero en otras ocasiones, éstas se incluyen con un propósito determinado.&lt;br /&gt;
&lt;br /&gt;
Este documento es '''necesario y obligado''' para alguien que desea o esta [[translations-es|traduciendo el  aMule]]. En este documento se describen todos casos de grupos de caracteres que '''nunca''' deben modificarse.&lt;br /&gt;
&lt;br /&gt;
Por la tanto en este documento puedes encontrar la descripción de los grupos de caracteres que '''no''' debes modificar y cual es la explicación de cada uno de ellos..&lt;br /&gt;
&lt;br /&gt;
== Códigos especiales ==&lt;br /&gt;
&lt;br /&gt;
=== Códigos especiales [http://www.ecma-international.org/publications/standards/Ecma-006.htm ASCII] no representables ===&lt;br /&gt;
&lt;br /&gt;
Son códigos que representan caracteres en código  [http://www.ecma-international.org/publications/standards/Ecma-006.htm ASCII] los cuales no pueden ser escritos con el teclado.&lt;br /&gt;
&lt;br /&gt;
*''\a'' -&amp;gt; Normalmente produce una alerta sonora (en algún  caso visual) como un pitido&lt;br /&gt;
*''\b'' -&amp;gt; Regresa hacia atrás un caracter&lt;br /&gt;
*''\f'' -&amp;gt; En la mayoría de los sistemas realiza una limpieza de la pantalla.&lt;br /&gt;
*''\n'' -&amp;gt; Finaliza la línea actual y comienza una nueva, situando el cursor al inicio de la nueva línea.&lt;br /&gt;
*''\r'' -&amp;gt; Va al inicio de la línea actual&lt;br /&gt;
*''\t'' -&amp;gt; Tabulación horizontal.&lt;br /&gt;
*''\v'' -&amp;gt; Tabulación vertical.&lt;br /&gt;
*''\&amp;lt;octal digits&amp;gt;'' -&amp;gt; Mostrará ''octal digits'' en octal&lt;br /&gt;
*''\x&amp;lt;hex digits&amp;gt;'' -&amp;gt; Mostrará el valor ''hex digits'' en hexadecimal&lt;br /&gt;
&lt;br /&gt;
=== Códigos especiales de desambiguación ===&lt;br /&gt;
&lt;br /&gt;
Los siguientes no son caracteres que no se puedan escribir mediante el teclado, pero debido a las limitaciones en el lenguaje de programación [http://www.icce.rug.nl/documents/cplusplus C++] son necesarios para utilizarlos como:&lt;br /&gt;
*''\?'' -&amp;gt; muestra un signo de interrogación ( ''?'' ) para evitar traducciones tipográficas (no todos los compiladores soportan la traducción tipográfica, por lo que no siempre es necesario)&lt;br /&gt;
*''\\'' -&amp;gt; Muestra un slash ( ''\'' )&lt;br /&gt;
*''\' '' -&amp;gt; Muestra una comilla simple ('' ' '')&lt;br /&gt;
*''\&amp;quot;'' -&amp;gt; Muestra comillas ('' &amp;quot; '')&lt;br /&gt;
&lt;br /&gt;
=== Ejemplos ===&lt;br /&gt;
&lt;br /&gt;
A continuación tenemos unos ejemplos de los códigos mostrados anteriormente. Se muestran en parejas incluyendo la línea de código y la salida que tendrá dicha línea de código en el sistema.. En otras palabras, la primera línea representa el código   [http://www.icce.rug.nl/documents/cplusplus C++] y la segunda línea  (o grupo de línea en el caso de que sea necesario explicarlo en más de una línea) explica como el código  [http://www.icce.rug.nl/documents/cplusplus C++] de la línea anterior se ejecuta en el sistema:&lt;br /&gt;
&lt;br /&gt;
** Línea de código: ''&amp;quot;[[User:Jacobo221|Jacobo221]] is an angel\aOh, true, I am not.&amp;quot;''&lt;br /&gt;
**Salida: ''[[User:Jacobo221|Jacobo221]] is an angelOh, true, I am not'' (Se escuchará un pitido justo después de la palabra ''angel'' y la siguiente palabra no (''Oh'') no se mostrará hasta que no finalice el pitido)&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;I have 6\b5 fingers in my right hand&amp;quot;''&lt;br /&gt;
**Salida: ''I have 5 fingers in my right hand''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;Where is the &amp;lt;RETURN&amp;gt; key???\nAh, here it is!&amp;quot;''&lt;br /&gt;
**Salida: ''Where is the &amp;lt;RETURN&amp;gt; key???''&amp;lt;br&amp;gt;''Ah, here it is!''&lt;br /&gt;
&lt;br /&gt;
** Línea de código: ''&amp;quot;I am a BIG lier\rI'm married with Marilyn Monroe&amp;quot;''&lt;br /&gt;
**Salida: ''I'm married with Marilyn Monroe''&lt;br /&gt;
&lt;br /&gt;
** Línea de código: ''&amp;quot;\141\115\165\x6C\x65&amp;quot;''&lt;br /&gt;
**Salida: ''aMule'' (Ten en cuenta que el valor en octal de ''a'' en código [http://www.ecma-international.org/publications/standards/Ecma-006.htm ASCII] es 141, el valor en octal ''M'' es 115, el valor en octal de ''u'' es 165, el valor en  hexadecimal de''l'' es 6C y por último el valor hexadecimal de ''e'' es 65)&lt;br /&gt;
&lt;br /&gt;
** Línea de código: ''&amp;quot;Isn\'t it complicated to use the \&amp;quot; and \\ characters\?&amp;quot;''&lt;br /&gt;
**Salida: ''Isn't it complicated to use the &amp;quot; and \ characters?''&lt;br /&gt;
&lt;br /&gt;
== Códigos de formateo ==&lt;br /&gt;
&lt;br /&gt;
=== Códigos de formateo básico ===&lt;br /&gt;
&lt;br /&gt;
Los códigos de formateo son grupos de caracteres que serán sustituidos por otros datos. El código de formato mismo especifica por que tipo de datos será sustituido:&lt;br /&gt;
&lt;br /&gt;
*''%d'' -&amp;gt; Valor decimal (signed integer type). Equivalente a %i&lt;br /&gt;
*''%i'' -&amp;gt; Valor decimal (signed integer type). Equivalente a %d&lt;br /&gt;
*''%u'' -&amp;gt; Número natural (unsigned integer type).&lt;br /&gt;
*''%x'' -&amp;gt; Valor hexadecimal representado en minúsculas (unsigned integer type)&lt;br /&gt;
*''%X'' -&amp;gt; Valor hexadecimal representado en mayúsculas(unsigned integer type)&lt;br /&gt;
*''%o'' -&amp;gt; Valor octal (unsigned integer type)&lt;br /&gt;
*''%f'' -&amp;gt; Número racional (con decimales) with the normal (showing all numbers) notation (tipos float y double)&lt;br /&gt;
*''%e'' -&amp;gt; Número racional (number with a floating point) con valor exponencial representado a partir de ''e'' minúscula (tipos float y double types)&lt;br /&gt;
*''%E'' -&amp;gt; Número racional (number with a floating point) con valor exponencial representado a partir de la ''E'' mayúscula (tipos float y double types)&lt;br /&gt;
*''%g'' -&amp;gt; Rational number (number with a floating point) with normal or exponential notation depending on the value. If exponential, a lowercase ''e'' will be used  (both float and double types)&lt;br /&gt;
*''%G'' -&amp;gt; Núnero racional (number with a floating point) with normal or exponential notation depending on the value. If exponential, an uppercase ''E'' will be used  (both float and double types)&lt;br /&gt;
*''%c'' -&amp;gt; Muestra caracteres (tipo integer)&lt;br /&gt;
*''%s'' -&amp;gt; Un string (array, pointer of integers type)&lt;br /&gt;
*''%p'' -&amp;gt; Muestra la dirección de memoria (tipo pointer)&lt;br /&gt;
*''%n'' -&amp;gt; The variable that is assigned to this format specifier will be given the value of the number of characters displayed up to know (tipo integer)&lt;br /&gt;
&lt;br /&gt;
=== Type extensions ===&lt;br /&gt;
&lt;br /&gt;
En algunos casos, algunos caracteres se pueden incluir entre el ''%'' y el carácter que especifica el tipo de dato. Este carácter insertado entre ambos significa el tipo de dato por el que va ser substituido el dato original.: &lt;br /&gt;
:&lt;br /&gt;
*''h'' -&amp;gt; Convertirá en short integer type. Válido para ''d'', ''i'', ''o'', ''u'', ''x'', ''X'' y ''n''.&lt;br /&gt;
*''l'' -&amp;gt; Convertirá en long integer type. Válido para ''d'', ''i'', ''o'', ''u'', ''x'', ''X'' y ''n''.&lt;br /&gt;
*''L'' -&amp;gt; Convertirá en long double type. Válido para  ''e'', ''E'', ''f'', ''F'', ''g'', ''G''&lt;br /&gt;
&lt;br /&gt;
=== Trucos  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Además, algunos de los códigos de formato permiten realizar ciertas modificaciones a la hora de cambiar el aspecto de salida. Estos códigos deben ser insertados entre el ''%'' y el caracter:&lt;br /&gt;
*''-'' -&amp;gt; Alinea a la izquierda&lt;br /&gt;
*''+'' -&amp;gt; Muestra un símbolo ( ''+'' ) cuando el número es positivo. Válido para  *''d'', ''i'', ''e'', ''E'', ''f'', ''g'' y ''G''.&lt;br /&gt;
*''0'' -&amp;gt; Rellena los espacios en blanco con ceros ( ''0'' ). Válido para *''d'', ''i'', ''u'', ''x'', ''X'', ''o'', ''e'', ''E'', ''f'', ''g'' y ''G''.&lt;br /&gt;
*''#'' -&amp;gt; Actuará de diversos modos dependiendo del tipo de datos.&lt;br /&gt;
**''o': Un cero ( ''0'' ) will be prepended when the data is non-zero.&lt;br /&gt;
**''x'' y ''X'': Prepends ''0x'' or ''0X'' to the data, depending whether the format specifier was ''x'' or ''X''.&lt;br /&gt;
**''f'', ''e'', ''E'', ''g'' y ''G'': Muestra la coma decimal incluso cuando el número no es decimal..&lt;br /&gt;
**''g'' y ''G'': The trailing zeros are not removed.&lt;br /&gt;
*''&amp;lt;non-zero decimal value&amp;gt;'' -&amp;gt; Specifies the minimum width the data must occupy (if not all is occupied, it will be padded). Can be used together with ''0''.&lt;br /&gt;
*''.&amp;lt;decimal value&amp;gt;'' -&amp;gt; It will act in different ways depending on the type of data:&lt;br /&gt;
**''f'', ''e'' and ''E'': Specify the amount of decimals it is allowed to display (if ''.0'', no decimals will be displayed).&lt;br /&gt;
**''s'': Maximum amount of characters to display (if ''.0'', no characters will be displayed).&lt;br /&gt;
*''%%'' -&amp;gt; This is not a format specifier, instead, it is only meant to be used to avoid ambiguousity. It will display a single ''%'' character.&lt;br /&gt;
&lt;br /&gt;
=== Nota importante ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''NUNCA''' debes cambiar el orden de los códigos de formateo, causaría efectos inesperados. Deben ir en el mismo orden que en original mientras  realices la traducción.&lt;br /&gt;
Ejemplo: En el caso de que tradujeras la frase  ''&amp;quot;I am %d years old and my name is %s.&amp;quot;'' a ''&amp;quot;Mi nombre es  %s y tengo %d años.&amp;quot;'' (ten en cuenta ''%s'' and ''%d'' han cambiado de orden), esto causaría un error fatal del [[aMule]] cuando intentara mostrar la frase.. &lt;br /&gt;
&lt;br /&gt;
=== Ejemplo  ===&lt;br /&gt;
&lt;br /&gt;
A continuación se muestran una serie de ejemplos de los codigos de formateo que vimos anteriormente. Se muestran en parejas incluyendo la línea de código y la salida que tendrá dicha línea de código en el sistema.. En otras palabras, la primera línea representa el código   [http://www.icce.rug.nl/documents/cplusplus C++] y la segunda línea  (o grupo de línea en el caso de que sea necesario explicarlo en más de una línea) explica como el código  [http://www.icce.rug.nl/documents/cplusplus C++] de la línea anterior se ejecuta en el sistema, Los datos por los que los códigos de formateo son substituidos son aleatorios.  (bueno, no exactamente aleatorios, he incluido datos con significado en cada ejemplo):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;I am %s and I am %d years old.&amp;quot;''&lt;br /&gt;
**Salida: ''I am [[User:Jacobo221|Jacobo221]] and I am 19 years old.''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;The first letter in the english alphabet is %c&amp;quot;''&lt;br /&gt;
**Salida: ''The first letter in the english alphabet is A''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;There exists a format specifier which is %%%c&amp;quot;''&lt;br /&gt;
**Salida: ''There exists a format specifier which is %E''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;There exists a format specifier which is %%c&amp;quot;''&lt;br /&gt;
** Salida: ''There exists a format specifier which is %c''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;%E and %e are the same number&amp;quot;''&lt;br /&gt;
** Salida: ''9.186329E+00 and 9.186329e+00 are the same number''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;%g is in normal notation while %g is in exponential notation&amp;quot;''&lt;br /&gt;
**Salida: ''0.25 is in normal notation while 3.234234E+34 is in exponential notation''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;%+d is a positive number&amp;quot;''&lt;br /&gt;
**Salida: ''+5 is a positive number''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;%05f says: Am I not 0-plenty?&amp;quot;''&lt;br /&gt;
** Salida: ''000.250000 says: Am I not 0-plenty?''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;Both %#o and %#X start with notation specifier&amp;quot;''&lt;br /&gt;
**Salida: ''Both 0345 and 0X65FC start with notation specifier''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;%010x must be plenty of zeros&amp;quot;''&lt;br /&gt;
**Salida: ''00000065fc must be plenty of zeros''&lt;br /&gt;
&lt;br /&gt;
**Línea de código: ''&amp;quot;Pi number is %.2f&amp;quot;''&lt;br /&gt;
**Salida: ''Pi number is 3.14''&lt;br /&gt;
&lt;br /&gt;
** Línea de código: ''&amp;quot;Look what happens when you read the four letters in [http://www.mozilla.org/products/firefox Firefox]: %.4s&amp;quot;''&lt;br /&gt;
**Salida: ''Look what happens when you read the four letters in [http://www.mozilla.org/products/firefox Firefox]: Fire''&lt;br /&gt;
&lt;br /&gt;
== Otras herramientas ==&lt;br /&gt;
&lt;br /&gt;
También hay otra serie de cosas que debes tener en cuenta cuando realices una traducción, así que lo mejor es que continúes leyendo este documento.&lt;br /&gt;
&lt;br /&gt;
=== Character cases ===&lt;br /&gt;
&lt;br /&gt;
The [http://www.icce.rug.nl/documents/cplusplus C++] programming language doesn't consider uppercase and lowercase letters as the same lettes. So, 'a' is a different letter from 'A' for [http://www.icce.rug.nl/documents/cplusplus C++] programs. In most cases, this will be insignificant for you, but when dealing with [[#Escape codes|escape codes]] and [[#Format specifiers|format specifiers]] it does, so please remain them the same.&lt;br /&gt;
&lt;br /&gt;
=== Leading and ending blank spaces ===&lt;br /&gt;
&lt;br /&gt;
You will sometimes find strings with either begin or end with a space. This is '''not''' a typo. That space is there for a reason. Most usually this reason is one of the following:&lt;br /&gt;
#Appearance. Maybe it separates the string from somewhere that, without this separation, would look ugly.&lt;br /&gt;
#Future additions. In 99% of the cases, it will be because some data is going to be appended to it. Imagine you find a string like ''I am ''. Although no ''%s'' format specifier is found there, some data is going to be added later anyway. So, if the blank space wasn't kept, once translated, in the app it would look like ''I amme'' instead of ''I am me''.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
The following are examples of the above cases explained. They are unified into groups of four lines. The first line shows an original string, the second one how it should be translated (the examples are translated into spanish),the third one a possible output and the fourth line translates the translated possible output back into english so that you can understand it in case you don't speak spanish:&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot;[[aMule]] version &amp;quot;''&lt;br /&gt;
**Translation: ''&amp;quot;[[aMule]] versión &amp;quot;''&lt;br /&gt;
**Output: ''[[aMule]] versión 2.0.0''&lt;br /&gt;
**Output (in english): ''[[aMule]] version 2.0.0''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot; can become a %s [[aMule]] user&amp;quot;''&lt;br /&gt;
**Translation: ''&amp;quot; puede llegar a ser un %s usuario de [[aMule]]&amp;quot;''&lt;br /&gt;
**Output: ''Cualquiera puede llegar a ser un feliz usuario de [[aMule]]''&lt;br /&gt;
**Output (in english): ''Anyone can become a happy [[aMule]] user''&lt;br /&gt;
&lt;br /&gt;
**Code line: ''&amp;quot; this line looks complete and the leading and ending spaces can be deleted because they seem typos &amp;quot;''&lt;br /&gt;
**Translation: ''&amp;quot; esta frase parece completa y los espacios del principio y del final se pueden eliminar porque deben ser un error &amp;quot;''&lt;br /&gt;
**Output: ''Aunque esta frase parece completa y los espacios del principio y del final se pueden eliminar porque deben ser un error no lo es porque, como se puede ver, quedaban cosas por añadir, lo cual demuestra que '''nunca''' se deben eliminar esos espacios''&lt;br /&gt;
**Output (in english): ''Allthough this line looks complete and the leading and ending spaces can be deleted because they seem typos it is not because, as you can see, there were still words to be added, so this shows you why you should '''never''' delete those spaces''&lt;br /&gt;
&lt;br /&gt;
== Overall example ==&lt;br /&gt;
&lt;br /&gt;
'''Example:'''&lt;br /&gt;
:Untranslated:&lt;br /&gt;
:''msgid=&amp;quot;I am %s and I a %d-year old\nand I\'m a happy \&amp;quot;aMule\&amp;quot; user &amp;quot;''&lt;br /&gt;
:''msgstr=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:Would become (translation to spanish):&lt;br /&gt;
:''msgid=&amp;quot;I am %s, %d years old\nand &amp;amp;I\'m a happy \&amp;quot;rabitty-aMule\&amp;quot; user &amp;quot;''&lt;br /&gt;
:''msgstr=&amp;quot;Soy %s y tengo %d años\ny soy un fel&amp;amp;iz usuario del \&amp;quot;conejillo-aMule\&amp;quot; &amp;quot;''&lt;br /&gt;
&lt;br /&gt;
:Explanation:&lt;br /&gt;
:#''%s'' and ''%d'' '''must''' be copied literally since they will be substituted in the program with some string or number. General rule: anything between a character ''%'' and the next letter-character (that is, ''a'', ''b'', 'c'', etc...) or percentage character (''%'') must be copied literally.&lt;br /&gt;
:#''\n'' must be copied literally too since it brakes the line into a new line. The general rule is: ''\'' and it's very next character (can be ''\'', ''a'', ''n'', ''t'', '',f'', ''&amp;quot;'', ''&amp;lt;nowiki&amp;gt;'&amp;lt;/nowiki&amp;gt;'', etc) must be copied literally.&lt;br /&gt;
:#''&amp;amp;'' must be placed '''before'' the very same letter in the translation since it indicates the combination ALT+letter that will select that option.&lt;br /&gt;
:#The ending space is left since in the original message it was there. '''Never''' remove startng or ending spaces, even if they look ugly. They are there for some reason. Nomally this will be because either before or after that string comes another string. For example: ''&amp;quot;Opening file &amp;quot;'' has a blank space at the end, so you can expect that right after it the name of a file will be displayed. Something like ''Opening file server.met''&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Server</id>
		<title>Server</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Server"/>
				<updated>2006-10-26T14:46:41Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[Server-de|German]] | [[Server-es|Spanish]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Servers on the [[FAQ_eD2k-Kademlia#What_is_ED2K?|eD2k network]] ==&lt;br /&gt;
&lt;br /&gt;
On the [[FAQ_eD2k-Kademlia#What_is_ED2K?|eD2k network]], when connecting, you connect to a server (read [[FAQ_eD2k-Kademlia#What_is_ED2K?|this]] to know more about it).&amp;lt;br&amp;gt;&lt;br /&gt;
This server provides information such as the search results, the [[client|clients]] who are sharing specified files, the files transfer (when on [[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|LowID]]). and such.&amp;lt;br&amp;gt;&lt;br /&gt;
On this network, the server is a central machine which you connect to (you can choose which server to connect to). Most servers are interconnected to each other so that global searches can be done.&lt;br /&gt;
&lt;br /&gt;
== Servers on the [[FAQ_eD2k-Kademlia#What_is_Kademlia?|Kademlia network]] ==&lt;br /&gt;
&lt;br /&gt;
On the [[FAQ_eD2k-Kademlia#What_is_Kademlia?|Kademlia network]] there are no servers. Or, lets say, each [[client]] is, at the same time, a server.&amp;lt;br&amp;gt;&lt;br /&gt;
The description on how this network works can be found [[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|here]].&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Server</id>
		<title>Server</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Server"/>
				<updated>2006-10-26T14:46:10Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[Server-de|German]] | [[Server-de|Spanish]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Servers on the [[FAQ_eD2k-Kademlia#What_is_ED2K?|eD2k network]] ==&lt;br /&gt;
&lt;br /&gt;
On the [[FAQ_eD2k-Kademlia#What_is_ED2K?|eD2k network]], when connecting, you connect to a server (read [[FAQ_eD2k-Kademlia#What_is_ED2K?|this]] to know more about it).&amp;lt;br&amp;gt;&lt;br /&gt;
This server provides information such as the search results, the [[client|clients]] who are sharing specified files, the files transfer (when on [[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|LowID]]). and such.&amp;lt;br&amp;gt;&lt;br /&gt;
On this network, the server is a central machine which you connect to (you can choose which server to connect to). Most servers are interconnected to each other so that global searches can be done.&lt;br /&gt;
&lt;br /&gt;
== Servers on the [[FAQ_eD2k-Kademlia#What_is_Kademlia?|Kademlia network]] ==&lt;br /&gt;
&lt;br /&gt;
On the [[FAQ_eD2k-Kademlia#What_is_Kademlia?|Kademlia network]] there are no servers. Or, lets say, each [[client]] is, at the same time, a server.&amp;lt;br&amp;gt;&lt;br /&gt;
The description on how this network works can be found [[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|here]].&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Server-es</id>
		<title>Server-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Server-es"/>
				<updated>2006-10-26T14:45:05Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Server|Inglés]] | [[Server-de|Alemán]] | '''Español'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Servidores en la [[FAQ_eD2k-Kademlia-es#¿Qué es ED2K?|red eD2k]] ==&lt;br /&gt;
&lt;br /&gt;
Dentro de la red [[FAQ_eD2k-Kademlia-es#¿Qué es ED2K?|eD2k]], durante la conexión, , esta se realiza contra un servidor (lee [[FAQ_eD2k-Kademlia-es|esto]] si deseas ampliar sobre este punto).&amp;lt;br&amp;gt;&lt;br /&gt;
El servidor al que nos hemos conectado, nos envía información sobre resultados de búsquedas, [[client-es|clientes]] que comparten un fichero específico, los ficheros que se envían  (cuando tenemos [[FAQ_eD2k-Kademlia-es#¿Qué_es_ID_baja_e_ID_alta?|LowID]]), además de otra serie de datos.&amp;lt;br&amp;gt;&lt;br /&gt;
En esta red, el servidor es la máquina central al que te conectas (se puede elegir a que servidor conectarse). La mayoría de los servidores estan interconectados entre si, permitiendo realizar búsquedas globales.&lt;br /&gt;
On this network, the server is a central machine which you connect to (you can choose which server to connect to). Most servers are interconnected to each other so that global searches can be done.&lt;br /&gt;
&lt;br /&gt;
== Servidores en la [[FAQ_eD2k-Kademlia-es#¿Que_es_Kademlia?|red Kademila]] ==&lt;br /&gt;
&lt;br /&gt;
En la red [[FAQ_eD2k-Kademlia-es#¿Que_es_Kademlia?|Kademlia]] no hay servidores. &lt;br /&gt;
Aunque sería mejor decir, cada [[client-es|cliente]], es, al mismo tiempo, también un servidor.&lt;br /&gt;
La descripción de como funciona esta red la puedes encontrar  &lt;br /&gt;
[[FAQ_eD2k-Kademlia-es#¿Qué_es_ID_baja_e_ID_alta?|aqui]].&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Server-es</id>
		<title>Server-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Server-es"/>
				<updated>2006-10-26T14:44:28Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Server|Inglés]] | [[Server-de|Alemán]] | '''Español'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Servidores en la [[FAQ_eD2k-Kademlia-es#¿Qué es ED2K?|red eD2k]] ==&lt;br /&gt;
&lt;br /&gt;
Dentro de la red [[FAQ_eD2k-Kademlia-es#¿Qué es ED2K?|eD2k]], durante la conexión, , esta se realiza contra un servidor (lee [[FAQ_eD2k-Kademlia-es|esto]] si deseas ampliar sobre este punto).&amp;lt;br&amp;gt;&lt;br /&gt;
El servidor al que nos hemos conectado, nos envía información sobre resultados de búsquedas, [[client-es|clientes]] que comparten un fichero específico, los ficheros que se envían  (cuando tenemos [[FAQ_eD2k-Kademlia-es#¿Que_es_ID_baja_e_ID_alta?|LowID]]), además de otra serie de datos.&amp;lt;br&amp;gt;&lt;br /&gt;
En esta red, el servidor es la máquina central al que te conectas (se puede elegir a que servidor conectarse). La mayoría de los servidores estan interconectados entre si, permitiendo realizar búsquedas globales.&lt;br /&gt;
On this network, the server is a central machine which you connect to (you can choose which server to connect to). Most servers are interconnected to each other so that global searches can be done.&lt;br /&gt;
&lt;br /&gt;
== Servidores en la [[FAQ_eD2k-Kademlia-es#¿Que_es_Kademlia?|red Kademila]] ==&lt;br /&gt;
&lt;br /&gt;
En la red [[FAQ_eD2k-Kademlia-es#¿Que_es_Kademlia?|Kademlia]] no hay servidores. &lt;br /&gt;
Aunque sería mejor decir, cada [[client-es|cliente]], es, al mismo tiempo, también un servidor.&lt;br /&gt;
La descripción de como funciona esta red la puedes encontrar  &lt;br /&gt;
[[FAQ_eD2k-Kademlia-es#¿Que_es_ID_baja_e_ID_alta?|aqui]].&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Server-es</id>
		<title>Server-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Server-es"/>
				<updated>2006-10-26T14:39:21Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Server|Inglés] | [[Server-de|Alemán]] | '''Español'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Servidores en la [[FAQ_eD2k-Kademlia-es#¿Qué es ED2K?|red eD2k]] ==&lt;br /&gt;
&lt;br /&gt;
Dentro de la red [[FAQ_eD2k-Kademlia-es#¿Qué es ED2K?|eD2k]], durante la conexión, , esta se realiza contra un servidor (lee [[FAQ_eD2k-Kademlia-es|esto]] si deseas ampliar sobre este punto).&amp;lt;br&amp;gt;&lt;br /&gt;
El servidor al que nos hemos conectado, no envía información sobre resultados de búsquedas, [[client-es|clientes]] que comparten un fichero específico, los ficheros que se envían  (cuando tenemos [[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|LowID]]) y otras informaciones.&amp;lt;br&amp;gt;&lt;br /&gt;
En esta red, el servidor es la máquina central al que te conectas (se puede elegir a que servidor conectarse). La mayoría de los servidores estan interconectados entre si, permitiendo realizar búsquedas globales.&lt;br /&gt;
On this network, the server is a central machine which you connect to (you can choose which server to connect to). Most servers are interconnected to each other so that global searches can be done.&lt;br /&gt;
&lt;br /&gt;
== Servidores en la [[FAQ_eD2k-Kademlia-es#¿Que_es_Kademlia?|red Kademila]] ==&lt;br /&gt;
&lt;br /&gt;
En la red [[FAQ_eD2k-Kademlia-es#¿Que_es_Kademlia?|Kademlia]] no hay servidores. &lt;br /&gt;
Aunque sería mejor decir, cada [[client-es|cliente]], es, al mismo tiempo, también un servidor.&lt;br /&gt;
La descripción de como funciona esta red la puedes encontrar  &lt;br /&gt;
[[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|aqui]].&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Server-es</id>
		<title>Server-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Server-es"/>
				<updated>2006-10-26T14:12:36Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''Englisch''' | [[Server-de|Deutsch]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Servidores en la [[FAQ_eD2k-Kademlia-es#¿Qué es ED2K?|red eD2k]] ==&lt;br /&gt;
&lt;br /&gt;
On the [[FAQ_eD2k-Kademlia#What_is_ED2K?|eD2k network]], when connecting, you connect to a server (read [[FAQ_eD2k-Kademlia#What_is_ED2K?|this]] to know more about it).&amp;lt;br&amp;gt;&lt;br /&gt;
This server provides information such as the search results, the [[client|clients]] who are sharing specified files, the files transfer (when on [[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|LowID]]). and such.&amp;lt;br&amp;gt;&lt;br /&gt;
On this network, the server is a central machine which you connect to (you can choose which server to connect to). Most servers are interconnected to each other so that global searches can be done.&lt;br /&gt;
&lt;br /&gt;
== Servers on the [[FAQ_eD2k-Kademlia#What_is_Kademlia?|Kademlia network]] ==&lt;br /&gt;
&lt;br /&gt;
On the [[FAQ_eD2k-Kademlia#What_is_Kademlia?|Kademlia network]] there are no servers. Or, lets say, each [[client]] is, at the same time, a server.&amp;lt;br&amp;gt;&lt;br /&gt;
The description on how this network works can be found [[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|here]].&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Hash-es</id>
		<title>Hash-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Hash-es"/>
				<updated>2006-10-26T14:07:00Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt; [[Hash|Inglés]] | [[Hash-hu|Magiar]] | '''Español'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Los Hashes(traducido literal=&amp;quot;picadillo&amp;quot;) son los algoritmos matemáticos que combinan operaciones para obtener un código único y reducido de otros datos.&lt;br /&gt;
&lt;br /&gt;
Los Hashes son utilizados para identificar unívocamente datos o grupos de datos.&lt;br /&gt;
&lt;br /&gt;
En la  [[FAQ_ed2k-es|red eD2k]], se utiliza normalmente el tipo de hash  [[MD4]], aunque el tipo [http://www.faqs.org/rfcs/rfc3174.html SHA-1] también es utilizado.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Hash-es</id>
		<title>Hash-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Hash-es"/>
				<updated>2006-10-26T14:06:28Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt; [[Hash|Inglés]] | [[Hash-hu|Magiar]] | '''Español'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Los Hashes(traducido literal=&amp;quot;picadillo&amp;quot;) son los algoritmos matemáticos que combinan operaciones para obtener un código único y reducido de otros datos.&lt;br /&gt;
&lt;br /&gt;
Los Hashes son utilizados para identificar unívocamente datos o grupos de datos.&lt;br /&gt;
&lt;br /&gt;
En la  [[FAQ_ed2k|red eD2k-es]], se utiliza normalmente el tipo de hash  [[MD4]], aunque el tipo [http://www.faqs.org/rfcs/rfc3174.html SHA-1] también es utilizado.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/ALinkCreatorConsole-es</id>
		<title>ALinkCreatorConsole-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/ALinkCreatorConsole-es"/>
				<updated>2006-10-26T14:03:56Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[aLinkCreatorConsole|Inglés]]  | [[aLinkCreatorConsole-de|Alemán]] | '''Español'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Descripción  ==&lt;br /&gt;
&lt;br /&gt;
alcc es la versión &amp;quot;línea de comandos&amp;quot; del [[ALinkCreator-es|alc]], una herramienta para calcular y crear  [[Ed2k_link|enlaces]]-[[FAQ_eD2k-Kademlia-es|ED2K]] de cualquier fichero que se encuentre en tu sistema, sin necesidad de que este ejecutándose, o, en el caso de compilarlo con la opción ''--disable-mobolithic'', incluso de que este instalado el programa [[aMule-es|aMule]]. A su vez, esta herramienta es capaz de crear hashes parciales y de añadir estos al [[Ed2k_link|enlace]]-[[FAQ_eD2k-Kademlia-es|ED2K]] &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Hay una guía sobre el uso de esta herramienta disponible en [[Usage_aLinkCreatorConsole|este artículo]].&lt;br /&gt;
&lt;br /&gt;
== Nota ==&lt;br /&gt;
&lt;br /&gt;
Hay que tener en cuanta que el alcc, dependiendo del ejecutable usado, no siempre se instala por defecto, puede ser necesario activarlo durante la  [[configure|configuración]], utilizando  ''--enable-alcc''.&lt;br /&gt;
Si al guno de vosotros intentáis crear un [http://www.rpm.org/ rpm] utilizando la [[Spec_file-es|spec-file]], que aMule incorpora, se le debe añadir el texto ''%{_bindir}/alcc'' en la file-section, para evitar mensajes del tipo:&lt;br /&gt;
:::&amp;quot;/usr/bin/alcc installed but not packaged&amp;quot;&lt;br /&gt;
que obligan a cancelar el rpmbuild.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_SVN-es</id>
		<title>AMule SVN-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_SVN-es"/>
				<updated>2006-10-26T14:03:06Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[AMule CVS|Inglés]] | '''Español''' | [[AMule_CVS-de|Alemán]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La última versión en estado de desarrollo del [[aMule]] la puedes encontrar [http://amule.hirnriss.net aquí].&lt;br /&gt;
&lt;br /&gt;
Cada noche puedes encontrar los ficheros del [[aMule]] en el repositorio [http://www.gnu.org/software/cvs CVS]. Debes tener en cuenta que aMule-CVS no te ofrece ninguna garantía de compilar ni de funcionar correctamente. Esta versión esta orientada a los usuarios que desean tener las últimas versiónes y desarrollos en todo momento, pero recuerda, '''úsalo bajo tu propia responsabilidad'''.&lt;br /&gt;
&lt;br /&gt;
Hay un versión no-oficial creada  partir de los CVS diarios, puedes revisarla en el [http://forum.amule.org foro].&lt;br /&gt;
&lt;br /&gt;
* Desde el 14th of March, 2005, un [[spec file-es|fichero de especificaciones]] se encuentra disponible en [http://amule.hirnriss.net aMule CVS tarball] gracias a este puedes generar mas fácilmente las [http://www.rpm.org RPM]. Mas información sobre ello [[spec file|aqui]].&lt;br /&gt;
&lt;br /&gt;
* Los usuarios de [http://www.gentoo.org Gentoo] pueden realizar las amule-cvs ebuild [[HowTo_Compile_In_Gentoo|siguiendo este enlace]].&lt;br /&gt;
&lt;br /&gt;
* Los usuarios de [http://www.archlinux.org ArchLinux] pueden realizar una versión no oficial enganchando amule-cvs PKGBUILD y creando el ejecutable siguiendo [http://gift.altervista.org/index_en.php?section=40 este link] (No hay soporte)&lt;br /&gt;
&lt;br /&gt;
* Los usuarios [http://www.debian.org Debian] pueden encontrar en el repositorio no  oficial testing/sid los paquetes CVS. Revisa [http://forum.amule.org/thread.php?threadid=5776 este enlace] para mas información:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;u&amp;gt;deb http://www.vollstreckernet.de/debian/ testing amule&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Los usarios de [http://www.apple.com/macosx/ Mac OS X] pueden encontrar los CVS [http://forum.amule.org/thread.php?threadid=5051 en este hilo] del foro.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Spec_file-de</id>
		<title>Spec file-de</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Spec_file-de"/>
				<updated>2006-10-26T14:01:55Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Spec_file|English]] | '''Deutsch''' | [[Spec_file-es|Spanish]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seit dem 14. März 2005 enthält der [[aMule CVS-de|aMule CVS]]-Tarball ein Specfile zum einfachen Erzeugen eines [http://www.rpm.org RPM]s.&lt;br /&gt;
&lt;br /&gt;
Das geht folgendermaßen:&lt;br /&gt;
&lt;br /&gt;
#Den letzten [[aMule CVS-de|aMule CVS]]-Tarball runterladen. Es '''muß''' der [[aMule CVS-de|aMule CVS]]-Tarball des '''selben Tages''' sein, weil diese [http://www.rpm.org RPM]s nur tagesaktuell gebaut werden können.&lt;br /&gt;
#Führe ''rpmbuild -ta aMule-CVS-tarball.tar.bz2'' aus.&lt;br /&gt;
#Fertig. Nun hat man ein brandneues [[aMule CVS-de|aMule CVS]]-Tarball-[http://www.rpm.org RPM], um den aktuellsten und größten [[aMule-de|aMule]] zu testen!&lt;br /&gt;
&lt;br /&gt;
Zu beachten ist, daß man mit dem Erstellen von [http://www.rpm.org RPM]s vertraut sein sollte, und zuvor alles, was zum Kompilieren nötig ist, auf seinem Rechner installiert haben muß.&lt;br /&gt;
&lt;br /&gt;
Viel Spaß!&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Spec_file</id>
		<title>Spec file</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Spec_file"/>
				<updated>2006-10-26T14:01:08Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[Spec_file-de|Deutsch]] | [[Spec_file-es|Spanish]] &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since 14th March 2005 there is a spec file in the [[aMule CVS]] tarball, so that you can easily generate an [http://www.rpm.org RPM].&lt;br /&gt;
&lt;br /&gt;
It works like this:&lt;br /&gt;
&lt;br /&gt;
#Download the latest [[aMule CVS]] tarball. It '''Must''' be the [[aMule CVS]] tarball of the '''same day''', these [http://www.rpm.org RPM]s can only be built on the same day you download them.&lt;br /&gt;
#Run: ''rpmbuild -ta aMule-CVS-tarball.tar.bz2''&lt;br /&gt;
#There you are, you have a brand new [[aMule CVS]] tarball [http://www.rpm.org RPM] to test the latest and greatest [[aMule]]!&lt;br /&gt;
&lt;br /&gt;
Notice that you must be familiar with [http://www.rpm.org RPM] generation and you must have everything required to compile [[aMule]] previously installed in your system.&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Spec_file-es</id>
		<title>Spec file-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Spec_file-es"/>
				<updated>2006-10-26T14:00:17Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Spec_file|Inglés]] | [[Spec_file-de|Alemán]] | '''Español'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desde el día 14 de Marzo del 2005 hay un fichero spec el [[aMule CVS]]-Tarball, mediante el cual y de una manera sencilla puedes generar un [http://www.rpm.org RPM].&lt;br /&gt;
&lt;br /&gt;
Funciona del siguiente modo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Descarga la última versión [[aMule CVS]]-tarball. Enta '''debe''' ser la  [[aMule CVS]]-tarball de ese '''mismo día''', los [http://www.rpm.org RPM]s solo se pueden crear en el mismo día en que los descargas&lt;br /&gt;
# Ejecuta: ''rpmbuild -ta aMule-CVS-tarball.tar.bz2''&lt;br /&gt;
# Y ya lo tines, acabas de crear un nuevo [http://www.rpm.org RPM] del [[aMule CVS]]-tarball  y ahora ya puedes probar la última, mas actualizada, y &amp;quot;mejor&amp;quot; versión del [[aMule]]&lt;br /&gt;
&lt;br /&gt;
Ten en cuanta que deberías estar familiarizado con la creación de [http://www.rpm.org RPM]s, es necesario que tengas en tu sistema todos los paquetes intalados  para compilar el [[aMule]], antes de realizar el RPM.&lt;br /&gt;
&lt;br /&gt;
Disfruta del aMule!&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/ALinkCreatorConsole-de</id>
		<title>ALinkCreatorConsole-de</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/ALinkCreatorConsole-de"/>
				<updated>2006-10-26T13:44:02Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[aLinkCreatorConsole|English]] | '''Deutsch''' | [[aLinkCreatorConsole-es|Spanish]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
alcc ist die Kommandozeilenversion von [[ALinkCreator-de|alc]], einem Hilfsprogramm zum Berechnen und Erzeugen von [[FAQ_eD2k-Kademlia-de#Was_ist_ED2K?|eD2k]]-[[Ed2k_link|Link]]s für jede beliebige Datei auf dem Rechner, ohne aMule laufen zu lassen, oder ihn, sofern mit dem Flag ''--disable-monolithic'' gebaut, aMule überhaupt installiert zu haben. Es kann weiterhin Part-Prüfsummen erzeugen, und diese dem [[FAQ_eD2k-Kademlia-de#Was_ist_ED2K?|eD2k]]-[[Ed2k_link|Link]] hinzufügen.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine kurze Gebrauchsanweisung gibt es in [[Usage_aLinkCreatorConsole-de|diesem Artikel]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Anmerkung ==&lt;br /&gt;
Weil alcc, je nach verwendetem Softwarepaket, nicht immer standarmäßig mitinstalliert wird, kann es erforderlich sein, es beim [[Configure]] mit dem Flag ''--enable-alcc'' zu aktivieren.&lt;br /&gt;
Wer sich mit dem Gedanken trägt, aus dem von aMule mitgelieferten [[Spec_file-de|specfile]] ein [http://www.rpm.org/ rpm] zu bauen, muss dieses zusätzlich auch noch mit den Eintrag ''%{_bindir}/alcc'' in der Sektion ''files'' ergänzen, um eine Meldung in der Art wie &amp;quot;/usr/bin/alcc installed but not packaged&amp;quot; zu vermeiden, die rpmbuild sonst zum Abbruch zwingt.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/ALinkCreatorConsole-es</id>
		<title>ALinkCreatorConsole-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/ALinkCreatorConsole-es"/>
				<updated>2006-10-26T11:46:58Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[aLinkCreatorConsole|Inglés]]  | [[aLinkCreatorConsole-de|Alemán]] | '''Español'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Descripción  ==&lt;br /&gt;
&lt;br /&gt;
alcc es la versión &amp;quot;línea de comandos&amp;quot; del [[ALinkCreator-es|alc]], una herramienta para calcular y crear  [[Ed2k_link|enlaces]]-[[FAQ_eD2k-Kademlia-es|ED2K]] de cualquier fichero que se encuentre en tu sistema, sin necesidad de que este ejecutándose, o, en el caso de compilarlo con la opción ''--disable-mobolithic'', incluso de que este instalado el programa [[aMule-es|aMule]]. A su vez, esta herramienta es capaz de crear hashes parciales y de añadir estos al [[Ed2k_link|enlace]]-[[FAQ_eD2k-Kademlia-es|ED2K]] &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Hay una guía sobre el uso de esta herramienta disponible en [[Usage_aLinkCreatorConsole|este artículo]].&lt;br /&gt;
&lt;br /&gt;
== Nota ==&lt;br /&gt;
&lt;br /&gt;
Hay que tener en cuanta que el alcc, dependiendo del ejecutable usado, no siempre se instala por defecto, puede ser necesario activarlo durante la  [[configure|configuración]], utilizando  ''--enable-alcc''.&lt;br /&gt;
Si al guno de vosotros intentáis crear un [http://www.rpm.org/ rpm] utilizando la [[Spec_file|specfile]], que aMule incorpora, se le debe añadir el texto ''%{_bindir}/alcc'' en la file-section, para evitar mensajes del tipo:&lt;br /&gt;
:::&amp;quot;/usr/bin/alcc installed but not packaged&amp;quot;&lt;br /&gt;
que obligan a cancelar el rpmbuild.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/ALinkCreatorConsole-es</id>
		<title>ALinkCreatorConsole-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/ALinkCreatorConsole-es"/>
				<updated>2006-10-26T11:45:54Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[aLinkCreatorConsole|Inglés]]  | [[aLinkCreatorConsole-de|Alemán]] | '''Español'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Descripción  ==&lt;br /&gt;
&lt;br /&gt;
alcc es la versión &amp;quot;línea de comandos&amp;quot; del [[ALinkCreator-es|alc]], una herramienta para calcular y crear  [[Ed2k_link|enlaces]]-[[FAQ_eD2k-Kademlia-es|ED2K]] de cualquier fichero que se encuentre en tu sistema, sin necesidad de estar ejecutandose, o, en el caso de compilarlo con la opción ''--disable-mobolithic'', incluso de que este einstalado el [[aMule-es|aMule]]. A su vez, esta herramienta es capaz de crear hashes parciales y de añadir estos al [[Ed2k_link|enlace]]-[[FAQ_eD2k-Kademlia-es|ED2K]] &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Hay una guía sobre el uso de esta herramienta disponible en [[Usage_aLinkCreatorConsole|este artículo]].&lt;br /&gt;
&lt;br /&gt;
== Nota ==&lt;br /&gt;
&lt;br /&gt;
Hay que tener en cuanta que el alcc, dependiendo del ejecutable usado, no siempre se instala por defecto, puede ser necesario activarlo durante la  [[configure|configuración]], utilizando  ''--enable-alcc''.&lt;br /&gt;
Si al guno de vosotros intentáis crear un [http://www.rpm.org/ rpm] utilizando la [[Spec_file|specfile]], que aMule incorpora, se le debe añadir el texto ''%{_bindir}/alcc'' en la file-section, para evitar mensajes del tipo:&lt;br /&gt;
:::&amp;quot;/usr/bin/alcc installed but not packaged&amp;quot;&lt;br /&gt;
que obligan a cancelar el rpmbuild.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/ALinkCreator-es</id>
		<title>ALinkCreator-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/ALinkCreator-es"/>
				<updated>2006-10-26T11:41:07Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[ALinkCreator|Inglés]] | [[ALinkCreator-de|Alemán]] | '''Español''' &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ALinkCreator (también conocida como ''ALC'') es una aplicación que devuelve el [[ed2k link|enlace ed2k] de un fichero solicitado. Puede soportar todos los valoras opcionales de los enlaces ed2k y realiza el [[hash-es|hash]] de los ficheros a una gran velocidad.&lt;br /&gt;
&lt;br /&gt;
Esta disponible en dos formatos, la versión GUI (estilo windows) denominada ''alc'', y la versión de linea de comando (interfase de texto) denominada &lt;br /&gt;
''[[aLinkCreatorConsole-es|alcc]]'' (que corresponde a ''alc command'').&lt;br /&gt;
&lt;br /&gt;
La información sobre el uso de la herramienta esta disponible en [[Usage_aLC|este artículo]].&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/ALinkCreatorConsole-es</id>
		<title>ALinkCreatorConsole-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/ALinkCreatorConsole-es"/>
				<updated>2006-10-26T11:40:26Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[aLinkCreatorConsole|Inglés]]  | [[aLinkCreatorConsole-de|Alemán]] | '''Español'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Descripción  ==&lt;br /&gt;
&lt;br /&gt;
alcc es la versión &amp;quot;línea de comandos&amp;quot; del [[ALinkCreator-es|alc]], una herramienta para calcular y crear  [[Ed2k_link|enlaces]]-[[FAQ_eD2k-Kademlia-es|ED2K]] de cualquier fichero que se encuentre en tu sistema, sin necesidad de estar ejecutandose, o, en el caso de compilarlo con ''--disable-mobolithic''-flag, incluso de que este einstalado el [[aMule-es|aMule]]. A su vez, esta herramienta es capaz de crear hashes parciales y de añadir estos al [[Ed2k_link|enlace]]-[[FAQ_eD2k-Kademlia-es|ED2K]] &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Hay una guía sobre el uso de esta herramienta disponible en [[Usage_aLinkCreatorConsole|este artículo]].&lt;br /&gt;
&lt;br /&gt;
== Nota ==&lt;br /&gt;
&lt;br /&gt;
Hay que tener en cuanta que el alcc, dependiendo del ejecutable usado, no siempre se instala por defecto, puede ser necesario activarlo durante la  [[configure|configuración]], utilizando  ''--enable-alcc''.&lt;br /&gt;
Si al guno de vosotros intentáis crear un [http://www.rpm.org/ rpm] utilizando la [[Spec_file|specfile]], que aMule incorpora, se le debe añadir el texto ''%{_bindir}/alcc'' en la file-section, para evitar mensajes del tipo:&lt;br /&gt;
:::&amp;quot;/usr/bin/alcc installed but not packaged&amp;quot;&lt;br /&gt;
que obligan a cancelar el rpmbuild.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/ALinkCreatorConsole</id>
		<title>ALinkCreatorConsole</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/ALinkCreatorConsole"/>
				<updated>2006-10-26T11:40:01Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[aLinkCreatorConsole-de|Deutsch]] |[[aLinkCreatorConsole-es|Spanish]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
alcc is the commandline-version of [[ALinkCreator|alc]], a tool for calculating and creating [[FAQ_ed2k#What_is_ED2K?|ED2K]]-[[Ed2k_link|link]]s from any file on your system, without running, or, if built with the ''--disable-mobolithic''-flag, even having installed aMule at all. It also is able to create part-hashes, and add them to the [[FAQ_ed2k#What_is_ED2K?|ED2K]]-[[Ed2k_link|link]].&amp;lt;br&amp;gt;&lt;br /&gt;
A brief guide about its usage is available in [[Usage_aLinkCreatorConsole|this article]].&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
Since alcc, depending from the used binary, is not always installed per default, it maybe necessary to enable it during [[configure]], using the ''--enable-alcc''-flag.&lt;br /&gt;
If one intends to build an [http://www.rpm.org/ rpm] by using the [[Spec_file|specfile]], aMule is shipped with, it must additionally contain the entry ''%{_bindir}/alcc'' in the file-section, to avoid a message like &amp;quot;/usr/bin/alcc installed but not packaged&amp;quot;, causing rpmbuild to abort.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_SVN-es</id>
		<title>AMule SVN-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_SVN-es"/>
				<updated>2006-10-25T16:35:25Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[AMule CVS|Inglés]] | '''Español''' | [[AMule_CVS-de|Alemán]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La última versión en estado de desarrollo del [[aMule]] la puedes encontrar [http://amule.hirnriss.net aquí].&lt;br /&gt;
&lt;br /&gt;
Cada noche puedes encontrar los ficheros del [[aMule]] en el repositorio [http://www.gnu.org/software/cvs CVS]. Debes tener en cuenta que aMule-CVS no te ofrece ninguna garantía de compilar ni de funcionar correctamente. Esta versión esta orientada a los usuarios que desean tener las últimas versiónes y desarrollos en todo momento, pero recuerda, '''úsalo bajo tu propia responsabilidad'''.&lt;br /&gt;
&lt;br /&gt;
Hay un versión no-oficial creada  partir de los CVS diarios, puedes revisarla en el [http://forum.amule.org foro].&lt;br /&gt;
&lt;br /&gt;
* Desde el 14th of March, 2005, un [[spec file|fichero de especificaciones]] se encuentra disponible en [http://amule.hirnriss.net aMule CVS tarball] gracias a este puedes generar mas fácilmente las [http://www.rpm.org RPM]. Mas información sobre ello [[spec file|aqui]].&lt;br /&gt;
&lt;br /&gt;
* Los usuarios de [http://www.gentoo.org Gentoo] pueden realizar las amule-cvs ebuild [[HowTo_Compile_In_Gentoo|siguiendo este enlace]].&lt;br /&gt;
&lt;br /&gt;
* Los usuarios de [http://www.archlinux.org ArchLinux] pueden realizar una versión no oficial enganchando amule-cvs PKGBUILD y creando el ejecutable siguiendo [http://gift.altervista.org/index_en.php?section=40 este link] (No hay soporte)&lt;br /&gt;
&lt;br /&gt;
* Los usuarios [http://www.debian.org Debian] pueden encontrar en el repositorio no  oficial testing/sid los paquetes CVS. Revisa [http://forum.amule.org/thread.php?threadid=5776 este enlace] para mas información:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;u&amp;gt;deb http://www.vollstreckernet.de/debian/ testing amule&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Los usarios de [http://www.apple.com/macosx/ Mac OS X] pueden encontrar los CVS [http://forum.amule.org/thread.php?threadid=5051 en este hilo] del foro.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_SVN</id>
		<title>AMule SVN</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_SVN"/>
				<updated>2006-10-25T16:34:29Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' |  [[AMule_CVS-es|Spanish]]  | [[AMule_CVS-de|Deutsch]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The latest in development status of [[aMule]] can be found [http://amule.hirnriss.net here].&lt;br /&gt;
&lt;br /&gt;
Nightly archives of [[aMule]] can be found in the [http://www.gnu.org/software/cvs CVS] repository. By using amule-cvs you understand that this version has no guarantees that it will compile and/or work properly. amule-cvs is for users that want the latest and greatest bleeding edge version of [[aMule]] releases and development. Remember: '''use at your own risk!'''&lt;br /&gt;
&lt;br /&gt;
There are unofficial build for daily CVS, you can check them on our [http://forum.amule.org forum].&lt;br /&gt;
&lt;br /&gt;
* As of the 14th of March, 2005, a [[spec file]] is available in the [http://amule.hirnriss.net aMule CVS tarball] so that you may easily generate an [http://www.rpm.org RPM]. Read about it [[spec file| here]].&lt;br /&gt;
&lt;br /&gt;
* [http://www.gentoo.org Gentoo] users can grab the amule-cvs ebuild by [[HowTo_Compile_In_Gentoo|following this link]].&lt;br /&gt;
&lt;br /&gt;
* [http://www.archlinux.org ArchLinux] users can grab an unofficial amule-cvs PKGBUILD and binary by following [http://gift.altervista.org/index_en.php?section=40 this link] (No official support)&lt;br /&gt;
&lt;br /&gt;
* [http://www.debian.org Debian] testing/sid unofficial repository (daily CVS packages. See [http://forum.amule.org/thread.php?threadid=5776 this] for more information):&lt;br /&gt;
:deb http://www.vollstreckernet.de/debian/ testing amule&lt;br /&gt;
&lt;br /&gt;
* [http://www.apple.com/macosx/ Mac OS X] users can find CVS builds [http://forum.amule.org/thread.php?threadid=5051 in this thread] on the forum.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_SVN-de</id>
		<title>AMule SVN-de</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_SVN-de"/>
				<updated>2006-10-25T16:33:35Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[AMule_CVS|English]] | [[AMule_CVS-es|Spanish]] | '''Deutsch'''&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den letzten Entwicklungsstand von [[aMule-de|aMule]] findet man [http://amule.hirnriss.net hier].&lt;br /&gt;
&lt;br /&gt;
Die nächtlichen [[aMule-de|aMule]]-Archive findet man im [http://www.gnu.org/software/cvs CVS]-Repository. Wer amule-cvs verwendet, versteht, daß diese Version nicht garantieren kann, daß sie überhaupt kompiliert und/oder sauber arbeitet. amule-cvs ist für Benutzer gedacht, die die letzte und größte, topaktuelle Ausgabe der [[aMule-de|aMule]]-Entwicklerversion wollen. Man beachte: '''Verwendung auf eigene Gefahr!!'''&lt;br /&gt;
&lt;br /&gt;
Es gibt inoffizielle Builds der täglichen CVS, die in unserem [http://forum.amule.org Forum] gefunden werden können.&lt;br /&gt;
&lt;br /&gt;
* Ab dem 14. März 2005 enthält der [http://amule.hirnriss.net aMule-CVS-Tarball] ein [[spec file-de|Specfile]], sodaß man ohne große Umstände ein [http://www.rpm.org RPM] daraus bauen kann. Mehr dazu [[spec file|hier]].&lt;br /&gt;
&lt;br /&gt;
* Benutzer von [http://www.gentoo.org Gentoo] können das amule-cvs ebuild über [[HowTo_Compile_In_Gentoo|diesen Link]] bekommen.&lt;br /&gt;
&lt;br /&gt;
* Benutzer von [http://www.archlinux.org ArchLinux] können ein inoffizielles amule-cvs PKGBUILD und Binärpakete [http://gift.altervista.org/index_en.php?section=40 hier] bekommen. (Kein offizieller Support)&lt;br /&gt;
&lt;br /&gt;
* Inoffizielles Repository für [http://www.debian.org Debian] testing/sid (tägliche CVS-Pakete. Mehr dazu [http://forum.amule.org/thread.php?threadid=5776 hier]):&lt;br /&gt;
:deb http://www.vollstreckernet.de/debian/ testing amule&lt;br /&gt;
&lt;br /&gt;
* Benutzer von [http://www.apple.com/macosx/ Mac OS X] finden CVS-Builds [http://forum.amule.org/thread.php?threadid=5051 in diesem Thread] im Forum.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_SVN-es</id>
		<title>AMule SVN-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_SVN-es"/>
				<updated>2006-10-25T16:29:11Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''Español''' | [[AMule CVS|Inglés]] | [[AMule_CVS-de|Alemán]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La última versión en estado de desarrollo del [[aMule]] la puedes encontrar [http://amule.hirnriss.net aquí].&lt;br /&gt;
&lt;br /&gt;
Cada noche puedes encontrar los ficheros del [[aMule]] en el repositorio [http://www.gnu.org/software/cvs CVS]. Debes tener en cuenta que aMule-CVS no te ofrece ninguna garantía de compilar ni de funcionar correctamente. Esta versión esta orientada a los usuarios que desean tener las últimas versiónes y desarrollos en todo momento, pero recuerda, '''úsalo bajo tu propia responsabilidad'''.&lt;br /&gt;
&lt;br /&gt;
Hay un versión no-oficial creada  partir de los CVS diarios, puedes revisarla en el [http://forum.amule.org foro].&lt;br /&gt;
&lt;br /&gt;
* Desde el 14th of March, 2005, un [[spec file|fichero de especificaciones]] se encuentra disponible en [http://amule.hirnriss.net aMule CVS tarball] gracias a este puedes generar mas fácilmente las [http://www.rpm.org RPM]. Mas información sobre ello [[spec file|aqui]].&lt;br /&gt;
&lt;br /&gt;
* Los usuarios de [http://www.gentoo.org Gentoo] pueden realizar las amule-cvs ebuild [[HowTo_Compile_In_Gentoo|siguiendo este enlace]].&lt;br /&gt;
&lt;br /&gt;
* Los usuarios de [http://www.archlinux.org ArchLinux] pueden realizar una versión no oficial enganchando amule-cvs PKGBUILD y creando el ejecutable siguiendo [http://gift.altervista.org/index_en.php?section=40 este link] (No hay soporte)&lt;br /&gt;
&lt;br /&gt;
* Los usuarios [http://www.debian.org Debian] pueden encontrar en el repositorio no  oficial testing/sid los paquetes CVS. Revisa [http://forum.amule.org/thread.php?threadid=5776 este enlace] para mas información:&lt;br /&gt;
&lt;br /&gt;
::: &amp;lt;u&amp;gt;deb http://www.vollstreckernet.de/debian/ testing amule&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Los usarios de [http://www.apple.com/macosx/ Mac OS X] pueden encontrar los CVS [http://forum.amule.org/thread.php?threadid=5051 en este hilo] del foro.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_SVN-es</id>
		<title>AMule SVN-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_SVN-es"/>
				<updated>2006-10-25T16:27:27Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''Español''' | [[AMule CVS|Inglés]] | [[AMule_CVS-de|Alemán]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La última versión en estado de desarrollo del [[aMule]] la puedes encontrar [http://amule.hirnriss.net aquí].&lt;br /&gt;
&lt;br /&gt;
Cada noche puedes encontrar los ficheros del [[aMule]] en el repositorio [http://www.gnu.org/software/cvs CVS]. Debes tener en cuenta que aMule-CVS no te ofrece ninguna garantía de compilar ni de funcionar correctamente. Esta versión esta orientada a los usuarios que desean tener las últimas versiónes y desarrollos en todo momento, pero recuerda '''úsalo bajo tu propia responsabilidad'''.&lt;br /&gt;
&lt;br /&gt;
Hay un versión no-oficial creada  partir de los CVS diarios, puedes revisarla en el [http://forum.amule.org foro].&lt;br /&gt;
&lt;br /&gt;
* Desde el 14th of March, 2005, un [[spec file|fichero de especificaciones]] se encuentra disponible en [http://amule.hirnriss.net aMule CVS tarball] gracias a este puedes generar mas fácilmente las [http://www.rpm.org RPM]. Mas información sobre ello [[spec file|aqui]].&lt;br /&gt;
&lt;br /&gt;
* Los usuarios de [http://www.gentoo.org Gentoo] pueden realizar las amule-cvs ebuild [[HowTo_Compile_In_Gentoo|siguiendo este enlace]].&lt;br /&gt;
&lt;br /&gt;
* Los usuarios de [http://www.archlinux.org ArchLinux] pueden realizar una versión no oficial enganchando amule-cvs PKGBUILD y creando el ejecutable siguiendo [http://gift.altervista.org/index_en.php?section=40 este link] (No hay soporte)&lt;br /&gt;
&lt;br /&gt;
* Los usuarios [http://www.debian.org Debian] pueden encontrar en el repositorio no  oficial testing/sid los paquetes CVS. Revisa [http://forum.amule.org/thread.php?threadid=5776 este enlace] para mas información:&lt;br /&gt;
&lt;br /&gt;
::: '''deb http://www.vollstreckernet.de/debian/ testing amule'''&lt;br /&gt;
&lt;br /&gt;
* Los usarios de [http://www.apple.com/macosx/ Mac OS X] pueden encontrar los CVS [http://forum.amule.org/thread.php?threadid=5051 en este hilo] del foro.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_SVN-es</id>
		<title>AMule SVN-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_SVN-es"/>
				<updated>2006-10-25T16:25:39Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''Español''' | [[AMule CVS|Inglés]] | [[AMule_CVS-de|Alemán]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La última versión en estado de desarrollo del [[aMule]] la puedes encontrar aquí. [http://amule.hirnriss.net aquí].&lt;br /&gt;
&lt;br /&gt;
Cada noche puedes encontrar los ficheros del [[aMule]] en el repositorio [http://www.gnu.org/software/cvs CVS]. Debes tener en cuenta que aMule-CVS no te ofrece ninguna garantía de compilar ni de funcionar correctamente. Esta versión esta orientada a los usuarios que desean tener las últimas versiónes y desarrollos en todo momento, pero recuerda '''úsalo bajo tu propia responsabilidad'''.&lt;br /&gt;
&lt;br /&gt;
Hay un versión no-oficial creada  partir de los CVS diarios, puedes revisarla en el [http://forum.amule.org foro].&lt;br /&gt;
&lt;br /&gt;
* Desde el 14th of March, 2005, un [[spec file|fichero de especificaciones]] se encuentra disponible en [http://amule.hirnriss.net aMule CVS tarball] gracias a este puedes generar mas fácilmente las [http://www.rpm.org RPM]. Mas información sobre ello [[spec file|aqui]].&lt;br /&gt;
&lt;br /&gt;
* Los usuarios de [http://www.gentoo.org Gentoo] pueden realizar las amule-cvs ebuild [[HowTo_Compile_In_Gentoo|siguiendo este enlace]].&lt;br /&gt;
&lt;br /&gt;
* Los usuarios de [http://www.archlinux.org ArchLinux] pueden realizar una versión no oficial enganchando amule-cvs PKGBUILD y creando el ejecutable siguiendo [http://gift.altervista.org/index_en.php?section=40 este link] (No hay soporte)&lt;br /&gt;
&lt;br /&gt;
* Los usuarios [http://www.debian.org Debian] pueden encontrar en el repositorio no  oficial testing/sid los paquetes CVS. Revisa [http://forum.amule.org/thread.php?threadid=5776 este enlace] para mas información:&lt;br /&gt;
&lt;br /&gt;
::: '''deb http://www.vollstreckernet.de/debian/ testing amule'''&lt;br /&gt;
&lt;br /&gt;
* Los usarios de [http://www.apple.com/macosx/ Mac OS X] pueden encontrar los CVS [http://forum.amule.org/thread.php?threadid=5051 en este hilo] del foro.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_SVN-es</id>
		<title>AMule SVN-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_SVN-es"/>
				<updated>2006-10-25T16:24:35Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''Español''' | [[AMule CVS|Inglés]] | [[AMule_CVS-de|Alemán]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La última versión en estado de desarrollo del [[aMule]] la puedes encontrar aquí. [http://amule.hirnriss.net aquí].&lt;br /&gt;
&lt;br /&gt;
Cada noche puedes encontrar los ficheros del [[aMule]] en el repositorio [http://www.gnu.org/software/cvs CVS]. Debes tener en cuenta que aMule-CVS no te ofrece ninguna garantía de compilar ni de funcionar correctamente. Esta versión esta orientada a los usuarios que desean tener las últimas versiónes y desarrollos en todo momento, pero recuerda '''úsalo bajo tu propia responsabilidad'''.&lt;br /&gt;
&lt;br /&gt;
Hay un versión no-oficial creada  partir de los CVS diarios, puedes revisarla en el [http://forum.amule.org foro].&lt;br /&gt;
&lt;br /&gt;
* Desde el 14th of March, 2005, un [[spec file|fichero de especificaciones]] se encuentra disponible en [http://amule.hirnriss.net aMule CVS tarball] gracias a este puedes generar mas fácilmente las [http://www.rpm.org RPM]. Mas información sobre ello [[spec file|aqui]].&lt;br /&gt;
&lt;br /&gt;
* Los usuarios de [http://www.gentoo.org Gentoo] pueden realizar las amule-cvs ebuild [[HowTo_Compile_In_Gentoo|siguiendo este enlace]].&lt;br /&gt;
&lt;br /&gt;
* Los usuarios de [http://www.archlinux.org ArchLinux] pueden realizar una versión no oficial enganchando amule-cvs PKGBUILD y creando el ejecutable siguiendo [http://gift.altervista.org/index_en.php?section=40 este link] (No hay soporte)&lt;br /&gt;
&lt;br /&gt;
* Los usuarios [http://www.debian.org Debian] en el repositorios no  oficial testing/sid pueden encontrar los paquetes CVS. Revisa [http://forum.amule.org/thread.php?threadid=5776 este enlace] para mas información:&lt;br /&gt;
&lt;br /&gt;
::: '''deb http://www.vollstreckernet.de/debian/ testing amule'''&lt;br /&gt;
&lt;br /&gt;
* Los usarios de [http://www.apple.com/macosx/ Mac OS X] pueden encontrar los CVS [http://forum.amule.org/thread.php?threadid=5051 en este hilo] del foro.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_SVN-es</id>
		<title>AMule SVN-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_SVN-es"/>
				<updated>2006-10-25T16:21:31Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''Español''' | [[AMule CVS|Inglés]] | [[AMule_CVS-de|Alemán]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La última versión en estado de desarrollo del [[aMule]] la puedes encontrar aquí. [http://amule.hirnriss.net aquí].&lt;br /&gt;
&lt;br /&gt;
Cada noche puedes encontrar los ficheros del [[aMule]] en el repositorio [http://www.gnu.org/software/cvs CVS]. Debes tener en cuenta que aMule-CVS no te ofrece ninguna garantía de compilar ni de funcionar correctamente. Esta versión esta orientada a los usuarios que desean tener las últimas versiónes y desarrollos en todo momento, pero recuerda '''úsalo bajo tu propia responsabilidad'''.&lt;br /&gt;
&lt;br /&gt;
Hay un versión no-oficial creada  partir de los CVS diarios, puedes revisarla en el [http://forum.amule.org foro].&lt;br /&gt;
&lt;br /&gt;
* Desde el 14th of March, 2005, un [[spec file|fichero de especificaciones]] se encuentra disponible en [http://amule.hirnriss.net aMule CVS tarball] gracias a este puedes generar mas fácilmente las [http://www.rpm.org RPM]. Mas información sobre ello [[spec file|aqui]].&lt;br /&gt;
&lt;br /&gt;
* Los usuarios de [http://www.gentoo.org Gentoo] pueden realizar las amule-cvs ebuild [[HowTo_Compile_In_Gentoo|siguiendo este enlace]].&lt;br /&gt;
&lt;br /&gt;
* Los usuarios de [http://www.archlinux.org ArchLinux] pueden realizar una versión no oficial enganchando amule-cvs PKGBUILD y creando el ejecutable siguiendo [http://gift.altervista.org/index_en.php?section=40 este link] (No hay soporte)&lt;br /&gt;
&lt;br /&gt;
* Los usuarios [http://www.debian.org Debian] en el repositorios no  oficial testing/sid pueden encontrar los paquetes CVS. Revisa [http://forum.amule.org/thread.php?threadid=5776 este enlace] para mas información:&lt;br /&gt;
&lt;br /&gt;
:deb http://www.vollstreckernet.de/debian/ testing amule&lt;br /&gt;
&lt;br /&gt;
* Los usarios de [http://www.apple.com/macosx/ Mac OS X] pueden encontrar los CVS [http://forum.amule.org/thread.php?threadid=5051 en este hilo] del foro.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Translations-es</id>
		<title>Translations-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Translations-es"/>
				<updated>2006-10-25T12:35:53Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Translations|Inglés]] | [[Translations-pt|Portugués]] | [[Translations-ko_KR|Coreano]] | [[Translations-ru|Ruso]]|  [[Translations-cn|Chino]] | '''Español''' |&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Es muy facil ser un traductor de [[aMule]] a tu idioma, actualmente soporta [http://www.unicode.org Unicode], por lo que no hay limitación para caracteres Chinos, Coreanos, Árabes ... es posible realizar cualquier traducción.&lt;br /&gt;
&lt;br /&gt;
Pero las traducciones necesitan de traductores, no temas entrar en el mundo de [[aMule]]!&lt;br /&gt;
&lt;br /&gt;
No es necesario programar en lenguaje [http://gcc.gnu.org C++] o [http://en.wikipedia.org/wiki/Klingon_language Klingon] para ser un traductor!&lt;br /&gt;
Solamente necesitas conocer tu propia lengua (!!) y algún conocimiento de ingés!&lt;br /&gt;
&lt;br /&gt;
Interesante? entonces comenzamos&lt;br /&gt;
&lt;br /&gt;
== Como comenzar ==&lt;br /&gt;
&lt;br /&gt;
De vez en cuando (una vez al mes) posteamos un fichero de texto llamado &lt;br /&gt;
''source_strings.po'' en el foro [http://forum.amule.org/thread.php?threadid=1097 Translation].&lt;br /&gt;
&lt;br /&gt;
Descarga el fichero an ábrelo con [http://i18n.kde.org/tools/kbabel/ KBabel] si utilizas [http://www.kde.org KDE], [http://www.poedit.org PoEdit] o el  [http://gtranslator.sourceforge.net/ gTranslator] si usas [http://www.gnome.org Gnome].&lt;br /&gt;
&lt;br /&gt;
Previamente no debes olvidar el marcar tus preferencias en el &lt;br /&gt;
[http://i18n.kde.org/tools/kbabel/ KBabel], [http://www.poedit.org PoEdit] o [http://gtranslator.sourceforge.net/ gTranslator] incluyendo el nombre, e-mail, grupo de caracteres y demás.....&lt;br /&gt;
&lt;br /&gt;
Esto es lo que verás con [http://i18n.kde.org/tools/kbabel KBabel]:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb1.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
En la esquina superior izquierda tienes el texto en inglés.&lt;br /&gt;
&lt;br /&gt;
En la esquina superior derecha tienes el fichero del que procede el texto.&lt;br /&gt;
&lt;br /&gt;
Ahora solo tienes que escribir el texto traducido en la esquina inferior izquierda&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb2.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#ff0000&amp;gt;Debes tener especial cuidado en copiar todos los caracteres especiales como &amp;amp;, %i, \n, etc... en el texto traducido y respetar los espacios al inicio y final del texto.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE''', revisa [[format specifiers|este documento]] para saber cuales son los caracteres que no deben ser modificados.&lt;br /&gt;
&lt;br /&gt;
Continua con todos los textos del fichero y una vez finalizado guárdalo.&lt;br /&gt;
&lt;br /&gt;
Has acabado la traducción!, envíala al &lt;br /&gt;
[http://www.amule-project.net/amule/board.php?boardid=40 foro de traducciones del aMULE] y miles de personas te estarán agradecidas :)&lt;br /&gt;
&lt;br /&gt;
== Como continuar una traducción ya empezada ==&lt;br /&gt;
&lt;br /&gt;
Cuando la traducción ya ha sido iniciada, no será necesario que vuelvas a traducir los textos ya traducidos del fichero ''source_strings.po'' !&lt;br /&gt;
&lt;br /&gt;
Hay un proceso automático que se encarga de incluir los textos ya traducidos en el fichero ''source_strings.po''&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, imagínate que deseas continuar la traducción al francés:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Descarga la última ''source_strings.po'' del  [http://forum.amule.org/thread.php?threadid=1097 foro], y la antigua ''fr.po'' que se encontraba en la versión del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
* Integra la antigua y nueva versión escribiendo: &lt;br /&gt;
&lt;br /&gt;
'''msgmerge --no-fuzzy-matching -o new_fr.po fr.po source_strings.po'''&lt;br /&gt;
&lt;br /&gt;
Alternativamente podrías usar las herramientas incluidas en el &lt;br /&gt;
[http://i18n.kde.org/tools/kbabel KBabel] o en el    [http://poedit.sourceforge.net PoEdit] (consulta la ayuda de estas aplicaciones)&lt;br /&gt;
&lt;br /&gt;
A continuación comienza la traducción en el fichero ''new_fr.po'' como lo hiciste anteriormente en el fichero ''source_srings.po'', simplemente tendrás que traducir los textos que no fueron traducidos anteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Probando la traducción ==&lt;br /&gt;
&lt;br /&gt;
=== Antes de empezar ===&lt;br /&gt;
&lt;br /&gt;
Una vez guardado el fichero, puedes re-[[compile]|compilar] el [[aMule]], o simplemnte puedes comprobar que el fichero es correcto (este proceso se realiza automáticamente cuando [[compile|compilas el fichero]]).&lt;br /&gt;
&lt;br /&gt;
La segunda opción tiene algunas ventajas, y es que no es necesario crear todos los ejecutables del [[aMule]], solamente necesitas crear el ejecutable de la traducción.&lt;br /&gt;
&lt;br /&gt;
El procedimiento mas indicado es intentarlo [[#Testing only the translation file|solo con el fichero de prueba]] hasta que lo logremos, y una vez finalizado[[#Testing with aMule|compilar el aMule con las traducciones]] para ver como funciona.&lt;br /&gt;
&lt;br /&gt;
=== Probando solamente el fichero de traducción ===&lt;br /&gt;
&lt;br /&gt;
Para hacerlo, primero debes ejecutar ''./configure''.&lt;br /&gt;
&lt;br /&gt;
Ahora, una vez que hayas copiado tu fichero en el directorio ''po/'', ejecuta ''make '''translation_language'''.gmo'', ejemplo ''make en_GB.gmo''&lt;br /&gt;
&lt;br /&gt;
Si la traducción es correcto, te mostrará algo como esto: &lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make en_GB.gmo&lt;br /&gt;
 rm -f en_GB.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o en_GB.gmo en_GB.po&lt;br /&gt;
 1354 translated messages&lt;br /&gt;
&lt;br /&gt;
Este es un ejemplo de una traducción correcta y completa.&lt;br /&gt;
&lt;br /&gt;
Como &amp;quot;correcta&amp;quot; debes entender a una traducción que bien completa o no, puede ser usada ya que no contiene errores de sintaxis.&lt;br /&gt;
&lt;br /&gt;
Una traducción e incompleta sería la siguiente:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make ru.gmo&lt;br /&gt;
 rm -f ru.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o ru.gmo ru.po&lt;br /&gt;
 1333 translated messages, 79 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Como puedes ver, 79 lineas todavía estan pendientes de ser traducidas.&lt;br /&gt;
&lt;br /&gt;
También puedes tener traducciones &amp;quot;dudosas&amp;quot; (ingles=fuzzy). Las traducciones dudosas son aquellas que ha detectado el [http://www.gnu.org/software/gettext gettext], y probablemente son erróneas. Estas quedan marcadas mediante la adicción de un texto ''#, fuzzy'' a la derecha de la traducción. Por lo que si ves que tienes  &amp;quot;fuzzy translations&amp;quot;, busca estas líenas y corrígelas (o simplemente borra el texto ''#, fuzzy'' si ves que están bien).&lt;br /&gt;
&lt;br /&gt;
Un ejemplo de traducciones dudosas es el siguiente:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make hr.gmo&lt;br /&gt;
 rm -f hr.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o hr.gmo hr.po&lt;br /&gt;
 544 translated messages, 412 fuzzy translations, 443 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Por último la traducción puede contener errores, en estos casos aparece un texto que explica cada uno de ellos:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make de.gmo&lt;br /&gt;
 rm -f de.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o de.gmo de.po&lt;br /&gt;
 de.po:88: number of format specifications in 'msgid' and 'msgstr' does not match&lt;br /&gt;
 /usr/bin/msgfmt: found 1 fatal error&lt;br /&gt;
 make: *** [de.gmo] Error 1&lt;br /&gt;
&lt;br /&gt;
En este jemplo aparece un error en la línea 88, por lo que no creará el ejecutable hasta que sea corregido.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Probando con el [[aMule]] ===&lt;br /&gt;
&lt;br /&gt;
Puedes probar la traducción [[compile|re-compilando el  aMule]] y viendo como queda.&lt;br /&gt;
&lt;br /&gt;
Si tu lenguaje no estuviera disponible en el [[aMule]], debes añadir el mismo a la base de datos, para que el [[aMule]] sepa que existe y se pueda&lt;br /&gt;
[[compile|compilar]] con ese lenguaje. &lt;br /&gt;
Para hacer esto debes añadir el código del lenguaje al fichero ''po/LINGUAS''  (un lenguaje por línea).&lt;br /&gt;
&lt;br /&gt;
A continuación [[compile]|compila] el [[aMule]] normalmente. Si necesitas ayuda, [[compile|pincha aquí]].&lt;br /&gt;
&lt;br /&gt;
== Traduciones avanzadas ==&lt;br /&gt;
&lt;br /&gt;
Si no eres nuevo en el desarrollo de aplicaciones en Linux o eres lo sufientemente impaciente para tener siempre actualizada la traducción a tu lenguaje.....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Genera el fichero ''source_strings.po'' tu mismo!&lt;br /&gt;
&lt;br /&gt;
Como lo hacemos?&lt;br /&gt;
&lt;br /&gt;
* Desacarga la última versión del [[aMule]] [http://www.gnu.org/software/cvs CVS] desde http://amule.hirnriss.net&lt;br /&gt;
&lt;br /&gt;
* Descomprime el archivo, ves al directorio raiz (root) y genera  [http://www.gnu.org/software/make Makefiles]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:::'''tar -xjf aMule-cvs-20041009.tar.bz2'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''cd amule-cvs'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''./configure'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Actualiza el fichero ''POTFILE.in'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:::'''grep -m 1 '_(' `find * -name &amp;quot;*.cpp&amp;quot;` | cut -d: -f1 &amp;gt; po/POTFILES.in'''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Genera el nuevo fichero ''source_strings.po'':&lt;br /&gt;
&lt;br /&gt;
:::&amp;lt;code&amp;gt;&lt;br /&gt;
:::'''cd po'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot amule.pot.old'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''make amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot source_strings.po'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot.old amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Translations#How_to_proceed|Traduce]] el nuevo ''source_strings.po'' y [http://forum.amule.org/board.php?boardid=40 envíalo]!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Thepolish|Thepolish]] 22:46, 9 Oct 2004 (CEST)&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network</id>
		<title>FAQ network</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network"/>
				<updated>2006-10-25T12:26:15Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[FAQ network-es|Spanish]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Network speed: what you should know before asking questions =&lt;br /&gt;
 by Froenchenko Leonid, lfroen@gmail.com&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Preface ==&lt;br /&gt;
The purpose of this document is to clarify issues regarding network &lt;br /&gt;
speed that arise from time to time in the [[aMule]] [[forum]]. Generally speaking, there are several reasons for questions about &amp;quot;[[FAQ_ed2k|aMule network]]&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* the speed reported by [[aMule]] doesn't match your provider's given rate;&lt;br /&gt;
* poor performance of [[aMule]] itself or another network application on the same computer; or&lt;br /&gt;
* the key factors influencing network performance while [[aMule]] is running.&lt;br /&gt;
&lt;br /&gt;
The intended audience for this document is users who want to gain a better understanding of network functionality in general, and, in particular, its implications for [[aMule]] functionality.&lt;br /&gt;
&lt;br /&gt;
However, this page is not a comprehensive, general purpose &amp;quot;[[FAQ_ed2k|Network FAQ]]&amp;quot;. If you were expecting something else, you might be interested in the [[aMule is slow|aMule is slow FAQ]].&lt;br /&gt;
 &lt;br /&gt;
== Network speed - how fast is it? ==&lt;br /&gt;
When talking about network speed, people use the unit &amp;quot;bps&amp;quot;, which means &lt;br /&gt;
&amp;quot;bits per second&amp;quot;. The reason that a ''bit'' is used rather than a ''byte'' is mostly historical, but also arises from the engineering behind the system, specifically, the fact that not all networks in the world transfer their traffic in bytes.&lt;br /&gt;
&lt;br /&gt;
There is a convention to use a capital &amp;quot;B&amp;quot; in &amp;quot;Bps&amp;quot; when speed is marked &lt;br /&gt;
in &amp;quot;bytes per second&amp;quot;. However, this convention is not widely accepted. In particular, organizations like the [http://www.ietf.org/ IETF] and [http://www.ieee.org/ IEEE] have stuck to the original &amp;quot;bps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Prefixes ==&lt;br /&gt;
Since their invention, networks have made a lot of progress. Today we have networks that transfer billions of bits per second. For measuring these speeds, we use prefixes such as ''&amp;quot;kilo&amp;quot;'', ''&amp;quot;mega&amp;quot;'', ''&amp;quot;giga&amp;quot;'', ''&amp;quot;tera&amp;quot;''. &lt;br /&gt;
&lt;br /&gt;
It is a &amp;lt;u&amp;gt;common mistake&amp;lt;/u&amp;gt; to think that values with those prefixes are the same as in computer science, i.e., powers of 2. The truth is that, for historical reasons, prefixes in networking have a decimal, not a binary base.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; title=&amp;quot;Table 1&amp;quot;&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | Prefix&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | meaning in computers&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | meaning in networks&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | difference, %%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | k (kilo)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^10 = 1024&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^3 = 1000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | M (mega)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^20 = 1,048,576&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^6 = 1,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 5%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | G (giga)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^30 = 1,073,741,624&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^9 = 1,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 7%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | T (tera)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^40 = 1,099,511,627,776&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^12 = 1,000,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 9%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As you can see from the table above, the error in calculation is about 5% when the prefix is incorrectly interpreted. Please note that the speed your provider quotes you is the &amp;quot;speed in network units&amp;quot;; i.e., calculated on a decimal basis. For example when your provider tells you that your link is &amp;quot;ADSL 256/128&amp;quot;, they mean 256000/128000 bps (bits per second). This means that the speed of your connection is 32000/16000 bps (bytes per second), since there are eight bits to a byte.&lt;br /&gt;
&lt;br /&gt;
== Protocol overhead - what is it about? ==&lt;br /&gt;
When [[aMule]] is running, it constantly &amp;quot;talks&amp;quot; with other [[client]]s and [[server]]s. &lt;br /&gt;
This data exchange is needed to perform such tasks as identifying itself, requesting information about &lt;br /&gt;
available [[FAQ_eD2k-Kademlia#What_is_a_source?|source]]s and [[file]]s, and performing [[search]]es. &lt;br /&gt;
&lt;br /&gt;
Since this information has no direct use to the user itself, it is called &amp;quot;overhead&amp;quot;; i.e., a necessary addition to the data you want to [[upload]] or [[download]]. &lt;br /&gt;
&lt;br /&gt;
[[aMule]] calls this &amp;quot;''connection overhead''&amp;quot;. However the number that [[aMule]] presents includes only the size of the actual data that [[aMule]] itself sends to the network stack. Later, these data are sent out on the network with even more overhead - that of the network protocols.&lt;br /&gt;
How much is it? - let's see that in the next section.&lt;br /&gt;
&lt;br /&gt;
== Network overhead ==&lt;br /&gt;
First of all - we're talking about the [[IPv4]] network. Once upon a time, there &lt;br /&gt;
was only one type of [[IP]] network. Now there are two - [[IPv4|IP version 4]], the old protocol that we all know; and [[IPv6|IP version 6]] - the new protocol made to fix the limitations of [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
[[FAQ ed2k|ED2K protocol]] by design, is unable to talk over [[IPv6]] network, so users who have it (in Japan and China for example) will not be able to connect &amp;quot;as is&amp;quot;. Using [[IPv4]] means, that each packet ([http://www.ietf.org/rfc/rfc793.txt TCP], [http://www.ietf.org/rfc/rfc768.txt UDP], [http://www.ietf.org/rfc/rfc792.txt ICMP]) will have an [[IPv4]] header.&lt;br /&gt;
&lt;br /&gt;
The minimum size of this header is 20 bytes. The header can have optional parts (each of 4 bytes) and that is up to your provider - for example, mine adds an optional [dword].&lt;br /&gt;
&lt;br /&gt;
When talking to other clients and servers on [[FAQ ed2k|ed2k network]], [[aMule]] uses the widely known [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. [http://www.ietf.org/rfc/rfc768.txt UDP] is also used, but on a much smaller scale. As you may already know, [http://www.ietf.org/rfc/rfc793.txt TCP] is a reliable protocol, i.e. it guarantees that data that is sent from one side will arrive on the other or an error will be reported.&lt;br /&gt;
&lt;br /&gt;
To achieve this, [http://www.ietf.org/rfc/rfc793.txt TCP] sends its own data in addition to the actual &amp;quot;payload&amp;quot; data being transferred. These data include [http://www.ietf.org/rfc/rfc793.txt TCP] client initial negotiation, checksums, sequence numbers and acknowledgments. All of this is in the ''[http://www.ietf.org/rfc/rfc793.txt TCP] header'' that is added to each packet sent. The size of this header is a minimum of 20 bytes.&lt;br /&gt;
&lt;br /&gt;
While being only a small overhead for a large bulk transfer, it can take significant part of bandwidth when small amounts of data are being exchanged. &amp;lt;u&amp;gt;This is exactly what happens on [[FAQ_ed2k#What_is_a_source?|source]] discovery part of [[aMule]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Our [[client]] is trying to establish a connection and negotiate with a large number of other [[client]]s. Doing this, [[aMule]] opens new [http://www.ietf.org/rfc/rfc793.txt TCP] connections &amp;lt;u&amp;gt;''all the time''&amp;lt;/u&amp;gt;. The number of connections opened is controlled by the ''&amp;quot;Maximum number of connections in 5 seconds&amp;quot;'' setting in the preferences. &lt;br /&gt;
&lt;br /&gt;
A typical number is about 100. Each [http://www.ietf.org/rfc/rfc793.txt TCP] connection results in at least three packets traveling on the net - one is a SYN packet, i.e. connection request, and one an ACK or a RST when the connection is accepted or refused, and SYN+ACK to establish the session. &lt;br /&gt;
&lt;br /&gt;
There's more overhead of [http://www.ietf.org/rfc/rfc1034.txt DNS] queries when an address is resolved, retries when a host doesn't reply and so on.&lt;br /&gt;
 &lt;br /&gt;
=== At low level ===&lt;br /&gt;
After passing [http://www.ietf.org/rfc/rfc793.txt TCP] and [[IP]] layers packets go down to the network interface driver. What kind of driver this is depends on the way your computer is connected to the internet. For the sake of simplicity, we will assume that this computer is connected to the ISP directly; i.e., that you have no LAN (or switch or router) between. &lt;br /&gt;
&lt;br /&gt;
Common setups include:&lt;br /&gt;
 &lt;br /&gt;
* an analog modem, connected to a telephone line (ISDN modem falls in this category too);&lt;br /&gt;
* a cable modem, connected through ethernet, ISP gives you an [[IP]] address through [http://www.ietf.org/rfc/rfc2131.txt DHCP];&lt;br /&gt;
* a cable modem, connected through ethernet, ISP requires you to configure PPPoE or PPTP tunnel;&lt;br /&gt;
* an ADSL modem, connected through ethernet. You must have a PPPoE or PPTP tunnel;&lt;br /&gt;
* a variation on these, e.g., a modem connected to a computer via USB.&lt;br /&gt;
 &lt;br /&gt;
In each of the these setups there are different protocols in use, and different headers are added to transmitted packets. There's one important thing to note: &amp;lt;u&amp;gt;''ethernet frames travel between cable/ADSL modem and computer, and don't reach the ISP''&amp;lt;/u&amp;gt;. Consequently, they're not counted in rate calculations. [http://www.ietf.org/rfc/rfc2516.txt PPPoE]; in constrast,  &lt;br /&gt;
[http://www.ietf.org/rfc/rfc2637.txt PPTP] headers &amp;lt;u&amp;gt;''do reach the ISP''&amp;lt;/u&amp;gt;. In this respect, your particular provider may or may not choose to include them in their rate calculations. For this reason, we have excluded those headers from our calculations. &lt;br /&gt;
&lt;br /&gt;
If you think that your ISP includes it, add 4 bytes to the size of each packet.&lt;br /&gt;
 &lt;br /&gt;
=== Example ===&lt;br /&gt;
Let's see how much network overhead we have on a typical network. Our connection is a cable modem connected via an ethernet link to a PC directly (no router between them). &lt;br /&gt;
&lt;br /&gt;
In this setup we have [[IPv4]] packets sent over ethernet. &lt;br /&gt;
&lt;br /&gt;
Lets say we have 10 new connections opened each second, and all are being accepted (successfully established [http://www.ietf.org/rfc/rfc793.txt TCP] session). This alone sums up to (I'm counting data going up - from my computer to the net):&lt;br /&gt;
&lt;br /&gt;
''10 connection * 2 packets * (20 bytes of TCP + 20 bytes of [[IPv4]]) = 800 bytes of overhead.''&lt;br /&gt;
&lt;br /&gt;
This means that we are starting with 1.16*8 Kbps of &amp;quot;''invisible&amp;quot;''&lt;br /&gt;
overhead caused by the very way the network works. Now, let's assume that&lt;br /&gt;
after each connection is established our amule sends something to the other side and waits to receive an answer.&lt;br /&gt;
&lt;br /&gt;
''Total of 800 bytes + 800 bytes = 1600 bytes per second = 6400 bps = 6.4 Kbps''&lt;br /&gt;
&lt;br /&gt;
What we have here is 6.4 Kbps of network overhead alone. Taking into account &lt;br /&gt;
that amule has other data to send (uploads) and it is not the only network &lt;br /&gt;
application running we will have the following picture: &lt;br /&gt;
&lt;br /&gt;
Most likely the link to your provider is not that fast. [[aMule]] will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to open 10 connections per second and will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to upload on the specified speed. &lt;br /&gt;
&lt;br /&gt;
Your operating system will share all available bandwidth between those and between [[aMule]] and other network applications (browser for example). Actual results will vary depending on specific OS settings.&lt;br /&gt;
&lt;br /&gt;
== ACK bottleneck ==&lt;br /&gt;
In all calculations above there was one assumption - zero download. But downloading is what amule was built for. So let's examine how the overhead &lt;br /&gt;
above affects your downloading speed. The answer is in [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. &lt;br /&gt;
&lt;br /&gt;
When [http://www.ietf.org/rfc/rfc793.txt TCP] is sending data, it requires that the other side acknowledge the reception. So if client A is sending data to [[client]] B by [http://www.ietf.org/rfc/rfc793.txt TCP], B has to send a special ACK packets to A which tells B &amp;quot;ok, I got it&amp;quot;. If, however, A doesn't receive the ACK packets in time, he will assume that either packet is lost. &lt;br /&gt;
&lt;br /&gt;
So, without going deeply into [http://www.ietf.org/rfc/rfc793.txt TCP] specification: &amp;lt;u&amp;gt;''if B fails to send ACK to A, as a result A will transmit slower''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now let's see the situation in [[aMule]]. We saw in the previous chapter, that the uplink stream is congested by connection requests and uploads. As a result, there's a good chance that ACK packets for a file we are downloading &amp;lt;u&amp;gt;''will not be sent on time''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The remote party will notice this and slow down. This is one more reason why the upstream should better not be too congested.&lt;br /&gt;
 &lt;br /&gt;
== Is there anything I can do? ==&lt;br /&gt;
OK, now that you understood why your network is so slow while [[aMule]] is &lt;br /&gt;
running you will maybe look for a way to fix this. The answer in 2 words: &amp;quot;rate limit&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The first thing you should do is to assign realistic rate limits in [[aMule]] &lt;br /&gt;
itself. If you have a uplink rate of 128 Kbps don't set [[aMule]]'s [[upload]] limit to 16 (kilobytes per second) just because 128/8 = 16.&lt;br /&gt;
&lt;br /&gt;
A better, but far more complicated solution is to use the QoS and packet scheduling services of your OS. For example, you can give a higher priority to ACK packets to solve the above mentioned &amp;quot;ACK bottleneck&amp;quot; problem. &lt;br /&gt;
&lt;br /&gt;
The QoS topic, however, is beyond the scope of this article.&lt;br /&gt;
&lt;br /&gt;
== Router (switch, home network): is there any difference? ==&lt;br /&gt;
When the cable coming from your ISP is connected to some switching or routing &lt;br /&gt;
device, which in turn is connected to several PC's, bandwidth is shared between &lt;br /&gt;
them. &lt;br /&gt;
&lt;br /&gt;
So, having N computers connected, an ideal device would simply provide &lt;br /&gt;
each one of them with 1/N of the total bandwidth. The situation may vary in real life, and your particular device may have different idea about fairness. &lt;br /&gt;
&lt;br /&gt;
Since you're not going to have the hardware specs of your router chipset the only advice here is &amp;quot;try and see yourself&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Multiple links ==&lt;br /&gt;
Until now, we talked about computers that are connected to the network through&lt;br /&gt;
single interface. While being most frequent, this is not mandatory. A user&lt;br /&gt;
may choose to connect via 2 (or more links) provided by different ISP's.&lt;br /&gt;
There're 2 reasons for this decision that I know about: link redundancy and&lt;br /&gt;
load balancing.&lt;br /&gt;
&lt;br /&gt;
=== Link redundancy ===&lt;br /&gt;
In a case of link redundancy second link becomes operational when primary&lt;br /&gt;
link fails. This can be done automatically, or by explicit user command.&lt;br /&gt;
When this setup used, [[aMule]] along with other network applications must be&lt;br /&gt;
restarted when links are being switched. This will allow to bind new address,&lt;br /&gt;
reconnect to server and receive new ID. If [[aMule]] is connected via &amp;amp;nbsp;[http://www.ietf.org/rfc/rfc3022.txt NAT]]&lt;br /&gt;
enabled router (it doesn't matter if you have [[FAQ_ed2k#What_is_LowID_and_HighID?|low or high ID]]), and links&lt;br /&gt;
are switched &amp;lt;u&amp;gt;''on the router''&amp;lt;/u&amp;gt;, restart not needed.&lt;br /&gt;
&lt;br /&gt;
=== Load balancing ===&lt;br /&gt;
This is a far more complicated case. Both (all) links are simultaneously active,&lt;br /&gt;
and traffic is being distributed between them. The problem is that [[aMule]]&lt;br /&gt;
binds to &amp;lt;u&amp;gt;''all interfaces on the system''&amp;lt;/u&amp;gt; i.e. 0.0.0.0. But, on [[FAQ ed2k|ed2k]]&lt;br /&gt;
your ID is your [[IP]] address, &amp;lt;u&amp;gt;''and you can not have two''&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
So the problem is that [[aMule]] does not explicitly choose the source&lt;br /&gt;
address for ''&amp;lt;u&amp;gt;outgoing&amp;lt;/u&amp;gt;'' [http://www.ietf.org/rfc/rfc793.txt TCP] connections. Note, that it &amp;lt;u&amp;gt;''doesn't&lt;br /&gt;
matter''&amp;lt;/u&amp;gt; on which interface it listens. This is exactly &amp;lt;u&amp;gt;''opposite''&amp;lt;/u&amp;gt;&lt;br /&gt;
to &amp;lt;u&amp;gt;''server''&amp;lt;/u&amp;gt; applications like FTP or HTTP. When a client&lt;br /&gt;
tries to connect to a server it discovers its IP address by resolving DNS. Resolver&lt;br /&gt;
replies will contain all [[IP]] addresses of the specified host and a client should try them all. The server, in turn, may choose not to listen on&lt;br /&gt;
one of them and thus prevent the client from using this interface. In our case&lt;br /&gt;
[[aMule]] &amp;lt;u&amp;gt;''is a [[client]]''&amp;lt;/u&amp;gt;, and the [[server|ed2k server]] discovers its address from the&lt;br /&gt;
[[FAQ_ed2k#What_is_a_source?|source]] [[IP]] in the connection request. That's where the [[server|ed2k server]] will try to connect.&lt;br /&gt;
If the connection succeeds the client is [[client]] assigned a [[FAQ_ed2k#What_is_LowID_and_HighID?|high ID]], if it doesn't the client gets a Low ID. &lt;br /&gt;
The only solution in this situation (until [[aMule]] will have an ability to&lt;br /&gt;
bind to specific address) is to use [[aMule]] on your &amp;quot;primary&amp;quot; link.&amp;lt;br&amp;gt;&lt;br /&gt;
You can, however, cause [http://www.kernel.org Linux] to send packet through interface of your choice.&lt;br /&gt;
But, most probably they will be dropped by your ISP's router as &amp;quot;spoofed&amp;quot; because the source [[IP]] address doesn't match the address the ISP assigned to that interface.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network-es</id>
		<title>FAQ network-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network-es"/>
				<updated>2006-10-25T12:25:46Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[FAQ network|Inglés]] | '''Español'''&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Velocidad de la red: Lo que debes saber antes de preguntar =&lt;br /&gt;
 por Froenchenko Leonid, lfroen@gmail.com&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Prefacio ==&lt;br /&gt;
&lt;br /&gt;
El propósito de este documento es clarificar algunos temas relacionados con la velocidad de la red que aparacen cada cierto tiempo en el [[aMule]] [[forum|foro]]. Las causas por las que se realizan preguntas sobre &amp;quot;[[FAQ_ed2k| la red aMule]]&amp;quot; son varias:&lt;br /&gt;
&lt;br /&gt;
* La velocidad que indica [[aMule]] no coincide con la de el ISP,&lt;br /&gt;
* Bajo rendimiento del [[aMule]] o de otras aplicaciones que utilizan la red en la misma computadora, o, &lt;br /&gt;
* Los factores clave que influyen sobre el rendimiento de la red cuando el [[aMule]] esta corriendo.&lt;br /&gt;
&lt;br /&gt;
Este documento va dirigido a usuarios que desean adquirir un mayor conocimiento del funcionamiento de las redes en general, y en particular, de las implicaciones que las mismas tienen en el funcionamiento del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
En cualquier caso esta página no tiene un propósito explícito &amp;quot;[[FAQ_ed2k|Network FAQ]]&amp;quot;. Si estas buscando algo mas concreto quizás deberías ir a la páguina [[aMule is slow-es|aMule va lento FAQ]].&lt;br /&gt;
 &lt;br /&gt;
== Velocidad de la red - Como es de rápida? ==&lt;br /&gt;
&lt;br /&gt;
Cuando hablamos de velocidad de red, generalmente usamos la unidad &amp;quot;bps&amp;quot;, que significa bits por segundo, la razón por la que se utiliza &amp;quot;bit&amp;quot; en lugar de &amp;quot;byte&amp;quot; es básicamente histórica, pero tambíen viene dada por la arquitectura de los sistemas, y mas concretamente, viene del hecho de que no todas las redes en el mundo transmiten el tráfico de la red en &amp;quot;bytes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Hay un convenio por el que, usamos la B mayúscula en &amp;quot;Bps&amp;quot; en el caso de que hablemos de &amp;quot;bytes por segundo&amp;quot;. De cualquier modo este convenio no es aceptado por todo el mundo y mas en particular por organizaciones como la &lt;br /&gt;
 [http://www.ietf.org/ IETF] y la [http://www.ieee.org/ IEEE] que utilizan &amp;quot;bps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Prefijos ==&lt;br /&gt;
&lt;br /&gt;
Desde su invención, las redes han progresado enormemente. Hoy en día tenemos redes que transmiten miles de millones de bits por segundo. Para dar una medida a estas velocidades utilizamos los siguientes prefijos ''&amp;quot;kilo&amp;quot;'', ''&amp;quot;mega&amp;quot;'', ''&amp;quot;giga&amp;quot;'', ''&amp;quot;tera&amp;quot;''. &lt;br /&gt;
&lt;br /&gt;
Es un &amp;lt;u&amp;gt;error muy común&amp;lt;/u&amp;gt; pensar que los valores con estos prefijos son similares en computación. La realidad es que, por  razones históricas, los prefijos en redes tienen una base decimal y no binaria &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; title=&amp;quot;Table 1&amp;quot;&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | Prefijo&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en informática&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en redes &lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | diferencia, %%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | k (kilo)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^10 = 1024&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^3 = 1000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | M (mega)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^20 = 1,048,576&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^6 = 1,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 5%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | G (giga)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^30 = 1,073,741,624&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^9 = 1,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 7%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | T (tera)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^40 = 1,099,511,627,776&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^12 = 1,000,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 9%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como puedes ver en la tabla anterior, el error en el cálculo es del 5% cuando el prefijo es incorrectamente interpretado. Date cuenta de que la velocidad contratada con tu ISP es la velocidad en &amp;quot;unidades de red&amp;quot;; (calculado en base decimal). Por ejemplo cuando tu proveedor te dice que tu conexión es &amp;quot;ADSL 256/128&amp;quot;, quiere decir 256000/128000 bps (bits por segundo). Esto significa que la velocidad de tu conexión es de 32000/16000 bps (bytes por segundo), teniendo en cuenta que hay 8 bits en cada byte.    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Encabezamiento del Protocolo - Que sabemos sobre el? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando [[aMule]] esta funcionando, este &amp;quot;habla&amp;quot; constantemente con otros [[client]]es y [[Server|servidores]]. &lt;br /&gt;
Este intercambio de información es necesario para realizar algunas tareas como identificarse el mismo, pedir información sobre las  &lt;br /&gt;
[[FAQ_eD2k-Kademlia#What_is_a_source?|fuentes]] disponibles,  [[file|ficheros]],  realizar [[search|búsquedas]], etc... &lt;br /&gt;
&lt;br /&gt;
Como esta información es transparente para el usuario, se denomina &amp;quot;encabezamiento&amp;quot;, es una carga añadida de información a los datos que deseas [[upload|compartir]] o [[download|descargar]]. &lt;br /&gt;
&lt;br /&gt;
[[aMule]] lo llama &amp;quot;''encabezamiento de la conexión''&amp;quot;. De cualquier modo los datos de transferencia que [[aMule]] presenta, incluyen solo el tamaño de la información que el [[aMule]] mismo envía a la red. Mas tarde esa información se envía a la red con encabezamiento, la de los protocolos de red.&lt;br /&gt;
&lt;br /&gt;
Que tamaño tienen los encabezamientos? - Veámoslo en la siguiente sección.&lt;br /&gt;
&lt;br /&gt;
== Encabezamiento de la Red ==&lt;br /&gt;
&lt;br /&gt;
Lo primero de todo, estamos hablando de la red [[IPv4]]. Hace algún tiempo, existía tan solo un tipo de red [[IP]], ahora tenemos dos - [[IPv4|IP versión 4]], el viejo protocolo que todos conocemos; y el [[IPv6|IP versión 6]] - el nuevo protocolo creado para cubrir las carencias del [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
[[FAQ ed2k|El protocolo ED2K ]] por su diseño, no puede comunicarse a través de la red [[IPv6]], por lo que los usuarios que lo utilizan (en Japón y China por ejemplo) no podrán concectarse al mismo. Usar [[IPv4]] significa, que cada paquete  ([http://www.ietf.org/rfc/rfc793.txt TCP], [http://www.ietf.org/rfc/rfc768.txt UDP] y [http://www.ietf.org/rfc/rfc792.txt ICMP]) tendrá un encabezado [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
El tamaño mínimo de este encabezado es de 20 bytes. El encabezado puede tener partes opcionales (cada 4 bytes) y estas partes dependen de los preocveedores, concretamente el mío añade una [dword] opcional.  &lt;br /&gt;
&lt;br /&gt;
Cuando se comunica con otros clientes en la [[FAQ ed2k|red ed2k]], [[aMule]] utiliza el ampliamente conocido protocolo [http://www.ietf.org/rfc/rfc793.txt TCP]. El protocolo [http://www.ietf.org/rfc/rfc768.txt UDP] también es utilizado , pero en una escala mucho menor. Como seguramente ya sabes, [http://www.ietf.org/rfc/rfc793.txt TCP] es un protocolo confiable, esto quiere decir que garantiza que la información que se ha enviado desde el origen, ha llegado al destino, y no se se ha producido ningun error en la transmisión.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por aclarar este punto, [http://www.ietf.org/rfc/rfc793.txt TCP] envia su propia información añadida a la &amp;quot;carga util&amp;quot; que se se está transfiriendo. Esta información incluye la negociación inicial del cliente [http://www.ietf.org/rfc/rfc793.txt TCP], sumas de comprobación y códigos de seguencia y reconocimiento. Toda esta información se encuentra en el ''encabezado [http://www.ietf.org/rfc/rfc793.txt TCP] '' y se añade a cada paquete que es enviado. El tamaño de este encabezado tiene un mínimo de 20 bytes.&lt;br /&gt;
&lt;br /&gt;
La importancia de este encabezado es casi despreciable cuando se trate de un pequeño encabezado que antecede a una gran cantidad de datos, pero empieza a tener relevancia, a nivel del ancho de banda, cuando se trata de pequeños grupos de datos que se transfieren, este último, es el caso &amp;lt;u&amp;gt;que exactamente ocurre cuando se realiza la búsqueda de [[FAQ_ed2k#What_is_a_source?|fuentes]] en el [[aMule]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Nuestro [[client|cliente]] trata de establecer una conexión y de negociarla con una gran cantidad de [[client|clientes]]. Mientras realiza estas tareas, el  [[aMule]] abre nuevas conexiones [http://www.ietf.org/rfc/rfc793.txt TCP]  &amp;lt;u&amp;gt;''todo el tiempo''&amp;lt;/u&amp;gt;. El número de conexiones abiertas se controla fijando en las preferencias el ''&amp;quot;Maxímo número de conexiones cada 5 segundos&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
El número mas común es de 100. Cada conexión  [http://www.ietf.org/rfc/rfc793.txt TCP] se convierte en al menos 3 paquetes que viajan por la red  - uno es el paquete SYN, (petición de conexión), otro es el ACK o el RST dependiendo de si la conexión es aceptada o denegada, y por último  el paquete SYN+ACK que se encarga de establecer la conexión. &lt;br /&gt;
&lt;br /&gt;
Hay otro encabezamiento añadido debida a peticiones  [http://www.ietf.org/rfc/rfc1034.txt DNS] para resolver las direccións, reintentos cuando un host no responde, etc...&lt;br /&gt;
&lt;br /&gt;
=== A mas bajo nivel ===&lt;br /&gt;
&lt;br /&gt;
Una vez revisadas las capas superiores &lt;br /&gt;
[http://www.ietf.org/rfc/rfc793.txt TCP] e [[IP]]  de los paquetes, descendemos al intefase con la gestión de la red. Dependiendo de la manera en la que te conectas a la red la gestión de la misma se verá afectada. En nuestro caso para simplificarlo, vamos a asumir que nuestro ordenador esta conectado al ISP directamente, eso quiere decir que no tenemos LAN (o switch o router) entre ambos. &lt;br /&gt;
&lt;br /&gt;
Las configuraciones mas comunes suelen ser del tipo:&lt;br /&gt;
 &lt;br /&gt;
* un modem analógico, conectado a una línea telefónica (Los modems RDSI entran dentro de esta categoría);&lt;br /&gt;
* un cable modem, conectado a traves de ethernet, el ISP nos da una una [IP]] gracias al [http://www.ietf.org/rfc/rfc2131.txt DHCP];&lt;br /&gt;
* un cabel modem, conectado a traves de ethernet, es necesario configurar un tunel PPPoE o PPTP;&lt;br /&gt;
* el modem ADSL, conectado a traves de ethernett. Es necesario un tunel PPPoE o PPTP;&lt;br /&gt;
* variaciones sobre los casos anteriores, un modem conectado a un ordenador por USB, etc...&lt;br /&gt;
 &lt;br /&gt;
En cada una de estas configuraciones se utilizan distintos protocolos, y se requieren diferentes encabezados para los paquetes enviados/recibidos.Hay un punto importante a reseñar: ''las tramas ethernet viajan entre el ordenador y el cable/ADSL, nunca llegan a nuestro ISP''. Esto provoca que no son tenidos en cuenta a la hora de calcular los ratios [http://www.ietf.org/rfc/rfc2516.txt PPPoE]; pero en cambio, los ancabezados&lt;br /&gt;
[http://www.ietf.org/rfc/rfc2637.txt PPTP] &amp;lt;u&amp;gt;''si llegan a nuestro ISP''&amp;lt;/u&amp;gt;. &lt;br /&gt;
A este respecto, tu proveedor puede o no incluir los encabezados es sus ratios&lt;br /&gt;
. Es por ello que nosotros hemos excluido estos encabezados de nuestros cálculos&lt;br /&gt;
&lt;br /&gt;
Si piensas que tu ISP las incluye, añade 4 bytes al tamaño de cada paquete&lt;br /&gt;
&lt;br /&gt;
=== Ejemplo ===&lt;br /&gt;
&lt;br /&gt;
Veamos que sobrecarga tenemos en una red tipo. Nuestra conexión es mediante cable modem, conectada mediante un enlace ethernet a nuestro PC directamente( no tenemos un router entre ambos) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En esta configuración tenemos paquetes [[IPv4]] enviados sobre ethernet. &lt;br /&gt;
&lt;br /&gt;
Tenemos 10 nuevas conexiones abiertas cada segundo, y todas estan siendo aceptadas (conexión [http://www.ietf.org/rfc/rfc793.txt TCP] establecida). Esta parte sola suma (estoy contando la información que va desde mi ordenador a la red):&lt;br /&gt;
&lt;br /&gt;
''10 conexiones * 2 paquetes * (20 bytes  TCP + 20 bytes  [[IPv4]]) = 800 bytes de encabezamiento.''&lt;br /&gt;
&lt;br /&gt;
Esto quiere decir que empezamos con 1.16*8 Kbps ''&amp;quot;invisibles&amp;quot;'' de encabezamiento debidos a la manera en la que la red trabaja.  Ahora vamos a asumir que después de cada conexión que se establece nuestro [[aMule]] envia algún dato al otro lado de la red y se queda a la espera a recibir una respuesta.&lt;br /&gt;
&lt;br /&gt;
''Total de 800 bytes + 800 bytes = 1600 bytes por segundo = 6400 bps = 6,4 Kbps''&lt;br /&gt;
&lt;br /&gt;
Lo que tenemos ahora son 6,4 KBps de encabezamiento de Red. Teniendo en cuenta que  nuestro [[aMule] debe eviar otro tipo de datos (Subidas) y que es posible que no sea la unica aplicación de red que este funcionando, llegamos a lo siguiente:  &lt;br /&gt;
&lt;br /&gt;
Muy probablemente el enlace con tu proveedor no es tan rápido como nos parece. [[aMule]] &amp;lt;u&amp;gt;''tratará''&amp;lt;/u&amp;gt; de abrir 10 conexiones por segundo y tambien &amp;lt;u&amp;gt;''tratará''&amp;lt;/u&amp;gt; de realizar las subidas a la velocidad especificada. &lt;br /&gt;
&lt;br /&gt;
Tu sistema operativo compartirá todo el ancho de banda disponible entre  [[aMule]] y las otras aplicaciones de red que esten ejecutándose (por ejemplo el navegador). Los resultados dependerán de las opciones específicas el sistema operativo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Atasco del ACK ==&lt;br /&gt;
&lt;br /&gt;
En todo los cálculos que realizamos con anterioridad asumimos un punto &amp;quot;no hay descargas&amp;quot;. Pero el aMule se hizo para descargar. Por lo que vamos a examinar como afectan los encabezamientos a la velocidad de bajada. Nuestras respuestas se encuentran en el protocolo [http://www.ietf.org/rfc/rfc793.txt TCP]. &lt;br /&gt;
&lt;br /&gt;
Cuando [http://www.ietf.org/rfc/rfc793.txt TCP] esta enviando datos, necesita que haya por parte del interlocutor una confirmación de la recepció. Esto quiere decir que si el [[client|cliente]] A esta enviando datos al [[client|cliente]] B por [http://www.ietf.org/rfc/rfc793.txt TCP], B bede enviar un paquete especial  ACK a A que le informa de que &amp;quot;todo ha ido bien, lo he recibido&amp;quot;. Del mismo modo si A no recibe el paquete ACK a tiempo, entiende que el paquete se habrá perdido.&lt;br /&gt;
&lt;br /&gt;
En resumen y sin entrar en profundidad en las especificaciones  [http://www.ietf.org/rfc/rfc793.txt TCP] : &amp;lt;u&amp;gt;''Si B falla en enviar el ACK a A, como resultado A disminuirá la velocidad de trasmisión''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora veamos como queda esto en relación con el [[aMule]]. Vimos en la sección anterior que el enlace de subida puede estar congestionado por las solicitudes de conexiones y por las propias subidas . Como resultado hay muchas posibilidades de que el paquete ACK de confirmación del fichero que estamos descargando &amp;lt;u&amp;gt;''no sea enviado a tiempo''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Nuestro compañero de enlace al otro lado de la línea tomará nota, y bajará la velocidad de envío ahcia nosostros. Esta es una razón mas por la que la conexión de subida no debe estar congestionada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== ¿Hay algo que yo pueda hacer? ==&lt;br /&gt;
&lt;br /&gt;
Bueno, ahora que ya entiendes porque tu conexión va  lenta cuando esta funcionando el [[aMule]] quizas te preguntes como se puede mejorar. La respuesta se encuentra en tres palabras: &amp;quot;tasa de transferencia&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Lo primero que deberías hacer es asignar limites de transferenciaen para el    &lt;br /&gt;
[[aMule]] que se sean realistas. Si tienes una tasa de transferencia de subida de 128 Kbps no pongas en el [[aMule]] el límite de [[upload|subida]] a 16 (kilobytes por segundo) simplemente porque 128/8 = 16.&lt;br /&gt;
&lt;br /&gt;
Una mejor pero también mas complicada solución puede ser utilizar el QoS y los servicios de de planificación de paquetes de tu Sistema Operativo. Por ejemplo, se puede dar una mayor prioridad a los paquetes ACK para resolver problema mencionado anteriormente de &amp;quot;atasco del ACK&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
El tema del QoS en cualquier caso, esta mas allá del objetivo de este artículo.&lt;br /&gt;
&lt;br /&gt;
== Router (switch, red local): ¿Hay alguna diferencia? ==&lt;br /&gt;
&lt;br /&gt;
Cuando el cable que llega desde tu ISP esta conectado a un switch o aun router, que a la vez esta conectado a varios PC´s, en ancho de banda se comparte entre todos ellos.&lt;br /&gt;
&lt;br /&gt;
Por lo que si tenemos N ordenadores conectados, un aparato que tuviera un funcionamiento ideal se dedicaría simplemente repartir el ancho de banda, dando a cada uno de ellos una 1/N parte del mismo. La situación es bastante diferente en la realidad, y es posible que el aparato tenga una idea muy diferente de lo que es repartir equitativamente. &lt;br /&gt;
&lt;br /&gt;
Entendemos que no vas a tener las especificaiones de tu router, la única consideración que te hacemos es que pruebes y veas tu mismo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Multiple links ==&lt;br /&gt;
&lt;br /&gt;
Hasta ahora hemos hablado de PC´s conectados a la red a través de un solo interfase. Esta situación es la mas frecuente de encontrar, aunque no es la única. Un usuario puede elegir la opción de conectarse por dos enlaces a diferentes ISPs. Hay dos razones fundamentales para ello que yo conozca, redundancia del enlace y balanceo de carga. &lt;br /&gt;
&lt;br /&gt;
=== Redundancia del enlace ===&lt;br /&gt;
&lt;br /&gt;
En este caso el segundo enlace se inicia cuando el primero cae. Esto puede ser hecho automaticamente, mediante un comando especial. Con esta configuración, [[aMule]] y el resto de aplicaciones de red, deben ser reiniciadas cuando se produce el cambio al otro enlace. Gracias ello conseguiremos reconectarnos a un servidor, y recibir un nuevo ID. Si el  [[aMule]] se conecta via &amp;amp;nbsp;[http://www.ietf.org/rfc/rfc3022.txt NAT]], hay que activarlo en el router&lt;br /&gt;
(No tiene nada que ver con que tengas [[FAQ_ed2k#What_is_LowID_and_HighID?|ID baja o ID alta]]), los enlaces se cambian en el &lt;br /&gt;
&amp;lt;u&amp;gt;'' router''&amp;lt;/u&amp;gt;, y no es necesario realizar un reinicio.&lt;br /&gt;
&lt;br /&gt;
=== Balanceo de carga ===&lt;br /&gt;
&lt;br /&gt;
Este caso es algo mas complicado. Ambos enlaces estan activos, y el tráfico se didtribuye entre ambos, el problema es que [[aMule]] tiene acceso por &lt;br /&gt;
&amp;lt;u&amp;gt;''a todos los interfases''&amp;lt;/u&amp;gt; i.e. 0.0.0.0. Pero, en la red [[FAQ ed2k|ed2k]] tu ID se asocia a tu dirección [[IP]], &amp;lt;u&amp;gt;''y es imposible que tengas dos''&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema en resumen es que [[aMule]] no elige explicitamente el interfase de  ''&amp;lt;u&amp;gt;salida&amp;lt;/u&amp;gt;'' de las conexiones [http://www.ietf.org/rfc/rfc793.txt TCP] . &lt;br /&gt;
Deber tener en consideración que &lt;br /&gt;
&amp;lt;u&amp;gt;''da igual''&amp;lt;/u&amp;gt; en cual de los dos interfases este &amp;quot;escuchando&amp;quot;. &lt;br /&gt;
Este funcionamiento es justo el &amp;lt;u&amp;gt;''opuesto''&amp;lt;/u&amp;gt; al de otras aplicaciones &lt;br /&gt;
&amp;lt;u&amp;gt;''servidoras''&amp;lt;/u&amp;gt; como por ejemplo FTP o HTTP. Cuando un cliente intenta conectarse a un servidor este descubre su direccion IP resolviendo los DNS.&lt;br /&gt;
La contestación del DNS contiene todas las direcciones IP del host y el cliente entonces las puede utilizar todas. El servidor sim embargo, puede elegir no escuchar alguna de ellas y para ello previene al cliente de que no debe utilizar ese interfase.&lt;br /&gt;
En nuestro caso el [[aMule]] &amp;lt;u&amp;gt;''es un [[client]]e''&amp;lt;/u&amp;gt;, y el  [[server|servidor ed2k ]] descubre la dirección gracias a la &lt;br /&gt;
[[FAQ_ed2k#What_is_a_source?|fuente]] [[IP]] al solicitar la conexión. Es allí donde el [[server|servidor ed2k ]] tratará de conectarse.&lt;br /&gt;
&lt;br /&gt;
Si la conexión se produce el cliente es un [[client]] asignado a una [[FAQ_ed2k#What_is_LowID_and_HighID?|ID alta]], de lo contrario el cliente tiene una ID baja. &lt;br /&gt;
&lt;br /&gt;
La única solución en esta situación (hasta que [[aMule]] tenga la capacidad de gestionar diferentes direcciones) es utlizar el [[aMule]] en el enclace primario.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esto se puede hacer ya que [http://www.kernel.org Linux] permite enviar paquetes específicos hacia uno de los interfases.&lt;br /&gt;
Pero lo mas probable es que se quedarán colgados por que la dirección [[IP]] de las fuentes no concuerdan con la dirección IP assignada al interfase.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network</id>
		<title>FAQ network</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network"/>
				<updated>2006-10-25T12:24:42Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English'''|[[FAQ network-es|Spanish]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Network speed: what you should know before asking questions =&lt;br /&gt;
 by Froenchenko Leonid, lfroen@gmail.com&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Preface ==&lt;br /&gt;
The purpose of this document is to clarify issues regarding network &lt;br /&gt;
speed that arise from time to time in the [[aMule]] [[forum]]. Generally speaking, there are several reasons for questions about &amp;quot;[[FAQ_ed2k|aMule network]]&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* the speed reported by [[aMule]] doesn't match your provider's given rate;&lt;br /&gt;
* poor performance of [[aMule]] itself or another network application on the same computer; or&lt;br /&gt;
* the key factors influencing network performance while [[aMule]] is running.&lt;br /&gt;
&lt;br /&gt;
The intended audience for this document is users who want to gain a better understanding of network functionality in general, and, in particular, its implications for [[aMule]] functionality.&lt;br /&gt;
&lt;br /&gt;
However, this page is not a comprehensive, general purpose &amp;quot;[[FAQ_ed2k|Network FAQ]]&amp;quot;. If you were expecting something else, you might be interested in the [[aMule is slow|aMule is slow FAQ]].&lt;br /&gt;
 &lt;br /&gt;
== Network speed - how fast is it? ==&lt;br /&gt;
When talking about network speed, people use the unit &amp;quot;bps&amp;quot;, which means &lt;br /&gt;
&amp;quot;bits per second&amp;quot;. The reason that a ''bit'' is used rather than a ''byte'' is mostly historical, but also arises from the engineering behind the system, specifically, the fact that not all networks in the world transfer their traffic in bytes.&lt;br /&gt;
&lt;br /&gt;
There is a convention to use a capital &amp;quot;B&amp;quot; in &amp;quot;Bps&amp;quot; when speed is marked &lt;br /&gt;
in &amp;quot;bytes per second&amp;quot;. However, this convention is not widely accepted. In particular, organizations like the [http://www.ietf.org/ IETF] and [http://www.ieee.org/ IEEE] have stuck to the original &amp;quot;bps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Prefixes ==&lt;br /&gt;
Since their invention, networks have made a lot of progress. Today we have networks that transfer billions of bits per second. For measuring these speeds, we use prefixes such as ''&amp;quot;kilo&amp;quot;'', ''&amp;quot;mega&amp;quot;'', ''&amp;quot;giga&amp;quot;'', ''&amp;quot;tera&amp;quot;''. &lt;br /&gt;
&lt;br /&gt;
It is a &amp;lt;u&amp;gt;common mistake&amp;lt;/u&amp;gt; to think that values with those prefixes are the same as in computer science, i.e., powers of 2. The truth is that, for historical reasons, prefixes in networking have a decimal, not a binary base.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; title=&amp;quot;Table 1&amp;quot;&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | Prefix&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | meaning in computers&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | meaning in networks&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | difference, %%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | k (kilo)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^10 = 1024&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^3 = 1000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | M (mega)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^20 = 1,048,576&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^6 = 1,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 5%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | G (giga)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^30 = 1,073,741,624&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^9 = 1,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 7%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | T (tera)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^40 = 1,099,511,627,776&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^12 = 1,000,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 9%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As you can see from the table above, the error in calculation is about 5% when the prefix is incorrectly interpreted. Please note that the speed your provider quotes you is the &amp;quot;speed in network units&amp;quot;; i.e., calculated on a decimal basis. For example when your provider tells you that your link is &amp;quot;ADSL 256/128&amp;quot;, they mean 256000/128000 bps (bits per second). This means that the speed of your connection is 32000/16000 bps (bytes per second), since there are eight bits to a byte.&lt;br /&gt;
&lt;br /&gt;
== Protocol overhead - what is it about? ==&lt;br /&gt;
When [[aMule]] is running, it constantly &amp;quot;talks&amp;quot; with other [[client]]s and [[server]]s. &lt;br /&gt;
This data exchange is needed to perform such tasks as identifying itself, requesting information about &lt;br /&gt;
available [[FAQ_eD2k-Kademlia#What_is_a_source?|source]]s and [[file]]s, and performing [[search]]es. &lt;br /&gt;
&lt;br /&gt;
Since this information has no direct use to the user itself, it is called &amp;quot;overhead&amp;quot;; i.e., a necessary addition to the data you want to [[upload]] or [[download]]. &lt;br /&gt;
&lt;br /&gt;
[[aMule]] calls this &amp;quot;''connection overhead''&amp;quot;. However the number that [[aMule]] presents includes only the size of the actual data that [[aMule]] itself sends to the network stack. Later, these data are sent out on the network with even more overhead - that of the network protocols.&lt;br /&gt;
How much is it? - let's see that in the next section.&lt;br /&gt;
&lt;br /&gt;
== Network overhead ==&lt;br /&gt;
First of all - we're talking about the [[IPv4]] network. Once upon a time, there &lt;br /&gt;
was only one type of [[IP]] network. Now there are two - [[IPv4|IP version 4]], the old protocol that we all know; and [[IPv6|IP version 6]] - the new protocol made to fix the limitations of [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
[[FAQ ed2k|ED2K protocol]] by design, is unable to talk over [[IPv6]] network, so users who have it (in Japan and China for example) will not be able to connect &amp;quot;as is&amp;quot;. Using [[IPv4]] means, that each packet ([http://www.ietf.org/rfc/rfc793.txt TCP], [http://www.ietf.org/rfc/rfc768.txt UDP], [http://www.ietf.org/rfc/rfc792.txt ICMP]) will have an [[IPv4]] header.&lt;br /&gt;
&lt;br /&gt;
The minimum size of this header is 20 bytes. The header can have optional parts (each of 4 bytes) and that is up to your provider - for example, mine adds an optional [dword].&lt;br /&gt;
&lt;br /&gt;
When talking to other clients and servers on [[FAQ ed2k|ed2k network]], [[aMule]] uses the widely known [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. [http://www.ietf.org/rfc/rfc768.txt UDP] is also used, but on a much smaller scale. As you may already know, [http://www.ietf.org/rfc/rfc793.txt TCP] is a reliable protocol, i.e. it guarantees that data that is sent from one side will arrive on the other or an error will be reported.&lt;br /&gt;
&lt;br /&gt;
To achieve this, [http://www.ietf.org/rfc/rfc793.txt TCP] sends its own data in addition to the actual &amp;quot;payload&amp;quot; data being transferred. These data include [http://www.ietf.org/rfc/rfc793.txt TCP] client initial negotiation, checksums, sequence numbers and acknowledgments. All of this is in the ''[http://www.ietf.org/rfc/rfc793.txt TCP] header'' that is added to each packet sent. The size of this header is a minimum of 20 bytes.&lt;br /&gt;
&lt;br /&gt;
While being only a small overhead for a large bulk transfer, it can take significant part of bandwidth when small amounts of data are being exchanged. &amp;lt;u&amp;gt;This is exactly what happens on [[FAQ_ed2k#What_is_a_source?|source]] discovery part of [[aMule]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Our [[client]] is trying to establish a connection and negotiate with a large number of other [[client]]s. Doing this, [[aMule]] opens new [http://www.ietf.org/rfc/rfc793.txt TCP] connections &amp;lt;u&amp;gt;''all the time''&amp;lt;/u&amp;gt;. The number of connections opened is controlled by the ''&amp;quot;Maximum number of connections in 5 seconds&amp;quot;'' setting in the preferences. &lt;br /&gt;
&lt;br /&gt;
A typical number is about 100. Each [http://www.ietf.org/rfc/rfc793.txt TCP] connection results in at least three packets traveling on the net - one is a SYN packet, i.e. connection request, and one an ACK or a RST when the connection is accepted or refused, and SYN+ACK to establish the session. &lt;br /&gt;
&lt;br /&gt;
There's more overhead of [http://www.ietf.org/rfc/rfc1034.txt DNS] queries when an address is resolved, retries when a host doesn't reply and so on.&lt;br /&gt;
 &lt;br /&gt;
=== At low level ===&lt;br /&gt;
After passing [http://www.ietf.org/rfc/rfc793.txt TCP] and [[IP]] layers packets go down to the network interface driver. What kind of driver this is depends on the way your computer is connected to the internet. For the sake of simplicity, we will assume that this computer is connected to the ISP directly; i.e., that you have no LAN (or switch or router) between. &lt;br /&gt;
&lt;br /&gt;
Common setups include:&lt;br /&gt;
 &lt;br /&gt;
* an analog modem, connected to a telephone line (ISDN modem falls in this category too);&lt;br /&gt;
* a cable modem, connected through ethernet, ISP gives you an [[IP]] address through [http://www.ietf.org/rfc/rfc2131.txt DHCP];&lt;br /&gt;
* a cable modem, connected through ethernet, ISP requires you to configure PPPoE or PPTP tunnel;&lt;br /&gt;
* an ADSL modem, connected through ethernet. You must have a PPPoE or PPTP tunnel;&lt;br /&gt;
* a variation on these, e.g., a modem connected to a computer via USB.&lt;br /&gt;
 &lt;br /&gt;
In each of the these setups there are different protocols in use, and different headers are added to transmitted packets. There's one important thing to note: &amp;lt;u&amp;gt;''ethernet frames travel between cable/ADSL modem and computer, and don't reach the ISP''&amp;lt;/u&amp;gt;. Consequently, they're not counted in rate calculations. [http://www.ietf.org/rfc/rfc2516.txt PPPoE]; in constrast,  &lt;br /&gt;
[http://www.ietf.org/rfc/rfc2637.txt PPTP] headers &amp;lt;u&amp;gt;''do reach the ISP''&amp;lt;/u&amp;gt;. In this respect, your particular provider may or may not choose to include them in their rate calculations. For this reason, we have excluded those headers from our calculations. &lt;br /&gt;
&lt;br /&gt;
If you think that your ISP includes it, add 4 bytes to the size of each packet.&lt;br /&gt;
 &lt;br /&gt;
=== Example ===&lt;br /&gt;
Let's see how much network overhead we have on a typical network. Our connection is a cable modem connected via an ethernet link to a PC directly (no router between them). &lt;br /&gt;
&lt;br /&gt;
In this setup we have [[IPv4]] packets sent over ethernet. &lt;br /&gt;
&lt;br /&gt;
Lets say we have 10 new connections opened each second, and all are being accepted (successfully established [http://www.ietf.org/rfc/rfc793.txt TCP] session). This alone sums up to (I'm counting data going up - from my computer to the net):&lt;br /&gt;
&lt;br /&gt;
''10 connection * 2 packets * (20 bytes of TCP + 20 bytes of [[IPv4]]) = 800 bytes of overhead.''&lt;br /&gt;
&lt;br /&gt;
This means that we are starting with 1.16*8 Kbps of &amp;quot;''invisible&amp;quot;''&lt;br /&gt;
overhead caused by the very way the network works. Now, let's assume that&lt;br /&gt;
after each connection is established our amule sends something to the other side and waits to receive an answer.&lt;br /&gt;
&lt;br /&gt;
''Total of 800 bytes + 800 bytes = 1600 bytes per second = 6400 bps = 6.4 Kbps''&lt;br /&gt;
&lt;br /&gt;
What we have here is 6.4 Kbps of network overhead alone. Taking into account &lt;br /&gt;
that amule has other data to send (uploads) and it is not the only network &lt;br /&gt;
application running we will have the following picture: &lt;br /&gt;
&lt;br /&gt;
Most likely the link to your provider is not that fast. [[aMule]] will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to open 10 connections per second and will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to upload on the specified speed. &lt;br /&gt;
&lt;br /&gt;
Your operating system will share all available bandwidth between those and between [[aMule]] and other network applications (browser for example). Actual results will vary depending on specific OS settings.&lt;br /&gt;
&lt;br /&gt;
== ACK bottleneck ==&lt;br /&gt;
In all calculations above there was one assumption - zero download. But downloading is what amule was built for. So let's examine how the overhead &lt;br /&gt;
above affects your downloading speed. The answer is in [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. &lt;br /&gt;
&lt;br /&gt;
When [http://www.ietf.org/rfc/rfc793.txt TCP] is sending data, it requires that the other side acknowledge the reception. So if client A is sending data to [[client]] B by [http://www.ietf.org/rfc/rfc793.txt TCP], B has to send a special ACK packets to A which tells B &amp;quot;ok, I got it&amp;quot;. If, however, A doesn't receive the ACK packets in time, he will assume that either packet is lost. &lt;br /&gt;
&lt;br /&gt;
So, without going deeply into [http://www.ietf.org/rfc/rfc793.txt TCP] specification: &amp;lt;u&amp;gt;''if B fails to send ACK to A, as a result A will transmit slower''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now let's see the situation in [[aMule]]. We saw in the previous chapter, that the uplink stream is congested by connection requests and uploads. As a result, there's a good chance that ACK packets for a file we are downloading &amp;lt;u&amp;gt;''will not be sent on time''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The remote party will notice this and slow down. This is one more reason why the upstream should better not be too congested.&lt;br /&gt;
 &lt;br /&gt;
== Is there anything I can do? ==&lt;br /&gt;
OK, now that you understood why your network is so slow while [[aMule]] is &lt;br /&gt;
running you will maybe look for a way to fix this. The answer in 2 words: &amp;quot;rate limit&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The first thing you should do is to assign realistic rate limits in [[aMule]] &lt;br /&gt;
itself. If you have a uplink rate of 128 Kbps don't set [[aMule]]'s [[upload]] limit to 16 (kilobytes per second) just because 128/8 = 16.&lt;br /&gt;
&lt;br /&gt;
A better, but far more complicated solution is to use the QoS and packet scheduling services of your OS. For example, you can give a higher priority to ACK packets to solve the above mentioned &amp;quot;ACK bottleneck&amp;quot; problem. &lt;br /&gt;
&lt;br /&gt;
The QoS topic, however, is beyond the scope of this article.&lt;br /&gt;
&lt;br /&gt;
== Router (switch, home network): is there any difference? ==&lt;br /&gt;
When the cable coming from your ISP is connected to some switching or routing &lt;br /&gt;
device, which in turn is connected to several PC's, bandwidth is shared between &lt;br /&gt;
them. &lt;br /&gt;
&lt;br /&gt;
So, having N computers connected, an ideal device would simply provide &lt;br /&gt;
each one of them with 1/N of the total bandwidth. The situation may vary in real life, and your particular device may have different idea about fairness. &lt;br /&gt;
&lt;br /&gt;
Since you're not going to have the hardware specs of your router chipset the only advice here is &amp;quot;try and see yourself&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Multiple links ==&lt;br /&gt;
Until now, we talked about computers that are connected to the network through&lt;br /&gt;
single interface. While being most frequent, this is not mandatory. A user&lt;br /&gt;
may choose to connect via 2 (or more links) provided by different ISP's.&lt;br /&gt;
There're 2 reasons for this decision that I know about: link redundancy and&lt;br /&gt;
load balancing.&lt;br /&gt;
&lt;br /&gt;
=== Link redundancy ===&lt;br /&gt;
In a case of link redundancy second link becomes operational when primary&lt;br /&gt;
link fails. This can be done automatically, or by explicit user command.&lt;br /&gt;
When this setup used, [[aMule]] along with other network applications must be&lt;br /&gt;
restarted when links are being switched. This will allow to bind new address,&lt;br /&gt;
reconnect to server and receive new ID. If [[aMule]] is connected via &amp;amp;nbsp;[http://www.ietf.org/rfc/rfc3022.txt NAT]]&lt;br /&gt;
enabled router (it doesn't matter if you have [[FAQ_ed2k#What_is_LowID_and_HighID?|low or high ID]]), and links&lt;br /&gt;
are switched &amp;lt;u&amp;gt;''on the router''&amp;lt;/u&amp;gt;, restart not needed.&lt;br /&gt;
&lt;br /&gt;
=== Load balancing ===&lt;br /&gt;
This is a far more complicated case. Both (all) links are simultaneously active,&lt;br /&gt;
and traffic is being distributed between them. The problem is that [[aMule]]&lt;br /&gt;
binds to &amp;lt;u&amp;gt;''all interfaces on the system''&amp;lt;/u&amp;gt; i.e. 0.0.0.0. But, on [[FAQ ed2k|ed2k]]&lt;br /&gt;
your ID is your [[IP]] address, &amp;lt;u&amp;gt;''and you can not have two''&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
So the problem is that [[aMule]] does not explicitly choose the source&lt;br /&gt;
address for ''&amp;lt;u&amp;gt;outgoing&amp;lt;/u&amp;gt;'' [http://www.ietf.org/rfc/rfc793.txt TCP] connections. Note, that it &amp;lt;u&amp;gt;''doesn't&lt;br /&gt;
matter''&amp;lt;/u&amp;gt; on which interface it listens. This is exactly &amp;lt;u&amp;gt;''opposite''&amp;lt;/u&amp;gt;&lt;br /&gt;
to &amp;lt;u&amp;gt;''server''&amp;lt;/u&amp;gt; applications like FTP or HTTP. When a client&lt;br /&gt;
tries to connect to a server it discovers its IP address by resolving DNS. Resolver&lt;br /&gt;
replies will contain all [[IP]] addresses of the specified host and a client should try them all. The server, in turn, may choose not to listen on&lt;br /&gt;
one of them and thus prevent the client from using this interface. In our case&lt;br /&gt;
[[aMule]] &amp;lt;u&amp;gt;''is a [[client]]''&amp;lt;/u&amp;gt;, and the [[server|ed2k server]] discovers its address from the&lt;br /&gt;
[[FAQ_ed2k#What_is_a_source?|source]] [[IP]] in the connection request. That's where the [[server|ed2k server]] will try to connect.&lt;br /&gt;
If the connection succeeds the client is [[client]] assigned a [[FAQ_ed2k#What_is_LowID_and_HighID?|high ID]], if it doesn't the client gets a Low ID. &lt;br /&gt;
The only solution in this situation (until [[aMule]] will have an ability to&lt;br /&gt;
bind to specific address) is to use [[aMule]] on your &amp;quot;primary&amp;quot; link.&amp;lt;br&amp;gt;&lt;br /&gt;
You can, however, cause [http://www.kernel.org Linux] to send packet through interface of your choice.&lt;br /&gt;
But, most probably they will be dropped by your ISP's router as &amp;quot;spoofed&amp;quot; because the source [[IP]] address doesn't match the address the ISP assigned to that interface.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network-es</id>
		<title>FAQ network-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network-es"/>
				<updated>2006-10-25T12:22:57Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Velocidad de la red: Lo que debes saber antes de preguntar =&lt;br /&gt;
 por Froenchenko Leonid, lfroen@gmail.com&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Prefacio ==&lt;br /&gt;
&lt;br /&gt;
El propósito de este documento es clarificar algunos temas relacionados con la velocidad de la red que aparacen cada cierto tiempo en el [[aMule]] [[forum|foro]]. Las causas por las que se realizan preguntas sobre &amp;quot;[[FAQ_ed2k| la red aMule]]&amp;quot; son varias:&lt;br /&gt;
&lt;br /&gt;
* La velocidad que indica [[aMule]] no coincide con la de el ISP,&lt;br /&gt;
* Bajo rendimiento del [[aMule]] o de otras aplicaciones que utilizan la red en la misma computadora, o, &lt;br /&gt;
* Los factores clave que influyen sobre el rendimiento de la red cuando el [[aMule]] esta corriendo.&lt;br /&gt;
&lt;br /&gt;
Este documento va dirigido a usuarios que desean adquirir un mayor conocimiento del funcionamiento de las redes en general, y en particular, de las implicaciones que las mismas tienen en el funcionamiento del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
En cualquier caso esta página no tiene un propósito explícito &amp;quot;[[FAQ_ed2k|Network FAQ]]&amp;quot;. Si estas buscando algo mas concreto quizás deberías ir a la páguina [[aMule is slow-es|aMule va lento FAQ]].&lt;br /&gt;
 &lt;br /&gt;
== Velocidad de la red - Como es de rápida? ==&lt;br /&gt;
&lt;br /&gt;
Cuando hablamos de velocidad de red, generalmente usamos la unidad &amp;quot;bps&amp;quot;, que significa bits por segundo, la razón por la que se utiliza &amp;quot;bit&amp;quot; en lugar de &amp;quot;byte&amp;quot; es básicamente histórica, pero tambíen viene dada por la arquitectura de los sistemas, y mas concretamente, viene del hecho de que no todas las redes en el mundo transmiten el tráfico de la red en &amp;quot;bytes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Hay un convenio por el que, usamos la B mayúscula en &amp;quot;Bps&amp;quot; en el caso de que hablemos de &amp;quot;bytes por segundo&amp;quot;. De cualquier modo este convenio no es aceptado por todo el mundo y mas en particular por organizaciones como la &lt;br /&gt;
 [http://www.ietf.org/ IETF] y la [http://www.ieee.org/ IEEE] que utilizan &amp;quot;bps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Prefijos ==&lt;br /&gt;
&lt;br /&gt;
Desde su invención, las redes han progresado enormemente. Hoy en día tenemos redes que transmiten miles de millones de bits por segundo. Para dar una medida a estas velocidades utilizamos los siguientes prefijos ''&amp;quot;kilo&amp;quot;'', ''&amp;quot;mega&amp;quot;'', ''&amp;quot;giga&amp;quot;'', ''&amp;quot;tera&amp;quot;''. &lt;br /&gt;
&lt;br /&gt;
Es un &amp;lt;u&amp;gt;error muy común&amp;lt;/u&amp;gt; pensar que los valores con estos prefijos son similares en computación. La realidad es que, por  razones históricas, los prefijos en redes tienen una base decimal y no binaria &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; title=&amp;quot;Table 1&amp;quot;&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | Prefijo&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en informática&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en redes &lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | diferencia, %%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | k (kilo)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^10 = 1024&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^3 = 1000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | M (mega)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^20 = 1,048,576&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^6 = 1,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 5%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | G (giga)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^30 = 1,073,741,624&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^9 = 1,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 7%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | T (tera)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^40 = 1,099,511,627,776&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^12 = 1,000,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 9%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como puedes ver en la tabla anterior, el error en el cálculo es del 5% cuando el prefijo es incorrectamente interpretado. Date cuenta de que la velocidad contratada con tu ISP es la velocidad en &amp;quot;unidades de red&amp;quot;; (calculado en base decimal). Por ejemplo cuando tu proveedor te dice que tu conexión es &amp;quot;ADSL 256/128&amp;quot;, quiere decir 256000/128000 bps (bits por segundo). Esto significa que la velocidad de tu conexión es de 32000/16000 bps (bytes por segundo), teniendo en cuenta que hay 8 bits en cada byte.    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Encabezamiento del Protocolo - Que sabemos sobre el? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando [[aMule]] esta funcionando, este &amp;quot;habla&amp;quot; constantemente con otros [[client]]es y [[Server|servidores]]. &lt;br /&gt;
Este intercambio de información es necesario para realizar algunas tareas como identificarse el mismo, pedir información sobre las  &lt;br /&gt;
[[FAQ_eD2k-Kademlia#What_is_a_source?|fuentes]] disponibles,  [[file|ficheros]],  realizar [[search|búsquedas]], etc... &lt;br /&gt;
&lt;br /&gt;
Como esta información es transparente para el usuario, se denomina &amp;quot;encabezamiento&amp;quot;, es una carga añadida de información a los datos que deseas [[upload|compartir]] o [[download|descargar]]. &lt;br /&gt;
&lt;br /&gt;
[[aMule]] lo llama &amp;quot;''encabezamiento de la conexión''&amp;quot;. De cualquier modo los datos de transferencia que [[aMule]] presenta, incluyen solo el tamaño de la información que el [[aMule]] mismo envía a la red. Mas tarde esa información se envía a la red con encabezamiento, la de los protocolos de red.&lt;br /&gt;
&lt;br /&gt;
Que tamaño tienen los encabezamientos? - Veámoslo en la siguiente sección.&lt;br /&gt;
&lt;br /&gt;
== Encabezamiento de la Red ==&lt;br /&gt;
&lt;br /&gt;
Lo primero de todo, estamos hablando de la red [[IPv4]]. Hace algún tiempo, existía tan solo un tipo de red [[IP]], ahora tenemos dos - [[IPv4|IP versión 4]], el viejo protocolo que todos conocemos; y el [[IPv6|IP versión 6]] - el nuevo protocolo creado para cubrir las carencias del [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
[[FAQ ed2k|El protocolo ED2K ]] por su diseño, no puede comunicarse a través de la red [[IPv6]], por lo que los usuarios que lo utilizan (en Japón y China por ejemplo) no podrán concectarse al mismo. Usar [[IPv4]] significa, que cada paquete  ([http://www.ietf.org/rfc/rfc793.txt TCP], [http://www.ietf.org/rfc/rfc768.txt UDP] y [http://www.ietf.org/rfc/rfc792.txt ICMP]) tendrá un encabezado [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
El tamaño mínimo de este encabezado es de 20 bytes. El encabezado puede tener partes opcionales (cada 4 bytes) y estas partes dependen de los preocveedores, concretamente el mío añade una [dword] opcional.  &lt;br /&gt;
&lt;br /&gt;
Cuando se comunica con otros clientes en la [[FAQ ed2k|red ed2k]], [[aMule]] utiliza el ampliamente conocido protocolo [http://www.ietf.org/rfc/rfc793.txt TCP]. El protocolo [http://www.ietf.org/rfc/rfc768.txt UDP] también es utilizado , pero en una escala mucho menor. Como seguramente ya sabes, [http://www.ietf.org/rfc/rfc793.txt TCP] es un protocolo confiable, esto quiere decir que garantiza que la información que se ha enviado desde el origen, ha llegado al destino, y no se se ha producido ningun error en la transmisión.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por aclarar este punto, [http://www.ietf.org/rfc/rfc793.txt TCP] envia su propia información añadida a la &amp;quot;carga util&amp;quot; que se se está transfiriendo. Esta información incluye la negociación inicial del cliente [http://www.ietf.org/rfc/rfc793.txt TCP], sumas de comprobación y códigos de seguencia y reconocimiento. Toda esta información se encuentra en el ''encabezado [http://www.ietf.org/rfc/rfc793.txt TCP] '' y se añade a cada paquete que es enviado. El tamaño de este encabezado tiene un mínimo de 20 bytes.&lt;br /&gt;
&lt;br /&gt;
La importancia de este encabezado es casi despreciable cuando se trate de un pequeño encabezado que antecede a una gran cantidad de datos, pero empieza a tener relevancia, a nivel del ancho de banda, cuando se trata de pequeños grupos de datos que se transfieren, este último, es el caso &amp;lt;u&amp;gt;que exactamente ocurre cuando se realiza la búsqueda de [[FAQ_ed2k#What_is_a_source?|fuentes]] en el [[aMule]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Nuestro [[client|cliente]] trata de establecer una conexión y de negociarla con una gran cantidad de [[client|clientes]]. Mientras realiza estas tareas, el  [[aMule]] abre nuevas conexiones [http://www.ietf.org/rfc/rfc793.txt TCP]  &amp;lt;u&amp;gt;''todo el tiempo''&amp;lt;/u&amp;gt;. El número de conexiones abiertas se controla fijando en las preferencias el ''&amp;quot;Maxímo número de conexiones cada 5 segundos&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
El número mas común es de 100. Cada conexión  [http://www.ietf.org/rfc/rfc793.txt TCP] se convierte en al menos 3 paquetes que viajan por la red  - uno es el paquete SYN, (petición de conexión), otro es el ACK o el RST dependiendo de si la conexión es aceptada o denegada, y por último  el paquete SYN+ACK que se encarga de establecer la conexión. &lt;br /&gt;
&lt;br /&gt;
Hay otro encabezamiento añadido debida a peticiones  [http://www.ietf.org/rfc/rfc1034.txt DNS] para resolver las direccións, reintentos cuando un host no responde, etc...&lt;br /&gt;
&lt;br /&gt;
=== A mas bajo nivel ===&lt;br /&gt;
&lt;br /&gt;
Una vez revisadas las capas superiores &lt;br /&gt;
[http://www.ietf.org/rfc/rfc793.txt TCP] e [[IP]]  de los paquetes, descendemos al intefase con la gestión de la red. Dependiendo de la manera en la que te conectas a la red la gestión de la misma se verá afectada. En nuestro caso para simplificarlo, vamos a asumir que nuestro ordenador esta conectado al ISP directamente, eso quiere decir que no tenemos LAN (o switch o router) entre ambos. &lt;br /&gt;
&lt;br /&gt;
Las configuraciones mas comunes suelen ser del tipo:&lt;br /&gt;
 &lt;br /&gt;
* un modem analógico, conectado a una línea telefónica (Los modems RDSI entran dentro de esta categoría);&lt;br /&gt;
* un cable modem, conectado a traves de ethernet, el ISP nos da una una [IP]] gracias al [http://www.ietf.org/rfc/rfc2131.txt DHCP];&lt;br /&gt;
* un cabel modem, conectado a traves de ethernet, es necesario configurar un tunel PPPoE o PPTP;&lt;br /&gt;
* el modem ADSL, conectado a traves de ethernett. Es necesario un tunel PPPoE o PPTP;&lt;br /&gt;
* variaciones sobre los casos anteriores, un modem conectado a un ordenador por USB, etc...&lt;br /&gt;
 &lt;br /&gt;
En cada una de estas configuraciones se utilizan distintos protocolos, y se requieren diferentes encabezados para los paquetes enviados/recibidos.Hay un punto importante a reseñar: ''las tramas ethernet viajan entre el ordenador y el cable/ADSL, nunca llegan a nuestro ISP''. Esto provoca que no son tenidos en cuenta a la hora de calcular los ratios [http://www.ietf.org/rfc/rfc2516.txt PPPoE]; pero en cambio, los ancabezados&lt;br /&gt;
[http://www.ietf.org/rfc/rfc2637.txt PPTP] &amp;lt;u&amp;gt;''si llegan a nuestro ISP''&amp;lt;/u&amp;gt;. &lt;br /&gt;
A este respecto, tu proveedor puede o no incluir los encabezados es sus ratios&lt;br /&gt;
. Es por ello que nosotros hemos excluido estos encabezados de nuestros cálculos&lt;br /&gt;
&lt;br /&gt;
Si piensas que tu ISP las incluye, añade 4 bytes al tamaño de cada paquete&lt;br /&gt;
&lt;br /&gt;
=== Ejemplo ===&lt;br /&gt;
&lt;br /&gt;
Veamos que sobrecarga tenemos en una red tipo. Nuestra conexión es mediante cable modem, conectada mediante un enlace ethernet a nuestro PC directamente( no tenemos un router entre ambos) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En esta configuración tenemos paquetes [[IPv4]] enviados sobre ethernet. &lt;br /&gt;
&lt;br /&gt;
Tenemos 10 nuevas conexiones abiertas cada segundo, y todas estan siendo aceptadas (conexión [http://www.ietf.org/rfc/rfc793.txt TCP] establecida). Esta parte sola suma (estoy contando la información que va desde mi ordenador a la red):&lt;br /&gt;
&lt;br /&gt;
''10 conexiones * 2 paquetes * (20 bytes  TCP + 20 bytes  [[IPv4]]) = 800 bytes de encabezamiento.''&lt;br /&gt;
&lt;br /&gt;
Esto quiere decir que empezamos con 1.16*8 Kbps ''&amp;quot;invisibles&amp;quot;'' de encabezamiento debidos a la manera en la que la red trabaja.  Ahora vamos a asumir que después de cada conexión que se establece nuestro [[aMule]] envia algún dato al otro lado de la red y se queda a la espera a recibir una respuesta.&lt;br /&gt;
&lt;br /&gt;
''Total de 800 bytes + 800 bytes = 1600 bytes por segundo = 6400 bps = 6,4 Kbps''&lt;br /&gt;
&lt;br /&gt;
Lo que tenemos ahora son 6,4 KBps de encabezamiento de Red. Teniendo en cuenta que  nuestro [[aMule] debe eviar otro tipo de datos (Subidas) y que es posible que no sea la unica aplicación de red que este funcionando, llegamos a lo siguiente:  &lt;br /&gt;
&lt;br /&gt;
Muy probablemente el enlace con tu proveedor no es tan rápido como nos parece. [[aMule]] &amp;lt;u&amp;gt;''tratará''&amp;lt;/u&amp;gt; de abrir 10 conexiones por segundo y tambien &amp;lt;u&amp;gt;''tratará''&amp;lt;/u&amp;gt; de realizar las subidas a la velocidad especificada. &lt;br /&gt;
&lt;br /&gt;
Tu sistema operativo compartirá todo el ancho de banda disponible entre  [[aMule]] y las otras aplicaciones de red que esten ejecutándose (por ejemplo el navegador). Los resultados dependerán de las opciones específicas el sistema operativo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Atasco del ACK ==&lt;br /&gt;
&lt;br /&gt;
En todo los cálculos que realizamos con anterioridad asumimos un punto &amp;quot;no hay descargas&amp;quot;. Pero el aMule se hizo para descargar. Por lo que vamos a examinar como afectan los encabezamientos a la velocidad de bajada. Nuestras respuestas se encuentran en el protocolo [http://www.ietf.org/rfc/rfc793.txt TCP]. &lt;br /&gt;
&lt;br /&gt;
Cuando [http://www.ietf.org/rfc/rfc793.txt TCP] esta enviando datos, necesita que haya por parte del interlocutor una confirmación de la recepció. Esto quiere decir que si el [[client|cliente]] A esta enviando datos al [[client|cliente]] B por [http://www.ietf.org/rfc/rfc793.txt TCP], B bede enviar un paquete especial  ACK a A que le informa de que &amp;quot;todo ha ido bien, lo he recibido&amp;quot;. Del mismo modo si A no recibe el paquete ACK a tiempo, entiende que el paquete se habrá perdido.&lt;br /&gt;
&lt;br /&gt;
En resumen y sin entrar en profundidad en las especificaciones  [http://www.ietf.org/rfc/rfc793.txt TCP] : &amp;lt;u&amp;gt;''Si B falla en enviar el ACK a A, como resultado A disminuirá la velocidad de trasmisión''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora veamos como queda esto en relación con el [[aMule]]. Vimos en la sección anterior que el enlace de subida puede estar congestionado por las solicitudes de conexiones y por las propias subidas . Como resultado hay muchas posibilidades de que el paquete ACK de confirmación del fichero que estamos descargando &amp;lt;u&amp;gt;''no sea enviado a tiempo''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Nuestro compañero de enlace al otro lado de la línea tomará nota, y bajará la velocidad de envío ahcia nosostros. Esta es una razón mas por la que la conexión de subida no debe estar congestionada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== ¿Hay algo que yo pueda hacer? ==&lt;br /&gt;
&lt;br /&gt;
Bueno, ahora que ya entiendes porque tu conexión va  lenta cuando esta funcionando el [[aMule]] quizas te preguntes como se puede mejorar. La respuesta se encuentra en tres palabras: &amp;quot;tasa de transferencia&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Lo primero que deberías hacer es asignar limites de transferenciaen para el    &lt;br /&gt;
[[aMule]] que se sean realistas. Si tienes una tasa de transferencia de subida de 128 Kbps no pongas en el [[aMule]] el límite de [[upload|subida]] a 16 (kilobytes por segundo) simplemente porque 128/8 = 16.&lt;br /&gt;
&lt;br /&gt;
Una mejor pero también mas complicada solución puede ser utilizar el QoS y los servicios de de planificación de paquetes de tu Sistema Operativo. Por ejemplo, se puede dar una mayor prioridad a los paquetes ACK para resolver problema mencionado anteriormente de &amp;quot;atasco del ACK&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
El tema del QoS en cualquier caso, esta mas allá del objetivo de este artículo.&lt;br /&gt;
&lt;br /&gt;
== Router (switch, red local): ¿Hay alguna diferencia? ==&lt;br /&gt;
&lt;br /&gt;
Cuando el cable que llega desde tu ISP esta conectado a un switch o aun router, que a la vez esta conectado a varios PC´s, en ancho de banda se comparte entre todos ellos.&lt;br /&gt;
&lt;br /&gt;
Por lo que si tenemos N ordenadores conectados, un aparato que tuviera un funcionamiento ideal se dedicaría simplemente repartir el ancho de banda, dando a cada uno de ellos una 1/N parte del mismo. La situación es bastante diferente en la realidad, y es posible que el aparato tenga una idea muy diferente de lo que es repartir equitativamente. &lt;br /&gt;
&lt;br /&gt;
Entendemos que no vas a tener las especificaiones de tu router, la única consideración que te hacemos es que pruebes y veas tu mismo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Multiple links ==&lt;br /&gt;
&lt;br /&gt;
Hasta ahora hemos hablado de PC´s conectados a la red a través de un solo interfase. Esta situación es la mas frecuente de encontrar, aunque no es la única. Un usuario puede elegir la opción de conectarse por dos enlaces a diferentes ISPs. Hay dos razones fundamentales para ello que yo conozca, redundancia del enlace y balanceo de carga. &lt;br /&gt;
&lt;br /&gt;
=== Redundancia del enlace ===&lt;br /&gt;
&lt;br /&gt;
En este caso el segundo enlace se inicia cuando el primero cae. Esto puede ser hecho automaticamente, mediante un comando especial. Con esta configuración, [[aMule]] y el resto de aplicaciones de red, deben ser reiniciadas cuando se produce el cambio al otro enlace. Gracias ello conseguiremos reconectarnos a un servidor, y recibir un nuevo ID. Si el  [[aMule]] se conecta via &amp;amp;nbsp;[http://www.ietf.org/rfc/rfc3022.txt NAT]], hay que activarlo en el router&lt;br /&gt;
(No tiene nada que ver con que tengas [[FAQ_ed2k#What_is_LowID_and_HighID?|ID baja o ID alta]]), los enlaces se cambian en el &lt;br /&gt;
&amp;lt;u&amp;gt;'' router''&amp;lt;/u&amp;gt;, y no es necesario realizar un reinicio.&lt;br /&gt;
&lt;br /&gt;
=== Balanceo de carga ===&lt;br /&gt;
&lt;br /&gt;
Este caso es algo mas complicado. Ambos enlaces estan activos, y el tráfico se didtribuye entre ambos, el problema es que [[aMule]] tiene acceso por &lt;br /&gt;
&amp;lt;u&amp;gt;''a todos los interfases''&amp;lt;/u&amp;gt; i.e. 0.0.0.0. Pero, en la red [[FAQ ed2k|ed2k]] tu ID se asocia a tu dirección [[IP]], &amp;lt;u&amp;gt;''y es imposible que tengas dos''&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema en resumen es que [[aMule]] no elige explicitamente el interfase de  ''&amp;lt;u&amp;gt;salida&amp;lt;/u&amp;gt;'' de las conexiones [http://www.ietf.org/rfc/rfc793.txt TCP] . &lt;br /&gt;
Deber tener en consideración que &lt;br /&gt;
&amp;lt;u&amp;gt;''da igual''&amp;lt;/u&amp;gt; en cual de los dos interfases este &amp;quot;escuchando&amp;quot;. &lt;br /&gt;
Este funcionamiento es justo el &amp;lt;u&amp;gt;''opuesto''&amp;lt;/u&amp;gt; al de otras aplicaciones &lt;br /&gt;
&amp;lt;u&amp;gt;''servidoras''&amp;lt;/u&amp;gt; como por ejemplo FTP o HTTP. Cuando un cliente intenta conectarse a un servidor este descubre su direccion IP resolviendo los DNS.&lt;br /&gt;
La contestación del DNS contiene todas las direcciones IP del host y el cliente entonces las puede utilizar todas. El servidor sim embargo, puede elegir no escuchar alguna de ellas y para ello previene al cliente de que no debe utilizar ese interfase.&lt;br /&gt;
En nuestro caso el [[aMule]] &amp;lt;u&amp;gt;''es un [[client]]e''&amp;lt;/u&amp;gt;, y el  [[server|servidor ed2k ]] descubre la dirección gracias a la &lt;br /&gt;
[[FAQ_ed2k#What_is_a_source?|fuente]] [[IP]] al solicitar la conexión. Es allí donde el [[server|servidor ed2k ]] tratará de conectarse.&lt;br /&gt;
&lt;br /&gt;
Si la conexión se produce el cliente es un [[client]] asignado a una [[FAQ_ed2k#What_is_LowID_and_HighID?|ID alta]], de lo contrario el cliente tiene una ID baja. &lt;br /&gt;
&lt;br /&gt;
La única solución en esta situación (hasta que [[aMule]] tenga la capacidad de gestionar diferentes direcciones) es utlizar el [[aMule]] en el enclace primario.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esto se puede hacer ya que [http://www.kernel.org Linux] permite enviar paquetes específicos hacia uno de los interfases.&lt;br /&gt;
Pero lo mas probable es que se quedarán colgados por que la dirección [[IP]] de las fuentes no concuerdan con la dirección IP assignada al interfase.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network-es</id>
		<title>FAQ network-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network-es"/>
				<updated>2006-10-25T12:21:22Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Velocidad de la red: Lo que debes saber antes de preguntar =&lt;br /&gt;
 por Froenchenko Leonid, lfroen@gmail.com&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Prefacio ==&lt;br /&gt;
&lt;br /&gt;
El propósito de este documento es clarificar algunos temas relacionados con la velocidad de la red que aparacen cada cierto tiempo en el [[aMule]] [[forum|foro]]. Las causas por las que se realizan preguntas sobre &amp;quot;[[FAQ_ed2k| la red aMule]]&amp;quot; son varias:&lt;br /&gt;
&lt;br /&gt;
* La velocidad que indica [[aMule]] no coincide con la de el ISP,&lt;br /&gt;
* Bajo rendimiento del [[aMule]] o de otras aplicaciones que utilizan la red en la misma computadora, o, &lt;br /&gt;
* Los factores clave que influyen sobre el rendimiento de la red cuando el [[aMule]] esta corriendo.&lt;br /&gt;
&lt;br /&gt;
Este documento va dirigido a usuarios que desean adquirir un mayor conocimiento del funcionamiento de las redes en general, y en particular, de las implicaciones que las mismas tienen en el funcionamiento del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
En cualquier caso esta página no tiene un propósito explícito &amp;quot;[[FAQ_ed2k|Network FAQ]]&amp;quot;. Si estas buscando algo mas concreto quizás deberías ir a la páguina [[aMule is slow-es|aMule va lento FAQ]].&lt;br /&gt;
 &lt;br /&gt;
== Velocidad de la red - Como es de rápida? ==&lt;br /&gt;
&lt;br /&gt;
Cuando hablamos de velocidad de red, generalmente usamos la unidad &amp;quot;bps&amp;quot;, que significa bits por segundo, la razón por la que se utiliza &amp;quot;bit&amp;quot; en lugar de &amp;quot;byte&amp;quot; es básicamente histórica, pero tambíen viene dada por la arquitectura de los sistemas, y mas concretamente, viene del hecho de que no todas las redes en el mundo transmiten el tráfico de la red en &amp;quot;bytes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Hay un convenio por el que, usamos la B mayúscula en &amp;quot;Bps&amp;quot; en el caso de que hablemos de &amp;quot;bytes por segundo&amp;quot;. De cualquier modo este convenio no es aceptado por todo el mundo y mas en particular por organizaciones como la &lt;br /&gt;
 [http://www.ietf.org/ IETF] y la [http://www.ieee.org/ IEEE] que utilizan &amp;quot;bps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Prefijos ==&lt;br /&gt;
&lt;br /&gt;
Desde su invención, las redes han progresado enormemente. Hoy en día tenemos redes que transmiten miles de millones de bits por segundo. Para dar una medida a estas velocidades utilizamos los siguientes prefijos ''&amp;quot;kilo&amp;quot;'', ''&amp;quot;mega&amp;quot;'', ''&amp;quot;giga&amp;quot;'', ''&amp;quot;tera&amp;quot;''. &lt;br /&gt;
&lt;br /&gt;
Es un &amp;lt;u&amp;gt;error muy común&amp;lt;/u&amp;gt; pensar que los valores con estos prefijos son similares en computación. La realidad es que, por  razones históricas, los prefijos en redes tienen una base decimal y no binaria &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; title=&amp;quot;Table 1&amp;quot;&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | Prefijo&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en informática&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en redes &lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | diferencia, %%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | k (kilo)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^10 = 1024&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^3 = 1000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | M (mega)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^20 = 1,048,576&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^6 = 1,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 5%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | G (giga)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^30 = 1,073,741,624&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^9 = 1,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 7%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | T (tera)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^40 = 1,099,511,627,776&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^12 = 1,000,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 9%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como puedes ver en la tabla anterior, el error en el cálculo es del 5% cuando el prefijo es incorrectamente interpretado. Date cuenta de que la velocidad contratada con tu ISP es la velocidad en &amp;quot;unidades de red&amp;quot;; (calculado en base decimal). Por ejemplo cuando tu proveedor te dice que tu conexión es &amp;quot;ADSL 256/128&amp;quot;, quiere decir 256000/128000 bps (bits por segundo). Esto significa que la velocidad de tu conexión es de 32000/16000 bps (bytes por segundo), teniendo en cuenta que hay 8 bits en cada byte.    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Encabezamiento del Protocolo - Que sabemos sobre el? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando [[aMule]] esta funcionando, este &amp;quot;habla&amp;quot; constantemente con otros [[client]]es y [[Server|servidores]]. &lt;br /&gt;
Este intercambio de información es necesario para realizar algunas tareas como identificarse el mismo, pedir información sobre las  &lt;br /&gt;
[[FAQ_eD2k-Kademlia#What_is_a_source?|fuentes]] disponibles,  [[file|ficheros]],  realizar [[search|búsquedas]], etc... &lt;br /&gt;
&lt;br /&gt;
Como esta información es transparente para el usuario, se denomina &amp;quot;encabezamiento&amp;quot;, es una carga añadida de información a los datos que deseas [[upload|compartir]] o [[download|descargar]]. &lt;br /&gt;
&lt;br /&gt;
[[aMule]] lo llama &amp;quot;''encabezamiento de la conexión''&amp;quot;. De cualquier modo los datos de transferencia que [[aMule]] presenta, incluyen solo el tamaño de la información que el [[aMule]] mismo envía a la red. Mas tarde esa información se envía a la red con encabezamiento, la de los protocolos de red.&lt;br /&gt;
&lt;br /&gt;
Que tamaño tienen los encabezamientos? - Veámoslo en la siguiente sección.&lt;br /&gt;
&lt;br /&gt;
== Encabezamiento de la Red ==&lt;br /&gt;
&lt;br /&gt;
Lo primero de todo, estamos hablando de la red [[IPv4]]. Hace algún tiempo, existía tan solo un tipo de red [[IP]], ahora tenemos dos - [[IPv4|IP versión 4]], el viejo protocolo que todos conocemos; y el [[IPv6|IP versión 6]] - el nuevo protocolo creado para cubrir las carencias del [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
[[FAQ ed2k|El protocolo ED2K ]] por su diseño, no puede comunicarse a través de la red [[IPv6]], por lo que los usuarios que lo utilizan (en Japón y China por ejemplo) no podrán concectarse al mismo. Usar [[IPv4]] significa, que cada paquete  ([http://www.ietf.org/rfc/rfc793.txt TCP], [http://www.ietf.org/rfc/rfc768.txt UDP] y [http://www.ietf.org/rfc/rfc792.txt ICMP]) tendrá un encabezado [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
El tamaño mínimo de este encabezado es de 20 bytes. El encabezado puede tener partes opcionales (cada 4 bytes) y estas partes dependen de los preocveedores, concretamente el mío añade una [dword] opcional.  &lt;br /&gt;
&lt;br /&gt;
Cuando se comunica con otros clientes en la [[FAQ ed2k|red ed2k]], [[aMule]] utiliza el ampliamente conocido protocolo [http://www.ietf.org/rfc/rfc793.txt TCP]. El protocolo [http://www.ietf.org/rfc/rfc768.txt UDP] también es utilizado , pero en una escala mucho menor. Como seguramente ya sabes, [http://www.ietf.org/rfc/rfc793.txt TCP] es un protocolo confiable, esto quiere decir que garantiza que la información que se ha enviado desde el origen, ha llegado al destino, y no se se ha producido ningun error en la transmisión.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por aclarar este punto, [http://www.ietf.org/rfc/rfc793.txt TCP] envia su propia información añadida a la &amp;quot;carga util&amp;quot; que se se está transfiriendo. Esta información incluye la negociación inicial del cliente [http://www.ietf.org/rfc/rfc793.txt TCP], sumas de comprobación y códigos de seguencia y reconocimiento. Toda esta información se encuentra en el ''encabezado [http://www.ietf.org/rfc/rfc793.txt TCP] '' y se añade a cada paquete que es enviado. El tamaño de este encabezado tiene un mínimo de 20 bytes.&lt;br /&gt;
&lt;br /&gt;
La importancia de este encabezado es casi despreciable cuando se trate de un pequeño encabezado que antecede a una gran cantidad de datos, pero empieza a tener relevancia, a nivel del ancho de banda, cuando se trata de pequeños grupos de datos que se transfieren, este último, es el caso &amp;lt;u&amp;gt;que exactamente ocurre cuando se realiza la búsqueda de [[FAQ_ed2k#What_is_a_source?|fuentes]] en el [[aMule]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Nuestro [[client|cliente]] trata de establecer una conexión y de negociarla con una gran cantidad de [[client|clientes]]. Mientras realiza estas tareas, el  [[aMule]] abre nuevas conexiones [http://www.ietf.org/rfc/rfc793.txt TCP]  &amp;lt;u&amp;gt;''todo el tiempo''&amp;lt;/u&amp;gt;. El número de conexiones abiertas se controla fijando en las preferencias el ''&amp;quot;Maxímo número de conexiones cada 5 segundos&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
El número mas común es de 100. Cada conexión  [http://www.ietf.org/rfc/rfc793.txt TCP] se convierte en al menos 3 paquetes que viajan por la red  - uno es el paquete SYN, (petición de conexión), otro es el ACK o el RST dependiendo de si la conexión es aceptada o denegada, y por último  el paquete SYN+ACK que se encarga de establecer la conexión. &lt;br /&gt;
&lt;br /&gt;
Hay otro encabezamiento añadido debida a peticiones  [http://www.ietf.org/rfc/rfc1034.txt DNS] para resolver las direccións, reintentos cuando un host no responde, etc...&lt;br /&gt;
&lt;br /&gt;
=== A mas bajo nivel ===&lt;br /&gt;
&lt;br /&gt;
Una vez revisadas las capas superiores &lt;br /&gt;
[http://www.ietf.org/rfc/rfc793.txt TCP] e [[IP]]  de los paquetes, descendemos al intefase con la gestión de la red. Dependiendo de la manera en la que te conectas a la red la gestión de la misma se verá afectada. En nuestro caso para simplificarlo, vamos a asumir que nuestro ordenador esta conectado al ISP directamente, eso quiere decir que no tenemos LAN (o switch o router) entre ambos. &lt;br /&gt;
&lt;br /&gt;
Las configuraciones mas comunes suelen ser del tipo:&lt;br /&gt;
 &lt;br /&gt;
* un modem analógico, conectado a una línea telefónica (Los modems RDSI entran dentro de esta categoría);&lt;br /&gt;
* un cable modem, conectado a traves de ethernet, el ISP nos da una una [IP]] gracias al [http://www.ietf.org/rfc/rfc2131.txt DHCP];&lt;br /&gt;
* un cabel modem, conectado a traves de ethernet, es necesario configurar un tunel PPPoE o PPTP;&lt;br /&gt;
* el modem ADSL, conectado a traves de ethernett. Es necesario un tunel PPPoE o PPTP;&lt;br /&gt;
* variaciones sobre los casos anteriores, un modem conectado a un ordenador por USB, etc...&lt;br /&gt;
 &lt;br /&gt;
En cada una de estas configuraciones se utilizan distintos protocolos, y se requieren diferentes encabezados para los paquetes enviados/recibidos.Hay un punto importante a reseñar: ''las tramas ethernet viajan entre el ordenador y el cable/ADSL, nunca llegan a nuestro ISP''. Esto provoca que no son tenidos en cuenta a la hora de calcular los ratios [http://www.ietf.org/rfc/rfc2516.txt PPPoE]; pero en cambio, los ancabezados&lt;br /&gt;
[http://www.ietf.org/rfc/rfc2637.txt PPTP] &amp;lt;u&amp;gt;''si llegan a nuestro ISP''&amp;lt;/u&amp;gt;. &lt;br /&gt;
A este respecto, tu proveedor puede o no incluir los encabezados es sus ratios&lt;br /&gt;
. Es por ello que nosotros hemos excluido estos encabezados de nuestros cálculos&lt;br /&gt;
&lt;br /&gt;
Si piensas que tu ISP las incluye, añade 4 bytes al tamaño de cada paquete&lt;br /&gt;
&lt;br /&gt;
=== Ejemplo ===&lt;br /&gt;
&lt;br /&gt;
Veamos que sobrecarga tenemos en una red tipo. Nuestra conexión es mediante cable modem, conectada mediante un enlace ethernet a nuestro PC directamente( no tenemos un router entre ambos) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En esta configuración tenemos paquetes [[IPv4]] enviados sobre ethernet. &lt;br /&gt;
&lt;br /&gt;
Tenemos 10 nuevas conexiones abiertas cada segundo, y todas estan siendo aceptadas (conexión [http://www.ietf.org/rfc/rfc793.txt TCP] establecida). Esta parte sola suma (estoy contando la información que va desde mi ordenador a la red):&lt;br /&gt;
&lt;br /&gt;
''10 conexiones * 2 paquetes * (20 bytes  TCP + 20 bytes  [[IPv4]]) = 800 bytes de encabezamiento.''&lt;br /&gt;
&lt;br /&gt;
Esto quiere decir que empezamos con 1.16*8 Kbps ''&amp;quot;invisibles&amp;quot;'' de encabezamiento debidos a la manera en la que la red trabaja.  Ahora vamos a asumir que después de cada conexión que se establece nuestro [[aMule]] envia algún dato al otro lado de la red y se queda a la espera a recibir una respuesta.&lt;br /&gt;
&lt;br /&gt;
''Total de 800 bytes + 800 bytes = 1600 bytes por segundo = 6400 bps = 6,4 Kbps''&lt;br /&gt;
&lt;br /&gt;
Lo que tenemos ahora son 6,4 KBps de encabezamiento de Red. Teniendo en cuenta que  nuestro [[aMule] debe eviar otro tipo de datos (Subidas) y que es posible que no sea la unica aplicación de red que este funcionando, llegamos a lo siguiente:  &lt;br /&gt;
&lt;br /&gt;
Muy probablemente el enlace con tu proveedor no es tan rápido como nos parece. [[aMule]] &amp;lt;u&amp;gt;''tratará''&amp;lt;/u&amp;gt; de abrir 10 conexiones por segundo y tambien &amp;lt;u&amp;gt;''tratará''&amp;lt;/u&amp;gt; de realizar las subidas a la velocidad especificada. &lt;br /&gt;
&lt;br /&gt;
Tu sistema operativo compartirá todo el ancho de banda disponible entre  [[aMule]] y las otras aplicaciones de red que esten ejecutándose (por ejemplo el navegador). Los resultados dependerán de las opciones específicas el sistema operativo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Atasco del ACK ==&lt;br /&gt;
&lt;br /&gt;
En todo los cálculos que realizamos con anterioridad asumimos un punto &amp;quot;no hay descargas&amp;quot;. Pero el aMule se hizo para descargar. Por lo que vamos a examinar como afectan los encabezamientos a la velocidad de bajada. Nuestras respuestas se encuentran en el protocolo [http://www.ietf.org/rfc/rfc793.txt TCP]. &lt;br /&gt;
&lt;br /&gt;
Cuando [http://www.ietf.org/rfc/rfc793.txt TCP] esta enviando datos, necesita que haya por parte del interlocutor una confirmación de la recepció. Esto quiere decir que si el [[client|cliente]] A esta enviando datos al [[client|cliente]] B por [http://www.ietf.org/rfc/rfc793.txt TCP], B bede enviar un paquete especial  ACK a A que le informa de que &amp;quot;todo ha ido bien, lo he recibido&amp;quot;. Del mismo modo si A no recibe el paquete ACK a tiempo, entiende que el paquete se habrá perdido.&lt;br /&gt;
&lt;br /&gt;
En resumen y sin entrar en profundidad en las especificaciones  [http://www.ietf.org/rfc/rfc793.txt TCP] : &amp;lt;u&amp;gt;''Si B falla en enviar el ACK a A, como resultado A disminuirá la velocidad de trasmisión''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora veamos como queda esto en relación con el [[aMule]]. Vimos en la sección anterior que el enlace de subida puede estar congestionado por las solicitudes de conexiones y por las propias subidas . Como resultado hay muchas posibilidades de que el paquete ACK de confirmación del fichero que estamos descargando &amp;lt;u&amp;gt;''no sea enviado a tiempo''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Nuestro compañero de enlace al otro lado de la línea tomará nota, y bajará la velocidad de envío ahcia nosostros. Esta es una razón mas por la que la conexión de subida no debe estar congestionada.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== ¿Hay algo que yo pueda hacer? ==&lt;br /&gt;
&lt;br /&gt;
Bueno, ahora que ya entiendes porque tu conexión va  lenta cuando esta funcionando el [[aMule]] quizas te preguntes como se puede mejorar. La respuesta se encuentra en tres palabras: &amp;quot;tasa de transferencia&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Lo primero que deberías hacer es asignar limites de transferenciaen para el    &lt;br /&gt;
[[aMule]] que se sean realistas. Si tienes una tasa de transferencia de subida de 128 Kbps no pongas en el [[aMule]] el límite de [[upload|subida]] a 16 (kilobytes por segundo) simplemente porque 128/8 = 16.&lt;br /&gt;
&lt;br /&gt;
Una mejor pero también mas complicada solución puede ser utilizar el QoS y los servicios de de planificación de paquetes de tu Sistema Operativo. Por ejemplo, se puede dar una mayor prioridad a los paquetes ACK para resolver problema mencionado anteriormente de &amp;quot;atasco del ACK&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
El tema del QoS en cualquier caso, esta mas allá del objetivo de este artículo.&lt;br /&gt;
&lt;br /&gt;
== Router (switch, red local): ¿Hay alguna diferencia? ==&lt;br /&gt;
&lt;br /&gt;
Cuando el cable que llega desde tu ISP esta conectado a un switch o aun router, que a la vez esta conectado a varios PC´s, en ancho de banda se comparte entre todos ellos.&lt;br /&gt;
&lt;br /&gt;
Por lo que si tenemos N ordenadores conectados, un aparato que tuviera un funcionamiento ideal se dedicaría simplemente repartir el ancho de banda, dando a cada uno de ellos una 1/N parte del mismo. La situación es bastante diferente en la realidad, y es posible que el aparato tenga una idea muy diferente de lo que es repartir equitativamente. &lt;br /&gt;
&lt;br /&gt;
Entendemos que no vas a tener las especificaiones de tu router, la única consideración que te hacemos es que pruebes y veas tu mismo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Multiple links ==&lt;br /&gt;
&lt;br /&gt;
Hasta ahora hemos hablado de PC´s conectados a la red a través de un solo interfase. Esta situación es la mas frecuente de encontrar, aunque no es la única. Un usuario puede elegir la opción de conectarse por dos enlaces a diferentes ISPs. Hay dos razones fundamentales para ello que yo conozca, redundancia del enlace y balanceo de carga. &lt;br /&gt;
&lt;br /&gt;
=== Redundancia del enlace ===&lt;br /&gt;
&lt;br /&gt;
En este caso el segundo enlace se inicia cuando el primero cae. Esto puede ser hecho automaticamente, mediante un comando especial. Con esta configuración, [[aMule]] y el resto de aplicaciones de red, deben ser reiniciadas cuando se produce el cambio al otro enlace. Gracias ello conseguiremos reconectarnos a un servidor, y recibir un nuevo ID. Si el  [[aMule]] se conecta via &amp;amp;nbsp;[http://www.ietf.org/rfc/rfc3022.txt NAT]], hay que activarlo en el router&lt;br /&gt;
(No tiene nada que ver con que tengas [[FAQ_ed2k#What_is_LowID_and_HighID?|ID baja o ID alta]]), los enlaces se cambian en el &lt;br /&gt;
&amp;lt;u&amp;gt;'' router''&amp;lt;/u&amp;gt;, y no es necesario realizar un reinicio.&lt;br /&gt;
&lt;br /&gt;
=== Balanceo de carga ===&lt;br /&gt;
&lt;br /&gt;
Este caso es algo mas complicado. Ambos enlaces estan activos, y el tráfico se didtribuye entre ambos, el problema es que [[aMule]] tiene acceso por &lt;br /&gt;
&amp;lt;u&amp;gt;''a todos los interfases''&amp;lt;/u&amp;gt; i.e. 0.0.0.0. Pero, en la red [[FAQ ed2k|ed2k]] tu ID se asocia a tu dirección [[IP]], &amp;lt;u&amp;gt;''y es imposible que tengas dos''&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El problema en resumen es que [[aMule]] no elige explicitamente el interfase de  ''&amp;lt;u&amp;gt;salida&amp;lt;/u&amp;gt;'' de las conexiones [http://www.ietf.org/rfc/rfc793.txt TCP] . &lt;br /&gt;
Deber tener en consideración que &lt;br /&gt;
&amp;lt;u&amp;gt;''da igual''&amp;lt;/u&amp;gt; en cual de los dos interfases este &amp;quot;escuchando&amp;quot;. Este funcionamiento es justo el &amp;lt;u&amp;gt;''opuesto''&amp;lt;/u&amp;gt; al de otras aplicaciones&lt;br /&gt;
 &amp;lt;u&amp;gt;''servidoras''&amp;lt;/u&amp;gt; como por ejemplo FTP o HTTP. Cuando un cliente intenta conectarse a un servidor este descubre su direccion IP resolviendo los DNS.&lt;br /&gt;
La contestación del DNS contiene todas las direcciones IP del host y el cliente entonces las puede utilizar todas. El servidor sim embargo, puede elegir no escuchar alguna de ellas y para ello previene al cliente de que no debe utilizar ese interfase.&lt;br /&gt;
En nuestro caso el &lt;br /&gt;
[[aMule]] &amp;lt;u&amp;gt;''es un [[client]]e''&amp;lt;/u&amp;gt;, y el  [[server|servidor ed2k ]] descubre la dirección gracias a la &lt;br /&gt;
[[FAQ_ed2k#What_is_a_source?|fuente]] [[IP]] al solicitar la conexión. Es allí donde el [[server|servidor ed2k ]] tratará de conectarse.&lt;br /&gt;
&lt;br /&gt;
Si la conexión se produce el cliente es un [[client]] asignado a una [[FAQ_ed2k#What_is_LowID_and_HighID?|ID alta]], de lo contrario el cliente tiene una ID baja. &lt;br /&gt;
&lt;br /&gt;
La única solución en esta situación (hasta que [[aMule]] tenga la capacidad de gestionar diferentes direcciones) es utlizar el [[aMule]] en el enclace primario.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esto se puede hacer ya que [http://www.kernel.org Linux] permite enviar paquetes específicos hacia uno de los interfases.&lt;br /&gt;
Pero lo mas probable es que se quedarán colgados por que la dirección [[IP]] de las fuentes no concuerdan con la dirección IP assignada al interfase.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network-es</id>
		<title>FAQ network-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network-es"/>
				<updated>2006-10-25T10:22:41Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Velocidad de la red: Lo que debes saber antes de preguntar =&lt;br /&gt;
 por Froenchenko Leonid, lfroen@gmail.com&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Prefacio ==&lt;br /&gt;
&lt;br /&gt;
El propósito de este documento es clarificar algunos temas relacionados con la velocidad de la red que paracen cada cierto tiempo en el [[aMule]] [[forum]|foro]. Las causas por las que realizan preguntas sobre &amp;quot;[[FAQ_ed2k| la &lt;br /&gt;
red aMule]]&amp;quot; son varias:&lt;br /&gt;
&lt;br /&gt;
* La velocidad que indica el [[aMule]] no coincide con la de tu ISP.&lt;br /&gt;
* Bajo rendimiento del [[aMule]] o de otras aplicaciones que utilizan la red en la misma computadora, o, &lt;br /&gt;
* Los factores clave que influyen sobre el rendimiento de la red cuando el [[aMule]] esta corriendo.&lt;br /&gt;
&lt;br /&gt;
Este documento va dirigido a usuarios que desean adquirir un mayor conocimiento del funcionamiento de las redes en general, y en particular, de las implicaciones de éstas sobre el funcionamiento del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
En cualquier caso esta página no tiene un propósito explícito &amp;quot;[[FAQ_ed2k|Network FAQ]]&amp;quot;. Si estas buscando algo mas concreto quizás deberías ir a la páguina [[aMule is slow-es|aMule va lento FAQ]].&lt;br /&gt;
 &lt;br /&gt;
== Velocidad de la red - Como es de rápida? ==&lt;br /&gt;
&lt;br /&gt;
Cuando hablamos de velocidad de red, generalmente usamos la unidad &amp;quot;bps&amp;quot;, que significa bits por segundo, la razón es por la que se utiliza &amp;quot;bit en lugar de byte es básicamente histórica, pero tambíen viene dada por la arquitectura de los sistemas, y mas concretamente, viene del hecho de que no todas las redes en el mundo transmiten el tráfico de la red en bytes.&lt;br /&gt;
&lt;br /&gt;
Hay un convenio por el que si usamos la B mayúscula en &amp;quot;Bps&amp;quot; en el caso de que hablemos de &amp;quot;bytes por segundo&amp;quot;. De cualquier modo este convenio no es aceptado por todo el mundo y mas en particular en organizaciones como la &lt;br /&gt;
 [http://www.ietf.org/ IETF] y la [http://www.ieee.org/ IEEE] que utilizan &amp;quot;bps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Prefijos ==&lt;br /&gt;
&lt;br /&gt;
Desde su invención, las redes han progresado enormemente. Hoy en día tenemos redes que transmiten miles de millones de bits por segundo. Para dar una medida a estas velocidades utilizamos los siguientes prefijos ''&amp;quot;kilo&amp;quot;'', ''&amp;quot;mega&amp;quot;'', ''&amp;quot;giga&amp;quot;'', ''&amp;quot;tera&amp;quot;''. &lt;br /&gt;
&lt;br /&gt;
Es un &amp;lt;u&amp;gt;error muy común&amp;lt;/u&amp;gt; pensar que los valores con estos prefijos son similares en computación. La realidad es que, por  razones históricas, los prefijos en redes tienen una base decimal y no binaria &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; title=&amp;quot;Table 1&amp;quot;&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | Prefijo&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en informática&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en redes &lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | diferencia, %%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | k (kilo)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^10 = 1024&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^3 = 1000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | M (mega)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^20 = 1,048,576&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^6 = 1,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 5%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | G (giga)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^30 = 1,073,741,624&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^9 = 1,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 7%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | T (tera)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^40 = 1,099,511,627,776&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^12 = 1,000,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 9%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como puedes ver en la tabla anterior, el error en el cálculo es del 5% cuando el prefijo es incorrectamente interpretado. Date cuenta de que la velocidad contratada con tu ISP es la velocidad en &amp;quot;unidades de red&amp;quot;; (calculado en base decimal). Por ejemplo cuando tu proveedor te dice que tu conexión es de &amp;quot;ADSL 256/128&amp;quot;, esto quiere decir 256000/128000 bps (bits por segundo). Esto significa que la velocidad de tu conexión es de 32000/16000 bps (bytes por segundo), teniendo en cuenta que hay 8 bits en cada byte.    &lt;br /&gt;
&lt;br /&gt;
== Encabezamiento del Protocolo - Que sabemos sobre el? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando [[aMule]] esta funcionando, este &amp;quot;habla&amp;quot; constantemente con otros [[client]]es y [[Server|servidores]]. &lt;br /&gt;
Este intercambio de información es necesario para realizar algunas tareas como identificarse el mismo, pedir información sobre las  &lt;br /&gt;
[[FAQ_eD2k-Kademlia#What_is_a_source?|fuentes]] disponibles,  [[file|ficheros]], y realizar [[search|búsquedas]]. &lt;br /&gt;
&lt;br /&gt;
Como esta información es transparente para el usuario, se denomina &amp;quot;encabezamiento&amp;quot;, es una carga añadida de información a los datos que deseas [[upload|compartir]] o [[download|descargar]]. &lt;br /&gt;
&lt;br /&gt;
[[aMule]] lo llama &amp;quot;''encabezamiento de la conexión''&amp;quot;. De cualquier modo los datos de transferencia que [[aMule]] presenta, incluyen solo el tamaño de la información que el [[aMule]] mismo envía a la red. Mas tarde esa información se envía a la red con mayor sobrecarga , la de los protocolos de red.&lt;br /&gt;
&lt;br /&gt;
Cuanta es esta sobrecarga? - Veámoslo en la siguiente sección.&lt;br /&gt;
&lt;br /&gt;
== Encabezamiento de la Red ==&lt;br /&gt;
&lt;br /&gt;
Lo priemro de todo, nosotros estamos hablando de la red [[IPv4]] network. Hace algún tiempo, existía tan solo un tipo de red [[IP]]. Ahora tenemos dos - [[IPv4|IP version 4]], el viejo protocolo que todos conocemos; y el [[IPv6|IP version 6]] - el nuevo protocolo creado para cubrir las carencias del [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
[[FAQ ed2k|El protocolo ED2K ]] por su diseño, no puede comunicarse a través de la red [[IPv6]], por lo que los usuarios que lo utilizan (en Japón y China por ejemplo) no podrán concectarse. Usar [[IPv4]] significa, que cada paquete  ([http://www.ietf.org/rfc/rfc793.txt TCP], [http://www.ietf.org/rfc/rfc768.txt UDP] and [http://www.ietf.org/rfc/rfc792.txt ICMP]) tendrá un encabezado [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
El tamaño mínimo de este encabezado es de 20 bytes. El encabezado puede tener partes opcionales (cada 4 bytes) y estas partes dependen de los preocveedores, concretamente el mío añade una [dword] opcional.  &lt;br /&gt;
&lt;br /&gt;
Cuando se comunica con otros clientes en la [[FAQ ed2k| red ed2k ]], [[aMule]] utiliza el ampliamente conocido protocolo [http://www.ietf.org/rfc/rfc793.txt TCP]. El protocolo [http://www.ietf.org/rfc/rfc768.txt UDP] también es utilizado , pero en menor escala. Como seguramente ya sabes, [http://www.ietf.org/rfc/rfc793.txt TCP] es un protocolo confiable, esto quiere decir que garantiza que la información se ha enviado desde el origen ha llegado al destino y no se se ha producido ningun error en la transmisión.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para aclarar este punto, [http://www.ietf.org/rfc/rfc793.txt TCP] envia su propia información añadida a la &amp;quot;carga util&amp;quot; que se se está transfiriendo. Esta información incluye la negociación inicial del cliente [http://www.ietf.org/rfc/rfc793.txt TCP], sumas de comprobación y códigos de seguencia y reconocimiento. Toda esta información se encuentra en el ''encabezado [http://www.ietf.org/rfc/rfc793.txt TCP] '' y se añade a cada paquete que es enviado. El tamaño de este encabezado tiene un mínimo de 20 bytes.&lt;br /&gt;
&lt;br /&gt;
La importancia de este encabezado es casi despreciable cuando se trate de un pequeño encabezado que antecede a una gran cantidad de datos, pero empieza a tener relevancia en ancho de banda cuando se trata de pequeños grupos de datos que se transfieren  &lt;br /&gt;
While being only a small overhead for a large bulk transfer, it can take significant part of bandwidth when small amounts of data are being exchangedy esto &amp;lt;u&amp;gt;es exactamente lo que pasa cuando se realiza la búsqueda de [[FAQ_ed2k#What_is_a_source?|fuentes]] en el [[aMule]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Nuestro [[client|cliente]] trata de establecer una conexión y de negociarla con una gran cantidad de [[client|clientes]]. Mientras realiza estas tareas, el  [[aMule]] abre nuevas conexiones [http://www.ietf.org/rfc/rfc793.txt TCP]  &amp;lt;u&amp;gt;''todo el tiempo''&amp;lt;/u&amp;gt;. El número de conexiones abiertas se controla fijando en las preferencias ''&amp;quot;Maxímo número de conexiones cada 5 segundos&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
El número mas común es de 100. Cada conexión  [http://www.ietf.org/rfc/rfc793.txt TCP] se convierte en al menos 3 paquetes que viajan por la red  - uno es el paquete SYN, (petición de conexión), otro es el ACK o el RST dependiendo de si la conexión es aceptada o denegada, y por último  el paquete SYN+ACK que se encarga de establecer la conexión. &lt;br /&gt;
&lt;br /&gt;
Hay otra &amp;quot;sobrecarga&amp;quot; añadida debida a peticiones  [http://www.ietf.org/rfc/rfc1034.txt DNS] para resolver las direccións, reintentos cuando un host no responde, etc...&lt;br /&gt;
&lt;br /&gt;
=== El cuerpo de la red ===&lt;br /&gt;
&lt;br /&gt;
Una vez revisadas las capas superiores &lt;br /&gt;
[http://www.ietf.org/rfc/rfc793.txt TCP] e [[IP]]  de los paquetes, descendemos al intefase con la gestión de la red. Dependiendo de la manera en la que te conectas a la red la gestión de la misma se verá afectada. Simplificándolo, vamos a asumir que nuestro ordenador esta conectado al ISP directamente, eso quiere decir que no tenemos LAN (o switch o router) entre ambos. &lt;br /&gt;
&lt;br /&gt;
Common setups include:&lt;br /&gt;
Las configuraciones mas comunes incluyen:&lt;br /&gt;
 &lt;br /&gt;
* un modem analógico, conectado a una línea telefónica (Los modems RDSI entran dentro de esta categoría);&lt;br /&gt;
* un cable modem, conectado a traves de ethernet, el ISP nos da una una [IP]] gracias al [http://www.ietf.org/rfc/rfc2131.txt DHCP];&lt;br /&gt;
* un cabel modem, conectado a traves de ethernet, es necesario configurar un tunel PPPoE o PPTP;&lt;br /&gt;
* el modem ADSL modem, conectado a traves de ethernett. Es necesario un tunel PPPoE o PPTP;&lt;br /&gt;
* variaciones sobre los casos anteriores, un modem conectado a un ordenador por USB, etc...&lt;br /&gt;
 &lt;br /&gt;
En cada una de estas configuraciones se utilizan distintos protocolos, y se diferentes encabezados para los paquetes enviados/recibidos.Hay un punto importante a reseñar: ''las tramas ethernet viajan entre el ordenador y el cable/ADSL, nunca llegan a nuestro ISP''. Esto provoca que no sontenidos en cuanta a la hora de calcular los ratios [http://www.ietf.org/rfc/rfc2516.txt PPPoE]; pero en cambio, las cabezeras &lt;br /&gt;
[http://www.ietf.org/rfc/rfc2637.txt PPTP] &amp;lt;u&amp;gt;''si llegan a nuestro ISP''&amp;lt;/u&amp;gt;. &lt;br /&gt;
A este respecto, tu proveedor puede o no incluir los encabezados es sus ratios&lt;br /&gt;
. Es por ello que nosotros hemos excluido estas cabezeras de nuestros cálculos&lt;br /&gt;
&lt;br /&gt;
Si piensas que tu ISP los incluye, añade 4 bytes al tamaño de cada paquete&lt;br /&gt;
&lt;br /&gt;
=== Ejemplo ===&lt;br /&gt;
&lt;br /&gt;
Veamos que sobrecarga tenemos en una red tipo. Nuestra conexión es mediante cable modem, conectada mediante un enlace ethernet a nuestro PC directamente( no tenemos un router entre ambos) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En esta configuración tenemos paquetes [[IPv4]] enviados sobre ethernet. &lt;br /&gt;
&lt;br /&gt;
Tenemos 10 nuevas conexiones abiertas cada segundo, y todas estan siendo aceptadas (conexión [http://www.ietf.org/rfc/rfc793.txt TCP] establecida). Esta parte sola suma (Estoy contando la información que va desde mi ordenador a la red):&lt;br /&gt;
&lt;br /&gt;
''10 conexiones * 2 paquetes * (20 bytes  TCP + 20 bytes  [[IPv4]]) = 800 bytes de encabezamiento.''&lt;br /&gt;
&lt;br /&gt;
Esto quiere decir que empezamos con 1.16*8 Kbps ''&amp;quot;invisibles&amp;quot;'' de encabezamiento debidos a la manera en la que la red trabaja.  Ahora vamos a asumir que después de cada conexión que se establece nuestro [[aMule]] envia algún dato al otro lado de la red y se queda a la espera a recibir una respuesta..&lt;br /&gt;
&lt;br /&gt;
''Total de 800 bytes + 800 bytes = 1600 bytes por segundo = 6400 bps = 6,4 Kbps''&lt;br /&gt;
&lt;br /&gt;
Loque tenemos aqui son 6,4 KBps de encabezamiento de Red. Teniendo en cuenta que  nuestro [[aMule] debe eviar otro tipo de datos (Subidas) y que es posible que no sea la unica aplicación de red que este funcionando, llegamos a lo siguiente:  &lt;br /&gt;
&lt;br /&gt;
Muy probablemente el enlace con tu proveedor no es tan rápido como parece. [[aMule]]  &amp;lt;u&amp;gt;''tratará''&amp;lt;/u&amp;gt; de abrir 10 conexiones por segundo y  &amp;lt;u&amp;gt;''tratará''&amp;lt;/u&amp;gt; de realizar las subidas a la velocidad especificada. &lt;br /&gt;
&lt;br /&gt;
Tu sistema operativo compartirá todo el ancho de banda disponible entre  [[aMule]] las otras aplicaciones de red que esten ejecutándose (por ejemplo el navegador). Los resultados pueden depender de las opciones específicas el sistema operativo.&lt;br /&gt;
&lt;br /&gt;
== ACK bottleneck ==&lt;br /&gt;
In all calculations above there was one assumption - zero download. But downloading is what amule was built for. So let's examine how the overhead &lt;br /&gt;
above affects your downloading speed. The answer is in [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. &lt;br /&gt;
&lt;br /&gt;
When [http://www.ietf.org/rfc/rfc793.txt TCP] is sending data, it requires that the other side acknowledge the reception. So if client A is sending data to [[client]] B by [http://www.ietf.org/rfc/rfc793.txt TCP], B has to send a special ACK packets to A which tells B &amp;quot;ok, I got it&amp;quot;. If, however, A doesn't receive the ACK packets in time, he will assume that either packet is lost. &lt;br /&gt;
&lt;br /&gt;
So, without going deeply into [http://www.ietf.org/rfc/rfc793.txt TCP] specification: &amp;lt;u&amp;gt;''if B fails to send ACK to A, as a result A will transmit slower''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now let's see the situation in [[aMule]]. We saw in the previous chapter, that the uplink stream is congested by connection requests and uploads. As a result, there's a good chance that ACK packets for a file we are downloading &amp;lt;u&amp;gt;''will not be sent on time''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The remote party will notice this and slow down. This is one more reason why the upstream should better not be too congested.&lt;br /&gt;
 &lt;br /&gt;
== Is there anything I can do? ==&lt;br /&gt;
OK, now that you understood why your network is so slow while [[aMule]] is &lt;br /&gt;
running you will maybe look for a way to fix this. The answer in 2 words: &amp;quot;rate limit&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The first thing you should do is to assign realistic rate limits in [[aMule]] &lt;br /&gt;
itself. If you have a uplink rate of 128 Kbps don't set [[aMule]]'s [[upload]] limit to 16 (kilobytes per second) just because 128/8 = 16.&lt;br /&gt;
&lt;br /&gt;
A better, but far more complicated solution is to use the QoS and packet scheduling services of your OS. For example, you can give a higher priority to ACK packets to solve the above mentioned &amp;quot;ACK bottleneck&amp;quot; problem. &lt;br /&gt;
&lt;br /&gt;
The QoS topic, however, is beyond the scope of this article.&lt;br /&gt;
&lt;br /&gt;
== Router (switch, home network): is there any difference? ==&lt;br /&gt;
When the cable coming from your ISP is connected to some switching or routing &lt;br /&gt;
device, which in turn is connected to several PC's, bandwidth is shared between &lt;br /&gt;
them. &lt;br /&gt;
&lt;br /&gt;
So, having N computers connected, an ideal device would simply provide &lt;br /&gt;
each one of them with 1/N of the total bandwidth. The situation may vary in real life, and your particular device may have different idea about fairness. &lt;br /&gt;
&lt;br /&gt;
Since you're not going to have the hardware specs of your router chipset the only advice here is &amp;quot;try and see yourself&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Multiple links ==&lt;br /&gt;
Until now, we talked about computers that are connected to the network through&lt;br /&gt;
single interface. While being most frequent, this is not mandatory. A user&lt;br /&gt;
may choose to connect via 2 (or more links) provided by different ISP's.&lt;br /&gt;
There're 2 reasons for this decision that I know about: link redundancy and&lt;br /&gt;
load balancing.&lt;br /&gt;
&lt;br /&gt;
=== Link redundancy ===&lt;br /&gt;
In a case of link redundancy second link becomes operational when primary&lt;br /&gt;
link fails. This can be done automatically, or by explicit user command.&lt;br /&gt;
When this setup used, [[aMule]] along with other network applications must be&lt;br /&gt;
restarted when links are being switched. This will allow to bind new address,&lt;br /&gt;
reconnect to server and receive new ID. If [[aMule]] is connected via &amp;amp;nbsp;[http://www.ietf.org/rfc/rfc3022.txt NAT]]&lt;br /&gt;
enabled router (it doesn't matter if you have [[FAQ_ed2k#What_is_LowID_and_HighID?|low or high ID]]), and links&lt;br /&gt;
are switched &amp;lt;u&amp;gt;''on the router''&amp;lt;/u&amp;gt;, restart not needed.&lt;br /&gt;
&lt;br /&gt;
=== Load balancing ===&lt;br /&gt;
This is a far more complicated case. Both (all) links are simultaneously active,&lt;br /&gt;
and traffic is being distributed between them. The problem is that [[aMule]]&lt;br /&gt;
binds to &amp;lt;u&amp;gt;''all interfaces on the system''&amp;lt;/u&amp;gt; i.e. 0.0.0.0. But, on [[FAQ ed2k|ed2k]]&lt;br /&gt;
your ID is your [[IP]] address, &amp;lt;u&amp;gt;''and you can not have two''&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
So the problem is that [[aMule]] does not explicitly choose the source&lt;br /&gt;
address for ''&amp;lt;u&amp;gt;outgoing&amp;lt;/u&amp;gt;'' [http://www.ietf.org/rfc/rfc793.txt TCP] connections. Note, that it &amp;lt;u&amp;gt;''doesn't&lt;br /&gt;
matter''&amp;lt;/u&amp;gt; on which interface it listens. This is exactly &amp;lt;u&amp;gt;''opposite''&amp;lt;/u&amp;gt;&lt;br /&gt;
to &amp;lt;u&amp;gt;''server''&amp;lt;/u&amp;gt; applications like FTP or HTTP. When a client&lt;br /&gt;
tries to connect to a server it discovers its IP address by resolving DNS. Resolver&lt;br /&gt;
replies will contain all [[IP]] addresses of the specified host and a client should try them all. The server, in turn, may choose not to listen on&lt;br /&gt;
one of them and thus prevent the client from using this interface. In our case&lt;br /&gt;
[[aMule]] &amp;lt;u&amp;gt;''is a [[client]]''&amp;lt;/u&amp;gt;, and the [[server|ed2k server]] discovers its address from the&lt;br /&gt;
[[FAQ_ed2k#What_is_a_source?|source]] [[IP]] in the connection request. That's where the [[server|ed2k server]] will try to connect.&lt;br /&gt;
If the connection succeeds the client is [[client]] assigned a [[FAQ_ed2k#What_is_LowID_and_HighID?|high ID]], if it doesn't the client gets a Low ID. &lt;br /&gt;
The only solution in this situation (until [[aMule]] will have an ability to&lt;br /&gt;
bind to specific address) is to use [[aMule]] on your &amp;quot;primary&amp;quot; link.&amp;lt;br&amp;gt;&lt;br /&gt;
You can, however, cause [http://www.kernel.org Linux] to send packet through interface of your choice.&lt;br /&gt;
But, most probably they will be dropped by your ISP's router as &amp;quot;spoofed&amp;quot; because the source [[IP]] address doesn't match the address the ISP assigned to that interface.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network-es</id>
		<title>FAQ network-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network-es"/>
				<updated>2006-10-23T18:34:11Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Velocidad de la red: Lo que debes saber antes de preguntar =&lt;br /&gt;
 por Froenchenko Leonid, lfroen@gmail.com&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Prefacio ==&lt;br /&gt;
&lt;br /&gt;
El propósito de este documento es clarificar algunos temas relacionados con la velocidad de la red que paracen cada cierto tiempo en el [[aMule]] [[forum]|foro]. Las causas por las que realizan preguntas sobre &amp;quot;[[FAQ_ed2k| la red aMule]]&amp;quot; son varias:&lt;br /&gt;
&lt;br /&gt;
* La velocidad que indica el [[aMule]] no coincide con la de tu ISP.&lt;br /&gt;
* Bajo rendimiento del [[aMule]] o de otras aplicaciones que utilizan la red en la misma computadora, o, &lt;br /&gt;
* Los factores clave que influyen sobre el rendimiento de la red cuando el [[aMule]] esta corriendo.&lt;br /&gt;
&lt;br /&gt;
Este documento va dirigido a usuarios que desean adquirir un mayor conocimiento del funcionamiento de las redes en general, y en particular, de las implicaciones de éstas sobre el funcionamiento del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
En cualquier caso esta página no tiene un propósito explícito &amp;quot;[[FAQ_ed2k|Network FAQ]]&amp;quot;. Si estas buscando algo mas concreto quizás deberías ir a la páguina [[aMule is slow-es|aMule va lento FAQ]].&lt;br /&gt;
 &lt;br /&gt;
== Velocidad de la red - Como es de rápida? ==&lt;br /&gt;
&lt;br /&gt;
Cuando hablamos de velocidad de red, generalmente usamos la unidad &amp;quot;bps&amp;quot;, que significa bits por segundo, la razón es por la que se utiliza &amp;quot;bit en lugar de byte es básicamente histórica, pero tambíen viene dada por la arquitectura de los sistemas, y mas concretamente, viene del hecho de que no todas las redes en el mundo transmiten el tráfico de la red en bytes.&lt;br /&gt;
&lt;br /&gt;
Hay un convenio por el que si usamos la B mayúscula &amp;quot;B&amp;quot; en &amp;quot;Bps&amp;quot; en el caso de que hablemos de &amp;quot;bytes por segundo&amp;quot;. De cualquier modo este convenio no es aceptado por todo el mundo y mas en particular en organizaciones como la &lt;br /&gt;
 [http://www.ietf.org/ IETF] y la [http://www.ieee.org/ IEEE] que utilizan &amp;quot;bps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Prefijos ==&lt;br /&gt;
&lt;br /&gt;
Desde su invención, las redes han progresado enormemente. Hoy en día tenemos redes que transmiten miles de millones de bits por segundo. Para dar una medida a estas velocidades utilizamos los siguientes prefijos ''&amp;quot;kilo&amp;quot;'', ''&amp;quot;mega&amp;quot;'', ''&amp;quot;giga&amp;quot;'', ''&amp;quot;tera&amp;quot;''. &lt;br /&gt;
&lt;br /&gt;
Es un &amp;lt;u&amp;gt;error muy común&amp;lt;/u&amp;gt; pensar que los valores con estos prefijos son similares en computación. La realidad es que, por  razones históricas, los prefijos en redes tienen una base decimal y no binaria &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; title=&amp;quot;Table 1&amp;quot;&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | Prefijo&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en informática&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en redes &lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | diferencia, %%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | k (kilo)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^10 = 1024&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^3 = 1000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | M (mega)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^20 = 1,048,576&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^6 = 1,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 5%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | G (giga)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^30 = 1,073,741,624&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^9 = 1,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 7%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | T (tera)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^40 = 1,099,511,627,776&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^12 = 1,000,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 9%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como puedes ver en la tabla anterior, el error en el cálculo es del 5% cuando el prefijo es incorrectamente interpretado. Date cuenta de que la velocidad contratada con tu ISP es la velocidad en &amp;quot;unidades de red&amp;quot;; (calculado en base decimal). Por ejemplo cuando tu proveedor te dice que tu conexión es de &amp;quot;ADSL 256/128&amp;quot;, esto quiere decir 256000/128000 bps (bits por segundo). Esto significa que la velocidad de tu conexión es de 32000/16000 bps (bytes por segundo), teniendo en cuenta que hay 8 bits en cada byte.    &lt;br /&gt;
&lt;br /&gt;
== Sobrecarga del Protocolo - Que sabemos sobre esto? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando [[aMule]] esta funcionando, este &amp;quot;habla&amp;quot; constantemente con otros [[client]]es y [[Server|servidores]]. &lt;br /&gt;
Este intercambio de información es necesario para realizar algunas tareas como identificarse el mismo, pedir información sobre las  &lt;br /&gt;
[[FAQ_eD2k-Kademlia#What_is_a_source?|fuentes]] disponibles,  [[file|ficheros]], y realizar [[search|búsquedas]]. &lt;br /&gt;
&lt;br /&gt;
Como esta información es transparente para el usuario, se denomina &amp;quot;sobrecarga&amp;quot;, es una carga añadida de información a los datos que deseas [[upload|compartir]] o [[download|descargar]]. &lt;br /&gt;
&lt;br /&gt;
[[aMule]] lo llama &amp;quot;''sobrecarga de la conexión''&amp;quot;. De cualquier modo los datos de transferencia que [[aMule]] presenta, incluyen solo el tamaño de la información que el [[aMule]] mismo envía a la red. Mas tarde esa información se envía a la red con mayor sobrecarga , la de los protocolos de red.&lt;br /&gt;
&lt;br /&gt;
Cuanta es esta sobrecarga? - Veámoslo en la siguiente sección.&lt;br /&gt;
&lt;br /&gt;
== Sobrecarga de la Red ==&lt;br /&gt;
&lt;br /&gt;
Lo priemro de todo, nosotros estamos hablando de la red [[IPv4]] network. Una vez en el tiempo, había solo un tipo de red [[IP]]. Ahora tenemos dos - [[IPv4|IP version 4]], el viejo protocolo que todos conocemos; el [[IPv6|IP version 6]] - el nuevo protocolo creado para cubrir los huecos del [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
[[FAQ ed2k|El protocolo ED2K ]] por su diseño, no puede comunicarse a través de la red  [[IPv6]], por lo que los usuarios que lo utilizan (en Japón y China por ejemplo) no podrán concectarse. Usar [[IPv4]] significa, que cada paquete  ([http://www.ietf.org/rfc/rfc793.txt TCP], [http://www.ietf.org/rfc/rfc768.txt UDP] and [http://www.ietf.org/rfc/rfc792.txt ICMP]) tendrá un encabezado [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
El tamaño mínimo de este encabezado es de 20 bytes. El encabezado puede tener partes opcionales (cada 4 bytes) y estas partes dependen de los preocveedores, concretamente el mío añade una [dword] opcional.  &lt;br /&gt;
&lt;br /&gt;
When talking to other clients and servers on [[FAQ ed2k|ed2k network]], [[aMule]] uses the widely known [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. [http://www.ietf.org/rfc/rfc768.txt UDP] is also used, but on a much smaller scale. As you may already know, [http://www.ietf.org/rfc/rfc793.txt TCP] is a reliable protocol, i.e. it guarantees that data that is sent from one side will arrive on the other or an error will be reported.&lt;br /&gt;
&lt;br /&gt;
To achieve this, [http://www.ietf.org/rfc/rfc793.txt TCP] sends its own data in addition to the actual &amp;quot;payload&amp;quot; data being transferred. These data include [http://www.ietf.org/rfc/rfc793.txt TCP] client initial negotiation, checksums, sequence numbers and acknowledgments. All of this is in the ''[http://www.ietf.org/rfc/rfc793.txt TCP] header'' that is added to each packet sent. The size of this header is a minimum of 20 bytes.&lt;br /&gt;
&lt;br /&gt;
While being only a small overhead for a large bulk transfer, it can take significant part of bandwidth when small amounts of data are being exchanged. &amp;lt;u&amp;gt;This is exactly what happens on [[FAQ_ed2k#What_is_a_source?|source]] discovery part of [[aMule]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Our [[client]] is trying to establish a connection and negotiate with a large number of other [[client]]s. Doing this, [[aMule]] opens new [http://www.ietf.org/rfc/rfc793.txt TCP] connections &amp;lt;u&amp;gt;''all the time''&amp;lt;/u&amp;gt;. The number of connections opened is controlled by the ''&amp;quot;Maximum number of connections in 5 seconds&amp;quot;'' setting in the preferences. &lt;br /&gt;
&lt;br /&gt;
A typical number is about 100. Each [http://www.ietf.org/rfc/rfc793.txt TCP] connection results in at least three packets traveling on the net - one is a SYN packet, i.e. connection request, and one an ACK or a RST when the connection is accepted or refused, and SYN+ACK to establish the session. &lt;br /&gt;
&lt;br /&gt;
There's more overhead of [http://www.ietf.org/rfc/rfc1034.txt DNS] queries when an address is resolved, retries when a host doesn't reply and so on.&lt;br /&gt;
 &lt;br /&gt;
=== At low level ===&lt;br /&gt;
After passing [http://www.ietf.org/rfc/rfc793.txt TCP] and [[IP]] layers packets go down to the network interface driver. What kind of driver this is depends on the way your computer is connected to the internet. For the sake of simplicity, we will assume that this computer is connected to the ISP directly; i.e., that you have no LAN (or switch or router) between. &lt;br /&gt;
&lt;br /&gt;
Common setups include:&lt;br /&gt;
 &lt;br /&gt;
* an analog modem, connected to a telephone line (ISDN modem falls in this category too);&lt;br /&gt;
* a cable modem, connected through ethernet, ISP gives you an [[IP]] address through [http://www.ietf.org/rfc/rfc2131.txt DHCP];&lt;br /&gt;
* a cable modem, connected through ethernet, ISP requires you to configure PPPoE or PPTP tunnel;&lt;br /&gt;
* an ADSL modem, connected through ethernet. You must have a PPPoE or PPTP tunnel;&lt;br /&gt;
* a variation on these, e.g., a modem connected to a computer via USB.&lt;br /&gt;
 &lt;br /&gt;
In each of the these setups there are different protocols in use, and different headers are added to transmitted packets. There's one important thing to note: &amp;lt;u&amp;gt;''ethernet frames travel between cable/ADSL modem and computer, and don't reach the ISP''&amp;lt;/u&amp;gt;. Consequently, they're not counted in rate calculations. [http://www.ietf.org/rfc/rfc2516.txt PPPoE]; in constrast,  &lt;br /&gt;
[http://www.ietf.org/rfc/rfc2637.txt PPTP] headers &amp;lt;u&amp;gt;''do reach the ISP''&amp;lt;/u&amp;gt;. In this respect, your particular provider may or may not choose to include them in their rate calculations. For this reason, we have excluded those headers from our calculations. &lt;br /&gt;
&lt;br /&gt;
If you think that your ISP includes it, add 4 bytes to the size of each packet.&lt;br /&gt;
 &lt;br /&gt;
=== Example ===&lt;br /&gt;
Let's see how much network overhead we have on a typical network. Our connection is a cable modem connected via an ethernet link to a PC directly (no router between them). &lt;br /&gt;
&lt;br /&gt;
In this setup we have [[IPv4]] packets sent over ethernet. &lt;br /&gt;
&lt;br /&gt;
Lets say we have 10 new connections opened each second, and all are being accepted (successfully established [http://www.ietf.org/rfc/rfc793.txt TCP] session). This alone sums up to (I'm counting data going up - from my computer to the net):&lt;br /&gt;
&lt;br /&gt;
''10 connection * 2 packets * (20 bytes of TCP + 20 bytes of [[IPv4]]) = 800 bytes of overhead.''&lt;br /&gt;
&lt;br /&gt;
This means that we are starting with 1.16*8 Kbps of &amp;quot;''invisible&amp;quot;''&lt;br /&gt;
overhead caused by the very way the network works. Now, let's assume that&lt;br /&gt;
after each connection is established our amule sends something to the other side and waits to receive an answer.&lt;br /&gt;
&lt;br /&gt;
''Total of 800 bytes + 800 bytes = 1600 bytes per second = 6400 bps = 6.4 Kbps''&lt;br /&gt;
&lt;br /&gt;
What we have here is 6.4 Kbps of network overhead alone. Taking into account &lt;br /&gt;
that amule has other data to send (uploads) and it is not the only network &lt;br /&gt;
application running we will have the following picture: &lt;br /&gt;
&lt;br /&gt;
Most likely the link to your provider is not that fast. [[aMule]] will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to open 10 connections per second and will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to upload on the specified speed. &lt;br /&gt;
&lt;br /&gt;
Your operating system will share all available bandwidth between those and between [[aMule]] and other network applications (browser for example). Actual results will vary depending on specific OS settings.&lt;br /&gt;
&lt;br /&gt;
== ACK bottleneck ==&lt;br /&gt;
In all calculations above there was one assumption - zero download. But downloading is what amule was built for. So let's examine how the overhead &lt;br /&gt;
above affects your downloading speed. The answer is in [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. &lt;br /&gt;
&lt;br /&gt;
When [http://www.ietf.org/rfc/rfc793.txt TCP] is sending data, it requires that the other side acknowledge the reception. So if client A is sending data to [[client]] B by [http://www.ietf.org/rfc/rfc793.txt TCP], B has to send a special ACK packets to A which tells B &amp;quot;ok, I got it&amp;quot;. If, however, A doesn't receive the ACK packets in time, he will assume that either packet is lost. &lt;br /&gt;
&lt;br /&gt;
So, without going deeply into [http://www.ietf.org/rfc/rfc793.txt TCP] specification: &amp;lt;u&amp;gt;''if B fails to send ACK to A, as a result A will transmit slower''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now let's see the situation in [[aMule]]. We saw in the previous chapter, that the uplink stream is congested by connection requests and uploads. As a result, there's a good chance that ACK packets for a file we are downloading &amp;lt;u&amp;gt;''will not be sent on time''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The remote party will notice this and slow down. This is one more reason why the upstream should better not be too congested.&lt;br /&gt;
 &lt;br /&gt;
== Is there anything I can do? ==&lt;br /&gt;
OK, now that you understood why your network is so slow while [[aMule]] is &lt;br /&gt;
running you will maybe look for a way to fix this. The answer in 2 words: &amp;quot;rate limit&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The first thing you should do is to assign realistic rate limits in [[aMule]] &lt;br /&gt;
itself. If you have a uplink rate of 128 Kbps don't set [[aMule]]'s [[upload]] limit to 16 (kilobytes per second) just because 128/8 = 16.&lt;br /&gt;
&lt;br /&gt;
A better, but far more complicated solution is to use the QoS and packet scheduling services of your OS. For example, you can give a higher priority to ACK packets to solve the above mentioned &amp;quot;ACK bottleneck&amp;quot; problem. &lt;br /&gt;
&lt;br /&gt;
The QoS topic, however, is beyond the scope of this article.&lt;br /&gt;
&lt;br /&gt;
== Router (switch, home network): is there any difference? ==&lt;br /&gt;
When the cable coming from your ISP is connected to some switching or routing &lt;br /&gt;
device, which in turn is connected to several PC's, bandwidth is shared between &lt;br /&gt;
them. &lt;br /&gt;
&lt;br /&gt;
So, having N computers connected, an ideal device would simply provide &lt;br /&gt;
each one of them with 1/N of the total bandwidth. The situation may vary in real life, and your particular device may have different idea about fairness. &lt;br /&gt;
&lt;br /&gt;
Since you're not going to have the hardware specs of your router chipset the only advice here is &amp;quot;try and see yourself&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Multiple links ==&lt;br /&gt;
Until now, we talked about computers that are connected to the network through&lt;br /&gt;
single interface. While being most frequent, this is not mandatory. A user&lt;br /&gt;
may choose to connect via 2 (or more links) provided by different ISP's.&lt;br /&gt;
There're 2 reasons for this decision that I know about: link redundancy and&lt;br /&gt;
load balancing.&lt;br /&gt;
&lt;br /&gt;
=== Link redundancy ===&lt;br /&gt;
In a case of link redundancy second link becomes operational when primary&lt;br /&gt;
link fails. This can be done automatically, or by explicit user command.&lt;br /&gt;
When this setup used, [[aMule]] along with other network applications must be&lt;br /&gt;
restarted when links are being switched. This will allow to bind new address,&lt;br /&gt;
reconnect to server and receive new ID. If [[aMule]] is connected via &amp;amp;nbsp;[http://www.ietf.org/rfc/rfc3022.txt NAT]]&lt;br /&gt;
enabled router (it doesn't matter if you have [[FAQ_ed2k#What_is_LowID_and_HighID?|low or high ID]]), and links&lt;br /&gt;
are switched &amp;lt;u&amp;gt;''on the router''&amp;lt;/u&amp;gt;, restart not needed.&lt;br /&gt;
&lt;br /&gt;
=== Load balancing ===&lt;br /&gt;
This is a far more complicated case. Both (all) links are simultaneously active,&lt;br /&gt;
and traffic is being distributed between them. The problem is that [[aMule]]&lt;br /&gt;
binds to &amp;lt;u&amp;gt;''all interfaces on the system''&amp;lt;/u&amp;gt; i.e. 0.0.0.0. But, on [[FAQ ed2k|ed2k]]&lt;br /&gt;
your ID is your [[IP]] address, &amp;lt;u&amp;gt;''and you can not have two''&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
So the problem is that [[aMule]] does not explicitly choose the source&lt;br /&gt;
address for ''&amp;lt;u&amp;gt;outgoing&amp;lt;/u&amp;gt;'' [http://www.ietf.org/rfc/rfc793.txt TCP] connections. Note, that it &amp;lt;u&amp;gt;''doesn't&lt;br /&gt;
matter''&amp;lt;/u&amp;gt; on which interface it listens. This is exactly &amp;lt;u&amp;gt;''opposite''&amp;lt;/u&amp;gt;&lt;br /&gt;
to &amp;lt;u&amp;gt;''server''&amp;lt;/u&amp;gt; applications like FTP or HTTP. When a client&lt;br /&gt;
tries to connect to a server it discovers its IP address by resolving DNS. Resolver&lt;br /&gt;
replies will contain all [[IP]] addresses of the specified host and a client should try them all. The server, in turn, may choose not to listen on&lt;br /&gt;
one of them and thus prevent the client from using this interface. In our case&lt;br /&gt;
[[aMule]] &amp;lt;u&amp;gt;''is a [[client]]''&amp;lt;/u&amp;gt;, and the [[server|ed2k server]] discovers its address from the&lt;br /&gt;
[[FAQ_ed2k#What_is_a_source?|source]] [[IP]] in the connection request. That's where the [[server|ed2k server]] will try to connect.&lt;br /&gt;
If the connection succeeds the client is [[client]] assigned a [[FAQ_ed2k#What_is_LowID_and_HighID?|high ID]], if it doesn't the client gets a Low ID. &lt;br /&gt;
The only solution in this situation (until [[aMule]] will have an ability to&lt;br /&gt;
bind to specific address) is to use [[aMule]] on your &amp;quot;primary&amp;quot; link.&amp;lt;br&amp;gt;&lt;br /&gt;
You can, however, cause [http://www.kernel.org Linux] to send packet through interface of your choice.&lt;br /&gt;
But, most probably they will be dropped by your ISP's router as &amp;quot;spoofed&amp;quot; because the source [[IP]] address doesn't match the address the ISP assigned to that interface.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network-es</id>
		<title>FAQ network-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network-es"/>
				<updated>2006-10-23T18:24:00Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Velocidad de la red: Lo que debes saber antes de preguntar =&lt;br /&gt;
 por Froenchenko Leonid, lfroen@gmail.com&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Prefacio ==&lt;br /&gt;
&lt;br /&gt;
El propósito de este documento es clarificar algunos temas relacionados con la velocidad de la red que paracen cada cierto tiempo en el [[aMule]] [[forum]|foro]. Las causas por las que realizan preguntas sobre &amp;quot;[[FAQ_ed2k| la red aMule]]&amp;quot; son varias:&lt;br /&gt;
&lt;br /&gt;
* La velocidad que indica el [[aMule]] no coincide con la de tu ISP.&lt;br /&gt;
* Bajo rendimiento del [[aMule]] o de otras aplicaciones que utilizan la red en la misma computadora, o, &lt;br /&gt;
* Los factores clave que influyen sobre el rendimiento de la red cuando el [[aMule]] esta corriendo.&lt;br /&gt;
&lt;br /&gt;
Este documento va dirigido a usuarios que desean adquirir un mayor conocimiento del funcionamiento de las redes en general, y en particular, de las implicaciones de éstas sobre el funcionamiento del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
En cualquier caso esta página no tiene un propósito explícito &amp;quot;[[FAQ_ed2k|Network FAQ]]&amp;quot;. Si estas buscando algo mas concreto quizás deberías ir a la páguina [[aMule is slow-es|aMule va lento FAQ]].&lt;br /&gt;
 &lt;br /&gt;
== Velocidad de la red - Como es de rápida? ==&lt;br /&gt;
&lt;br /&gt;
Cuando hablamos de velocidad de red, generalmente usamos la unidad &amp;quot;bps&amp;quot;, que significa bits por segundo, la razón es por la que se utiliza &amp;quot;bit en lugar de byte es básicamente histórica, pero tambíen viene dada por la arquitectura de los sistemas, y mas concretamente, viene del hecho de que no todas las redes en el mundo transmiten el tráfico de la red en bytes.&lt;br /&gt;
&lt;br /&gt;
Hay un convenio por el que si usamos la B mayúscula &amp;quot;B&amp;quot; en &amp;quot;Bps&amp;quot; en el caso de que hablemos de &amp;quot;bytes por segundo&amp;quot;. De cualquier modo este convenio no es aceptado por todo el mundo y mas en particular en organizaciones como la &lt;br /&gt;
 [http://www.ietf.org/ IETF] y la [http://www.ieee.org/ IEEE] que utilizan &amp;quot;bps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Prefijos ==&lt;br /&gt;
&lt;br /&gt;
Desde su invención, las redes han progresado enormemente. Hoy en día tenemos redes que transmiten miles de millones de bits por segundo. Para dar una medida a estas velocidades utilizamos los siguientes prefijos ''&amp;quot;kilo&amp;quot;'', ''&amp;quot;mega&amp;quot;'', ''&amp;quot;giga&amp;quot;'', ''&amp;quot;tera&amp;quot;''. &lt;br /&gt;
&lt;br /&gt;
Es un &amp;lt;u&amp;gt;error muy común&amp;lt;/u&amp;gt; pensar que los valores con estos prefijos son similares en computación. La realidad es que, por  razones históricas, los prefijos en redes tienen una base decimal y no binaria &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; title=&amp;quot;Table 1&amp;quot;&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | Prefijo&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en informática&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en redes &lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | diferencia, %%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | k (kilo)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^10 = 1024&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^3 = 1000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | M (mega)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^20 = 1,048,576&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^6 = 1,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 5%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | G (giga)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^30 = 1,073,741,624&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^9 = 1,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 7%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | T (tera)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^40 = 1,099,511,627,776&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^12 = 1,000,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 9%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como puedes ver en la tabla anterior, el error en el cálculo es del 5% cuando el prefijo es incorrectamente interpretado. Date cuenta de que la velocidad contratada con tu ISP es la velocidad en &amp;quot;unidades de red&amp;quot;; (calculado en base decimal). Por ejemplo cuando tu proveedor te dice que tu conexión es de &amp;quot;ADSL 256/128&amp;quot;, esto quiere decir 256000/128000 bps (bits por segundo). Esto significa que la velocidad de tu conexión es de 32000/16000 bps (bytes por segundo), teniendo en cuenta que hay 8 bits en cada byte.    &lt;br /&gt;
&lt;br /&gt;
== Sobrecarga del Protocolo - Que sabemos sobre esto? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando [[aMule]] esta funcionando, este &amp;quot;habla&amp;quot; constantemente con otros [[client]]es y [[Server|servidores]]. &lt;br /&gt;
Este intercambio de información es necesario para realizar algunas tareas como identificarse el mismo, pedir información sobre las  &lt;br /&gt;
[[FAQ_eD2k-Kademlia#What_is_a_source?|fuentes]] disponibles,  [[file|ficheros]], y realizar [[search|búsquedas]]. &lt;br /&gt;
&lt;br /&gt;
Como esta información es transparente para el usuario, se denomina &amp;quot;sobrecarga&amp;quot;, es una carga añadida de información a los datos que deseas [[upload|compartir]] o [[download|descargar]]. &lt;br /&gt;
&lt;br /&gt;
[[aMule]] lo llama &amp;quot;sobrecarga de la conexión''&amp;quot;. De cualquier modo los datos de transferencia que [[aMule]] presenta, incluyen solo el tamaño de la información que el [[aMule]] mismo envía a la red stack. Mas tarde esa información se envía a la red con mayor sobrecarga , la de los protocolos de red.&lt;br /&gt;
Cuanta es esta sobrecarga? - Veámoslo en la siguiente sección.&lt;br /&gt;
&lt;br /&gt;
== Sobrecarga de la Red ==&lt;br /&gt;
&lt;br /&gt;
First of all - we're talking about the [[IPv4]] network. Once upon a time, there &lt;br /&gt;
was only one type of [[IP]] network. Now there are two - [[IPv4|IP version 4]], the old protocol that we all know; and [[IPv6|IP version 6]] - the new protocol made to fix the limitations of [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
[[FAQ ed2k|ED2K protocol]] by design, is unable to talk over [[IPv6]] network, so users who have it (in Japan and China for example) will not be able to connect &amp;quot;as is&amp;quot;. Using [[IPv4]] means, that each packet ([http://www.ietf.org/rfc/rfc793.txt TCP], [http://www.ietf.org/rfc/rfc768.txt UDP], [http://www.ietf.org/rfc/rfc792.txt ICMP]) will have an [[IPv4]] header.&lt;br /&gt;
&lt;br /&gt;
The minimum size of this header is 20 bytes. The header can have optional parts (each of 4 bytes) and that is up to your provider - for example, mine adds an optional [dword].&lt;br /&gt;
&lt;br /&gt;
When talking to other clients and servers on [[FAQ ed2k|ed2k network]], [[aMule]] uses the widely known [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. [http://www.ietf.org/rfc/rfc768.txt UDP] is also used, but on a much smaller scale. As you may already know, [http://www.ietf.org/rfc/rfc793.txt TCP] is a reliable protocol, i.e. it guarantees that data that is sent from one side will arrive on the other or an error will be reported.&lt;br /&gt;
&lt;br /&gt;
To achieve this, [http://www.ietf.org/rfc/rfc793.txt TCP] sends its own data in addition to the actual &amp;quot;payload&amp;quot; data being transferred. These data include [http://www.ietf.org/rfc/rfc793.txt TCP] client initial negotiation, checksums, sequence numbers and acknowledgments. All of this is in the ''[http://www.ietf.org/rfc/rfc793.txt TCP] header'' that is added to each packet sent. The size of this header is a minimum of 20 bytes.&lt;br /&gt;
&lt;br /&gt;
While being only a small overhead for a large bulk transfer, it can take significant part of bandwidth when small amounts of data are being exchanged. &amp;lt;u&amp;gt;This is exactly what happens on [[FAQ_ed2k#What_is_a_source?|source]] discovery part of [[aMule]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Our [[client]] is trying to establish a connection and negotiate with a large number of other [[client]]s. Doing this, [[aMule]] opens new [http://www.ietf.org/rfc/rfc793.txt TCP] connections &amp;lt;u&amp;gt;''all the time''&amp;lt;/u&amp;gt;. The number of connections opened is controlled by the ''&amp;quot;Maximum number of connections in 5 seconds&amp;quot;'' setting in the preferences. &lt;br /&gt;
&lt;br /&gt;
A typical number is about 100. Each [http://www.ietf.org/rfc/rfc793.txt TCP] connection results in at least three packets traveling on the net - one is a SYN packet, i.e. connection request, and one an ACK or a RST when the connection is accepted or refused, and SYN+ACK to establish the session. &lt;br /&gt;
&lt;br /&gt;
There's more overhead of [http://www.ietf.org/rfc/rfc1034.txt DNS] queries when an address is resolved, retries when a host doesn't reply and so on.&lt;br /&gt;
 &lt;br /&gt;
=== At low level ===&lt;br /&gt;
After passing [http://www.ietf.org/rfc/rfc793.txt TCP] and [[IP]] layers packets go down to the network interface driver. What kind of driver this is depends on the way your computer is connected to the internet. For the sake of simplicity, we will assume that this computer is connected to the ISP directly; i.e., that you have no LAN (or switch or router) between. &lt;br /&gt;
&lt;br /&gt;
Common setups include:&lt;br /&gt;
 &lt;br /&gt;
* an analog modem, connected to a telephone line (ISDN modem falls in this category too);&lt;br /&gt;
* a cable modem, connected through ethernet, ISP gives you an [[IP]] address through [http://www.ietf.org/rfc/rfc2131.txt DHCP];&lt;br /&gt;
* a cable modem, connected through ethernet, ISP requires you to configure PPPoE or PPTP tunnel;&lt;br /&gt;
* an ADSL modem, connected through ethernet. You must have a PPPoE or PPTP tunnel;&lt;br /&gt;
* a variation on these, e.g., a modem connected to a computer via USB.&lt;br /&gt;
 &lt;br /&gt;
In each of the these setups there are different protocols in use, and different headers are added to transmitted packets. There's one important thing to note: &amp;lt;u&amp;gt;''ethernet frames travel between cable/ADSL modem and computer, and don't reach the ISP''&amp;lt;/u&amp;gt;. Consequently, they're not counted in rate calculations. [http://www.ietf.org/rfc/rfc2516.txt PPPoE]; in constrast,  &lt;br /&gt;
[http://www.ietf.org/rfc/rfc2637.txt PPTP] headers &amp;lt;u&amp;gt;''do reach the ISP''&amp;lt;/u&amp;gt;. In this respect, your particular provider may or may not choose to include them in their rate calculations. For this reason, we have excluded those headers from our calculations. &lt;br /&gt;
&lt;br /&gt;
If you think that your ISP includes it, add 4 bytes to the size of each packet.&lt;br /&gt;
 &lt;br /&gt;
=== Example ===&lt;br /&gt;
Let's see how much network overhead we have on a typical network. Our connection is a cable modem connected via an ethernet link to a PC directly (no router between them). &lt;br /&gt;
&lt;br /&gt;
In this setup we have [[IPv4]] packets sent over ethernet. &lt;br /&gt;
&lt;br /&gt;
Lets say we have 10 new connections opened each second, and all are being accepted (successfully established [http://www.ietf.org/rfc/rfc793.txt TCP] session). This alone sums up to (I'm counting data going up - from my computer to the net):&lt;br /&gt;
&lt;br /&gt;
''10 connection * 2 packets * (20 bytes of TCP + 20 bytes of [[IPv4]]) = 800 bytes of overhead.''&lt;br /&gt;
&lt;br /&gt;
This means that we are starting with 1.16*8 Kbps of &amp;quot;''invisible&amp;quot;''&lt;br /&gt;
overhead caused by the very way the network works. Now, let's assume that&lt;br /&gt;
after each connection is established our amule sends something to the other side and waits to receive an answer.&lt;br /&gt;
&lt;br /&gt;
''Total of 800 bytes + 800 bytes = 1600 bytes per second = 6400 bps = 6.4 Kbps''&lt;br /&gt;
&lt;br /&gt;
What we have here is 6.4 Kbps of network overhead alone. Taking into account &lt;br /&gt;
that amule has other data to send (uploads) and it is not the only network &lt;br /&gt;
application running we will have the following picture: &lt;br /&gt;
&lt;br /&gt;
Most likely the link to your provider is not that fast. [[aMule]] will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to open 10 connections per second and will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to upload on the specified speed. &lt;br /&gt;
&lt;br /&gt;
Your operating system will share all available bandwidth between those and between [[aMule]] and other network applications (browser for example). Actual results will vary depending on specific OS settings.&lt;br /&gt;
&lt;br /&gt;
== ACK bottleneck ==&lt;br /&gt;
In all calculations above there was one assumption - zero download. But downloading is what amule was built for. So let's examine how the overhead &lt;br /&gt;
above affects your downloading speed. The answer is in [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. &lt;br /&gt;
&lt;br /&gt;
When [http://www.ietf.org/rfc/rfc793.txt TCP] is sending data, it requires that the other side acknowledge the reception. So if client A is sending data to [[client]] B by [http://www.ietf.org/rfc/rfc793.txt TCP], B has to send a special ACK packets to A which tells B &amp;quot;ok, I got it&amp;quot;. If, however, A doesn't receive the ACK packets in time, he will assume that either packet is lost. &lt;br /&gt;
&lt;br /&gt;
So, without going deeply into [http://www.ietf.org/rfc/rfc793.txt TCP] specification: &amp;lt;u&amp;gt;''if B fails to send ACK to A, as a result A will transmit slower''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now let's see the situation in [[aMule]]. We saw in the previous chapter, that the uplink stream is congested by connection requests and uploads. As a result, there's a good chance that ACK packets for a file we are downloading &amp;lt;u&amp;gt;''will not be sent on time''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The remote party will notice this and slow down. This is one more reason why the upstream should better not be too congested.&lt;br /&gt;
 &lt;br /&gt;
== Is there anything I can do? ==&lt;br /&gt;
OK, now that you understood why your network is so slow while [[aMule]] is &lt;br /&gt;
running you will maybe look for a way to fix this. The answer in 2 words: &amp;quot;rate limit&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The first thing you should do is to assign realistic rate limits in [[aMule]] &lt;br /&gt;
itself. If you have a uplink rate of 128 Kbps don't set [[aMule]]'s [[upload]] limit to 16 (kilobytes per second) just because 128/8 = 16.&lt;br /&gt;
&lt;br /&gt;
A better, but far more complicated solution is to use the QoS and packet scheduling services of your OS. For example, you can give a higher priority to ACK packets to solve the above mentioned &amp;quot;ACK bottleneck&amp;quot; problem. &lt;br /&gt;
&lt;br /&gt;
The QoS topic, however, is beyond the scope of this article.&lt;br /&gt;
&lt;br /&gt;
== Router (switch, home network): is there any difference? ==&lt;br /&gt;
When the cable coming from your ISP is connected to some switching or routing &lt;br /&gt;
device, which in turn is connected to several PC's, bandwidth is shared between &lt;br /&gt;
them. &lt;br /&gt;
&lt;br /&gt;
So, having N computers connected, an ideal device would simply provide &lt;br /&gt;
each one of them with 1/N of the total bandwidth. The situation may vary in real life, and your particular device may have different idea about fairness. &lt;br /&gt;
&lt;br /&gt;
Since you're not going to have the hardware specs of your router chipset the only advice here is &amp;quot;try and see yourself&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Multiple links ==&lt;br /&gt;
Until now, we talked about computers that are connected to the network through&lt;br /&gt;
single interface. While being most frequent, this is not mandatory. A user&lt;br /&gt;
may choose to connect via 2 (or more links) provided by different ISP's.&lt;br /&gt;
There're 2 reasons for this decision that I know about: link redundancy and&lt;br /&gt;
load balancing.&lt;br /&gt;
&lt;br /&gt;
=== Link redundancy ===&lt;br /&gt;
In a case of link redundancy second link becomes operational when primary&lt;br /&gt;
link fails. This can be done automatically, or by explicit user command.&lt;br /&gt;
When this setup used, [[aMule]] along with other network applications must be&lt;br /&gt;
restarted when links are being switched. This will allow to bind new address,&lt;br /&gt;
reconnect to server and receive new ID. If [[aMule]] is connected via &amp;amp;nbsp;[http://www.ietf.org/rfc/rfc3022.txt NAT]]&lt;br /&gt;
enabled router (it doesn't matter if you have [[FAQ_ed2k#What_is_LowID_and_HighID?|low or high ID]]), and links&lt;br /&gt;
are switched &amp;lt;u&amp;gt;''on the router''&amp;lt;/u&amp;gt;, restart not needed.&lt;br /&gt;
&lt;br /&gt;
=== Load balancing ===&lt;br /&gt;
This is a far more complicated case. Both (all) links are simultaneously active,&lt;br /&gt;
and traffic is being distributed between them. The problem is that [[aMule]]&lt;br /&gt;
binds to &amp;lt;u&amp;gt;''all interfaces on the system''&amp;lt;/u&amp;gt; i.e. 0.0.0.0. But, on [[FAQ ed2k|ed2k]]&lt;br /&gt;
your ID is your [[IP]] address, &amp;lt;u&amp;gt;''and you can not have two''&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
So the problem is that [[aMule]] does not explicitly choose the source&lt;br /&gt;
address for ''&amp;lt;u&amp;gt;outgoing&amp;lt;/u&amp;gt;'' [http://www.ietf.org/rfc/rfc793.txt TCP] connections. Note, that it &amp;lt;u&amp;gt;''doesn't&lt;br /&gt;
matter''&amp;lt;/u&amp;gt; on which interface it listens. This is exactly &amp;lt;u&amp;gt;''opposite''&amp;lt;/u&amp;gt;&lt;br /&gt;
to &amp;lt;u&amp;gt;''server''&amp;lt;/u&amp;gt; applications like FTP or HTTP. When a client&lt;br /&gt;
tries to connect to a server it discovers its IP address by resolving DNS. Resolver&lt;br /&gt;
replies will contain all [[IP]] addresses of the specified host and a client should try them all. The server, in turn, may choose not to listen on&lt;br /&gt;
one of them and thus prevent the client from using this interface. In our case&lt;br /&gt;
[[aMule]] &amp;lt;u&amp;gt;''is a [[client]]''&amp;lt;/u&amp;gt;, and the [[server|ed2k server]] discovers its address from the&lt;br /&gt;
[[FAQ_ed2k#What_is_a_source?|source]] [[IP]] in the connection request. That's where the [[server|ed2k server]] will try to connect.&lt;br /&gt;
If the connection succeeds the client is [[client]] assigned a [[FAQ_ed2k#What_is_LowID_and_HighID?|high ID]], if it doesn't the client gets a Low ID. &lt;br /&gt;
The only solution in this situation (until [[aMule]] will have an ability to&lt;br /&gt;
bind to specific address) is to use [[aMule]] on your &amp;quot;primary&amp;quot; link.&amp;lt;br&amp;gt;&lt;br /&gt;
You can, however, cause [http://www.kernel.org Linux] to send packet through interface of your choice.&lt;br /&gt;
But, most probably they will be dropped by your ISP's router as &amp;quot;spoofed&amp;quot; because the source [[IP]] address doesn't match the address the ISP assigned to that interface.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network-es</id>
		<title>FAQ network-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network-es"/>
				<updated>2006-10-23T18:19:27Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Velocidad de la red: Lo que debes saber antes de preguntar =&lt;br /&gt;
 por Froenchenko Leonid, lfroen@gmail.com&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Prefacio ==&lt;br /&gt;
&lt;br /&gt;
El propósito de este documento es clarificar algunos temas relacionados con la velocidad de la red que paracen cada cierto tiempo en el [[aMule]] [[forum]|foro]. Las causas por las que realizan preguntas sobre &amp;quot;[[FAQ_ed2k| la red aMule]]&amp;quot; son varias:&lt;br /&gt;
&lt;br /&gt;
* La velocidad que indica el [[aMule]] no coincide con la de tu ISP.&lt;br /&gt;
* Bajo rendimiento del [[aMule]] o de otras aplicaciones que utilizan la red en la misma computadora, o, &lt;br /&gt;
* Los factores clave que influyen sobre el rendimiento de la red cuando el [[aMule]] esta corriendo.&lt;br /&gt;
&lt;br /&gt;
Este documento va dirigido a usuarios que desean adquirir un mayor conocimiento del funcionamiento de las redes en general, y en particular, de las implicaciones de éstas sobre el funcionamiento del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
En cualquier caso esta página no tiene un propósito explícito &amp;quot;[[FAQ_ed2k|Network FAQ]]&amp;quot;. Si estas buscando algo mas concreto quizás deberías ir a la páguina [[aMule is slow-es|aMule va lento FAQ]].&lt;br /&gt;
 &lt;br /&gt;
== Velocidad de la red - Como es de rápida? ==&lt;br /&gt;
&lt;br /&gt;
Cuando hablamos de velocidad de red, generalmente usamos la unidad &amp;quot;bps&amp;quot;, que significa bits por segundo, la razón es por la que se utiliza &amp;quot;bit en lugar de byte es básicamente histórica, pero tambíen viene dada por la arquitectura de los sistemas, y mas concretamente, viene del hecho de que no todas las redes en el mundo transmiten el tráfico de la red en bytes.&lt;br /&gt;
&lt;br /&gt;
Hay un convenio por el que si usamos la B mayúscula &amp;quot;B&amp;quot; en &amp;quot;Bps&amp;quot; en el caso de que hablemos de &amp;quot;bytes por segundo&amp;quot;. De cualquier modo este convenio no es aceptado por todo el mundo y mas en particular en organizaciones como la &lt;br /&gt;
 [http://www.ietf.org/ IETF] y la [http://www.ieee.org/ IEEE] que utilizan &amp;quot;bps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Prefijos ==&lt;br /&gt;
&lt;br /&gt;
Desde su invención, las redes han progresado enormemente. Hoy en día tenemos redes que transmiten miles de millones de bits por segundo. Para dar una medida a estas velocidades utilizamos los siguientes prefijos ''&amp;quot;kilo&amp;quot;'', ''&amp;quot;mega&amp;quot;'', ''&amp;quot;giga&amp;quot;'', ''&amp;quot;tera&amp;quot;''. &lt;br /&gt;
&lt;br /&gt;
Es un &amp;lt;u&amp;gt;error muy común&amp;lt;/u&amp;gt; pensar que los valores con estos prefijos son similares en computación. La realidad es que, por  razones históricas, los prefijos en redes tienen una base decimal y no binaria &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; title=&amp;quot;Table 1&amp;quot;&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | Prefijo&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en informática&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en redes &lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | diferencia, %%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | k (kilo)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^10 = 1024&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^3 = 1000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | M (mega)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^20 = 1,048,576&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^6 = 1,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 5%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | G (giga)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^30 = 1,073,741,624&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^9 = 1,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 7%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | T (tera)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^40 = 1,099,511,627,776&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^12 = 1,000,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 9%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como puedes ver en la tabla anterior, el error en el cálculo es del 5% cuando el prefijo es incorrectamente interpretado. Date cuenta de que la velocidad contratada con tu ISP es la velocidad en &amp;quot;unidades de red&amp;quot;; (calculado en base decimal). Por ejemplo cuando tu proveedor te dice que tu conexión es de &amp;quot;ADSL 256/128&amp;quot;, esto quiere decir 256000/128000 bps (bits por segundo). Esto significa que la velocidad de tu conexión es de 32000/16000 bps (bytes por segundo), teniendo en cuenta que hay 8 bits en cada byte.    &lt;br /&gt;
&lt;br /&gt;
== Sobrecarga del Protocolo - Que sabemos sobre esto? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando [[aMule]] esta funcionando, este &amp;quot;habla&amp;quot; constantemente con otros [[client]]es servidores [[Server]|servidores]. &lt;br /&gt;
Este intercambio de información es necesario para realizar algunas tareas como identificarse el mismo, pedir información sobre las  &lt;br /&gt;
[[FAQ_eD2k-Kademlia#What_is_a_source?|fuentes]] disponibles,  [[file]ficheros], y realizar [[search]|búsquedas]. &lt;br /&gt;
&lt;br /&gt;
Como esta información es transparente para el usuario, se denomina &amp;quot;sobrecarga&amp;quot;, es una carga añadida de información a los datos que deseas [[upload]|compartir] o [[download]|descargar]. &lt;br /&gt;
&lt;br /&gt;
[[aMule]] lo llama &amp;quot;sobrecarga de la conexión''&amp;quot;. De cualquier modo los datos de transferencia que [[aMule]] presenta, incluyen solo el tamaño de la información que el [[aMule]] mismo envía a la red stack. Mas tarde esa información se envía a la red con mayor sobrecarga , la de los protocolos de red.&lt;br /&gt;
Cuanta es esta sobrecarga? - Veámoslo en la siguiente sección.&lt;br /&gt;
&lt;br /&gt;
== Sobrecarga de la Red ==&lt;br /&gt;
&lt;br /&gt;
First of all - we're talking about the [[IPv4]] network. Once upon a time, there &lt;br /&gt;
was only one type of [[IP]] network. Now there are two - [[IPv4|IP version 4]], the old protocol that we all know; and [[IPv6|IP version 6]] - the new protocol made to fix the limitations of [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
[[FAQ ed2k|ED2K protocol]] by design, is unable to talk over [[IPv6]] network, so users who have it (in Japan and China for example) will not be able to connect &amp;quot;as is&amp;quot;. Using [[IPv4]] means, that each packet ([http://www.ietf.org/rfc/rfc793.txt TCP], [http://www.ietf.org/rfc/rfc768.txt UDP], [http://www.ietf.org/rfc/rfc792.txt ICMP]) will have an [[IPv4]] header.&lt;br /&gt;
&lt;br /&gt;
The minimum size of this header is 20 bytes. The header can have optional parts (each of 4 bytes) and that is up to your provider - for example, mine adds an optional [dword].&lt;br /&gt;
&lt;br /&gt;
When talking to other clients and servers on [[FAQ ed2k|ed2k network]], [[aMule]] uses the widely known [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. [http://www.ietf.org/rfc/rfc768.txt UDP] is also used, but on a much smaller scale. As you may already know, [http://www.ietf.org/rfc/rfc793.txt TCP] is a reliable protocol, i.e. it guarantees that data that is sent from one side will arrive on the other or an error will be reported.&lt;br /&gt;
&lt;br /&gt;
To achieve this, [http://www.ietf.org/rfc/rfc793.txt TCP] sends its own data in addition to the actual &amp;quot;payload&amp;quot; data being transferred. These data include [http://www.ietf.org/rfc/rfc793.txt TCP] client initial negotiation, checksums, sequence numbers and acknowledgments. All of this is in the ''[http://www.ietf.org/rfc/rfc793.txt TCP] header'' that is added to each packet sent. The size of this header is a minimum of 20 bytes.&lt;br /&gt;
&lt;br /&gt;
While being only a small overhead for a large bulk transfer, it can take significant part of bandwidth when small amounts of data are being exchanged. &amp;lt;u&amp;gt;This is exactly what happens on [[FAQ_ed2k#What_is_a_source?|source]] discovery part of [[aMule]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Our [[client]] is trying to establish a connection and negotiate with a large number of other [[client]]s. Doing this, [[aMule]] opens new [http://www.ietf.org/rfc/rfc793.txt TCP] connections &amp;lt;u&amp;gt;''all the time''&amp;lt;/u&amp;gt;. The number of connections opened is controlled by the ''&amp;quot;Maximum number of connections in 5 seconds&amp;quot;'' setting in the preferences. &lt;br /&gt;
&lt;br /&gt;
A typical number is about 100. Each [http://www.ietf.org/rfc/rfc793.txt TCP] connection results in at least three packets traveling on the net - one is a SYN packet, i.e. connection request, and one an ACK or a RST when the connection is accepted or refused, and SYN+ACK to establish the session. &lt;br /&gt;
&lt;br /&gt;
There's more overhead of [http://www.ietf.org/rfc/rfc1034.txt DNS] queries when an address is resolved, retries when a host doesn't reply and so on.&lt;br /&gt;
 &lt;br /&gt;
=== At low level ===&lt;br /&gt;
After passing [http://www.ietf.org/rfc/rfc793.txt TCP] and [[IP]] layers packets go down to the network interface driver. What kind of driver this is depends on the way your computer is connected to the internet. For the sake of simplicity, we will assume that this computer is connected to the ISP directly; i.e., that you have no LAN (or switch or router) between. &lt;br /&gt;
&lt;br /&gt;
Common setups include:&lt;br /&gt;
 &lt;br /&gt;
* an analog modem, connected to a telephone line (ISDN modem falls in this category too);&lt;br /&gt;
* a cable modem, connected through ethernet, ISP gives you an [[IP]] address through [http://www.ietf.org/rfc/rfc2131.txt DHCP];&lt;br /&gt;
* a cable modem, connected through ethernet, ISP requires you to configure PPPoE or PPTP tunnel;&lt;br /&gt;
* an ADSL modem, connected through ethernet. You must have a PPPoE or PPTP tunnel;&lt;br /&gt;
* a variation on these, e.g., a modem connected to a computer via USB.&lt;br /&gt;
 &lt;br /&gt;
In each of the these setups there are different protocols in use, and different headers are added to transmitted packets. There's one important thing to note: &amp;lt;u&amp;gt;''ethernet frames travel between cable/ADSL modem and computer, and don't reach the ISP''&amp;lt;/u&amp;gt;. Consequently, they're not counted in rate calculations. [http://www.ietf.org/rfc/rfc2516.txt PPPoE]; in constrast,  &lt;br /&gt;
[http://www.ietf.org/rfc/rfc2637.txt PPTP] headers &amp;lt;u&amp;gt;''do reach the ISP''&amp;lt;/u&amp;gt;. In this respect, your particular provider may or may not choose to include them in their rate calculations. For this reason, we have excluded those headers from our calculations. &lt;br /&gt;
&lt;br /&gt;
If you think that your ISP includes it, add 4 bytes to the size of each packet.&lt;br /&gt;
 &lt;br /&gt;
=== Example ===&lt;br /&gt;
Let's see how much network overhead we have on a typical network. Our connection is a cable modem connected via an ethernet link to a PC directly (no router between them). &lt;br /&gt;
&lt;br /&gt;
In this setup we have [[IPv4]] packets sent over ethernet. &lt;br /&gt;
&lt;br /&gt;
Lets say we have 10 new connections opened each second, and all are being accepted (successfully established [http://www.ietf.org/rfc/rfc793.txt TCP] session). This alone sums up to (I'm counting data going up - from my computer to the net):&lt;br /&gt;
&lt;br /&gt;
''10 connection * 2 packets * (20 bytes of TCP + 20 bytes of [[IPv4]]) = 800 bytes of overhead.''&lt;br /&gt;
&lt;br /&gt;
This means that we are starting with 1.16*8 Kbps of &amp;quot;''invisible&amp;quot;''&lt;br /&gt;
overhead caused by the very way the network works. Now, let's assume that&lt;br /&gt;
after each connection is established our amule sends something to the other side and waits to receive an answer.&lt;br /&gt;
&lt;br /&gt;
''Total of 800 bytes + 800 bytes = 1600 bytes per second = 6400 bps = 6.4 Kbps''&lt;br /&gt;
&lt;br /&gt;
What we have here is 6.4 Kbps of network overhead alone. Taking into account &lt;br /&gt;
that amule has other data to send (uploads) and it is not the only network &lt;br /&gt;
application running we will have the following picture: &lt;br /&gt;
&lt;br /&gt;
Most likely the link to your provider is not that fast. [[aMule]] will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to open 10 connections per second and will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to upload on the specified speed. &lt;br /&gt;
&lt;br /&gt;
Your operating system will share all available bandwidth between those and between [[aMule]] and other network applications (browser for example). Actual results will vary depending on specific OS settings.&lt;br /&gt;
&lt;br /&gt;
== ACK bottleneck ==&lt;br /&gt;
In all calculations above there was one assumption - zero download. But downloading is what amule was built for. So let's examine how the overhead &lt;br /&gt;
above affects your downloading speed. The answer is in [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. &lt;br /&gt;
&lt;br /&gt;
When [http://www.ietf.org/rfc/rfc793.txt TCP] is sending data, it requires that the other side acknowledge the reception. So if client A is sending data to [[client]] B by [http://www.ietf.org/rfc/rfc793.txt TCP], B has to send a special ACK packets to A which tells B &amp;quot;ok, I got it&amp;quot;. If, however, A doesn't receive the ACK packets in time, he will assume that either packet is lost. &lt;br /&gt;
&lt;br /&gt;
So, without going deeply into [http://www.ietf.org/rfc/rfc793.txt TCP] specification: &amp;lt;u&amp;gt;''if B fails to send ACK to A, as a result A will transmit slower''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now let's see the situation in [[aMule]]. We saw in the previous chapter, that the uplink stream is congested by connection requests and uploads. As a result, there's a good chance that ACK packets for a file we are downloading &amp;lt;u&amp;gt;''will not be sent on time''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The remote party will notice this and slow down. This is one more reason why the upstream should better not be too congested.&lt;br /&gt;
 &lt;br /&gt;
== Is there anything I can do? ==&lt;br /&gt;
OK, now that you understood why your network is so slow while [[aMule]] is &lt;br /&gt;
running you will maybe look for a way to fix this. The answer in 2 words: &amp;quot;rate limit&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The first thing you should do is to assign realistic rate limits in [[aMule]] &lt;br /&gt;
itself. If you have a uplink rate of 128 Kbps don't set [[aMule]]'s [[upload]] limit to 16 (kilobytes per second) just because 128/8 = 16.&lt;br /&gt;
&lt;br /&gt;
A better, but far more complicated solution is to use the QoS and packet scheduling services of your OS. For example, you can give a higher priority to ACK packets to solve the above mentioned &amp;quot;ACK bottleneck&amp;quot; problem. &lt;br /&gt;
&lt;br /&gt;
The QoS topic, however, is beyond the scope of this article.&lt;br /&gt;
&lt;br /&gt;
== Router (switch, home network): is there any difference? ==&lt;br /&gt;
When the cable coming from your ISP is connected to some switching or routing &lt;br /&gt;
device, which in turn is connected to several PC's, bandwidth is shared between &lt;br /&gt;
them. &lt;br /&gt;
&lt;br /&gt;
So, having N computers connected, an ideal device would simply provide &lt;br /&gt;
each one of them with 1/N of the total bandwidth. The situation may vary in real life, and your particular device may have different idea about fairness. &lt;br /&gt;
&lt;br /&gt;
Since you're not going to have the hardware specs of your router chipset the only advice here is &amp;quot;try and see yourself&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Multiple links ==&lt;br /&gt;
Until now, we talked about computers that are connected to the network through&lt;br /&gt;
single interface. While being most frequent, this is not mandatory. A user&lt;br /&gt;
may choose to connect via 2 (or more links) provided by different ISP's.&lt;br /&gt;
There're 2 reasons for this decision that I know about: link redundancy and&lt;br /&gt;
load balancing.&lt;br /&gt;
&lt;br /&gt;
=== Link redundancy ===&lt;br /&gt;
In a case of link redundancy second link becomes operational when primary&lt;br /&gt;
link fails. This can be done automatically, or by explicit user command.&lt;br /&gt;
When this setup used, [[aMule]] along with other network applications must be&lt;br /&gt;
restarted when links are being switched. This will allow to bind new address,&lt;br /&gt;
reconnect to server and receive new ID. If [[aMule]] is connected via &amp;amp;nbsp;[http://www.ietf.org/rfc/rfc3022.txt NAT]]&lt;br /&gt;
enabled router (it doesn't matter if you have [[FAQ_ed2k#What_is_LowID_and_HighID?|low or high ID]]), and links&lt;br /&gt;
are switched &amp;lt;u&amp;gt;''on the router''&amp;lt;/u&amp;gt;, restart not needed.&lt;br /&gt;
&lt;br /&gt;
=== Load balancing ===&lt;br /&gt;
This is a far more complicated case. Both (all) links are simultaneously active,&lt;br /&gt;
and traffic is being distributed between them. The problem is that [[aMule]]&lt;br /&gt;
binds to &amp;lt;u&amp;gt;''all interfaces on the system''&amp;lt;/u&amp;gt; i.e. 0.0.0.0. But, on [[FAQ ed2k|ed2k]]&lt;br /&gt;
your ID is your [[IP]] address, &amp;lt;u&amp;gt;''and you can not have two''&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
So the problem is that [[aMule]] does not explicitly choose the source&lt;br /&gt;
address for ''&amp;lt;u&amp;gt;outgoing&amp;lt;/u&amp;gt;'' [http://www.ietf.org/rfc/rfc793.txt TCP] connections. Note, that it &amp;lt;u&amp;gt;''doesn't&lt;br /&gt;
matter''&amp;lt;/u&amp;gt; on which interface it listens. This is exactly &amp;lt;u&amp;gt;''opposite''&amp;lt;/u&amp;gt;&lt;br /&gt;
to &amp;lt;u&amp;gt;''server''&amp;lt;/u&amp;gt; applications like FTP or HTTP. When a client&lt;br /&gt;
tries to connect to a server it discovers its IP address by resolving DNS. Resolver&lt;br /&gt;
replies will contain all [[IP]] addresses of the specified host and a client should try them all. The server, in turn, may choose not to listen on&lt;br /&gt;
one of them and thus prevent the client from using this interface. In our case&lt;br /&gt;
[[aMule]] &amp;lt;u&amp;gt;''is a [[client]]''&amp;lt;/u&amp;gt;, and the [[server|ed2k server]] discovers its address from the&lt;br /&gt;
[[FAQ_ed2k#What_is_a_source?|source]] [[IP]] in the connection request. That's where the [[server|ed2k server]] will try to connect.&lt;br /&gt;
If the connection succeeds the client is [[client]] assigned a [[FAQ_ed2k#What_is_LowID_and_HighID?|high ID]], if it doesn't the client gets a Low ID. &lt;br /&gt;
The only solution in this situation (until [[aMule]] will have an ability to&lt;br /&gt;
bind to specific address) is to use [[aMule]] on your &amp;quot;primary&amp;quot; link.&amp;lt;br&amp;gt;&lt;br /&gt;
You can, however, cause [http://www.kernel.org Linux] to send packet through interface of your choice.&lt;br /&gt;
But, most probably they will be dropped by your ISP's router as &amp;quot;spoofed&amp;quot; because the source [[IP]] address doesn't match the address the ISP assigned to that interface.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network-es</id>
		<title>FAQ network-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network-es"/>
				<updated>2006-10-23T18:11:43Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Velocidad de la red: Lo que debes saber antes de preguntar =&lt;br /&gt;
 por Froenchenko Leonid, lfroen@gmail.com&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Prefacio ==&lt;br /&gt;
&lt;br /&gt;
El propósito de este documento es clarificar algunos temas relacionados con la velocidad de la red que paracen cada cierto tiempo en el [[aMule]] [[forum]|foro]. Las causas por las que realizan preguntas sobre &amp;quot;[[FAQ_ed2k| la red aMule]]&amp;quot; son varias:&lt;br /&gt;
&lt;br /&gt;
* La velocidad que indica el [[aMule]] no coincide con la de tu ISP.&lt;br /&gt;
* Bajo rendimiento del [[aMule]] o de otras aplicaciones que utilizan la red en la misma computadora, o, &lt;br /&gt;
* Los factores clave que influyen sobre el rendimiento de la red cuando el [[aMule]] esta corriendo.&lt;br /&gt;
&lt;br /&gt;
Este documento va dirigido a usuarios que desean adquirir un mayor conocimiento del funcionamiento de las redes en general, y en particular, de las implicaciones de éstas sobre el funcionamiento del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
En cualquier caso esta página no tiene un propósito explícito &amp;quot;[[FAQ_ed2k|Network FAQ]]&amp;quot;. Si estas buscando algo mas concreto quizás deberías ir a la páguina [[aMule is slow-es|aMule va lento FAQ]].&lt;br /&gt;
 &lt;br /&gt;
== Velocidad de la red - Como es de rápida? ==&lt;br /&gt;
&lt;br /&gt;
Cuando hablamos de velocidad de red, generalmente usamos la unidad &amp;quot;bps&amp;quot;, que significa bits por segundo, la razón es por la que se utiliza &amp;quot;bit en lugar de byte es básicamente histórica, pero tambíen viene dada por la arquitectura de los sistemas, y mas concretamente, viene del hecho de que no todas las redes en el mundo transmiten el tráfico de la red en bytes.&lt;br /&gt;
&lt;br /&gt;
Hay un convenio por el que si usamos la B mayúscula &amp;quot;B&amp;quot; en &amp;quot;Bps&amp;quot; en el caso de que hablemos de &amp;quot;bytes por segundo&amp;quot;. De cualquier modo este convenio no es aceptado por todo el mundo y mas en particular en organizaciones como la &lt;br /&gt;
 [http://www.ietf.org/ IETF] y la [http://www.ieee.org/ IEEE] que utilizan &amp;quot;bps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Prefijos ==&lt;br /&gt;
&lt;br /&gt;
Desde su invención, las redes han progresado enormemente. Hoy en día tenemos redes que transmiten miles de millones de bits por segundo. Para dar una medida a estas velocidades utilizamos los siguientes prefijos ''&amp;quot;kilo&amp;quot;'', ''&amp;quot;mega&amp;quot;'', ''&amp;quot;giga&amp;quot;'', ''&amp;quot;tera&amp;quot;''. &lt;br /&gt;
&lt;br /&gt;
Es un &amp;lt;u&amp;gt;error muy común&amp;lt;/u&amp;gt; pensar que los valores con estos prefijos son similares en computación. La realidad es que, por  razones históricas, los prefijos en redes tienen una base decimal y no binaria &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; title=&amp;quot;Table 1&amp;quot;&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | Prefijo&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en informática&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en redes &lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | diferencia, %%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | k (kilo)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^10 = 1024&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^3 = 1000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | M (mega)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^20 = 1,048,576&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^6 = 1,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 5%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | G (giga)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^30 = 1,073,741,624&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^9 = 1,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 7%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | T (tera)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^40 = 1,099,511,627,776&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^12 = 1,000,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 9%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Como puedes ver en la tabla anterior, el error en el cálculo es del 5% cuando el prefijo es incorrectamente interpretado. Date cuenta de que la velocidad contratada con tu ISP es la velocidad en &amp;quot;unidades de red&amp;quot;; (calculado en base decimal). Por ejemplo cuando tu proveedor te dice que tu conexión es de &amp;quot;ADSL 256/128&amp;quot;, esto quiere decir 256000/128000 bps (bits por segundo). Esto significa que la velocidad de tu conexión es de 32000/16000 bps (bytes por segundo), teniendo en cuenta que hay 8 bits en cada byte.    &lt;br /&gt;
&lt;br /&gt;
== Sobrecarga del Protocolo - Que sabemos sobre esto? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando [[aMule]] esta funcionando, este &amp;quot;habla&amp;quot; constantemente con otros[[client]]es servidores [[server]|servidores]. &lt;br /&gt;
Este intercambio de información es necesario para realizar algunas tareas como identificarse el mismo, pedir información sobre las  &lt;br /&gt;
[[FAQ_eD2k-Kademlia#What_is_a_source?|fuentes]] disponibles,  [[file]ficheros], y realizar [[search]|búsquedas]. &lt;br /&gt;
&lt;br /&gt;
Como esta información es transparente para el usuario, se denomina &amp;quot;sobrecarga&amp;quot;, es una carga añadida de información a los datos que deseas [[upload]|compartir] o [[download]|descargar]. &lt;br /&gt;
&lt;br /&gt;
[[aMule]] lo llama &amp;quot;sobrecarga de la conexión''&amp;quot;. De cualquier modo los datos de transferencia que [[aMule]] presenta, incluyen solo el tamaño de la información que el [[aMule]] mismo envía a la red stack. Mas tarde esa información se envía a la red con mayor sobrecarga , la de los protocolos de red.&lt;br /&gt;
Cuanta es esta sobrecarga? - Veámoslo en la siguiente sección.&lt;br /&gt;
&lt;br /&gt;
== Sobrecarga de la Red ==&lt;br /&gt;
&lt;br /&gt;
First of all - we're talking about the [[IPv4]] network. Once upon a time, there &lt;br /&gt;
was only one type of [[IP]] network. Now there are two - [[IPv4|IP version 4]], the old protocol that we all know; and [[IPv6|IP version 6]] - the new protocol made to fix the limitations of [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
[[FAQ ed2k|ED2K protocol]] by design, is unable to talk over [[IPv6]] network, so users who have it (in Japan and China for example) will not be able to connect &amp;quot;as is&amp;quot;. Using [[IPv4]] means, that each packet ([http://www.ietf.org/rfc/rfc793.txt TCP], [http://www.ietf.org/rfc/rfc768.txt UDP], [http://www.ietf.org/rfc/rfc792.txt ICMP]) will have an [[IPv4]] header.&lt;br /&gt;
&lt;br /&gt;
The minimum size of this header is 20 bytes. The header can have optional parts (each of 4 bytes) and that is up to your provider - for example, mine adds an optional [dword].&lt;br /&gt;
&lt;br /&gt;
When talking to other clients and servers on [[FAQ ed2k|ed2k network]], [[aMule]] uses the widely known [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. [http://www.ietf.org/rfc/rfc768.txt UDP] is also used, but on a much smaller scale. As you may already know, [http://www.ietf.org/rfc/rfc793.txt TCP] is a reliable protocol, i.e. it guarantees that data that is sent from one side will arrive on the other or an error will be reported.&lt;br /&gt;
&lt;br /&gt;
To achieve this, [http://www.ietf.org/rfc/rfc793.txt TCP] sends its own data in addition to the actual &amp;quot;payload&amp;quot; data being transferred. These data include [http://www.ietf.org/rfc/rfc793.txt TCP] client initial negotiation, checksums, sequence numbers and acknowledgments. All of this is in the ''[http://www.ietf.org/rfc/rfc793.txt TCP] header'' that is added to each packet sent. The size of this header is a minimum of 20 bytes.&lt;br /&gt;
&lt;br /&gt;
While being only a small overhead for a large bulk transfer, it can take significant part of bandwidth when small amounts of data are being exchanged. &amp;lt;u&amp;gt;This is exactly what happens on [[FAQ_ed2k#What_is_a_source?|source]] discovery part of [[aMule]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Our [[client]] is trying to establish a connection and negotiate with a large number of other [[client]]s. Doing this, [[aMule]] opens new [http://www.ietf.org/rfc/rfc793.txt TCP] connections &amp;lt;u&amp;gt;''all the time''&amp;lt;/u&amp;gt;. The number of connections opened is controlled by the ''&amp;quot;Maximum number of connections in 5 seconds&amp;quot;'' setting in the preferences. &lt;br /&gt;
&lt;br /&gt;
A typical number is about 100. Each [http://www.ietf.org/rfc/rfc793.txt TCP] connection results in at least three packets traveling on the net - one is a SYN packet, i.e. connection request, and one an ACK or a RST when the connection is accepted or refused, and SYN+ACK to establish the session. &lt;br /&gt;
&lt;br /&gt;
There's more overhead of [http://www.ietf.org/rfc/rfc1034.txt DNS] queries when an address is resolved, retries when a host doesn't reply and so on.&lt;br /&gt;
 &lt;br /&gt;
=== At low level ===&lt;br /&gt;
After passing [http://www.ietf.org/rfc/rfc793.txt TCP] and [[IP]] layers packets go down to the network interface driver. What kind of driver this is depends on the way your computer is connected to the internet. For the sake of simplicity, we will assume that this computer is connected to the ISP directly; i.e., that you have no LAN (or switch or router) between. &lt;br /&gt;
&lt;br /&gt;
Common setups include:&lt;br /&gt;
 &lt;br /&gt;
* an analog modem, connected to a telephone line (ISDN modem falls in this category too);&lt;br /&gt;
* a cable modem, connected through ethernet, ISP gives you an [[IP]] address through [http://www.ietf.org/rfc/rfc2131.txt DHCP];&lt;br /&gt;
* a cable modem, connected through ethernet, ISP requires you to configure PPPoE or PPTP tunnel;&lt;br /&gt;
* an ADSL modem, connected through ethernet. You must have a PPPoE or PPTP tunnel;&lt;br /&gt;
* a variation on these, e.g., a modem connected to a computer via USB.&lt;br /&gt;
 &lt;br /&gt;
In each of the these setups there are different protocols in use, and different headers are added to transmitted packets. There's one important thing to note: &amp;lt;u&amp;gt;''ethernet frames travel between cable/ADSL modem and computer, and don't reach the ISP''&amp;lt;/u&amp;gt;. Consequently, they're not counted in rate calculations. [http://www.ietf.org/rfc/rfc2516.txt PPPoE]; in constrast,  &lt;br /&gt;
[http://www.ietf.org/rfc/rfc2637.txt PPTP] headers &amp;lt;u&amp;gt;''do reach the ISP''&amp;lt;/u&amp;gt;. In this respect, your particular provider may or may not choose to include them in their rate calculations. For this reason, we have excluded those headers from our calculations. &lt;br /&gt;
&lt;br /&gt;
If you think that your ISP includes it, add 4 bytes to the size of each packet.&lt;br /&gt;
 &lt;br /&gt;
=== Example ===&lt;br /&gt;
Let's see how much network overhead we have on a typical network. Our connection is a cable modem connected via an ethernet link to a PC directly (no router between them). &lt;br /&gt;
&lt;br /&gt;
In this setup we have [[IPv4]] packets sent over ethernet. &lt;br /&gt;
&lt;br /&gt;
Lets say we have 10 new connections opened each second, and all are being accepted (successfully established [http://www.ietf.org/rfc/rfc793.txt TCP] session). This alone sums up to (I'm counting data going up - from my computer to the net):&lt;br /&gt;
&lt;br /&gt;
''10 connection * 2 packets * (20 bytes of TCP + 20 bytes of [[IPv4]]) = 800 bytes of overhead.''&lt;br /&gt;
&lt;br /&gt;
This means that we are starting with 1.16*8 Kbps of &amp;quot;''invisible&amp;quot;''&lt;br /&gt;
overhead caused by the very way the network works. Now, let's assume that&lt;br /&gt;
after each connection is established our amule sends something to the other side and waits to receive an answer.&lt;br /&gt;
&lt;br /&gt;
''Total of 800 bytes + 800 bytes = 1600 bytes per second = 6400 bps = 6.4 Kbps''&lt;br /&gt;
&lt;br /&gt;
What we have here is 6.4 Kbps of network overhead alone. Taking into account &lt;br /&gt;
that amule has other data to send (uploads) and it is not the only network &lt;br /&gt;
application running we will have the following picture: &lt;br /&gt;
&lt;br /&gt;
Most likely the link to your provider is not that fast. [[aMule]] will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to open 10 connections per second and will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to upload on the specified speed. &lt;br /&gt;
&lt;br /&gt;
Your operating system will share all available bandwidth between those and between [[aMule]] and other network applications (browser for example). Actual results will vary depending on specific OS settings.&lt;br /&gt;
&lt;br /&gt;
== ACK bottleneck ==&lt;br /&gt;
In all calculations above there was one assumption - zero download. But downloading is what amule was built for. So let's examine how the overhead &lt;br /&gt;
above affects your downloading speed. The answer is in [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. &lt;br /&gt;
&lt;br /&gt;
When [http://www.ietf.org/rfc/rfc793.txt TCP] is sending data, it requires that the other side acknowledge the reception. So if client A is sending data to [[client]] B by [http://www.ietf.org/rfc/rfc793.txt TCP], B has to send a special ACK packets to A which tells B &amp;quot;ok, I got it&amp;quot;. If, however, A doesn't receive the ACK packets in time, he will assume that either packet is lost. &lt;br /&gt;
&lt;br /&gt;
So, without going deeply into [http://www.ietf.org/rfc/rfc793.txt TCP] specification: &amp;lt;u&amp;gt;''if B fails to send ACK to A, as a result A will transmit slower''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now let's see the situation in [[aMule]]. We saw in the previous chapter, that the uplink stream is congested by connection requests and uploads. As a result, there's a good chance that ACK packets for a file we are downloading &amp;lt;u&amp;gt;''will not be sent on time''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The remote party will notice this and slow down. This is one more reason why the upstream should better not be too congested.&lt;br /&gt;
 &lt;br /&gt;
== Is there anything I can do? ==&lt;br /&gt;
OK, now that you understood why your network is so slow while [[aMule]] is &lt;br /&gt;
running you will maybe look for a way to fix this. The answer in 2 words: &amp;quot;rate limit&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The first thing you should do is to assign realistic rate limits in [[aMule]] &lt;br /&gt;
itself. If you have a uplink rate of 128 Kbps don't set [[aMule]]'s [[upload]] limit to 16 (kilobytes per second) just because 128/8 = 16.&lt;br /&gt;
&lt;br /&gt;
A better, but far more complicated solution is to use the QoS and packet scheduling services of your OS. For example, you can give a higher priority to ACK packets to solve the above mentioned &amp;quot;ACK bottleneck&amp;quot; problem. &lt;br /&gt;
&lt;br /&gt;
The QoS topic, however, is beyond the scope of this article.&lt;br /&gt;
&lt;br /&gt;
== Router (switch, home network): is there any difference? ==&lt;br /&gt;
When the cable coming from your ISP is connected to some switching or routing &lt;br /&gt;
device, which in turn is connected to several PC's, bandwidth is shared between &lt;br /&gt;
them. &lt;br /&gt;
&lt;br /&gt;
So, having N computers connected, an ideal device would simply provide &lt;br /&gt;
each one of them with 1/N of the total bandwidth. The situation may vary in real life, and your particular device may have different idea about fairness. &lt;br /&gt;
&lt;br /&gt;
Since you're not going to have the hardware specs of your router chipset the only advice here is &amp;quot;try and see yourself&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Multiple links ==&lt;br /&gt;
Until now, we talked about computers that are connected to the network through&lt;br /&gt;
single interface. While being most frequent, this is not mandatory. A user&lt;br /&gt;
may choose to connect via 2 (or more links) provided by different ISP's.&lt;br /&gt;
There're 2 reasons for this decision that I know about: link redundancy and&lt;br /&gt;
load balancing.&lt;br /&gt;
&lt;br /&gt;
=== Link redundancy ===&lt;br /&gt;
In a case of link redundancy second link becomes operational when primary&lt;br /&gt;
link fails. This can be done automatically, or by explicit user command.&lt;br /&gt;
When this setup used, [[aMule]] along with other network applications must be&lt;br /&gt;
restarted when links are being switched. This will allow to bind new address,&lt;br /&gt;
reconnect to server and receive new ID. If [[aMule]] is connected via &amp;amp;nbsp;[http://www.ietf.org/rfc/rfc3022.txt NAT]]&lt;br /&gt;
enabled router (it doesn't matter if you have [[FAQ_ed2k#What_is_LowID_and_HighID?|low or high ID]]), and links&lt;br /&gt;
are switched &amp;lt;u&amp;gt;''on the router''&amp;lt;/u&amp;gt;, restart not needed.&lt;br /&gt;
&lt;br /&gt;
=== Load balancing ===&lt;br /&gt;
This is a far more complicated case. Both (all) links are simultaneously active,&lt;br /&gt;
and traffic is being distributed between them. The problem is that [[aMule]]&lt;br /&gt;
binds to &amp;lt;u&amp;gt;''all interfaces on the system''&amp;lt;/u&amp;gt; i.e. 0.0.0.0. But, on [[FAQ ed2k|ed2k]]&lt;br /&gt;
your ID is your [[IP]] address, &amp;lt;u&amp;gt;''and you can not have two''&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
So the problem is that [[aMule]] does not explicitly choose the source&lt;br /&gt;
address for ''&amp;lt;u&amp;gt;outgoing&amp;lt;/u&amp;gt;'' [http://www.ietf.org/rfc/rfc793.txt TCP] connections. Note, that it &amp;lt;u&amp;gt;''doesn't&lt;br /&gt;
matter''&amp;lt;/u&amp;gt; on which interface it listens. This is exactly &amp;lt;u&amp;gt;''opposite''&amp;lt;/u&amp;gt;&lt;br /&gt;
to &amp;lt;u&amp;gt;''server''&amp;lt;/u&amp;gt; applications like FTP or HTTP. When a client&lt;br /&gt;
tries to connect to a server it discovers its IP address by resolving DNS. Resolver&lt;br /&gt;
replies will contain all [[IP]] addresses of the specified host and a client should try them all. The server, in turn, may choose not to listen on&lt;br /&gt;
one of them and thus prevent the client from using this interface. In our case&lt;br /&gt;
[[aMule]] &amp;lt;u&amp;gt;''is a [[client]]''&amp;lt;/u&amp;gt;, and the [[server|ed2k server]] discovers its address from the&lt;br /&gt;
[[FAQ_ed2k#What_is_a_source?|source]] [[IP]] in the connection request. That's where the [[server|ed2k server]] will try to connect.&lt;br /&gt;
If the connection succeeds the client is [[client]] assigned a [[FAQ_ed2k#What_is_LowID_and_HighID?|high ID]], if it doesn't the client gets a Low ID. &lt;br /&gt;
The only solution in this situation (until [[aMule]] will have an ability to&lt;br /&gt;
bind to specific address) is to use [[aMule]] on your &amp;quot;primary&amp;quot; link.&amp;lt;br&amp;gt;&lt;br /&gt;
You can, however, cause [http://www.kernel.org Linux] to send packet through interface of your choice.&lt;br /&gt;
But, most probably they will be dropped by your ISP's router as &amp;quot;spoofed&amp;quot; because the source [[IP]] address doesn't match the address the ISP assigned to that interface.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network-es</id>
		<title>FAQ network-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network-es"/>
				<updated>2006-10-23T17:45:00Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Velocidad de la red: Lo que debes saber antes de preguntar =&lt;br /&gt;
 por Froenchenko Leonid, lfroen@gmail.com&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Prefacio ==&lt;br /&gt;
&lt;br /&gt;
El propósito de este documento es clarificar algunos temas relacionados con la velocidad de la red que paracen cada cierto tiempo en el [[aMule]] [[forum]|foro]. Las causas por las que realizan preguntas sobre &amp;quot;[[FAQ_ed2k| la red aMule]]&amp;quot; son varias:&lt;br /&gt;
&lt;br /&gt;
* La velocidad que indica el [[aMule]] no coincide con la de tu ISP.&lt;br /&gt;
* the speed reported by [[aMule]] doesn't match your provider's given rate;&lt;br /&gt;
* Bajo rendimiento del [[aMule]] o de otras aplicaciones que utilizan la red en la misma computadora, o, &lt;br /&gt;
* Los factores clave que influyen sobre el rendimiento de la red cuando el [[aMule]] esta corriendo.&lt;br /&gt;
&lt;br /&gt;
Este documento va dirigido a usuarios que desean adquirir un mayor conocimiento del funcionamiento de las redes en general, y en particular, de las implicaciones de éstas sobre el funcionamiento del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
En cualquier caso esta página no tiene un propósito explícito &amp;quot;[[FAQ_ed2k|Network FAQ]]&amp;quot;. Si estas buscando algo mas concreto quizás deberías ir a la páguina [[aMule is slow-es|aMule va lento FAQ]].&lt;br /&gt;
 &lt;br /&gt;
== Velocidad de la red - Como es de rápida? ==&lt;br /&gt;
&lt;br /&gt;
Cuando hablamos de velocidad de red, generalmente usamos la unidad &amp;quot;bps&amp;quot;, que significa bits por segundo, la razón es por la que se utiliza &amp;quot;bit en lugar de byte es básicamente histórica, pero tambíen viene dada por la arquitectura de los sistemas, y mas concretamente, viene del hecho de que no todas las redes en el mundo transmiten el tráfico de la red en bytes.&lt;br /&gt;
&lt;br /&gt;
Hay un convenio por el que si usamos la B mayúscula &amp;quot;B&amp;quot; en &amp;quot;Bps&amp;quot; en el caso de que hablemos de &amp;quot;bytes por segundo&amp;quot;. De cualquier modo este convenio no es aceptado por todo el mundo y mas en particular en organizaciones como la &lt;br /&gt;
 [http://www.ietf.org/ IETF] y la [http://www.ieee.org/ IEEE] que utilizan &amp;quot;bps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Prefijos ==&lt;br /&gt;
&lt;br /&gt;
Desde su invención, las redes han progresado enormemente. Hoy en día tenemos redes que transmiten miles de millones de bits por segundo. Para dar una medida a estas velocidades utilizamos los siguientes prefijos ''&amp;quot;kilo&amp;quot;'', ''&amp;quot;mega&amp;quot;'', ''&amp;quot;giga&amp;quot;'', ''&amp;quot;tera&amp;quot;''. &lt;br /&gt;
&lt;br /&gt;
Es un &amp;lt;u&amp;gt;error muy común&amp;lt;/u&amp;gt; pensar que los valores con estos prefijos son similares en computación. La realidad es que, por  razones históricas, los prefijos en redes tienen una base decimal y no binaria &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; title=&amp;quot;Table 1&amp;quot;&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | Prefijo&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en informática&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en redes &lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | diferencia, %%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | k (kilo)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^10 = 1024&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^3 = 1000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | M (mega)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^20 = 1,048,576&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^6 = 1,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 5%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | G (giga)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^30 = 1,073,741,624&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^9 = 1,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 7%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | T (tera)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^40 = 1,099,511,627,776&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^12 = 1,000,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 9%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As you can see from the table above, the error in calculation is about 5% when the prefix is incorrectly interpreted. Please note that the speed your provider quotes you is the &amp;quot;speed in network units&amp;quot;; i.e., calculated on a decimal basis. For example when your provider tells you that your link is &amp;quot;ADSL 256/128&amp;quot;, they mean 256000/128000 bps (bits per second). This means that the speed of your connection is 32000/16000 bps (bytes per second), since there are eight bits to a byte.&lt;br /&gt;
&lt;br /&gt;
== Protocol overhead - what is it about? ==&lt;br /&gt;
When [[aMule]] is running, it constantly &amp;quot;talks&amp;quot; with other [[client]]s and [[server]]s. &lt;br /&gt;
This data exchange is needed to perform such tasks as identifying itself, requesting information about &lt;br /&gt;
available [[FAQ_eD2k-Kademlia#What_is_a_source?|source]]s and [[file]]s, and performing [[search]]es. &lt;br /&gt;
&lt;br /&gt;
Since this information has no direct use to the user itself, it is called &amp;quot;overhead&amp;quot;; i.e., a necessary addition to the data you want to [[upload]] or [[download]]. &lt;br /&gt;
&lt;br /&gt;
[[aMule]] calls this &amp;quot;''connection overhead''&amp;quot;. However the number that [[aMule]] presents includes only the size of the actual data that [[aMule]] itself sends to the network stack. Later, these data are sent out on the network with even more overhead - that of the network protocols.&lt;br /&gt;
How much is it? - let's see that in the next section.&lt;br /&gt;
&lt;br /&gt;
== Network overhead ==&lt;br /&gt;
First of all - we're talking about the [[IPv4]] network. Once upon a time, there &lt;br /&gt;
was only one type of [[IP]] network. Now there are two - [[IPv4|IP version 4]], the old protocol that we all know; and [[IPv6|IP version 6]] - the new protocol made to fix the limitations of [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
[[FAQ ed2k|ED2K protocol]] by design, is unable to talk over [[IPv6]] network, so users who have it (in Japan and China for example) will not be able to connect &amp;quot;as is&amp;quot;. Using [[IPv4]] means, that each packet ([http://www.ietf.org/rfc/rfc793.txt TCP], [http://www.ietf.org/rfc/rfc768.txt UDP], [http://www.ietf.org/rfc/rfc792.txt ICMP]) will have an [[IPv4]] header.&lt;br /&gt;
&lt;br /&gt;
The minimum size of this header is 20 bytes. The header can have optional parts (each of 4 bytes) and that is up to your provider - for example, mine adds an optional [dword].&lt;br /&gt;
&lt;br /&gt;
When talking to other clients and servers on [[FAQ ed2k|ed2k network]], [[aMule]] uses the widely known [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. [http://www.ietf.org/rfc/rfc768.txt UDP] is also used, but on a much smaller scale. As you may already know, [http://www.ietf.org/rfc/rfc793.txt TCP] is a reliable protocol, i.e. it guarantees that data that is sent from one side will arrive on the other or an error will be reported.&lt;br /&gt;
&lt;br /&gt;
To achieve this, [http://www.ietf.org/rfc/rfc793.txt TCP] sends its own data in addition to the actual &amp;quot;payload&amp;quot; data being transferred. These data include [http://www.ietf.org/rfc/rfc793.txt TCP] client initial negotiation, checksums, sequence numbers and acknowledgments. All of this is in the ''[http://www.ietf.org/rfc/rfc793.txt TCP] header'' that is added to each packet sent. The size of this header is a minimum of 20 bytes.&lt;br /&gt;
&lt;br /&gt;
While being only a small overhead for a large bulk transfer, it can take significant part of bandwidth when small amounts of data are being exchanged. &amp;lt;u&amp;gt;This is exactly what happens on [[FAQ_ed2k#What_is_a_source?|source]] discovery part of [[aMule]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Our [[client]] is trying to establish a connection and negotiate with a large number of other [[client]]s. Doing this, [[aMule]] opens new [http://www.ietf.org/rfc/rfc793.txt TCP] connections &amp;lt;u&amp;gt;''all the time''&amp;lt;/u&amp;gt;. The number of connections opened is controlled by the ''&amp;quot;Maximum number of connections in 5 seconds&amp;quot;'' setting in the preferences. &lt;br /&gt;
&lt;br /&gt;
A typical number is about 100. Each [http://www.ietf.org/rfc/rfc793.txt TCP] connection results in at least three packets traveling on the net - one is a SYN packet, i.e. connection request, and one an ACK or a RST when the connection is accepted or refused, and SYN+ACK to establish the session. &lt;br /&gt;
&lt;br /&gt;
There's more overhead of [http://www.ietf.org/rfc/rfc1034.txt DNS] queries when an address is resolved, retries when a host doesn't reply and so on.&lt;br /&gt;
 &lt;br /&gt;
=== At low level ===&lt;br /&gt;
After passing [http://www.ietf.org/rfc/rfc793.txt TCP] and [[IP]] layers packets go down to the network interface driver. What kind of driver this is depends on the way your computer is connected to the internet. For the sake of simplicity, we will assume that this computer is connected to the ISP directly; i.e., that you have no LAN (or switch or router) between. &lt;br /&gt;
&lt;br /&gt;
Common setups include:&lt;br /&gt;
 &lt;br /&gt;
* an analog modem, connected to a telephone line (ISDN modem falls in this category too);&lt;br /&gt;
* a cable modem, connected through ethernet, ISP gives you an [[IP]] address through [http://www.ietf.org/rfc/rfc2131.txt DHCP];&lt;br /&gt;
* a cable modem, connected through ethernet, ISP requires you to configure PPPoE or PPTP tunnel;&lt;br /&gt;
* an ADSL modem, connected through ethernet. You must have a PPPoE or PPTP tunnel;&lt;br /&gt;
* a variation on these, e.g., a modem connected to a computer via USB.&lt;br /&gt;
 &lt;br /&gt;
In each of the these setups there are different protocols in use, and different headers are added to transmitted packets. There's one important thing to note: &amp;lt;u&amp;gt;''ethernet frames travel between cable/ADSL modem and computer, and don't reach the ISP''&amp;lt;/u&amp;gt;. Consequently, they're not counted in rate calculations. [http://www.ietf.org/rfc/rfc2516.txt PPPoE]; in constrast,  &lt;br /&gt;
[http://www.ietf.org/rfc/rfc2637.txt PPTP] headers &amp;lt;u&amp;gt;''do reach the ISP''&amp;lt;/u&amp;gt;. In this respect, your particular provider may or may not choose to include them in their rate calculations. For this reason, we have excluded those headers from our calculations. &lt;br /&gt;
&lt;br /&gt;
If you think that your ISP includes it, add 4 bytes to the size of each packet.&lt;br /&gt;
 &lt;br /&gt;
=== Example ===&lt;br /&gt;
Let's see how much network overhead we have on a typical network. Our connection is a cable modem connected via an ethernet link to a PC directly (no router between them). &lt;br /&gt;
&lt;br /&gt;
In this setup we have [[IPv4]] packets sent over ethernet. &lt;br /&gt;
&lt;br /&gt;
Lets say we have 10 new connections opened each second, and all are being accepted (successfully established [http://www.ietf.org/rfc/rfc793.txt TCP] session). This alone sums up to (I'm counting data going up - from my computer to the net):&lt;br /&gt;
&lt;br /&gt;
''10 connection * 2 packets * (20 bytes of TCP + 20 bytes of [[IPv4]]) = 800 bytes of overhead.''&lt;br /&gt;
&lt;br /&gt;
This means that we are starting with 1.16*8 Kbps of &amp;quot;''invisible&amp;quot;''&lt;br /&gt;
overhead caused by the very way the network works. Now, let's assume that&lt;br /&gt;
after each connection is established our amule sends something to the other side and waits to receive an answer.&lt;br /&gt;
&lt;br /&gt;
''Total of 800 bytes + 800 bytes = 1600 bytes per second = 6400 bps = 6.4 Kbps''&lt;br /&gt;
&lt;br /&gt;
What we have here is 6.4 Kbps of network overhead alone. Taking into account &lt;br /&gt;
that amule has other data to send (uploads) and it is not the only network &lt;br /&gt;
application running we will have the following picture: &lt;br /&gt;
&lt;br /&gt;
Most likely the link to your provider is not that fast. [[aMule]] will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to open 10 connections per second and will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to upload on the specified speed. &lt;br /&gt;
&lt;br /&gt;
Your operating system will share all available bandwidth between those and between [[aMule]] and other network applications (browser for example). Actual results will vary depending on specific OS settings.&lt;br /&gt;
&lt;br /&gt;
== ACK bottleneck ==&lt;br /&gt;
In all calculations above there was one assumption - zero download. But downloading is what amule was built for. So let's examine how the overhead &lt;br /&gt;
above affects your downloading speed. The answer is in [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. &lt;br /&gt;
&lt;br /&gt;
When [http://www.ietf.org/rfc/rfc793.txt TCP] is sending data, it requires that the other side acknowledge the reception. So if client A is sending data to [[client]] B by [http://www.ietf.org/rfc/rfc793.txt TCP], B has to send a special ACK packets to A which tells B &amp;quot;ok, I got it&amp;quot;. If, however, A doesn't receive the ACK packets in time, he will assume that either packet is lost. &lt;br /&gt;
&lt;br /&gt;
So, without going deeply into [http://www.ietf.org/rfc/rfc793.txt TCP] specification: &amp;lt;u&amp;gt;''if B fails to send ACK to A, as a result A will transmit slower''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now let's see the situation in [[aMule]]. We saw in the previous chapter, that the uplink stream is congested by connection requests and uploads. As a result, there's a good chance that ACK packets for a file we are downloading &amp;lt;u&amp;gt;''will not be sent on time''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The remote party will notice this and slow down. This is one more reason why the upstream should better not be too congested.&lt;br /&gt;
 &lt;br /&gt;
== Is there anything I can do? ==&lt;br /&gt;
OK, now that you understood why your network is so slow while [[aMule]] is &lt;br /&gt;
running you will maybe look for a way to fix this. The answer in 2 words: &amp;quot;rate limit&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The first thing you should do is to assign realistic rate limits in [[aMule]] &lt;br /&gt;
itself. If you have a uplink rate of 128 Kbps don't set [[aMule]]'s [[upload]] limit to 16 (kilobytes per second) just because 128/8 = 16.&lt;br /&gt;
&lt;br /&gt;
A better, but far more complicated solution is to use the QoS and packet scheduling services of your OS. For example, you can give a higher priority to ACK packets to solve the above mentioned &amp;quot;ACK bottleneck&amp;quot; problem. &lt;br /&gt;
&lt;br /&gt;
The QoS topic, however, is beyond the scope of this article.&lt;br /&gt;
&lt;br /&gt;
== Router (switch, home network): is there any difference? ==&lt;br /&gt;
When the cable coming from your ISP is connected to some switching or routing &lt;br /&gt;
device, which in turn is connected to several PC's, bandwidth is shared between &lt;br /&gt;
them. &lt;br /&gt;
&lt;br /&gt;
So, having N computers connected, an ideal device would simply provide &lt;br /&gt;
each one of them with 1/N of the total bandwidth. The situation may vary in real life, and your particular device may have different idea about fairness. &lt;br /&gt;
&lt;br /&gt;
Since you're not going to have the hardware specs of your router chipset the only advice here is &amp;quot;try and see yourself&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Multiple links ==&lt;br /&gt;
Until now, we talked about computers that are connected to the network through&lt;br /&gt;
single interface. While being most frequent, this is not mandatory. A user&lt;br /&gt;
may choose to connect via 2 (or more links) provided by different ISP's.&lt;br /&gt;
There're 2 reasons for this decision that I know about: link redundancy and&lt;br /&gt;
load balancing.&lt;br /&gt;
&lt;br /&gt;
=== Link redundancy ===&lt;br /&gt;
In a case of link redundancy second link becomes operational when primary&lt;br /&gt;
link fails. This can be done automatically, or by explicit user command.&lt;br /&gt;
When this setup used, [[aMule]] along with other network applications must be&lt;br /&gt;
restarted when links are being switched. This will allow to bind new address,&lt;br /&gt;
reconnect to server and receive new ID. If [[aMule]] is connected via &amp;amp;nbsp;[http://www.ietf.org/rfc/rfc3022.txt NAT]]&lt;br /&gt;
enabled router (it doesn't matter if you have [[FAQ_ed2k#What_is_LowID_and_HighID?|low or high ID]]), and links&lt;br /&gt;
are switched &amp;lt;u&amp;gt;''on the router''&amp;lt;/u&amp;gt;, restart not needed.&lt;br /&gt;
&lt;br /&gt;
=== Load balancing ===&lt;br /&gt;
This is a far more complicated case. Both (all) links are simultaneously active,&lt;br /&gt;
and traffic is being distributed between them. The problem is that [[aMule]]&lt;br /&gt;
binds to &amp;lt;u&amp;gt;''all interfaces on the system''&amp;lt;/u&amp;gt; i.e. 0.0.0.0. But, on [[FAQ ed2k|ed2k]]&lt;br /&gt;
your ID is your [[IP]] address, &amp;lt;u&amp;gt;''and you can not have two''&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
So the problem is that [[aMule]] does not explicitly choose the source&lt;br /&gt;
address for ''&amp;lt;u&amp;gt;outgoing&amp;lt;/u&amp;gt;'' [http://www.ietf.org/rfc/rfc793.txt TCP] connections. Note, that it &amp;lt;u&amp;gt;''doesn't&lt;br /&gt;
matter''&amp;lt;/u&amp;gt; on which interface it listens. This is exactly &amp;lt;u&amp;gt;''opposite''&amp;lt;/u&amp;gt;&lt;br /&gt;
to &amp;lt;u&amp;gt;''server''&amp;lt;/u&amp;gt; applications like FTP or HTTP. When a client&lt;br /&gt;
tries to connect to a server it discovers its IP address by resolving DNS. Resolver&lt;br /&gt;
replies will contain all [[IP]] addresses of the specified host and a client should try them all. The server, in turn, may choose not to listen on&lt;br /&gt;
one of them and thus prevent the client from using this interface. In our case&lt;br /&gt;
[[aMule]] &amp;lt;u&amp;gt;''is a [[client]]''&amp;lt;/u&amp;gt;, and the [[server|ed2k server]] discovers its address from the&lt;br /&gt;
[[FAQ_ed2k#What_is_a_source?|source]] [[IP]] in the connection request. That's where the [[server|ed2k server]] will try to connect.&lt;br /&gt;
If the connection succeeds the client is [[client]] assigned a [[FAQ_ed2k#What_is_LowID_and_HighID?|high ID]], if it doesn't the client gets a Low ID. &lt;br /&gt;
The only solution in this situation (until [[aMule]] will have an ability to&lt;br /&gt;
bind to specific address) is to use [[aMule]] on your &amp;quot;primary&amp;quot; link.&amp;lt;br&amp;gt;&lt;br /&gt;
You can, however, cause [http://www.kernel.org Linux] to send packet through interface of your choice.&lt;br /&gt;
But, most probably they will be dropped by your ISP's router as &amp;quot;spoofed&amp;quot; because the source [[IP]] address doesn't match the address the ISP assigned to that interface.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network-es</id>
		<title>FAQ network-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network-es"/>
				<updated>2006-10-23T17:43:31Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Velocidad de la red: Lo que debes saber antes de preguntar =&lt;br /&gt;
 por Froenchenko Leonid, lfroen@gmail.com&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Prefacio ==&lt;br /&gt;
&lt;br /&gt;
El propósito de este documento es clarificar algunos temas relacionados con la velocidad de la red que paracen cada cierto tiempo en el [[aMule]] [[forum]|foro]. Las causas por las que realizan preguntas sobre &amp;quot;[[FAQ_ed2k| la red aMule]]&amp;quot; son varias:&lt;br /&gt;
&lt;br /&gt;
* La velocidad que indica el [[aMule]] no coincide con la de tu ISP.&lt;br /&gt;
* the speed reported by [[aMule]] doesn't match your provider's given rate;&lt;br /&gt;
* Bajo rendimiento del [[aMule]] o de otras aplicaciones que utilizan la red en la misma computadora, o, &lt;br /&gt;
* Los factores clave que influyen sobre el rendimiento de la red cuando el [[aMule]] esta corriendo.&lt;br /&gt;
&lt;br /&gt;
Este documento va dirigido a usuarios que desean adquirir un mayor conocimiento del funcionamiento de las redes en general, y en particular, de las implicaciones de éstas sobre el funcionamiento del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
En cualquier caso esta página no tiene un propósito explícito &amp;quot;[[FAQ_ed2k|Network FAQ]]&amp;quot;. Si estas buscando algo mas concreto quizás deberías ir a la páguina [[aMule is slow-es|aMule va lento FAQ]].&lt;br /&gt;
 &lt;br /&gt;
== Velocidad de la red - Como es de rápida? ==&lt;br /&gt;
&lt;br /&gt;
Cuando hablamos de velocidad de red, generalmente usamos la unidad &amp;quot;bps&amp;quot;, que significa bits por segundo, la razón es por la que se utiliza &amp;quot;bit en lugar de byte es básicamente histórica, pero tambíen viene dada por la arquitectura de los sistemas, y mas concretamente, viene del hecho de que no todas las redes en el mundo transmiten el tráfico de la red en bytes.&lt;br /&gt;
&lt;br /&gt;
Hay un convenio por el que si usamos la B mayúscula &amp;quot;B&amp;quot; en &amp;quot;Bps&amp;quot; en el caso de que hablemos de &amp;quot;bytes por segundo&amp;quot;. De cualquier modo este convenio no es aceptado por todo el mundo y mas en particular en organizaciones como la &lt;br /&gt;
 [http://www.ietf.org/ IETF] y la [http://www.ieee.org/ IEEE] que utilizan &amp;quot;bps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Prefijos ==&lt;br /&gt;
&lt;br /&gt;
Desde su invención, las redes han progresado enormemente. Hoy en día tenemos redes que transmiten miles de millones de bits por segundo. Para dar una medida a estas velocidades utilizamos los siguientes prefijos ''&amp;quot;kilo&amp;quot;'', ''&amp;quot;mega&amp;quot;'', ''&amp;quot;giga&amp;quot;'', ''&amp;quot;tera&amp;quot;''. &lt;br /&gt;
&lt;br /&gt;
Es un &amp;lt;u&amp;gt;error muy común&amp;lt;/u&amp;gt; pensar que los valores con estos prefijos son similares en computación. La realidad es que, por  razones históricas, los prefijos en redes tienen una base decimal y no binaria &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; title=&amp;quot;Table 1&amp;quot;&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | Prefijo| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en informática&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | significado en redes | valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | diferencia, %%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | k (kilo)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^10 = 1024&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^3 = 1000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | M (mega)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^20 = 1,048,576&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^6 = 1,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 5%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | G (giga)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^30 = 1,073,741,624&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^9 = 1,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 7%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | T (tera)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^40 = 1,099,511,627,776&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^12 = 1,000,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 9%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As you can see from the table above, the error in calculation is about 5% when the prefix is incorrectly interpreted. Please note that the speed your provider quotes you is the &amp;quot;speed in network units&amp;quot;; i.e., calculated on a decimal basis. For example when your provider tells you that your link is &amp;quot;ADSL 256/128&amp;quot;, they mean 256000/128000 bps (bits per second). This means that the speed of your connection is 32000/16000 bps (bytes per second), since there are eight bits to a byte.&lt;br /&gt;
&lt;br /&gt;
== Protocol overhead - what is it about? ==&lt;br /&gt;
When [[aMule]] is running, it constantly &amp;quot;talks&amp;quot; with other [[client]]s and [[server]]s. &lt;br /&gt;
This data exchange is needed to perform such tasks as identifying itself, requesting information about &lt;br /&gt;
available [[FAQ_eD2k-Kademlia#What_is_a_source?|source]]s and [[file]]s, and performing [[search]]es. &lt;br /&gt;
&lt;br /&gt;
Since this information has no direct use to the user itself, it is called &amp;quot;overhead&amp;quot;; i.e., a necessary addition to the data you want to [[upload]] or [[download]]. &lt;br /&gt;
&lt;br /&gt;
[[aMule]] calls this &amp;quot;''connection overhead''&amp;quot;. However the number that [[aMule]] presents includes only the size of the actual data that [[aMule]] itself sends to the network stack. Later, these data are sent out on the network with even more overhead - that of the network protocols.&lt;br /&gt;
How much is it? - let's see that in the next section.&lt;br /&gt;
&lt;br /&gt;
== Network overhead ==&lt;br /&gt;
First of all - we're talking about the [[IPv4]] network. Once upon a time, there &lt;br /&gt;
was only one type of [[IP]] network. Now there are two - [[IPv4|IP version 4]], the old protocol that we all know; and [[IPv6|IP version 6]] - the new protocol made to fix the limitations of [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
[[FAQ ed2k|ED2K protocol]] by design, is unable to talk over [[IPv6]] network, so users who have it (in Japan and China for example) will not be able to connect &amp;quot;as is&amp;quot;. Using [[IPv4]] means, that each packet ([http://www.ietf.org/rfc/rfc793.txt TCP], [http://www.ietf.org/rfc/rfc768.txt UDP], [http://www.ietf.org/rfc/rfc792.txt ICMP]) will have an [[IPv4]] header.&lt;br /&gt;
&lt;br /&gt;
The minimum size of this header is 20 bytes. The header can have optional parts (each of 4 bytes) and that is up to your provider - for example, mine adds an optional [dword].&lt;br /&gt;
&lt;br /&gt;
When talking to other clients and servers on [[FAQ ed2k|ed2k network]], [[aMule]] uses the widely known [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. [http://www.ietf.org/rfc/rfc768.txt UDP] is also used, but on a much smaller scale. As you may already know, [http://www.ietf.org/rfc/rfc793.txt TCP] is a reliable protocol, i.e. it guarantees that data that is sent from one side will arrive on the other or an error will be reported.&lt;br /&gt;
&lt;br /&gt;
To achieve this, [http://www.ietf.org/rfc/rfc793.txt TCP] sends its own data in addition to the actual &amp;quot;payload&amp;quot; data being transferred. These data include [http://www.ietf.org/rfc/rfc793.txt TCP] client initial negotiation, checksums, sequence numbers and acknowledgments. All of this is in the ''[http://www.ietf.org/rfc/rfc793.txt TCP] header'' that is added to each packet sent. The size of this header is a minimum of 20 bytes.&lt;br /&gt;
&lt;br /&gt;
While being only a small overhead for a large bulk transfer, it can take significant part of bandwidth when small amounts of data are being exchanged. &amp;lt;u&amp;gt;This is exactly what happens on [[FAQ_ed2k#What_is_a_source?|source]] discovery part of [[aMule]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Our [[client]] is trying to establish a connection and negotiate with a large number of other [[client]]s. Doing this, [[aMule]] opens new [http://www.ietf.org/rfc/rfc793.txt TCP] connections &amp;lt;u&amp;gt;''all the time''&amp;lt;/u&amp;gt;. The number of connections opened is controlled by the ''&amp;quot;Maximum number of connections in 5 seconds&amp;quot;'' setting in the preferences. &lt;br /&gt;
&lt;br /&gt;
A typical number is about 100. Each [http://www.ietf.org/rfc/rfc793.txt TCP] connection results in at least three packets traveling on the net - one is a SYN packet, i.e. connection request, and one an ACK or a RST when the connection is accepted or refused, and SYN+ACK to establish the session. &lt;br /&gt;
&lt;br /&gt;
There's more overhead of [http://www.ietf.org/rfc/rfc1034.txt DNS] queries when an address is resolved, retries when a host doesn't reply and so on.&lt;br /&gt;
 &lt;br /&gt;
=== At low level ===&lt;br /&gt;
After passing [http://www.ietf.org/rfc/rfc793.txt TCP] and [[IP]] layers packets go down to the network interface driver. What kind of driver this is depends on the way your computer is connected to the internet. For the sake of simplicity, we will assume that this computer is connected to the ISP directly; i.e., that you have no LAN (or switch or router) between. &lt;br /&gt;
&lt;br /&gt;
Common setups include:&lt;br /&gt;
 &lt;br /&gt;
* an analog modem, connected to a telephone line (ISDN modem falls in this category too);&lt;br /&gt;
* a cable modem, connected through ethernet, ISP gives you an [[IP]] address through [http://www.ietf.org/rfc/rfc2131.txt DHCP];&lt;br /&gt;
* a cable modem, connected through ethernet, ISP requires you to configure PPPoE or PPTP tunnel;&lt;br /&gt;
* an ADSL modem, connected through ethernet. You must have a PPPoE or PPTP tunnel;&lt;br /&gt;
* a variation on these, e.g., a modem connected to a computer via USB.&lt;br /&gt;
 &lt;br /&gt;
In each of the these setups there are different protocols in use, and different headers are added to transmitted packets. There's one important thing to note: &amp;lt;u&amp;gt;''ethernet frames travel between cable/ADSL modem and computer, and don't reach the ISP''&amp;lt;/u&amp;gt;. Consequently, they're not counted in rate calculations. [http://www.ietf.org/rfc/rfc2516.txt PPPoE]; in constrast,  &lt;br /&gt;
[http://www.ietf.org/rfc/rfc2637.txt PPTP] headers &amp;lt;u&amp;gt;''do reach the ISP''&amp;lt;/u&amp;gt;. In this respect, your particular provider may or may not choose to include them in their rate calculations. For this reason, we have excluded those headers from our calculations. &lt;br /&gt;
&lt;br /&gt;
If you think that your ISP includes it, add 4 bytes to the size of each packet.&lt;br /&gt;
 &lt;br /&gt;
=== Example ===&lt;br /&gt;
Let's see how much network overhead we have on a typical network. Our connection is a cable modem connected via an ethernet link to a PC directly (no router between them). &lt;br /&gt;
&lt;br /&gt;
In this setup we have [[IPv4]] packets sent over ethernet. &lt;br /&gt;
&lt;br /&gt;
Lets say we have 10 new connections opened each second, and all are being accepted (successfully established [http://www.ietf.org/rfc/rfc793.txt TCP] session). This alone sums up to (I'm counting data going up - from my computer to the net):&lt;br /&gt;
&lt;br /&gt;
''10 connection * 2 packets * (20 bytes of TCP + 20 bytes of [[IPv4]]) = 800 bytes of overhead.''&lt;br /&gt;
&lt;br /&gt;
This means that we are starting with 1.16*8 Kbps of &amp;quot;''invisible&amp;quot;''&lt;br /&gt;
overhead caused by the very way the network works. Now, let's assume that&lt;br /&gt;
after each connection is established our amule sends something to the other side and waits to receive an answer.&lt;br /&gt;
&lt;br /&gt;
''Total of 800 bytes + 800 bytes = 1600 bytes per second = 6400 bps = 6.4 Kbps''&lt;br /&gt;
&lt;br /&gt;
What we have here is 6.4 Kbps of network overhead alone. Taking into account &lt;br /&gt;
that amule has other data to send (uploads) and it is not the only network &lt;br /&gt;
application running we will have the following picture: &lt;br /&gt;
&lt;br /&gt;
Most likely the link to your provider is not that fast. [[aMule]] will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to open 10 connections per second and will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to upload on the specified speed. &lt;br /&gt;
&lt;br /&gt;
Your operating system will share all available bandwidth between those and between [[aMule]] and other network applications (browser for example). Actual results will vary depending on specific OS settings.&lt;br /&gt;
&lt;br /&gt;
== ACK bottleneck ==&lt;br /&gt;
In all calculations above there was one assumption - zero download. But downloading is what amule was built for. So let's examine how the overhead &lt;br /&gt;
above affects your downloading speed. The answer is in [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. &lt;br /&gt;
&lt;br /&gt;
When [http://www.ietf.org/rfc/rfc793.txt TCP] is sending data, it requires that the other side acknowledge the reception. So if client A is sending data to [[client]] B by [http://www.ietf.org/rfc/rfc793.txt TCP], B has to send a special ACK packets to A which tells B &amp;quot;ok, I got it&amp;quot;. If, however, A doesn't receive the ACK packets in time, he will assume that either packet is lost. &lt;br /&gt;
&lt;br /&gt;
So, without going deeply into [http://www.ietf.org/rfc/rfc793.txt TCP] specification: &amp;lt;u&amp;gt;''if B fails to send ACK to A, as a result A will transmit slower''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now let's see the situation in [[aMule]]. We saw in the previous chapter, that the uplink stream is congested by connection requests and uploads. As a result, there's a good chance that ACK packets for a file we are downloading &amp;lt;u&amp;gt;''will not be sent on time''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The remote party will notice this and slow down. This is one more reason why the upstream should better not be too congested.&lt;br /&gt;
 &lt;br /&gt;
== Is there anything I can do? ==&lt;br /&gt;
OK, now that you understood why your network is so slow while [[aMule]] is &lt;br /&gt;
running you will maybe look for a way to fix this. The answer in 2 words: &amp;quot;rate limit&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The first thing you should do is to assign realistic rate limits in [[aMule]] &lt;br /&gt;
itself. If you have a uplink rate of 128 Kbps don't set [[aMule]]'s [[upload]] limit to 16 (kilobytes per second) just because 128/8 = 16.&lt;br /&gt;
&lt;br /&gt;
A better, but far more complicated solution is to use the QoS and packet scheduling services of your OS. For example, you can give a higher priority to ACK packets to solve the above mentioned &amp;quot;ACK bottleneck&amp;quot; problem. &lt;br /&gt;
&lt;br /&gt;
The QoS topic, however, is beyond the scope of this article.&lt;br /&gt;
&lt;br /&gt;
== Router (switch, home network): is there any difference? ==&lt;br /&gt;
When the cable coming from your ISP is connected to some switching or routing &lt;br /&gt;
device, which in turn is connected to several PC's, bandwidth is shared between &lt;br /&gt;
them. &lt;br /&gt;
&lt;br /&gt;
So, having N computers connected, an ideal device would simply provide &lt;br /&gt;
each one of them with 1/N of the total bandwidth. The situation may vary in real life, and your particular device may have different idea about fairness. &lt;br /&gt;
&lt;br /&gt;
Since you're not going to have the hardware specs of your router chipset the only advice here is &amp;quot;try and see yourself&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Multiple links ==&lt;br /&gt;
Until now, we talked about computers that are connected to the network through&lt;br /&gt;
single interface. While being most frequent, this is not mandatory. A user&lt;br /&gt;
may choose to connect via 2 (or more links) provided by different ISP's.&lt;br /&gt;
There're 2 reasons for this decision that I know about: link redundancy and&lt;br /&gt;
load balancing.&lt;br /&gt;
&lt;br /&gt;
=== Link redundancy ===&lt;br /&gt;
In a case of link redundancy second link becomes operational when primary&lt;br /&gt;
link fails. This can be done automatically, or by explicit user command.&lt;br /&gt;
When this setup used, [[aMule]] along with other network applications must be&lt;br /&gt;
restarted when links are being switched. This will allow to bind new address,&lt;br /&gt;
reconnect to server and receive new ID. If [[aMule]] is connected via &amp;amp;nbsp;[http://www.ietf.org/rfc/rfc3022.txt NAT]]&lt;br /&gt;
enabled router (it doesn't matter if you have [[FAQ_ed2k#What_is_LowID_and_HighID?|low or high ID]]), and links&lt;br /&gt;
are switched &amp;lt;u&amp;gt;''on the router''&amp;lt;/u&amp;gt;, restart not needed.&lt;br /&gt;
&lt;br /&gt;
=== Load balancing ===&lt;br /&gt;
This is a far more complicated case. Both (all) links are simultaneously active,&lt;br /&gt;
and traffic is being distributed between them. The problem is that [[aMule]]&lt;br /&gt;
binds to &amp;lt;u&amp;gt;''all interfaces on the system''&amp;lt;/u&amp;gt; i.e. 0.0.0.0. But, on [[FAQ ed2k|ed2k]]&lt;br /&gt;
your ID is your [[IP]] address, &amp;lt;u&amp;gt;''and you can not have two''&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
So the problem is that [[aMule]] does not explicitly choose the source&lt;br /&gt;
address for ''&amp;lt;u&amp;gt;outgoing&amp;lt;/u&amp;gt;'' [http://www.ietf.org/rfc/rfc793.txt TCP] connections. Note, that it &amp;lt;u&amp;gt;''doesn't&lt;br /&gt;
matter''&amp;lt;/u&amp;gt; on which interface it listens. This is exactly &amp;lt;u&amp;gt;''opposite''&amp;lt;/u&amp;gt;&lt;br /&gt;
to &amp;lt;u&amp;gt;''server''&amp;lt;/u&amp;gt; applications like FTP or HTTP. When a client&lt;br /&gt;
tries to connect to a server it discovers its IP address by resolving DNS. Resolver&lt;br /&gt;
replies will contain all [[IP]] addresses of the specified host and a client should try them all. The server, in turn, may choose not to listen on&lt;br /&gt;
one of them and thus prevent the client from using this interface. In our case&lt;br /&gt;
[[aMule]] &amp;lt;u&amp;gt;''is a [[client]]''&amp;lt;/u&amp;gt;, and the [[server|ed2k server]] discovers its address from the&lt;br /&gt;
[[FAQ_ed2k#What_is_a_source?|source]] [[IP]] in the connection request. That's where the [[server|ed2k server]] will try to connect.&lt;br /&gt;
If the connection succeeds the client is [[client]] assigned a [[FAQ_ed2k#What_is_LowID_and_HighID?|high ID]], if it doesn't the client gets a Low ID. &lt;br /&gt;
The only solution in this situation (until [[aMule]] will have an ability to&lt;br /&gt;
bind to specific address) is to use [[aMule]] on your &amp;quot;primary&amp;quot; link.&amp;lt;br&amp;gt;&lt;br /&gt;
You can, however, cause [http://www.kernel.org Linux] to send packet through interface of your choice.&lt;br /&gt;
But, most probably they will be dropped by your ISP's router as &amp;quot;spoofed&amp;quot; because the source [[IP]] address doesn't match the address the ISP assigned to that interface.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_network-es</id>
		<title>FAQ network-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_network-es"/>
				<updated>2006-10-23T17:40:33Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Velocidad de la red: Lo que debes saber antes de preguntar =&lt;br /&gt;
 por Froenchenko Leonid, lfroen@gmail.com&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Prefacio ==&lt;br /&gt;
El propósito de este documento es clarificar algunos temas relacionados con la velocidad de la red que paracen cada cierto tiempo en el [[aMule]] [[forum]|foro]. Las causas por las que realizan preguntas sobre &amp;quot;[[FAQ_ed2k| la red aMule]]&amp;quot; so varias:&lt;br /&gt;
&lt;br /&gt;
* La velocidad que indica el [[aMule]] no coincide con la de tu ISP.&lt;br /&gt;
* the speed reported by [[aMule]] doesn't match your provider's given rate;&lt;br /&gt;
* Bajo rendimiento del [[aMule]] o de otras aplicaciones que utilizan la red en la misma computadora, o, &lt;br /&gt;
* Los factores clave que influyen sobre el rendimiento de la red cuando el [[aMule]] esta corriendo.&lt;br /&gt;
&lt;br /&gt;
Este documento va dirigido a usuarios que desean adquirir un mayor conocimiento del funcionamiento de las redes en general, y en particular, de las implicaciones de éstas sobre el funcionamiento del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
En cualquier caso esta página no tiene un propósito explícito &amp;quot;[[FAQ_ed2k|Network FAQ]]&amp;quot;. Si estas buscando algo mas concreto quizás deberías ir a la páguina [[aMule is slow-es|aMule va lento FAQ]].&lt;br /&gt;
 &lt;br /&gt;
== Velocidad de la red - Como es de rápida? ==&lt;br /&gt;
&lt;br /&gt;
Cuando hablamos de velocidad de red, generalmente usamos la unidad &amp;quot;bps&amp;quot;, que significa bits por segundo, la razón es por la que se utiliza &amp;quot;bit en lugar de byte es básicamente histórica, pero tambíen viene dada por la arquitectura de los sistemas, y mas concretamente, viene del hecho de que no todas las redes en el mundo transmiten el tráfico de la red en bytes.&lt;br /&gt;
&lt;br /&gt;
Hay un convenio por el que si usamos la B mayúscula &amp;quot;B&amp;quot; en &amp;quot;Bps&amp;quot; en el caso de que hablemos de &amp;quot;bytes por segundo&amp;quot;. De cualquier modo este convenio no es aceptado por todo el mundo y mas en particular en organizaciones como la &lt;br /&gt;
 [http://www.ietf.org/ IETF] y la [http://www.ieee.org/ IEEE] que utilizan &amp;quot;bps&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Prefijos ==&lt;br /&gt;
&lt;br /&gt;
Desde su invención, las redes han progresado enormemente. Hoy en día tenemos redes que transmiten miles de millones de bits por segundo. Para dar una medida a estas velocidades utilizamos los siguientes prefijos ''&amp;quot;kilo&amp;quot;'', ''&amp;quot;mega&amp;quot;'', ''&amp;quot;giga&amp;quot;'', ''&amp;quot;tera&amp;quot;''. &lt;br /&gt;
&lt;br /&gt;
Es un &amp;lt;u&amp;gt;error muy común&amp;lt;/u&amp;gt; pensar que los valores con estos prefijos son similares en computación. La realidad es que, por históricas razones, los prefijos en redes tienen una base decimal y no binaria &lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; title=&amp;quot;Table 1&amp;quot;&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | Prefix&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | meaning in computers&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; title=&amp;quot;Table 1&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | meaning in networks&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#33ff33&amp;quot; | difference, %%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | k (kilo)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^10 = 1024&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^3 = 1000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | M (mega)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^20 = 1,048,576&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^6 = 1,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 5%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | G (giga)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^30 = 1,073,741,624&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^9 = 1,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 7%&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | T (tera)&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 2^40 = 1,099,511,627,776&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 10^12 = 1,000,000,000,000&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | 9%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As you can see from the table above, the error in calculation is about 5% when the prefix is incorrectly interpreted. Please note that the speed your provider quotes you is the &amp;quot;speed in network units&amp;quot;; i.e., calculated on a decimal basis. For example when your provider tells you that your link is &amp;quot;ADSL 256/128&amp;quot;, they mean 256000/128000 bps (bits per second). This means that the speed of your connection is 32000/16000 bps (bytes per second), since there are eight bits to a byte.&lt;br /&gt;
&lt;br /&gt;
== Protocol overhead - what is it about? ==&lt;br /&gt;
When [[aMule]] is running, it constantly &amp;quot;talks&amp;quot; with other [[client]]s and [[server]]s. &lt;br /&gt;
This data exchange is needed to perform such tasks as identifying itself, requesting information about &lt;br /&gt;
available [[FAQ_eD2k-Kademlia#What_is_a_source?|source]]s and [[file]]s, and performing [[search]]es. &lt;br /&gt;
&lt;br /&gt;
Since this information has no direct use to the user itself, it is called &amp;quot;overhead&amp;quot;; i.e., a necessary addition to the data you want to [[upload]] or [[download]]. &lt;br /&gt;
&lt;br /&gt;
[[aMule]] calls this &amp;quot;''connection overhead''&amp;quot;. However the number that [[aMule]] presents includes only the size of the actual data that [[aMule]] itself sends to the network stack. Later, these data are sent out on the network with even more overhead - that of the network protocols.&lt;br /&gt;
How much is it? - let's see that in the next section.&lt;br /&gt;
&lt;br /&gt;
== Network overhead ==&lt;br /&gt;
First of all - we're talking about the [[IPv4]] network. Once upon a time, there &lt;br /&gt;
was only one type of [[IP]] network. Now there are two - [[IPv4|IP version 4]], the old protocol that we all know; and [[IPv6|IP version 6]] - the new protocol made to fix the limitations of [[IPv4]].&lt;br /&gt;
&lt;br /&gt;
[[FAQ ed2k|ED2K protocol]] by design, is unable to talk over [[IPv6]] network, so users who have it (in Japan and China for example) will not be able to connect &amp;quot;as is&amp;quot;. Using [[IPv4]] means, that each packet ([http://www.ietf.org/rfc/rfc793.txt TCP], [http://www.ietf.org/rfc/rfc768.txt UDP], [http://www.ietf.org/rfc/rfc792.txt ICMP]) will have an [[IPv4]] header.&lt;br /&gt;
&lt;br /&gt;
The minimum size of this header is 20 bytes. The header can have optional parts (each of 4 bytes) and that is up to your provider - for example, mine adds an optional [dword].&lt;br /&gt;
&lt;br /&gt;
When talking to other clients and servers on [[FAQ ed2k|ed2k network]], [[aMule]] uses the widely known [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. [http://www.ietf.org/rfc/rfc768.txt UDP] is also used, but on a much smaller scale. As you may already know, [http://www.ietf.org/rfc/rfc793.txt TCP] is a reliable protocol, i.e. it guarantees that data that is sent from one side will arrive on the other or an error will be reported.&lt;br /&gt;
&lt;br /&gt;
To achieve this, [http://www.ietf.org/rfc/rfc793.txt TCP] sends its own data in addition to the actual &amp;quot;payload&amp;quot; data being transferred. These data include [http://www.ietf.org/rfc/rfc793.txt TCP] client initial negotiation, checksums, sequence numbers and acknowledgments. All of this is in the ''[http://www.ietf.org/rfc/rfc793.txt TCP] header'' that is added to each packet sent. The size of this header is a minimum of 20 bytes.&lt;br /&gt;
&lt;br /&gt;
While being only a small overhead for a large bulk transfer, it can take significant part of bandwidth when small amounts of data are being exchanged. &amp;lt;u&amp;gt;This is exactly what happens on [[FAQ_ed2k#What_is_a_source?|source]] discovery part of [[aMule]]&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Our [[client]] is trying to establish a connection and negotiate with a large number of other [[client]]s. Doing this, [[aMule]] opens new [http://www.ietf.org/rfc/rfc793.txt TCP] connections &amp;lt;u&amp;gt;''all the time''&amp;lt;/u&amp;gt;. The number of connections opened is controlled by the ''&amp;quot;Maximum number of connections in 5 seconds&amp;quot;'' setting in the preferences. &lt;br /&gt;
&lt;br /&gt;
A typical number is about 100. Each [http://www.ietf.org/rfc/rfc793.txt TCP] connection results in at least three packets traveling on the net - one is a SYN packet, i.e. connection request, and one an ACK or a RST when the connection is accepted or refused, and SYN+ACK to establish the session. &lt;br /&gt;
&lt;br /&gt;
There's more overhead of [http://www.ietf.org/rfc/rfc1034.txt DNS] queries when an address is resolved, retries when a host doesn't reply and so on.&lt;br /&gt;
 &lt;br /&gt;
=== At low level ===&lt;br /&gt;
After passing [http://www.ietf.org/rfc/rfc793.txt TCP] and [[IP]] layers packets go down to the network interface driver. What kind of driver this is depends on the way your computer is connected to the internet. For the sake of simplicity, we will assume that this computer is connected to the ISP directly; i.e., that you have no LAN (or switch or router) between. &lt;br /&gt;
&lt;br /&gt;
Common setups include:&lt;br /&gt;
 &lt;br /&gt;
* an analog modem, connected to a telephone line (ISDN modem falls in this category too);&lt;br /&gt;
* a cable modem, connected through ethernet, ISP gives you an [[IP]] address through [http://www.ietf.org/rfc/rfc2131.txt DHCP];&lt;br /&gt;
* a cable modem, connected through ethernet, ISP requires you to configure PPPoE or PPTP tunnel;&lt;br /&gt;
* an ADSL modem, connected through ethernet. You must have a PPPoE or PPTP tunnel;&lt;br /&gt;
* a variation on these, e.g., a modem connected to a computer via USB.&lt;br /&gt;
 &lt;br /&gt;
In each of the these setups there are different protocols in use, and different headers are added to transmitted packets. There's one important thing to note: &amp;lt;u&amp;gt;''ethernet frames travel between cable/ADSL modem and computer, and don't reach the ISP''&amp;lt;/u&amp;gt;. Consequently, they're not counted in rate calculations. [http://www.ietf.org/rfc/rfc2516.txt PPPoE]; in constrast,  &lt;br /&gt;
[http://www.ietf.org/rfc/rfc2637.txt PPTP] headers &amp;lt;u&amp;gt;''do reach the ISP''&amp;lt;/u&amp;gt;. In this respect, your particular provider may or may not choose to include them in their rate calculations. For this reason, we have excluded those headers from our calculations. &lt;br /&gt;
&lt;br /&gt;
If you think that your ISP includes it, add 4 bytes to the size of each packet.&lt;br /&gt;
 &lt;br /&gt;
=== Example ===&lt;br /&gt;
Let's see how much network overhead we have on a typical network. Our connection is a cable modem connected via an ethernet link to a PC directly (no router between them). &lt;br /&gt;
&lt;br /&gt;
In this setup we have [[IPv4]] packets sent over ethernet. &lt;br /&gt;
&lt;br /&gt;
Lets say we have 10 new connections opened each second, and all are being accepted (successfully established [http://www.ietf.org/rfc/rfc793.txt TCP] session). This alone sums up to (I'm counting data going up - from my computer to the net):&lt;br /&gt;
&lt;br /&gt;
''10 connection * 2 packets * (20 bytes of TCP + 20 bytes of [[IPv4]]) = 800 bytes of overhead.''&lt;br /&gt;
&lt;br /&gt;
This means that we are starting with 1.16*8 Kbps of &amp;quot;''invisible&amp;quot;''&lt;br /&gt;
overhead caused by the very way the network works. Now, let's assume that&lt;br /&gt;
after each connection is established our amule sends something to the other side and waits to receive an answer.&lt;br /&gt;
&lt;br /&gt;
''Total of 800 bytes + 800 bytes = 1600 bytes per second = 6400 bps = 6.4 Kbps''&lt;br /&gt;
&lt;br /&gt;
What we have here is 6.4 Kbps of network overhead alone. Taking into account &lt;br /&gt;
that amule has other data to send (uploads) and it is not the only network &lt;br /&gt;
application running we will have the following picture: &lt;br /&gt;
&lt;br /&gt;
Most likely the link to your provider is not that fast. [[aMule]] will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to open 10 connections per second and will &amp;lt;u&amp;gt;''try''&amp;lt;/u&amp;gt; to upload on the specified speed. &lt;br /&gt;
&lt;br /&gt;
Your operating system will share all available bandwidth between those and between [[aMule]] and other network applications (browser for example). Actual results will vary depending on specific OS settings.&lt;br /&gt;
&lt;br /&gt;
== ACK bottleneck ==&lt;br /&gt;
In all calculations above there was one assumption - zero download. But downloading is what amule was built for. So let's examine how the overhead &lt;br /&gt;
above affects your downloading speed. The answer is in [http://www.ietf.org/rfc/rfc793.txt TCP] protocol. &lt;br /&gt;
&lt;br /&gt;
When [http://www.ietf.org/rfc/rfc793.txt TCP] is sending data, it requires that the other side acknowledge the reception. So if client A is sending data to [[client]] B by [http://www.ietf.org/rfc/rfc793.txt TCP], B has to send a special ACK packets to A which tells B &amp;quot;ok, I got it&amp;quot;. If, however, A doesn't receive the ACK packets in time, he will assume that either packet is lost. &lt;br /&gt;
&lt;br /&gt;
So, without going deeply into [http://www.ietf.org/rfc/rfc793.txt TCP] specification: &amp;lt;u&amp;gt;''if B fails to send ACK to A, as a result A will transmit slower''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now let's see the situation in [[aMule]]. We saw in the previous chapter, that the uplink stream is congested by connection requests and uploads. As a result, there's a good chance that ACK packets for a file we are downloading &amp;lt;u&amp;gt;''will not be sent on time''&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The remote party will notice this and slow down. This is one more reason why the upstream should better not be too congested.&lt;br /&gt;
 &lt;br /&gt;
== Is there anything I can do? ==&lt;br /&gt;
OK, now that you understood why your network is so slow while [[aMule]] is &lt;br /&gt;
running you will maybe look for a way to fix this. The answer in 2 words: &amp;quot;rate limit&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The first thing you should do is to assign realistic rate limits in [[aMule]] &lt;br /&gt;
itself. If you have a uplink rate of 128 Kbps don't set [[aMule]]'s [[upload]] limit to 16 (kilobytes per second) just because 128/8 = 16.&lt;br /&gt;
&lt;br /&gt;
A better, but far more complicated solution is to use the QoS and packet scheduling services of your OS. For example, you can give a higher priority to ACK packets to solve the above mentioned &amp;quot;ACK bottleneck&amp;quot; problem. &lt;br /&gt;
&lt;br /&gt;
The QoS topic, however, is beyond the scope of this article.&lt;br /&gt;
&lt;br /&gt;
== Router (switch, home network): is there any difference? ==&lt;br /&gt;
When the cable coming from your ISP is connected to some switching or routing &lt;br /&gt;
device, which in turn is connected to several PC's, bandwidth is shared between &lt;br /&gt;
them. &lt;br /&gt;
&lt;br /&gt;
So, having N computers connected, an ideal device would simply provide &lt;br /&gt;
each one of them with 1/N of the total bandwidth. The situation may vary in real life, and your particular device may have different idea about fairness. &lt;br /&gt;
&lt;br /&gt;
Since you're not going to have the hardware specs of your router chipset the only advice here is &amp;quot;try and see yourself&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Multiple links ==&lt;br /&gt;
Until now, we talked about computers that are connected to the network through&lt;br /&gt;
single interface. While being most frequent, this is not mandatory. A user&lt;br /&gt;
may choose to connect via 2 (or more links) provided by different ISP's.&lt;br /&gt;
There're 2 reasons for this decision that I know about: link redundancy and&lt;br /&gt;
load balancing.&lt;br /&gt;
&lt;br /&gt;
=== Link redundancy ===&lt;br /&gt;
In a case of link redundancy second link becomes operational when primary&lt;br /&gt;
link fails. This can be done automatically, or by explicit user command.&lt;br /&gt;
When this setup used, [[aMule]] along with other network applications must be&lt;br /&gt;
restarted when links are being switched. This will allow to bind new address,&lt;br /&gt;
reconnect to server and receive new ID. If [[aMule]] is connected via &amp;amp;nbsp;[http://www.ietf.org/rfc/rfc3022.txt NAT]]&lt;br /&gt;
enabled router (it doesn't matter if you have [[FAQ_ed2k#What_is_LowID_and_HighID?|low or high ID]]), and links&lt;br /&gt;
are switched &amp;lt;u&amp;gt;''on the router''&amp;lt;/u&amp;gt;, restart not needed.&lt;br /&gt;
&lt;br /&gt;
=== Load balancing ===&lt;br /&gt;
This is a far more complicated case. Both (all) links are simultaneously active,&lt;br /&gt;
and traffic is being distributed between them. The problem is that [[aMule]]&lt;br /&gt;
binds to &amp;lt;u&amp;gt;''all interfaces on the system''&amp;lt;/u&amp;gt; i.e. 0.0.0.0. But, on [[FAQ ed2k|ed2k]]&lt;br /&gt;
your ID is your [[IP]] address, &amp;lt;u&amp;gt;''and you can not have two''&amp;lt;/u&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
So the problem is that [[aMule]] does not explicitly choose the source&lt;br /&gt;
address for ''&amp;lt;u&amp;gt;outgoing&amp;lt;/u&amp;gt;'' [http://www.ietf.org/rfc/rfc793.txt TCP] connections. Note, that it &amp;lt;u&amp;gt;''doesn't&lt;br /&gt;
matter''&amp;lt;/u&amp;gt; on which interface it listens. This is exactly &amp;lt;u&amp;gt;''opposite''&amp;lt;/u&amp;gt;&lt;br /&gt;
to &amp;lt;u&amp;gt;''server''&amp;lt;/u&amp;gt; applications like FTP or HTTP. When a client&lt;br /&gt;
tries to connect to a server it discovers its IP address by resolving DNS. Resolver&lt;br /&gt;
replies will contain all [[IP]] addresses of the specified host and a client should try them all. The server, in turn, may choose not to listen on&lt;br /&gt;
one of them and thus prevent the client from using this interface. In our case&lt;br /&gt;
[[aMule]] &amp;lt;u&amp;gt;''is a [[client]]''&amp;lt;/u&amp;gt;, and the [[server|ed2k server]] discovers its address from the&lt;br /&gt;
[[FAQ_ed2k#What_is_a_source?|source]] [[IP]] in the connection request. That's where the [[server|ed2k server]] will try to connect.&lt;br /&gt;
If the connection succeeds the client is [[client]] assigned a [[FAQ_ed2k#What_is_LowID_and_HighID?|high ID]], if it doesn't the client gets a Low ID. &lt;br /&gt;
The only solution in this situation (until [[aMule]] will have an ability to&lt;br /&gt;
bind to specific address) is to use [[aMule]] on your &amp;quot;primary&amp;quot; link.&amp;lt;br&amp;gt;&lt;br /&gt;
You can, however, cause [http://www.kernel.org Linux] to send packet through interface of your choice.&lt;br /&gt;
But, most probably they will be dropped by your ISP's router as &amp;quot;spoofed&amp;quot; because the source [[IP]] address doesn't match the address the ISP assigned to that interface.&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Translations-es</id>
		<title>Translations-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Translations-es"/>
				<updated>2006-10-23T16:31:00Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Translations|Inglés]] | [[Translations-pt|Portugués]] | [[Translations-ko_KR|Coreano]] | [[Translations-ru|Ruso]]| [[Translations-cn|Chino]] | '''Español''' |&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Es muy facil ser un traductor de [[aMule]] a tu idioma, actualmente soporta [http://www.unicode.org Unicode], por lo que no hay limitación para caracteres Chinos, Coreanos, Árabes ... es posible realizar cualquier traducción.&lt;br /&gt;
&lt;br /&gt;
Pero las traducciones necesitan de traductores, no temas entrar en el mundo de [[aMule]]!&lt;br /&gt;
&lt;br /&gt;
No es necesario programar en lenguaje [http://gcc.gnu.org C++] o [http://en.wikipedia.org/wiki/Klingon_language Klingon] para ser un traductor!&lt;br /&gt;
Solamente necesitas conocer tu propia lengua (!!) y algún conocimiento de ingés!&lt;br /&gt;
&lt;br /&gt;
Interesante? entonces comenzamos&lt;br /&gt;
&lt;br /&gt;
== Como comenzar ==&lt;br /&gt;
&lt;br /&gt;
De vez en cuando (una vez al mes) posteamos un fichero de texto llamado &lt;br /&gt;
''source_strings.po'' en el foro [http://forum.amule.org/thread.php?threadid=1097 Translation].&lt;br /&gt;
&lt;br /&gt;
Descarga el fichero an ábrelo con [http://i18n.kde.org/tools/kbabel/ KBabel] si utilizas [http://www.kde.org KDE], [http://www.poedit.org PoEdit] o el  [http://gtranslator.sourceforge.net/ gTranslator] si usas [http://www.gnome.org Gnome].&lt;br /&gt;
&lt;br /&gt;
Previamente no debes olvidar el marcar tus preferencias en el &lt;br /&gt;
[http://i18n.kde.org/tools/kbabel/ KBabel], [http://www.poedit.org PoEdit] o [http://gtranslator.sourceforge.net/ gTranslator] incluyendo el nombre, e-mail, grupo de caracteres y demás.....&lt;br /&gt;
&lt;br /&gt;
Esto es lo que verás con [http://i18n.kde.org/tools/kbabel KBabel]:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb1.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
En la esquina superior izquierda tienes el texto en inglés.&lt;br /&gt;
&lt;br /&gt;
En la esquina superior derecha tienes el fichero del que procede el texto.&lt;br /&gt;
&lt;br /&gt;
Ahora solo tienes que escribir el texto traducido en la esquina inferior izquierda&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb2.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#ff0000&amp;gt;Debes tener especial cuidado en copiar todos los caracteres especiales como &amp;amp;, %i, \n, etc... en el texto traducido y respetar los espacios al inicio y final del texto.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE''', revisa [[format specifiers|este documento]] para saber cuales son los caracteres que no deben ser modificados.&lt;br /&gt;
&lt;br /&gt;
Continua con todos los textos del fichero y una vez finalizado guárdalo.&lt;br /&gt;
&lt;br /&gt;
Has acabado la traducción!, envíala al &lt;br /&gt;
[http://www.amule-project.net/amule/board.php?boardid=40 foro de traducciones del aMULE] y miles de personas te estarán agradecidas :)&lt;br /&gt;
&lt;br /&gt;
== Como continuar una traducción ya empezada ==&lt;br /&gt;
&lt;br /&gt;
Cuando la traducción ya ha sido iniciada, no será necesario que vuelvas a traducir los textos ya traducidos del fichero ''source_strings.po'' !&lt;br /&gt;
&lt;br /&gt;
Hay un proceso automático que se encarga de incluir los textos ya traducidos en el fichero ''source_strings.po''&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, imagínate que deseas continuar la traducción al francés:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Descarga la última ''source_strings.po'' del  [http://forum.amule.org/thread.php?threadid=1097 foro], y la antigua ''fr.po'' que se encontraba en la versión del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
* Integra la antigua y nueva versión escribiendo: &lt;br /&gt;
&lt;br /&gt;
'''msgmerge --no-fuzzy-matching -o new_fr.po fr.po source_strings.po'''&lt;br /&gt;
&lt;br /&gt;
Alternativamente podrías usar las herramientas incluidas en el &lt;br /&gt;
[http://i18n.kde.org/tools/kbabel KBabel] o en el    [http://poedit.sourceforge.net PoEdit] (consulta la ayuda de estas aplicaciones)&lt;br /&gt;
&lt;br /&gt;
A continuación comienza la traducción en el fichero ''new_fr.po'' como lo hiciste anteriormente en el fichero ''source_srings.po'', simplemente tendrás que traducir los textos que no fueron traducidos anteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Probando la traducción ==&lt;br /&gt;
&lt;br /&gt;
=== Antes de empezar ===&lt;br /&gt;
&lt;br /&gt;
Una vez guardado el fichero, puedes re-[[compile]|compilar] el [[aMule]], o simplemnte puedes comprobar que el fichero es correcto (este proceso se realiza automáticamente cuando [[compile|compilas el fichero]]).&lt;br /&gt;
&lt;br /&gt;
La segunda opción tiene algunas ventajas, y es que no es necesario crear todos los ejecutables del [[aMule]], solamente necesitas crear el ejecutable de la traducción.&lt;br /&gt;
&lt;br /&gt;
El procedimiento mas indicado es intentarlo [[#Testing only the translation file|solo con el fichero de prueba]] hasta que lo logremos, y una vez finalizado[[#Testing with aMule|compilar el aMule con las traducciones]] para ver como funciona.&lt;br /&gt;
&lt;br /&gt;
=== Probando solamente el fichero de traducción ===&lt;br /&gt;
&lt;br /&gt;
Para hacerlo, primero debes ejecutar ''./configure''.&lt;br /&gt;
&lt;br /&gt;
Ahora, una vez que hayas copiado tu fichero en el directorio ''po/'', ejecuta ''make '''translation_language'''.gmo'', ejemplo ''make en_GB.gmo''&lt;br /&gt;
&lt;br /&gt;
Si la traducción es correcto, te mostrará algo como esto: &lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make en_GB.gmo&lt;br /&gt;
 rm -f en_GB.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o en_GB.gmo en_GB.po&lt;br /&gt;
 1354 translated messages&lt;br /&gt;
&lt;br /&gt;
Este es un ejemplo de una traducción correcta y completa.&lt;br /&gt;
&lt;br /&gt;
Como &amp;quot;correcta&amp;quot; debes entender a una traducción que bien completa o no, puede ser usada ya que no contiene errores de sintaxis.&lt;br /&gt;
&lt;br /&gt;
Una traducción e incompleta sería la siguiente:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make ru.gmo&lt;br /&gt;
 rm -f ru.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o ru.gmo ru.po&lt;br /&gt;
 1333 translated messages, 79 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Como puedes ver, 79 lineas todavía estan pendientes de ser traducidas.&lt;br /&gt;
&lt;br /&gt;
También puedes tener traducciones &amp;quot;dudosas&amp;quot; (ingles=fuzzy). Las traducciones dudosas son aquellas que ha detectado el [http://www.gnu.org/software/gettext gettext], y probablemente son erróneas. Estas quedan marcadas mediante la adicción de un texto ''#, fuzzy'' a la derecha de la traducción. Por lo que si ves que tienes  &amp;quot;fuzzy translations&amp;quot;, busca estas líenas y corrígelas (o simplemente borra el texto ''#, fuzzy'' si ves que están bien).&lt;br /&gt;
&lt;br /&gt;
Un ejemplo de traducciones dudosas es el siguiente:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make hr.gmo&lt;br /&gt;
 rm -f hr.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o hr.gmo hr.po&lt;br /&gt;
 544 translated messages, 412 fuzzy translations, 443 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Por último la traducción puede contener errores, en estos casos aparece un texto que explica cada uno de ellos:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make de.gmo&lt;br /&gt;
 rm -f de.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o de.gmo de.po&lt;br /&gt;
 de.po:88: number of format specifications in 'msgid' and 'msgstr' does not match&lt;br /&gt;
 /usr/bin/msgfmt: found 1 fatal error&lt;br /&gt;
 make: *** [de.gmo] Error 1&lt;br /&gt;
&lt;br /&gt;
En este jemplo aparece un error en la línea 88, por lo que no creará el ejecutable hasta que sea corregido.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Probando con el [[aMule]] ===&lt;br /&gt;
&lt;br /&gt;
Puedes probar la traducción [[compile|re-compilando el  aMule]] y viendo como queda.&lt;br /&gt;
&lt;br /&gt;
Si tu lenguaje no estuviera disponible en el [[aMule]], debes añadir el mismo a la base de datos, para que el [[aMule]] sepa que existe y se pueda&lt;br /&gt;
[[compile|compilar]] con ese lenguaje. &lt;br /&gt;
Para hacer esto debes añadir el código del lenguaje al fichero ''po/LINGUAS''  (un lenguaje por línea).&lt;br /&gt;
&lt;br /&gt;
A continuación [[compile]|compila] el [[aMule]] normalmente. Si necesitas ayuda, [[compile|pincha aquí]].&lt;br /&gt;
&lt;br /&gt;
== Traduciones avanzadas ==&lt;br /&gt;
&lt;br /&gt;
Si no eres nuevo en el desarrollo de aplicaciones en Linux o eres lo sufientemente impaciente para tener siempre actualizada la traducción a tu lenguaje.....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Genera el fichero ''source_strings.po'' tu mismo!&lt;br /&gt;
&lt;br /&gt;
Como lo hacemos?&lt;br /&gt;
&lt;br /&gt;
* Desacarga la última versión del [[aMule]] [http://www.gnu.org/software/cvs CVS] desde http://amule.hirnriss.net&lt;br /&gt;
&lt;br /&gt;
* Descomprime el archivo, ves al directorio raiz (root) y genera  [http://www.gnu.org/software/make Makefiles]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:::'''tar -xjf aMule-cvs-20041009.tar.bz2'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''cd amule-cvs'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''./configure'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Actualiza el fichero ''POTFILE.in'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:::'''grep -m 1 '_(' `find * -name &amp;quot;*.cpp&amp;quot;` | cut -d: -f1 &amp;gt; po/POTFILES.in'''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Genera el nuevo fichero ''source_strings.po'':&lt;br /&gt;
&lt;br /&gt;
:::&amp;lt;code&amp;gt;&lt;br /&gt;
:::'''cd po'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot amule.pot.old'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''make amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot source_strings.po'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot.old amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Translations#How_to_proceed|Traduce]] el nuevo ''source_strings.po'' y [http://forum.amule.org/board.php?boardid=40 envíalo]!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Thepolish|Thepolish]] 22:46, 9 Oct 2004 (CEST)&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Translations-es</id>
		<title>Translations-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Translations-es"/>
				<updated>2006-10-23T16:29:15Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Translations|Inglés]] | [[Translations-pt|Portugués]] | [[Translations-ko_KR|Coreano]] | [[Translations-ru|Ruso]]| [[Translations-cn|Chino]] | '''Español''' |&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Es muy facil ser un traductor de [[aMule]] a tu idioma, actualmente soporta [http://www.unicode.org Unicode], por lo que no hay limitación para caracteres Chinos, Coreanos, Árabes ... es posible realizar cualquier traducción.&lt;br /&gt;
&lt;br /&gt;
Pero las traducciones necesitan de traductores, no temas entrar en el mundo de [[aMule]]!&lt;br /&gt;
&lt;br /&gt;
No es necesario programar en lenguaje [http://gcc.gnu.org C++] o [http://en.wikipedia.org/wiki/Klingon_language Klingon] para ser un traductor!&lt;br /&gt;
Solamente necesitas conocer tu propia lengua (!!) y algún conocimiento de ingés!&lt;br /&gt;
&lt;br /&gt;
Interesante? entonces comenzamos&lt;br /&gt;
&lt;br /&gt;
== Como comenzar ==&lt;br /&gt;
&lt;br /&gt;
De vez en cuando (una vez al mes) posteamos un fichero de texto llamado &lt;br /&gt;
''source_strings.po'' en el foro [http://forum.amule.org/thread.php?threadid=1097 Translation].&lt;br /&gt;
&lt;br /&gt;
Descarga el fichero an ábrelo con [http://i18n.kde.org/tools/kbabel/ KBabel] si utilizas [http://www.kde.org KDE], [http://www.poedit.org PoEdit] o el  [http://gtranslator.sourceforge.net/ gTranslator] si usas [http://www.gnome.org Gnome].&lt;br /&gt;
&lt;br /&gt;
Previamente no debes olvidar el marcar tus preferencias en el &lt;br /&gt;
[http://i18n.kde.org/tools/kbabel/ KBabel], [http://www.poedit.org PoEdit] o [http://gtranslator.sourceforge.net/ gTranslator] incluyendo el nombre, e-mail, grupo de caracteres y demás.....&lt;br /&gt;
&lt;br /&gt;
Esto es lo que verás con [http://i18n.kde.org/tools/kbabel KBabel]:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb1.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
En la esquina superior izquierda tienes el texto en inglés.&lt;br /&gt;
&lt;br /&gt;
En la esquina superior derecha tienes el fichero del que procede el texto.&lt;br /&gt;
&lt;br /&gt;
Ahora solo tienes que escribir el texto traducido en la esquina inferior izquierda&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb2.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#ff0000&amp;gt;Debes tener especial cuidado en copiar todos los caracteres especiales como &amp;amp;, %i, \n, etc... en el texto traducido y respetar los espacios al inicio y final del texto.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE''', revisa [[format specifiers|este documento]] para saber cuales son los caracteres que no deben ser modificados.&lt;br /&gt;
&lt;br /&gt;
Continua con todos los textos del fichero y una vez finalizado guárdalo.&lt;br /&gt;
&lt;br /&gt;
Has acabado la traducción!, envíala al &lt;br /&gt;
[http://www.amule-project.net/amule/board.php?boardid=40 foro de traducciones del aMULE] y miles de personas te estarán agradecidas :)&lt;br /&gt;
&lt;br /&gt;
== Como continuar una traducción ya empezada ==&lt;br /&gt;
&lt;br /&gt;
Cuando la traducción ya ha sido iniciada, no será necesario que vuelvas a traducir los textos ya traducidos del fichero ''source_strings.po'' !&lt;br /&gt;
&lt;br /&gt;
Hay un proceso automático que se encarga de incluir los textos ya traducidos en el fichero ''source_strings.po''&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, imagínate que deseas continuar la traducción al francés:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Descarga la última ''source_strings.po'' del  [http://forum.amule.org/thread.php?threadid=1097 foro], y la antigua ''fr.po'' que se encontraba en la versión del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
* Integra la antigua y nueva versión escribiendo: &lt;br /&gt;
&lt;br /&gt;
'''msgmerge --no-fuzzy-matching -o new_fr.po fr.po source_strings.po'''&lt;br /&gt;
&lt;br /&gt;
Alternativamente podrías usar las herramientas incluidas en el &lt;br /&gt;
[http://i18n.kde.org/tools/kbabel KBabel] o en el    [http://poedit.sourceforge.net PoEdit] (consulta la ayuda de estas aplicaciones)&lt;br /&gt;
&lt;br /&gt;
A continuación comienza la traducción en el fichero ''new_fr.po'' como lo hiciste anteriormente en el fichero ''source_srings.po'', simplemente tendrás que traducir los textos que no fueron traducidos anteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Probando la traducción ==&lt;br /&gt;
&lt;br /&gt;
=== Antes de empezar ===&lt;br /&gt;
&lt;br /&gt;
Una vez guardado el fichero, puedes re-[[compile]|compilar] el [[aMule]], o simplemnte puedes comprobar que el fichero es correcto (este proceso se realiza automáticamente cuando [[compile|compilas el fichero]]).&lt;br /&gt;
&lt;br /&gt;
La segunda opción tiene algunas ventajas, y es que no es necesario crear todos los ejecutables del [[aMule]], solamente necesitas crear el ejecutable de la traducción.&lt;br /&gt;
&lt;br /&gt;
El procedimiento mas indicado es intentarlo [[#Testing only the translation file|solo con el fichero de prueba]] hasta que lo logremos, y una vez finalizado[[#Testing with aMule|compilar el aMule con las traducciones]] para ver como funciona.&lt;br /&gt;
&lt;br /&gt;
=== Probando solamente el fichero de traducción ===&lt;br /&gt;
&lt;br /&gt;
Para hacerlo, primero debes ejecutar ''./configure''.&lt;br /&gt;
&lt;br /&gt;
Ahora, una vez que hayas copiado tu fichero en el directorio ''po/'', ejecuta ''make '''translation_language'''.gmo'', ejemplo ''make en_GB.gmo''&lt;br /&gt;
&lt;br /&gt;
Si la traducción es correcto, te mostrará algo como esto: &lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make en_GB.gmo&lt;br /&gt;
 rm -f en_GB.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o en_GB.gmo en_GB.po&lt;br /&gt;
 1354 translated messages&lt;br /&gt;
&lt;br /&gt;
Este es un ejemplo de una traducción correcta y completa.&lt;br /&gt;
&lt;br /&gt;
Como &amp;quot;correcta&amp;quot; debes entender a una traducción que bien completa o no, puede ser usada ya que no contiene errores de sintaxis.&lt;br /&gt;
&lt;br /&gt;
Una traducción e incompleta sería la siguiente:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make ru.gmo&lt;br /&gt;
 rm -f ru.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o ru.gmo ru.po&lt;br /&gt;
 1333 translated messages, 79 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Como puedes ver, 79 lineas todavía estan pendientes de ser traducidas.&lt;br /&gt;
&lt;br /&gt;
También puedes tener traducciones &amp;quot;dudosas&amp;quot; (ingles=fuzzy). Las traducciones dudosas son aquellas que ha detectado el [http://www.gnu.org/software/gettext gettext], y probablemente son erróneas. Estas quedan marcadas mediante la adicción de un texto ''#, fuzzy'' a la derecha de la traducción. Por lo que si ves que tienes  &amp;quot;fuzzy translations&amp;quot;, busca estas líenas y corrígelas (o simplemente borra el texto ''#, fuzzy'' si ves que están bien).&lt;br /&gt;
&lt;br /&gt;
Un ejemplo de traducciones dudosas es el siguiente:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make hr.gmo&lt;br /&gt;
 rm -f hr.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o hr.gmo hr.po&lt;br /&gt;
 544 translated messages, 412 fuzzy translations, 443 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Por último la traducción puede contener errores, en estos casos aparece un texto que explica cada uno de ellos:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make de.gmo&lt;br /&gt;
 rm -f de.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o de.gmo de.po&lt;br /&gt;
 de.po:88: number of format specifications in 'msgid' and 'msgstr' does not match&lt;br /&gt;
 /usr/bin/msgfmt: found 1 fatal error&lt;br /&gt;
 make: *** [de.gmo] Error 1&lt;br /&gt;
&lt;br /&gt;
En este jemplo aparece un error en la línea 88, por lo que no creará el ejecutable hasta que sea corregido.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Probando con el [[aMule]] ===&lt;br /&gt;
&lt;br /&gt;
Puedes probar la traducción [[compile|re-compilando el  aMule]] y viendo como queda.&lt;br /&gt;
&lt;br /&gt;
Si tu lenguaje no estuviera disponible en el [[aMule]], debes añadir el mismo a la base de datos, para que el [[aMule]] sepa que existe y se pueda&lt;br /&gt;
[[compile|compilar]] con ese lenguaje. &lt;br /&gt;
Para hacer esto debes añadir el código del lenguaje al fichero ''po/LINGUAS''  (un lenguaje por línea).&lt;br /&gt;
&lt;br /&gt;
A continuación [[compile]|compila] el [[aMule]] normalmente. Si necesitas ayuda, [[compile|pincha aquí]].&lt;br /&gt;
&lt;br /&gt;
== Traduciones avanzadas ==&lt;br /&gt;
&lt;br /&gt;
Si no eres nuevo en el desarrollo de aplicaciones en Linux o eres lo sufientemente impaciente para tener siempre actualizada la traducción a tu lenguaje.....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Genera el fichero ''source_strings.po'' tu mismo!&lt;br /&gt;
&lt;br /&gt;
Como lo hacemos?&lt;br /&gt;
&lt;br /&gt;
* Desacarga la última versión del [[aMule]] [http://www.gnu.org/software/cvs CVS] desde http://amule.hirnriss.net&lt;br /&gt;
&lt;br /&gt;
* Descomprime el archivo, ves al directorio raiz (root) y genera  [http://www.gnu.org/software/make Makefiles]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''tar -xjf aMule-cvs-20041009.tar.bz2'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''cd amule-cvs'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''./configure'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Actualiza el fichero ''POTFILE.in'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''grep -m 1 '_(' `find * -name &amp;quot;*.cpp&amp;quot;` | cut -d: -f1 &amp;gt; po/POTFILES.in'''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Genera el nuevo fichero ''source_strings.po'':&lt;br /&gt;
&lt;br /&gt;
:::&amp;lt;code&amp;gt;&lt;br /&gt;
:::'''cd po'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot amule.pot.old'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''make amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot source_strings.po'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot.old amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Translations#How_to_proceed|Traduce]] el nuevo ''source_strings.po'' y [http://forum.amule.org/board.php?boardid=40 envíalo]!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Thepolish|Thepolish]] 22:46, 9 Oct 2004 (CEST)&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Translations-ru</id>
		<title>Translations-ru</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Translations-ru"/>
				<updated>2006-10-23T16:18:39Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Translations|English]] | [[Translations-pt|Português]] | [[Translations-ko_KR|Korean]] | '''Russian'''| [[Translations-cn|Chinese]]| [[Translations-es|Spanish]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Вступление ==&lt;br /&gt;
&lt;br /&gt;
[[aMule]] очень легко переводить на другие языки. Теперь в нем поддерживается и [http://www.unicode.org Unicode], поэтому больше нет ограничений на используемые символы. Можно сделать перевод на китайский, корейский, арабский, иврит (...) на какой угодно язык!&lt;br /&gt;
&lt;br /&gt;
Но для этого нужны переводчики, так что смело присоединяйтесь к миру [[aMule]]!&lt;br /&gt;
&lt;br /&gt;
Чтобы стать переводчиком, необязательно уметь программировать на [http://gcc.gnu.org C++] или [http://en.wikipedia.org/wiki/Klingon_language Klingon]! Достаточно знать свой родной язык (!!) и немного английский!&lt;br /&gt;
&lt;br /&gt;
Интересно? Тогда за дело!&lt;br /&gt;
&lt;br /&gt;
== Как начать ==&lt;br /&gt;
&lt;br /&gt;
Время от времени (примерно раз в месяц) мы выкладываем текстовый файл, который называется ''source_strings.po'', в разделе форума, посвященном [http://forum.amule.org/thread.php?threadid=1097 Переводам].&lt;br /&gt;
&lt;br /&gt;
Скачайте его и откройте программой [http://i18n.kde.org/tools/kbabel/ KBabel], если вы пользуетесь [http://www.kde.org KDE], либо [http://www.poedit.org PoEdit] или [http://gtranslator.sourceforge.net/ gTranslator], если у вас [http://www.gnome.org Gnome].&lt;br /&gt;
&lt;br /&gt;
Перед этим не забудьте настроить [http://i18n.kde.org/tools/kbabel/ KBabel], [http://www.poedit.org PoEdit] или [http://gtranslator.sourceforge.net/ gTranslator], то есть указать ваше имя, адрес электронной почты, кодировку и т.д.&lt;br /&gt;
&lt;br /&gt;
Вот, что будет видно в окне [http://i18n.kde.org/tools/kbabel KBabel]:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb1.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
В верхнем левом углу находится английская строка.&lt;br /&gt;
&lt;br /&gt;
В верхнем правом углу указано имя файла, в котором эта строка используется.&lt;br /&gt;
&lt;br /&gt;
Все, что вам надо сделать -- ввести перевод данной строки в поле в левом нижнем углу:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb2.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#ff0000&amp;gt;ОБЯЗАТЕЛЬНО скопируйте в переведенную строку все специальные символы, например &amp;amp;, %i, \n и сохраните начальные и конечные пробелы.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста''', изучите также [[format specifiers|этот документ]] на предмет символов, которые нельзя изменять.&lt;br /&gt;
&lt;br /&gt;
Обработайте таким образом все остальные строки, сохраните файл и...&lt;br /&gt;
&lt;br /&gt;
Перевод закончен! Теперь выложите его в [http://www.amule-project.net/amule/board.php?boardid=40 разделе форума aMule, посвященном переводам] и вам будут благодарны тысячи людей. :)&lt;br /&gt;
&lt;br /&gt;
== Как продолжить уже начатый перевод ==&lt;br /&gt;
&lt;br /&gt;
Если кто-то уже начал перевод, то вам не придется переписывать уже переведенные строки из предыдущего файла ''source_strings.po''!&lt;br /&gt;
&lt;br /&gt;
Процесс объединения уже переведенных строк с новым файлом ''source_strings.po'' можно автоматизировать.&lt;br /&gt;
&lt;br /&gt;
Например, вы хотите продолжить перевод на французский:&lt;br /&gt;
&lt;br /&gt;
* Возьмите новый файл ''source_strings.po'' с [http://forum.amule.org/thread.php?threadid=1097 форума] и старый файл ''fr.po'' из предыдущей версии [[aMule]].&lt;br /&gt;
&lt;br /&gt;
* Объедините оба файла, напечатав: &lt;br /&gt;
&lt;br /&gt;
'''msgmerge --no-fuzzy-matching -o new_fr.po fr.po source_strings.po'''&lt;br /&gt;
&lt;br /&gt;
Это же объединение можно произвести и встроенными в [http://i18n.kde.org/tools/kbabel KBabel] и [http://poedit.sourceforge.net PoEdit] инструментами (проконсультируйтесь со справочными руководствами к этим программам).&lt;br /&gt;
&lt;br /&gt;
Теперь действуйте с этим объединенным файлом ''new_fr.po'' так же, как с первоначальным файлом ''source_srings.po'', с той разницей, что переводить надо будет только новые (добавленные) строки.&lt;br /&gt;
&lt;br /&gt;
== Тестирование вашего перевода ==&lt;br /&gt;
&lt;br /&gt;
=== Первые замечания ===&lt;br /&gt;
&lt;br /&gt;
После того, как вы перевели файл, можете сразу [[compile|скомпилировать]] [[aMule]] или только проверить ваш файл на корректность (при [[compile|компиляции aMule]] такая проверка происходит автоматически).&lt;br /&gt;
&lt;br /&gt;
Второй вариант хорош тем, что надо будет собирать не весь [[aMule]], а только ваш перевод.&lt;br /&gt;
&lt;br /&gt;
Рекомендуется всегда сначала [[#Проверка_только_переведенного_файла|тестировать файл перевода]] на корректность, а только потом [[#Проверка_перевода_в_aMule|компилировать aMule с поддержкой этого перевода]] и смотреть, как он выглядит.&lt;br /&gt;
&lt;br /&gt;
=== Проверка только переведенного файла ===&lt;br /&gt;
&lt;br /&gt;
Для этого сначала запустите ''./configure''.&lt;br /&gt;
&lt;br /&gt;
Теперь, когда вы переместили ваш файл перевода в каталог ''po/'', выполните команду ''make '''язык_перевода'''.gmo'', например ''make en_GB.gmo''&lt;br /&gt;
&lt;br /&gt;
Если с вашим переводом все в порядке, то вы увидите примерно такое сообщение&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make en_GB.gmo&lt;br /&gt;
 rm -f en_GB.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o en_GB.gmo en_GB.po&lt;br /&gt;
 1354 translated messages&lt;br /&gt;
&lt;br /&gt;
Это был пример правильного и полного перевода.&lt;br /&gt;
&lt;br /&gt;
Под &amp;quot;правильным&amp;quot; имеется в виду перевод, который не содержит синтаксических ошибок и поэтому готов к использованию, хотя он может быть не закончен.&lt;br /&gt;
&lt;br /&gt;
В случае правильного, но неполного перевода будет показано следующее:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make ru.gmo&lt;br /&gt;
 rm -f ru.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o ru.gmo ru.po&lt;br /&gt;
 1333 translated messages, 79 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Как видите, 79 строк здесь еще не переведены.&lt;br /&gt;
&lt;br /&gt;
Существуют также сомнительные переводы. Это переводы, которые угадывает [http://www.gnu.org/software/gettext gettext], но скорее всего они ошибочны (хотя вероятно не очень). Они отмечаются строкой ''#, fuzzy'' прямо перед переводом. Так что, если у вас будут сомнительные переводы, ищите такие строки и исправляйте их (или просто удаляйте ''#, fuzzy'' если со строками все в порядке).&lt;br /&gt;
&lt;br /&gt;
Пример, в котором есть сомнительные переводы:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make hr.gmo&lt;br /&gt;
 rm -f hr.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o hr.gmo hr.po&lt;br /&gt;
 544 translated messages, 412 fuzzy translations, 443 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Наконец, в вашем переводе могут быть ошибки. В этом случае будут указаны все найденные ошибки и объяснение каждой из них:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make de.gmo&lt;br /&gt;
 rm -f de.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o de.gmo de.po&lt;br /&gt;
 de.po:88: number of format specifications in 'msgid' and 'msgstr' does not match&lt;br /&gt;
 /usr/bin/msgfmt: found 1 fatal error&lt;br /&gt;
 make: *** [de.gmo] Error 1&lt;br /&gt;
&lt;br /&gt;
В этом примере найдена ошибка в строке 88 и файл перевода не будет сгенерирован, пока ошибка не будет исправлена.&lt;br /&gt;
&lt;br /&gt;
=== Проверка перевода в [[aMule]] ===&lt;br /&gt;
&lt;br /&gt;
Чтобы проверить перевод, вы можете [[compile|скомпилировать aMule]] и посмотреть, как ваш перевод будет там выглядеть.&lt;br /&gt;
&lt;br /&gt;
Если ваш язык не был доступен в [[aMule]], добавьте его в базу, чтобы [[aMule]] знал о нем и [[compile|скомпилировался]] с его поддержкой.&lt;br /&gt;
Для этого добавьте код вашего языка в файл ''po/LINGUAS'' (там каждый язык в отдельной строке).&lt;br /&gt;
&lt;br /&gt;
Теперь [[compile|скомпилируйте]] [[aMule]] как обычно. Если при этом вам понадобится помощь, то [[compile|изучите это руководство]].&lt;br /&gt;
&lt;br /&gt;
== Перевод для продвинутых ==&lt;br /&gt;
&lt;br /&gt;
Если вы не новичок в разработке под Linux или очень нетерпеливы и хотите всегда иметь самый свежий перевод...&lt;br /&gt;
&lt;br /&gt;
Создайте файл ''source_strings.po'' сами!&lt;br /&gt;
&lt;br /&gt;
Как это сделать?&lt;br /&gt;
&lt;br /&gt;
* Скачайте последний [http://www.gnu.org/software/cvs CVS] снимок [[aMule]] с сайта http://amule.hirnriss.net&lt;br /&gt;
&lt;br /&gt;
* Распакуйте архив, перейдите в его корневой каталог и сгенерируйте [http://www.gnu.org/software/make Makefiles]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''tar -xjf aMule-cvs-20041009.tar.bz2'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''cd amule-cvs'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''./configure'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Обновите файл ''POTFILE.in'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''grep -m 1 '_(' `find * -name &amp;quot;*.cpp&amp;quot;` | cut -d: -f1 &amp;gt; po/POTFILES.in'''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Создайте новый файл ''source_strings.po'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''cd po'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mv amule.pot amule.pot.old'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''make amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mv amule.pot source_strings.po'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mv amule.pot.old amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Translations-ru#Как_начать|Переведите]] этот файл ''source_strings.po'' и [http://forum.amule.org/board.php?boardid=40 выложите его на форуме]!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Thepolish|Thepolish]] 22:46, 9 Oct 2004 (CEST)&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Translations-pt</id>
		<title>Translations-pt</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Translations-pt"/>
				<updated>2006-10-23T16:15:14Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Translations|English]] | '''Português''' | [[Translations-ko_KR|Korean]] | [[Translations-ru|Russian]]| [[Translations-cn|Chinese]]| [[Translations-es|Espanhol]] &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introdução ==&lt;br /&gt;
&lt;br /&gt;
[[aMule]] é muito fácil de ser traduzido para o seu idioma, ele agora é sustentado por [http://www.unicode.org Unicode], assim ele não possui limitações de caracteres de tradução em Chines, Coreano, Árabe ... todas traduções são possiveis.&lt;br /&gt;
&lt;br /&gt;
Mais a Tradução precisa de tradutores, então não hesitem em entrar na aventura do [[aMule]]!&lt;br /&gt;
&lt;br /&gt;
Não necessita de saber programar [http://gcc.gnu.org C++] ou [http://en.wikipedia.org/wiki/Klingon_language Klingon] para ser tradutor!&lt;br /&gt;
Apenas precisa de saber a sua própria língua (!!) e algum inglês básico!&lt;br /&gt;
&lt;br /&gt;
Interessado? Então vamos!&lt;br /&gt;
&lt;br /&gt;
== Como começar ==&lt;br /&gt;
&lt;br /&gt;
From time to time (about once a month) we post a text file called ''source_strings.po'' on [http://forum.amule.org/thread.php?threadid=1097 Translation] forum.&lt;br /&gt;
&lt;br /&gt;
Just download it and open it with [http://i18n.kde.org/tools/kbabel/ KBabel] if you use [http://www.kde.org KDE], [http://www.poedit.org PoEdit] or [http://gtranslator.sourceforge.net/ gTranslator] if you use [http://www.gnome.org Gnome].&lt;br /&gt;
&lt;br /&gt;
Previously, don't forget to set your preferences in [http://i18n.kde.org/tools/kbabel/ KBabel], [http://www.poedit.org PoEdit] or [http://gtranslator.sourceforge.net/ gTranslator] to set your name, email, character set, and so on...&lt;br /&gt;
&lt;br /&gt;
That is what you will see with [http://i18n.kde.org/tools/kbabel KBabel]:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb1.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
On up left corner, you have the english string.&lt;br /&gt;
&lt;br /&gt;
On up right corner, the name of the file from which come the string.&lt;br /&gt;
&lt;br /&gt;
So, you just have now to type the translated string in the left down corner like this:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb2.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#ff0000&amp;gt;Be VERY carefull to copy all special characters like &amp;amp;, %i, \n, etc... in the translated string also and to keep starting and ending spaces.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''PLEASE''', take a look at [[format specifiers|this document]] to know what are the characters which shouldn't be modified.&lt;br /&gt;
&lt;br /&gt;
Proceed like this for all strings, save your file and...&lt;br /&gt;
&lt;br /&gt;
Translation is finished! Just post it on [http://www.amule-project.net/amule/board.php?boardid=40 aMule's translations forum] and thousands of people will thank you :)&lt;br /&gt;
&lt;br /&gt;
== Como continuar uma tradução já iniciada ==&lt;br /&gt;
&lt;br /&gt;
When a translation have begun, you will not re-write all the already translated strings in the previous ''source_strings.po'' !&lt;br /&gt;
&lt;br /&gt;
So, the process is automated to mix the already translated strings in the new ''source_strings.po''&lt;br /&gt;
&lt;br /&gt;
For example, imagine you want to continue the french translation:&lt;br /&gt;
&lt;br /&gt;
* Get the new ''source_strings.po'' from [http://forum.amule.org/thread.php?threadid=1097 forum], and the old ''fr.po'' already in the previous [[aMule]] release.&lt;br /&gt;
&lt;br /&gt;
* Mix the old and new file by typing: &lt;br /&gt;
&lt;br /&gt;
'''msgmerge --no-fuzzy-matching -o new_fr.po fr.po source_strings.po'''&lt;br /&gt;
&lt;br /&gt;
You can also use the built-in merging tools in [http://i18n.kde.org/tools/kbabel KBabel] or [http://poedit.sourceforge.net PoEdit] (consult their respective help page)&lt;br /&gt;
&lt;br /&gt;
Then, proceed with the merged ''new_fr.po'' like the initial ''source_srings.po'', except that you will just have to translate the newly added strings.&lt;br /&gt;
&lt;br /&gt;
== Testando a sua tradução ==&lt;br /&gt;
&lt;br /&gt;
=== First notes ===&lt;br /&gt;
&lt;br /&gt;
After you're done with translating the file, you &lt;br /&gt;
can just re[[compile]] [[aMule]], or you can you can first test to see if the file you've done is ok (this step is done automatically when [[compile|compiling aMule]]).&lt;br /&gt;
&lt;br /&gt;
What's good about the latter option, is that you don't have to build the whole [[aMule]], but only generate a binnary of your translation.&lt;br /&gt;
&lt;br /&gt;
The recommended procedure is to try [[#Testing only the translation file|translation file test]] until it succeeds, and then [[#Testing with aMule|compile aMule with the translation]] to see how it works.&lt;br /&gt;
&lt;br /&gt;
=== Testando apenas o ficheiro de tradução ===&lt;br /&gt;
&lt;br /&gt;
To do this, you must first run ''./configure''.&lt;br /&gt;
&lt;br /&gt;
Now, once you have moved your translation file into the ''po/'' directory, run ''make '''translation_language'''.gmo'' as in ''make en_GB.gmo''&lt;br /&gt;
&lt;br /&gt;
If your translation is ok, it will show sowething like&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make en_GB.gmo&lt;br /&gt;
 rm -f en_GB.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o en_GB.gmo en_GB.po&lt;br /&gt;
 1354 translated messages&lt;br /&gt;
&lt;br /&gt;
The above example is a successful and complete translation.&lt;br /&gt;
&lt;br /&gt;
As &amp;quot;successful&amp;quot; you must understand any translation which, either complete or not, can be used since it contains no syntax errors.&lt;br /&gt;
&lt;br /&gt;
A successful but incomplete translation would be this other example:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make ru.gmo&lt;br /&gt;
 rm -f ru.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o ru.gmo ru.po&lt;br /&gt;
 1333 translated messages, 79 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
As you can see, 79 lines in that translation still need to be translated.&lt;br /&gt;
&lt;br /&gt;
Also, you could have some fuzzy translations. Fuzzy translations are those which have been guessed by [http://www.gnu.org/software/gettext gettext], but are probably wrong (allthough possibly close). They are marked by adding a line containing ''#, fuzzy'' right over the translation. So, if you see you have fuzzy translations, search for those lines and fix them (or just remove the ''#, fuzzy'' line if the lines were ok).&lt;br /&gt;
&lt;br /&gt;
An example of a fuzzy translation output is:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make hr.gmo&lt;br /&gt;
 rm -f hr.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o hr.gmo hr.po&lt;br /&gt;
 544 translated messages, 412 fuzzy translations, 443 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Finally, your translation could contain errors. In such cases, you will be reported all errors in your file and an explanation of each of them:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make de.gmo&lt;br /&gt;
 rm -f de.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o de.gmo de.po&lt;br /&gt;
 de.po:88: number of format specifications in 'msgid' and 'msgstr' does not match&lt;br /&gt;
 /usr/bin/msgfmt: found 1 fatal error&lt;br /&gt;
 make: *** [de.gmo] Error 1&lt;br /&gt;
&lt;br /&gt;
In the above example, the translation has an error in line 88, so no binnary translation will be generated from it until it is fixed.&lt;br /&gt;
&lt;br /&gt;
=== Testando com [[aMule]] ===&lt;br /&gt;
&lt;br /&gt;
You can test your translation by [[compile|recompiling aMule]] and seeing how it looks.&lt;br /&gt;
&lt;br /&gt;
If your language wasn't available in [[aMule]], you must add it to the database, so that [[aMule]] knows it exists and [[compile]]s with it. &lt;br /&gt;
To do so, add your language's code to the ''po/LINGUAS'' file (one language per line).&lt;br /&gt;
&lt;br /&gt;
Now [[compile]] [[aMule]] normally. If you need help, [[compile|follow this guide]].&lt;br /&gt;
&lt;br /&gt;
== Traduções Avançadas ==&lt;br /&gt;
&lt;br /&gt;
If you aren't a newbie in development and under Linux or you are impatient and always want to have an up-to-date translation...&lt;br /&gt;
&lt;br /&gt;
Generate your ''source_strings.po'' yourself!&lt;br /&gt;
&lt;br /&gt;
How to proceed?&lt;br /&gt;
&lt;br /&gt;
* Download the latest [[aMule]] [http://www.gnu.org/software/cvs CVS] snapshot from http://amule.hirnriss.net&lt;br /&gt;
&lt;br /&gt;
* Uncompress the archive, go to the root directory and generate the [http://www.gnu.org/software/make Makefiles]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''tar -xjf aMule-cvs-20041009.tar.bz2'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''cd amule-cvs'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''./configure'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Update the ''POTFILE.in'' file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''grep -m 1 '_(' `find * -name &amp;quot;*.cpp&amp;quot;` | cut -d: -f1 &amp;gt; po/POTFILES.in'''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Generate the new ''source_strings.po'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''cd po'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mv amule.pot amule.pot.old'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''make amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mv amule.pot source_strings.po'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mv amule.pot.old amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Translations#How_to_proceed|Translate]] the new ''source_strings.po'' and [http://forum.amule.org/board.php?boardid=40 post it]!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Thepolish|Thepolish]] 22:46, 9 Oct 2004 (CEST)&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Translations-cn</id>
		<title>Translations-cn</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Translations-cn"/>
				<updated>2006-10-23T16:11:49Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Translations|English]]| [[Translations-pt|Português]] | [[Translations-ko_KR|Korean]] | [[Translations-ru|Russian]]| '''Chinese'''| [[Translations-es|Spanish]]|  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 介绍 ==&lt;br /&gt;
&lt;br /&gt;
[[aMule]]很容易翻译成各种语言。加上现在也已经支持[http://www.unicode.org Unicode]，因此不再受限于西方语言字符集。汉语，韩语，阿拉伯语，西伯来语（...）都可以支持。&lt;br /&gt;
&lt;br /&gt;
翻译需要翻译者，所以请立即加入[[aMule]]历险！&lt;br /&gt;
&lt;br /&gt;
作翻译不需要知道如何写[http://gcc.gnu.org C++]代码或者 [http://en.wikipedia.org/wiki/Klingon_language 克林根语]！你只需要知道你自己的母语（!!）和一些基本的英语即可。&lt;br /&gt;
&lt;br /&gt;
感兴趣么？开始干吧。&lt;br /&gt;
&lt;br /&gt;
== 如何实施 ==&lt;br /&gt;
&lt;br /&gt;
我们时不时（大约一个月一次）在[http://forum.amule.org/thread.php?threadid=1097 翻译]论坛公布一个文本文件''source_strings.po''。&lt;br /&gt;
&lt;br /&gt;
下载这个文件并打开它，如果你使用[http://www.kde.org KDE]用[http://i18n.kde.org/tools/kbabel/ KBabel]，如果你使用[http://www.gnome.org Gnome]用[http://www.poedit.org PoEdit]或者[http://gtranslator.sourceforge.net/ gTranslator]。&lt;br /&gt;
&lt;br /&gt;
别忘了在[http://i18n.kde.org/tools/kbabel/ KBabel]，[http://www.poedit.org PoEdit]或者[http://gtranslator.sourceforge.net/ gTranslator]的参数选择里设置你的姓名，email，字符集等等。&lt;br /&gt;
&lt;br /&gt;
这是使用[http://i18n.kde.org/tools/kbabel KBabel]的界面：&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb1.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
在左上角，是英文字串。&lt;br /&gt;
&lt;br /&gt;
在右上角，是包含这个字串的文件名。&lt;br /&gt;
&lt;br /&gt;
你只需要在左下角输入翻译的字串，象这样：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb2.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#ff0000&amp;gt;在翻译的字串中要小心拷贝所有的特殊字符，比如&amp;amp;，%i，\n，等等，另外注意保留首尾空格&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''注意''', 看下[[format specifiers|本文档]] 了解那些字符不需要被修改。&lt;br /&gt;
&lt;br /&gt;
如此这般处理所有的字串后保存文件，然后...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
翻译完成了！把它公布在[http://www.amule-project.net/amule/board.php?boardid=40 aMule翻译论坛]大家会感谢你的 :)&lt;br /&gt;
&lt;br /&gt;
== 如何继续一个已经存在的翻译 ==&lt;br /&gt;
&lt;br /&gt;
如果一个翻译已经开始了，你不用重写所有''source_strings.po''中已经翻译的字串！&lt;br /&gt;
&lt;br /&gt;
因此，需要自动把已经翻译的字串整合到新的''source_strings.po''。&lt;br /&gt;
&lt;br /&gt;
比如，假设你开始翻译法语版本：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 从[http://forum.amule.org/thread.php?threadid=1097 forum]拿到新的''source_strings.po''，而旧的''fr.po''已经在以前的[[aMule]]版本中。&lt;br /&gt;
&lt;br /&gt;
* 混合旧文件和新文件，输入: &lt;br /&gt;
&lt;br /&gt;
'''msgmerge --no-fuzzy-matching -o new_fr.po fr.po source_strings.po'''&lt;br /&gt;
&lt;br /&gt;
你也可以使用[http://i18n.kde.org/tools/kbabel KBabel]或者 [http://poedit.sourceforge.net PoEdit]内置的合并工具（参考相应的帮助手册）。&lt;br /&gt;
&lt;br /&gt;
然后，和以前的''source_srings.po''一样处理合并的''new_fr.po''，把新加入的字串翻译出来。&lt;br /&gt;
&lt;br /&gt;
== 测试你的翻译 ==&lt;br /&gt;
&lt;br /&gt;
=== First notes ===&lt;br /&gt;
&lt;br /&gt;
翻译完文件后，你需要重[[编译]] [[aMule]]，或者先测试一下你得翻译是否成功（这一步在编译[[compile|aMule]]得时候自动做了）&lt;br /&gt;
&lt;br /&gt;
后一个选项的好处是，你不需要重新编译整个[[aMule]]，而只需要产生翻译的二进制文件。&lt;br /&gt;
&lt;br /&gt;
建议尝试[[#Testing only the translation file|翻译文件测试]]知道成功，然后[[#用这个翻译测试aMule|]]看看如何工作。&lt;br /&gt;
&lt;br /&gt;
=== 只测试翻译文件 ===&lt;br /&gt;
&lt;br /&gt;
==== 简单方法 ====&lt;br /&gt;
&lt;br /&gt;
如果你没有开发环境，你甚至不能运行''./configure''，因为它需要找到编译器，头文件等等。所以只能模仿源Makefiles如何做。在.po存在的目录里面运行''msgfmt -c --statistics -o '''translation_language'''.gmo '''translation_language'''.po''比如''msgfmt -c --statistics -o en_GB.gmo en_GB.po''。&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ msgfmt -c --statistics -o en_GB.gmo en_GB.po&lt;br /&gt;
 1354 translated messages&lt;br /&gt;
&lt;br /&gt;
提示消息的含义和下面是相同的，你可以参考它。这种方法只需要gettext，Linux和*NIX一般都安装。&lt;br /&gt;
&lt;br /&gt;
==== 更复杂的方法 ====&lt;br /&gt;
&lt;br /&gt;
首先，运行''./configure''.&lt;br /&gt;
&lt;br /&gt;
现在，把翻译放入''po/''目录，运行''make '''translation_language'''.gmo''，比如''make en_GB.gmo''&lt;br /&gt;
&lt;br /&gt;
如果你翻译得正确，会显示：&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make en_GB.gmo&lt;br /&gt;
 rm -f en_GB.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o en_GB.gmo en_GB.po&lt;br /&gt;
 1354 translated messages&lt;br /&gt;
&lt;br /&gt;
上面是个成功的完整的翻译。&lt;br /&gt;
&lt;br /&gt;
一个“成功”的翻译，无论是否完整，因为没有语法错误所以可以使用。&lt;br /&gt;
&lt;br /&gt;
一个成功的但是不完整的翻译如下：&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make ru.gmo&lt;br /&gt;
 rm -f ru.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o ru.gmo ru.po&lt;br /&gt;
 1333 translated messages, 79 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
这样，翻译中的79行需要重新翻译。&lt;br /&gt;
&lt;br /&gt;
你的翻译可能会有失真。失真翻译是[http://www.gnu.org/software/gettext gettext]给出猜测的翻译，可能是错的（也可能很接近）。他们用''#, fuzzy''标识。如果你有失真翻译，搜索并改正他们（如果没问题只需要除掉''#, fuzzy''这行）。&lt;br /&gt;
&lt;br /&gt;
下面是一个失真翻译的输出：&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make hr.gmo&lt;br /&gt;
 rm -f hr.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o hr.gmo hr.po&lt;br /&gt;
 544 translated messages, 412 fuzzy translations, 443 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
最后，你的翻译可能有错。这样的话，你的文件会报告所有错误，每个错误都有一个解释。&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make de.gmo&lt;br /&gt;
 rm -f de.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o de.gmo de.po&lt;br /&gt;
 de.po:88: number of format specifications in 'msgid' and 'msgstr' does not match&lt;br /&gt;
 /usr/bin/msgfmt: found 1 fatal error&lt;br /&gt;
 make: *** [de.gmo] Error 1&lt;br /&gt;
&lt;br /&gt;
在上面的例子中，在88行的翻译有一个错误，所以要修改这个错误，否则不会有二进制翻译生成。&lt;br /&gt;
&lt;br /&gt;
=== 测试 [[aMule]] ===&lt;br /&gt;
&lt;br /&gt;
==== 简单方法 ====&lt;br /&gt;
&lt;br /&gt;
如果你的aMule不是老到翻译已经不兼容的地步，你可以直接安装以前的made结果（也就是.gmo文件）直接测试，不需要编译。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#ff0000&amp;gt;警告：你必须备份当前的 /usr/share/locale/'''your_language'''/LC_MESSAGES/amule.mo。你必须有足够的权限去修改文件。另外，有可能让你的aMule安装崩溃。如果是这样，恢复原来的amule.mo文件。&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
下面就是例子。看懂这个例子。在'''your_language'''.gmo （这里是en_GB.gmo）存在的目录里面：&lt;br /&gt;
&lt;br /&gt;
 $ cp /usr/share/locale/en_GB/LC_MESSAGES/amule.mo .&lt;br /&gt;
 $ cp en_GB.gmo /usr/share/locale/en_GB/LC_MESSAGES/amule.mo&lt;br /&gt;
&lt;br /&gt;
如果第一个''cp''提示文件不存在，你需要把目录（这里是 /usr/share/...）切换到aMule安装的目录，比如/usr/X11R6/share/... 或者/usr/local/share/...&lt;br /&gt;
&lt;br /&gt;
如果第二个''cp''提示&amp;quot;Permission denied&amp;quot;，说明你没有足够权限修改它。多数情况下你需要root权限。&lt;br /&gt;
&lt;br /&gt;
==== 更复杂的方式 ====&lt;br /&gt;
&lt;br /&gt;
你可以通过[[compile|重新编译aMule]]观察结果来测试你的翻译。&lt;br /&gt;
&lt;br /&gt;
如果你的语言没有被[[aMule]]支持，你必须把它加入数据库中，这样[[aMule]]就可以知道它存在并用它[[编译]]。这么做需要把你的语言的代码加入''po/LINGUAS''文件（每种语言一行）。&lt;br /&gt;
&lt;br /&gt;
现在可以[[编译]] [[aMule]]。如果你需要帮助，[[compile|参考本指南]]。&lt;br /&gt;
&lt;br /&gt;
== 高级翻译 ==&lt;br /&gt;
&lt;br /&gt;
如果你不是开发或者Linux新手，或者你不耐烦等待总想要最新的翻译...&lt;br /&gt;
&lt;br /&gt;
自己生成''source_strings.po''！&lt;br /&gt;
&lt;br /&gt;
如何进行？&lt;br /&gt;
&lt;br /&gt;
* 从http://amule.hirnriss.net下载最新的[[aMule]] [http://www.gnu.org/software/cvs CVS] 快照&lt;br /&gt;
&lt;br /&gt;
* 解压缩档案文件，进入根目录并生成[http://www.gnu.org/software/make Makefiles]：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''tar -xjf aMule-cvs-20041009.tar.bz2'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''cd amule-cvs'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''./configure'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 更新''POTFILE.in''文件：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''grep -m 1 '_(' `find * -name &amp;quot;*.cpp&amp;quot;` | cut -d: -f1 &amp;gt; po/POTFILES.in'''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 生成新的''source_strings.po''：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''cd po'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mv amule.pot amule.pot.old'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''make amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mv amule.pot source_strings.po'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mv amule.pot.old amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Translations#How_to_proceed|翻译]]新的''source_strings.po''然后 [http://forum.amule.org/board.php?boardid=40 张贴它]!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Thepolish|Thepolish]] 22:46, 9 Oct 2004 (CEST)&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Translations-es</id>
		<title>Translations-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Translations-es"/>
				<updated>2006-10-23T16:01:45Z</updated>
		
		<summary type="html">&lt;p&gt;212.170.156.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Translations|Inglés]] | [[Translations-pt|Portugués]] | [[Translations-ko_KR|Coreano]] | [[Translations-ru|Ruso]]| [[Translations-cn|Chino]] | '''Español''' |&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Es muy facil ser un traductor de [[aMule]] a tu idioma, actualmente soporta [http://www.unicode.org Unicode], por lo que no hay limitación para caracteres Chinos, Coreanos, Árabes ... es posible realizar cualquier traducción.&lt;br /&gt;
&lt;br /&gt;
Pero las traducciones necesitan de traductores, no temas entrar en el mundo de [[aMule]]!&lt;br /&gt;
&lt;br /&gt;
No es necesario programar en lenguaje [http://gcc.gnu.org C++] o [http://en.wikipedia.org/wiki/Klingon_language Klingon] para ser un traductor!&lt;br /&gt;
Solamente necesitas conocer tu propia lengua (!!) y algún conocimiento de ingés!&lt;br /&gt;
&lt;br /&gt;
Interesante? entonces comenzamos&lt;br /&gt;
&lt;br /&gt;
== Como comenzar ==&lt;br /&gt;
&lt;br /&gt;
De vez en cuando (una vez al mes) posteamos un fichero de texto llamado &lt;br /&gt;
''source_strings.po'' en el foro [http://forum.amule.org/thread.php?threadid=1097 Translation].&lt;br /&gt;
&lt;br /&gt;
Descarga el fichero an ábrelo con [http://i18n.kde.org/tools/kbabel/ KBabel] si utilizas [http://www.kde.org KDE], [http://www.poedit.org PoEdit] o el  [http://gtranslator.sourceforge.net/ gTranslator] si usas [http://www.gnome.org Gnome].&lt;br /&gt;
&lt;br /&gt;
Previamente no debes olvidar el marcar tus preferencias en el &lt;br /&gt;
[http://i18n.kde.org/tools/kbabel/ KBabel], [http://www.poedit.org PoEdit] o [http://gtranslator.sourceforge.net/ gTranslator] incluyendo el nombre, e-mail, grupo de caracteres y demás.....&lt;br /&gt;
&lt;br /&gt;
Esto es lo que verás con [http://i18n.kde.org/tools/kbabel KBabel]:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb1.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
En la esquina superior izquierda tienes el texto en inglés.&lt;br /&gt;
&lt;br /&gt;
En la esquina superior derecha tienes el fichero del que procede el texto.&lt;br /&gt;
&lt;br /&gt;
Ahora solo tienes que escribir el texto traducido en la esquina inferior izquierda&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb2.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#ff0000&amp;gt;Debes tener especial cuidado en copiar todos los caracteres especiales como &amp;amp;, %i, \n, etc... en el texto traducido y respetar los espacios al inicio y final del texto.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE''', revisa [[format specifiers|este documento]] para saber cuales son los caracteres que no deben ser modificados.&lt;br /&gt;
&lt;br /&gt;
Continua con todos los textos del fichero y una vez finalizado guárdalo.&lt;br /&gt;
&lt;br /&gt;
Has acabado la traducción!, envíala al &lt;br /&gt;
[http://www.amule-project.net/amule/board.php?boardid=40 foro de traducciones del aMULE] y miles de personas te estarán agradecidas :)&lt;br /&gt;
&lt;br /&gt;
== Como continuar una traducción ya empezada ==&lt;br /&gt;
&lt;br /&gt;
Cuando la traducción ya ha sido iniciada, no será necesario que vuelvas a traducir los textos ya traducidos del fichero ''source_strings.po'' !&lt;br /&gt;
&lt;br /&gt;
Hay un proceso automático que se encarga de incluir los textos ya traducidos en el fichero ''source_strings.po''&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, imagínate que deseas continuar la traducción al francés:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Descarga la última ''source_strings.po'' del  [http://forum.amule.org/thread.php?threadid=1097 foro], y la antigua ''fr.po'' que se encontraba en la versión del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
* Integra la antigua y nueva versión escribiendo: &lt;br /&gt;
&lt;br /&gt;
'''msgmerge --no-fuzzy-matching -o new_fr.po fr.po source_strings.po'''&lt;br /&gt;
&lt;br /&gt;
Alternativamente podrías usar las herramientas incluidas en el &lt;br /&gt;
[http://i18n.kde.org/tools/kbabel KBabel] o en el    [http://poedit.sourceforge.net PoEdit] (consulta la ayuda de estas aplicaciones)&lt;br /&gt;
&lt;br /&gt;
A continuación comienza la traducción en el fichero ''new_fr.po'' como lo hiciste anteriormente en el fichero ''source_srings.po'', simplemente tendrás que traducir los textos que no fueron traducidos anteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Probando la traducción ==&lt;br /&gt;
&lt;br /&gt;
=== Antes de empezar ===&lt;br /&gt;
&lt;br /&gt;
Una vez guardado el fichero, puedes re-[[compile]|compilar] el [[aMule]], o simplemnte puedes comprobar que el fichero es correcto (este proceso se realiza automáticamente cuando [[compile|compilas el fichero]]).&lt;br /&gt;
&lt;br /&gt;
La segunda opción tiene algunas ventajas, y es que no es necesario crear todos los ejecutables del [[aMule]], solamente necesitas crear el ejecutable de la traducción.&lt;br /&gt;
&lt;br /&gt;
El procedimiento mas indicado es intentarlo [[#Testing only the translation file|solo con el fichero de prueba]] hasta que lo logremos, y una vez finalizado[[#Testing with aMule|compilar el aMule con las traducciones]] para ver como funciona.&lt;br /&gt;
&lt;br /&gt;
=== Probando solamente el fichero de traducción ===&lt;br /&gt;
&lt;br /&gt;
Para hacerlo, primero debes ejecutar ''./configure''.&lt;br /&gt;
&lt;br /&gt;
Ahora, una vez que hayas copiado tu fichero en el directorio ''po/'', ejecuta ''make '''translation_language'''.gmo'', ejemplo ''make en_GB.gmo''&lt;br /&gt;
&lt;br /&gt;
Si la traducción es correcto, te mostrará algo como esto: &lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make en_GB.gmo&lt;br /&gt;
 rm -f en_GB.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o en_GB.gmo en_GB.po&lt;br /&gt;
 1354 translated messages&lt;br /&gt;
&lt;br /&gt;
Este es un ejemplo de una traducción correcta y completa.&lt;br /&gt;
&lt;br /&gt;
Como &amp;quot;correcta&amp;quot; debes entender a una traducción que bien completa o no, puede ser usada ya que no contiene errores de sintaxis.&lt;br /&gt;
&lt;br /&gt;
Una traducción e incompleta sería la siguiente:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make ru.gmo&lt;br /&gt;
 rm -f ru.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o ru.gmo ru.po&lt;br /&gt;
 1333 translated messages, 79 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Como puedes ver, 79 lineas todavía estan pendientes de ser traducidas.&lt;br /&gt;
&lt;br /&gt;
También puedes tener traducciones &amp;quot;dudosas&amp;quot; (ingles=fuzzy). Las traducciones dudosas son aquellas que ha detectado el [http://www.gnu.org/software/gettext gettext], y probablemente son erróneas. Estas quedan marcadas mediante la adicción de un texto ''#, fuzzy'' a la derecha de la traducción. Por lo que si ves que tienes  &amp;quot;fuzzy translations&amp;quot;, busca estas líenas y corrígelas (o simplemente borra el texto ''#, fuzzy'' si ves que están bien).&lt;br /&gt;
&lt;br /&gt;
Un ejemplo de traducciones dudosas es el siguiente:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make hr.gmo&lt;br /&gt;
 rm -f hr.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o hr.gmo hr.po&lt;br /&gt;
 544 translated messages, 412 fuzzy translations, 443 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Por último la traducción puede contener errores, en estos casos aparece un texto que explica cada uno de ellos:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make de.gmo&lt;br /&gt;
 rm -f de.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o de.gmo de.po&lt;br /&gt;
 de.po:88: number of format specifications in 'msgid' and 'msgstr' does not match&lt;br /&gt;
 /usr/bin/msgfmt: found 1 fatal error&lt;br /&gt;
 make: *** [de.gmo] Error 1&lt;br /&gt;
&lt;br /&gt;
En este jemplo aparece un error en la línea 88, por lo que no creará el ejecutable hasta que sea corregido.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Probando con el [[aMule]] ===&lt;br /&gt;
&lt;br /&gt;
Puedes probar la traducción [[compile|re-compilando el  aMule]] y viendo como queda.&lt;br /&gt;
&lt;br /&gt;
Si tu lenguaje no estuviera disponible en el [[aMule]], debes añadir el mismo a la base de datos, para que el [[aMule]] sepa que existe y se pueda&lt;br /&gt;
[[compile|compilar]] con ese lenguaje. &lt;br /&gt;
Para hacer esto debes añadir el código del lenguaje al fichero ''po/LINGUAS''  (un lenguaje por línea).&lt;br /&gt;
&lt;br /&gt;
A continuación [[compile]|compila] el [[aMule]] normalmente. Si necesitas ayuda, [[compile|pincha aquí]].&lt;br /&gt;
&lt;br /&gt;
== Traduciones avanzadas ==&lt;br /&gt;
&lt;br /&gt;
Si no eres nuevo en el desarrollo de aplicaciones en Linux o eres lo sufientemente impaciente para tener siempre actualizada la traducción a tu lenguaje.....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Genera el fichero ''source_strings.po'' tu mismo!&lt;br /&gt;
&lt;br /&gt;
Como lo hacemos?&lt;br /&gt;
&lt;br /&gt;
* Desacarga la última versión del [[aMule]] [http://www.gnu.org/software/cvs CVS] desde http://amule.hirnriss.net&lt;br /&gt;
&lt;br /&gt;
* Descomprime el archivo, ves al directorio raiz (root) y genera  [http://www.gnu.org/software/make Makefiles]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''tar -xjf aMule-cvs-20041009.tar.bz2'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''cd amule-cvs'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''./configure'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Actualiza el fichero ''POTFILE.in'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''grep -m 1 '_(' `find * -name &amp;quot;*.cpp&amp;quot;` | cut -d: -f1 &amp;gt; po/POTFILES.in'''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Genera el nuevo fichero ''source_strings.po'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''cd po'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mv amule.pot amule.pot.old'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''make amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mv amule.pot source_strings.po'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mv amule.pot.old amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Translations#How_to_proceed|Traduce]] el nuevo ''source_strings.po'' y [http://forum.amule.org/board.php?boardid=40 envíalo]!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Thepolish|Thepolish]] 22:46, 9 Oct 2004 (CEST)&lt;/div&gt;</summary>
		<author><name>212.170.156.253</name></author>	</entry>

	</feed>