תרגיל בית מס` 1 - אוניברסיטת תל אביב

‫אוניברסיטת תל‪-‬אביב‬
‫הפקולטה להנדסה‬
‫ביה"ס להנדסת חשמל‬
‫נושאים‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪ - 1904.1150‬מעבדה מתקדמת בתקשורת מחשבים‬
‫תרגיל מס' ‪5‬‬
‫‪TCP‬‬
‫‪SSH‬‬
‫שאלות להגשה‬
‫חלק ראשון‪-Modeler -‬‬
‫א‪.‬‬
‫הכן את מעבדת ‪ Modeler‬מס' ‪ 8‬בנושא ‪.TCP‬‬
‫מס' הערות בקשר לשאלה ‪ 3‬בתרגיל ה‪:Modeler -‬‬
‫‪ .0‬יש לבצע ‪ Zoom‬במקומות מתאימים בגרף על מנת לנתח אותו‪.‬‬
‫‪ .4‬הצגת הגרף כנקודות בודדות )‪ (Discrete‬עשויה להקל על הניתוח‪.‬‬
‫‪.3‬‬
‫‪1‬‬
‫ מעבדה מתקדמת בתקשורת מחשבים‬- 1904.1150
‫אביב‬-‫אוניברסיטת תל‬
‫הפקולטה להנדסה‬
‫ביה"ס להנדסת חשמל‬
:8 '‫שאלות נוספות למעבדה מס‬
‫( להיות‬MSS) Maximum Segment Size ‫ קבע‬Server_West ‫ ב‬-Drop_NoFast .‫ב‬
(TCP parameters) bytes 911
(TCP parameters) bytes 0911 ‫ להיות‬MSS ‫ קבע‬Server_West ‫ ב‬-Drop_Fast
.Drop_Fast ,Drop_NoFast ‫הרץ סימולציות ל‬
.Drop_Fast ,Drop_NoFast ‫ של‬Congestion Window Size ‫הצג גרף שמשווה‬
.‫הסבר את הגרף‬
‫ להיות‬Packet Discard Ratio )Drop_Fast ,Drop_NoFast( ‫ קבע לשני תרחישים‬.‫ה‬
. (IP Cloud attributes) 0%
.Drop_Fast ,Drop_NoFast ‫הרץ סימולציות ל‬
.Drop_Fast ,Drop_NoFast ‫ של‬Congestion Window Size ‫הצג גרף שמשווה‬
.‫הסבר את הגרף‬
‫ להיות‬Packet Discard Ratio )Drop_Fast ,Drop_NoFast( ‫ קבע לשני תרחישים‬.‫ו‬
. (IP Cloud attributes) 9%
.Drop_Fast ,Drop_NoFast ‫הרץ סימולציות ל‬
.Drop_Fast ,Drop_NoFast ‫ של‬Congestion Window Size ‫הצג גרף שמשווה‬
.‫הסבר את הגרף‬
.‫ז‬
?Fast Retransmit ‫הסבר בקצרה מהו מנגנון‬
?‫על איזה בעיה הוא אמור לענות‬
.‫ח‬
?Fast Recovery ‫הסבר בקצרה מהו מנגנון‬
?‫על איזה בעיה הוא אמור לענות‬
2
‫אוניברסיטת תל‪-‬אביב‬
‫הפקולטה להנדסה‬
‫ביה"ס להנדסת חשמל‬
‫‪ - 1904.1150‬מעבדה מתקדמת בתקשורת מחשבים‬
‫חלק שני‪-Wireshark -‬‬
‫כעת נרצה לחקור את פרוטוקול ה‪ TCP -‬באמצעות תוכנת ה‪ .Wireshark -‬התוכנה כבר מותקנת‬
‫במחשבי החווה‪ ,‬וניתן להורידה חינם באמצעות הלינק באתר‪.‬‬
‫את תוכנת ה‪ Wireshark -‬הכרתם בקורס הקדם‪ -‬מבוא לתקשורת מחשבים‪ .‬מומלץ לבצע את‬
‫תרגיל ההיכרות עם התוכנה ‪ .Wireshark Intro‬אין צורך להגיש תרגיל זה‪.‬‬
‫ט‪.‬‬
‫יש לבצע ולהגיש את מעבדת ה‪ Wireshark -‬בנושא ‪ .TCP‬יש להשתמש בקבצי ה‪Trace -‬‬
‫הזמינם באתר‪ ,‬על מנת לענות על השאלות‪.‬‬
‫לפני תחילת העבודה יש לבטל איחוי חבילות ‪:HTTP‬‬
‫‪Edit->Preferences->Protocols->HTTP‬‬
‫יש לבטל את ‪ 4‬האפשרויות הראשונות‪:‬‬
‫‪Reassemble HTTP headers, Reassemble HTTP bodies‬‬
‫‪3‬‬
‫אוניברסיטת תל‪-‬אביב‬
‫הפקולטה להנדסה‬
‫ביה"ס להנדסת חשמל‬
‫‪ - 1904.1150‬מעבדה מתקדמת בתקשורת מחשבים‬
‫כמו כן יש לשנות את ההגדרות הבאות לגבי פרוטוקול ‪:TCP‬‬
‫‪Edit->Preferences->Protocols->TCP‬‬
‫יש לבטל את האפשרות השלישית והרביעית‪:‬‬
‫‪Allow subdissector to reassemble TCP strams‬‬
‫‪Analyze TCP sequence numbers‬‬
‫הנוסחה ל‪:EstimatedRTT -‬‬
‫‪EstimatedRTT = (1-a)*EstimatedRTT + a*SampleRTT‬‬
‫‪a = 0.125‬‬
‫‪4‬‬
‫ מעבדה מתקדמת בתקשורת מחשבים‬- 1904.1150
‫אביב‬-‫אוניברסיטת תל‬
‫הפקולטה להנדסה‬
‫ביה"ס להנדסת חשמל‬
:419 ‫ מעמוד‬3.4 ‫טבלה‬
Event
Arrival of in-order segment with expected
sequence number. All data up to expected
sequence number already acknowledged.
TCP Receiver Action
Delayed ACK. Wait up to 500 ms for arrival of
another in order segment. If next in-order
segment does not arrive in this interval, send
an ACK.
Immediately send single cumulative ACK,
ACKing both in-order segments.
Arrival of in-order segment with expected
sequence number. One other in-order segment
waiting for ACK transmission.
Arrival of out-of-order segment with higherthan-expected sequence number. Gap
detected.
Arrival of a segment that partially or completely
fills a gap in received data.
Immediately send duplicate ACK, indicated
sequence number of next expected byte (which
is the lower end of the gap).
Immediately send ACK, provided that segment
starts at the lower end of the gap.
:TCP ‫ עם‬SSH -‫חלק שלישי‬
.SSH ‫כעת נרצה לחקור העברת קובץ גדול באמצעות תוכנת‬
?SSH -‫ הסבר במשפט מהי תוכנת ה‬.0
?SSH ‫ פועל‬IP -‫ באיזה שכבה במודל ה‬.4
?‫ ובמה הם נבדלים‬FTP, SFTP, SCP ‫ הסבר במשפט מהם‬.3
.‫י‬
.‫ ניתן להוריד תוכנות חופשיות שונות ברשת‬.SSH ‫לצורך המשך התרגיל עלייך להיעזר בתוכנת‬
‫ או תוכנה‬Putty ‫ כמו כן ניתן להשתמש בתוכנות שנקראת‬.WinSCP -‫מומלץ להשתמש ב‬
.Command Line -‫ ב‬UNIX -‫ על מנת להתחבר לחשבון ה‬Term Tara ‫שנקראת‬
http://www.eng.tau.ac.il/~uuddii/
:‫כל התוכנות ניתנות להורדה מאגף מחשוב וטכנולוגיה‬
-‫ בזמן העברת קובץ ב‬TCP ‫ את פרוטוקול‬Wireshark ‫אנו מעוניינים לנתח באמצעות תוכנת‬
.SSH
:‫ שלך‬gp -‫ בחשבון ה‬SSH -‫התחבר לשרות ה‬
.Post -‫ שם המשתמש והסיסמה זהים לאלו המשמשים לקריאת דואר ב‬.gp.tau.ac.il -‫שם השרת‬
‫ יש להתחבר לאחד מהשרתים הבאים‬gp.tau.ac.il ‫ אם יש בעיה להתחבר לשרת‬:‫הערה‬
nova.cs.tau.ac.il
soul.cs.tau.ac.il
5
‫אוניברסיטת תל‪-‬אביב‬
‫הפקולטה להנדסה‬
‫ביה"ס להנדסת חשמל‬
‫‪ - 1904.1150‬מעבדה מתקדמת בתקשורת מחשבים‬
‫הערה‪ :‬אם קיימת בעיה בהתחברות מהבית לשרת ‪ ,gp‬יש לבצע חלק זה מהמחשבים בחוות‬
‫המחשבים בבניין תוכנה‪.‬‬
‫עליך ליצור בחשבונך ב‪ gp -‬קובץ בגודל ‪( 4MB‬בדיוק)‪.‬‬
‫יא‪.‬‬
‫כיצד יצרת את הקובץ?‬
‫כעת הפעל את ה‪ Sniffer -‬בתוכנת ה‪.Wireshark -‬‬
‫השתמש ב‪ SCP -‬או ‪ SFTP‬לצורך הורדת הקובץ מחשבונך ב‪ gp -‬אל המחשב המקומי‪.‬‬
‫בסיום ההעברה‪ ,‬נתק את ההתקשרות לשרת ה‪ ,(Disconnect) gp -‬ורק אח"כ הפסק את ה‪-‬‬
‫‪.Sniffer‬‬
‫יב‪.‬‬
‫מהי כתובת ה‪ IP -‬של מחשבך האישי?‬
‫מהי כתובת ה‪ IP -‬של השרת ב‪?gp -‬‬
‫כעת נרצה לסננן את החבילות כך שיישארו רק החבילות שקשורות להעברת הקובץ‪ .‬אחת‬
‫האפשרויות היא לסנן את החבילות‪ ,‬כך שיישארו רק החבילות שהיעד‪ /‬מקור שלהן הוא שרת‬
‫‪ .gp‬כתיבת השורה הבאה בפילטר של ‪ Wireshark‬תבצע את העבודה‪:‬‬
‫‪ip.addr == IP‬‬
‫‪ - IP‬כתובת ה‪ IP -‬של שרת ה‪.gp -‬‬
‫יג‪.‬‬
‫הסבר בקצרה כיצד מבצעת תוכנת ‪ Wireshark‬את הסינון הנ"ל?‬
‫יד‪.‬‬
‫בחר חבילה מסוימת‪ .‬התבונן בנתוני ה‪ .TCP -‬באיזה ‪ port‬משתמשים בחיבור לשרת ‪?SCP‬‬
‫מס' ‪ port‬זה קבוע ומשמש תמיד לתוכנת ה‪ .SSH -‬מדוע יש צורך ב‪ Port -‬קבוע?‬
‫באיזה ‪ port‬משתמשת תוכנת ה‪ SHH -‬במחשב המקומי?‬
‫טו‪.‬‬
‫בחר את אחת מחבילות המידע המגיעות מהשרת‪ .‬מדוע תוכנת ה‪ Wireshark -‬לא מפענחת‬
‫ומציגה את המידע עבור פרוטוקול ה‪?SSH -‬‬
‫טז‪.‬‬
‫הצג גרף של מספרי ה‪ Sequence -‬המגיעים מהשרת‪:‬‬
‫עמוד על אחת מחבילות המידע המגיעות מהשרת‪ ,‬ובחר‪:‬‬
‫)‪Statistics ->TCP Stream Graph -> Time Sequence Graph (tcptrace‬‬
‫נתח את הגרף המתקבל‪.‬‬
‫‪6‬‬
‫אוניברסיטת תל‪-‬אביב‬
‫הפקולטה להנדסה‬
‫ביה"ס להנדסת חשמל‬
‫‪ - 1904.1150‬מעבדה מתקדמת בתקשורת מחשבים‬
‫(הערה‪ :‬לא תמיד ניתן להבחין ב‪.)Slow Start -‬‬
‫בגרף רואים את מספרי ה‪ Sequence -‬המתקבלים‪ ,‬ואת מספרי ה‪ Ack -‬הנשלחים חזרה‪.‬‬
‫בצע ‪ Zoom‬על אחד מהאזורים בהם חבילה אבדה ולא הגיעה בזמן והסבר את מה שאתה רואה‪.‬‬
‫יח‪.‬‬
‫כיצד ניתן לזהות את סיום ההתקשרות ב‪?TCP -‬‬
‫יש לשמור את קובץ ה‪ Trace -‬שקיבלת בשם ‪ ,gp.cap‬ולהקפיד לא למחוק אותו עד לסיום‬
‫הסמסטר‪ .‬יכול להיות שתתבקשו להציג אותו בשלב מאוחר יותר‪.‬‬
‫‪7‬‬