بخشی از مقاله
مروري بر شبکۀ تحويل محتوا
چکيده - شبکۀ تحويل محتوا، محتوا را از سرور اصلي، روي سرورهاي ذخيره گاه پراکنده در سراسر جهان ، تکرار ميکند. اين کار به منظور تحويل محتوا به کاربران نهايي به يک روش قابل اطمينان و بموقع ، از جانشين هاي ٢ بهينه نزديک ، انجام ميشود.
واضح است که سيستم مبتني بر گروه ، وقتي که ترافيک ارتباطي را کاهش ميدهد، کارايي بهتر و مقياس پذيري بيشتر را براي کل سيستم فراهم ميکند. معماري مبتني بر گروه در CDN ميتواند براي وقتي که پهناي باند يک محدوديت است يا زمانيکه مقياس پذيري ضرورت دارد، يک راه حل خوب باشد. الگوريتم انتخاب همسايه ، براساس فاصله و تاخير ارسال رفت و برگشت داده ٣، به منظور فراهم کردن زمان کمتر توزيع محتوا است و بهبود کيفيت سرويس با اتصال جانشينهايي با ظرفيت دردسترس بالاتر، انجام ميشود. اين مقاله ، براي آشنايي با مفهوم شبکه هاي تحويل محتوا و مزاياي آنها و همچنين فوايد و محيط هاي کاربردي CDN مبتني بر دسته بندي جانشين ها وهمچنين چالش هاي CDN امروزي و برطرف کردن آنها در نسل آيندة CDN، با مطالعه و دسته بندي چندين مقاله و کتاب ، ارائه ميشود و درمييابيم که توجه خاص به شبکه محتوا محور، موجب افزايش حريم خصوصي، در معماريCDN آينده ميشود که اين هدف از طريق پيشگيري از قابليت رديابي عملگر، به دست ميآيد.
کليد واژه - حريم خصوصي، سرور جانشين ، شبکۀ تحويل محتوا ، فراهم کنندة محتوا
١- مقدمه
بـا رشـد رسـانۀ ديجيتـالي و نفـوذ روزافـزون آن در دنيـاي اينترنت ، چالش هاي جديدي نيز در عرصه تجـارت اينترنتـي بـه وجود آمده است . انتظار مشتريان اين است که حتي محتواهـايي مانند تصاوير ويديويي را که ترافيک بالايي به شبکه اعمـال مـي- کنند، در کمتـرين زمـان دريافـت کننـد. بـا گسـترش اينترنـت ، خدمات وب اغلب از ازدحام و تنگناهايي رنـج مـيبرنـد و ممکـن است سـطوحي رام نشـدني از جريـان ترافيـک بـه وجـود آيـد و درنتيجه خيلي از درخواست ها گم شوند.[١]
CDNها براي به حداکثر رساندن پهناي باند ، بهبود دسترسي و حفظ صحت از طريق تکرار، پيشنهاد شده اند[٢]. يک CDN
مقياس پذيري، تحمل پذيري خطا و توازن بار را براي تحويل محتوا فراهم ميکند[٣]. ساختار CDN يک بستر کمکي نوين است که با کاهش فاصلۀ محل ذخيره محتوا از کاربران ، ترافيک تحميلي به کل شبکه را کاهش داده و موجب افزايش ترافيک قابل انتقال در شبکه ميشود. CDN به صورت ديناميکي محتوا را مسيريابي مينمايد، يعني با استفاده از روترهاي خود، نزديک ترين سرور به کاربر را مشخص کرده و با برقراري ارتباط کاربر با آن سرور، محتوا را به سوي مقصد هدايت ميکند. هدف اصلي CDNها بهبود کارايي تحويل محتواي اينترنتي ، کاهش زمان پاسخ و افزايش پهناي باند و دردسترس پذيري سرويس هاي مستقر در اينترنت ، بويژه سرويسهاي مبتني بر وب است [٤]. در CDN، استفاده از ظرفيت سرورهاي مختلف در نقاط مختلف زمين موجب ميشود تا ظرفيتي براي شبکه به وجود آيد که از ظرفيت زيرساخت اوليه افزون تر است [٥].
CDN يک سيستم توزيع شدة بزرگ شامل سرورهاي مستقر در چندين مرکز داده در اينترنـت اسـت کـه محتـواي وب را بـه سرعت براي تعداد زيادي از کاربران ، با تکرار محتوا روي چنـدين سرور و هدايت محتوا به کاربران بر اساس مجاورت ، فراهم مـي- کند. CDNها توسط ارائه دهندگان خدمات اينترنتي براي تحويل صفحات وب ايستا و پويا استفاده ميشوند.
در CDN محتوا در چندين نسخه ، روي سرورهاي پراکنده از لحاظ استراتژيکي، موجود است و به عنوان تکرار محتوا شـناخته ميشود. يک CDN بزرگ ميتواند هزاران سرور داشته باشد کـه محتواي يکسان را براي خيلي از کاربران به صـورت کـارا و قابـل اعتماد، حتي در زمانهاي اوج ترافيک اينترنت ، فراهم کند. وقتـي يک صفحه ، فايل يا برنامۀ مشخص توسط يک کـاربر درخواسـت ميشود، نزديک ترين سرور به آن کاربر (برحسب حـداقل تعـداد
1
پانزدهمين کنفرانس دانشج دانشگاه کاشان ، ٧- نودهاي بين سرور و کاربر) به طور پويا تعيين ميشود. ايـن کـار سرعت تحويل محتوا به کاربر را بهينه ميکند[٦] .
در اين مقاله ابتدا مروري کلي بر مفهوم CDN، مزايا ، استفاده هاي آن و اهداف تجاري موردنظر آن بيان شده است و سپس در بخش ٣، مسائلي که CDNها در عمل با آن سروکار دارند توضيح داده شده است ، در بخش ٤ يک نمونه CDN، تحت عنوان CDN مبتني بر گروه و مزايا وکاربردهاي آن بيان شده است . اگرچه پيشنهادهاي در حال حاضر براي معماريهاي CDN آينده ، در ماموريتشان موفق به نظر ميرسند ولي آنها در رابطه با حريم خصوصي کاربر دچار شکست ميشوند و مکانيسم واضح و طبيعي براي محافظت از تراکنشهاي مشتري فراهم نميکنند.
چون افزايش حريم خصوصي، ويژگي کليدي براي اينترنت نسل بعد است در بخش ٥ معماري شبکه بندي محتوا محور٤ براي غلبه بر موضوعات قابليت رديابي ٥ در شبکه هاي نسل جاري و آينده توضيح داده شده است .
٢- مرور کلي
يک CDN کارايي بهتر را از طريق ذخيـره کـردن يـا تکـرار محتوا روي چند سرور وب آيينه اي (سـرورهاي جانشـين
) کـه از لحاظ استراتژيکي در محلهاي مختلف قرار گرفته انـد (بـه منظـور رسيدگي به ضربه ناگهاني در درخواستهاي محتواي وب که اغلب اثر افزايش حجم ترافيک يا ازدحام لحظه اي ناميـده مـيشـود)، فراهم ميکند. منظور از محتوا هر منبع دادة ديجيتال اسـت کـه شامل دو قسمت اصلي ميباشد: مدياي رمزگذاري شده و متاداده .
مدياي رمزگذاري شده شامل دادة مدياي پيوسـته ، پويـا و ايسـتا (مثل صـدا، ويـديو ، مسـتندات ، تصـاوير و صـفحات وب ) اسـت . متاداده شرح محتواست که باعـث شناسـايي ، کشـف و مـديريت دادة چندرسانه اي و همچنين تسـهيل تفسـير دادة چندرسـانه اي ميشود. کاربران به نزديک ترين سـرور جانشـين ، تعيـين مسـير ميشوند که باعث کاهش زمان پاسخ درخواستهاي کاربران مـي- شود.
يــک CDN ترکيبــي از زيرســاخت هــاي تحويــل محتــوا، مسيريابي درخواست ، توزيع و حسابداري است . زيرساخت تحويل محتوا شامل مجموعه اي از سرورهاي جانشين است که کپيهـاي محتوا را به کاربر نهايي تحويل ميدهنـد. زيرسـاخت مسـيريابي درخواست ، مسئول هدايت درخواست مشتري به سرور جانشـين مناسب است و با زيرساخت توزيع براي نگهداري يک ديد بروز از محتواي ذخيره شـده در حافظـه هـاي نهـان CDN تعامـل دارد.
زيرساخت توزيع ، محتوا را از سرور اصلي به سـرورهاي جانشـين CDN منتقل ميکند و سازگاري محتواها در حافظه هاي نهـان را تضـمين مــيکنـد. زيرســاخت حسـابداري، logهــاي دسترســي مشتريان را نگه ميدارد و اسـتفاده از سـرورهاي CDN را ضـبط ميکند. اين اطلاعات براي گـزارش ترافيـک و صورتحسـاب بـر اسـاس اســتفاده ، ميـزان بارگــذاري بـر روي شــبکه بـه صـورت لحظه اي، گزارش تقاضاي محتواهاي مختلف و همينطور منطقه - اي کــه بيشــترين تقاضــا را داده اســت ، بــه کــار مــيرود و به توليدکنندگان خدمات و اپراتورها کمک ميکند.
يک CDN، بر ايجاد زيرسـاخت شـبکه بـراي فـراهم کـردن سرويسها و قابليت هاي زير تمرکـز مـيکنـد: ذخيـره و مـديريت محتوا، توزيع محتوا در بين جانشين ها، مديريت حافظه هاي نهان ، تحويـل محتـواي پويـا و ايسـتا، راه حلهـاي تـرميم و پشـتيباني، نظارت ، اندازه گيري کارايي و گـزارش دادن [١]. فراينـد ارتبـاطي درون يک CDN ميتواند به دو شبکۀ مجزا تفکيک شـود: شـبکه توزيـع بـين سـايت اصـلي و جانشـين هـا و شـبکه تحويـل بـين جانشينها و مشتريان [٣].
يک فراهم کنندة محتوا (يعني مشتري) ميتوانـد بـا فـراهم کننـدة CDN بـراي سـرويس و قـراردادن محتـوا روي سـرورها، قرارداد امضاء کند. CDN نيز به نوبه خود بـه ISPهـا، حـاملان و اپراتورهاي شبکه براي ميزباني سـرورهايش در مراکـز داده شـان ، هزينه پرداخت ميکند[٥] .
سه مولفه کليدي معمـاري CDN عبارتنـد از فـراهم کننـده محتوا، فراهم کننده CDN و کاربران نهايي. فراهم کننده محتـوا يا مشتري ٦ وب سايتهايي هستند که اطلاعات آنلاين را تهيه مي - کنند. منابع داده ، عبارتند از سازمانهاي بـزرگ ، ارائـه دهنـدگان خدمات وب ، شرکت هاي رسـانه اي و گوينـدگان اخبـار. فـراهم کننده CDN ، شرکت يا سازمان اختصاصـي اسـت کـه امکانـات زيرساخت را براي فراهم کنندة محتوا به منظور تحويل محتوا بـه روش قابل اعتماد و بموقع ، فراهم ميکند. فراهم کنندگان CDN ، تحويل سريع هر نوع محتواي ديجيتـالي را تضـمين مـيکننـد.
کاربران نهايي يا مشتريان ٧، هويت هايي هستند که از طريـق وب سايتهاي فراهم کننده محتوا، به محتوا دسترسي دارند.
CDNها محتوا را طوري روي جانشينها توزيع ميکنند کـه تمام سرورهاي ذخيـره گـاه ٨ يـک محتـوا و URL را بـه اشـتراک بگذارند. محتوا يا به محض درخواست کـاربر يـا پيشـاپيش ، روي سـرورهاي جانشـين تکـرار مـيشـود و بـدون اطـلاع کـاربر (بـا شفافيت )، از نزديکترين سرور تکرار شده ، به او سرويس داده مي - شود. درخواست هاي مشتري به جانشين نزديک تعيين مسيرشده
پانزدهمين کنفرانس دانشج دانشگاه کاشان ، ٧- و سرور جانشين انتخاب شده ، محتوا را به کـاربر نهـايي تحويـل ميدهد. به علاوه جانشينها اطلاعات حسابداري محتواي تحويـل داده شده را بـه سيسـتم حسـابداري فـراهم کننـدة CDN مـي- فرستند.
در يــک CDN ارتبــاط مشــتري- خــدمتگزار، بــا دو جريــان ارتباطي جانشين مـيشـود، يـک ارتبـاط بـين مشـتري و سـرور جانشين و ديگري بين سرور جانشين و سرور اصـلي. ايـن تمـايز بين دو جريان ارتباطي ازدحام را کـاهش داده و توزيـع محتـوا و دردسترس پذيري را افزايش ميدهد. براي نگهـداري نسـخه هـاي توزيع شده از محتواي يکسان ، کار CDN اين است که سرورهاي جانشين را در مراکز دادة استراتژيک (با تکيه بـر چنـدين فـراهم کنندة شبکه )، روي يک زيرساخت توزيع شدة سراسري، مسـتقر کند.
٢-١- وظايف CDN
يک شبکۀ تحويل محتوا وظايف زير را به عهده دارد:
• تعيـين مسـير درخواسـت و تحويـل محتـوا (هـدايت يـک درخواست به نزديکترين سرور جانشين مناسب )، با استفاده از مکانيسم هايي براي غلبه بر ازدحام لحظـه اي ٩ يـا اثـرات افزايش حجم ترافيک ١٠ .
• انتقال ١١ محتوا به منظور برآورده کردن نيازهـاي مشـخص يک کاربر يا گروهي از کاربران .
• مديريت مولفـه هـاي شـبکه ، اداره حسـابداري و نظـارت و گزارش کاربرد محتوا[١].
٢-٢- اهداف کسب وکار موردنظر CDN
يــک CDN، اساســا هــدف مشــتريان يــا فــراهم کننــدگان محتوايي است کـه مـيخواهنـد بـراي کـاربران نهـايي، کيفيـت سرويس درحين دسترسي به محتواي وب را تضمين کننـد. يـک
CDN، حداقل روي اهداف تجاري(کسب وکار) زير تمرکـز مـ٢ي- کند: مقياس پذيري، امنيت ، قابليت اطمينان ، پاسـخ دهـي و کارايي [١].
٢-٢-١- مقياس پذيري
مقياس پذيري به قابليت سيستم براي گسترش ، بـه منظـور رسيدگي به مقدار زياد و جديدي از داده ، کـاربران و تـراکنش هـا بدون کاهش قابل توجه کارايي، اشاره ميکند. براي گسـترش در مقياس سراسري، CDNها نياز به سرمايه گذاري زمـان و هزينـه ، در تأمين زيرساخت ها و اتصالات شـبکه هـاي اضـافي دارنـد کـه شامل تامين منابع به صورت پويا براي مقابله با ازدحام لحظه اي و ترافيک متفاوت است . يک CDN بايد به طور خودکار، به عنـوان ضربه گير ترافيک ، عمل کند. اين قابليت ، بـه يـک CDN، اجـازه ميدهد تا از تأمين پرهزينۀ منابع دوري کرده و کارايي بالا را بـه هر کاربر، ارائه کند.
٢-٢-٢- امنيت
يکي از نگراني هاي عمده CDN ، ارائه راه حـل هـاي امنيتـي بالقوه براي محتواي پرارزش و محرمانه است . امنيت ، محافظت از محتوا در برابر دسترسي و اصلاح غيرمجـاز اسـت . بـدون کنتـرل امنيت مناسب ، يک پلت فرم CDN، در معـرض تقلـب اينترنتـي، حمله هاي توزيع شده غيرقابل دسترس کردن اينترنت ، ويروس - ها يا ديگر تجاوزهاي ناخواسته است که ميتوانند کسب وکـار را فلج کنند.
٢-٢-٣- قابليت اطمينان ، پاسخ دهي و کارايي
قابليت اطمينان به زمانيکه يک سرويس دردسترس اسـت ، اشاره ميکند. يک ارائه دهندة CDN، ميتواند دسترسي مشتري به محتواي تخصيص داده شده را از طريق تحويـل آن از چنـدين مکان ، بهبود بخشد. براي اين کار شبکه هاي تحمل پذير خطا بـا مکانيزم موازنۀ بار مناسب پياده سازي شده اند. پاسخ دهـي نشـان ميدهد که درصورت بروز قطعي، بعد از چه مدت ، سيستم اجراي دوره عادي عملکردش را شروع خواهد کرد. کارايي CDN معمولا با زمان پاسخ (يعني زمان تاخير) حس شده توسط کاربران نهايي مشخص ميشود. زمان پاسخ کند، تنها و بزرگتـرين عامـل تـرک وب سايت ها و فرآيندها توسط مشتريان است . قابليت اطمينان و کـارايي CDN، توسـط مکـان محتـواي توزيـع شـده و مکـانيزم مسيريابي و استراتژي هاي تکرار داده و ذخيره کـردن در حافظـۀ نهان ، تحت تاثير قرار ميگيرد. از اينـرو CDN، ذخيـره کـردن و ساطع کردن ١٤ را براي افزايش کـارايي ، بـه ويـژه بـراي تحويـل محتواي رسانه ها، بکار ميگيرد.
٢-٣- مزاياي استفاده از CDN
استفاده از شبکه هاي تحويل محتوا شامل مزيت هاي زير است :
• کاهش نياز مشتري براي سرمايه گذاري ١٥ در زيرسـاخت وب ســايت و کــاهش هزينــه هــاي عمليــاتي مــديريت چنــين زيرساخت هايي.
3
• کاهش فشردگي ترافيک در وب ، چون داده به کاربر نزديکتر است و نيازي به پيمايش همه مسيرهاي پرازدحـام و نقـاط peering نيست .
• بهبود کيفيت تحويل محتوا ، سرعت و قابليت اطمينان .
• کاهش بار سرورهاي اصلي [٢].
• اگر صدها کاربر، يک صفحه وب يا محتوا را همزمان انتخاب کنند، CDN محتوا را به هريک از آنها بدون تاخير يا توقـف ميفرستد. مشکلات تاخير بيش از اندازه و اخـتلاف زيـاد در تاخير از لحظه اي به لحظۀ ديگر که مي تواند باعث لرزش در ارسال صدا و تصوير شود، بـه حـداقل مـيرسـد، همچنـين پهناي باند هر کاربر حداکثر به نظر ميرسد.
• افزونگي محتوا که ويژگي شکست امن را فراهم ميکند و اثر آن افت قابل قبول وقوع زيان يا خرابـي بخشـي از اينترنـت است . حتي در حين حمله بـا مقيـاس بـزرگ کـه خيلـي از سرورها را از کار مـيانـدازد، محتـوا روي يـک CDN بـراي حداقل بعضي از کاربران ، دردسترس باقي خواهد ماند.
• CDN به طور ذاتي تهيه نسخه پشتيبان ، بايگاني و ظرفيت ذخيره سازي بهتر داده را عرضه مـيکنـد کـه بـراي افـراد و سازمانهايي که به سرويسهاي پشتيبان داده آنلايـن اعتمـاد ميکنند، مفيد است [٦].
٣- CDNها در عمل
مسائل بحراني درگير در روشهاي تحويل محتوا عبارتند از[٢] :
٣-١- گمارش ١٦ سرورهاي جانشين
انتخاب بهترين موقعيت براي هر سـرور جانشـين بـه دليـل وابستگي به فرايند تحويل محتوا، براي هر زيرساخت CDN مهـم است . تعيين بهترين موقعيت هاي شبکه براي سرورهاي جانشـين CDN، براي کارايي برون سپاري محتـوا و فراينـد توزيـع کـل محتوا حياتي است . توپولوژي CDN، چنان ساخته مـيشـود کـه کارايي حس شـده توسـط مشـتري حـداکثر و هزينـه زيرسـاخت حداقل باشد. بنابراين گمارش مناسـب سـرور جانشـين ، ممکـن است تعداد سرورهاي جانشين موردنياز و اندازه محتوا (تکرارشده روي آنها) را با تلاش براي ترکيب سرويسـهاي بـا کيفيـت بـالا و قيمت هاي پايين CDN، کاهش دهد.
٣-٢- انتخاب محتوا
مسئله مهم ديگر، انتخـاب محتـوايي اسـت کـه بـه منظـور بـرآورده کـردن نيازهـاي مشـتري بايـد outsource شـود. يـک انتخاب بديهي، outsource کل مجموعۀ اشياء سـرور اصـلي بـه سرورهاي جانشين است (تکرار کل ). بزرگترين مزيت تکرار کـل ، سادگي است . به هرحـال چنـين راه حلـي شـدني يـا کـاربردي نيست ، چون عليرغم کم شدن مداوم قيمت ديسک ، سـايز اشـياء وب همچنان افزايش مـييابـد. عـلاوه بـراين مسـئله بروزرسـاني چنين مجموعه عظيمي از اشياء وب رام نشـدني اسـت . بنـابراين چالش مسئله انتخاب محتوا، يافتن استراتژي مـديريت پيشـرفته براي تکرار محتـواي وب اسـت . يـک روش نمونـه ، دسـته بنـدي محتواي وب براساس همبستگي يا فرکـانس دسترسـي و سـپس تکرار اشياء در کلاسترهايي از محتواست . نمونه اي از خوشه بندي محتوا خوشه بندي مبتني بر نشست هاي کاربراست يعني محتواي فايلهاي log (شامل اطلاعاتي درمورد فعاليتهاي انجام شده توسط کاربر از لحظۀ ورود کاربر به وب سايت تـا لحظـۀ تـرک آن ) بـه منظور دسـته بنـدي مجموعـه اي از جسـتجوهاي١٨ کـاربران بـا مشخصات مشابه ، استخراج ميشود١٩. خوشه بندي نشسـت هـاي کـاربران هـم بـراي کشـف گـروه هـايي از کـاربران بـا الگوهـاي جستجوي مشـابه و هـم گـروه هـايي از صـفحات داراي محتـواي مرتبط ، مفيد است . تکرار مبتني بر خوشه بندي مـيتوانـد زمـان دانلود مشتري و بار سرور را از ٤.٦ تا ٨ برابر در مقايسه با تکـرار کل ، کاهش دهد.
٣-٣- برون سپاري محتوا
عــلاوه بــر زيرســاخت CDN بــا مجموعــه اي از ســرورهاي جانشين و محتواي انتخاب شده براي تحويل ، روش برون سپاري
محتوا نيز مهم است . روش هاي برون سپاري محتوا عبارتند از:
٣-٣-١- همکاري مبتني بر PUSH
محتوا (فعالانه ) از سرور اصلي به سرورهاي جانشـين CDN، push ميشود. ابتـدا محتـوا در سـرورهاي جانشـين ، prefetch
شــده (بارگــذاري در حافظــه نهــان قبــل ازدسترســي)، ســپس سرورهاي جانشين به منظور کاهش تکـرار و هزينـه بروزرسـاني، همکاري ميکنند. در ايـن مـدل ، CDN، نگاشـتي بـين محتـوا و سرورهاي جانشين برقرار ميکند و هر درخواست بـه نزديکتـرين سرور جانشين که شيء درخواستي را دارد و در غير اينصورت بـه سرور اصلي، هدايت ميشود.
٣-٣-٢- عدم همکاري مبتني بر PULL
درخواستهاي مشتري با اسـتفاده از مکانيسـم هـاي تعيـين مسير DNS (نگاشت بين نام نمادين سرور جانشـين و آدرس IP
4