TCP/IP تاریخجه و تعریف:
با گسترش استفاد ه از کامپیوتر ها در دهه 1960 و 1970، نیاز ببه برقراری ارتباط و انتقال اطلاعات بین کامپیوترها به صورت دو طرفه به طریقی کارا و مؤثر احساس شد .
این نیاز منجر به طراحی تکنولوژی های شبکه ای شد که امکان ارتباط سیستم های کامپیوتری را فراهم می کردند.
توانایی سیستم های کامپیوتری در ارتقاء عملیات به قدری بود که آنرا تبدیل به یک قسمت اساسی در صنعت کامپیوتر در حال رشد کرد .
متاسفانه مانند تاریخچه بسیاری از موارد مشابه ، تکنولوژی شبکه نیز در ابتدا بسیار خاص و انحصاری بود .
فروشندگان تکنولوژی کامپیوتری روش های ارتباطی بین سیستم هایشان را با استقاده از نرم افزار و سخت افزار های خاصی طراحی می کردند و بدتر اینکه بسیاری از شبکه های مختلف موجود در دانشگاهها ، شرکتها و دپارتمان های دولتی صرفا طوری طراحی شده بودند که فقط می توانستند با کامپیوتر های شبکه خود ارتباط بر قرار کنند و هیچگونه ارتباطی با شبکه های خارجی نمی تونست برقرار گردد.
این رشد سریع منجر به یک هرج و مرج تمام عیار شد تا بدانجا که بعضی از شرکت های دارنده تکنولوژی شبکه های خاص ، حتی با شبکه های داخلی خود هم غیر ساز گار شدند.
همزمان با رشد شبکه ها در پر کردن نیاز ارتباطات بین کامپیوتری نیاز به یک روش برای ارتباط شبکه های ناهمگون با یکدیگر احساس شد.
این تکنولوژی تحت عنوان تکنولوژی بین شبکه ای (Internetworking ) معروف شد.
تکنولوژی بین شبکه ای علاوه بر کمک دربرقراری ارتباط شبکه ها با هم، در گسترش شبکه ها به مقیاس وسیعتر بت مدیریت متمرکز محلی کمک شایانی نمود.
شبکه های خوب طراحی شده می توانند در صورت نیاز با سایتهای دور یا با کاربران معمولی گسترش یابند.
یکی از سازمان های مهم که نیاز به قابلیتهای بین شبکه ای داشت، آژانس پروژه های تحقیقاتی پیشرفته دولت آمریکا یا ARPA بود.
بودجه مالی تعدادی از پروژه های تحقیقاتی از طریق ایالات متحده تامین می شد و بسیاری از این پروژه ها مرتبط با تکنولوژی های شبکه ای بودند.
یکی از مهمترین تکنولوژی های طراحی شده توسط ARPA تکنولوژی پیام رسانی (Packet-Switching) بود.
شبکه های پیام رسا مطلوب اینتر نتها هستند .
یک شبکه پیام رسا ، داده ها را با تقسیم آنها به واحد های کوچکتر انتقال می دهد که هر یک از آن واحد ها ، بسته( PACKET) نامیده می شوند.
هر یک از بسته ها شامل رشته داده ای کامل و آدرس فرستنده و گیرنده است.
یک شبکه پیام رسا به شبکه های کوچکتری ( که اغلب زیر شبکه ها یاSubnets نامیده می شوند ) تقسیم می شود که از طریق ابزار هایی به نام مسیر یابها (routes) له هم وصل شده اند، اگر مقصد بسته در همان قسمت ( segment ) از شبکه محلی نباشد ، مسیر یاب تعیین می کندکه بسته ها چگونه به مقصد تحویل داده شوند و چگونه به یک قسمت مناسب شبکه فرستاده شود.
همچنین شبکه های پیام رسا قابلیت تحمل پذیری در مقابل خطا – fault toleranece ) را ارائه می دهند.
اگر مسیر یابهای زیادی در رسیدن به یک مقصد در شبکه قابل دسترس نباشند ، مسیر یابهای پیام – رسا می توانند بسته ها را مجددا مسیر یابی کنند تا از شر مسیر یابهای غیر قابل دسترس یا مسیر یاب های پر ازدحام خلاص شوند.
شبکه های پیام رسا ، ذاتا ارتباط بین شبکه ای مناسب هستند و بدین خاطر ARPAدر دهه 1970 سرمایه گذاری زیادی در تکنولوژی پیام رسانی در ارتباط دادن سایت های کامپیوتری خود در دانشگاه ها ، انستیتو های تحقیقاتی دولتی و دیگر نمود .
این شبکه تحت عنوان شبکه ARPANETمعروف شد .
ARPANET نه تنها در برقراری ارتباط الکترونیکی به طور مالی موفق بود بلکه باعث تحریک تکنولوژی های مخابراتی مختلف شبکه ای از خطوط اجاره ای گرفته تا سیستم های بیسیمی رادیوئی و ماهواره ای شد.
تکنولوژی بین شبکهARPANET پیشرفته، اجازه داد که این تکنولوژی مجزا به یک شبکه بزرگ تبدیل شوند.
با پیشرفته تر و بزرگتر شدنARPANET،توجه مراکز مختلف علاقه مند به تکنولوژی های بین شبکه ای به آن معطوف شد .
این آژانس ها شروع به کار مشترک برای تبدیل تکنولوژیRAPANET به یک پروتکل شبکه ای استاندارد به نام TCP/IP کردند.
TCP/IP ترکیبی از ددو پروتکل اصلی است که خود مخفف آنهاست ، پروتکل کنترل ارتباط(Transport Control Protocol) و پروتکل اینترنت protocol internet .
ARPAاز کمیته ای تشکیل شده که کارهای طراحی و شبکه هایی که را به عنوان ستون فقرات شبکه خود استفاده می کنند را جهت می دهد(چنین شبکه ای اینترنت نام دارد).
توجه: الان وقت خوبی است که موارد استفاده بعضی از کلمات را بیاموزید.
کلمه اینترنت Internetمی تواند به عنوان فرم مختلف کلمه Internetwork(بین شبکه ای ) استفاده شود .
اما فرم نوشته شده با حروف بزرگ این کلمه با فرم نوشته شده با حروف کوچک فرق می کند، فرم کوچک آن یک واژه عمومی برای هر نوعInternetwork است اما فرم نوشته شده با حروف بزرگ (INTERNET)آن به یک عبارت خاص که همان internetworkجهانی است و از ARPANETنشات گرفته اشاره دارد .
کمیتهARPANET، ICCB internet Control and Configration Boardگاهی نیز نامیده می شود.
اینترنت در اوایل دهه 1980 به منظور انجام کارهای تحقیقاتی شامل کارهای تحقیقاتی تجاری شروع به رشد کرد و بسیاری از شرکت های تجاری شروع به برقراری ارتباط با آن کردند .
این رشد روز افزون ناشی از یکپارچه شدن پروتکل BSD ) BSD UNIX TCP/IPمخفف Berkely Software Distributionمی باشد که در دانشگاه کالیفرنیا طراحی شده بود، شد.
این سیستم عامل توانمند و رایگان قبلا به طور خیلی زیادی در دانشگاه ها استفاده شده بود چرا که قیمت و قدرت آن از هر نظر بهتر از دیگر سیستم عامل ها بود و نیز تلفیق TCP/IPبا UNIXمنجر به رشد سریع اینترنت شد تا اینکه خیلی زود دپارتمان های علوم کامپیوتری دانشگاه ها در سراسر کشور شروع به طراحی شبکه ها و ارتباط با اینترنت کردند.
(Architecture Board) IABمعرفی شد.
این کمیته یک سازمان مستقل برای طراحی استاندرد ها و ترویج تحقیقات و رشد آنها روی تکنولوژی های اینترنت می باشد .
همکنون شامل دو قسمت اصلی است: عامل عملیات تحقیقاتی اینترنت یا (Internet Research Task Force ) IRTFکه کار تحقیقات روی تکنولوژی ها به منظور بهبود و ارتقاء اینترنت را بر عهده دارد .
قسمت بعدی عامل عملیات مهندسی اینترنت یا (Internet Engineering Task Force )موارد فنی و مشکلات اینترنت جهانی را حل و بررسی می کند.
IABدر طراحی و رشد اینترنت موفق بود، به طوری که در اواسط دهه 1980 سزمایه گذاری بزرگی برای طراحی یک ستون فقرات (backbone) با سرعت بالا به نامNSFNET انجام شد.
NSFNET برای پیوند دادن ابر کامپیوترها به یکدیگر و ارتباط آنها به اینترنت طراحی شد، اما بعدا NSFشروع به ساخت شبکه های محلی کوچکتر نمود .
موفقیت اینترنت در اواسط دهه 1980 منجر به تصمیم دپارتمان دفاع آمریکاDOD) )به اینکه همه سیستم های وصل شده به شبکه اینترنت جهانی ، TCP/IPرا به عنوان استاندارد خود استفاده کننده شد .
توجه: تصمیمDOD مبنی بر استاندارد کردنTCP/IP و تمرکز قسمت های نظامی روی اینترنت( کهMILNET نام داشت) منجر به ارتقاء عالی دامنه( domine) اینترنت MILشد که گاهی این تصور غلط پیش آمده کهTCP/IP و اینترنت توسط گرو ه های نظامی برای برقراری ارتباط در حین تبادلات اطلاعات هسته ای طراحی شد.
هر چند که احتمال دارد توانایی ذاتی تحمل پذیری در برابر خطایDOD در اینترنت هم دیده شود، اما طراحی شبکه های پیام – رسا و اینترنت بسیار پیش از تفویض DODدر 1983 انجام شده بود.
استانداردهای اینترنت و تکنولوژی ها از طریق فرآیندی به نام Comments For Request RFCطراحی می شوند.
طرح های TCP/IPو استانداردهای اینترنت از طریق RFCها طراحی شده اند که بعدا توسط IAB ارتقاء و بهبود یافته اند.
اینترنت هم اکنون در حال رشد است و در تمام مراکز اقتصادی و خصوصی از طریق ارتباطات جهانی دامنه خود را وسیعتر می نماید.
امروزه اینترنت چندین میلیون سیستم را به هم وصل کرده که این سیستم ها از ایستگاه های کاری محلی تا ابرکامپیوتر ها متنوع هستند .
اینترنت دیگر مثل ستون فقرات اولیه خودNSFNET, ARPANET به و وابسته نیست و بیشتر ترافیک شبکه توسط شبکه های اصلی نگهداری شده توسط کمپانی های مخابراتی مهم و فراهم سازهای سرویس اینترنت مدیریت و کنترل می شوند.
مدیریت روزانه اینترنت توسط سازمانی بع نام مرکز اطلاعات شبکه اینترنت Internet Network Information Center ( INTERINC )یا انجام می شود.
انستیتو دولتی ایالت متحده INTERINC ، امروزه توسط یک شرکت خصوصی به نام Network Solutions در خارج ازVirginia وHerndon مدیزیت و نگهداری می شود.
INTERINC مسئول مدیریت عملیات مهم اینترنت در مقیاس وسیع مثل نگهداری اطلاعات و توزیع RFCها می باشد.
بعلاوه INTERINC مسئول مدیریت عملیات سطح بالا در اینترنت به طور کلی می باشد، هر چند که بسیاری از عملیات مدیریتی اساسی توسط شبکه های محلی، طراحی اینترنت را از یک حالت مرکزی خارج کرده است.
هر چند که این رشد سریع ، در محبوبیت TCP/IP به عنوان یک پروتکل شبکه ای است و به خاطر طراحی آن که به راحتی شبکه های مختلف را یکپارچه می سازد ، امروزه این پروتکل TCP/IP به عنوان یک رکن اساسی حتی برای کامپیوتر هایی که به اینترنت هم وصل نیستند، در آمده است .
با توجه به ارتباط شبکه های متصل شده به اینترنت و سرویس عای اینترا نت مبنتی بر عملیات اینترنت، TCP/IP یک استاندارد عملی برای ارتباط شبکه ای شده است .امروزه هر سیستم عامل مهم ، TCP/IP را برای ارتباطات شبکه ای خود استفاده می کنند و با حائز اهمیت تر شدن TCP/IP، بسیاری از سیستم های عامل شبکه ای حتی شروع به بنا گذاشتن پروتکل های خاصی به منظور استاندارد سازی TCP/IP کرده اند(ویندوزNT وMac os وNovell Netware نمونه هایی از آنها هستند).
حال که تاریخچه TCP/IP را فهمیدیم، نگاهی به مؤلفه های پروتکل TCP/IP برای درک بهتر خواهیم داشت .
مؤلفه ها وعملکرد: TCP/IP اغلب TCP/IP به عنوان یک پروتکل تلقی می شود ، در حالی که در حقیقت آن پشته ای از پروتکل است.
هر یک از آن پروتکل ها، قانون خاصی را در فرآیند برقراری ارتباط و انتقال داده روی یک شبکه پیاده سازی می کنند در این قسمت ما نگاهی به پشته TCP/IP خواهیم داشت و روی نحوه کار مؤلفه های آن به منظور انجام وظایف ارتباطی متمرکز خواهیم شد.
ما مدلOSI ( Open System Interconnection)را برای درک بهتر نحوه کار یک پشته پروتکلی استفاده خواهیم کرد وآن را با مدل پشته TCP/IP برای درک بهتر نحوه کار TCP/IP مقایسه خواهیم کرد.
مدل :OSI مدل OSI در ابتدا برای داشتن یک استاندارد صنعتی به منظور طراحی پروتکلی ارتباط شبکه ای پایه گذاری شد .
با رعایت کامل قوانین مدل OSI ، فروشندگان مختلف می توانند قابلیت اطمینان بالایی در تکنولوژی های شبکه ای خود به دست آورند،ولی بازار شبکه کاملا مطابق با این روش کار نمی کرد و هیچ پروتکل شبکه ای محبوبی امروزه به طور کامل به مدل OSI وفادار نیست و TCP/IP هم از این قاعده مستثنی نیست .
اما آن مدل یرای توصیف نحوه کار پروتکل های بین شبکه ای استفاده می شود و ما می توانیم آن اطلاعات را برای درک به TCP/IP کار بندیم.
مدل OSI شامل تعدادی مؤلفه است که به لایه هایی تقسیم شده اند.
هر لایه یک کار خاص در انتقال داده ها روی شبکه انجام می ده د در زماتن انتقال داده ها، هر لایه داده های قالب بندی شده توسط لایه بالاتر را می گیرد و آنرا اداره می کند و آن را به لایه زیرین عبور می دهد.
در زمان دریافت داده ، لایه ها ، داده ها را از لایه های زیرین می گیرند ، آن داده ا را باز می کنند و سپس ان را به یک لایه بالاتر عبور می دهند.
لایه فیزیکی لایه پیوند داده لایه شبکه لایهحمل لایهجلسه لایه نمایشی لایه کاربردی یکی از واژه های مهم در مدل پشته ای OSI مفهوم ارتباطات مجازی است .
هر قسمت از پشته شبکه ای ، رفتار و مشخصه های لایه های پایین و بالای خود را نادیده می گیرد و فقط داده ها را به عقب و جلو بدون هیچ اطلاعاتی درباره لایه های طرفین خود عبور می دهند.
موقعیکه بحث پیرامون لایه ها متمرکز است، هر لایه یک ارتباط مجازی مستقیم با لایه متناظر خود روی مقصد دارد در بحث لایه ها ، داده ها در لایه مقصددقیقا به همان طریقی که در لایه مبدا بسته بندی شده اند، باز می گردند.
لایه ها هاچ درکی درباره مشخصه های واقعی انتقال داده ندارند ، آنها تنها می دانند که داده ها از لایه های اطراف می آید.
این ارتباطات مجازی ، مدولاریتی هر لایه از مدل OSI را بهبود می بخشد، این بدان معنی است که در پیاده سازی نرم افزار هر لایه ، می توان مواردی را حذف و یا جایگزین کرد یا کارهایی را از طریق مدیریت ایستگاه ها انجام داد بدون اینکه تاثیر حائز اهمییتی در لایه های بالایی یا زیرین انجام شود.
این ویژگی، امکان تبادل انواع داده در شبکه و بروز رسانی لایه ها در کار اشکال زدایی و معرفی ویژگی های جدید را می دهد .
هر لایه، از سرویس های لایه های بالا و پایین خود برای حفظ یک ارتباط مجازی با همپایه خود در میزبان دور استفاده می کند .
قسمت های زیر هر یک از این لایه ها را شرح می دهد و قوانین ارتباط هر یک را توصیف می کند.
لایه فیزیکی : هر تکنولوژی شبکه ای نیاز به رسانه های فیزیکی با مشخصه هایی از قبیل ظرفیت برای انتقال اطلاعات 0و1 دارد تا بدین ترتیب بتواند ارتباطات دیجیتالی را برپا کند این رسانه در لایه فیزیکی مدل OSI مشخص می شود.
معمولیترین رسانه در لایه فیزیکی،کابل یا سیم( مثل کو آکسیال یا کابل هم محور ، جفت به هم تابیده ، فیبر نوری یا موارد دیگر ) می باشد، هر چند که این ها تنها نوع رسانه ها برای تبادل اطلاعات بین پروتکل هانیستند .
بعضی از شبکه ها تکنولوژی های بیسیمی را استفاده می کنند و به امواج رادیویی با طول موج بلند یا کوتاه، امواج مادون قرمز یا رسانه های لیزری برای انتقال داده ها وابسته هستند.
این لایه ، خود رسانه و نیازهای آنرا برای ارتباطات اولیه( مثل مشخصه های پهنای باند و میرائی فرکانس) مشخص می کند.
در این لایه ، ارتباطات در اولیه ترین سطح خود هستند، مواردی از قبیل صدور امواج الکترو مغناطیسی در یک سیستم مسی) یک فیبر نوری یا در هوا در این لایه مشخص می شود.
لایه فیزیکی خود به تنهایی اطلاعاتی درباره ارسال ندارد و فقط 0و1 ها را انتقال می دهد.
لایه پیوند داده: لایه پیوند داده جایی است که پروتکل های ارتباطی شروع به هوشمند شدن می کنند.
لایه پیوند داده، مسئول ایجاد توانایی انتقال داده در یک فرم منسجم و قابل رمز گشایی روی رسانه است( این فرم از 0و1 های ساخته شده و قابل دسترسی، توسط لایه فیزیکی به دست می آید).این کار اغلب با انتقال دادها در واحد های منطقی به نام فریمها( Frames ) انجام می پذیرد.
هر فریم شامل یک تیتر( header ) برای همزمان کردن ارتباطات ، فیلدهایآدرس که در برگیرنده آدرس فرستنده و مقصد هستند و یک قسمت از داده های ارائه شده توسط پروتکل های لایه بالاتر است.
فریمها همچنین می توانند شامل اطلاعات اضافی لازم برای بازبینی داده های گرفته شده هم باشند.
با توجه به نوع پروتکل، فریمها می توانند به یک اندازه ثابت یا اندازه متغییر باشند تا بتوانند حداکثر سازگاری را با داده های انتقالی بیابند .
پروتکل های پیوند داده ، ذاتا اتصالی( Connectionless ) هستند و این بدان معنی است که این پروتکل ها مکانیزمی برای تضمین صحت تحویل داده ها ندارند.
پروتکل های پیوند داده به صورت کورکورانه داده های ارسالی به خودشان ، توسط پروتکل های لایه بالاتر را کپسوله می کنند و آن ها را به رسانه لایه فیزیکی روانه می سازند.
پروتکل های پیوند داده ذاتا قابل مسیر دهی ( routable ) نیستند و این بدان معنی است که آدرس دهی استفاده شده توسط پروتکل های پیوند داده عموما مرتبط با سخت افزار فیزیکی استفاده شده برای انتقال اطلاعات روی رسانه فیزیکی است و اطلاعات لازم برای مسیر یابی بین شبکه ها ( internetworks ) وجود ندارد.
بنابراین پروتکل های لایه پیوند داده فقط برای ارتباطات گره – به – گره مناسب هستند.
نمونه هایی از پروتکل های لایه پیوند داده عبارتند از اترنت ( Ethernet )و توکن رینگ ( Token Ring ).
لایه شبکه : پروتکل های لایه شبکه برای آدرس دهی ، مدیریت ترافیک و عملیات مسیر یابی طراحی شده اند.
آن ها بر اساس آدرس های کنترل دسترسی به رسانه یا MAC(Media Access Control )که در تمام سخت افزارهای کارت شبکه تعبیه شده اند ساخته می شود، این کار با ارائه یک طرح آدرس بندی که به پروتکل های لایه پیوند داده متکی نیست و حاوی اطلاعات کافی برای عملیات پیام- رسانی به ابزارهای مسیر یاب شبکه باشند، انجام می پذیرد.
لایهشبکه ، داده ها را از پروتکل های بالاییش می گیرد و آنها را به بسته هایی با آدرس های مقصد و فرستنده جدا می سازد و به لایه پیوند داده در پایین خود برای انتقال روی رسانه فیزیکی ارسال می کند.همچنین این لایه مسئول ارائه آدرس های خود به فرم آدرس های لایه پیوند داده نیز می باشد، لذا پروتکل پیوند داده می تواند داده ها ذا به مقصد مناسب بفرستد.
با توجه به مقصد واقعی بسته ها، آن مقصد می تواند ایستگاه دیگری روی همان قسمت (Segment ) از شبکه فیزیکی باشد یا اینکه شاید احتیاج به یک ابزار مسیر یابی که مشخص کند این بسته به کدام طرف باید ارسال شود داشته باشیم .
پروتکل های لایه شبکه ذات غیر اتصالی هستند، یعنی بسته ها قالب بندی و آدرس دهی می گردند وبه سمت لایه پیوند داده فرستاده می شوند،ولی پروتکل لایه شبکه هیچ مکانیزمی برای تضمین تحویل آنها ندارد .
نمونه هایی از پروتکل های لایه شبکه عبارتند از ( Internet Packet Exchange )IPX , (Internet Protocol ) IP که یک پروتکل لایه شبکه از پشته IPX/SPX توسط ناول برای محصول نت ور طراحی شده است.
لایه حمل: پروتکلهای لایه حمل برمبنای سرویسهای فراهم شده توسط لایه شبکه ساخته شده اند و آن ها را با سرویس های ارتباط گرا ارتقاء می بخشند .
یک سرویس ارتباط گرا Connection-Oriented ) از این جهت از یک سرویس غیر اتصالی Connectionless متمایز می شود که سرویس ارتباط گرا مکانیزمهایی برای صحت تحویل داده ها دارد .
پروتکل های لایه حمل شامل قابلیت تایید از گیرنده بسته هستند ،اگر هیچ سیگنال تائیدی دریافت نشود ، پروتکل لایه حمل می تواند بسته را مجددا ارسال کندو اگر زمان این کار به سر آید، یک خطا تولید می شود .
همچنین پروتکل های لایه حمل بسته ها را به صورت پشت سر هم علامت می زنند تا بدین ترتیب اگر ترتیب آنها درگیرنده به هم خورد بتوان مجددا آنها را سازماندهی و مرتب کرد ( به هم خوردن ترتیب اطلاعات دریافتی در شبکه های پیام – رسا امری محتمل است ).
و در آخر پروتکل های لایه حمل توانائی پردازش چندین برنامه کاربردی برای دسترسی به شبکه را ارائه می دهد تا بدین ترتیب با استفاده از آدرس های محلی خاص تععین شود کدام مقصد باید کدام رشته داده را پردازش کند.
این آدرسها اغلب تحت عنوان پورتها و ارتباط ایجاد شده برای این پورتها ، سوکتها (Sockets )نامیده می شوند.
نمونه هایی از پروتکلهای لایه شبکه شامل ( Sequenced Packet Exchange SPX , TCP که در پشته IPX/SPXتوسط ناول طراحی شده است ،می باشند .
لایه جلسه: پروتکلهای لایه جلسه ، مدیریت جلسات شبکه ای خاص روی روی شبکه را بر عهده دارند ، این جلسات مواردی از قبیل Login کاربران با یک ارتباط برای انتقال فایل ها می توانند باشند .
پروتکلهای لایه جلسه ، ایجاد این ارتباط ، نگهداری این ارتباط و پایان این جلسات شبگه ای را پوشش می دهند و سرویسهایی را ارائه می دهند تا بتوان عملیات ساده ای مثل Login ، قفل شدن شی، توانایی برقراری مجدد جلسه بعد از قطع ارتباط و دیگر موارد اولیه مشابه را انجام داد پروتکل ( Network Basic Input / Output System) ( NetBIOS استفاده شده توسط ویندوزNT و شبکه ها ی LANMAN ونمونه هایی از پروتکل های لایه جلسه هستند.
برای اطلاعات بشتر درباره NetBIOSبه روی نهم مراجعه کنید.
لایه نمایش: پروتکل های لایه نمایش ، توانایی ایجاد استانداردهایی برای رمزگذاری داده ها در پرو تکلای ارتباطی را بوجود می آورند .
پروتکل های این لایه امکان ارتباط سیستم های غیر مشابه را فراهم کنند و هراس از رمز گشایی داده های دریافت شده توسط یک پشته ارتباطی را برطرف می نمایند .
پروتکل های لایه نمایش تاحدی غیر کاربردی هستند چرا که عملیات دیگری در پشته پروتکلی انجام پذیرفته که احتیاجی به عملیات رمز گشایی در برنامه های سطح- بالاتر نیست نمونه ای از پروتکل لایه نمایش مکانیزم کدگذاری داده هااست که توسط پروتکل مدیریت شبکه ساده یا SNMP پشتیبانی می شود.
لایه کاربردی : پروتکلهای لایه کاربردی ، ارتباط بکار گرفته شده توسط برنامه ها روی ایستگاه میزبان به منظور استفاده از پشته را ایجاد می کنند.
این پروتکل ها اغلب به صورت رابط های برنامه نویسی برنامه های کاربردی (APIs)برای فراهم کردن کتابخانه استانداردی به منظور انجام عملیات مهم شبکه ای ، ارائه می گردند .
پروتکهای لایه کاربردی حتی می توانند سرویس های مخابراتی مدولار که منطبق بر خواص خاصی از پروتکلها نیستند را هم ارائه دهند تا بدین ترتیب هدایت و پیکر بندی مجدد شبکه ها راحتتر شود .
نمونه هایی از پروتکل های لایه کاربردی مثلWinsock API ، پروتکلServer Message Block SMB استفاده شده توسط ویندوز , ( Netware Core Protocol ) NCP NT استفاده شده توسط ناول نت ور می باشند .
ارتباطات و مدلOSI : حال که با قوانین قسمت های مختلف پشته OSI ، نگاهی انداختیم باید ببینیم که این مؤلفه های مختلف چگونه در کنار هم ، اطلاعات را دریافت و ارسال می نمایند.
این مثال،یک نمونه انتزاعی از نحوه نمایش ارتباطات در یک پشته شبکه ای مبتنی بر OSI به صورت تئوری است .
جلوتر در این کتاب جزئیات هر مرحله را خواهید آموخت و خواهید دید که بعضی از مراحل اجرایی OSI ، مستقیما با پشته های شبکه ای در عمل مطابقت ندارند.
شما همچنین توجه خواهید کرد که بسیاری از عملیا ت مور نیاز برای انجام این مراحل می توانند کنار گذاشته شوند .
ولی همکنون بیایید این مثال را بررسی کنیم و ببینیم که این عملیات چگونه انجام می شوند .با مجهز بودن به این دانش شما آماده آموختن جزییات بیشتری دربارهTCP/ IP خواهید شد .
ابتدا به انتقال داده می پردازیم ،فرض کنید یک شبکه فرضی متشکل از دو سیستم داریم : ایستگاه Bob و سرویس دهنده Bob.
Bob یک برنامه سرویس دهنده /سرویس گیرنده را روی این شبکه برای بررسی ویژگیهای جدید و ارتقاء قبل از بکارگیری آن در سیستم شرکت خود ، اجرا می کند .
این شبکه را نشان می دهد که ما آنرا BobNET نامیدیم.
این شبکه دارای دو کامپیوترBOBSER VER, Bob و پشته های شبکه ای مبتنی بر OSI روی هر کامپیوتر است .
Bob تصمیم به فرستادن یک رکورد بروزرسانی شده به برنامه سرویس دهنده تحت اجرا روی BOBSER VER از برنامه سرویس گیرنده روی ایستگاهش Bob)) دارد .
و روی دکمهSend در برنامه سرویس گیرنده اش برای شروع پردازش بروزرسانی کلیک می کند.
وقتب آن، دستور فرستادن رکورد را دریافت می کند برنامه سرویس گیرنده ، فرآیند انتقال را با استفاده ازAPI شبکه روی Bob شروع می کند .
در این لحظه داده های Bob در پشته در محل لایه های کاربردی قرار دارند .
حالا که API شبکه روی Bob رشته داده را در خود دارد ، آن رشته به سمت پایین به سمت لایه نمایش برای کدبندی داده ها به قالب ذخیره سازی داده معمولی استفاده شده روی شبکه Bob روانه می شود ( برای انجام این تمرین فرض کنید که این کدبندی اسمی تحت عنوانBoBASCII دارد ).
بعد از تبدیل کامل رشته داده به شکل BoBASCII ، آنرشته به سمت پایین یعنی لایه جلسه روانه می شود.
وقتی این کار انجام شد، لایه جلسه رشته داده را با آدرس مقصد و سوکت به سمت لایه محل می فرستد.
لایه حمل مشخصه ارتباط گرایی انتقال داده را مدیریت می کند و داده هارا به بسته های انتقالی خرد می کند و آن بسته ها را به لایه شبکه روانه می سازد و منتظر پیام تایید توسط لایه حمل برای هر بسته می ماند .
اگر سیکنال تایید دریافت نشود ، این لایه مجددا بسته های مزبور را ارسال می کند و منتظر تایید می ماند و این کار تا وقتی انجام می شود که زمان مشخص شده برای انجام اینکار به پایان برسد و در این لحظه یک سیگنال خطا اعلام می شود .
همچنین لایه حمل به جریان پیام های کنترلی از مقصد گوش فرا می دهد و سرعت انتقال برای بسته ها تنظیم نماید تا سرریزی در میزبان برای پردازش آنها بوجود نیاید .
تمام این سرویس ها بر مبنای یک ارتباط مجازی بین لایه های حمل دو سیستم رخ می دهد.
لایه حمل هیچ درکی درباره ویژگیهای انتقال داده ندارد .
6- حالا بسته ها به لایه شبکه رسیده اند .
لایه شبکه قوانین ساده تری نسبت به قوانین ارتباط گرای لایه حمل دارد ، این لایه فقط داده ها را به آدرس مقصد روی شبکه می فرستد.
این لایه بسته های دریافتی از لایه حمل را به بسته های لایه شبکه کمپسوله می کند و این کار با قرار دادن آدرس های فرستنده و گیرنده مناسب برای استفاده لایه انتقال داده انجام می پذیرد .
لایه شبکه غیر اتصالی هیچ مکانیزمی برای تعیین صحت تحویل بسته ندارد .
7-سپس لایه پیوند داده این بسته ها را دریافت می کند .
کار لایه پیوند داده بسیار ساده است ، خرد کردن بسته های لایه شبکه به فریم های لایه پیوند داده ئ انتقال به آدرس مقصد حال به پایین ترین لایه مدل OSIرسیدیم یعنی لایه فیزیکی که حالا داده ها به سمت مقصد حرکت می کنند.
8-با عبور داده ها از لایه فیزیکی و انتقال آنها به سیستم مقصد ،فرآیند از اینجا به بعد برعکس می شود .
ابتدا لایه پیون داده ، فریمهای عبوری از لایه فیزیکی را دریافت می کنند و آنها را باز می کنند.و پس از پردازش به لایه شبکه می فرستد.
9- حال که لایه شبکه بسته های ارسالی از ایستگاه اول را دریافت کرد، این لایه می تواند انها را بپوشاند و آنها را به بالا به سمت لایه حمل هدایت کند .
10- لایه حمل هر بسته را با تایید آنها می گیرد و د ر صورت بروز خطا در دریافت هر بسته ای تقاضای ارسال مجدد آنرا می کند.
بعد از انجام این کار به درستی، در پشته های داده به لایه جلسه عبور داده می شود.
11- وقتی لایه جلسه تائید کرد که انتقال به درستی انجام پذیرفته ، آن لایه ارتباط را قطع می کند و داده هارا به سمت بالا یعنی لایه نمایش برای رمزگذاری می فرستند.
12- در نهایت که رشته های داده به یک قالب درست و مفید تبدیل شدند، لایه نمایش آن داده ها را به سمت لایه کاربردی برای تحویل به سیستم مقصد برای انجام پردازش مناسب عبور می دهد .
13- فرآیند انتقال داده به اتمام رسید.
هرلایه در پشته فرضی OSI یک نقش مهم بازی می کند تا بدین ترتیب داده های Bob به همان طریقی که فرستاده شده اند ، دریافت گردند.
حال که متوجه شدید چگونه فرآیند ارتباطات کار می کنند و چگونه لایه های مختلف شبکه در کنار هم عمل پردازش را تسهیل می سازند بیابید به دنیای واقعی پشته TCP/IP قدم گذارید.
ما در اینجا بررسی خواهیم کرد که این پشته با مدل OSI چه تفاوت هایی دارد و مجددا مثال قبلی را به جای بررسی در مدل OSI در پشته TCP/IP بررسی می کنیم .
مدل پشته ای TCP/IP: همانطور که قبلا ذکر شد، هیچ یک ازب پروتکلهای واقعی دقیقا منطبق بر مدل OSI نیستند و TCP/IP هم از این قاعده مستثنی نیست.
در حقیقت، روش های پیاده سازی مختلف خود TCP/IP در یک طرح می تواند پشته را به طرق مختلفی پیاده سازی کند.
حال بیایید ببینیم TCP/IP که عملا چگونه کار می کند و از OSI برای توصیف آن استفاده می کنیم.
لایه ارتباط میزبان- میزبان لایه سرویس های کاربردی در قسمت های زیر ما هر یک از این لایه ها را بررسی می کنیم و انها را با مدل مقایسه می کنیم .
لایه دسترسی به شبکه: لایه دسترسی شبکه عملیات لایه فیزیکی و لایه پیوند داده مدل OSI را با هم تلفیق می کند .
این لایه در برگیرنده رسانه ارتباطی و پروتکل های ارتباطی برای انتقال فریمها روی آن رسانه است .
لایه دسترسی به شبکه در TCP/IP می تواند پروتکل های استاندارد صنعتی مثل اترنت Base – T 10را استفاده کند ولی در بعضی از پشته ها این دسترسی به روش های متفاوتی پیاده سازی خواهد شد .
پشته NDIS ( Network Driver Interface Specification )که در ویندوز NT و شبکه های LANMAN استفاده شده اجازه می دهد که پروتکل های دسترسی به شبکه مختلفی به صورت قابل تعویضی با یک پشته TCP/IP استفاده شوند.
لایه ارتباطات اینترنتی: لایه ارتباطات اینترنتی مسئول ایجاد ارتباط بین میزبان ها است ، بدون توجه به لایه دسترسی به شبکه ای کهخ به کار گرفته شده است این لایه می بایست قادر به ارتباط برقرار کردن بین میزبان های شبکه های محلی و شبکه های گسترده باشد.
بنابراین در این لایه باید یک آدرس بندی و پروتکل ارتباطی قابل مسیر دهی داشته باشیم .
لایه ارتباطات اینترنتی ازIP برای آدرس دهی و انتقال داده ها استفاده می کند.
بنا براین، این لایه ذاتا غیراتصالی است و متناظر با لایه(Network Layer ) شبکه مدل OSI است .
بعلاوه لایه ارتباطات اینترنتی مسئول فراهم آوردن همه اطلاعات لازم برای لایه دسترسی به شبکه به منظور فرستادن فریمهایش به مقصد محلی است ( یا مقصد میزبان دیگری یا مسیر یاب ).
بنابراین ، این لایه بایدARP( Address Resoulation porotocol ) پروتکل را هم در بر داشته باشد .
پروتکل دیگری به نام RARP(Reverse Address Resoulation porotocol برای آدرس دهی ایستگاههای بدون دیسک diskless نیز وجود دارد که بر این لایه تکیه دارد.
بعلاوه این لایه می بایست قادر به مسیر یابی داده ها از طریقinternetwork به مقصد های خود باشد.
بنابراین ، این لایه در برگیرنده پروتکلRIP (Routing Information Protocol ) نیز می باشد که می تواند از ابزارهای روی شبکه پرس و جو های انجام دهد تا تعیین کند که پشته ها به یک مقصد مشخص چگونه باید مسیر یابی شوند.
همچنین لایه ارتباطات اینترنت شامل قابلیتهایی برای میزبانها به منظور تبادل اطلاعات درباره مشکلات یا خطاها در شبکه می باشد .
پروتکلی که این ویژگی را پیاده سازی می کند، ICMP ( Internet Control Message Protocol )نام دارد.