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

Preview:

DESCRIPTION

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

Citation preview

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

ליבמן לביא.מנחה :

טל שחרסטודנטים :גלעד שייביץ.

מבואמבוא

(Unix,Ms-Windowsבמערכות הפעלה שונות )כגון -

תוך התייחסות TCP/IP ממומש פרוטוקול

לפרמטרים

.Timeout שונים של בקרה כגון גודל חלון ו

מבוא )המשך(מבוא )המשך(

- במערכות הקיימות כיום מבוצע חישוב עלות השימוש באינטרנט

ע"פ משך זמן החיבור. בעתיד ניתן לצפות שמדיניות התמחור תהיה

מבוססת גם על פרמטרים נוספים אשר יהוו אומדן

לעומס על הרשת כתוצאה מהתחברותו של הלקוח ואשר יושפעו

למשל ממצב העומס ברשת , כך שניתן יהיה להוזיל/לייקר שימוש

בשעות

שהרשת פחות/יותר עמוסה בצורה דינאמית למצב הרשת.

- מטרת הפרוייקט הינה לבחון שינוי ביצועי הפרוטוקול כלפי

צרכן

בודד עבור שינויים בפרמטרים שונים בבקרת זרימת

החבילות.

TCP/IPקשר ה – ע"י מתן תמחור לפרמטרים השונים של

וחישוב המחיר הכולל לשימוש ברשת עבור צרכן בודד נקבל

מדד

טוב לביצועי הרשת.

או יחידת עלות שליחת יחידת מידע אפשריים הםפרמטרים

זמן אשר

קשר.מחיר השימוש הכולל עבור הבעזרתם נקבל

מבוא)המשך(מבוא)המשך(

מבוא )המשך(מבוא )המשך(

מנהל המערכת יוכל לקבוע את הפרמטרים השונים של בקרת-

הזרימה , והמערכת ע"פ קלט מתאים של עלויות )ליחידת זמן ומידע(

.עבור התקשרות תספק את העלות הכוללת לשימוש

מימוש נבחרמימוש נבחר

.Linuxהמימוש הנבחר הינו המימוש הקיים ב

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

.Unixמימוש קרוב ל – -

תאור המימוש – מבנה השכבותתאור המימוש – מבנה השכבות

BSD – Socket

Inet Socket  TCP UDP

IP

SLIEthernet PLIP SLIP

Ethernetcard

Parallelport

Serialport

תאור המימוש – מעבר חבילהתאור המימוש – מעבר חבילה

len באורך dataחבילה

write)socket,date,len(; --- user level

sock_write)( --- BSD level

inet_sendmsg)( --- Inet level

tcp_sendmsg)( --- TCP level

tcp_send_skb)( and ip_queue_xmit)( --- sending to IP level

תהליך במחשב א'תהליך במחשב א'

מעבר דרך השכבות הפיזיות למחשב ב'

תאור המימוש – מעבר חבילה תאור המימוש – מעבר חבילה )המשך()המשך(

sock_read)( --- BSD level

inet_rcvmsg)( --- Inet level

tcp_rcvmsg)( --- TCP level

read)socket,data,len(; --- User level

''תהליך במחשב בתהליך במחשב ב

TimeOutTimeOut - - תיאוריה תיאוריה

:)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.

 

TimeOutTimeOut - - )תיאוריה )המשך( תיאוריה )המשך

– התחשבות אגרסיבית כאשר פג Karnהצעת •Timeout:

Timeout = *Timeout )typically =2(

שביצענושביצענושינויים שינויים הה

בשתי אפשרויות :Timeoutחישוב • נקבע את האפשרות tcp_timeout_flagע"י פרמטר

הרצויה:

(Const )נתינת הערך ערך קבוע– הערך הקודם מוכפל בסקלר. ) נתינת הערך –

Scalar.)

.tcp_timeout_value במשתנה Timeoutערך ה –

שביצענו )המשך(שביצענו )המשך(שינויים שינויים הה

מתן תמחור כדי למדוד ביצועים : •

נקבע סוג חישוב עלות :tcp_cost_flagע"י הפרמטר

(.Packet אוByte)ערך מחיר ליחידת מידע או ליחידת זמן.

ערך ליחידה במשתנים :

tcp_byte_cost,tcp_packet_cost,tcp_time_cost

ע"י מתן תמחור – קבלת עלות השימוש. •

שביצענו )המשך(שביצענו )המשך(שינויים שינויים הה

הוספת מנגנון אשר יתן ממש"ק למנהל המערכת כך שיוכל לעדכן

שתני הבקרה וע"י כך לעדכן את פעולת הפרוטוקול.מאת

etc/tcp.conf/ - קובץ

.root/tcpchg/get_tcpchg/ - תוכנית

שביצענו )המשך(שביצענו )המשך(שינויים שינויים הה

הוספת מנגנון ליצירת הפלט של הפרוטוקול )עלות השימוש(.

var/log/tcp.log/ - קובץ

.root/tcpchg/tcp_log_me/ - תוכנית

השינויים בקוד עצמוהשינויים בקוד עצמו

נויים בקוד עצמו כוללים :יהש

- הוספת מנגנון הממש"ק בין הפרוטוקול למשתני הבקרה.

- הוספת השינויים ע"פ משתני הבקרה.

- יצירת פלט מתאים.

. . .Linuxכעת נציג את השינויים עצמם על מערכת

דוגמא לביצועים לאחר שינוידוגמא לביצועים לאחר שינוי

נציג כעת דוגמא שהכנו מראש .

למחשב וביצוע מספר קבוע של פעולות זהותtelnetעבור ביצוע

שונים.Timeoutקיבלנו ערכים שונים לעלות השימוש עבור ערכי

)בדוגמא לעיל נתנו עלות גבוהה ליחידת זמן ומידע לקבלת רצולוזיה(.

דוגמא לביצועים לאחר דוגמא לביצועים לאחר 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 = 62Jun 21 12:19:53 TCP_LOG: Packets sent = 136 , Bytes sent = 660Jun 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 = 71Jun 21 12:26:10 TCP_LOG: Packets sent = 136 , Bytes sent = 691Jun 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 = 72Jun 21 12:29:24 TCP_LOG: Packets sent = 166 , Bytes sent = 863Jun 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 = 67Jun 21 12:33:08 TCP_LOG: Packets sent = 281 , Bytes sent = 1724Jun 21 12:33:08 TCP_LOG: Connection Cost = 1.858 $Jun 21 12:33:08 TCP_LOG: End of Session 213314

דוגמא לביצועים לאחר שינוי דוגמא לביצועים לאחר שינוי )המשך()המשך(

deault * 1.3 -

Jun 21 12:42:10 TCP_LOG: Session 267278 , Time = 70Jun 21 12:42:10 TCP_LOG: Packets sent = 140 , Bytes sent = 640Jun 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 = 78Jun 21 12:46:12 TCP_LOG: Packets sent = 130 , Bytes sent = 610Jun 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 = 69Jun 21 12:48:34 TCP_LOG: Packets sent = 128 , Bytes sent = 610Jun 21 12:48:34 TCP_LOG: Connection Cost = 0.748 $Jun 21 12:48:34 TCP_LOG: End of Session 305780

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

ולסיום . . .ולסיום . . .

??? שאלות