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

Slides:



Advertisements
Similar presentations
Network Layer4-1 Hierarchical Routing scale: with 200 million destinations: r can’t store all dest’s in routing tables! r routing table exchange would.
Advertisements

Lecture 9 Overview. Hierarchical Routing scale – with 200 million destinations – can’t store all dests in routing tables! – routing table exchange would.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 22 Omar Meqdadi Department of Computer Science and Software Engineering University.
Announcement r Recitation tomorrow on Project 2 r Midterm Survey at the end of this class.
Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3 What’s inside a router 4.4 IP: Internet Protocol –Datagram format.
4a-1 CSE401: Computer Networks Hierarchical Routing & Routing in Internet S. M. Hasibul Haque Lecturer Dept. of CSE, BUET.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
11- IP Network Layer4-1. Network Layer4-2 The Internet Network layer forwarding table Host, router network layer functions: Routing protocols path selection.
Announcement r Project 3 out, due 3/10 r Homework 3 out last week m Due next Mon. 3/1.
1 Announcement r Project #2 due midnight r Homework #3 due Friday midnight r Project #3 is out.
14 – Inter/Intra-AS Routing
Announcement r Project 2 Extension ? m Previous grade allocation: Projects 40% –Web client/server7% –TCP stack21% –IP routing12% Midterm 20% Final 20%
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
Network Layer4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side,
Computer Networking Intra-Domain Routing, Part I RIP (Routing Information Protocol)
1 ECE453 – Introduction to Computer Networks Lecture 10 – Network Layer (Routing II)
The Network Layer: IP, subnets, NAT and Routing Based on slides from the Computer Networking: A Top Down Approach Featuring the Internet by Kurose and.
14 – Inter/Intra-AS Routing Network Layer Hierarchical Routing scale: with > 200 million destinations: can’t store all dest’s in routing tables!
Network Layer Lecture # 2 MAHS. 4: Network Layer 4b-2 Hierarchical Routing scale: with 200 million destinations: r can’t store all dest’s in routing tables!
Introduction 1 Lecture 21 Network Layer (Routing Activity) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science &
RSC Part II: Network Layer 6. Routing in the Internet (2 nd Part) Redes y Servicios de Comunicaciones Universidad Carlos III de Madrid These slides are,
Introduction 1 Lecture 19 Network Layer (Routing Protocols) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science &
10-1 Last time □ Transitioning to IPv6 ♦ Tunneling ♦ Gateways □ Routing ♦ Graph abstraction ♦ Link-state routing Dijkstra's Algorithm ♦ Distance-vector.
Network Layer4-1 Chapter 4 Network Layer All material copyright J.F Kurose and K.W. Ross, All Rights Reserved.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
Routing in the Internet The Global Internet consists of Autonomous Systems (AS) interconnected with eachother: Stub AS: small corporation Multihomed AS:
4: Network Layer4a-1 Routing in the Internet r The Global Internet consists of Autonomous Systems (AS) interconnected with each other: m Stub AS: small.
Network Layer4-1 Intra-AS Routing r Also known as Interior Gateway Protocols (IGP) r Most common Intra-AS routing protocols: m RIP: Routing Information.
Network Layer4-1 The Internet Network layer forwarding table Host, router network layer functions: Routing protocols path selection RIP, OSPF, BGP IP protocol.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 06_a Routing Protocols: RIP, OSPF, BGP Instructor: Dr. Li-Chuan Chen Date: 10/06/2003 Based in part upon.
Transport Layer3-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
ICT 6621 : Advanced NetworkingKhaled Mahbub, IICT, BUET, 2008 Lecture 5 TCP/IP Network Layer (3)
Network Layer4-1 Datagram networks r no call setup at network layer r routers: no state about end-to-end connections m no network-level concept of “connection”
Internet Protocols. ICMP ICMP – Internet Control Message Protocol Each ICMP message is encapsulated in an IP packet – Treated like any other datagram,
4: Network Layer4b-1 OSPF (Open Shortest Path First) r “open”: publicly available r Uses Link State algorithm m LS packet dissemination m Topology map.
Transport Layer3-1 Network Layer Every man dies. Not every man really lives.
Network Layer4-1 Routing Algorithm Classification Global or decentralized information? Global: r all routers have complete topology, link cost info r “link.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
The Internet Network layer
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
CSE 421 Computer Networks. Network Layer 4-2 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside.
Routing in the Internet
14 – Inter/Intra-AS Routing
Homework 4 Out: Fri 2/24/2017 In: Fri 3/10/2017.
Computer Communication Networks
Chapter 4: Network Layer
NAT – Network Address Translation
Chapter 4: Network Layer
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CPSC 335 Data Communication.
Chapter 4: Network Layer
Homework 4 Out: Fri 2/26/2016 In: Fri 3/11/2016.
ICMP ICMP – Internet Control Message Protocol
Chapter 4: Network Layer
Hierarchical Routing Our routing study thus far – an idealization
רשתות תקשורת מחשבים שכבת האינטרנט (רשת)
CS 457 – Lecture 10 Internetworking and IP
EEC-484/584 Computer Networks
Department of Computer and IT Engineering University of Kurdistan
ECE453 – Introduction to Computer Networks
Part 4: Network Layer Part B: The Internet Routing Protocols
Chapter 4: Network Layer
Overview The Internet (IP) Protocol Datagram format IP fragmentation
Chapter 4: Network Layer
Chapter 4: Network Layer
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
ECSE-4670: Computer Communication Networks (CCN)
ECSE-4730: Computer Communication Networks (CCN)
Chapter 4: Network Layer
Network Layer: Internet Inter-Domain Routing
Presentation transcript:

רשתות תקשורת מחשבים שכבת האינטרנט (רשת) מרצה עמית דביר מצגות הקורס עושות שימוש בתרשימים של Kurose & Ross © ראו גם: http://www.aw.com/kurose-ross/ ומתבססות על שקפים של בעז בן משה אמיר הרצברג ואיציק קיטורזר רשתות תקשורת מחשבים 1 1

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

שכבת האינטרנט (פרק 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

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

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

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

מה בין "ניתוב" לבין "קידום" 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

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

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

מעגלים וירטואליים: מימוש משמש להקמה, תחזוקה ופירוק של מעגלים וירטואליים - פירוק יכול להיות יזום מכל צד – בכל נתב לאורך המעגל הוירטואלי - תרגיל: תכננו פרוקטוקול מעגל וירטואלי פשוט. משמש ב-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

טבלת קידום 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 # 1 12 3 22 2 63 1 18 3 7 2 17 1 97 3 87 … … … … Routers maintain connection state information! רשתות תקשורת מחשבים 12

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

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

שכבת האינטרנט (רשת) פעולות שכבת הרשת של תחנת קצה, נתב 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 physical layer רשתות תקשורת מחשבים 15

כתובות IP כתובת IP: מזהה בן 32 ביטים לתחנת הקצה, בממשק הנתב. ממשק: קשר בין תחנת קצה/נתב לקו הפיזי - נתבים הם בדרך כלל בעלי מספק ממשקים - גם תחנת קצה יכולה להיות בעלת מספר ממשקים - כתובות IP משוייכות לכל ממשק 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 223.1.3.1 223.1.3.2 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 רשתות תקשורת מחשבים 16

כתובות IP - המשך כתובת IP: - חלק הרשת (subnet – הביטים הראשונים) - חלק תחנת הקצה (ביטים אחרונים) מה זה subnet? - ממשקים ליחידות עם חלק רשת זהה בכתובת ה-IP - יכולים לגשת פיזית זה אל זה מבלי לערב את הנתב 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 Subnet 223.1.3.1 223.1.3.2 internet consisting of 3 IP subnets (for IP addresses starting with 223, first 24 bits are network address) רשתות תקשורת מחשבים 17

קידום IP – דוגמה פשוטה טבלת קידום ב-A misc fields טבלת קידום ב-A 223.1.1.1 223.1.1.3 data Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 התחל ב-A, שלח IP Datagram ממוען ל-B חפש כתובת רשת של B בטבלת קידום גלה כי B באותה subnet כמו A - שכבת הקישור יכולה לנתב אל B חפש כתובת שכבת קישור של B - שכבת הקישור מעבירה Datagram ישירות ל-B, בתוך מסגרת שכבת הקישור A 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 B 223.1.2.2 223.1.1.3 223.1.3.27 E 223.1.3.1 223.1.3.2 רשתות תקשורת מחשבים 18

קידום IP – דוגמה נוספת טבלת קידום ב-A misc fields טבלת קידום ב-A 223.1.1.1 223.1.2.2 data Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 מגיעה ל-223.1.14 ממוענת אל 223.1.2.2 חפש כתובת רשת של E בטבלת קידום של נתב גלה כי E ב-subnet של 223.1.2.9 - נתב ו-E מקושרים ישירות שכבת הקישור שולחת datagram לנתב 223.1.2.2 בתוך מסגרת שכבת הקישור דרך ממשק 223.1.2.9 ה-datagram מגיעה ל-223.1.2.2! A 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 B 223.1.2.2 223.1.1.3 223.1.3.27 E 223.1.3.1 223.1.3.2 רשתות תקשורת מחשבים 19

קידום IP – העברת datagram ממקור ליעד misc fields טבלת קידום ב-A 223.1.1.1 223.1.2.2 data Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 התחל ב-A, שלח IP Datagram ממוען ל-E חפש כתובת רשת של E בטבלת קידום גלה כי B ב-subnet שונה מ-A - A ו-E לא מקושרים ישירות טבלת ניתוב: הקפיצה הבאה לנתב ל-E היא: 223.1.1.4 שכבת הקישור שולחת datagram לנתב 223.1.1.4 בתוך מסגרת שכבת הקישור ה-datagram מגיעה ל-223.1.1.4 A 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 B 223.1.2.2 223.1.1.3 223.1.3.27 E 223.1.3.1 223.1.3.2 רשתות תקשורת מחשבים 20

כתובות IP - רשת לעומת חלק של תחנת קצה כתובות מבוססות מחלקה: סכמת הכתובות הראשונית של IP מאפשרת תת-רשתות ב-3 גדלים: class 1.0.0.0 to 127.255.255.255 A network host B 128.0.0.0 to 191.255.255.255 10 network host 192.0.0.0 to 223.255.255.255 C 110 network host 224.0.0.0 to 239.255.255.255 D 1110 multicast address 32 bits רשתות תקשורת מחשבים 21

ניצול מרחב הכתובות IPv4 32 ביטים -> עד 232<1010 כתובות מבוססות מחלקה הן בזבוז: - רשת מחלקה B: 65K כתובות גם אם יש רק 2K תחנות קצה פתרונות... CIDR – Classes InterDomain Routing - חלוקה שרירותית של כתובת IP לחקלי רשת ותחנת קצה (פחות בזבוז) - מבנה הכתובות: a.b.c.d/x, כאשר x הוא מספר הביטים בחלק של הרשת של הכתובת - כתובות היררכיות... רשתות תקשורת מחשבים 22

כתובות IP: CIDR CIDR – Classes InterDomain Routing - מבנה הכתובות: a.b.c.d/x, כאשר x הוא מספר הביטים בחלק של הרשת של הכתובת - כתובות היררכיות: מאפשרות קיבוץ נתיבים של תת-רשתות עם פתיח זהה 11001000 00010111 00010000 00000000 subnet part host 200.23.16.0/23 רשתות תקשורת מחשבים 23

הקצאת כתובות היררכית: קיבוץ נתיבים הקצאת כתובות היררכית מאפשרת פרסום יעיל של מידע הנוגע לניתוב: Organization 0 200.23.16.0/23 Organization 1 200.23.18.0/23 “Send me anything with addresses beginning 200.23.16.0/20” Organization 2 200.23.20.0/23 . Fly-By-Night-ISP . Internet Organization 7 200.23.30.0/23 “Send me anything with addresses beginning 199.31.0.0/16” ISPs-R-Us רשתות תקשורת מחשבים 24

הקצאת כתובות היררכית: נתיבים ספציפיים יותר ISPs-R-Us הוא בעל כתובת ספציפית יותר עבור ארגון מס' 1 Organization 0 200.23.16.0/23 “Send me anything with addresses beginning 200.23.16.0/20” Organization 2 200.23.20.0/23 . Fly-By-Night-ISP . Internet Organization 7 200.23.30.0/23 “Send me anything with addresses beginning 199.31.0.0/16 or 200.23.18.0/23” ISPs-R-Us Organization 1 200.23.18.0/23 רשתות תקשורת מחשבים 25

הקצאת כתובות היררכיות שאלה: איך תחנת קצה מקבלת כתובת IP? מקודד על ידי מנהל המערכת... או... DHCP: Dynamic Host Configuration Protocol - מקבל כתובת באופן דינמי משרת DHCP. - ניהול יותר פשוט, ניידות - לחסכון בכתובות IP: נשתמש רק בכמה שצריך שאלה: איך תת-רשת מקבלת כתובת IP? כתובות היררכיות: ISP מקצה חלק ממרחב הכתובות שלו מאפשר קיבוץ נתיבים: שלח לי חבילות אשר מתחילות ב-200.23.16.0/20 שאלה: איך ISP מקבל בלוק של כתובות? ICANN: Internet Corp. for Assigned Names & Numbers - מקצה כתובות, מנהל DNS, מקצה שמות דומיין - או מ-ISP ברמה גבוהה יותר רשתות תקשורת מחשבים 26

ניצול מרחב הכתובות IPv4 - המשך 32 ביטים -> עד 232<1010 כתובות מבוססות מחלקה הן בזבוז: - רשת מחלקה B: 65K כתובות גם אם יש רק 2K תחנות קצה פתרונות... CIDR – Classes InterDomain Routing - חלוקה שרירותית של כתובת IP לחקלי רשת ותחנת קצה (פחות בזבוז) DHCP – הקצאת כתובות רק כאשר מחוברים שתיהן עוזרות, אבל – לא מספיק... פתרונות נוספים: - Network Address/Port Translation (NAT or NAPT) - מעבר ל-IPv6 (כתובת IP בת 128 ביטים) - שיפורים נוספים: QOS, אבטחה. רשתות תקשורת מחשבים 27

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

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

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

32 bit destination IP address מבנה IP Datagram ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier Internet checksum time to live 32 bit source IP address IP protocol version number header length (bytes) max number remaining hops (decremented at each router) for fragmentation/ reassembly total datagram length (bytes) upper layer protocol to deliver payload to head. len type of service “type” of data – for Quality of Service flgs fragment offset Next protocol 32 bit destination IP address Options (if any) E.g. timestamp, record route taken, specify list of routers to visit. how much overhead with TCP? 20 bytes of TCP 20 bytes of IP = 40 bytes + app layer overhead רשתות תקשורת מחשבים 31

פירוק לחלקים והרכבה מחדש של IP קישורי רשת הם בעלי MTU (max transfer unit size) – מסגרת גדולה ביותר ברמת הקישור - קישורים שונים – MTU שונה IP Datagram גדולה מחולקת ("פירוק") בתוך הרשת - Datagram אחת הופכת למספר Datagrams - "מורכבת מחדש" רק ביעד הסופי - עושה שימוש בפתיח ה-IP כדי לזהות, ולסדר חלקים (הרכבה מחדש) fragmentation: in: one large datagram out: 3 smaller datagrams reassembly רשתות תקשורת מחשבים 32

פירוק לחלקים והרכבה מחדש של IP דוגמה: Datagram בגודל 4000 בייטים (כולל פתיח בגודל 20 בייטים) MTU = 1500 בייטים 3 חלקים: 1500, 1500, 1040 (בייטים) 40 בייטים ל-2 פתיחים נוספים תרגיל" מה יקרה אם נשלח על קישור בעל MTU = 500 בייטים? ID =x offset =0 fragflag length =4000 =1 =1500 =1480 =2960 =1040 One large datagram becomes several smaller datagrams רשתות תקשורת מחשבים 33

IPv6 מוטיבציה ראשונית: כתובות בעלות 32 ביטים יקוצו במלואן בקרוב. מוטיבציה נוספת: - מבנה פתיח עוזר לעיבוד/קידום מהיר - שינויי פתיח לשמש QoS פורמט Datagrams IPv6: - פתיח קבוע בגודל 40 בייטים (אפשרויות לא כלולות בפתיח) (מנגנון 'הרחבות' תומך (גם ב-) אפשרויות - אין אפשרות לפירוק רשתות תקשורת מחשבים 34

פתיח IPv6 - המשך עדיפות: זהה עדיפות בין Datagrams בזרם תגית זרימה: זהה Datagrams באותו "זרם" (שניהם משמשים ל-QOS לא במסגרת קורס זה) פתיח הבא: זהה פרוטוקול של שכבה גבוהה יותר למידע רשתות תקשורת מחשבים 35

שינויים נוספים מ-IPv4 מוטיבציה ראשונית: כתובות בעלות 32 ביטים יקוצו במלואן בקרוב. מוטיבציה נוספת: - מבנה פתיח עוזר לעיבוד/קידום מהיר - שינויי פתיח לשמש QoS פורמט Datagrams IPv6: - פתיח קבוע בגודל 40 בייטים (אפשרויות לא כלולות בפתיח) (מנגנון 'הרחבות' תומך (גם ב-) אפשרויות - אין אפשרות לפירוק רשתות תקשורת מחשבים 36

שינויים נוספים מ-IPv4 Checksum: הוסר לחלוטין כדי להקטין זמן עיבוד בכל קפיצה Extensions: IPv6 מאפשר ל-'פתיח הבא' להיות הרחבה שרירותית, לטובת גמישות Options: בהרחבות, לא פתיח - שתי הרחבות סטנדרטיות לאופציות: Hop By Hop Options Destination Options (גם עבור 'נתבים מיוחדים') רשתות תקשורת מחשבים 37

מעבר מ-IPv4 ל-IPv6 לא ניתן לשדרג כל נתב בו-זמנית - אין "ימי סימון" Tunneling: IPv6 אשר נישא כמטען ייעודי ב-IPv4 datagram לאורך נתבי IPv4 רשתות תקשורת מחשבים 38

Tunneling: A B E F Logical view: Physical view: A B E F IPv6 tunnel Logical view: Physical view: A B E F IPv6 IPv4 רשתות תקשורת מחשבים 39

Tunneling: A B E F Logical view: A B C D E F Physical view: Src:B IPv6 IPv6 IPv6 IPv6 A B C D E F Physical view: IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 Flow: X Src: A Dest: F data Flow: X Src: A Dest: F data Src:B Dest: E Flow: X Src: A Dest: F data Src:B Dest: E Flow: X Src: A Dest: F data A-to-B: IPv6 E-to-F: IPv6 B-to-C: IPv6 inside IPv4 B-to-C: IPv6 inside IPv4 רשתות תקשורת מחשבים 40

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

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

ניתוב לפי מצב קישור: אלג' נתיב קצר ביותר ניתוב סטטי, גלובלי,לפי מצב קישור מקור: מצב הקישור קבוע: 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) - לא עץ פורש מינימלי (מדוע?) - לא עץ זהה עבור כל המקורות (מדוע?) רשתות תקשורת מחשבים 43

האלגוריתם של דיקסטרא בונה עץ פורש מינימלי 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? רשתות תקשורת מחשבים 44

האלגוריתם של דיקסטרא: דוגמה 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 רשתות תקשורת מחשבים 45

האלגוריתם של דיקסטרא, דיון סיבוכיות האלגוריתם: 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 רשתות תקשורת מחשבים 46

אלגוריתם ניתוב "וקטור מרחקים" מבנה נתונים של טבלת מרחקים: לכל קודקוד טבלה משלו שורה עבור כל יעד אפשרי טור עבור כל שכן דוגמה: בקודקוד 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 = רשתות תקשורת מחשבים 47

טבלת מרחקים: דוגמה 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! רשתות תקשורת מחשבים 48

טבלת מרחקים מספקת טבלת ניתוב 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 רשתות תקשורת מחשבים 49

ניתוב וקטור מרחקים: סקירה איטרטיבי, א-סינכרוני: כל איטרציה מקומית נגרמת על ידי: עלות קישור מקומי משתנה הודעה משכן: הנתיב בעל העלות הנמוכה ביותר משכן מבוזר: כל קודקוד מודיע לשכנים רק כאשר הנתיב בעל העלותל הנמוכה ביותר שלו ליעד כלשהוא משתנה - שכנים מודיעים אז לשכנים שלהם במידת הצורך כל קודקוד: 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 רשתות תקשורת מחשבים 50

אלגוריתם וקטור מרחקים בקודקוד 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 רשתות תקשורת מחשבים 51

אלגוריתם וקטור מרחקים: דוגמה 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 רשתות תקשורת מחשבים 52

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

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

וקטור מרחקים: התלכדות 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… רשתות תקשורת מחשבים 55

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

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

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

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

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

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

ניתוב 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 רשתות תקשורת מחשבים 62

ניתוב 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... רשתות תקשורת מחשבים 63

ניתוב 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 רשתות תקשורת מחשבים 64

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; 16=unreachable) Distance vectors: exchanged among neighbors every 30 sec via RIP reply packet (called advertisement) Each advertisement: list of up to 25 destination nets within AS Sent using UDP (why?) Or: 24 destinations + authentication tag רשתות תקשורת מחשבים 65

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 -- 1 …. …. .... טבלת ניתוב ב-D רשתות תקשורת מחשבים 66

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 -- 1 …. …. .... טבלת ניתוב ב-D רשתות תקשורת מחשבים 67

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 רשתות תקשורת מחשבים 68

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 רשתות תקשורת מחשבים 69

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. רשתות תקשורת מחשבים 70

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

ניתוב 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 רשתות תקשורת מחשבים 72

ניתוב 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 רשתות תקשורת מחשבים 73

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 רשתות תקשורת מחשבים 74

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! רשתות תקשורת מחשבים 75

פעולת 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) רשתות תקשורת מחשבים 76

מדוע יש ניתוב שונה ב-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 רשתות תקשורת מחשבים 77

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