دیتاگرام ها یکی از بلوک های ساختمانی اساسی پروتکل های ارتباطی شبکه هستند. آنها یک فرمت ساختاریافته برای انتقال بسته های داده ارائه می دهند و تبادل کارآمد و انعطاف پذیر داده را در بین فناوری های مختلف شبکه تسهیل می کنند.
منشا و اولین ذکر دیتاگرام
مفهوم دیتاگرام را می توان به روزهای اولیه شبکه های کامپیوتری ردیابی کرد. اصطلاح «دادهگرام» اولین بار در سال 1970 توسط لوئی پوزین، دانشمند رایانه فرانسوی، ابداع شد. پوزین دیتاگرام را در طراحی شبکه CYCLADES، یک پروژه فرانسوی پیشرو که بر توسعه اینترنت تأثیر گذاشت، معرفی کرد.
شبکه CYCLADES بسیار مهم بود زیرا یکی از اولین شبکه هایی بود که اصل end-to-end و یک لایه شبکه بدون اتصال را پیاده سازی کرد. این شبکه به بسته ها یا دیتاگرام ها اجازه می داد که به صورت جداگانه ارسال شوند و هر کدام مسیر خود را از مبدا تا مقصد پیدا کنند.
دیتاگرام: نگاهی دقیق تر
در زمینه شبکه های کامپیوتری، دیتاگرام یک بسته مستقل از داده است که اطلاعات کافی را برای مسیریابی از مبدا به مقصد بدون اتکا به مبادلات قبلی بین کامپیوترهای مبدا و مقصد حمل می کند. به عبارت دیگر، دیتاگرام ها بسته های مستقلی از داده ها هستند که هر کدام جداگانه ارسال می شوند.
دیتاگرام ها جزء اصلی پروتکل اینترنت (IP) هستند، پروتکلی که برای انتقال داده ها از طریق یک شبکه سوئیچ بسته استفاده می شود. هر دیتاگرام IP نه تنها شامل بار (داده های واقعی) بلکه اطلاعات هدر مانند آدرس IP مبدا و مقصد است.
شایان ذکر است که دیتاگرام ها در حالت ارتباطی بدون اتصال استفاده می شوند که به مدل خدمات دیتاگرام معروف است. در این مدل با هر پیامی مستقل از دیگران برخورد می شود. نیازی به ایجاد یک مسیر اختصاصی قبل از انتقال نیست، بر خلاف مدل سرویس اتصال گرا که در آن یک مسیر اختصاصی بین مبدا و مقصد قبل از شروع انتقال داده ایجاد می شود.
آشنایی با ساختار و عملکرد دیتاگرام
دیتاگرام IP از دو جزء اصلی تشکیل شده است:
- سربرگ دیتاگرام: این شامل اطلاعات کنترلی مختلف مانند آدرس های IP مبدا و مقصد، پروتکل مورد استفاده (TCP، UDP و غیره)، طول کل دیتاگرام و سایر پرچم ها برای کنترل تکه تکه شدن و مونتاژ مجدد است.
- Payload: این داده های واقعی است که دیتاگرام حمل می کند. معمولاً بخش محصور شده ای از داده های لایه انتقال است.
هنگامی که یک دیتاگرام از طریق شبکه منتقل می شود، توسط لایه رابط شبکه در مقصد دریافت می شود. در اینجا، هدر IP بررسی می شود تا مشخص شود که دیتاگرام در کجا ارسال شود. هنگامی که دیتاگرام به مقصد نهایی رسید، محموله استخراج شده و برای پردازش بیشتر به لایه های بالایی مدل OSI ارسال می شود.
ویژگی های کلیدی دیتاگرام
رویکرد دیتاگرام دارای چندین ویژگی تعریف کننده است:
- استقلال: هر دیتاگرام مستقل از دیگران است. یعنی به هر ترتیبی می توان آنها را ارسال و دریافت کرد.
- خودکفا: دیتاگرام ها تمام اطلاعات لازم برای مسیریابی از مبدا تا مقصد را حمل می کنند.
- بدون مسیر از پیش تعیین شده: در شبکه دیتاگرام نیازی به ایجاد مسیر قبل از انتقال داده نیست.
- قابل انعطاف: از آنجایی که هر دیتاگرام می تواند مسیر خود را انتخاب کند، این مدل می تواند قوی تر و سازگارتر با خرابی یا تراکم شبکه باشد.
- بدون تحویل تضمینی: شبکه های دیتاگرام تحویل تضمینی یا اطلاع رسانی در مورد تحویل ناموفق را ارائه نمی دهند.
انواع دیتاگرام
دیتاگرام ها را می توان به طور کلی بر اساس پروتکلی که با آن مرتبط است طبقه بندی کرد. دو رایج ترین آنها عبارتند از:
- دیتاگرام IP: این دیتاگرام ها که در پروتکل اینترنت استفاده می شوند، قالب بسته اولیه را برای انتقال داده ها از طریق اینترنت تشکیل می دهند. آنها توسط TCP (پروتکل کنترل انتقال) و UDP (پروتکل دیتاگرام کاربر) برای تحویل داده ها استفاده می شوند.
- دیتاگرام UDP: این دیتاگرام ها بخشی از پروتکل دیتاگرام کاربر هستند. UDP یک روش ساده اما سریع برای تبادل داده از طریق شبکه های IP ارائه می دهد. فاقد پیچیدگی و سربار TCP است، اما تحویل، سفارش یا بررسی خطا را نیز تضمین نمی کند.
استفاده از دیتاگرام، چالش ها و راه حل ها
دیتاگرام ها در بسیاری از برنامه های کاربردی در شبکه های کامپیوتری استفاده می شوند. آنها به ویژه در سناریوهایی که سرعت بسیار مهم است و از دست دادن گاه به گاه داده قابل تحمل است، مانند پخش زنده، کنفرانس ویدیویی و بازی آنلاین مفید هستند.
با این حال، استفاده از دیتاگرام نیز چالش های خاصی را به همراه دارد. از آنجایی که آنها تحویل یا حفظ نظم بسته ها را تضمین نمی کنند، ممکن است برخی از دیتاگرام ها گم شوند یا از کار بیفتند. این معمولاً در لایه برنامه مدیریت می شود، جایی که پروتکل هایی مانند TCP از تحویل سفارشی و قابل اطمینان اطمینان می دهند.
به عنوان مثال، اگر از UDP برای ارسال دیتاگرام استفاده می کنید، ممکن است منطق اضافی را در برنامه خود بسازید تا دریافت دیتاگرام ها را تأیید کنید یا در هنگام ورود دوباره ترتیب دهید.
دیتاگرام در مقابل شرایط شبکه های مشابه
- دیتاگرام در مقابل بسته: دیتاگرام نوعی بسته است، به ویژه یک موجودیت مستقل و مستقل از داده ها که حاوی اطلاعات کافی برای مسیریابی از مبدا به مقصد است.
- دیتاگرام در مقابل فریم: فریم یک واحد انتقال داده دیجیتال در شبکه های کامپیوتری است. برخلاف دیتاگرام، یک فریم شامل اطلاعات همگامسازی، بررسی خطا و دادههای کنترلی است که امکان انتقال آن را به گره شبکه بعدی که مستقیماً به آن متصل است را میدهد.
آینده دیتاگرام و فناوری های نوظهور
همانطور که فناوری شبکه تکامل می یابد، مفهوم دیتاگرام همچنان مرتبط است، به ویژه با رشد فناوری هایی مانند اینترنت اشیا (IoT) و محاسبات لبه، که به انتقال داده های کارآمد و انعطاف پذیر نیاز دارند.
علاوه بر این، توسعه امنیت لایه انتقال دادهگرام (DTLS) علاقه روزافزون به برنامههای کاربردی مبتنی بر دیتاگرام امن را نشان میدهد. DTLS تضمین های امنیتی مشابه TLS (که در مرور امن وب استفاده می شود) را ارائه می دهد اما برای پروتکل های دیتاگرام مانند UDP.
سرورهای پروکسی و دیتاگرام
سرورهای پروکسی می توانند دیتاگرام ها را مدیریت کنند و به عنوان واسطه ای برای درخواست های مشتریانی که به دنبال منابع از سرورهای دیگر هستند، عمل کنند. آنها می توانند عملکردهای مختلفی از جمله امنیت، حریم خصوصی و فشرده سازی داده ها را ارائه دهند.
به عنوان مثال، یک سرور پروکسی می تواند به یک کلاینت اجازه دهد تا یک اتصال شبکه غیرمستقیم به سایر خدمات شبکه برقرار کند. یک کلاینت به سرور پروکسی متصل می شود و یک اتصال، فایل یا سایر منابع موجود در سرور دیگری را درخواست می کند. سرور پروکسی منبع را احتمالاً با اتصال به سرور مشخص شده یا ارائه آن از حافظه پنهان فراهم می کند.
از نظر دیتاگرام، یک سرور پروکسی می تواند آنها را رهگیری کند، داده ها را بخواند و تفسیر کند و سپس وظایف مختلفی را بر اساس محتوای دیتاگرام انجام دهد. این می تواند شامل تغییر مسیر دیتاگرام، تغییر داده ها یا حتی مسدود کردن آن باشد.
لینک های مربوطه
برای اطلاعات بیشتر در مورد دیتاگرام ها و مفاهیم مرتبط، منابع زیر را در نظر بگیرید: