تبليغاتX
السلام علیک یاابوالفضل العباس
Network 

آشنائی با پروتکل  DNS

DNS از کلمات Domain Name System اقتباس و  يک پروتکل شناخته شده در عرصه شبکه های کامپيوتری خصوصا" اينترنت است . از پروتکل فوق به منظور ترجمه  اسامی کامپيوترهای ميزبان و Domain به آدرس های IP استفاده می گردد. زمانی که شما آدرس www.srco.ir را در مرورگر خود تايپ می نمائيد ، نام فوق به يک آدرس IP و بر اساس يک درخواست خاص ( query )  که از جانب کامپيوتر شما صادر می شود ، ترجمه می گردد . 

تاريخچه DNS
DNS ، زمانی که اينترنت تا به اين اندازه گسترش پيدا نکرده بود و صرفا" در حد و اندازه يک شبکه کوچک بود ، استفاده می گرديد . در آن زمان ، اسامی کامپيوترهای ميزبان به صورت دستی در فايلی با نام HOSTS درج می گرديد . فايل فوق بر روی يک سرويس دهنده مرکزی قرار می گرفت . هر سايت و يا کامپيوتر که نيازمند ترجمه اسامی کامپيوترهای ميزبان بود ، می بايست از فايل فوق استفاده می نمود . همزمان با گسترش اينترنت و افزايش تعداد کامپيوترهای ميزبان ، حجم فايل فوق نيز افزايش و  امکان استفاده از آن با مشکل مواجه گرديد ( افزايش ترافيک شبکه ). با توجه به مسائل فوق ، در سال 1984 تکنولوژی DNS معرفی گرديد .

پروتکل DNS
DNS  ، يک "بانک اطلاعاتی توزيع شده " است  که بر روی ماشين های متعددی مستقر می شود ( مشابه ريشه های يک درخت که از ريشه اصلی انشعاب می شوند ) . امروزه اکثر شرکت ها و موسسات دارای يک سرويس دهنده DNS کوچک در سازمان خود می باشند تا اين اطمينان ايجاد گردد که کامپيوترها بدون بروز هيچگونه مشکلی ، يکديگر را پيدا می نمايند . در صورتی که از ويندوز 2000 و اکتيو دايرکتوری استفاده می نمائيد، قطعا" از DNS به منظور  ترجمه اسامی کامپيوترها به آدرس های IP ، استفاده می شود . شرکت مايکروسافت در ابتدا نسخه اختصاصی سرويس دهنده DNS  خود را با نام ( WINS ( Windows Internet Name Service  طراحی و پياده سازی نمود . سرويس دهنده فوق مبتنی بر تکنولوژی های قديمی بود و از پروتکل هائی استفاده می گرديد که هرگز دارای کارائی مشابه DNS نبودند .  بنابراين طبيعی بود که شرکت مايکروسافت از WINS فاصله گرفته و به سمت DNS حرکت کند . 
از پروتکل
DNS  در مواردی که کامپيوتر شما اقدام به ارسال يک درخواست مبتنی بر DNS برای يک سرويس دهنده نام به منظور يافتن آدرس Domain  می نمايد ، استفاده می شود .مثلا" در صورتی که در مرورگر خود آدرس www.srco.ir  را تايپ نمائيد ،  يک درخواست مبتنی بر DNS از کامپيوتر شما و به مقصد يک سرويس دهنده DNS صادر می شود . ماموريت درخواست ارسالی ، يافتن آدرس IP وب سايت سخاروش است .

پروتکل DNS و مدل مرجع OSI
پروتکل
DNS معمولا" از پروتکل UDP به منظور حمل داده استفاده می نمايد . پروتکل UDP نسبت به TCP دارای overhead کمتری می باشد. هر اندازه overhead يک پروتکل کمتر باشد ، سرعت آن بيشتر خواهد بود . در مواردی که حمل  داده با استفاده از پروتکل UDP با مشکل و يا بهتر بگوئيم خطاء مواجه گردد ، پروتکل DNS از پروتکل TCP به منظور حمل داده استفاده نموده تا اين اطمينان ايجاد گردد که داده بدرستی و بدون بروز خطاء به مقصد خواهد رسيد .

فرآيند ارسال يک درخواست DNS و دريافت پاسخ آن ، متناسب با نوع سيستم عامل نصب شده بر روی يک کامپيوتر است .برخی از سيستم های عامل اجازه  استفاده از پروتکل TCP برای DNS را نداده و صرفا"  می بايست از پروتکل UDP  به منظور حمل داده استفاده شود . بديهی است در چنين مواردی همواره اين احتمال وجود خواهد داشت که با خطاهائی مواجه شده و عملا" امکان ترجمه نام يک کامپيوتر و يا Domain به آدرس IP وجود نداشته باشد .
پروتکل
DNS از پورت 53 به منظور ارائه خدمات خود استفاده می نمايد . بنابراين  يک سرويس دهنده DNS به پورت 53 گوش داده و اين انتظار را خواهد داشت که هر سرويس گيرنده ای که تمايل به استفاده از سرويس فوق را دارد از پورت مشابه استفاده نمايد . در برخی موارد ممکن است مجبور شويم از پورت ديگری استفاده نمائيم . وضعيت فوق به سيستم عامل و سرويس دهنده DNS نصب شده بر روی يک کامپيوتر بستگی دارد.

ساختار سرويس دهندگان نام دامنه ها در اينترنت
امروزه بر روی اينترنت ميليون ها سايت با اسامی
Domain ثبت شده  وجود دارد . شايد اين سوال برای شما تاکنون مطرح شده باشد که اين اسامی چگونه سازماندهی می شوند ؟ ساختار DNS بگونه ای طراحی شده است که يک سرويس دهنده DNS ضرورتی به آگاهی از تمامی اسامی Domain ريجستر شده نداشته و صرفا" ميزان آگاهی وی به يک سطح بالاتر و يک سطح پائين تر  از خود محدود می گردد . شکل زير بخش های متفاوت ساختار سلسله مراتبی DNS را نشان می دهد :

internic ، مسئوليت کنترل دامنه های ريشه را برعهده داشته که شامل تمامی Domain های سطح بالا می باشد ( در شکل فوق به رنگ  آبی نشان داده شده است) . در بخش فوق تمامی سرويس دهندگان DNS  ريشه قرار داشته و آنان دارای آگاهی لازم در خصوص دامنه های موجود  در سطح پائين تر از خود می باشند ( مثلا" microsoft.com ) . سرويس دهندگان DNS ريشه مشخص خواهند کرد که کدام سرويس دهنده DNS در ارتباط با دامنه های microsoft.com و يا Cisco.com می باشد .
هر domain شامل يک Primary DNS  و يک  Secondary DNS می باشد . Primary DNS ، تمامی اطلاعات مرتبط با Domain خود را نگهداری می نمايد. Secondary DNS به منزله يک backup بوده و در مواردی که Primary DNS با مشکل مواجه می شود از آن استفاده می گردد . به فرآيندی که بر اساس آن يک سرويس دهنده Primary DNS اطلاعات خود را در سرويس دهنده Secondary DNS تکثير می نمايد ، Zone Transfer  گفته می شود .
امروزه صدها وب سايت وجود دارد که می توان با استفاده از آنان يک
Domain  را ثبت و يا اصطلاحا" ريجستر نمود . پس از ثبت يک Domain ، امکان مديريت آن در اختيار شما گذاشته شده و می توان رکوردهای منبع (RR ) را در آن تعريف نمود.  Support, www و Routers  ، نمونه هائی از رکوردهای منبع در ارتباط با دامنه Cisco.com می باشد. به منظور ايجاد Subdomain می توان از يک برنامه مديريتی DNS استفاده نمود .  www و يا هر نوع رکورد منبع ديگری را  می توان با استفاده از اينترفيس فوق تعريف نمود . پس از اعمال تغييرات دلخواه خود در ارتباط با Domain ، محتويات فايل های خاصی که بر روی سرويس دهنده ذخيره شده اند  نيز تغيير نموده و در ادامه تغييرات فوق به ساير سرويس دهندگان تائيد شده اطلاع داده می شود . سرويس دهندگان فوق ، مسئوليت Domain شما را برعهده داشته و در ادامه تمامی اينترنت که به اين سرويس دهندگان DNS متصل می شوند از تغييرات ايجاد شده آگاه و قادر به برقراری ارتباط با هر يک از بخش های Domain  می گردند.
مثلا" در صورتی که قصد ارتباط با  Support.Cisco.com را داشته باشيد، کامپيوتر شما با سرويس دهنده DNS که مسئوليت مديريت دامنه های Com. را دارد ، ارتباط برقرار نموده و سرويس دهنده فوق اطلاعات لازم در خصوص دامنه Cisco.com را در اختيار قرار خواهد داد . در نهايت سرويس دهنده DNS مربوط به Cisco.com  ( سرويس دهنده فوق ، تمامی اطلاعات مرتبط با دامنه Cisco.com را در خود نگهداری می نمايد ) ، آدرس IP کامپيوتر مربوط به Support.Cisco.com را مشخص نموده تا امکان برقراری ارتباط با آن فراهم گردد .

|+|
نوشته شده توسط سیناعباس زاده در پنجشنبه بیست و یکم تیر 1386 و ساعت 9:39
NETWORK MANGEMENT 
  • امکان سنجی و بررسی نيازها (Feasibility Study and Requirement Capturing

  • تولید Thin Client با سافت ور های XP,CE,LX ....

  • مشاوره، طراحی و نظارت در زمينه اجرا و پياده سازی انواع شبکه های کامپيوتری مبتنی بر تکنولوژيهای  (Fiber Optic, Copper, Wireless) 

  • مشاوره، ارائه تجهيزات، طرح و خدمات جامع امنيت شبكه (Network Security) 

  • طراحی، ارائه راه حل واجرای سيستم های  VoIP و IP Telephony

  • طراحی و اجرای سيستم‌ های Video Conferencing

  • طراحی و اجرای انواع شبکه‌های ماهواره‌ای و ارائه پهنای باند

  • طراحی و ارائه راه حل جهت نصب و راه اندازی ISP و اينترنت

  • ارائه راه حل و تجهيزات تسريع كننده، مديريت پهناي باند و ايجاد محدوديت بر سرويس هاي اينترنت

  •  مديريت و راهبری شبکه هاي كامپيوتري (Network Management System)

  •  ارائه كليه تجهيزات شبكه، همراه با گارانتي، پشتيباني و خدمات پس از فروش

  •  تهيه طرح اجرائی، مديريت و كنترل پروژه

  •  ارائه انواع سيستم هاي Monitor, Notebook, PC Original Intel Or HP, Thin Client  

  •  ارائه سرورهاي حرفه اي و تخصصي شبكه

  •  برگزاري سمينارهاي آموزشي و معرفي محصولات شبكه ...

  • راه حلهای جامع تجارت هوشمند و تجهیزات بانکی.

  • سیستمهای شناسایی رادیوئی RFID و کاربردهای مختلف آن در ردیابی کالا و وسایل نقلیه.

|+|
نوشته شده توسط سیناعباس زاده در پنجشنبه بیست و یکم تیر 1386 و ساعت 9:28
mobile network 

اینتل در همایش بهاره توسعه دهندگان خود ، IDF ، اعلام کرد در نسل آینده پلتفرم موبایل این شرکت به منظور افزایش سرعت بوت شدن سیستم و بالا آمدن نرم افزارها ازحافظه های فلش استفاده خواهد کرد.


سرويس خبر شبکه آنلاين - در آینده سرعت بوت شدن نوت بوک های مجهز به فناوری جدید اینتل دو برابر مدلهای کنونی موجود در بازار خواهد بود. استفاده از حافظه های فلش از نوع NAND در فناوری جدید اینتل با نام رمز رابسون ( Robson ) علاوه بر کاهش چشمگیر زمان بوت شدن سیستم باعث بالا آمدن نرم افزارها تا 5 برابر سریعتر از گذشته خواهد شد.

اینتل در همایش بهاره توسعه دهندگان خود ، IDF ، اعلام کرد در نسل آینده پلتفرم موبایل این شرکت به منظور افزایش سرعت بوت شدن سیستم  و بالا آمدن نرم افزارها ازحافظه های فلش استفاده خواهد کرد.

سین مالونی، نایب رئیس اجرایی و مدیر گروه موبایل شرکت اینتل ، ضمن اعلام اینکه نسل آینده پلتفرم موبایل این شرکت موسوم به Santa Rosa در سال 2007 میلادی در دسترس قرار خواهد گرفت برخی از ویژگی های آن همچون قابلیت واکنش فوری را که در وسایل الکترونیکی مصرفی دیده می شود را به نمایش گذاشت. وی در این باره می‌گوید :« ما به ابزارهایی نیاز داریم که با سرعت بسیار بسیار زیادی بوت شوند. درست مانند زمانی که از هواپیما پیاده می شویم و بلافاصله سیگنال های تلفن سلولی را دریافت می کنیم. »

فراهم کنندگان راهکار‌های موبایل همواره از کندی بوت شدن سیستم عامل ویندوز و خارج شدن سیستم از حالت Sleep ابراز نارضایتی کرده اند. به عقیده آنها به منظور ذخیره انرژی سیستم باید بتواند در زمان بیکاری در حالت کم مصرف یا وضعیت Sleep قرار گرفته و در عین حال هنگامی که کاربر می خواهد به اطلاعات دسترسی داشته باشد به سرعت از این وضعیت خارج شود. به گفته مالونی فناوری رابسون با استفاده از حافظه های فلش NAND زمان بوت شدن سیستم را به نصف کاهش داده و سرعت بالا آمدن نرم افزار ها را تا 5 برابر افزایش خواهد داد. مالونی در همایش توسعه دهنده گان اینتل سیستمی مجهز به 256 مگابایت حافظه NAND به صورت onboard  را به نمایش گذاشت. اما این مقدار حافظه بسته به نظر سازندگان نوت بوک قابل افزایش خواهد بود. وی ضمن اشاره به موضوع هزینه استفاده از این حافظه ها می گوید: « در برخی موارد شما می توانید کل سیستم عامل را بر روی این حافظه ها اجرا کنید. اما این کار هزینه زیادی در بر خواهد داشت. »

پلتفرم Santa Rosa از نسل اینده پردازنده های موبایل اینتل با کد رمز Merom پشتیبانی خواهد کرد. این پردازنده ها در نیمه دوم سال جاری میلاد ی عرضه خواهند شد و در سوکت‌های پلتفرم موبایل فعلی اینتل یعنی Napa نیز قابل استفاده خواهند بود.

به گفته اینتل مصرف باتری و اتلاف حرارتی پردازنده های دو هسته‌ای Merom به اندازه پردازنده های موبایل فعلی این شرکت می باشد اما کارایی آنها افزایش یافته است. پردازنده های Merom بر اساس ریزمعماری جدید Core که در IDF معرفی شد طراحی و تولید خواهند شد. مالونی همچنین در این همایش از پشتیبانی پلتفرم Santa Rosa از استاندارد جدید 802.11n ، نسل جدید Wi-Fi با سرعت انتقال بالاتر اطلاعات و قابلیت ورودی و خروجی چندگانه MIMO ، خبر داد. وی همچنین از تراشه های رادیویی جدیدی پرده برداشت که از هر دو استاندارد Wi-Fi و WiMax پشتیبانی می کنند. به گفته اینتل این تراشه ها نیمه دوم سال جاری عرضه خواهند شد.
  
طبق گفته مالونی گرچه اینتل تحقیقات خود را در زمینه پشتیبانی از شبکه های مخابراتی نسل سوم، 3G ، آغاز کرده است اما تا زمان برگزاری IDF آمادگی معرفی محصولی در این حوزه را ندارد. وی نیاز به پشتیبانی از برخی استانداردها در ایالات متحده را دلیل  پیچیدگی بیشتر شبکه های 3G می داند. پیش از این برخی از تولید کنندگان نوت بوک در ایالت متحده  HP  و IBM شبکه های بی‌سیم  3G  به صورت یکپارجه پشتیبانی کرده‌اند با این حال امروزه استاندارد بی سیم دیگری از سوی کریرهای شبکه های سلولی در دسترس قرار گرفته است.

اینتل همچنین در همایش IDF پلتفرم جدیدی را تحت عنوان فوق قابل حمل یا Ultramobile معرفی کرد. اجزای سخت افزاری طراحی شده برای این پلتفرم  به انداره‌ای کوچک هستند که کاربران ضمن داشتن سیستم‌هایی با قابلیت جابجایی زیاد میتوانند در مقایسه با تلفن های هوشمند کنونی به شیوه بسیار موثرتری به محتوای وب دسترسی داشته باشند. به عقیده مالونی فروشندگان اشکال ظاهری مختلفی را برای این پلتفرم آزمایش خواهند کرد اما مدل های اولیه سیستمهای فوق قابل حمل شبیه یک tablet PC کوچک خواهند بود.

|+|
نوشته شده توسط سیناعباس زاده در پنجشنبه بیست و یکم تیر 1386 و ساعت 9:27
Internet Service 

درباره ساختار اینترنت - یک

در این مقاله با نکاتی ابتدایی درباره ساختار اینترنت و مفاهیمی مثل IP، دامنه‌ها، DNS، پورت‌ها و انواع پروتکل‌ها آشنا می‌شوید. در ادامه این سلسله مقالات سعی خواهیم کرد شما را با ساختار و طرزکار اینترنت بیشتر آشنا کنیم.

اینترنت را می شود وِِبی عظیم متشکّل از میلیون‌ها کامپیوتر مختلف دانست که از شبکه‌های متفاوت، با کاربران گوناگون، و دارای علایق و اهداف محاسباتی متعدد بوجود آمده باشد، ولی در نهایت به صورت یک شبکه جهان شمول واحد و در مقیاس همه عالم به هم متصل شده است. تا کنون، طراحی و ایجاد اینترنت بر اساس معماریهای گوناگونی انجام گرفته است. از جمله مهمترین آنها باید معماری دو ردیفه (two-tier archiecture)، معماری سه ردیفه (three-tier archiecture)، و نیز چند ردیفه (multi-tier) را برشمرد.

در اینترنت به طور کلی می‌توان همه کامپیوترها را به دو دسته تقسیم کرد. سرویس‌گیرنده / سرویس‌دهنده (Client / Server). سرویس‌دهندگان، خدماتی را مانند وب و FTP برای سایر سیستم‌ها فراهم می‌کنند و سرویس‌گیرندگان، سیستم‌هایی که برای دستیابی به این خدمات به سرویس‌دهندگان وصل می‌شوند. یک کامپیوتر سرویس‌دهنده می‌تواند چند سرویس را فراهم کند. برای مثال روی یک سرویس‌دهنده، یک نرم‌افزار وب سرور و میل سرور نصب کنیم.

نشانی آی‌پی

به هر رایانه در اینترنت یک (و در مواقعی چند) نشانی منحصر به فرد به نام "نشانی پروتکل اینترنت" اختصاص داده می‌شود که به اختصار آن را آی‌پی می‌گوییم. آی‌پی از چهار بخش عددی تشکیل شده که با نقطه از هم جدا می‌شوند مانند 199.211.45.5. هر بخش می‌تواند از 0 تا 255 باشد ۸ بیت یا ۱ بایت. پس 2 بتوان 64 آدرس مختلف داریم. هر رایانه در اینترنت آی‌پی یگانه‌ای دارد (در این مورد استثناهایی وجود دارد). سرویس‌دهندگان اینترنت عموما آی‌پی‌های ثابتی دارند که تغییر نمی‌کند. کامپیوترهایی که با خط تلفن به اینترنت وصل می‌شوند آی‌پی پویا دارند، یعنی در هر تماس، آی‌پی آن‌ها را ISP اختصاص می‌دهد و احتمالاً هر بار که به اینترنت وصل می‌شوند آی‌پی متفاوتی می‌گیرند. برای دیدن آی‌پی رایانه خود می‌توانید از برنامه winipcfg.exe در ویندوز ۹۵ و ۹۸ و ME یا ipconfig.exe در ویندوز 2000 و XP استفاده کنید. اگر از لینوکس یا یونیکس (یا سیستم‌های مبتنی بر آن‌ها (استفاده میکنید، از دستور ifconfig استفاده کنید.

 

آی پی‌ها دارای ۴ کلاس هستند:

  • کلاس A: عدد اول از 0 تا 126. مثال:126.2.3.1

  • کلاس B: عدد اول از 127 تا191. مثال: 154.5.1.5

  • کلاس C: عدد اول از 191 تا 223. مثال:203.52.45.812

  • کلاس D: عدد اول از 223 تا انتها. مثال:254.23.54.9

 

نام دامنه

معمولا به خاطر سپردن یک رشته از اعداد که نشانی آی‌پی را تشکیل می دهند مشکل است. همچنین نشانی آی‌پی ممکن است تغییر کند. به همین خاطر سرویس‌دهندگان از اسم‌های قابل درک توسط انسان که نام دامنه (domain name) نامیده می‌شود، استفاده می‌کنند. دامنه نام مجموعه‌ای از سرویس‌دهندگان است. برای مثال در سایت www.wikipedia.com بخش wikipedia.com نام دامنه است که از دو بخش تشکیل شده com. دامنه رده بالا و wikipedia دامنه است. دو نوع دامنه رده بالا داریم: دامنه‌های سازمانی که شامل net .com .edu .org .mil .gov .info .biz. و دامنه‌های جغرافیایی که از اسم اینترنتی کشورها (مثل ir. برای ایران) استفاده می‌شود. www نام سرویس‌دهنده وب است به همین شکل ftp.wikipedia.com آدرس کامپیوتر سرویس‌دهنده ftp و mail.wikipedia.com آدرس سرویس‌دهنده پست الکترونیکی در حوزه wikipedia.com است.

 

DNS

سیستم نام حوزه وظیفه ترجمه نام سرویس‌دهندگان را به آدرس IP دارد. فرض کنید آدرس سایت www.wikipedia.com را در جستجوگر تایپ می‌کنید. کاوشگر این نام را به سرویس‌دهنده DNS در ISP شما می‌فرستد. سرویس‌دهنده DNS با برقراری ارتباط با سرویس‌دهنده نام ریشه (root name server)، سرویس‌دهنده نام com را پیدا کرده و آدرس IP ی wikipedia.com را از سرویس‌دهنده com بدست می آورد. در مرحله بعد با DNS در wikipedia.com تماس می‌گیرد تا آدرس IP سرویس‌دهنده وب www.wikipedia.com را بدست بیاورد.

 

پورت

هر کامپیوتر سرویس‌دهنده سرویس خود را از طریق یک پورت فراهم می‌کند. برای هر سرویس یک پورت. برای مثال اگر یک سرویس‌دهنده سرویس وب و FTP را فراهم می‌کند، سرویس‌دهنده وب روی پورت ۸۰ قابل استفاده است و FTP روی پورت ۲۱ قابل دسترسی است. بنابر این سرویس‌گیرنده از طریق آدرس IP و پورت به یک سرویس‌دهنده متصل می‌شود.

اگر یک سرویس‌دهنده اتصال به یک پورت را (از بیرون) قبول کند و اگر دیوار آتش از پورت‌ها محافظت نکند، شما می‌توانید به پورت متصل شوید و از سرویس آن استفاده کنید. این شماره‌ها اجباری نیستند. شما می‌توانید یک نرم‌افزار وب سرور را نصب و آن را روی پورت ۹۱۸ یا روی هر پورت آزاد دیگر قرار دهید. در این صورت اگر نام حوزه xxx.yyy.com باشد برای متصل شدن به سرویس‌دهنده باید از آدرس زیر استفاده کنیم: xxx.yyy.com:918 اگر هیچ شماره پورتی را مشخص نکنید کاوشگر تصور می‌کند که سرویس‌دهنده روی پورت ۸۰ است.آدرس پورت‌ها محدود است.

 

پروتکل

زمانی که سرویس‌گیرنده از طریق یک پورت خاص به سرویس‌دهنده وصل شد، می‌توانیم از طریق یک پروتکل به سرویس‌دهنده دسترسی داشته باشیم. پروتکل یک راه از پیش تعریف شده برای گفتگو با سرویس‌دهنده است. همچنین پروتکل‌ها متن ساده و قابل درک توسط انسان هستند. فراموش نکنید پروتکل قبل از آدرس‌های اینترنتی می‌آیند. برای مثالhttp://www.web.com که http:// پروتکل وب است یا ftp://ftp.site.com که ftp:// پروتکل FTP یا انتقال فایل است. شاید ساده‌ترین پروتکل، پروتکل Daytime باشد. اگر با پورت ۱۳ روی یک سیستم که از daytime پشتیبانی می‌کند متصل شوید سرویس‌دهنده، زمان جاری را بر می‌گرداند و ارتباط را قطع می‌کند.

 

اینترنت امروزی

اینترنت هم اکنون دارای قراردادهای گوناگونی در مورد پروتکل‌های ارتباطی و شامل اطلاعات فنی آنها است که بوسیله آنها نوع تبادل اطلاعات در سطح شبکه اینترنت توضیح داده می‌شود. این پروتکل‌ها توسط گروه‌های کاری مهندسی اینترنت که برای اعمال نظر توسط عموم مردم نیز گشوده بوده و هست، تهیه شده‌اند. این گروه‌ها مدارکی تهیه کردند که چون در حین تشکیل از همگان می‌خواست که نظرات خود را در مورد آنها بدهند، به مدارک درخواست برای اعلام‌نظر یا (RFCs) معروف شدند. بعضی از این مدارک تا جایی پیشرفت کردند که توسط گروه تخصصی معماری اینترنت به عنوان استاندارد اینترنت تعیین گردیدند.

 

پروتکل‌های اینترنت

بعضی از معروف‌ترین و پر استفاده‌ترین پروتکل‌های موجود در اینترنت عبارتند از:

اگر می‌خواهید در مورد هر پروتکل بیشتر بدانید روی لینک آن کلیک کنید و اطلاعات بیشتر را در ویکی‌پدیای فارسی ببینید تا به تدریج در مقاله‌های بعد توضیحات مفصل ‌تری راجع به هر کدام بدهیم.

بعضی از سرویس‌های پراستفاده و محبوب در اینترنت که بر اساس این پروتکل‌ها کار می‌کنند عبارتند از: پست الکترونیک، USENet، اشتراک گذاری فایل، World Wide Web، Gopher ،session access ،WAIS ،finger، IRC (چت اینترنتی)، MUDها. از همه این سرویس‌ها پست الکترونیکی و وب از همه بیشتر استفاده می‌شوند و حتی سرویس‌های زیادی نیز بر اساس آنها ساخته شده‌اند مانند mailing list و وب لاگ. اینترنت همچنین توانایی سرویس‌دهی همزمان یا زنده را نیز فراهم آورده است مانند رادیو تحت وب و Webcast که قابل دسترسی در هر نقطه‌ای از دنیا هستند.

 

|+|
نوشته شده توسط سیناعباس زاده در پنجشنبه بیست و یکم تیر 1386 و ساعت 9:25
RUP 

مروري بر RUP و قابليت‌هاي آن در توليد نرم‌افزار


 

چه چيز مي‌تواند يك پروسه توليد نرم‌افزار را توصيف كند؟ آيا منظور از پروسه، آماده‌سازي نرم‌افزار صرفاً براي ارائه در بازار است؟ مسلماً در هر كاري وجود يك سامانه و فرايند كاري ضروري است؛ ولي چه چيزي مي‌تواند موجب ايجاد سرعت و كيفيت در فرايند توليد يك نرم‌افزارشود؟ لزوماً طراحي و پياده‌سازي يك فرايند يكپارچه و منطقي مي‌تواند چنين نتيجه‌اي در بر داشته باشد. بدين منظور امروزه از روشي استفاده مي‌شود كه اصطلاحاً RUP ناميده مي‌شود. به حداقل رساندن حجم پروسه توليد يك نرم‌افزار همزمان با حفظ كيفيت و صرفه‌جويي در زمان از مهمترين ويژگي‌هاي اين روش مي‌باشند. معمولاً براي يك شركت توليد نرم‌افزار، سرعت عمل به موقع براي پاسخ‌گويي به تقاضا و شرايط اجتماعي اهميت دارد، اما گاهي اين شتابزدگي سبب فدا شدن كيفيت مي‌گردد. RUP با ارائه يك چارچوب منطقي علاوه بر تعيين زمانبندي مناسب، كيفيت مورد نظر توليد كننده و استفاده كننده نرم‌افزار را تأمين مي‌نمايد. در اين مقاله ضمن مروري بر RUP به عنوان روش يكپارچه توليد نرم‌افزار، قابليت‌هاي آن در افزايش سرعت توليد نرم‌افزار و حفظ كيفيت آن برشمرده مي‌شوند.

|+|
نوشته شده توسط سیناعباس زاده در پنجشنبه بیست و یکم تیر 1386 و ساعت 9:24
IMAGE PROCESSING 

سلام!

متني که الان مطالعه مي‌کنيد يک نمونة کاملاً منحصر بفردي است. چون شبيه هيچ چيز ديگري جز خودش نيست! مي‌خواهيم کمي آنچه راجع‌ بهش صحبت کرديم را دوره کنيم و روي Matlab به صورت عملي ببينيم و باور کنيم که مي‌شود... سعي شده همه چيز از اول شرح داده شود. اگر حوصلة موضوعات ابتدايي کار نداريد مي‌توانيد از شمارة 4 شروع به خواندن کنيد. اما توصيه عملي اين است که از اول شروع کنيد چون اين نوشته يک راهنماي قدم به قدم است. پس بهتر است پله‌ها را 4 تا يکي نکنيم.

 


1. آشنايي با Matlab و Image Processing Toolbox

همه با Matlab آشنا هستيم و حداقل مي‌دانيم که چيز بدردخوري است. پس از صحبت دربارة اين مي‌گذريم. اما Image Processing Toolbox از امکانات جنبي اين برنامه است. براي اينکه مطمئن شويد که اين Toolbox  روي Matlab  شما نصب شده است؛ دستور ver را اجرا کنيد. اين دستور ليست هرچه که از Matlab روي رايانه شما نصب شده است را ارائه مي‌دهد. بين Matlab 5.x و Matlab 6 براي کار پردازش تصوير تفاوت چنداني وجود ندارد اما مثل هميشه نسخة جديدتر امکانات بيشتري دارد که البته فعلا با آنها کاري نداريم.

دستور‌هاي معرفي شده: ver

 


2.   چگونه يک فايل تصوير را در Matlab باز کنيم

Matlab می‌تواند فايل‌هاي گرافيکي با فرمت‌هاي JPEG, TIFF, GIF, BMP, PNG, HDF, PCX, XWD, ICO, CUR را به عنوان فايل گرافيکي بخواند. مثلاً براي وارد کردن تصويري به نام cameraman.tif به فضاي Matlab کافي است از دستور imread استفاده کنيم:

MyImage=imread('cameraman.tif','tif');

توجه داشته باشيد که فايلي که دستور خواندنش را مي‌دهيد بايد براي برنامه قابل دسترس باشد. يعني يا بايد در مسير (Path) Matlab‌ باشد يا اينکه در پرونده‌اي (folder) قرار داشته باشد که در حال حاضر برنامه به آن دسترسي دارد. براي اينکه بدانيد که Matlab براي پيدا کردن فايلي که دستورش را داديد کجا را خواهد گشت اينکارها را بکنيد: از دستور path براي اينکه بدانيد کدام پرونده‌ها جزء مسير پيش‌فرض Matlab  است و از دستور dir براي اينکه بدانيد که Current Directory چيست؛ استفاده کنيد.

خب تا اينجا يک فايل تصوير را در محيط Matlab وارد کرده‌ايم. همانطور که مي‌دانيم يک تصوير ديجيتال بر روي کامپيوتر در قالب يک ماتريس ذخيره مي‌شود. پس MyImage مثل همه متغيرهاي Matlab يک ماتريس است. براي اينکه بدانيم فايل خوانده شده از چه فرمتي است(سياه سفيد، يا Gray Scale يا رنگي ) مي‌نويسيم:

imfinfo('cameraman.tif')

اين دستور را اجرا کنيد و ببينيد چه مي‌نويسد... اما اگر بخواهيد بدانيد که ماتريس ذخيره شدة MyImage از چه نوعي است کافي است بنويسد: whos و ليست متغييرهاي مقيم شده در حافظه و نوع و اندازه آنها را ببينيد.

دستورهاي معرفي شده: imread, imfinfo, whos, path, dir

 


 

 

3.   چطور تصوير را ببينيم؟

خب حالا مي‌خواهيم تصوير را که در يک ماتريس ذخيره شده است را ببنيم. بنويسيد:

imshow(MyImage)

جالب است نه؟ فکر مي‌کنيد اگر بخواهيم دوتا تصوير را با هم ببنيم بايد چکار کنيم؟ اين را امتحان کنيد:

YourImage=imread('tire.tif','tif');

figure

subplot(1,2,1), imshow(MyImage), title('MyImage')

subplot(1,2,2), imshow(YourImage), title('YourImage')

با اجراي اين دستورات به آن چيزي که اتفاق افتاد توجه کنيد؛ حتما متوجه مي‌شود که هرکدام از اين دستورات چکار مي‌کنند.

دستورهاي معرفي شده: imshow, subplot, title, figure

 


 

 

4.   تصوير را خوانديم حالا چکار کنيم؟

کمي نويز دست‌وپا مي‌کنيم و به تصوير اضافه مي‌کنيم که بعداً راهي پيدا کنيم حذفش کنيم:

imagen=imnoise(MyImage,'salt & pepper');

imshow(imagen)

دستور imnoise نويزهاي مختلفي را در اختيار ما مي‌گذارد که به تصوير اضافه کنيم. افزودن نويز براي شبيه سازي اشکالاتي است که ممکن است به هر سيستم پردازش تصوير وارد شود. اينجا فرض کرده‌ايم که نويز «نمک و فلفل» به تصوير اضافه شده است! اسمش عجيب غريب است؟ اين نويز را روي تصوير تلويزيون‌تان اگر آنتن درست تنظيم نباشد حتما ديده‌ايد. مي‌دانيم که وقتي نويز داريم با يک فيلتر حذفش مي‌کنيم. فيلتري که انتخاب مي‌کنيم بايد مناسب نويزي باشيد که روي تصوير سوار شده است. بهترين فيلتر براي نويز «نمک و فلفل» فيلتر ميانه است که در Matlab با دستور Medfilt2 قابل استفاده است:

figure

imagefilt=medfilt2(imagen);

imshow(imagefilt)

براي دست‌گرمي هم که شده سعي کنيد تصوير نويز و تصوير فيلتر شده را در يک صفحة واحد نمايش دهيد.

دوباره به تصوير MyImage نگاه کنيد. فرض کنيد مي‌خواهيم مارک دوربين درون عکس را از روي شکل آن تشخيص دهيم. بازهم فرض کنيد به روشي که بعدا بيشتر راجع بهش صحبت مي‌کنيم فهميديم که دوربين درون اين مختصات از تصوير قرار دارد. بين سطر 59 تا 84 و ستون 131 تا 170.  پس از همين مختصات تصوير را با دستور imcrop مي‌بريم.

imagecrop=Imcrop(MyImage,[ 131 59 39 25]);

در اين دستور مختصات برش را اينطور مي‌نويسم ] ارتفاع ,پهنا ,حداقل y ,حداقل x [. اين قسمت بريده شده را نمايش بدهيد و ببينيد. در مرحله بعد سيستم تشخيص‌دهندة نوع دوربين احتياج دارد که اندازه تصوير مقدار خاصي مثلاً 120x100 باشد. پس بايد اندازه تصوير برش داده شده را تغيير دهيم:

imagesz=imresize(imagecrop,[120 100]);

تصوير جديد را نگاه کنيد. مي‌بينيد که به اندازه جديد در آمده است.

دستورهاي معرفي شده: imnoise, medfilt2, imcrop, imresize

 


 

 

5.   کمي خلاقيت مهندسي!

يک فايل جديد باز مي‌کنيم که عکسي از دانه‌هاي برنج است. مي‌خواهيم دانه‌هاي برنج را درون عکس بشماريم. اين عکس از قسمت برنج مرغوبِ خط توليد يک کارخانه است. شمارش دانه‌هاي برنج به کارخانه برنج سازي کمک مي‌کند بداند چند درصد برنج‌هايش درجه يک هستند. اين دستورات را اجرا کنيد:

p=imread('rice.tif');

re=edge(p,'sobel');

imshow(re)

 

re2=edge(p,'canny');

figure, imshow(re2)

البته اول تصوير اصلي برنج‌ها را ببينيد و سپس مقايسه کنيد. دو روش Sobel  و Canny براي پيدا کردن لبه‌ها مورد آزمايش قرار گرفته است. مشخص است که روش Canny‌ اينجا بهتر جواب داده است. دو کار به عهده شماست.

a.      الگوريتمي پيدا کنيد که تعداد برنج‌هاي درون عکس را بشمارد.‌(راهنمايي: اگر بتوانيد تعداد مسيرهاي بسته‌ی درون تصوير لبه‌ها را بشماريد تقريباً همه برنج‌ها را شمرده‌ايد)

b.     کشف کنيد که روش Canny براي مشخص کردن لبه چه روشي است و چطور عمل مي‌کند و چرا از روش سادة Sobel بهتر است.

براي بهتر شده نتيجه کار با روش Sobel بهتر است از عملگرهاي ريخت‌شناسي (morphological) استفاده کنيم. سعي مي‌کنيم قسمت‌هاي نزديک به هم لبة هر برنج را به هم متصل کنيم. با اين کار لبة برنج‌ها را کامل مي‌کنيم و خوردگي‌ها را از بين مي‌بريم. اما قبل از ادامه کار دستور close all را امتحان کنيد. اين دستور همه figure هايي که باز هستند را مي‌بندد تا زياد شلوغ نشود! حالا اين دستورها را اجرا کنيد:

figure, imshow(re)

re4=bwmorph(re,'close');

re5=bwmorph(re4,'bridge');

figure, imshow(re5) , title(‘after morphological operations’)

آخرين تصوير لبه‌ها را با تصوير اوليه لبه‌ها که همان re است مقايسه کنيد. مي‌بينيد که در متصل کردن قطعات پيشرفت خوبي داشتيم. اولين دستور bwmorph عمل Closing را روي تصوير انجام مي‌دهد و دومين دستور عمل Bridge. براي اينکه بدانيد هرکدام از اين دستورات چکار مي‌کنند از help bwmorph استفاده کنيد.

براي اينکه بهتر کار با اين دستورها را ياد بگيريم سري به Demoهاي Matlab مي‌زنيم. در صفحه Matlab بنويسيد: demo و با اجرا کردن اين دستور ليست demo‌هاي مختلف ظاهر مي‌شود. Image Processing Toolbox را انتخاب کنيد. و در ليست کناري Edge Detection را انتخاب کنيد. بقيه ماجرا با خودتان!

دستورهاي معرفي شده:edge, bwmorph, demo

 

 


 

6.   هيستوگرام تصوير:

تا به حال تصويرهاي Gray Scale را بررسي کرديم. از اين به بعد هم همين کار را مي‌کنيم! با اين تفاوت که اگر تصوير ورودي رنگي بود اول Gray Scale‌اش مي‌کنيم و بعد کارها را ادامه مي دهيم.

تصوير flowers.tif  را با دستور imread در ماتريس flowers ذخيره کنيد. از دستور rgb2gray براي تبديل فرمت رنگي تصوير به Gray Scale  استفاده کنيد. حالا هيستوگرام تصوير را رسم کنيد. بعد يکي از قله‌هاي نمودار هيستوگرام را انتخاب کنيدکه بين دوتا دره باشد. کاري کنيد که فقط اين قله درون هيستوگرام باقي بماند. بعد با دستور im2bw تصوير را از Gray Scale به سياه سفيد تبديل کنيد و نتايج را مقايسه کنيد!

 چطور شد؟ توضيح مي‌دهم، اينطوري:

flowers=imread('flowers.tif','tif');

flowersgray=rgb2gray(flowers);

imhist(flowersgray)

من هيستوگرام را نگاه کردم و شما هم نگاه کنيد. (هيستوگرام تصوير را بادستور imhist کشيدم) قلة بين 50 و 100 را انتخاب مي‌کنم. حالا يک ماتريس جديد مي‌سازم طوري که فقط جاهايي که مقدار ماتريس flowersgray در محدودة 50 تا 100 است، در ماتريس جديد 0 باشد و باقي جاها 1 باشد.(يعني يک ماتريس باينري يا سياه سفيد):

f=ones(size(flowersgray));

f(find(flowersgray>50&flowersgray<100))=0;

imshow(f)

دستورهاي بالا به اين معني است: ماتريس f را هم‌اندازه ماتريس flowersgray بساز. همة درايه‌هايش را يک بگذار. بعد دستور find درون ماتريس flowersgray جستجو مي‌کند و شماره درايه‌هايي از ماتريس flowersgray را به من مي‌دهد که در شرط روبه‌رو برايش مشخص شده. (همان محدودة 50 تا 100). اين درايه‌هاي بخصوص را در ماتريس f از 1 به 0 تبديل مي‌شود. نتيجه را باهم ببينيم!

اگر دقت کنيم مي‌بينيم که مجموعة گلدون از پس زمينه جدا شد. آنهم تنها با انتخاب يک قله درون هيستوگرام... حالا من از کجا فهميدم که اين قله مهم است؟... لابد علم غيب داشتم؟... بعدا راجع به انتخاب قله‌ها بيشتر خواهيم فهميد.

حالا دستور  im2bw را - که تصوير را سياه سفيد مي‌کند -  امتحان کنيد.

bwflowers=im2bw(flowersgray,gray);

imshow(bwflowers)

دستور im2bw حدي تعيين مي‌کند و درايه‌هايي که از آن حد کمتر باشند را صفر و آنهايي که بيشتر هستند را يک مي‌کند. آيا متوجه تفاوت دو روش شده‌ايد؟ اگر به جاي گلدون در تصوير مورد نظر، عکس پرسنلي افراد بود چه اشکالي در روش im2bw وجود داشت؟

دستورات معرفي شده: rgb2gray, imhist, ones, find

 


7.   اگر ما روبات بوديم...

خب فرض کنيد برنامه‌اي براي يک روبات مي‌نويسيد که با استفاده از يک دوربين به يک بازوي دقيق فرمان مي‌دهد که سکه‌هاي «اسکروچ» را بردارد و روي هم قرار دهد. براي اينکار لازم است محل دقيق سکه‌ها را تشخيص دهيم تا فرمان مناسب براي بازو صادر شود. برنامة زير اين کار را انجام مي‌دهد. دقت کنيد ببينيد که چطور اينکار را انجام مي‌دهد:

coins = imread('eight.tif');

BW=~im2bw(coins,.75);

imshow(BW)

L = bwlabel(BW);

stats = imfeature(L,'Centroid');

stats(7)

خروجي همان متغيير stats است. اين متغيير 7 عنصر دارد. درحالي که 4 سکه بيشتر درون تصوير وجود ندارد! اشکال از کجاست؟.... راه حلي هم براي اين به ذهنتان مي‌رسد؟

دستورهاي معرفي شده: bwlabel, imfeature

|+|
نوشته شده توسط سیناعباس زاده در پنجشنبه بیست و یکم تیر 1386 و ساعت 9:23
لبیک یا حسین مظلوم 

Image and video hosting by TinyPic

|+|
نوشته شده توسط سیناعباس زاده در دوشنبه یازدهم تیر 1386 و ساعت 17:12





Powered by WebGozar

هیئت تبریز