Upload
afia
View
71
Download
11
Embed Size (px)
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
וכעת לשינויים ודוגמאות שלא הוכנו מראש . . .
ולסיום . . .ולסיום . . .
??? שאלות