جلسه چهارم


خب در جلسه ی قبل ، داشتیم لایه های OSI رو بررسی میکردیم که رسیدیم به لایه ی دوم ، لایه ی Data Link !

گفتیم این لایه دو وظیفه ی اصلی داره ، LLC , MAC .

در تشریح MAC به اصطلاح " فریم " برخوردیم .  گفتیم برای اینکه با فریم آشنا بشیم ،

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

پس بحث رو از تشریح "  آدرس MAC " شروع میکنیم...

 

4.3.2 آدرس MAC

آدرس MAC يه آدرس 48 بيتي هست كه هر كارت شبكه اي  كه در هر كجاي جهان ساخته بشه ، براش يه آدرس MAC منحصر به فرد صادر ميشه .

يعني هيچ كارت شبكه اي نيست كه آدرس MAC نداشته باشه و هيچ دو كارت شبكه اي نيست كه يك آدرس MAC داشته باشن.

( ممكنه اين عدد روي پورت موازي پشت دستگاه يا در مجاورت كانكتور باشه. )

به عكس كه توجه كنيد ميبينيد يه عدد 12 رقمي روي اون نوشته شده ، اين عدد 12 رقمي همان MAC هست ، در واقع هر رقم نشانگر 4 بيت است ، چرا كه اين عدد در مبناي 16 نوشته شده است.

 

در شكل زير كه نشاندهنده ي يه شبكه ي 3 كامپيوتره است ، هر ماشين يه عدد منحصر به فرد داره. اين شماره ها همون MAC هستند ، كه توسط سازمان استاندارد ايالات متحده IEEE ساخته شده اند. پس هركي قصد ساخت كارت شبكه داره ، بايد بره به اين سازمان پول پرداخت كنه تا اونها بهش تعدادي آدرس MAC بدهند تا براي كارت شبكه هاي خودش استفاده كنه.

بگذريم. بريم سراغ همون آدرس 48 بيتي. اين 48 بيت از دو قسمت 24 تايي تشكيل شده.

24 بيت اول يا 6 رقم اول آدرس نشانگر شناسه يا ID اون شركت سازنده است و 24 بيت آخر يا 6 رقم آخر نشانگر شناسه ي منحصر به فرد آدرس هست.

خب حالا كه با آدرس MAC به طور مقدماتي آشنا شديم ، برگرديم به بحث قبل.

رسيده بوديم به اينكه فريم مقدماتي رو براتون فرستادم و ميخواستم فريم بعدي كه حاوي آدرس MAC هست رو براتون بفرستم !

خب...

حالا اين فريم بعدي كه MAC رو در خودش داره چيو ميخواد بفرسته ؟

با توجه به آشنايي اي كه با MAC پيدا كرديم، MAC آدرس كامپيوتر هست ديگه ! پس وقتي ميفرستيم داريم آدرس كامپيوتري رو ميفرستيم ، اما چه كامپيوتري ؟ كامپيوتر مبدا يا مقصد ؟

بعد فرستادن فريم مقدماتي ، آدرس MAC مقصد رو ميفرسته !

-          دقت كنيد كه گفتم ، فريم مقدماتي كه فرستاده ميشه ، كامپيوترها رو بيدار ميكنه و اونايي كه سرشون خلوت باشه فريم رو ميگيرن و ميخون . اينطور كه بده ؟ نه ؟ خب داده اي رو كه ارسال ميكنم رو هم بقيه ميخونن ! راهكار چيه ؟

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

علاوه بر اين مزيت ، ارسال آدرس مقصد در اول كار  طبيعيه ، چون لازمه اول از همه  بدونه بايد كجا بره!

 

خب در مثال ما ، كه داشتم براتون فريم ارسال ميكردم ، الان بايد MAC شما رو ارسال كنم . و بعد شايد لازم باشه شما به من جواب بدين ، پس بايد بدونين MAC من چيه ؟

بعد ارسال MAC مقصد ، MAC خودم يا مبدا رو ميفرستم و بعد كه آدرس دهي ها تكميل شد ، نوبت به ارسال داده است ، داده هم مثل فريم مقدماتي و آدرس MAC شامل صفر و يك هست،

حالا اين صفر و يكها چي هست ؟ نميدونم من فقط فرستنده ي داده هستم !

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

و بعد از داده ، چند بيت CRC  ميفرستم !

اما CRC  چيه ؟

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

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

خب بررسي فريم به اين مدلي كه براتون گفتم ، زياد مرسوم نيست چون اجزاي فريم رو تك به تك براتون باز كردم ، معمولا فريم و اجزاش رو يك جا باهم به نام " بلوك " معرفي ميكنند و جزيياتش رو شرح نميدن. در كل اگه شنيدين بلوك بدونين كه منظور ، همون فريمه و اجزاش که در شکل زیر میبینید.

 

5.3.2 مدل فريم    

خب راجع به مدل فريم بندي صحبت ميكنيم.

ساختار فريم پايه اي مورد استفاده در تمامي شبكه ها متشكل از 4 عنصر اصلي است :

1-      Destination MAC Address

2-      source MAC Address

3-      Data

4-      CRC

 

 

فريم ها از نظر ابعاد انواع متعددي دارن ، ابعاد فريم بستگي به اندازه ي داده داره ، هر چه داده بزرگتر فريم بزرگتر و بلعكس.

 

فريم نام هاي ديگه هم داره :

-          بسته ي كوچك/ Packet

-          ِبرنامه حاوي داده ها/ Dategram

-          فريم/  Frame

 

فريم رو ميشه مثل بسته ي پولي كه ميخوايد به بانك برسونيد شبيه سازي كرد، روي بسته ، آدرس MAC مبدا و مقصد نوشته شده و پول همان داده و CRC است. بسته به مقصد ميرود و بر ميگردد.

 

در قسمت قبل گفتيم كه فريم ، تعبيه شده در كارت شبكه است در اينجا اين مفهوم رو بيشتر باز ميكنم.

 

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

سيستم عامل ام  ، داده همراه CRC و آدرس مقصد رو براي كارت شبكه ام يا همون ميز مونتاژ ميفرسته ، همه ي اينها كه در كارت شبكه جمع شد ، به سمت شبكه ارسال ميشه .

در واقع شبكه مجرايي هست براي عبور دادن داده به مكاني معين  و داده هم از طريق فريم به شبكه فرستاده ميشه.

 

اين شبيه سازي رو روي يه شبكه ي كوچيك سه كامپيوتره پياده سازي ميكنيم...

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

 

خب براي اين جلسه كافيه . ان شاءالله در جلسه ي بعد لايه هاي منطقي OSI رو با هم بررسي ميكنيم.

موفق باشيد.

 

پايان جلسه چهارم


 <جلسه قبل ــ جلسه بعد>

جلسه سوم

جلسه سوم در يك نگاه

1          مدل 7 لايه اي OSI

     1.1 مفهوم مدل

          1.1.1 تعريف مدل

          2.1.1 چرا مدل؟

     2.1 آشنايي با مدل 7 لايه اي OSI

          1.2.1 تعريف مدل OSI

          2.2.1 معرفي 7 لايه OSI

 

2          تشريح لايه هاي OSI

     1.2 لايه هاي فيزيكي – منطقي OSI

     2.2 هدف از بررسي لايه ها

     3.2 لايه هاي فيزيكي OSI

1.3.2 لايه ي فيزيكي / Physical

            2.3.2 لايه اتصال داده / Data Link

3.3.2 فريم ها

4.3.2 آدرس MAC ..... جلسه بعد !

5.3.2 مدل فريم    ..... جلسه بعد !

 

3         منابع




1          مدل 7 لايه اي OSI

     1.1 مفهوم مدل

               1.1.1 تعريف مدل

هميشه بخاطر داشته باشيد كه براي درك مفاهيم شبكه بهترين راه اينه كه :

"به دنياي اطراف خود توجه كنيد."

 

در اينجا ميخواهيم با مفهوم مدل آشنا شويم. – به دنياي اطراف خود توجه ميكنيم - يه خودرو  رو در نظر بگيرين...

اين خودرو حركت ميكنه ، درهاش باز ميشه ، مانور ميده . همه ي اين اعمالي كه انجام ميده ، در يك ماشين اسباب بازي هم مشاهده ميشه . در واقع اين ماشين اسباب بازي مدل همون خودروست.

حالا به يك تانك اسباب بازي توجه كنيد...

 حركت ميكنه ، درهاش باز ميشه ، مانور ميده . پس اين تانك هم مدل خودروست ! درسته ؟

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

       دقيقا نكته همين جاست ، ميشه تعريفي پايه ارائه داد و قابليت هاي بيشتري به اون تعريف اضافه كرد تا خصوصيتهاي بيشتري در اختيار داشت در واقع مدل ، همون تعريف پايه است.

 

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

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

 

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

 

          2.1.1 چرا مدل؟

اما چرا از مدل استفاده بشه ؟

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

پس يكي از مزيت هاي داشتن مدل اينه كه :

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

 

يعني : وقتي در ساخت، از الگو كمك ميگيريم ، سردرگم نيستيم و ميدونيم چه بخش هايي با چه عملكردهايي  بايد داشته باشيم .

اما مزيت اصلي ديگه اي هم داره ، اينه كه :

 چون مدل ساخت يكيه ، شبكه هاي مختلف به خوبي با هم كار ميكنن.

در گذشته كه از مدل استفاده نميشد ماركهاي مختلف نميتونستند با هم كاركنند ، اما امروزه كه از يك الگو، استفاده ميشه مارك هاي مختلف نرم افزاري و سخت افزاري به خوبي ميتونند با هم كار كنند.

"يكي از الگوهاي پركاربرد ، مدل 7 لايه اي OSI هست."

 

خب يه جمع بندي از بحث با هم داشته باشيم ،كل صحبت اين شد كه :

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

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


  

     2.1 آشنايي با مدل 7 لايه اي OSI

               1.2.1 تعريف مدل OSI

OSIبه عنوان مدل به هم پيوسته ي سيستم باز (Open Systems Interconnection) شناخته شد و توسط سازمان بين المللي استاندارسازي اروپا ISO ساخته شد.

 

دقيقا مثل تعريف " خودرو" - كه گفتيم ، خودرو چيزي است كه " حركت ميكنه ، درهاش باز ميشه ، مانور ميده "؛  پس مدلشم بايد اين كارها رو انجام بده و اين عملكردها رو ارائه بده -  شبكه رو هم تعريف ميكنيم...

 

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

شبكه چيزي است كه " 7 عملكرد دارد " ؛ پس مدلشم بايد اين كارها رو انجام بده و اين عملكردها رو ارائه بده!

 

          2.2.1 معرفي 7 لايه OSI

اما اين 7 عملكرد كدوماست ؟

عملكردها كه به آنها لايه هم مي گويند :

1-     فيزيكي/ Physical

2-    اتصال داده ها/ Data Link

3-    شبكه/ Network

4-    انتقال/ Transport

5-    قطع و اتصال داده ها/ Session

6-    كد گذار/ Presentation

7-    كاربرد/ Application

 

مدلي كه ارائه دهنده ي اين 7 عملكرد هست رو" مدل 7 لايه اي OSI  " مي نامند.

 

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

خيلي از شبكه ها بر اساس مدل 7 لايه ساخته ميشن و بسياري  داراي طرح بندي هاي ديگه اي هستند.

 

اسامي و ترتيب لايه ها  رو كاملا بخاطر بسپاريد كه همگي بسيار مهمند و از موارد امتحاني هم محسوب ميشن .


2          تشريح لايه هاي OSI

خب در همين ابتدا دو نكته رو گوشزد كنم كه :

 

      1.2 لايه هاي فيزيكي – منطقي OSI

از ميان 7 لايه ، دو لايه ي ابتدايي معروف به " لايه هاي فيزيكي يا سخت افزاري  OSI" و 5 لايه ي بعدي معروف به " لايه هاي منطقي OSI " هستن.

 

و

 

     2.2 هدف از بررسي لايه ها

گفتيم لايه ها در واقع عملكردهاي شبكه ست  كه مدل ، اونها رو ارائه ميده ،

پس در واقع ميخواهيم ببينيم وقتي در مدل شبكه ، بخشي هست مثلاً به نام " لايه ي فيزيكي "چه وظيفه اي داره و ارائه دهنده ي چه عملكردي هست ؟

 

با توجه به اين نكات ، بحث كه " تشريح لايه هاي فيزيكي OSI " هست رو ادامه ميديم.

 

    3.2 لايه هاي فيزيكي OSI

            1.3.2 لايه ي فيزيكي / Physical

اولين لايه در لايه هاي فيزيكي – سخت افزاري -  يا در مدل 7 لايه اي OSI ، لايه ي Physical  يا فيزيكي است.

اين لايه جنبه ي فيزيكيسخت افزاري – شبكه رو نشون ميده ، به بيان ديگه اي ، فيزيكي بودن يعني:

" داشتن ِ امكان ِ رسانه ي ِ انتقال دهنده " !

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

 

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

 

2.3.2 لايه اتصال داده / Data Link

در ابتدا لايه ي اتصال داده با كارت واسط شبكه يا NIC ( بخونيد : ان آي سي ) سر و كار داره ، پس هر وقت ميگيم NIC بدونيد منظور همون كارت واسط شبكه است ؛ با اتصال اين كارت به كامپيوتر خودتون ، ميتونيد وارد اينترنت بشيد.

 

خب بگذريم. بريم سراغ بررسيه لايه ي اتصال داده .

اين لايه ، دو جنبه ي متفاوت از شبكه رو نشون ميده :

 

1-      كنترل اتصال منطقي LLC

2-      كنترل دسترسي رسانه اي MAC 

 

كنترل اتصال منطقي (LLC)

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

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

 

اين دو وظيفه ي شبكه بر عهده ي LLC گذاشته شده ، كه اولا سيستم ها رو به رسانه وصل كنه و دوما ميزان دسترسيه رسانه رو كنترل كنه.

 

-          اگه دقت كنيد داريم از ابتدايي ترين وظايف شبكه به بالا مي آييم.. اول كابل كشي انجام شد ، الان سيستم ها رو به كابل وصل كرديم و به ارسال و دريافت داده رسيده ايم كه بايد كابل رو بررسي كنيم،

 

همينطور كه لايه ها رو ياد ميگيريم كم كم شبكه مون تكميل ميشه.

 

پس وقتي به LLC  فكر ميكنيد ، يه جاده يا بزرگراه رو تصور كنيد كه در انتهاي اون ، كامپيوتر هست و يه چراغ راهنما كه نشون ميده ماشين به سمت كامپيوتر بياد يا نه ! - ماشين هاي اين جاده همون داده ها هستند. –

 

 

كنترل دسترسي رسانه اي (MAC)

اين قسمت دو وظيفه ي ديگه ي شبكه رو مورد اشاره قرار ميده،

" خوندن و ايجاد نمودن فريم ها و علاوه بر اون ، اصلاح خطاي داده است. "

 

خب آيا با فريم آشنايي دارين ؟

پس زمان پرداختن به مفهوم فريم هست...

 

3.3.2 فريم ها

در دنياي شبكه زياد اسم فريم رو ميشنويم به همين دليل لازمه يه بار ببينيم فريم چيه ؟

فريم در واقع بخشي از داده است كه به سمت  كامپيوتر هاي ديگه ارسال ميشه. اگه بخواهيم فريم رو به صورت ساده توضيح بديم ، بايد بگيم...

فرض كنيد من يه كامپيوترم و ميخوام فريمي رو به سمت شما ارسال كنم ، تنها كاري كه بايد انجام بشه اينه كه : يه سري صفر و يك پشت هم به سمت شما ارسال كنم . به همين سادگي فريمي به سمت شما اومد !

 

اگه بخواهيد فريم رو در دنياي اطراف خودتون ببينيد ميتونيد به آموزش طبل زني نگاه كنيد.

 استاد – فرستنده ي فريم -  طبل ميزنه و شما – گيرنده ي فريم -  به استاد نگاه ميكنيد و طبل ميزنيد!

 

در دنياي شبكه هم همينطوره،  صفر و يك هاي فريم ، كامپيوترهاي ديگه رو  بيدار ميكنه و اگه سر كامپيوتري خلوت باشه ، به صفر و يكها نگاه ميكنه و مثل اونها عمل ميكنه ...

 

  سمت فرستنده

 سمت گیرنده

چراغ خاموش = صفر      چراغ روشن = یک    

 

اما فريم ها براي ارسال كجا تعبيه ميشن ؟

اگه كارت شبكه رو مثل يه ميز مونتاژ در نظر بگيرين، فريم ها روي ميز ، مونتاژ ميشن و وقتي مونتاژ شدند ، آماده ي ارسال ميشن.

در واقع هر كارت شبكه اي در هر كجاي جهان ساخته بشه ، روالش به اين نحو هست كه فريم در اون تعبيه ميشه و وقتي تعبيه شد آماده ي ارسال ميشه.

خب فريم مقدماتي رو فرستاديم . نوبت به فريم بعدي ميرسه كه حاوي آدرس MAC هست. اما آدرس MAC چيه؟

 

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

فعلا . موفق باشید.


پايان جلسه سوم

 

 <جلسه قبل ــ جلسه بعد>