مقدمه
پروتکل TCP/IP یکی از مفاهیم مربوط به شبکههای کامپیوتری است و همانطوری که میدانیم در حیطه شبکه پروتکلها از اهمیت بسیار بالایی برخوردار هستند. پروتکلها مجموعهای از قراردادهایی هستند که قواعد و پارامترهای مورد نیاز برای برقراری ارتباط بین اجزای شبکه را دربرمیگیرند. پروتکل TCP/IP روی مدل TCP/IP بوده، یک مدل چهار لایهای و عملیاتی است و در لایه حمل (Transport) عمل میکند.
در این پست به طور مفصل درباره پروتکل TCP/IP صحبت خواهیم کرد و با دقت به جزئیات آن خواهیم پرداخت تا مبادا نکتهای از قلم بیفتد.
مزایای شبکه
به طور خلاصه شبکه گروهی از تجهیزاتی است که از طریق محیط انتقال به هم وصل شدهاند و مزایای آن عبارتاند از:
- تبادل داده
- استفاده اشتراکی از منابع نرم افزاری و سخت افزاری
- حذف فواصل جغرافیایی
- پست الکترونیک
- رزرواسیون بلیط و غیره
شبکه دارای عناصری مانند سرور، کلاینت، محیط انتقال، پروتکل و سرویس است.
شبکههای کامپیوتری براساس فواصل جغرافیایی به سه نوع شبکه CAN، LAN و WAN تقسیم میشوند و خود شبکه WAN هم به سه زیرشبکه اینترنت، اینترانت و اکسترانت تقسیم میگردد. همانطوری که قبلاً هم گفتیم یکی از ملزومات شبکه، پروتکل است. در حالت کلی پروتکل مجموعهای از قواعد است که با به کارگیری آنها امکان سرویسدهی در شبکه فراهم میشود. پروتکل به کار رفته در اینترانت و اکسترانت پروتکل TCP/IP میباشد. در راستای آشنایی با اینترانت و اکسترانت فایلی تهیه و آماده شده که مناسب جهت ارائه کلاسی شما عزیزان بوده که میتوانید جهت دسترسی به این فایل به لینک زیر مراجعه کنید.
مدل های شبکه
شبکه مجموعهای از نرم افزارها و سخت افزارهایی است که با یک تکنولوژی پیچیده به هم متصل شده و در سرتاسر جهان گسترش پیدا کردهاند. حال برای درک بهتر و سادهتر شبکه از مدلهای شبکه استفاده میکنیم.
دو مدل رایج برای توصیف شبکه که لایهای هستند، عبارتانداز:
- مدل OSI: مخفف Open System Interconnection است، این مدل وظایف و خدمات شبکه در هفت لایه تعریف شدهاند. در هر لایه یک سری پروتکل وجود دارد که به عنوان زبان مشترک روی شبکههای کامپیوتری با هم اجرا میشوند و سرویسهایی را برای کاربران مختلف فراهم میکنند. این مدل توسط سازمان جهانی ISO ارائه شده است.
- مدل TCP/IP: مخفف Transmission Control Protocol/Internet Protocol است، در این مدل وظایف و خدمات شبکه در چهار لایه تعریف شدهاند. این مدل توسط سازمان IETF ارائه شده است.
این دو مدل هم برای شناسایی اشکالات شبکه و هم برای ایجاد یک زبان مشترک بین شبکهها مورد استفاده قرار میگیرند.
مدل TCP/IP
مدل TCP/IP اولین بار در دانشگاه برکلی بر روی سیستم عامل یونیکس ارائه شد که برخلاف مدل OSI یک مدل عملیاتی به شمار میرود. در آن زمان به علت رایگانی یونیکس مورد استقبال قرار گرفت و فراگیر شد. پروتکل TCP/IP مطابقت فراوانی با اینترنت دارد و این شبکه بزرگ برای ارتباطات خود از این پروتکل استفاده میکند، به همین علت است که پروتکل TCP/IP در شبکههای کوچک، متوسط و بزرگ مورد استفاده قرار میگیرد. در لینک زیر فایل آماده پروتکل TCP/IP قرار داده شده که میتوانید برای ارائههای آکادمیک خود از این فایل بهرهمند شوید.
مزایای پروتکل TCP/IP
- قانونمند نمودن نحوه ارتباطات در شبکه
- قابلیت اجرا در محیطهای متفاوت
- ضریب اطمینان بالا
- قابلیت گسترش و توسعه
برای برقراری یک ارتباط فعالیتهای مختلفی توسط پروتکلهایی که در پشته TCP/IP قرار دارند انجام میگیرد که عبارتانداز:
- تبدیل نام کامپیوتر به آدرس IP معادل
- مشخص کردن موقعیت کامپیوتر مقصد
- بستهبندی اطلاعات
- آدرسدهی
- مسیریابی دادهها برای ارسال موفقیتآمیز به مقصد مورد نظر
لایه های مدل TCP/IP
همانطوری که قبلاً هم گفتیم این مدل چهار لایه دارد، در شکل زیر لایههای مدل TCP/IP و پروتکلهای به کار رفته در هر لایه نشان داده شده است.
۱.لایه واسط شبکه (Network Interface)
اولین و زیرینترین لایه که با ایجاد یک کانال، ارتباطات فیزیکی بین دو ماشین را برقرار میکند، لایه واسط شبکه است. وظیفه لایه اول این است که یک خط مطمئن و بدون خطا ایجاد کرده و با هویت دادن به رشتهای از صفرها و یکها، آنها را در قالب یک “فریم” که شامل آدرس فیزیکی گیرنده و فرستنده است، سازماندهی کند.
۲. لایه اینترنت (Network)
لایه اینترنت وظیفه دارد که با استفاده از یک کانال مشترک، فریمهای اطلاعاتی را بین مبدأ و مقصد انتقال دهد. در این لایه سه پروتکل مهم وجود دارد که عبارتاند از:
- IP: پروتکل IP وظیفه مسیریابی و فراهمسازی آدرسهای منطقی را بر عهده دارد، همچنین این پروتکل امکان تحویل بسته را به لایههای بالاتر فراهم ساخته اما تحویل بسته به مقصد را تضمین نمیکند. پروتکل IP بواسطه TTL (Time To Live) مسئول پیشگیری از Network Loop است.
- ICM: این پروتکل وظیفه دارد اطلاعات و گزارشهای خطا روی شبکه را ارائه دهد تا کامپیوترهای روی شبکه از وضعیت یکدیگر باخبر شوند.
- ARP: پروتکل ARP یا Address Resolution Protocol وظیفه دارد تا آدرس MAC یا آدرس فیزیکی را با داشتن آدرس IP یک Host به دست آورد.
۳. لایه انتقال (Transport)
دادههایی که از لایه application دریافت میشوند، به قطعاتی تقسیم شده و source port و Sequence number به آن اضافه میشود تا TCP Segment ساخته شود. بعد لایه انتقال سگمنت آماده شده را به لایه اینترنت تحویل میدهد تا بسته ساخته شود. پروتکل اتصالگرای TCP (Connection Oriented) اطلاعات را به طور مطمئن به مقصد ارسال کند.
هرچند پروتکل TCP این قدرت را دارد که ترافیک زیاد را تحمل کند ولی برای ارسال دادههایی که نیاز به قابلیت اطمینان ندارند و هدفشان این است که هرچه سریعتر به مقصد برسند از پروتکل UDP یا User Datagram Protocol که یک پروتکل بدون اتصال (Connection Less) است، استفاده میشود.
ارسال اطلاعات در پروتکل TCP شامل سه مرحله برقراری ارتباط، ارسال داده و پایان ارتباط است. قبل از اینکه داده ارسال شود یک مسیر مجازی بین مبدأ و مقصد با استفاده از فرآیند دست تکانی یا Handshaking برقرار میشود همچنین برای مشخص شدن پایان هم بیتهای کنترلی پایان یافتن ارسال میشود.
قالب پروتکل اتصالگرای TCP به صورت زیر است:
شش بیت کنترلی هم در قالب پروتکل اتصالگرای TCP به شرح زیر وجود دارد:
- بیت SYN: هر ارتباط جدید با ۱ شدن این بیت همراه است.
- بیت ACK: با ۱ شدن این بیت پیام تصدیق اعلام میشود.
- بیت FIN: جهت پایان دادن ارتباط این بیت ۱ میشود.
- بیت RST: با ۱ شدن این بیت ارسال اطلاعات نیمه تمام باقی میماند.
- بیت PSH: با ۱شدن این بیت به معنای قرار دادن داده است.
- بیت URG: این بیت موقعیت دادههای ضروری را اعلام میکند.
بیتهای CWR و ECE به عنوان بیتهای کنترلی مورد استفاده قرار میگیرند.۴. لایه کاربرد (Application)
این لایه مسئول ایجاد و مدیریت درخواستها در کامپیوتر مبدأ یا سرویسدهی به درخواستهای دریافتی در کامپیوتر مقصد است.
به علت فعالیت مجموعهای از پروتکلها در هر لایه به آن پشته پروتکل TCP/IP گفته میشود. وقتی درمورد لایه نرمافزاری TCP/IP بحث میشود منظور سه لایهی بالایی مدل TCP/IP یعنی Internet ,Transport و Application است. پشته پروتکل TCP/IP شامل هزاران پروتکل متفاوت است که هزاران وظیفه مختلف دارند.
سرویس های رایج TCP/IP
در این قسمت از پروتکل TCP/IP به معرفی برخی از سرویسهای رایج در TCP/IP میپردازیم.
سرویس دسترسی به صفحات وب
معروفترین و رایجترین سرویس دسترسی به صفحات وب HTTP (Hyper Text Transfer Protocol) است که با پورت ۸۰ پروتکل TCP کار میکند. این سرویس در سمت کلاینت با نام HTTP Client (WEB Browser و WEB Client) و در سمت سرور با نام HTTP Server شناخته میشود. نوع امن این سرویس HTTPS یا HTTP Secure از پورت ۴۴۳ برای تبادل امن ترافیک بهره میبرد.
سرویس های پست الکترونیک یا Email
این نوع سرویسها شامل سه پروتکل SMTP یا Simple Mail Transfer Protocol، برای ارسال ایمیل با پورت ۲۵ پروتکل TCP و POP3 یا Post Office Protocol version3 جهت دریافت ایمیل با پورت ۱۱۰ پروتکل TCP و IMAP4 یا Internet Message Access Protocol version4 که جایگزین POP3 است و برای دریافت ایمیل از پورت ۱۴۳ پروتکل TCP استفاده میکند.
سرویس انتقال فایل
پرکاربردترین سرویس انتقال فایل FTP (File Transfer Protocol) است که در سمت سرور تحت عنوان FTP Server و در سمت کلاینت تحت عنوان FTP Client و FTP Server به کار برده میشود. این سرویس برای ارسال دستورات از پورت ۲۱ پروتکل TCP و برای ارسال داده از پورت ۲۰ پروتکل TCP استفاده میکند. سرویس انتقال فایل با پورت ۶۹ پروتکل UDP نیز با نام TFTP وجود دارد.
سرویس مدیریت شبکه
برای مدیریت شبکه از سرویس SNMP یا Simple Network Management Protocol استفاده میشود. این سرویس با شماره پورتهای ۱۶۱ و ۱۶۲ پروتکل TCP عمل میکند. جدیدترین نسخه سرویس SNMP نگارش ۳ است که برای رفع ایرادهای امنیتی SNMP1 و SNMP2 فراهم شده است. این پروتکل از طریق SNMP Agents اطلاعات را از روی تک تک تجهیزات شبکه نظیر سرورها، چاپگرها، سوئیچها، روترها و پیکربندی آنها جمعآوری میکند. اطلاعات به دست آمده در یک بانک اطلاعاتی تحت عنوان MIB یا Management Information Base نگهداری میشوند و SNMP Viewer یا SNMP Manager مسئول تجزیه و تحلیل اطلاعات جمعآوری شده است.
سرویس های دسترسی از راه دور
سرویسهای رایج دسترسی از راه دور SSH و Telnet هستند و دسترسی از راه دور به یک Host را فراهم میکنند. سرویس Telnet از پورت شماره ۲۳ پروتکل TCP استفاده میکند. این سرویس در سمت کلاینت با نام Telnet Client روی PC اجرا میگردد و آن را به ترمینال تبدیل میکند و Telnet server روی سرور راهاندازی شده و اطلاعات را از ترمینال دریافت میکند.
سرویس Telnet امن نیست به همین جهت برای تبادل امن اطلاعات به هنگام دسترسی از راه دور، سرویس SSH با پورت ۲۲ پروتکل TCP به کار میرود. این سرویس اطلاعات نام کاربری و کلمه عبور را رمزنگاری میکند. ابزار رایج برای به کارگیری این سرویسها در سمت کلاینت puTTY است.
سرویس های همگام سازی زمان یا clock synchronization
سرویسهای NTP یا Network Time Protocol و SNTP یا Simple Network Time Protocol جهت یکسانسازی و همگام نمودن ساعت سرورها و کلاینتها مبتنی بر پورتهای ۳۷ TCP و ۱۲۳ UDP به کار میروند. این سرویس از دو بخش NTP Client و NTP Server تشکیل شده است.
بعد از آشنایی با سرویسهای TCP/IP، با هم به ادامه مباحث پروتکل TCP/IP میپردازیم.
عملکرد شبکه های TCP/IP
شکل زیر نمای کلی برقراری یک ارتباط از طریق پروتکل TCP/IP را نشان میدهد. لایه های مختلف و ارتباط بین آنها در این شکل نشان داده شده است.
پروتکل TCP پروتکل لایه حمل است و وظیفه لایه حمل این است که سرویس ارائه شده توسط لایه شبکه را با نیازمندیهای کاربران تطبیق دهد. پروتکل IP یک سرویس Connectionless یا غیرقابل اتکا ارائه میکند، پروتکل TCP بر روی IP قرار گرفته است و با اجرای الگوریتم پنجره لغزان، یک سرویس connection-oriented قابل اتکا به لای بالای خود ارائه میکند.
برای شروع اتصال شبکه، نیازمند یک اتصال فیزیکی دوطرفه مرتبط به شبکه هستیم. در مرحله بعد به آدرسهای منحصربهفرد در سطح شبکه گسترده نیاز داریم و در نهایت یک ارتباط منطقی بین نرمافزارهای کاربردی در دو طرف شبکه ایجاد میشود.
ابزارهای TCP/IP
در آخرین بحث از موضوع پروتکل TCP/IP قصد دارم ابزارهای آن را معرفی کنم. برای رفع اشکالات در اتصالات TCP/IP دستوراتی وجود دارند که اکثر آنها از طریق پروتکل TCP/IP و سیستم عامل پشتیبانی میشوند. براساس نوع سیستم عاملی که استفاده میشود ممکن است اسامی و نوع دستورات متفاوت باشند. این ابزار در کنسول DOS یا در منوی Run قابل اجرا هستند. برخی از این دستورات عبارتانداز:
- Ipconfig: برای آگاهی از چگونگی پیکربندی TCP/IP به کار میرود.
- Ping: این فرمان برای اشکالزدایی در TCP/IP استفاده میشود و برای تست وجود ارتباط بین دو کامپیوتر در شبکه و اطمینان از فعال بودن کامپیوتر مقصد استفاده میشود.
- Hostname: با این دستور میتوانیم به نام کامپیوتر دسترسی پیدا کنیم.
- ARP: پروتکل ARP نگاشت آدرسهای منطقی IP به آدرسهای فیزیکی متناظر را فراهم میسازد.
- Netstat: این دستور اطلاعات آماری پروتکلها و وضعیت ارتباطات TCP و پروسههای سیستم را نشان میدهد. با این ابزار میتوان تعیین کرد چه برنامهای روی سیستم با یک سرویس خارجی ارتباط برقرار کرده است.
- Tracert: مسیر پیموده شده هر بسته اطلاعاتی با این فرمان و با قالب Tracert IP Address یا Tracert Host name شناسایی میگردد.
- Route: این فرمان جهت نمایش جدول مسیریابی و همچنین اضافه، حذف و تغییر مسیر مورد استفاده قرار میگیرد.
سخن پایانی درباره پروتکل TCP/IP
و در آخر این نکته را متذکر میشوم که، هر چند وجود همه پروتکلها برای برقرای ارتباطات بهینه، ضروری است اما پروتکل TCP/IP اساس ارتباطات در دنیای اینترنت به شمار میرود که روی مدل TCP/IP عمل میکند. پروتکل TCP/IP دارای سرویسهای متعددی است که با پورتهای مختلف در شبکه کار میکنند تا در نهایت نیازهای ارتباطی افراد مختلف در جهان به بهترین شکل تأمین شود.
امید است مطالبی که درباره پروتکل TCP/IP در این پست ارائه شد مورد توجه شما علاقهمندان به شبکه و کامپیوتر قرار گرفته باشد. ما را از نظرات و پیشنهادات خود مطلع بفرمایید.
یک پاسخ
سلام در هرلایه بسته و هد رآن چه تغییری میکند.
ممنون از وقتی که میگذارید