حسین کعبی: وقتی فیگو را در جام جهانی زدم....
کاربران باید به یک سرور متصل شوند تا بتوانند از خدمات شبکه بهرهمند شوند. هر سرور از یک پایگاه داده استفاده میکند که اطلاعات مربوط به کاربران و فایلها را نگهداری میکند و آن را مرتبا به روزرسانی میکند. اما یک سرور فایلی را در خود ذخیره نمیکند و فقط مکان و موقعیت فایلها را نگهداری میکند.
شما در برنامه emule ، فهرستی از سرورها را خواهید داشت که با استفاده از یک اتصال TCP به آن وارد شده و از اطلاعات فایلهای دلخواه و کاربران دیگر استفاده میکنید. بعد از اتصال به سرور و شناسایی کاربرانی که فایل مورد نظر شما را دارند، ممکن است با صدها اتصال TCP برای برقراری ارتباط مستقیم با کاربران دیگر استفاده کنید.
در نرمافزار emule ، برای شما یک صف upload برای فایلهای اشتراکیتان در نظر گرفته میشود. کاربرانی که قصد دریافت فایلهای اشتراکی شما را دارند، داخل آن صف قرار میگیرند تا بتوانند فایل مورد نظر خود را از شما دریافت کنند.
یک فایل به بخشهای 28/9 مگابایتی و هر بخش به بلاگهای 180 کیلوبایتی تقسیم میشود. بنابراین ممکن است به طور همزمان با اتصال به چندین کاربر دیگر، بخشهای مختلف فایل مورد نظر خود را دریافت کنید و در پایان با کنار هم قرار گرفتن این بخشها، فایل مورد نظر شما ساخته میشود. در حین تکمیل یک فایل، بخشهایی را که تاکنون دریافت کردهاید نیز به عنوان اطلاعات اشتراکی شما در اختیار دیگر کاربرانی قرار خواهد گرفت که آن تکه از فایل را ندارند. سرورها در کنار وظایف یاد شده، عمل دیگری نیز انجام میدهند. آنها میتوانند به عنوان پل ارتباطی دو کاربر به یکدیگر که به دلیل استفاده از firewall نمیتوانند به طور مستقیم به یکدیگر متصل شوند. بعد از اینکه به یک سرور متصل شدید، آن سرور اطلاعات مربوط به کاربرانی که فایل مورد نظر شما را دارند، برای شما ارسال میکند و پس از برقراری اتصال مستقیم یا با واسطه به آن کاربران در صف آنها قرار خواهید گرفت تا نوبت شما فرا برسد.
سیستم اعتبار
emule از یک سیستم اعتبار استفاده میکند که کاربران را تشویق کند تا فایلهای خود را به اشتراک بگذارند. هرچه شما مقدار بیشتری اطلاعات در اختیار دیگران قرار دهید، اعتبارتان بیشتر شده و کمتر در صف انتظار دریافت فایل باقی میمانید. باید توجه داشت که سیستم اعتبار، سراسری نیست و این اعتبار به صورت محلی، توسط کاربری که از شما اطلاعات گرفته است، نگهداری میشود. بنابراین اگر شما نیز قصد دریافت اطلاعات از آن کاربر بخصوص داشته باشید، آنگاه آن اعتبار به شما کمک خواهد کرد که در صف upload او کمتر منتظر بمانید.
میزان اعتبار از دو رابطه زیر به دست میآید:
کل اطلاعات ارسالی 2x
کل اطلاعات دریافتی
2 +کل اطلاعات ارسالی
سیستم تشخیص خطا
ممکن است شما در حال دریافت یک فایل بزرگ باشید. همان طور که گفتیم این فایل بزرگ به بخشهای 28/9 مگابایتی تقسیم میشود و هر بار که یک بخش کامل دریافت شد، با استفاده از الگوریتم 4MD بررسی میشود که آیا آن بخش سالم دریافت شده است یا خیر. هر بخش نیز به بلاگهای 180 کیلوبایتی تقسیم میشود. این بلاگها نیز پس از دریافت با استفاده از الگوریتم 1SHA-، سلامت آنها مورد بررسی قرار میگیرد. در هنگام دریافت فایل، اگر یک بلاگ تخریب شود، در نهایت ممکن است به تخریب کل فایل دریافتی بینجامد. اما این بررسیها باعث میشود که اگر یک بخش ناقص دریافت شد، تنها همان بخش یعنی تنها 180 کیلوبایت، مجددا دریافت شود.
بنابراین در نهایت emule به شما یک فایل سالم را تحویل خواهد دادemule . برای پایین آوردن میزان استفاده از پهنای باند، از الگوریتم فشردهسازی Zlib استفاده میکند. یعنی قبل از ارسال دادهها آنها را فشرده کرده و پس از دریافت آنها را به حالت اولیه بازمیگرداند. به این ترتیب میزان دادههای انتقالی به حداقل ممکن خواهد رسید. تمام این اعمال و بسیاری از اعمال ریز و درشت دیگر، بدون اطلاع کاربر و به صورت خودکار انجام میشود تا شما بسادگی هر چه تمامتر به مقصود خود برسید. آن هم به صورت کاملا رایگان!
پارسا ستودهنیا
حسین کعبی: وقتی فیگو را در جام جهانی زدم....