האם Utorrent משתמש ב- TCP או UDP?
סיכום
במאמר זה נבדוק אם Utorrent משתמש ב- TCP או UDP. נדון ב- UTP (פרוטוקול הובלת UTorrent) וביישום שלו ב- LiBtorrent. בנוסף, נבחן את הרציונל לשימוש ב- UTP וחסרונות של טכניקות אחרות להקצאת רוחב פס. לבסוף, נסביר את מנגנון בקרת הגודש ב- UTP המכונה LEDBAT.
1. האם Utorrent משתמש ב- TCP או UDP?
Utorrent משתמש בעיקר ב- TCP כפרוטוקול ההובלה שלו, אך הוא משתמש גם ב- UTP (פרוטוקול הובלה של Utorrent) לבקרת גודש והקצאת רוחב פס יעילה.
2. מה זה UTP?
UTP הוא פרוטוקול תובלה המיועד במיוחד ליישומי Bittorrent כמו Utorrent. הוא משתמש במדידות עיכוב חד כיווני עבור בקר העומס שלה, ומאפשר ניהול טוב יותר של גודש ברשת.
3. מהן הבעיות הנפוצות שמתמודדים עם המשתמשים עם bittorrent?
כמה סוגיות נפוצות שמתמודדות עם BitTorrent כוללות נתבים ביתיים שמתרסקים או האטו בגלל שולחנות חור סיכות של NAT, התרסקות נתב הנגרמות כתוצאה מתעבורת UDP מטבלאות חשיש מופצות (DHT) ועיכובים שנגרמו כתוצאה ממילוי חיץ הנשלח של מודמי DSL או כבלים.
4. כיצד בדרך כלל נפתרים בעיות אלה?
פיתרון נפוץ אחד הוא להגדיר מגבלת קצב העלאה למניעת גודש. לרוב מומלץ לקבוע את המגבלה ל 80% מהקיבולת של קישור ה- uplink. עם זאת, לגישה זו יש חסרונות שכן היא מחייבת את המשתמשים להגדיר את ההגדרה וייתכן שלא להשתמש ברוחב הפס הזמין ביעילות.
5. מהם החסרונות של מגביל קצב?
החסרונות של הגבלת קצב כוללים את הצורך בתצורת המשתמש ובמרווח הראש המבוזבז כאשר המשתמש אינו משתמש באופן פעיל בחיבור האינטרנט. בנוסף, 20% שהוקצו לתנועה אינטראקטיבית עשויים שלא לספק חווית גלישה מספקת.
6. כיצד UTP מתייחס לחסרונות הללו?
UTP שואף להקצות את רוחב הפס באופן דינמי, באמצעות 100% עבור BitTorrent כאשר אין תנועה צולבת אינטראקטיבית ו 100% לתנועה אינטראקטיבית במידת הצורך. גישה זו נמנעת מבזבז רוחב פס בתקופות סרק ומספקת חוויה כוללת טובה יותר למשתמשים.
7. מדוע TCP גורם לעיכובים בכל התנועה?
בקרת הגודש של TCP מבוססת בעיקר על גילוי אובדן מנות. כאשר חיץ השליחה של המודם מלא, מנות לא יופלו עד שכל התור מלא. TCP יגלה את אובדן המנות ותאט את קצב השליחה שלו, אך הוא יעלה שוב במהירות עד שהמאגר יהיה מלא, ויגרום לעיכובים לכל התנועה.
8. כיצד TCP שולט בשיעור השליחה שלו?
TCP מגביל את מספר הבתים בטיסה בכל זמן נתון באמצעות חלון עומס (CWND). קצב השליחה פרופורציונלי ל- CWND מחולק בזמן הלוך ושוב (RTT). CWND קטן יותר מביא לשיעור שליחה נמוך יותר, ואילו CWND גדול יותר מאפשר שיעור שליחה גבוה יותר.
9. מהי התנהגות בקרת הגודש של TCP?
התנהגות בקרת הגודש של TCP מהווה צורת שן מסור, שם היא מגדילה את קצב השליחה שלה עד שהיא פוגעת בתקרה, מגבה ואז מתחילה לגדול שוב. התנהגות זו יכולה למנוע מזרם TCP יחיד להשתמש במלואו בקיבולת הקישור אם אין חיץ לשלוח.
10. מהו בקר LEDBAT GUSTION?
בקר העומס ב- UTP נקרא Ledbat, העומד על הובלת רקע נמוכה לעיכוב נוסף. LEDBAT היא קבוצת עבודה של IETF המנסה לתקן את אלגוריתם בקרת העומס. זה מגיב לאובדן מנות ושינויים בעיכובים כדי לייעל את ביצועי הרשת.
סיכום
לסיכום, Utorrent משתמש בעיקר ב- TCP אך משלב גם את פרוטוקול UTP לבקרת גודש. בקר ה- LEDBat של UTP מקצה באופן דינמי את רוחב הפס לתנועה של Bittorrent, מצמצם עיכובים ומשפר את ביצועי הרשת הכוללים. גישה זו מציעה יתרונות על פני טכניקות הגבלת קצב מסורתיות, ומספקת חווית משתמש טובה יותר בתקופות אינטראקטיביות ובטלות.
האם Utorrent משתמש ב- TCP או UDP
TCP נועד לנצל באופן מלא את קיבולת הקישור, מבלי לגרום לגודש. בכל פעם שזה מרגיש גודש (דרך אובדן מנות) הוא נסוג. TCP אינו נועד לשמור על עיכובים נמוכים. כשאתה מקבל את אובדן המנות הראשון (בהנחה של סוג התור המתואר לעיל, זנב זנב) זה כבר מאוחר מדי. התור שלך מלא ויש לך את הכמות המרבית של עיכוב שהמודם שלך יכול לספק.
האם Utorrent משתמש ב- TCP או UDP?
תוכן העניינים
UTP (פרוטוקול הובלה של Utorrent) הוא פרוטוקול הובלה המשתמש במדידות עיכוב חד כיווני עבור בקר העומס שלו. מאמר זה עוסק ב- UTP באופן כללי ובאופן ספציפי על יישום ה- Libtorrent שלו.
רציונל
אחת הבעיות הנפוצות ביותר שמשתמשים חווים באמצעות BitTorrent הוא שהאינטרנט שלהם “מפסיק לעבוד”. זה יכול להיגרם על ידי מספר דברים, למשל:
- נתב ביתי שמתרסק או מאט כששולחן חור הסיכה שלו עולה על גדותיו, המופעלות על ידי DHT או פשוט חיבורי TCP רבים.
- נתב ביתי שמתרסק או מאט על ידי תנועת UDP (הנגרמת על ידי ה- DHT)
- מודם DSL או כבלים ביתי שמילא מאגר השליחה שלו על ידי נתונים יוצאים, והמאגר מתאים לשניות בשווי בתים של בתים. זה מוסיף שניות של עיכוב בתנועה אינטראקטיבית. עבור אתר אינטרנט שצריך 10 נסיעות הלוך ושוב כדי לטעון זה עשוי להיות 10 שניות של עיכוב לעומס בהשוואה ללא bittorrent. סקייפ או יישומים רגישים אחרים לעיכוב יושפעו עוד יותר.
מסמך זה יכסה (3).
בדרך כלל זה נפתר על ידי בקש מהמשתמש להזין מספר בתים שהלקוח מותר לשלוח לשנייה (i.ה. הגדרת מגבלת קצב העלאה). ההמלצה הנפוצה היא לקבוע מגבלה זו ל 80% מהקיבולת של קישור ה- uplink. זה להשאיר קצת מרווח ראש לדברים כמו TCP ACK.
ישנם שני חסרונות עיקריים בטכניקה זו:
- המשתמש צריך להפוך את ההגדרה הזו באופן פעיל (מעט מאוד פרוטוקולים מחייבים את המשתמש לספק מידע מסוג זה). המשמעות היא גם שהמשתמש צריך להבין מהי יכולת הקישור שלו. לרוע המזל זהו מספר שאינטרנט רבים אינם מפרסמים (מכיוון שלעתים קרובות הוא נמוך בהרבה מיכולת ההורדה) שעשוי להקשות על כך.
- מרווח הראש של 20% מבוזבז רוב הזמן. בכל פעם שהמשתמש אינו משתמש בחיבור האינטרנט לשום דבר, 20% הנוספים היו יכולים לשמש על ידי BitTorrent להעלאה, אך הם כבר מוקצים לתנועה אינטראקטיבית. נוסף.
הקצאת רוחב הפס האידיאלית תהיה להשתמש ב 100% עבור BitTorrent כאשר אין תנועה צולבת אינטראקטיבית, ו 100% לתנועה אינטראקטיבית בכל פעם שיש. זה לא יבזבז שום רוחב פס בזמן שהמשתמש מתבטל, וזה היה גורם לחוויה טובה בהרבה כאשר המשתמש משתמש בחיבור האינטרנט לדברים אחרים.
זה מה ש- UTP עושה.
TCP
הסיבה לכך ש- TCP תמלא את חיץ השליחה, ותגרום לעיכוב בכל התנועה, היא מכיוון שבקרת הגודש שלו היא רק מבוסס על אובדן מנות (ופסק זמן).
מכיוון שהמודם מאגר, מנות לא יירדו עד שכל התור יהיה מלא, ולא יותר מנות יתאימו. המנות יופלו, TCP יגלה זאת בתוך RTT בערך. כאשר TCP מבחין בהפסד מנות, הוא יאט את קצב השליחה שלו והתור יתחיל להתנקז שוב. עם זאת, TCP תתחיל מייד להעלות שוב את קצב השליחה שלה עד שהמאגר מלא והוא מגלה שוב את אובדן המנות.
TCP נועד לנצל באופן מלא את קיבולת הקישור, מבלי לגרום לגודש. בכל פעם שזה מרגיש גודש (דרך אובדן מנות) הוא נסוג. TCP אינו נועד לשמור על עיכובים נמוכים. כשאתה מקבל את אובדן המנות הראשון (בהנחה של סוג התור המתואר לעיל, זנב זנב) זה כבר מאוחר מדי. התור שלך מלא ויש לך את הכמות המרבית של עיכוב שהמודם שלך יכול לספק.
TCP שולט בשיעור השליחה שלה על ידי הגבלת מספר הבתים בטיסה בכל זמן נתון. מגבלה זו נקראת חלון גודש (cwnd בקיצור). במהלך מצב יציב, חלון העומס גדל ללא הרף באופן ליניארי. כל מנות המועברות בהצלחה תגדיל את CWND.
cwnd send_rate = ---- rtt
שיעור שליחה הוא פרופורציונאלי ל- CWND מחולק על ידי RTT. CWND קטן יותר יגרום לקצב השליחה להיות נמוך יותר ו- CWND גדול יותר יגרום לשיעור השליחה להיות גבוה יותר.
השימוש בחלון עומס במקום לשלוט בקצב ישירות הוא פשוט מכיוון שהוא גם מציג גבול עליון לשימוש בזיכרון עבור מנות שעדיין לא הועברו וצריך לשמור עליה.
התנהגות ה- TCP, שם היא מתנגשת על התקרה, נסוגת ואז מתחילה לגדול שוב עד שהיא פוגעת בתקרה שוב, יוצרת צורת שן מסור. אם למודם לא היה כל חיץ SEND בכלל, זרם TCP יחיד לא יוכל לנצל את הקישור באופן מלא בגלל התנהגות זו, מכיוון שהוא היה משתמש במלוא.
בקר LEDBAT GUSTION
בקר העומס ב- UTP נקרא Ledbat, שהיא גם קבוצת עבודה של IETF המנסה לתקן אותה. בקר העומס, על גבי מגיב לאובדן מנות באותה צורה ש- TCP עושה, מגיב גם לשינויים בעיכובים.
לכל יישום UTP (או LEDBAT), יש עיכוב יעד. זהו כמות העיכוב המקובלת, והיא למעשה ממוקדת לחיבור. עיכוב היעד מוגדר ל 25 ms ב- Ledbat, Utorrent משתמש ב 100 ms ו- libtorrent משתמש ב 75 ms. בכל פעם שמדידת עיכוב נמוכה מהמטרה, CWND מוגבר ביחס ל (target_delay – עיכוב). בכל פעם שהמדידה גבוהה יותר מהמטרה, CWND יורד ביחס ל (עיכוב – target_delay).
זה פשוט יכול לבוא לידי ביטוי כ:
CWND += רווח * (target_delay - עיכוב)
![]()
בדומה ל- TCP, זה מוגדר כך שהעלייה נבדלת על פני RTT אחד.
הבקר הליניארי יתאים את ה- CWND יותר לעיכובים שנמצאים רחוק מהמטרה, ופחות לעיכובים הקרובים למטרה. זה גורם לזה להתכנס בעיכוב היעד. אם כי, בגלל רעש יש כמעט תמיד כמות מסוימת של תנודה. תנודה זו בדרך כלל קטנה יותר מצורות ה- TCP של שן המסור.
הדמות מימין מראה כיצד (TCP) תנועה חוצה גורמת ל- UTP להפסיק לחלוטין לשלוח כל דבר. מדידות העיכוב שלה הן לרוב מעל היעד במהלך תקופה זו. התנועה הצולבת היא רק זרם TCP יחיד במבחן זה.
ברגע שתנועת הצלב נפסקת, UTP תאסוף את קצב השליחה המקורי שלה תוך שנייה.
מכיוון ש- UTP מודד כל הזמן את העיכוב, עם כל מנות בודדות, זמן התגובה לחוצה תנועה הגורמת לעיכובים הוא RTT יחיד (בדרך כלל שבריר של שנייה).
דרך אחת מעכבת
UTP מודד את העיכוב המוטל על מנות שנשלחות לקצה השני של החיבור. מדידה זו כוללת עיכוב חוצץ רק לאורך הקישור, לא עיכוב התפשטות (מהירות מרחק זמני האור) ולא עיכוב הניתוב (נתבי הזמן מבזבזים במבחן היכן להעביר את המנה). זה עושה זאת תמיד על ידי השוואה בין כל המדידות למדידת בסיס, כדי לבטל כל עיכוב קבוע. על ידי התמקדות בעיכוב המשתנה לאורך קישור, הוא יגלה באופן ספציפי נקודות בהן יתכנו עומס, מכיוון שלנקודות אלה יהיו מאגרים.
עיכוב בקישור החזרה אינו נכלל במפורש במדידת העיכוב. הסיבה לכך היא ביישום עמיתים לעמית, הקצה השני עשוי להיות מחובר גם באמצעות מודם, עם אותן מגבלות חיץ לשליחה כפי שאנו מניחים עבור הצד השולח. הקצה השני שיש לו תור שליחה מלא הוא לא אינדיקציה לגודש בדרך שהולכת לכיוון השני.
על מנת למדוד עיכובים בדרכים אחד עבור מנות, איננו יכולים לסמוך על כך ששעונים מסונכרנים, במיוחד לא ברמה המיקרו -שניה. במקום זאת, לא נמדד את הזמן שלוקח למנה כדי להגיע ליעד, רק השינויים בזמן המעבר נמדדים.
כל חבילה שנשלחת כוללת חותמת זמן של השעה הנוכחית, במיקרו -שניות, של מכונת השליחה. מכונת הקבלה מחשבת את ההבדל בין חותמת זמן משלה לזו שבחבילה ושולחת זאת בחזרה ל- ACK. ההבדל הזה, מכיוון שהוא נמצא במיקרו -שניות, יהיה למעשה מספר 32 סיביות אקראי. עם זאת, ההבדל יישאר דומה מעט לאורך זמן. כל שינוי בהבדל זה מצביע על כך שהמנות עוברות מהר יותר או איטיות יותר.
על מנת למדוד את עיכוב המאגר החד-כיווני, נקבע עיכוב בסיס. עיכוב הבסיס הוא הערך הנמוך ביותר שנראה אי פעם של הפרש חותמת הזמן. כל מדגם עיכוב שאנו מקבלים בחזרה, מושווה בין עיכוב הבסיס והעיכוב הוא ההבדל.
זה העיכוב שמוזן לבקר העומס.
היסטוגרמה של מדידות עיכוב טיפוסיות מוצגת מימין. זה מהעברה בין חיבור מודם כבלים לחיבור DSL.
פרטי מדידות העיכוב מעט יותר מסובכים מכיוון שהערכים צריכים להיות מסוגלים לעטוף (לחצות את הגבול 2^32 ולהתחיל ב 0).
תגלית MTU של נתיב
MTU הוא קצר יחידת העברה מקסימאלית ומתאר את גודל המנות הגדול ביותר שניתן לשלוח דרך קישור. כל הנתונים של הגודל שעולה על גבול זה יהיו או מקוטע או נפל. פירושו של DATAGRAM מקוטע פירושו שהעומס מפוצל במנות מרובות, שלכל אחת מהן כותרת מנות משלו משלו.
ישנן כמה סיבות להימנע משליחת נתונים שמתפצלים:
- יש סיכוי גבוה יותר כי נתונים מקוטעים יאבדו. אם שבר כלשהו אבוד, כל הדאטגרמה נופלת.
- ככל הנראה רוחב הפס יתבזבז. אם גודל Datagram אינו ניתן לחלוקה על ידי ה- MTU, המנה האחרונה לא תכיל עומס רב ככל שיכול, ויחס הכותרת של פרוטוקול על עומס הפרוטוקול.
- זה יקר לשבר נתונים. מעט נתבים מותאמים לטיפול במספרים גדולים של מנות מקוטעות. סביר להניח שנתונים שצריכים להתעכב באופן משמעותי, ותורמים ליותר מעבד בשימוש בנתבים. בדרך כלל פיצול (ותכונות IP מתקדמות אחרות) מיושמים בתוכנה (איטית) ולא בחומרה (מהירה).
הנתיב MTU הוא ה- MTU הנמוך ביותר של כל קישור לאורך נתיב משתי נקודות קצה באינטרנט. צוואר הבקבוק של MTU אינו בהכרח באחת מנקודות הקצה, אך יכול להיות בכל מקום בין לבין.
ה- MTU הנפוץ ביותר הוא 1500 בתים, שהוא גודל המנות הגדול ביותר עבור רשתות Ethernet. עם זאת, חיבורי DSL ביתי, עם זאת, IP מנהרה דרך PPPOE (פרוטוקול נקודה לנקודה על Ethernet. כן, זהו פרוטוקול מודם החיוג הישן). פרוטוקול זה משתמש ב -8 בתים למנה עבור הכותרת שלו.
אם המשתמש במקרה נמצא בחיבור לאינטרנט דרך VPN, הוא יוסיף שכבה נוספת, עם כותרות מנות משלו משלו.
בקצרה; אם היית בוחר את גודל המנות הגדול ביותר האפשרי ברשת Ethernet, 1472, ותתמיד בזה, סביר להניח שתביא לשברים להרבה חיבורים. השברים שייווצרו יהיו קטנים מאוד וינפחו במיוחד את הפסולת התקורה.
הגישה הנוספת של בחירת גודל מנות שמרני מאוד, שלא סביר מאוד שתתפוצץ יש את החסרונות הבאים:
- אנשים ברשתות טובות, רגילות, יענישו עונש בגודל מנות קטן. שניהם מבחינת עומס הנתב אך גם פסולת רוחב הפס.
- נתבי תוכנה בדרך כלל אינם מוגבלים על ידי מספר הבתים שהם יכולים לנתב, אלא מספר המנות. מנות קטנות פירושן יותר מהן, ויותר עומס על נתבי תוכנה.
הפיתרון לבעיית מציאת גודל המנות האופטימלי הוא להתאים באופן דינמי את גודל המנות ולחפש את הגודל הגדול ביותר שיכול לעבור את זה מבלי להיות מקוטע לאורך הנתיב.
כדי לעזור לעשות זאת, אתה יכול להגדיר את Bit DF (אל תתפוצץ) ב- Datagrams שלך. זה מבקש מנתבים שאחרת יפוצצו מנות כדי לשחרר אותן, ולוחזר הודעת ICMP המדווחת על ה- MTU של הקישור שהמנה לא יכולה להתאים. עם ההודעה הזו, פשוט מאוד לגלות את הנתיב MTU. אתה פשוט מסמן את המנות שלך לא להיות מקוטעות, ומשנה את גודל המנות שלך בכל פעם שאתה מקבל את הודעת ה- ICMP To-Toce-Big.
לרוע המזל זה לא כל כך פשוט. ישנם מספר משמעותי של חומות אש בחסימת הבר החוסמת את כל הודעות ה- ICMP. המשמעות היא שאנחנו לא יכולים לסמוך עליהם, עלינו גם לנחש שמנה הוטלה בגלל גודתה. זה נעשה רק על ידי סימון מנות מסוימות עם DF, ואם כל המנות האחרות עוברות, למעט בדיקות MTU, אנו יודעים שאנחנו צריכים להוריד את גדלי המנות שלנו.
אם נקבע גבולות לנתיב MTU (נניח ה- MTU האינטרנט המינימלי, 576 ו- 1500 Ethernet), נוכל לבצע חיפוש בינארי אחר ה- MTU. זה יאפשר לנו למצוא את זה רק בכמה טיולים עגולים.
נוסף. המשמעות היא שמנהרת VPN תפרסם את ה- MTU שלה כנמוך יותר, וחיבור ה- UTP יידע מייד לשלוח מנות קטנות יותר, אין צורך בחיפוש. יש לו גם את תופעת הלוואי של היכולת להשתמש בגדלי מנות גדולים בהרבה עבור ממשקים שאינם Ethernet או קישורי אתרנט עם מסגרות ג’מבו.
סחף שעון
![]()
סחף השעון הוא שעונים המתקדמים בשיעורים שונים. זה שונה מטיפת שעון שמשמעותה שעונים מוגדרים לערכים שונים (אך עשויים להתקדם באותו קצב).
כל סחף שעון בין שתי המכונות המעורבות בהעברת UTP יביא למדידות עיכוב מנופחות או מנופחות באופן שיטתי.
ניתן לפתור זאת על ידי מתן לעיכוב הבסיס להיות המדגם הנמוך ביותר שנראה לאחרונה נ דקות. זהו חילופי דברים בין לראות מנות יחידה עוברת ישר בתור, ללא עיכוב, וכמות השעון נסחף ניתן להניח במחשבים רגילים.
מסתבר שבטוח למדי להניח שאחת המנות שלך תעבור ישר ללא עיכוב משמעותי, אחת ל 20 דקות בערך. עם זאת, נסחף השעון בין מחשבים רגילים יכול להיות עד 17 ms תוך 10 דקות. 17 ms הוא די משמעותי, במיוחד אם עיכוב היעד שלך הוא 25 ms (כמו במפרט Ledbat).
השעונים מתקדמים בשיעורים שונים בהתאם לטמפרטורה. המשמעות היא שמחשבים הפועלים חמים עשויים להיות סחף שעון בהשוואה למחשבים הפועלים מגניבים.
לכן, על ידי עדכון בסיס העיכוב מעת לעת על סמך המדגם הנמוך ביותר שנראה, או שתשנו אותו כלפי מעלה (באופן מלאכותי לגרום לדגימות העיכוב להראות קטנות) מבלי שהגודש או העיכוב אכן השתנה, או שתסתיים עם סחף שעון משמעותי ותהיה להם דגימות נמוכות באופן מלאכותי בגלל זה.
הפיתרון לבעיה זו מבוסס על העובדה שסחף השעון הוא רק בעיה לאחד מצדי החיבור. רק כאשר מדידות העיכוב שלך ממשיכות לגדול זו בעיה. אם מדידות העיכוב שלך יפחתו, הדגימות פשוט ידחפו את בסיס העיכוב יחד איתו. עם זאת בחשבון, אנו יכולים פשוט לעקוב אחר מדידות העיכוב של הקצה השני, וליישם עליו את אותו ההיגיון. בכל פעם שמותאם עיכוב הבסיס של הקצה השני כלפי מטה, אנו מתאימים את עיכוב הבסיס שלנו כלפי מעלה באותה כמות.
זה ישמור במדויק את עיכוב הבסיס עם סחף השעון וישפר את מדידות העיכוב. הדמות מימין מציגה את הבדלי חותמת הזמן המוחלטים יחד עם עיכוב הבסיס. שיפוע המדידות נגרם כתוצאה מסחף שעון.
למידע נוסף על פיצוי הסחף של השעון, עיין בשקופיות מהמצגת של ביטורנט ב- IPTPS10.
מאפיינים
יישום ה- UTP של Libtorrent כולל את התכונות הבאות:
- תגלית MTU של נתיב, כולל מסגרות ג’מבו וגילוי מנהרות MTU מוגבלות. גדלי מנות חיפוש בינאריות כדי למצוא את הגדול ביותר שאינו מפורש.
- ACK סלקטיבי. היכולת להכיר בחבילות בודדות במקרה של אובדן מנות
- מהיר שוב. בפעם הראשונה שמנה אבודה, היא מתמרמעת מייד. מופעל על ידי ACKs כפולים.
- האלגוריתם של נגל. צמצם את הפרוטוקול תקורה על ידי ניסיון לגבש מנות מטען מלאות יחד לפני שליחת מנות.
- עיכוב ACKs כדי למזער את התקורה של הפרוטוקול.
- חותמות זמן רזולוציה של מיקרו -שניות.
- חלון קבלת מפורסם, כדי לתמוך בהגבלת קצב ההורדות.
- טיפול נכון במספרי רצף עטיפה.
- תצורה קלה של עיכוב יעד, פקטור רווח, פסק זמן, מאגרי שקע מעוכבים ושקעים.
BitTorrent
BitTorrent הוא פרוטוקול המיועד להעברת קבצים. זה עמית לעמית באופיין, כאשר המשתמשים מתחברים זה לזה ישירות כדי לשלוח ולקבל חלקים מהקובץ. עם זאת, יש שרת מרכזי (המכונה גשש) המתאם את הפעולה של כל עמיתים כאלה. Tracker מנהל חיבורים בלבד, אין לו שום ידע על תוכן הקבצים המופצים, ולכן ניתן לתמוך במספר גדול של משתמשים באמצעות רוחב פס מוגבל יחסית של גשש.
הרחבה שנערכה לאחרונה ל- BitTorrent היא ה- DHT (“טבלת החשיש המרושלת המופצת” או פשוט נקראת פרוטוקול UDP Tracker). פרוטוקול עמיתים מבוסס UDP לפרוטוקול עמיתים. ו- UTorrent מייבא פרוטוקול הובלה מיקרו נוסף של UDP, הנקרא UTP.
הִיסטוֹרִיָה
באפריל 2001 עיצב בראם כהן את פרוטוקול Bittorrent, אותו יישם בקיץ 2002. התוכנית הראשונה שהשתמשת בפרוטוקול הייתה לקוח Bittorrent המקורי. כיום יישומים רבים זמינים, והפרוטוקול נמצא בשימוש נרחב.
תלות פרוטוקול
- TCP: בדרך כלל, BitTorrent משתמש ב- TCP כפרוטוקול ההובלה שלו. יציאת ה- TCP הידועה לתעבורת Bittorrent היא 6881-6889 (ו- 6969 ליציאת Tracker). סיומת ה- DHT (Tracker Peer2Peer) משתמשת ביציאות UDP שונות המשא ומתן על ידי העמיתים.
תנועה לדוגמא
Xxx – הוסף כאן תנועה דוגמה (כטקסט רגיל או מסך מסך של Wireshark).
Wireshark
Dissector Bittorrent הוא (פונקציונלי לחלוטין, פונקציונלי חלקית, לא קיים, … לא משנה מה המצב הנוכחי). הרחבת DHT נתמכת מאז R39653. סיומת ה- UTP נתמכת מאז R36716.
הגדרות העדפה
- הרכיבו מחדש הודעות bittorrent המשתרעות על קטעי TCP מרובים
- לפענח את PEER_ID של הודעות לחיצת היד
דוגמה לכידת קבצים
SampleCaptures/BitTorrent.העברה 1.Cap (Microsoft Network Monitor) הנה לכידה עם כמה מנות bittorrent; הוא מכיל כמה מנות קטנות שקיבלתי תוך כדי הורדת משהו ב- bittorrent.
SampleCaptures/BitTorrent.PCAP (LIBPCAP) לכידת קובץ של שני לקוחות טורנט תקשורת ללא DHT או חילופי עמיתים.
מסנן תצוגה
ניתן למצוא רשימה מלאה של שדות מסנן תצוגה של bittorrent בהפניה לסינון התצוגה
הראה רק את התנועה מבוססת הביטורנט:
BitTorrent הערה: מיושם בפוסט Wireshark 0.10.12!
לכידת פילטר
אינך יכול לסנן ישירות פרוטוקולי Bittorrent בזמן הלכידה. עם זאת, אם אתה מכיר את יציאת ה- TCP המשמשת (ראה לעיל), אתה יכול לסנן על זה.
לוכד רק את תנועת הגשש של Bittorrent על אחת מיציאות ברירת המחדל (ה.ז. 6881):
יציאת TCP 6881 לוכד את תנועת הגשש של Bittorrent על טווח יציאות ברירת המחדל (ה.ז. 6881-6889):
TCP DEXANGE 6881-6889 בעת שימוש ב- LiBPCAP 0.9.1 ואילך או winpcap 3.1 ואילך; ביטוי זה לא יעבוד עם גרסאות ישנות יותר של LiBPCAP או WINPCAP, ולכן ב- Windows, שדרג ל- WINPCAP 3.1 ואילך, וב- UN*X, שדרג ל- LiBPCAP 0.9.x במידת האפשר, ואם לא אפשרי ויש לך גרסה של libpcap לפני 0.8.1, השתמש
(TCP [0: 2]> = 6881 ו- TCP [0: 2] = 6881 ו- TCP [2: 2] (באג במיטוב LiBPCAP ב- LIBPCAP 0.8.X פירושו שזה לא יעבוד עם LiBPCAP 0.8.x, למרות שתוכל להשתמש ב- TCPDUMP עם דגל "-O").
קישורים חיצוניים
- http: // www.BitTorrent.com/ דף Bittorrent הרשמי
- דף Bittorrent של Wikipedia
- איך BitTorrent עובד על P2P באופן כללי, הגדרות Bittorrent וחומת אש
- פרוטוקול DHT (BEP 5), סיומת BitTorrent מבוססת UDP עבור עוקבים מבוזרים (מספר יציאת UDP משא ומתן). כמו כן: קישור לטיוטת פרוטוקול DHT (קישור מת), עותק ארכיון האינטרנט (2007-12-21) של טיוטת פרוטוקול DHT.
- חתימת פרוטוקול היפי תיאור חתימות פרוטוקול TCP ו- UDP שעשויות לשמש כדי לזהות באופן היוריסטית את קישור ארכיון האינטרנט של פרוטוקול Bittorrent
- עוד על BitTorrent
האם Utorrent משתמש ב- TCP או UDP?
Reddit ושותפיה משתמשים בעוגיות וטכנולוגיות דומות כדי לספק לך חוויה טובה יותר.
על ידי קבלת כל העוגיות, אתה מסכים לשימוש שלנו בעוגיות כדי לספק ולתחזק את השירותים והאתר שלנו, לשפר את איכות Reddit, להתאים אישית את התוכן Reddit ופרסום, ומדוד את יעילות הפרסום.
על ידי דחיית עוגיות לא חיוניות, Reddit עשוי עדיין להשתמש בעוגיות מסוימות כדי להבטיח את הפונקציונליות המתאימה של הפלטפורמה שלנו.
למידע נוסף, אנא עיין בהודעת העוגיות שלנו ומדיניות הפרטיות שלנו .
מהם יציאות TCP/UDP המשמשות יישומי סיקור?
אני רוצה לחסום תנועה של סיקור ברשת שלי מכיוון שהיא משתמשת ברוחב פס רב מדי ומשבשת את תנועת הרשת שלי. באיזה טווח יציאות עלי להשתמש ואיזה פרוטוקול TCP או UDP?
4,824 8 8 תגי זהב 35 35 תגי כסף 61 61 תגי ברונזה
שאל 9 באפריל 2013 בשעה 0:26
361 1 תג זהב 3 3 תגי כסף 5 5 תגי ברונזה
AFAIK לקוח BitTorrent בדרך כלל מקשר את יציאת ה- TCP מספר 6881. עם זאת, אם יציאה זו עמוסה מסיבה כלשהי, הלקוח ינסה במקום זאת בנמלים גבוהים יותר ברציפות (6882, 6883 וכן הלאה עד גבול של 6999). על מנת שלקוחות חיצוניים חיצוניים יגיעו לזו, הם חייבים להיות מסוגלים להתחבר ליציאה הנכונה.
3 באוקטובר 2013 בשעה 8:04
אם יש לך שליטה על מחשבי הרשת אתה יכול לנסות למצוא את החשיש של היישום BitTorrent ולחסום אותו מהתקנת או להריץ מחשב כלשהו
12 בדצמבר 2013 בשעה 12:05
זה בכלל לא מתייחס לשאלה. ה- OP שואל באילו יציאות משתמשים.
12 בדצמבר 2013 בשעה 14:57
@RoryalsOp אני קצת מאחר, אבל אנשים מציעים פתרונות אחרים מכיוון ש- Bittorrent אינו מוגבל לשום יציאה.
18 בספטמבר 2015 בשעה 4:05
חסום כל יציאה פנימה/החוצה בכל הפרוטוקולים והפניית חומת האש על בסיס ביקוש.
12 בפברואר 2017 בשעה 2:27
2 תשובות 2
חסימת BitTorrent היא מאתגרת, ולא באמת ניתן לעשות זאת ביעילות עם בלוקי יציאה. היציאות הסטנדרטיות הן 6881-6889 TCP, אך ניתן להפעיל את הפרוטוקול בכל יציאה, ואופי העמיתים לעמית של הפרוטוקול פירושו שגילוי עמיתים המשתמשים ביציאות לא חסומות הוא פשוט.
חסימת תנועה של BitTorrent יכולה להיעשות באמצעות חומת אש של בדיקה עמוקה או יישומים, אך לקוחות Bittorrent רבים תומכים בהצפנה שהופכת את DPI ליעיל פחות.
אם אתה הבעלים של הרשת ורוחב הפס הוא הנושא הגדול שלך, אז אתה תוגש בצורה הטובה ביותר על ידי פתרון ניטור רוחב פס. איכות השירות (QoS) כובעי רוחב פס לנקודות קצה יכולות להגביל את ההשפעה של המשתמשים של Bittorrent על רוחב הפס הכולל שלך, ללא משחק החתול והעכבר של ניסיון לחסום פרוטוקול מסוים.
גישה נוספת תהיה לחסום את סוגי החיבורים ש- BitTorrent דורש. כפרוטוקול עמיתים לעמית, עמיתים מחוץ לרשת שלך צריכים להתחבר פנימה. חומת אש יכולה לאסור חיבורים מכניסים לרשת המשנה שלך למשתמש, תוך מתן אפשרות לשירותים המיועדים לפנים החיצוניים שלך. IP.
אם הדאגה שלך היא חוקיות התוכן המשותף (או אם אתה מתכנן לנקוט בפעולה כלשהי נגד המשתמשים שלך), הרי שההגנה הטובה ביותר שלך היא מדיניות נכתב היטב לשימוש מקובל המתווה את אחריות המשתמשים על מעשיהם ואוסרת על שימוש בתוכנת שיתוף קבצים.
אילו יציאות צריכות להיות מאפשרות דרך חומת אש לסיקור זרעים באמצעות שידור CLI בשרת ללא ראש?
מארח את הגשש שלי בעצמי באמצעות Bittorrent-Tracker. נפתח יציאת UDP 6969 על שרתי גשש וזרעים. מה עוד צריך לאפשר?
19.8K 47 47 תגי זהב 179 179 תגי כסף 312 312 תגי ברונזה
שאל 23 בפברואר 2022 בשעה 14:35
Sunknudsen Sunknudsen
842 10 10 תגי כסף 22 22 תגי ברונזה
תשובה 1 1
הן עבור הגשש והן ללקוח הסיקור התשובה זהה:
את היציאות שהגדרת.
עוקבים באופן מסורתי מקשיבים TCP יציאה 6969. הם יכולים גם להאזין ביציאות אחרות (גם TCP וגם UDP). זה תלוי בהתקנה.
ל- BitTorrent טכנית יש יציאות ידועות (TCP 6881-6889). פרוטוקול DHT עשוי להשתמש ביציאות UDP שונות. פרוטוקול UTP עשוי להשתמש ביציאות UDP שונות. בפועל, זה שוב תלוי בתצורה.
אם אתה עומד מאחורי שער NAT מכל סוג שהוא, אתה צריך גם העברת נמל.



