learn Network 4

 

لایه های OSI

 

لایه های OSI از 7 لایه تشکیل شده اند که عبارتند از:

 

لایه  7

APPLICATION

لایه  6

PRESENTATION

لایه  5

SESSION

لایه  4

TRANSPORT

لایه  3

NETWORK

لایه  2

DATALINK

لایه  1

PHYSICAL

 

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

و آقای x زمانی نامه را می خواند که مهر دبیر خانه به آن خورده باشد.و تا از طرف دبیر خانه تایید نشده باشد  آقای x آن را امضا نمی کند.زمانی که نامه به دست آقای y می رسد  برای اینکه متوجه شود که پروسه ی اداری طی شده است امضا ها را چک می کند.

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

HEADER چیست؟

هر لایه زمانی که وظیفه ی خود را به اتمام رساند در آخر کار چیزی را به data اضافه می کند.که در اصطلاح به آن header گفته می شود.در واقع HEADER خلاصه کاری است که هر لایه بر رویdata انجام می دهد و حکم همان امضا را دارد.

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

ENCAPSULATION چیست؟

به اضافه شدن هر header به لایه ی دریافت شده از لایه ی بالاتر encapsulation  گفته می شود.

حال فرض کنید که 2 تا کامپیوتر می خواهند با یکدیگر در ارتباط باشند در این صورت جهت حرکت در sender از لایه ی7 به 1 می باشد و در reciver از لایه ی 1 به 7 می باشد.

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

 

 باید به این نکته توجه کرد که فقط 3 لایه هستند که header دارند  که لایه های transport و network و datalink  می باشد.

باید به این نکته توجه کرد که در reciver همیشه decapsulation انجام می گیرد.

در reciver هر لایه هدری را که  در لایه ی متقابل ساخته شده است چک می شود اگر که ok بود  آن را حذف می کند. و آن را به لایه ی بالایی می فرستد.

Decapsulation  چیست؟ به کم شدن header هر لایه و تحویل دادن آن به لایه ی بالاییdecapsulationگفته می شود.

 

 

وظایف لایه های OSI

 

لایه application

 

 

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

پروتکل هایی که در این لایه هستند عبارتند از  http و https ,برای دانلود کردن و آپلود کردن FTP, برای فرستادن ایمیل smtp و imap4 است.

Load شدن در Inbox همان pop3 می باشد.

وقتی که در خواست ایجاد شد به لایه ی  presentation  می رسد.

لایه presentation

 

 

کار اصلی که در این لایه انجام می گیرد مشخص کردن format  دیتایی است که دریافت و یا ارسال می گردد.

برای مثال زمانی که http را انتخاب می کنیم مشخص می کنیم که به دنبال صفحاتی هستیم که asp یا php یا html نوشته شده است.

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

2 نکته ی مهم در لایه ی Presentation

  1. هر زمان که data را کد گذاری می کنیم (encryption) در حقیقت  در داخل این لایه این کار را انجام می دهیم که کد گذاری ها دارای الگوریتم ها ی متفاوتی می باشد.اما نکته ی قابل توجه این است که الگوریتمی که انتخاب شده است با الگوریتم انتخاب شده در طرف مقابل باید یکسان باشد.
  2. compression که همان فشرده سازی است اینکه با چه فرمتی اطلاعات را zip کنیم و طرف مقابل با چه فرمتی اطلاعات را uncompress کند .

لایه ی session

 

 

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

نکته در سه لایه ی بالا header ندارند و تنها در آنها  data تشکیل می گردد.

 در مورد ارتباطاتی که در شبکه موجود است باید به چند نکته توجه کرد:

در شبکه دو نوع ارتباط موجود است مطمئن یا reliable - غیر مطمئن یا unreliable

ارتباط مطمئن  (reliable): فرض کنیم که دو pc می خواهند برای هم اطلاعات بفرستند  در این حالت فرستنده خیلی برای آن مهم است که اطلاعات به دست گیرنده برسد.

زمانی که فرستنده packet را می فرستد  گیرنده باید به فرستنده خبر دهد که packet به دست آن رسیده است.که به این خبر   acknowledge گفته می شود که به معنای تایید کردن می باشد.

حال نوع connection type توسط پروتکلی که  ما انتخاب کرده ایم مشخص می شود.در داخل پروتکل ها به صورت Default مشخص شده است که مطمئن هستند یا خیر.

حال ممکن است که این سوال پیش بیاید که کدام یک از connection type ها مطمئن هستند و کدام یک نامطمئن هستند.

 این بستگی دارد  به کاربرد آن برای مثال در ویدئو کنفرانس  نیازی به ارتباط امن نیست بنابر این برای صوت و ویدئو از ارتباط نا امن استفاده می شود. ولی برای ایمیل از ارتباط امن استفاده می شود.

Port چیست؟

به درگاه ورود و خروج اطلاعات port گفته می شود.در واقع دو نوع پورت داریم :

پورت های فیزیکال و پورت های لاجیکال.

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

درواقع دو نوع پورت  لاجیکال (logical) داریم.

پورت های udp  و پورت های tcp

پورت های tcp همان پورت های reliable هستند و پورت های پورت های udp همان پورت های unreliable هستند.

همه ی نود هایی که در شبکه هستند 1 تا 65535 پورت udp  و1تا 65535 پورت tcp دارند.

طبق استاندارد از پورت 1 تا پورت 1024 برای server ها رزرو شده است چه udp  و چه tcp

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

برای مثال فرض کنید که یک webserver    داریم پروتکلی که باید web  را ارائه دهد باید پورت 80 آن باز بوده و در حالت listening قرار دارد.

که اگر درخواستی وارد شد بتواند از طریق آن پورت آن را دریافت کند. در قسمت کلاینت یک پورت به صورت random باز می شود.که این پورت بین 1024 تا 65535 می باشد باز می شود تاdata از طریق آن بتواند عبور کند.

لایه ی TRANSPORT

 

 

در header لایه ی 4 source port  و اینکه به دنبال چه پورتی می گردیم تعریف شده است.

برای دیدن پورت های باز در سیستم باید در قسمت cmd تایپ شود netstat

 در این زمان state 3 حالت دارد:

1-listening: زمانی که server منتظر یک درخواست است اما پورت هنوز بسته است.

Established  (برقرار): به این معنی است که ارتباط برقرار شده است.

Time waiting: درخواستی داریم منتظر جواب هستیم اما پورت هنوز بسته است.

 flow control: در واقع همان کنترل جریان می باشد.

هر زمان که فرستنده شروع به فرستادن data کند و این کار را تند تند انجام دهد اما گیرنده نتواند آن process را انجام دهد lost data را داریم در واقع  اطلاعات از بین می رود.پس باید طبق یک استانداردی فرستنده و گیرنده توافق کنند که این اطلاعات از بین نرود.

برای مثال گیرنده به فرستنده می گوید 2 تا packet که فرستادی صبر کن تا من process را انجام دهم process که تمام شد دوباره 2 تا packet بفرست.

2 تا مکانیزم در کنترل جریان وجود دارد که تقریبا یکی از آنها منسوخ شده است.

اولین روش همان ready و notready می باشد.

در این روش فرستنده به گیرنده یک  سیگنال می فرستاد که اسم آن ready بود اگر که گیرنده آمادگی دریافت را داشت یک سیگنال به نام ready  را به فرستنده می فرستاد .و فرستنده شروع به فرستادن data می کرد اما اگر گیرنده بافرش پر می شد یک سیگنال به نام not ready می فرستاد تا دیگر فرستنده اطلاعاتی را نفرستد.

مشکلی که در این روش وجود دارد delay می باشد زمانی که گیرنده سیگنال not ready را می فرستد تا زمانی که این سیگنال به فرستنده برسد  فرستنده چند packet دیگر را ارسال کرده است. وتازه فرستنده سیگنال not ready را دریافت کرده است در این صورت اطلاعات پایانی از بین می رود.

مکانیزم دیگری که وجود دارد windowing می باشد.

  در این روش قبل از فرستاده شدن data فرستنده و گیرنده  بر سر حجم packet با یکدیگر تفاهم می کنند.

 

CONNECTION  MULTI PLEXING

ممکن است که یک سرور هم زمان چندین سرویس را ارئه دهد و یک کلاینت نیز به صورت هم زمان چندین درخواست داشته باشد.

و connection  ها نیز همه established  شود در این صورت کار تفکیک کردن این درخواست ها بر عهده ی کیست؟ این کار برعهده ی لایه ی 4 است.لایه ی 4 این درخواست ها را با شماره ی  پورت ها انجام می دهد.

Pdu چیست؟

به data که در هر لایه است به همراه header آن لایه pdu گفته می شود.

PDU لایه 4 چیست؟

 pdu  موجود  در لایه 4 تولید می شود در اصطلاح segment  گفته می شود.

لایه ی network

 

 

subnet آدرس های مبدا و مقصد و تشخیص مسیر لازم پروتکل های IP , IPX در این لایه استفاده می گردند.

IPv4:

طول این ip 32  بیت می باشد که هر 8 بیت توسط یک . (نقطه) هم جدا شده اند.

مانند 192.168.110.1  به طور کلی در دنیا 2 به توان 32 تا ipv4 وجود دارد.

در اوایل که ipv4 را ایجاد کردند جمعیت جهان به این اندازه نبود  و اینترنت به این اندازه گسترده نبود  و ipv4 جوابگوی نیاز ها بود  و کفایت می کرد اما با گسترش جمعیت از سال 1997 با تشکیل کمیته ای به این نتیجه رسیدند که با گسترش این روند در سال های 2005 تا 2011  با کمبود ip مواجه خواهیم شد از آن زمان به فکر استراتژی های مختلفی بودند  در سال 2003 ipv6ابداع شد.

مزیت های ipv6 نسبت به ipv4:

  1. طول آن 128 بیت است در واقع 2 به توان 128 ip خواهیم داشت.
  2. به صورت هگزا دسیمال نوشته می شود و ماشین به حالت باینری آن را می خواند.

Ipv4 از لحاظ ساختاری به 2 قسمت تقسیم می شود network id و hostid درون شبکه فقط نود هایی می توانند با یکدیگر  ار تباط برقرار کنند که در قسمت network idکاملا شبیه به یکدیگر می باشند.

Network id: به مشخصه ی شبکه گفته می شود نود هایی که مشخصه ی شبکه آنها مانند یکدیگر می باشد می توانند با یکدیگر ارتباط شبکه ای داشته باشند.

Hostid: مانند اسم کوچک افراد در یک خانواده می باشد مشخصه ی آن نود از شبکه است که در درون شبکه قرار گرفته است. در هیچ شبکه ای 2 نود وجود ندارد که قسمت net و Hostیکسان با یکدیگر داشته باشند.

وظیفه ی دیگر لایه ی  network  روتینگ (routing) می باشد.

تعریف router : یک device می باشد که در لایه ی 3 قرار دارد و کار آن routing می باشد

Routingارتباط دادن چندین شبکه به یکدیگر با netid  های متفاوت.

کار دوم router: اتصال دادن توپولوژی های مختلف به یکدیگر  می باشد.

سوئیچ لایه ی3:

اگر کسی بگوید که سوئیچی دارم که در لایه ی 3 کار می کند به این منظور است که آن سوئیچ کار لایه ی 3 را انجام می دهد.

در واقع کار logical address و routing را انجام می دهد.

 حالا ممکن است این سوال پیش می آید که فرق سوئیچ لایه ی3 با router چیست؟

باید به این نکته توجه کرد که پورت های سوئیچ لایه ی 3 همه اترنت rj45 هستند و هیج سوئیچی پیدا نمی شود که rj11 به آن بخورد اما router از همه نوع پورت پشتیبانی می کند.

به طور کلی سوئیچینگ برای داخل شبکه می باشد اما router برای اتصال شبکه ی داخلی به یک شبکه ی دیگر می باشد. در واقع router  کار ان wan connectivity می باشد . اما lan connectivity می باشد.

pdu لایه ی 3 چیست؟

به pdu  در لایه 3  packet یا data gram گفته می شود.

لایه DATALINK

 

 

پروتکل های فیزیکی در این لایه به داده اضافه خواهند شد. در این لایه نوع شبکه و وضعیت بسته های اطلاعاتی (Packet) نیز تعیین می گردند. وظیفه های این لایه عبارتند از :

  • انتقال مطمئن داده از طریق محیط انتقال
  • آدرس دهی فیزیکی و یا سخت افزاری ( MAC )

همه ی device های شبکه یک logical address و یک physical address دارند. Logical address آدرسی است که آن را مامشخص می کنیم.

اما  همه ی device  ها یک آدرس هم برای خودشان دارند و آن آدرس physical می باشد.

آدرس physical در تکنولوژی های مختلف متفاوت می باشد  برای مثال در تکنولوژی  اترنت باید توپولوژی star باشد کابل twistedpair استفاده شود و کارت شبکه اترنت استفاده شود و از connection rj45  استفاده شود اگر تکنولو ژی ما اترنت باشد اسم physical address ما mac می باشد.

 برای دیدن mak باید در run تایپ شود cmd  و در صفحه ای که باز می کند نوشته شود ipconfig /all  وقتی این دستور را می زنیم در قسمتی نوشته شده است physical address که روبه روی آن یکسری کاراکتر نوشته شده است. که 12 کاراکتر می باشد که با خط تیره از یکدیگر جدا شده اند. که به صورت هگزا دسیمال می باشد که روی هم رفته 48 بیت می باشند  در واقع هر کاراکتر  یک نیبل می باشد.

 

Mac address در کل جهان unique  می باشد  از این 48 بیت  24 بیت اول آن را شرکت سازنده  مشخص می کند و 24 بیت بعدی را  سازمان ieee  که تمام استاندارد های مخابرات الکترونیک و سبکه را صادر می کند می باشد.

Mac address یک چیپست بر روی کارت شبکه است که قابل تغییر می باشد.

تعریف mac address:

یک آدرس physical داخل تکنولوژِی اترنت است  طول آدرس آن 48 بیت می باشد و به صورت هگزا دسیمال است 24 بیت اول آن متعلق به شرکت سازنده یآن و 24 بیت بعدی متعلق به سازمان IEEE می باشد.

که این آدرس کاملا منحصر به فرد و قابل تغییر می باشد.

برای تغییر دادن macباید آدرس زیر طی شود.

بر روی کامپیوتر کلیک راست شود

2-manage

3-device manager

4-روی کارت شبکه کلیک راست کرده

5-propertise

6-advanced

7-network address

سپس آدرسی را که می خواهیم می دهیم.

تفاوت موجود در physical address و logical address:

Physical address بر اساس تکنولوژی ها ی مختلف متفاوت می باشد  برای مثال در شبکه ی اترنت فیزیکال آدرس macمی باشد.

سوالی که پیش می آید این است که sourcemac  را داریم  حالا destination mac  را چگونه پیدا کنیم؟

پروتکلی به نام arp داریم که مخفف  address resolution protocol  می باشد.

که این پروتکل بر اساس  destination ip برای ما destination mac را به دست می آورد.

 پروتکل  arp در لایه ی 3 run می شود  برای کمک به لایه ی 2  در این حالت mac address    کامپیوتر هایی که ارتباط با آنها برقرار شده است cache می شود.

کاربرد cache  در شبکه:

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

 برای مثال یک بار با pc1 ارتباط برقرار کردیم و mac آن را به دست آوردیم  برای یک ارتباط دوم دیگر نیازی نیست  که arp  اجرا شود از روی data خود مک مقصد را به دست می آوریم.

برای دیدن cache arp باید در cmd تایپ شود arp –a

 برای پاک کردن cache arp باید در cmd تایپ شود arp –d

 وظیفه ی دیگر لایه ی دو Error checking یا error detection می باشد.

pdu که در لایه ی 2 قرار دارد چیست؟

به Pdu که در لایه ی دوم قرار دارد frame گفته می شود.

لایه ی physical

 

 بعد از اتمام کار لایه ی 2 حالا نوبت به انتقال data می رسد  حالا  data که به صورت 1,0  می باشد باید به صورت قابل فهم برای media در بیاید.که کار لایه ی physical می باشد.

مدیا ممکن است که کابل مسی باشد در نتیجه باید تبدیل شود به سیگنال الکتریکی و ممکن است که مدیا فیبر نوری باشد در نتیجه باید تبدیل شود به سیگنال نوری.

و اگر که wireless باشد باید تبدیل شود به سیگنال رادیویی  و طرف مقابل که این data  را تحویل می گیرد باید برعکس این کار را انجام دهد.

حالا باید در نظر گرفت که طرف مقابل از کجا باید بفهمد که محیط بر روی data تاثیر گذار بوده یا خیر اطلاعات صحیح انتقال پیدا کرده است  یا خیر؟

لایه ی 2 بعد از قرار دادن physical address  از یک فرمول به نام crc استفاده می کند برای مثال اگر x+y=z باشد

اگر x و y معلوم باشد  و در فرمول قرار دهیم در این صورت z  را به دست می آوریم . در crc نیز به همین صورت می باشد.

در این فرمول معلوم ها همان header ها هستند که در فرمول crc  در این قسمت معلوم ها را می گذاریم که خروجی این فرمول  fcs یا همان checksum می شود.که این checksum به کل دیتایی که داریم اضافه می شود.

در قسمت گیرنده بعد از تبدیل سیگنال fcs را جدا کرده  و کل data را    در crc قرار می دهد  اگر خروجی که ایجاد می شود در قسمت گیرنده با fcs که جدا شده است یکسان بود به این مفهوم است که محیط noise نداشته است و اطلاعات از بین نرفته و packet   سالم است.

/ 0 نظر / 23 بازدید