پروتکل ارتباطات

قرارداد ارتباطات یا پروتکل ارتباطات (به انگلیسی: Communications Protocol) در شبکه‌های رایانه‌ای به مجموعه قوانینی گفته می‌شود که چگونگی ارتباطات را قانونمند می‌کند. نقش پروتکل در کامپیوتر مانند نقش زبان برای انسان است. برای مطالعۀ یک کتاب نوشته‌شده به فارسی باید خواننده شناخت مناسبی از زبان فارسی داشته باشد. برای ارتباط موفقیت‌آمیز دو دستگاه در شبکه، باید هر دو دستگاه از یک پروتکل یکسان استفاده کنند.

تاریخچه

اصطلاح پروتکلدر زمینه تبادل داده ها اولین بار در یک تفاهم نامه استفاده شد. تفاهم نامه ای که با عنوان پروتکل برای استفاده در شبکه تبادل داده NPL توسط راجر اسکانتلبوری و کیت بارتلت در آوریل 1967 نوشته شده است . [1]

در آرپانت ،در سال 1969، شروع ارتباط هاست به هاست با پروتکل 1822 بود که نحوه ی انتقال پیام به یک IMP را تعریف می کرد. [2] برنامه کنترل شبکه برای ARPANET برای اولین بار در سال 1970 اجرا شد. رابط NCP با پیاده سازی پروتکل های ارتباطی سطح بالاتر به نرم افزار کاربردی اجازه می دهد تا در سراسر ARPANET متصل شود.این یک نمونه ی اولیه از مفهوم لایه بندی پروتکل بود. [3]

تحقیقات شبکه در اوایل دهه 1970 توسط رابرت ای. کان و وینت سرف منجر به تدوین برنامه کنترل انتقال (TCP) شد. [4] مشخصات RFC 675 آن توسط Cerf با Yogen Dalal و Carl Sunshine در دسامبر 1974 نوشته شده است ، درحالی که هنوز که یک طراحی یکپارچه است.

گروه کاری شبکه بین المللی با یک استاندارد دیتاگرام بدون اتصال موافقت کرد که در سال 1975 به CCIT ارائه شد اما توسط ITU یا ARPANET پذیرفته نشد. [5] تحقیقات بین المللی ، علی الخصوص کارهای Rémi Després ، به توسعه استاندارد X.25 ، مبتنی بر مدارهای مجازی توسط ITU-T در 1976 ، کمک کرد. [6] [7] تولیدکنندگان رایانه پروتکل های اختصاصی مانند معماری شبکه سیستم ها ی (IBM(SNA ،شرکت تجهیزات دیجیتال DECent و سیستم های شبکه زیراکس را ایجاد کردند .

ساختار TCP به عنوان پشته پروتکل مدولار دوباره طراحی شد. در اصل به آن IP / TCP گفته می شد و در سال 1982 در SATNET و در ژانویه 1983 بر روی ARPANET نصب شد. همانطور که در RFC 1122 وRFC 1123 ذکر شده است ،توسعه ی یک مجموعه پروتکل کامل تا سال 1989، پایه و اساس رشد TCP / IP را به عنوان یک مجموعه پروتکل جامع به عنوان جزء اصلی اینترنت در حال ظهور بنا نهاد. [8]

کار بین المللی در مورد یک مدل مرجع برای استانداردهای ارتباطی منجر به مدل OSI شد که در سال 1984 منتشر شد. برای مدتی در اواخر دهه 1980 و اوایل دهه 1990 ، مهندسان ، سازمان ها و کشورها درمورد اینکه کدام استاندارد ، مدل OSI یا مجموعه پروتکل اینترنت ، بهترین و قوی ترین شبکه های رایانه ای را ایجاد می کند ، به دو قطب تقسیم شدند. [9] [10]

مفهوم

اطلاعاتی که از طریق شبکه یا رسانه های دیگر بین دستگاه ها رد و بدل می شوند ، طبق قوانین و قراردادهایی اداره می شوند که می توانند در جزئیات پروتکل ارتباطات تنظیم شوند. ماهیت ارتباطات ، داده های واقعی رد و بدل شده و هرگونه رفتار وضعیتمحور ، توسط این مشخصات(جزئیات پروتکل ارتباطات) تعریف می شود. در سیستم های محاسبات دیجیتال ، قوانین را می توان با الگوریتم ها و ساختارهای داده بیان کرد . پروتکل ها برای ارتباط الگوریتم ها یا زبان های برنامه نویسی برای محاسبات هستند. [11] [12]

سیستم عامل ها معمولاً مجموعه ای از فرایندهای هماهنگ را در اختیار دارند که داده های مشترک را برای برقراری ارتباط با یکدیگر دستکاری می کنند. این ارتباط توسط پروتکل های قابل درک اداره می شود ، که می توانند در خودِ کد فرآیند قرار گیرند. [13] [14] در مقابل ، چون حافظه مشترک وجود ندارد ، سیستم های ارتباطی باید با استفاده از یک رسانه انتقال مشترک با یکدیگر ارتباط برقرار کنند. انتقال لزوماً قابل اعتماد نیست و ممکن است سیستم های متفاوت از سخت افزار یا سیستم عامل های مختلفی استفاده کنند.

برای پیاده سازی پروتکل شبکه ، ماژول های پروتکلِ نرم افزار با یک چارچوب پیاده سازی شده روی سیستم عامل ماشین ارتباط برقرار می کنند. این چارچوب عملکرد شبکه سیستم عامل را پیاده سازی می کند. [15] وقتی الگوریتم های پروتکل به زبان برنامه نویسی قابل حمل بیان می شوند ، ممکن است نرم افزار پروتکل از سیستم عامل مستقل شود. معروف ترین چارچوب ها مدل TCP / IP و مدل OSI هستند .

در زمان توسعه اینترنت ، لایه بندی انتزاعی به عنوان یک طراحی موفق برای طراحی کامپایلر و سیستم عامل اثبات شده بود و با توجه به شباهت های بین زبان های برنامه نویسی و پروتکل های ارتباطی ، برنامه های شبکه یکپارچه در ابتدا به پروتکل های همکاری تجزیه می شدند. [16] این باعث ایجاد مفهوم پروتکل های لایه ای می شود که امروزه پایه ی طراحی پروتکل را تشکیل می دهد. [17]

سیستم ها معمولاً از یک پروتکل تکی برای انتقال داده استفاده نمی کنند. بلکه از مجموعه ای از پروتکل ها استفاده می کنند ، که بعضاً مجموعه پروتکل نامیده می شود. [18] برخی از شناخته شده ترین مجموعه های پروتکل TCP / IP ، IPX / SPX ، X.25 ، AX.25 و AppleTalk هستند .

پروتکل ها را می توان بر اساس عملکرد در گروه ها تقسیم کرد ، به عنوان مثال ، یک گروه از پروتکل های حمل و نقل وجود دارد . ویژگی ها بر روی لایه ها ترسیم می شوند ، هر لایه یک کلاس متمایز از مشکلات مربوط به خود را حل می کند. به عنوان مثال: برنامه های کاربری ، حمل و نقل ، اینترنت و توابع رابط شبکه. [19] برای انتقال پیام ، باید از هر لایه یک پروتکل انتخاب شود. انتخاب پروتکل بعدی با ادامه دادن پیام با انتخاب پروتکل برای هر لایه انجام می شود. [20]

نیازهای پایه

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

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

قالبهای داده برای تبادل داده
پیام های بیتی دیجیتالی رد و بدل می شوند. بیت ها در قسمت ها تقسیم می شوند و هر فیلد اطلاعات مربوط به پروتکل را حمل می کند. از نظر مفهومی پیام بیتی به دو قسمت header و payload تقسیم می شود . پیام واقعی در payload حمل می شود. قسمت header شامل فیلدهای مرتبط با عملکرد پروتکل است. پیام بیتی که طولانی تر از حداکثر واحد انتقال (MTU) باشد، به قطعات مناسب تقسیم می شوند. [22]
قالب های آدرس برای تبادل داده
آدرس ها برای شناسایی فرستنده و گیرنده (ها) استفاده می شوند. آدرس ها در ناحیه هدرِ پیامِ بیتی هستند ،و به گیرنده ها اجازه می دهد تا تشخیص دهند که پیام ها مورد توجه هستند یا خیر ، باید پردازش شوند یا باید از آنها صرف نظر شود. ارتباط بین فرستنده و گیرنده با استفاده از یک جفت آدرس (آدرس فرستنده ، آدرس گیرنده) قابل شناسایی است . معمولاً به ازای برخی از مقادیر، آدرس معنی خاصی می دهد. مثلا اگه مقدار همه ی اجزای آدرس برابر عدد 1 باشد،به معنی همه گیر بودن پیام است. بنابراین ارسال به این آدرس باعث می شود که پیام به همه ی اجزاء شبکه محلی ارسال شود. قوانینی که معنی های مقادیر متفاوت آدرس را توصیف می کنند در مجموع یک طرح آدرس دهی هستند . [23]
تطبیق آدرس
گاها پروتکل ها باید یک آدرس از یک طرح را به آدرس در طرح دیگری تبدیل کنند. مثلا تبدیل یک آدرس IP به یک آدرس MAC اترنت. از این به عنوان تطبیق آدرس یاد می شود . [24]
مسیریابی
گاها سیستم ها مستقیماً به هم متصل نیستند. در این حالت سیستم های واسطه ای که در طول مسیر به گیرنده (ها) مورد نظر وجود دارند که فرستنده برای ارسال داده ، ابتدا داده را به این واسطه ها ارسال می کند و واسطه ها نیز پیام را تا گیرنده ارسال می کنندباید پیام ها را از طرف فرستنده ارسال کنند. در اینترنت ، شبکه ها با استفاده از روترها متصل می شوند. به اتصال شبکه ها از طریق روترها کار اینترنتی گفته می شود .
تشخیص خطاهای انتقال
شناسایی خطا در شبکه هایی که امکان خراب شدن داده ها وجود دارد ، ضروری است. در یک رویکرد مشترک ، CRC ناحیه داده به انتهای بسته ها اضافه می شود و این امکان را برای گیرنده فراهم می کند تا تفاوت های ناشی از فساد را تشخیص دهد. گیرنده بسته ها را در مورد اختلاف CRC رد می کند و به نوعی برای انتقال مجدد ترتیب می دهد. [25]
سپاسگزاریها
تأیید دریافت صحیح بسته ها برای ارتباطات اتصال محور مورد نیاز است. تقدیرنامه ها از گیرنده ها به فرستنده های مربوطه ارسال می شوند. [26]
از دست دادن اطلاعات - وقفه و تلاش مجدد
بسته ها ممکن است در شبکه گم شوند یا در انتقال به تأخیر بیفتند. برای کنار آمدن با این مسئله ، تحت برخی پروتکل ها ، یک فرستنده ممکن است در مدت زمان معینی انتظار دریافت صحیح از گیرنده را داشته باشد. بنابراین ، در مهلت زمانی ، فرستنده ممکن است نیاز به انتقال مجدد اطلاعات داشته باشد. [persian-alpha 1] در صورت قطع پیوند دائمی ، انتقال مجدد هیچ تأثیری ندارد بنابراین تعداد انتقال مجدد محدود است. فراتر از حد مجاز مجدد خطا محسوب می شود. [27]
جهت جریان اطلاعات
اگر انتقال فقط در یک جهت بصورت همزمان در پیوندهای نیمه دوبلکس یا از طریق یک فرستنده در یک بار به عنوان یک رسانه مشترک انجام شود ، باید جهت دهی شود . این به عنوان کنترل دسترسی رسانه ای شناخته می شود. ترتیبات باید در نظر گرفته شود تا در صورت برخورد یا مشاجره دو طرف به طور همزمان انتقال یا مایل به انتقال باشند. [28]
کنترل توالی
اگر bit bit های طولانی به قطعات تقسیم شده و سپس به صورت جداگانه روی شبکه ارسال شوند ، ممکن است قطعات از دست بروند یا به تأخیر بیفتند یا در برخی از انواع شبکه ها مسیرهای مختلف را به مقصد برسانند. در نتیجه ، قطعات ممکن است از توالی خارج شوند. انتقال مجدد می تواند منجر به قطعات تکراری شود. با علامت گذاری قطعات با اطلاعات ترتیب در فرستنده ، گیرنده می تواند آنچه را که از دست داده یا کپی شده است ، تعیین کند ، درخواست انتقال مجدد لازم را دارد و پیام اصلی را دوباره جمع آوری می کند. [29]
کنترل جریان
هنگامی که فرستنده سریعتر از گیرنده یا تجهیزات شبکه میانی می تواند انتقال ها را پردازش کند ، کنترل جریان لازم است. کنترل جریان را می توان با پیام رسانی از گیرنده به فرستنده پیاده سازی کرد. [30]
صف کشیدن
فرایندهای ارتباطی یا ماشین های دولتی از صف (یا "بافر") ، معمولاً صف های FIFO ، برای رسیدگی به پیام های ترتیب ارسال شده استفاده می کنند و ممکن است گاهی اوقات چندین صف با اولویت بندی متفاوت داشته باشند.

منابع

  1. Cambell-Kelly, Martin (1987). "Data Communications at the National Physical Laboratory (1965-1975)". Annals of the History of Computing. 9 (3/4): 221–247. doi:10.1109/MAHC.1987.10023.
  2. Interface Message Processor: Specifications for the Interconnection of a Host and an IMP, Report No. 1822, Bolt Beranek and Newman, Inc. (BBN)
  3. "NCP – Network Control Program" بایگانی‌شده در ۲ آوریل ۲۰۱۹ توسط Wayback Machine, Living Internet
  4. Cerf, V.; Kahn, R. (1974). "A Protocol for Packet Network Intercommunication" (PDF). IEEE Transactions on Communications. 22 (5): 637–648. doi:10.1109/TCOM.1974.1092259. ISSN 1558-0857. The authors wish to thank a number of colleagues for helpful comments during early discussions of international network protocols, especially R. Metcalfe, R. Scantlebury, D. Walden, and H. Zimmerman; D. Davies and L. Pouzin who constructively commented on the fragmentation and accounting issues; and S. Crocker who commented on the creation and destruction of associations.
  5. McKenzie, Alexander (2011). "INWG and the Conception of the Internet: An Eyewitness Account". IEEE Annals of the History of Computing. 33 (1): 66–71. doi:10.1109/MAHC.2011.9. ISSN 1934-1547.
  6. Schwartz, Mischa (2010). "X.25 Virtual Circuits - TRANSPAC IN France - Pre-Internet Data Networking [History of communications]". IEEE Communications Magazine. 48 (11): 40–46. doi:10.1109/MCOM.2010.5621965. ISSN 1558-1896.
  7. Rybczynski, Tony (2009). "Commercialization of packet switching (1975-1985): A Canadian perspective [History of Communications]". IEEE Communications Magazine. 47 (12): 26–31. doi:10.1109/MCOM.2009.5350364. ISSN 1558-1896.
  8. "TCP/IP Internet Protocol" بایگانی‌شده در ۲ آوریل ۲۰۱۳ توسط Archive-It, Living Internet
  9. Russell, Andrew L. "Rough Consensus and Running Code' and the Internet-OSI Standards War" (PDF). IEEE Annals of the History of Computing.
  10. "Standards Wars" (PDF). 2006.
  11. Comer 2000, Sect. 11.2 - The Need For Multiple Protocols, p. 177, "They (protocols) are to communication what programming languages are to computation"
  12. Comer 2000, Sect. 1.3 - Internet Services, p. 3, "Protocols are to communication what algorithms are to computation"
  13. Ben-Ari 1982, chapter 2 - The concurrent programming abstraction, p. 18-19, states the same.
  14. Ben-Ari 1982, Section 2.7 - Summary, p. 27, summarizes the concurrent programming abstraction.
  15. Marsden 1986, Section 6.1 - Why are standards necessary?, p. 64-65, uses BSC as an example to show the need for both standard protocols and a standard framework.
  16. Comer 2000, Sect. 11.2 - The Need For Multiple Protocols, p. 177, explains this by drawing analogies between computer communication and programming languages.
  17. Sect. 11.10 - The Disadvantage Of Layering, p. 192, states: layering forms the basis for protocol design.
  18. Comer 2000, Sect. 11.2 - The Need For Multiple Protocols, p. 177, states the same.
  19. Comer 2000, Sect. 11.3 - The Conceptual Layers Of Protocol Software, p. 178, "Each layer takes responsibility for handling one part of the problem."
  20. Comer 2000, Sect. 11.11 - The Basic Idea Behind Multiplexing And Demultiplexing, p. 192, states the same.
  21. Marsden 1986, Chapter 3 - Fundamental protocol concepts and problem areas, p. 26-42, explains much of the following.
  22. Comer 2000, Sect. 7.7.4 - Datagram Size, Network MTU, and Fragmentation, p. 104, Explains fragmentation and the effect on the header of the fragments.
  23. Comer 2000, Chapter 4 - Classful Internet Addresses, p. 64-67;71.
  24. Marsden 1986, Section 14.3 - Layering concepts and general definitions, p. 187, explains address mapping.
  25. Marsden 1986, Section 3.2 - Detection and transmission errors, p. 27, explains the advantages of backward error correction.
  26. Marsden 1986, Section 3.3 - Acknowledgement, p. 28-33, explains the advantages of positive only acknowledgment and mentions datagram protocols as exceptions.
  27. Marsden 1986, Section 3.4 - Loss of information - timeouts and retries, p. 33-34.
  28. Marsden 1986, Section 3.5 - Direction of information flow, p. 34-35, explains master/slave and the negotiations to gain control.
  29. Marsden 1986, Section 3.6 - Sequence control, p. 35-36, explains how packets get lost and how sequencing solves this.
  30. Marsden 1986, Section 3.7 - Flow control, p. 36-38.
  1. Failure to receive an acknowledgment indicates that either the original transmission or the acknowledgment was lost. The sender has no means to distinguish these cases and therefore, to ensure all data is received, must make the conservative assumption that the original transmission was lost.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.