شبکه سازی نرم افزار محور چیست؟ چرا و چگونه چنین طوفان و هیاهویی را در صنعت شبکه به وجود آورده است؟
کتاب شبکه های نرم افزار محور (رویکردی جامع) که اکنون ترجمه ویراست دوم آن را در دست دارید، یکی از پرفروشترین و معتبرترین کتاب های این شاخه از علم شبکه های رایانه ای در سرتاسر دنیاست. این کتاب با رویکرد نوین و جامعِ خود در ارائه عمیق، وسیع، فنی و در عین حال کاربردیِ مفاهیم این شبکه، که مورد استقبال متخصصان، اساتید و دانشجویان سرتاسر دنیا قرار گرفته است، جای خود را به عنوان یک مرجع در آموزش شبکه های نرم افزار محور باز کرده است. نویسندگان این کتاب، پول گورانسون، چاک بلک و تیموتی کالور از استادان برجسته، بنیان گذاران و معماران اصلی این شبکه در شرکت های بزرگ شبکه سازی هستند. از ویژگی های ارزشمند و مهم این کتاب بررسی همه جانبه شبکه های نرم افزار محور، از چرایی و نحوه پیدایش و عملکرد این شبکه تا اجزاء، چارچوب، پروتکل ها، کاربردها و روال برنامه نویسی در این شبکه است.
در جلد اول این کتاب با مفاهیم زیر آشنا میشوید:
- شبکه سازی نرم افزار محور Software Defined Networking (SDN)
- سوئیچینگ و معماری مرسوم سوئیچ ها
- تکامل سوئیچ ها و سطوح کنترل
- SDN چگونه کار میکند؟
- انواع سوئیچ ها، کنترل کننده ها و اپلیکیشن های SDN
- مشخصات فنی پروتکل OpenFlow
- جزئیات OpenFlow 1.1 تا OpenFlow 1.5
- تعاریف جایگزین SDN
- زبان برنامه نویسی P4
- SDN در مراکز داده مدرن
- رویکردهای امنیت SDN
- مهندسی ترافیک، توزیع بار و بازیابی از خرابی در شبکه SDN
فهرست مطالب
دربارة نویسندگان
پیشگفتار
مقدمه
پیشنهادات و اصلاحات
مقدمه مترجم
فصل 1: مقدمه
1-1- اصطلاحات سوئیچینگ بسته
1-2- پیشزمینه تاریخی
1-3- مراکز داده مدرن
1-4- معماری مرسوم سوئیچ
1-4-1- سطوح داده، کنترل و مدیریت
1-4-2- پل زنی و مسیریابی مبتنی بر نرم افزار
1-4-3- جستجوی سخت افزاری جدول های هدایت پیشرو
1-4-4- قواعد کلی هدایت پیشرو قابل برنامه نویسی
1-5- جدول های هدایت پیشرو مستقل و پویا
1-5-1- کنترل لایه دوم
1-5-2- کنترل لایه سوم
1-5-3- SOUP پروتکل یا BREW سوئیچ
1-6- آیا می توان ضریب هوشی هدایت پیشرو بسته را افزایش داد؟
1-7- تغییرات فنی و متن باز
1-8- ساختار کتاب
فصل 2: چرا SDN؟
2-1- تکامل سوئیچ ها و سطوح کنترل
2-1-2- هدایت پیشرو و مسیریابی با استفاده از نرم افزار
2-1-3- استقلال و خودمختاری در تجهیزات اولیه
2-1-4- حرکت نرم افزار به سمت سخت افزار سیلیکنی
2-1-5- کنترل و هدایت پیشرو سخت افزاری در نرم افزار
2-1-6- نیاز در حال رشد برای ساده سازی
2-1-7- انتقال کنترل به خارج از دستگاه
2-2- هزینه
2-2-1- افزایش هزینه های توسعه
2-2-2- محیط های بسته، وابستگی به فروشنده را تقویت می کنند
2-2-3- پیچیدگی و مقاومت در برابر تغییر
2-2-4- افزایش هزینه عملیات در شبکه
2-3- پیامدهای SDN برای پژوهش و نوآوری
2-3-1- مزایای وضعیت موجود برای فروشندگان
2-3-2- ارتقای تحقیق و نوآوری با استفاده از SDN
2-4- نوآوری در مرکز داده
2-4-1- مجازی سازی حافظه و محاسبات
2-4-2- نارسایی های شبکه های امروزی
2-5- نیازهای مرکز داده
2-5-1- خودکارسازی
2-5-2- مقیاس پذیری
2-5-3- چندمسیره
2-5-4- چندمستاجری
2-5-5- مجازی سازی شبکه
2-6- نتیجه گیری
فصل 3: پیدایش SDN
3-1- تکامل فناوری شبکه
3-1-1- شبکه mainframe: پایانه های راه دور
3-1-2- اتصالات نقطه به نقطه نظیر به نظیر
3-1-3- شبکه های محلی
3-1-4- شبکه های پلی
3-1-5- شبکه های مسیریابی
3-2- پیشگامان SDN
3-2-1- تلاش های اولیه
3-2-2- کنترل دسترسی به شبکه
3-2-3- هماهنگی
3-2-4- پلاگین های شبکه مدیر مجازی سازی
3-2-5- تفکیک سطوح ارسال و کنترل
3-2-6- چهار بعد کنترل مرکزی شبکه
3-2-7-Ethane: سیاست شبکه مبتنی بر کنترل کننده
3-3- تکامل سازوکارهای موروثی به سوی SDN
3-4- تولد شبکه سازی نرم افزارمحور
3-4-1- تولد OpenFlow
3-4-2- بنیاد شبکه سازی باز
3-5- پایداری قابلیت همکاری SDN
3-6- مشارکت های متن باز
3-6-1- قدرت جمعی
3-6-2- خطر جمعی
3-6-3- مشارکت های متن باز در SDN
3-7- مجازی سازی شبکه
3-8- میتوانم با SDN شبکه خودم تماس بگیرم؟
3-9- نتیجه گیری
فصل 4: SDNچگونه کار می کند؟
4-1- ویژگی های اساسی SDN
4-1-1- تفکیک سطح
4-1-2- دستگاه ساده و کنترل مرکزی
4-1-3- خودکارسازی و مجازی سازی شبکه
4-1-4- بازبودن
4-2- عملیات SDN
4-3- دستگاههای SDN
4-3-1- جداول جریان
4-3-2- سوئیچ های نرم افزاری SDN
4-3-3- دستگاه های SDN سخت افزاری
4-3-4- پیاده سازی های موجود از دستگاه SDN
4-3-5- مقیاس دهی به تعداد جریان ها
4-4- کنترل کننده SDN
4-4-1- ماژول های هسته ای کنترل کننده SDN
4-4-2- واسطه ای کنترل کننده SDN
4-4-3- پیاده سازی های موجود از کنترل کننده SDN
4-4-4- مشکلات بالقوه کنترل کننده SDN
4-5- اپلیکیشن های SDN
4-5-1- مسئولیت های اپلیکیشن SDN
4-6- روش های جایگزین SDN
4-6-1-SDN از طریق API
4-6-2- مزایا و محدودیت های SDN از طریق API
4-6-3- SDN از طریق شبکه های overlay مبتنی بر هایپروایزور
4-7- نتیجه گیری
فصل 5: مشخصات فنی OpenFlow
5-1- اصطلاحات فصل
5-2- نمای کلی OpenFlow
5-2-1- سوئیچ OpenFlow
5-2-2- کنترل کننده OpenFlow
5-2-3- پروتکل OpenFlow 167
5-2-4- کانال امن کنترل کننده-سوئیچ
5-3-OpenFlow 1.0 و مبانی OpenFlow
5-3-1- پورت و صف پورت
5-3-2- جدول جریان
5-3-3- تطابق بسته
5-3-4- اقدامات و ارسال بسته
5-3-5- پیام رسانی بین کنترل کننده و سوئیچ
5-3-6- مثالی از برنامه ریزی جدول جریان توسط کنترل کننده
5-3-7- مثالی از ارسال بسته در حالت پایه
5-3-8- مثالی از ارسال بسته به کنترل کننده توسط سوئیچ
5-4- الحاقات OpenFlow 1.1
5-4-1- جداول جریان چندگانه
5-4-2- گروه
5-4-3- پشتیبانی از برچسب MPLS و VLAN
5-4-4- پورت مجازی
5-4-5- خرابی اتصال کنترل کننده
5-4-6- مثالی از ارسال با جداول جریان چندگانه
5-4-7- مثالی از چندپخشی با استفاده از گروه های V.1.1
5-5- الحاقات OpenFlow 1.2
5-5-1- پشتیبانی تطابق تعمیم پذیر
5-5-2- پشتیبانی بازنویسی بسته set_field تعمیم پذیر
5-5-3- عبارت زمین های تعمیم پذیر در PACKET_IN
5-5-4- کنترل کننده های چندگانه
5-5-5- مثالی از پل زنیِ VLANها از طریق شبکه های SP
5-6- الحاقات OpenFlow 1.3
5-6-1- مذاکرة قابلیت های بازسازی
5-6-2- پشتیبانیِ انعطاف پذیرتر از خطای جدول
5-6-3- سنجنده جریان
5-6-4- فیلترینگ رویداد به ازای اتصال
5-6-5- اتصالات کمکی
5-6-6- کوکی ها در PACKET_IN
5-6-7- برچسب گذاری پل زنی ستون فقرات ارائه دهنده
5-6-8- مثالی از QoS با باندهای متر
5-7- الحاقات OpenFlow 1.4
5-7-1- باندل
5-7-2- رویدادهای تخلیه و فضای آزاد
5-7-3- پشتیبانی ارتقاءیافته از کنترل کنندههای چندگانه
5-7-4- پشتیبانی از پورت نوری
5-7-5- همگام سازی جدول جریان
5-8- الحاقات OpenFlow 1.5
5-8-1- پشتیبانی ارتقاءیافته از L4-L7
5-8-2- ارتقاء پردازشِ پایپلاین
5-8-3- جداول خروجی
5-8-4- مناسب بودن برای محیط حامل
5-8-5- ارتقاء باندل
5-8-6- پشتیبانی ارتقاءیافته از کنترل کننده های چندگانه
5-8-7- پشتیبانی ارتقاءیافته از تونل
5-8-8- ارتقاء آمار مدخل جریان
5-8-9- خلاصه
5-9- بهبود قابلیت همکاری OpenFlow
5-9-1- الگوی نوعِ جدول
5-9-2- اهداف جریان
5-10- افزونه های پروتکل انتقال نوری
5-10-1- پشتیبانی از تطابق/اقدام
5-10-2- پشتیبانی از مشخصه پورت نوری
5-10-3- کشف همسایگی
5-10-4- کارهای آینده
5-11- محدودیت های OpenFlow
5-12- نتیجه گیری
فصل 6: تعاریف جایگزین SDN
6-1- اشکالات بالقوه Open SDN
6-1-1- تغییرات زیاد با سرعتِ زیاد
6-1-2- تک نقطه خرابی
6-1-3- عملکرد و مقیاس
6-1-4- بازرسی عمیق بسته
6-1-5- آگاهی از جریان حالتمند
6-1-6- خلاصه
6-2-SDN از طریق API
6-2-1- APIهای موروثی در دستگاههای شبکه
6-2-2- NETCONF/YANG
6-2-3- BGP-LS/PCE-P
6-2-4- REST
6-2-5- نمونه هایی از SDN از طریق API
6-2-6- رتبه بندی SDN از طریقِ API
6-3-SDN از طریق شبکه های overlay مبتنی بر هایپروایزور
6-3-1- کنترل کننده overlay
6-3-2- عملیاتِ overlay
6-3-3- نمونه هایی از SDN از طریق شبکه های overlay مبتنی بر هایپروایزور
6-3-4- رتبه بندی SDN از طریق شبکه های overlay مبتنی بر هایپروایزور
6-4-SDN از طریق باز کردن دستگاه
6-5- مجازی سازی توابع شبکه
6-6- جایگزین های همپوشان و رتبه بندی
6-7- نتیجه گیری
فصل 7: مدل های نوظهورِ پروتکل، کنترل کننده و اپلیکیشن
7-1- تعاریف بسط یافتة SDN
7-1-1- تأثیر NEMهای عمده در حوزة SDN
7-1-2- مدیریت شبکه و SDN
7-1-3- مزایای SDN مبتنی بر مدیریت شبکه
7-1-4- محدودیت های SDN مبتنی بر مدیریت شبکه
7-2- سایر مدل های پروتکل SDN
7-2-1- استفاده از پروتکل های موجود برای ایجاد راهکارهای SDN
7-2-2- استفاده از پروتکل NETCONF برای SDN
7-2-3- استفاده از پروتکل BGP برای SDN
7-2-4- استفاده از پروتکل BGP-LS برای SDN
7-2-5- استفاده از پروتکل PCE-P برای SDN
7-2-6- استفاده از پروتکل MPLS برای SDN
7-3- سایر مدل های کنترل کننده SDN
7-3-1- کنترل کننده های با پلاگین های جنوبی چندگانه
7-3-2- کنترل کننده های با طراحی داخلی الگوگرا
7-3-3- کنترل کننده ها و راهکارهای ارائه دهندة خدمات
7-3-4- کنترل کننده های ایجادشده برای مقیاس پذیری
7-3-5- کنترل کننده های ایجادشده برای اپلیکیشن های مبتنی بر مقاصد
7-4- سایر مدل های اپلیکیشن
7-4-1- تمرکز بر اپلیکیشن واکنشی
7-4-2- تمرکز بر اپلیکیشن اعلانی
7-4-3- تمرکز بر اپلیکیشن خارجی
7-5- رویکردهای جدید به امنیت SDN
7-5-1- جنبه های امنیتی اپلیکیشن های کنشی
7-5-2- امنیتِ اپلیکیشن های مدیریت شبکه
7-5-3- مزایای امنیتی اپلیکیشن های خارجی
7-6- زبان برنامه نویسی P4
7-7- نتیجه گیری
فصل 8: SDN در مرکز داده
8-1- تعریف مرکز داده
8-2- تقاضاهای مرکز داده
8-2-1- غلبه بر محدودیت های کنونی شبکه
8-2-2- اضافه کردن، جابه جایی و حذفِ منابع
8-2-3- بازیابی از خرابی
8-2-4- چندمستأجری
8-2-5- مهندسی ترافیک و کارایی مسیر
8-3- فناوری های تونل زنی برای مرکز داده
8-3-1- شبکه محلی توسعه پذیرِ مجازی
8-3-2- مجازی سازی شبکه با استفاده از GRE
8-3-3- تونل زنی انتقال بدون حالت
8-4- فناوری های مسیر در مرکز داده
8-4-1- مشکلات عمومیِ مسیریابی چندمسیره
8-4-2- پروتکل درختِ پوشای چندگانه
8-4-3- پل زنی کوتاه ترین مسیر
8-4-4- چندمسیره با هزینه برابر
8-4-5- پیچیدگی SDN و کوتاه ترین مسیر
8-5- اترنت فابریک در مرکز داده
8-6- موارد کاربردی در مرکز داده
8-6-1- غلبه بر محدودیتهای کنونیِ شبکه
8-6-2- اضافه کردن، جابه جایی و تغییرِ منابع
8-6-3- بازیابی از خرابی
8-6-4- چندمستأجری
8-6-5- مهندسی ترافیک و کارایی مسیر
8-7- مقایسه Open SDN، شبکههای Overlay و APIها
8-8- پیاده سازی های مراکز داده در جهان واقعی
8-9- نتیجه گیری
دربارة نویسندگان
پول گورانسون یک کارآفرینِ سریالی است که هدایتِ دو شرکتِ استارت آپی را از پایه تا خریده شدن از طریق غول های صنعت برعهده داشته است؛ Qosnetics از طریق Hewlett Packard (1999) و Meetinghouse از طریق سیسکو (2006) خریداری شد. گورانسون مدیریت واحد شبکه های پیشرفتة Agilent Technology و واحد کسب وکار شبکه سازی بیسیمِ سیسکو را برعهده داشت. او عضو هیئت مدیرة Tallac Networks است. گورانسون لیسانسش را در رشتة روانشناسی از دانشگاه براندایس در سال 1975، فوق لیسانس مهندسی رایانه اش را از دانشگاه بوستون در سال 1981 و دکترایش را در رشتة علوم رایانه از دانشگاه نیو همپشایر در سال 1955 دریافت کرد. او به دوی ماراتون، کوهنوردی، ورزش سه گانه، غواصی و طبیعت علاقمند است. وی در بیش از صد مرحله دوی ماراتون، چندین مسابقة سه مرحله ای مردان آهنین، دوره های بی شمار فوق ماراتون از جمله Leadville Trail 100 شرکت داشته و مربیِ PADI Scuba است، مسیر پیاده رویِ Appalachian را به طول حدود 3523 کیلومتر با زانوی مصنوعی اش در سال 2015 به پایان رساند. او مدت زمان طولانی را در فرانسه، الجزیره، ونزوئلا، مکزیک و سوئد زندگی کرده و به مطالعه و کار مشغول بوده است. گورانسون برای نوشتن کتاب رومینگ امن در شبکه های 802.11مشارکت داشته و مقالاتی در مجلات علمی مرتبط با شبکه سازی رایانه ای به چاپ رسانده است. اغلب از وی به عنوان سخنران مدعو در کنفرانس های علمی دعوت به عمل آمده است. گورانسون وقت آزادش را برای پرورش 220 هکتار پرورش گاو و مزرعة یونجه در مِین (یکی از ایالات آمریکا) سپری می کند.
چاک بلک با بیش از 35 سال تجربه در زمینة شبکه سازی رایانه ای، بیشتر تجربه اش را قبل از هم بنیان گذاری استارت آپ شبکه سازی نرم افزارمحورِ Tallac Networks، در آزمایشگاه های پژوهش و توسعة Hewlett-Packard کسب کرد. اخیراً مشغول آموزش مهندسان و مشتریان فروشندگان عمدة تجهیزات شبکه سازی در حوزه های توسعة اپلیکیشن های SDN در SDN Essentials بوده است. وی نوآور و خلاق محصولات چندگانة شبکه سازی برای HP در زمینه های کنترل دسترسی به شبکه و امنیت بوده است و 11 ثبت اختراع در این زمینه ها دارد. قبل از این کار، محصولاتی را در زمینة مدیریت شبکه برای سازمان نرم افزاریِ HP توسعه میداده است. برخی از اولین اپلیکیشن های کشف توپولوژی شبکه را در نخستین روزهای شبکه سازی محلی ایجاد کرده است. آقای بلک دارای لیسانس و فوق لیسانس علوم رایانه از دانشگاه ایالتی پلیتکنیک کالیفرنیا، سان لوئیس اوبیسپو است.
تیموتی کالوِر یک مدیر مجرب فناوری و عضو هیئت علمی است که تجارب گسترده ای در زمینه های مهندسی، فناوری اطلاعات، توسعة کسب وکار، فروش و بازاریابی دارد. او در زمینة فناوری های نوظهور موفق عمل کرده و به آنها علاقمند است؛ سابقة مشخصی در خلق، ایجاد و تحویل تیم های فناوری در سطح جهانی دارد. کالوِر در سه استارت آپ شرکت داشته و کسب وکارهایی در چهارده کشور راه اندازی کرده است. او در دوران استادی اش در دانشگاه تگزاس، واقع در دالاس، درس های لیسانس را در رشته های علوم رایانه و مهندسی نرم افزار ایجاد کرده و آموزش داده است؛ همچنین رهبری برنامه و دورة آموزشی شبکه سازی نرم افزارمحور را برعهده داشته است. در دهة 1990، قبل از پیوستن به دانشگاه تگزاس در دالاس، وی کلاسه ای زبان رایانه و مقدمه ای بر علوم رایانه ای را در یک کالج محلی واقع در دالاس برگزار می کرده است. کالوِر جایزة خدمات داوطلبانة ریاست جمهوری ایالات متحده را از سال های 2011 تا 2014، به دلیل فعالیت های داوطلبانه اش برای جامعه دریافت کرد؛ از جمله به دلیل به کارگرفتن برنامه های آموزشیِ STEM (مهندسی فناروی علوم و ریاضیات) در مدارس راهنمایی و دبیرستان. او به صورت مشتاقانه و داوطلبانه این دوره ها را به دانش آموزان آموزش می داد و در سایت کمیتة مشاوره و مربی گری به خدمت مشغول است. کالوِر چهار فرزند دارد و سی سال است که ازدواج کرده است. او پس از 25 سال فوتبال، مدارک مربیگری ملی فوتبال جوانان ایالات متحده و مربی گری ملیِ USSF را همزمان با مربی گری فرزندانش کسب کرد؛ وی داوری مسابقات فوتبال را در ایالات متحده و اروپا نیز بر عهده گرفته است. او در مزرعه ای در سانیویل تگزاس زندگی می کند و به پرورش گلة گاو آنگوس سیاه مشغول است. او چهار ثبت اختراع در زمینه های VoIP، تِلِکنفرانس اینترنتی و LDAP دارد. همچنین، فارغ التحصیل ممتاز دانشگاه بیلور است، جایی که مدرکِ MIS خودش را از آنجا گرفت. سپس بعدها به دانشگاهِ متدیست جنوبی رفت و فوق لیسانس مهندسی و MBA خودش را از آنجا گرفت. پژوهش فارغ التحصیلی اش را در زمینة رایانشِ ابری در دانشگاه های بیلور و والدن انجام داد. همچنین، دانشیار پژوهشی بنیاد شبکه سازی باز نیز است.
پیشگفتار
شبکه سازیِ نرم افزارمحور چیست؟ و چرا چنین هیاهویی را در صنعت شبکه سازی به وجود آورده است؟ پاسخ دادن به این سؤال برای اصطلاحی باید ساده باشد که پنج سال از ابداع آن می گذرد. ولی مانند سایر اصطلاحات فناوری چون ابر، تیم های بازاریابی، سالها شکل آن اصطلاح را مطابق اهدافشان تغییر می دهند و دیگر تشخیص معنای آن، تقریباً غیر ممکن می شود. ظهور انواعی از اصطلاحات مرتبط، نظیر شبکه سازی باز، شبکه های قابل برنامه نویسی و شبکه های نرم افزارگرا نیز بر پیچیدگی داستان افزوده اند؛ بنابراین، بسیاری از خودشان می پرسند که واقعاً SDN چیست؟ و آیا چیزی پشت این هیاهو و تبلیغات وجود دارد؟
تفکیک تبلیغات از واقعیت و مشاهدة اتفاقات و چرایی رخدادن آنها، برای افرادی چون خود من که از آغاز، عمیقاً درگیرِ SDN بوده اند، ساده است. با وجود این، بنده مرتباً کلاس هایی در بابِ SDN برگزار میکنم و بسیاری از افراد را میبینم که امروزه به دنبال یادگیری SDN هستند ولی حرکت از میان زوایای متنوع و تاروپود موضوع و درک اصل ماجرا برای آنها بهشدت دشوار است.
در ماه ژوئیة 2010 وقتی اولین سخنرانی عمومی ام را دربارة پروتکل هسته ایِ SDN یعنی OpenFlow ایراد کردم، تقریباً هیچ کسی اسمِ OpenFlow یا شبکه سازیِ نرم افزارمحور را نشنیده بود. از آن موقع، SDN را برای هزاران نفر شرح داده ام؛ از دانشجویان گرفته تا مهندسان شبکه و مدیران اجرایی سطحِ C. افرادی بودند که بلافاصله پس از چند دقیقه توضیح و اغلب قبل از اینکه به اسلاید شماره سه از ارائه برسم، مطلب را می فهمیدند؛ برای برخی دیگر از افراد، یک روز زمان سپری و هوا تاریک می شد. تقریباً تمامی افرادی که بهسرعت پتانسیل تأثیرِ SDN را بر صنعت درک میکردند، افرادی بودند که مدتهای طولانی در کار شبکه سازی فعالیت داشتند و زمان های قبل از اینترنت را به خاطر می آوردند؛ کسانی که در واقع، محصولات شبکه سازی را ساخته بودند و کسب وکار شبکه سازی را درک می کردند.
به همین دلیل است که پول و چاک، گزینه های برتر برای تشریح ارزشِ SDN هستند؛ هر دوی آنها، دو تجربة شگفت آوری در صنعت شبکه سازی دارند که به مدتها قبل بازمی گردد و شاید اصلاً در خاطرشان هم نمانده باشد. این دو، راهکارهای شبکه سازی را با چندین نسل از فناوری تولید کردند. پول با رهبری دو استارت آپ موفق، آشنایی نزدیکی با کسب وکار صنعت شبکه سازی دارد. این عمق و وسعت از تجربه در تشریحِ SDN، تثبیتِ SDN در بستر بیش از سی سال شبکه سازی رایانه ای و پیش بینی اثرات بالقوة آن بر شبکه سازی در سالهای آینده، فوق العاده گرانبهاست.
اطلاعات زیادی در بستر اینترنت دربارة SDN در اشکال مختلفی چون بلاگ، مقاله، پادکست و ویدئو وجود دارد. کتاب هایی هم چاپ شده اند ولی برای کسی که تا این لحظه مستقیماً درگیرِ SDN نشده است و میخواهد تازه شروع کند، هیچ منبع اطلاعاتی جامعی را دربارة SDN سراغ ندارم که از دیدگاه غیر متعصبانه نوشته شده باشد؛ مانند آنچه در این کتاب عرضه شده است.
این کتاب برای تمامی کسانی مناسب است که به شبکه سازی و شبکه سازی نرم افزارمحور علاقمند هستند؛ از جمله برای دانشجویان لیسانس و فوق لیسانس و نیز برای متخصصان شبکه سازی و مدیران IT؛ بسیار خودکفاست و بهره مندی از آن به دانش گسترده ای در زمینة شبکه سازی نیازی ندارد؛ این کتاب با ارائة تاریخچه ای مختصر از شبکه سازی و با توصیف فناوری ها و چشم انداز صنعتی و در نهایت ایجادِ OpenFlow و SDN، مباحث ارزشمندی را به خواننده عرضه میکند. اگر شما یک معمار شبکه یا مدیرِ IT هستید و می خواهید راهکارهای متعدد را با یکدیگر مقایسه کنید که ادعا میشود، مبتنی بر SDN هستند ولی ظاهراً بر فناوری های بسیار مختلف متکی هستند، نویسندگان این کتاب، مبنای مستحکمی فراهم آورده اند تا از طریق آن بتوانید رویکردهای مختلف و رقیب موجود به SDN را در بازار درک و ارزشیابی کنید.
حقیقت این است که تغییر گسترده ای در صنعت شبکه سازی در حال وقوع است و عوامل آن بسیار ساده هستند؛ می توانید خط مستقیمی از خیزش رایانش ابری و تحرک پذیری به SDN، شبکه سازیِ باز یا شبکه های قابل برنامه نویسی یا هر چیزی بکشید که دلتان میخواهد به آن بگویید. اگر میخواهید به دل تبلیغات و هیاهو بزنید و درک جامعی از SDN و نحوة کمک آن به تغییر شکل صنعت شبکه سازی پیدا کنید، قطعاً خواندن این کتاب را پیشنهاد میکنم.
مت دیوی
شرکتِ Tallac Networks
26 آوریل 2016
مت دیوی یکی از متخصصان مشهور دنیا در زمینة فناروی شبکه سازی نرم افزارمحور است. او مدیر اجراییِ InCNTRE، آزمایشگاه قابلیت همکاری متقابلِ SDN، پژوهش شبکه و اترنتی و آموزش در دانشگاه ایندیانا بود. وی معمار اصلی شبکه ای سازمانی با بیش از صدوبیست هزار کاربر، بیش از صد هزار پورتِ اترنتی و بیش از پنج هزار نقطة دسترسی بیسیم بود. همچنین نوزده سال تجربة طراحی و مدیریت عملیات ارائه دهندة خدمات و شبکه های سازمانی بزرگ را داراست.
مقدمه
وقتی ایدة نوشتن این کتاب در ذهن ما نقش بست، بخشی از انگیزة ما در این راستا، نبودِ مرجعی مناسب بود که بر SDN مرور جامعی کرده باشد. حتی ما که به صورت حرفه ای درگیر فناوریهای SDN بودیم، با اطلاعاتی مربوط به SDN مواجه شدیم که عمدتاً در هیچ یک از منابع وجود نداشت. متوجه شدیم که این موضوع برای تعداد بسیار زیادی از متخصصان یک مشکل بزرگ است که مستقیماً با SDN کار نمی کردند ولی باید در موردِ آن می دانستند؛ بنابراین، هدف کلی ما از نوشتن این کتاب، توصیف محیطی است که SDN در آن رشد کرده است، تعیین ویژگی هایی که آن را از فناوریهای رقیب متمایز میکند و تشریح تأثیرات بیشمار و مهمی که این فناوری نوظهور داشته است. یکی از چالشهای نوشتن سریع کتاب دربارة این فناوری این است که یک هدف متحرک است که به سرعت در حال تکامل است.
بند قبلی که سه سال پیش در ویراست اول نوشته شده بود، هنوز صادق است. بسیاری از فناوریهایی که در دامنة رادارِ اولین ویرایش ما قرار نداشتند، اکنون بخش معمولی از SDN به حساب می آیند. ما عمداً از رویکردی جامع در عنوان استفاده کردیم. امروزه از ایده های رقیب زیادی استفاده میشود که همگی می خواهند سوار ارابة SDN شوند. در واقع، اندازة این واگن ظاهراً محدودیتی ندارد. خوانندة ما با هر جنبه یا نوعی از فناوریِ SDN که بخواهد کار کند، حداقل امیدواریم که با خواندن این کتاب خواهد توانست که آن را در بستر گسترده تری از SDN قرار دهد. به این منظور، تلاش می کنیم تا تعاریف گوناگونی را از SDN ارائه کنیم. امیدواریم که به هیچ خوانندهای برنخورد که در به کارگیری تعریفِ SDN در این کتاب، متعصبانه رفتار نکرده ایم.
این کتاب برای تمامی افرادی مفید است که به یادگیری دربارة شبکه های نرم افزارمحور علاقه دارند یا علاقة کلی به هر یک از موضوعات زیر دارند:
- شبکه سازی
- سوئیچینگ (راهگزینی)
- شبکه های نرم افزارمحور
- OpenFlow
- OpenStack
- OpenDaylight
- مجازی سازیِ شبکه
- مجازی سازیِ توابعِ شبکه
شبکه سازی نرم افزارمحور حوزة وسیعی است که به سرعت در حال گسترش است. گرچه سعی کرده ایم تا حدِ امکان جامع باشیم، شاید لازم باشد تا خوانندة علاقمند، موضوعات فنی خاصی را از منابع ارائه شده پیگیری کند. فرض ما بر این است که خواننده هیچ دانش خاصی به جز آگاهی از مفاهیم پایة رایانه ای ندارد. تا حدی تجربه داشتن به منظور برنامه نویسی و شبکه سازی رایانه ای به درک مواد عرضه شده کمک خواهد کرد. این کتاب حاوی تعداد زیادی شکل و نمودار برای تشریح و توضیح مفاهیم شبکه سازی تعریف شده یا بحث شده است. تصاویر به خواننده کمک می کنند تا مستقیماً و بدون احساس نیاز به منابع اضافه، کتاب را دنبال کند.
استقبال بسیار خوبی از اولین ویرایش این کتاب به عمل آمد. پس از طی سه سال از اولین انتشار آن، سؤالات بیشماری از استادان دانشگاه دریافت کرده ایم که این کتاب را مبنای تدریس شان قرار داده اند. انگیزة ما از ویرایش دوم، دو مسئله است: اول، به روزرسانی متن با تغییراتِ SDN و دوم، متناسب کردن بیشتر آن به منظور استفاده کردن برای درسهای فوق لیسانسِ SDN. به این منظور، در هر فصل، بخش هایی با عنوان بحث کنید، گنجانده ایم که با مواد فصل ارتباط دارند؛ از این سؤالات یا می توان برای تسهیل بحث های کلاسی استفاده کرد یا به عنوان مبنایی برای سؤالات امتحانی. به علاوه، ناشر ما، یک وب سایت برای استادان مهیا کرده است که میتوانند از آنجا به مواد کمکی و مرتبط با درس، نظیر یادداشتهای سخنرانی و تمرین های آزمایشگاهی دسترسی داشته باشند.
پیشنهادها و اصلاحات
گرچه تلاش کرده ایم تا جایی که بتوانیم محتاط باشیم، شاید کتاب، خطاهایی داشته باشد و شاید موضوعات خاصی از قلم افتاده باشند که خواننده احساس کند، ارتباط ویژه ای با این بستار دارند. با با نظر به چاپ های احتمالی در آینده، خوشحال می شویم تا هر گونه اشتباهی را در این کتاب اصلاح کنیم و پیشنهادها را تا حدِ امکان در آن بگنجانیم. لطفاً نظرات خودتان را از طریق ایمیلِ chuck.a.black@gmail.com برای نویسندگان و ایمیلِ a.montazerolghaem@comp.ui.ac.ir برای مترجم ارسال کنید.
مقدمه مترجم
بسم الله الرحمن الرحیم
شبکه های رایانه ای، جهان را محسور خودشان کرده اند و اینترنت به عنوان بزرگترین شبکه در تاروپود جهان ریشه دوانده و پیوندی عمیق با فناوری و توسعه دنیا برقرار کرده است. اما پیچیدگی زیاد این شبکه وسیع، مدیریت آن را سخت و سرعت نوآوری را برای آن کم کرده است. سوئیچ های سخت افزاری غول پیکر، که در هسته اینترنت جاخوش کرده اند، اجازه هیچ گونه انعطاف پذیری را برای سیاست ها و الگوریتم های توزیع شده شبکه نمی دهند. الگوهای ترافیک شبکه تغییر کرده است، حجم عظیم داده ها به پهنای باند بیشتر، نیازمند هستند و در مجموع، معماری سنتی شبکه های رایانه ای، دیگر پاسخگوی نیازهای جدید صنعت شبکه سازی نیست. اینجاست که مفهوم شبکه های نرم افزارمحور، معماری شبکه را متحول می کند. در این معماری جدید، سطوح داده و کنترل از یکدیگر جدا هستند؛ شبکه ها هوشمندتر، کنترل پذیرتر و قابل برنامه ریزی می شوند. سطح کنترل، یک دیدگاه جامع از وضیعت کل شبکه و منابع آن فراهم می کند که بر مبنای آن مدیریت یکپارچه و بهینه شبکه امکان پذیر است.
کتاب پیش رو، یک رویکرد جامع برای پرداختن به موضوع شبکه های نرم افزارمحور دارد؛ به این معنی که در قالب پانزده فصل؛ از موضوعاتی مانند چرایی، نحوه پیدایش، اجزا و پروتکل های این شبکه، گرفته تا درباره کاربردهای آن در زیرساخت های گوناگون و آینده آن صحبت شده است. یکی از ویژگی های مهم و ارزشمند کتاب، تعاریف گوناگون از شبکه های نرم افزارمحور است. سعی شده است تا منصفانه و از جنبه های مختلف، این شبکه بررسی شود. پرداختن به موضوعات هم راستا مانند مجازی سازی توابع شبکه نیز در این کتاب با دقت انجام شده است. این کتاب در بسیاری از دانشگاه های معتبر دنیا در درسی با همین نام و یا مفاهیم پیشرفته در شبکه برای دانشجویان تحصیلات تکمیلی تدریس میگردد. در ترجمه این کتاب، تلاش شده است تا مفاهیم را با زبانی روان و سلیس و منطبق با اصول نگارش زبان فارسی به خوانندگان منتقل کنیم. همچنین به منظور درک راحت تر مفاهیم، کلیه مطالب مندرج در شکل ها و جداول را ترجمه و با کیفیتی مطلوب ارائه کرده ایم. ضمن تشکر از گروه انتشارات جهاد دانشگاهی اصفهان امید است تا گامی کوچک در زمینه فراهم نمودن نیاز دانشجویان و متخصصان شبکه های رایانه ای به منابع شبکه های نرم افزارمحور برداشته باشیم. در پایان از همسر و فرزند عزیزم به دلیل همراهی در طی این مسیر سخت ولی جذاب قدردان هستم و این اثر کوچک را تقدیم میکنم به امام رضا (علیه السلام).
با آرزوی توفیق روزافزون
احمدرضا منتظرالقائم
استادیار گروه مهندسی فناوری اطلاعات،
دانشکده مهندسی کامپیوتر،
دانشگاه اصفهان،
پاییز 1401