Nets2(Framing) - ‫‪Framing:‬‬ ‫‪ –...

Info icon This preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ‫‪Framing:‬‬ ‫‪ – Frame‬בלוק של מידע שעובר בין שני קודקודים ברשת‪) .‬מקביל ל ‪(packet‬‬ ‫כאשר קודקוד מסוים רוצה להעביר ‪ frame‬לקודקוד אחר‪ ,‬ה ‪ adaptor‬שלו הופך את ה ‪frame‬‬ ‫ל ‪ stream‬ושולח אותו‪ .‬כאשר ה ‪ adapter‬של הקודקוד השכן מקבל את המידע הוא צריך‬ ‫להרכיב אותו בחזרה ל ‪ .frame‬פעולה זו נקראת ‪ framing‬ובפרק זה נדון בפרוטוקולים‬ ‫השונים שמממשים אותה‪.‬‬ ‫‪.1‬‬ ‫‪:Byte Oriented Protocols‬‬ ‫כאו יש לנו ‪ 2‬גישות עיקריות‪:‬‬ ‫‪) Sentinel approach .1‬גישת השומר(‬ ‫מבוססת על בדיקת כל בית שנכנס )שומר( ופענוח המשמעות שלו‪) .‬אם יש(‬ ‫ממומשת בפרוטוקול ‪.(BISYNC (Binary Synchronous Communication‬‬ ‫השיטה משתמשת במבנה קבוע עבור כל ‪:frame‬‬ ‫‪16‬‬ ‫‪CRC‬‬ ‫‪8‬‬ ‫‪ETX‬‬ ‫?‬ ‫‪!!Body‬‬ ‫‪8‬‬ ‫‪STX‬‬ ‫‪Header‬‬ ‫‪8‬‬ ‫‪SOH‬‬ ‫‪8‬‬ ‫‪SYN‬‬ ‫‪8‬‬ ‫‪SYN‬‬ ‫המספר מעל כל חלק מציין את מספר הביטים שהוא תופס‪.‬‬ ‫שליחת ה ‪ frame‬מתבצעת משמאל לימין‪.‬‬ ‫‪ – SOH – Start of header‬מציין את תחילת המידע‪.‬‬ ‫‪ – SYN‬קבוע סנכרון המשמש כקבוע תקשורת בין הקודקודים‪.‬‬ ‫‪.STX – Start of Text‬‬ ‫‪.ETX – End of text‬‬ ‫‪ CRC – cyclic redundancy check‬לזיהוי שגיאות )בהמשך(‬ ‫בעיה אפשרית – מה יקרה אם הרצף שמציין ‪ ETX‬יופיע באמצע ה טקסט?‬ ‫פיתרון – מקדימים את ה ‪ ETX‬שבטקסט ב ‪.DLE – Data Link Escape‬‬ ‫)כמו לשים \ לפני " שמופיע בתוך ה ‪ String‬בשפת ‪ .( C‬אם רוצים לכתוב ‪ DLE‬בטקסט אז‬ ‫מקדימים גם אותו ב‪ DLE -‬נוסף‪) .‬ראה שאלה ‪(6‬‬ ‫פעולה זו נקראת ‪ .byte stuffing‬השומר יזהה את ה ‪ DLE‬ויתעלם מה ‪.ETX‬‬ ‫פרוטוקול נוסף לאותה גישה‪:‬‬ ‫‪:PPP – Point To Point‬‬ ‫בפרוטוקול זה מבנה ה ‪ frame‬שונה‪ .‬גודל השדות הנלווים לטקסט אינו קבוע‪.‬‬ ‫הפרוטוקול מכניס לתוך כל הודעה שהוא שולח הודעה בפרוטוקול ‪ LCP‬המכילה מידע‬ ‫על גודל ה ‪ frame‬הנשלח‪ .‬הקודקוד המקבל מפענח את הודעת ה ‪ LCP‬ויודע באיזה גודל‬ ‫לפתוח את ה ‪ frame‬המתקבל‪.‬‬ ‫‪:Byte Counting Approach .2‬‬ ‫ממומשת בפרוטוקול ‪:DDCMP‬‬ ‫‪61‬‬ ‫‪CRC‬‬ ‫‪24‬‬ ‫‪ydoB‬‬ ‫‪redaeH‬‬ ‫‪41‬‬ ‫‪8‬‬ ‫‪8‬‬ ‫‪8‬‬ ‫‪tnuoC‬‬ ‫‪ssalC‬‬ ‫‪NYS‬‬ ‫‪NYS‬‬ ‫‪ – COUNT‬שדה שמציין מה גודל ה ‪) BODY‬בבתים( וכך אין צורך לציין תו סיום‪.‬‬ ‫השומר יודע מראש כמה בתים הוא יכול להכניס בלי לבדוק מיהם‪) .‬נכנסתי חזק‬ ‫לקטע עם השומר‪(...‬‬ ‫בעיה אפשרית – בזמן המעבר יהיה שיבוש במידע ושדה ה ‪ COUNT‬יגיע משובש‬ ‫וההודעה תיקרא לא נכון‪.‬‬ ‫פיתרון – בניה לא נכונה של ה ‪ frame‬תתגלה באמצעות שדה ה ‪ CRC‬שתפקידו‬ ‫לזהות שגיאות )פירוט על זיהוי שגיאות בפרק הבא(‪.‬‬ ‫במקרה כזה המקבל יאסוף מידע עד תחילת ה ‪ SYN‬הבא שיודיע למעשה על תחילתו‬ ‫של ‪ frame‬חדש‪.‬‬ ‫‪.2‬‬ ‫‪:Bit Oriented Protocols‬‬ ‫דיי דומה לשיטה הקודמת רק שכאן מסתכלים על ‪ frame‬כאוסף של ביטים במקום אוסף‬ ‫של בתים‪.‬‬ ‫מימוש – ‪(HDLC (High Level Data Link Control‬‬ ‫‪8‬‬ ‫‪Ending‬‬ ‫‪Sequence‬‬ ‫‪1‬‬ ‫‪6‬‬ ‫‪CRC‬‬ ‫הפרוטוקול הזה‬ ‫מציין התחלה‬ ‫וסיום של קלט‬ ‫באמצעות רצף קבוע של ‪ 8‬ביטים‪.01111110 :‬‬ ‫‪Bod‬‬ ‫‪y‬‬ ‫‪1‬‬ ‫‪6‬‬ ‫‪Header‬‬ ‫‪ – Bit Stuffing‬שימוש ב ‪ DLE‬כדי לציין רצף בעל משמעות מיוחדת‪Data Link) .‬‬ ‫‪(Escape‬‬ ‫כאן מבצעים את זה ע"י הצמדה של ‪ 0‬אחרי כל ‪ 5‬אחדות רצופות‪ .‬למעט במקרה שהרצף‬ ‫‪ 01111110‬מציין סוף קלט‪.‬‬ ‫זיהוי סיום הקלט‪:‬‬ ‫אם מתקבל רצף של ‪ 6‬אחדות סימן שזה סיום של קלט או טעות בשליחה‪) .‬כי אני יודעים‬ ‫שמבצעים ‪.(Bit Stuffing‬‬ ‫אם הביט הבא יהיה ‪ 0‬סימן שזה סיום הקלט‪.‬‬ ‫אם הוא יהיה ‪ 1‬סימן שזוהי טעות ואז מבקשים את ה ‪ frame‬כולו מחדש‪.‬‬ ‫בשתי הטכניקות שראינו עד אתה לא ניתן לשמור על גודל קבוע של ‪!frame‬‬ ‫‪8‬‬ ‫‪Beginnin‬‬ ‫‪Sequence‬‬ ‫‪g‬‬ ‫‪.3‬‬ ‫‪:Clock Based Framing‬‬ ‫גישה זו ממומשת באמצעות פרוטוקול ‪SONET (Synchronous Control‬‬ ‫‪.(Protocol‬‬ ‫זהו פרוטוקול חזק מאוד ונפוץ בהעברת מידע למרחקים ארוכים באמצעות סיבים‬ ‫אופטיים‪.‬‬ ‫מה עושה ‪:SONET‬‬ ‫‪Framing ‬‬ ‫‪Encoding ‬‬ ‫‪ ‬ריבוב של מספר לינקים איטיים ללינק מהיר אחד‪.‬‬ ‫כמו בשיטות האחרות – גם כאן יש לכל הודעה מידע שמציין היכן מתחיל ה ‪ data‬והיכן‬ ‫הוא מסתיים‪.‬‬ ‫ההבדל הוא שכאן אורך ה ‪ DATA‬קבוע‪.‬‬ ‫מבנה ‪ frame‬ב ‪) :SONET‬במקרה של ‪(sts1‬‬ ‫‪Payload‬‬ ‫‪Overhead‬‬ ‫‪9 rows‬‬ ‫‪90 columns‬‬ ‫‪ 9‬שורות של ‪ 90‬בתים כ"א‪.‬‬ ‫‪ 3‬בתים ראשונים בכל שורה משמשים ל ‪) Overhead‬שימושים נלווים(‬ ‫‪ 2‬הבתים הראשונים של ה ‪ frame‬כולו מכילים צירוף קבוע של ביטים שמסמל את תחילת‬ ‫ה ‪.frame‬אין בעיה שהצירוף הזה יופיע בתוך ה ‪ data‬כי כאן גודל כל ‪ frame‬הוא קבוע‬ ‫והמקבל יודע לחפש את תו ההתחלה בדיוק כל ‪ 810‬בתים‪(9*90 ).‬‬ ‫הבתים של ה – ‪ Overhead‬מקודדים בשיטת ‪ ,NRZ‬שעוברת ‪ XOR‬עם צירוף ביטים קבוע‪,‬‬ ‫בן ‪ 127‬ביטים‪ ,‬שמבטיח הרבה שינויים במתח ובכך מבטיח ‪ clock recovery‬יעיל )ראו‬ ‫פרק קודם(‪.‬‬ ‫ל – ‪ SONET‬יש שימושים חשובים בתהליך ריבוב כמה לינקים איטיים ללינק מהיר אחד‬ ‫אבל בחרנו לא להרחיב על כך מכיוון שהחומר לא מופיע במצגות ולא נידון בכיתה‪.‬‬ ...
View Full Document

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern