1
הקדמה
כדי להתמודד עם האתגרים שהוצגו ,ניסה הארגון הבינלאומי הנקרא ISOשפירושו International Standard Organizationלפתח מודל כללי שיספק מענה כולל ,המורכב ממספר דברים המודל
שפותח
נקרא
מודל
שבע
השכבות-
Interconnect
Standard
-Open
.OSI
מודל זה מהווה הקבלה לאנלוגיה האנושית בתקשורת ,ובסיס לארכיטקטורה הפתוחה של מערכות תקשורת הנתונים. מרבית רשתות התקשורת ,ואין כל הבדל אם אנו עוסקים ברשתות מקומיות או מרחביות ,מתוכננות על בסיס רמות תקשורת מוגדרות .רמות אלו מאפשרות יישום תכונות תקשורת בכל רמה ,באופן כמעט בלתי תלוי במתרחש ברמות האחרות .ברמות אלו קיימים שני עקרונות המאפשרים את השגת המטרה :עקרון ראשון : כל אחת מהרמות ,בלתי תלויה לחלוטין ברמות האחרות ,מבחינת התכונות ,או התפקידים שהיא מבצעת .עם זאת ,כל אחת מהרמות תלויה מבחינת יכולתה להתקיים לפחות ברמה אחת אחרת .העיקרון השני :שני הצדדים חייבים להסכים ביניהם מראש על אופן המימוש של כל אחת מהרמות. הרשימה הבאה מפרטת את שבע שכבות מודל ה OSI-לתקשורת בין מערכות:
שכבה :7שכבת היישום שכבה :6שכבת ההצגה שכבה :5שכבת השיח שכבה :4שכבת ההעברה שכבה :3שכבת הרשת שכבה :2שכבת עורק הנתונים שכבה :1השכבה הפיזית
2
מאפייני מודל ה – OSI
ניתן לחלק את שבע השכבות לשתי קטגוריות :שכבות גבוהות ושכבות תחתונות .תחילת המודל הוא בשכבה הגבוהה -שכבת היישום ,בה נוצר המגע היחיד בין המשתמש והמערכת ,ובה מבוצעת תוכנת היישום .סיום המודל הוא בשכבה התחתונה -השכבה הפיזית ,בה מומר המידע לאותות חשמליים המועברים לאורך התווך הפיזי שמקשר את שני צידי קו התקשורת ,שמקיימים את התקשורת ביניהם.
הקשר בין השכבות השונות כל שכבה במודל ( OSIלמעט הראשונה והאחרונה) יוצרת קשר עם שלוש שכבות אחרות במודל :השכבה שמעליה ,השכבה שמתחתיה ,והשכבה המקבילה לה במערכת עימה היא מתקשרת .לדוגמה ,שכבת עורק הנתונים ( )Data Link Layerבמחשב Aמתקשרת עם השכבות הבאות: •שכבת הרשת ( )Network Layerושכבה פיזית ( )Physical Layerבמחשב .A •ושכבת עורק הנתונים ( )Data Link Layerבמחשב .B
3
פרוטוקולים מודל ה OSI -דואג למסגרת תפיסתית לתקשורת בין מחשבים ,אולם המודל עצמו אינו שיטת תקשורת. תקשורת ממשית אפשרית על ידי שימוש בפרוטוקולי תקשורת .בהקשר של קשרי נתונים פרוטוקול מערכת חוקים ומוסכמות המפקחים על מעבר מידע ברשת התקשורת. פרוטוקול מבצע את הפעולות של אחד או אחדים משכבות ה .OSI - קיים מגוון רחב של פרוטוקולי תקשורת ,אולם רובם נופלים בגדר אחת הקבוצות הבאות: •פרוטוקולי הרשתות המקומיות (.)LAN •פרוטוקולי הרשתות המרחביות (.)WAN •פרוטוקולי רשת. •פרוטוקולי ניתוב. פרוטוקולי הרשתות המקומיות פועלים ברשת ובשכבות קשרי מידע של מודל ה OSI -ומגדירים תקשורת במגוון רשתות מקומיות .פרוטוקולי הרשתות המרחביות פועלים בשלושת השכבות הנמוכות של מודל ה - OSIומגדירים תקשורת במגוון הרשתות המרחביות. פרוטוקולי ניתוב הם פרוטוקולים של שכבות הרשת האחראיים על ניתוב ומיתוג עומס ההודעות .לבסוף, פרוטוקולי הרשת הם השכבות הגבוהות הקיימים בחבילת פרוטוקולים נתונה.
פרוטוקולים בפרויקט בפרויקט נתבצעה שימוש בכל שכבות OSIאלמנת ליצור תקשורת בין שרתים . בעת הגדרת ציוד אנו נשתמש בפרוטוקולים הבאים : שכבות שכבה :4שכבת ההעברה שכבה :3שכבת הרשת שכבה :2שכבת עורק הנתונים שכבה :1השכבה הפיזית
פרוטוקולים TCP, UDP ICMP, IP Ethernet , WiFi / 802.11 Ethernet, OFDM
4
שכבה פיזית
השכבה הפיזית היא השכבה הראשונה של מודל ה־ ,OSIהיא אחראית על העברת האותות הבינאריים של המסגרות ( )framesמשכבת הקו של מודל ה.OSI- השכבה הפיזית אחראית על העברת מידע על מדיית התקשורת ,שיכולה להיות כבל נחושת ,סיב אופטי או אוויר .על מנת שהנתונים שנשלחו מקצה אחד של המדיום יובאו אל קצה השני ,יש לקבוע "שפה" מוסכמת לייצוג הבינארי של המידע ,וכאן נכנסים לפעולה תקנים של השכבה הפיזית.
תקן 100BASE-TX תקן 100BASE-TXשייך למשפחת FastEthernetומאפשר העברת נתונים במהירות Mbps 100 למרחקים עד 100מטרים ללא מגברים או משחזרים .בתקן זה משתמשים בשתי זוגות סיבי נחושת של כבל רשת מסוג )UTP/STP Cat 5( 5או יותר ומחברים מסוג .RJ45
סכמת פינים .45RJ
ישנם 3אופני חיבור מחברי ,45RJשתלויים בסוג ציוד הנמצא בקצוות הכבל: .1ישר ( - )Straight-Throughכשציוד המחובר עם כבל אינו מאותו סוג:
5
.2מוצלב ( - )Crossoverציוד מחובר עם כבל מסוג זה – זהה:
.3הפוך ( - )Rolloverאיתו אנו נתחבר עם תוכנת Terminalעל PCליציאת Consoleבנתב על מנת הגדרתו.
פין מספר 1בקצה הראשון של כבל זה מחובר לפין מספר 8בקצה השני 2 ,ל ,7-וכן הלה .
כמו כן קיימת טכנולוגיה MDIX/MDIאו AutoCrossשמתאימה את היציאה שכבל מחובר אליה לסוגו ללא צורך בהתחשבות בסוג של כבל.
6
קידוד מנצ'סטר ייצוג של אפסים ואחדות בינאריים במשפחת Ethernetמתבצע בעזרת קידוד 'Manchester 2 – '1מיוצג על ידי ירידת מתח בקו מ 5-וולט ל 0-וולט כאשר ' '0מיוצג על ידי עליית מתח מ 0-וולט ל 5-וולט ,כל זה באמצע של מרווח סיבית .בעזרת שיטה זו מתקבל אחד היתרונות הבולטים של קידוד זה – יכולת סנכרון עצמית ,שקיימת בתקנים של 100Mbpsומלה .תקנים פחות מהירים מסתנכרנים בעזרת שדה preamble בתחילת מסגרת נתונים ,ובנויה מרצף אחדות ואפסים מתחלפים .אורכה של המחרוזת הנ"ל – . byte 7
.קוד מנצ'סטר 2
כרטיסי רשת היום רוב הציוד שמשתמשים בו למטרת בנית רשתות קטנות ובינוניות -נתבים ,מתגים ,נקודות גישה וכו' – הינו ציוד שתומך בתקן ,)Ethernet )802.3 IEEEהמאפשר העברת נתונים בקצבים 10,100,1000 ואפילו יותר מיליוני סיביות לשנייה (מס"ש) .על מנת לספק יחס מכיר/איכות מתאים אנחנו בחרנו בקצב 100מס"ש בתור נתון שלא דורש השקעה רבה מצד אחד ומצד שני מאפשר שימוש במערכת למאות משתמשים בו זמנית.
7 נדרשים שני כרטיסי רשת עם יציאות 45RJבחיבור PCIעל מנת להתקינם בשרת דואר ושרת קבצים. מערכת הפעלה חלונות XPיודעת לזהות את רוב הכרטיסים מסוג זה באופן אוטומטי ,יחד עם זה מנהלי התקנים הנדרשים באים על CDשמגיע ביחד עם כרטיס ,חוץ מזה אפשר להוריד את גרסאות החדישות מאתרי יצרן.
כרטיס רשת IEEE 802.3פנימי.
כרטיסי רשת אלחוטיים בכדי להתחבר למערכת “ “Middle Tierמתוך הקמפוס באמצעות מחשבים ניידים ,המחשבים הללו צריכים להיות מצוידים בכרטיסי רשת אלחוטיים הפועלים בתקן .)Wi-Fi )IEEE 802.11 b/gתקן זה מאפשר העברת נתונים בקצבים עד 11מס"ש ( )bאו עד 54מס"ש ( )gבתחום תדרים של GHz 24בתוואי של כ 30-מטרים בשטח בנוי .היום לטכנולוגיה זו שימוש רב ברחבי הארץ והעולם ,כמו כן כמעט בכל מחשב נייד שמיוצר בשנים אחרונות ישנו כרטיס הנ"ל מובנה.
כרטיס רשת אלחוטי בחיבור .PCMCIA
8
שכבה :2שכבת עורק הנתונים שכבת עורק הנתונים מפעילה ומנהלת את הקשר הפיזי ,כלומר ,היא מנהלת את הגישה לעורק .את הפעולות היא מבצעת תוך כדי הפעלת פרוטוקולי גילוי ותיקון שגיאות במהלך העברת הנתונים במסגרות ()Frames כולל מנגנוני בדיקה ,כגון CRCודומיו .שכבת עורק הנתונים מבטיחה שהרשת אכן "שקופה" לנתונים העוברים בה ,כך שהנתונים לא ישתנו בעת המעבר בה .אם נמצאה שגיאה בנתונים שהתקבלו ברשת ,דואגת שכבת עורק הנתונים לבקש שידור נוסף Retransmissionשל מנת הנתונים השגויה .בנוסף ,שכבה זו דואגת לכך שהנתונים שמתקבלים בתחנת היעד ברשת ,מגיעים באותו סדר שבו נשלחו .היא גם מונעת "צווארי בקבוק" ו"פקקים" בצמתים מסוימים ברשת באמצעות מנגנונים מיוחדים לבקרת זרימת הנתונים ( .)Flow Controlשכבה זו מטפלת בקשר ברמת הקישור המקומי ,כלומר בין שני התקני רשת שכנים הקשורים זה לזה בקשר פיזי מקומי .אין היא עוסקת כלל בטיפול בבעיות ניתוב אל התקנים שהקשר אליהם הינו עקיף ,כלומר דרך התקני ביניים .שכבת עורק הנתונים מחולקת לשתי תת-שכבות.
פרוטוקולים בשכבה 2 רקע המושג Ethernetמתייחס למשפחת יישומים של רשת תקשורת מקומית ( )LANהכוללים 3קטגוריות עיקריות : Ethernetו :IEEE 802.3סוגי רשת LANהפועלים במהירות של Mbps 10על תווך של כבלי נחושת. : Mbps Ethernet 100סוג של רשת LANהידועה גם כרשת Fast Ethernetהפועלת בקצבים של 100Mbpsעל גבי תווך כבלי נחושת(.)Twisted pair
9 : Mbps Ethernet 1000סוג של רשת LANהידוע גם כ ,Giagbit Ethernet-והעובד בקצבים של 1000Mbpsעל גבי תווך אופטי או על גבי כבלי נחושת. Ethernetמתקיים והפך למוביל באמצעי המדיה ברשתות LANבגלל גמישותו הרבה והקלות היחסית שבו ניתן לממשו ולהבינו .אע"פ שטכנולוגיות אחרות נראו כמחליפים של Ethernetמנהלי הרשת העדיפו ומעדיפים את ה Ethernet-לסוגיו השונים כפתרון אפקטיבי ליישום ברשתות מתאימות .
Ethernetו IEEE 802.3 תקן התקשורת Ethernetלרשתות מקומיות פותח ע"י חברת Xeroxבשנות ה.70 - בתחילת שנות ה 80 -אימץ ארגון IEEEאת התקן שהוגדר על ידו ,וקרא לו בשם תקן . 802.3לאחר מכן, פותחה גרסה שנייה בשם .Ethernet II פיתוח גרסה זו נעשה בשיתוף עם החברות Digitalו .Intel -איור 7-1מדגים רשת .Ethernet
Ethernetו 802.3 -מיושמים בדרך כלל על ממשק של כרטיס או במעגל מודפס ,כאשר הקישור לתווך הפיסי נעשה באמצעות .Transceiverהתקן זה מבצע פעולות הכוללות איתור התנגשויות ברשת ופעולות נוספות האופייניות למדיה הפיסית .ה Transceiver -מתחבר לתחנות הקצה באמצעות כבל מיוחד. IEEE 802.3מתפרש על פני סוגי כבילה שונים ,כאשר אחד מהם הינו . 10Base5בסוג הכבילה הזה הכבל המקשר לרשת מכונה , Interface Attachment Unitוהתקן החיבור לרשת נקרא Media Attachment ,Unitהמקביל בעצם ל.Transceiver-
10
פעולת IEEE 802.3ו Ethernet במצב פעולה רגיל מקשיב כרטיס רשת ה Ethernet -לכל ההודעות העוברות ברשת ומעביר לטיפול השכבות הגבוהות רק את הנתונים המכילים בכתובת היעד את כתובתו הייחודית ,או כתובת המציינת שידור לכל(. )Broadcast כל גרסאות תקן Ethernetמשתמשות בשיטת גישה לתווך התקשורת הנקראת .CSMA/CDפרוטוקול זה קובע איזו תחנה יכולה לשלוח נתונים ברשת ומתי היא יכולה לעשות זאת. עיקרון הפעולה של הפרוטוקול קובע: אל תשדר כאשר מישהו אחר משדר .במקרה ונוצר מצב התנגשויות בשידורים ,מפסיקים כל התחנות לשדר .לכל תחנה מחושב באופן אקראי פרק זמן לחזרה לשידור ,לאחר פרק זמן זה תנסה התחנה לחזור ולשדר. מרכיב CSMAשל הפרוטוקול מגדיר כיצד יכולות מספר תחנות לגשת לאותו משאב רשת ( . )Multiple Accessבנוסף ,הוא מגדיר כיצד צריכה תחנה ,הרוצה לשדר לרשת להאזין לרשת תחילה, כדי לבדוק האם מישהו כבר משדר( )Carier Senseאם אין ברשת פעילות התחנה תתחיל לשדר ,ואם קיימת פעילות ברשת ,היא תמתין עד שלא יהיה שידור כלשהו.
השוני בשרותי IEEE 802.3ו Ethernet אע"פ ש Ethernet -ו 802.3 -דומים בהרבה מובנים ,ישנם שירותים המבדילים בין השנייםEthernet . מספק שירותים בשכבות 1-2במודל .OSIלעומת זאת 802.3שייך לשכבה 1ולחלק הנמוך בשכבה השנייה האחראי לגישה לערוץ תת-השכבה .MACבנוסף ,למרות ש 802.3לא מספק בקרה מספקת אך בשונה מ- Ethernetהוא כן מאפשר סביבה של שכבות פיזיות שונות כאשר Ethernetמספק שכבה אחת. המיקום של שני הגישות ביחס למודל OSIמתואר באיור.
11
: חלקים המסכמים את מאפייניו שהם3 לכל פרוטוקול בשכבה הפיסית יש שם בעל LAN-•מהירות רשת ה •שיטת האיתות בתווך •סוג המדיה . מאפיינים לוגיים כאמור3 -איור מתאר איך נעשית המרת השם ל
- בנוסף להבדלים שיש בין סוגי המדיה השונים ב,802.3 - לEthernet טבלה מתמצתת את ההבדלים בין : עצמו802.3
Characteristic )Data rate )Mbps Signaling method Maximum segment length Media
Topology
Ethernet
IEEE 802.3 Values
Value
10Base5 10Base2 10 10 10 Baseband Baseband Baseband 500
500
185
ohm-50
ohm-50
ohm-50
coax
coax
coax
Bus
Bus
Bus
10BaseT 10 Baseband
10BaseFL 10 Baseband
100BaseT 100 Baseband
100
2000
100
Unshielded twisted-pair
Unshielded Fiber-optic
cable
Star
twisted-pair cable
Point to point
Bus
12
מבנה המסגרות של IEEE 802.3ו Ethernet איור מתאר את שדות המסגרות הן של 802.3והן של :Ethernet
השדות של מסגרות ה Ethernet -ו 802.3 -המתוארים באיור הן כדלהלן: :Start Of Header בית המסתיים בשני ערכי 1רצופים המסנכרן את התחנה לתחילת קליטת המסגרת. :Destination Address כתובת תחנת יעד .הכתובת יכולה להיות מסוג Unicast , Broadcastאו .Multicast :Source Address כתובת תחנת המקור .חייבת להיות מסוג .Unicast :Type מציין את סוג הפרוטוקול בשכבה השלישית שיטפל במסגרת לאחר מכן. :Length מספר הבתים בשדה ה Data -הבא בתור :Data השדה מכיל את הנתונים וגם את כותרות .)LLC(802.2במידת הצורך יתווסף לנתונים ריפוד( ,)Padכדי להבטיח 64בתים במסגרת כולה. :Frame Check Sequence ערך ( Cyclic Redundency Check( CRCשחושב ע"פ אלגוריתם מתמטי על נתוני המסגרת ,ערך זה מחושב גם בתחנת היעד ואם התקבל ערך זהה פירוש הדבר שההודעה הגיעה בשלמותה ,אחרת ההודעה השתבשה ,ולכן תושמט.
13
מתג ( )SWITCH רקע מתג LANהוא התקן חומרה להעברת מסגרות נתונים בין מבואותיו בהתאם לכתובות השכבה השניה של מודל ה .OSI-למעשה ,תפקיד מתג זהה לחלוטין לתפקיד הגשר ,הוא מהווה התן אבולוציוני המספק צפיפות מבואות גדולה יותר ובמחיר נמוך .מסיבה זו ,מתגי LANמסוגלים ליישם מקטעי רשת בעלי מספר מצומצם של משתמשי קצה ,ואף עד למשתמש קצה יחיד .כך גדל באופן משמעותי רוחב הסרט הממוצע בזמין לכל משתמש קצה. המגמה להקטנת מספר המשתמשים לכל מקטע רשת ידועה בשם מיקרו-סגמנטציה ומאפשרת יצירת מקטע רשת ייעודי לכל משתמש .כל משתמש מקבל באופן מיידי אפשרות גישה לרשת ,ברוחב סרט מקסימלי ,ובכך הוא מבטל את הצורך התחרות עם תחנות אחרות על רוחב הסרט הפנוי לשימוש .כתוצאה מכך ,התנגשויות - תופעה ידועה ברשתות משותפות -פשוט נעלמות .בדרך כלל ,מתג LANאשר מעביר מסגרות נתונים מתבסס על כתובת שכבת עורק הנתונים .במקרים מסוימים ,העברה היא על פי כתובת הרשת שלהם ,כמו למשל במקרה של ניתוב LANרב-שכבתי.
14
היסטוריה מתגי LANהראשונים ,שהופיעו בתחילת שנות ה ,90 -התייחסו לשכבה השנייה בלבד .הם נועדו לספק פתרון לבעיית רוחב הסרט ברשתות מקומיות .כיום ,קיימים מתגי רשת מקומית המסוגלים לבחון את הנתונים גם בשכבת הרשת ,זאת בשילוב חומרה ייעודית ותוכנה .כך ,הם מסוגלים לספק תכונות ניתוב במהירויות גבוהות בהרבה מהנתבים הקודמים להם.
אופן פעולת המתג מתגי רשת מקומית זהים בפעולתם הבסיסית לגשר ומבצעים את הפעולות הבאות :למידת טופולוגיית השרת, העברת נתונים ,וסינון נתונים. מתגי רשת מקומית גם מאפשרים תכונות חדשות וייחודיות הכוללות: תקשורת המוקדשת לשני התקנים :תקשורת נטולת התנגשויות המגדילה את הספק התעבורה במתג. ריבוי קשרים בו-זמנית :מתג LANבדרך כלל ,בנוי בארכיטקטורה המאפשרת יצירת מספר קשרי נקודה לנקודה בין שני משתמשים שונים (מטריצה) .ארכיטקטורה זו מאפשרת ביצוע מספר קשרים בו-זמנית, להגדלת תפוקת המתג. קיימות רמות גישות שונות לבניית ארכיטקטורת המיתוג הפנימית בכל מתג והן נותנות להחלטת היצרן ופרי פיתוחו. תקשורת דו-סיטרית מלאה :על ידי ביטול הצורך בהאזנה לשידורים ברשת ,ניתן לנצל את זוג הגידים שנועדו לכך ,לתקשורת דו-סיטרית ,וכך להכפיל באופן תיאורטי את רוחב הסרט של הקו. טיפול בקצבים שונים :מתגי רשת מקומית מסוגלים לבצע המרות בין קצבים שונים ,ובכך לבצע חלוקת רוחב סרט נכונה.
15
שיטות העברת נתונים במתגי LAN קיימות שתי שיטות בסיסיות להעברת נתונים במתגי רשת מקומית : •אחסן ושלח ( :)Store and Forwardבשיטה זו המתג מעתיק את כל המסגרת לחוצצים שלו ומבצע עליה בדיקות תקינות ,כגון :בדיקת שלימות ותקינות המנה ( ,)CRCמסגרת קטנה מהגודל המותר ( ,)Runtsומסגרת גדולה מהגודל המותר ( .)Giantsאם המתג מוצא שהמסגרת תקינה ,הוא בודק בטבלה שלח ומעביר את המסגרת ליציאה המתאימה .אם המסגרת אינה תקינה ,המתג משמיט אותה. לסיכום :המתג בודק את מסגרת הנתונים מתחילתה ועד סופה ,ורק אם המסגרת תקינה הוא מתחיל להעביר אותה ליציאה המתאימה. •קשר ישיר ( : )Cut Throughהמתג מעתיק אל החוצצים שלו רק את שדה כתובת היעד של המסגרת ( 6הבתים שבאים לאחר .)Preambleאחר כך ,הוא בודק בטבלה שלח ומוצא את היציאה המתאימה ומעביר את המסגרת אל היעד. יתרונות וחסרונות שיטות העברה אלו :בשיטת אחסן ושלח היתרון העיקרי כתוצאה מבדיקת כל המסגרת הוא חסימת משלוח של המסגרות שאינן תקינות .החיסרון הנובע משיטה זו הינו זמן המתנה ארוך ,כיון שמשך הטיפול בכל מסגרת הוא ארוך ונגרם על ידי בדיקת המסגרת כולה. בשיטת קשר ישיר היתרון העיקרי הוא במעבר ישיר של המסגרת אל היציאה המתאימה מיד לאחר קריאת כתובת היעד .כך יש זמן המתנה נמוך אשר גורם לשיפור הספק התעבורה ברשת. כיום ,קיימים מתגי LANהמשלבים את שתי שיטות היישום (היישום נתון להחלטת היצרן) .שיטה נפוצה היא עבודה במצב העברה ישירה עם דגימה של מבוא מסוים ברגע של מעבר סף שגיאות מסוים ,המתג עובר באופן אוטומטי למצב עבודה בשיטת אחסן ושלח ,שמשמעותו בדיקת המסגרת בשלמותה .כאשר מספר השגיאות ירד לרמת סף מוגדרת ,משנה המתג את פעולתו ,ועובר שוב למצב קשר ישיר
16
רשת וירטואלית פרטית בשכבה )VLANs p / 802.1 ( 2 מהו ?VLAN ובכן ,ראשי התיבות של VLANהם ,Virtual LAN -וכשמו כן הוא -משמש כרשת נפרדת (מבחינה וירטואלית) על כל המשתמע מכך .הרעיון הוא לקחת כמה פורטים בסוויצ' ,ולשייך אותם לרשת לוגית נפרדת. שמות נרדפים ל VLANהם: Broadcast Domain Logical Network VLANגם יכולים להתפרש על פני כמה וכמה סוויצ'ים נפרדים .כלומר ,אני יכול לקבוע שפורטים ,10-20 בסוויצ'ים ,x,y,zישויכו לאותה רשת מסוימת. VLANגם יכול להתפרש על פני ראוטרים שונים ,כלומר -אפשרי לקנפג וילאנים ברשת ה ! WANפתרון משמעותי ושימושי מאוד עבור נותני שירות אינטרנט ISP's -למיניהם .במדריך הנוכחי נתמקד בעיקר ב- VLANהמיושם ב.LAN- היתרונות המשמעותיים: צמצום איזור ה Broadcast אלמנט של ( Securityרשת מבודדת ,ללא גישה לשאר הרשת שלי ,ולהיפך).כפי שאמרנו ,רעיון ה VLANהוא לבנות "רשתות נפרדות" באותו סוויץ' ,או\וגם -פרישתם על פני כמה וכמה סוויצ'ים (המחוברים ביניהם ב ,TRUNK-מיד נרחיב בנושא).
17
ישום VLANעבור חלוקת רשתות ישום VLANבסוויץ' בודד \ חלוקתו לשלושה רשתות אם ניקח לדוגמא סוויץ' 8פורטים ,וארצה "לחלק אותו" לשלושה סוויצ'ים ,אוכל לעשות זאת בעזרת הגדרת VLANעל חלק מהפורטים ,וכך לקבל אפקט של שלושה סוויצ'ים נפרדים (יותר נכון -שלושה רשתות נפרדות) על פני סוויץ' בודד.
כפי שניתן לראות בתמונה ,לקחתי סוויץ' בודד 8פורטים ,וחילקתי אותו ל 3רשתות שונות על ידי הגדרת פורטים 4-6כמשויכים ל ,VLAN 2ופורטים 6-8כמשויכים ל .VLAN 3 בקשר לשאר הפורטים ,נצטרך להגדיר האם הם UnTaggedאו שהם מתויגים כ VLAN 1 ( VLAN 1הוא ה .)Default VLANבמקרה הזה ציירתי מצב בו שאר הפורטים מתויגים כ .VLAN 1אך אם יש לנו ציוד שמסיבה כלשהיא אינו יודע לבצע טרנק לציוד השני המחובר אליו ,רצוי ונחוץ שנקבע את ה ( Native VLANהוילאנים ה"מקומיים" ,אלו שלא מתויגים) כ ,Untaggedאחרת אותו ציוד בצד השני יקבל את כל הפאקטים מתויגים כ VLAN 1ולא ממש ידע איך להתמודד איתם (בשפה סוויצ'ית -ישמיד אותם)
18
פרישת ( VLANחלוקה לרשתות) על פני מספר סוויצ'ים אני יכול לקחת את הדוגמא הקודמת צעד אחד קדימה ,וליצור רשתות שונות וממודרות על פני מספר סוויצ'ים שונים! אך בשביל שהדבר יעבוד ,עלינו להגדיר חיבור Trunkבין הציודים השונים , Trunk .משמעותו -ההגדרה בפורטים המחברים בין הציודים המאפשר להעביר על גבם פאקטים המתויגים כ .VLAN בשביל להבין טוב יותר את הכוונה ,נציץ באיור המסביר את הרעיון.
נתונים על הדוגמא: בדוגמא אנו רואים סוויצ' מרכזי ,סיסקו 6500שמשמש כ Backboneעם חיבורי גיגה אליו
מתחברים
בסיבים
אופטיים,
שלושה
סוויצ'ים
של
סיסקו
מסוג
.2950
הגדרת פורטים בסוויצ' כמשויכים ל ( VLAN 100מסומנים באדום) על סוויצ' Aמוגדר VLAN 100ומוגדרים פורט ,2 ,1כפורטים המשויכים ל VLAN 100 על סוויצ' Bמוגדר VLAN 100ומוגדרים פורטים 3 ,2 ,1כפורטים המשויכים ל VLAN 100 על סוויצ' ,Cלא מוגדרים פורטים המשויכים ל ,VLAN 100ולכן כל הפורטים שלו משויכים אוטומטית ל ( Default VLANכברירת מחדל .)VLAN 1 -כנ"ל שאר הפורטים בסוויצ' - A , Bמשויכים ל .VLAN 1
אם כן ,בעצם לקחנו מספר פורטים ב 2סוויצ'ים שונים ,ויצרנו מהם רשת אחת ממודרת ומבודדת מהרשת הראשית (.)VLAN 1
19
לוגיקת הVLAN - לאחר ששייכנו מספר פורטים ל VLANמסוים ,לפריימים שיצאו דרך אותם פורטים יוצמד להם תיוג "( "VLAN Xכשה Xמייצג את ה VLAN ID-לו הם משתייכים) .אותם פריימים, לכל ציוד שיגיעו בדרכם -הציוד יראה שהם מתויגים כ VLANויפיץ את אותם פריימים רק לפורטים המשויכים אצלו לאותו .VLAN אם כן ,על פי הדוגמא המאוירת ,כשפורט ( 2מסומן באדום) בסוויץ' , Bישלח נתונים, אותו פריים מסומן כ .VLAN 100הבאק-בון הראשי מקבל את הפאקט ,ומפיץ אותו לפורטים המסומנים אצלו כאפשריים ל - VLAN 100במקרה שלפנינו -רק לפורט (המחובר בטרנק) שמתחבר לסוויץ' . Aכשסוויץ' Aיקבל את אותו פאקט ,גם הוא יפיץ את הפאקט רק לפורטים המסומנים אצלו כ ,VLAN 100כלומר -פורטים .1-2 והנה לנו אפקט של רשת נפרדת וממודרת ,על פני מספר ציודים שונים ,המיישמת יתרונות רבים החל מאבטחת-מידע (כל בקשות ה Broadcastשעוברות בסוויץ' מופצות רק לפורטים המסוימים) ,וכלה ביעילות רשת מקסימאלית ע"י צמצום איזור ה ( Broadcastבקשות ה , broadcastכגון ARPוכו' ,מופצות רק למספר פורטים מצומצם ,ולא "מזבלות" את שאר הפורטים הלא רלוונטיים לרשת הספציפית הזו)
הגדרת Trunkכדי לאפשר מעבר VLAN's הגדרת הפורטים המחברים בין שלושת הסוויצ'ים ,לסוויצ' ה Backboneכ ,Trunkנועדה בכדי לאפשר "מעבר \ הכרה" של VLAN'sבין כולם .למה הכוונה? ובכן ,אם לא נגדיר ,Trunkהפורטים המשויכים ל VLAN 100בסוויצ' ,Aלא ידעו "לדבר" עם הפורטים המשוייכים ל VLAN 100בסוויצ' .Bרק הגדרת מצב Trunkבחיבורים המחברים בין הציודים השונים ,תאפשר מעבר .VLAN's
20 ישנם שני פרוטוקולים המבצעים .Trunking •802.1Q •ISL ההבדלים ביניהם שווים מדריך נפרד (בקרוב) ,אבל בגדול ISL ,הוא פרוטוקול טרנקינג שנבנה ע"י סיסקו ,ומכיל 2חסרונות עיקריים : .1יעילות פחותה מזו של ( 802.1Qתופס יותר מקום בפריים) .2אי תאימות לציודים של חברות אחרות שאינן סיסקו. כלומר ,כיום 802.1Qהוא פרוטוקול הטרנקינג הנפוץ ביותר ,והוא המשמש בעיקר לביצוע טרנקינג בין ציודים שונים ומשונים שכולם ,ללא יוצא מהכלל ,תומכים ומכירים בו.
21
Wi-Fi מבוא
הוא השם העממי למספר תקנים לציוד רשת אלחוטית במרחב המקומי ( )Wireless LANהמבוססים על תקן .IEEE 802.11תקנים אלה מאפשרים פריסת רשת תקשורת אלחוטית שבה משודרות חבילות נתוני IPבין הצרכנים השונים ,למרחקים של כמה עשרות או מאות מטרים .מקור השם Wi-Fiהוא בקיצור הביטוי ,Wireless Fidelityעל משקל הכינוי Hi-Fiשניתן בעבר למערכות סטריאו. רשת Wi-Fiפועלת באחד משני מצבים Ad-Hoc :או .Infrastructureהמצב הראשון הוא רשת בלתי מנוהלת -כל הצרכנים (בדרך כלל מחשבים) מתקשרים בינם לבין עצמם ללא שום תשתית נפרדת ,וכל אחד מהם עשוי לשדר באותו זמן .במצב השני מנוהלת הרשת על ידי נקודת גישה (בדרך כלל משולבת בנתב). יתרונה הגדול של רשת Wi-Fiהוא בפשטות חיבור הציוד (אין צורך בפריסת כבלים והגדרות פרוטוקול מורכבות במחשב) ובמחירו הזול .מחשבים ניידים רבים נמכרים כשהם מכילים כרטיסי ,Wi-Fiכך שניתן לחבר אותם בקלות לרשתות אלחוטיות.
מאפיינים •טווח :עד 400מטר בשטח פתוח (הטווח המעשי קצר בהרבה באזור בנוי). •קצב תעבורה :עד 54מגה סיביות לשנייה. •אבטחה :אפשרות להצפנת הנתונים ולהגבלת גישה לרשת.
יישומים •רשת אלחוטית ביתית. •גלישה באינטרנט באמצעות נתב אלחוטי. •גלישה באינטרנט באמצעות חיבור מחשב נייד או [[מחשב כף יד]] ל[[נקודה חמה]]. •תקשורת בין שני מחשבי כף יד ,ביישומים צבאיים למשל.
22
נקודה חמה ( )Hotspot
נקודה חמה היא הכינוי שניתן לנתב אלחוטי של רשת Wi-Fiשצרכנים מזדמנים יכולים להתחבר דרכו ל אינטרנט .ברחבי העולם מותקנות במקומות ציבוריים רבים נקודות חמות בתקן Wi-Fiשפתוחות לציבור הרחב בחינם או תמורת תשלום נמוך .כל אדם יכול להתחבר דרך הנקודה באמצעות המחשב האישי או העזר הדיגיטלי אל האינטרנט .נקודות אלו נפוצות בשדות תעופה ,בבתי קפה ובמקומות ציבוריים נוספים .ביפן ישנה רכבת שיש בה חיבור של נקודה חמה .בישראל העיר הראשונה שרושתה בנקודות חמות הייתה ירושלים (ב־ 20ב אוקטובר ,)2004ובעקבותיה רושתה גם תל אביב .באפריל 2005מצויות בארץ על פי נתוני מפה 309נקודות חמות.
תקנים • - 802.11aתחום התדרים ,5GHz :קצב תעבורה 54 :מגה סיביות לשנייה • - 802.11bתחום התדרים ,2.4GHz :קצב תעבורה 11 :מגה סיביות לשנייה • - 802.11gתחום התדרים ,2.4GHz :קצב תעבורה 54 :מגה סיביות לשנייה ישנן הרחבות נוספות של תקן זה (כמו )802.11dהמיועדות לכסות מרחקים של עד 5קילומטרים .כמו כן יצרני ציוד רבים מוסיפים לציוד מתוצרתם יכולות שהן מעבר לתקן ,כך שציוד מתוצרת אותו יצרן יכול לפעול בקצב כפול או במרחק רב יותר.
23
שכבה – 3שכבת הרשת
בשכבה זו אנחנו נתמקד בתכנון יעיל של חלוקת כתובות IPלכל מרכיבי המערכת והגדרות ציוד רשת (נתב ומתג) על מנת להבטיח קיומה של תקשורת נתונים שקופה ובטוחה .מתלה זו כוללת בתוכה: .1מתן כתובות IPקבועות ליחידות קבועות ,דהינו שרתי דואר וקבצים נתבים נקודות גישה וכו'. .2השכרת כתובות IPזמניות ליחידות מזדמנות – מחשבים ניידים שמתחברים למערכת מתוך הקמפוס. .3מתן גישה לשרותי המערכת מרשת גלובאלית ויחד עם זה מתן גישה לרשת גלובאלית למשתמשים המחוברים למערכת בקמפוס.
24
פרוטוקול IP פרוטוקול , IPאו בקיצור ,IPהוא פרוטוקול תקשורת המשמש להעברת נתונים ללא אימות הגעה או אימות נתונים ,אך הוא מפצה על כך בהיותו יעיל ומהיר ביותר ,ולכן הוא אחד הפרוטוקולים הנפוצים בשימוש ברשתות מחשבים ,וביניהם ברשת האינטרנט. IPהוא חלק מחבילת הפרוטוקולים .TCP/IP ברשתות שעושות שימוש ב־ IPיש להקצות לכל מחשב כתובת IPייחודית. IPמתפקד בשכבת הרשת של מודל ה־OSI
מבנה חבילת IP פרוטוקול IPמחלק את המידע שעליו להעביר לחבילות ,כל חבילה מורכבת מפתיח ( ,)headerנתונים, ואינה מכילה סוגר ( )trailerבניגוד לפרוטוקולים אחרים.
מבנה הפתיח 4הסיביות הראשונות משמשות לסימון גרסת הפרוטוקול שבו נעשה שימוש .כיום נפוץ השימוש בגרסה ( 4 )IPv4אך עקב מצוקת כתובות מתחיל לחדור השימוש בגרסה .IPv6 ,6 4הסיביות הבאות מגדירות את אורך הפתיח ,ביחידות של 32סיביות .מכיוון שפתיח של חבילת IPיכולה להכיל נתונים שונים ,בהתאם לאפשרויות השונות בהן נעשה שימוש ,ולכן אורך הפתיח משתנה בין חבילה לחבילה .לדוגמה ,פתיח בן 20בתים יקבל את האורך 20( 5בתים הם 160סיביות) .יש לשים לב שאורך הפתיח לא יכול לעלות על 60בתים. 8הסיביות הבאות נועדו במקור כדי לאפיין את סוג השירות ( ,)ToS - Type of Serviceכלומר ,האם על החבילה להעדיף מעבר מהיר על פני אמינות גבוהה .אף על פי שנעשה מחקר מדעי מקיף בנוגע לאפשרויות השימוש בשדה זה המסקנות לא ייושמו בפועל וכיום כמעט ולא נעשה בו שימוש. 16הסיביות הבאות מגדירות את גודלה הכולל של החבילה ,ביחידות של בית אחד .הגודל המינימלי לחבילה מוגדר להיות 576בתים ,והגודל המקסימאלי הוא 65535בתים. 16הסיביות הבאות מייצגות את "מספר הזיהוי" של החבילה .במקור הכוונה הייתה להשתמש בזיהוי זה על מנת להבדיל בין חבילות שונות שנשלחו בתכיפות מאותו מקור לאותו היעד .מאוחר יותר הוצע להתשמש בשדה הזה על מנת לעקוב אחר המסלול שעוברת החבילה ,אך הצעה זו לא מומשה.
25 3הסיביות הבאות משמשות במקרים שבהם המידע מחולק בין יותר מחבילה אחת .במקרה כזה הסיבית הראשונה תכיל ,1ואם זו היא החבילה האחרונה לאותו מידע מחולק גם הסיבית האחרונה תכיל .1בכל מקרה אחר הן יכילו .0 13הסיביות הבאות משמשות לזיהוי הסדר שבו צריך להרכיב את המידע ,במקרה שהוא מחולק בין כמה חבילות .שדה זה יכיל מיספור בסדר עולה של החבילות המכילות את המידע המחולק. 8הסיביות הבאות מייצגות את "זמן החיים" של החבילה ( .)TTL - Time To Liveהשדה מקבל מספר כלשהו בעת השליחה ,ובכל תחנה שהחבילה עוברת בדרך המספר מוקטן באחד .אם "זמן החיים" של החבילה הגיע לאפס לפני שהיא הגיעה ליעדה ,היא מושמטת ולא מועברת הלאה .מנגנון זה הומצא כדי למנוע מחבילות שלא יכולות להגיע ליעדן להסתובב באופן אינסופי ברשת. 8הסיביות הבאות מייצגות מספר ,הקובע לאיזה פרוטוקול יש להעביר את המידע לאחר שהועבר .לדוגמה - .ICMP, 6 TCP, 17 UDP 1 16הסיביות הבאות מכילות מספר שנועד לוודא את המעבר התקין של הפתיח .מפעילים על הפתיח פונקציה ידועה ,שעל-פי נתונים שונים שהוא מכיל מחזירה מספר בן 16סיביות .התחנה המקבלת מפעילה את אותה הפונקציה על הפתיח ומשווה את התוצאה עם תכולת השדה על מנת לוודא שהפתיח הגיע תקין IP .לא מוודא את אמינות הנתונים ,אלא רק את אמינות הפתיח. 32הסיביות הבאות מכילות את כתובת ה IP-של השולח. 32הסיביות הבאות מכילות את כתובת ה IP-של הנמען. בהמשך ניתן להוסיף אופציות שונות (למשל אפשרויות אבטחה) .במקרה שהאופציות לא מגיעות למכפלה שלמה של 32סיביות (שהרי גודל פתיח חבילת ה IP-חייב להיות כפולה שלמה של )32מרפדים את סופו של הפתיח באפסים על-מנת להגיע לכפולה כזאת.
26
פרוטוקול ICMP ( Internet Control Message Protocolבראשי תיבות )ICMP :הוא חלק מחבילת פרוטוקולי תקשורת באינטרנט ,ומוגדר ב־ .RFC 792הודעות ICMPנוצרות בדרך כלל כתגובה לשגיאות בחבילות של פרוטוקול ,IPכמפורט ב־ RFC 1122או למטרות אבחון וניתוב. הגרסה של ICMPהמיועדת לפרוטוקול IPv4ידועה גם בתור ,ICMPv4בתוקף היותה חלק מפרוטוקול זה .ל־ IPv6יש פרוטוקול ייעודי מקביל. הודעות ICMPנבנות בשכבת ה־ ,IPבדרך כלל מחבילת IPרגילה ,אשר יצר תגובת ICMP. IPעוטף את הודעת ה ICMPהמתאימה בכותרת IPחדשה ,כדי לשולחה חזרה למכונה ששלחה את ההודעה המקורית, ולהעביר את החבילה הנוצרת באופן הרגיל. לדוגמה ,כל מכונה (למשל נתבי ביניים) שמקדמת חבילת ,IPצריכה להקטין את שדה ה־TTL Time to (Liveשל החבילה באחד .אם ה־ TTLמגיע לאפס ,הודעת ,ICMPהאומרת כי הייתה חריגה ממשך הזמן המוקצב במהלך המעבר ,נשלחת חזרה למקור החבילה. כל הודעת ICMPעטופה ישירות בחבילת IPאחת ,ולפיכך ,בדומה ל־ ,UDPפרוטוקול ICMPאינו מבטיח מסירה. אף כי הודעות ICMPמוכלות בחבילות IPתקניות ,הודעות ICMPמטופלות על פי רוב כמקרה מיוחד, הנבדל מן הטיפול בחבילות IPרגילות ,ולא כתת-פרוטוקול רגיל של .IP במקרים רבים ,הכרחי לבחון את תוכנה של הודעת ICMPולהעביר את הודעת השגיאה המתאימה ליישום שיצר את חבילת ה־ IPהמקורית ,אשר גרמה לשליחת הודעת ה .ICMP כלי רשת נפוצים רבים מבוססים על הודעות .ICMPהכלי tracerouteמיושם באמצעות שידור חבילת UDPעם שדות TTLבעלי ערך ספציפי ,ובדיקת הודעות חוזרות האומרות כי הייתה חריגה ממשך הזמן המוקצב במהלך המעבר ,או כי היעד אינו נגיש .הכלי פינג ( )pingמיושם תוך שימוש בהודעות ה־ICMP "הד" ו"-הד תשובה".
27
כתובות IPקבועות מתן כתובות IPקבועות ליחידות חשובות במערכת חיוני מעוד .בעזרתו אנחנו מבטיחים שבמקרים קריטיים כמו ,למשל ,שגיאת מערכת – תקשורת איתם תחזור לאחר הפעלה מחדש ללא הגדרתם חוזרת .מתן כתובת IPקבעוה לכרטיס רשת בחלונות XPמתבצע באופן הבא: .1מקישים ל-התחל => לוח בקרה => רשת .2נכנסים למאפיינים של כרטיס רשת ומשם למאפיינים של TCP/IP
28 .3ממלאים את שדות המסומנים באיור לפי הגדרות ה VLAN-שאותה יחידה שייכת לה
באופן זה מוגדרים כרטיסי רשת שנמצאים בשרתי דואר וקבצים ,הגדרת כתובת IPקבועה ביחידת גישה אלחוטית מתבצעת באופן הבא:
29 כתובות IPזמניותDHCP ,
לסטודנטים מתחברים למערכת מקמפוס בעזרת ממשק אלחוטי תהליך הגדרת כתובת – IPשקוף. זאות אומרת שלא נדרש מהם ידע טכנית על מנת להיענות משרות זה .סטודנט מקבל מהנהלה שם משתמש וסיסמא לשרתי דואר וקבצים ,כל היתר מוגדר באופן אוטומטי ע"י פונקציה DHCP – Dynamic Host Configuration Protocolשמוגדרת באופן הבא:
30 :מסטודנט נדרש להגדיר את כרטיס רשת אלחוטית באופן הבא
הגדרת נתב : שבעזרתו בנויה מערכת שלנו2600 להלן קובץ הגדרות של נתב סיסקו ! Version 12.1 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname NAT ! ! ! ip subnet-zero
31 ! ! ! ! ! ! ! interface Serial0 no ip address no ip directed-broadcast backup interface shutdown ! interface FastEthernet0/0 no ip address no ip directed-broadcast backup interface no fair-queue ip nat inside ! interface FastEthernet0/0.1 encapsulation dot1q 10 ip address 10.10.10.1 255.255.255.0 ! interface FastEthernet0/0.2 encapsulation dot1q 20 ip address 10.10.20.1 255.255.255.0 ! interface FastEthernet0/1 ip address 212.12.12.1 255.255.255.0 no ip directed-broadcast backup interface no fair-queue ip nat outside !
32 ! ip nat inside source list 11 interface FastEthernet0/1 ip nat inside source static tcp 10.10.20.2 80 212.12.12.1 80 ip nat inside source static tcp 10.10.20.2 21 212.12.12.1 21 ip nat inside source static tcp 10.10.20.2 25 212.12.12.1 25 ip nat inside source static tcp 10.10.20.2 110 212.12.12.1 110 ip classless no ip http server access-list 11 permit 10.10.10.0 0.0.0.255 access-list 11 permit 10.10.20.0 0.0.0.255 ! ! ! line con 0 transport input none line aux 0 line vty 0 4 ! no scheduler allocate end
33
שכבה :4שכבת תעבורה הקדמה כפי שראינו ,פרוטוקול IPעונה על הדרישות של שכבת האינטרנט במודל השכבות ,ומספק תקשורת בין רשתות IP .מזהה את מחשב היעד באמצעות כתובת ה IP-שלו ,ולא מבחין בין האפליקציות השונות אשר להן מיועדת החבילה .הפרוטוקולים של שכבת התעבורה מספקים מנגנון שמאפשר למספר אפליקציות שונות לשלוח ולקבל נתונים במקביל ,ובלי להיות תלויות זו בזו.
הבחנה בין אפליקציות כדי להבחין בין האפליקציות השונות ,שכבת התעבורה מגדירה קבוצה של "שערים" ( )portsמופשטים, שנקראים .protocol portsכל פורט כזה מיוצג ע"י מספר שלם חיובי .תקשורת בין אפליקציות משתמשת במספרי הפורטים הללו ,בנוסף לכתובת ה .IP -המחשב המקבל מעביר את החבילות המגיעות אליו לאפליקציות המתאימות ,לפי מספרי הפורטים שמצוינים בפתיח של שכבת התעבורה. חלוקת התפקידים בין השכבות היא קשיחה IP :אחראית אך ורק על העברת נתונים בין שני מחשבים ,בעוד שכבת התעבורה ,אחראית על הבחנה בין מספר מקורות או יעדים על אותו מחשב .שני הפרוטוקולים המרכזיים הממלאים את תפקידיה של שכבת התעבורה הם UDPו.TCP -
TCP הקדמה
,TCPאו ,transmissions control protocolהוא פרוטוקול התעבורה המרכזי של משפחת פרוטוקולי האינטרנט .למעשה ,פרוטוקול TCPאינו תלוי ב ,IP -וניתן להשתמש בו גם ישירות מעל שכבת ממשק הרשת ,אך שימושו העיקרי הוא כפרוטוקול תעבורה מעל .IP כפי שראינו IP ,מספק שירות בלתי מהימן וחסר קישור .חבילות יכולות ללכת לאיבוד ,להגיע בסדר לא נכון, או להתעכב בדרך .כל זה מהווה פעמים רבות בעיה עבור שכבת האפליקציה :עבור אפליקציות רבות ,חשוב מאוד שמידע לא ילך לאיבוד ,שיגיע ללא עיכוב גדול ,ושיגיע לפי הסדר .אפליקציות כאלה שולחות הרבה מאוד נתונים ,והסיכון שמשהו ישתבש בדרך הוא גדול TCP .מאפשר לאפליקציות שמשתמשות בו להניח שהנתונים שהן שולחות יעברו ברשת ללא שיבושים.
34
מאפייני השירות שמספק TCP לשירות שמספק TCPיש מספר מאפיינים מרכזיים:
זרם ( )streamשל נתונים: TCPמאפשר לאפליקציות להתייחס למידע שהן שולחות ומקבלות כאל זרם רציף של ביטים (ולא כאל חבילות בדידות) TCP .מעביר לאפליקציה היעד את אותו זרם של ביטים ,באותו סדר שיצא מהאפליקציה השולחת.
קישור של "מעגל וירטואלי" בניגוד ל ,IP -שפועל בשיטת "שגר ושכח" ,צורת הפעולה של TCPדומה יותר לשיחת טלפון .לפני שניתן להתחיל בשידור הנתונים ,על המחשב היוזם "להתקשר" למחשב היעד ,ומחשב היעד חייב "לענות" .רק לאחר שנותר הקשר הראשוני בין מודל ה TCP -במחשב היוזם למודול המקביל לו במחשב היעד ,ניתן להתחיל לשדר את הנתונים .גם תוך כדי שליחת הנתונים ,המודולים ממשיכים "לדבר" ביניהם ,כדי לוודא שהנתונים מגיעים כסדרם .כאשר יש נתק בתקשורת מסיבה כלשהי ,שני המודולים מודעים לכך ,ומדווחים על הניתוק לאפליקציה הרלוונטית .ה"מעגל הוירטואלי" מאפשר לתוכנות האפליקציה להתייחס לקישור שביניהן לבין האפליקציה במחשב היעד כאילו הוא מעגל פיזי המחבר ביניהן.
העברה מבוקרת : תוכנת האפליקציה מעבירה ל TCP -נתונים בגדלים שונים .משיקולי יעילות ,נתונים אלה נאספים במעין חוצץ ( ,)bufferעד שיש מספיק נתונים למלא חבילה בגודל המתאים לשליחה באינטרנט .גם בצד המקבל ישנו חוצץ ,שרק כאשר הוא מתמלא מועברים הנתונים שבו לאפליקציה .אם האפליקציה מוציאה נתונים בבלוקים גדולים מאוד TCP ,יכול לבחור לחלק את הנתונים לחבילות קטנות יותר .כיוון שהנתונים עוברים בין האפליקציות בצורה של זרם ביטים ,לאפליקציה לא משנה איך הנתונים הללו נאספים לחבילות שמשודרות ברשת .עבור מקרה שבו אפליקציה מעונינת לשלוח נתונים גם אם החוצץ עדיין אינו מלאTCP , מספק את מנגנון הדחיפה ( ,)push mechanismשמאפשר זאת .בצד המקבל ,מנגנון הדחיפה מאפשר לאפליקציה לקבל נתונים גם אם לא הצטבר שם חוצץ מלא.
זרם בלתי מובנה : TCPאינו מגדיר את מבנה זרם הנתונים שהוא מעביר .אם ,למשל ,האפליקציה שולחת נתונים של כוח אדם, TCPאינו יודע היכן נגמרים נתוניו של עובד אחד ומתחילים נתוניו של עובד אחר .האפליקציות ,ולא ,TCP הן אלה שיודעות מהו מבנה הזרם.
35
צורת הפעולה של TCP
TCPמספק שירות מהימן :הנתונים מגיעים מהאפליקציה השולחת לאפליקציה המקבלת ללא שיבושים. כיוון שהשירות שמתחת ל( TCP-כלומר )IP ,אינו מהימן TCP ,צריך להבטיח את המהימנות בעצמו. המנגנון שמאפשר זאת הוא מנגנון של אישור קבלה ושליחה מחדש ( positive acknowledgemeny with .)retransmissionכאשר מחשב היעד מקבל נתונים מהמחשב השולח ,הוא שולח חזרה אישור ( ,acknowledgementןבקיצור .)ackכאשר המחשב השולח לא מקבל אישור עבור חבילה מסוימת תוך פרק זמן קבוע מראש ,הוא שולח אותה מחדש. מנגנון זה עלול לגרום לכך שחבילות ישלחו מספר פעמים -אם האישור עבור חבילה מסוימת נשלח לאחר שהיא כבר נשלחה מחדש ע"י המחשב השולח .כדי למנוע שכפול נתונים ,לכל חבילה של TCPיש מספר מזהה ,והמחשב המקבל זוכר את המספרים של החבילות שהתקבלו -ואם חבילה שכבר הגיעה מגיעה שוב, TCPלא יעביר את הנתונים פעמיים. TCPשולח נתונים בשיטה הנקראת ""( "sliding windowהחלון הנע") .במקום לשלוח חבילה ,לחכות לקבל אישור ורק אז לשלוח את החבילה הבאה TCP ,שולח כמות מסוימת של חבילות ,הנקבעת לפי גודלו של החלון הנע ,בלי לחכות לאישור קבלה עבור כל אחת .לאחר שנשלחה הכמות הזו ,רק כשיתקבל אישור על קבלת החבילה הראשונה שנשלחה ,תוכל להישלח עוד חבילה .ככל שהחלון גדול יותר ,עד לגודל המקסימלי שהרשת מסוגלת להעביר ,יש פחות בזבוז זמן ,והרשת מנוצלת באופן יעיל יותר. TCPגם מספק ,flow controlאו "שליטה בזרימה" ,כדי למנוע מצב בו מחשב היעד מקבל נתונים בקצב מהיר מדי ,ואינו מצליח לטפל בהם ,או לחילופין ,מצב בו מחשב היעד מקבל נתונים בקצב איטי מדי ולא יעיל מספיק .כאשר המחשב המקבל שולח את אישור הקבלה ,הוא שולח יחד איתו גם "window - "advertisementערך המציין עוד כמה בתים של מידע הוא מוכן לקבל .אם הערך גדול יותר משהיה עד כה ,המחשב השולח מגדיל את החלון הנע שלו ,ושולח יותר חבילות ללא לחכות לאישור; אם הערך קטן יותר ,המחשב השולח מקטין את החלון הנע שלו .מנגנון השליטה בזרימה הוא הכרחי באינטרנט ,שמורכבת מרשתות וממחשבים בעלי קיבולות ויכולות שונות. כמו ב , UDP -גם ב TCP -יש פורטים ( .)portsאבל ,בניגוד ל ,UDP-שמקבל חבילות ומעביר אותן לאפליקציות אליהן הם מיועדות לפי מספר הפורט המצוין בהן ,הפורטים ב TCP -משמשים להגדיר את ה"מעגל הוירטואלי" המבוסס על כתובת המקור ,פורט המקור ,כתובת היעד ופורט היעד .מודול TCPאחד על מחשב אחד יכול להיות מעורב בכמה מעגלים וירטואליים כאלה בבת אחת ,וכמה מעגלים וירטואליים יכולים לכלול את אותו פורט עצמו .כך ,אפליקציה אחת יכולה לתקשר עם כמה מחשבים מרוחקים במקביל, בלי שתצטרך לספק מספר פורט נפרד עבור כל קישור.
36
מבנה סגמנט TCP
פורט המקור ופורט היעד: מספרי הפורטים המגדירים את קישור ה TCP -בין המחשבים המרוחקים.
מספר סידורי : המספר שמאפשר למודול ה TCP -במחשב המקבל לדעת אילו נתונים הוא כבר קיבל ,וכך למנוע כפילות נתונים במקרה שחבילה נשלחה פעמיים .המספר הסידורי אינו מתייחס לחבילה ,אלא למיקום של הנתונים שהתקבלו
זרם
בתוך
המקורי.
הביטים
משיקולי אבטחת מידע ,המספרים הסידוריים אינם מתחילים מ ,0 -אלא ממספר רנדומלי שנקבע כאשר נוצר המעגל הוירטואלי של .TCP
מספר אישור: מספר האישור הוא למעשה המספר הסידורי של הבית ( )byteשהמחשב השולח מצפה לקבל.
אורך פתיח : אורכו של פתיח ה ,TCP -בכפולות של 4בתים .שדה זה הוא הכרחי כיוון שאורך הפתיח אינו קבוע, ומשתנה לפי מספר האופציות שכלולות בו.
שמור: שדה זה שמור לשימושים שיוגדרו בעתיד.
דגלים: שדה זה מורכב משישה שדות של ביט אחד .כל ביט יכול להיות מודלק ( )1או מכובה ( ,)0ומשמעותו תהיה בהתאם: דחיפות אישור
()URG
-
()ACK
מציין -
שדה
אם
מציין
"מצביע
לנתונים
דחופים"
אם
שדה
האישור
הוא
תקף הוא
או
לא.
תקף.
דחיפה ( - )PUSHמציין אם מודול ה TCP -צריך "לדחוף" את הנתונים לאפליקציה מיד עם קבלתם. אתחול סנכרון
מחדש ()SYN
()RST -
משמש
משמש
להתחלה
לסנכרון
סיום ( - )FINמציין שהשולח סיים לשלוח את כל הנתונים.
של
מחדש מספרים
של
הקשר. סידוריים.
37
גודל החלון: כמה בתים מוכן המחשב ששלח את הסגמנט לקבל.
:TCP checksum בדומה ל UDP checksum, TCP-מחשב checksumעל הפתיח ,הנתונים ,ועל פתיח-מדומה שכולל את כתובת
ה-
IP
של
מחשב
המקור
וכתובת
הIP-
של
היעד.
מבנה הפתיח המדומה.
מצביע לנתונים דחופים: שדה המציין את מיקומם של נתונים שחשוב להעביר לאפליקציה בדחיפות ,בתוך הסגמנט.
אופציות: לרוב אינן בשימוש .אחת האופציות היא אופציית "גודל סגמנט מקסימלי" (maximum segment size, ,)MSSהמאפשרת למודול ה TCP -לציין מהו גודל הסגמנט המקסימלי שהוא מוכן לקבל .כאשר גודל זה הוא קטן ,ניצול הרשת אינו אופטימלי :אם נניח שגודל הסגמנט המקסימלי כולל רק בית אחד של נתונים, וכיוון שכל סגמנט כולל גם פתיח TCPועובר אינקפסולציה של IPושל ממשק הרשת ,יוצא שהנתונים תופסים רק כ 1/55 -מכל התעבורה .גם כאשר גודל זה הוא גדול מדי ,נוצר מצב בלתי אופטימלי :אם ה- MSSגדול מה MTU -של הרשתות בהן עובר הסגמנט ,שכבת ה IP -בדרך צריכה לבצע פרגמנטציה .אם פרגמנט כזה הולך לאיבוד TCP ,צריך לשלוח את כל הסגמנט מחדש ,ולא רק את הפרגמנט .תיאורטית, MSSאופטימלי הוא כזה שהסגמנט גדול ככל האפשר ,אך לא יצטרך לעבור פרגמנטציה בדרכו .כיוון ש- TCPאינו יכול לדעת מה ה MTU -של כל הרשתות בהן יעבור הסגמנט ,אי אפשר לדעת מהו הגודל האופטימלי.
נתונים: הנתונים ששולחת האפליקציה שמשתמשת ב .TCP-אפליקציות פופולריות המשתמשות ב TCP -כוללות את ,HTTPטלנט ( )telnetו.FTP -
38
UDP הקדמה UDPמספק את אותו שירות בלתי מהימן וחסר קישור שמספק .IPהוא אינו מוסיף דבר מלבד מספרי הפורטים ,ו .checksum -ה checksum -מבטיח שחבילות שנתוניהן הושחתו או שונו לא יטופלו UDP .לא מודיע על כך שחבילות אבדו ,או על כל בעיה אחרת בתקשורת .לכן ,אפליקציה שבוחרת להשתמש בUDP - כפרוטוקול התעבורה שלה ,צריכה לדאוג בעצמה למהימנות התקשורת ,ולהבטיח שבעיות בתקשורת ,כמו כפילות נתונים או אובדן נתונים ,יטופלו כהלכה.
מבנה חבילת : UDP חבילת UDPכוללת את פתיח ה UDP-ואת הנתונים .הפתיח כולל 4שדות בלבד -פורט המקור ,פורט היעד ,אורך החבילה ,ושדה .checksum
פורט המקור מספר הפורט במחשב השולח ,שמחכה לקבל תשובה ממחשב היעד .זהו שדה אופציונלי ,ואם אינו בשימוש, ערכו יהיה אפס.
פורט היעד מספר הפורט במחשב היעד ,אליו מיועדת ההודעה.
אורך ההודעה כולל את אורך הפתיח .שדה זה יהיה תמיד גדול או שווה ל 8 -בתים ,כיוון שאורך הפתיח עצמו הוא 8בתים.
Checksum checksumשל UDPמחושב על ההודעה כולה .גם שדה זה הוא אופציונלי ,ואם אינו בשימוש ,ערכו הוא אפס .עם זאת ,כיוון שה checksum -שמספק פרוטוקול IPהוא על פתיח ה IP -בלבד ,ולא על הנתונים, שימוש ב checksum -של UDPהוא הדרך היחידה להבטיח את שלמות הנתונים ,וכדאי להשתמש בו. ערך ה checksum -של UDPמחושב לא רק על הפתיח ועל הנתונים .לשם חישוב הערך UDP ,מייצר "פתיח מדומה" ( ,)pseudu-headerומוסיף אותו להודעת ה UDP-לפני חישוב ה .checksum-הפתיח המדומה אינו משודר בפועל יחד עם חבילת ה ,UDP-ואינו משמש לשום מטרה מלבד חישוב ה- .checksumמטרתו של הפתיח המדומה היא להבטיח שההודעה אכן הגיעה ליעדה הנכון .הסיבה לכך היא
39 שפתיח ה UDP-אינו מזהה את מחשב היעד עצמו ,אלא רק את הפורט על המחשב .רק שכבת ה IP -מזהה את מחשב היעד ,על פי כתובתו .לכן ,הפתיח המדומה כולל את כתובת המקור וכתובת היעד ,שנלקחים משכבת ה .IP -כאשר ההודעה מגיעה ליעדה ,על המחשב המקבל להוציא את השדות האלה מפתיח ה ,IP -ליצר פתיח מדומה משלו ,וליצר checksumעל ההודעה כולה ,כולל הפתיח המדומה .בנוסף לכתובות ה IP-של המקור והיעד ,הפתיח המדומה כולל גם שדה המציין את אורך הודעת ה ,UDP -ומספר המציין את הפרוטוקול ( ,UDPשמספרו .)17המקום הריק שנשאר ממולא באפסים.
נתונים הנתונים יכולים להיות שייכים לכל פרוטוקול המשתמש ב UDP -כשכבת התעבורה שלו ,ביניהם DNS, ,NFSופרוטוקולים רבים של קול ווידאו מעל .IP
דרך הפעולה של UDP כפי שצוין UDP ,הוא פרוטוקול של שכבת התעבורה ,הנמצאת מעל שכבת האינטרנט במודל השכבות. הודעת ה UDP-כולה ,כולל הפתיח ,עוברת אינקפסולציה של IPלפני שליחתה ברשת .כלומר ,הודעת ה- UDPולכה היא למעשה שדה הנתונים של חבילה ה .IP -חבילת ה ,IP -בתורה ,עוברת אינקפסולציה של שכבת ממשק הרשת. תהליך האינקספולציה ,במקרה זה ,אומר ש UDP -מוסיף פתיח לנתונים שהמשתמש (לרוב ,אפליקציה כלשהי) שולח ,ומעביר את ההודעה ל IP. IP-מוסיף פתיח IPלהודעה שקיבל מ ,UDP-ומעביר את החבילה לשכבת ממשק הרשת .שכבה זו מוסיפה את הפתיח המתאים ,לפי סוג הרשת הפיזית שאליה מקושר המחשב, ושולחת את החבילה. כאשר החבילה מגיעה למחשב היעד ,היא עוברת את התהליך ההפוך :החבילה מתקבלת על ידי שכבת ממשק הרשת ,ה"מקלפת" ממנה את פתיח הרשת; משם עוברת החבילה לשכבת ה ,IP -שמקלפת את פתיח ה,IP - ולפי הפרוטוקול שמצוין שם יודעת להעביר את החבילה ל ,UDP. UDP-בתורו ,מקלף את פתיח ה,UDP- ולפי הפרוט שמצוין שם ,יודע לאיזו אפליקציה להעביר את הנתונים מודל השכבות קובע אי תלות בין השכבות השונות .אבל ,כפי שראינו UDP ,מסתמך על כתובות הIP- לחישוב ה .UDP checksum -כדי לדעת מהי כתובת ה IP-של המקור ,על שכבת ה UDP-לתקשר עם שכבת ה .IP-שכבת ה UDP-לא יכולה לדעת מה תהיה כתובת המקור של החבילה ,כיוון שזו תלויה בממשק הרשת דרכו תבחר שכבת ה IP-לשלוח את החבילה (כיוון שכפי שראינו ,למחשב אחד יכולים להיות כמה ממשקי רשת) .אינטראקציה זו בין UDPל IP -אמנם עומדת בסתירה להפרדה העומדת בבסיס מודל השכבות ,אך משיקולים פרקטיים ,החליטו הוגי הפרוטוקול להעלים מכך עין. ראינו קודם ש UDP-מבחין בין מקורות ויעדים שונים על גבי אותו מחשב ,על ידי שימוש בפורטים. אפליקציה המעונינת לשלוח נתונים ברשת ,מספקת לשכבת ה UDP-את מספר הפורט שלה ,ואת מספר הפורט איתו היא מעונינת לתקשר ,במחשב המרוחק UDP .מקבל נתונים מאפליקציות רבות ,שלכל אחת מהן מספר פורט שונה ,ומעביר אותם בנפרד לשכבת ה .IP -בכיוון ההפוך ,שכבת ה IP-מעבירה את ההודעות הנכנסות לשכבת ה ,UDP-שמחלקת אותן לאפליקציות המתאימות ,לפי מספרי פורט היעד המצוינים בהן .כך ,שכבת ה UDP -משמשת למעשה כמרבב ( ,)multiplexorהמאחד זרמים נפרדים של
40 הודעות מאפליקציות שונות לזרם אחד ויחיד העובר לשכבת ה ,IP -וכמפרד ( ,)de-multiplexorהמפריד בין ההודעות המגיעות משכבת ה IP-לזרמים שונים ,לפי מספרי הפורט אליהן מיועדות ההודעות השונות. כאשר אפליקציה מעונינת לתקשר עם אפליקציה אחרת ,במחשב מרוחק ,עליה לדעת מה מספר הפורט עליו יושבת האפליקציה המבוקשת .לכן ,ישנה רשימה של פורטים מוגדרים מראש ,שהאפליקציה יודעת מהם. למשל ,בקשת DNSתשלח לפורט ,53ואילו הודעת tftpתשלח לפורט .69
שרתי אחסון מידע ודואר אלקטרוני מבוא יעדה של מערכת " – "Middle Tierשיפור תהליכים אדמיניסטרטיביים ותהליכי לימוד במוסדות לימודים. מערכת כוללת ספריה אלקטרונית ,הנגישה 24שעות ,שכוללת חומר לימוד ,דוגמאות מבחנים ,פרויקטים וכו' .כמו כן קיימות תת ספריות ,מחולקות לפי קבוצות סטודנטים .בעזרת ספריות הללו מרצים יכולים להפיץ לסטודנטים שלהם תרגילים ,פטרונות ,תוצאות של מבחנים – כל זה מהוה יתרון גם מבחינת חיסכון בניירת ,גם מבחינת נגישות של חומר הנ"ל. חלק לא פחות חשוב של מערכת " – "Middle Tierדואר אלקטרוני .כל סטודנט בעת הרשמה ללימודים מקבל כתובת דואר אלקטרוני ייחודית לו .כתובות דואר אלקטרוני קיימות גם עצל מרצים ,מתרגלים וגורמים אדמיניסטרטיביים .דבר משפר באופן משמעותי את איכות התקשורת בין כל הגורמים הללו.
41
התקנת שרתים לאחר סריקת שוק תוכנות העונות לדרישות מערכת ,בחרנו במוצר של חברת IceWarp – Merak Mail .Serverמוצר זה קיים בשוק זמן רב והוכיח את עצמו בתור מוצר בטוח ,ידידותי למשתמש וכולל בין היתר את התכונות הנדרשות על ידינו .שרת יותקן על גבי מחשב פנטיום דו גרעני ,בעל זיכרון פנימי גיגבייט אחד ודיסק קשיח שמהירות העברת נתונים שלו – עד 150מגבייט לשנייה .מחשב זה מנוהל על ידי מערכת הפעלה חלונות XPחבילת עדכון .2כל זה יאפשר תפקודו היציב של שרת .Merakהתקנתו של שרת מתבצע בעזרת קובץ התקנה רגיל ,עם אשף ההתקנה וללא צורך בפעולות מיוחדות. נתבונן בהגדרת השרת הנ"ל.
42
הגדרת שרת דואר לאחר התקנתו אנחנו נראה על גבי המסך את מרכז הבקרה .ראשון לכל אנחנו נגדיר את שרת הדואר .נלחץ בעזרת עכבר על לחצן " "New Domainבלוח כלים כפי שמתואר באיור
ונקנא לו שם " ."collegenet.no-ip.orgשם זה – כתובת ה URL-שקיבלנו מחברת ,NOIPואיתו מתאפשרת גישה למערכת .אין צורך למתרות הפרויקט לשנות הגדרות בררת מחדל
43 כעת ניתן להוסיף משתמשים .לשם כך נעזר בלחצן " "New Userבלוח הכלים.
ונמלא את שדות שם משתמש וסיסמא באשף הגדרת משתמש .כמו כן אין צורך בשינוי הגדרות בררת מחדל ללא סיבה יוצאת מן הכלל.
בדוגמא שבאיור שם משתמש מצביע לסטודנט מספר 1בקבוצה ראשונה – .group01student01 באופן זהה ניתן להגדיר מספר בלטי מוגבל של משתמשים .כל משתמש יקבל תא הדואר וכתובת שתראה – ,
[email protected] )
[email protected]בדוגמא) .למטרת ההמחשה הוגדרו במערכת חשבונות לשני קבוצות סטודנטים ,בעלות זוג סטודנטים כל אחת ,שני מרצים ולמנהל מערכת .להלן רשימת החשבונות: •admin •teacher01 •teacher02 •gr01st01 •gr01st02 •gr02st01
44 •gr02st02 בשרת הנ"ל קיים כלי להקמת רשימות תפוצה – לחצן " "New Groupבלוח הכלים.
נקנא שם לקבוצת משתמשים,
ונוסיף לרשימה את המשתמשים שברצוננו.
רשימת
תפוצה
תקבל
כתובת
מיוחדת
שתראה
–
[email protected]
,)
[email protected]בדוגמא) ,ותאפשר שליחת דואר לכל קבוצה על ידי שימוש בה .כלי זה גמיש מעוד ועשוי לעזור גם למרצים וגם לצוות המזכירות. הערה :ניתן ,כמובן ,לשנות את הגדרות בררת המחדל בנוגע להקצבת נפח לתאי הדואר ,קביעת מיקומם בדיסק הקשיח וכדומה – דבר אינו חיוני למטרת הפרויקט.
45
הגדרת שרת קבצים כדי להגדיר שרת קבצים ,אנחנו ניצור קודם בדיסק קשיח תיקיות על פי צרכינו .למטרת הפרויקט נוצרה תיקיית השורש – ,FTPובתוכה שלוש תיקיות נוספות – תיקיות לקבוצה ראשונה ושנייה (,)group01/02 ותיקיית הספרייה – .libraryסטודנטים יהיו רשאים התבונן בתוכן ו/או להעתיק אותו למחשבים שלהם .סגל יהיה רשאי להוסיף ולמחוק את התוכן .זכות ליצירת תיקיות או למחיקתן שמורה למנהל מערכת ( .)administratorנתבונן כאת בהגדרת שרת קבצים. בתחילת תהליך ההגדרה נסמן את שורת " "FTP Serviceבלוח התוכן
נקנא שם לשרות ה FTP-החדש ונכוון אותו לתיקיית השורש המיועדת לו
46
נוסיף משתמשים מתוך רשימת המשתמשים הקיימים (שהגדרנו אותם בשלב הקודם) ,משתמשים הללו יוגדרו על פי שם משתמש וסיסמא זהים לאלה שבתאי הדואר .כמו כן ניתן להגדיר משתמש חדש ללא קשר למשתמשים קיימים במערכת.
ובשלב האחרון נגדיר הרשאות מתאימות לכלל משתמשי המערכת
47