July 26th Thursday (七月 二十六日 木曜日)

  When eMule clients communicate each other, the initial handshake needs two types of messages - the Hello message and the eMule
info message.  The first is part of eDonkey and compatible with eDonkey clients, the second is part of the extended client protocol
unique to eMule.  During the initial handshake both parties is symmetric.  Both send the same information to each other, and exchange
information about each other which includes identification, version and capabilities information.  Among the things included
in the extended information are UDP message exchange, secure identification and source exchange capabilities.

  The secure user identification is part of the eMule extension.  In case the clients support secure identification, it take place
immediately after the initial handshake.  The purpose of the secure identification is to prevent user impersonation.  When secure
identification is applied it takes the following steps:

1. In the initial handshake, B indicates that it supports and wishes to use secure identification;
2. A reacts by sending the secure identification message which indicates whether A needs B's public key or not and also contains a 4
byte challenge to be signed by B;
3. In case A indicated it needs B's public key then B sends its key to A;
4. B send a signature message that is created using the challenge sent and additional double-word which is either A's IP address
in case B has low ID or B's ID in case it has high ID.

  The eMule adopted a credit system to encourage users to share files.  When a client uploads files to his peer, the downloading client
updates his credit according to the amount of data transferred.  Note that the credit system is not global - the credit for a transfer
is kept locally by the downloading client and will be taken into account only when the uploading client (which earned the credit) will
ask to download from this specific client.  Credit is calculated as the minimum of:

1. uploaded_total * 2 /downloaded_total
   When downloaded total is zero this expression evaluates to 10

2. sqrt(uploaded_total + 2)
   when uploaded total is less than one MB this expression evaluates to 1

  The upload/download amounts are calculated in megabytes.  In any case the credit can't exceed 10 or be lower than 1.
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值