شبکه

آشنایی با پروتکل های TCP/IP و پروتکل های UDP و ICMP

آشنایی با پروتکل TCP/IP و پروتکل UDP و ICMP

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

TCP/IP روی داده ارسالی برای برنامه کاربردی تمرکز دارد. لایه های شبکه و انتقال با هم سیستم پشته ای TCP/IP را می سازند که متشکل از نرم افزارهای اجرایی روی کامپیوتر است.

همانند مدل OSI یک لایه با لایه ای مشابه در قسمتی دیگر رابطه برقرار می کند و علاوه بر آن لایه پایینی سرویسی را برای لایه هایی بالایی تهیه می کند.

هر بسته به هنگام ارسال اطلاعاتی مثل آدرس آیپی مبدا و آیپی مقصد به جلوی آن اضافه می شود که این اطلاعات را Header می گویند و شامل اطلاعات مفیدی برای داده می باشد تا وظیفه اش را انجام دهد.

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

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

بدون درنظر گرفتن برنامه کاربردی که شما روی اینترنت از آن استفاده می کنید کامپیوتر شما مرتب و پشت سرهم داده ها را بالا و پایین لایه های پشته پروتکل عبور می دهد و سروری که شما با آن در ارتباط هستید داده ها را از درون پشته TCP/IP به خوبی ارسال می کند.

خانواده پروتکل های TCP/IP از اجزای گوناگونی تشکیل شده است:

  • پروتکل کنترل انتقال (TCP)
  • پروتکل دیتاگرام کاربر (UDP)
  • پروتکل اینترنت (IP)
  • و همینطور پروتکل پیام کنترل اینترنت (ICMP)

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

TCP/IP در گذشته برای دانشگاه ها و تحقیقات آماده شد و هیچگونه قابلیت حفاظتی را دارا نبود و امنیت بسیار ضعیفی داشت. این پروتکل برای فرستادن و انتقال بسته ها بر روی شبکه مناسب نبود، چون زمانی که شما فایل و داده ای را به اینترنت می فرستادید TCP/IP به هر استفاده کننده دیگری اجازه دیدن و تغییر داده شما را می داد. خوشبختانه بتازگی حفاظت و امنیت به پروتکل TCP/IP در فرم توسعه پروتکل که IPSec نامیده می شود اضافه شده است.

پروتکل TCP/IP چیست؟

خانواده ای بزرگ از پروتکل ها و برنامه ها Transmission Control Protocol/Internet Protocol یا TCP/IP است که برای سازماندهی کامپیوترها و ابزارهای ارتباطی در شبکه استفاده می شوند و مهمترین آن ها TCPو IP هستند. آیپی ها داده ها را از مکانی به مکان و سیستم دیگر منتقل می کنند در حالی که TCP از صورت گرفتن صحیح تمام کارها مطمئن می شود.

هزاران برنامه کاربردی امروزه توسط TCP استفاده می شوند که برخی از آنها معروف تر و پرکاربردترند که عبارتند از:

  • انتقال فایل با استفاده از پروتکل انتقالی فایل FTP
  • برنامه Telnet که یک رابط خط فرمان از راه دور می باشد.
  • Email که با استفاده از پروتکل های گوناگون مثل پروتکل انتقالی پستی ساده SMTP و پروتکل POP (Post) Office می باشد.
  • مرورگر وب یا Web Browser با استفاده از پروتکل انتقالی ابرمتن ها Http

هر کدام از این برنامه ها و پروتکل ها بسته ها را تهیه کرده و آنها را به پشته TCP/IP سرور محلی می فرستند. نرم افزار لایه TCP روی سیستم این داده و بسته را می گیرد و با قرار دادن هدر TCP در جلوی هر پیام بسته های TCP را تولید می کنند.

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

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

سرورهای گوناگون برنامه های کاربردی به پورتهای مشهور و معروف گوش می دهند، پورتهای TCP معروف و مورد استفاده از این قبیل هستند:

    • TCP Port 21 – FTP
    • TCP Port 23 – Telnet
    • TCP Port 25 – SMTP
    • (TCP Port 80 – HTTP (WWW

برای فهمیدن پورتهای باز در سیستم خودمان برنامه کمکی Netstat که در خود ویندوز وجود دارد به کمک ما آمده است و ما میتوانیم از ان استفاده کنیم. پورت هایی که فعال هستند هر کدام توسط یک نرافزار خاص مدیریت می شوند، برای مثال پورت 25 برای ارسال ایمیل است بنابراین اینکار باید توسط یک نرم افزار انجام شود و این بر روی پورت 25 منتظر فال گوش می ماند و اینجا ممکن است شخصی از فلان نرم افزار و دیگری از بهمان نرم مثل Outlook Express برای دریافت آن ایمیل استفاده کند ولی به هر حال پورت 25 همیشه برای ارسال ایمیل است.

وقتی که ما چگونگی آغاز نشست ها را در TCP تجزیه و تحلیل کنیم اهمیت بیت های کنترل TCP واضح می شود و تمامی ارتباطات TCP قانونی با استفاده از دست دادن سه طرفه ( Three-Way Handshake) برپا شده است. دست دادن سه طرفه به سیستم اجازه می دهد تا یک نشست ارتباطی و برقراری مجموعه ای از شماره های سریال برای بسته هایی که در نشست استفاده می شوند را باز کند.

اگر بخواهم راجب پروتکل UDP توضیح دهم از اینجا شروع می کنم که UDP لایه انتقالی دیگری است که در بالای IP می تواند قرار گیرد.

TCP و UDP درست مثل دو عموزاده هستند البته TCP در شبکه بیشتر استفاده می شود ولی UDP هم پایه بسیاری از برنامه های کاربردی مهم است. اکثر سرویس ها و برنامه های ویدیویی و صوتی ، سرویس های جستجو و پاسخ های DNS از پروتکل UDP برای ارسال داده هایشان استفاده می کنند.

UDP پروتکلی غیرقابل اعتماد است و ممکن است پیامها را گم کند و یا آنها را خراب بفرستد چون Three-Way Handshake در UDP رعایت نمی شود. اما وقتی که این نقطه ضعف می تواند برای ما سرعت را به ارمغان آورد می توان برای ما مفید باشد چون برخی از برنامه های کاربردی و سرویس ها به سرعت زیاد برای گرفتن داده ها نیاز دارند و در عوض به امنیت در سطح بالا نیازی ندارند و برنامه های صوتی و تصویری نیز همینطور هستند و از پروتکل UDP استفاده می کنند.

یکی از گسترده ترین سرویس های UDP مورد استفاده برای گوش کردن به پرس و جوهای DNS روی پورت 53 UDP است. سرویس های دیگر پایه گذاری شده بر اساس UDP شامل:

  • پروتکل انتقالی فایل کم اهمیت TFTP پورت UDP 69
  • پروتکل مدیریت شبکه ساده SNMP پورت UDP 161
  • داده برنامه معروف Real Player صوتی و تصویری بر روی پورت UDP 7070

یکی دیگر از اعضای فامیل TCP/IP پروتکل کنترل پیام اینترنت یا ICMP است که مانند لوله کشی شبکه عمل می کند و وظیفه اش انتقال فرمان و کنترل اطلاعات بین سیستم ها و شبکه برای انتشار نقل و انتقالات داده واقعی و گزارش خطاها می باشد.

یک سیستم می تواند از ICMP برای امتحان اینکه آیا سیستم دیگر فعال است یا نه با فرستادن Ping که پیام پژواک ICMP Echo است استفاده کند. اگر سیستم Pinged فعال باشد به ping ارسال شده جواب خواهد داد.

بهتر است بدانید که از طریق پینگ میتوان نوع سیستم عامل ها را از روی TTL شناسایی کرد.

پیدا کردن سیستم عامل با ping

  • ویندوز TTL=128
  • لینوکس TTL=64
  • روترهای میکروتیک TTL=64
  • روترهای سیسکو TTL= 255

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

یوسف وفایی

فارغ التحصیل کارشناسی IT، علاقه مند به برنامه نویسی و علم امنیت، عاشق یادگیری حرفه های جدید، کنجکاو برای همه چیز، همچنین همیشه تلاش میکنم تا به هدفم برسم...

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


دکمه بازگشت به بالا