Presentation is loading. Please wait.

Presentation is loading. Please wait.

רשתות תקשורת מחשבים שכבת האינטרנט (רשת)

Similar presentations


Presentation on theme: "רשתות תקשורת מחשבים שכבת האינטרנט (רשת)"— Presentation transcript:

1 רשתות תקשורת מחשבים שכבת האינטרנט (רשת)
מרצה עמית דביר מצגות הקורס עושות שימוש בתרשימים של Kurose & Ross © ראו גם: ומתבססות על שקפים של בעז בן משה אמיר הרצברג ואיציק קיטורזר רשתות תקשורת מחשבים 1 1

2 שכבת האינטרנט (רשת) מטרות הפרק: הבנת העקרונות מאחורי שרותי שכבת הרשת:
סקירה: שרותי שכבת הרשת עקרונות ניתוב: בחירת נתיב ניתוב היררכי IP פרוטוקולי ניתוב באינטרנט: - תוך-דומיין - בין-דומיין מטרות הפרק: הבנת העקרונות מאחורי שרותי שכבת הרשת: - ניתוב (בחירת נתיב) - טיפול בקנה מידה מופעים ומימוש באינטרנט רשתות תקשורת מחשבים 2

3 שכבת האינטרנט (פרק 4 בספר)
4.5 אלגוריתמי ניתוב - מצב הקישור – נתיבים בעלי עלות מינימלית - וקטור מרחק - ניתוב היררכי 4.6 פרוטוקולי ניתוב סטנדרטיים באינטרנט - RIP - OSPF - BGP 4.7 שידור וניתוב מבוזר 4.1 מבוא 4.2 רשתות מתגים ו-datagrams וירטואליות 4.3 מה יש בתוך הנתב 4.4 IP: פרוטוקול אינטרנט - מבנה datagram - כתובות IPv4 - ICMP - IPv6 רשתות תקשורת מחשבים 3

4 פונקציונליות של שכבת האינטרנט (רשת)
מעבירות חבילות בין תחנת קצה שולחת למקבלת פרוטוקולי שכבת האינטרנט הם בכל תחנת קצה ונתב 3 פעולות חשובות: קביעת נתיב: נתיב בו עוברות חבילות משלוח אל מקבל. אלגוריתמי ניתוב קידום: העברת חבילות מהקלט של הנתב אל הפלט המתאים. IP הקמת שיחה: חלק מארכיטקטורות הרשת מחייבות את הנתב להקים שיחה לפני שליחת המידע. application transport network data link physical network data link physical רשתות תקשורת מחשבים 4

5 שכבת האינטרנט (רשת) העברת מקטע משולח אל מקבל
עוטף מקטעים בתוך datagrams בצד השולח מעביר מקטעים אל שכבת התעבורה בצד המקבל פרוטוקולי רשת בכל תחנת קצה, נתב נתב בוחן פתיח בכל ה-IP datagrams אשר עוברים דרכו application transport network data link physical network data link physical רשתות תקשורת מחשבים 5

6 פעולות מפתח בשכבת הרשת קידום: העברת חבילה מהקלט של הנתב אל הפלט המתאים
קידום: העברת חבילה מהקלט של הנתב אל הפלט המתאים ניתוב: קביעת הנתיב הנבחר בין המקור ליעד - אלגוריתמי ניתוב וגם אפשרות להקמת שיחות/ מעגלים אנלוגיה: ניתוב: תהליך של תכנון טיול בין הבית ליעד קידום: תהליך המעבר בתוך מחלף בודד. רשתות תקשורת מחשבים 6

7 מה בין "ניתוב" לבין "קידום" 1 רשתות תקשורת מחשבים value in arriving
2 3 0111 value in arriving packet’s header routing algorithm local forwarding table header value output link 0100 0101 1001 רשתות תקשורת מחשבים 7

8 צורות שירות שתי צורות מופשטות מרכזיות של שירות: Datagram vs. Virtual Circuit שאלה: איזו צורת שירות עבור "ערוץ" המעביר חבילות בין שולח למקבל? תשובה שנייה: מעגל וירטואלי - כל אחד מ... משלוח ללא אובדן משלוח לפי סדר הבטחת רוחב פס תשובה אחת: datagram - "הכי טוב שאני יכול" שירות אינטרנט קלאסי. רשתות תקשורת מחשבים 8

9 שירות מעגל וירטואלי הקמת שיחה / מעגל: לפני העברת מידע
"מעגל כמו טלפון" - היבט של ביצועים - פעולות של הרשת לאורך הנתיב מקור-אל-יעד הקמת שיחה / מעגל: לפני העברת מידע - הקמת נתיב למעגל נבחר על ידי מנגנון הניתוב - כאשר השיחה/חיבור מסתיים, פירוק המעגל משאבי קישור, נתב (רוחב פס, באפרים) מוקצים למעגל הוירטואלי - לביצועים כמו במעגל, הבטחת רוחב פס/ עיכוב כל נתב על הנתיב מקור-אל-יעד מחזיק "מצב" לכל חיבור שעובר דרכו - חיבור בשכבת התעבורה מעורב רק בשתי תחנות הקצה חבילות נושאות מספר מעגל וירטואלי (לא את זהות היעד) רשתות תקשורת מחשבים 9

10 מעגלים וירטואליים: מימוש
משמש להקמה, תחזוקה ופירוק של מעגלים וירטואליים - פירוק יכול להיות יזום מכל צד – בכל נתב לאורך המעגל הוירטואלי - תרגיל: תכננו פרוקטוקול מעגל וירטואלי פשוט. משמש ב-ATM, SNA, X.25 גם בשרותי "פרימיום" באינטרנט application transport network data link physical application transport network data link physical 5. Data flow begins 6. Receive data 4. Call connected 3. Accept call 1. Initiate call 2. incoming call רשתות תקשורת מחשבים 10

11 מעגלים וירטואליים: פרוטוקולים מסמנים
מעגל וירטואלי מורכב מ: נתיב בין מקור ליעד מספרי מעגל וירטואלי – מספר אחד לכל קישור לאורך הנתיב רשומות בטבלאות קידום בנתבים לאורך הנתיב חבילה השייכת למעגל וירטואלי נושאת מספר מעגל וירטואלי המספר משתנה בכל קישור - מספר מעגל וירטואלי חדש מגיע מטבלת הקידום (נקבעים על ידי תהליך הקמת החיבור) - או מספרי מעגל וירטואלי גלובליים (פחות יעיל) רשתות תקשורת מחשבים 11

12 טבלת קידום Forwarding table in northwest router:
12 22 32 1 2 3 VC number interface number Forwarding table in northwest router: Incoming interface Incoming VC # Outgoing interface Outgoing VC # … … … … Routers maintain connection state information! רשתות תקשורת מחשבים 12

13 רשתות datagrams: מודל האינטרנט
אין הקמת שיחה בשכבת הרשת נתבים: אין שמירת מצב לגבי חיבורים מקצה-אל-קצה - אין מושג של "חיבור" ברמת הרשת קידום חבילות באמצעות שימוש בכתובת היעד - חבילות על אותו חיבור יכולות להשתמש בנתיבים שונים application transport network data link physical application transport network data link physical 1. Send data 2. Receive data רשתות תקשורת מחשבים 13

14 Datagram או מעגל וירטואלי: למה?
החלפת מידע בין מחשבים - שרות "גמיש", לא נדרשות מגבלות קשיחות תחנות קצה "חכמות" (מחשבים) - יכולות להתאים את עצמן, לבצע בקרה, תיקון שגיאות - פשוטים בתוך רשת, הסיבוך הוא בקצוות שרותי קישור רבים - מאפיינים שונים, מקשה על שרות אחיד ATM (מעגל וירטואלי) התפתח מטלפוניה דיון אנושי: - מגבלות קשוחות, דרישות אמינות - צורך בשרות מובטח מערכות קצה "טפשות" - טלפונים - סיבוך בתוך הרשת רשתות תקשורת מחשבים 14

15 שכבת האינטרנט (רשת) פעולות שכבת הרשת של תחנת קצה, נתב Internet layer
Transport layer: TCP, UDP IP protocol addressing conventions datagram format packet handling conventions Routing protocols path selection RIP, OSPF, BGP Internet layer forwarding table ICMP protocol error reporting router “signaling” Link layer להסביר על ICMP ו-DHCP physical layer רשתות תקשורת מחשבים 15

16 ICMP: Internet Control Message Protocol
used by hosts & routers to communicate network-level information error reporting: unreachable host, network, port, protocol echo request/reply (used by ping) network-layer “above” IP: ICMP msgs carried in IP datagrams ICMP message: type, code plus first 8 bytes of IP datagram causing error Type Code description echo reply (ping) dest. network unreachable dest host unreachable dest protocol unreachable dest port unreachable dest network unknown dest host unknown source quench (congestion control - not used) echo request (ping) route advertisement router discovery TTL expired bad IP header ICMP REDIRECT – MTU negotiationsנותן אלטרנטיבה למחשב לנתב בעזרת ניתוב אחר עקב בעיות מסויימות כאשר מתבצעת פרגמנטציה לא נשלחת הודעת שגיאה Network Layer

17 Traceroute and ICMP Source sends series of UDP segments to dest
First has TTL =1 Second has TTL=2, etc. Unlikely port number When nth datagram arrives to nth router: Router discards datagram And sends to source an ICMP message (type 11, code 0) Message includes name of router& IP address When ICMP message arrives, source calculates RTT Traceroute does this 3 times Stopping criterion UDP segment eventually arrives at destination host Destination returns ICMP “host unreachable” packet (type 3, code 3) When source gets this ICMP, stops. Network Layer

18 NAT: Network Address/Port Translation
שאר האינטרנט רשת מקומית (לדגומה רשת ביתית) 10.0.0/24 כל ה-datagrams אל/מ- רשת מקומית בעלות NAT IP זהה: אבל מספרי פורטים שונים של מקור, או כתובת IP מקור מטווח קטן Datagramsעם מקור או יעד בתוך הרשת הם בעלי כתובת /24 עבור מקור, יעד (כרגיל) רשתות תקשורת מחשבים 18

19 ניצול מרחב הכתובות IPv4 - המשך
- לא צריך טווח כתובות מה-ISP: כתובת IP אחת משמשת את כל תחנות הקצה - יש אפשרות לשנות כתובות של תחנות בתוך הרשת המקומית בלי להודיע לעולם החיצון - אפשר להחליף ISP בלי לשנות כתובות של תחנות ברשת המקומית - תחנות ברשת המקומית לא ניתנות לאיתור במפורש, או ניתנו לזיהוי על ידי העולם החיצון (עוזר לאבטחה) - לעיתים קרובות NAT משתמש במספרי פורטים בני 16 ביטים -> 60,000 חיבורים במקביל על כתובת אחת מצד ה-LAN. רשתות תקשורת מחשבים 19

20 WAN side addr LAN side addr
NAT: Network Address/Port Translation NAT translation table WAN side addr LAN side addr 1: host sends datagram to , 80 2: NAT router changes datagram source addr from , 3345 to , 5001, updates table , , 3345 …… …… S: , 3345 D: , 80 1 S: , 80 D: , 3345 4 S: , 5001 D: , 80 2 S: , 80 D: , 5001 3 4: NAT router changes datagram dest addr from , 5001 to , 3345 3: Reply arrives dest. address: , 5001 רשתות תקשורת מחשבים 20

21 ניתוב מטרה: לקבוע נתיב "טוב" (רצף של נתבים דרך הרשת) מהמקור ועד ליעד
פרוטוקול ניתוב 5 מטרה: לקבוע נתיב "טוב" (רצף של נתבים דרך הרשת) מהמקור ועד ליעד 3 B C 2 5 A 2 1 F 3 1 2 D E 1 המחשה גרפית לאלגוריתמי ניתוב: קודקודי הגרף הם הנתבים צלעות הגרף הן ערוצים - באינטרנט: רשת - עלות קישור: עיכוב, עלות כספית, רמת עומס, אמינות (מדיד!)` נתיב "טוב": - בדרך כלל מתכוונים לנתיב בעל העלות הנמוכה ביותר - עלות לא תמיד מתבצעת לפי חיבור מתמטי - ישנן אפשרויות נוספות להגדרת עלות רשתות תקשורת מחשבים 21

22 סווג אלגוריתמי ניתוב סטטי או דינמי? גלובלי, או מידע מבוזר, החלטות?
סטטי: לא מטפל בשינויים / כשלים באופן לא מפורש: אתחל במקרה של שינוי דינמי: שנה נתיבים (עקב שינויים בטופולוגיה) - אחת לפרק זמן מסויים - בתגובה לשינוי בעלות/ טופולוגיה / כשלים / התאוששות גלובלי, או מידע מבוזר, החלטות? גלובלי: כל הנתבים בעלי טופולוגיה מלאה, מידע לגבי עלויות קישורים אלגוריתמי "מצב קישור" מבוזרים: נתב מכיר שכנים מחוברים פיזית, עלויות קישורים לשכנים תהליך איטרטיבי של חישוב, החלפת מידע עם שכנים אלגוריתמי "וקטור מרחק" רשתות תקשורת מחשבים 22

23 ניתוב לפי מצב קישור: אלג' נתיב קצר ביותר
ניתוב סטטי, גלובלי,לפי מצב קישור מקור: מצב הקישור קבוע: c(i,j) עלות מ-i ל-j (אינסופית אם אין קישור) - מוערך על ידי כל נתב לקישורים המחוברים אליו - ידוע לכל מקור (A) דרך "שידור מצב קישורים" ניתוב מקור: מציאת נתיב מכל מקור A לכל שאר הקודקודים בעיית נתיב קצר ביותר ממקור יחיד: בהנתן גרף G=(V,E), קודקוד מקור A שייך ל-V מצא נתיב קצר ביותר T מוכל בגרף ל-A, עבור כל קודקוד ב-V: - DA(V) עלות הנתיב המינימלי בין מקור A ל-v. נפשט ונכתוב D(v) - כל המסלולים ב-T הם הקצרים ביותר: D(v)=∑(u,w)path(A,v)c(u,w) - לא עץ פורש מינימלי (מדוע?) - לא עץ זהה עבור כל המקורות (מדוע?) רשתות תקשורת מחשבים 23

24 האלגוריתם של דיקסטרא בונה עץ פורש מינימלי T אחרי k איטרציות, T מכיל k קשתות ו-k+1 קודקודים
Given graph G=(V,E), source node AV, and link cost function c(x,y)0 let T ={ A } Let D(x)={0 if x=A, ∞ otherwise) while (T does not contain all nodes) { find edge (x,y)E with x in T and y not in T minimizing D(x)+c(x,y) add (x,y) to T D(y)=D(x)+c(x,y) } Output T, D This usually holds… Why needed? Alg for negative costs? רשתות תקשורת מחשבים 24

25 האלגוריתם של דיקסטרא: דוגמה
Step 1 2 3 4 5 Nodes A AD ADE ADEB ADEBC ADEBCF D(B) 2 D(C) 5 4 3 D(D) 1 D(E) infinity 2 D(F) infinity 4 5 3 B C 2 5 A 2 1 F 3 1 2 D E 1 רשתות תקשורת מחשבים 25

26 האלגוריתם של דיקסטרא, דיון
סיבוכיות האלגוריתם: n קודקודים, עלות קישורים קבועה כל איטרציה: צריך לבדוק את כל הקודקודים, w, שאינם ב-T n(n+1)/2 השוואות: O(n2) מימוש חסכוני יותר (ערימה): O(nlogn) עלויות דינמיות (לדוגמה: c(i,j)=|traffic(i,j)|) עלולות לטלטל: B,C,D שולחים ל-A (1,e,1 יחידות), כל אחד משתמש בדיקסטרא מצב הגיוני התחלתי: D->A, C->B->A מטלטל בין: B->C->D->A, D->C->B->A A A A 1 A 1+e 2+e 2+e 2+e D B D B D B D B 1+e 1 1+e 1 e 1 C 1+e e C C C 1 1 e … recompute routing … recompute … recompute initially רשתות תקשורת מחשבים 26

27 אלגוריתם ניתוב "וקטור מרחקים"
מבנה נתונים של טבלת מרחקים: לכל קודקוד טבלה משלו שורה עבור כל יעד אפשרי טור עבור כל שכן דוגמה: בקודקוד X, עבור יעד Y, דרך שכן Z: איטרטיבי, דינמי: ממשיך עד שאין קודקודים שמחליפים מידע "עוצר לבד": אין סימן לעצירה מתחיל מחדש עם שינוי א-סינכרוני: קודקודים לא צריכים להחליף מידע/ לבצע איטרציות במצב נעול מבוזר: כל קודקוד מתקשר רק עם שכנים המחוברים ישירות אליו D (Y,Z) X distance from X to Y, via Z as next hop c(X,Z) + min {D (Y,w)} Z w = רשתות תקשורת מחשבים 27

28 טבלת מרחקים: דוגמה D () A B C D 1 7 6 4 14 8 9 11 5 2 D (C,D) D (A,D)
E cost to destination via destination 1 B C 7 A 8 2 1 E D 2 D (C,D) E c(E,D) + min {D (C,w)} D w = 2+2 = 4 D (A,D) E c(E,D) + min {D (A,w)} D w = 2+3 = 5 loop! D (A,B) E c(E,B) + min {D (A,w)} B w = 8+6 = 14 loop! רשתות תקשורת מחשבים 28

29 טבלת מרחקים מספקת טבלת ניתוב
D () A B C D 1 7 6 4 14 8 9 11 5 2 E cost to destination via destination Outgoing link to use, cost A B C D A,1 D,5 D,4 destination Distance table Routing table רשתות תקשורת מחשבים 29

30 ניתוב וקטור מרחקים: סקירה
איטרטיבי, א-סינכרוני: כל איטרציה מקומית נגרמת על ידי: עלות קישור מקומי משתנה הודעה משכן: הנתיב בעל העלות הנמוכה ביותר משכן מבוזר: כל קודקוד מודיע לשכנים רק כאשר הנתיב בעל העלותל הנמוכה ביותר שלו ליעד כלשהוא משתנה - שכנים מודיעים אז לשכנים שלהם במידת הצורך כל קודקוד: wait for (change in local link cost or msg from neighbor) recompute distance table if least cost path to any dest has changed, notify neighbors רשתות תקשורת מחשבים 30

31 אלגוריתם וקטור מרחקים בקודקוד x:
Initialization: for all nodes y and all neighbors v: DX(y,v) = {c(x,v) for y=v, else ∞} On Detect_cost_of_link to neighbor v (i.e. c(x,v)) changes by d /* change cost to all dest's via neighbor v by d */ /* note: d could be positive or negative */ for all destinations y: DX(y,v) = DX(y,v) + d On Rcv <y, D> from neighbor v: /* shortest path from v to some y has changed */ /* v sent a new value for its minWDV(y,w) */ DX(y,v) = c(x,v) + D Every T seconds (or always, if T=0): If DX(y)=minWDX(y,w) changed (for any destination y), then send <y, DX(y)> to all neighbors רשתות תקשורת מחשבים 31

32 אלגוריתם וקטור מרחקים: דוגמה
X Z 1 2 7 Y D (Y,Z) X c(X,Z) + min {D (Y,w)} w = 7+1 = 8 Z D (Z,Y) X c(X,Y) + min {D (Z,w)} w = 2+1 = 3 Y רשתות תקשורת מחשבים 32

33 אלגוריתם וקטור מרחקים: דוגמה
X Z 1 2 7 Y רשתות תקשורת מחשבים 33

34 וקטור מרחקים: שינוי בעלות קישור
שינוי בעלות של קישור: קודקוד מזהה שינוי בעלות של קישור מקומי מעדכן טבלת מרחקים אם השינוי במסלול בעל העלות המינימליות, תודיע לשכנים דוגמה: כאשר המסלול מ-X ל-Y השתנה: 1 Y 4 1 X Z 50 האלגוריתם עוצר כאשר אין פעילות חדשות טובות מופצות מהר (ובלי לולאות...) רשתות תקשורת מחשבים 34

35 וקטור מרחקים: התלכדות If network stabilizes, then DV eventually outputs shortest paths (and halts) Assuming FIFO, max delay Δ, min weight w [why?] Consider single, fixed target node y; DY(y)=0 Let x(0)=y, x(0), x(1),…x(n) be the nodes by order of min-distance from y Claim: for all i (0≤i≤n), eventually Dx(i)(y)=D(i), the min- distance from x(i) to y. Proof: by induction on i. Trivially holds for i=0 (i.e. x(0)=y). Assume from time t, there are no new `detect cost change` events, and x(0)…x(i) stabilized to D(i). We prove the claim holds for i+1 as well. For every j>i, eventually Dx(j)(y)D(i+1) [why?] Then, eventually x(i+1) receives D(j) from x(j), s.t. j≤i and D(i)=D(j)+c(x(j),x(i))… Claim follows!  But… convergence can be veeery sloooooooow… רשתות תקשורת מחשבים 35

36 התלכדות איטית: "ספירה לאינסוף"
שינוי בעלות של קישור: חדשות רעות מופצות באיטיות! - חדשות רעות: עלות עלתה (לדוגמה קישור נפל) זמן התלכדות: תלוי ביחסים בין העלויות, לא רק ב-n 60 Y 4 1 X Z 50 אלגוריתם ממשיך וממשיך... חבילות הנשלחות מ-Z,Y ל-X יבצעו לולאה בין Z,Y!!! רשתות תקשורת מחשבים 36

37 וקטור מרחקים: poisoned reverse
אם Z מנתב ל-X דרך Y: Z מספר ל-Y שמרחקו מ-X אינסופי (כדי ש-Y לא ינתב ל-X דרך Z) עוזר לרוב – אבל הסיבוכיות עדיין תלויה ביחס בין העלויות, לא רק n. תרגיל: הדגימו! 60 Y 4 1 X Z 50 אלגוריתם עוצר רשתות תקשורת מחשבים 37

38 ניתוב היררכי המחקר שלנו לגבי ניתוב עד כה – אידאליזציה כל הנתבים זהים
המחקר שלנו לגבי ניתוב עד כה – אידאליזציה כל הנתבים זהים הרשת "שטוחה" לא באמת נכון... אוטונומיה ניהולית: אינטרנט = רשת של רשתות כל מנהל רשת יכול לרצות לנהל את הניתוב בתוך הרשת שלו קנה מידה: עם 200 מליון יעדים: אי אפשר לציין את כל היעדים בטבלאות ניתוב החלפת מידע בין טבלאות ניתוב תציף את הקישורים! רשתות תקשורת מחשבים 38

39 ניתוב היררכי נתבי שער-גישה: נתבים מיוחדים ב-AS
מריצים פרוטוקול Intra-AS יחד עם כל שאר הנתבים ב-AS בנוסף אחראים על טבלאות ניתוב מחוץ ל-AS - מריצים פרוטוקול inter-AS עם נתבי שער גישה אחרים נתבים מאוגדים לאזורים, "מערכות אוטונומיות" (AS – Autonomous systems) נתבים באותו AS מריצים את אותו פרוטוקול ניתוב - פרוטוקול ניתוב “intra-AS” - נתבים ב-AS שונים יכולים להריץ פרוטוקולי Intra-AS שונים רשתות תקשורת מחשבים 39

40 ניתוב בשתי רמות באינטרנט
האינטרנט הגלובלי מורכב מ-AS מחוברים ביניהם: - Stub AS - ארגון קטן: חיבור אחד ל-AS אחרים. - Multihomed AS – ארגון גדול: חיבורים מרובים ל-AS אחרים. - Transit AS – ספק, מחבר הרבה AS יחד. ניתוב בשתי רמות: - inter-AS – סטנדרט ייחודי לניתוב בין AS – BGP - intra-AS – מנהל אחראי לבחירת אלגוריתם הניתוב בתוך הרשת (יכול להיות ניתוב intra AS היררכי – עבור AS ענק) רשתות תקשורת מחשבים 40

41 היררכית AS באינטרנט Inter-AS border (exterior gateway) routers
Intra-AS interior (gateway) routers רשתות תקשורת מחשבים 41

42 ניתוב Intra-AS לעומת ניתוב inter-AS
C.b Gateways: perform inter-AS routing amongst themselves perform intra-AS routing with other routers in their AS B.a A.a b A.c c a a C b a B d c A b network layer inter-AS, intra-AS routing in gateway A.c link layer physical layer רשתות תקשורת מחשבים 42

43 ניתוב Intra-AS וניתוב inter-AS
routing between A and B a b C A B d c A.a A.c C.b B.a Host h2 Host h1 Intra-AS routing within AS B Intra-AS routing within AS A מיד נבחן פרוטוקולי ניתוב ספציפיים של inter-AS ו-intra-AS... רשתות תקשורת מחשבים 43

44 ניתוב Intra-AS Also known as Interior Gateway Protocols (IGP)
Most common Intra-AS routing protocols: RIP: Routing Information Protocol OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (Cisco proprietary) Not covered OSPF, IGRP support hierarchical routing RIP is simpler, for smaller networks רשתות תקשורת מחשבים 44

45 RIP ( Routing Information Protocol)
Distance vector algorithm Included in BSD-UNIX Distribution in 1982 Now only version 2 in use Distance metric: # of hops (≤15hops; =unreachable) Distance vectors: exchanged among neighbors every 30 sec via RIP reply packet (called advertisement) Each advertisement: list of up to destination nets within AS Sent using UDP (why?) Or: 24 destinations + authentication tag רשתות תקשורת מחשבים 45

46 RIP: דוגמה z w x y A D B C y B 2 z B 7 x -- 1
Destination Network Next Router Num. of hops to dest. w A 2 y B 2 z B 7 x …. … טבלת ניתוב ב-D רשתות תקשורת מחשבים 46

47 RIP: דוגמה z w x y A D B C y B 2 z B A 7 5 x -- 1 Advertisement
Dest Next hops w x z C 4 …. … Advertisement from A to D z w x y A D B C Destination Network Next Router Num. of hops to dest. w A 2 y B 2 z B A 7 5 x …. … טבלת ניתוב ב-D רשתות תקשורת מחשבים 47

48 RIP – כשל בקישור והתאוששות
If no advertisement heard after 180 sec > neighbor/link declared dead routes via neighbor invalidated new advertisements sent to neighbors neighbors in turn send out new advertisements (if tables changed) link failure info quickly propagates to entire net poison reverse used to prevent ping-pong loops Send infinite distance (= 16 hops) to first hop toward destination Exercises: pseudo-code, convergence for RIP רשתות תקשורת מחשבים 48

49 OSPF (Open Shortest Path First)
“open”: publicly available Uses Link State algorithm LS packet dissemination Topology map at each node Route computation using Dijkstra’s algorithm OSPF advertisement carries one entry per neighbor router Advertisements disseminated to entire AS (flooding) Carried in OSPF messages directly over IP רשתות תקשורת מחשבים 49

50 OSPF – אפשרויות מתקדמות (לא ב-RIP)
Security: all OSPF messages authenticated (to prevent malicious intrusion)  more later… Multiple same-cost paths allowed (only one path in RIP) For each link, multiple cost metrics for different Type Of Service [TOS] (e.g., satellite link cost set “low” for best effort; high for real time) Integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology data base as OSPF Hierarchical OSPF for large domains. רשתות תקשורת מחשבים 50

51 ניתוב inter-AS באינטרנט: BGP
( OSPF intra - AS AS1 AS2 routing) (RIP intra - AS ( OSPF BGP routing) intra - AS routing) R1 R2 רשתות תקשורת מחשבים 51

52 ניתוב inter-AS באינטרנט - BGP
BGP (Border Gateway Protocol): the de facto standard Path Vector protocol: similar to Distance Vector protocol each Border Gateway broadcast to neighbors (peers) entire path (i.e., sequence of AS’s) to destination BGP routes to networks (ASs), not individual hosts E.g., Gateway X may send its path to dest. Z: Path (X,Z) = X,Y1,Y2,Y3,…,Z רשתות תקשורת מחשבים 52

53 ניתוב inter-AS באינטרנט - BGP
Suppose: gateway X send its path to peer gateway W W may or may not select path offered by X cost, policy (don’t route via competitors AS), loop prevention reasons. If W selects path advertised by X, then: Path (W,Z) = w, Path (X,Z) Note: X can control incoming traffic by controlling its route advertisements to peers: e.g., don’t want to route traffic to Z -> don’t advertise any routes to Z רשתות תקשורת מחשבים 53

54 BGP: שליטה במי מנתב עבורך
a simple BGP scenario A B C W X Y legend: customer network: provider network A,B,C are provider networks X,W,Y are customer (of provider networks) X is dual-homed: attached to two networks X does not want to route from B via X to C .. so X will not advertise to B a route to C רשתות תקשורת מחשבים 54

55 BGP: שליטה במי מנתב עבורך
a simple BGP scenario A B C W X Y legend: customer network: provider network A advertises to B the path AW B advertises to X the path BAW Should B advertise to C the path BAW? No way! B gets no “revenue” for routing CBAW since neither W nor C are B’s customers B wants to force C to route to w via A B wants to route only to/from its customers! רשתות תקשורת מחשבים 55

56 פעולת BGP Q: What does a BGP router do?
Receiving and filtering route advertisements from directly attached neighbor(s). Route selection. To route to destination X, which path (of several advertised) will be taken? Policy-based (as above) Among policy-equivalent routes: use one with fewer ASs; or with closest next-hop router. Sending route advertisements to neighbors. BGP messages exchanged using TCP (port 179) רשתות תקשורת מחשבים 56

57 מדוע יש ניתוב שונה ב-intra-AS וב-inter-AS?
Policy: Inter-AS: admin wants control over how its traffic routed, who routes through its net. Intra-AS: single admin, so no policy decisions needed Scale: hierarchical routing saves table size, reduced update traffic But: intra-AS routing protocol can support hierarchy (OSPF) Performance: Intra-AS: focus on performance Inter-AS: policy may dominate over performance רשתות תקשורת מחשבים 57

58 שכבת הרשת: סיכום החומר עליו עברנו: שרותי שכבת הרשת
עקרונות ניתוב: מצב קישור ווקטור מרחקים ניתוב היררכי IP פרוטוקולי ניתוב באינטרנט: RIP, OSPF, BGP רשתות תקשורת מחשבים 58


Download ppt "רשתות תקשורת מחשבים שכבת האינטרנט (רשת)"

Similar presentations


Ads by Google