1 / 21

בחינת הביצועים של פרוטוקול TCP עם שינויים.

בחינת הביצועים של פרוטוקול TCP עם שינויים. מנחה : ליבמן לביא. סטודנטים : טל שחר גלעד שייביץ. מבוא. - במערכות הפעלה שונות (כגון Unix,Ms-Windows ) ממומש פרוטוקול TCP/IP תוך התייחסות לפרמטרים שונים של בקרה כגון גודל חלון ו Timeout. מבוא (המשך).

afia
Download Presentation

בחינת הביצועים של פרוטוקול TCP עם שינויים.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. בחינת הביצועים של פרוטוקול TCP עם שינויים. מנחה : ליבמן לביא. סטודנטים : טל שחר גלעד שייביץ.

  2. מבוא - במערכות הפעלה שונות (כגון Unix,Ms-Windows) ממומש פרוטוקול TCP/IP תוך התייחסות לפרמטרים שונים של בקרה כגון גודל חלון ו Timeout .

  3. מבוא (המשך) - במערכות הקיימות כיום מבוצע חישוב עלות השימוש באינטרנט ע"פ משך זמן החיבור. בעתיד ניתן לצפות שמדיניות התמחור תהיה מבוססת גם על פרמטרים נוספים אשר יהוו אומדן לעומס על הרשת כתוצאה מהתחברותו של הלקוח ואשר יושפעו למשל ממצב העומס ברשת , כך שניתן יהיה להוזיל/לייקר שימוש בשעות שהרשת פחות/יותר עמוסה בצורה דינאמית למצב הרשת.

  4. מבוא(המשך) - מטרת הפרוייקט הינה לבחון שינוי ביצועי הפרוטוקול כלפי צרכן בודד עבור שינויים בפרמטרים שונים בבקרת זרימת החבילות. ע"י מתן תמחור לפרמטרים השונים של קשר ה – TCP/IP וחישוב המחיר הכולל לשימוש ברשת עבור צרכן בודד נקבל מדד טוב לביצועי הרשת. פרמטרים אפשריים הם עלות שליחת יחידת מידע או יחידת זמן אשר בעזרתם נקבל מחיר השימוש הכולל עבור הקשר.

  5. מבוא (המשך) • מנהל המערכת יוכל לקבוע את הפרמטרים השונים של בקרת • הזרימה , והמערכת ע"פ קלט מתאים של עלויות (ליחידת זמן ומידע) • תספק את העלות הכוללת לשימוש עבור התקשרות.

  6. מימוש נבחר המימוש הנבחר הינו המימוש הקיים ב Linux . - מערכת פתוחה ולכן ניתן לגשת לקוד בצורה חופשית. - מימוש קרוב ל – Unix.

  7. תאור המימוש – מבנה השכבות BSD – Socket Inet Socket TCP UDP IP SLI Ethernet PLIP SLIP Ethernet card Parallel port Serial port

  8. תאור המימוש – מעבר חבילה חבילה data באורך len write(socket,date,len);---user level sock_write() --- BSDlevel תהליך במחשב א' inet_sendmsg() --- Inet level tcp_sendmsg()--- TCP level tcp_send_skb()and ip_queue_xmit() --- sending to IP level מעבר דרך השכבות הפיזיות למחשב ב'

  9. תאור המימוש – מעבר חבילה (המשך) tcp_rcvmsg() --- TCP level תהליך במחשב ב' inet_rcvmsg() --- Inet level sock_read() --- BSD level read(socket,data,len); --- User level

  10. TimeOut - תיאוריה • ע"פ Jacobson (1988) : RTT = RTT_Old*α + (1-α)*M. (α usually 7/8). RTT- round trip time. M - New round Trip time sampled. Timeout = β*RTT. (Jacobson proposed β = 2). • עדכון גם לערך השונות : D = α*D + (1- α)*| RTT – M| D – sampled variance. Timeout = RTT +4*D.

  11. TimeOut - תיאוריה (המשך) • הצעת Karn – התחשבות אגרסיבית כאשר פג Timeout : Timeout = *Timeout (typically =2)

  12. השינויים שביצענו • חישוב Timeout בשתי אפשרויות : ע"י פרמטר tcp_timeout_flag נקבע את האפשרות הרצויה: • ערך קבוע (נתינת הערך Const) • הערך הקודם מוכפל בסקלר. ( נתינת הערך Scalar). ערך ה – Timeout במשתנה tcp_timeout_value.

  13. השינויים שביצענו (המשך) • מתן תמחור כדי למדוד ביצועים : • ע"י הפרמטר tcp_cost_flag נקבע סוג חישוב עלות : • מחיר ליחידת מידע או ליחידת זמן.(ערך Byte אוPacket). • ערך ליחידה במשתנים : • tcp_byte_cost,tcp_packet_cost,tcp_time_cost • ע"י מתן תמחור – קבלת עלות השימוש.

  14. השינויים שביצענו (המשך) הוספת מנגנון אשר יתן ממש"ק למנהל המערכת כך שיוכל לעדכן את משתני הבקרה וע"י כך לעדכן את פעולת הפרוטוקול. - קובץ /etc/tcp.conf - תוכנית /root/tcpchg/get_tcpchg.

  15. השינויים שביצענו (המשך) הוספת מנגנון ליצירת הפלט של הפרוטוקול (עלות השימוש). - קובץ /var/log/tcp.log - תוכנית /root/tcpchg/tcp_log_me.

  16. השינויים בקוד עצמו השינויים בקוד עצמו כוללים : - הוספת מנגנון הממש"ק בין הפרוטוקול למשתני הבקרה. - הוספת השינויים ע"פ משתני הבקרה. - יצירת פלט מתאים. כעת נציג את השינויים עצמם על מערכת Linux . . .

  17. דוגמא לביצועים לאחר שינוי נציג כעת דוגמא שהכנו מראש . עבור ביצוע telnet למחשב וביצוע מספר קבוע של פעולות זהות קיבלנו ערכים שונים לעלות השימוש עבור ערכי Timeout שונים. (בדוגמא לעיל נתנו עלות גבוהה ליחידת זמן ומידע לקבלת רצולוזיה).

  18. דוגמא לביצועים לאחר שינוי )המשך) the cost parameters - 0.002$ per second ( 0.2 cent ) 0.001$ per byte ( 0.1 cent) default timeout - Jun 21 12:19:53 TCP_LOG: Session 134325 , Time = 62 Jun 21 12:19:53 TCP_LOG: Packets sent = 136 , Bytes sent = 660 Jun 21 12:19:53 TCP_LOG: Connection Cost = 0.784 $ Jun 21 12:19:53 TCP_LOG: End of Session 134325 default * 0.7 - Jun 21 12:26:10 TCP_LOG: Session 171111 , Time = 71 Jun 21 12:26:10 TCP_LOG: Packets sent = 136 , Bytes sent = 691 Jun 21 12:26:10 TCP_LOG: Connection Cost = 0.833 $ Jun 21 12:26:10 TCP_LOG: End of Session 171111 default * 0.3 - Jun 21 12:29:24 TCP_LOG: Session 190497 , Time = 72 Jun 21 12:29:24 TCP_LOG: Packets sent = 166 , Bytes sent = 863 Jun 21 12:29:24 TCP_LOG: Connection Cost = 1.007 $ Jun 21 12:29:24 TCP_LOG: End of Session 190497 default * 0.1 - Jun 21 12:33:08 TCP_LOG: Session 213314 , Time = 67 Jun 21 12:33:08 TCP_LOG: Packets sent = 281 , Bytes sent = 1724 Jun 21 12:33:08 TCP_LOG: Connection Cost = 1.858 $ Jun 21 12:33:08 TCP_LOG: End of Session 213314

  19. דוגמא לביצועים לאחר שינוי (המשך) deault * 1.3 - Jun 21 12:42:10 TCP_LOG: Session 267278 , Time = 70 Jun 21 12:42:10 TCP_LOG: Packets sent = 140 , Bytes sent = 640 Jun 21 12:42:10 TCP_LOG: Connection Cost = 0.780 $ Jun 21 12:42:10 TCP_LOG: End of Session 267278 default * 1.7 - Jun 21 12:46:12 TCP_LOG: Session 290676 , Time = 78 Jun 21 12:46:12 TCP_LOG: Packets sent = 130 , Bytes sent = 610 Jun 21 12:46:12 TCP_LOG: Connection Cost = 0.766 $ Jun 21 12:46:12 TCP_LOG: End of Session 290676 default * 2 - Jun 21 12:48:34 TCP_LOG: Session 305780 , Time = 69 Jun 21 12:48:34 TCP_LOG: Packets sent = 128 , Bytes sent = 610 Jun 21 12:48:34 TCP_LOG: Connection Cost = 0.748 $ Jun 21 12:48:34 TCP_LOG: End of Session 305780

  20. וכעת לשינויים ודוגמאות שלא הוכנו מראש . . .

  21. ולסיום . . . שאלות ???

More Related