شبکه نرمافزاری تعریف شده (Software Defined Networking یا SDN) یک معماری جدید در شبکه است. یک زیرساخت SDN همانند شبکههای سنتی دارای مجموعهای از تجهیزات شبکه (از جمله سوئیچها، مسیریابها و جعبههای میانی (Middlebox Appliances))است. تنها تفاوتی که در این بین وجود دارد، تبدیل تجهیزات فیزیکی سنتی به عناصر ساده روانهسازی است که این عناصر فاقد بخش کنترلی و یا نرمافزاری جهت تصمیمگیریهای خودکار است. هوش شبکه از تجهیزات صفحه داده به یک سیستم کنترلی به طور منطقی متمرکز انتقال یافته است. این سیستم کنترلی شامل سیستم عامل شبکه و برنامههای کاربردی آن است. به منظور اطمینان از قابلیت همکاری و سازگاری بین انواع مختلف صفحه کنترل و داده، میبایست این شبکهها بر روی واسطهای باز و استانداردی (از جمله OpenFlow) ایجاد شوند. در صورت وجود چنین واسطی، کنترلکننده قادر به برنامهریزی تجهیزات روانهسازی ناهمگون به صورت پویا خواهد بود. این موضوع در شبکههای سنتی چالشی اساسی است، که دلیل آن استفاده از تجهیزات شرکتهای مختلف با واسطهای غیر متنباز و صفحه کنترلی توزیعشده است. در دوره آموزشی Livelessons Network Programmability Fundamentals با معماری شبکه نرم افزاری تعریف شده و زبان پایتون برای برنامه نویسی شبکه آشنا می شوید.