به این صفحه امتیاز بدهید (۵ / ۱)

در واقع پروتکل به معنی مقررات برقراری ارتباط است

برای درک بهتر از مفهوم پروتکل می توان از مثال دیپلماتیک استفاده کرد:

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

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

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

اما موضوع ارتباط فقط محدود به مکالمه نیست !

برگردیم به مثال دیپلماتیک ، در این ارتباطات فرای از پروتکل های مربوط به مکالمه همانطور که گفته شد پروتکل های مربوط به تشریفات ، پوشش و.. نیز وجود دارد.

به مجموعه پروتکل ها برای ایجاد ارتباط کامل در شبکه های کامپیوتری Stack Protocol  گفته می شود که عمومی ترین Stack protocol  در شبکه های کامپیوتری TCP/IP نام دارد.

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

حال به بررسی TCP/IP  می پردازیم :

مدل TCP/IP یا مدل مرجع اینترنتی که گاهی به مدل DOD (وزارت دفاع)، مدل مرجع ARPANET نامیده می‌شود که در سال ۱۹۷۰ توسط DARPA ایجاد شد    .

TCP/IP، پروتکلی استاندارد برای ارتباط کامپیوترهای موجود در یک شبکه مبتنی بر ویندوز ۲۰۰۰ است. از پروتکل فوق، به منظور ارتباط در شبکه‌های بزرگ استفاده می‌گردد. برقراری ارتباط از طریق پروتکل‌های متعددی که در چهارلایه مجزا سازماندهی شده‌اند، میسر می‌گردد. هر یک از پروتکل‌های موجود در پشته TCP/IP، دارای وظیفه‌ای خاص در این زمینه (برقراری ارتباط) می‌باشند. در زمان ایجاد یک ارتباط، ممکن است در یک لحظه تعداد زیادی از برنامه‌ها، با یکدیگر ارتباط برقرار نمایند. TCP/IP، دارای قابلیت تفکیک و تمایز یک برنامه موجود بر روی یک کامپیوتر با سایر برنامه‌ها بوده و پس از دریافت داده‌ها از یک برنامه، آن‌ها را برای برنامه متناظر موجود بر روی کامپیوتر دیگر ارسال می‌نماید. نحوه ارسال داده توسط پروتکل TCP/IP از محلی به محل دیگر، با فرایند ارسال یک نامه از شهری به شهر، قابل مقایسه است. برقراری ارتباط مبتنی بر TCP/IP، با فعال شدن یک برنامه بر روی کامپیوتر مبدأ آغاز می‌گردد. برنامه فوق، داده‌های مورد نظر جهت ارسال را بگونه‌ای آماده و فرمت می‌نماید که برای کامپیوتر مقصد قابل خواندن و استفاده باشند. (مشابه نوشتن نامه با زبانی که دریافت‌کننده، قادر به مطالعه آن باشد). در ادامه آدرس کامپیوتر مقصد، به داده‌های مربوطه اضافه می‌گردد (مشابه آدرس گیرنده که بر روی یک نامه مشخص می‌گردد). پس از انجام عملیات فوق، داده بهمراه اطلاعات اضافی (درخواستی برای تأیید دریافت در مقصد)، در طول شبکه بحرکت درآمده تا به مقصد مورد نظر برسد

TCP/IP در ۴ لایه مشغول فعالیت است و هماهنند تمامی Stack protocol ها شماره گذاری لایه ها از پایین ترین لایه آغاز می گردد ، در زیر به بررسی یک به یک لایه ها از لایه ۱  آغاز می کنیم:

لایه ۱ یا لایه دسترسی شبکه یا Network Access:

لایه فیزیکی مسئول کد کردن و ارسال داده‌ها روی واسط ارتباطی شبکه‌است و با داده‌ها در فرم بیتهایی که از لایه فیزیکی وسیله ارسال‌کننده (منبع) هستند و در لایه فیزیکی و دستگاه مقصد دریافت می‌شوند کار می‌کند. اترنت، Token ring, SCSI، هاب‌ها،  repeater ، کابل‌ها و ارتباط دهنده‌ها وسایل اینترنتی استانداردی هستند که روی لایه فیزیکی فعالیت می کنند.

در این لایه آدرس دهی بر اساس MAC address انجام می گیرد

لایه ۲ یا internet :

لایه “اینترنت”، مسئول آدرس دهی ، بسته بندی و روتینگ داده ها  ، است. لایه فوق ، شامل چهار پروتکل اساسی است :

  1. IP) Internet Protocol). پروتکل فوق ، مسئول آدرسی داده ها بمنظور ارسال به مقصد مورد نظر است .

ARP) Address Resolution Protocol). پروتکل فوق ، مسئول مشخص نمودن آدرس MAC)Media Access Control) آداپتور شبکه بر روی کامپیوتر مقصد است. 

 ICMP) Internet Control Message Protocol). پروتکل فوق ، مسئول ارائه توابع عیب یابی و گزارش خطاء در صورت عدم توزیع  صحیح  اطلاعات است .

 IGMP) Internet Group Management Protocol). پروتکل فوق ، مسئول مدیریت Multicasting   در TCP/IP  را برعهده دارد.

در این لایه آدرس دهی بر اساس آدرس IP انجام می گیرد.

 

لایه ۳ یا حمل یا Transport :

لایه ” حمل ” ، قابلیت ایجاد نظم و ترتیب و تضمین ارتباط بین کامپیوترها و ارسال داده به لایه Application  ( لایه بالای خود) و یا لایه اینترنت ( لایه پایین خود) را بر عهده دارد. لایه فوق ، همچنین مشخصه منحصر بفردی از برنامه ای که داده را عرضه نموده است ،  مشخص می نماید. این لایه دارای دو پروتکل اساسی است که نحوه توزیع داده را کنترل می نمایند.

 TCP) Transmission Control Protocol). پروتکل فوق ، مسئول تضمین صحت توزیع  اطلاعات است .

 UDP) User Datagram Protocol). پروتکل فوق ، امکان عرضه سریع اطلاعات بدون پذیرفتن مسئولیتی در رابطه با تضمین صحت توزیع اطلاعات را برعهده دارد .

 

لایه ۴ یا کاربرد یا Application :

لایه Application ، بالاترین لایه در  TCP/IP است .تمامی برنامه و ابزارهای کاربردی در این لایه ،  با استفاده از لایه فوق،  قادر به دستتیابی به شبکه خواهند بود. پروتکل های موجود در این لایه بمنظور فرمت دهی و مبادله اطلاعات کاربران استفاده می گردند . HTTP و FTP دو نمونه از پروتکل ها ی موجود در این لایه می باشند.

پروتکل HTTP)Hypertext Transfer Protocol) . از پروتکل فوق ، بمنظور ارسال فایل های صفحات وب مربوط به وب ، استفاده می گردد .

پروتکل FTP)File Transfer Protocol) . از پروتکل فوق برای ارسال و دریافت فایل،  استفاده می گردد .

مدل OSI:

OSI یا Open Systems Interconnection یک مدل مفهومی است که ویژگی و توزیع ارتباطات یک سیستم مخابراتی یا کامپیوتری را بدون در نظر گرفتن ساختار داخلی و تکنولوژی داخلی آن مشخص می کند. هدف آن سازگاری سیستم های مختلف ارتباط با پروتکل های استاندارد است. این مدل سیستم ارتباطی را به لایه های مفهومی تقسیم می کند. نسخه اصلی مدل، هفت لایه را تعریف می کند.

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

لایه ۱ یا لایه فیزیکی یا physical layer :

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

لایه ۲ یا لینک دیتا یا Data link :

در این لایه مهمترین اتفاق آدرس دهی است، تمامی کارت شبکه ها دارای آدرسی به نام MAC address یا فیزیکال آدرس یا آدرس فیزیکی هستند.
هر کارت شبکه ای چه به صورت وایرلس و چه کابلی کارکند، برای هر دستگاهی، کامپیوتر، لپ تاپ، پرینتر، موبایل و … دارای یک آدرس ۴۸ بیتی بر مبنای ۱۶ است که به آن مک آدرس گفته می شود بنابراین آدرس دهی در این لایه فقط توسط MAC address انجام می شود.

لایه ۳ یا شبکه یا Network :

وظیفه ی این لایه آدرس دهی، مسیریابی، مدیریت خطا، کنترل ازدحام … برعهده دارد، شناسه ی اصلی لایه شبکه آدرسی است به نام IP address.
IP address
یک شناسه ی ۳۲ بیتی است (در نسخه ۴). که برای شبکه های مبتنی بر پروتکل TCP/IP مورد استفاده قرار می گیرد.
مسیریابی هم یکی از مهمترین وظیفه ی لایه ی Network است. از مشاهده ی هدر لایه نتورک می توان خیلی از مفاهیم را درک کرد.

لایه ۴ یا انتقال یا Transport :

لایه انتقال وظیفه ی نگهداری و کنترل اطلاعات را دارد، مشخصه این لایه شناسه ای به نام PORT است. شامل دو پروتکل مهم TCP  که به صورت connection oriented و پروتکل UDP که به صورت connection less است.
وظیفه ی segmentation داده ی دریافتی از لایه session را نیز برعهده دارد.

لایه ۵ یا جلسه یا Session :

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

لایه ۶ یا ارائه یا Presentation  :

لایه ششم اطلاعات لایه بالا را برای لایه های پایین تر قابل فهم می سازد و یا بر عکس، عملیاتی از جمله : encrypt -compress در این لایه انجام می شود.

لایه ۷ یا کاربردی یا Application :

بالاترین لایه مدل OSI است و کار این لایه ایجاد یک لایه محیطی است که نرم افزارهای کاربردی بتوانند از طرق آن با شبکه در ارتباط باشند.

یک مثال :

آدرس http://nettechsup.com را در مرورگر وارد می کنیم (نرم افزار = مرور گر )، داده از پروتکل HTTP که پروتکل لایه ۷ است استفاده می کند و همینطور در هر لایه تغییراتی بر روی داده ای که ارسال کردیم ایجاد می شود. در هر لایه اقداماتی بر روی داده انجام می شود. و به لایه پایین فرستاده می شود، به این اطلاعات که در حین پردازش ها به سر بسته اضافه می شود هدر گفته می شود. پس در لایه ۷ داده تغییراتی می کند بسته به لایه presentation مثلا رمزنگاری می شود. هدر این لایه اضافه می شود به لایه ۵ فرستاده می شود و همینطور در هر لایه هدر اضافه می شود. و در لایه دیتا لینک علاوه بر هدر که به ابتدای داده اضافه می شود به انتهای داده هم داده ای  تحت عنوان trailer اضافه می شود. ته بسته را می بندد و برای ارسال آماده می کند.

تطابق لایه ها در مدل TCP/IP و مدل OSI :

سرویس‌های connectionless و connection-oriented

لایه ها می توانند دو نوع سرویس مختلف به لایه های بالایی خود ارائه دهند . اولی سرویس connectionless و دومی سرویس connection-oriented می باشد. سرویس connection-oriented از روی سیستم تلفن الگو برداری شده است برای صحبت با یک نفر ، شما گوشی تلفن را بر می‌دارید ، شماره گیری می کنید ، صحبت می کنید ، و سپس گوشی را در جای خود قرار می دهید . به همین نحو برای استفاده از سرویس شبکه‌ایی connection-oriented  ابتدا کاربر سرویس یک ارتباط را برقرار می سازد ، از ارتباط استفاده می کند و در نهایت ارتباط را قطع می کند جنبه اصلی و ضروری یک ارتباط این است که مانند یک لوله عمل می کند : فرستنده اشیا (بیت‌ها ) را از یک سر لوله به داخل می فرستد و گیرنده در سمت دیگر لوله همه آنها را به همان ترتیب دریافت می کند .

در مقابل سرویس connectionless از روی سرویس پستی الگوبرداری شده است. هر پیام ( نامه ) آدرس کامل مقصد را با خود حمل می‌کند و هر کدام از طریق سیستمی کاملاً مستقل از سایرین مسیریابی می‌شوند. به طور طبیعی ، هنگامی که دو پیام به یک مقصد فرستاده می‌شوند ، اولین پیام ارسالی ، اولین پیام دریافتی خواهد بود. اگرچه امکان این نیز وجود دارد که اولین پیام ارسالی دچار تاخیر شده و دومین پیام زودتر به مقصد برسد. در یک سرویس connection-oriented این امر غیر ممکن می‌باشد.

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

وضعیت نمونه‌ای که یک سرویس قابل اطمینان connection-oriented برای آن مناسب می‌باشد ، انتقال فایل است. صاحب فایل می‌خواهد مطمئن شود که تمامی بیت‌ها بطور صحیح و به همان ترتیبی که رسیده‌اند ، به همان ترتیب نیز ارسال خواهند شد. تعداد اندکی از مشتریان انتقال فایل سرویسی را که هر از چند گاهی چند بیتی را از دست می‌دهد یا آنها را به هم می‌ریزد ، ترجیح می‌دهند ، حتی اگر این سرویس بسیار سریعتر باشد.

سرویس connection-oriented دارای دو ضعف جزیی است : توالی پیام‌ها و جریان‌های بایت. در اولی ، محدوده‌های پیام حفظ می‌شوند. هنگامی که دو پیام یک کیلوبایتی ارسال می‌شوند ، آنها به صورت دو پیام یک کیلوبایتی دریافت می‌شوند و نه بصورت یک پیام دو کیلوبایتی. در دومی ، ارتباط به صورت جریانی از بایت‌ها بدون داشتن محدودیت در پیام می‌باشد. زمانی که دریافت‌کننده دو کیلوبایت دریافت می‌کند، هیچ راهی برای تشخیص اینکه آن پیام ، یک پیام دو کیلوبایتی ، یا دو پیام یک کیلوبایتی یا ۲۰۴۸ پیام یک بایتی بوده ، وجود ندارد. زمانی که صفحات یک کتاب از طریق شبکه برای یک ویراستار عکس ارسال می‌شوند ، ممکن است حفظ محدوده‌های پیام مهم باشد. از طرف دیگر ، در اتصال یک ترمینال به یک سیستم اشتراک زمانی راه دور ممکن است یک بایت جریان از ترمینال به سمت کامپیوتر تمام آن چیزی باشد که مورد نیاز است.

همانطور که در بالا اشاره شد ، برای برخی برنامه‌های کاربردی تاخیری که بوسیله تصدیق‌ها ایجاد می‌شود ، قابل قبول نخواهد بود. نمونه‌ای از این برنامه‌ها ترافیک صوتی دیجیتالی می‌باشد. برای کاربران تلفن ، شنیدن یک بیت نویز یا یک کلمه بهم ریخته در فواصل زمانی دور بهتر از تحمل تاخیرهای تصدیق می‌باشد. به همین ترتیب وجود چند pixel اشتباه در زمان دیدن یک فیلم ویدیوئی مشکلی را بوجود نمی‌آورد ، ولی قطع شدن فیلم جهت تصحیح اشتباهات جزیی خیلی آزاردهنده خواهد بود.