Iran Open Source (IOS)
انواع Areaها در OSPF و LSA propagationها
گزینه1: Backbone Area: همان Area 0 است که تمام Area ها دیگر باید به آن متصل شوند یا حداقل یک اینترفیس در Area 0 داشته باشد.
گزینه2: Regular area: به Area های غیر Area 0 که دیتابیس آنها هر دو مسیرهای داخلی و خارجی گفته می شود.
گزینه3: Stub area: دیتابیس این Area ها که فقط شامل مسیرهای داخلی و یک Default Route می باشد.
گزینه4: Totally Stubby Area: اختصاصی شرکت سیسکو می باشد و دیتابیس آن شامل Route های Area خودش و یک Default Route می باشد.
گزینه5: (Not-so-stubby area (NSSA: دیتابیس آن شامل Routeهای داخلی و مسیرهای Redistributed شده و Default Route می باشد.
گزینه6: Totally NSSA: اختصاصی شرکت سیسکو است دیتابیس آن شامل Route های Area خودش و مسیرهای Redistributed شده و Default Route می باشد.
@iranopensource 🐧
گزینه2: Regular area: به Area های غیر Area 0 که دیتابیس آنها هر دو مسیرهای داخلی و خارجی گفته می شود.
گزینه3: Stub area: دیتابیس این Area ها که فقط شامل مسیرهای داخلی و یک Default Route می باشد.
گزینه4: Totally Stubby Area: اختصاصی شرکت سیسکو می باشد و دیتابیس آن شامل Route های Area خودش و یک Default Route می باشد.
گزینه5: (Not-so-stubby area (NSSA: دیتابیس آن شامل Routeهای داخلی و مسیرهای Redistributed شده و Default Route می باشد.
گزینه6: Totally NSSA: اختصاصی شرکت سیسکو است دیتابیس آن شامل Route های Area خودش و مسیرهای Redistributed شده و Default Route می باشد.
@iranopensource 🐧
Iran Open Source (IOS)
شبکه CDN چیست؟
افزایش سرعت سایت از مهمترین مواردی است که توسعهدهندگان وب و مدیران سایتها در جهت بهبود آن تلاش میکنند. با ما همراه باشید تا با CDNها که از زمرهی این فناوریها محسوب میشوند، بیشتر آشنا شوید.
چه صاحب یک وبسایت باشید، چه توسعهدهنده وب و چه کاربری عادی، احتمالا عبارت CDN (شبکه تحویل محتوا یا Content Delivery Network) به گوشتان خورده است یا آن را در آدرس بعضی از فایلها دیدهاید. در این پست با CDN و کاربردهای آن، به زبان ساده، آشنا میشوید.
در وقع CDN چیست و چگونه کار میکند؟
وقتی قصد راهاندازی یک وبسایت را دارید هاستی بر روی یک سرور تهیه میکنید و بدین ترتیب سایت شما فعالیت میکند؛ اما یک CDN به جای استفاده از تنها یک سرور، از شبکهای جهانی از سرورها استفاده میکند تا محتوای شما را ارائه دهد. برای درک بهتر به این مثال توجه کنید. تصویر زیر تمامی سرورهای شرکت Cloudflare را نشان میدهد. هر نقطه در این نقشه یک سرور است. وقتی محتوایی را در Cloudflare آپلود میکنید، این محتوا در تمامی سرورها کپی میشود و هنگام درخواست کاربر، سریعترین سرور محتوا را ارائه میدهد. سریعترین سرور معمولاً از لحاظ جغرافیایی نزدیکترین است اما همیشه اینطور نیست. پس اگر شما بخواهید از ایران محتوا دریافت کنید احتمالا از یکی از سرورهای نزدیک ایران آن را دریافت میکنید.
چه صاحب یک وبسایت باشید، چه توسعهدهنده وب و چه کاربری عادی، احتمالا عبارت CDN (شبکه تحویل محتوا یا Content Delivery Network) به گوشتان خورده است یا آن را در آدرس بعضی از فایلها دیدهاید. در این پست با CDN و کاربردهای آن، به زبان ساده، آشنا میشوید.
در وقع CDN چیست و چگونه کار میکند؟
وقتی قصد راهاندازی یک وبسایت را دارید هاستی بر روی یک سرور تهیه میکنید و بدین ترتیب سایت شما فعالیت میکند؛ اما یک CDN به جای استفاده از تنها یک سرور، از شبکهای جهانی از سرورها استفاده میکند تا محتوای شما را ارائه دهد. برای درک بهتر به این مثال توجه کنید. تصویر زیر تمامی سرورهای شرکت Cloudflare را نشان میدهد. هر نقطه در این نقشه یک سرور است. وقتی محتوایی را در Cloudflare آپلود میکنید، این محتوا در تمامی سرورها کپی میشود و هنگام درخواست کاربر، سریعترین سرور محتوا را ارائه میدهد. سریعترین سرور معمولاً از لحاظ جغرافیایی نزدیکترین است اما همیشه اینطور نیست. پس اگر شما بخواهید از ایران محتوا دریافت کنید احتمالا از یکی از سرورهای نزدیک ایران آن را دریافت میکنید.
Iran Open Source (IOS)
شبکه CDN چیست؟
دلایل استفاده از CDN
۱. سرعت: بدیهی است که هرچه یک سرور از نظر جغرافیایی به شما نزدیکتر باشد سرعت دریافت محتوا بالاتر خواهد بود.
۲. SEO (بهینه سازی موتور جستجو): این مورد در واقع معلول سرعت است. گوگل به سایتهای سریعتر رتبهی بهتری میدهد.
۳. جلوگیری از حملات: حملات DDoS، حملات شایعی به شمار میروند. در حملات منع محرومسازی از سرویس توزیعشده، مهاجمان با ارسال درخواستهای بسیار زیاد به یک سرور باعث خاموشی و از دسترس خارج شدن آن میشوند. با استفاده از CDN ترافیک ورودی از طرف مهاجمان پخش شده و حمله دفع میشود.
۴. هزینه: درست است که CDN از هاستینگ عادی هزینه بالاتری دارد اما اگر نسبت ترافیک به هزینه و افزایش سرعت و امنیت سایت را در نظر بگیریم، ارزش آن مشخص میشود.
۵.رضایت کاربران: مهمترین مزیت CDN افزایش تعداد و رضایت کاربران است. این امر با افزایش سرعت و رتبه سایت در گوگل به دست میآید. سایتهای سریعتر برای کاربران خوشایندترند و تجربه کاربری بهتری را برای آنان به ارمغان میآورند.
انواع مختلف CDN
به طور کلی میتوان CDNها را به دو دسته تقسیم کرد:
دCDNهای عمومی: برخی از دCDNها مثل Cloudflare کل سایت را کپی کرده و ارائه میدهند.
دCDNهای تخصصی: برخی دیگر از CDNها روی محتوای خاص مثل مولتیمدیا و فایلهای ثابت مثل کدهای جاوااسکریپت (JavaScript) و CSS تمرکز دارند.
۱. سرعت: بدیهی است که هرچه یک سرور از نظر جغرافیایی به شما نزدیکتر باشد سرعت دریافت محتوا بالاتر خواهد بود.
۲. SEO (بهینه سازی موتور جستجو): این مورد در واقع معلول سرعت است. گوگل به سایتهای سریعتر رتبهی بهتری میدهد.
۳. جلوگیری از حملات: حملات DDoS، حملات شایعی به شمار میروند. در حملات منع محرومسازی از سرویس توزیعشده، مهاجمان با ارسال درخواستهای بسیار زیاد به یک سرور باعث خاموشی و از دسترس خارج شدن آن میشوند. با استفاده از CDN ترافیک ورودی از طرف مهاجمان پخش شده و حمله دفع میشود.
۴. هزینه: درست است که CDN از هاستینگ عادی هزینه بالاتری دارد اما اگر نسبت ترافیک به هزینه و افزایش سرعت و امنیت سایت را در نظر بگیریم، ارزش آن مشخص میشود.
۵.رضایت کاربران: مهمترین مزیت CDN افزایش تعداد و رضایت کاربران است. این امر با افزایش سرعت و رتبه سایت در گوگل به دست میآید. سایتهای سریعتر برای کاربران خوشایندترند و تجربه کاربری بهتری را برای آنان به ارمغان میآورند.
انواع مختلف CDN
به طور کلی میتوان CDNها را به دو دسته تقسیم کرد:
دCDNهای عمومی: برخی از دCDNها مثل Cloudflare کل سایت را کپی کرده و ارائه میدهند.
دCDNهای تخصصی: برخی دیگر از CDNها روی محتوای خاص مثل مولتیمدیا و فایلهای ثابت مثل کدهای جاوااسکریپت (JavaScript) و CSS تمرکز دارند.
منظور از Cloud-init چیست؟
به زبانی ساده cloud-init مجموع های از اسکریپت های پایتون برای اجرای سفارشی سازی هایی روی ماشین های مجازی است.
برخی از قابلیت های cloud-init عبارتند از:
setting hostname
ساخت SSH private keys
افزودن کلیدهای SSH
افزودن ephemeral mount points
پیکربندی قسمتهای شبکه ای
رفتار cloud-init و تغییرات و تنظیماتی که اجرا خواهد کرد از طریق user-data قابل پیکربندی است. user-data یکی از انواع metadata در OpenStack است. به طور کلی چهار نوع metadata در OpenStack وجود دارد که عبارتند از:
Meta-Data, User-Data, Vendor-Data, and Network-Data
که Meta-data به صورت مقادیر key=value هستند که از طریق CLI یا داشبورد میتوان روی ماشین مجازی تعریف کرد
و Meta-data را میتوان در زمان بوت ماشین مجازی یا حتی پس از بوت، روی ماشین مجازی تعریف کرد.
اما user-data اسکریپت هایی هستند که میتوانند به صورت مستقیم تایپ شوند یا به صورت فایلی باشند که هنگام راه اندازی ماشین مجازی توسط cloud-ini استفاده خواهد شد. این اسکریپت ها میتوانند به زبان هایی مانند پایتون یا shell باشند یا از فرمتی که شبیه به فایلهای yaml و مختص cloud-config است، استفاده کنند.
در واقع user-data از داخل ماشین مجازی با دستور #curl ۱۶۹,۲۵۴.۱۶۹.۲۵۴/openstack/latest/user_data قابل دسترسی است. میتوان اسکریپت ها را طوری نوشت که خروجی آن در مسیری در داخل ماشین مجازی نیز ذخیره شود. به صورت پیشفرض این اسکریپت ها فقط در اولین بوت ماشین مجازی اجرا میشوند، البته راهکارهایی برای اجرای مجدد اسکریپت ها در زمانهای مختلف از چرخه حیات (lifecycle) ماشین مجازی نیز وجود دارند.
برخی از کاربردهای cloud-init:
تعریف کاربران و گروهها
افزودن یک ریپازیتوری yum
پیکربندی فایل resolv.conf یک ماشین مجازی
نصب و اجرای chef
افزودن ریپازیتوریهای apt
اجرای دستوراتی در بوت ماشین مجازی
نصب پکیجهای موردنظر
اجرای upgrade با apt یا yum
اسکریپت های user-data به زبان پایتون در پایگاه داده کد میشوند. میتوان این اسکریپت های کدشده را decode کرد. برای اطلاعات کامل درباره cloud-init میتوان به سایت رسمی آن مراجعه کرد:
http://cloudinit.readthedocs.io/en/latest/index.html
و metadata با استفاده از neutron metadata agent یا config drive قابل دسترسی هستند. دسترسی از طریق config drive پیچیدگی های دسترسی از طریق neutron metadata agent را ندارد. با استفاده از آپشن config-drive، metadata به صورت یک درایو مجازی نزدیک ماشین مجازی قرار میگیرد و قابل mount یا unmount است.
به زبانی ساده cloud-init مجموع های از اسکریپت های پایتون برای اجرای سفارشی سازی هایی روی ماشین های مجازی است.
برخی از قابلیت های cloud-init عبارتند از:
setting hostname
ساخت SSH private keys
افزودن کلیدهای SSH
افزودن ephemeral mount points
پیکربندی قسمتهای شبکه ای
رفتار cloud-init و تغییرات و تنظیماتی که اجرا خواهد کرد از طریق user-data قابل پیکربندی است. user-data یکی از انواع metadata در OpenStack است. به طور کلی چهار نوع metadata در OpenStack وجود دارد که عبارتند از:
Meta-Data, User-Data, Vendor-Data, and Network-Data
که Meta-data به صورت مقادیر key=value هستند که از طریق CLI یا داشبورد میتوان روی ماشین مجازی تعریف کرد
و Meta-data را میتوان در زمان بوت ماشین مجازی یا حتی پس از بوت، روی ماشین مجازی تعریف کرد.
اما user-data اسکریپت هایی هستند که میتوانند به صورت مستقیم تایپ شوند یا به صورت فایلی باشند که هنگام راه اندازی ماشین مجازی توسط cloud-ini استفاده خواهد شد. این اسکریپت ها میتوانند به زبان هایی مانند پایتون یا shell باشند یا از فرمتی که شبیه به فایلهای yaml و مختص cloud-config است، استفاده کنند.
در واقع user-data از داخل ماشین مجازی با دستور #curl ۱۶۹,۲۵۴.۱۶۹.۲۵۴/openstack/latest/user_data قابل دسترسی است. میتوان اسکریپت ها را طوری نوشت که خروجی آن در مسیری در داخل ماشین مجازی نیز ذخیره شود. به صورت پیشفرض این اسکریپت ها فقط در اولین بوت ماشین مجازی اجرا میشوند، البته راهکارهایی برای اجرای مجدد اسکریپت ها در زمانهای مختلف از چرخه حیات (lifecycle) ماشین مجازی نیز وجود دارند.
برخی از کاربردهای cloud-init:
تعریف کاربران و گروهها
افزودن یک ریپازیتوری yum
پیکربندی فایل resolv.conf یک ماشین مجازی
نصب و اجرای chef
افزودن ریپازیتوریهای apt
اجرای دستوراتی در بوت ماشین مجازی
نصب پکیجهای موردنظر
اجرای upgrade با apt یا yum
اسکریپت های user-data به زبان پایتون در پایگاه داده کد میشوند. میتوان این اسکریپت های کدشده را decode کرد. برای اطلاعات کامل درباره cloud-init میتوان به سایت رسمی آن مراجعه کرد:
http://cloudinit.readthedocs.io/en/latest/index.html
و metadata با استفاده از neutron metadata agent یا config drive قابل دسترسی هستند. دسترسی از طریق config drive پیچیدگی های دسترسی از طریق neutron metadata agent را ندارد. با استفاده از آپشن config-drive، metadata به صورت یک درایو مجازی نزدیک ماشین مجازی قرار میگیرد و قابل mount یا unmount است.
لیست دوره های مقدماتی تا پیشرفته شرکت Cisco در 10 گرایش مختلف @iranopensource 🐧
شناسایی نوع #سیستم_عامل ها از روی TTL در عمل ping
-> ویندوز TTL=128
-> لینوکس TTL=64
-> روترهای میکروتیک TTL=64
-> روترهای سیسکو TTL= 255
-> ویندوز TTL=128
-> لینوکس TTL=64
-> روترهای میکروتیک TTL=64
-> روترهای سیسکو TTL= 255