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

اعتبار سنجی اطلاعات ورودی کاربران در فرم های وب

 

مقدمه :

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

برای سنجش داده های ورودی کاربران در فرم های وب و کنترل اینکه این اطلاعات در فرمت مورد نظر ما هستند ، در برنامه نویسی ASP.NET ، از کنترل های اعتبار سنج ( Validator Controls ) استفاده می شود . کنترل های اعتبار سنج در ASP.NٍET به 2 دسته کلی تقسیم می شوند :

·    دسته اول کنترل هایی هستند که عملیات اعتبار سنجی اطلاعات را به صورت اتوماتیک انجام داده و نیازی به کدنویسی اضافه توسط کاربر ندارند . برای مثال می توان به کنترل های RequiredFieldValidator و یا CompareValidator اشاره نمود .

·    دسته دوم کنترل هایی هستند که کاربر می تواند طبق نیاز و سلیقه خود ، جهت اعتبار سنجی داده های ورودی برای آنها کدنویسی مورد نظر خود را انجام می دهد . این کنترل ها بدون کدنویسی قادر به انجام کار خاصی نیستند . از این دسته کنترل ها می توان به کنترل CustomValidator اشاره کرد .

توضیح راهکار :

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

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

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

1.   آدرس Email وارد شده توسط کاربر ِ ، یک آدرس Email در فرمت استاندارد باشد . مسلما در این مورد نمی توانیم بفهیم که آیا ایمیل وارد شده واقعا متعلق به کاربر مورد نظر است و یا اصلا چنین آدرس ایمیلی وجود دارد یا خیر . بلکه فقط می خواهیم مطمئن شویم که آدرس وارد شده با فرمت استاندارد آدرس ایمیل ( Someone@sth.xyz ) مطابقت داشته باشد . این عمل توسط کنترل RegularExpressionValidator انجام می شود .

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

3.   سن وارد شده توسط کاربر در محدوده اعداد مورد نظر باشد . این عمل توسط کنترل RangeValidator انجام می شود .

4.   در کادرهایی که می بایست کاربر اطلاعات لازم را وارد کند ، از وارد شدن آنها مطمئن شویم ، تا کاربر آنها را خالی رها نکند .


موضوعات مرتبط: الكترونيك، كامپيوتر
برچسب‌ها: اعتبار سنجی, داده های ورودی, کد های جاوا اسکریپت, برنامه نویسی
[ دوشنبه هشتم اسفند ۱۳۹۰ ] [ 21:34 ] [ سیدمهدی میرشفیعی ]

مقدمه اي بر زبان سي شارپ C#  و SQLSERVER

 

C# از دو زبان C++ و Java متولد شده است! حاوي بسياري از جنبه هاي C++ مي باشد اما ويژگي هاي شيء گرايي خودش را از جاوا به ارث برده است.

 C# اگرچه از C++ گرفته شده است اما يك زبان "خالص" شيء گرا (Object oriented) مي باشد. هر دو زبان ياد شده جزو زبانهاي هيبريد محسوب مي شوند اما طراحان C# اين مورد را به اندازه ي C++ مهم تلقي نكرده اند. يك زبان هيبريد اجازه ي برنامه نويسي با شيوه هاي مختلف را ميسر مي كند. دليل اينكه C++ هيبريد است ، اين است كه قرار بوده تا با زبان C سازگار باشد و همين امر سبب گرديده تا بعضي از جنبه هاي C++ بسيار پيچيده شوند.

زبان سي شارپ فرض اش بر اين است كه شما مي خواهيد تنها برنامه نويسي شيء گرا انجام دهيد و همانند C++ مخلوطي از برنامه نويسي رويه ايي (Procedural) و شيء گرا را نمي خواهيد به پايان برسانيد. بنابراين بايد طرز فكر خودتان را با دنياي شيء گرايي تطبيق دهيد. در ادامه خواهيد ديد كه در سي شارپ هر چيزي شيء است حتي يك برنامه ي سي شارپ.

 

تعريف متغيرها در سي شارپ:

سي شارپ عناصري را كه بكار مي گيرد همانند اعداد و كاراكترها ، به صورت نوع ها (Types) طبقه بندي مي كند. اين انواع شامل موارد زير مي شوند :

نوع هاي پايه ايي از پيش تعريف شده مانند اعداد و غيره.

نوع هاي تعريف شده توسط كاربر كه شامل STRUCT ها و ENUM ها مي شوند.

نحوه ي تعريف متغيرها از نوع هاي پايه ايي از پيش تعريف شده :

همانطور كه مي دانيد از متغيرها براي نگهداري اطلاعات استفاده مي شود. در سي شارپ ابتدا نوع متغير و سپس نام متغير و در آخر يك سمي كولون بكار برده مي شود. براي مثال :

Int a;

كه در اينجا متغير a بعنوان يك متغير حاوي اعداد صحيح تعريف شده است.

 

نكته ي مهمي كه در اينجا حائز اهميت است ، مقدار دهي اوليه ي متغيرها مي باشد. در غير اينصورت كامپايلر سي شارپ برنامه را بايك خطا متوقف مي كند. دليل اين امر هم اين است كه از استفاده از متغيرهاي بدون مقدار در طول برنامه جلوگيري شود تا ميزان خطاهاي در حين اجرا كاهش يابد.

نوع هاي داده اي در سي شارپ : C# DataTypes

نوع هاي داده اي رو مي توان بسته به محل قرار گيريشان در حافظه به سه دسته تقسيم كرد:

1.      Values Types

2.      Reference Types

3.      Pointer Types

اگرحافظه رو به دو قسمت Stack و Heap تقسيم كنيم. مقادير تمامي متغيير هاي نوع اول در حافظه Stack قرار مي گيرد و به همين جهت داراي رفتارهاي خاصي مي شود كه بيشتر توضيح خواهم داد. مقادير متغيير هاي نوع دوم در حافظه Heap قرار مي گيرند.

Value Type : 

همان طور كه گفتيم مهمترين خاصيت اين نوع متغيير ها قرارگيري مقادير آن ها در حافظه Stack مي باشد كه به همين دليل رفتارهاي خاصي خواهند داشت. اين نوع متغيير ها شامل : Primitive Types يا همان نوع هاي بدوي - Enum ها و Struct ها مي باشند.

Numeric Types , Boolean , Char نوع هايي هستند كه به آن ها
 Primitive Types
مي گوييم. نوع هاي عددي شامل : int , double ,

decimal , long , short , byte و ... كه مقادير مختلفي از اعداد رو داخل خوشان نگه مي دارندBoolean ها متغيير هايي هستند كه فقط مقدار True و False به معني مثبت يا منفي رو داخل خوشان نگه مي دارند. و در نهايت Char ها همان كاراكتر ها هستند.

گفتيم كه ValueType ها داراي رفتار خاصي هستند. اما چه رفتاري؟

وقتی یک متغییر از یکی از نوع های Value Type مثل int ایجاد می کنیم مقدار آن داخل حافظه Stack قرار می گیرد و وقتی از آن متغییر یک کپی میگیریم مقدار متغییر قبلی داخل متغییر جدید کپی می شود.یعنی اگر مقدار متغییر دوم رو عوض کنیم تاثیری روی مقدار متغییر اول نخواهد گذاشت. این رفتار در مورد تمامی ValueType ها صدق می نماید:

وقتي مقدار متغيير دوم رو تغيير دهيم مقدار متغيير اول دست نخورده باقي ماند.

:  Enumerations


فرض بفرمائيد كه شما مي خواهيد يك كلاس تعريف كنيد به نام انسان. وقتي خواص انسان رو تحت بررسي دارين به جنسيت مي رسيد. حالا مي خواهيم روي كلاس انسان يك متغيير براي نشان دادن جنسيت تعريف كنيم. به نظر شما جنسيت رو از چه نوعي بايد در نظر گرفت؟ bool يا int؟
اگر bool در نظر گرفتيم false به معني مرد خواهد بود يا true؟

اگر int در نظر گرفتيم چه عددي بيانگر مرد و چه عددي بيانگر زن مي باشد؟ و اگر كاربر شما عددي به غير اعداد انتخابي شما وارد كرد, چه طور؟

گاهي اوقات در توسعه نرم افزار ها ما به جنس (Type)هايي نياز داريم كه بتوانيم مقدار شان را محدود كنيم. مثلا همين جنسيت. با استفاده از Enumeration ها مي توانيم مقدار متغيير جنسيت رو به مرد يا زن محدود كنيم.براي ايجاد يك Enumeration بايد در يك فايل با پسوند cs كه بيانگر سي شارپ است از Syntax زير استفاده كنيم:

کد:

 

Public Enum Esex

            {

                        Male,

                           Female

            }

دقت كنين كه وقتي متغييري از اين جنس بسازيم به هيجوجه مقداري به غير از مرد يا زن نمي توانيم اختصاص دهيم:

کد:

 

Esex sex; // ایجاد منغیر از جنس یک   Enum

Sex = esex.male ; // مقدار دهی متغیر

حالا مي بينيم كه چطور با استفاده از enum مي توانيم مقدار دهي يك متغيير را به مقادير محدودي نسبت دهيم. در دات هم مثال هاي متعددي از استفاده از enum ها وجود دارد. مثلا يك enum به نام Keys تمامي كليد هاي صفحه كليد رو در خود جاي داده است. يا enumي با نام ConnectionState وضعيت هاي امكان پذير يك Connection رو نشان مي دهد.



 



نوع هاي داده اي پايه ي زير در در سي شارپ به صورت پيش فرض مهيا هستند:

Object :  نوعي است نامحدود كه مي تواند تمام انواع ديگر را نيز شامل شود. مثال :

object = null;

String  :  رشته ؛ در اينجا يك رشته توالي كاراكترهاي يونيكد مي باشد. مثال :

String s= "hello";

Byte :  نوع داده ايي صحيح 8 بيتي بدون علامت.

Sbyte : نوع داده ايي صحيح 8 بيتي علامت دار. مثال :

Sbyte Val = 12 ;

SHORT   :  نوع داده ايي صحيح 16 بيتي علامت دار.

UNSHORT   :  نوع داده ايي صحيح 16 بيتي بدون علامت. مثال :

Short Val = 12;

INT  :  نوع داده ايي صحيح 32 بيتي علامت دار.


UNIT
  :   نوع داده ايي صحيح 32 بيتي بدون علامت. مثال :

Int Val = 12;

LONG  :  نوع داده ايي صحيح 64 بيتي علامت دار.

ULONG  :  نوع داده ايي صحيح 64 بيتي بدون علامت. مثال :

Long val1 = 12; long val2 = 34L;

FLOAT  :  نوع اعشاري با single precision .

DOUBLE  :  نوع اعشاري با . double precision مثال :

float val = 1.23f;

BOOL  :  نوع داده ايي Boolean كه مي تواند true و يا false باشد. مثال :

Bool Val = true;

 CHAR  :  كاراكتر، دراينجا char يك كاراكتر يونيكد است.

Char Val = 'h';

نکته : به نحوه ي تعريف كاراكتر ها و همچنين رشته ها در سي شارپ دقت كنيد.

DECIMAL  :  نوع داده ايي دسيمال با 28 رقم معني دار.


Decimal Val = 1.23M;

 نکته : كلا در اينجا u به معناي unsigned است.

نکته : بهتر است هنگام تعريف يك متغير ، نامي با مسما براي آن انتخاب شود تا در هنگام كار خواندن كد ساده تر گردد. همچنين رسم شده است كه نوع متغير را به صورت خلاصه به نام متغير اضافه مي كنند. براي مثال بجاي FirstName بهتر است بنويسيم strFirstName . به اين نوع نگارش Hungarian notation مي گويند.  تمام نوع هاي پيش فرض تعريف شده در سي شارپ شيء هستند.

در اين قسمت مي خواهيم با يك سري از اصول اوليه ي شيء گرايي در سي شارپ كمي آشنا شويم.

 

آشنايي با فضاهاي نام (NameSpaces) :


فضاهاي نام روشي براي مديريت كد نويسي هستند. براي مثال آنها ايجاد شده اند تا تداخلي بين نام هاي توابع در برنامه شما رخ ندهد. اين مساله در پروژه هاي بزرگ خود را نشان مي دهد و ممكن است دو آيتم در يك پروژه نام هاي يكساني را پيدا كنند. بدين وسيله اين شانس تصادم و تداخل كاهش پيدا مي كند. براي ايجاد يك فضاي نام به صورت زير عمل مي شود:


namespace anyName

{
……….
Class anyClassName

                        {

                        ……….

                        }

            ……….

            }

يكي از فضاهاي نام پايه اي در دات نت فريم ورك ، فضاي نام System مي باشد. براي استفاده از آن مي توان از كد زير كمك گرفت :

Using System;

تمام فضاهاي نام به صورت پيش فرض public مي باشند و در خارج از كد شما قابل دسترسي هستند. روش استفاده از آنها به صورت زير است:

ProjectName.NameSpace.ClassName.MemberName
نكته :


اگر دقت كرده باشيد هنگامي كه كرسر ماوس را روي هر آيتمي در منوي autocomplete نگه مي داريد و يا آنرا انتخاب مي كنيد يك راهنماي كوچك نمايش داده مي شود كه در حقيقت كامنت مربوط به آن تابع مي باشد. روش نوشتن چنين كامنت حرفه اي كه در منوهاي ويژوال استوديو ظاهر شود به صورت زير است كه بهتر است قبل از هر تابع يا خاصيت يا كلاس و .... نوشته شود


موضوعات مرتبط: كامپيوتر
برچسب‌ها: زبان سي شارپ, SQL SERVER, زبان برنامه نويسي, زبان جاوا
ادامه مطلب
[ دوشنبه هفدهم بهمن ۱۳۹۰ ] [ 13:40 ] [ سیدمهدی میرشفیعی ]

فهرست مندرجات

·         ۱ دلایل ایجاد سیستم عامل

·         ۲ وظایف سیستم عامل

·         ۳ سیستم عامل‌های فعلی

·         ۴ تاریخچه

o        ۴.۱ در آغاز

o        ۴.۲ مین فریم ها

o        ۴.۳ میکرو کامپیوترها

·         ۵ انواع سیستم عامل

o        ۵.۱ سیستم عامل تک پردازنده

o        ۵.۲ سیستم عامل شبکه‌ای

o        ۵.۳ سیستم عامل توزیع شده

o        ۵.۴ سیستم عامل بی درنگ

·         ۶ ویژگی ها

o        ۶.۱ اجرای برنامه

o        ۶.۲ وقفه‌ها

o        ۶.۳ حالت حفاظت شده و ناظر

o        ۶.۴ مدیریت حافظه

o        ۶.۵ حافظه مجازی

o        ۶.۶ چند وظیفه‌ای

o        ۶.۷ دسترسی به دیسک و سیستم فایل

o        ۶.۸ راه اندازهای دستگاه‌ها

o        ۶.۹ شبکه

o        ۶.۱۰ امنیت

o        نگاهي به انواع ويندوز

·         ۷ منابع

سیستم عامل

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

 برنامه‌های کاربردی یا از طریق واسطهای برنامه نویسی کاربردی (Application User Interface-APIs) و یا از طرق فراخوانی های سیستم (system call) به این خدمات دسترسی دارند. با فراخوانی این واسط ها، برنامه‌های کاربردی می توانند سرویسی را از سیستم عامل درخواست کنند، پارامتر ها را انتقال دهند، و پاسخ عملیات را دریافت کنند. ممکن است کاربران با بعضی انواع واسط کاربری نرم افزار مثل واسط خط فرمان (Command Line Interface-CLI) یا یک واسط کاربری گرافیکی (Graphical User Interface-GUI) با سیستم عامل تعامل کنند. برای کامپیوتر های دستی و رومیزی، عموما واسط کاربری به عنوان بخشی از سیستم عامل در نظر گرفته می شود. در سیستم های بزرگ و چند کاربره مثل یونیکس و سیستم های شبیه یونیکس، واسط کاربری معمولا به عنوان یک برنامه کاربردی که خارج از سیستم عامل اجرا می شود پیاده سازی می شود.

دلایل ایجاد سیستم عامل

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

وظایف سیستم عامل

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

در نگرش بالا به پایین، وظیفه سیستم عامل این است که یک ماشین توسعه یافته (Extended Machine) یا ماشین مجازی (Virtual Machine) را به کاربران ارائه کند تا آنها بتوانند آسان تر برنامه نویسی نمایند و درگیر پیچیدگی‌های سخت افزاری رایانه نشوند.

به طور کلی، وظایف سیستم عامل شامل موارد زیر است :

  • استفاده بهینه تر از منابع و جلوگیری از به هدر رفتن آنها
  • تخصیص و آزاد سازی منابع
  • اداره صف‌ها و زمان بندی استفاده از منابع
  • حساب داری میزان استفاده از منابع
  • ایجاد امنیت
  • ایجاد، حذف و اداره فرایند‌ها
  • ایجاد مکانیسم‌های ارتباط بین فرایند‌ها و همگام سازی آنها
  • مدیریت فایل‌ها و پوشه‌ها
  • مدیریت حافظه‌های اصلی و جانبی
  • برقراری امکان دسترسی چندتایی (Multiaccess) و اجرای هم روند (Concurrent) فرایند‌ها
  • به اشتراک گذاری منابع (Resource Sharing)
  • تعیین راهکار‌هایی برای اداره بن بست (deadlock)‌ها
  • جلوگیری از شرایط رقابتی (Race Condition) و تداخل یا در هم قفل شدن (Interlock) فرایند‌ها
  • جلوگیری از گرسنگی (Starvation)

 

سیستم عامل‌های فعلی

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

نام چند سیستم عامل معروف جهان در زیر آمده‌است:

تاریخچه

در آغاز

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

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

مین فریم ها

میکرو کامپیوترها

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

انواع سیستم عامل

سیستم عامل تک پردازنده

این نوع سیستم عامل‌ها، سیستم عامل‌های نسل چهارم (نسل فعلی) هستند که بر روی یک پردازنده اجرا می‌شوند.از قبیل XP,Vista,98,Me که بیشتر محصول شرکت مایکرو سافت می‌باشند.

سیستم عامل شبکه‌ای

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

 

سیستم عامل توزیع شده

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

سیستم عامل بی درنگ

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


موضوعات مرتبط: كامپيوتر
برچسب‌ها: سيستم عامل, انواع ويندوز, تفاوت لينوكس و ويندو, مين فريم ها
ادامه مطلب
[ دوشنبه هفدهم بهمن ۱۳۹۰ ] [ 13:24 ] [ سیدمهدی میرشفیعی ]

شبکه

فهرست:

v                                           انواع شبکه

·                                                                       شبکه و انواع آن

·                                                                       آشنایی با ملزومات شبکه

·                                                                       پشته های قراردادی

·                                                                       شبکه شخصی

·                                                                       شبکه محلی

·                                                                       شبکه کلانشهری

·                                                                       شبکه گسترده

·                                                                       Wireless lan

·                                                                       انواع شبکه wireless

·                                                                       امنیت

·                                                                       انواع شبکهاز لحاظ جغرافیایی

·                                                                       ریخت شناسی شبکه

·                                                                       شبکه های کامپیوتری چگونه تقسیم بندی میگردند؟

·                                                                       توپولوژی

·                                                                       توپولوژی گذرگاه

·                                                                       توپولوژی حلقوی

·                                                                       توپولوژی ستاره

·                                                                       توپولوژی توری

·                                                                       توپولوژی درختی

·                                                                       توپولوژی ترکیبی

·                                                                       شبکه های Peer-to-Peer

·                                                                       سیستم عامل های مربوط به    شبکه های Peer –to Peer

·                                                                       موضوعات قابل توجه در شبکه Peer-to-Peer

·                                                                       شبکه های Server-Based

·                                                                       Serverهای خاص

·                                                                       فواید شبکه Server- Based

·                                                                       شبمه های ترکیبی

·                                                                       چگونگی راه اندازی شبکه های بی سیم

·                                                                       انواع شبکه های بی سیم

·                                                                       امنیت در شبکه بی سیم

·                                                                       انواع استاندارد 11و802

·                                                                       Bluetooth

·                                                                       مسیریاب بی سیم

·                                                                       کارت شبکه بی سیم

·                                                                       NetGear

·                                                                       تحلیل ترافیک و استراق سمع

·                                                                       انجام تحلیل خطر

·                                                                       حملات سطح بالا

·                                                                       هسته را از LAN بی سیم محافظت کنیم

·                                                                       نتیجه گیری

·                                                                       ضعفهای امنیتی در شبکه 20%افزایش یافت

 

v                                           سخت افزار شبکه

 

·                                                                       Hub و Switch

·                                                                       Hub

·                                                                       آشنایی با نحوه عملکرد آن

·                                                                       انواع Hub

·                                                                       Switch

·                                                                       انواع Switch

·                                                                       آیا Hub بهتر است یا Hub Switch  یا Switch ؟

·                                                                       مزایای Switch

·                                                                       از چه نوع Switchهایی یاید استفاده کرد؟

·                                                                       تکرار کننده (Repear)

·                                                                       تکرار کننده چیست ؟

·                                                                       تکرار کننده چگونه کار می کند؟

·                                                                       ارتباط یک طرفه چیست ؟

·                                                                       ارتباط دو طرفه چیست ؟

·                                                                       تن های PLوCTCSS چه هستند ؟

·                                                                       شرکت رایان اندیشان فراز

·                                                                       محصولات شرکت

·                                                                       تجهیزات Active شبکه با مارک Level One

·                                                                       ابزار های اتصال دهنده

·                                                                       پروتکل شبکه

·                                                                       سوئیچ KVM

                    

شبکه و انواع آن

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

    يک شبکه کامپيوتری از اتصال دو و يا چندين کامپيوتر تشکيل می گردد . شبکه های کامپيوتری در ابعاد متفاوت و با اهداف گوناگون طراحی و پياده سازی می گردند . شبکه های Local-Area Networks)  LAN ) و Wide-Area Networks) WAN ) دو نمونه متداول در اين زمينه می باشند. در شبکه های  LAN ، کامپيوترهای موجود در يک ناحيه محدود جغرافيائی نظير منزل و يا محيط کار به يکديگر متصل می گردند . در شبکه های WAN ، با استفاده از خطوط تلفن و يا مخابراتی ، امواج راديوئی و ساير گزينه های موجود ، دستگاه های مورد نظر در يک شبکه به يکديگر متصل می گردند .

شبکه محدوده محلی (LAN) یک شبکه رایانه‌ای است که یک محدوده محلی، مثل یک دفتر کار یا خانه را پوشش می‌‌دهد. این اختلافی است که این شبکه با دیگر شبکه‌ها همچون شبکهٔ شخصی (PAN) یا، شبکه محدوده کلانشهری (MAN) یا، شبکه محدوده گسترده (WAN) دارد. LAN‌ها معمولاً از WAN‌ها سریعترند.

قدیمی‌ترین LAN معروف یعنی آرک‌نت (ARCnet)، درسال 1977 توسط شرکت دیتاپوینت (Datapoint) با هدف بوجود آوردن ارتباطی میان چندین دستگاه رایانه Datapoint 2200 برای دسترسی به فضای ذخیره‌سازی مشترکی بین آنها بوجود آمد. مانند تمامی شبکه‌های محلی اولیه آرک‌نت ویژه فروشنده بود. تلاشهای IEEE برای همگون‌سازی محیطی با بوجود آمدن سری استانداردهای IEEE 802 نتیجه داد. هم‌اکنون دو نوع فناوری سیمی برای شبکه محلی وجود دارد: اترنت (Ethernet) و حلقه علامتی (Token ring). همچنین گونه بی‌سیم این شبکه نیز برای کاربران سیار وجود که درحال پیشرفت می‌‌باشد.

هنگامی که اترنت بکار می‌رود معمولاً رایانه‌ها به یک هاب (hub) یا یک کلید شبکه‌ای (network switch) متصل می‌شوند. در این حالت یک سازوکار انتقال فیزیکی برقرار می‌گردد. پروتکل درخت پوشا (spanning tree) اغلب برای نگهداری یک جانمایی شبکه بدون حلقه (loop free) با یک LAN و بویژه نوع اترنت آن بکار می‌رود.

یک تعداد پروتکل‌های شبکه از جمله TCP/IP می‌توانند از سازوکار ابتدایی انتقال فیزیکی استفاده نمایند. در این حالت DHCP بهترین راه حل جهت تنظیم پویای نشانی آی‌پی (IP Address) می‌‌باشد تا اینکه آنها بصورت ثابت تنظیم گردند. اتصالات بهم پیوسته LAN‌ها می‌تواند یک WAN را تشکیل دهند. همچنین یک مسیریاب برای اتصال شبکه‌های محلی به یکدیگر به کار گرفته شود.

آشنايي با ملزومات شبكه

حتما همه شما تا به حال تجربه ي اتصال به اينترنت را داشته ايد و كم و بيش اطلاعاتي راجع به اين موضوع داريد. براي آشنايي بيشتر شما نكاتي هر چند مختصر در مورد شبكه و قطعات مورد نياز در آن خواهيم گفت. همان طور كه مي دانيد اينترنت، متشكل از شبكه هايي است كه هر يك ازطريق مسيرهايي به ديگري متصل هستند. اين مسيرها تبادل اطلاعات را ميسر مي سازند. اتصال به اينترنت به معني دستيابي به اين مسيرها است. حال براي اين كه اين شبكه ها كه شامل هزاران كامپيوتر هستند بتوانند به درستي با هم در ارتباط باشند به وسايل و قطعات ويژه اي مثل هاب، تكرار كننده، مسيرياب و ... نياز است. اما براي اينكه بدانيد وظيفه هر يك از اين وسيله ها چيست ادامه ي مطلب را بخوانيد. كابل BUS: در شبكه هاي محلي اترنت اوليه براي ارتباط از كابل كواكسيال استفاده مي شد. (اين كابل ها همان كابل هايي هستند كه براي اتصال آتن به تلويزيون استفاده مي شوند و شما هم حتما ديده ايد. )

 اين كابل از يك كامپيوتر به كامپيوتر ديگر رفته و تمام دستگاه ها را به هم متصل مي كند. بنابراين هر سيگنالي كه در كابل Bus وجود دارد در تمام دستگاه ها قابل مشاهده است. اين روش ساده ترين روش ايجاد شبكه ي كامپيوتري است. البته در ظاهر ساده به نظر مي رسد اما در واقع پر از اشكال است. چون وقتي كه تعداد سيستم ها زياد مي شود، كار كابل كشي بسيار پر زحمت است. تازه وقتي بخواهيد دستگاهي را از مدار خارج كنيد و يا يك دستگاه جديد به شبكه اضافه كنيد مشكلات ظهور مي كنند. البته امروزه به ندرت مي توانيد يك شبكه محلي LAN پيدا كنيد كه با كابل كواكسيال درست شده باشد. Hub : به طور خلاصه بايد بگوييم هاب يك جعبه است كه داراي تعدادي ورودي بنام پورت (Port) مي باشد. تعداد اين ورودي ها بسته به تعداد كامپيوترهايي است كه مي خواهيم در يك شبكه باشند. مثلا اگر در يك شركت تمام كامپيوترها در شبكه باشند، در هر طبقه يك هاب قرار مي دهند و تمام دستگاه هاي آن طبقه با كابل به هاب مورد نظر وصل مي شوند كه بعد هر كدام از اين هاب ها به طريقي به كامپيوتر سرور متصل مي شوند. اگر اطلاعاتي به داخل اين جعبه آمد توسط كابل وارد تمام كامپيوترها مي شود. شايد بگوييد پس چه فرقي بين اين روش و روش اوليه وجود دارد؟

 در جواب بايد گفت بزرگترين فرق در اين است كه شما مي توانيد هر زمان كه بخواهيد به راحتي يك كامپيوتر جديد را با اتصال به اين جعبه به شبكه اضافه كنيد و يا با خارج كردن كابل يك دستگاه از اين جعبه آن را از شبكه خارج كنيد بدون اين كه كل شبكه تحت تاثير قراربگيرد. اكثر هاب ها يك چراغ نمايشگر دارند كه نشان مي دهد هر كابل به خوبي دستگاه را به شبكه متصل كرده است و يك چراغ ديگر وضعيتي را نشان مي دهد كه 2 سيستم سعي مي كنند در يك زمان اطلاعات را به اشتراك بگذارند و در نتيجه باعث تصادف داده ها (Data Collision) مي شوند. به طور كلي هاب به دو دسته تقسيم مي شود:

1.Active:

اين نوع هاب، سيگنال هايي را كه از درون آن مي گذرند تقويت مي كند.

 2.Passive:

 اين هاب هيچ عمل تقويتي روي سيگنال انجام نمي دهد و صرفا آن را از خود عبور مي دهد. در مسافرت هاي طولاني زياد بودن طول كابل باعث ضعيف شدن سيگنال مي شود و با تقويت آن، قدرت اوليه را به آن برمي گرداند. نوع ديگر از هاب ها وجود دارد كه هوشمند ناميده مي شود كه به مسئول شبكه اجازه كنترل از راه دور اتصالات را مي دهد.

تكرار كننده(Repeater):

اين وسيله در واقع نوع خاصي Hub است كه فقط داراي 2 پورت است. كار آن تقويت سيگنال هاي بين دو شبكه يا سگمنت هاي يك شبكه كه فاصله ي زيادي از هم دارند مي باشد. مثل هاب هاي داراي 2 نوع Passive و Active مي باشد. نوع اول علاوه بر سيگنال هر چيز ديگري حتي نويز (Noise: امواج ناخواسته كه به همراه سيگنال اصلي كه داراي اطلاعات است مي باشند. مثلا در امواج صوتي نويز باعث افت كيفيت صدا و شنيدن اصوات اضافه مي شود) را هم تقويت مي كند.

 اما تكرار كننده ي نوع اكتيو سيگنال را قبل از ارسال بازديد كرده و چيزهاي اضافه را خارج مي كند و مثلا ديگر نويز را تقويت نمي كند. پل (Bridge): مثل تكراركننده داراي 2 پورت است و براي اتصال گروهي از كامپيوترها به كار مي رود.

 تفاوت آنها در اين است كه پل ليستي دارد كه نشان مي دهد در هر سمت چه كامپيوترهايي قرار دارند و به بسته هايي (در اينترنت و هر شبكه اي اطلاعات براي اينكه فرستاده شوند به قطعات كوچكتري تقسيم مي شوند، هر قطعه را بسته مي ناميم) كه بايد بطرف ديگر شبكه بروند اجازه ي عبور مي دهد.

سوئيچ (Switch):

 تقريبا مثل هاب است اما به جاي 2 پورت داراي چندين پورت است. درون خود يك جدولي دارد و نشان مي دهد كه جه سيستم هايي به هر پورت متصلند و بسته ها را به جايي كه بايد بروند مي فرستد. برخلاف هاب سيگنال ها فقط به درون پورتي كه بايد بروند مي روند نه به تمام پورت ها.

 جداول (و شبكه) بايد به قدر كافي ساده باشند چرا كه فقط يك مسير ممكن براي هر بسته وجود دارد. اگر دقت كرده باشيد متوجه خواهيد شد كه سوئيچ از هاب سريعتر است چون احتياجي نيست كه هر پورت كل ترافيك ارسال و دريافت اطلاعات را متحمل شود و فقط آنچه كه مخصوص خود است را دريافت مي كند. البته سوئيچ از پل هم سريعتر است و در ضمن گران تر از هر دوي آنها. بعضي از سوئيچ ها و پل ها مي توانند براي اتصال شبكه هايي كه پروتكل هاي فيزيكي مختلفي دارند استفاده شوند. مثلا براي اتصال شبكه هاي اترنت يا شبكه TokenRing.

 هر دوي اين شبكه ها مي توانند به اينترنت متصل شوند. در شبكه TokenRing اطلاعات بع صورت نشانه (Token) هايي از يك كامپيوتر به كامپيوتر ديگر به صورت ستاره يا حلقه منتقل مي شوند. شبكه اترنت را هم قبلا توضيح داده ايم. اين قطعات به صورت ويژه هستند و در همه شبكه ها استفاده نمي شوند.

مسيرياب (Router):

 مسيرياب از 2 يا چند پورت براي ورود و خروج اطلاعات تشكيل شده است در واقع كنترل ترافيك به عهده آنها مي باشد. مسيرياب را مي توان مرتب كننده ي هوشمند بسته ها ناميد. همان طور كه از نامش پيدا است، بهترين مسير را براي فرستادن قطعات به مقصد انتخاب مي كند و چك مي كند تا ببيند آيا بسته ها به مقصد رسيده اند يا نه. براساس مقصد داده ها، بسته ها از يك مسيرياب به مسيرياب ديگر از طريق بهترين راه فرستاده مي شوند. اين موضوع ياعث مي شود تا به عنوان يك وسيله قدرتمند در شبكه هاي پيچيده مثل اينترنت استفاده شود.

در واقع مي توان اينترنت را به عنوان شبكه اي از مسيرياب ها توصيف كرد. انواع مسيرياب ها با جداول و پروتكل هاي مختلفي كار مي كنند اما حداقل اين كه هر مسيرياب در اينترنت بايد با پروتكل TCP/IP كار كند.

 Brouter:

اين وسيله تركيبي از پل و مسيرياب مي باشد/(Bridgt+Router). بسته هاي محلي مي توانند از يك طرف شبكه به طرف ديگر با توجه به آدرس مقصد هدايت شوند حتي اگر از هيچ پروتكل ارسالي هم پيروي نكنند. بسته هايي كه داراي پروتكل مناسب هستند مي تواند طبق مسير خود به دنياي خارج از شبكه محلي فرستاده شوند.

 دروازه (Gateway):

دليل اصلي پيچيدگي موضوع در وازه ها از اين حقيقت ناشي مي شود كه اين كلمه 2 عملكرد مختلف را توصيف مي كند. يك نوع آن، يك شبكه را به يك شبكه يا دستگاه هاي مختلف ديگر ارتباط مي دهد. مثلا يك شبكه از كامپيوترهايي كه به يك سيستم ابركامپيوتر IBM متصل هستند. كاربرد معمولي آن در گره (Node) يك شبكه مي باشد كه امكان دستيابي به اينترنت و يا كامپيوترهاي ديگر دريك شبكه پيچيده LAN را مي دهد. در شبكه هايي كه بيش از يك دروازه وجود دارد معمولا يكي از آنها به عنوان دروازه ي پيش فرض انتخاب مي شود. قبلا يك دروازه تقريبا شبيه به چيزي بود كه ما امروزه مسيرياب مي ناميم.

 

سرور پراكسي (Proxy Server):

 اين سيستم بين يك سرور و يك كامپيوتر Work Station (يعني كامپيوتري كه به كامپيوتر اصلي يا همان سرور متصل است ) برقرار است. ملموس ترين مثال در مورداينترنت، مرورگري كه شما با آن كار مي كنيد است. اين مرورگر ظاهرا در حال برقراري ارتباط با يك سرور خارج از وب است اما درواقع به يك سرورپراكسي محلي متصل است. شايد بگوييد اين كار چه مزيت دارد؟

مزيت اول:

 اين سيستم باعث افزايش سرعت دسترسي به اينترنت مي شود. چون سرور پراكسي صفحات وبي كه قبلا باز شده اند را در حافظه ذخيره مي كند، هنگامي كه شما به اين صفحات احتياج داريد به جاي اينكه آن را از سايت اصلي و از محلي دور پيدا كنيد به راحتي وبه سرعت آنها را از اين دستگاه برمي داريد.

حال ببينيم نحوه ي كار به چه صورت است. وقتي شما در يك شبكه ي محلي مثلا شبكه ي شركت مي خواهيد به يك سرويس دهنده در شبكه دسترسي داشته باشيد، يك درخواست از كامپيوتر شما به سرور پراكسي (سرويس دهنده ي پراكسي) فرستاده مي شود. سرور پراكسي با سرور اصلي در اينترنت ارتباط برقرار مي كند و سپس سرور پراكسي اطلاعات را از سرور اينترنت به كامپيوتر شما درون شبكه شركت مي فرستد و در ضمن يك كپي از اين اطلاعات در سرور پراكسي ذخيره مي شود.

مزيت دوم:

 با كمي دقت مي بينيد كه سرور پراكسي به عنوان يك واسطه بين شبكه ي اينترنت و شبكه ي شركت شما عمل مي كند. به عبارتي باعث امنيت در شبكه ي داخلي شركت مي شود. چون به جاي اينكه چندين كامپيوتر در شبكه داخلي به اينترنت متصل باشند فقط يك سرور پراكسي با اينترنت در ارتباط است. امنيت شبكه از لحاظ ويروس و هك شدن... تا حدود زيادي تامين مي شود. اما اين چگونه انجام مي شود؟

 معمولا در شركت ها براي محافظت از شبكه ي خود از ديواره هاي آتش (Firewalls) استفاده مي كنند. ديواره هاي آتش به كاربر در شبكه امكان مي دهند به اينترنت دسترسي داشته باشد، ولي جلوي هكرها و هر كس در اينترنت كه مي خواهد به شبكه آن شركت دسترسي داشته باشد و باعث خسارت شود را مي گيرند. ديواره هاي آتش مجموعه اي از سخت افزارها و نرم افزارهايي مثل مسيرياب ها، سرويس دهنده ها و نرم افزارهاي مختلف هستند. انواع مختلفي دارند و بسته به كاربردشان مي توانند ساده و يا پيچيده باشند.


موضوعات مرتبط: كامپيوتر
برچسب‌ها: شبكه, فايروال, توپولوژي, شبكه بي سيم
ادامه مطلب
[ دوشنبه هفدهم بهمن ۱۳۹۰ ] [ 13:21 ] [ سیدمهدی میرشفیعی ]
.: Weblog Themes By WeblogSkin :.
درباره وبلاگ

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