شناسه پست: 25061
بازدید: 395

دانلود پروژه مفاهيم شبكه

مروري بر مفاهيم شبكه:

براي تحليل و فهم روشهائي كه يك نفوذگر با بكارگيري آنها با شبكه حمله مي كند، بايد يك دانش پايه از تكنولوژي شبكه داشته باشيم. درك مكانيزم حملات ممكن نيست مگر آنكه حداقل اصول TCP/IP را بدانيم.

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

مدل TCP/IP: اين مدل يك ساختار چهار لايه اي براي ارتباطات گسترده تعريف مي نمايد كه آنرا در ادامه بررسي مي كنيم.

پشتة پروتكلهاي TCP/IP:[1] پشتة TCP/IP مجموعه اي شامل بيش از صد پروتكل متفاوت است كه براي سازماندهي كليه اجزاء شبكة اينترنت به كار مي رود.

TCP/IP بهترين پروتكل شبكه بندي دنيا نيست! پروتكلهاي بهينه تر از آن هم وجود دارند؛ وليكن فراگيرترين و محبوبترين تكنولوژي شبكه بندي در دنياي كامپيوتر محسوب مي شود. شايد بزرگترين حسن TCP/IP آن باشد كه بدون پيچيدگي زياد، بخوبي كار مي كند! اينترنت بر اساس TCP/IP بنا شده و بيشتر حملات نيز مبتني بر مجموعة پروتكلهاي TCP/IP هستند.

طراحي شبكه ها و اصول لايه بندي

براي طراحي يك شبكة‌ كامپيوتري،‌‌ مسائل و مشكلات بسيار گسرتده و متنوعي وجود دارد كه بايد به نحوي حل شود تا بتوان يك ارتباط مطمئن و قابل اعتماد بين دو ماشين در شبكه برقرار كرد. اين مسائل و مشكلات همگي از يك سنخ نيستند و منشأ و راه حل مشابه نيز ندارند؛ بخشي از آنها توسط سخت افزار و بخش ديگر با تكنيكهاي نرم افزاري قابل حل هستند. به عنوان مثال نياز براي ارتباط بي سيم بين چند ايستگاه در شبكه، طراح شبكه را مجبور به استفاده از مدولاسيون آنالوگ در سخت افزار مخابراتي خواهد كرد ولي مسئلة هماهنگي در ارسال بسته ها از مبدأ به مقصد يا شماره گيري بسته ها براي بازسازي پيام و اطمينان از رسيدن يك بسته، با استفاده از تكنيكهاي نرم افزازي قابل حل است. بهمين دليل براي طراحي شبكه هاي كامپيوتري، بايد مسائل و مشكلاتي كه براي برقراري يك ارتباط مطمئن،‌ ساده و شفاف بين دو ماشين در شبكه وجود دارد،‌ دسته بندي شده و راه حلهاي استاندارد براي آنها ارائه مي شود. در زيربخشي از مسائل طراحي شبكه ها عنوان شده است:

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

مساله دوم ماهيت انتقال است كه مي تواند به يكي از سه صورت زير باشد:

Simplex: ارتباط يك طرفه (يك طرف هميشه گيرنده و طرف ديگر هميشه فرستنده).

Half Duplex: ارتباط دو طرفة غيرهمزمان (هر دو ماشين هم مي توانند فرستنده يا گيرنده باشند ولي نه بصورت همزمان، بلكه يكي از طرفين ابتدا ارسال مي كند، سپس ساكت مي شود تا طرف مقابل ارسال داشته باشد)

Full Duplex: ارتباط دو طرفه همزمان (مانند خطوط مايكروويو)

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

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

ممكن است گيرنده به دلايلي نتواند با سرعتي كه فرستنده بسته هاي يك پيام را ارسال مي كند آنها را دريافت كند، بنابراين طراحي مكانيزمهاي حفظ هماهنگي بين مبدأ و مقصد از ديگر مسائل شبكه است.

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

طراح يك شبكه بايد تمام مسائل شبكه را تجزيه و تحليل كرده و براي آنها راه حل ارائه كند ولي چون اين مسائل داراي ماهيتي متفاوت از يكديگر هستند، بنابراين طراحي يك شبكه بايد بصورت «لايه به لايه» انجام شود. به عنوان مثال وقتي قرار است يك شبكه به گونه اي طراحي شود كه ايستگاهها بتوانند انتقال فايل داشته باشند، اولين مسئله اي كه طراح بايد به آن بينديشد طراحي يك سخت افزار مخابراتي براي ارسال و دريافت بيتها روي كانال فيزيكي است. اگر چنين سخت افزاري طراحي شود، مي تواند بر اساس آن اقدام به حل مسئلة خطاهاي احتمالي در داده ها نمايد؛ يعني زماني مكانيزمهاي كنترل و كشف خطا مطرح مي شود كه قبل از آن سخت افزار مخابرة داده ها طراحي شده باشد. بعد از اين دو مرحلة ‌طراحي، بايد مكانيزمهاي بسته بندي اطلاعات،‌ آدرس دهي ماشينها و مسيريابي بسته ها طراحي شود. سپس براي بقيه مسائل نظير آدرس دهي پروسه ها و چگونگي انتقال فايل راه حل ارائه شود.

طراحي لايه اي شبكه به منظور تفكيك مسائلي است كه بايد توسط طراح حل شود و مبتني بر اصول زير است:[2]

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

براي آنكه طراحي شبكه ها سليقه اي و پيچيده نشود سازمان جهاني استاندارد[3] (ISO)، مدلي هفت لايه اي براي شبكه ارائه كرد، به گونه اي كه وظايف و خدمات شبكه در هفت لاية مجزا تعريف و ارائه مي شود. اين مدل هفت لايه اي،‌OSI[4] نام گرفت. هر چند در شبكة‌ اينترنت از اين مدل استفاده نمي شود و بجاي آن يك مدل چهار لايه اي به  نام TCP/IP تعريف شده است، وليكن بررسي مدل هفت لايه اي OSI، بدليل دقتي كه در تفكيك و تبيين مسائل شبكه در آن وجود دارد، با ارزش خواهد بود. پس از بررسي مدل OSI، به تشريح مدل TCP/IP خواهيم پرداخت.

مدل هفت لايه اي OSI از سازمان استاندارد جهاني ISO

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

لايه 1- لايه فيزيكي                                   Physical Layer

لايه 2- لايه پيوند داده ها                          Data Link Layer

لايه 3- لايه شبكه                                     Network Layer

لايه 4- لايه انتقال                                    Transport Layer

لايه 5- لايه جلسه                                       Session Layer

لايه 6- لايه ارائه (نمايش)                     Presentation Layer

لايه 7- لايه كاربرد                               Application Layer

از لايه هاي پايين به بالا، سرويسهاي ارائه شده‌ (با تكيه بر سرويسي كه لايه هاي زيرين ارائه مي كنند) پيشرفته تر مي شود.

اين مدل به منظور تعريف يك استاندارد جهاني و فراگير ارائه شد و گمان مي رفت كه تمام شبكه ها بر اساس اين مدل در هفت لايه طراحي شوند، به گونه اي كه در دهة هشتاد سازمان ملي علوم در آمريكا عنوان كرد كه در آينده فقط از اين استاندارد حمايت خواهد كرد، ولي در عمل، طراحان شبكه به اين مدل وفادار نماندند.

در ادامه به اختصار وظائف هر لايه در مدل OSI را تعريف خواهيم كرد.

لايه فيزيكي

وظيفه اصلي در لاية فيزيكي، انتقال بيتها بصورت سيگنال الكتريكي و ارسال آن بر روي كانال مي باشد. واحد اطلاعات در اين لايه بيت است و بنابراين اين لايه هيچ اطلاعات از محتواي پيام ندارد و تنها بيتهاي 0 و 1 را ارسال يا دريافت مي كند پارامترهايي كه بايد در اين لايه مورد نظر باشند عبارتند از: ظرفيت كانال فيزيكي و نرخ ارسال[5]، نوع مدولاسيون، چگونگي كوپلاژ با خط انتقال، مسائل مكانيكي و الكتريكي مانند نوع كابل،‌ باند فركانسي و نوع رابط (كانكتور) كابل.

در اين لايه كه تماماً سخت افزاري است،‌ مسايل مخابراتي در مبادلة بيتها، تجزيه و تحليل شده و طراحي هاي لازم انجام مي شود. طراح شبكه مي تواند براي طراحي اين لايه، از استانداردهاي شناخته شدة انتقال همانند RS-232 و RS-422 و RS-423 و … كه سخت افزار آنها موجود است، استفاده كند. اين لايه هيچ وظيفه اي در مورد تشخيص و ترميم خطا ندارد.

لاية پيوند داده ها

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

يكي ديگر از وظايف لاية‌ پيوند داده ها آن است كه اطلاعات ارسالي از لاية بالاتر را به واحدهاي استاندارد و كوچكتري شكسته و ابتدا و انتهاي آن را از طريق نشانه هاي خاصي كه Delimiter ناميده مي شود، مشخص نمايد. اين قالب استاندارد كه ابتدا و انتهاي آن دقيقاً مشخص شده، فريم ناميده مي شود؛ يعني واحد اطلاعات در لاية دو فريم است.

كشف خطا كه از وظايف اين لايه مي باشد از طريق اضافه كردن بيتهاي كنترل خطا مثل بيتهاي Parity Check و Checksum و CRC انجام مي شود.

يكي ديگر از وظايف لاية دوم كنترل جريان يا به عبارت ديگر تنظيم جريان ارسال فريم ها به گونه اي است كه يك دستگاه كند هيچ گونه فريمي را به خاطر آهسته بودن از دست ندهد. از ديگر وظايف اين لايه آن است كه وصول داده ها يا عدم رسيد داده ها را به فرستنده اعلام كند.

يكي ديگر از وظايف اين لايه آن است كه قراردادهايي را براي جلوگيري از تصادم سيگنال ايستگاههايي كه از كانال اشتراكي استفاده مي كنند، وضع كند چرا كه فرمان ارسال داده بر روي كانال مشترك از لاية‌ دوم صادر مي شود. اين قراردادها در زير لايه اي به نام MAS[6] تعريف شده است.

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

فراموش نكنيد كه وظايف اين لايه نيز با استفاده از سخت افزارهاي ديجيتال انجام مي شود.

[1] TCP/IP Protocol Stack

[2] طراحي لايه اي شبكه را مي توان با برنامه نويسي ماجولار مقايسه كرد،‌ بدين نحو كه روالهاي حل يك مسئله با اجزاي كوچكتري شكسته مي شود و براي آن زيربنامه نوشته مي شود. در توابع صدا زنندة اين زيربرنامه ها، جزئيات دروني آنها اهميت ندارد بلكه فقط نحوة صدا زدن آنها و پارامترهاي مورد نياز ورودي به زيربرنامه و چگونگي برگشت نتيجه به صدا زننده، مهم است.

[3] International Standard Organization

[4] Open System Interconnection

[5] Channel Capacity and Bit Rate

[6] Medium Access Sublayer

فرمت : قابل ویرایش | WORD | صفحات : 50 / بدون منابع

*************************************

نکته : فایل فوق قابل ویرایش می باشد