با گسترش چشمگیر و تصاعدی شبکههای اجتماعی، اینترنت اشیاء و زیرساختهای فناوری اطلاعات سازمانی به عنوان اصلیترین منابع تولید و تبادل داده طی دهه گذشته و در پی آن، شکلگیری پارادایم جدیدی تحت عنوان کلان داده، توانایی شبکههای کامپیوتری فعلی در راستای پشتیبانی از این حجم فزاینده از جریانهای ترافیکی و برآورده کردن انتظارات شبکه، از جمله انعطافپذیری، پاسخگویی چابک به افزایش تقاضا، مقیاسپذیری آنی، واکنش بیدرنگ و … در معرض تهدید جدی قرار گرفته است. امری که میتواند توسعه خدمات نوآورانه کسبوکارها را تا هفتهها و ماهها در انتظار سختافزار گرانقیمت و غیرقابل انعطاف شبکه از یک سو و همچنین دستی بودن فرآیندهای نرمافزاری به تعویق اندازد.
معماری فعلی شبکههای کامپیوتری، بسیار قدیمی، کند، پرهزینه و فاقد سازگاری لازم جهت ترکیب با زیرساختهای ابری است. حال، چه سازمانها به دنبال فرصتهای رشد از طریق نوآوری فناوری اطلاعات باشند یا کاهش هزینه و پیچیدگی فناوری اطلاعات، آنها نیازمند شبکههایی چابک، خودکار، هوشمند و بهینه برای یکپارچهسازی عملیات در یک محیط فناوری اطلاعات ترکیبی به عنوان شرطی حداقلی برای یک کسبوکار پویا و موفق هستند.
در همین راستا، یکی از مهمترین رویکردهای تحقیقاتی حاضر در مرکز مطالعات پارت، چگونگی غلبه بر این چالشها و گذار از نسل سنتی شبکههای کامپیوتری به نسل آینده آن تحت نام شبکههای نرمافزاری به عنوان یکی از برجستهترین پیشرفتهای فناورانه حوزه علوم کامپیوتر طی سالهای اخیر است. در مقاله پیشرو قصد داریم تا با نگاهی جامع نسبت به تشریح ریشههای پیدایش و بنیانهای اساسی این ایده و تاثیر آن بر صنعت فناوری اطلاعات دنیا اقدام کنیم.
بلوغ زودهنگام شبکههای کامپیوتری در سایه انحصار غولها
برای دههها، سازمانها برای پیوند سیستمها و تسهیل انتقال داده به زیرساختهای فیزیکی تکیه کردهاند. نقش شبکه به عنوان رکن اساسی فناوری اطلاعات، امری انکارناپذیر است، چراکه تمامی مشاغل، عملیات و تراکنشها را به خود وابسته کرده است. اما امروزه نقش شبکه به عنوان عاملی برای نوآوری و چابکی کسبوکارها، بیش از پیش مطرح است.
از اواخر دهه 1960 میلادی و شکلگیری اولین نمود از شبکههای کامپیوتری در موسسه فناوری ماساچوست، سازمانهای دنیا، رفته رفته برای پیوند سیستمها و تسهیل انتقال اطلاعات خود به زیرساختهای فیزیکی شبکه تکیه کردند. سرعت پیشرفت شبکه طی سه دهه پس از شکلگیری به حدی شتابان بود که این فناوری در اوایل قرن 21 میلادی به مرز بلوغ انجامید. بلوغ زودهنگام شبکههای کامپیوتری خود را در پوشش دو جنبه علمی و تجاری به نمایش گذاشت.
بررسی آمارهای کمی و کیفی انتشار مقالات در حد فاصل سالهای 1995 الی 2005 به تنهایی بیانگر این امر است که شبکههای کامپیوتری به عنوان یکی از شاخههای مادر حوزه علوم کامپیوتر، فاقد زمینههای لازم جهت انجام تحقیقات تاثیرگذار علمی است. پژوهشگران نیز همگام با این رویکرد، به علت فقدان وجود چشماندازهای معنادار برای توسعه نوآوریهای علمی، رفته رفته پای به دیگر عرصههای باز و در حال توسعه علوم کامپیوتر میگذاشتند. به همین جهت، از اوخر قرن 20 میلادی و اوایل قرن 21 میلادی با عنوان دهه سکون نوآوری در عرصه شبکههای کامپیوتری یاد میشود.
شبکههای کامپیوتری آن روزها را میتوان به طیف وسیع و درهمگسیختهای از معماریها، پروتکلها و استانداردهایی اختصاصی تشبیه کرد که خود را در قالب اسناد درخواست نظر (RFC)چند صد صفحهای و در بند انحصار چندین غول تولیدکننده تجهیزات سختافزاری شبکه نظیر سیسکو و جونیپر به تصویر میکشیدند. انحصاری که خود به تنهایی یکی از مهمترین عوامل پیشرفت کند این فناوری و زمینهساز پیدایش محیطی غیرقابل انعطاف جهت برنامهریزی رفتار جمعی شبکه به شمار میرفت؛ حداقل به این معنا که شیوه متداول برنامهنویسی در این محیط امری تقریبا غیرممکن تلقی میشد، چرا که شبکههای کامپیوتری سنتی از نمای کلی یک سیستم توزیعشده شامل طیف وسیعی از گرههایی بود که در فقدان حضور یک کنترلکننده مرکزی جهت اعمال رویههای واحد، هر کدام به تنهایی یک جعبه سیاه مستقل (مسیریاب، سوئیچ، دیوار آتش و …) و صرفا به عنوانی بخشی از یک کل محاسباتی در نظر گرفته میشد که به صورت جداگانه نسبت به تبادل و پردازش پیامها (اجرای منطق الگوریتمها و پروتکلها) اقدام میکردند.
طبیعتا در چنین محیطی که مخاطب گفتگوی ما به جای کل شبکه، محدود به یک گره محاسباتی است، جهت برنامهریزی رفتار جمعی شبکه، نیازمند برنامهریزی کلیه این مولفههای توزیعشده از طریق برقراری ارتباط بین آنها به وسیله پروتکلهای ارتباطی دقیق (مسیریابی، کشف توپولوژی و …) خواهیم بود که با تمایل تدریجی شبکه به سمت افزایش مقیاس، گام به گام بر پیچیدگی و افزایش احتمال بروز خطا در ارتباطات آن افزوده خواهد شد، امری که به تدریج، زمینهساز انجام اقدامات اساسی در زمینه طراحی پروتکلهای استاندارد برای برقراری ارتباط مابین گرهها جهت کنترل توزیعشده را فراهم ساخت. پروتکلهایی که توسط سازندگان تجهیزات شبکه در قالب سختافزارها و نرمافزارهای مربوط پیادهسازی میشدند.
در زمینه بهروزآوریهای پروتکلی و تعبیه آن در تجهیزات حامل سه نکته اساسی است:
- این فرآیند از طراحی تا پیادهسازی توسط سازندگان انحصاری تجهیزات شبکه صورت میگیرد. بدیهی است که این امر بدین معناست که دست جامعه آزاد پژوهشگران و توسعهدهندگان برای توسعه رویکردهای نوآورانه در حوزه شبکه بسته خواهد بود.
- این فرآیند در بازههای برنامهریزی شده و بر اساس تجمیعی از نیازمندیهای عمومی صورت میگیرد. بر این اساس، با فرض نیازمندی یک سازمان به توسعه ویژگیهایی در شبکه اختصاصی خود، اعمال این نیازمندیها مستلزم اعلام به فروشندگان انحصاری تجهیزات و سپس عبور از یک بدنه استانداردسازی و نهایتا پیادهسازی آنها در تجهیزات سختافزاری و سیستمعاملهای اختصاصی مربوط به آنهاست. فرآیندی به شدت طولانی و ناکارآمد که احتمال میرود تا فراهم شدن این ویژگیها، نیازمندهای بازار نیز با تغییر مواجه شود.
- یک مشکل همچنان پابرجاست! حتی با توسعه سریع این پروتکلها، همچنان مشکل دشوار بودن برنامهنویسی، خطایابی و … پروتکلهای توزیعشده پابرجاست!
ادامه این مقاله را در قسمت بعدی بخوانید.