اول : مبانی (Internetworking)
شبکه :
به مجموعه ای از کامپیوترهای مستقل و متصل به یکدیگر شبکه گفته می شود.
در سیستم های توزیع شده کامپیوترها متصل هستند ولی مستقل نیستند ولی در شبکه علاوه براینکه کامپیوترها متصل به یکدیگرند از همدیگر مستقل نیز می باشند.
اهداف شبکه و ویژگیهای آن ( Goals of Network ) :
1.
اشتراک منابع ، برنامه ها ، داده ها و تجهیزات (Resource, Programs, Data and Device Sharing )
2.
قابلیت اطمینان ( به دلیل تعدد منابع )High Reliability
3.
هزینه کم ( به دلیل بعدهای مسافت ) Saving money
4.
Salability : نیازها و سرویس ها متناسب با سخت افزار رشد پیدا کرده و تغییر می کنند.
در شبکه نیز وقتی یک بسته نرم افزاری ارتقاء پیدا می کند ، نیازها و سرویس ها تغییر پیدا می کنند.
5.
Communication Medium : افراد مختلف در نقاط مختلف با هزینه کم و سرویس خوب می توانند از طریق شبکه با یکدیگر ارتباط برقرار کنند.
Internetwork:
یک مجموعه ای از Individual Network (Network های متفرق و جدا از هم ( که حتی توپولوژی پروتکل هایشان با یکدیگر فرق می کند را به هم متصل می کند.عمل اتصال توسط Intermediate Devices ( Deviceهای واصل ، وسایل رابط ) صورت می گیرد و بنابراین یک شبکه Single ولی Large پدید می آید.
تعریفTerminal : یک Porte سریال (Com) یک مانیتور(Monitor) ، یک کیبورد (Keyboard) تشکیل یک Terminal را می دهند این وسیله CPU ندارد و صرفاً یک وسیله ورودی و نمایش دهنده می باشد.
تاریخچه Internetworking :
قبل از به وجود آمدن PC ها از Main Frame استفاده می شد که این کامپیوترها به کمک Terminalها و با سیستم Time sharing عمل می کنند.
( Main frame ها text base می باشند.) شرکت IBM پروتکلی به نام SNA (System Network Architecture) تعریف کرد که یک پروتکل 7 لایه ای ( مطابق OSI ) بود پس از ساخته شدن PC ها بحث LAN به وجود آمد.
شبکه های LAN (Local Area Network):
از به هم بسته شدن چند عدد PC به جهت ایجاد انتقال پیام، LAN به وجود می آید.در LAN بحث File Sharing مطرح شد که فایلی را توسط File Server می توان در اختیار User ها قرار داد.
اصولاً LAN شبکه هایی با فاصله ی زیر یک کیلومتر ( در یک یا چند ساختمان ) می باشد.
( تکنولوژی Broad Cast باعث محدود شدن LAN از نظر فاصله می گردد.)
شبکه های MAN (Metropolitan Area Network) :
اگر فاصله ها از حدی بیشتر شود دیگر شبکه های LAN جوابگو نخواهد بود در شبکه های MAN ایستگاه های مرکزی ارتباط بین یک سری شبکه های LAN را برقرار می کند.
ایجاد شبکه های MAN هزینه بالایی خواهد داشت.
( تلوزیون کابلی )
شبکه WAN (Wide Area Network):
از به هم پیوستن LANها توسط خطوط تلفن WAN به وجود آمد و محیط عملیاتی گسترده شد.
در شبکه های WAN از تکنولوژی Point-to-Point استفاده می شود.
که این اطلاعات نقطه به نقطه ارسال می شوند تا به مقصد برسند.
بین شبکه ها مسیریاب وجود دارد.
امروزه High Speed LAN به وجود آمده است .
سرعت LAN های قبلی در هر ده (1MG) بود که این سرعت به 10 MG و 100 MG و 1G ارتقاء یافت.این گونه شبکه ها عرض باند زیادی در اختیار دارند.
با به وجود آوردن LAN ها بحث Internet work گسترده تر شد.
تقسیم بندی شبکه ها :
1.
از دیدگاه جغرافیایی ( فاصله ایستگاه ها )
- LAN
- MAN
- WAN
2.
از دیدگاه تکنولوژی انتقال داده ها
- Point-to-Point
- Broad Cast ( پخش همگانی)
مزایای Internet work :
1.
اتصال LAN های Isolate ( یکپارچه سازی LAN های جدا از هم )
2.
جلوگیری از Duplication of Resource ( Resourceهای اضافی را حذف می کند )
3.
ایجاد نمودن مدیریت شبکه (Network Management) مدیریت فقط اعمال زور نیست.
4.
وقتی که بحث Internet work مطرح می شود خیلی از سرویس ها جلوه ی دیگری پیدا می کنند (مثل Video Conferencing )
مدل OSI ( Open System Interconnection) :
این مدل ، مدلی 7 لایه ای از وظایف شبکه است و هر لایه کاری را انجام می دهد.
لایه ها کاملاً مستقل از یکدیگر می باشند .
ارتباط بین لایه ها از طریق Interface ایجاد می شود.
هر لایه وظیفه دارد که به لایه های بالاتر سرویس بدهد و جزئیات لایه های زیرین را برای لایه های بالایی پنهان نگه دارد.
این مدل ، مدلی 7 لایه ای از وظایف شبکه است و هر لایه کاری را انجام می دهد.
هر لایه وظیفه دارد که به لایه های بالاتر سرویس بدهد و جزئیات لایه های زیرین را برای لایه های بالایی پنهان نگه دارد.
می خواهیم را از کامپیوتر سیستم A به کامپیوتر سیستم B بفرستیم .
سیستم این مدل را Intentional Standard Organization یا ISO ارائه کرده است و کلیه Software و Hardware را با این مدل می سنجیم .
عملیات در این مدل به این صورت است که لایه های متناظر ماشین A و ماشین B می توانند با هم ارتباط برقرار کنند.
هیچ لایه ای نمی تواند مستقیماً اطلاعات را روی محیط ارتباطی قرار دهد و برای انتقال اطلاعات ابتدا data با header خودش در هر لایه encapsulate می شود و به لایه پایین تر فرستاده می گردد.
Trailer, Header: هر لایه برای انجام دادن کار باید یک سری اطلاعات کنترلی داشته باشد تا گیرنده بتواند بر حسب آن اطلاعات کنترلی کاری را انجام دهد.
هر لایه یک سری اطلاعات کنترلی به صورت header یا trailer به data اضافه می کند.
ارتباط لایه ها با یکدیگر: همسایگی یا ارتباط مجاورتی ( مجاورت فیزیکی ): SAP ها Conceptual location هستند یعنی مکان مفهومی اند و ارتباط فیزیکی در لایه OSI را با هم فراهم می کنند.از طریق SAP ها اطلاعات رد و بدل می شوند ( جای عبور سرویس) هر کدام از SAP ها یک سرویس خاص ارائه می دهند ( یعنی به ازای هر سرویس یک SAP داریم .) ارتباط منطقی : (به واسطه header و trailer بین لایه های روبه روی هم و جفت )ارتباط منطقی برقرار می شود.
7 لایه OSI را به دو دسته تقسیم می کنیم : 1- Application layer سه لایه بالایی وظیفه سرویس دهی را دارند.
2- Data Transport layer چهارلایه پایینی وظیفه انتقال داده را دارند.
پروتکل(Protocol): به وسیله پروتکل ارتباط بین دو نقطه برقرار می شود.برای هر Communication یک سری قواعد و قوانینی وجود دارد تا اینکه این ارتباط برقرار شود ، رعایت این قواعد و قوانین رعایت پروتکل ارتباطی است.
( مثال تلفن ( شماره تلفن باید 8 رقم باشد ) تعریف : یک پروتکل مجموعه ای است از قواعد و و قوانین حاکم بر چگونگی تبادل اطلاعات بین کامپیوترهای تحت یک network medium ( محیط انتقال داده برای شبکه )(internet work) (پروتکل Network Communication ) ( مثلاً تلفن پروتکل هست ولی پروتکل Communication Tele ) Data Communication روی این 7 لایه پروتکل تعریف می کنیم که ممکن است شامل همه این لایه ها هم نباشد هر چقدر تعداد لایه ها بیشتر باشدSecurity بیشتر می شود و سرعت کمتری داریم ولی سرویس دهی بهتری داریم.
هر چه تعداد لایه ها کمتر باشد سرویس دهی کمتر و سرعت بیشتری داریم .
بنابراین دنبال پروتکلی هستیم که هم سرعت داشته باشد و هم کیفیت ( سرویس دهی ) ; بستگی به نیاز ما دارد.( مثلاً برای کنترل Robot) پروتکل ها 4 دسته اند : 1- LAN Protocolتا لایه 2 بالا می آید.
2- WAN Protocol تا لایه 3 بالا می آید.
3- Routing Protocol فقط در لایه سوم 4- Network Protocol شامل هر 7 لایه می شود.
برای تشخیص پروتکل ها تنها راهش شناخت تعداد لایه هاست.
لایه های OSI : Physical Layer : این لایه وظیفه گرفتن اطلاعات از لایه بالاتر ( صفر و یک ) و تبدیل آن به سیگنال متناسب با محیط ارتباطی را بر عهده دارد.
در لایه فیزیکی مستقیماً با صفر و یک سروکار داریم.
From DLL To DLL data data Phy.L Phy.L تمامی تعاریف مربوط به بحث Physical مثل mechanical ، electrical و functional در بحث شبکه مربوط به این لایه است.
مدولاسیون : سوار کردن یک موج دیگر را مدولاسیون گویند.
عکس آن دی مدولاسیون است .اطلاعات ( مثل صدا ) را تبدیل به دیجیتال (1و0) می کند و سوار یک موج که می تواند کیلومترها برود می کند و در آخر دوباره تبدیل به اطلاعات می کنند( اطلاعات را پیاده می کنند ).
به موجی که اطلاعات را حمل می کند Carrier یا حامل می گویند.
Data Link layer : این لایه وظیف کشف و اصلاح خطا را بر عهده دارد.
( اگر سرعت فرستادن اطلاعات بالا باشد ، گیرنده نمی تواند همه آن را دریافت کند.
بخشی از آن از بین میرود.) وظیفه مهم دیگر Data link layer آدرس دهی می باشد.
وقتی می توانیم با کسی ارتباط داشته باشیم که بتوانیم آن را صدا بزنیم – وقتی می توانیم صدا کنیم که اسم داشته باشیم ( آدرس در شبکه ) این لایه به دو عدد Sub Lager تقسیم می شود : LLC: Logical Link Control MAC: Media Access Control آدرس MAC نقش آدرس فیزیکی را بازی می کند ، هیچ دوپورتی آدرس یکسان ندارند.
(MAC یکسان ندارند ) هر پورت MAC Add یونیک دارد.
LLC نقش آدرس منطقی را بازی می کند.
یک MAC به ازای پروتکل های مختلف ، آدرس های مختلف دارند.
یک کارت شبکه به ازای هر پروتکل یک آدرس دارد.
پروتکل هایی وجود دارند که mapping آدرس منطقی به MAC را انجام می دهند مثلاً APP ، کار MAP کردن Network Add را به MAC Add را انجام می دهد.
network layer : وظیفه این لایه Routing یا مسیر یابی است اگر پروتکلی Routing لازم داشت باید این لایه را شامل شود.
وقتی تعداد زیاد شد، مسیر یابی لازم می شود ، در این لایه پروتکل های مختلف Routing مطرح می شود.
Transport layer: ( درست رساندن محموله ) اگر می خواهیم data در شبکه تحت محافظت کامل (Security) باشد ، Flow Control داشته باشیم ، error checking داشته باشیم یا Multiplexing داشته باشیم باید این لایه وجود داشته باشد.
Flow Control : مثل بافر ، وقتی سیستم ها خیلی کند و یک خیلی سریع باشند.
( همان کاری که که مأمور راهنمایی در چهارراه ها انجام می دهد.) Multiplexing : وقتی که محدودیت خطوط انتقال داریم انجام می شود.
( مثل پست که برای انتقال هزاران نامه از یک خط هوایی استفاده می کند.
) Single line یک خط است الگوریتم های Multiplexing TDM : Time Divisions Multiplexing در زمان های خاصی line مال ارتباط A به G است .
Slice Time خاصی ) Error checking : a) error detection: فقط تشخیص می دهد که این رشته (0 و 1 ) خراب است یا نه ؟
دنبال Position بیت خراب نمی گردد.
b) error correction: مشکل تر است چون جای بیت خراب شده را نیز پیدا می کند.
(Detection مثل Parity Bit – Correction مثل CRC : مشخصاتی از رشته بیتی را می گیرد توی یک فرمول می گذارد و به یک عددی می رسد.) session layer: رفت و برگشت ها جهت گرفتن سرویس درخواست شده است .
( هر پرسش و پاسخی هم یک Session است .
خرید بلیط هم یک Session است .
) ایجاد کردن Session یعنی Establishment .
هر Session سه فاز دارد وظیفه این لایه مدیریت این سه فاز است.
a) session establishment.
b) Data transfer.
c) session terminate.
( مثال الو گفتن پشت تلفن – تا جواب ندهد Session ایجاد نمی شود.) :Presentation layer قرار است چیزی را Present کند و برای کسی قابل نمایشی کند ، ( دو تا Plat form داریم که اصلاً به هم نمی خورند ) این لایه وظیفه اش convection است ( تبدیل ).
دو Platform مختلف بتوانند داده هایشان را برای هم ارسال کنند.
( مثل JPG ، MPEG و ...
) Application layer : Application Service) است نه Application pog ) نزدیکترین لایه به end user است و مستقیماً درگیر end user است .
رابطی می شود بین لایه های داخل OSI و end user .
سرویس مثل پست الکترونیکی .
وظایف این لایه - آیا resource ، در دسترس (available) است ؟
- آیا Communication ، sync ( همزمان ، سازگار ) است ؟
Information Formats: اطلاعات داده ای و کنترلی که در Information Formats انتقال می یابند گستره وسیعی از شکل های گوناگون را شامل می شود.Information Formats در لایه های مختلف اسامی مختلف دارد.
( حق نداریم به هر Information unit ( واحدهای اطلاعاتی ) در همه لایه ها Packet بگوییم .
این غلط مصطلح وجود دارد ) در واقع وقتی اسم خاصی را به کار می بریم نشان می دهد از چه لایه ای حرف می زنیم .
From: لایه 2 - Information Unit ( واحد اطلاعاتی که )source و destination ( مبدأ و مقصد ) آن در سطح Data link layer است.
Packet: لایه 3 - از Connection oriented استفاده می کند.
Datagram: لایه 3- به علاوه از سرویس Connection less استفاده می کند.
اگر از Connection oriented یا از هر دو استفاده می کند Packet است.
Segment: در لایه 4 مطرح می شود.
Cell: لایه 2 – به علاوه اینکه fixed size (اندازه مشخص دارد) یک cell از دو قسمت تشکیل شده است.
53 Byte که data در قسمت Payload قرار می گیرد.
دو تکنولوژی Cell Base هستند.
ATM(Asynchronous Transfer Mode) SMDS( Switched Multimegabit Data Service) ATM حدود (مگابیت پرسکنت) 155 Mbps روی WAN عرض باند می دهد.
SMDS: در حدود (گیگا بیت) Gb است.
( سرعت در Cell Base بالاست .
Cell از Frame بهتر است چون Fixed Size است.
در Frame باید نقطه ابتدا و انتها مشخص شود و در ضمن طول آن در جایی نوشته شود.
در Cell این محاسبات وجود ندارد ) Iso Hierarchy of network: سلسله مراتب نام گذاری ISO روی بخش های مختلف network به شرح زیر می باشد.
ES (End System) : یک Network Device است که مقصد نهائی بسته اطلاعاتی ما است و چون مقصد نهائی است هیچگونه عملیات Routing در آنجا به انجام نمی رسد و مسیر یابی لازم نیست در آنجا انجام می شود .
ESها می توانند ترمینال ها ، PC ها ، پرینترها و امثال آنها باشد.
IS (Intermediate System) : هر وسیله ای که نقش Routing و Traffic Forwarding را بازی کند یک Device واسط یا IS است.
Intera domain IS : عمل Routing و Traffic Forwarding درون یک شبکه را انجام می دهد.
Inter domain IS : عمل Routing و Traffic Forwarding را بین شبکه ها انجام می دهد.( مثال دانشگاه ها و دانشکده ها ) AS (Autonomous System) : متشکل از چند Area است که استراتژی Routing بین این Area یکجا و توسط یک Administrator تعیین می شود.
Area : گروهی منطقی از اجزای شبکه را Area می گویند.( a logical group of network segment) AS را Domain نیز می نامند.
بنابراین Device های شبکه یا ES هستند یا IS هستندو یا جزء AS هستند تمام Deviceهایی که بین Area های درون یک AS کار می کنند Intera domain IS هستند.
تمام Deviceهایی واسطی که بین AS ها کار می کنند Inter domain هستند.
Connection – Oriented and Connection less Network Services این دو ، سرویس شبکه اند.
بنابراین هر پروتکل ارتباطی می تواند یکی از این دو سرویس یا هر دوی آنها را شامل شود یعنی یکی از این سرویس ها یا هر دوی آنها درون آن پروتکل مطرح می شود.
مثلاً TCP هم می تواند Connection Oriented و هم می تواند Connection باشد.
UDP فقط Connection less است.
مثال فردی که به تهران می آید : - تهران را بلد است ، نقشه دارد ، همه چیز از قبل مشخص است ، resorce ها رزرو است.
- آزادی پیاده می شود ، سوال می کند ، مسیر معلوم نیست.
Connection Oriented دارای سه فاز است.
1- Connection Establishment برقراری ارتباط 2- Data Transfer انتقال داده 3- Connection Termination قطع کردن ارتباط Connection less فقط دارای Data Transfer است.
Connection Oriented دو مسئله را رعایت میکند.
1- Static – Path Selection انتخاب مسیر به صورت ثابت یعنی از قبل مسیر را به صورت Static انتخاب می کند.
و در وسط کار به هیچ وجه حق ندارد مسیر را عوض کند.
2- Static Resource Reservation or Static Resource Allocation یعنی هر چیزی که نیاز است مثل Network Device ها ، حافظه ، عرض باند و ...
از قبل رزرو می شود.
( پس وسط کار با هیچ مشکلی نباید مواجه شود ) اما Connection less دو مسئله را رعایت می کند.
1- Dynamic Path Selection به صورت Dynamic مسیر را انتخاب می کند یعنی مسیر هر بار می تواند با حالت قل تفاوت کند.
Resource ها را از قبل رزرو نمی کند.
2- Dynamic Resource Reservation or Dynamic Resource Allocation در LAN فاز برقراری ارتباط نداریم.
کسی چیزی را قطع نمی کند پس نه قطع می شویم و نه وصل می شویم فقط انتقال داده داریم .
در LAN ، Resourceها را از قبل رزرو نمی کنیم.
در WAN از قبل مسیر را مشخص می کنیم ( که گم نشیم ) و از قبل Resource هایی که لازم است را رزرو می کنیم.
( مسافرت که می رویم چمدان می بریم ، دانشگاه که چمدان نمی بریم ) Static Path Selection یک مشکلی دارد.
چون مسیر از پیش تعیین شده است اگر وسط راه اتفاقی افتاده باشد.
و راه بسته باشد.Connection ، Fail می شود.
( ولی اگر Connection less استفاده شود چون مسیر dynamic است هر اتفاقی که افتاده باشد می تواند از کوچه پس کوچه برود ) پس از این نقطه نظر Connection less ، Flexible تر ( قابل انعطاف تر ) است.
ولی از آنجایی که Connection Oriented کل Resource های مورد نظر رزرو شده و مسیر کاملاً مشخص است و احتمالاً تجربه قبلی هم روی آن مسیر بوده می توانیم تخمین بزنیم که توی راه برای Resource ها نمی مانیم.
پس نتیجه می گیریم که نمی توانیم بگوییم مسیری که از قبل مشخص است سرعت بیشتری دارد.
( چون شاید مسیر مشخصی داریم که ، تا چراغ قرمز داره ولی می توانیم از کوچه پس کوچه بریم و چراغ قرمز نداشته باشد ) نمی توانیم بگوییمReliability ( ارتباط ) بالاتر است چون اتفاقاً در LAN به هم نزدیکتر هستند و قابل اعتمادتر است.
( پس از اینکه گارانتی شده بزنیم توی کار چه حسنی دارد؟
) در بحث Connection oriented عرض باند گارانتی شده است و Application هایی ( فعالیت هایی ) که نیاز به عرض باند گارانتی شده دارند باید Connection oriented باشند.
مثلاً mail ( هر وقت رسید ، رسید ) نیازی نیست Connection oriented باشد ولی Video Conferencing نیاز به عرض باند گارانتی شده دارد.
پس Video Conferencing روی LAN هم Connection oriented می خواهد.
اما امروزه سرعت درLAN خیلی بالا رفته (Gbps) ( شده Gb Ethernet ) بنابراین عرض باند بزرگی در اختیار داریم و مشکلی پیش نمی آید.
مشکل جای دیگری است.
در Connection Oriented کلیه بسته های اطلاعاتی مثل Packet ، پشت سر هم و از یک مسیر حرکت می کنند.
(مثل شلینگ آب ، مثل قطار ) ولی در و از یک مسیر حرکت می کنند.
(مثل شلینگ آب ، مثل قطار ) ولی در Connection less ممکن است هر بسته اطلاعاتی مسیر جداگانه ای را اختیار کند.
باید مکانیزی باشد که این بسته های اطلاعاتی را که با شماره های مختلف می رسند Sequence کند.
یعنی به شماره ، ردیفشان کند وگرنه پیغام درست نمی رسد.
مکانیزی که اینجا به کار می رود Sliding Window است.
( فرض کنید فاصله بین انگشت ها جای Packet هایی اس که می رسند .
فرض کنید تا 19 آمده است .
فرض کنید Packet شماره 20 باید بیاید اما 28 می آید و می نشیند بعد 30 ، 22 ، 35 و ...
.
اگر تا فرصتی که به من داده شده 20 بیاید کار می تواند ادامه یابد ولی اگر نیاید Connection ، Fail است .
) Window Size در بحث شبکه مهم است ، نه می شود خیلی کوچک گرفت و نه خیلی بزرگ ( باید خیلی جلوتر fail می گفتید اما نگفتید ) پس با وجود این معضلات هم Connection Oriented و هم Connection Less به درد شبکه می خورند.
معمولاً در شبکه های LAN ، Connection Less است.
در شبکه های WAN ، Connection Oriented است .
بر خلاف ترجمه انقصال گرا در LAN خیلی هم متصل تر است تا در WAN .
در WAN نمی شود خیلی Connection Less کار کرد چون مسیرهای متعددی را انتخاب می کند ، آن طرف Window Size کم می آورد و Connection ، Fail می شود.
در LAN از هر دو می توان استفاده کرد.
اگر Connection Oriented عمل می کنیم کمی کند تر می شود و عرض باند از دست می دهیم.
Data های 0 و 1 که رسیدند تأییدیه ACK1 می آید و Window ، 2 فریم(Frame) به جلو می رود.
Internet work Addressing : هر پروتکل روی شبکه مکانیزم آدرس دهی جداگانه ای دارد .
( مثلاً پروتکل TCP/IP، IP آدرس است ، پروتکل Ethernet یک ده رقمی Hex است ) .
دو مورد را باید در آدرس دهی در نظر گرفت : درون شبکه نباید آدرس تکراری وجود داشته باشد.
باید پروتکلی وجود داشته باشد و آدرس خاص آن پروتکل را به MAC Address تبدیل کند.
MAC آدرس ، یک آدرس فیزیکی است که به ازای هر Port یک Network Device ، این آدرس در کل دنیا Unique است .
( بنابراین در هنگام ارسال اطلاعات ، همه Network Address ها باید به MAC آدرس تبدیل شوند تا به نقطه دلخواه روی شبکه برسیم.) Network Address نیز باید روی شبکه unique باشد.
مثلاً 1 آدرس IP روی 2 دستگاه نباید داشته باشیم ( Conflict می ده و نمی گذارد دستگاه دوم بالا بیاید) اما Network Address می تواند در شبکه های دیگر تکرار شود.
Data Link layer به 2 عدد sub layer تبدیل می گردد.
آدرس منطقی LLC آدرس فیزیکی MAC MAC Address از دو قسمت تشکیل شده است .
OUI یک آدرس 6 رقمی Hex.
است که سازمان استانداردسازی به سازندگان می دهد و این آدرس برای هر سازنده ای منحصر به فرد است .
6 رقم Vendor Assigned ، آدرسی است که شرکت سازنده به هر پورت ساخته شده می دهد .
( از ترکیب این دو قسمت آدرسی حاصل می شود که در دنیا تکرار نمی شود .) LLC بستگی به پروتکل دارد.
هر پروتکل Network Address خاص خودش را دارد.
MAC آدرسی است که معمولاً درون ROM نوشته می شود و هرگز Rewrite نمی شود.
لذا به آن Burned In Address (BIA) – داغ زده شده – نیز می گویند .
کارت شبکه هایی که2 پورته یا 3 پورته است ، یک MAC آدرس دارد.
هر پورت برای یک توپولوژی خاص مناسب است.
همزمان نمی توان از دو پورت آنها استفاده کرد.
به اینها Combo می گویند.
الان اغلب شبکه ها CAT 5 ی و RJ45 است .
بنابراین تک پورت هستند و یک مادگی RJ45 بیشتر نمی خواهند.
Address Resolution Protocol (ARP): این پروتکل وظیفه map کردن Network Add.
را به MAC Add.
به عهده دارد.
Network Address MAC Address ARP Request ARP Reply ARP Cache مثال معلم و لیست حضور و غیاب – دفعه اول یک اسم می خونه ، همه می شنوند ولی فقط یک نفر جواب می دهد – دفعه بعد اسامی در حافظه است و احتیاجی به خواندن نیست.
ابتدا که دو Device می خواهند یکدیگر را بیابند .
( یک Network Add داریم و می خواهیم Packet را به این IP آدرس بفرستیم.
/ MAC نداریم ( عمل ARP Request را انجام می دهیم .
به این صورت که در شبکه Broad Cast می کنیم ( Broad Cast یعنی پیغامی را به همه در شبکه رساندن ) .
سپس یک ARP Reply صادر می شود.
یک نفر جواب می دهد.
که توسط آن MAC Add مشخص گردد.
در جدولی به نام ARP Cache آدرس های Network و MAC را می نویسیم ، دفعات بعد ، ابتدا به ARP Cache مراجعه می کنیم اگر MAC آدرس نبود Broad Cast می کنیم.
MAC را به وسیله Hello Protocol پیدا می کنیم.
Hello Protocol ، پروتکلی است که Device ها پس از UP شدن ( وارد شدن به شبکه ) آدرس MAC خود به همه Deviceها اعلام می کنند.
( بنابراین همه آدرس MAC همدیگر را دارند.) اینکه کدام Network Add.
مربوط به کدامیک از MAC آدرس هاست توسط ARP انجام می شود.
پس از مدتی همه آدرس ها در ARP Cache وجود دارد و با مراجعه به آن خیلی سریع پیغامها فرستاده می شود.
مثال ) اگر LANA و LANB داشته باشیم و بخواهیم از Node A به Node H برویم : A به Cache مراجعه می کند و می بینه که H وجود ندارد.( Network آدرس H را نداریم .) ARP Request را Broad Cast می کند.
از روی LAN A پاسخی نمی رسد.
پس از طریق R ( Device واسط ) به LAN B می رود.
( A موکل R روی شبکه B می شود ) از سمت H ، ARP Reply می آید .
(MAC آدرس را اعلام می کند.) R پیغام را گرفته و به LAN A می فرستد برای Node A ، درون ARP Cache هم آن را ثبت می کند.
در Hello Protocol هم Hello Request و هم Hello Reply وجود دارد .
( پاسخ سلام شخص وارد شده ) این پروتکل فقط در حد MAC است .
( ربطی به Network آدرس ندارد.) سه پروتکل : Xerox Network Systems (XNS) Novell Internetwork Packet Exchange (IPX) DEC net Phase IV ( مال پروتکل DEC است ) نمونه های تجاری هستند که کارشان به دست آوردن MAC آدرس است ، یعنی به جای ARP می نشیند.
Network Layer Address : آدرسی که به عنوان Network Address بحث می گردد ، در سطح لایه 2 نیست و می تواند مقداری از لایه 3 را هم بپوشاند .
( مثال پلاک خانه برای شهرها / در دهات پلاک معنی ندارد/ شبکه WAN است ) اصطلاحاً به Network layer Add.
، Logical Address یا Virtual Address نیز گفته می شود.
( چون یک آدرس مجازی است / آدرس واقعی اش MAC است ).
شکل صفحه 17-1 .
یک Router با 3 پورت .
در این شبکه 3 پروتکل داریم.
( در هر شبکه ، هر پورتی به تعداد پروتکل هایی که در شبکه نصب شده Network Address دارد ، ولی فقط یک MAC آدرس دارد.) Hierarchical Address Space سلسله مراتبی Flat Address Space مستقیم آدرس دهی Flat یعنی اینکه همه مستقیماً همدیگر را با اسم بشناسند ( مثل محله ها که همه همدیگر را با اسم مستعار می شناسند ).
در محیط های گسترده می توانیم با نقطه گذاری آدرس Hierarchy درست کنیم .
A.A , A.B , A.C A A.B.A , A.B.B , ABC AB بسته به جمعیت Node هایی که توی شبکه وجود دارد ، آدرس دهی Flat است با Hierarchical ( در انتهای Hierarchical یعنی روی برگ درخت یا سلسله مراتب ، باز هم Flat آدرس دهی می کنیم.) Address Assignment : Address Assignment دو نوع است : Static Address : به این معنی است که Administrator شبکه مشخصاً به همه دستگاه ها ، یکی یکی IP Address می دهد ( به طور Manually ) و تا زمانیکه مدیر شبکه اقدام نکند و آدرس ها را عوض نکند این آدرس ها ثابت است.
Dynamic Address ( Server Address ) : پروتکلی به نام DHCP ( Dynamic Host Control Protocol ) یک آدرس IP در اختیار مصرف کننده می گذارد .
( هنگام تماس Dial UP به یک ISP ، شما آدرس ندارید پس یک Server که وظیفه آدرس دهی دارد یک آدرس به ما می دهد ) .
این Dynamic Address است زیرا ممکن است دفعه بعد که مراجعه می کنیم یک آدرس دیگر بدهد.
DHCP Server یک Pool ( استخر ) تعریف می کند و یک سری آدرس مشخص را معرفی می کند که می توانیم از آنها استفاده کنیم.
دفعه بعد که مراجعه کردیم سعی می کند همان آدرس قبلی را بدهد ولی به شرطی که آدرس های درون Pool تمام نشده باشد ( مثلاً 100 تا آدرس دارد ، 100 نفر وصل می شوند ، نفر صد و یکم که وصل شد دیگر آدرس ندارد که بدهد و مجبور است آدرس یکی از آدم قبلی ها را بدهد.
وقتی همان آدم قبلی وصل شد ، آدرس جدید می گیرد ) Address Versus Name ( آدرس در مقابل اسم ) : IP یک آدرس 32 بیتی است که حفظ کردن آن غیر ممکن است ، لذا در شبکه ها از اسم استفاده می کنند در دنیای Internet ، ( Domain Name Services ) DNS عمل تبدیل اسم ها به آدرس های عددی را بر عهده دارد .
یک Service Protocol است در TCP/IP و کارش این است که اسامی را به IP Address تبدیل می کند.
( اسمها را بر اساس یک مکانیزم خاص ( مثلاً : شرکت (Commercial) باشد می شود Com ، مربوط به حکومت باشد Gov ، مربوط به ارتش ( Military ) mil ، سازمان (Organization) باشد Org ، Education باشد Edu و ...
) دسته بندی کرده اند ) پس باید سازمانی باشد که این DNS ها را به درخواست کننده ها بدهد.
این کار را سازمانی به نام (IANA) Internet Assigned Numbers Authority انجام می دهد.
این سازمان مسئول Assign کردن اسم و آدرس ( ثبت Domain ) است و در دنیا تک است اسامی داده شده توسط INAA در دنیا Unique است.
( قسمت اروپا ییش اسمشInternic است.
که یکی از سرویس های آن Who is?
است ) WWW.Internic.org Flow Control: ( فرض کنید تعداد زیادی آدم می خواهند از یک در کوچک خارج شوند / یک ازدحام بوجود می آید ) در شبکه وقتی که یک سیستم سریع وصل می شود به یک سیستم کند ( مثلاً : یک LAN به یک WAN وصل می شود ) ازدحام یا Congestion رخ می دهد.
در واقع وظیفه Flow Control مقابله با Congestion است.
3 روش داریم.
در وسط یک سیستم تولید کننده کند و یک سیستم مصرف کننده کند ، یک بافر قرار می دهیم که مثل حوضچه آرامش عمل می کند ( بافر هیچ مکانیزم محافظتی ندارد، یعنی اگر تولید کننده بیش از اندازه تولید کند که بافر تحملش را نداشته باشد ، Over Flow می شود .
اگر هم اصلاً تولید نکند یا مصرف کننده سرعتش بیشتر از تولید کننده باشد Under Flow می شود دو بافر Empathy می شود که در هر دو صورت خطا است ) بافر را توسط یک پیغام به نام Source – quench که نقش قرمز را بازی می کند ، هوشمندتر می کنیم .
وقتی بافر از یک آستانه ای گذشت پیغام Source- quench برای سمت Source فرستاده می شود که برای یک مدتی تولیدش را متوقف کند.
این مدت هم قابل تنظیم است.
این سیستم بدون اشکال نیست چون در مورد Under Flow شدن کاری نمی تواند بکند.
باعث می شود که بافر سریز شود و Packetها drop نشوند.
ولی همین که ترمز کنی ( سرعت را کم کنیم ) در حقیقیت ضد باند عمل می کنیم.
مکانیزم windowing سومین مکانیزم Flow Control است .
این مکانیزم مبتنی بر Acknowledgment است.
Acknowledgment یک تأییدیه است .
( یعنی Window سالم رسیده ) در این روش درون قاب های یک پنجره Packet ها را قرار داده و همگی را یکجا می فرستیم و یک تأییدیه می گیریم .