| |||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||
اساساً مشکلات ارتباطات تلفنی مبتنی بر IP را میتوان در سه گروه جای داد: مشکلات شبکه، پیکربندی تجهیزات و ناهماهنگی در سیگنالینگ، و مشکلات موجود در سمت رابطهای آنالوگ تلفن. مهمترین مشکلات ناشی از شبکه عبارتند از: گام یکم: تعریف نیازهای سیستم VoIP
گام دوم: بررسی قابلیتهای شبکه گسترده موجود بسیاری از معضلات کیفی مربوط به مکالمات VoIP، دراثر پهنای باند محدود شبکه گسترده و یا شبکه VPN به عنوان جایگزین آن رخ می دهد. در این مرحله، سوالات دیگری پیش روی طراح قرار دارد که پاسخ به آنها پیشنیاز تدارک بهینه (و نه بیش از حد) ظرفیتها در شبکه است. ازجمله اینکه: مقدار پهنای باند حد فاصل نقاط شبکه چقدر است؟ چه حجم از ترافیک دیتا درحال حاضر (در هر دو حالت حداکثر و میانگین) حمل می شود؟ آیا پهنای باند موجود برای ترافیک فعلی دیتا و پهنای باند تخمینزدهشده در خصوص ارتباطات تلفنی کافی است؟ آیا ظرفیت اضافی برای شرایط خاص و مقطعی تدارک دیده شده است؟ آیا افزایش ترافیک تلفنی بر کارایی کاربردهای دیتا تاثیر منفی دارد و اگر دارد، این تأثیر تا چه حد است؟ برای درک بهتر فرایند، به مثال پیشین رجوع میکنیم. ده کانال تلفنی روی هم به 960 کیلو بیت در ثانیه پهنای باند نیاز دارند و این میزان در حدود 500 کیلوبیتدرثانیه را برای عبور دیتا باقی میگذارد. با افزایش تعداد کاربران تلفنی، کاربردهای دیتا پهنای باند کمتری در اختیار خواهند داشت و در صورت افزایش تعداد کاربران تلفنی به بیشاز پانزده نفر، کیفیت مکالمات تلفنی نیز کاهش پیدا میکند. گام سوم: اطمینان از آمادگی بستر شبکه محلی گام چهارم: اطمینان از آمادگی بستر ارتباطی میان سایتها گام پنجم: ارتباط با فراهمکنندگان خدمات شکل 1- نمونهای از معماری کنترل و مدیریت کارایی در شبکههای VoIP سازمانی توصیههایی برای پس از بهکارگیری VoIP در شبکه | |||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||
| |
| |
منبع: تک ریپابلیک |
iSCSI در تقابل با Fiber Channel - رقابت در شبکههای سازمانی مبتنی بر IP | |||||||||||||
| |||||||||||||
منبع: نتورک کامپیوتینگ آیا iSCSI از Fiber Channel پیشی میگیرد؟ درآمد حاصل از راهاندازهای iSCSI در سال 2009 به 624 میلیون دلار و FC HBA، به 2/1 میلیارد دلار خواهد رسید. شکل 1 بالا گرفتن رقابت iSCSI چگونه کار میکند کاربران و سرورهای برنامه، محیط ذخیرهسازی iSCSI SAN را به عنوان درایوهای محلی میبینند. دو شبکه اترنت وجود دارد: یکی شبکه محلی موجود و دیگری شبکه iSCSI SAN. هر سرور یک اتصال (یا اتصال دوتایی) به هر شبکه دارد. شکل 2 فضا برای رشد
تنوع مدل ذخیرهسازی بین شرکتهای تجاری کوچک ذخیرهسازی مستقیم، ذخیرهسازی از طریق شبکه، Fiber Channel SAN ،IP SAN، سیستم نواری از طریق شبکه، سیستم حفاظت داده بر اساس دیسک و سیستم نوار مجازی شکل 3 به کجا می رویم؟ |
| |
| |
●Service Location Protocol) SLP) اما با وجود SLP، کلاینتها میتوانند سرویسهایی که یک بار به SLP معرفی شدهاند را بدون نیاز به پیکربندی دستی، شناسایی کنند و برای استفاده از آن آماده شوند. به عنوان مثال، با استفاده از SLP کلاینتها از وجود سرور و سرویسهایی چون File/Printer sharing در شبکه آگاه میشوند و آمادگی استفاده از آن را مییابند.
همانطور که میدانید DNS، به یک نوع سرویس شبکهای اطلاق میشود که وظیفه ترجمه آدرس IP به نام دامنه یا یک کامپیوتر و بالعکس را به عهده دارد. با وجود DNS در سطح یک شبکه کاربران یا مدیر سیستم مجبور نیستند برای هر نوع دسترسی یا استفاده از سرور یا هر کلاینت خاص، آدرس IP را مورد استفاده قرار دهند، بلکه این آدرسها به همراه نام کامپیوتر مرجع در جدول آدرسیابی سرور DNS ثبت میشوند و در مواقع لزوم مورد استفاده آنها قرار میگیرند. در لینوکس وظیفه سرویس DNS به عهده ماجولی به نام BIND سرنام (Berkly Internet Name Domain) است که اولینبار در دانشگاه برکلی ساخته شد و به این دلیل نیز، نام مذکور را تا کنون به همراه خود آمده است. این ماجول در قالب بستههای RPM و تحت مجوز استفاده BSD از سایت isc.org قابل دانلود و نصب است. سورسکد BIND نیز برای یونیکس، لینوکسهای دیگر یا حتی ویندوز جهت کامپایل کردن و نصب وجود دارد. در حال حاضر نسخه 3/9 این ماجول توسط بسیاری از شرکتهای صاحب نام دنیای نرمافزار و شبکه مثل SON ،HP ،IBM و دیگران، در حال توسعه و نصب روی سیستمعامل مورد پشتیبانی آنها است. در برخی لینوکسها، مثلSUSE نیز که به کامل بودن ابزارهای مدیریتی شبکه شهرت دارند، BIND در قالب سرویسهای موجود در Yast، در چند قدمی بهرهبرداری قرار دارد. واسط کاربرهایی که برای BIND طراحی میشوند، شامل یک یا چند پانل اصلی هستند که معمولاً یکی از آنها برای تعریف نام دامنه و آدرس IP مربوط به آن است که در تمام سرورهای DNS چه ویندوز و چه لینوکس تحت عنوان Zone شناخته میشود. قسمتهای دیگر نیز جهت سایر تنظیمات DNS مثل معرفی کامپیوترهای موجود در دامنه مورد نظر، تنظیمات امنیتی و امثال آن در نظر گرفته شده است. ● Netwrok Information Service) NIS)
همانطور که گفته شد، سرویس NIS در کنار سرویسهای دیگر شبکهای که وظیفه در اختیار قرار دادن منابع خود به دیگران را دارند، معنای بهتری پیدا میکند. یکی از این سرویسها NFS است که به کلاینتها اجازه میدهد پارتیشنهای موجود در هارددیسک یا هر درایو کامپیوتر دیگری را Mount نمایند و به گونهای از آن استفاده کنند که گویی یکی از پارتیشنها یا درایوهای خودشان است. این سرویس به مدیر سیستم اجازه میدهد برخی فایلهای عمومی و منحصربهفرد را برای دسترسی (خواندنی، نوشتنی) برخی افراد مجاز روی فقط یک کامپیوتر قرار دهد و به آنها جهت استفاده از آن ارائه نماید. زمانی که یک درخواست جهت استفاده از یک درایو یا فایل از طریق NIS به NFS میرسد، NFS عمل هویتسنجی را برای کامپیوتر درخواستکننده انجام میدهد تا متوجه شود آیا درخواستکنندهِ مورد نظر برای استفاده از سرویس NFS آن سرور خاص مجاز است یا خیر. بنابراین از لحاظ NFS عمل هویتسنجی فقط برای کامپیوتر درخواستکننده انجام میشود. به معنای دیگر، اینکه کدام کاربر در حال استفاده از این کامپیوتر است، به NFS مربوط نمیشود. اگر کامپیوتر درخواستکننده برای استفاده از سرویس NFS مجاز بود، آنگاه NFS فایل پیکربندی خود در شاخه /etc/exports را بررسی میکند تا ببیند که آن کامپیوتر مجاز، برای استفاده از کدام فایل سیستم موجود دارای صلاحیت است. واسطهای کاربری موجود بر سرویس NFS نیز معمولاً ظاهر سادهای دارند. در سمت پیکربندی سرور، معمولاً دو قسمت وجود دارد که یکی به نام و مسیر درایو و دایرکتوری قابل دسترسی مورد نظر است و دیگری آدرس یا نام کامپیوترهای مجاز برای استفاده از آن دایرکتوری. در سمت کلاینت نیز نام یا آدرس NIS Server و در قسمت دیگر نام و مسیر فایل سیستم یا فایلهای درخواستی تنظیم میشوند.
یکی از سرویسهای مهم و پرکاربرد در شبکههای فعال و بزرگ، سرویس انتساب IP به کامپیوترهایی است که قصد اتصال به شبکه را دارند. در این حالت، دیگر لزومی نیست برای هر کامپیوتر جدید (اعم از لینوکس یا هر سیستمعامل دیگر) یک آدرس IP ثابت تعریف کنیم تا بتوانیم آن را به شبکه متصل نماییم. از اینرو، این سرویس در مرحله اول، کار مدیریتی مدیر شبکه را آسان مینماید و در پله بعد، از تکراری شدن و تداخل آدرسهای IP در اثر ثابت بودن آدرس IP کلاینتهای متصل یا در حال اتصال به شبکه جلوگیری میکند. در لینوکس، ماجولی که سرویس DHCP را ارائه میدهد،DHCP distribution) DHCPd) نام دارد که توسط کنسرسیوم نرمافزاری اینترنت (ISC.org) تهیه و توزیع میشود. این بسته نرمافزاری در دو نسخه سرور و کلاینت وجود دارد. در برخی لینوکسها مثل SUSE یا ردهت سرور، در زمان نصب سیستمعامل سرور، DHCP نیز به عنوان یکی از قابلیتهای اساسی یک سرور نصب میشود و برای استفاده تنها نیاز به پیکربندی و تنظیمات شبکهای دارد. در پنجره ویژه پیکربندی DHCP نیز معمولاً نام دامنهای که این سرور در آن فعالیت میکند، آدرس IP سرور DNS (در صورت وجود) و دامنه آغاز و پایان یا فهرستی از آدرسهای IP قابل انتساب به کلاینتهای قابل اتصال به این دامنه تعریف میشود. در سایت FTP ردهت نیز بستههای RPM برای نصب DHCP در سرورهای لینوکسی موجود و آماده دانلود است.
این سرویس، یک سرویس استاندارد برای دسترسی به یک منبع اطلاعاتی است که اصطلاحاً به آن راهنمای شبکه یا دایرکتوری (Directory) گفته میشود. دایرکتوری در واقع یک بانک اطلاعاتی است که میتواند اطلاعات مختلفی را برای کاربران LDAP ذخیره کند و در اختیار آنان قرار دهد. به عنوان مثال، در یک سازمان یا چند شبکه متصل به هم این دایرکتوری میتواند شامل اطلاعات مربوط به کاربران آن شبکه باشد. در واقع همانطوری که مثلاً سرویس DNS فهرست راهنمایی از آدرسهای IP یک یا چند دامنه را در خود ذخیره کرده است و در اختیار کلاینتها قرار میدهد، LDAP نیز راهنمایی از کاربران، کامپیوترهای موجود در شبکه و سایر منابع موجود در آن را ارائه مینماید. بنابراین به نظر میرسد با گستردهتر شدن فعالیت LDAP در شبکهها، این سرویس بتواند جای سرویس NIS را بگیرد که وظیفه مشابهی را به عهده دارد؛ چرا که LDAP قبل از آن که صرفاً یک سرویس لینوکسی باشد، پروتکلی استاندارد برای ارتباط و تبادل اطلاعات میان کامپیوترهایی با سکوی سختافزاری یا نرمافزاری مختلف به حساب میآید. بستههای نصب این سرویس نیز در سایت OpenOLAP.org یا سایت توزیعکنندگان لینوکس قابل دریافت و نصب است. |
| |||||||||||||||||||
| |||||||||||||||||||
مشخصات جدیدترین استاندارد LAN بیسیم، یعنی 802.11n هنوز به تصویب نهایی نرسیده است، اما این امر مانع آن نمیشود که سازندگان سیستمهای الکترونیکی محصولاتی براساس نسخههای اولیه این استاندارد ارائه نکنند. آیا این استاندارد جدید ارزش ریسک کردن را دارد؟ اگر انتظار دارید تجربیات شما در زمینه بیسیم آسان، قابل اعتماد و سازگار باشد، میتوانید از نتایج اعلام شده آزمایشهای eWEEK استفاده کنید. توان انتقال اطلاعات رمزگذاری نشده شکل 1 جدول سازگاری محصولات شکل 2 سازگاری با استانداردهای قدیمیتر توان انتقال اطلاعات رمزگذاری شده با استفاده از شکل 3 داده بیشتر؛ امنیت بالاتر توان کارکرد محصول Belkine در نسخه بتا و نهایی میانافزار روتر و درایو کلاینت شکل 4 شکل 5 نگاهی به آینده شکل 6 شکل 7 |
| ||||||||||||
| ||||||||||||
منبع: Network Computing با ارسال چند جریان دادهای با استفاده از فناوری تسهیم فضایی توان موثر ارتباط بیسیم تقریباً به دو برابر افزایش مییابد. قابلیتهای MIMO توجه به هسته
2006/3 2006/7 اواخر 2007 2006/8 2006/11 اوایل 2008 مسیر پیموده شده برای رسیدن به نسخه نهایی 802.11n |
مثالی از برنامهنویسی شیءگرا در شبکههای عصبی و هوش مصنوعی | |||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||
برای اینکه بتوانیم این کار را دقیقاً در برنامه خود شبیهسازی کنیم، لازم است یک کلاس مانند شکل 1 قسمت اول طراحی کنیم که ضمن داشتن مشخصههای خاص، یک خروجی داشته باشد. البته همانطور که در قسمت دوم نیز مشاهده میکنید (شکل 1)، هر نورون میتواند داری چندین ورودی نیز باشد. همانطور که در شکل 1 مشاهده میکنید، نورونها به صورت گروهی لایهبندی میشوند.
حال که تقریباً با کار یک لایه عصبی آشنا شدید، میتوانیم شبکههای پیچیدهتر را مورد بررسی قرار دهیم. برای این کار حداقل به سه گروه از نورونهایی که در شکل 2 میبینید، نیاز داریم. همانطور که در شکل 3 مشاهده میکنید، این شبکه دارای سه لایه است. لایه 1 یا لایه بالایی این شبکه که در حقیقت لایه ورودی است، پارامترهای پالس را تنظیم میکند و این مقادیر را همراه سیگنال یا پالس به لایههای بعدی پاس میدهد، ولی نورونهای لایه 3 یا لایه خروجی که در پایینترین سطح شبکه قرار دارد، هیچ سیگنالی را به لایه دیگری نمیفرستند و در واقع فقط خروجی دارند.
حال قسمت اصلی کار شبکه فرا میرسد؛ یعنی آموختن به شبکه عصبی. ب رای اینکه به شبکه عصبی موجود توانایی آموختن بدهیم، بعد از اینکه سیگنال از لایه اول شبکه به لایه پایینی شبکه میرود، باید اطلاعات هر نورون را که روی سیگنال ما اثر میگذارد، بروزآوری و اصلاح کنیم. این رویه را به اصطلاح BP یا Back Propagation میگویند. در حقیقت با این کار یعنی مقایسه خروجیای که خودمان محاسبه کردهایم با خروجی شبکه، میتوانیم مقدار اشتباهاتی که شبکه ما انجام میدهد را به دست آوریم. مثلاً تصور کنید که در یک سلول نورون در لایه آخر شبکه یا لایه خروجی اشتباهی داریم، هر نورون در واقع رکورد تمامی نورونهایی که سیگنال از آن عبور میکند را نگهداری مینماید و میداند که کدام یک از نورونهای قبلی یا به اصطلاح نورونهای والد باعث این اشتباه میشوند. همچنین میدانیم که هر کدام از این نورونهای شبکه یک مقدار اشتباه را محاسبه کردهاند و از این طریق شبکه ما میتواند یاد بگیرد و اگر مقدار دیگری نیز به آن داده شد، میتواند توانایی محاسبه داشته باشد.
در کدهای این کلاس میبینید که دو مقدار Private به نامهای Mywight و MyDelta نوع double و جود دارد. کار اصلی این کلاس، دادن و گرفتن مقادیر نورون است و در واقع تغییرات در ورودی نورونها و وزن آنها را نگهداری میکند. حال میتوانیم یک اینترفیس برای خود نورون درست کنیم. از آن جایی که هر نورون هم مشخصات سیگنال و هم Receptor را دارد، باید از دو اینترفیسی که قبلاً در شکل های 5 و 4 توضیح داده شد، استفاده کند. همچنین هر نورون چیزی مانند یک ورودی دیگر نیز دارد که به آن Bias میگوییم. اضافه براین، باید دو متد برای انجام کار در شبکه درست کنیم: یکی برای انجام Pulse و دیگری برای یادگیری نورون. کدهای شکل 7 تمامی این اینترفیس را مشخص کرده است.
اکنون که با اینترفیسهای این شبکه ساده آشنا شدید، نوبت به ساختن اجزای اصلی برنامه میرسد. اولین کاری که باید در این قسمت انجام دهیم، ساختن کلاس اصلی نورون است که باید آن را بر اساس اینترفیسهایی که ساختهایم، درست کنیم. شکل 8 ساختار اصلی این کلاس را نشان میدهد.
اگر کمی به کدهای شکل 9 و متد Pulse دقت کنید، متوجه میشوید که این متد جمع هر ورودی یا هر خروجی که به نورون داده میشود را دریافت میکند و در Weight مربوطه که در دایرکتوری است ضرب میکند و آخرین خروجی آخرین را به متد Sigmoid انتقال میدهد و در نتیجه خروجی آخر ما عددی بین 0 و 1 خواهد بود. حال دو کلاس مهم از این شبکه باقیمانده است: اولین کلاس، کلاس اصلی شبکه یا NeuralNet است و دیگریNeuralLayer، کلاس لایههای شبکه ما است. این دو کلاس در شکل 10 به صورت مشخص نشان داده شده است، اما نکته بسیار مهم این است که کلاس NuralLayer در حقیقت مسئول نگهداری نورونهای انتقالدهنده یا فراخوانکننده متد Pulse است.
در این کلاس از فهرست نورونها استفاده شده است و این کلاس در اصل نورونها را در خود جا میدهد. در این کلاس دو متد که هیچ مقدار برگشتی ندارند، به نامهای Pulse و ApplyLearning وجود دارد. این متدها در حقیقت کار فرستادن پالس و یادگیری لایهها را به عهده دارند. کدهای شکل 11 این دو متد را نشان میدهد.
متد BackProgation یکی دیگر از متدهای این کلاس است. این متد ابتدا خطاهای خروجی نورونها را با محاسبه اختلاف عددی بین مقدار مورد انتظار ما و خروجی نورونها محاسبه میکند و وقتی که خروجی همه نورونها بروز گردید، این متد خطاهای نورونهای پنهان را نیز محاسبه میکند.
وقتی این متد توسط برنامه انجام شد، برنامه با استفاده از متد، ()Train و با استفاده از خروجیهای قبلی میتواند توانایی یادگیری داشته باشد.
کل 13 روند اجرایی برنامه را نشان میدهد. میتوانید سورس کدهای این برنامه را از قسمت دریافت فایل سایت ماهنامه شبکه دریافت کنید و قدم به قدم و با استفاده از راهنماییهایی که در آن نوشته شده است، تغییراتی در کدها انجام دهید و اولین برنامه هوش مصنوعی خود را بنوسید. منابع: |