21
ללללל לללללללל לל ללללל לללללללל לל לללללללל ללללללללTCP TCP לל לל ללללללל. ללללללל. לללל : ללללל לללל. לללללללל : לל ללל לללל לללללל.

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

  • Upload
    afia

  • View
    71

  • Download
    11

Embed Size (px)

DESCRIPTION

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

Citation preview

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

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

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

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

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

מבואמבוא

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

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

לפרמטרים

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

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

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

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

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

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

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

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

בשעות

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

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

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

צרכן

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

החבילות.

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

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

מדד

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

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

זמן אשר

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

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

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

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

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

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

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

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

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

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

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

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

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

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

BSD – Socket

Inet Socket  TCP UDP

IP

SLIEthernet PLIP SLIP

Ethernetcard

Parallelport

Serialport

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

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

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

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

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

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

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

sock_read)( --- BSD level

inet_rcvmsg)( --- Inet level

tcp_rcvmsg)( --- TCP level

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

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

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

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.

 

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

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

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

Timeout = *Timeout )typically =2(

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

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

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

הרצויה:

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

Scalar.)

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

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

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

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

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

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

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

tcp_byte_cost,tcp_packet_cost,tcp_time_cost

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

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

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

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

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

etc/tcp.conf/ - קובץ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

דוגמא לביצועים לאחר דוגמא לביצועים לאחר 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

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

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

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

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

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

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

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

??? שאלות