مفاهيم اوليه پروتکل TCP/IP ( بخش اول )

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

مقدمه

امروزه اکثر شبکه های کامپيوتری بزرگ و اغلب سيستم های عامل موجود از پروتکل TCP/IP ، استفاده و حمايت می نمايند. TCP/IP ، امکانات لازم بمنظور ارتباط سيستم های غيرمشابه را فراهم می آورد. از ويژگی های مهم پروتکل فوق ، می توان به مواردی همچون : قابليت اجراء بر روی محيط های متفاوت ، ضريب اطمينان بالا ،قابليت گسترش و توسعه آن ، اشاره کرد . از پروتکل فوق، بمنظور دستيابی به اينترنت و استفاده از سرويس های متنوع آن نظير وب و يا پست الکترونيکی استفاده می گردد. تنوع پروتکل های موجود در پشته TCP/IP و ارتباط منطقی و سيستماتيک آنها با يکديگر، امکان تحقق ارتباط در شبکه های کامپيوتری را با اهداف متفاوت ، فراهم می نمايد. فرآيند برقراری يک ارتباط ، شامل فعاليت های متعددی نظير : تبديل نام کامپيوتر به آدرس IP معادل ، مشخص نمودن موقعيت کامپيوتر مقصد ، بسته بندی اطلاعات ، آدرس دهی و روتينگ داده ها بمنظور ارسال موفقيت آميز به مقصد مورد نظر ، بوده که توسط مجموعه پروتکل های موجود در پشته TCP/IP انجام می گيرد.

معرفی پروتکل TCP/IP

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

لايه های پروتکل TCP/IP

TCP/IP ، فرآيندهای لازم بمنظور برقراری ارتباط را سازماندهی و در اين راستا از پروتکل های متعددی در پشته TCP/IP استفاده می گردد. بمنظور افزايش کارآئی در تحقق فرآيند های مورد نظر، پروتکل ها در لايه های متفاوتی، سازماندهی شده اند . اطلاعات مربوط به آدرس دهی در انتها قرار گرفته و بدين ترتيب کامپيوترهای موجود در شبکه قادر به بررسی آن با سرعت مطلوب خواهند بود. در اين راستا، صرفا" کامپيوتری که بعنوان کامپيوتر مقصد معرفی شده است ، امکان باز نمودن بسته اطلاعاتی و انجام پردازش های لازم بر روی آن را دارا خواهد بود. TCP/IP ، از يک مدل ارتباطی چهار لايه بمنظور ارسال اطلاعات از محلی به محل ديگر استفاده می نمايد: Application ,Transport ,Internet و Network Interface ، لايه های موجود در پروتکل TCP/IP می باشند.هر يک از پروتکل های وابسته به پشته TCP/IP ، با توجه به رسالت خود ، در يکی از لايه های فوق، قرار می گيرند.

لايه Application

لايه Application ، بالاترين لايه در پشته TCP/IP است .تمامی برنامه و ابزارهای کاربردی در اين لايه ، با استفاده از لايه فوق، قادر به دستتيابی به شبکه خواهند بود. پروتکل های موجود در اين لايه بمنظور فرمت دهی و مبادله اطلاعات کاربران استفاده می گردند . HTTP و FTP دو نمونه از پروتکل ها ی موجود در اين لايه می باشند .
• پروتکل HTTP)Hypertext Transfer Protocol) . از پروتکل فوق ، بمنظور ارسال فايل های صفحات وب مربوط به وب ، استفاده می گردد .
• پروتکل FTP)File Transfer Protocol) . از پروتکل فوق برای ارسال و دريافت فايل، استفاده می گردد .

لايه Transport

لايه " حمل " ، قابليت ايجاد نظم و ترتيب و تضمين ارتباط بين کامپيوترها و ارسال داده به لايه Application ( لايه بالای خود) و يا لايه اينترنت ( لايه پايين خود) را بر عهده دارد. لايه فوق ، همچنين مشخصه منحصربفردی از برنامه ای که داده را عرضه نموده است ، مشخص می نمايد. اين لايه دارای دو پروتکل اساسی است که نحوه توزيع داده را کنترل می نمايند.
• TCP)Transmission Control Protocol) . پروتکل فوق ، مسئول تضمين صحت توزيع اطلاعات است .
• UDP)User Datagram Protocol) . پروتکل فوق ، امکان عرضه سريع اطلاعات بدون پذيرفتن مسئوليتی در رابطه با تضمين صحت توزيع اطلاعات را برعهده دارد .

لايه اينترنت

لايه "اينترنت"، مسئول آدرس دهی ، بسته بندی و روتينگ داده ها ، است. لايه فوق ، شامل چهار پروتکل اساسی است :
• IP)Internet Protocol) . پروتکل فوق ، مسئول آدرسی داده ها بمنظور ارسال به مقصد مورد نظر است .
• ARP)Address Resoulation Protocol) . پروتکل فوق ، مسئول مشخص نمودن آدرس MAC)Media Access Control) آداپتور شبکه بر روی کامپيوتر مقصد است.
• ICMP)Internet Control Message Protocol) . پروتکل فوق ، مسئول ارائه توابع عيب يابی و گزارش خطاء در صورت عدم توزيع صحيح اطلاعات است .
• IGMP)Internet Group Managemant Protocol) . پروتکل فوق ، مسئول مديريت Multicasting در TCP/IP را برعهده دارد.

لايه Network Interface

لايه " اينترفيس شبکه " ، مسئول استقرار داده بر روی محيط انتقال شبکه و دريافت داده از محيط انتقال شبکه است . لايه فوق ، شامل دستگاه های فيزيکی نظير کابل شبکه و آداپتورهای شبکه است . کارت شبکه ( آداپتور) دارای يک عدد دوازده رقمی مبنای شانزده ( نظير : B5-50-04-22-D4-66 ) بوده که آدرس MAC ، ناميده می شود. لايه " اينترفيس شبکه " ، شامل پروتکل های مبتنی بر نرم افزار مشابه لايه های قبل ، نمی باشد. پروتکل های Ethernet و ATM)Asynchronous Transfer Mode) ، نمونه هائی از پروتکل های موجود در اين لايه می باشند . پروتکل های فوق ، نحوه ارسال داده در شبکه را مشخص می نمايند.

مشخص نمودن برنامه ها

در شبکه های کامپيوتری ، برنامه ها ی متعددی در يک زمان با يکديگر مرتبط می گردند. زمانيکه چندين برنامه بر روی يک کامپيوتر فعال می گردند ، TCP/IP ، می بايست از روشی بمنظور تمايز يک برنامه از برنامه ديگر، استفاده نمايد. بدين منظور ، از يک سوکت ( Socket) بمنظور مشخص نمودن يک برنامه خاص ، استفاده می گردد.

آدرس IP

برقراری ارتباط در يک شبکه ، مستلزم مشخص شدن آدرس کامپيوترهای مبداء و مقصد است ( شرط اوليه بمنظور برقراری ارتباط بين دو نقطه ، مشخص بودن آدرس نقاط درگير در ارتباط است ) . آدرس هر يک از دستگاه های درگير در فرآيند ارتباط ، توسط يک عدد منحصربفرد که IP ناميده می شود ، مشخص می گردند. آدرس فوق به هريک از کامپيوترهای موجود در شبکه نسبت داده می شود . IP : 10. 10.1.1 ، نمونه ای در اين زمينه است .

پورت TCP/UDP

پورت مشخصه ای برای يک برنامه و در يک کامپيوتر خاص است .پورت با يکی از پروتکل های لايه "حمل" ( TCP و يا UDP ) مرتبط و پورت TCP و يا پورت UDP ، ناميده می شود. پورت می تواند عددی بين صفر تا 65535 را شامل شود. پورت ها برای برنامه های TCP/IP سمت سرويس دهنده ، بعنوان پورت های "شناخته شده " ناميده شده و به اعداد کمتر از 1024 ختم و رزو می شوند تا هيچگونه تعارض و برخوردی با ساير برنامه ها بوجود نيايد. مثلا" برنامه سرويس دهنده FTP از پورت TCP بيست و يا بيست ويک استفاده می نمايد.

سوکت (Socket)

سوکت ، ترکيبی از يک آدرس IP و پورت TCP ويا پورت UDP است . يک برنامه ، سوکتی را با مشخص نمودن آدرس IP مربوط به کامپيوتر و نوع سرويس ( TCP برای تضمين توزيع اطلاعات و يا UDP) و پورتی که نشاندهنده برنامه است، مشخص می نمايد. آدرس IP موجود در سوکت ، امکان آدرس دهی کامپيوتر مقصد را فراهم و پورت مربوطه ، برنامه ای را که داده ها برای آن ارسال می گردد را مشخص می نمايد.
در بخش دوم اين مقاله به تشريح هر يک از پروتکل های موجود در پشته TCP/IP، خواهيم پرداخت .