ביטורנט
BitTorrent היה הפרוטוקול שהוכיח ששיתוף קבצים עמית לעמית יכול להתאים לגודל האינטרנט. זה הזיז קובצי ISO של לינוקס, מזימות של ויקיפדיה וסרטים פיראטיים (כן) במשך שני עשורים, ועדיין זו אחת הדרכים היעילות ביותר להפצת קבצים גדולים. הבנת איך זה עובד - ומדוע נעשה בו שימוש בשקט בתוך פייסבוק, טוויטר ו- Blizzard - היא דרך טובה לראות את גבולות ההפצה הריכוזית.
גוף המאמר המלא מסופק באנגלית להלן.
BitTorrent תוכנן על ידי ברם כהן בשנת 2001 כדי להפוך את הפצת קבצים גדולים ליעילה על ידי מתן אפשרות למשתמשים רבים לתרום רוחב פס העלאה בו זמנית. הרעיון החכם: לפצל כל קובץ לחתיכות קטנות, לכל מי שיש לו יצירה להגיש אותו לכל מי שרוצה, ולהשתמש ברכז כדי לעקוב למי יש מה. התוצאה היא פרוטוקול שבו הפופולריות הופכת הורדות faster במקום לאט יותר - ההיפך מהפצה מרכזית מבוססת שרת.
הקובץ
A BitTorrent מפוצל לחתיכות בגודל שווה - בדרך כלל 256 KB או 1 MB, תלוי בגודל הקובץ. לכל יצירה יש SHA-1 (או SHA-256 ב-BitTorrent v2) משלו. הרשימה של כל הגיבובים בתוספת מטא-נתונים של הקבצים היא torrent file - קובץ קטן (כמה קילו-בייטים) שאתה מקבל מחוץ לרצועה. קובץ הטורנט מספיק כדי לאמת כל יצירה שהורדה ולמצוא עמיתים דרך הגשש או DHT.
השחקנים
- Seed: עמית שיש לו את הקובץ השלם ורק העלאות. חתיכות; מוריד את מה שאין לו, מעלה מה שהוא עושה.
- Swarm: כל העמיתים (זרעים + עלוקות) עבור טורנט מסוים.
- Tracker: שרת ששומר על רשימת העמיתים בנחיל. עמיתים מודיעים על עצמם מעת לעת לגשש; הגשש מחזיר רשימת עמיתים חדשה. העוקבים יכולים להיות פרטיים (משתמשים רשומים בלבד) או ציבוריים.
- DHT (Table Hash Distributed): מערכת גילוי עמיתים ללא מעקב. עמיתים מאחסנים ומבקשים שאילתות ברשימות עמיתים הממוקמות על ידי קוד hash של טורנט. BitTorrent המודרנית משתמשת ב-DHT פלוס Tracker פלוס PEX (Peer Exchange) לחוסן מירבי.
האסטרטגיה לבחירת חלקים
BitTorrent האלגנטיות היא באלגוריתם בחירת החלקים שלו. האסטרטגיות:
- Rarest first. עלוקה מעדיפה להוריד חלקים הכי פחות נפוצים בנחיל. זה ממקסם את גיוון החלקים הכולל של הנחיל, כך שכל עמית בודד שעובר לא מקוון רק לעתים רחוקות לוקח ממנו חלק ייחודי.
- חלק ראשון אקראי. מוקדם בהורדה העלוקה בוחרת חלק אקראי, כך שיש לה מה להעלות כמעט מיד. של הורדה (כאשר נותרו רק חלקים בודדים), העלוקה מבקשת את כל החלקים הנותרים מכל עמית שיש לו אותם, ומקבלת את מי שמגיב ראשון. מבטל את הזנב הארוך של המתנה ליצירה אחרונה איטית.
Tit-for-tat: מערכת התמריצים
BitTorrent התרומה המשפיעה ביותר של עיצוב התמריצים שלה. כל עלוקה "חונקת" את רוב עמיתים ומעלה רק לקומץ שמעלים אליה הכי מהר. כל 30 שניות הוא מתערבב מחדש, כולל "ביטול חנק אופטימי" כדי לנסות עמית חדש אקראי. האפקט: עמיתים שיתופיים מקבלים עמיתים שיתופיים; עלוקות אנוכיות נחנקות על ידי כל השאר. רכיבה חופשית אפשרית אך איטית.
זהו היצירה הנחקרת ביותר של עיצוב פרוטוקול תיאורטי משחקים ברשתות. פרוטוקולי עמית-לעמית עוקבים כולם מתייחסים אליו.
Magnet links
A magnet link מקודד את ה-hash של הטורנט ישירות בכתובת URL: magnet:?xt=urn:btih:HASH...XPLZ הלקוח משתמש ב-DHT כדי למצוא עמיתים, מביא מהם את המטא-נתונים של הטורנט, ואז ממשיך כרגיל. קישורי מגנט ביטלו את הצורך בקובץ טורנט נפרד - ה-hash מספיק, ופעולה ללא מעקב דרך DHT פירושה שאין תשתית מרכזית להורדה.
מה בעצם משמש BitTorrent עבור
התפיסה הציבורית היא פיראטיות. המציאות רחבה יותר:
- Linux ו-BSD הפצות. אובונטו, Debian, Arch, FreeBSD כולן מפיצות ISOs באמצעות טורנט להורדות חסכוניות ברוחב פס ביום השחרור.
- Wikipedia ו-Internet Archive dumps. נתונים מרובי-ג'יגה-בייט, מאותה סיבה מטילות 7 PLZXPLZ PLZXPLZ מאותו סיבה. updates. משגר Battle.net של Blizzard משתמש ב-BitTorrent מתחת למכסה המנוע כדי להפיץ תיקוני WoW מרובי גיגה-בייט.
- פריסה פנימית. פייסבוק השתמשה ב-BitTorrent כדי לדחוף עדכוני קוד לצי השרתים שלה; לפרויקט יש כלי רצח דומה של Twitter (לפרויקט היה כלי רצח של Twitter). מקבילות מודרניות מקוריות בענן החליפו אותו לפריסות הגדולות ביותר.
- שיתוף נתונים מדעי. נתוני גנום, פלטי מודל אקלים, מערכי נתונים של פיזיקת חלקיקים המופצים באמצעות טורנט מכיוון שהחלופה (רוחב פס S3) אינה משתלמת. כי.
BitTorrent ו-VPNs
VPN ספקים המאפשרים BitTorrent פופולריים בקרב משתמשים שרוצים להסתיר תעבורת P2P מ-ISP שלהם, שלעתים קרובות מחניק או שולח הודעות זכויות יוצרים עבור תוכן ללא רישיון. ה-VPN חייב:
- לאפשר P2P ביציאה הנבחרה (לא כולם עושים זאת)
- להיות מתג הרג - עיין במאמר VPN מתג הרגVPN IPv6 - לקוחות טורנט רבים דולפים v6 גם כאשר מנהרות ה-VPN v4
- תמיכה בהעברת יציאות עבור חיבורים נכנסים - משפר את ביצועי הנחיל case.
ההתפתחות של הפרוטוקול
BitTorrent v2, שהושגה סופית ב-2017 ומתגלגלת באיטיות, מחליפה את SHA-1 (שידוע מזמן חלש) ב-SHA-256, מוסיפה עצי גיבוב לכל קובץ לאימות קבצים חלקיים ותומכת בהרבה אימות של קבצים גדולים. האימוץ היה איטי מכיוון ש-v1 עדיין עובד מצוין. uTP (פרוטוקול מיקרו תחבורה) החליף את ה-TCP הגולמי בהובלה ידידותית יותר לגודש, חשוב למשתמשים החולקים חיבורי מגורים.
שאלות נפוצות
- האם ביטורנט חוקי?
- הפרוטוקול עצמו חוקי כמעט בכל מדינה. השימוש בו כדי להוריד או להפיץ תוכן המוגן בזכויות יוצרים ללא רשות אינו חוקי ברוב המקומות. השימוש בו עבור תוכן חוקי (לינוקס ISO, מדיה ברשות הציבור, קבצים משלך) הוא פשוט בסדר.
- מדוע ספק שירותי האינטרנט שלי שולח לי הודעות זכויות יוצרים כאשר אני משתמש ב-BitTorrent?
- בעלי הזכויות מפעילים מגרדים שמתחברים לטורנטים ציבוריים, רושמים את ה-IP של כל עמית ושולחים הודעות בסגנון DMCA דרך ספקיות האינטרנט. ה-IP עצמו אינו הוכחה למי השתמש בו - אבל רוב ספקי האינטרנט מעבירים הודעות לבעל החשבון בכל מקרה. VPN המאפשר P2P מעביר את ה-IP הגלוי ומבטל למעשה את ההודעות הללו.
- האם השימוש ב-BitTorrent מדליף את ה-IP שלי?
- כן - בתכנון, כל עמית בנחיל רואה את ה-IP שלך ואתה רואה את שלהם. כך הפרוטוקול מחלק עומס. הדליפה היא בסיסית, לא באג. הדרך היחידה להסתיר את ה-IP שלך מעמיתים אחרים היא ניתוב דרך VPN או Tor (האחרון בעייתי לביצועים ומנואש על ידי המפעילים של Tor).
- מה המשמעות של 'זריעה'?
- Seeding היא העלאת עותק שלם של הקובץ לעמיתים אחרים. נחיל צריך לפחות זרע אחד בכל עת כדי שעלוקות חדשות יוכלו להשלים את ההורדה. משתמשי טורנט מנומסים מגיעים ליחס של לפחות 1.0 (הועלה באותה מידה שהם הורידו) לפני עצירה.
- האם BitTorrent מיושן?
- הוא הוכרז כמת פעמים רבות וממשיך לעבוד. אחסון ענן מרכזי מטפל ברוב צרכי שיתוף הקבצים כיום, אך להפצת קבצים גדולים מאוד למשתמשים רבים ביעילות, הכלכלה של BitTorrent עדיין ניצחה כל דבר ריכוזי. מקרי שימוש חדשים (IPFS, Arweave, רשתות חברתיות מבוזרות) מבוססים כולם על עקרונות עמית לעמית דומים.