PHY - CS1001.py: Extended Introduction to CS

Download Report

Transcript PHY - CS1001.py: Extended Introduction to CS

‫מבט על רשתות תקשורת‬
‫אייל דגן‪ ,‬ינואר ‪2012‬‬
‫‪www.broadcom.com‬‬
‫על מה נדבר?‬
‫• מבנה ברשת‬
‫• מבנה נתב‪/‬מתג (‪)switch/router‬‬
‫• סיכום‬
‫‪2‬‬
‫מבנה הרשת‬
‫‪3‬‬
‫מבנה הרשת – מושגי יסוד‬
‫•‬
‫כל המידע כיום ארוז ב ‪ – packets‬טלפוניה‪ ,‬וידאו ואינטרנט‬
‫•‬
‫לכל מכשיר קצה יש כתובת ‪ ,IP‬כל ‪ packet‬עטוף בכתובת מקור וכתובת יעד‪ .‬כתובות ‪ IP‬הן היררכיות‬
‫ומוכרות בכל הרשת‬
‫•‬
‫לכל מכשיר קצה יש גם כתובת ‪ ,Ethernet‬כל ‪ packet‬עטוף גם בכתובות ‪ Ethernet‬של המקור והיעד‪.‬‬
‫כתובת ‪ Ethernet‬הן "שטוחות" ומקומיות ברשת‬
‫המידע המועבר ברשת‬
‫‪DATA‬‬
‫•‬
‫כתובות ‪)L3( IP‬‬
‫‪DIP‬‬
‫‪SIP‬‬
‫כתובות אטרנט (‪)L2‬‬
‫‪DA‬‬
‫‪SA‬‬
‫‪Packet‬‬
‫פרוטוקולי ניתוב לומדים בצורה דינאמית את מיקום ה‪ IP -‬ברשת‪ ,‬ומעדכנים את הטבלאות החיפוש‬
‫בהתאם‬
‫‪4‬‬
‫•‬
‫נתב (‪ – )Router‬מנתב על פי כתובות ‪ – )L3( IP‬לכן מחפש את ה‪ DIP -‬בטבלת החיפוש‬
‫•‬
‫מתג (‪ – )Switch‬על פי כתובת ‪ – )L2(MAC‬לכן מחפש את ה‪ DA -‬בטבלת החיפוש‬
‫מבנה הרשת‬
‫או‬
Video Service
Provider
Business
Metro Aaggregation
(Haifa)
Residential
IP?
Voice Service
Provider
Internet Service Provider
(ISP)
Core
Cable
IP?
Edge Router
ISP
‫ארה"ב‬
ISP
‫ארה"ב‬
IP?
Metro Aaggregation
(Tel Aviv)
NodeB
(Base Station)
Access
Aaggregation
(PON)
IP?
SA
DA
Data Center
Access
Aaggregation
(Mobile BH)
www.google.com  L3 IP DA
SIP(iPhone)
DIP(google)
DATA
5
‫חשבון האשראי שלי‬
‫ספק אינטרנט ‪ISP‬‬
‫תשתית סלולרית‪,‬‬
‫ספק שיחות‬
‫תשתית קוית‪,‬‬
‫ספק שיחות‬
‫ספק וידאו‬
‫וטלויזיה‬
‫‪6‬‬
‫נתבים ומתגים‬
‫‪7‬‬
‫נתבים ומתגים‬
‫•‬
‫נתב (‪ )Router‬ומתג (‪ )Switch‬בנויים מכרטיסי קו (‪ )Line Cards‬ומכרטיסי חיבוריות (‪)Fabric Cards‬‬
‫•‬
‫‪ Packet‬נקלט בנתב בכרטיס הקו בו מתקיים חיפוש היעד לשליחה‬
‫•‬
‫כרטיס החיבוריות מחבר בין כרטיסי הקו‪ ,‬בכל נקודה בזמן‪ ,‬תוך יצירת התאמה מקסימאלית בין כניסות‬
‫השולחות מידע ובין יציאות היעד‬
‫‪8‬‬
‫מבנה המתג‪/‬נתב‬
‫כרטיס רשת ‪Line Card‬‬
‫‪Fabric‬‬
‫‪TM+FA‬‬
‫‪PP‬‬
‫‪PHY‬‬
‫‪Outgoing packet‬‬
‫‪DATA‬‬
‫'‪L3‬‬
‫'‪L2‬‬
‫‪Fabric‬‬
‫‪Incoming packet‬‬
‫‪TM+FA‬‬
‫‪PP‬‬
‫‪PHY‬‬
‫‪DATA‬‬
‫‪L3‬‬
‫• ‪ – PHY‬אחראי על איכות האות ברמה הפיזית‬
‫• ‪ ,Packet Processor - PP‬אחראי על ניתוח ה ‪ ,packet‬ומציאת פורט היציאה על ידי חיפוש היעד בטבלאות החיפוש‬
‫• ‪ ,Traffic Manager – TM‬אחראי לקביעת רמת השירות ותעדוף בין חבילות המיועדות לאותו יעד באותה נקודת זמן‬
‫• ‪ ,Fabric Access – FA‬אחראי על הממשק בין כרטיס הרשת לרכיב החיבוריות‬
‫• ‪ – Fabric‬מבצע את החיבוריות של כל הכניסות והיציאות של המערכת‬
‫‪9‬‬
‫‪L2‬‬
‫‪PHY‬‬
‫כרטיס רשת ‪Line Card‬‬
‫‪Fabric‬‬
‫‪Fabric‬‬
‫‪TM+FA‬‬
‫‪PHY‬‬
‫‪PP‬‬
‫‪Incoming packet‬‬
‫‪DATA‬‬
‫‪L3‬‬
‫• רכיב המתאים את האות הדיגיטאלי לתווך‬
‫• באמצעות אלגוריתם ‪ Digital Signal Processing‬ממיר את האות הנקלט לאות דיגיטאלי‬
‫• בנוסף‪ ,‬רוב הרכיבים כוללים אופציה לתיקון שגיאות – שימוש בפרוטוקול ‪(FEC) Forward Error Correction‬‬
‫–‬
‫מוסיפים מידע לכל ‪ ,packet‬שמטרתו לאפשר שחזור ההודעה המקורית במידה של שגיאה‬
‫–‬
‫אופי והתפלגות השגיאות הם פונקציה של התווך (אויר‪ ,‬איכות הנחושת בכבל וכיוב')‬
‫• נושאים אלו נלמדים בקורסים כגון‪ :‬אלגברה לינארית‪ ,‬תורת השדות ותורת הקודים‬
‫‪PHY‬‬
‫‪10‬‬
‫‪L2‬‬
Food Processor
11
‫‪Packet Processor‬‬
‫כרטיס רשת ‪Line Card‬‬
‫‪Fabric‬‬
‫‪Fabric‬‬
‫‪TM+FA‬‬
‫‪PP‬‬
‫‪PHY‬‬
‫‪Incoming packet‬‬
‫‪DATA‬‬
‫• מנתח את מבנה ה ‪ ,packet‬במטרה למצוא את כתובת היעד הבא‬
‫–‬
‫חיפוש מסוג ‪ )hashing( Exact Match‬עבור כתובות אתרנט (‪)L2 DA‬‬
‫–‬
‫חיפוש מסוג ‪ Longest Prefix Match‬עבור כתובות האינטרנט )‪(L3 DIP‬‬
‫• תוצאות החיפוש הן היציאה הרלוונטית שתשמש לשליחת ה ‪ packet‬ליעדה הסופי‬
‫• הרכיב אחראי על חיפוש ועדכון הטבלאות‬
‫‪12‬‬
‫‪L3‬‬
‫‪L2‬‬
‫חיפוש כתובת יעד על פי ‪L2‬‬
‫• ראשית בודקים האם ה ‪ packet‬הגיע ליעדו המיידי‪ ,‬על ידי השוואת כתובת היעד (‪ )DA‬לכתובת המתג‪/‬נתב (‪)MAYMAC‬‬
‫• במידה ואכן הגיע ה ‪ Packet‬ליעדו‪ ,‬מסירים את כל המידע של ‪ ,L2‬ועוברים לחפש את ה‪( DIP-‬שקף הבא)‬
‫• אם לא הגיע ליעדו המיידי‪ ,‬מחפשים את כתובת היעד בטבלה המתאימה בין כתובות ‪ MAC‬ליציאות הנתב‪/‬מתג‬
‫• החיפוש בטבלה (‪ )MACT‬נעשה על ידי אלגוריתם ‪ ,hashing‬בעל הדרישות הבאות‪:‬‬
‫– מהיר מאוד ובעל זמן חיפוש קבוע‬
‫– קצב הכנסה לטבלה יכול להיות איטי יותר‪ ,‬אבל פשוט דיו על מנת שייתבצע על ידי החומרה‬
‫– ניצול טוב של הזכרון‬
‫‪Incoming packet‬‬
‫‪DATA‬‬
‫‪L3‬‬
‫‪DA LOOKUP‬‬
‫• במידה והכתובת קיימת בטבלה‪ ,‬ה ‪ packet‬ישלח ליציאה שנמצאה בחיפוש‬
‫• במידה ולא נמצאה הכתובת‪ ,‬ישלח ה‪ packet‬לכל היציאות (‪)flooding‬‬
‫• הרכיב אחראי על ניהול ועדכון הטבלה‪ ,‬וילמד את הכתובת חדשה‪:‬‬
‫)‪MACT (MAC address table‬‬
‫‪3‬‬
‫‪00:00:11:62:31:05‬‬
‫‪1‬‬
‫‪00:00:13:22:83:11‬‬
‫…‬
‫יציאה‬
‫כתובת (‪ 48‬ביט)‬
‫‪flood‬‬
‫‪13‬‬
‫…‬
‫– כתיבה לטבלה של כתובת היעד (‪ )DA‬עם הכניסה דרכה הגיע‬
‫‪L2‬‬
‫‪DEFAULT‬‬
‫חיפוש כתובת יעד על פי ‪L3‬‬
‫• כתובות ‪ IP‬הן היררכיות ובדרך כלל יש דרכים רבות להגיע יעד ספציפי‬
‫• נתבים משתמשים במנגנון ‪ Longest–Prefix-Match‬למציאת היציאה דרכה ניתן להגיע ליעד הסופי של ה ‪packet‬‬
‫• דרישות החיפוש‪:‬‬
‫ חיפוש בזמן קבוע‪ ,‬קצב הכנסה לטבלה יכל להיות איטי יותר‬‫ ניצול טוב של הזכרון‬‫• חיפוש מסוג ‪ LPM‬מיושם על ידי אחד משניים‪:‬‬
‫ אלגוריתמים יעודיים (כגון עצי ‪)Patricia‬‬‫‪ -‬חומרה יעודית (כגון ‪)TCAM‬‬
‫‪Incoming packet‬‬
‫‪Routing DB‬‬
‫יציאה‬
‫כתובת‬
‫‪DIP 11.22.11.02‬‬
‫‪IP 11.22.00.00‬‬
‫‪IP 11.22.11.01‬‬
‫‪1‬‬
‫‪2‬‬
‫**‪11.22.11.‬‬
‫‪1‬‬
‫**‪11.22.1*.‬‬
‫‪3‬‬
‫‪11.22.11.03‬‬
‫‪DIP 11.22.11.03‬‬
‫‪DIP 11.22.18.99‬‬
‫‪2‬‬
‫‪IP 11.22.11.02‬‬
‫‪IP 11.22.11.00‬‬
‫‪3‬‬
‫‪DATA‬‬
‫‪L3‬‬
‫‪IP 11.22.11.03‬‬
‫‪CE‬‬
‫• עדכון הטבלאות החיפוש נעשה באמצעות פרוטוקולים המבוזרים בין נתבי הרשת (מימוש בתוכנה) ומעדכנים את‬
‫טבלאות החיפוש ה‪ IP-‬בכל זמן נתון (לדוגמא ‪)BGP, OSPF‬‬
‫‪L2‬‬
‫‪Traffic Management‬‬
‫• לנתב בדוגמא ‪ 3‬כניסות\יציאות ‪:‬‬
‫בעיה‪ :‬שני ‪ packets‬רוצים להגיע לאותו היעד (‪)1‬‬
‫פתרון‪ :‬ה ‪ packet‬ימתין לתורו בזכרון המנוהל כתור‬
‫בעיה‪ packet :‬מאוחר בתור ממתין ל ‪packet‬הראשון‬
‫למרות שיציאה שלו (‪ (2‬פנויה‬
‫פתרון‪ :‬הגדרת תור לכל יציאה (‪)VOQs‬‬
‫בעיה‪ :‬מתן קדימות על פי רמת שירות‬
‫פתרון‪ :‬מגדירים מספר תורים מתועדפים לכל יציאה‬
‫‪Premium‬‬
‫‪15‬‬
‫‪1‬‬
‫‪1‬‬
‫‪2‬‬
‫‪2‬‬
‫‪3‬‬
‫‪3‬‬
‫‪Traffic Manager‬‬
‫כרטיס רשת ‪Line Card‬‬
‫‪Fabric‬‬
‫‪Fabric‬‬
‫‪TM+FA‬‬
‫‪PP‬‬
‫‪PHY‬‬
‫• אחראי לקביעת רמת השירות ‪ -‬קדימויות בין חבילות המיועדות ליעד זהה‬
‫• מנהל מאות אלפים של תורים שונים לרמות שירות שונות (בדומה למחלקת עסקים ולמחלקת תיירים)‬
‫‪16‬‬
‫•‬
‫ה ‪ packet‬מוחזקת בזכרון עד לתורה להשלח ליעד‬
‫•‬
‫רמת השירות נקבעת על פי סוג המידע (קול‪/‬וידאו‪/‬דטה) וחוזה השירות של הלקוח‬
Fabric Access
Line Card ‫כרטיס רשת‬
Fabric
Outgoing packet
L2'
L3'
DATA
PHY
PP
TM+FA
Fabric
Incoming packet
L2
L3
DATA
PHY
PP
TM+FA
‫אחראי לממשק עם כרטיס החיבוריות‬
•
‫ ומקבל הרשאות לשליחת המידע‬,‫שולח בקשה לחיבוריות עבור יציאות מסוימות בכל נקודה בזמן‬
•
‫כאשר הגיע זמנו‬
‫ בשליחה ואיחודו בקבלה‬packet ‫ אינו נשלח כמקשה אחת – אחראי לפיצול ה‬packet ‫במידה וה‬
Broadcom Proprietary & Confidential. © 2010 Broadcom Corporation. All rights reserved.
•
17
‫חיבוריות ‪CLOS‬‬
‫• מהי חיבוריות ‪?CLOS‬‬
‫– חיבוריות בעלת שלוש שכבות‪ ,‬כל אלמנט משכבה‬
‫מסויימת מחובר לכל האלמנטים בשכבה הבאה‬
‫– ‪ N‬דרגת הכניסה‪/‬יציאה של אלמנטי המיתוג בשכבה ‪,2‬‬
‫(מקסימום כרטיסי קו שניתן לחבר)‬
‫‪Stage 3‬‬
‫‪Stage 1‬‬
‫‪Stage 2‬‬
‫‪K*K‬‬
‫‪#1‬‬
‫‪K*K‬‬
‫‪#1‬‬
‫‪#1‬‬
‫‪K*K‬‬
‫‪#2‬‬
‫– ‪ K‬דרגת הכניסה‪/‬היציאה בשכבה ‪ 1‬ו‪,3-‬‬
‫(מקסימום קצב של כל כרטיס קו)‬
‫‪#2‬‬
‫‪N*N‬‬
‫‪K*K‬‬
‫‪#2‬‬
‫‪N*N‬‬
‫• מאפייני החיבוריות‬
‫– במחצית הראשונה‪ :‬מסלולים רבים ליעד‬
‫– במחצית השניה‪:‬מסלול יחיד ליעד‬
‫• תכונות החיבוריות‬
‫– ‪,Non-Blocking re-arrangeable‬ניתן לסידור מחדש כך‬
‫שלא תתקיימנה חסימות‬
‫– רקורסיבי ולכן ניתן להגדלה (‪)Scalable‬‬
‫•‬
‫‪1953 ,Charles Clos‬‬
‫‪#K‬‬
‫‪K*K‬‬
‫‪#N‬‬
‫‪Routing‬‬
‫‪stage‬‬
‫‪18‬‬
‫‪N*N‬‬
‫‪K*K‬‬
‫‪#N‬‬
‫‪Randomization‬‬
‫‪stage‬‬
Clos Network - Recursive & Scalable
Stage 1
K*K
1
Stage 3
Stage 2
K*K
1
K*K
2
K*K
2
K*K
N
K*K
N
19
‫ניתוב סטאטי מול ניתוב דינאמי‬
‫‪packet‬‬
‫כניסה יציאה‬
‫כחול‬
‫‪1‬‬
‫‪1‬‬
‫ירוק‬
‫‪9‬‬
‫‪7‬‬
‫צהוב‬
‫‪8‬‬
‫‪2‬‬
‫אדום‬
‫‪7‬‬
‫‪3‬‬
‫ניתוב דינאמי דרך כל המסלולים הפנויים‬
‫ניתוב דרך מסלול קבוע (סטאטי)‬
‫‪Dynamic Routing‬‬
‫‪Static Routing‬‬
‫‪20‬‬
‫‪1/3‬‬
‫‪1‬‬
‫‪2‬‬
‫‪1‬‬
‫‪2‬‬
‫‪1‬‬
‫‪2‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪3‬‬
‫‪3‬‬
‫‪3‬‬
‫‪4‬‬
‫‪5‬‬
‫‪4‬‬
‫‪5‬‬
‫‪4‬‬
‫‪5‬‬
‫‪4‬‬
‫‪5‬‬
‫‪6‬‬
‫‪6‬‬
‫‪6‬‬
‫‪6‬‬
‫‪7‬‬
‫‪8‬‬
‫‪7‬‬
‫‪8‬‬
‫‪7‬‬
‫‪8‬‬
‫‪7‬‬
‫‪8‬‬
‫‪9‬‬
‫‪9‬‬
‫‪9‬‬
‫‪9‬‬
‫ה ‪ PACKET‬האדום לא יכול להגיע מכניסה ‪ 7‬ליציאה ‪,3‬‬
‫יש לסדר מחדש כל המסלולים!‬
‫!!‪Non-Blocking‬‬
‫יתרונות הניתוב בדינאמי‬
‫• ‪ - strictly non-blocking‬מונע חסימות באופן מוחלט‬
‫• ‪ - Scalable‬מספר כרטיסי הקו ונפח התעבורה ניתנים להגדלה ע"י הגדלת ‪ K‬ו‪N-‬‬
‫• האתגר – סידור מחדש של חלקי ה– ‪ packet‬וסידור ה ‪ packets‬לפי סדר‬
‫כניסתם ביציאה מהנתב‬
‫‪21‬‬
Clos ‫ מבוסס על‬Core Router
5Tbps Core Router –
8 x 640G Chassis with Multistage Fabric
22
Fabric Packet Walk
(3) store pkts
in VOQs
(7) segment pkt to cells &
dynamically load
balanced
(2) classify
pkts to VOQs
(8) switch cells
to destination
(11) transmit
pkts to
network
Network I/F
Egress VOQs
Sch.
...
...
(4) Q-status-message  egress
sch
Fabric
Plane
2
Port
Qs
...
Ingress VOQs
Sch.
Fabric
Plane
1
(10) store pkts
in per port Q/s
Fabric I/F
Fabric I/F
VOQs
...
Network I/F
(1) rcv pkts
from network
(9) reassemble
cells to pkts
(5) database of
competing VOQs
ingress sch  credit-message (6)
.
.
.
.
.
.
Fabric
Plane
n
23
‫מה יש עוד ללמוד?‬
‫• מבנה הרשת‬
‫– אלגוריתמים מבוזרים (פרוטוקולי ניתוב)‬
‫– מבני נתונים‬
‫– עיבוד אותות ותיקוני שגיאות‬
‫• מבנה הנתב‪/‬מתג‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫עיבוד אותות ותיקוני שגיאות‬
‫אלגורתמי חיפוש‬
‫תורת התורים‬
‫מערכות הפעלה‬
‫מבנה מחשבים ספרתיים‬
‫תורת הגרפים‬
‫פיזיקה ו‪VLSI -‬‬
‫סטטיסטיקה והסתברות‬
‫חדשנות נובעת מחיבור בין התחומים השונים‬
‫‪24‬‬
‫‪Broadcom Proprietary & Confidential. © 2010 Broadcom Corporation. All rights reserved.‬‬
‫היכרות‬
‫• אייל דגן‪ ,‬ברודקום‪-‬יקום (לשעבר דיון)‬
‫– בוגר תואר ראשון ושני במדעי המחשב בטכניון (אלגוריתמים מבוזרים)‬
‫– סמנכ"ל פיתוח בחברת ‪( MRV‬פיתוח מתגים)‬
‫– מייסד ומנכ"ל שארלוט ווב (פיתוח נתבים)‬
‫– מייסד ומנכ"ל חברת דיון ‪( – Dune Networks‬פיתוח שבבים עבור מתגים ונתבים)‪ .‬נרכשה על ידי‬
‫ברודקום (‪ )Broadcom‬בדצמבר ‪2009‬‬
‫– בשנת ‪ 90% – 2015‬מתעבורת האינטרנט תנותב\תמותג דרך שבבים שפותחו ביקום ( אכן גאווה‬
‫ישראלית)‬
‫‪25‬‬
! ‫תודה ובהצלחה‬
www.broadcom.com
Broadcom Proprietary & Confidential. © 2010 Broadcom Corporation. All rights reserved.