# مباحث متفرقه برنامه نویسی > تالار های مرتبط با شبکه و امنیت >  شبکه تحویل محتوا CDN

## nopardazco

*پیدایش شبکه های تحویل محتوا*یکی از نقاط درخشان کاپیتالیسم این است که بالاخره یک نفر فهمید چگونه می توان از World Wide Wait (انتظار بی پایان برای گرفتن صفحات وب) پول در آورد. چگونه؟ شرکت هایی بنام CDN (شبکه تحویل محتوا - Content Delivery Network ) به شرکت های تولید کننده محتوا (مانند سایت های موسیقی، روزنامه ها، و دیگر جاهایی که مایل هستند محصولات خود را به سرعت به بازار عرضه کنند) پیشنهاد کردند که محصولات آنها را سریعا و در ازای مبلغی بعنوان حق اشتراک شبکه آن ها (یا حق مصرف) به دست مصرف کنندگان برسانند. بعد از آن که قرارداد بسته شد صاحب کالا آنرا برای پردازش اولیه و توزیع در اختیار شبکه CDN می گذارد.
سپس، CDN با تعداد زیادی از ISP ها صحبت کرده، و با آنها در ازای پرداخت پول برای در اختیار گرفتن سرویس دهنده هایی که محتویات در آنها ذخیره خواهد شد، به توافق می رسد. این نه تنها منبع درآمدی برای _شبکه_ CDN است، بلکه ISP را هم به نان و نوایی می رساند، چون مشتریان آن می توانند با سرعت به مطالب دلخواهشان دسترسی پیدا کنند و این در دنیای پر رقابت خدمات اینترنتی، یعنی موفقیت). به همین دلیل ISP ها برای بستن قرار داد با شبکه های CDN ها سر و دست می شکنند، و بعضی از این CDN ها متجاوز از ۱۰,۰۰۰ سرویس دهنده در سراسر دنیا دارند.
وقتی محتویات روی هزاران سرویس دهنده پخش شده باشد، کیفیت دسترسی کاربران به شدت بالا خواهد رفت. اما برای آن که این سیستم توزیع شده بتواند بخوبی کار کند، باید مکانیزمی برای تغییر مسیر کاربران به نزدیکترین ISP (و ترجیحا همان ISP که از آن سرویس میگیرند) وجود داشته باشد. این تغییر مسیر بایستی بدون هرگونه دستکاری در زیر ساختهای اینترنت (از قبیل DNS ها) انجام شود. در زیر طرز کار آکامای (Akamai) . یکی از بزرگترین CDN های دنیا، را بصورت ساده شده بررسی خواهیم کرد.
 
*روش کار شبکه های تحویل محتوا*کار از آنجایی آغاز می شود که تولید کننده محتوا وب سایت خود را تحويل CDN می دهد. در این مرحله شبکه CDN یک پردازش اولیه روی تک تک صفحات سایت انجام داده، و تمام URL های آن را عوض می کند. مدل کاری نهفته در پشت این استراتژی آن است که وب سایت تولید کننده محتوا چند صفحه سادة HTML است، که لینک هایی به فایلهای بزرگتر (مانند تصویر و صدا و ویدئو) دارد. این صفحات تغییر یافته روی سرویس دهنده سایت تولیدکننده محتوا می مانند، و فقط فایل های تصویر، صدا و ویدئو است که به سرویس دهنده های CDN منتقل می شود
برای درک بهتر روش کار، صفحه اصلی سایت وب Furry Video در شکل زیر را در نظر بگیرید.
 
این صفحه بعد از پردازش اولیه توسط CDN به شکل زیر در می آید، و با نام wilw.firryvideo.com/index.html در سرویس دهنده Furry Video ذخیره می شود.
 
وقتی کاربر URL این سایت را وارد می کند، DNS طبق روال معمول آدرس IP سایت www.faurryvideo.coml را برمی گرداند، و مرورگر صفحه intdex.html را از سرویس دهنده Furry Video می خواند. اما وقتی روی هر یک از لینک های این صفحه کلیک شود، مرورگر آدرس سرویس دهنده cdn.server.com را از DNS می پرسد، فایل مورد نظر را از این سرویس دهنده درخواست می کند، و منتظر می ماند تا سرویس دهنده cadri-server,COPY این فایل را برگرداند. اما این اتفاق نمی افتد، چون cd:server vorr چنین فایلی را ندارد. در اینجا شبکه CDN نقش یک سرویس دهنده HTTP تقلبی را بازی می کند، و با بررسی درخواست رسیده میفهمد که تقاضا مربوط به کدام صفحه از کدام تولید کننده محتوا است. همچنین با بررسی آدرس IP درخواست کننده و جستجو در پایگاه اطلاعاتی خود) در می یابد که کاربر در کدام ناحیه جغرافیایی قرار دارد. با داشتن این اطلاعات، CDN می تواند تصمیم بگیرد که کدام سرویس دهنده محتوا، مناسب ترین گزینه برای کاربر مورد نظر است. این تصمیم گیری چندان هم که به نظر می آید ساده نیست، چون ممکن است نزدیکترین محل از نظر جغرافیایی نزدیکترین محل از نظر توپولوژی شبکه نباشد، و با نزدیکترین سرویس دهنده از نظر توپولوژی _شبکه_ در آن لحظه ترافیک بالایی داشته باشد.
بعد از انتخاب سرویس دهنده مناسب، CDN یک پیام با کد 301 که URL نزدیکترین محل در فیلد Location آن مشخص شده، به مشتری بر می گرداند. برای این مثال فرض می کنیم که URL نزدیکترین محل به مشتری www: CEN-0420 cornuaryvicle/BeciTS.Impg است. مرورگر پس از دریافت این URL به سراغ آن رفته، و فایل bears.mPR را طبق روال معمول می خواند.

----------

