Software-defined networking

Software-defined networking או SDN היא גישה לניהול ובקרה של רשתות תקשורת נתונים. בגישה זו ניהול ובקרת הרשת נעשים בצורה ריכוזית ואוטומטית על ידי אפליקציות תוכנה או גורם "מתזמר" (Orchestrator), דבר המעניק גמישות לרשת ומאפשר השתנות מהירה של הרשת. ניהול ובקרת הרשת נעשים ללא תלות בטכנולוגיה הספציפית של רכיבי הרשת. הדבר נעשה על ידי הסתמכות על הפשטה של רכיבי הרשת הנמצאים ברמות נמוכות. באמצעות גישה זו ניתן להגדיר ולנהל רשתות מתוחכמות, בצורה יעילה ומהירה על ידי תכנון הרשת על פי עקרונות כלליים אותם רוצים ליישם, ולייתר את הצורך לטפל בפרטים הקטנים. עקרון ההפשטה, או "אבסטרקציה" הוא עקרון חשוב בעולם מדעי המחשב המאפשר לכל משתמש להשתמש בשכבה החשובה לו, מבלי שיצטרך להבין כיצד עובדת השכבה התחתונה יותר, או מבלי שיצטרך להקדיש לכך מחשבה ומאמץ. כך לדוגמה אדם הכותב מסמך במעבד תמלילים אינו נדרש להבין כיצד תוכנתה תוכנת מעבד התמלילים ואילו מפתח התוכנה לא צריך להבין כיצד מתורגמת התוכנה שהוא פיתח לפקודות שפת מכונה המופנות למעבד המחשב. באופן דומה, גישת SDN מאפשרת תכנון של הרשת מבלי לדאוג לטיפול ידני בכל אחד מרכיבי הניתוב שנמצאים לאורך הדרך ולבצע שינויים מהירים במבנה הרשת.

חוות שרתים מודרניות המסתמכות על קישוריות גבוהה בין מחשבים וכן מכונות וירטואליות רבות, ובייחוד פתרונות מחשוב ענן, מחייבים שימוש בטכנולוגיות SDN. בחוות שרתים אלו טכנולוגיית ה-SDN מאפשרות קישוריות דינאמית בין המכונות הווירטואליות השונות וביצוע שינויים מהירים הנחוצים בעולם מחשוב הענן, לדוגמה בעקבות הוספה והסרה מהירות יחסית של מחשבים וירטואליים או העתקה של מכונות וירטואליות ממחשב אחד לשני.

לעיתים מתייחסים לגישת ה-Software-defined networking כאל "וירטואליזציה של רשתות" כיוון שזו, כאמור, מאפשרת לתאר את הרשת בצורה וירטואלית, ללא התחשבות ביישום הפיזי בפועל, בדומה לעבודה על מכונות וירטואליות המספקות וירטואליזציה של חומרה.

SDN משולב לעיתים קרובות עם גישת "וירטואליזציה של פונקציות רשת" (Network Function Virtualizatio או NFV). בגישה זו הפונקציות של רכיבי הרשת מבוצעות על ידי מכונות וירטואליות ולא ציוד חומרה ייעודי. וטכנלוגית SDN מאפשר את הקישוריות בין המכונות.