סיכום - האונ' הפתוחה

150
A נ ו א ה ה ח ו ת פ ה ה ט י ס ר ב י ב מחשבים תקשורת רשתות) 20550 ( למידה מדריך מהדורה זמנית יולי2003 פנימי. להפצה לא למכירה ולא מק" ט20550-5068

Upload: dudu-nissim

Post on 09-Aug-2015

357 views

Category:

Documents


6 download

DESCRIPTION

תקשורת מחשבים

TRANSCRIPT

Page 1: סיכום - האונ' הפתוחה

A י ב ר ס י ט ה ה פ ת ו ח ה ה א ו נ

רשתות תקשורת מחשבים ב

)20550(

מדריך למידה

זמניתמהדורה

2003 יולי

לא להפצה. פנימי

ולא למכירה

20550-5068ט "מק

Page 2: סיכום - האונ' הפתוחה

2

:כתיבה

איל זהר

:ייעוץ קריאה והערות

ר ענת לרנר"ד

אהוד אהרוני

כל הזכויות שמורות לאוניברסיטה הפתוחה. 2003 – ג" תשס.

.61392אביב -תל, 39328ד "ת, אביב -רמת, 16קלאוזנר ' רח, בית ההוצאה לאור של האוניברסיטה הפתוחה

The Open University of Israel, 16 Klausner St., Ramat- Aviv, P.O.Box 39328, Tel- Aviv, 61392. Printed in Israel.

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

.הפתוחה

Page 3: סיכום - האונ' הפתוחה

3

תוכן עניינים

7.............................................................................................. הקדמה- 1פרק

7..............................................................................................הקורס מטרות .1.1

7.................................................................................................הלימוד ספר .1.2

7.....................................................................................הלמידה מדריך מבנה .1.3

9........................................................' רענון רשתות תקשורת מחשבים א- 2פרק

9..............................................................................................השכבות מודל .2.1

11.....................................................................................התקשורת רשת-תת .2.2

13........................................................... שכבת הרשת ברשת האינטרנט- 3פרק

13.....................................................................................................הקדמה .3.1

3.2. IP – INTERNET PROTOCOL......................................................................13

IP................................................................................................15 כתובות .3.3

3.4. IPV6 – פרוטוקול של עתידו IP.....................................................................17

IP..........................................................................20 שכבת שמעניקה השירות .3.5

22....................................................................................................תשובות .3.6

25.................................................................................. שכבת התובלה- 4פרק

25...................................................................................זה בפרק לנו צפוי מה .4.1

25...........................................................................................התובלה שירות .4.2

29.........................................................................תובלה שכבת בתיכון נושאים .4.3

42..............................................................................לדוגמה תובלה פרוטוקול .4.4

UDP.........................................................................................47 פרוטוקול .4.5

TCP..........................................................................................48 פרוטוקול .4.6

58....................................................................................................תשובות .4.7

DNS................................................................................................65 - 5פרק

65......................................................................................היישום שכבת מהי .5.1

DNS..............................................................................................65 זה מה .5.2

DNS...........................................................................67 -ב לשימוש דוגמאות .5.3

68.....................................................................................המערכת בנויה ממה .5.4

DOMAIN NAME SPACE......................................................69 – השמות מרחב .5.5

Page 4: סיכום - האונ' הפתוחה

4

71.................................................................................השמות היררכית ניהול .5.6

73..........................................................................................סמכויות האצלת .5.7

NAME SERVERS.................................................................73 – השמות שרתי .5.8

TTL............................................................................76 -ו CACHE ,רשומות .5.9

77.............................................................................................מסכמת דוגמה .5.10

79....................................................................................................תשובות .5.11

EMAIL(.................................................................................81( דואל - 6פרק

81..................................................................................המערכת על כללי מבט .6.1

82.......................................................................)הפשוטה הגרסה( עובד זה ךאי .6.2

84...............................................................................................הודעה מבנה .6.3

6.4. SMTP....................................................................................................85

86..............................................................................................דואל משיכת .6.5

88....................................................................................................תשובות .6.6

WORLD WIDE WEB.........................................................................89 - 7פרק

89.................................................................................כתהמער ארכיטקטורת .7.1

91..............................................................................................סטטיים דפים .7.2

92.............................................................................................דינמיים דפים .7.3

HTTP........................................................................................94 פרוטוקול .7.4

97...............................................................................................מלאה דוגמה .7.5

100...................................................................................ללמוד כדאי עוד מה .7.6

101..................................................................................................תשובות .7.7

103............................................................................... אבטחת רשתות- 8פרק

104...........................................................................................קריפטוגרפיה .8.1

109........................................................................................בבלוקים הצפנה .8.2

109................................................................................סימטרי-מפתח הצפנות .8.3

8.4. RSA 112..................................................................................ציבורי ומפתח

DIGITAL SIGNATURES(...............................................115( דיגיטליות חתימות .8.5

117.....................................................................................התקשורת אבטחת .8.6

AUTHENTICATION(.............................................................120( מקור אימות .8.7

126..................................................................................................תשובות .8.8

129......................................................................... מולטימדיה ודחיסה- 9פרק

Page 5: סיכום - האונ' הפתוחה

5

129........................................................................................מולטימדיה מהי .9.1

130........................................................................................הקול של הייצוג .9.2

131...............................................................................המידע דחיסת עקרונות .9.3

9.4. MP3.....................................................................................................131

132...............................................................................................הופמן קוד .9.5

LEMPEL-ZIV-WELCH......................................................................136 קוד .9.6

145..................................................................................................תשובות .9.7

Page 6: סיכום - האונ' הפתוחה

6

Page 7: סיכום - האונ' הפתוחה

7

הקדמה - 1 פרק

מטרות הקורס .1.1

והוא מבוסס על אותו ספר , )20398" (רשתות תקשורת מחשבים א"המשך לקורס קורס זה הוא

רבים . ורשת האינטרנט בפרט, הקורס יעזור לכם להבין כיצד פועלת רשת מחשבים בכלל .לימוד

אם , מהמונחים והנושאים בהם תיתקלו במהלך הקורס מוכרים לכם בוודאי ברמה זו או אחרת

.ם או אפילו מקריאה בעיתון יומילימודים קודמי, ממקום העבודה

להבין מאמרים מקצועיים , בסיום הסמסטר תוכלו להשתלב ביתר קלות בדיון בנושא תקשורת

סטודנטים המסיימים את הקורס מעידים כי הוא . בתחום וגם להתקדם לנושאים קשורים נוספים

ים יודעים כיצד הם אך מעט, ועזר לחבר כמה נושאים שכולם מדברים עליהם, סגר להם את הקצוות

.פועלים באמת

ספר הלימוד .1.2

:ספר הלימוד בקורס הוא

Computer Networks, A.S.Tanenbaum, Fourth Edition, Prentice Hall, 2003

1שם למדתם את הפרקים , "רשתות תקשורת מחשבים א"זהו אותו הספר המשמש גם את הקורס

ייתכן . 8 -ו 7, 6פרקים , 5חלק מפרק ונלמד , דהשיך כמעט מאותה הנקואנו נמ). עד מחציתו (5עד

שימו לב . קורס הנוכחילכך משמעות באך אין , ובקורס המקדים למדתם ממהדורה ישנה יותר

, חלקים מסוימים מהספר אינם דרושים לכם במהלך הקורס. להנחיות הקריאה במדריך הלמידה

.ליכם ללמודולכן במדריך קיימות הפניות מדויקות לעמודים והסעיפים שע

מבנה מדריך הלמידה .1.3

מדריך הלמידה מיועד לעזור לכם בהבנת חומר הקורס באמצעות הדגשת הנקודות החשובות שהוצגו

חלוקת . ותרגול נוסף, הצגת היבטים נוספים של הנושאים הנלמדים, הוספת דוגמאות, בספר

כל . ת הנושאים השונותכדי להקל עליכם להבחין בין קבוצו, הפרקים במדריך שונה מהחלוקה בספר

תוך הסבת תשומת הלב לנקודות החשובות , פרק נפתח בסקירת נושאי הלימוד לפי סעיפי הספר

.ולנושאים שעליהם ניתן לעבור בקריאה מהירה, יותר

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

אין . אינן מחליפות את הכתוב בספרוהן , לתרגול החומר הנלמדלהשלמה ו, נקודות קשות להבנה

Page 8: סיכום - האונ' הפתוחה

8

אפוא להסיק מאורך הדיון במדריך לגבי משקל הנושא בקורס אלא לגבי הצורך בהבהרות

אנו ממליצים להשתמש במדריך כבסיס ללימוד הקורס ולקרוא את הפרקים בספר . ובהרחבות

.בהתאם להנחיות שבמדריך

מונחים

. לחלקם אין תרגום נאות לעבריתש, באנגלית מספר מונחים טכניים חדשיםתלמדו, במהלך הקורס

:עקב כך החלטנו לנקוט במדריך הלמידה במדיניות הבאה

ייעשה שימוש במונח , או מקביל מילולית למונח הלועזי/בכל מקרה בו המונח העברי נפוץ ו •

ות מקושר ושר) bit(סיבית , לדוגמה. העברי תוך אזכור המונח הלועזי בסוגריים

)connection-oriented.(

ייעשה שימוש במונח , משמעי או סתם עשוי להטעות-אינו חד, כאשר המונח העברי אינו קיים •

: לדוגמה. כאשר באזכורו הראשון יופיע בסמוך הסבר או מונח מקביל בעברית, הלועזי בלבד

TPDU -כך ל-אחרשהופך , )packets(ומנות ) TPDU(אזכור ראשון של הודעות שכבת התובלה

.packets -ו

שיאפשר לכם להצליבו עם מאגרי מידע או , שבכל מקרה תפגשו גם את המונח הלועזי, זאת אומרת

הוא , חדשמרכזי בכל פעם שמוזכר במדריך הלמידה מונח . ממנו לקוחים רוב המונחים, ספר הלימוד

.ף המדריךתוכלו למצוא אותו באינדקס המופיע בסו, בנוסף. מודגש בדפוס בולט

סימנים מיוחדים

.שיבצנו במדריך מספר סימנים שיעזרו לכם לאתר במהירות קטעים מסוגים מסוימים

ל נבחרו " לציין שההפניות הניש. לקריאה בספר הלימודסימן זה יופיע בכל פעם שתופנו

. בדייקנות לפעול לפיהןמאדכדאי . בכל סמסטרתעודכנוהן מו, בקפידה רבה

0.0שאלה ◄

לכל השאלות . המלווה במספור רץ לכל פרק בנפרד, ת במדריך הלמידה מופיעות בפורמט זההשאלו

מופיעה הפניה , בסוף כל שאלה".תשובות"תחת הכותרת , המרוכזים בסוף כל פרק, יש פתרונות

. לעמוד בו מפורסמת התשובה

)xxתשובה בעמוד (

Page 9: סיכום - האונ' הפתוחה

9

' רשתות תקשורת מחשבים ארענון - 2 פרק

מודל השכבות .2.1

זהו זמן טוב לחזור על ? "רשתות תקשורת מחשבים א"שא מודל השכבות מהקורס זוכרים את נו

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

ויש בהן מספר עצום של , אתם בוודאי כבר יודעים שרשתות מחשבים הן מערכות מורכבות מאד

לצורך משלוח , תיבאמצעות מודם בי, שלכם לאינטרנטבהתחברות, לדוגמא. פרטים ומערכות משנה

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

. עומד לרשותנו מודל השכבות, ניגשים ללמוד כיצד פועלת מערכת שכזו

בעלות מטרתו ליצור חציצה בין שכבות. מכמה היבטים, מודל שכבות בתקשורת הוא רעיון שימושי

בדיוק כפי , החלוקה לשכבות מאפשרת לימוד הדרגתי וממוקד של כל שכבה בנפרד. תפקידים שונים

. תקשורת המחשביםים נוספים בתחוםספרבו, שנעשה בקורס זה

אנא וודאו . אך רק נזכיר כמה מהם, לא נלמד כאן על כל יתרונות הגישה, כיוון שזו רק הקדמה

, )service model(אספקת שירותים לשכבה הגבוהה יותר : ם לכםבשלב זה כי רעיונות אלו נהירי

וחבילת ) headers(הוספת כותרות ייחודיות , שיחות מדומות בפרוטוקולים ייעודיים לשכבה

.)protocol stack(הפרוטוקולים מהשכבות השונות

המפרט קצת יותר על הרעיון , 30 עד 26בעמודים , 1.3.1את סעיף וא כדאי לחזור ולקר

. שבהיררכיה של פרוטוקולים

חמש השכבותמודל

שאינו מתייחס לרשת , זהו מודל תיאורטי". השכבותשבעמודל "המכונה , OSIמודל בראשית היה

ני הזמן כרסמו שי. אלא מציע מסגרת לכל חבילת פרוטוקולים וסוג רשת קיים או עתידי, מסוימת

ולכן הוא , ולאחר כמה שנים התברר שהרשתות הנפוצות אינן בנויות בדיוק לפי מודל זה, במודל

. נחשב כיום למיושן

זהו מודל התואם את המציאות . מודל חמש השכבותהוצג " רשתות תקשורת מחשבים א"בקורס

מודל . הרשת- תשתית תתהמהוות את, מבלי לפסוח על תפקידי השכבות הנמוכות, ברשת האינטרנט

.2 -1תרשים בכמודגם , שכבותתקשורת השונות לחמש זה מחלק את פונקציות ה

Page 10: סיכום - האונ' הפתוחה

10

)TCP/IPל מוד(מודל חמש השכבות 2 -1תרשים

, בשתי השכבות העליונות בעיקרובקורס זה אנו נעסוק, זהו המודל עליו מבוסס ספר הלימוד

נושאים וכן מספר , נלמד מעט על שכבת הרשת באינטרנט, בנוסף. בספר7 - ו6המוצגות בפרקים

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

.על כך נפרט בהמשך. מגוון הפרוטוקולים וצורת הלימוד, תפקידים: ממספר בחינות, כותהנמו

תפקידי השכבות

של את תפקידיהן גדיר גם אך מן הראוי לחזור ולה, כל השכבותבישירות אמנם קורס זה לא עוסק

.שךולו רק כדי להדגים את תכונות החלוקה לשכבות ולהבין מה מצפה לנו בהמ, השכבות הנמוכות

ידי אספקת -על, תומכת ביישומי רשת שונים– )Application Layer(שכבת היישום •

לצורך גלישה HTTPביניהם ניתן למצוא את . פרוטוקולים אחידים למטרות שונות

, שיטות לאבטחת מידע, להעברה אמינה של קבציםFTP, להעברת דואלSMTP, באתרים

הן בתעשייה והן , בה שמושכת את מירב תשומת הלב בשנים האחרונותזו השכ. ועוד

.במחקר

) client( מספקת שירות העברת הודעות בין צד הלקוח – )Transport Layer(שכבת התובלה •

TCP: טוקולים כאלובאינטרנט קיימים שני פרו. של יישום כלשהו) server(וצד השרת

מקושר - המספק שירות לאUDP -ו) connection-oriented(המספק שירות מקושר

)connectionless .( עלTCP כיוון שהוא מספק שירות מורכב למימוש, בהמשךרבות נלמד ,

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

בין מחשבים מארחים datagrams אחראית לניתוב – )Network Layer(שכבת הרשת •

)hosts( ,כלומר ליצירת התקשורת גם בין התקנים מרוחקים.

את שירות העברת network layer - זו השכבה המספקת ל–) Link Layer(שכבת הערוץ •

הקמת קשר בין יישומים . בין כל שני התקנים המחוברים ביניהם פיזית) frames(המסגרות

Applications יישומים

Application Layer שכבת היישום 5

TCP Transport Layer) גם (- שכבת התובלה 4

IPNetwork Layer - הרשתשכבת 3

Link Layer שכבת הערוץ 2

Physical Layer השכבה הפיזית 1

Physical Medium תווך פיזי

Page 11: סיכום - האונ' הפתוחה

11

באמצעות web -כמו לדוגמה גלישה ב, שוניםlink layerמערב לעתים מספר פרוטוקולי

.)רשת מקומית (Ethernet -ו) טלפון( PPPערב שני פרוטוקולים עשויה לה, הטלפון

בודדות מצומת אחד ) bits(ית להעברת סיביות א אחר–) Physical Layer(השכבה הפיזית •

.על גבי סוגי תווך שונים, לשכנו

רשת התקשורת-תת .2.2

רשת התקשורת -המהוות את תת, נהוג להפריד את הדיון בין שלוש השכבות התחתונות

)network core ( לבין שתי השכבות העליונות)network edge .( בה נקטנו בחלוקת דומה לזו זו גישה

רשת -סקירת ספרות בתחום עלה כי אין מינוח לועזי אחיד לתתמ. הנושאים בין שני הקורסים

הרשת -ה תתשם מכונ, והמינוחים אותם הזכרנו למעלה אינם לקוחים מספר הלימוד, התקשורת

.networkפשוט

). switching nodes(לבין צומתי מיתוג , )hosts(ההפרדה נובעת מההבחנה בין מחשבים מארחים

ידי ספקי שירותים -והוא מופעל על, שלוש השכבות הנמוכותאת רק תוכו מכיל בswitching node -ה

המופעל ונשלט , זהו מחשב הקצהhost -ה. מנהלי רשתות בארגוניםו) כמו ספק האינטרנט שלכם(

. כמוכם) end-user(ידי משתמש קצה -על

רשת התקשורת כוללת את שלוש השכבות -אין זה ממש חשוב האם תת, מבחינת ההגדרה המדויקת

בקורס ). ם בציורכפי שמודג (hosts -או רק את כל ההתקנים שבין ה, hosts -התחתונות של ה

מצומת המיתוג , רשת התקשורת-עקבנו אחר המידע העובר בתת" רשתות תקשורת מחשבים א"

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

.או ליישום המקורי שיצר את ההודעות, hosts -ברמה של ה

ושכבת היישום ) transport layer(שכבת התובלה : ונותבקורס זה נתמקד בשתי השכבות העלי

)application layer .(קצה -אל-שתי שכבות אלה הן שכבות קצה)end-to-end .(נעקוב אחר , כלומר

, שניhost -ועד להגעתו ליישום ב, אחדhost -ידי היישום ב-תהליך העברת המידע מרגע יצירתו על

מבלי לעסוק כמעט בפרטי , רשת התקשורת כאל צינור להעברת מידע-סות אל תתוזאת תוך התייח

.מימושה

Page 12: סיכום - האונ' הפתוחה

12

Page 13: סיכום - האונ' הפתוחה

13

שכבת הרשת ברשת האינטרנט - 3 פרק

הקדמה .3.1

. לקורס הנוכחי, "רשתות תקשורת מחשבים א"פרק זה מהווה נקודת חיבור בין הקורס הקודם

אלגוריתמי והתעמקתם במספר , )Network Layer(בקורס הקודם למדתם על תפקיד שכבת הרשת

שאינו מתעמק בפרטי המימוש של , זהו לימוד שהוא תיאורטי ברובו. למימוש המטרה, ניתוב

.פרוטוקולים מסוימים

בתחילה נלמד על עקרונות שכבת . )The Internet (האינטרנטבקורס הנוכחי נעסוק רבות ברשת

פרוטוקולים מסוימים אך בהמשך נלמד , בקורס הקודםבסגנון המזכיר את הלימוד , התובלה

, מדובר בפרוטוקולים שלמים, כלומר. השייכים לרשת האינטרנט, )UDP - וTCP (בשכבת התובלה

כדי להבין את הסביבה בה פועלים . בהם נעשה שימוש אמיתי בחיי היומיום, מנוסחים היטב

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

השכבה . IPשם הפרוטוקול -על, )IP) IP layerשכבת שכבת הרשת ברשת האינטרנט מכונה בקיצור

:מורכבת משלושה רכיבים

מבנה , )addressing (המגדיר את שיטת המיעון, IPכלומר פרוטוקול , שכבת הרשתפרוטוקול •

.ההודעות ואופן הטיפול בהן

.בדומה למה שלמדתם בקורס הקודם, )routing protocols (לניתובפרוטוקולים •

.ICMPהממומש באמצעות פרוטוקול , בשגיאותמנגנון טיפול •

3.2. IP – Internet Protocol

.432 - ו431בעמודים , 5.6סעיף פתיחת קראו את

, TCP/IPניכם את העקרונות לפיהם עוצבו הפרוטוקולים במשפחת ל פרש בפ"קטע הקריאה הנ

ומסביר בקיצור מאיזה התקנים ורשתות מורכבת רשת האינטרנט , המרכיבים את רשת האינטרנט

).IP) Internet Protocolפרוטוקול הנקרא , עתה נעבור לעסוק בפרוטוקול הרשת עצמו .כולה

.436 עד 433בעמודים , 5.6.1ראו את סעיף ק

Page 14: סיכום - האונ' הפתוחה

14

, שלו) header(היא באמצעות לימוד מבנה הכותרת , דרך מקובלת ללימוד פרוטוקול תקשורת

.בה) field(והתעמקות במשמעות כל שדה

3 .1 שאלה ◄

.נא לנמק היטב? ישתנה בדרךIPוכן כותרת האם ייתכן שת, במהלך משלוח הודעה בין שני מחשבים

)22 תשובה בעמוד(

Internet Checksum

זו בדיוק אותה . TCP/IPאך היא רגילה לחלוטין עבור , מחושב בצורה לא שגרתיתchecksum -ה

. Internet checksumולכן היא מכונה , שנפגוש בהמשךTCP - וUDPהשיטה בה משתמשים גם

1-ולכן לרוב אינו מספק עבור מי שלא מכיר את המונח משלים ל, ההסבר בספר אינו מלווה בדוגמה

)1's compliment .( בפסקה החמישית, 538הסבר דומה קיים בעמוד.

:אופן הביצוע

ומוסיפים אפסים ליחידה , )bit( סיביות 16 ליחידות של packet -מחלקים את כל ה .1

.אם יש צורך בכך, האחרונה

סיביות 16 -כלומר סיכום רגיל תוך שימוש ב, 1-מסכמים יחידות אלו בשיטת המשלים ל .2

.LSB -כאשר כל נשא מתווסף מחדש לסכום כ, בלבד

.כלומר היפוך סיביות, ל" של הסכום הנ1- הוא המשלים לchecksum -ה .3

מוזמנים , כמו הסיבות לביצוע שיטה זו והצעה כיצד לכתוב קוד כזה, המעונינים בפרטים נוספים

.http://www.ietf.org - בRFC 1071 -לפנות ל

3 .2 שאלה ◄

): קריאות בלבדיהחלוקה לרביעיות היא לצורכ( סיביות 16נתונות שלוש מלים בנות

1. 1100 0101 0001 1011

2. 0000 0110 1111 0111

3. 1000 1101 0000 1000

כי אין פה , זו כמובן לא דוגמה אמיתית. של מלים אלוInternet checksum -עליכם למצוא מהו ה

.אלא רק מלים עליהן יש להפעיל את מנגנון החישוב, כותרת ומידע

)22תשובה בעמוד (

Page 15: סיכום - האונ' הפתוחה

15

Options

הוא גורם לכך שאורך . אך יש לו גם חסרון משמעותי, נובע ממניעים טוביםoptions -השימוש ב

שדות , בנוסף. לא נמצא תמיד באותו המיקוםpacket -ולכן המידע שנושא ה, הכותרת אינו קבוע

שמעות של כל אחד וכל נתב נאלץ לחזור ולפענח את המבנה והמ, עצמם מורכבים לעיבודoptions -ה

.מהם

3 .3 שאלה ◄

ולא הוקצה , options ממומשות רק באמצעות מידע הכלול בשדה IPפונקציות מסוימות בפרוטוקול

?מדוע. קבוע) field(עבורן שדה

)22תשובה בעמוד (

IPכתובות .3.3

.448 עד 436בעמודים , 5.6.2עיף קראו את ס

IPהיררכית כתובות

אחד hostלמעשה אתם מכוונים את המנה לעבר , כיעד למשלוח מנהIPכאשר אתם מציינים כתובת

וכדי , בודדhostלוודא שבכל כתובת מחזיק , כדי לנהל כתובות אלו. המחזיק בכתובת זו, ויחיד

.IPט עם השנים על מבנה היררכי לכתובות הוחל, שהחלטות הניתוב יבוצעו בצורה יעילה

3 .4 שאלה ◄

?איזה חלק מנוהל על ידי ארגון מקומי? מאורגן על ידי הרשויות העולמיותIPאיזה חלק של כתובת

)22תשובה בעמוד (

: הסיביות32כולם יחדיו מרכיבים את , קים נפרדיםהכתובת עצמה מחולקת לשלושה חל

1. Network

2. Subnet

3. Host

Page 16: סיכום - האונ' הפתוחה

16

3 .5 שאלה ◄

, IP - בכתובת הnetwork -מהו חלק ה, router -מבחינת החלטת הניתוב של ה, למה אין זה חשוב

?subnet - וhost -להבדיל מהחלק של ה

)23 תשובה בעמוד(

3 .6 שאלה ◄

?129.34.0.3 שייכת הכתובת classלאיזה ? 34.20.0.129 שייכת הכתובת classלאיזה

)23תשובה בעמוד (

החלטות ניתוב

, )routing decision(ומקבל החלטת ניתוב , )packet(קבל מנה המ, )router(בבסיס הניתוב עומד הנתב

.)routing table (טבלת הניתובההחלטה נלקחת בעזרת .ל"כלומר לאן לשלוח את המנה הנ

אתגר הגדול הוא לבצען במהירות כאשר ה, בכל נתב מבוצעות פעולות מורכבות מבחינה אלגוריתמית

, צמצומן בזיכרון, בניית הטבלאותפעולות אלו כוללות . תוך שימוש בנפח זיכרון מינימלי, מרבית

טיפול מהיר בתורים של מנות , עיבוד מהיר של כותרות המנות, קבלת החלטות ניתוב מהירות

.נים הטבלאות בנתבים שכוהפצת המידע המאפשר את בנייתנכנסות ויוצאות

3 .7 שאלה ◄

לשלוח interfaceהאם מספיק שיחליט לאיזה , )routing decision( מקבל החלטת ניתוב routerכאשר

?או שיש פרט נוסף שעליו להחליט לגביו, את המנה היוצאת

)23 תשובה בעמוד(

. שלו) routing table (ניתן לרוב לראות את טבלת הניתוב, אישי המחובר לרשת כלשהיגם במחשב

כאשר . הטבלה היא לרוב פשוטה מאד, ונקודת יציאה אחת לאינטרנט, אם יש לו כרטיס רשת בודד

ם אתם משתמשים במערכת א .הטבלה כבר מסתבכת, למחשב מחוברים מספר כרטיסים או נתבים

תוכלו לרוב לראות את הטבלה במחשב שלכם באמצעות הרצת הפקודה , Windowsההפעלה

ROUTE PRINTמשורת ההפעלה .

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

כלומר , בהתאמה הטובה ביותרקובע האלגוריתם כי יש לבחור, במקרים אלו. מהבחינה המתמטית

host -המגדיר בקירוב הטוב ביותר את ה, )ים-1הכי הרבה ( הארוך ביותרmask -זו שלגביה קיים ה

.אליו רוצים להגיע

Page 17: סיכום - האונ' הפתוחה

17

3 .8 שאלה ◄

) packets( מנות 1,000בשלב מסוים הוא מקבל ). rows( שורות 100,000נניח שנתב מסוים מכיל

עד להשלמת ניתוב כל המנות , כ"האם ניתן לקבוע כמה שורות על הנתב לסרוק בסה. שעליו לנתב

?הללו

.הסבירו מדוע, אם לא. ציינו מה מספר השורות שנסרקו, אם כן

)23תשובה בעמוד (

NAT -תרגום כתובות

והשימוש בו עולה בכל , נפוץ מאד) NAT – Network Address Translation(תרגום כתובות הרשת

כאשר . היא אבטחת הרשת, NAT -סיבה נוספת לשימוש ב. IPv4בעיקר בגלל מיצוי כתובות , יום

, פשוט מן החוץלא ניתן להגיע אליהם באופן ישיר ו, למחשבים בארגון יש כתובות פנימיות בלבד

.כלומר מכל רחבי האינטרנט

תחת , Windows 98החל מגרסת , Windows הוטמעו במערכות ההפעלה NATתכונות , לידיעתכם

בעת NATתכונה זו מאפשרת למחשב יחיד לתפקד כקופסת . Internet Connection Sharingהשם

שימוש ברשת האינטרנט ולאפשר למחשבים נוספים ברשת המקומית לעשות , החיבור לאינטרנט

.במקביל אליו

3.4. IPv6 – עתידו של פרוטוקול IP

, לאחר הקריאה.473 עד 464בעמודים , 5.6.8ונעבור לקריאת , נפסח על מספר סעיפים

.יוצג בפניכם במדריך סיכום עדכני של מצב הפרוטוקול

רקע

32 -יקרית שלו היא הבחירה בהבעיה הע. הוא מיושן מאד, IPv4המכונה כיום , IPפרוטוקול

אז . 1978שנראו כרעיון טוב בשנת , לצורך תיאור כתובת רשת, )classes(והשימוש במחלקות , סיביות

צרכיה , מספר משתמשיה היה נמוך, רשת האינטרנט היתה בשימוש ממשלתי ואוניברסיטאי בעיקרה

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

כי היה ברור לכל העוסקים ברשת כי מאגר , 1990 החל לטפל בנושא הכתובות כבר בסוף IETFארגון

כשנה , 1994התחזית הקודרת ביותר אף דיברה על שנת . הכתובות עומד להיגמר תוך שנים ספורות

.בה לא יוכלו עוד מחשבים חדשים להתחבר לרשת

Page 18: סיכום - האונ' הפתוחה

18

אך לא לגבי האופן בו הדבר , תרתמימות דעים מוחלטת היתה סביב הצורך בכתובות ארוכות יו

והיו שרצו להחליפו בשיטה חדשה , היו שתמכו בהוספת הרחבות קלות לפרוטוקול הקיים. ימומש

.לחלוטין

איך מחליפים פרוטוקול

ללא צורך בהקמת ועדות , רשת האינטרנט הותיקה עברה עדכוני פרוטוקולים רבים, במהלך השנים

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

כלומר נתבים הפזורים , הסיבה נעוצה בעובדה שמדובר בתשתיות יקרות מבוססות חומרה? גדולה

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

CIDR - וNAT -בהשימוש ). IPng) next generationתחת הכינוי , הקים צוות משימהIETFארגון

קצרה היריעה מלתאר את כל הדיונים והשלבים השונים . אך לא לנצח, דחה את הקץ בשנים ספורות

שזכה , הבאIP להיות הבסיס לפרוטוקול SIPPאך לבסוף נבחר , שהביאו לבחירה בפרוטוקול מסוים

.IPv6לשם

IPv6עקרונות

, מודל השירות הבסיסי. ולא כפרוטוקול מהפכני, הקייםIPכשיפור לפרוטוקול הפרוטוקול עוצב

כולל תוספות , נשמרו, IPv4 -פונקציות שהוכחו כשימושיות ב. נשמר כשהיה, עבור שכבת התובלה

ו א, בוטלו לחלוטין, או שנעשה בהן שימוש נדיר בלבד, פונקציות לא שימושיות. מאוחרות ומורכבות

.היכן שהורגש צורך, מספר תכונות חדשות הוספו. הפכו אופציונליות

בו באות לידי ביטוי הפונקציות , ויכוחים רבים התנהלו סביב מבנה הכותרת של הפרוטוקול החדש

נציגי יצרנים וגופים שונים משכו לכיוונים שנראו להם נכונים . המוסכמות של הפרוטוקול

פשרה מקובלת בכל , או ליתר דיוק, נוסחה מוסכמת על כולםעד שלבסוף התגבשה , לשימושיהם

.נושא בנפרד

חידושים עיקריים

גם כאן ניתן ללמוד רבות על הפרוטוקול מתוך , TCP/IPבדומה לפרוטוקולים אחרים ממשפחת

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

סיביות במקום 128כלומר , רוכות יותר בראש ובראשונה כתובות א- כתובות ארוכות יותר •

.אורך זה מבטיח כי לעולם לא יאזלו הכתובות בעולם. 32

Page 19: סיכום - האונ' הפתוחה

19

כדי לפשט את , הכותרת הבסיסית היא בעלת אורך קבוע ופשוט– מבנה כותרת גמיש •

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

כותרות ההרחבה כוללת כיום . חדשים או אופציות מיוחדותיכולות הפרוטוקול לתחומים

מקור -אימות מקור וניתוב, הצפנה, י שכבת התובלה בלבד"ע) fragmentation(פיצול

)source routing.(

• QoS –אמת -ת זמןלצורך תמיכה במערכו, ניתן לדרג מנות לפי סדר קדימות)real-time ( או

.לקוחות מועדפים

• Anycast –המרוחקים זה , המתייחס לכתובת המשותפת לכמה מחשבים, סוג מיעון חדש

מיעון לכתובת זו יביא את מנת המידע אל היעד הקרוב . ומעניקים שירות מסוים, מזה

.מבין המחשבים בקבוצה, ביותר

פותחו כמה טכניקות המשפרות את אופן , כחלק מהפרוטוקול– חלוקת כתובות אוטומטית •

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

פותחה חלוקה היררכית חדשה , בזכות מרחב הכתובות העצום–היררכית כתובות מורחבת •

היו IPv4 -ב, להזכירכם. וכן חלוקה פנימית בתוך כל רמה, המאפשרת יותר רמות, לחלוטין

.שהפכו בהמשך לשלוש, רמותבמקור רק שתי

למעשיIPv6איך יהפוך

גם כיום בשנת , באופן מעשיIPv4אך בכל זאת לא מחליף את , 1995הפרוטוקול נחשב לממוסד מאז

אך , הלחץ הגדול ליצירת הפרוטוקול החדש הגיע מכיוון מאגר הכתובות המתדלדל. 2003

.הפכו את העניין לדחוף פחות, DHCP - וCIDR ,NATטכנולוגיות כמו

.הטכני והמעשי, לשאלה זו שני היבטים? איך ומתי יבוצע המעבר בכל זאת. אך לא לעולם חוסן

על פתרונות ההטמעה המדורגת . IPv6 - היא שמערכות קיימות כמובן אינן תומכות בהבעיה הטכנית

:י צעדים עיקרייםשם הוצעו שנ, 2000באוגוסט , RFC 2893אף נכתב

• dual stack –על התקנים תומכי , כדי להפוך את המעבר לאפשריIPv6לתמוך גם ב - IPv4 .

.ברור שאחרת אף אחד לא ירכוש התקנים חדישים כאלו

• tunneling – שני התקנים תומכי IPv6תוך , יוכלו לתקשר ביניהם באמצעות הפרוטוקול

אך מאפשרת תקופת , כך-התקשורת כמובן לא יעילה כל. ביניהםIPv4שימוש בתשתית

.עד למעבר מלא, ביניים סבירה

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

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

או , לכן המעבר יכול לתפוס תאוצה תוך ימים. נפוץ וזול, הפוטנציאליים מחכים לציוד אמין

.להתעכב עוד עשור

Page 20: סיכום - האונ' הפתוחה

20

IPהשירות שמעניקה שכבת .3.5

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

).application layer(היישום ושכבת ) transport layer(כלומר שכבת התובלה , הקורס

.חומר זה אינו כלול בספר הלימוד

הוא . host-to-hostותפקידו לאפשר תקשורת , )Network Layer( שייך לשכבת הרשת IPפרוטוקול

כלומר בעלי מטרות מוגדרות , בעל תכונות המתאימות כמצע גמיש עבור פרוטוקולים ייעודיים יותר

תכונות נוספות IPבכוונה תחילה לא הוסיפו מתכנני . ועודWeb -גלישה ב, כמו העברת וידאו

.כדי לא לפגוע במודולריות המודל, לפרוטוקול

הכוונה היא . אך הוא אינו כזה כלל, זהו משפט בעל גוון שלילי. )unreliable( אינו אמין IPפרוטוקול

, הגיעה ליעדה) packet(לא ניתן לדעת מתי מנה ולכן , שפרוטוקול זה אינו מספק כלל אישורי משלוח

.אם בכלל

3 .9 שאלה ◄

למה צריך בכלל את , אם כן. שנשלחו) packets( אינו מספק אישורי תקינות עבור מנות IPפרוטוקול

? בוchecksum -שדה ה

)23תשובה בעמוד (

, הנה לכם דוגמה כזו. ולהמשילה לתעבורת הנתונים ברשת, המוכרת לכם יותר, דוגמה מהחייםנציג

.למשאית סגורה) IP) packetהממשילה את תעבורת מנת

כמשאיות סגורותIPמנות 3 -1תרשים

IP IP IP

Host AHost B

Router

Page 21: סיכום - האונ' הפתוחה

21

המשאית . Host B אל Host A -השקולות לשלוש מנות שנשלחו מ, מוצגות שלוש משאיותבתרשים

ובתא המטען נמצא המידע , )header(בתא הנהג נמצא המידע הכלול בכותרת . מחולקת לשניים

.payloadהמכונה גם , עצמו

3 .10 שאלה ◄

?)נתבה(איך תתארו את תפקידו ומעשיו של שוטר התנועה , 3 -1תרשים ח ברו

)24 תשובה בעמוד(

. בא לידי ביטוי בזה ששולח המשאית אינו יודע האם הגיעה ליעדהIPחוסר האמינות של פרוטוקול

, לעומת זאת. כדי לפשט ולהוזיל את השירות, ברת המשאיות אינה מספקת אישורים בכוונהח

מי : שירות אישורים משליםאו ספקי שירות אחרים להוסיף /החברה מאפשרת ללקוחותיה ו

ולהעמיס עליה אישור בתא , Host A אל Host B -מ, יכול לשלוח משאית בחזרה, שמעוניין בכך

.ולכן אינה מעורבת כלל בתהליך המשלים, המטען-אינה מודעת לתוכן תאחברת המשאיות . המטען

3 .11 שאלה ◄

).reliable( לאמין IPמדוע לא כדאי להפוך את פרוטוקול 3 -1תרשים הסבירו ברוח

)24 שובה בעמודת(

וזה בהחלט מומלץ ככלי עזר להבנת , ניתן להפליג במשלים ודוגמאות כאלו גם לפרוטוקולים נוספים

.הרעיון שמאחורי כל פרוטוקול ושכבה

3 .12 שאלה ◄

איך , לדוגמה). Data Link Layer(כיצד תבוא לידי ביטוי שכבת הערוץ 3 -1תרשים נסו לדמיין ברוח

?dial-up או Ethernetנתאר

)24 תשובה בעמוד(

Page 22: סיכום - האונ' הפתוחה

22

תשובות .3.6

3 .1 תשובה

לא packets -שמטרתו להבטיח ש, )TTLבקיצור (time to live מכילה את שדה IP כותרת .כן

מה שגורר בהכרח חישוב מחודש , חייב שדה זה להתעדכן בכל נתב, לשם כך. יסתובבו ברשת לנצח

.header checksumשל שדה

3 .2 תשובה

. ואחר כך לחבר את התוצאה שלו למלה השלישית, כלומר זוג אחד, המלים בשלביםניתן לחבר את

:כמו בפתרון כאן, אחת-ניתן גם לבצע את כל פעולת החיבור בבת

1100 0101 0001 1011

0000 0110 1111 0111

1000 1101 0000 1000+

0100 1001 0001 1011 1

: לתוצאהLSBעכשיו יש לחזור ולחבר את הנשא בתור

0100 1001 0001 1011

1 +

0101 1001 0001 1011

:checksum -בתור ה, של מלה זו1-יש לשדר את המשלים ל, ולבסוף

1010 0110 1110 0100

3 .3 תשובה

כדי לא לבזבז מקום יקר , קבועמוטב שלא יוקצה עבורן מקום, פונקציות שנעשה בהן שימוש נדיר

.שלרוב לא נעשה בהן שימוש, של סיביות מיותרות

3 .4 תשובה

בסיוע רשויות מקומיות , ICANN מנוהל על ידי רשות עולמית אחת network partהחלק המכונה

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

, לעתים שניהם מנוהלים על ידי ארגון אחד. host part - וsubnet part -החלק המקומי מורכב מ

מהרשות העולמית כתובת המקבל ) ISP(ספק אינטרנט , לדוגמה. ולעתים על ידי ארגונים נפרדים

.הנמכרים לארגונים קטנים יותר, subnetsומחלק אותה למספר , מסוימת) network part(רשת

Page 23: סיכום - האונ' הפתוחה

23

3 .5 תשובה

.mask -לאחר ביצוע פעולה חשבונית עם ה, סמך סיביות בלבד-החלטת הניתוב מתקבלת על

3 .6 תשובה

ותחום הכתובות הנובע , classשל כל ) prefix(שם מצוין הרישא , בספר5-55ניתן להיעזר בתרשים

וננתח , כי הוא הופך את השאלה לפשוטה מדי, נתעלם לרגע מתחום הכתובות בתרשים. מרישא זה

.את הרישא של כל כתובת

. ואת זאת ניתן לראות מיד לפי החלק הראשון של הכתובת, class A -הכתובת הראשונה שייכת ל

המיוצג על ידי 128 -כי הוא קטן מ, 0והראשונה היא בטוח , מיוצג על ידי שמונה סיביות34המספר

1000000.

זהו סימן . 10 -כלומר מתחיל ב, 10000001המיוצג בבינארי על ידי , 129 -הכתובת השניה מתחילה ב

.class Bההיכר של

3 .7 תשובה

אלא יש להחליט גם לאיזה התקן , מסויםinterface -בחלק מהמקרים לא מספיק לשלוח מנה ל

אך באותה הרשת ייתכן ופועלים מספר , מגדיר רשת כלשהיinterface -הסיבה היא ש. המנה מיועדת

hostsו - routers , שהוא , לרוב מדובר ביעד הסופי. לציין למי מהם מיועדת המנהולכן ישhost

. הבא בדרך אל היעדrouter -או ב, כלשהו

3 .8 תשובה

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

000,000,100000,100*000,1 =.

אצל ) mask=255.255.255.255(עבורו קיימת שורה מפורשת , ליעד מסויםמנות המיועדות , אבל

.ניתן לנתב מיידית ליעדן מבלי להמשיך בסריקה, הנתב

3 .9תשובה

כדי להחליט האם השתבש משהו במהלך , משמש את הצד המקבל בלבדheader checksumהשדה

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

.אך זכותו של כל נתב במסלול לזרוק מנה שהוא חושב בה שהשתבשה

כיוון , אלא את הכותרת, )payload( אינו בודק את תוכן המשא IPראוי לציין שפרוטוקול , בנוסף

.מידע עצמוולא ל, בעיקר לניתוב נכוןשהוא דואג

Page 24: סיכום - האונ' הפתוחה

24

3 .10תשובה

לפי . הנמצאים בתא הנהג, ובוחן את ניירותיהן, שוטר התנועה עוצר את המשאיות המגיעות אליו

הוא מחליט האם המשאית רשאית להמשיך , )מי שתכנת את הנתב(הכללים שהכתיב לו המפקד שלו

.ולאיזה יעד, דרך איזה כביש, בדרכה

3 .11תשובה

היא תנהל מעקב . יכולה מבחינה טכנית לספק מנגנון אישורים) IPפרוטוקול (חברת המשאיות

היא תדאג להודיע , וכאשר משאית תגיע ליעדה, מסודר אחרי כל משאית שיצאה וטרם חזרה

רכובים על , מדי פעם ייאלצו להישלח שליחים מיוחדים. עתה בשלוםבמהירות לסניף המשגר על הג

, תצטרך החברה לבדוק את תכולת המשאיות, בנוסף. כדי להודיע על תקלות או אישורים, אופנועים

.כדי לתת תוקף מסוים לאישורי ההגעה

לקוחות שלא יזדקקו. תוספת זו תגרום לעליית מחיר השירות והאטה בקצב השיגור והקליטה

זולים ומהירים , יעדיפו לחפש להם פתרונות שילוח אחרים, למנגנון האישורים והבדיקות המורכב

ולהמליץ ללקוחות , אמין-להמשיך לספק שירות בסיסי ולא) IPפרוטוקול (עדיף לחברה , לכן. יותר

.על גבי תשתית זו, על שירותים משלימים אותם ירכשו מחברות אחרות

3 .12תשובה

שכבת הערוץ היא רשת הכבישים המחברים בין הבתים ושוטרי . לא לגמרי מדויק, להלן תיאור ציורי

והחצי השמאלי , Ethernetהוא קו ) והשוטרHost Aבין (נדמיין שבתרשים שלנו החצי הימני . התנועה

.dial-upהוא

לכל בית יש שביל . לאורכו פזורים בתים רבים, יש בינוני ברוחבו סביר יהיה לאפיין ככבEthernetקו

.כך שניתן להגיעה בנסיעה ישירה לכל בית אחר המחובר לאותו הכביש, קצר המחבר אותו לכביש

היא מחברת . שיש בה גשר מתרומם מעל נהר, ניתן לדמות לדרך עפר צדדיתdial-up -את קו ה

הנסיעה היא , וגם כאשר זה כבר מתאפשר, יד ניתן לנסוע בהלא תמ. ישירות בין שתי נקודות בלבד

.איטית ואמינה פחות

Page 25: סיכום - האונ' הפתוחה

25

שכבת התובלה - 4 פרק

מה צפוי לנו בפרק זה .4.1

פרק זה במדריך . שכבת התובלהמתחילים בלימוד אנו , את היסודותמביניםלאחר שוידאנו כי אתם

ך להבנה שלמה של בדרקשייםויעזור לכם להתגבר על , בספר הלימוד6פרק יכוון אתכם בקריאת

.אלא השלמה בלבד, שימו לב שאין כאן חזרה על מה שכבר נכתב בספר. הכתוב

איך נהוג , TCPעליכם יהיה להבין איזה שירות מספק פרוטוקול , כשנסיים ללמוד את הפרק כולו

נלמד TCPכי , זה אולי נשמע קצת מוזר. ומדוע אופן המימוש הנבחר הוא כפי שנלמד, לממש אותו

, הסעיפים המקדימים מלמדים ומדגימים את העקרונות. אך יש לזה הסבר הגיוני, 6.5סעיף רק ב

גם הצד . ולכן הם חיוניים לצורך הלימוד ההדרגתי והמלא, עצמוTCP -שרובם באים לידי ביטוי ב

מבטיחה גם שליטה ברוב , ועקרונותיוTCP -אומרת ששליטה מלאה ב-זאת, השני של הטענה נכון

.דיםהחומר המק

שירות התובלה .4.2

.הפסקה הראשונה, 481עמוד , 6פתיחת פרק קראו את

למה צריך שכבת תובלה

ובכל זאת אנו רואים צורך להוסיף מספר מלים , עכשיו אתם יודעים מה תפקיד שכבת התובלה

הדרך הקלה ביותר להבין מה מספקת שכבת . כדי לחדד את הצורך בשכבת התובלה, בנושא

לשכבת ) application layer(י הבנת הצורך בשכבה מתווכת בין שכבת היישום יד-היא על, התובלה

).network layer(הרשת

:כחלק מחתך מודל השכבות, נתבונן שוב בשכבות אלו

, )client/server(לקוח /כוללת פרוטוקולים ויישומי שרת -) application layer(שכבת היישום •

.מחליפים ביניהם מידע) בדרך כלל( שונים hosts -הרצים ב) processes(בהם שני תהליכים

לעתים , שוניםhostsמספקת שירות העברת מידע בין -) network layer(שכבת הרשת •

).unreliable service(או לא אמין /ו) connectionless(כשירות לא מקושר

Page 26: סיכום - האונ' הפתוחה

26

שכבת , קודם כל. ם בין השתייהמתווכת, )transport layer(ת התובלה מה חסר בשכבנסבירעכשיו

לקישור זקוקה ) application layer(בעוד שכבת היישום , hostsמקשרת בין ) network layer(הרשת

-connection(בשירות מקושר פער בולט נוסף הוא בצורך של יישומים רבים . processesבין

oriented ( ואמין)reliable(.

מספק צינור להעברת מידע לפי סדר המשלוח )connection-oriented(שירות מקושר : תזכורת

ולעתים אף על , וכן מספק משוב מקוון לכל אחד מהצדדים על עצם קיומו של הצד האחר, המקורי

משוב לשולח במקרה של הצלחה בהעברת ספקמ )reliable(שירות אמין . נכונותו לקלוט מידע

כך , סה בעצמו לבצע משלוחים חוזרים במקרה של כשלוןשירות כזה גם מנ, לרוב. המידע

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

).unreliable(אמין -יותר מאשר בשירות לא

נשאל את עצמנו מדוע שכבת היישום אינה מספקת , כדי לחזור ולהבהיר את רעיון מודל השכבות

רעיון מודל השכבות מנצל כל הזדמנות ליצור שכבת ביניים –התשובה פשוטה ? אלו בעצמהצרכים

מימוש צרכים אלו , בנוסף. וזו בהחלט הזדמנות טובה, בעלת תפקיד ושירותים מוגדרים היטב

ומאפשר ליצור ממשק אחיד ויעיל בין יישומים , מקל על כתיבת יישומים, מתחת לשכבת היישום

).network core(קשורת רשת הת-לבין תת

.486 עד 481עמודים , 6.1סעיף חלק מנפנה לקריאת , מצוידים בהקדמה זו

אין להסיק מכך שאלו , להזכירכם. נחדד כמה מהנושאים היותר מורכבים עליהם קראתם זה עתה

.אלא רק שהם מורכבים וראינו צורך לסייע בהבנתם, הנושאים החשובים יותר

אך למקרה שתרצו לעיין , מוסבר היטב בספרTPDU -ה. ונח חשובנתחיל בהערה קצרה על מ

יש ספרים אחרים המתייחסים כבר בשלב . ראינו צורך להוסיף שזהו מונח חריג, במקורות נוספים

שהוא , datagram -או ל, TCP של פרוטוקול TPDU -שהוא ה, segment -הדיון התיאורטי ל

.UDPפרוטוקול ל שTPDU -ה

Primitives -ה

היסוד שבהן עושה שימוש שכבת היישום -שהן שגרות, primitives - מסביר מהם ה6.1.2סעיף

)application layer .( הסעיף מציג חמישהprimitives אופייניים לשירות תובלה )transport service (

מדוע עובדת היות , עכשיו תשאלו את עצמכם). connection-oriented(קושר אבל מ, בסיסי ביותר

שכמעט כל הפרק דן בשירות מקושר התשובה היא ? תרשיםשירות זה מקושר לא מצוינת ב

)connection-oriented (ולעתים , מסבירה זאת בקצרה484 בעמוד הרביעיתהפסקה . בלבד

.מומלץ לחזור ולקרוא את הפסקה, לכן. סטודנטים לא מבחינים בה בלהט הקריאה

Page 27: סיכום - האונ' הפתוחה

27

פועלת בשיטת ) application layer(הזכרנו ששכבת היישום . primitives -נפנה לדון בשימוש ב

: לכל צד יש תפקיד מוגדר בשלב הקמת הקשרשומשמעות הדבר היא , )client/server(לקוח /שרת

. הוא זה שמביע הסכמה) server(והשרת , להקים את הקשרהוא יוזם הפניה המבקש ) client(הלקוח

מעיד בהכרח על סוג ואין זה, אין זה בהכרח מעיד על מי מהשניים שולח מידע ראשון או אחרון

.ואופן ניתוק הקשר

4 .1 שאלה ◄

ות עבור כל אחד מהם האם הוא מיועד יש לזה. primitives נמצאת טבלה עם חמישה 484בעמוד

?)server(האם הוא מיועד ליישום השרת ? )client(ליישום הלקוח

)58תשובה בעמוד (

ברוח , "TPDU sent"היה גם לכנותה כון שנ,"Packet sent"מכיל עמודה הנקראת בספר 6-2 תרשים

אינו ) משלוח מידע וניתוק, התחברות(ביצוע הפעולות שימו לב שאופן . המונחים הקיימים בספר

.בקרוב תלמדו דוגמאות נוספות. אחיד בכל סוגי שכבות התובלה

4 .2 שאלה ◄

אלא , שאינו מכיל מידע משכבת היישוםTPDUפעולות ההתחברות והניתוק מבוצעות באמצעות

TPDUהאם לדעתך שכבת הרשת יודעת להבחין בין . של שכבת התובלהפנימיבקרה מהווה אמצעי

?ל" בקרה כנTPDU -נושא מידע ל

)58תשובה בעמוד (

סימטריות ניתוק הקשר

בה מוזכרים שני , 486בעמוד לפסקה השנייה אך כרגע נתייחס רק , בהמשך נדון עוד רבות בנושא זה

נבהיר כי השלב בו בוחרים את שיטת ניתוק הקשר הוא השלב בו , קודם כל. יתוק קשרסוגים של נ

.אז הם מחליטים מה הכי מתאים לצרכים הצפויים, המתכננים מעצבים את הפרוטוקול

אך קשה להבין לאיזה משני הסוגים , בספר מוסבר כי כל שיטות הניתוק מתחלקות לשתי קבוצות

.two-army problemנחזור לסוגיה זו כאשר נלמד את . בהמשךמשתייכות חלק מהשיטות שנזכיר

ברגע שאחד הצדדים מחליט שהקשר , )asymmetric disconnection (אסימטריהניתוק הת בגרס

בקריאה . קשרשתגרום בשלב כלשהו לניתוק מוחלט של ה, הוא שולח בקשת ניתוק, הסתיים

אומרת שלצד יוזם הניתוק -זאת, צדדי-ראשונה נדמה כי ההגדרה מתייחסת לכך שהניתוק הוא חד

והיא מתייחסת לעובדה , למעשה הכוונה שונה. לא אכפת מה דעתו של הצד האחר על עצם הבקשה

,כיוון שההגדרה אינה חדה דיה. עקב בקשת אחד הצדדים, כי שני כיווני הקשר נסגרים יחדיו

להגדרת הניתוק שכל שיטת ניתוק שאינה מתאימה ונקבע בינינו , נתמקד בהגדרת הסוג השני

.היא שייכת למשפחת הניתוק האסימטרי, הסימטרי

Page 28: סיכום - האונ' הפתוחה

28

הצד שרוצה לנתק ראשון אמנם שולח בקשת ) symmetric disconnection (הסימטריהניתוק ת בגרס

לניתוק כיוון למעשה פעולה זו תגרום רק . רק מודיע כי אין לו מידע לשלוחאך הפעם הוא, ניתוק

לפני שהקשר כולו נחשב , ולכן אנו מצפים לבקשה דומה מן הצד האחר, אחד של זרימת מידע

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

הערה נוספת מתייחסת למשאבי . וד הצד השני ממשיך במשלוח מידעבע, לבצע ניתוק של כיוון אחד

שלמעשה משתחררים סופית רק לאחר ששני הצדדים ביצעו ניתוק של הכיוון עליו הם , הקשר

.אמונים

4 .3 שאלה ◄

האם עובדה זו ). symmetric disconnection( פרוטוקול תובלה שבו שיטת הניתוק היא סימטרית נתון

?)duplex(מעידה כי פרוטוקול זה תומך בהעברת מידע בשני הכיוונים

)58תשובה בעמוד (

Berkeley Sockets

השייכים למימוש , אמיתייםprimitives הספר מציג בפניכם ךא, קצת מוקדםנראה זה אמנם

מוצג , אלוprimitivesבאמצעות . פרוטוקול תובלה הנלמד בהמשך הפרקשהוא , TCPפופולרי של

.TCPהפועלים על גבי , פשוטים) client(ולקוח ) server(המממש שרת , בפניכם קטע קוד לדוגמה

.492 עד 487בעמודים , ועברו על הקוד וההסבר שלוBerkeley Socketsקראו אודות

, בודאי מזהים כאן רכיבים מוכריםsockets -ה שימוש באלו מכם שכבר עסקו בכתיבת תוכנה העוש

מוזמן לחזור לכאן , מי שלא בדיוק ירד לסוף דעתו של המחבר. ל"ומבינים היטב מה כוונת הקטע הנ

וגם לא , לכן אל תיבהלו בשלב זה מההסבר בספר.ולהבין יותר, )עוד כשבועיים (TCPלאחר לימוד

תכנות מתקדם בשפת "יםתיבת קוד כזה מבוצע בקורסתרגול כ, דרך אגב.מההרחבות במדריך

Java) "20554(סדנה ברשתות תקשורת מחשבים "- ו) "22942.(

לתיאור socket -בעבר שימש ה. הגדרתו תלויה בהקשר בו מוזכר המונחשמונח הוא socket -ה

וכתובת רשת)transport address (ובלהכתובת ת שילוב שלשהיא ,)endpoint(נקודת קצה

)network address( .כיום ה- socket בספר הלימוד . בעל שימושים מגוונים, מונח תכנותי הוא גם

שאתם socket -כרגע ה. ולכן יש להיזהר בו, שוניםההקשרים ה שניב socketנעשה שימוש במונח

-יועד לפיתוח יישומים העושים שימוש ב כלומר עזר המ,)מונח תכנותי (פוגשים הוא מהסוג השני

TCPו - UDP .בהמשך נעיר כאשר תפגשו את הסוג הראשון.

עד , חדשים אינם זוכים לכתובתsockets -נאמר ש, בפתיחת הפסקה השלישית, 487באמצע עמוד

לא רק לכתובת רשת אלא גם socket - זו מקשרת את הBINDת למעשה פעול. BINDלביצוע פעולת

Page 29: סיכום - האונ' הפתוחה

29

. הוא מזהה ייחודי של שער כניסה עבור היישום שיצר אותוsocket -כלומר ה, תובלהלכתובת

portומספר ) הרשתכתובת (IPמדובר בזוג המורכב מכתובת , כפי שמודגם בספר, TCPבמקרה של

BINDשם נכתב כאילו . port -נשמט נושא ה, בשורה הרביעית, 489 גם בעמוד ). התובלהכתובת(

.IP - המטפל רק בכתובת

4 .4 שאלה ◄

port -באיזו שורת קוד מיידע היישום את שכבת התובלה מהו מספר ה. 491עיינו בקטע הקוד בעמוד

?בו יאזין היישום

)58תשובה בעמוד (

נושאים בתיכון שכבת תובלה .4.3

המציג מספר אלמנטים אליהם מתייחס פרוטוקול , בספר הלימוד6.2עיף לססעיף זה מתייחס

שזהו סוג , נחזור ונזכיר כי מדובר בפרוטוקול תובלה מקושר, ליתר דיוק. תובלה כלשהו

.הפרוטוקולים בו מתמקד הפרק כולו

ממומש , כל נושא המוצג בו. נכין אתכם מעט לסגנון בו הוא כתוב, לפני שתקראו את הסעיף

אם חלק מהנושאים לא יהיו לכם , לכן. ואתם עוד תפגשו בו בהמשך, באופן כלשהוTCPטוקול בפרו

מומלץ מאד לחזור , בכל מקרה. זכרו כי תהיה לכם הזדמנות שנייה ללמוד אותם, ברורים דיים

.כדי לסגור את המעגל, TCPלסעיף זה לאחר לימוד

.496 עד 492עמודים , 6.2.2עד , 6.2נפנה לקריאת פתיחת סעיף

התייחסות לשכבת הערוץ

בגלל החזרה על נושאים דומים כמו טיפול ) link layer(פתיחת הסעיף מתייחסת לשכבת הערוץ

, ף להםחשוב להבין כי זה כל המשות. ועוד) flow control(בקרת זרימה , )error control(בשגיאות

, לכל אחת מהן תפקיד שונה לחלוטין. אלו אינן שכבות המתחרות זו בזו על ביצוע משימותולמעשה

מחברת בין שני ) link layer(נזכיר עוד כי שכבת הערוץ . עד כדי כך שעצם ההשוואה עשויה להטעות

ניתן לראות , ולכן אפילו כאשר אנו מתעקשים לערוך השוואה בין השכבות, קצוות המחוברים פיזית

בו , כיר את ההבדל ביניהןהמז, 4 -1תרשים לצורך הבהרה מובא כאן. כי הצרכים שונים בתכלית

. קשרים בודדים בשכבת הערוץ3מכיל קשר תובלה יחיד

Page 30: סיכום - האונ' הפתוחה

30

דוגמה לקשר תובלה דרך חתך השכבות 4 -1תרשים

מיעון

, אלו הם מונחים הקיימים רק בספר זה. TSAP - וNSAP מציג בפניכם את המונחים 6.2.1סעיף

כדי לפתור , נחזור על הסבר הנושא. TSAPבמיוחד דברים אמורים לגבי , והגדרתם מעט מעורפלת

.הבנות העשויות לצוץ בשלב זה- איכמה

גם . אחתIPאו במונחי האינטרנט רק כתובת , אחדNSAPבמקרים רבים למחשבים יש רק

מספר היישומים , לעומת זאת. בודדיםNSAPsמצוידים היטב אין יותר מכמה המחשבים ב

)applications (שנהוג להריץ במחשב ממוצע הוא גדול משמעותית ממספר ה- NSAPs .זכרנו כבר כי ה

כדי לאפשר הקמת קשר . client/serverנוהגים לתקשר זה עם זה לפי מודל ) applications(יישומים

חייב לציין , המבקש ליצור עימו קשרclient. אחרTSAP - מאזין לserver -כל יישום המתפקד כ, כזה

מזהה ( זה host -וקש ב המבTSAP -וכן מהו ה, ) ברשתhost -כתובת ה (server - רץ הNSAPבאיזה

). host -היישום ב

. באדיבות שירות התובלה, משמעית-בשיטה זו מתאפשרת הקמת קשר בין יישומים בצורה חד

בעולם האינטרנט . נקודת קצה מוגדת היטב) NSAP, TSAP(מבחינת היישומים מהווה הזוג , כלומר

כשער TSAP -אנו מתייחסים ל .IP address הוא למעשה IPכאשר , )IP, port(ל נקרא "הזוג הנ

לפעמים . חופפים מונחים הם TSAP -ו, portהמונחים לצורך העניין ו, הכניסה לשכבת התובלה

זהו מונח גמיש שנעשים בו שימושים , למרות שכפי שהזכרנו קודם, חופףמשמש כמונח socketאפילו

.TCP - הדן ב6.4יף בסעשובמונחים אלו יוסברו . שונים

השרת המכונה . הוא רק דוגמה, המונה חמישה שלבים, 494-495התסריט המתואר בעמוד

"time of day "גם . אך אינכם צריכים להכיר אותו, הוא יישום אמיתי הקיים ברשת האינטרנט

של TSAP - בו כתובת ה,במיוחד שימו לב לצעד השני. המוזכרת היא פיקטיביתTSAP -כתובת ה

פעולת (הנשלחת כחלק מבקשת החיבור , זו כתובת אקראית. 1208היא ) host 1(הלקוח

CONNECT( ,ומהווה נקודת קצה בצד הלקוח.

Page 31: סיכום - האונ' הפתוחה

31

הקמת קשר

בנושא צר אך למעשה הוא עובר כבר בפתיחה לעסוק , דן בהקמת קשר בשכבת התובלה6.2.2סעיף

הבעיה משפיעה על כל ניהול כי, הנושא רחב,מצד שני. delayed duplicates -שהוא בעיית ה, יותר

.וכך גם הפתרון המוצג המטפל בבעיה בכללותה, ולא רק על הקמתו, הקשר

TSAPההנחה היא שבין שני :אליו כדאי לשים לב, בספרמשפט אחד חסר לאורך כל הסעיף

ניפגש שוב אחרי . וכל הדיון אכן מטפל בקשר אחד כזה, ם קיים רק קשר אחד בו זמניתמסוימי

. ונסביר מה הכוונה בדיוק, הקריאה

.502 עד 496עמודים , 6.2.2קראו את סעיף

.ונקדיש לכל אחת דיון מעמיק, אנחנו נפריד עכשיו בצורה בולטת את סוגיות הסעיף

Delayed Duplicates

, )network layer(מתייחס לאפשרות ששכבת הרשת הוא . 497מוצג לראשונה באמצע עמוד מונח זה

, לשכבת התובלהTPDU המכילים אותו packetsתעביר שני , )network(הרשת -או ליתר דיוק תת

- הוהאם, אין זה חשוב מי אשם במשלוח הכפול, בניגוד לרושם המתקבל מהקריאה. בצד הקולט

packetsהעובדה היא ששני . זהים גם כןTPDUבאופן בלתי רצוי, זהים לחלוטין עשויים להופיע.

הדוגמה מניחה שיישום . הממחישה מהו הנזק שיכול להיגרם, בספר הלימוד מובאת מיד דוגמה

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

שלשיטתי וסדרתי רומספאין בה , כלומר. באופן מכוון"לא טובה "שכבת תובלהיא ה, בדוגמה

.ואין מעקב אחר מספרים שכבר התקבלו בצד המקבל, בצד השולחTPDUs -ה

כמהמתבטאת במשלוח של בדוגמה הפקודה הבנקאית, מקושרת ואמינהמבחינת שכבת תובלה

TPDUs ,לפי הפירוט הבא:

).connection establishment ( להקמת הקשרTPDUs כמה .1

וגם כמה אישורי משלוח , בשני הכיוונים, )data( נושאי מידע TPDUs כמה .2

)acknowledgments .( ידי -כפי שנשלחה על, בנקאית ההפקודהכל אלו מכילים למעשה את

.היישום המדובר

. האחראים על ניתוק הקשרTPDUsכמה , לסיום .3

שהוזכרו TPDUs -עשויה לגרום לכך שכל ה, בהופעה קיצונית שלה, delayed duplicates -תופעת ה

ייתכן שכל הכפילויות . באותו הסדר, הרשת-יופיעו לפתע שוב בתת, גם יחד1-3בכל הסעיפים , כאן

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

איתן ולבטל השפעתן עליה להתמודדאך , את הופעת הכפילויותאינה יכולה למנועששכבת התובלה

.ההרסנית על היישומים

Page 32: סיכום - האונ' הפתוחה

32

הרשת- בתתpacketsהגבלת

לא בטוח , למעשה. ישניםpackets נאמר שיש צורך במנגנון שתפקידו לחסל 497כבר בתחתית עמוד

: בשלב זה חשובה לנו רק המסקנה, ובכל מקרה, ןשבשלב זה כבר ברור לכם מדוע יש צורך במנגנו

, T - לא יופיע לאחר זמן ארוך מdelayed duplicate -ולהשתמש בנתון ש, הרשת-ניתן לסמוך על תת

Tהערך , כאשר שכבת תובלה משתמשת בשיטה זו. שהוא מוסכמה בין שכבת התובלה ושכבת הרשת

.וטוקול הרשתוגם כחלק מפר, התובלהכחלק מפרוטוקול , נקבע מראש

TPDUמספור

מהצגת בעיית . TPDUנציג את הרעיון הכללי של מספור , תומלינסוןדון ברעיונותיו של לפני שניגש ל

וכן , TPDUsחובה על שכבת התובלה למספר , נובע שכדי להתגבר על הבעיה delayed duplicates -ה

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

. באמצעות מספר סידוריTPDUs צריכה למספר השולחשכבת התובלה בצד .1

ולוודא כי , המתקבליםTPDUs - צריכה לבדוק את מספרי ההמקבלשכבת התובלה בצד .2

. אותן כבר קלטה קודםכפילויותולא , חדשיםTPDUsאלו

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

.איזה מספר נחשב תקין מבחינתה, כלומר. מחכה

.TPDU -כלומר הם חלק מה, של שכבת התובלהheader -המספרים הסידוריים נרשמים ב .4

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

.1-3מאד על יישום סעיפים

שיטת תומלינסוןמהי

שזהו מנגנון מספור , )Tomlinson ( אנו מתוודעים לראשונה לשיטת תומלינסון498אמצע עמוד ב

TPDU1975 פורסם בשנת המאמר המקורי של תומלינסון. אותו יש להבין היטב, חסין טעויות ,

:ערך כךהמאמר עצמו מתחיל ב. 866והפניה אליו ניתן למצוא בספר בעמוד

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

. רביםפרוטוקולי תקשורתב

. הם בעיה מציאותית קשהduplicates -ה .2

".ליפול"והם גם נוטים , למחשבים יש מגבלות בנפח האחסון .3

Page 33: סיכום - האונ' הפתוחה

33

:כפתרון הוא מציע שילוב של שני אלמנטים

כך שמספר סידורי מסוים לעולם לא מתייחס , בים להיבחר בקפידה חיימספרים סידוריים .1

. אחד בכל נקודת זמןbyte -ליותר מ

זהו למעשה הנושא .בכל פעם שמוקם קשרמסונכרן ל חייב להיות "תחום המספרים הנ .2

.אליו נגיע בהמשך, )three-way-handshake(משולשת -יד-לחיצתהמכונה

נראה מהם הכללים . לפי תומלינסוןTPDUכיצד ממספרים מוסבר , בחלקו התחתון, 498בעמוד

:הבסיסיים למספור

).ISN - Initial Sequence Number (התחלתימספר סידורי בעת פתיחת קשר יש לסכם על .1

ון כזה שע. ערכו גם לאחר נפילת המחשבהשומר על, נקבע באמצעות שעוןISN -מספור ה .2

הוא לא צריך להיות . שחלפו מאז חצות) µSec(שניות -יכול לספור למשל את המיקרו

".השעון"הוא יכונה , מעתה. מסונכרן עם שעונים אחרים

שנשלח עושה שימוש במספרים TPDUכל , )ISN -סיכום ה, כלומר(לאחר פתיחת הקשר .3

ולוודא שלא , המספורבצורה זו יודע הצד המקבל לעקוב אחר. ISN -החל מה, עוקבים

ומה בדיוק ממספרים , ISN+1 או ISN -אין זה חשוב כרגע האם מתחילים מ. נשמט דבר

).bytesהודעות שלמות או (

החלק שעשוי לבלבל הוא . שחשוב להסבירה, 499לדוגמה המובאת בתחתית עמוד נעבור עכשיו

שאין לו כל קשר לשיטת , הכרחישזהו מספור פנימי לא , לציון מספר קשר5 עד 0השימוש במספרים

כי אין זהו אותו , לא מדויק) מסוף העמודשמיניתשורה (reopeningגם השימוש במילה . תומלינסון

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

קשר בודד בין זוג אלא ,הזדמנות שנייה להזכיר כי אין מדובר בפתיחת מספר קשרים במקביל

TSAPאז עכשיו בואו נשכתב לעצמנו את הדוגמה. כלשהם.

. TPDU למספור ה הידועה לנו כרגעהעושה שימוש בשיט) transport protocol(נתון פרוטוקול תובלה

הסידורי מקבל את המספר) שניות( xנוסחת מספור הקשרים החדשים קובעת כי קשר המוקם בזמן

ספר זה מ. באותו הקשר הראשון שנושא מידעTPDU -ו גם המספר שישמש את הוזה, x ההתחלתי

שיטת תומלינסון לא בדיוק שימו לב שזו . ידי שעון הנע בקצב של פעימה אחת בשנייה-מבוטא על

כדי להראות לכם , בגלל זה בדיוק היא מודגמת. אלא גרסה חלקית שאינה עובדת כראוי, המלאה

.מה יש לתקן

למשל ? איך מגיעים למספר כזה. 80בעל מספר סידורי , נושא מידעTPDU Xנשלח , יות שנt=30בזמן

. נושאי מידעTPDUs 60 שניות 10 -ואז נשלחו תוך פחות מ, שניות נפתח קשר חדשt=20אם בזמן

אומרת -זאת, שניות נוספות30לאחר . עליו רץ הפרוטוקולhost -נופל ה, TPDU Xמיד לאחר משלוח

לפי השיטה . שניות הוא כבר פותח קשר חדשt=70בזמן . הוא חוזר לפעול, שניותt=60בזמן

TPDUs 11אם נשלח . 70יקבל את המספר , נושא המידע הראשון שיישלחTPDU -ה, המודגמת

. שניותt=85בזמן , 80אזי האחרון בהם יקבל את המספר , שניות15כאלו תוך

Page 34: סיכום - האונ' הפתוחה

34

הוא , לפי הנתון. 80בעל מספר סידורי , אחר לחלוטיןTPDUהרשת - כבר שכן בתתt=30זכרו שבזמן

זו דוגמה מכאן נובע כי . שניותt=90אומרת עד -זאת, שניות נוספותT=60הרשת -עשוי לחיות בתת

.בה האלגוריתם נכשל

4 .5 שאלה ◄

לו היינו אנו מתכנני פרוטוקול . בספר הלימוד 499המתואר בדוגמה שבעמוד , נתון פרוטוקול תובלה

. בדוגמההמתוארכשל הכדי שלא יקרה יכולים היינו לשנות בפרוטוקול מה הציעו , זה

)58תשובה בעמוד (

אסור לשדר והיא ש, חושפת את המגבלה החשובה שהציג תומלינסוןבספר הלימוד הדוגמה הזו

תומלינסון ממליץ במאמרו לדאוג מראש לשעון שיספיק . יותר מקצב השעוןמהרבאופן רצוף

וון שגם פתיחת כי, קיצוניתבדוגמה שבספר היא נפילת המחשב , דרך אגב. לשידור מהיר עתידי

.קשרים חדשים היא בלתי אפשרית במצב המתואר

היא אמנם . המורכבת יותר, מוזכרת המגבלה השנייה, מיד לאחר הדוגמה, 499בתחתית עמוד

שידור בקצב המגבלה הזו קשורה ל. אך קצת קשה לראות זאת כך, מוצגת כקשורה לדוגמה הקודמת

.המתנגש עם תכונת השעון להתאפס, איטי מדי

. נפתור עוד תרגיל הקשור בנושא,הדגים את המגבלה הזוכדי ל

4 .6 שאלה ◄

שעון . TPDUsמספור רציפה של העושה שימוש בשיטת ) transport protocol(ל תובלה נתון פרוטוקו

שערכו גדל , )bits( סיביות 15ממומש באמצעות מונה בן ) ISN(יצירת המספר הסידורי ההתחלתי

) Network(הרשת -בתת) packet(מובטח כי אורך החיים המרבי של מנה . שניות- מילי100 כל 1 -ב

. שניות60הוא

לאחר כמה זמן עשויה להיווצר בעיה עקב קצב שידור איטי מדי במקרה , לפי תומלינסון .א

.יש לתאר במדויק כיצד מגיעים למצב שכזה? הגרוע ביותר

. בדקה180 הוא TPDUs -אבל כאשר קצב יצירת ה', כמו סעיף א .ב

)59תשובה בעמוד (

:באופן מעט שונה, להלן סיכום חוזר של הנושא

זה נכון בכל . חוסר ושינוי סדר, כדי למנוע כפילות, באופן רציףTPDUיש צורך למספר .1

.העושה שימוש בתשתית לא אמינה, שירות מקושר ואמין

כדי לתאם את המספר הראשוני , היא הכרחית) אותה טרם כיסינו כאן(משולשת -יד-לחיצת .2

. היא חלק משיטת תומלינסוןהיד-לכן לחיצת. ממנו מתחיל המספור הרציף

Page 35: סיכום - האונ' הפתוחה

35

הם עלולים , בחזרתם לפעול. ומאבדים את זיכרונם לחלוטין, מחשבים נופלים לפעמים .3

שני פתרונות ). פסקה שניה, 499עמוד ( שאינם זוכרים מה מהותו TPDU -להיתקל ב

:אפשריים לבעיה

. רלפני שהוא מתחיל לשד, שניות לאחר שהוא מתחיל לפעולTדרישה ממחשב להמתין .א

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

.)פסקה שלישית, 499עמוד (אלא ממשיך לפתח את הרעיון השני , מסיים כאן

וכן להימנע מלכתחילה , יש להשתמש בשעון חיצוני שאינו מתאפס בעת נפילת המחשב .ב

כלומר שעשויים להוות בעיה עבור , )forbidden region(מלשדר מספרים בתחום האסור

).פסקה ראשונה, 500עמוד (מחשב שחוזר אחרי נפילה

:יש לנקוט כללי זהירות, )forbidden region(כדי להימנע משידור בתחום האסור .4

מותר לשדר מהר יותר מקצב השעון רק אם נוצר פער , כלומר. אסור לעקוף את השעון .א

.עד שייסגר הפער, שידור מהיר כזה מוגבל בזמן. בעברבין השעון המהיר לשידור איטי

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

.ולהשתמש שוב במספרים בהם אנו עושים שימוש לצורך שידור, סידוריים

יש שתי פעולות אותן ניתן לנקוט כדי להימנע משידור בתחום , במקרה של שידור איטי .5

:בסוף הפסקה השלישית, 500כפי שמוסבר בעמוד , )forbidden region(סור הא

.עד שהשעון יחלוף על פני התחום האסור, Tיש להמתין זמן .ב

, הספר אינו מסביר כיצד לבצע זאת. יש לסנכרן מחדש את המספרים בין שני הצדדים .ג

.ירשימו לב שרעיון כזה עשוי להתאים גם עבור שידור מה. אך אין זה מהותי

, בכל אחת מהן צירוף כלשהו של תנאים, למספר שיטות שונותמביא אותנו , דיון מורכב זה

:הנה מספר דוגמאות. המאפשר פתרון הבעיות שהוצגו קודם

אותו נלמד , TCPכך פועל פרוטוקול . הוא פתרון שלם ופשוט, א שהוצג קודם3סעיף •

.בהמשך

. שמתעורר חשש לכניסה לאזור האסורבצירוף סנכרון מחדש בכל פעם , ב3יישום סעיף •

אך נהנה מאפשרות לשדר , המסרבל אותו מעט, ל"פרוטוקול כזה כולל מנגנון סנכרון כנ

.בחופשיות יחסית לשיטות האחרות

והמתנה , בצירוף איסור מוחלט על שידור מהיר מקצב השעון בכל רגע נתון, ב3יישום סעיף •

.ועומד להיכנס לתחום האסור בכל פעם שהשעון משלים סבב מספריםTזמן

Page 36: סיכום - האונ' הפתוחה

36

משולשת-יד-לחיצת

הנדרשים TPDU -נקראת כך על שם שלושת ה) three-way-handshake(משולשת -יד-לחיצת

.שימנע כשלון, באופן ודאי, האחד לכל צד, מטרתה לתאם מספרים סידוריים נפרדים. להשלמתה

הדבר הגרוע ביותר שיכול לקרות . ו כישלון מבחינת תומלינסוןמהנקודה חשובה כאן היא ההבנה

. מבלי שמידע זה היה אמור לעבור, הוא ששכבת התובלה בצד המקבל תעביר מידע לשכבת היישום

, פתוח-כמו למשל קשר שנותר חצי, שאר המצבים. delayed duplicate -שמקורו ב, מידע כפול, כלומר

בגלל , אם היינו מפתחים מנגנון שמדי פעם מאבד קשר, טיבאופן תיאור. הם פחות משמעותיים

. המתואר למעלהןחמור כמו הכישלוהיה זה עדיין לא , קפדנות יתר

4 .7 שאלה ◄

?delayed duplicate -למה אובדן קשר הוא פחות חמור מהעברת מידע שמקורו ב

)59תשובה בעמוד (

תנסו לדמיין עצמכם . ומעביר מידע ראשון, שהוא זה היוזם אותו, נניח שיש צד אקטיבי בקשר

עצם קבלת המידע אינו מבטיח שהוא . ומקבלים לפתע מידע, הפסיבי, עומדים במקומו של הצד השני

אסור להעביר , כרנו קודםכפי שהז. ויש לוודא קודם עם הצד האקטיבי שהוא כזה, )current(עדכני

.לשכבת היישום מידע סתמי

עכשיו נסביר מדוע שלוש הלחיצות הן מינימום הכרחי , כהמשך לשתי הפסקאות האחרונות כאן

רוצה , שאינו חלק מקשר קייםTPDUהצד הפסיבי מקבל . לפני העברת מידע כלשהו, להקמת הקשר

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

זהו למעשה . הוא יודע שאכן יש פה ניסיון להקים קשר חדש, וכאשר הצד הפסיבי מקבלו, האישור

).three-way-handshake (משולשת-יד-לחיצתתיאור פשוט של

זה . וזוכה בו גם לדוגמה מפורטת, positive synchronizationהתהליך מכונה במאמרו של תומלינסון

כיוון שהוא רק מציע תהליך , ..."מה יקרה אם"המקום להזכיר שוב שתומלינסון אינו עוסק בשאלה

ניתן להוסיף לה , ליעילה יותרכדי להפוך את לחיצת היד . כהגדרתו, שמטרתו למנוע כשלון

:עם כמה שינויים קלים, מתוך המאמר המקורי, להלן תיאור התהליך. למנטים נוספיםא

).הרשת-כזה שלא יכול להיות בתת (י עם מספר ייחודCR שולח היוזם .1

כי הוא לא יודע האם , )אם יש(אבל לא מעבד את המידע , TPDU - מקבל את ההמגיב .2

.delayed duplicateל הוא "הנ TPDU -ה

. מספר ייחודי של המגיבבוומוסיף , עבור מספר היוזםACKעם TPDU מחזיר יבהמג .3

Page 37: סיכום - האונ' הפתוחה

37

של מספר חוקי של ACKכי הוא מכיל גם , ומאמין לו, של המגיבמספרהיוזם מקבל את ה .4

והוא גם יודע באיזה מספרים , עכשיו ליוזם ברור שהמגיב רוצה בהקמת הקשר. היוזם

.המגיב עומד להשתמש

TPDU -כדי ליידע אותו שה, עבור מספרו של המגיבACKעם TPDUהיוזם שולח בחזרה .5

.delayed duplicateולא , אכן היה תקין1מצעד

וגם יש , של מספר חוקי של המגיבACKכי הוא מכיל , ומאמין לו, זה TPDUהמגיב מקבל .6

.1לפי צעד , לו מספר סידורי הנמצא בתחום החוקי של היוזם

. או לעבד כל פיסת מידע שהתקבלה והוקפאה בצד, ניתן לשלוח מידע, 6לאחר צעד , לפי תומלינסון

אם זה היה , 6הקודמים לצעד TPDUs -הכוונה היא שאפשר היה לשלוח מידע על גבי כל אחד מה

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

.האם לנצל אפשרות זו או לא

מחשבה נוספת על הנושא מעלה את השאלה איך מכונה . c - וbבמיוחד , בספר6-11 בתרשיםהביטו

אך התשובה המלאה , זהו אמנם מצב בו אין קשר עדיין? מצב בו צד אחד ממתין לאישור הצד השני

. אותם אנו משחררים לאחר ניתוקו, קראנו שהקמת קשר צורכת משאבים. תלויה בהקשר השאלה

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

אך כבר גורם לטרחה , הקשר אמנם טרם הוקם. ובודאי לאחר משלוח האישור הראשון, הראשונית

חשב בעל פרוטוקול כלומר מ, denial-of-serviceלהתקפה עוינת מסוג עובדה זו מנוצלת . מסוימת

, שלישית-יד-י להגיב באמצעות לחיצתמבל, ין יכול לשלוח בקשות רבות להקמת קשר עותובלה

.ולגרום לקריסת מחשב היעד עקב חוסר במשאבים

-יד-לחיצתות תמיד הכולל, של תומלינסוןהצעותיו : נקנח בהצהרה חשובה המופיעה בסיום הסעיף

.delayed duplicates -עברת מידע שמקורו ב לחלוטין את בעיית הותפותר, משולשת

)סטודנטי " עהנשאל (4 .8 שאלה ◄

תקשורת רשתות(קורס הקודם מה שלמדנו ב .TPDU מניעת כפילויות של סוגייתאנו עוסקים ב

וכל מיני ,ממחשב אחד לשניבשידור )frames( מסגרות היה כיצד למנוע כפילויות של,)'אמחשבים

, כלומר?הדיון פה על מה שנראה אותו הדברמתקיים מדוע , אם כך. לגוריתמים למנוע מצב שכזהא

?למה יש לתכנן עוד שיטה למניעת כפילויות בשכבה אחרת

)60תשובה בעמוד (

Page 38: סיכום - האונ' הפתוחה

38

ניתוק קשר

ובספר הוא נקרא , )disconnecting(במה שמכונה ניתוק קשר , נעבור לדיון קצר ופשוט יותר

connection release .הבעיות . י ואסימטריזכרו שכבר נגענו מעט בנושא כשהזכרנו ניתוק סימטר

בגלל שאנו יכולים להיות בטוחים שבקשת הניתוק , האפשריות בניתוק קשר הן פשוטות יחסית

.delayed duplicateעצמה אינה

4 .9 שאלה ◄

איך שכבת התובלה יכולה להיות , המשולשת-היד-כולל לחיצת, כאשר משתמשים בשיטת תומלינסון

?delayed duplicateאינה ) DR(בטוחה שבקשת הניתוק

)60תשובה בעמוד (

:בסדר חומרה יורד, יותואלו הן הבעיות האפשר

.השארת קשר פתוח לנצח .1

.כלומר כאשר אחד הצדדים עדיין מעוניין להעביר מידע, סגירת קשר מוקדם מדי .2

.delayed duplicateעקב , סגירת קשר בטעות .3

. כי אינה יכולה להתרחש אם נעשה שימוש במנגנון דמוי תומלינסון, את הבעיה השלישית כבר פסלנו

מדגים 505 בעמוד 6-14 תרשים. ואסור לאפשר לה להתרחש בשום מקרה, ורההבעיה הראשונה חמ

.שיטות להימנע ממצב זה

הדיון .כיצד להימנע מסגירת קשר תוך אובדן מידעוהיא , נותר לנו רק הדיון בבעיה השניה, אם כן

הכוונה היא להראות שהשאיפה . קשור בנושא זה) two-army problem (הצבאות- שניתבעייסביב

למרות . משמעי ששני הצדדים מנותקים יחדיו-ובעצם לא ניתן לוודא באופן חד, לשלמות לא עוזרת

אם רק , וניתן לבצע ניתוק בצורה טובה, כך חמור-יש לזכור שבאופן מעשי המצב לא כל, הבעיה

.מתפשרים מעט

.506 עד 502ים עמוד, 6.2.3קראו את סעיף

בסך הכל זה . צדדי-ולבסוף לוותר ולבצע ניתוק חד, הגישה המקובלת היא לנסות מספר פעמים

.ואז אין כל ברירה אחרת, כי תמיד יכול להיות שהצד השני נפל, הגיוני

Page 39: סיכום - האונ' הפתוחה

39

4 .10 שאלה ◄

משולשת -יד-באמצעות לחיצת) disconnecting( מציג ניתוק קשר 505 בעמוד 6-14 תרשים

)three-way-handshake .(בידיעה , צדדי-יש כמה מקרים בהם צד אחד מנתק את הקשר באופן חד

.עליכם לתאר מקרים אלו. שייתכן והצד האחר אינו מודע לכך

)60תשובה בעמוד (

בקרת זרימה

אז הוצג , זה נושא שאמור להישמע לכם מוכר מהקורס הקודם) flow control(בקרת הזרימה

.בספר מובא הסבר קצר על ההבדלים ביניהם). Link Layer(בהקשר של שכבת הערוץ

.510עד 506עמודים , 6.2.4קראו את סעיף

) flow control(הפרדנו בין הדיונים על בקרת זרימה , שימו לב שכאשר עסקנו בשכבות הנמוכות

היא . מהלך לימוד שכבת הערוץב הכרנו בקרת הזרימהאת ). congestion control(ובקרת העומס

פגשנו רק בעת בקרת העומסאת . וההתחשבות בעומס בכל אחד מהם, hostsעוסקת ביחס בין שני

יים כולל צמתי בינ, הרשת-כי היא עוסקת במתרחש בתת, )Network Layer(לימוד שכבת הרשת

כך שהתגובה , הפעם אנו מתייחסים אל שני סוגי הבקרות באותה השכבה. וקווים אלטרנטיביים

hosts -זיכרו שכל קשר בין שתי שכבות תובלה ב. לשינויים תהיה תמיד איחוד של שני הגורמים

נתונים אלו מהווים עבור . הרשת-שעשוי להיות מושפע מעומסים בתת, שונים עובר מסלול כלשהו

. לטובתהאיתושעליה להתמודד , התובלה נתון מוגמרשכבת

הקשור לשיקולי , אף הוא נושא קלאסי בו נתקלתם ודאי בעבר) buffers (העיסוק בהקצאת חוצצים

כדאי , כדי להגיע לניצול טוב של תנאי תקשורת נתונים. בין מהירות לזיכרון) tradeoff(תועלת /עלות

נהוג להגביל צריכת המשאבים עד לרמה , אך כדי למנוע בזבוז משאבים, ל את מספר החוצציםלהגדי

.מסוימת

4 .11 שאלה ◄

מחומר הלימוד ידוע לכם ). connection-oriented and reliable (ןתובלה מקושר ואמיפרוטוקול ןנתו

שניתן ידוע. פי סדר המשלוח המקורי בלבדל, שכבת היישום לTPDUת עברהששכבה כזו מטפלת ב

בעוד הצד השולח יכול לשלוח , אחד בלבד TPDU -ל בו הצד המקבל מחזיק חוצץ פרוטוקוללפתח

TPDUsת חוצצים אהקצמה התועלת ב, אם כך. רבים)buffers (בצד המקבלרבים ?

)60תשובה בעמוד (

Page 40: סיכום - האונ' הפתוחה

40

. 508עמוד שורה האחרונה בהמוזכר ב, )deadlock(כל פרוטוקול תובלה חייב להימנע ממבוי סתום

ואינו קורה בפרוטוקולי תובלה , לכן נדגיש כי המקרה המתואר בספר הלימוד הינו תיאורטי בלבד

.אמיתיים

סמן בעפרוןמומלץ ל, פשט אותוכדי ל. בספר הלימוד עשוי להיראות קצת מסובך וצפוף6-16 תרשים

כלומר אלו בהן העמודות עם החצים מכילות חץ המצביע , Bאת כל השורות המתייחסות לצד

, בצד המקבל) buffers( אמור להבהיר לכם את פעולת מנגנון הקצאת החוצצים תרשיםה. שמאלה

).acknowledgements(המופרד ממנגנון האישורים

והוא גורם , בנוסף על קיבולת הצד המקבל, ם השני בו יש להתחשב מוזכר הגור509באמצע עמוד

מסיימת , 510בעמוד , הפסקה האחרונה בסעיף).subnet carrying capacity(הרשת -קיבולת תת

רעיון זה . ולהתאים את גודל חלון השליחה בהתאם, בהצעה איך על השולח לעקוב אחר הפרמטרים

במשפט , "the Internet"המכונה כרגע , TCPיים בפרוטוקול אך הוא בדיוק מה שק, מוצג כתיאורטי

.האחרון

ריבוב והתאוששות מנפילות

אך היא קשה , היא לא בהכרח חשובה יותר מנושא הריבוב. נתמקד בבעיית ההתאוששות מנפילות

הספר . השרת קורסובאמצע התעבורה , לקוח שולח קובץ גדול לשרת :תיאור הבעיה. יותר להבנה

והמשך מהנקודה בה , האפשרות לפתח פרוטוקול המאפשר התאוששות של הקשרבוחן את

.למהאבל חשוב להבין , לא נגלה לכם כבר עכשיו שהתשובה היא .התעבורה הופסקה

.513 עד 510עמודים , 6.2קראו עד סוף סעיף

אחד TPDUכלומר רק , stop-and-waitנבחר פרוטוקול תעבורה הפועל בשיטת , כדי לפשט את הדיון

. עם מידע אחרTPDUלא נשלח , ועד שהוא זוכה לאישור, עם מידע נשלח בכל פעם מהלקוח לשרת

כלומר בודק , הספר בוחן כמה אפשרויות עיצוב שונות לפרוטוקול :ועכשיו נעבור למהות הטבלה

ההתנהגויות מתייחסות . כחלק מתכונות הפרוטוקול, צירופים שונים של התנהגות לקוח ושרת

לשלוח על הלקוחהאם כי השאלה הגדולה היא , ידי הלקוח- עם מידע האחרון שנשלח עלTPDU -ל

. עם מידע הבא אחריוTPDU -או לעבור ל, אותו שוב לשרת

שהצלחתן קשורה גם לשאלה כיצד נוהג השרת לאשר , בפני השולח עומדות ארבע אסטרטגיות שונות

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

ותמיד עשויה להתרחש , יש לזכור שנפילת המחשב אינה מתוכננת. או להפך, המידע לשכבת היישום

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

.לפי שלושת המאורעות השונים שעשויים להתרחש, התוצאה הסופית

שידור , כלומר" (Retransmit in S1"נניח שמעצב הפרוטוקול בחר עבור הלקוח במדיניות , לדוגמה

ועבור השרת במדיניות של משלוח , ) האחרוןTPDU -חוזר אם ורק אם טרם קיבל אישור עבור ה

Page 41: סיכום - האונ' הפתוחה

41

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

LOST-OK-OK .משמעות ה- LOSTיאבד , ואז מיד נפל מחשב השרת, היא שבמקרה בו נשלח אישור

אין צורך לשדר , ולפי המדיניות שלו, הסיבה היא שהלקוח מקבל את האישור. האחרוןTPDU -ה

. בשנית אחרי שהשרת חוזר לפעולהTPDU -את ה

Page 42: סיכום - האונ' הפתוחה

42

לדוגמהפרוטוקול תובלה .4.4

בסעיפים מטרתו להדגים חלק מהעקרונות שנלמדו . מוד בספר הלי6.3סעיף זה מתייחס לסעיף

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

כדי שיוכל להתמקד במימוש , באופן מכוון, הפרוטוקול אינו מדויק ואינו מעשי. שלו קצרים לתיאור

עניקה לו שירות אמין ומקושר הוא אפילו מניח כי שכבת הרשת מ. העקרונות

)connection-oriented reliable network( , וכך הוא נמנע מהצורך להתמודד עםdelayed duplicates

.ואובדן

אמנם לא תידרשו לכתוב קטע קוד . אותם יש ללמוד היטב, קטע קוד ומכונת מצביםהסעיף כולל גם

.האך עליכם לדעת מה תפקידה של כל שגר, במהלך הקורס

, הניחו כי צד אחד אקטיבי הוא יוזם הקשר: אך קודם נוסיף עצה שימושית, מיד נעבור לקריאה

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

פעולה זו תסייע לכם לעקוב אחר תהליך . השייכים במובהק לאחד הצדדים) בקטע הקוד(

תוכלו גם לדמיין מצב , שתשלטו היטב בעקרונות פרוטוקול זה אחרי .ומשלוח ההודעותההתחברות

או יוזם את ניתוק / והוא זה השולח מידע ראשון, בו דווקא הצד שהיה פסיבי בעת הקמת הקשר

.הקשר

.כולל קטע הקוד, 522 עד 513עמודים , 6.3.3קראו עד סעיף

ליישום הפעולות העיקריות , עבור פרוטוקול הדוגמה מתאר את האלגוריתמים שנבחרו 6.3.1סעיף

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

כדי להגיע להבנה שלמה של . עשויים ליצור רושם מוטעה לגבי אופן הפעולהלכן ו, היריעה

ברמה כזו , primitives - מבינים את הלוודא כי אתםו, לבחון היטב את הקודעליכם , הפרוטוקול

נפתח בתיאור , להדגמת הרעיון. ל במצבים השונים"שתאפשר לכם לתאר כיצד מבוצעת כל פעולה כנ

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

הקמת קשר

ממומשים בקוד בשגרות ה, )Application Layer( עומדים לרשות שכבת היישום primitivesשני

connectו - listen ,בהתאמה:

• CONNECT עבור לקוח )client( ,המוגדר לצורך העניין כצד האקטיבי בפתיחת קשר.

• LISTEN עבור שרת )server( ,שהוא הצד הפסיבי בפתיחת קשר.

נובע מכך שכל אחד מהצדדים וההבדל ביניהם , קיימים עבור הקמת הקשרתרחישים בסיסייםשני

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

Page 43: סיכום - האונ' הפתוחה

43

,server -מתנהג כאחד מהם . קטע הקוד מספר הלימודכאשר בכל אחד קיים , נפרדים hostsשני

.כלומר הם נבדלים בבחירה שלהם לקרוא לשגרות שונות, client -והאחר כ

שמגיעה בקשת לפני) listen(נכנס למצב האזנה ) server(השרת בו , רגילהמצב הבחרנו לתאר את

:הקמת הקשר אליו

TSAP - מייצג את הsכאשר , listen(s) קורא לשגרת server -ה ,כדי להתחיל בתהליך .1

יחד עם כתובת ) Network Layer(הכולל את כתובת שכבת הרשת , המקומי להאזנה

).Transport Layer(שכבת התובלה

TSAPש כבר בקשת התחברות הממתינה עבור מבצעת בדיקה האם י()listenהשגרה .2

שאמור timeout -נעיר כי ה, למדקדקים. ()sleep -השגרה נעצרת ב, כיוון שאין כזו. זה

, אל תתרגשו מזה. אינו כתוב בקוד בצורה מושלמת, ()sleepלהוציא את השרת מאותו

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

.כיוון שזהו הצד הפסיבי, מבלי להטריד כלל את שכבת הרשת

כאשר , connect(c, s)הקורא לשגרה ) client(הלקוח בשלב כלשהו נכנס לפעולה יישום .3

cמייצג את ה - TSAPהמקומי של הלקוח ו - sאת ה - TSAPהמרוחק של השרת .

. הם הקצוות של הקשר העומד לקוםs - וcאותם

אם לא נמצאה . הקשרים שהיא מסוגלת לזכור32 סורקת את טבלת ()connectהשגרה .4

ומצב , היא נתפסת ומאותחלת, אם יש רשומה פנויה. מוחזרת שגיאה, רשומה פנויה

.WAITING -הקשר עובד ל

CALL_REQ המכיל packetלשלוח מקבלת הוראה ) Network Layer(שכבת הרשת .5

.()sleep -והשגרה נעצרת ב, לצד השני

, מה שאמור להוציאם לבסוף ממצב זה. ()sleep -הזה שני הצדדים נמצאים בבשלב .6

ידי -הוא מטופל על, כאשר זה מגיע. )server( אל השרת CALL_REQ -הגעת ההוא

.()packet_arrivalהשגרה

server -ובוחנת האם ה, CALL_REQ מכיל packet - מגלה שה()packet_arrivalהשגרה .7

IDLE -מצב הקשר עובר מ, ן שהתשובה חיוביתכיוו. מאזין לכתובת זו

נשמר במשתנה גלובלי והשגרה ) cidהמשתנה (מספר הקשר , ESTABLISHED -ל

.2 משלב ()listen של ()sleep - כדי לשחרר את ה()wakeup -קוראת ל

תוך כדי העברה למצב , להסתיים()listenל גורם לשגרה "השחרור הנ .8

ESTABLISHEDשאינה גורמת , הנראה שגיאה קלה בקטע הקודזו ככל. פעם נוספת

לאותת כי הקשר הוקם , client - אל הCALL_ACC מסוג TPDUנשלח , בנוסף. נזק

.בהצלחה

Page 44: סיכום - האונ' הפתוחה

44

, ()packet_arrival מגיע לשגרה TPDUכאשר אותו . client-נחזור עכשיו לצד ה .9

WAITING -ומצב הקשר אצלו עובר מ, CALL_ACCמבחין כי זהו client -ה

()connectכדי לשחרר את , ()wakeup -גם כאן השגרה קוראת ל. ESTABLISHED -ל

. לצאת מיד מהשגרה()connect -מה שגורם ל, 5 בו השרוי מאז שלב ()sleep -מה

4 .12 שאלה ◄

) N(או בתווך הרשת ) C (client -ה, )Sסימון (server -סמנו ליד כל שלב האם הוא מבוצע בצד ה

.הכולל בדרך כלל מעבר בין שני שלבים

)61תשובה בעמוד (

. בדרךהאפשריות אך התעלמנו מכל החריגים והתקלות , אמנם הקמנו קשר. לא בדיוק? תם ונשלם

נתם כי חלק מהקוד אך בודאי הבח, ()listen - הוא הראשון לקרוא לserver -אנחנו גם הנחנו שה

.()connect - הוא הראשון לקרוא לclient -בו ה, מטפל גם במקרה ההפוך

ולא , מתואר באמצעות קוד ומכונת מצביםפרוטוקולריבוי התרחישים הוא הסיבה העיקרית מדוע ה

יקל עליכם לנתח , לאחר שראיתם דוגמה שכזו. באמצעות תרחישים מפורטים כפי שראיתם להלן

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

העברת מידע ובקרת זרימה

, בפסקה הרביעית, 514בעמוד . מעבר לכתוב בספר, אופן העברת המידע זקוק למספר הבהרות

sendנרמז שם כאילו . שלםלא באופן , )data transmission(מתואר בקצרה תהליך משלוח המידע

תגלו שיש למשלוח , אם תבחנו את קטע הקוד). block( נוטה להיחסם receiveבעוד , חמבצע משלו

:המידע שני תרחישים אפשריים

, בצד האקטיביקרדיטבגלל היעדר : send -פועל ראשון וקורא ל, במשלוחהצד האקטיבי .1

, ניתן לראות זאת בקוד.קרדיטבהמתנה להגעת , מבלי לשלוח דבר, הקריאה נחסמת מיד

.()sleep -המסתיימת ב, 519 מסוף עמוד 13 -רה הבשו

הגורם , receive -שחרור הצד האקטיבי מתרחש רק כאשר הצד הפסיבי קורא מיוזמתו ל

.עד להגעת המידע, וחוסם את הפסיבי, לצד האקטיביקרדיטלמשלוח מיידי של

לתרחיש מבחינתו ההתנהגות זהה : receive -וקורא ל פועל ראשון, במשלוחהצד הפסיבי .2

וכאשר , האקטיבי צובר את הקרדיטהצד . ונחסםקרדיטלח מיד וכלומר הוא ש, הקודם

אלא תבצע משלוח , היא לא תיחסם הפעם, send -הוא ירצה לשלוח באמצעות קריאה ל

.מיידי

Page 45: סיכום - האונ' הפתוחה

45

4 .13 שאלה ◄

האם הוא יכול להמשיך . הוא משדר מידע, credit ובהנחה שיש לו, SEND -אחרי שהשולח קורא ל

ישלח , RECIEVE -כלומר המקבל יקרא ל? או שכל התהליך צריך לחזור על עצמו, לשדר פעם נוספת

credit message ,ורק אז השולח יוכל לשדר פעם נוספת?

)61תשובה בעמוד (

)י סטודנט"נשאל ע( 4 .14 שאלה ◄

המהלך , לפי מה שהבנתי? RECIEVE - בbytesמה המשמעות של הפרמטר , 518בקטע הקוד בעמוד

ואם הוא , SEND -אז השולח קורא ל. credit ושולח RECIEVE -התקין הוא כאשר המקבל קורא ל

? שיישלחוbytes - מופיעה כמות הRECIEVE -אז איך כבר בקריאה ל. הוא יכול לשדרcreditקיבל

)61תשובה בעמוד (

מכונת המצבים

כך . במקביל לקטע הקוד, תפקיד מכונת המצבים לאפשר מבט נוסף על התהליכים שכבר הזכרנו

.ולהפך, היא יכולה לסייע למי שזקוק לעזרה בהבנת תרחיש מסוים מתוך הקוד בלבד

.524 עד 522עמודים , 6.3.3סעיף קראו את

אם הצלחתם . דיוקים-שגיאות ואימכילה מספר , 6-21תרשים כפי שהיא מוצגת ב, מכונת המצבים

דיוק אפשר -דוגמא לאי. זה סימן טוב המעיד שהתעמקתם היטב בפרוטוקול, למצוא כמה כאלו

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

למרות , "Idle/~" בה מופיע Timeout -שגיאה של ממש קיימת במשבצת של שורת ה". P1וגם לא "

את זה היו צריכים לבטא . CLEAR_REQ גם יוזמת משלוח ()clockשבקוד ניתן לראות שהשגרה

".A1/Estab"צריך להיות " Estab/~" במקום בו רשום LISTENגם בשורת ". A6/Idle"באמצעות

ניתוק קשר

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

Estabהמכונה גם , Established נקודת הפתיחה היא במצב . מתחיל ראשון בתהליך הניתוקclient -ה

השונים תופעת ריבוי הכיתובים. בקוד שלמדנו לפני כןESTABLISHED -בתוך מכונת המצבים ו

.לאותה המילה חוזרת על עצמה גם עבור סימנים אחרים במכונת המצבים

. אותה הכרנו קודם()disconnectהמקביל לשגרה , DISCONNECT - קורא לclient -ה .1

Page 46: סיכום - האונ' הפתוחה

46

, שם יש שתי אפשרויות שונות להמשיך, Establishedנבחן את המשבצת הנחתכת עם המצב .2

מה שבמקרה , כבר הגיעClear_req -שמעו ש מP4מתחת לטבלה נמצא כי . P4לפי השאלה

clr_req_rececived דגלאז נזכיר כי זהו אותו, אם תהיתם מי זה בכלל. שלנו לא נכון

.)למשל, 9 שורה 521בעמוד (שפגשנו בקוד

העמודה (Disconnecting ונעבור למצב A6זאת אומרת שנבצע פעולה , 4Pנמשיך לפי .3

.server - אל הClear_req היא משלוח A6הפעולה . )האחרונה

packetהתבוננות בעמודה מלמדת כי רק הגעה של ? Disconnectingאיך ניתן לצאת ממצב .4

, client -נעזוב את ה, לכן. להתקדםclient - יכולה לגרום לClear_conf או Clear_reqמסוג

.server -ונעבור לבחון את ה

המצב . Clear_req -אחד מכמה מצבים הגיוניים כאשר יגיע אליו ה יכול להיות בserver -ה .5

והוא , client - שלח קרדיט לserver -כי משמעותו שה, Receivingהסביר ביותר הוא דווקא

. אין מה לשלוח כרגעclient -גם אם ל, ממתין להגעת מידע

היא A10הפעולה . Establishedומעבר למצב , A10שגורר ביצוע , Clear_req -עכשיו הגיע ה .6

הוא לא Establishedהמעבר למצב . המסמן את הגעת בקשת הניתוק, הרמת דגל פנימי

.ומביא לבסוף לאלגוריתם שלם והגיוני, אך תואם את הקוד, לגמרי צפוי

אך , כאשר הוא ממתין להתפתחויות, 4 עזבנו בשלב client -את ה. לכאורה המערכת תקועה .7

מסוג , להם הוא מחכהpackets - ה אחד משניclient -לשלוח ל server -מה יגרום עכשיו ל

Clear_req או Clear_conf?

. זו שכבת היישום, לכאורה-מי שיוציא את המערכת מקיפאון. זה קצת מסובך, שימו לב .8

קיבלה איתות server -אך שכבת היישום של ה, אמנם שתי שכבות התובלה ממתינות

שהיא לא , פה בדיוק הבעיה במכונת המצבים? האיתותאיפה . רוצה להתנתקclient -שה

.צריך לחזור אל הקוד, כדי להבין בדיוק מה קורה עכשיו. יכולה להראות זאת

Clear_req -שלאחר קבלת ה, ()receive קרא לשגרה server -היישום של ה, באופן מעשי .9

לקרוא server -זהו בדיוק האיתות שאמור לגרום ל. ERR_CLOSEDחזרה עם תוצאה

.ומכאן ההמשך כבר פשוט, DISCONNECT -עכשיו ל

במכונת המצבים . שהוזכר קודם4נקודה מעניינת היא סעיף . במכונת המצבים יש גם צדדים טובים

ייצא ממנה הוא צריך client -כי כדי שה, זו פעולה חוסמת לכאורהDISCONNECT -רואים ש

()disconnectשם השגרה . ן לא בא לידי ביטוי בכללבקטע הקוד העניי. packetsלחכות לאחד משני

, בנקודה זו, לכן. ומאפשרת באופן תיאורטי לשכבת היישום לקרוא לשגרות נוספות, חוזרת מיד

.צבים משלימה את התמונה טוב יותרמכונת המ

Page 47: סיכום - האונ' הפתוחה

47

UDPפרוטוקול .4.5

, בה נעשה שימוש ברשת האינטרנט) protocol suite(פרוטוקולים תמתאר חביל, TCP/IPמונח ה

שהוא , TCPהחבילה כוללת את צמד הפרוטוקולים , בשכבת התובלה. משכבת הרשת ומעלה

).connectionless( שאינו מקושר UDP -ו, )connection-oriented(הפרוטוקול המקושר

וזו , שאינו מקושר הוא פשוט משמעותית משרות מקושרהשרות , כפי שהזכרנו בסעיפים קודמים

כך יתאפשר לנו ללמוד מספר נושאים ראשוניים . ראשוןUDPאחת הסיבות שאנו נפתח ונלמד את

נפתח בהיכרות עם .TCPפרטי המימוש של במבלי להסתבך , המשותפים לשני הפרוטוקולים

.הפרוטוקול

.526 עד 524עמודים , 6.4.2 ועד 6.4קראו מתחילת סעיף

הבנויה , UDPשל ) header(שימו לב לכותרת . TCP - וUDP של TPDU הוא למעשה segmentהמונח

שאינו תלוי , זהו גודל כותרת קבוע. א"כ) bit( סיביות 16המכילים , יש בה ארבעה שדות. bytes 8 -מ

.כלל בתוכן

)סטודנטי " עהנשאל (4 .15 שאלה ◄

אנחנו למדנו . שרת- שימושי במיוחד במצבים של לקוחUDPנאמר כי , בפסקה הרביעית, 526בעמוד

?UDPאז איך הוא מופיע בסעיף על , שמונח זה מתאים לשירותים מקושרים

)61תשובה בעמוד (

כפי שראיתם במדריך , IP של checksum -השיטה בה מחושב הדיוק באותה מחושב בchecksum -ה

.14בעמוד זה

RPCו - RTP

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

.והם המצדיקים את קיומו, TCP בהם הוא עדיף על UDP -ל

שלא , זהו חומר רשות.532 עד 526עמודים , 6.4.3 - ו6.4.2ים ברפרוף את סעיפקראו

.יופיע בבחינה

Page 48: סיכום - האונ' הפתוחה

48

TCPפרוטוקול .4.6

, Internet - בשכבת התובלה של ה)connection-oriented(הוא הפרוטוקול המקושר TCPפרוטוקול

וב העקרונות המממש את ר, זהו פרוטוקול נפוץ ושימושי. והוא מהווה גולת הכותרת של הפרק כולו

, חשוב לזכור שהוא אינו מחויב לאותם אלגוריתמים שהוזכרו שם. בספר6.2 -ו 6.1שלמדנו בסעיפים

. אך ניתן למצוא קווי דמיון רבים, ובפרט אינו מבצע בדיוק אותן הפעולות במצבים חריגים

כדאי . ולתעזור לכם להבין את המניעים של מתכנני הפרוטוק, היכרותכם עם סעיפים קודמים אלו

בכל שלב בלימוד סעיף זה לנסות ולהבהיר לעצמכם את הדומה והשונה לעומת העקרונות מאותם

.סעיפים שהוזכרו

בזכות מגוון הספרים העצום , הופכת אותו לקל יחסית ללימוד, נפוץ מאדTCPהעובדה כי פרוטוקול

בכל ספריה . )http://www.ietf.org -ניתן לקרוא ב (RFC 793 -והיותו מוגדר ב, העוסק בו

ולחזק את הבנתכם כתוספת , אוניברסיטאית תוכלו למצוא מספר ספרים המתארים אותו היטב

.ספר הלימוד שלנוב העמודים 24 -ל

.535 עד 532עמודים , 6.5.2 ועד 6.5 קראו מתחילת סעיף

על חשיבות זיכרו שאין זה מעיד . הדורשות הבהרות והסברים נוספיםנחזור יחדיו על כמה נקודות

.נושא מסוים

תכונות בסיסיות

לקצה -מקצה) reliable(ואמין ) connection-oriented( מספק שירות מקושר TCPפרוטוקול

)end-to-end( , המעביר בתים)bytes ( בין יישומים)applications( , על גביinternetwork לא בהכרח

צריכים ויישומים האמין שמשתמשים תפקיד הפרוטוקול לספק את השירות, באופן כללי. אמינה

. אינו מספקIPאך , לפעמים

אינו צריך להתחשב בנתוני רשת או TCP -ל, שכבת היישוםכלומר, גודל המידע שמוסר המשתמש

לשלחם , לחלק את המידע לחלקים קטנים יותר במקרה הצורךTCPזה תפקידו של . תשתית

יסית היא שהיישום בצד המקבל אינו צריך לדעת ההנחה הבס. ולהרכיבם לבסוף בקצה השני, בנפרד

בשני TCP -וכיצד חילק וחיבר אותו ה, באיזה אופן ארגן היישום השולח את המידע המקורי

.המקורי) bytes(ולפי סדר הבתים , העיקר זה שלבסוף יגיע המידע כולו. הצדדים

-כיוונית בו-שהוא מונח המגדיר תעבורה דו, full-duplex נאמר שכל הקשרים הם 534ראש עמוד ב

אך אנו נסתפק בהכרזה , זמניות במקרה זה-אפשר לפתח דיון פילוסופי מורכב על מהות הבו. זמנית

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

.זמנית-כדי לתחזק משלוח וקבלה בו, כיוון

Page 49: סיכום - האונ' הפתוחה

49

sockets - וports על

קצה -הוא נקודת socketהמונח . TCPשל ) כתובת שכבת התובלה( TSAP - הוא הportהמונח

)endpoint ( המתארת צירוף של כתובתIPו - port , שנהוג לרשום אותם בקיצור)IP,port .( שימו לב

שם ראיתם בבירור . 491בעמוד , Berkeley socketsבסעיף של ו מדובר עלי socket -שזהו לא אותו ה

אז פשוט נסכם מעתה שבכל . דברים שונים לאורך חיי התוכניתג מייצה, הוא עזר תכנותי socket -ש

.endpoint - ישמש אותנו כsocketהמונח TCP -הסעיף העוסק ב

sockets - לתאר באמצעות זוג הקשר קיים ניתן, כלומר. socketsקשר מתואר באמצעות זוג

או ) endpoint1,enpoint2(ניתן גם לרשום , לחילופין). socket1,sockets2(הנמצאים משני קצותיו

.TCP - בmulticastשאין כלל עובדה זו גם מהווה תזכורת . (IP2,port2)-(IP1,port1)בפירוט מרבי

תו יא, מרוחקserverיישום מאזין TSAPלאיזה בתחילת הפרק הזכרנו שיש מספר שיטות לדעת

שמשמעותה , well-known portsהשיטה המקובלת ביותר בעולם האינטרנט היא . רוצים ליצור קשר

אם רוצים לגלוש לאתר , למשל. מטעמי נוחיות, קבועים לשירותים נפוציםportהיא שימוש במספרי

Web בשם http://www.mysite.com , בעצם מתכוונים ליצירת קשר עםport שהוא ה, 80 מספר- port

ההופך את שם האתר DNS וכן על HTTPבהמשך נלמד על פרוטוקול . HTTPהקבוע של פרוטוקול

ואז , מסיבה כלשהי80מספר portלעתים נתקלים באתרים פרטיים שאינם רצים על . IPלכתובת

.http://www.mysite.com:4000כמו , port -פר המסמפורש של הגישה אליהם מתבצעת תוך ציון

Firewallשאמצעי ההגנה ברשת דוגמת , ידועים הוא כה מושרש ואמיתיports יהשימוש במספר

חסימה גורפת של , לדוגמה. או כניסה/ מסוימים מפני יציאה וports נוהגים לאפשר חסימה של ,נתבו

שימו לב שהנתב נדרש .Web -יכולה למנוע ממשתמשים לגלוש ב, בנת ב80מספר portיציאה דרך

.בלבד) IP packet(ולא להסתפק בבחינת המנה , לצורך הענייןTCPלהכיר את מבנה כותרת

TCP Segment

הוא מיישם כמה מהעקרונות שלמדנו בסעיפים . TCP של פרוטוקול TPDU - הוא ה)segment(סגמנט

.אם כי חלקם בצורה שונה ממה שהוצגה שם, קודמים

.539 עד 535עמודים , 6.5.4 - ו6.5.3את הסעיפים קראו

המספרים כאן אך , בספר6.2אלו שהוצגו בסעיף פועלת לפי עקרונות דומים לשיטת המספור

סגמנטיםאו ( שלמים TPDU -לבספר המספור התייחס , להזכירכם. bytes -מתייחסים להרציפים

byte - הוא למעשה מספרו הסידורי של ה סגמנטאומרת שמספרו הסידורי של-זאת). TCPעבור

כזרם בלתי מובנה של בתים , למידעTCPשיטה זו מיישמת את הגישה של . הראשון בו

)byte stream( , שיש צורך להעבירו לפי הסדר באופן אמין)reliable.( סיביות32 המונה עצמו מכיל ,

.וכך כמובן גם המספרים הסידוריים הנשלחים כחלק מהכותרת

Page 50: סיכום - האונ' הפתוחה

50

בפרוטוקולים של שכבת . מבלבל וזה מעט,הבא לו מצפים byte - כוללים את מספר האישורים

מספר יחידת המידע האישור תמיד הכיל את , אותם למדתם בקורס הקודם, )link layer(הערוץ

במספר הבא אחריכ "בסהמדובר כי , גדולהשינוי הפעם לא. שהתקבלה לפי הסדר, האחרונה

. התקין האחרון שנקלטbyte -ה

. 14אותה הסברנו כבר בעמוד , UDP - וIP -כמו בבדיוק אותה שיטה ב מחושב checksum -ה

תרשים מופיע בה, pseudoheader -המהם הוא אחד . שלושה אלמנטיםתוכן גבי -מבוצע עלהחישוב

header של checksumאומרת שהאלגוריתם מחשב -זאת. כי הוא דמיוני, אך אל תטרחו לחפשו, 6-30

, בדיוקchecksum -ולחשב את אותו ה, אך הצד המקבל יכול לציירו בדמיון, מדומה שכלל לא נשלח

.לצורך וידוא הגעת מידע תקין

)י סטודנט" עהנשאל( 4 .16 שאלה ◄

, בשורה השניה, 539בעמוד . בתים65515 מכיל IP payload -נאמר ש, בשורה האחרונה, 535בעמוד

?מדוע קיים הפרש כה גדול בין השניים . בתים536בדרך כלל , הוא מאד קטןTCP payloadנאמר כי

)62תשובה בעמוד (

ניהול הקשר

.אחזקתו וניתוקו, כלומר הקמת הקשר, TCPעכשיו נכיר את מנגנון ניהול הקשר של פרוטוקול

.6-33 תרשיםכולל , 543 עד 539עמודים , 6.5.8 עד 6.5.5את הסעיפים קראו

:יישומיםכיצד מתנהל קשר וכיצד הוא דואג להעברת המידע בין , נבחן יחדיו את התמונה השלמה

1. socket ה הוא- endpoint של TCP,זוג מתואר באמצעות ה)IP, port.( נזכיר שוב שזהו לא

.Berkeley Sockets עליו למדתם בהקשר של socketאותו

.זמנית-אחד בו TCPקשר מסוימים ייתכן רק socketsבין כל שני .2

ובלבד שהם כולם שונים , אחריםsocketsזמנית עם -רובים בו יכול לנהל קשרים מsocketכל .3

.זה מזה

sockets -הזוג הוא שייך לפיקשרלאיזה מזהה הוא , כאשר מידע מגיע לאחד הצדדים .4

.כך המידע מופנה ליישום המנוי על קשר זה. מרוחקמקומי והה

Page 51: סיכום - האונ' הפתוחה

51

4 .17 שאלה ◄

TCP קשרייהיו שני) מסוימיםport - וIP -לכלומר ( מסוים במחשב socket -תכן מצב בו להאם יי

?שונים או יותר

)62תשובה בעמוד (

כתובת על מחשב עם רץ Web שרת :)IP, port( במובן של socket לתפקודו של דוגמה מספריתלהלן

IPאזין במו, אחת- port בוכך נוצר. לבקשות לקוחות) 80מספר (מקובלה socketכמו :

ואז נוצרים שני קשרים , ל"זמנית לשרת הנ-נניח ששני לקוחות מתחברים בו). 206.94.49.10:80(

).193.20.20.2:1800 (-)206.94.49.10:80(וגם ) 192.10.10.1:5440 (-)206.94.49.10:80: (כמו

4 .18 שאלה ◄

, TCPשל פרוטוקול transport entity -מחליט ה, או נתונים נוספים/ו) header(לפי איזה שדות כותרת

?שייך המידע הנכנסקשר לאיזה , בצד המקבל מידע

)62תשובה בעמוד (

בדומה למה שכבר , )three-way-handshake(משולשת -יד-באמצעות לחיצתמבוצעת הקמת הקשר

ספר הלימוד לפי .לכל צד בנפרד, לצורך תיאום מספר סידורי התחלתי, בשיטת תומלינסוןלמדתם

מונה שהוא , הסידורי ההתחלתי מבוסס שעוןהמספר , )TCP) RFC 793המסמך הרשמי הראשון של ו

בוצעובמיוחד , יעו מימושים החורגים מהגדרה זובהמשך הופ. 4µSecשל המתקדם בקצב קבוע

,מסתבר שבחירת מספר סידורי התחלתי לפי תבנית צפויה מראש. שינוי במנגנון מסיבות בטיחותיות

). לחיצת היד השניה(ולנצלו להקמת קשר מבלי לקבל כלל תגובה , מקילה על תוקף לחזות מספר זה

ואף , בחור במספר סידורי התחלתי אקראי שונים היא לTCPהגישה המקובלת במימושי לכן

. דיון בצורך ובשיטה כיצד לחולל מספרים שלא ניתן לנחש אותם כללכיום מתקיים

מעין ב, המשולשת-היד-מאפשר מבנה הכותרת להעביר מידע בזמן ביצוע לחיצת, באופן תיאורטי

כ "היות מועבר אחול, מידע זה אמור להישמר בצד עד להשלמת ההתקשרות. )piggyback(קמח -שק

.והמידע נשלח רק החל מהסגמנט הרביעי, יכולת זו אינה מנוצלת, באופן מעשי. לשכבת היישום

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

די להימנע כ . נשלחות בסגמנט אחד3 - ו2" הודעות"כאשר , סגמנטים בלבדבאמצעות שלושה ניתוק

. צדדי במקרה ולא מגיע אישור לבקשת הניתוק-ניתוק חדננקטת מדיניות של , deadlock -מ

שזהו אורך החיים , שניות120 לא יחזור לשדר במשך) crash ( שנפלhost קובע כי TCPפרוטוקול

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

חיזרו לעמוד . )forbidden region(שאינו מצריך כלל התעסקות באזור האסור , בשיטת תומלינסון

יש , שם נאמר שכדי להימנע מהצורך באותו זמן שקט אחרי נפילה. אחרונה-לפנילפסקה ה, 499

וכללנו אותם תחת כותרת שיטת , אלו למדנו לעומקהכללים האת . לאכוף כללי תזמון מסוימים

Page 52: סיכום - האונ' הפתוחה

52

אחרי נפילה של , T בעצם לא דרשנו אז את אותה הימנעות משידור למשך זמן ,לכן. לינסוןתומ

.המחשב

וודאו כי אתם מבחינים בין . מכונת מצבים מסכם את ניהול הקשר באמצעות 6-33 תרשים

primitives) שלוש (סגמנטיםוסוגי ה) בתוך המלבנים(מצבי הקשר בכל אחד מהצדדים , )מודגשים

).פיעים מעל המעבריםמו, אותיות

)י סטודנט" עהנשאל( 4 .19 שאלה ◄

, לעולם לא יתחיל מאפסTCP בפרוטוקול initial sequence number -נכתב ש, 540בסוף עמוד , בספר

?האם תוכל להסבירן, לא מצאתי את הסיבות לטענה זו. מהסיבות שהוסברו לפני כן

)62תשובה בעמוד (

ובקרת זרימהמדיניות השידור

סעיף . המשפיעים יחדיו על קצב ואופן שידור המידע, מנגנון השידור מחולק לשני חלקים נפרדים

, TCPשל ) flow control(שהוא מנגנון בקרת הזרימה , בספר פותח בדיון בחלק הראשון6.5.8

, בסעיף הבא נדון בגורם השני. וממשיך בשיטות להתגברות על בעיות יעילות שהוא עשוי לגרום

).congestion control(שהוא בקרת העומס

פגשנו בשכבת אותם כבר, )sliding-windows(הזזה -חלונותבקרת הזרימה מבוצעת באמצעות

. 6.5.8מהותי ביותר בין המנגנונים מופיע מיד בפתיחת סעיף ההבדל ה). Link Layer(הערוץ

הוא אישר קבלה : כל אישור היה בעל משמעות כפולה) Link Layer(בשכבת הערוץ , להזכירכם

כמקובל בשכבת , TCPבפרוטוקול . וכן אישר להמשיך ולשלוח מידע נוסף, תקינה של משלוח קודם

. בין השנייםמבוצעת הפרדה, )transport layer(התובלה

.547 עד 543עמודים , 6.5.8קראו סעיף

המקום -מומלץ מאד לחזור ולעיין במראי, אם אתם מתקשים בהבנת הדוגמאות המובאות בהמשך

הזזה ומוסברים גם בפרק שכבת -שכולם קשורים בחלונות, ולוודא כי הבנתם את המונחים, הבאים

:)Link Layer(הערוץ

.NAK - וselective repeatכרים מוז539עמוד ב, 6.4.4סוף ב •

).piggyback(קמח - האפשרות לעכב אישורים כדי לנצל היטב את השק,545באמצע עמוד •

.out of order segments - הטיפול ב,536עמוד ב, 6.5.8סוף ב •

-וזאת כיוון של, בכמה מהמצבים החריגיםTCPמשמעית כיצד מתנהג -ד אינו פוסק חדספר הלימו

TCP במרוצת השנים התווספו כמה אלגוריתמים המשפרים את . מימושים מעט שונים יש מספר

Page 53: סיכום - האונ' הפתוחה

53

כאשר , לכן. דומיננטייםוחלקם הפכו , מבלי לשבור את כלליו העקרוניים, ביצועי הפרוטוקול

יוסבר בגוף השאלה באיזה מנגנונים עושה , הנוגעות במצבים שכאלותידרשו לענות על שאלות

. עליו נשאלתםTCP -שימוש ה

שהוסבר go-back-N -אך הוא גם לא ה, selective-repeat הבסיסי הוא אינו TCP -שימו לב ש

segmentsוב הבסיסי אינו ממהר לשלוח שTCP -המנגנון הפועל ב). Link Layer(בשכבת הערוץ

זה המקום להזכיר שלכל . שלהם פקעtimeout -אלא עושה זאת רק אם ה, כאשר יש חשד שאבדו

segmentכשנגיע לדון בדוגמאות, הנושא יהיה ברור יותר עוד מעט. יש זמן פקיעה משלו.

4 .20 שאלה ◄

?selective-repeat כדי להיקרא TCPהבסיסי של ) flow control(מנגנון בקרת הזרימה מה חסר ב

)62תשובה בעמוד (

דוגמאות להעברת מידע

והמספר הסידורי הפנוי , על גבי קשר שכבר הוקם, host B - לbytes 8 רוצה להעביר host A -נניח ש

אכן host B -נניח ש. 79ר הנושא את המספר לאישוhost Aיצפה , סגמנטאחרי משלוח ה. 71הוא

לאחר פקיעת . אך האישור אבד בדרכו, ל"העבירו ליישום ושלח אישור כנ, קיבל את המידע

. 71תוך שימוש באותו המספר הסידורי , סגמנטהוא יחזור וישלח את אותו ה, host A - בtimeout -ה

host Bאך כן ישלח , ן לא יעבירו לשכבת היישוםולכ, יבחין כי הוא כבר התקבל בעבר, יקבלו שוב

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

זאת אומרת באיזה מספר , ירצה לשדר מידעhost Bבשלב זה היינו יכולים לשאול מה יקרה אם

ונזכיר בקצרה שאין כל קשר בין מספור , נמנע ממנה, כיוון שזו שאלה מטעה. סידורי הוא ישתמש

מנוהל , ובפרט תחום המספרים בשימוש, ההזזה כולו-מנגנון חלונות. ון השניכיוון אחד למספור הכיו

.בצורה נפרדת עבור כל כיוון

Page 54: סיכום - האונ' הפתוחה

54

4 .21 שאלה ◄

עוד bytes 8 שולח אחרי אותם host Aאך הפעם , בו הנתונים דומים, עכשיו נבחן מקרה מורכב יותר

20 bytes79ושל השני הוא , 71 הראשון הוא סגמנטמספרו הסידורי של ה. נוסףסגמנטת באמצעו .

מספרם . ואישר כל אחד מהם בנפרד, לפי הסדרסגמנטים קיבל את שני הhost Bעוד נניח כי

. בהתאמה99 - ו79הוא ) acknowledgments(הסידורי של האישורים

ון בטרם הגיע אפילו אחד הראשסגמנט של הtimeout - אם פקע הhost Aמה יעשה .א

?האישורים

הראשון הגיע רק האישור סגמנטה של timeout - אם טרם פקיעת הhost Aמה יעשה .ב

)acknowledge (99הנושא את המספר , השני?

)63תשובה בעמוד (

, נסביר דוגמה שלישית. מושלםselective-repeat הוא כמעט TCPשאלות אלו מדגימות מדוע

host Bכאשר . אובד) 71( הראשון segment -הרק ש, עכשיו נניח תנאים דומים. שממחישה זאת

קודם . הוא כבר יודע שיש בעיה, )71 במקום 79( עם מספר שונה מהצפוי סגמנטמבחין שהוא קיבל

. מעבירו לשכבת היישוםאך לא מאשר אותו ובודאי לא, 79כל הוא מאחסן אצלו את

במקרה . NAKידי משלוח -על, על הבעיהhost A -הוא היה מודיע מיד ל, אמיתיselective-repeat -ב

מבחין שלא הגיע host Aכאשר . בזמן סבירhost A שיעורר את timeout -הוא סומך על ה, TCPשל

היה סגמנטיםוח בין שני הנניח שמרווח המשל). 71( הראשון סגמנטהוא ישלח שוב את ה, אישור

שכולל בעצם את שני , 99 ישלח אישור host Bעכשיו . והמשלוח החוזר הצליח, גדול יחסית

אזי יחסך משלוח נוסף של , השניtimeout - לפני פקיעת הhost A -אם אישור זה יגיע ל. סגמנטיםה

במהירות רובים אנו משיגים ביצועים ק, שתחת תנאים מסוימיםזאת אומרת ). 79( זה סגמנט

.NAKמשלוח -תוך חסכון באי, selective-repeat -להתגובה

)י סטודנט" עהנשאל( 4 .22 שאלה ◄

האם .אבד בדרךהבית השמיני שנניח . בשני סגמנטים נפרדים, בתים 20 ועוד בתים 8 שולח Aמחשב

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

)63תשובה בעמוד (

Page 55: סיכום - האונ' הפתוחה

55

בקרת עומס

שהם חלק , בעזרת שידורים חוזריםסגמנטיםראינו קודם איך מתמודדים עם אובדן ועיכוב של

סיבת העומס היא יותר מדי מקורות המנסים לשדר מידע בקצב ). sliding windows(מחלונות ההזזה

סעיף זה עוסק . מבוקרים עשויים להחמיר את התופעה- וכמובן ששידורים חוזרים בלתי,גבוה מדי

.בעיכוב שידור של מידעהמסתכמים בסופו של דבר , בפתרונות

.550 עד 547עמודים , 6.5.9קראו סעיף

. ניתן לשלוח מבלי לקבל עליהם אישורbytesהוא למעשה מספר הקובע כמה ) w(רוחב חלון השליחה

wkedLastByteAcntLastByteSe: ומרת שבכל רגע נתון מתקייםא-זאת ≤−

המנוהל על ידי , זה שכבר הכרנו קודם–הוא המינימום בין שני חלונות ) w( ערכו המדויק TCP -ב

ניתן ). congestion window - cw(וחלון נוסף התלוי בעומס בלבד , )receiver window - rw(המקבל

)min,(: להביע זאת בנוסחה rwcww כפרמטר שאחראי cwניתן לראות את תפקידו של , כלומר. =

.במקרה של עומס, )rw(הצד המקבל אל מתחת ליכולת ,על הגבלת כמות המידע המשודר

ואנו נתמקד , יםלצורך זה קיימים מספר אלגוריתמ. cwסעיף עוסק בדרך לקבוע את ערכו של הרוב

כי הוא , מטעה מעטslow-startהכינוי . 549המוסברים באמצע עמוד , threshold - והslow-start -ב

, דווקא ההמשך מהיר מאד. נובע מהעובדה שמתחילים מערך נמוך שמשמעותו שידור ראשון איטי

.threshold -עד שמגיעים לערך ה

ניתן להבין כי בתום שידור ברוחב 6-37מעיון בתרשים ? מה זמן מעדכן השולח את רוחב החלוןכל כ

שימו לב להגדרה . אך אין זה בדיוק כך, בקפיצה גדולה, מעודכן רוחב החלון לערך חדש, מסוים

מוסיפים לרוחב , מוצלח סגמנטשם נאמר כי עבור כל אישור . 549עמוד ראש המקורית של המנגנון ב

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

אנו מתייחסים לגידול המעריכי , וכדי לעשות את הלימוד קל יותר, לצורך התרשים, בכל אופן. חדות

.כאל עובדה קיימת מעתה ואילך

) exponential(חה נחשב למעריכי קצב גידול חלון השלי, threshold -בשלב שעד ההגעה לערך ה

גורם לכך , איטי יחסיתRTTלעומת , קצב שידור מהיר, באופן מעשי. בקירוב גם מבחינת הזמן

סעיף האנא התאפקו עד , RTTכדי לדעת מהו . נקבל רוחב חלון כפול מקודמו, בערךRTTשלאחר כל

.הבא

אין כלל מנגנון בקרת TCP -י ל כיש הטוענים: הערה נוספת למעונינים להעמיק ולחקור בנושא

, וטעייה-הסיבה היא שזהו מנגנון מבוסס ניסוי. אלא מנגנון להתמודדות עם עומס קיים, עומס

אין כאן בכלל מנגנון המודיע במפורש על מצבי עומס . המניח כי כל כשלון שידור נובע מעומס גבוה

).Network Layer(כדוגמת אלו שלמדנו בשכבת הרשת , ודאיים

Page 56: סיכום - האונ' הפתוחה

56

הול השעוןני

והוא שעון השידורים , בעוד נושא חשוב אחדניגע , התמונה בנוגע למדיניות השידורלהשלמת

).retransmission timer(החוזרים

.553 עד 550עמודים , 6.5.10 סעיף אתקראו

אם ערך . )Timeoutסימון ( הזמן הסביר לניסיון שידור חוזרהמטרה היא להעריך בצורה טובה מהו

ומנגנון בקרת העומס יחשוב בטעות כי ארע , יבוצעו שידורים חוזרים מיותרים, זה יהיה קטן מדי

timeout . הערכה לא , בכל מקרה. יעוכבו שידורים חוזרים נחוצים, גדול מדיערך זה יהיה אם

.מדויקת פוגעת בתפוקת הקשר

כלומר הזמן החולף מרגע , וחזור-הלוך רציפה של זמני המדידהוא , האמצעי המיידי להערכת זמן זה

חזור -פרמטר זה משמש להערכת זמן הלוך). Mסימון (משלוח סגמנט ועד לקבלת אישור עבורו

:RTTלחישוב אלגוריתם ב נפתח ).RTTסימון (כלומר לאורך זמן , באופן כללי

MRTTRTT )1( αα −+⋅⇐

בגלל , )M(שאיננו רוצים להשתמש ישירות בערך המדגם א הסיבה הי? RTT -מדוע יש בכלל צורך ב

השיטה . נרצה לחשב מעין ממוצע על מספר ערכים קודמים, לכן. התנודות הרבות שהוא חווה

Nוחישוב מחודש של כל אותם , ערכים אחרוניםNידי החזקת תור של -הישירה לעשות זאת היא על

היינו בוודאי מעניקים יותר משקל , חדשותכדי להסתגל מהר יותר למגמות. ערכים בכל דגימה

היא . בעצם מבצעת שילוב של השנייםבאלגוריתם זהשימו לב שהשיטה . לערכים חדשים יחסית

.וזאת ללא צורך באחזקה המסורבלת של תור כזה, עושה ממוצע המדגיש ערכים חדשים יותר

קיימות בספר שתי גרסאות .אך עושה זאת בצורה לא ישירה, RTT - משתמש בTimeout -חישוב ה

:נתחיל בפשוטה מהשתיים. שונות

RTTTimeout ⋅= β

מעדן את RTTהפרמטר , כלומר. Mהיציבות של -הבעיה בנוסחה זו היא שאין בה ביטוי לרמת חוסר

הלוקחת בחשבון , Timeoutלכן פותחה דרך מתוחכמת יותר לחישוב . ומסתיר אותן, M -התנודות ב

כדי לתפוס , יגדלTimeoutכך ערכו של , ככל שסטיות הערכים תדירות וגדולות יותר. וגם תנודות אל

המבצע ממוצע , נעשה שימוש במנגנון עידון, )Dסימון (כדי לחשב את ערך הסטייה . מרווח בטחון

:שהסברנו קודם, RTT דומה לזה של ,לאורך זמן

( ) MRTTDD −⋅−+⋅⇐ αα 1

DRTTTimeout ⋅+= 4

Page 57: סיכום - האונ' הפתוחה

57

כדי להתכנס . מתייחסת לחישוב ערכי ממוצעים בצעד הראשון, קטנה לקראת השאלה הבאההערה

MRTTנהוג לחשב אחרי המדידה הראשונה , במהירות לערכים מציאותיים ואחרי המדידה , =

MRTTDהשניה −=.

4 .23 שאלה ◄

נתון כי פרמטר . שניות- מילי30 והזמן עד להגעת האישור שנמדד הוא TCP segmentנניח כי נשלח

32, 26: הניחו כי הזמנים שנמדדו בשליחת הסגמנטים הבאים הם. α=9.0 השקלול שנבחר הוא

segmentין זמנים של הניחו כי ניתן להבחין בין זמנים של אישורים חוזרים לב. שניות- מילי24 -ו

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

.Dכאשר אין מתחשבים בסטייה ,RTTיש לחשב את הערכים החדשים של .א

חשבו את הערכים . αעם אותו פרמטר , Dכעת הניחו כי בנוסף מעדכנים את מדד הסטייה .ב

).Timeouts(החדשים של פסיקות הזמן

)64בעמוד תשובה (

Wireless TCP and UDP

המביאות לצורך להשתמש , בסעיף זה תלמדו על הבעיות המיוחדות הנובעות משימוש בקו אלחוטי

, זה גם יכול להבהיר לכם עד כמה גמיש הפרוטוקול. מעט שונה מזה שהכרנו עד כהTCPבפרוטוקול

.ומדוע יש צורך בגמישות זו

.555 עד 553 עמודים, 6.5.11 סעיף אתאו קר

Transactional TCP

.TCP -ובהצגת נושאים חדישים הנוגעים ל, ערכו העיקרי של הסעיף הוא בדיון מחודש בניהול הקשר

.556 - ו555 עמודים, 6.5.12 סעיף אתקראו

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

Page 58: סיכום - האונ' הפתוחה

58

תשובות .4.7

4 .1 תשובה

CONNECT שייך במובהק ללקוח )client ( בעודLISTEN שייך לשרת )server .(SENDו - RECEIVE

לגבי . ולכן אינם מזוהים עם אחד מהם יותר מאשר השני, משרתים לרוב את שני הצדדים

DICONNECT ,הקשר -אך תלויה בסוג ניתוק, התמונה לרוב דומה)disconnect ( בפרוטוקול

.485כפי שמוסבר בתחתית עמוד , המסוים

4 .2 תשובה

הוא , בספר הלימוד6-3 תרשיםהבא לידי ביטוי ב, אחד העקרונות של מודל השכבות. בהחלט לא

שכבת , כלומר. תום המועמס על משאיתכאילו היה ארגז ח, packet payload מוכל בתוך TPDU -שה

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

4 .3 תשובה

כי אחרת לא היה שום צורך , duplexזו בהחלט עדות לכך שהפרוטוקול הוא . ההגיון אומר שכן

היוצא מן . שקול לניתוק הקשר כולו, שהוא גם היחיד, ניתוק כיוון אחד. מטריתבשיטת ניתוק סי

שאינו נוקט בשיטה , בפסקה השלישית514כמפורט בעמוד , הכלל הוא דווקא פרוטוקול הדוגמה

.נחזור לכך בהמשך. הגיונית אלא מטרתו להדגים רעיון

4 .4 תשובה

מספר . הנבחרport -היא זו בה מבקש היישום להיות זה המאזין ל" b=bind "-השורה הנפתחת ב

. כמה שורות לפני כןport -בו נקבע מספר ה, channel מועבר באמצעות המבנה port -ה

4 .5 תשובה

למעשה אין לנו כמובן רצון להגביל ". ור מידע מהיר מדיקצב שיד"את הבעיה שהוצגה ניתן לכנות

אם אנו צופים . מספור הקשרים החדשיםהאיץ אתאז מה שיש לעשות הוא ל, את קצב השידור

. לפחות10השעון צריך לרוץ בקצב מהיר פי אזי , תוך שנייה אחתTPDUs 10אפשרות למשלוח

Page 59: סיכום - האונ' הפתוחה

59

4 .6 תשובה

מה שמכונה , קצב שידור איטי מדי דורש סנכרון מחודש של מנגנון המספור עם קשר שכבר פתוח

). באמצע496עמוד " (resynchronize the sequence numbers"בספר

t=0המקרה בו הבעיה צצה במהירות הגדולה ביותר הוא כאשר נפתח קשר בזמן .א

שלאחר שהמונה כמעט ישלים סיבוב נניח . ואחר כך לא משודר דבר, שניות

)overflow( , ישודרTPDUלאחר , עכשיו. 0שיקבל את המספר , ראשון של מידע

של TPDUבו יישלח מיידית , וייפתח אחד חדש, ייסגר הקשר הזה, השלמת הסיבוב

.וזו בדיוק התקלה, גם כן0 חדש זה יקבל את המספר TPDU -כמובן ש. מידע

-יש לחשב קודם, 0 הראשון עם מספר TPDU - לשדר את הכדי לדעת מתי כבר אסור

מאגר הסיביות מאפשר לספור . כל כמה זמן ייקח למונה להשלים סיבוב מלא

נקבל בסך , mSec 100כיוון שהמרווח בין הפעימות הוא . פעימות של השעון32768=215

packetעכשיו יש להחסיר מזמן זה את אורך חיי . 100m=3276.8 Sec*32768הכל

ולכן נקבל , delayed duplicate -כי אחרת הוא עדיין יכול לצוץ לפתע כ, הרשת-בתת

.Sec .83216=60-.83276לבסוף

השעון מתקדם בקצב של . האם קצב השידור אכן נמוך מדי, נתחיל בבדיקה בסיסית .ב

. בשנייה3=180/60ואילו השידורים מתבצעים בקצב של , פעימות בשנייה10

.3x שמספרו TPDU משודר xבזמן : TPDU - למספור הנתייחס קודם כל

.10x יתחיל מהמספר xקצב פעימות השעון מבטיח כי קשר חדש שיווצר בזמן

. הרשת- בתתpacketפחות אורך חיי , בסיבוב שלם3x ישיג את 10xהשאלה היא מתי

0ואינו ממתין בערך , מתקדםTPDU -אך הפעם גם מספור ה, זה דומה לסעיף הקודם

.עד לסגירת הסיבוב

ולכן ניתן לבנות , שימו לב שמבחינה חישובית אנו מחפשים את הפער בין השניים

לצורך . משוואה שאינה לוקחת בחשבון את התאפסות המספור לאחר השלמת הסיבוב

ומכאן נובע 3x=10(x-3216.8): החישוב נוכל גם להיעזר בתוצאה של הסעיף הקודם

.ולכן יש לבצע סנכרון מחדש, ה להיווצר בעיה שניות בערך עשוי4595שלאחר

4 .7 תשובה

הדרך להתגבר עליו היא . כמו כל אובדן מידע האפשרי בכל שכבה, אובדן קשר הוא תופעה סבירה

כל יישום . בשנית) או חלקו(ושידור המידע כולו , כלומר הקמת קשר חדש, באמצעות שידור נוסף

, העברת מידע כפול. ולהיערך לנפילת הקשר, המשתמש בשרות מקושר חייב לקחת זאת בחשבון

השרות המקושר , לכן. ובמיוחד קשה להתאושש ממנה, זו תופעה שליישום קשה לגלות, לעומת זאת

.בשכבת התובלה נדרש לעמוד בדרישה שלא להעביר מידע כפול

Page 60: סיכום - האונ' הפתוחה

60

4 .8 תשובה

כאשר מתבצע . למדתם על תקשורת בין שני התקנים סמוכים) data link layer(בשכבת הערוץ

. בדרכן אל היעד, המנות מקפצות בין כמה תחנות, שמעליה) network layer (משלוח בשכבת הרשת

קורס הקודםמדתם במה של. המחברים בין המקור והיעד,)routers (מדובר לרוב בכמה נתבים

, אבל. כמו למשל בין מחשב מארח לנתב הקרוב אליו, רלוונטי לכל חיבור בין שני התקנים סמוכים

תופעה . זהות לחלוטין במחשב היעד) packets(נפילה או תקלה בנתב יכולה לגרום להופעת שתי מנות

.ת התובלהעל זה מנסה להתגבר תומלינסון בשכבו, זו לא יכולה להימנע בשכבת הערוץ

4 .9 תשובה

של TPDU -בדומה ל, עם מספר הנמצא בתחום המספרים המותריםTPDUבקשת הניתוק היא

ניתן יהיה להבחין בכך , delayed duplicate - שמקורו בDRאם יגיע . מידע העובר לאחר הקמת הקשר

.ולהתעלם ממנו, שלועדכני-בקלות לפי המספר הלא

4 .10 תשובה

, שולחו. אובד) ACK -הלחיצה השלישית (מצב ראשון שכזה הוא כמובן המקרה בו האישור האחרון

.ופשוט מנתק את הקשר, אינו ממתין יותר, אומרת יוזם הניתוק-זאת

ולאחר זמן מה נאלץ שולחו לוותר , וכן כל שידור חוזר שלו, אובדDR -מקרה שני הוא כאשר אחד ה

.צדדי-ולנתק באופן חד

4 .11 תשובה

. עיקרייםיתרונותשני יש ) buffers(לריבוי חוצצים

ו ואפיל, שלא לפי הסדרTPDUוהוא מתייחס לאפשרות לקבל , הראשון נלמד בקורס הקודם

.תזכורת ניתן למצוא בחומר הקשור בשכבת הערוץ. selective repeat -להשתמש ב

כיוון שייתכן שהיישום בצד המקבל לא . קשור בשיקולי יעילות, עליו מושם דגש בפרק זה, יתרון שני

.לא כדאי לטרוח ולשלוח יותר מידע ממה שכרגע יכול המקבל לקלוט, יפנה את החוצצים בקצב רצוי

.והבטחת המקבל שלא להשליך את המידע המשודר, צצים מאפשר משלוח כזהריבוי חו

חשוב להזכיר שמנגנון האישורים בצד המקבל אינו זקוק לחוצצים נוספים אלו כדי לממש אישורים

התקין האחרון TPDU -הזוכר מהו ה, כיוון שזאת ניתן לעשות באמצעות מונה פשוט, מצטברים

.שהתקבל

Page 61: סיכום - האונ' הפתוחה

61

4 .12 תשובה

S :1 ,2 ,6 ,7 ,8.

C :3 ,4 ,5 ,9.

N :5-6 ,8-9.

4 .13 תשובה

.כל קרדיט מאפשר משלוח אחד, כלומר. האפשרות השניה

4 .14 תשובה

את מספר הבתים receiveמצביע למקום בו תחזיר הפונקציה אלא , שיישלחו לא מספר הבתים זהו

.bufferואוחסנו בתוך , שהגיעו

4 .15 תשובה

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

וכן בספרות TCPבמפרט של . הקמתוואופן , בשכבת התובלה המקושרת התמקדנו בקשר עצמו

.זה בהקשר server - וclientנעשה שימוש רב במונחים , הרלוונטית

כל יישומי כמו , לקוח-הפועלים במודל שרת) applications(המונח מתייחס ליישומים , בסעיף זה

TCP/IP) DNS ,WWW ,כלומר יש יישום . ברמת היישוםהוא לקוח -מודל שרתכאן . )דואל ועוד

.והוא הלקוח, ויש יישום השולח אותן אליו, והוא השרת, המקבל פניות

UDP -ולקבל תשובה ב, המכיל בקשהUDP סגמנט יכול לקוח לשלוחבו, DNSבהמשך תלמדו על

לקוח בשכבת -המיישם מודל שרת, זהו אופן הפעולה הנורמלי. לאותו פורט ממנו שלח את הבקשה

.היישום

Page 62: סיכום - האונ' הפתוחה

62

4 .16 תשובה

.אך זה לא בדיוק הקשר בין השניים, העובדות המספריות נכונות

העניין . בתים65515בנפח מקסימלי של ) payload( ניתן להעמיס על מנה אחת מידע IPבפרוטוקול

יכולת שכבת לפי , בהרבהמנות קטנותאלא הוא שולח , אינו נוהג להגיע לחסם עליון זהIP -הוא ש

.הערוץ שתחתיו

) כולל הכותרת(אים את גודל הסגמנט שלו ומנסה להת, IPעושה שימוש בפרוטוקול TCPפרוטוקול

.כלומר מניעה של פיצול מידע בשכבת הרשת, השיקול הוא יעילות. IPלגודל המנה של

השייך לשכבת , TCPפרוטוקול כי , מה שלמדנו על מודל השכבותניתן לראות כאן סתירה מסוימת ל

הנמצאת שתי קומות , ) למשלEthernetרשת כמו (שכבת הערוץ מתחשב בפרמטרים של , התובלה

.מתחתיו

4 .17 תשובה

ראו דוגמה מספרית .עליהם נלמד יותר בשכבת היישום, ו המצב הנורמלי בשרתים השוניםוזה, כן

.מיד אחרי השאלה

4 .18 תשובה

. המגדירים את הקשרsockets - ביעד היא לזהות את זוג הtransport entity -משימתו של ה

. של המקור והיעדports -וכן את ה, של המקור והיעדIP -כדי לבצע זאת עליו לזהות את כתובות ה

.בשדות בעל שמות אלו, TCP - וIPמידע זה נמצא בכותרות של

4 .19 תשובה

.משמעי בספר-זהו פשוט ניסוח דו

כי יש לבסס את המספר , כלומר לא בהכרח מתחילים מאפס, " אפססתםלא "הכוונה היא שהוא

אבל ברור . שלמדנו מתומלינסוןכפי , )שזה כמו שעון, או מנגנון אקראי(הראשוני בקשר על שעון

.כמו כל מספר אחר, שהמספר אפס הוא חוקי

4 .20 תשובה

segmentsהמציין איזה , )NAK) negative acknowledge - אמיתי נעשה שימוש בselective-repeat -ב

.רטים נוספים לפ1996 משנת RFC 2018ראו . חסרים בצד המקבל

Page 63: סיכום - האונ' הפתוחה

63

4 .21 תשובה

הראשון גוררת שידור timeout -פקיעת ה, שודרו בהפרש זמניםסגמנטיםכיוון ששני ה .א

. הראשון בלבדסגמנטמחדש של ה

ולכן הושלם תהליך שידור , השני הוא למעשה גם אישור של הראשוןסגמנטאישור ה .ב

.אובדן של האישור הראשון/ות העיכובלמר, רגיל

4 .22 תשובה

.לא ולא

ומכאן שאין תחנות בדרך המפרקות לו את הסגמנטים באופן , לקצה- הוא מסוג קצהTCPפרוטוקול

בגודלם , קולט שני סגמנטים שלמיםTCPהצד המקבל ברמת , כלומר. שהוא מודע או מרגיש בו

הצד ,לכן . שהוא מעבירpayload - מדווח על גודל הIPכי , TCP -גודל הסגמנט ידוע ל. המקורי

.ולא שבעה, המקבל יודע שאמורים להגיע שמונה בתים

אפילו . כלל לא מנסה לתקן או להתחכם כאשר נדמה כי סגמנט פגוםTCPפרוטוקול העניין הוא ש

המקרה המתואר לא היה מצליח לעבור את מבחן שהרי , אם נתעלם מעניין גודל הסגמנט

.החישוב היה נותן תוצאה שונה, ללא הבית השמיני. checksum -ה

מנגנון האישורים . מכאן נובע שלא ייתכן מצב בו חלק מהבתים של סגמנט מקבלים אישור

.אך לא עוסק בבתים פגועים באופן פרטני, הסלקטיבי עוסק בסגמנטים פגועים

Page 64: סיכום - האונ' הפתוחה

64

4 .23 תשובה

mSecM -בשלב ראשון אנו מתחילים מ .א mSecRTTולכן גם , =30 30=.

mSecMכאשר מתקבלת תוצאת המדידה של : מתבצע עדכון, =26

mSecRTT 6.29261.0309.0 mSecMהסגמנט הבא מאושר לאחר . =⋅+⋅= ולכן , =32

mSecRTT: מתבצע שוב עדכון 84.29321.06.299.0 העדכון האחרון שיבוצע . =⋅+⋅=

mSecRTTייתן את הערך 256.29241.084.299.0 =⋅+⋅=.

. כי אלו אותם ערכים מהסעיף הקודם, פעם נוספתRTTשימו לב שאין צורך לחשב כלל את .ב

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

mSecM -אנו מתחילים מבשלב ראשון mSecRTTולכן גם , =30 30=.

mSecMכאשר מתקבלת תוצאת המדידה של : מתבצע עדכון, =26

mSecRTT 6.29261.0309.0 =⋅+⋅=

6.3266.29 =−=D

mSecTimeout 446.346.29 =⋅+=

mSecMכאשר נמדד הערך הבא :וצעו העדכוניםיב, =32

mSecRTT 84.29321.06.299.0 =⋅+⋅=

D = ⋅ + − =0 9 36 0129 84 32 3456. . . . .

mSecTimeout 664.43456.3484.29 =⋅+=

mSecMכאשר נמדד הערך : יחושב פרק הזמן לשידור חוזר כך, =24

mSecRTT 256.29241.084.299.0 =⋅+⋅=

D = ⋅ + − =0 9 3456 0129 256 24 3636. . . . .

mSecTimeout 8.43636.34256.29 =⋅+=

Page 65: סיכום - האונ' הפתוחה

65

DNS - 5 פרק

היא שכבת היישום , ועכשיו אנחנו עוברים לדובדבן שבקצפת, עם שכבת התובלהסיימנו

)Application Layer .(ותפקידה בקורס שלנו, נפתח בהסבר כללי עליה.

.579בעמוד , 7קראו את שתי הפסקות הראשונות של פרק

מהי שכבת היישום .5.1

עד כדי כך שאדם אחד יכול , ישים מאדחלקם חד, המכילה הרבה מאד נושאי משנה, זו שכבה עבה

תמיד היו חלק פיקנטי ) network applications(יישומי הרשת . רק לשאוף להבין חלק קטן מהם

.והם מהווים את ההצדקה לקיומה של התשתית שלמדתם עד שלב זה, בתקשורת מחשבים

שלא הצדיקה התעניינות , כבה אחת ככל השכבותזו הייתה ש, לפי מודל שבע השכבות המיושן

שהשקיעו , שכבה זו משכה התעניינות רבה של אנשים בעלי דמיון פורה, בשנים שחלפו. מיוחדת בה

כיום ניתן לקבוע כי רוב מוחץ של חברות הטכנולוגיה . ממרצם ופיתחו מספר עצום של יישומי רשת

.החדשות עוסק בפיתוח יישומים הקשורים בשכבה זו

, )email(דואל , Web -ה: שחלקם בודאי מוכרים לכם, נמנה כמה יישומים, כדי לסבר את האוזן

, )network management(ניהול רשת , )video conferencing(ועידת וידאו , )ICQכמו (מסרים מיידיים

.ועוד, )remote control(שליטה מרחוק

כי הוא נמצא בדיוק היכן ששכבת , למדיבמודל השכבות הגבול התחתון של שכבת היישום ברור

בפרק הבא במדריך הלמידה אנו . לא לגמרי ברור, לעומת זאת, הגבול העליון. התובלה מסתיימת

.נדון בנושא זה בהרחבה

העושה שרות גם עבור , כדוגמה לפרוטוקול יישום שלם ושימושיDNSאנו פותחים בלימוד פרוטוקול

.מד בהמשךפרוטוקולי יישום אחרים אותם נל

DNSה זה מ .5.2

DNS זהו קיצור של Domain Name System , מערכת תרגום שמות מחשבים היא)hosts ( לכתובות

.)IP addresses(רשת

, שלהם) IP address (כתובת הרשתבאמצעות ) hosts(מחשבים מארחים ברשת האינטרנט מגדירים

כך ניתן להגיע בקלות לאתר של . hostnameהנקרא , שםת אליהם באמצעות אך נוח וטבעי יותר לפנו

Page 66: סיכום - האונ' הפתוחה

66

CNN ,תוך ניחוש שהוא נמצא ב- hostname כמו www.cnn.com .נוכל לשלוח דואל , באופן דומה

)email (לכתובת כמו , לאמנון בקלות יחסית[email protected] .3פרק כפי שלמדנו ב -

קל להצדיק . בלבדIPפועלים באמצעות כתובות ) routers(הנתבים , שכבת הרשת ברשת האינטרנט

.ולו רק בגלל שעיבוד שמות הוא איטי מאד בהשוואה לעיבוד של מספרים קצרים, גישה זו

:מו לב לעובדות הבאותשי, לסיכום הנאמר כאן

יש כתובת רשמית ייחודית הנקראת ) Internet server(לשרתים ברחבי האינטרנט •

IP address . בפרוטוקולIPv4 סיביות 32 אלו הן כתובות באורך )bits( , ובגרסה העתידית

IPv6 סיביות128 אורכן הוא .

Emailביישומים כמו , כלומר). client/server(לקוח / פועלים בשיטת שרתTCP/IPיישומי •

).server(יוצר קשר ראשוני עם השרת ) client( הלקוח WWW -ו

אנו לרוב משתמשים בשמות , כדי להקל על אנשים לזכור כתובות של שרתי אינטרנט •

).IP addresses (רשתולא בכתובות ) hostnames(שרתים

כפי .בלבד) host name (שמותוך ידיעת , מידע לשרת אינטרנט שולחת אינהשכבת התובלה •

צריכה לספק , השולחת מידעשכבת היישום , במדריך זה 4.6 -ו 4.5 שלמדנו בסעיפים

. של היעדport - וIP תלפרוטוקולים אלו כתוב

שרתים שמותמספקים ליישומים , כמשתמשי מחשב, ובע כי למרות שאנומעובדות אלו נ

)hostnames( ,החוליה . ככתובת יעד, היישומים אינם יכולים להעבירם ישירות לשכבת התובלה

.ות המתאימ)IP addresses(כתובות הרשת ליישומים את תספקמה ,DNSמערכת החסרה היא

אינכם צריכים . מדריך הלמידה יילמד בשלמותו מהנושאלכן ו, ומיושןהסעיף בספר מעט קצר

ת פיו פועל- המקורי עלRFC -הוא ה DNSאודות מקור טוב נוסף . בספר7.1לקרוא את סעיף

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

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

אותם תוכלו למצוא למשל , 1035 - ו1034 מספר RFC -מדובר ב. להבין מהמדריך

.http://www.rfc-editor.org -ב

Page 67: סיכום - האונ' הפתוחה

67

DNS -דוגמאות לשימוש ב .5.3

. מהמוכרים לכםשנייםבסעיף זה נדגים . DNS -יישומים רבים עושים שימוש ב

Microsoft Outlook -קביעת תצורה של דואל ב 5 -1תרשים

. עליו תלמדו יותר בהמשך, )email( עבור דואל DNS ניתן לראות את אחד משימושי 5 -1תרשים ב

המשתמש הביתי . מקבל דואלבמסך זה מציין המשתמש את שמות השרתים באמצעותם הוא שולח ו

, IPניתן באופן תיאורטי להזין בשדות אלו כתובות ). ISP(מקבל שמות אלו מספק האינטרנט שלו

אחד היתרונות , במקרה זה. אך ספקי האינטרנט מעדיפים לספק שמות, במקום השמות הקריאים

מבלי לדרוש , ותר בזמן מאוחר יIP -להחליף את כתובת השל השימוש בשם הוא היכולת של הספק

לכל , הוא שמפעיל השרתים יכול להפעיל כמה מחשבים, יתרון נוסף. עדכון כלשהו אצל הלקוחות

.והם יחלקו ביניהם את העבודה, שלכולם יהיה אותו שם, אחרתIPאחד כתובת

כאשר , כלומר. הוא בהפניית המכתבים עצמם ליעדם הסופי במערכת הדואלDNSשימוש נוסף של

מערכת הדואל אחראית להעברת המכתב , [email protected]כתב לכתובת כמו שולחים מ

, DNSגם כאן נכנס לפעולה . yahoo.comכלומר לשרת המטפל בדואל של , לשרת בו יש לאחסנו

. של שרת זהIP -המשרת את מערכת הדואל ומציין מהי כתובת ה

Page 68: סיכום - האונ' הפתוחה

68

Web -בעת גלישה ב, שורת הכתובת בדפדפן 5 -2תרשים

שם מכניס המשתמש , Web -בעת גלישה ב). browser ( מובאת שורת הכתובת בדפדפן5 -2תרשים ב

כדי לתרגם את השם לכתובת DNS -פן עצמו נעזר בהדפד. את כתובת האתר אליו הוא רוצה להגיע

IP ,גם הפעם ניתן לקבל רשימה של כתובות . וליצור קשר עם האתרIPמה , שונות עבור אותו השם

.שמסייע לבעלי אתרים לחלק עומס בין כמה שרתים מרוחקים

5 .1 שאלה ◄

היא מהירה ) http://127.34.87.1כמו (IPאם פניה לאתר באמצעות כתובת ה, Web -בעת גלישה ב

?)http://www.site.comכמו (יותר מפניה באמצעות שם

)79תשובה בעמוד (

ממה בנויה המערכת .5.4

הפועל בגישת , )distributed database(הוא בסיס נתונים מבוזר ) Domain Name System) DNS -ה

כמו , גם את רכיבי המערכתDNSרבים נוהגים לכנות , בשפה המדוברת). client/server(לקוח /שרת

, אנו נקפיד להשתמש במינוחים מדויקים לכל אחד מהרכיבים. הפרוטוקול והשאילתות, השרתים

. נשמור עבור המערכת השלמהDNSהכינוי ואת

:בקיצור, קרייםרשימת המרכיבים העי

כדי להשיג . name serverבמערכת מגלמים תהליכים בשם ) server(את החלק של השרת •

המנגנון עושה שימוש אינטנסיבי בשכפול , וביצועים טובים) robustness(עמידות גבוהה

)replication (זיכרון מטמון ו)caching(.פיע בהמשך מו, הסבר מפורט אודות שרתים אלו

.5.8 בסעיף

בהן עושים שימוש , אלו הן לרוב שגרות ספריה. resolversמגולם בידי ) client(חלק הלקוח •

שגרות . ועוד, תוכנת הדואל, )browser(כמו הדפדפן , היישומים הפועלים ברשת האינטרנט

המוגדר במחשב name server -ל, ושולחות אותן ברשת DNSאילתות יוצרות שאלו

.המקומי

Page 69: סיכום - האונ' הפתוחה

69

אחראי על הוא . ICANNהנקרא , ניהול הקצאת השמות נמצא בידי ארגון ללא מטרת רווח •

. אופן ביזור בסיס הנתוניםו, הסדר העולמי של השמות

Domain Name Space – מרחב השמות .5.5

שורה (כל שם . מכיל שורות של נתונים אודות שמות ייחודייםDNSל בסיס הנתונים המבוזר ש

השמותהמכונה מרחב, 5 -3תרשים בהמודגם , בעץ ההפוךהוא למעשה מסלול ) בבסיס הנתונים

)domain name space .(כיוון שבעץ המלא ניתן למצוא כ, כמובן שהתרשים הזה הוא רק דוגמה-

)./http://www.isc.org/dsראו סקר עדכני באתר (2003נכון לינואר , מיליון מחשבים בעלי שמות171

מקביל DNSשורש העץ של . Windowsמבנה העץ מזכיר את מערכת הקבצים במערכת ההפעלה

למשל ( מקביל לשם ספריה בכונן זה DNS -ושם של מחשב ב, ):Cלמשל (לכונן כלשהו במחשב

documents\openu\work.(

)עץ הפוך (מרחב השמותעקרוני של מבנה 5 -3תרשים

Domain

. שורש העץ ריק. 5 -3תרשים עץ בהמתואר כ, )domain name space(נסביר יותר על מרחב השמות

) לא בהתחלה(ספרות , ) גדולות או קטנותA-Z( מאותיות תהמורכב, )label(תווית בעץ יש כל צומתל

).רק באמצע(וסימן מינוס

Page 70: סיכום - האונ' הפתוחה

70

הוא שם הצומת ) domain) domain name -שמו של ה. עץ של מרחב השמות- הוא תתdomain -ה

.העץ-שבראש תת

כאשר בין כל זוג תוויות מפריד סימן , מלמטה לכיוון השורש, צומת הוא רצף כל התוויותשם

שם השייכת לצומת בעל ה, openuם ניתן לראות תווית בש5 -3תרשים בחלק הימני ב, לדוגמה.נקודה

www.openu.ac.ilשמות לצמתים תחתיו יש , באופן דומה. openu.ac.il, המוכר לכם

.telem.openu.ac.il -ו

בעלי , כלומר( שכל שני צמתים אחים DNSדורש , יהיו ייחודייםdomains -כל הכדי להבטיח ש

במערכת הקבצים של לכללי השמותדומה התנהגות זו . תוויות שונותויישא) ישיר משותף-הורה

Windowsו - UNIX.

5 .2 שאלה ◄

a.aaa.com ,b.aaa.com: רק שלושה מחשביםDNSנניח שכרגע מוגדרים במרחב השמות של

?a.com - וa.bbb.com ,b.a.com: האם ניתן להגדיר גם את השמות הבאים. b.bbb.com -ו

)79תשובה בעמוד (

ac.ilבשם domain -ה 5 -4תרשים

לפי שם צומת השורש של ששמו נקבע , ac.il התחום בעיגול domain - ניתן לראות את ה5 -4תרשים ב

ac.ilאך העיגול תוחם את כל מה שניתן למצוא תחת , אמנם התרשים לא יכול להדגים זאת. העץ-תת

.ac.ilוגם בכל עץ עתידי בו יתווספו שמות תחת , בעץ המלא הנוכחי

openu.ac.ilכמו , domain הוא ilגם . הקיימים בוdomains -כל הכמובן שבתרשים לא סומנו בעיגול

, שוניםdomains - שייך לdomainכל , כלומר. שכרגע אין לו בנים כלל, telem.openu.ac.ilואפילו

.המופרדות בנקודה, שיש בשמוכמספר התוויות

Page 71: סיכום - האונ' הפתוחה

71

5 .3 שאלה ◄

? שוניםdomains יהיה חבר בשני domain -האם ייתכן ש

)79תשובה בעמוד (

Hosts –מחשבים מארחים

כלומר המחשבים , ועכשיו הגענו לסיבה עבורה קיימת המערכת, הסברנו על המבנה והמונחים

כלומר , ידי צמתים בעץ- מיוצגים עלhosts -ה? היכן הם נמצאים במרחב השמות). hosts(המארחים

domain names . יצג מישם רק כדאי לשים לב שלא כלhost , כי לעתים הוא מייצג רקdomain , הפניה

.IPסתם אין מאחוריו כרגע כתובת שאו , שם אחרל

. DNSהם בסך הכל אינדקסים בבסיס הנתונים המבוזר של , hostsולכן גם , domain names -זכרו ש

ביניהם ולעתים קרובות יש , domain -השייכים ל שמות שיש להםhosts - כלולים כל הdomainבתוך

יכול להיות מצב בו , מצד שני. קרבה גיאוגרפיתכמו שייכות לארגון מסוים או, כלשהוקשר לוגי

מפוזרים בארצות שונות ושייכים לחברות פרטיות , domainהשייכים לאותו , שוניםhostsעשרה

.שאין ביניהן קשר

ם הש. domainאלא הוא רק שם , host אינו מייצג openu.ac.ilהשם , 5 -4תרשים מתוך , כדוגמה

www.openu.ac.il מכיל הפניה ל- host אחר בשם www28.openu.ac.il . השםtelem.openu.ac.il

, אלא רק מניסיון לחקור את השמות, לא ניתן ללמוד מהתרשיםעובדות אלו . באופן ישירhostמייצג

.resolver -ן דומה לפעולתו של הבאופ

היררכית השמותניהול .5.6

ללא מטרות , זהו ארגון גלובלי. ICANN הוא DNSהארגון העולמי האחראי על , 2000החל משנת

המחליף בהדרגה ארגונים ממשלתיים אמריקאיים בכל סוגיות האינטרנט הדורשות תיאום , רווח

.עולמי

Page 72: סיכום - האונ' הפתוחה

72

TLD – Top Level Domains

TLDהוא , הדורש ארגון מדויק ואחראי, הנושא החם ביותר, DNSבהקשר של

)Top Level Domain( , שזהו הכינוי של כלdomainלדוגמה. המכיל תווית אחת בלבד ,com ,orgו -

edu הותיקים או bizו - infoאך , בעבר שימשו סיומות אלו בעיקר ארגונים אמריקאיים. החדשים

.חרים קונים לעצמם סיומות כאלוכיום גם ארגונים א

ccTLDלעומת , )gTLD) Generic Top Level Domainל מכונה " הנTLD -סוג ה, ליתר דיוק

)Country Code Top Level Domain( ,המוקצות למדינות העולם, שזו רשימה ארוכה של סיומות .

לנהל את השמות תחת הסיומת ) http://www.isoc.org.il(בישראל מונה ארגון האינטרנט הישראלי

il ,מה שכולל קביעת כללים להקצאת שמות ומכירה שלהם.

משמעות ההיררכיה

ולחלוקת האחריות על , DNSהנתונים של -קשור ישירות למבנה בסיס) domain name(צומת בעץ שם

. המשתלבים יחדיוDNSאלו הם כמה היבטים של . הסיומות

בהכרח אך אינו , cnn.comחייב לדעת מהי הכתובת של . comגוף המנהל את הסיומת ה, לדוגמה

, לכן. cnn מעבר לנקודה המקדימה את השם כלומר, רמה אחת מתחתמה שמתנהל בכל אחראי על

מישהותקבלו כתשובה הפניה לייתכן ו, www.cnn.comי כתובתו של אם תפנו אליו בבקשה לדעת מה

ני הנקודה עשויים לתחום את גבולות בסיס מכאן ניתן לראות כיצד סימ. cnn.comהמנהל את , אחר

.הנתונים והאחריות

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

telem.openu.ac.il מלמד כי מדובר באתר של גוף ישראלי )il( , אקדמאי)ac .(שתי סיומות , דרך אגב

לא ניתן לרכוש , לפי כלליו. ארגון האינטרנט הישראלי, ידי אותו גוף שהזכרנו קודם-מנוהלות עלאלו

אומר telem -ו, מרמזת כי זו האוניברסיטה הפתוחהopenuהתווית . סתם כךac.ilשם תחת הסיומת

מה מהשם -כמובן שלא תמיד ניתן להסיק דבר. השייך לאוניברסיטה, כי זהו פרויקט בשם תלם

יצירת שמות – DNS בשבילו הומצא ןפשוט כי זה העיקרו, אך לרוב ניתן ללמוד רבות, לאהמ

.הגיוניים וקליטים

domainקניית

התשלום הוא עבור שם המופיע מיד תחת אחת הסיומות ? domainמה המשמעות של קניית

לשלם עבור זאת אומרת עליכם. לפי סוג הסיומת, שהן תמיד בנות מילה אחת או שתיים, המוכרות

mycompany.com או mycompany.co.il ,אינכם צריכים לשלם עבור השם , מצד שני. בנפרדwww

. שרכשתםdomain -המייצג שרת כלשהו ב

Page 73: סיכום - האונ' הפתוחה

73

האצלת סמכויות .5.7

. הוא מפוזר ברחבי האינטרנט, פיסיתמבחינה . בסיס הנתונים הוא עץ ענק, 5 -3תרשים בכפי שראינו

ל "המנכ. באופן המזכיר פעולת ארגון מסחרי, )delegation (האצלת סמכויות בזכות, מבוזרניהולו

אלו לרוב ). מנהלים בכירים(אך לטובת החברה הוא מאציל סמכויות לכפופים לו , אחראי על הכל

.וכך הלאה, מאצילים סמכויות לדרג ביניים

גוף זה . mit.edu שקיבל לידיו את האחריות לניהול MIT -ניתן לראות כי קיים גוף ב 5 -5תרשים ב

) כלומר השמות תחתיו(ולמסור את ניהולו , cs.mit.eduכמו , שמות נוספיםmit.eduיכול ליצור תחת

ולא את הכל להאציל על , זכרו שגם בחברה יכול מנהל להשאיר לעצמו מעט עבודה. לגוף אחר

ולא רק , שלוsubdomains לטפל גם בכמה domainאחראי על מאפשר לDNSכך גם . אחרים

. על נמוכים ממנו בהיררכיהsubdomainsלהאציל

(root)

edu com il

uclansumit

www webmitsloan

subdomainsדוגמה לחלוקת 5 -5תרשים

Name Servers –שרתי השמות .5.8

שרתי שמותנקראות , או מסייעות באיתור שמות/התוכנות המאחסנות מידע לגבי מרחב השמות ו

)name servers.(י השרתים מתחלקים לשלושה ניתן לומר כ, ולא תמיד מדויק, באופן מציאותי

local name servers ,root name servers: עליהם נסביר מיד, סוגים עיקריים

.authoritative name servers -ו

Page 74: סיכום - האונ' הפתוחה

74

Zoneמהו

והוא zoneחלק זה נקרא . יש מידע שלם לגבי חלק מסוים במרחב השמותלשרת שמות, באופן כללי

וכן כל בניו של , מעליו בעץdomain - משרת השמות שהואצלו אל domains -מוגדר כאוסף כל ה

. שבחר לא להאציל לאחריםשרת השמות

:domain - וzoneשימו לב ליחס בין

• zone תמיד מוכל בתוךdomain.

• domain מכיל תמיד zoneיכול להכיל ו, אחד לפחותzonesרבים .

.שאחד מהם מודגש בתרשים, zones המכיל כמה domain - מובאת דוגמה ל5 -6תרשים ב

domain -ל zoneהדגמת היחס בין 5 -6תרשים

איך שרת שמות עונה לשאילתה

כל האפשרויות לפיהן שרת שמות אך נפתח בהצגה של , אמנם קיימים כמה סוגים של שרתי שמות

לפי סדר המבטא האפשרויות מסודרות. של שם כלשהוIPהמבקשת לדעת כתובת , עונה לשאילתה

:את האלגוריתם לפיו מחליט השרת על התשובה

zone -כי השם עליו הוא נשאל נמצא ב, שרת השמות מוסמך לענות על השאילתה בעצמו .1

). בהמשךauthoritative name serverראו הגדרת (שלו

.בעקבות בירור קודם, )cache(התשובה העדכנית נמצאת אצלו בזיכרון מטמון .2

אליו , מפנה לשרת שמות אחראצל שרתי שמות אחרים או , ממשיך בבירור בעצמוהוא .3

.צריך שולח השאילתה המקורית לשלוח שאילתה חדשה

Page 75: סיכום - האונ' הפתוחה

75

הכוונה היא ששרת ). recursive query(שאילתה רקורסיבית האפשרות האחרונה קשורה במונח

לעומתה קיימת . כתשובה סופית בלבד, של שם נתוןIPהשמות מקבל בקשה מפורשת לספק כתובת

. בה שולח השאילתה המקורית הוא זה שממשיך בבירור, )iterative query (שאילתה איטרטיבית

ואז , שאינם מוכנים לענות באופן רקורסיביהוא שיש שרתים , בנושא זההקשור , פרט חשוב נוסף

.הם מתייחסים לכל שאילתה כאילו היא איטרטיבית

.5.10 בסעיף , דוגמה לאופן פעולת שרת מופיעה בהמשך

Local Name Servers -שרת שמות מקומי

, גם בארגונים בינוניים ומעלה). local name server (שרת שמות מקומייש ) ISP(לכל ספק אינטרנט

, DNSכאשר מחשב שולח שאילתת . נהוג להחזיק שרת כזה, כמו אוניברסיטאות וחברות מסחריות

ר כפי שהוגד, השאילתה נשלחת ישירות לשרת השמות המקומי, של שם כלשהוIPכדי לברר כתובת

של שרתי השמות המקומיים IP ניתן לראות דוגמה לקביעת כתובת 5 -7תרשים ב. באותו המחשב

.באופן ידני) גיבוייהשני הוא לצורכ(

קרבה זו באה לידי . למחשב ששלח את השאילתהבקרבה יחסיתשרת השמות המקומי מתאפיין

שבין השניים מפריד מספר קטן או , )ארגוניםלאופייני (יטוי בעצם השייכות לאותה רשת מקומית ב

היא , תכונה חשובה נוספת של שרת כזה ).ISP -אופייני ל(יחסית של התקנים כמו נתב או מודם

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

באופן . כלשהוzoneות ששרת מקומי יהיה אחראי גם על כל האמור לעיל אינו פוסל את האפשר

. בהמשךauthoritative name serversראו הסבר אודות . מעשי זהו מצב שכיח והגיוני

Windows XP - של שרת השמות בIPקביעת כתובת 5 -7תרשים

Page 76: סיכום - האונ' הפתוחה

76

Root Name Servers

כל (אותם הזכרנו קודם, )TLD ( ברמה הגבוההdomains - האחראים על הname serversאלו הם

על , כל שאילתה שאינה מסופקת באופן מקומי).' וכוcom ,edu ,ilאותם שמות גנריים וארצות כמו

.תעבור בהכרח דרך אחד השרתים הללו, ידי שרת השמות המקומי

ולכן קיימים מספר , ם החיים הנורמליים ברשתקיומם ותפקודם התקין של שרתים אלו חיוני לקיו

נספר , כדי לסבר את האוזן .לרוב הם מחוברים לרשתות מהירות מאד. שרתים הפזורים בעולם

השרת , לדוגמה. אתם יכולים לקרוא אודותם ברשת. שרתים כאלו13פועלים ברשת ) 2003(שכיום

שם מסופר כי הוא , http://www.isc.org/services/public/F-root-server.html מוצג בכתובת Fהמכונה

.בממוצע, מיליון שאילתות ביום272 -עונה ל

Authoritative Name Servers

אחד ) authoritative name server(בשרת שמות מוסמך ברחבי האינטרנט מוגדר domainכל

מוסמך של שרת . domain -ההגדרה המקורית של הבו נמצאת , למקורשרת זה נחשב . לפחות

domainכאשר רוצים לשנות הגדרות כלשהן . תמיד יכול וצריך למסור תשובה עדכנית לגביו, מסוים

עבור ) authoritative (מוסמכיםיש לבצע זאת רק באותם שרתים המוגדרים כ, domainעבור

. המסויםdomain -ה

, כלומר. התשובה לשאילתה" טריות"עידה על המ, ית דגלקיימת סיב, DNSבתשובות לשאילתות

גם אם הוא זה שקיבל את , לענות על השאילתהמוסמךשרת ההיא כזו שמקורה ב" הטריי"תשובה

האפשרות ). וכך גם נענתה(וגם השאילתה הועברה אליו בעקיפין , השאילתה וענה עליה ישירות

.)הסבר מפורט בהמשך(ו של שרת כלשהcache -השניה היא שהתשובה מגיעה מ

. authoritative name servers הם לרוב גם root name servers וגם local name servers -שימו לב ש

מוסמכיםכלומר הם , רמת השורשמדובר באחריות שלהם על , root name serversבמקרה של

.TLDs -הלהפנות את השואל אל השרתים האחראים על

TTL - וCache, רשומות .5.9

בהן , )resource records (DNSמחזיקים ברשומות ) authoritative(שרתי השמות המוסמכים

שהן כיוון , אנו לא נעסוק ברשומות אלו בפירוט. DNSמוגדרים שמות וכתובות הקשורים בתפקוד

.name serversלמימוש הפנימי של בעיקר מתייחסות

הקשור בתפקוד זיכרון , של רשומות אלו) TTL) Time To Live - הוא שדה ה,נזכירפרט שבכל זאת

המופצת כתגובה , )authoritative record(לכל רשומה מוסמכת . של שרתי השמות) cache(המטמון

באופן זה יכולים . cache -לשמור תשובה זו בהמציין כמה שניות מותר , TTLיש שדה , לשאילתה

Page 77: סיכום - האונ' הפתוחה

77

במקום השרת באופן זמני ולענות , שרתי שמות לשמור מידע אודות רשומות שאינן בתחום ניהולם

).non-authoritative answer(תוך ציון העובדה שזו תשובה לא מוסמכת , המוסמך

5 .4 שאלה ◄

?authoritative recordמהו , DNSטוקול בפרו

)79תשובה בעמוד (

דוגמה מסכמת .5.10

שימו . של משתמש קצהWeb -הנובעת למשל מגלישה ב, דוגמה לגלגולה של שאילתה5 -8תרשים ב

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

לשרת שמות מקומי ) recursive query(שולח שאילתה רקורסיבית ה, resolver -יישום פונה ל •

)local name server.(

וממשיך בבירור , cache -מגלה שאין לו תשובה ב, שרת השמות המקומי נענה לבקשה •

זה המקום . כלשהוroot server -ל) iterative query(הוא פונה בשאילתה איטרטיבית . בעצמו

.הכי מסרבים לבצע שאילתות באופן רקורסיבי- בלאוroot serversלהזכיר שבאופן מציאותי

• root server עונה בהפניה לשרת האחראי על הסיומת au.

שוב הוא מקבל הפניה . auשרת השמות המקומי ממשיך ופונה לשרת האחראי על הסיומת •

.כתשובה

עד שהוא מקבל תשובה מוסמכת , הוא ממשיך במורד העץ באופן דומה •

)authoritative answer ( משרת השמות המוסמך)authoritative server (עבור שם זה.

ומעביר את כתובת , שמצידו מפענח אותה, resolver -ל הוא מעביר חזרה ל"את התשובה הנ •

. שביקש אותהיישום לIP -ה

כיוון שבאופן מקרי לא היתה באף אחד , באף שלבcache - לא נעשה שימוש בשימו לב שבדוגמה זו

.תוקף-מהשרתים בדרך תשובה ברת

המסופקת , nslookupאתם יכולים להריץ את תוכנת , resolver - והDNSכדי להתרשם עוד מפעולת

ת באמצעו, ניתן להריץ שאילתה מפורטת בחלון ההפעלה, לדוגמה. Windowsעם רוב מערכות

"nslookup -debug www.openu.ac.il."

Page 78: סיכום - האונ' הפתוחה

78

דוגמה לשאילתה מלאה 5 -8תרשים

Page 79: סיכום - האונ' הפתוחה

79

תשובות .5.11

5 .1 תשובה

פניה הוא חוסך כל, מפורשתIPמזהה שמדובר בכתובת ) browser(כאשר הדפדפן . בהחלט, כן

.ל"ומיד פותח קשר עם הכתובת הנ, או אפילו קובץ מקומיDNS -ל

5 .2 תשובה

מה שאומר שהם לא , פשוט בגלל שהם ייחודיים, כל שלושת השמות שהוצעו הם חוקיים במקרה זה

.יריםלגבי ייחודיות של אחים יש, מפרים את הכלל הפשוט שהוזכר

5 .3 תשובה

.il וגם לדומיין ac.il שייך לדומיין openu.ac.ilלדוגמה שם הדומיין . כן

5 .4 תשובה

אליו התייחסה host name - המנהל את הname server -זו רשומה שמקורה בתשובה שהתקבלה מה

. כלשהוname server של cache -תשובה זו לא הגיעה מה, כלומר. השאילתא

Page 80: סיכום - האונ' הפתוחה

80

Page 81: סיכום - האונ' הפתוחה

81

)Email(דואל - 6 פרק

תוך קביעת עובדות בשטח מצד יצרנים של תוכנות , הדואל התפתח במהירות בשנים האחרונות

התוצאה היא התרחקות הדרגתית מהתיאוריה הכתובה בתקנים . שונות המרכיבות את המערכת

כדי להבין את הקיים יש , ובכל זאת. ויצירת תקנים חדשים שלא תמיד מתועדים במלואם, בספריםו

.וזאת נעשה באמצעות ספר הלימוד, להכיר קודם את הבסיס

מבט כללי על המערכת .6.1

האופיינית טכנולוגיים שנוצרו בעקבות , סדרנתקלים בבעיה קלה של , כאשר רוצים לכתוב על דואל

תוכנות רבים לפתח כלים שמשך כותבי, חופשי ונוחפרוטוקול כת התחילה כהמער. נטיות השוק

תכונות . ושרתים קטנים עד גדולים, שירותי דואל חינם, כמו תוכנות לקריאת דואל, מתקדמים

.ושינו את האופן בו אנו משתמשים בדואל, חדשות במוצרים אלו הפכו במהרה לתקן מעשי

מעט שונה מזה הכתוב , נציג אותו במדריך באופן נוסף, שכדי להדגים עד כמה נושא הדואל גמי

.אלא רק דרך אחרת לתאר את המערכת הכוללת, זהו אינו הבדל מבחינת הפרטים הטכניים. בספר

.591 עד 588עמודים , 7.2.2ועד סעיף , קראו מפתיחת הסעיף

ל מכילה שלוש ניתן לומר כי מערכת הדוא, כפי שמשתמשי המערכת מכירים אותה, ממעוף הציפור

, בהמשך נכיר רכיבים נוספים. SMTP ופרוטוקול user agents ,mail servers: ישויות עיקריות

.ונתעכב להסביר כמה מהחריגים

רכת הדואלעל של מע-מבט 6 -1תרשים

Page 82: סיכום - האונ' הפתוחה

82

רוב האנשים משתמשים כיום . זהו היישום המשמש לכתיבה וקריאה של דואלuser agents -ה

ידי - כמו אלו המוצעים עלWeb ושירותי דואל מבוססי Microsoft Outlookבגרסאות שונות של

Hotmailו - Yahoo! .

. בשרות המערכת הכללית, י לכל היישומים העוסקים בהעברת דואל זהו שם כללmail server -ה

ראך לעתים משתמשים במונח לתיאו, כאן הכוונה היא לשרת העוסק גם במשלוח וגם בקבלת דואל

שאינם מבצעים את התפקיד mail serversכיום פועלים סוגים רבים של . אחד התפקידים בלבד

.ר אותם כאן בהמשךואנו נזכי, הקלאסי המוכר מספרי הלימוד

ניתן לקרוא את . מהווה חלק חשוב בשלד המערכת) 1982פורמלי מאז ( הותיק SMTPפרוטוקול

-כיום רבים מה). למשל, http://www.ietf.org/rfc.htmlדרך המאגר (RFC822 -פרטיו המדויקים ב

mail servers המסחריים פועלים בפרוטוקול ESMTPנרחיב אודות . המתקדם יותרSMTPבהמשך .

איך זה עובד .6.2

ומה מתרחש , מנקודת המבט שלכם כמשתמש פשוט, נסביר ונדגים כיצד מתבצע משלוח דואל

.מאחורי הקלעים כדי לבצע את המשימה

.594 עד 591עמודים , 7.2.2קראו את סעיף

user agent -תצורת ה

, וכלו לשלוח או לקבל דואל באמצעותהלפני שת. Microsoft Outlookנניח שאתם משתמשים בתוכנת

:ל"כך עשוי להיראות מסך כנ. עליכם להזין כמה פרטים הכרחיים

Microsoft Outlook -דואל בקביעת תצורת 6 -2תרשים

Page 83: סיכום - האונ' הפתוחה

83

אתם חייבים להזין את שם או כתובת שרת הדואר היוצא , לצורך משלוח דואל

)Outgoing mail server( , המכונה גםSMTP server . זהו אחד התפקידים שלmail server , לקבל

היעד הסופי תלוי . ולהעבירו ליעדו הסופי, ) שלוuser agent -ליתר דיוק מה(דואל ממשתמש פשוט

.ולא נדון בו כרגע, בכתובת הדואל של הנמען

אצל גוף כלשהו המנהל את ) mailbox(דואר -אתם צריכים שתהיה לכם תיבת, לצורך קבלת דואר

, ל" את שם או כתובת השרת הנuser agent -אתם חייבים לספק ל. שלכם) mail server(שרת הדואר

ספק את שמכם כפי שהוגדר עליכם ל, בנוסף). Incoming mail server(בשדה שרת הדואר הנכנס

).Password(ואת הסיסמה האישית , )User Name(בשרת זה

. אך אינם הכרחיים מבחינת הפרוטוקול, שימושיים אף הםE-mail Address - וYour Nameהשדות

ולשלוח מכתב תשובה , )User Name(מטרתם לרוב לאפשר למקבל המכתב לזהות אתכם בקלות

)E-mail Address.(

מא למשלוח דואלדוג

לשים לב שבכל סעיף כמעט ניתן להוסיף אפשרויות : (נדגים משלוח דואר, להבנת הפרוטוקול

)ולכן זו רק דוגמא מסוימת, נוספות

מספקת לו את כתובת הדואל של בוב , שלהuser agent - כOutlookאליס מריצה את .1

[email protected] ,מחברת מכתב המכיל תווים פשוטים בלבד ומורה ל- Outlook לשלוח את

.המכתב

שולח את המכתב לשרת הדואר Outlookאז , כאשר מחשבה של אליס מתחבר לאינטרנט .2

.שם ממוקם המכתב בתור היוצא, SMTPתוך שימוש בפרוטוקול , שלה

SMTP server - עם צד הTCPפותח קשר , שרץ בשרת הדואר של אליסSMTP client -צד ה .3

.שרץ בשרת הדואר של בוב

שרת הדואר של אליס מבצע את משלוח הדואר , SMTP -רי מספר לחיצות יד ברמת האח .4

.על גבי קשר זה, לשרת הדואר של בוב

הוא שם אותו בתיבת הדואר , של בוב קיבל את המכתב בשלמותוSMTP server -לאחר שה .5

)mailbox (של בוב.

שיוצר , שלוuser agent המהווה Netscape Messenger -בוב מריץ את ה, בזמן מאוחר יותר .6

.ומושך ממנו את המכתב בשלמותו, קשר עם שרת הדואר של בוב

.ל מוחק את המכתב מתיבת הדואר של בוב"שרת הדואר הנ .7

Page 84: סיכום - האונ' הפתוחה

84

דוגמאהמתייחסות להערות

:נתייחס לכל סעיף בנפרד

כמובן שגם תוכנות אחרות . user agent - הוא בעצם שימוש בHotmailגם משלוח מתוך .1

וזה כולל גם תוכנות שונות המבצעות משלוח דואר באופן אוטומטי , גדרהמתאימות לה

.בתגובה לאירועים

.בהמשך, על מכתב המכיל יותר מסתם תווים פשוטים

ניתן לשלוח לשרת . שרת הדואר דרכו שולחים מכתב יכול להיות בקונפיגורציות שונות .2

מכונה (ת הדואר היוצא בארגונים גדולים שר. ציבורי שבו אין לשולח תיבת דואר בכלל

SMTP server ( הוא לא שרת הדואר הנכנס) מכונהmail server .( כך נוהגים ספקי

, יש ארגונים בהם תוכנת הלקוח אינה מחוברת כלל לאינטרנט. למשל, האינטרנט בישראל

.וגם מחובר לאינטרנט כדי לאפשר משלוח החוצה, בעוד שרת הדואר היוצא הוא מקומי

.UDPולא צריך להסביר מדוע לא , SMTP דווקא הוא חלק מההגדרות של TCP -השימוש ב .3

גם אם הם ממוקמים בשני צדי , ישירות בין שני השרתים, בדרך כלל המשלוח מבוצע כך

.וגם אם שרת היעד אינו זמין חלק מהזמן, הגלובוס

.ממקורות ויעדים שונים, אחד לשלוח מספר מכתביםSMTPגבי קשר -ניתן על .4

תוכן המכתב מבחינת , ים המבצעים פעולות נוספות כמו בדיקת הרשאות משלוחיש שרת .5

בהרבה ארגונים מוסיפים עוד שרת דואר או מחשב . ועוד, וירוסים בקבצים מצורפים, מלל

.לשיפור ההגנה והביצועים, ביניים המבצע בדיקות אלו בנפרד

לאסי והנפוץ הינו הק. משיכת המכתב מבוצעת באמצעות פרוטוקולים אחרים ומגוונים .6

POP3 ,אך קיימים נוספים.

.ניתן גם להורות לשרת שלא למחוק את המכתב .7

מבנה הודעה .6.3

כדי לעשות . כיאה לפרוטוקולים בשכבת תקשורת, עכשיו נתחיל להתעמק קצת בפרטים טכניים

אינו חלק משכבת user agent -נזכיר שחלק ממה שקשור ל, קצת סדר במהות הנושאים הנלמדים

בשכבת היישום אנו . עצמם) application(אלא קשור ביישומים , )Application Layer(ום הייש

אך בודאי שאיננו כוללים פרטים , המשרתים יישומים, כוללים תקנים ופרוטוקולי תקשורת

).GUI( כמו ממשק המשתמש הגרפי יישומיים

החיוניות לצורך קיומה כי הוא מהווה חלק מהמוסכמות , מבנה ההודעה הוא חלק משכבת היישום

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

.זהו פרוטוקול תקשורת לכל עניין ודבר

Page 85: סיכום - האונ' הפתוחה

85

.602 עד 594עמודים , 7.2.3קראו את סעיף

כותרת , )envelope(מעטפה : שלושת מרכיבי ההודעהולהיזכר ב, בספר7-7כדאי לחזור לתרשים

)header ( וגוף ההודעה)message body( .והיגיון בריא העומד מאחורי , לכל אחד מהם תפקיד מוגדר

כדאי לבחון עצמכם האם אתם מוצאים את ההיגיון שבכל אחד מהשדות . תוכנו ושימושיו

ובמיוחד לשים לב לאותם שדות המופיעים בשניים או בשלושה , והפרמטרים שהוזכרו בקטע

.או כתובת השולח והיעד/כמו למשל שם ו. ודעהממרכיבי הה

וכמעט לא נדרשו , היה בעבר הרחוק נטול תחכום)message body(גוף ההודעה החלק המכיל את

, )סרטים ועוד, צלילים, תמונות(מאז חדרו אל האינטרנט יישומי מולטימדיה . כללים הנוגעים אליו

כאן נכנס לתמונה . כום נוסף לצורך שיבוץ יישומים אלו כחלק ממכתבונדרש תח, הלך ותפח חלקו

MIME ,ובמיוחד , אפילו אלו הפשוטים למראה, המהווה היום חלק בלתי נפרד מכל מכתב כמעט

.הצבעוניים והעשירים יותר

6.4. SMTP

אך הוא , 1982 - שלו נוסח בRFC -ה. הפרוטוקול הותיק המהווה עמוד השדרה של מערכת הדואל

אך חסרון גדול שלו , עובדת קיומו גם כיום מעידה על איכות ופשטות הרעיון. היה קיים עוד לפני כן

שגורמת עד היום לצורך לקודד ולנפח , )8במקום ( סיביות 7הוא ההגבלה לשלוח רק בתים בני

).attachments(מכתבים המכילים קבצים

הפקודות . בשכבת התובלהTCPה שימוש בפרוטוקול העוש, זהו פרוטוקול תקשורת בשכבת היישום

לצורך בהירות ופשטות השימוש , והתגובות המועברות בין הצדדים הן טקסטואליות בעיקרן

כפי שנלמד , TCP/IPשיטה דומה נהוגה בכל פרוטוקולי היישום הבסיסיים בחבילת . בפרוטוקול

.SMTPבפרוטוקול בספר ניתן לראות דוגמה לשיחה מלאה 7-14בתרשים . בהמשך

.605 עד 602עמודים , 7.2.4קראו את סעיף

Page 86: סיכום - האונ' הפתוחה

86

6 .1 שאלה ◄

אחד עם שרת דואר SMTP ופתחו קשר, גשו למחשב המחובר לאינטרנט. SMTP -זהו תרגול מעשי ב

אחת לעשות זאת היא במחשב רךד. mail.barak.net.il או mailgw.netvision.net.il: םמהשניים הבאי

".telnet mailgw.netvision.net.il 25 "עם מערכת הפעלה חלונות להריץ

. Enterואחריה " DATA"עכשיו הקישו את הפקודה . Enterואחריה , "HELO "את הפקודה הקישו

.ל"מהפקודות הנ רשמו מה התשובה שקיבלתם עבור כל אחת

)88תשובה בעמוד (

משיכת דואל .6.5

. עליו נלמד בפירוט, POP3הבסיסי והוותיק הוא . קיימים מספר פרוטוקולים למשיכת דואל מהשרת

להתחברות . שיח עמו-ולחוות דו, מאד מומלץ להתחבר ידנית לשרת שלכם, כפי שכתוב גם בספר

או כל שרת , "telnet mail.netvision.net.il 110“ידנית ממחשב המחובר לרשת האינטרנט יש להריץ

.דואר אחר

.611 עד 605עמודים , 7.2.5קראו את סעיף

. POP3 -הוא פרוטוקול מתקדם יותר מ, IMAP4שגרסתו האחרונה נקראת , IMAPפרוטוקול

והיא שפרוטוקול זה מיועד לאנשים הנמצאים , הסיבה העיקרית לקיומו לא מודגשת דיה בספר

המחזיקה , גדולה-לרוב מדובר באלו העובדים בחברה בינונית. ר קבוע עם שרת הדואל שלהםבקש

בו , ניתן לנהל בקלות חשבון דואל מתוחכםIMAPבאמצעות פרוטוקול . שרת דואל מקומי

אך זו , חייב להשאירם שםIMAPאין זה אומר שמי שעובד עם . המכתבים עצמם נותרים בשרת

.אפשרות קיימת

6 .2 שאלה ◄

בדמות חלופות יש POP3 -בעוד דווקא ל, אחיד בכל העולםדי SMTP לדעתכם פרוטוקוללמה

?פרוטוקולים חדישים יותר

)88תשובה בעמוד (

אינה מוגבלת רק לשירותים דוגמת ) Web) Webmailאפשרות קריאת הדואל באמצעות ממשק

Hotmailו - Yahoo .כך שעובדי חברה מסוימת , גם שרתי דואל מסחריים מציעים אפשרויות דומות

.יכולים לקרוא בנוחיות דואל כאשר הם אינם נמצאים ליד מחשב שלהם

Page 87: סיכום - האונ' הפתוחה

87

6 .3 שאלה ◄

ישירות לספק , )Outlookכמו ( באמצעות תוכנת דואל סטנדרטית ,אליס שולחת דואל לבוב

כמה פעמים הוא עבר ממחשב למחשב , בהנחה שהמכתב מגיע לבוב בהצלחה). ISP(האינטרנט שלה

.נא לנמק? במקרה המינימליSMTPבאמצעות פרוטוקול

)88תשובה בעמוד (

Page 88: סיכום - האונ' הפתוחה

88

תשובות .6.6

6 .1 תשובה

MAIL FROM דורשים שהפקודה SMTPשרתי . נשלחה מוקדם מדיDATAבתרגול זה הפקודה

:כמו למשל, "נזיפה"לכן התגובה השניה של השרת היא . תישלח קודם

No MAIL FROM command has been issued

6 .2 תשובה

. המהווה את עמוד השדרה של המערכת, הוא מוסכמה עולמית) ESMTP -ו( SMTPפרוטוקול

ולכן בארגונים , לשרת שלוuser agent -הוא פרוטוקול מקומי בין ה, לעומת זאתPOP3פרוטוקול

. ניתן להשתמש בפרוטוקולים אחרים, בהם מתקינים שרת דואר פרטי ותוכנות דואר תואמות

. העושים שימוש בפרוטוקולים אחריםLotus Notes - וExchange: גמאלדו

6 .3 תשובה

, שכל תפקידו להעביר דואל לשרת היעד, מסויםSMTPבתרחיש הקלאסי אליס שולחת דואל לשרת

הראשונה ממחשבה : SMTPת פעולה זו דורשת שתי העברות באמצעו. בו מתנהלת התיבה של בוב

. לשרת הדואל בו מתנהלת התיבה של בובSMTP -והשניה משרת ה, SMTP -של אליס לשרת ה

והוא כאשר התיבה של בוב מנוהלת , אחדSMTPובכל זאת קיים תרחיש בו מתבצע רק משלוח

נפוץ דבר ה, ל ממלא תפקיד כפול"השרת הנ, כלומר. אליו שולחת אליס מכתביםSMTPבאותו שרת

.בארגונים קטנים

Page 89: סיכום - האונ' הפתוחה

89

World Wide Web - 7 פרק

מבחינת גרימתו לתפוצתה ורמת השימוש בה , היישום המשמעותי ביותר בתולדות רשת האינטרנט

90 -התחיל להתפתח רק בשנות ה. Web -בהמשך נכנה את היישום בקיצור ה. המוכרת לנו כיום

, שמונח זה בעצם מתאר את הרשת כולהלמרות , "האינטרנט"ידי רבים -מכונה על. המוקדמות

.Web -הכוללת יותר מה

.618 עד 611עמודים , The Server Sideעד הכותרת , 7.3.1עד אמצע סעיף קראו

ארכיטקטורת המערכת .7.1

מהצד של משתמשים , סביר להניח שאתם כבר מכירים את רוב הכתוב בקטע הקריאה האחרון

אז עכשיו זכיתם , ידעתם את הסיבות וההיסטוריהאו לא, אם לא הכרתם את המונחים. Web -ב

.שהוא פחות מוכר וטריוויאלי, עכשיו נעבור לקריאת הקטע העוסק בצד של השרת. להשלמת הידע

Server Side

.622 עד 618עמודים , The Server Sideקראו את הקטע שכותרתו

מוצרים מסחריים מציעים . כיוון שזה בלתי אפשרי, הספר אינו מכסה את כל הנושאים הקשורים

הספר מציג כמה התלבטויות . ולכל לקוח עשוי להתאים פתרון שונה, מגוון פתרונות לבעיות עומס

.אך בודאי אינו קובע כיצד להתמודד עם כל תופעה, ופתרונות אפשריים

נאמר בספר שכדי , 622בראש עמוד . נתייחס למשפט המוזכר כחלק מפתרון לבעיית העומס, כדוגמה

כדאי להפנות בקשות לדף מסוים תמיד לאותו , )server farm(יעל את השימוש בחוות שרתים לי

. לגמרי אחרתהדברים לעתים מבוצעים , באופן מעשי. ההופך למעין מומחה לדף זה, השרת

לשמור על Front end -מקפיד ה, )database(וגישה לבסיס נתונים ) forms(במערכות המכילות טפסים

.שרת-ולא דף, שרת- ביחס משתמשרצף הבקשות

Page 90: סיכום - האונ' הפתוחה

90

URL

תוך אזכור פרוטוקולים , אך הוא נדון בספר בהקשר רחב יותר, השתבץ בסעיף זהURL -נושא ה

הקשר בין פרוטוקולים . ועודgopher ,ftp ,nntpכמו למשל . נוספים בשכבת היישום אותם לא נלמד

.המשמש את כולם באמצעות ממשק דומה, )browser(אלו לסעיף זה הוא בזכות הדפדפן

.625 עד 622עמודים , URLs – Uniform Resource Locatorsקראו את הקטע שכותרתו

Cookies

היא לסייע cookies -באופן כללי מטרת ה. בקטע הקריאה מופיע הסבר בסיסי כיצד פועל המנגנון

. הואHTTPפרוטוקול לשרתים להתגבר על הבעיה ש

רוב , למעשה. ועל מגוון המוצרים המטפלים בבעיה, cookies -בודאי שמעתם על הסכנות שבשימוש ב

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

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

באופן . בעצם שמירת מידע אישי במחשב האישי, היא פגיעה בפרטיותcookies -היחידה הקשורה ב

.Web -זה בטל בששים לעומת שאר חשיפות המידע האישי הנובעות מגלישה תמימה ב, מעשי

.629 עד 625עמודים , Statelessness and Cookiesקראו את הקטע שכותרתו

השיטה המקובלת כיום היא מעט שונה . הן רק בגדר הצעה, 627 בעמוד הדוגמאות המובאות

אינו cookie -הכוונה היא שה. בזכות התמקצעות המתכנתים והכלים הקשורים לתחום, מהמתואר

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

השרת מחזיק ערכים רגעיים או קבועים . ר באורח מזדמןאפילו אם מדוב, user_id=12345כמו

, בכל בקשה של משתמש זה. המתייחסים לאותו המשתמש, נתונים כלשהו-במשתנים או בבסיס

. קטן שהוזכרcookieכאילו נשלחו יחד עם אותו , נעשה שימוש באותם הערכים שנשמרו בצד השרת

Page 91: סיכום - האונ' הפתוחה

91

דפים סטטיים .7.2

HTML

הקורס אינו מתיימר . בנין לנושאים מתקדמים יותר-יר כאבןשחשוב להכ, שפה תיאורית פשוטה

קשה לקבל את , והתנסות בכתיבה בהHTMLאך ללא הכרת , אתרים-להפוך אתכם למעצבי

.התמונה המלאה

.638 עד 629עמודים , XML and XSLקראו עד הכותרת

כתיבה שאינה , רכלומ. באופן ידני, פשוטHTMLמומלץ מאד להתנסות בכתיבת דף , כחלק מהלימוד

ניתן ליצור דף פשוט , למשל. או תוכנה דומהnotepadאלא באמצעות , כלשהוHTMLבאמצעות עורך

לפתוח אותו באמצעות , test.htmlלשמור אותו בדיסק המקומי בשם כמו , כמו זה המוצג למטה

.מוצג בפניכם" hello"ולראות את הטקסט , כפולה-לחיצה

<html> <body> <p> hello </p> </body> </html>

HTMLדוגמה פשוטה לדף 7 -1תרשים

אלא כללים שהם , ידי דפדפנים-ברזל הנאכפים על- היא שאין לה כלליHTMLאחת הבעיות בשפת .

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

שאף הוא יציג את אותו , 1תרשים תופעה זו מאפשרת לכם ליצור דף פשוט יותר מזה שהוצג ב

ועדיין דפדפן מצוי יציג את הטקסט , ואפילו על כולן, )tags( ניתן לוותר על חלק מהתוויות .הטקסט

"hello " מבחינת כותבי האתרים, לכן זהו גם יתרון מסוים של השפה. לא שיניתם דברכאילו .

. חופשייםHTMLגמישות רבה המאפשרת סגנונות קוד

כמו אופן , היא בעצם השארת שיקולי תצוגה מדויקים בידי הדפדפן עצמו, תכונה מעניינת נוספת

ל נותר במרוץ זלמרבה המ, מבחינה זו. ועוד, גודל מדויק של אותיות ופסקאות, בניית טבלאות

דמיינו מה היה קורה אם כל כותב אתר היה נאלץ ליצור . Microsoft Internet Explorerהדפדפנים רק

.אחת עבור כל דפדפן מצוי, גרסאות שונותעשרלו

Page 92: סיכום - האונ' הפתוחה

92

XMLו - XSL

שתי השפות הללו עוצבו עם מטרות . HTMLזהו לא תחליף לשפת . תוכננה לשאת מידעXMLשפת

:שונות

.ולהתמקד במידע עצמו, תוכננה לתאר מידעXMLשפת •

.ולהתמקד באופן הצגתו, תוכננה להציג מידעHTMLשפת •

עושה אינה XMLשפת , למעשה. עוסקת בתיאורוXML עוסקת בהצגת מידע בעוד HTMLכלומר

.להציגו באמצעות עזרים נוספיםאו , אותו ניתן להעביר בין יישומים, היא מתארת מידע. דבר

.643 עד 639עמודים , קראו עד סוף הסעיף

, ראה צורך להחזיר לעצמו שליטהW3ארגון . נקיה מפוליטיקהו אינהנושא כולו, כפי שקראתם

, הפכו לחסרי ערךHTML -מסמכי האפיון שהם הפיקו ל. ולהכניס סדר בעולם האינטרנט הפרוע

בגלל בוני אתרים HTML -רה להם לא אהבו את מה שק. והמלצותיהם שם נזנחו לטובת המציאות

במבנה ות כה קשוחןה XHTML -ו XMLת ושפה ,לכן. ותוכנות שונות שהשתלטו על השוק, חובבנים

מותר, כדי לאכוף את הכללים. HTML -ת פשרות כלשהן שהובילו לצרות בו מאפשרןואינ, ןשלה

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

פים דינמייםד .7.3

וכיצד הדף , למדנו איך דפדפן מבקש דף משרת) במדריך89עמוד (ארכיטקטורת המערכתבסעיף

.התהליך הבסיסי נראה דומה לשרת קבצים פשוט. נשלח מהשרת אל הדפדפן

צד השרת

). on demand(ואלו הם הדפים הנבנים לפי דרישה , פוץ יותר כיוםעכשיו נפנה לעסוק בסוג הדפים הנ

שאינם סתם קובץ שנשלף , דפים שהשרת מרכיב בהתאם לבקשה מסוימת ותזמונהאלו , כלומר

.מהדיסק המקומי שלו ונשלח כמו שהוא ללקוח

.647 עד 643עמודים , Client-Side Dynamic Web Page Generationהכותרת קראו עד

מה . בהתחשב במורכבותן ובקוצר היריעה, וזה טבעי, י הטכנולוגיות בספר אינם מדויקיםתיאור

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

כך שנדע , זו השאלה איך מגדירים דף דינמי, מה שנותר מעניין ברמה העקרונית. לטכנולוגיה עצמה

Page 93: סיכום - האונ' הפתוחה

93

בגלל אופן פעולת , משמעית-התשובה לשאלה זו אינה חד. דף דינמי ואיזה סטטיבודאות איזהו

.השרתים המודרניים

, הנשלח ישירות מהדיסק אל הלקוחHTMLברור שדף . שני המקרים הקיצוניים הם טריוויאליים

ומקבלים בתשובה דף אישי הקשור בפרטים , וברור שכאשר שולחים טופס כלשהו. הוא דף סטטי

ולא , נציג כמה דוגמאות מציאותיות כאלו? אך מה על מצבי הביניים. זהו דף דינמי,שמילאתם

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

.המעידים על עדכניות, םדף חדשות המכיל בכותרתו תאריך ושעה עכשוויי .1

.לפי סוג הדפדפן שבשימוש, שרת המחזיר מאותה הכתובת כמה סוגי דפים .2

. אתם מתחברים אליוIPמאיזו כתובת דף המציג .3

.דף המציג מונה המראה כמה אנשים התחברו לאתר מאז הוקם .4

אך דווקא זה המוזכר בספר , זוכה לשימושים רביםdynamic HTMLהמונח : הערה נוספת לסיום

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

.השרת-ולא צד, הלקוח-הקשורים בצד

צד הלקוח

בעקבות דרישת . השרת- לנושא צדהלקוח-צדאין קשר טכני ישיר בין נושא , "דינמי"מלבד הכינוי

הרצון הוא . HTMLנוצר הצורך בהעשרת , והתפוצה המתגברת של אתרים אינטראקטיביים, הקהל

שימושם העיקרי של דפים דינמיים . ים רגיליםמשתמש המוכרת מיישומ- חוויתHTMLלספק בדפי

וכן בבניית תפריטים , עקב הצורך לסייע ללקוח בתהליך המילוי, )forms(כאלו הוא במילוי טפסים

.מעניינים גרפית ומעשיים יותר

ואז ישלח לשרת , כלומר מחכים ללקוח שיסיים למלא אותם, הטפסים היו סטטיים, בשיטה הישנה

, כל טעות או חוסר שלמות במילוי הטופס היו מתגלות רק בצד השרת. כפתורבאמצעות לחיצה על

גם לא ניתן היה לשנות את הטופס תוך כדי . שנאלץ היה לנזוף בלקוח ולבקש שישלים את החסר

התוצאה המיידית של סיבוך התהליך היא נטישה של . כדי להגיב לפרטים שכבר הוזנו בו, מילוי

.לקוחות

.651 עד 647עמודים , סוף הסעיףקראו עד

למרות שיש יותר אנשים שחושבים , JavaScript - וJavaשאין כל קשר טכני בין שפת נחזור ונדגיש

אך , Javaאמנם התחביר מזכיר במשהו את . מאשר אלו שיודעים שהן לא, בטעות שהן קשורות

הוא שהשפה אינה מממשת עקרונות מה שחשוב. באותה מידה הוא מזכיר שפות מודרניות אחרות

.GUI -כ מכילה סטים של פקודות שנבנו במיוחד לצורך טיפול ב"אלא בסה, Javaחשובים של

Page 94: סיכום - האונ' הפתוחה

94

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

שרויות האטרקטיביות היום בפיתוח תוכנה אחת האפ. במקומות עבודה רביםIntranet -השימוש ב

ושימוש , Intranetהיא באמצעות הקמת שרת , בעיקר כזו העושה שימוש בבסיס נתונים, מבוזרת

.לקוח במשולב-שרת וצד-בטכנולוגיות צד

HTTPפרוטוקול .7.4

. הוא הבסיס של הדואלSMTP -כמו ש, WWW - הוא הפרוטוקול מאחורי הHTTPפרוטוקול

.656 עד 651עמודים , 7.3.4קראו את הסעיף

HTTPהצורך בפרוטוקול

מדי פעם סטודנטים שואלים מדוע בכלל צריך את , לגבי כמה פרוטוקולים בשכבת היישום

ואולי רק להרחיבו , אם היה אפשר במקום זה להשתמש בפרוטוקול אחר שכבר קיים, הפרוטוקול

.HTTPיתן לשאול אותה גם לגבי ובפרט נ, השאלה הזו לגיטימית תמיד? מעט

אך בודאי הוא מוכר לכם , שאותו לא נלמד, FTP הוא HTTP -הפרוטוקול הקדום הקרוב ביותר ל

שזו גם המשימה אותה , מהרשת) download( מיועד להורדת קבצים FTP. כמשתמשי אינטרנט

לא בנוי במיוחד HTTPפרוטוקול , ט משתמשי מחשבבניגוד לדעה הרווחת בין לא מע. HTTPמבצע

, exeכמו קבצי (כולל קבצי הרצה , אלא יכול להוריד כל סוג קובץ, דווקאHTMLלהורדת דפי

).למשל

כלומר דרוש שיעבור זמן מינימלי , היא מהירותWeb -הדרישה הבסיסית מפרוטוקול לגלישה ב

כיוון שהמשתמש , ווקא אמינות ניתן להקריב מעטד. ועד הצגתו הויזואלית, מרגע בקשת דף מסוים

ולצאת ממצב קיפאון הנובע מתקלה בהורדת , )Web browser( בדפדפן refreshתמיד יכול ללחוץ על

.קובץ כלשהו

פיתוח פרוטוקול חדש וייעודי כמו וצדיקהובהחלט , ההבדלים בין שני הפרוטוקולים רבים מאד

HTTP .להלן כמה מההבדלים הבולטים:

. המגבירים את אמינותו, לצורך העברת קובץTCP דורש שני קשרי FTPפרוטוקול •

וגם הזמן שנגזל עקב כך הוא , התקורה מבחינת משאבי השרת היא גבוהה למדי

.משמעותי

. TCP - נשלחת בקשה מלאה לקובץ מיד עם השלמת הקמת קשר הHTTP -ב •

-מתנהל דו, לעומת זאת, FTP -ב. התשובה עשויה להיות כבר הקובץ עצמו לו מחכים

.ועוד) directory(מעבר לספריה , סיסמה, שיח ארוך שעשוי לכלול שם משתמש

Page 95: סיכום - האונ' הפתוחה

95

ואין לו תחליף , Web - יעיל מאד לצורך גלישה בHTTP של conditional GET -ה •

.FTP -תואם ב

כמו למשל , FTP - הרחיקו אותו עוד יותר מHTTP -תוספות ייחודיות מתקדמות ב •

HTTPSו - cookies.

גרסאות

ההבדל המהותי ביותר ביניהן . 1.1 - ו1.0והן , יש רק שתי גרסאות בסיסיות לפרוטוקול, נכון להיום

, בכל תכונותיה של הקודמת) backward compatibility( תומכת אחורה 1.1גרסה . 652מפורט בעמוד

.דד בוTCPלהוריד מספר קבצים על גבי קשר אך היא מוסיפה את היכולת החשובה

Methods

שם נאמר במפורש , בניגוד לאמור בספר, POST - וGETהשימושיות ביותר הן ) methods(המתודות

שאר . אלו גם השתיים היחידות בהן נעשה שימוש בעת גלישה נורמלית. נדירPOST -שהשימוש ב

שם -הנשלח אי) from (כמעט כל טופס, במציאות. המתודות שהוזכרו בספר משמשות לניהול השרת

בזכות התכונה המצרפת את המידע הנשלח לשרת כתוספת , POSTעושה זאת באמצעות

וכן , )שפות זרות(אין הגבלה על אורך המידע הנשלח ואופן קידודו , בשיטה זו. request header -ל

.URL -המידע מהטופס נשלח כחלק מה, לעומת זאת, GETבאמצעות . ניתן להצפינו

.בו נדון עוד מעט, HTTP Response -שייך לנושא ה) status code(ובה קוד התש

HTTP Request

כדי לתאר שורה אחת המצורפת לבקשה או תגובה ) header(הספר משתמש במונח כותרת

כי נהוג להשתמש בו כדי לתאר את אוסף כל השורות , זהו מונח מעט מטעה. HTTPבפרוטוקול

HTTP request - מובאת דוגמה ל2תרשים ב).header field (כותרת-ואז כל שורה מכונה שדה, הללו

.כותרת-ואחריה שדות, )GET method(הכולל את שורת הפקודה , שלם

GET /somedir/pagefile.html HTTP/1.1 Host: www.somecomapny.com Connection: close User-agent: Mozilla/4.0 Accept-language: he (extra carriage return, line feed)

HTTP request -דוגמה ל 7 -2תרשים

, header lines -שימו לב לגמישות מבנה ה. 3תרשים ב מובא HTTP requestשל המבנה הכללי

.מבלי לפגוע במערכות ישנות, כמה שכלולים ושיפורים במרוצת הזמןHTTP -שבזכותם התווספו ל

Page 96: סיכום - האונ' הפתוחה

96

HTTP requestמבנה כללי של 7 -3תרשים

7 .1 אלהש ◄

עובדים עם Web -לעתים אנו שומעים על נתונים סטטיסטיים המורים כי אחוז מסוים ממשתמשי ה

המסייעת לו , מהו הדפדפן בו משתמש כל אחדHTTPאיזו אינדיקציה יש לשרת . דפדפן מסוג מסוים

?לאסוף נתונים סטטיסטיים אלו

)101ה בעמוד תשוב(

HTTP Response

מוכר . )header fields(כותרת -ועושה אף הוא שימוש בשדות, דומהHTTP response -עקרון מבנה ה

נקודה מעניינת היא שאחרי קוד . זהו הקוד המודיע לדפדפן שהדף המבוקש לא קיים? 404לכם הקוד

יותר . אך אין לה כל משמעות מעשית, יכולה להופיע הודעה חיובית הסותרת אותו, כלשהושגיאה

לשלוח הודעה ידידותית HTTPכך יכול שרת . אותו יציג הדפדפן, יכול גם להישלח קובץ, מכך

תופיע במקומה הודעה שגרתית של , אם הודעה כזו לא כלולה בתגובה. המסבירה כי הדף לא נמצא

.הדפדפן

HTTP/1.1 200 OK Connection: close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 09:23:24 GMT Content-Length: 6821 Content-Type: text/html (data data data data data . . .)

HTTP response -דוגמה ל 7 -4תרשים

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

אך במקרה , HTMLבמקרה זה סוג המידע הוא דף . שאחריה מתחיל המידע, ריקה אחת בדיוק

אורך המידע נתון תמיד , דרך אגב. של קובץ הרצה למשל, יות גם מידע בינאריהכללי זהו יכול לה

.5תרשים בEntity Body זהו החלק המכונה .Content-Lengthבשדה

Page 97: סיכום - האונ' הפתוחה

97

HTTP responseמבנה כללי של 7 -5תרשים

ה מלאהדוגמ .7.5

הנתונים . ועד לקבלת הקבצים, TCP -משלב הקמת קשר ה, HTTP session -להלן דוגמה מלאה ל

, LOCALהמכונה , בין המחשב המקומי) captured(שנלכדו , המובאים כאן הם נתוני אמת אקראיים

. אחדTCP segmentכל מסגרת להלן מתארת . ROUTERהמכונה , הקרוב) router(והנתב

. HTTP - של שרת הIP -והמחשב המקומי מצויד בכתובת ה, כבר הסתייםDNS -הנניח ששלב

נזכירם . HTTP -ושרת ה) הלקוח( בין דפדפן המחשב המקומי TCPההמשך הוא בקשת הקמת קשר

מספר האישור הוא אפס כיוון שזו בקשה . HTTP הוא הפורט הרגיל בו מאזינים שרתי 80כי פורט

:לאשרואין עדיין מה , לקשר חדש

Source MAC Address: LOCAL Destination MAC Address: ROUTER Source Port: 1025 Destination Port: 80 Sequence Number: 1472101495 Acknowledgment Number: 0

תחום המספרים הסידוריים של השרת הוא כמובן שונה מזה של ). אישור ראשון(אישור חיבור

:שהוא למעשה המספר הסידורי הפנוי הבא של הלקוח, ר האישורשימו לב למספ. הלקוח

Source MAC Address: ROUTER Destination MAC Address: LOCAL Source Port: 80 Destination Port: 1025 Sequence Number: 2961454535 Acknowledgment Number: 1472101496

המבקשת לקבל את קובץ ברירת המחדל של , GETת בצירוף פקוד, )אישור שני(אישור חיבור סופי

לחיצת היד TCP -ב, באופן תיאורטי, להזכירכם). GET -זו מהות הלוכסן שמיד אחרי ה(האתר

Page 98: סיכום - האונ' הפתוחה

98

אכן שולבה , במקרה המודגם כאן. יכולה להכיל מידעוהיא , שלישית אינה צורכת מספר סידוריה

:לחיצת היד השלישית באופן מלאכותי במשלוח המידע

Source MAC Address: LOCAL Destination MAC Address: ROUTER Source Port: 1025 Destination Port: 80 Sequence Number: 1472101496-1472101699 Acknowledgment Number: 2961454536 Data Length: 204 Data: GET / HTTP/1.1 Accept: */* Accept-Language: en,he;q=0.5 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Host: www.openu.ac.il Connection: Keep-Alive

בדוגמה כאן . בצירוף הקובץ המבוקשHTTPשהיא למעשה כותרת , GET -תגובת השרת לפקודת ה

המשך . ואז נחתך, וא כולל עוד מספר שורותאך המציאות ה, כדי לא להעמיס על הדף, הקובץ חתוך

: עוקביםTCP segments -הקובץ נשלח ב

Source MAC Address: ROUTER Destination MAC Address: LOCAL Source Port: 80 Destination Port: 1025 Sequence Number: 2961454536-2961455895 Acknowledgment Number: 1472101700 Data Length: 1360 Data: HTTP/1.0 200 OK Server: Netscape-Enterprise/3.6 SP2 Date: Thu, 13 Jun 2002 09:21:01 GMT Content-Type: text/html X-Cache: MISS from www29 Connection: close <html> <head> <title> <title/> אתר הבית של האוניברסיטה הפתוחה-אופנט

כי פה כבר , שימו לב שזה לא בהכרח תמיד כך. את הקטע הבא של הקובץהמכיל, המשך התגובה

יישלח אישור מהלקוח עבור החלק הראשון , אלוTCP segmentsייתכן ובין שני . עולה שאלת התזמון

שמאפשר המשך משלוח חלקי הקובץ , TCPכאן אנו רואים דוגמה לחלון השליחה של . של הקובץ

שהוא זהה לאישור , ניתן לראות זאת גם מתוך מספר האישור. שוןלפני שמגיע האישור לחלק הרא

:כדי לחסוך מכם עומס, Data -גם הפעם מוצג רק חלק מה. הקודם

Page 99: סיכום - האונ' הפתוחה

99

Source MAC Address: ROUTER Destination MAC Address: LOCAL Source Port: 80 Destination Port: 1025 Sequence Number: 2961455896-2961457255 Acknowledgment Number: 1472101700 Data Length: 1360 Data: // if there are any cookies var offset = document.cookie.indexOf( visitedCookieName + "=") if ( offset != -1) { // if cookie exists offset += visitedCookieName.length + 1 // set index of beginning of value end = document.cookie.indexOf(";", offset) // set index of end of cookie value if (end == -1) { end = document.cookie.length }

זהו אישור . הקודמיםTCP segments -המאשר את שני ה, ועכשיו נשלח אישור מהלקוח לשרת

:ומספרו הסידורי אינו נחשב במניין, לכן אין צורך לאשרו. שאינו מכיל כל מידע, בלבד

Source MAC Address: LOCAL Destination MAC Address: ROUTER Source Port: 1025 Destination Port: 80 Sequence Number: 1472101700 Acknowledgment Number: 2961457256

בעוד הלקוח מאשר אותם , השרת ממשיך לשלוח קטעים של הקובץ. את ההמשך נתאר רק במלים

.כלל לאחר כל שני קטעים-בדרך, מדי פעם

יושלח ארבע בקשות לקבצ, נוספיםTCPפתח הדפדפן שלושה קשרי , לאחר שהקובץ ירד במלואו

GIFעקב ביקור קודם באתר, מהסוגרוב הבקשות זכו לתגובה . גבי כל הקשרים הפתוחים- על:

HTTP/1.0 304 Not Modified

בכל פעם שהוא , מבלי לסגור אותו, כל אחד מהקשרים הללו שלח בקשה חדשה על גבי אותו הקשר

תכונה זו נקראת . קיבל תשובה סופית עבור הקובץ שביקש

persistent connection without pipelining .

7 .2 שאלה ◄

?UDPגבי - ולא עלTCPגבי - פועל דווקא עלHTTPמה הסיבה העיקרית שפרוטוקול

)101תשובה בעמוד (

Page 100: סיכום - האונ' הפתוחה

100

7 .3 שאלה ◄

?TCPכדי לצמצם את מחיר תקורת ) browser( והדפדפן HTTP פרוטוקול יםלו אמצעים נוקטבאי

)101תשובה בעמוד (

מה עוד כדאי ללמוד .7.6

כמוהם יש עוד , אך אלו נושאים בשוליים, הוא אמנם מעניין לקריאה. אינו חובה7.4המשך סעיף

.הספיק לדון בהם במסגרת הקורסרבים וטובים אחרים שלא נוכל ל

Page 101: סיכום - האונ' הפתוחה

101

תשובות .7.7

7 .1 תשובה

המציין את סוג הדפדפן , User-agentבשם ) header line( נשלח שדה כותרת HTTP request -כחלק מה

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

7 .2 תשובה

, היא הצורך במשלוח קבצים גדולים, UDP ולא TCPגבי - פועל עלHTTP -הסיבה העיקרית לכך ש

.שחייבים להגיע לפי הסדר המקורי

7 .3 תשובה

ם משמעותי במספר פתיחות קשרי מאפשרים צמצוpersistent connections -ה, כפי שלמדנו בספר

TCPגם השימוש ב. שמחיר הקמתם גבוה מבחינת זמן, חדשים- pipelining יכול לסייע בקבלת

.ידי משלוח רצף של בקשות על גבי קשר בודד-על, תגובה מהירה יותר

זמנית בין לקוח - שיוקמו בוTCPהוא קביעת מספר מקסימלי של קשרי , לא ישיר, אלמנט נוסף

ההנחה . המסתמכת על ניתוח סטטיסטי, ידי דפדפנים-זו מגבלה המונהגת על. מסויםHTTPלשרת

. בגלל צריכת משאבים או זמן, היא שפתיחת קשרים רבים במקביל עשויה לפגוע בקשרים הקיימים

הנושא TCP -אך ב, עוזרתה מגבלה כזו על מספר הבקשות המקבילות הייתUDP -אמנם גם ב

. תקורת הקשריםבגלל, משמעותי יותר

Page 102: סיכום - האונ' הפתוחה

102

Page 103: סיכום - האונ' הפתוחה

103

אבטחת רשתות - 8 פרק

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

)network security( , לא תמצאו כיום ספר לימוד מודרני בתחום תקשורת המחשבים שאינו אך

.מקצה פרק לנושא זה

בכל ספר תוכלו למצוא חלוקה . היא לא טריוויאלית הרשתותאבטחתהחלוקה לנושאים בתחום

בדרך כלל ברמת מבוא , הספר שלנו מציג מגוון רחב של נושאים. מגווניםועיסוק בנושאים , שונה

, במהלך פרק זה במדריך. שרובם מהווים נושאים קלאסיים המוצגים ברוב הספרים האחרים, בלבד

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

.היומיום

:מובא להלן הסבר לצורך באבטחת רשתות, כדי להבין את הרקע והצורך בנושאים שנלמד עוד מעט

שהצליח להגיע אל , המטרה היא להקשות על קורא שאינו מורשה–) secrecy (הבטחת סודיות ♦

זהו השימוש הפשוט והברור ביותר של . המכונה במקרה זה פיצוח, הנתונים את מלאכת הפענוח

).encryption(הצפנה

. המטרה היא לאפשר למקבל הודעה לאמת את זיהוי השולח–) authentication (אימות המקור ♦

שכותב ההודעה לא יוכל המטרה היא להבטיח –) non-repudiation (מניעת התכחשות ♦

.להתכחש לתוכנה או לעובדה שהוא כתב אותה

המטרה היא לאפשר למקבל הודעה לוודא שההודעה שהתקבלה –) integrity (בקרת שלמות ♦

.אחרידי גורם -לא שונתה בדרך עלזאת אומרת שהיא , ידי השולח-היא אכן ההודעה שנשלחה על

.724 עד 721עמודים , 8.1סעיף עד ,8פרק קראו את פתיחת

אבטחת מערכות הפעלה

Information Security -אבטחת מידע

נתונים-אבטחת בסיסיNetwork Security -אבטחת רשתות

-אבטחת תקשורת Communication Security

Authentication -אימות מקור

Integrity -בקרת שלמות Secrecy -סודיות Non-Repudiation -מניעת התכחשות

השתלבות אבטחת הרשתות באבטחת המידע הכללית 8 -1תרשים

Page 104: סיכום - האונ' הפתוחה

104

יהגרפקריפטו .8.1

נפתח הלימוד בעקרונות, )Information Security(בכל קורס בו מלמדים נושאים באבטחת מידע

.אנו לא חורגים ממנהג זה. היא תורת הצפנים, )Cryptography(גרפיה הקריפטו

.727 עד 724עמודים , 8.1.2 עד סעיף 8.1קראו את פתיחת סעיף

מונחים

ולכן , לרובם אין מקבילה ראויה בעברית, במהלך הקריאה פגשתם מספר מונחים חדשים באנגלית

:בהמשךנעשה בהם שימוש רב

• plaintext -הבלתי מוצפנת, בצורתו הקריאה, מלל פשוט.

• ciphertext –זאת אומרת , מלל מוצפןplaintextשעבר תהליך הצפנה .

• encryption –זאת אומרת הפיכת , תהליך הצפנהplaintextל - ciphertext.

• decryption –בו מקבל ה, תהליך פענוח רגיל- ciphertextהופכו בחזרה ל - plaintext.

• key –או הפענוח/ פרמטר המשמש בפונקצית ההצפנה ו.

• intruder – גורם חיצוני המנסה לבצע פעולה עוינת כלשהי הקשורה בתעבורת מידע בין

או פעולות , )ciphertext) passive intruderח וציפ האזנה ושללמ. גורמים ידידותיים

, שינוי הודעות, חסימת תעבורה, כמו התחזות לגורם ידידותי, )active intruder(ממשיות

.ועוד

:שני ביטויים קצריםניתן להציג , באופן כמעט מתמטי

• C=Ek(P) –ה. הליך הצפנה מתאר ת- ciphertext מתקבל מהפעלת encryption על

.k באמצעות המפתח plaintext -ה

• P=Dk(C) –ה. וזהו תהליך הפענוח- plaintextידי הפעלת - משוחזר עלdecryption על

ששימש להצפנה ויצר k זהו לא בהכרח אותו המפתח .k באמצעות המפתח ciphertext -ה

.כפי שנלמד בהמשך, וזה כבר תלוי בשיטה עצמה,ל" הנciphertext -את ה

המפתחאורך

.דגימונציג כמה שאלות ודוגמאות כדי לה. נושא אורך המפתח באמצע מוסבר 726עמוד מ

Page 105: סיכום - האונ' הפתוחה

105

8 .1 שאלה ◄

אדם . עשרוניותתיש קוד סודי בן ארבע ספרו, לכרטיסים המגנטיים באמצעותם מושכים כסף מזומן

המנסה לפצח intruder -שקול ל, ורוצה לנסות למשוך באמצעותו כסף, המוצא כרטיס כזה ברחוב

ciphertext ,כאשר המפתח הוא הקוד הסודי.

?פתח זהכמה סיביות יש למ .א

איך זה יתכן שהבנקים מחשיבים , בכתוב בספר הלימוד לגבי אורך מפתח בטוחבהתחשב .ב

?קוד קצר זה כבטוח

)126שובה בעמוד ת(

. שהספיקו בהחלט באותה התקופה, בימי קדם הצפנות התבססו על אלגוריתמים פשוטים מאד

ולא היה כל צורך , כי הוא היה כלול כבר באלגוריתם עצמו, לעתים לא היה כלל צורך במפתח מפורש

. להחליפו באחר

שפיצוח שלהם דורש ניסוי מתיש של כל צירופי , כטוביםכיום יש מספיק אלגוריתמים הידועים

כפי שבאה , ומכאן חשיבותו, לכן אלו מטילים את כל חוזק ההצפנה על אורך המפתח. המפתחות

מצריכים חיפוש , אותם נפגוש בהמשך, האלגוריתמים הכי מתוחכמים. לידי ביטוי בספר הלימוד

על סוגי ההתקפות עוד נתעכב . chosen plaintext עומד בפני בעייתintruder -מתיש אפילו כאשר ה

.כאשר נדון בשיטות הקשורות בהן

Substitution

.אתם עומדים עתה לקרוא על טכניקות הצפנה בסיסיות

.729 עד 727עמודים , 8.1.2את סעיף קראו

ו הטכניקות הבסיסיות ניתן לחשוב כאיל, שני הסעיפים הבאיםמתוך הכותרות המופיעות ב

, למען האמת .One-Time Pads - וSubstitution Ciphers ,Transposition Ciphers: מתחלקות לשלוש

הצבה: דהחלוקה הראשונית היא לשתי טכניקות בלב, וכפי שכתוב בספרים אחרים בתחום

)substitution (תמורהו) transposition .(ה- One-Time Pad ונסביר אותו , הוא משהו אחר לגמרי

.בהמשך

לא באמת Substitution Ciphers -הקטע המתייחס ל. נוסיף עוד הערה, בהתייחס לכותרת עצמה

אלא יותר מציג את , אלגוריתמים מוכרים בעלי שמות ומסורתכלומר, שונים) ciphers(קר קודים סו

.Substitution Techniquesכותרת מתאימה יותר יכולה להיות . הרעיון באופן כללי

Page 106: סיכום - האונ' הפתוחה

106

המאפשרת , וכן גרסה כללית יותר, המקוריCaesar cipherהקוד היחיד המוזכר בשמו המפורש הוא

שימו לב שהקוד המקורי הוא אלגוריתם . ולא רק שלושה, של תווים באלפביתkהזזה של מספר

.זהו אחד החריגים אותם הזכרנו במבוא. שאינו משתמש במפתח

8 .2 שאלה ◄

זה העושה , הכלליCaesar cipher ידי-שיוצר על, באנגלית ללא רווחים ciphertextנתון בידיכם

, זהירות? plaintext -כדי לפצח את ה, כמה מפתחות שונים עליכם לנסות. kשימוש במפתח סודי

...השאלה לא קלה כמו שהיא נראית

)126תשובה בעמוד (

שזהו הכינוי לשיטה בה , monoalphabetic substitution מובאת דוגמה פשוטה של 728ראש עמוד ב

מובאות מיד כזה ciphertextת פיצוח של ושיטמספר . לכל אורך הטקסט, לכל סימן יש תחליף קבוע

.כך-אחר

500 - כבר למעלה מוהיא מוכרת, polyalphabetic substitutionכללית מתקדמת יותר נקראת שיטה

אך כדאי להבינה כחלק מההתקדמות בלימוד השיטות , היא אמנם אינה מוזכרת בספר. שנה

, ידי סימן אחד קבוע-כאן העיקרון הוא שסימן מסוים לא מוחלף תמיד על. הטובות והמורכבות יותר

קבוצות י תאפשר להשתמש בש, לדוגמה. אלא יש תבנית מסוימת להחלפה בסימנים שונים

monoalphabeticעבור הזוגי והשני- עבור סימנים במקום אית משמשנהכאשר הראשו, ות שונ

אך אינה חסינה , שיטה שכזו מקשה מאד על פיצוח ידני בעזרת ניחוש מלים.סימנים במקום זוגי

.בפני פיצוח ממוחשב

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

לקחנו . monoalphabeticידי פירוקו לקבוצות של -על, מסובךpolyalphabeticדוגמה המפצחת קוד

והצפנו אותו באמצעות קוד , "עליסה בארץ הפלאות" מתוך הספר , שורות25טקסט באורך

polyalphabeticשכל אחד מהם משמש להצפנת , כלומר יש לו שישה מפתחות. המורכב משש קבוצות

.וכן הלאה... , 13, 7, 1המפתח הראשון מצפין את האותיות במקומות . ותיות אחרתקבוצת א

יצאנו מהנחה שהמפצח יודע שמדובר בשש . ביצענו ניסוי, כדי להעריך את חסינות הקוד בפני פריצה

ולנסות להשתמש בתדירויות , ולכן ביכולתו להפריד את הטקסט המוצפן לקבוצות, קבוצות נפרדות

עם תדירויות , לפני ההצפנה המשווה את תדירויות האותיות טבלה אז בנינו .נפרדבכל קבוצה ב

לגלות כמה המסייעת למפצח גם שיטה יעילה להפליא קיימת , דרך אגב. ידועות בשפה האנגלית

.אך לא נפרט אותה כאן, polyalphabeticקבוצות כלולות בקוד

, מכילה את כל אותיות השפה האנגלית ראשונה משמאלהעמודה ה . מחולקת לארבע עמודותהטבלה

בעמודה השלישית המיון הוא ). תוכן העמודה השניה(בקטע המוזכר ממוינות לפי תדירות הופעתן

העמודות השלישית והרביעית .)תוכן העמודה הרביעית (הממוצעת בטקסטים רגיליםלפי התדירות

, שימו לב להתאמה המצוינת .מידעת התחום אבטחבוהן נלקחו מתוך ספר לימוד , מהוות כלי פיצוח

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

Page 107: סיכום - האונ' הפתוחה

107

השפה האנגלית עליסה בארץ הפלאות % אות % אות

E 12.9 E 14 T 12.26 T 9.85 S 9.03 A 7.49 O 8.39 O 7.37 A 7.74 S 6.95 I 7.74 N 6.74 L 7.74 I 6.65 N 6.45 R 6.14 R 4.52 H 4.22 H 3.87 D 3.62 U 3.87 L 3.57 M 2.58 C 3.54

C 1.94 M 3.39 P 1.94 U 3 D 1.94 P 2.43 W 1.94 F 2.18 F 1.29 G 1.74 G 1.29 W 1.69 Y 1.29 Y 1.64 K 0.65 B 1.29 V 0.65 V 1.16 J 0 K 0.47 Q 0 X 0.28 X 0 J 0.27 B 0 Q 0.26 Z 0 Z 0.04

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

אומרת שאם לאחר -זאת. יש השפעה מקומית בלבדplaintext -היא של, המבוססת על הצבה בלבד

החדש שנקבל ciphertext -אזי ה, הפעם שונהxבו רק הסימן במקום , אחרplaintextההצפנה ניקח

.xנה רק בסימן שבמקום יהיה שו

Transposition

בדומה . מודגם באמצעות שיטה אחת ספציפיתאלא , נלמד בספר בצורתו הכלליתנושא זה אינו

שיטות המבוססות על תכוללה, הם משפחה גדולה transposition סוגקודים מ, substitution -ל

וכדאי , ורכבת יחסית השיטה שהודגמה בספר היא מ.החלפת מיקום סימנים ללא הצבה כלל

.שתשקיעו זמן בהבנתה בעזרת תרגולה על גבי טיוטה

.730 -ו 729עמודים , 8.1.3את סעיף קראו

, על יחידות בגודל קבוע) תמורה(זה מקובל מאד לבצע את פעולת הערבוב . שימו לב לבלוק הטקסט

כדי ) padding (במקרה הצורך ניתן להוסיף סימני ריפוד. לפי אלגוריתם הידוע לשני הצדדים

.להשלים את הסימנים החסרים

8 .3 שאלה ◄

?729בעמוד , 8-3 תרשים בדוגמה שבpadding איזה אותיות מהוות

)126תשובה בעמוד (

, בדרך כלל מלים ידועות מראש. יצוח יעילות ופשוטותגם הפעם שיטות הפ, כפי שניתן ללמוד מהספר

מלה אחת , בשיטה המודגמת בספר. מסייעים בזיהוי תבנית התמורהtrigrams - וdigramsוכן

.וכן את הסדר שלהן, הזהה למספר העמודות, הידועה מראש יכולה לחשוף את אורך המפתח

Page 108: סיכום - האונ' הפתוחה

108

הלקוח , הטקסט שהוזכר קודם לכןמובאות כאן תוצאות של פיצוח ממוחשב של אותו , לדוגמה

בדומה , תווים4x6 בבלוקים של transpositionשיטת ההצפנה היא ". עליסה בארץ הפלאות"מהספר

.columnar transpositionגם שיטה זו מכונה , דרך אגב. לשיטה שבספר אך ללא ערבוב עמודות

היא מסתמכת על ניסוי וטעייה . אך פועלת היטב הפעם, בניתשיטת הפיצוח המודגמת היא חוב

, הנפוצים ביותרdigrams -ובחינת תדירות הופעת עשרת ה, ממוחשבים של גדלי בלוקים שונים

גם נבדקה תדירות ההופעה , בלי קשר לפיצוח. של אותם עשרהסכום התדירויותבאמצעות בחינת

: לפי ההתפלגות הבאה, הופעות163תוצאה היא ה. קרנותססתם בשביל ה, בטקסט לפני ההצפנה

th=33 he=32 er=15 in=24 re=13 an=17 at=3 en=9 or=13 ot=4 .תוך כדי ניסוי , הבדיקה של הטקסט המוצפן

:את התוצאות הבאותהעלתה , 7x7 ועד 2x2 -וטעייה של כל גדלי הבלוקים מ

סכום תדירויות מידות2x2 58 2x3 61 2x4 55 2x5 59 2x6 63 2x7 57 3x2 62 3x3 52 3x4 59 3x5 57 3x6 55 3x7 55

4x2 117 4x3 144 4x4 146 4x5 145 4x6 168 4x7 150 5x2 64 5x3 68 5x4 66 5x5 65 5x6 58 5x7 58 6x2 63

6x3 49 6x4 60 6x5 56 6x6 56 6x7 57 7x2 62 7x3 64 7x4 60 7x5 59 7x6 60 7x7 61

One-Time Pads

אלא משהו אחר , transposition - וsubstitutionזו אינה טכניקה בסיסית העומדת בשורה אחת עם

לעתים , פעמי ומאד ארוך- מתייחסת לצפנים שהמפתח שלהם חדone-time padשיטת . לגמרי

או שימוש , של חלק מהטקסטכתוצאה מכך פיצוח . אקראי לחלוטין או לפחות קרוב לכך

.לא בהכרח יסייע בידי הפורץ לפצח את שאר הטקסט, known-plaintext attack -ב

החל , את המשך הסעיף. 731 -ו 730עמודים , 8.1.4את סעיף קראו

.אינכם צריכים לקרוא, Quantum Cryptography -מ

שני עקרונות בהצפנה

-בכל. ובעיקר הבחירה דווקא בשני אלו, בגלל הבחירה בשני עקרונות בלבד, ף תמוה למדיזהו סעי

, הוא נושא חשוב בפני עצמוredundancy -ה. ויש להכירו ולהבין במה מדובר, הנושא מעניין, זאת

.אך אינו קשור ישירות למה שנלמד בקורס זה

.736 -ו 735עמודים , 8.1.5 סעיף אתקראו

Page 109: סיכום - האונ' הפתוחה

109

הצפנה בבלוקים .8.2

.שאינו כלול בספר הלימוד, לקראת המשך נושא ההצפנותחומר רקע זהו

אלו .עסקו באותיות, )transposition(ותמורה ) substitution(הצבה , השיטות הפשוטות שהצגנו

חולשתן נובעת מעצם .שאינן עמידות בפני פיצוח ממוחשב, שיטות המתאימות להצפנה ידנית

:ותיות בלבדהעיסוק בא

ניתן לבדוק תדירות מופעי . ולכן גם מספר האותיות המוצפנות קטן, מספר האותיות קטן •

.אותיות

.כמו זוגות ושלישיות, גם עבור צירופיםסטטיסטיקה מוקדמתקיימת •

אך מקובל להשתמש , תשמש אותנו לתיאור קוד מבוסס אותיות בלבד) substitution(אמנם הצבה

בלוקים בני קוד הצבה המחליף בין , לדוגמה .תאר הצבה על בלוקים של סיביותבמונח זה גם כדי ל

. ערכים אפשריים264ערך אחד מתוך , מציב לכל בלוק כניסה, לפי טבלה מוכנה מראש, סיביות64

, הטבלאות השונותמספר המפתחות השונים הוא כמספר . טבלת ההצבה בקוד שכזה הוא המפתח

).עצרת (264!כלומר

ולכן הצבה של , וטעייה היא בלתי אפשרית-מספרים אלו מלמדים כי פריצת המפתח באמצעות ניסוי

ובלתי אפשרי להעבירו בין , המפתח ארוך מאדאבל גם נובע מהם כי . חזקה דיהבלוקים כאלו היא

.א מעשיתאפילו החזקת מפתח כזה בזיכרון היא ל. שני צדדים המעונינים לתקשר באופן מוצפן

.DESכאשר נציג את , ונחזור אליו עוד מעט, נעזוב עכשיו נושא זה

סימטרי-הצפנות מפתח .8.3

זו משפחה של שיטות שבכולן נעשה שימוש )symmetric-key systems(שיטות המפתח הסימטרי

שך על שיטת המפתח הציבורי בהמ. ולכן הוא מכונה סימטרי, באותו המפתח לצורך הצפנה ופענוח

)public-key( ,שבמובן מסוים זו השיטה הנגדית למפתח הסימטרי.

אין קורס אבטחת מידע בעולם שאינו . הותיקה DESהסעיף מקדיש חלק ניכר מההתמקדות לשיטת

. השיטהשלעיקרי טוקול נציג עבורנו מהווה הפרו. וכך נעשה גם אנחנו, בצורה כלשהיDES -עוסק ב

.738 -ו 737עמודים , הסעיףקראו את פתיחת

S-boxו - P-box

ההצפנה המודרנית אינה מסתפקת עוד בשיטות , וגם בגללם, תודות למחשבים וציוד אלקטרוני

substitutionבסיסית המבצעת ) hardware(בקטע שקראתם מוצגת חומרה . הבסיסיות שלמדנו קודם

Page 110: סיכום - האונ' הפתוחה

110

)S-box (ו- transformation) P-box ( המכונה גםpermutation) ות החומרה הסיבה לחשיב ).תמורה

.כפי שנלמד בהמשך, DES -והיא קשורה דווקא ב, הזו אינה מוסברת בספר

DESהבסיסי

ולכן כדאי אפילו , עצמו וזכות קיומו היא חלק בלתי נפרד מהאלגוריתםDESסטוריה של יהה

.להרחיב ולקרוא עליה מעט באינטרנט או בספר לימוד אחר

.741 עד 738עמודים , 8.2.1סעיף קראו את

אלא נתעניין יותר , בקורס הזה לא נתעמק בשאלה מדוע הערבוב האינטנסיבי הזה נחשב לבטוח

תוך שימוש במפתח , )bits( סיביות 64 של בלוקיםהמצפין הוא אלגוריתם DES. בתוצאה הסופית

כל שינוי של סיבית אחת , סיביות64בהתייחס להצפנת בלוק בודד של . )bits( סיביות 56ארוך בן

).ciphertext(גורם לשינוי רב בתוצאת ההצפנה ) plaintext(או במידע ) key(במפתח

מנצלת את הטוב DESשיטת . 109אותו הצגנו בעמוד , עכשיו נחזור לנושא ההצפנה בבלוקים

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

ניתן , כלומר. השורות264בת , הן מחולל של טבלת המפתח, סיביות של המפתח56לומר כי אותן

-הסיבה ש. ולמלא את טבלת המפתח, ולהצפינםplaintext -לקחת את כל הבלוקים האפשריים של ה

DESהיא שאם מישהו מצליח למצוא מהו בלוק ה, נחשב חזק- plaintext המתאים לבלוק ciphertext

ואפילו לא ללמוד מכך דבר מה על שורה אחרת בטבלת , אין הוא יכול לדעת מהו המפתח, כלשהו

.המפתח

המטרה היא . transposition - וsubstitutionיות של שיטות בסיס פועל באמצעות DESלא לחינם

הפיצוח מבוסס לרוב . גם תוך שימוש בחומרה המאיצה את התהליך עוד יותר, להצפין מהר יחסית

.שזהו מספר עצום, 256שהם כמובן , על ניסוי כל המפתחות האפשריים

כפי , ורך המפתחהקשור בדרך מסוימת גם בא" חוזק ההצפנה"רבים מכם בודאי נתקלו במונח

אתם כבר נמצאים בשלב בו ברור לכם בודאי שאורך המפתח . 726שכבר הזכרנו בהקשר של עמוד

ניתן , DESאבל כאשר מדובר באלגוריתמים דוגמת , כי צריך גם אלגוריתם טוב, הוא לא כל הסיפור

ונים מתכו, סיביותxכאשר מדברים על חוזק הצפנה של . להתמקד בדיון באורך המפתח בלבד

2xולכן הפיצוח דורש ניסוי וטעייה של כל , סיביותxאורך המפתח הוא , שהאלגוריתם ידוע כטוב

.המפתחות

סיביות 112חוזק מפתח של מספק ה, triple DES with two keysועכשיו נדון בפתרון המכונה

)bits( ,שיטה זו נחשבת חזקה. סיביות112באורך כולל של שהם גם , וזאת במחיר של שני מפתחות ,

) double DES(הסיבה מדוע לא מסתפקים בהצפנה כפולה . והיא כלולה בסטנדרטים פופולריים

מספר עבודות . סיביות57המקטינה את חוזק המפתח לסדר גודל של , קשורה להתקפה תיאורטית

המקטין לכאורה את אורך , triple DES גם של בתחום הראו פתרונות לא מעשיים לפיצוח חלקי

Page 111: סיכום - האונ' הפתוחה

111

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

.chosen plaintext זוגות של 256אך דורש , סיביות

AES

.745 עד 741עמודים , 8.2.2 סעיף אתקראו

AESשמטרתו להחליף את , הוא תקן חדישDES .פתיחותו הרבה נספר ש, מעונינים להשתמש בול

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

אופני הצפנה מתקדמים

איתן ניתן להתמודד באמצעות וריאציות של, יש כמה חולשות ההצפנה מבוססות הבלוקים תולשיט

. לאחרתלכל שיטה יש יתרונות וחסרונות ביחס. השיטות הבסיסיות

.750 עד 745עמודים , 8.2.3את סעיף קראו

:לסיכום השיטות

1. electronic code book (ECB) -כל , השיטה הרגילה בה ההצפנה היא של בלוקים בודדים

.בלוק בפני עצמו

2. cipher block chaining mode (CBC) – היוצר , סיביות בשרשור64 הצפנת בלוקים בני

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

electronic code book ,סיביות לפני כל משלוח64 -הצורך להמתין לאך סובל כמוהו מ .

סיביות בצד 128ם לשיבוש רגישות נוספת היא ששיבוש סיבית אחת בזמן המשלוח גור

נשלח אף IVשימו לב שהוקטור . מופיע בספר, הכולל הצפנה ופענוח, מלאתרשים. המפענח

.ביחס לשאר השיטותשיטה זו נחשבת לפופולרית ביותר . C-1בתור , ללא הצפנה, הוא

3. cipher feedback mode (CFB) –ית הצפנת כל ב)byte( ,פותרת את הצורך , תוך כדי שרשור

יש לשים לב , 8-12 תרשיםהמודגם ב, כדי להבין את אופן הפעולה. סיביות64 -להמתין ל

בכל , מבלי לשנות את תוכנו, )shift register( מבוצעת על אוגר ההזזה ההצפנה. לכמה דגשים

).bits( סיביות 64שהם ) bytes( בתים 8ר זה מכיל אוג. אחד) byte(פעם ששולחים בית

4. stream cipher mode–אלא שימוש בשיטת ההצפנה רק כדי , כאן אין כלל פעולת שרשור

כי אין בו , התוצאה היא קוד חסין טעויות באופן יחסי. אינסופיone-time padלייצר מעיין

כאן יש , אמיתיone-time pad -להבדיל מ. ECB -ומה ללפיצוח בדאך פגיע , שרשור

. והמפתחIV -ולכן כדי לפצח יש לנחש רק מהו ה, מחזוריות ושיטה

Page 112: סיכום - האונ' הפתוחה

112

5. counter mode - כלומר גישה ישירה, השיטה המורחבת היחידה המאפשרת גישה אקראית ,

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

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

8 .4 שאלה ◄

. monoalphabetic substitution הוא בעצם ,ECBהנקרא , הבסיסיDES - נאמר במפורש שבספר

.הסבירו את כוונת המשפט

)126ה בעמוד תשוב(

אינם מבוצעים באמצעות טבלה מוכנה DES של נסביר מדוע ההצפנה והפענוח, בהמשך לשאלה זו

וצריכים להכין טבלה , תדמיינו מצב בו אתם מקבלים מפתח מסוים. monoalphabeticבסגנון , מראש

.הליך ללא מעשימה שהופך את הת, 264מספר השורות בטבלה יהיה . כזו

8 .5 שאלה ◄

. נאמר כי שיבוש במשלוח של סיבית אחת יגרום לשיבוש בפענוח של שני בתים בלבדCBCבשיטת

.747בעמוד , (b)8-12 תרשיםבירו כיצד ניתן ללמוד זאת מהס

)126תשובה בעמוד (

.751 -ו 750עמודים , 8.2עד סוף סעיף או קר

8.4. RSAומפתח ציבורי

מכהן אצלנו כנציג מכובד ומפורסם של משפחה שלמה של צפנים RSAפרוטוקול , DES -בדומה ל

, )asymmetric key( היה אפשר גם לכנותם מפתח אסימטרי ).public key(המכונים מפתח ציבורי

.אך זה לא מקובל, DESה של בתור ההפוך למשפח

ציבוריהמפתח עקרונות ה

קודם כל . התעלמנו מכמה בעיות טכניות הנוגעות לסודיות המפתח, ומשפחתוDESכשהזכרנו את

בעיה נוספת ? עולה השאלה איך קובעים מפתח סודי עם מישהו מרוחק מבלי שהמפתח עצמו יתגלה

, לכל ישות איתה מחליפים מידע סודיאחד, היא הצורך בהחזקת מפתחות רבים במקום סודי

.והחלפתם כל פרק זמן

Page 113: סיכום - האונ' הפתוחה

113

.753 - ו752עמודים , 8.3.1סעיף עד , 8.3קראו את ההקדמה של סעיף

ספרים רבים נוהגים . שיילוו אותנו גם בהמשךBob - וAlice -בקטע הנלמד פגשתם לראשונה ב

זכרו שלמרות הרומנטיקה . ך נעשה גם אנו במדריך הלמידהוכ, מתוך נוחות, להשתמש בשמות אלו

הכל תלוי בהקשר . או סתם מחשביםroutersאלו יכולים להיות גם זוג , המשתמעת מהשמות

.והפרוטוקול הנלמד באותו הרגע

ולכן ננסה קודם להתבונן , אינו טריוויאלי) public key(הרעיון העומד מאחורי שיטות מפתח ציבורי

השאלה הבאה תסייע לכם לוודא כי אתם מבינים במה . לקוח העושה שימוש בשיטה כזובו מצד ה

.מדובר

8 .6 שאלה ◄

. המוצפנות באמצעות שיטת מפתח ציבורי כלשהי, אתם מעונינים לקבל הודעות מאנשים שונים

?מאיזה סוג וכמה, יוק אמור לרכוש מפתחותמי בד, בהנחה שמפתחות יש לרכוש מגוף מסוים

)127תשובה בעמוד (

. הנוגעים לכל צופן מפתח ציבורי, 752אופן הפעולה העקרוני מוסבר על ידי שלושת העקרונות בעמוד

):decryption(והפענוח ) encryption(או מפתח של ההצפנה / מתייחסים לתהליך וD - וEהסימנים

.D - וEזו מעיין הגדרה של . plaintext יניב ciphertext -דרישה טריוויאלית שפענוח ה .1

תנאי זה ). ציבורי-הצפנה (Eמתוך ידיעת ) פרטי-פענוח (D את המפתח לחשבקשה מאד .2

.אך הוא אינו מאפשר פיצוח קל, D - וEרומז שיש כמובן קשר בין

נראה שזהו פשוט . שהוא המפתח הגלוי, דווקאE -בניסוח המקורי בספר יש התייחסות ל .3

.chosen-plaintext-attack -המסר הוא שהצופן חייב להיות חסין ל. ניסוח משובש

8 .7 שאלה ◄

ואינה , public key - ליותר רלוונטית chosen-plaintext-attack -למה הדרישה של חסינות הצופן ל

?DESמופיעה בפרוטוקולים דוגמת

)127תשובה בעמוד (

)RSA) Rivest-Shamir-Adelmanאיך פועל

.754 -ו 753עמודים , RSAקראו אודות

Page 114: סיכום - האונ' הפתוחה

114

. די מכפלתםשנוצר על י, מבוססת על הקושי למצוא שני גורמים ראשוניים של מספר ענקהשיטה

:אופן הפעולה

מאות בני במציאות בוחרים מספרים . q - וp שני מספרים ראשוניים גדולים ובחר .1כדי שניתן , אבל בתרגילים עבורכם המספרים יהיו קטנים בהרבה, ספרות כל אחד

.יהיה להתרשם מהתהליך ידנית

.z=(p-1)*(q-1) - וn=p*q: את ערכי המכפלות הבאותוחשב .2

שוב משיקולים של , בתרגילים שלכם.zשאין לו גורם משותף עם d מספר ובחר .3שפשוט אינו מהווה גורם , בוחרים לרוב במספר ראשוני, הקלה על התהליך הידני

. בעצמוzשל

האמורים לבדוק מתי , הכוונה כאן לניסוי וטעייה. e*d=1 (mod z) המקיים e ומצא .4 .1 תיתן שארית z במספר e*dהחלוקה של

בהדגמות .2k<nכאשר מתקיים , סיביותkקסט המקור לבלוקים באורך את טוחלק .5, כאשר נתייחס לכל תו כבלוק של מידע, תווים בודדיםשלנו נצפין בדרך כלל

. עוד משהו דומהa=1 ,b=2ולעתים נבטא אותו במספר סידורי כלשהו כמו

, זקה בחPזאת אומרת שיש להעלות את . C=Pe (mod n)ידי - כל בלוק עלינוהצפ .6 .ולקחת רק את השארית, n -ואחר כך לחלק ב

.P=Cd (mod n)ידי -פענוח על .7 .אין כמו דוגמה טובה כדי להסביר את כל הסיפור הארוך הזה

8 .8 שאלה ◄

.q=13 - וp=11כאשר , RSAבאמצעות ) ערך עשרוני (7 -עליכם להצפין תו המקודד כ

)127שובה בעמוד ת(

, בדוגמה שלנו נבחרו מספרים קטנים. 6 - ו4 בצעדים modשימו לב לתחביר והשימוש השונה בסימן

המספרים 7 - ו6בשלבים . 1כפי שמציין צעד , אך כמובן שבמציאות מדובר במספרים עצומים

כדי להתמודד עם . ב כיס לא יוכל לעזור לכםואז מחש, עשויים לצאת גדולים בגלל ההעלאה בחזקה

:הנובע מכללי החזקות והשארית, תוכלו להיעזר ברמז הבא, מספרים כאלו

5mod)5mod35mod3(5mod)33(5mod3 42426 ⋅=⋅=

משמש לרוב RSAנאמר כי . RSAלגבי שימושו האמיתי של , קטע הקריאה מסתיים בהערה חשובה

ומסומן , )session key(ה מפתח שיחה מה שמכונ, רק להעברת מפתח זמני עבור השיחה הנוכחית

תוך הצפנתו , משמש בשיחה עצמה להעברת המידעsession keyאותו . Ks -בהמשך הספר ב

.IDEA או DESכמו , כלשהוsymmetric keyבפרוטוקול

Page 115: סיכום - האונ' הפתוחה

115

8 .9 שאלה ◄

מה החסרון , זאת אומרת? לשיטת הצפנה אחתDES - וRSA ים כמוטוקוללמה נהוג לשלב בין פרו

?והיתרון שבשילוב, של כל אחד בנפרד

)127תשובה בעמוד (

.755 עמודב, 8.3קראו עד סוף סעיף

) Digital Signatures(חתימות דיגיטליות .8.5

substitution -פתחנו ב. בספר הלימוד8פרק למדנו עד כה בשטכניקות ה את יחדיו נסקור

בהמשך . אבני יסוד של שיטות מודרניותהמהוות , שאלו הן שיטות הצפנה מיושנות, transposition -ו

למדנו להצפין כ "בסה. public key כנציג של RSA את ו,symmetric key כנציג של DESהכרנו את

)to encrypt (מידע בכמה דרכים שונות.

: להזכירכם המטרות שציינו הן? שהגדרנו כאן במדריך הלמידהיישב עם המטרות איך זה מת

) non-repudiation (מניעת התכחשות, )authentication (אימות המקור, )secrecy (הבטחת סודיות

, היא אמצעי להשגת המטרות) cryptology(התשובה היא שתורת הצפנים . )integrity (בקרת שלמותו

או שילוב כמה /לעתים בתוספת של אלגוריתם מעטפת ו, באמצעות שיטות הצפנה כמו אלו שלמדנו

.שיטות הצפנה יחדיו

פנה כמו אלו כיוון ששיטות הצ, בודאי כבר הבנתם) secrecy(איך משיגים את הבטחת הסודיות

שבמובן , בחתימה הדיגיטליתעכשיו נפנה לעסוק . שלמדנו משמשות ככלי ישיר להשגת המטרה

.מסוים מכסה את כל שלוש המטרות הנוספות

.762 עד 755עמודים , 8.4.4עד סעיף קראו

חתימה מבוססת מפתח ציבורי

, ולתוצאה המעניינת, שימו לב לסדר הפעולות. רק נזכיר שזהו שימוש יפה בעקרון שכבר למדנו

.המספקת את כל מה שחיפשנו בחתימה דיגיטלית איכותית

Page 116: סיכום - האונ' הפתוחה

116

על מה חותמים

למעשה . Pנראה כאילו החתימה מבוצעת על ההודעה המקורית , 758 - ו757לפי הדוגמאות בעמודים

אתם למדים על כך מתוך הכתוב על 759בעמוד . וברוב המקרים זה רחוק מכך, אין זה בהכרח נכון

message digest .המייצג , הרעיון מאחורי פרוטוקול כזה הוא לייצר קוד קצר מתוך טקסט ארוך

קשה לייצר , בנוסף. כל שינוי קטן בטקסט המקורי ייצר קוד אחר, כלומר. אותו בצורה טובה יחסית

.למרות שהאלגוריתם ידוע לכל, טקסט אחר שיפיק אותו הקוד

כי לעיתים חלקים ממנה עשויים להשתנות , לא תמיד כדאי לחתום על הודעה בשלמותהעוד נעיר כי

חייבת לחתום רק על החלק המכיל מלל ) שכבת היישום(חתימה דיגיטלית בדואל , לדוגמה. בדרך

שמא , צריכים להיות בחלק נפרד, שדות משתנים בהם עושים שימוש שרתי הדואל. משמעותי

.תתקבל אזעקת שווא

של חתימהשלם תיאור

ציבורי -העושה שימוש בשיטות מפתח, נפרט כיצד פועל פרוטוקול טיפוסי, לצורך הדוגמה

)public key( , לצורך חתימה על הודעהpכלשהי :

.זו עדיין לא החתימה הדיגיטלית. message digest כדי לייצר hashהשולח מפעיל פונקצית .1

). private key(נתו עם המפתח הפרטי שלו באמצעות הצפmessage digest -הוא חותם על ה .2

.dsאותה נכנה , )digital signature(זו החתימה הדיגיטלית

.בצורה כזו שהמקבל יידע להבחין ביניהם, ds - וpהכולל את , עכשיו מתבצע המשלוח .3

שימו . של השולח) public key(ומפענח אותו בעזרת המפתח הציבורי , dsהמקבל נוטל את .4

ל "שם המפתח הנ. authentication -שהיא הפוכה מהפעולות שביצענו בסעיף ה, זולב לפעולה

.שימש להצפנה

כדי לייצר את , שהוא קיבלpעל , 1 מסעיף hashבמקביל הוא מריץ את אותו אלגוריתם .5

. התואםmessage digest -ה

כי סביר מאד, אז החתימה נחשבת תקינה, 5 תואמת את תוצאת צעד 4אם תוצאת צעד .6

. שנשלחp שהתקבל זהה לאותו p -ש

8 .10 שאלה ◄

אך אין התחייבות על , שההודעות זהות" סביר מאד"ונאמר כי , ההתנסחות כה זהירה6מדוע בצעד

.במה זה תלוי בדיוק. כך

)127תשובה בעמוד (

Page 117: סיכום - האונ' הפתוחה

117

הולדתה-פרדוקס יום

למעשה . נבהיר את הבסיס המתמטי של התקפה זו, birthday attack -לפני קריאת הקטע הדן ב

ברמה שאינה עולה על זו שלמדתם בקורסים כמו מתמטיקה דיסקרטית או , מדובר בחישוב רגיל

.birthday paradoxומכאן הכינוי , המיוחד בתופעה הוא בתוצאה המפתיעה. הסתברות

מהי , סטודנטים23כאשר יש בכיתה : אך מהכיוון השני, נשאל את אותה השאלה כמו בספר

?)נתעלם משנים מעוברות(הולדת באותו היום -ההסתברות שלפחות שניים מהם חוגגים יום

.1 -ואז נחסר מ, כלומר שכל סטודנט יחגוג ביום אחר, נחשב מה ההסתברות למקרה ההפוך

ההולדת באופן -נבדוק מה יקרה אם כל הסטודנטים בוחרים ביום, ב המדגםלצורך חישוב מרח

23365: אקראי

: לבחירת ימים שאינם מתנגשיםהחליפותמספר )!23365(

!36536523 −

=A

493.0: הולדת ביום אחר-ולכן ההסתברות שלכל סטודנט יהיה יום36523

36523 ≈

A

507.0: הולדת באותו היום-ם יהיה יוםכ ההסתברות שלשניי"ובסה365

1 23

36523 ≈−

A

.765 עד 763עמודים , 8.4.4קראו את סעיף

אבטחת התקשורת .8.6

, הנושאים הללו עדיין מתפתחים. סעיף זה מדגים כמה שימושים מסחריים לטכניקות שלמדנו עד כה

.ופרטי המימוש המדויקים אינם כה מהותיים

IPSec

VPNמתאים במיוחד למימוש . IPעבור פרוטוקול , ורת בשכבת הרשתתקן מתפתח לאבטחת תקש

מבחינת יכולתו לעבוד עם , זהו תקן פתוח. וגישה מרחוק לרשת מקומית) על כך בהמשך(

מעצם , היא מהפעילים המרכזיים בגיבוש התקןCiscoחברת . קיימים ועתידיים, אלגוריתמים שונים

.מובילה) routers(היותה יצרנית נתבים

, 8.6.2עד סעיף קראו . אותו לא נלמד כלל במהלך הקורס, 8.5אנו פוסחים על סעיף

.776 עד 772עמודים

Page 118: סיכום - האונ' הפתוחה

118

Firewalls

באגים : מסוגים שונים, אחת למספר בעיות אבטחה-מחשב המתחבר לרשת האינטרנט נחשף בבת

בעיות בסיסיות, חולשות ידועות במערכת ההפעלה, תצורת ברירת מחדל פרוצה, בתוכנה

.'בפרוטוקולים ידועים וכו

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

ולכן המחשב שלו יכול להוות נקודת כניסה עבור , מחובר לרוב לרשת מקומית, בארגון לעומת זאת

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

נוסיף לכך את העובדה שטיפול . גדול יחסית, הידועות שהוזכרו לעיל כאשר מספר המחשבים בארגון

ונגיע , וללא יכולת להוכיח כי מחשב כלשהו מוגן היטב, במחשבים נעשה בדרך כלל תחת לחץ זמן

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

אבטחת הרשת היא פונקציה של המחשב , Firewallבסביבה ללא יפה מסכם את העניין כך שמשפט

.הכי פחות מוגן בארגון

ברמה שתאפשר פעילות , המסוגל לחצוץ בין רשתות מחשבים, ברור כי קיים צורך במגן גלובלי

לעומת , הצורך בשומר בפתח בניןאנלוגיה לסוגיה זו היא. ותמנע ככל האפשר פעילות עוינת, חיובית

עם , או יציאה של אנשים/תפקיד שומר הבניין לאפשר כניסה ו. שמירה פרטנית בפתחו של כל חדר

כך הוא עשוי למנוע מצבים שליליים שלא נחזו . וזאת נעשה לפי הגדרות כלליות, או בלי ציוד מסוים

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

Firewallהגנה על מחשב בודד עליו הוא , יכול לבצע משימות נוספות כמו הגנה על שרתי אינטרנט

כיוון , בכל זאת אנו נתמקד בשימוש המודגם בספר. מותקן או חציצה בין מדורים באותו הארגון

.צרים הללוומהווה גורם מוביל במכירות המו, שהוא הקריטי והנפוץ מכולם

ונובעת מכך שחברות רבות מייחסות , משמעית-הגדרתו אינה חד, כמו כל מוצר מסחרי מצליח

.כדי להאדיר את תכונותיהם, "firewallיכולות "למוצריהן

.779 עד 776עמודים , 8.6.2את סעיף קראו

. מוזכרים בספרFirewallשני מרכיבים בסיסיים של

שזהו מנגנון פשוט המבצע סינון מבוסס פרוטוקולים , packet filterהוא שהוזכר הראשון הרכיב

. זולים מאד מצוידים באפשרות לבצע סינון ברמה כזוroutersגם , כיום. מקור-וכתובות יעד

מסוים של תקשורת ברמת שזהו רכיב ייעודי לסוג , application gatewayהמנגנון השני המוזכר הוא

mail gatewayכדוגמה מוזכר . כ רק ליישומים"המסוגל לבצע סינון מבוסס תוכן המובן בד, היישום

כלומר גלישה , HTTP לפרוטוקול application gatewayסוג נפוץ נוסף הוא . המבצע תיווך וסינון דואל

גלישה באתרים בעלי , ת וירוסיםל לצורך חסימ"קיימים מוצרים שונים המבצעים סינון כנ. Web -ב

.ועוד, תוכן פוגע

Page 119: סיכום - האונ' הפתוחה

119

עוד . packet filtering - מוצרים המכילים יכולת כלשהי שהיא מעבר לFirewallכיום נהוג לכנות בשם

שזו שיטה מסחרית , stateful inspectionכמו למשל , הערה היא שיש שיטות נוספות לביצוע סינון

סקירת השיטות ניתן למצוא במקורות .בספרות המקצועיתשהפכה למעין תקן המוזכר גם , יעילה

.http://www.avolio.com/apgw+spf.htmlכמו למשל , רבים

VPNs

הקשור ישירות למציאות שמכתיבה רשת , מוצר מסחריזהו VPN גם,Firewall -בדומה ל

.האינטרנט

.780 -ו 779עמודים , 8.6.3את סעיף קראו

היא היכולת לקיים תקשורת מלאה על גבי , שאינה מוזכרת בספר, VPNספת של תכונה נחמדה נו

באופן זה ניתן להבטיח את חסינות . מדומותIPבין רשתות הפועלות באמצעות כתובות , האינטרנט

.וכן לחסוך ברכישת כתובות כאלו לארגון, הרשתות הללו מפני גישה מבחוץ

, חסרון בולט שלו הוא ההאטה בתקשורת. לוטין שקוףולא לח, אינו נטול בעיותVPN -שהשימוש ב

לא כל , בנוסף. וכן להצפין ולפענח מידע בהמשך, הנובעת מהצורך לבצע פעולות תיאום ראשוניות

. שינוי באופן המשלוח או שינוי כלשהו בתוכן המידע שהוא שלח, יישום מסוגל לסבול שינויי תזמון

VPN -ובהיבט זה ה, שלא באופן מכוון, מוצר אבטחהקורה לעתים שיישום מסוים רגיש לנוכחות

.אינו יוצא מהכלל

Wireless Security

.אך הוא רשות בלבד, זהו חומר מעניין מאד

Page 120: סיכום - האונ' הפתוחה

120

)Authentication(אימות מקור .8.7

מהו אימות מקור

.786 - ו785עמודים , 8.7.1סעיף עד , 8.7את פתיחת סעיף קראו

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

-בפגישה פנים. מודע שהקול הבוקע מהשפופרת הוא אכן זה הזכור לכם-אתם מוודאים בתת, מכרים

אך מה אתם עושים כאשר אתם מקבלים דואל ממישהו . פנים אתם נעזרים גם בנתונים חזותיים-אל

?אותו אדםאיך אז אתם מוודאים שזהו אכן , שאתם מכירים

, רואים בכותרת המכתבאת זהות השולח אתם . סביר להניח שאינכם מטרידים עצמכם בשאלה זו

. כשם פרטי בצירוף שם המשפחה, ורוב תוכנות קריאת הדואל מציגות לכם אותו בצורתו האנושית

נו אך באופן כללי ניתן לקבוע שרוב, לעתים תוכן המכתב הוא כזה שמסייע לכם לוודא מיהו הכותב

, בהמשך נלמד על תשתית הדואל. שלח לנו את המכתבלא חושדים באפשרות שמישהו מתחזה

ואת , זה שוב המקום להזכיר שלמרות שאנו מזכירים דואל.ותבינו עד כמה הדבר פשוט לביצוע

התקני חומרה , משמש גם בין מחשביםauthentication -נושא ה, Trudy - וAlice ,Bobהדמויות

.)processes(ותהליכים

. ואלגוריתמים שאינם קלים להבנה, ים מורכביםתרשימאתם עומדים לקרוא סעיף המכיל כמה

, לפני הקריאה. ונוודא שהבנתם את עקרונות כל אחד מהם, אנחנו נעבור את המסלול הזה ביחד

אין אפשרות להבטיח בצורה , בכללauthentication -ב: הערה אחרונה חשובה על מבנה הסעיף

. וזו גם גישתו של הספר, כל האלגוריתמים סובלים מפרצות מסוימות. לטת את זהות הצד השנימוח

אלא ייתכן שהוא פגיע , חשוב רק שתבינו שזה לא בהכרח שפרוטוקול מסוים המוצג כאן אינו נכון

.בו יש פחות פרצות באופן מעשי, ולכן מוצג אחריו פרוטוקול מורכב יותר, יחסית

)shared secret key(תח משותף שיטות מבוססות מפ

.790 עד 786עמודים , 8.7.1סעיף את קראו

תגובה -נפתח בהסבר קצר על אתגור. והתקפה אחת מורכבת, הוצגו בפניכם שני פרוטוקולים

)challenge-response( ,בד הבסיסי עוהרעיון . שזו טכניקה כללית בה אנו נעשה שימוש רב בהמשך

בתגובהוהוא , )random(אז אתם שולחים אליו מספר אקראי , מישהולאתגראתם רוצים : בערך כך

, אתם מפענחים אותו, כאשר המספר המוצפן חוזר אליכם. מצפין אותו בצורה שרק הוא יכול

.ומוודאים שאכן זהו המספר ששלחתם

Page 121: סיכום - האונ' הפתוחה

121

אם . בסיסי ביותרchallenge-response המבוססת על, מוצגת השיטה הראשונה8-32 תרשיםב

תרשיםאז , נשלחות בנפרד4 - ו3ומדוע הודעות , Aשאלתם את עצמכם למה נשלחת בכלל הודעה

בגלל ההתקפה המתוארת מיד , אותה התוצאהאך לא זהו בדיוק אותו הרעיון . הוא התשובה8-33

שאם , הקיצור היא מקובלתהגישה הכללית של . מסתבר שהגרסה המקוצרת פגיעה יותר. בהמשך

.רק שהפעם זה לא יצא טוב, רק אפשר אז שולחים כמה דברים שונים באותה ההודעה

Reflection Attack

. זה לא כל כך קיצוני, קודםציינוכמו ש". Unfortunately, it is also wrong" נכתב 787בתחתית עמוד

עקב פגיעותה היא חלשה יחסיתאך, םוהיא עדיין טובה יותר מכלו, השיטה אינה פסולה לשימוש

והיא מנצלת היטב את החסרון , reflection attackההתקפה נקראת . להתקפה קצרה ומעשית

ניתן לראות שגם האלגוריתם 8-35 תרשים ב).symmetric key(שבשימוש במפתח זהה בשני הכיוונים

.פגיע להתקפה דומה, זה הכולל חמישה שלבים,הארוך יותר

שימו לב לסימונים בצד ימין . אחדתרשיםבמובן שכל ההתקפה מופיעה ב, מעט מבלבל 8-34 תרשים

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

שהוא עצמו randomצעות אותו באמBזאת אומרת לאתגר את , KAB(RB)השנייה היא להשיג את

.שלח

8 .11 שאלה ◄

קטן סטודנט הציע שינוי . מוצגת בפניכם התקפה על אלגוריתם המוסבר בסעיף8-34 תרשיםב

הוא שלח בזמן RB יזכור איזה Bob - לדעתו מספיק ש.שיסכל את ההתקפה הזו, באלגוריתם

מדוע באופן מעשי פתרון זה לא . באותו פרק זמןRBא יסכים לפתוח בשיחות חדשות עם ול, האחרון

.הסבירו מה תעשה היא כדי להתגבר על מכשול זה? Trudyיכניע את

)127תשובה בעמוד (

ת נדרשTrudy. ההתקפה לא פשוטה לביצוע כפי שניתן להתרשם, מבחינה מעשיתשימו לב ש

במיוחד לאור זאת שהן מורכבות לעתים משני , ולידיעה מוקדמת של מבנה ההודעות, לדיוק בתזמון

או למנוע /גם התעלמנו לחלוטין מהשאלה איך בדיוק היא מצליחה להתחבר פיזית ו. חלקים נפרדים

, מצד שני.כיוון שזה לא ממש רלוונטי לשכבת היישום, להתקשר ביניהם ישירותBob - וAlice -מ

לא הייתם יכולים לישון , אם האלגוריתם הזה היה בסיס למערכת ההפעלה בה אתם משתמשים

.בשקט

למרות שניתן להתפעל . reflection attackהעמיד בפני , מציג אלגוריתם משופר8-36 תרשים

אינם 3 - ו2שלבים , כלומר. יתרונו העיקרי טמון בעובדה שהוא אינו סימטרי, HMAC -מהשימוש ב

.8-33 - ו8-32ים תרשימלים אלמנטים דומים כמו מכי

Page 122: סיכום - האונ' הפתוחה

122

8 .12 שאלה ◄

ופגיעים , ההופכים אותם לחלשים יחסית, 8-33 - ו8-32 יםתרשימבמהם השלבים הסימטריים

?reflection attack -ל

)128תשובה בעמוד (

Diffie-Hellmanמפתחות עם החלפת

או ליתר דיוק לקבוע מפתח משותף , )key exchange(עכשיו נלמד על שיטה נחמדה להחליף מפתחות

במונח זרים אנחנו מתכוונים הפעם לשניים שאין ביניהם הסכם קודם המכיל מפתח . בין שני זרים

.אלא הם צריכים להתחיל מבראשית, משותף סודי

או לפחות ראוי היה שלא יהיה כלול בתוך נושא , ראוי לכותרת משלוkey exchangeנושא

authentication .אז שימו לב במהלך הקריאה שזהו , הגישה של המחבר מעט מבלבלת במקרה זה

.בכלל נושא אחר

.792 - ו791עמודים , קראו את החומר בנושא

:להלן תיאור מפורט של האלגוריתם

מספרים אלו . העומדים בתנאים מסוימים, g- וnמסכימים על שני מספרים אליס ובוב .1

.כולל טרודי, לויים במהלך השיחה לכל אדםג

ואף , מפתחות אלו יישארו ברשותם. y בוחר מפתח סודי בובו, xבוחרת מפתח סודי אליס .2

.אחד מהם לא יידע על המפתח של השני

שימו לב שוב לתחביר ואופן .gy mod nיר את מעבBob -ו, gx mod n את לבובמעבירה אליס .3

.113כפי שהוסבר בעמוד , mod -השימוש ב

שני החישובים . y(gx mod n) מחשב את בובו, x(gy mod n)את לעצמה מחשבת אליסעכשיו .4

זהו המפתח .)וזה לא טריוויאלי, modular arithmeticלפי חוקי (gxy mod nושווים , זהים

.ורק לשניהם, הידוע לשניהם, שותףהסודי המ

. כי חישובי השארית אינם טריוויאליים, כדאי להתעמק בה. ונעבור מיד לשאלה הכוללת גם מספרים

.לטובת הדגמה ידנית, בחרנו במספרים קטנים ולא מציאותייםRSA -שבדומה ל, שימו לב

Page 123: סיכום - האונ' הפתוחה

123

8 .13 שאלה ◄

.)לפי הפרוטוקול, ומספר נוסף (n=719 - וg=3ושלחה לו את , בוב החליטה לפתוח בשיחה עםאליס

מצאו את המפתח המשותף . 543שלח לה בתגובה בוב .x=16המפתח הסודי בו היא בחרה הוא

.וכן מהו המספר הנוסף ששלחה אליס, ל"הנשיח -שנקבע בסיום הדו

)128תשובה בעמוד (

שפתרונה נראה קל יחסית במקרה היה עליכם לפתור משוואה , טרודיאילו הייתם מנסים לעזור ל

אותם אליס ובובוכן תוצאות חישובי הביניים של , n - וgהמידע הגלוי ברשת הוא הערכים של . זה

לפתור היא טרודימשוואה שעל אזי ה, ל"אם ניקח לדוגמה את המספרים מהתרגיל הנ. שלחו זה לזה

3y mod 719=543 . שכמובן , אליסלרשותה גם עומדת המשוואה הנגזרת מהמספר הנוסף ששלחה

מה , המשוואות אלו נראות קלות לפתרון באמצעות ניסוי וטעיי. 3x mod 719=191נראית דומה מאד

. שיטה זו כמובן איטית ולא יעילה, רים גדולים במיוחדאך כאשר המספ. exhaustive searchשמכונה

-Diffieשיטת החלפת המפתחות של , כיוון שלא מוכר פתרון מהיר יותר לבעיה מתמטית זו

Hellmanנחשבת לבטוחה .

העובדות המוצגות . יכולה לפצח אותוטרודילפיה , מוצגת בעיה לכאורה של הפרוטוקול792בעמוד

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

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

ועכשיו אמורה להיות .)key exchange(אלא להחלפת מפתחות ) authentication(לאימות מקור

.לפני קריאת הקטע בספר הלימוד, ברורה לכם ההערה הזו שהופיע כאזהרה במדריך הלמידה

או bucket-brigade-attackבכל זאת ננצל את ההזדמנות להכיר את ההתקפה המכונה

man-in-the-middle-attack . התקפה זו פועלת היטב כנגד כל פרוטוקול שאין בו ידע מוקדם על

והיא קלה למימוש במיוחד בסביבה בה ניתן ליירט , או שימוש בצד שלישי מוסמך, הצד השני

אנו נתקדם עתה ונלמד פרוטוקולים בהם נעשה , מסיבות אלו. כפי שהודגם במקרה זה, הודעות

וכן פרוטוקולים העושים , על ידע מוקדם על ישויות תקשורתשהוא מרכז הפצה ב, KDC -שימוש ב

. בהמשך זה יהיה ברור יותר.שאף הוא נחשב לידע מוקדם, )public key(שימוש במפתח ציבורי

)KDC(אימות מקור באמצעות מרכז הפצה

לטובת פתרון חסרונות של , בעלות מורכבות הולכת וגוברת, תחת כותרת זו מוצגות שלוש שיטות

טבעי אך הוא , נשמע אולי מסורבל בתחילה) KDC(השימוש במרכז הפצה . יטות הפשוטות יותרהש

, מול גוף מרכזיLoginהכי עוברים שלב -זכרו שברשתות כאלו אתם בלאו. )LAN (ברשתות מקומיות

. או להפנות אתכם לכזהKDCשיכול להיות הוא עצמו

יידי הוא צמצום מספר המפתחות שכל משתמש צריך הרווח המ. ברור למדיKDC -היתרון ב

מה שיכול להבטיח , יתרון נוסף הוא ההיכרות המוקדמת שיש למרכז כזה עם ישויות הרשת. להחזיק

Page 124: סיכום - האונ' הפתוחה

124

יכולת ההגנה על . ולא מתחזה שתפס טרמפ, כי ישות בשם מסוים היא אכן זו המציגה עצמה כך

KDCביםיחסית למפתחות המפוזרים במקומות ר, היא גבוהה.

.794 - ו793עמודים , 8-40 תרשיםעד , הראשוניKDC -קראו אודות ה

המשמעות של הפסיק בהודעה הראשונה היא . 8-39 תרשיםהבה נרענן חלק מהסימנים שפגשתם ב

, KA אומר שתוכן הסוגריים הוצפן באמצעות המפתח ()KAהסימון . שמועברים שני עצמים נפרדים

).DESכמו (הצפנה סימטרית טובה בשיטת , Alice -ששייך כמובן ל

יעילה נגד התקפה כלליתשזו, replay-attack -בפגיעותה לחסרון השיטה הבסיסית הוא

ם כאן זכרו שסוג הנזק שנגר. )challenge-response (תגובה-פרוטוקולים שאינם מבצעים כל אתגור

.אך בכל זאת עשוי להיות משמעותי, הוא מוגבל

delayed duplicates - במשהו את בעיית ההמזכיר, וכן דרכי ההתמודדות עמה, ההתקפה עצמה

גם הפעם . )connection oriented( המקושרת בהקשר של שכבת התובלה, שפגשנו בתחום אחר לגמרי

תרשים הפתרון המוצג ב.לביצוע חוזר בצד המקבלעשוי לגרום , שידור חוזר מדויק של תוכן מסוים

המקבילים למספר הקשר , )challenge-response(תגובה - ואתגורnonce - כולל שימוש ב8-40

.העושה שימוש באישורים, ה המקושרתשל שכבת התובל) handshake(היד -ולחיצת

.795 - ו794עמודים , Needham-Schroederשיטת קראו אודות

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

הוא מאתגר אותה בחזרה . RA2באמצעות , 4 - ו3 בהודעות בוב מאתגרת את אליס.ממעוף הציפור, זו

מבלי שאף אחד מהם יודע , תן מוצפןומ- מאפשר לשניים לנהל משאKDC -השימוש ב. RBבאמצעות

.מהו המפתח של האחר

זו הרי . שכחנו לרגע שצריך גם להעביר מידע, מרוב התלהבות ממורכבות הפרוטוקולים, בשלב הזה

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

בשיטה , Ksמוצפן באמצעות מפתח סימטרי , authentication -המידע מועבר מיד בסיום שלב ה

.)DESו כמ(מתאימה

החיסרון . Ks לפצח את טרודיהוא הקושי של , replay-attackמה שהופך את הפרוטוקול עמיד כנגד

, אליס שהיא בובהיא יכולה לשכנע את , בדיעבדKs מצליחה לפצח את טרודיהקל בשיטה הוא שאם

ל ידי עדכונים תכופים ש-באופן מעשי ניתן למנוע התקפה כזו על. ולפתוח בשיחה חדשה עמו

.KDC -בזכות השימוש ב, פעולה זו פשוטה יחסית. KB - וKAכמו , מפתחות סודיים

.796 - ו795עמודים , 8.7.3עד סוף קראו

Page 125: סיכום - האונ' הפתוחה

125

זו שיטה קצרה מאד להשגת המטרות אותן גילינו במהלך ההיכרות עם Otway-Reesשיטת

אך Bobהמבוצע דרך , RA באמצעות KDC -ה) challenge(שימו לב לאתגור . הפרוטוקולים הקודמים

האומר כי זהו , 795בשורה השישית מסוף עמוד , זאת בניגוד לניסוח המטעה בספר. KDC -מיועד ל

.Bobאתגור של

הן הפצה של מפתח משותף אותו 4 - ו3הודעות . מהסוף להתחלה, להלן תיאור פשוט של הפרוטוקול

, replay-attackכדי למנוע . הנחשבים בטוחיםKB -ו KAמפתח זה מוצפן באמצעות . KDC -קבע ה

זאת אומרת ששניהם מוודאים שתוכן . תגובה על ידי שני הצדדים לשיחה-נעשה שימוש באתגור

.1 את הודעה Alice - ו2 את הודעה Bob, תואם את הודעותיהם הקודמות4 - ו3הודעות

Kerberos

ייעודו . כמו אלו שפגשנו עד כהauthenticationתם עוד פרוטוקול הוא לא סKerberosפרוטוקול

client/serverכמו ותהליכים ) workstations(בהן יש לאפשר לתחנות , העיקרי הוא במערכות מבוזרות

זוכים Windows NTאו / וUnixאלו המכירים את . עם הרשאות מוגדרות, לפעול בסביבה מוגנת

במערכות authentication -ים הרעיונות הבסיסיים שמאחורי מנגנון הלהזדמנות לראות מהיכן שאוב

.הפעלה אלו

.798 עד 796עמודים , 8.7.4את סעיף קראו

Authenticationציבורי - בעזרת מפתח)Public Key(

ודעות בעלות מספר הauthentication עוזר גם לפתח שיטות public keyכוחה של הצפנה באמצעות

. היא רק אחת מאלו8-43 תרשיםהשיטה המוצגת ב. קטן

.799 - ו798עמודים , 8.7.5את סעיף קראו

בעזרתו אפשר להחליף מידע ) public key(ציבורי -כאשר יש כבר מפתח, Ksלמה בכלל צריך את

סימטרי הן מהירות יותר פי-שם נאמר כי שיטות מפתח, ההסבר נתון בספר? מוצפן בצורה בטוחה

כך גדול -במיוחד אם המידע שמעבירים אחר, ולכן כדאי להשקיע בהחלפת מפתחות, 1000 עד 100

.בנפח

. הוא רשות בלבד8 החומר בפרק יתר

Page 126: סיכום - האונ' הפתוחה

126

תשובות .8.8

8 .1 תשובה

ספרות כי בשום מקום לא ראיתם איך מתייחסים לקוד המורכב מ, בכתוזו שאלה קצת מס .א

-זאת אומרת שיש אפשרות לייצר עשרת, צירופים שונים10,000=104לקוד המוזכר יש . בלבד

log210,000נחשב , כדי לחשב לכמה סיביות זה שקול. אלפים קודים שונים בני ארבע ספרות

. סיביות13יותר ממפתח באורך " חזק"זאת אומרת שהקוד קצת . 13 -שזה קצת יותר מ

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

ידי הקשתם -הדרך היחידה לנסות צירופי קודים במקרה זה היא על. שלוקח לנסות כל צירוף

מכאן נובע . שניות לכל צירוף5מה שאורך לפחות , והמתנה מסוימת לתשובה מהמכשיר, הידנית

14זה עדיין היה אורך כמעט , ופים ללא הגבלהשאפילו אם המכשיר היה מאפשר ניסיונות רצ

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

8 .2 תשובה

ciphertext -כי ה, מפתחות25אך המפצח יצטרך לנסות רק , אותיות26אמנם באלפבית הלועזי יש

.זאת אומרת האפשרות שלא בוצעה הצבה אמיתית, k=0 -הנתון מוריד מהפרק את האפשרות ש

8 .3 תשובה

.plaintext - המופיעות בסוף בלוק הabcdאלו הן האותיות

8 .4 תשובה

הרי , סיביות8במקום בתווים של , סיביות64הכוונה היא שאם נתבונן בקלט ופלט ביחידות של

הוא בכל זאת DESיתרון בולט של . שבהינתן מפתח מסוים לכל תו כזה יש תו קבוע שמחליף אותו

וכן הם לא מייצגים באמת אות כתובה שניתן לנחש סתם , האלו הוא עצום" תווים "-בכך שמספר ה

.כך באופן ידני

8 .5 תשובה

מה , P1בצד המפענח הוא מהווה גורם בייצור . ונניח שהוא השתבש בשידור, C1ניקח לדוגמה את

. ומכאן שגם הוא משתבש, P2 המייצר את XOR -הוא משתתף ב, בנוסף. שגורם כמובן לשיבושו

ניתן לראות בבירור . ואילך כבר אינם עושים בו כל שימושP3כי , פיע יותרמשלב זה הוא אינו מש

. בלבדC3 - וC2ידי -שהוא מיוצר על

Page 127: סיכום - האונ' הפתוחה

127

8 .6 תשובה

שיישמר ) סודי(האחד פרטי , אלו יהיו שני מפתחות בלבד. אנחנו אמורים לרכוש את המפתחות

.י ציבורי שיפורסם במקום בולטוהשנ, אצלנו תמיד

8 .7 תשובה

כי המפתח הציבורי הגלוי מאפשר למפצח לייצר אינסוף , שיטת מפתח ציבורי חשופה תמיד להתקפה

ג ולכן קשה למפצח להשי, המפתח היחיד הוא גם סודיDESבשיטה כמו . chosen plaintextזוגות של

.זוגות כאלו

8 .8 תשובה

n=p*q=11*13=143קודם נחשב

z=(p-1)*(q-1)=10*12=120ואת

יכולנו לבחור קודם . 11, למשל. z שמקיים את התנאי שאין לו גורמים משותפים עם eעכשיו נבחר

.אך אין חשיבות לסדר, dאת

.d=11לכן . e*d=11*d=1 mod 120מקיים שdיש למצוא עכשיו

.אך במציאות היא כמובן לא טובה, אינה מהווה בעיה מבחינה מתמטיתe=d -העובדה ש

.C=Pe (mod n)=711 (mod 143)=106 על ידי P=7נצפין את

.P=7ניתן לפענח בחזרה ולראות שאכן

8 .9 תשובה

המורכבת מפעולות מתמטיות יקרות משאבים , הוא באיטיות ההצפנהDES לעומת RSA -חסרון בה

הוא כמובן בצורך לסכם DESהחסרון של . DES של XOR - וsubstitution ,transposition -לעומת ה

יוצר את הפרוטוקול שנהנה משני , השילוב של שניהם יחד. מבלי להיפגש פיזית, על מפתח משותף

.והצפנה מהירה, קביעת מפתח משותף בקלות: נותהיתרו

8 .10 תשובה

עשויה באופן hash -זאת אומרת שפונקצית ה. אף פעם אינו בטוח לחלוטיןmessage digest -בגלל ש

. שונותp זהים מתוך שתי הודעות message digestsתיאורטי לייצר שני

8 .11 ובהתש

, שאינה יודעת על השיחה השנייה, Alice - לRBשיטה פשוטה להתגבר על המכשול היא לפנות עם

.Bobגם אם היא מחמירה עתה כמו , ולכן תצפין אותו מיד ללא השתהות

Page 128: סיכום - האונ' הפתוחה

128

8 .12 תשובה

כיוון שהם עושים שימוש . 3 - ו2 אלו שלבים 8-33 תרשיםוב, 5 - ו3 אלו שלבים 8-32 תרשיםב

.reflection attackא מהצדדים להשלמת "נוצר מצב בו ניתן לנצל כ, KAB -ב

8 .13 תשובה

191719mod3modמעבירה את אליס 16 ==ng x ,יוכל לחשב את המפתח המשותףבובכדי ש .

.מובטח כי התוצאה שהוא יקבל זהה למה שנמצא פה עוד רגע

ngשזה בעצם , שלחבובהיא מחשבת אותו בעזרת מה ש y mod .הנה החישוב:

40719mod54719mod)719mod543(719mod543)mod( 22816 ====xy ng

הכתיב . modמעורב בהם שימו לב לאופן החישוב של כפל או חזקה ש. 40המפתח הסודי הוא , אם כך

. שובmodאך מבחינת ביצוע החישוב תזכרו תמיד להפעיל את , מעט מטעה

Page 129: סיכום - האונ' הפתוחה

129

מולטימדיה ודחיסה - 9 פרק

, הקשר שלו לתקשורת מחשבים אינו טריוויאלי. פרק זה הוא האחרון בשרשרת הנושאים בקורס

ד שלנו בספר הלימו.ולכן לא בכל קורס וספר בתקשורת מחשבים תמצאו התייחסות למולטימדיה

, אנו בחרנו לחזק את החלק הדן בדחיסת מידע. כחלק משכבת היישום, יש התייחסות לנושא

היו ערניים במיוחד להנחיות . במדריך הלמידהבאמצעות פירוט שני אלגוריתמים שימושיים

.כיוון שרק חלקים נבחרים מהספר יהיו דרושים לכם כחלק מחומר הלימוד, הקריאה כאן

.674 בעמוד, 7.4.1עד , 7.4עיף בסהמבוא קראו את

מולטימדיהימה .9.1

כאשר בדרך כלל הכוונה היא לקול , מתייחס לשילוב של כמה סוגי מדיה יחדיוהמקורי המונח

-זאת, ללא קשר מיידי למונח המקורי, פופולריbuzz word -כיום נעשה שימוש במילה כ. ותמונה

.)multimedia (מולטימדיהכונה מיידית מ, אומרת שכל מה שיש לו צבע או עושה רעש באינטרנט

עם הזמן הוא מתפתח והופך ו, אותנו מעניין התחום בעיקר כיוון שהוא משולב היטב באינטרנט

.לגורם משמעותי בתרבות הצריכה הקשורה לרשת

דוגמאות ליישומי מולטימדיה ברשת

כדאי , כדי להבין היטב את תחום עיסוקנו הנוכחי, בהמשךלמרות שלא נעסוק ביישומים אלו

המכונים גם , להזכיר כמה יישומי מולטימדיה הקשורים בתקשורת מחשבים

multimedia networking application:

).entertainment video(וידאו בידורי •

).Internet radio(דיו באינטרנט ר •

).multimedia WWW sites(אתרי מולטימדיה באינטרנט •

).interactive games(משחקים אינטראקטיביים •

Page 130: סיכום - האונ' הפתוחה

130

מאפייני מולטימדיה ברשת

מיועדים בסופו של דבר , )DNS ,HTTP ,SMTP ,POP3(כל פרוטוקולי היישום בהם נתקלנו עד כה

ה שמייחד את העברת המולטימדיה ברשת לעומת העברת קבצי מ. להעברת קבצים מסוגים שונים

: בולטיםגורמיםשני אלו הם , מידע אחרים

1. streaming – אומרת שניתן לצפות או להאזין -זאת, העברת תכני מולטימדיה בזרם מקוון

ום חלוצת התח.ולא להמתין להשלמת ההורדה כתנאי מקדים, להם תוך כדי שהקובץ יורד

.Apple - וMicrosoftהזוכה לתחרות מצד , RealNetworksבאינטרנט היא חברת

להשהיה חלק מהיישומים עשויים להיות רגישים מאד – לעומת איכות להשהיהרגישות .2

אך מצד שני להיות סובלניים לירידה , או לשינויים בה) delay sensitive(לקצה -מקצה

אותו לא נסכים לספוג , הירידה באיכות היא בעצם אובדן מידע). loss tolerant (באיכות

.שהוזכרו קודם לכן, )' וכוHTTP(כלל ביישומים המסורתיים -בדרך

של הקולהייצוג .9.2

לוגית תחילה בצורה האנ). audio (קולשל הבא בספר הלימוד מציג בפניכם מבוא לייצוג סעיףה

אין צורך . כך בצורה הדיגיטלית המותאמת לצרכינו המודרניים-ואחר, הטבעית אך מיושנת

עליהם נחזור כאן , אך מצד שני חובה להבין את עקרונות הפעולה, להתעמק ולשנן את כל הכתוב שם

.במדריך

.676 עד 674עמודים , 7.4.1 קראו את סעיף

בהקשר של השכבה ', ת תקשורת מחשבים ארשתו, הנושא בודאי מוכר לכם מהקורס הקודם

הפעם נושאים אלו ). dB(ועל דציבלים ) ADC(אז למדנו על שיטות המרת אנלוגי לדיגיטלי . הפיזית

.ולכן לא תיבחנו עליהם, הם מבוא בלבד

Page 131: סיכום - האונ' הפתוחה

131

עקרונות דחיסת המידע .9.3

ללא קשר . בדחיסת תכני מולטימדיהאנו רואים חשיבות רבה, ובמיוחד לצורך שידור, לצורך אחסון

המתחלקים לשני , דחיסה ופרישהיקיימים מספר סוגים של קודים לצורכ, למולטימדיה דווקא

:סוגים עיקריים

פרישת מידע דחוס משחזרת בדיוק את המידע –) lossless codes(קודים משמרי מידע .1

.ללא קשר לתוכן המסוים, המקורי

פרישת מידע דחוס לא משחזרת בהכרח את –) lossy codes(דים שאינם משמרי מידע קו .2

.אלא קירוב שלו, המידע המקורי בדיוק

:מקבילה לראשונה, חלוקה נוספת.

בי קידוד היוצא מהנחת חוסר ודאות מוחלטת לג–) entropy encoding(קידוד אנטרופיה .1

).ולכן הוא משמר מידע(סוג המידע בו הוא מטפל

כדי להגיע , קידוד המנצל תכונות ידועות של סוג הנתונים–) source encoding(קידוד מקור .2

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

וכן מתאים להגדרת , משמר מידעבירור שהוא שניתן לראות ב, ZIPאלגוריתם דחיסה לדוגמה הוא

. הוא אלגוריתם דחיסה המתאים למשפחה השנייה, לעומת זאת, JPEGפורמט . אנטרופיהקידוד

כדי להקטין משמעותית , לפי רמה נדרשת, הוא מאפשר לדחוס מידע של תמונה תוך אובדן מסוים

.על חשבון איכות התמונה, את גודל הקובץ

9 .1 שאלה ◄

?)lossless code(חייב להיות משמר מידע ) entropy encoding(מדוע קידוד אנטרופיה

)145תשובה בעמוד (

9.4. MP3

אך , היא אינה מובאת במלואה. שבוודאי שמעתם את שמה בעבר, נעבור ללימוד שיטה נפוצה

.ומדוע הוא כה יעיל, lossy codeים בקטע יבהירו לכם את משמעות המונח הפרטים הקטנ

.679 עד 676עמודים , 7.4.2קראו את סעיף

Page 132: סיכום - האונ' הפתוחה

132

קוד הופמן .9.5

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

יתן יהיה לשלבו עם קודים הקוד הוא כללי מספיק כדי שנ .או קורס דומה לו, נתונים-הקורס מבני

. בלבדאנו נלמד אותו בהקשר של דחיסת תווים בודדיםאך , ולדחוס מידע ברמות שונות, נוספים

עקרון הפעולה

הרעיון . נתוןשכיחות שונה בטקסטוים שונים יש לתושברוב המקריםמנצל את העובדה קוד הופמן

- ייוצגו עלשכיחיםתווים . באורך שונה, הוא לייצג את התווים השונים באמצעות קודים של סיביות

.ידי קודים ארוכים- ייוצגו עלנדיריםבעוד תווים , ידי קודים קצרים

והוא שלא יהיה מצב בו קוד של תו , האורך המשתנה של הקודים מחייב אותנו להוסיף תנאי לקידוד

.ונסביר עליה יותר בהמשך, no-prefixתכונה זו מכונה . של קוד אחר) prefix(מסוים מהווה רישא

היינו בוחרים לקודד ,ללא דחיסה. }A, B, C, D{ב בן ארבע אותיות בלבד "דוגמה ניקח אצורך הל

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

.A=00, B=01, C=10, D=11: יכול להיות

Aאם בטקסט נתון היינו מוצאים כי האות . באמצעות קוד הופמןדחיסהצב המצדיק ועכשיו נבחן מ

-בדרך. ייתכן והיה כדאי לקודד אותה באמצעות סיבית אחת בלבד, היא דומיננטית באופן משמעותי

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

. המיושמת כאןno-prefix -לב לתכונת ה-שימו. A=0, B=10, C=110, D=111: יכול להיות

9 .2 שאלה ◄

: הקידוד הבאןונתו, בלבד}A, B, C, D, E{נתון כי טקסט מסוים מכיל את האותיות

A B C D E אות

01 11 110 100 00 קידוד

האם הצד המקבל יוכל לפענח את . 01110001110110110111: ות הבאנניח כי התקבל רצף הסיבי

.נא לנמק? משמעי-הטקסט שקיבל באופן חד

)145תשובה בעמוד (

Page 133: סיכום - האונ' הפתוחה

133

האלגוריתם

כדי לקבוע מה יהיה אורך . ממנו ניתן להבין שיש חשיבות לאורך כל קוד, הסברנו את עקרון הפעולה

כך להריץ את -ואחר, יש לספור בטקסט הנתון את מספר המופעים של כל תו ,הקוד של כל תו

.האלגוריתם של קוד הופמן

, רב מבחינת קביעת הקוד עצמוחופשיש בו . האלגוריתם שיוצג להלן אינו יוצר תמיד את אותו הקוד

ר מצב בו לעתים גם יכול להיווצ. בשתי הרצות שונות101 או 010כלומר קוד תו מסוים יכול להיות

.בעקבות בחירה שונה במהלך ריצת האלגוריתם, אורך קוד של תו משתנה מהרצה להרצה

:ועכשיו לאלגוריתם עצמו

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

.התו אותו הוא מייצג

ידי הוספת שורש ששני העצים - אותם לעץ אחד עלוקבץ, בחר את שני העצים שמשקלם הוא הנמוך ביותר .2

בחר , אם יש יותר משני עצים שמשקלם נמוך ביותר. משקל העץ החדש הוא סכום משקלי בניו. הם בניו

.ביניהם באופן אקראי

.2 -חזור ל, אם נותר יותר מעץ אחד .3

.0 -ואת כל הקשתות השמאליות ב, 1 -סמן את כל הקשתות הימניות ב .4

את שרשור הסיביות המופיעות על הקשתות המובילות מהשורש ) שנותרעלה בעץ היחיד(תו רשום ליד כל .5

.זהו הקוד של התו. אליו

ולשלוח את רצף הקודים , לקודד כל תו בקוד שהתקבל, עכשיו רק נותר לעבור על הטקסט הנתון

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

.האלגוריתם

9 .3 שאלה ◄

התווים הם סיכמו קידוד הופמן שלאת . נתון כי שני גורמים מעבירים מידע באמצעות קוד הופמן

.על סמך בחינת שכיחות תווים בטקסטים מייצגים, ביניהם מראש

אה לבחינת שכיחות כל טקסט בהשוו, מה היתרונות והחסרונות הבולטים של גישה זו .א

?בנפרד

.נא לנמק? האם גם במקרה זה יש לשלוח לצד המקבל את טבלת הקודים .ב

)145תשובה בעמוד (

Page 134: סיכום - האונ' הפתוחה

134

הדגמת דחיסה

:עבורן נבנה קוד הופמן, נתונה טבלת שכיחויות של אותיות בטקסט מסוים

A B C D E אות

0.3 0.2 0.1 0.15 0.25 שכיחות

: הוא אתחול חמשת העצים1צעד

0.25 0.15 0.1 0.2 0.3A B C D E

: לעץ אחדC - וB של איחוד הוא 2צעד

0.25 0.15 0.1 0.2 0.3A B C D E

0.25

:איחוד שני

0.25 0.15 0.1 0.2 0.3A B C D E

0.25

0.45

:איחוד שלישי

0.25 0.15 0.1 0.20.3A B C DE

0.25

0.45

0.55

Page 135: סיכום - האונ' הפתוחה

135

:1 -והימניות ב, 0 -כלומר סימון הקשתות השמאליות ב, 4כולל צעד , )אחרון(ואיחוד רביעי

0.25 0.15 0.1 0.20.3A B C DE

0.25

0.45

0.55

1

0

0

0

0

1

1 1

1

:הקידוד המתקבל הוא

A B C D E אות

0.3 0.2 0.1 0.15 0.25 שכיחות

01 11 101 100 00 דקידו

9 .4 שאלה ◄

ייתכנו כמה . ABBCAABCAC: לדחוס באמצעות קוד הופמןברצוננואותו , נתון הטקסט הבא

האם בכל . את אורך הקוד בסיביות של אות כלשהיX -נסמן ב. שיובילו לפלט שונה, קידודים שונים

?Xכל אות תמיד לאותו ל תזכה "קידוד כנ

)145תשובה בעמוד (

Page 136: סיכום - האונ' הפתוחה

136

Lempel-Ziv-Welchקוד .9.6

פשטותו . Lempel-Ziv-Welchשם שלושת מפתחיו - עלLZWהנקרא בקיצור , פופולריקוד דחיסה

ואחד , GIFרמט והוא גם מהווה נדבך חשוב בפו, ופרסומו מובילים מתכנתים רבים לעשות בו שימוש

. TIFFהקודים המשמשים את פורמט

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

הגרסה .Unisys וחברת GIFבמיוחד בהקשר של , לעיין בחומר זה באינטרנט ובמגזינים שונים

היא מעניינת מבחינה טכנית ופשוטה מספיק כדי . 1984 בשנת Welchדי י-שתלמדו כאן פורסמה על

למרות , סיביות8המורכב מתווים בני , נתייחס לקלט כטקסט מכאן ואילך .שנוכל לתרגל אותה

.שניתן לתכנן קוד דומה גם עבור קלט מסוג אחר

עקרון הפעולה

הוא אינו מבצע . ודים בודדים מחליף מחרוזות של תווים בקLZWקוד בתמציתיות ניתן לומר כי

, מוסיף כל מחרוזת חדשה שהוא פוגשקוד הדחיסה, במקום זה. של הטקסט הנתוןמוקדמתאנליזה

פלט הוא אך ורק קודים המייצגים הדחיסה עצמה מתבטאת בזה שה. לטבלת קודים של מחרוזות

.מחרוזות

סביר ומתואם אך עליו להיות , תאינו מוגבל מבחינה עקרוני, מספר הסיביות שייצגו כל קוד בטבלה

שמונה (bytesשני צדדים המעונינים לדחוס מידע ביחידות של : דוגמה. מראש בין שני הצדדים

טבלת שיש צורך ביותר משמונה סיביות כיוון . סיביות לייצוג קודים12 -עשויים לבחור ב, )סיביות

. כניסות בטבלה256כלומר , םהצדדים כך שתכיל את כל התווים הבודדיהקודים מאותחלת בשני

. ייצגו מחרוזות256-4095והקודים , ישמשו עבור התווים הבודדים0-255 הקודים כך

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

הטבלה נבנית באופן דינמי והדרגתי . השולח אינו צריך להעביר למקבל את טבלת הקודים •

ה המאפשרת למקבל לבנות את אותה הטבלה תוך כדי בצור, תוך כדי דחיסה, בצד השולח

.הפרישה

. של הטקסט הנתוןאין צורך בסריקה מקדימה •

. אינו מניח דבר לגבי הקלטכמובן ש, )lossless code(בודאי כבר הבחנתם שזהו קוד משמר מידע

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

.תווים מסוגים שונים

Page 137: סיכום - האונ' הפתוחה

137

הדחיסהאלגוריתם

, אבל. ללא שימוש באלגוריתם, נסביר את עקרון הדחיסה גם באופן אינטואיטיבי, בהמשך הכתוב

.יש להתחיל בתרגול של האלגוריתם כפשוטו, כדי להבין היטב את הרעיון

מחרוזת תווים המיועדת לדחיסה:קלט

המחרוזת לאחר הדחיסה:פלט

החל מהקוד אפס, לפי הסדר של התווים, ב"יצירת כניסה בטבלה עבור כל תו בא: הקודיםאתחול טבלת .1

char מהקלט לתוך קרא את התו הראשון .2

buffer ← char אתחול המשתנים .3

:)עד סוף הקלט(לולאה .4

charקרא את התו הבא בקלט לתוך .4.1

4.2. temp ← buffer•char )נקודה מתייחסת אל פעולת השרשור(

buffer ← temp אז ,temp -בלה המתאימה לאם יש כניסה בט .4.3

:אחרת .4.4

temp עבור הוסף כניסה בטבלה, אם יש מקום בטבלה .4.4.1

buffer - את הקוד המתאים להוצא לפלט .4.4.2

4.4.3. buffer ← char

buffer -הדפס את הקוד המתאים ל .5

הסבר האלגוריתם

, ומתארכתההולכת, ומכיל בכל שלב מחרוזת מתוך הקלט הנוכחי, 3 - מאותחל בbufferהמשתנה

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

).4.4.3 צעד(ל "הנבודד הומאותחל לתו ) 4.4.2צעד ( מוצא לפלט בצורת קוד bufferתוכנו של , בטבלה

.מנסים תמיד לייצג את מחרוזת הקלט הארוכה ביותר שאפשר בשלב זה, כלומר

. בשלביםbufferכ מסייע להאריך את " בסהtempהמשתנה

Page 138: סיכום - האונ' הפתוחה

138

9 .5 שאלה ◄

?4.4.1בצעד " אם"מה פשר התנאי

)145תשובה בעמוד (

9 .6 שאלה ◄

.יש לנמק? 4.4או שמתבצע , האם הוא מתקיים, 4.3בפעם הראשונה שנבחן התנאי

)146תשובה בעמוד (

דוגמה לדחיסה

: תווים בלבד3ב מכיל "האמבחינת זה שמוסכם על הצדדים ש, מצומצםלצורך ההדגמה נבחר בקוד

A ,B ,ו- C .תחלת תכיל רק שלוש ולכן הטבלה המאו, אלו הם תווי הקלט היחידים המותרים, כלומר

.4מספר הסיביות לייצוג קוד הוא . כניסות

: מה יהיה הפלט של אלגוריתם הקידוד עבור הקלט הבא :שאלה

ABABABCBABABABCBABABABCBA) משמאל לימין(?

:תשובה

הוספה לטבלה פלט buffer char temp לולאה

1 A B AB 0 (0000) AB (3)

2 B A BA 1 (0001) BA (4)

3 A B AB

4 AB A ABA 3 (0011) ABA (5)

5 A B AB

6 AB C ABC 3 (0011) ABC (6)

7 C B CB 2 (0010) CB (7)

8 B A BA

9 BA B BAB 4 (0100) BAB (8)

10 B A BA

11 BA B BAB

12 BAB A BABA 8 (1000) BABA (9)

13 A B AB

14 AB C ABC

15 ABC B ABCB 6 (0110) ABCB (10)

Page 139: סיכום - האונ' הפתוחה

139

16 B A BA

17 BA B BAB

18 BAB A BABA

19 BABA B BABAB 9 (1001) BABAB (11)

20 B A BA

21 BA B BAB

22 BAB C BABC 8 (1000) BABC (12)

23 C B CB

24 CB A CBA 7 (0111) CBA (13)

25 A 0 (0000)

.הראשוןבניכוי התו , מכילה את הקלטcharעמודת

:שבסיום התהליך נראית כך, העמודה הימנית היא למעשה ההרחבה לטבלה

מחרוזת קוד לשידור קוד עשרוני

0 0000 A

1 0001 B

2 0010 C

3 0011 AB

4 0100 BA

5 0101 ABA

6 0110 ABC

7 0111 CB

8 1000 BAB

9 1001 BABA

10 1010 ABCB

11 1011 BABAB

12 1100 BABC

13 1101 CBA

):כאשר המקפים הוספו לצורך קריאות בלבד, משמאל לימין(והפלט הסופי הוא

0000-0001-0011-0011-0010-0100-1000-0110-1001-1000-0111-0000

" נכשל" מסמן שבשורה זו הניסיון להגדיל את המחרוזת temp -הקו מתחת לחלק מהתווים ב

ולכן הועבר לפלט רק , אינה קיימת עדיין בטבלהtemp -המחרוזת המוארכת ב, כלומר. לכאורה

שימו לב . הבאbuffer -עובר ל, לעומת זאת, התו הנותר. הקוד המתאים לחלק שהקו עובר תחתיו

.שהקוד החדש בטבלה כולל גם תו זה

Page 140: סיכום - האונ' הפתוחה

140

9 .7 שאלה ◄

יש לבטא מספר זה ? סיביות2 במקור מיוצג על ידי בהנחה שכל תו, ל"מהו יחס הדחיסה בדוגמה הנ

.באחוזים

)146תשובה בעמוד (

אלגוריתם הפרישה

ותראו שהשד לא נורא , נסביר אותו בהמשך בצורה אינטואיטיבית. זהו אלגוריתם מעט מורכב יותר

פירושו התו הראשון של string[1]ימון הס. x פירושו התו בטבלה שקידודו הוא d(x)הסימון . כך-כל

:stringהמחרוזת

פרישההמיועדת ל, סיביות קוד שרשרת :קלט

מחרוזת התווים המקורית :פלט

החל מהקוד אפס, לפי הסדר של התווים, ב"יצירת כניסה בטבלה עבור כל תו בא: אתחול טבלת הקודים .1

currentקרא את הקוד הראשון והצב אותו במשתנה .2

d(current)תו המתאים בטבלה ה הדפס את .3

4. prior ← current

):עד סוף הקלט(לולאה .5

currentקרא את תו הקוד הבא לתוך המשתנה .5.1

: אינו בטבלת הקודיםcurrentאם .5.2

5.2.1. temp ← d(prior)• d(prior)[1]

בטבלת הקודיםtemp -קוד לוסף ה .5.2.2

tempהדפס את .5.2.3

:) בטבלת הקודיםכן current (אחרת .5.3

5.3.1. temp ← d(prior)• d(current)[1]

בטבלת הקודיםtemp -קוד לוסף ה .5.3.2

d(current)הדפס את .5.3.3

5.4. prior ← current

Page 141: סיכום - האונ' הפתוחה

141

הסבר אלגוריתם הפרישה

סיביות xהפעולה הבסיסית שאתם עושים היא לקבל קוד בן . תדמיינו לרגע שאתם הצד המקבל

.ולהדפיס את המחרוזת בפלט, למצוא את המחרוזת המתאימה לו בטבלה, בקלט

נבחן את , כדי להסביר איך זה ייתכן שאנו בונים טבלה בעצמנו. הטבלהתא בבנייהחוכמה הי

פרשתם כבר מספר נניח ש ):אך קרוב אליו, שאינו מתאר את האלגוריתם שלנו בדיוק (התסריט הבא

עכשיו קיבלתם בקלט קוד שאינו מופיע בטבלה . stringאותה נכנה ויש בידכם מחרוזת , קודים

.ואתם במצוקה, שלכם

את אותה הטבלה . ופשוט לדמות כאילו הייתם הצד השולח, לקחת אויר, תוכלו לעצור, בשלב הזה

ואתם , נמצאת בידכםstringהרי המחרוזת . אתם יכולים לבנות גם, שהוא בנה תוך כדי משלוח

אותם הקודים שהוסיף השולח בשלב מוקדם .יכולים לבצע הדמיה של משלוח לצורך בנית הטבלה

מלבד מקרה אחד , זה נכון תמיד. ובדיוק באותו הסדר, צאו עכשיו גם בטבלה שלכםיימ, יותר

עד כי הוא מעיד על מהות , מקרה זה כה מובהק. 5.2הבא לידי ביטוי באלגוריתם בצעד , מיוחד

.למרות שהקוד אינו נמצא בטבלה, הקוד

ולח מוסיף קוד נובע מהמקרה הנדיר בו הש5.2הצעד . 5.3מתקיים , ברוב המוחץ של המקרים

בשלב , בדחיסה שהדגמנו קודםתוכלו לראות מקרה זה . ומשתמש בו מיד בפלט הבא אחריו, לטבלה

.BAB עבור המחרוזת 8בו נעשה שימוש בקוד

Page 142: סיכום - האונ' הפתוחה

142

הדגמת פרישה

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

מייצגת תמיד גם את currentבטבלה להלן עמודת . ים שנשלחוכי הוא תלוי במספר הקוד, יותר

: מהלולאה הקודמתprior -ה

פלט לטבלהcurrent d(prior) d(current) temp לולאה

0 (0000) A A

1 1 (0001) A B AB B

2 3 (0011) B AB BA AB

3 3 (0011) AB AB ABA AB

4 2 (0010) AB C ABC C

5 4 (0100) C BA CB BA

6 8 (1000) BA - BAB BAB

7 6 (0110) BAB ABC BABA ABC

8 9 (1001) ABC BABA ABCB BABA

9 8 (1000) BABA BAB BABAB BAB

10 7 (0111) BAB CB BABC CB

11 0 (0000) CB A CBA A

:עכשיו ניתן לראות כמה האלגוריתם פשוט

.tempת הוא המודגש 6ורק בשורה , d(current)הפלט הוא לרוב •

שזו פעולה המבוצעת בכל חזרה של , מיועד רק לצורך הכנסת קוד לטבלהtempהמשתנה •

של ) מודגשת בקו( עם האות הראשונה d(prior)ערכו הוא לרוב הרכבה של עמודת . הלולאה

. המודגשת6החריג הוא כמובן שוב בשורה . d(current)העמודה , הסמוכה לה

9 .8 שאלה ◄

אורך כל קוד משודר . סיביות8להעברת תווים רגילים בני , LZWשני צדדים עושים שימוש בקוד

, הסיביות הראשונות אותן יקלוט הצד המקבל24מה ניתן לומר על ערכן הצפוי של . סיביות12הוא

? מיד עם תחילת השידור הדחוס

)146תשובה בעמוד (

Page 143: סיכום - האונ' הפתוחה

143

עקרון הדחיסה באופן לא פורמלי

ללא התייחסות לסימנים בהם , כלומר. נסביר כיצד פועל אלגוריתם הדחיסה באופן אינטואיטיבי

. נעזרנו בניסוח הפורמלי שלו

זהה שלב האתחול. ומכיר את האלגוריתם, יוצא מהנחה שהצד המקבל חכם כמוהוהצד השולח

שהוא תמיד מתוך הטבלה , פשר לצד השולח לשדר את הקוד הראשוןומא, בשני הצדדים

.יחידכלומר מייצג מחרוזת באורך תו , המאותחלת

הוא שואף . בעזרת צבירה של מחרוזות בטבלת הקודים, הצד השולח מבצע דחיסה החוסכת מקום

עד כמו שעשה בצ, ולא קודים של מחרוזות בנות תו יחיד, לשדר קודים של מחרוזות ארוכות

.הראשון

. תוך כדי קבלת תווים לדחיסה, הוא צובר תווים במחרוזת זמנית, כדי להוסיף מחרוזות לטבלה זו

הוא בודק האם צירופו למחרוזת הזמנית יניב מחרוזת חדשה שהוא , בכל פעם שהוא נתקל בתו קלט

.הוא מוסיף תווים נוספים, כל עוד נוצרת מחרוזת שהוא כבר מכיר.טרם שמר בטבלה

מידלשדר אותההוא חייב . מוסיף אותה לטבלת הקודיםהוא , עבורומחרוזת חדשה רגע שנוצרהב

זה נעשה עבור . שכבר קיימת בטבלה, כלומר את הקוד של מחרוזת קצרה יותר, בלי התו האחרון

נותר , בו טרם נעשה שימוש, התו האחרון.כדי שיוכל לפענח את הקוד שנשלח, הצד המקבל

. ומשמש להמשך התהליךבמחרוזת הזמנית

הוא מוצא אותו אצלו , כאשר הוא מקבל קוד. כל הזמן, מבצע את התהליך ההפוךהצד המקבל

הוא יודע שהצד השולח ). אליו נחזור עוד מעט, יש חריג אחד, זכרו (ומפענח אותו למחרוזת, בטבלה

וא לא יודע מהו תו הבעיה היא שה. עבור מחרוזת ארוכה יותר בתו אחד, גם הוסיף לטבלה קוד חדש

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

.כעת הוא יכול להוסיף את המחרוזת הקודמת לטבלה. התו החסר לוהתו הראשון שהוא

, האבל לא במקר, למרבה המזל. בו קוד שמתקבל אינו מופיע בטבלה עדיין, קיים מקרה אחד חריג

זה קורה רק אם הצד השולח הוסיף קוד , כפי שראינו בדוגמה. האלגוריתם מטפל היטב במצב זה

, בכל אופן. קוד זה מייצג מחרוזת המתחילה ומסתיימת באותו התו .ומיד השתמש בו, חדש לטבלה

הצד המקבל יודע מהו התו , התוצאה המיידית של מקרה כזה היא שבזכות קבלת הקוד החדש

...ר לכם את המאמץ להבין מדוע זה כךנשאי. החסר

9 .9 שאלה ◄

.יםו תוmב בן "מעל א, LZWנבחן תכונה מסוימת של קוד

מה אורכה בתווים של המחרוזת . נניח שכבר אתחלנו את טבלת הקודים לפי אלגוריתם הדחיסה

ניתן להניח שתוכן ? במהלך דחיסתה, ם נוספים לטבלהשלא תגרום להוספת קודי, הארוכה ביותר

.כרצונכם, המחרוזת מתאים עבור מקרה מקסימלי

)146תשובה בעמוד (

Page 144: סיכום - האונ' הפתוחה

144

Page 145: סיכום - האונ' הפתוחה

145

תשובות .9.7

9 .1 תשובה

ייתכן וזו בדיוק . ו להשמיט אף סיביתאסור ל, כיוון שאינו יודע מהי מהות המידע אותו הוא דוחס

.הסיבית הכי חשובה עבור היישום המשתמש במידע זה

9 .2 תשובה

את הטקסט המסוים הזה דווקא . no-prefixכי לא מתקיימת בו תכונת , הקידוד הנתון הוא בעייתי

והשניה יוצרת , )E) 01האות הראשונה היא . התלבטותלמרות שיש בו נקודות , ניתן לפענח

מתברר לבסוף , רק מניסוי שממשיך עוד כמה סיביות). 110 (Cאו אולי ) D) 11יתכן שזו . התלבטות

שתמיד נפתרות , בהמשך מגיעים להתלבטויות נוספות. ואז ניתן להמשיך ולפרוש, בהכרחDשזו

.הבאמצעות ניסוי וטעיי

9 .3 תשובה

ובכך שאין צורך להמתין לכל הטקסט , יתרונות השיטה הוא בחסכון זמן בשלב הדחיסה .א

כי ייתכן ובטקסט מסוים לא , החסרון הבולט הוא ביעילות מופחתת. לפני ביצוע המשלוח

.ולכן לא תמוצה יכולת קוד הופמן, תהיה שכיחות דומה לממוצע הצפוי

אך , האלגוריתם אמנם אינו דטרמיניסטי. בן שאין צורך לשלוח את טבלת הקודיםכמו .ב

.הקודים עצמם כבר מסוכמים מראש

9 .4 תשובה

.כן

A=40%, B=30%, C=30%: שכיחות מופע האותיות היא, בטקסט הנתון

לכן . Aנוסיף את , שהוא גם האחרון, ובשלב השני, C - וB -בשלב המיזוג הראשון תמיד נבחר ב

.ושתי האותיות האחרות יזכו לקוד בן שתי סיביות, תזכה לקידוד עם סיבית אחתAהאות

9 .5 תשובה

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

Page 146: סיכום - האונ' הפתוחה

146

9 .6 תשובה

הנמצאים , בעוד הטבלה מכילה תווים בלבד, )שני תווים( מכיל מחרוזת tempכי , יתקייםלאהתנאי

.שם מאז שלב האתחול

9 .7 תשובה

יחס . סיביות48שהן , תווים4 יחידות בנות 12הפלט מכיל . ת סיביו50שהם , תווים25במקור היו

50/48*%96100הדחיסה אם כן הוא , אך ריאלית ואופיינית לקובץ קטן, תוצאה לא מזהירה. =

.בו אין הזדמנות להביא לידי ביטוי את יתרון הקידוד

9 .8 תשובה

אתחול הטבלה בצד השולח . ביות הראשונות הללו מכילות את שתי מילות הקוד הראשונותהסי

אלגוריתם הדחיסה קובע שהקוד . 0-255יקודדו לערך , קובע כי כל המחרוזות המכילות תו בודד

000000000000 הסיביות הראשונות יהיו בתחום הערכים 12ולכן , הראשון הנשלח יהיה אחד מאלו

.000011111111עד

או הקוד החדש שהתווסף , )בדומה לקוד הראשון(הקוד השני חייב להיות קוד של מחרוזת תו בודד

הסיביות 12לכן . 256שהוא , לקוד זה חייב להיות הערך הבא בטבלה. במהלך הלולאה הראשונה

.000100000000 עד 000000000000הבאות יהיו תמיד בתחום הערכים

9 .9 תשובה

התו הראשון משודר : תמיד מחרוזת עם שני תווים תגרום לאותה התופעה. מחרוזת בת תו יחיד

.והתו השני גורם להוספת קוד חדש לטבלה, משלב האתחול, כקוד קיים

Page 147: סיכום - האונ' הפתוחה

147

אינדקס

1's compliment .........................................14

active intruder ......................................104

ADC .......................................................130

AES ........................................................111

Alice .......................................................113

anycast.....................................................19

application gateway..............................118

Application Layer ............................10, 65

asymmetric disconnection .....................27

audio.......................................................130

authentication .......................103, 115, 123

authoritative name server......................76

authoritative record ...............................76

birthday attack .....................................117

Bob.........................................................113

browser...............................................68, 90

bucket-brigade-attack..........................123

buffers .....................................................39

byte stream ...............................................49

Caesar cipher........................................106

CBC .......................................................111

ccTLD ......................................................72

CFB........................................................111

challenge-response .......................120, 124

checksum.................................................50

chosen plaintext......................................105

chosen-plaintext-attack ..........................113

CIDR ........................................................18

cipher block chaining mode.................111

cipher feedback mode ..........................111

ciphertext ..............................................104

client ........................................................10

client/server.............................................27

columnar transposition ........................108

congestion window................................. 55

connection establishment......................... 31

connection release .................................. 38

connectionless......................................... 10

connection-oriented ......................... 10, 26

cookies..................................................... 90

counter mode........................................ 112

CR............................................................ 36

Cryptography....................................... 104

cryptology ............................................. 115

data transmission ..................................... 44

datagram .......................................... 10, 26

dB .......................................................... 130

deadlock.................................................. 40

decryption............................................. 104

delay sensitive ....................................... 130

delayed duplicates.................................. 31

Delayed Duplicates.................................. 31

denial-of-service ..................................... 37

DES ............................................... 109, 110

DHCP ...................................................... 19

disconnecting.......................................... 38

DNS ................................................... 65, 68

delegation ............................................ 73

domain .................................................... 70

domain name .......................................... 70

domain name space................................ 69

download ................................................. 94

dual stack ................................................. 19

duplicate packets ................................... 31

dynamic HTML ..................................... 93

ECB ....................................................... 111

electronic code book ............................ 111

encryption............................................. 104

Page 148: סיכום - האונ' הפתוחה

148

endpoint........................................28, 49, 50

end-to-end ...............................................11

end-user ...................................................11

entertainment video ................................129

entropy encoding ..................................131

error control..............................................29

Ethernet...................................................11

exhaustive search....................................123

Firewall............................................49, 118

flow control ..................................29, 39, 52

fragmentation .........................................19

frame........................................................10

FTP ..........................................................94

full-duplex ...............................................48

GIF .........................................................136

go-back-N ................................................53

gTLD........................................................72

header ........................................................9

header field ...............................................95

host.....................................................10, 11

host part ....................................................22

hostname .................................................65

hostnames ................................................66

HTTP .......................................................94

HTTP request ...........................................95

HTTP response .......................................96

ICANN ...............................................22, 69

IETF.........................................................18

IMAP .......................................................86

Incoming mail server..............................83

Information Security ............................104

Initial Sequence Number .......................33

inruder...................................................104

integrity .........................................103, 115

Internet ....................................................13

Internet checksum ..................................14

Internet Protocol ...................................... 13

Intranet ..................................................... 94

IP ............................................................. 13

IP address................................................. 65

IP layer.................................................... 13

IPng ......................................................... 18

IPv4 ......................................................... 17

IPv6 ......................................................... 18

ISN........................................................... 33

iterative query ........................................ 75

JavaScript ............................................... 93

KDC ...................................................... 123

Kerberos ............................................... 125

key ......................................................... 104

key exchange................................. 122, 123

known-plaintext attack........................... 108

Link Layer ............................................... 29

local name server ................................... 75

loss tolerant ............................................ 130

lossless codes ......................................... 131

lossy codes............................................. 131

LZW ...................................................... 136

mail server .............................................. 82

mail servers............................................. 81

mailbox.................................................... 83

man-in-the-middle-attack ................... 123

message body .......................................... 85

message digest ...................................... 116

methods.................................................... 95

MIME...................................................... 85

monoalphabetic substitution ............... 106

multimedia ............................................ 129

multimedia networking application ... 129

NAK ........................................................ 52

name server ...................................... 68, 73

NAT ................................................... 17, 18

Page 149: סיכום - האונ' הפתוחה

149

Network Address Translation ...............17

network applications..............................65

network core ...........................................11

network edge...........................................11

Network Layer........................................10

network part .............................................22

network security ...................................103

non-repudiation ............................103, 115

no-prefix ................................................132

NSAP .......................................................30

one-time pad .........................................108

One-Time Pads.......................................105

Otway-Rees ...........................................125

out of order segments.............................52

Outgoing mail server .............................83

packet filter ...........................................118

padding...................................................107

passive intruder ....................................104

payload.....................................................21

P-box......................................................110

permutation ..........................................110

persistent connection without pipelining .99

piggy-back...............................................52

plaintext ................................................104

polyalphabetic substitution .................106

POP3........................................................86

port .....................................................30, 49

ports

well-known...........................................49

positive synchronization ..........................36

PPP ..........................................................11

primitives ................................................26

protocol stack............................................9

protocol suite............................................47

pseudoheader ..........................................50

public key ......................................112, 125

public-key .............................................. 109

QoS.......................................................... 19

random.................................................. 120

receiver window ..................................... 55

recursive query ...................................... 75

redundancy........................................... 108

reflection attack ................................... 121

replay-attack ........................................ 124

resolver ................................................... 68

resource records..................................... 76

retransmission timer............................. 56

RFC ......................................................... 14

routing decision...................................... 16

routing table ........................................... 16

S-box ..................................................... 110

secrecy........................................... 103, 115

segment ....................................... 26, 47, 49

selective repeat ....................................... 52

selective-repeat ........................................ 54

server ...................................................... 10

service model ............................................ 9

session key ............................................ 114

shift register ........................................... 111

SIPP ......................................................... 18

sliding-windows...................................... 52

slow-start ................................................ 55

SMTP ................................................ 81, 82

socket .................................... 28, 30, 49, 50

source encoding.................................... 131

source routing .......................................... 19

status code ............................................... 95

stream cipher mode ............................. 111

streaming .............................................. 130

subdomains............................................. 73

subnet part ............................................... 22

substitution ............................................ 105

Page 150: סיכום - האונ' הפתוחה

150

Substitution Ciphers ...............................105

switching node ........................................11

symmetric disconnection........................28

symmetric key ........................................121

symmetric-key systems.........................109

TCP ........................................10, 13, 47, 48

TCP/IP.....................................................47

three-way-handshake .......................36, 51

threshold..................................................55

TIFF........................................................136

time of day................................................30

Time To Live...........................................76

TLD..........................................................72

Tomlinson................................................32

TPDU .......................................................26

Transport Layer .....................................10

transposition ...........................................105

Transposition Ciphers ............................105

triple DES with two keys......................110

TSAP ..................................................30, 43

TTL ..........................................................76

tunneling...................................................19

two-army problem ............................27, 38

UDP..............................................10, 13, 47

unreliable ................................................ 20

URL ......................................................... 90

user agents ........................................ 81, 82

VPN ....................................................... 119

Web ......................................................... 89

Webmail.................................................. 86

zone.......................................................... 74

אינטרנט .................................................... 13

תגובה-אתגור ........................................... 124

הצבאות-שני בעיית .................................... 38

.........................................................דפדפן 68

.......................................................הצבה 105

חוצץ .......................................................... 39

טבלת ניתוב ............................................... 16

משולשת-יד-לחיצת ................................... 36

מולטימדיה .............................................. 129

.............................................מרחב השמות 69

1-משלים ל ................................................. 14

IP שכבת ................................................... 13

שרת שמות ................................................ 73

...............................................שרתי שמות 73

תומלינסון ................................................... 32

תמורה ..................................................... 105