9 ارسال در این موضوع قرار دارد

با سلام و درود 

لطفا مدیران این تاپیک را به بخش مربوطه انتقال دهند 

مقاله ip/TCP 

عنوان این تاپیک آموزشی : مفاهيم  پروتکل TCP/IP

 

با نام و یاد خدا شروع میکنیم 

 

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

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

مقدمه

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


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

TCP/IP ، پروتکلی استاندارد برای ارتباط کامپيوترهای موجود در يک شبکه است. از پروتکل فوق، بمنظور ارتباط در شبکه های بزرگ استفاده می گردد. برقراری ارتباط از طريق پروتکل های متعددی که در چهارلايه مجزا سازماندهی شده اند ، ميسر می گردد. هر يک از پروتکل های موجود در پشته 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، خواهيم پرداخت .

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

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

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

پروتکل TCP : لايه Transport

TCP) Transmission Control Protocol) ، يکی از پروتکل های استاندارد TCP/IP است که امکان توزيع و عرضه اطلاعات ( سرويس ها) بين صرفا" دو کامپيوتر ، با ضريب اعتماد بالا را فراهم می نمايد. چنين ارتباطی ( صرفا" بين دو نقطه ) ، Unicast ناميده می شود . در ارتباطات با رويکرد اتصال گرا ، می بايست قبل از ارسال داده ، ارتباط بين دو کامپيوتر برقرار گردد . پس از برقراری ارتباط ، امکان ارسال اطلاعات برای صرفا" اتصال ايجاد شده ، فراهم می گردد . ارتباطات از اين نوع ، بسيار مطمئن می باشند ، علت اين امر به تضمين توزيع اطلاعات برای مقصد مورد نظر برمی گردد . بر روی کامپيوتر مبداء ، TCP داده هائی که می بايست ارسال گردند را در بسته های اطلاعاتی (Packet) سازماندهی می نمايد. در کامپيوتر مقصد ، TCP ، بسته های اطلاعاتی را تشخيص و داده های اوليه را مجددا" ايجاد خواهد کرد .


ارسال اطلاعات با استفاده از TCP

TCP ، بمنظور افزايش کارائی ، بسته های اطلاعاتی را بصورت گروهی ارسال می نمايد . TCP ، يک عدد سريال ( موقعيت يک بسته اطلاعاتی نسبت به تمام بسته اطلاعاتی ارسالی ) را به هريک از بسته ها نسبت داده و از Acknowledgment{تصدیق} بمنظور اطمينان از دريافت گروهی از بسته های اطلاعاتی ارسال شده ، استفاده می نمايد. در صورتيکه کامپيوتر مقصد ، در مدت زمان مشخصی نسبت به اعلام وصول بسته های اطلاعاتی ، اقدام ننمايد ، کامپيوتر مبداء ، مجددا" اقدام به ارسال اطلاعات می نمايد. علاوه برافزودن يک دنباله عددی و Acknowledgment به يک بسته اطلاعاتی ، TCP اطلاعات مربوط به پورت مرتبط با برنامه ها ی مبداء و مقصد را نيز به بسته اطلاعاتی اضافه می نمايد. کامپيوتر مبداء ، از پورت کامپيوتر مقصد بمنظور هدايت صحيح بسته های اطلاعاتی به برنامه مناسب بر روی کامپيوتر مقصد ، استفاده می نمايد. کامپيوتر مقصد از پورت کامپيوتر مبداء بمنظور برگرداندن اطلاعات به برنامه ارسال کننده در کامپيوتر مبداء ، استفاده خواهد کرد .
هر يک از کامپيوترهائی که تمايل به استفاده از پروتکل TCP بمنظور ارسال اطلاعات دارند ، می بايست قبل از مبادله اطلاعات ، يک اتصال بين خود ايجاد نمايند . اتصال فوق ، از نوع مجازی بوده و Session ناميده می شود .دو کامپيوتر درگير در ارتباط ، با استفاده از TCP و بکمک فرآيندی با نام : Three-Way handshake ، با يکديگر مرتبط و هر يک پايبند به رعايت اصول مشخص شده در الگوريتم مربوطه خواهند بود . فرآيند فوق ، در سه مرحله صورت می پذيرد :

مرحله اول : کامپيوتر مبداء ، اتصال مربوطه را از طريق ارسال اطلاعات مربوط به Session ، مقداردهی اوليه می نمايد ( عدد مربوط به موقعيت يک بسته اطلاعاتی بين تمام بسته های اطلاعاتی و اندازه مربوط به بسته اطلاعاتی )
مرحله دوم : کامپيوتر مقصد ، به اطلاعات Session ارسال شده ، پاسخ مناسب را خواهد داد .

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

پروتکل UDP : لايه Transport

UDP) User Datagram Protocol ) ، پروتکلی در سطح لايه "حمل" بوده که برنامه مقصد در شبکه را مشخص نموده و از نوع بدون اتصال است . پروتکل فوق، امکان توزيع اطلاعات با سرعت مناسب را ارائه ولی در رابطه با تضمين صحت ارسال اطلاعات ، سطح مطلوبی از اطمينان را بوجود نمی آورد . UDP در رابطه با داده های دريافتی توسط مقصد ، به Acknowledgment نيازی نداشته و در صورت بروز اشکال و يا خرابی در داده های ارسال شده ، تلاش مضاعفی بمنظور ارسال مجدد داده ها ، انجام نخواهد شد . اين بدان معنی است که داده هائی کمتر ارسال می گردد ولی هيچيک از داده های دريافتی و صحت تسلسل{پیوستگی} بسته های اطلاعاتی ، تضمين نمی گردد .از پروتکل فوق ، بمنظور انتقال اطلاعات به چندين کامپيوتر با استفاده از Broadcast و يا Multicast ، استفاده بعمل می آيد . پروتکل UDP ، در موارديکه حجم اندکی از اطلاعات ارسال و يا اطلاعات دارای اهميت بالائی نمی بانشد ، نيز استفاده می گردد. استفاده از پروتکل UDP در مواردی همچون Multicasting Streaming media ، (نظير يک ويدئو کنفرانس زنده) و يا انتشار ليستی از اسامی کامپيوترها که بمنظور ارتباطات محلی استفاده می گردند ، متداول است . بمنظور استفاده از UDP ، برنامه مبداء می بايست پورت UDP خود را مشخص نمايد دقيقا" مشابه عملياتی که می بايست کامپيوتر مقصد انجام دهد . لازم به يادآوری است که پورت های UDP از پورت های TCP مجزا و متمايز می باشند (حتی اگر دارای شماره پورت يکسان باشند ). 

پروتکل IP : لايه Internet

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

عمليات انجام شده توسط IP
می توان IP را بعنوان مکانی در نظر گرفت که عمليات مرتب سازی و توزيع بسته های اطلاعاتی در آن محل ، صورت می پذيرد .بسته ها ی اطلاعاتی توسط يکی از پروتکل های لايه حمل ( TCP و يا UDP) و يا از طريق لايه " ايترفيس شبکه " ، برای IP ارسال می گردند . اولين وظيفه IP ، روتينگ بسته های اطلاعاتی بمنظور ارسال به مقصد نهائی است . هر بسته اطلاعاتی ، شامل آدرس IP مبداء ( فرستنده ) و آدرس IP مقصد ( گيرنده ) می باشد. در صورتيکه IP ، آدرس مقصدی را مشخص نمايد که در همان سگمنت موجود باشد ، بسته اطلاعاتی مستقيما" برای کامپيوتر مورد نظر ارسال می گردد . در صورتيکه آدرس مقصد در همان سگمنت نباشد ، IP ، می بايست از يک روتر استفاده و اطلاعات را برای آن ارسال نمايد.يکی ديگر از وظايف IP ، ايجاد اطمينان از عدم وجود يک بسته اطلاعاتی ( بلاتکليف ! ) در شبکه است . بدين منظور محدوديت زمانی خاصی در رابطه با مدت زمان حرکت بسته اطلاعاتی در طول شبکه ، در نظر گرفته می شود .عمليات فوق، توسط نسبت دادن يک مقدار TTL)Time To Live) به هر يک از بسته های اطلاعاتی صورت می پذيرد. TTL ، حداکثر مدت زمانی را که بسته اطلاعاتی قادر به حرکت در طول شبکه است را مشخص می نمايد( قبل از اينکه بسته اطلاعاتی کنار گذاشته شود) .

پروتکل ICMP : لايه Internet

IGMP) Internet Group Managment Protocol) ، پروتکلی است که مديريت ليست اعضاء برای IP Multicasting ، در يک شبکه TCP/IP را بر عهده دارد . IP Multicasting، فرآيندی است که بر اساس آن يک پيام برای گروهی انتخاب شده از گيرندگان که گروه multicat ناميده می شوند ؛ ارسال می گردد . IGMP ليست اعضاء را نگهداری می نمايد .

مديريت IP Multicasting

تمامی اعضاء يک گروه multicast ، به ترافيک IP هدايت شده به يک آدرس Multicast IP ، گوش داده و بسته های اطلاعاتی ارسال شده به آن آدرس را دريافت می نمايند. زمانيکه چندين کامپيوتر نيازمند دستيابی به اطلاعاتی نظير Streaming media باشند، يک آدرس IP رزوشده برای multicasting استفاده می گردد. روترها که بمنظور پردازش multicast پيکربندی می گردند، اطلاعات را انتخاب و آنها را برای تمامی مشترکين گروه multicast ارسال ( Forward ) می نمايند . بمنظور رسيدن اطلاعات Multicast به گيرندگان مربوطه ، هر يک از روترهای موجود در مسير ارتباطی می بايست ، قادر به حمايت از Multicasting باشند .

پروتکل ARP : لايه Internet 

ARP) Address Resolution Protocol) ، پروتکلی است که مسئوليت مسئله " نام به آدرس" را در رابطه با بسته های اطلاعاتی خروجی (Outgoing) ، برعهده دارد . ماحصل فرآيند فوق ، Mapping آدرس IP به آدرسMAC )Media Access Control) ، مربوطه است . کارت شبکه از آدرس MAC ، بمنظور تشخيص تعلق يک بسته اطلاعاتی به کامپيوتر مربوطه ، استفاده می نمايند . بدون آدرس های MAC ، کارت های شبکه ، دانش لازم در خصوص ارسال بسته های اطلاعاتی به لايه بالاتر بمنظور پردازش های مربوطه را دارا نخواهند بود . همزمان با رسيدن بسته های اطلاعاتی به لايه IP بمنظور ارسال در شبکه ، آدرس های MAC مبداء و مقصد به آن اضافه می گردد .
ARP ، از جدولی خاص بمنظور ذخيره سازی آدرس های IP و MAC مربوطه ، استفاده می نمايد. محلی از حافظه که جدول فوق در آنجا ذخيره می گردد ، ARP Cache ناميده می شود. ARP Cache هر کامپيوتر شامل mapping لازم برای کامپيوترها و روترهائی است که صرفا" بر روی يک سگمنت مشابه قرار دارند.
Physical Address Resolution 
پروتکل ARP ، آدرس IP مقصد هر يک از بسته های اطلاعاتی خروجی را با ARP Cache مقايسه تا آدرس MAC مقصد مورد نظر را بدست آورد . در صورتيکه موردی پيدا گردد ، آدرس MAC از Cache بازيابی می گردد . در غير اينصورت ؛ ARP درخواستی را برای کامپيوتری که مالکيت IP را برعهده دارد ، Broadcast نموده و از وی می خواهد که آدرس MAC خود را اعلام نمايد . کامپيوتر مورد نظر ( با IP مربوطه ) ، در ابتدا آدرس MAC کامپيوتر ارسال کننده درخواست را به Cache خود اضافه نموده و در ادامه پاسخ لازم را از طريق ارسال آدرس MAC خود ، به متقاضی خواهد داد . زمانيکه پاسخ ARP توسط درخواست کننده ، دريافت گرديد ، در ابتدا با استناد به اطلاعات جديد دريافتی، Cache مربوطه بهنگام و در ادامه بسته اطلاعاتی به مقصد کامپيوتر مورد نظر ارسال می گردد .
در صورتيکه مقصد يک بسته اطلاعاتی ، سگمنتی ديگر باشد ، ARP ، آدرس MAC را به روتر مسئول در سگمنت مربوطه ، تعميم خواهد داد ( در مقابل آدرس مربوط به کامپيوتر مقصد ) . روتر ، در ادامه مسئول يافتن آدرس MAC مقصد و يا Forwarding بسته اطلاعاتی برای روتر ديگر است .

در بخش سوم اين مقاله به بررسی ، برنامه ها و ابزارهای کمکی در رابطه با پروتکل TCP/IP ، خواهيم پرداخت .
 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

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

برنامه های عيب يابی

برنامه های عيب يابی ، امکان تشخيص و برطرف نمودن مسائل مرتبط با شبکه را برای کاربران فراهم می نمايند. برخی از اين ابزارها عبارتند از :

ARP . برنامه فوق ، Cache مربوط به ARP) Addreee Resolution Protocol) را نمايش و امکان اصلاح آن را فراهم می نمايد . بمنظور استفاده از برنامه فوق ، کافی است ARP -a را در خط دستور تايپ و در ادامه جدول مربوط به ARP Cache ، نمايش داده می شود. با استفاده از برنامه فوق می توان يک Entry ايستا را به جدول مربوطه اضافه ( arp -s 157.55.85.212 00-aa-00-62-c6-09 ) ، و يا اقدام به حذف يک host از جدول نمود ( arp -d ) .

Hostname . برنامه فوق ، نام کامپيوتر ميزبان را نمايش می دهد . برای استفاده از برنامه فوق ، کافی است Hostname را در خط دستور ، تايپ و نام کامپيوتر خود را مشاهده نمود.

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

Nbtstat . برنامه فوق ، جدول محلی اسامی NetBIOS را نمايش می دهد .جدول فوق ، شامل ليستی از اسامی کامپيوتر ها بهمراه IP مربوطه است ( mapping )

Netstat . برنامه فوق ، اطلاعات مربوط به جلسه کاری (Session) پروتکل TCP/IP را نمايش می دهد .

Ping . برنامه فوق ، پيکربندی و ارتباط مبتنی بر IP بين دو کامپيوتر را بررسی و تست می نمايد. Ping يک درخواست ICMP را از کامپيوتر مبداء ارسال و کامپيوتر مقصد از طريق يک پاسخ ICMP به آن جواب خواهد داد .بمنظور تست ارتباط با استفاده از يک آدرس IP و يا نام يک کامپيوتر ، فرمان [ PING [iP_Address or Computer_Name را تايپ نمائيد. بمنظور تست پيکربندی TCP/IP بر روی کامپيوتر خود ، از Local Loopback استفاده نمائيد . Local loopback ، شامل آدرس 127.0.0.1 است. ( Ping 127.0.0.1 )

Tracert . برنامه فوق ، رديابی يک بسته اطلاعاتی تا رسيدن به مقصد مورد نظر را انجام می دهد .

برنامه های ارتباطی

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

FTP . برنامه فوق، با استفاده از پروتکل TCP ، اقدام به ارسال فايل بين کامپيوترهائی که بر روی آنان نرم افزار سرويس دهنده FTP نصب شده است ، می نمايد .

Telnet . برنامه فوق ، امکان ارتباط از راه دور به منابع شبکه موجود در کامپيوترهائی که سرويس دهنده Telnet بر روی آنان نصب شده است را فراهم می نمايد .

Tftp . برنامه فوق از پروتکل UDP ، برای ارسال فايل های کوچک بين کامپيوترهائی که بر روی آنان سرويس دهنده TFTP)Trivial File Transfer Protocol ) نصب شده است را فراهم می نمايد.

نرم افزارهای سمت سرويس دهنده

اين نوع نرم افزارها امکان چاپ و انتشار سرويس ها را برای سرويس گيرندگان مبتنی بر TCP/IP فراهم می نمايد.

سرويس چاپ TCP/IP . برنامه فوق ، سرويس استاندارد چاپ TCP/IP را ارائه می نمايد. سرويس فوق ، امکان ارسال چاپ را برای کامپيوترها فراهم می نمايد .

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

مثال
مثال 1 - هدف : استفاده از برنامه Ping بمنظور اطمينان از صحت عملکرد پروتکل TCP/IP

مرحله يک : بعنوان يک کاربر مجاز ، به شبکه وارد شويد .
مرحله دو : گزينه Command Prompt را از مسير Start | Programs | Accessories انتخاب نمائيد. 
مرحله سه : دستور Ping 127.0.0.1 را در پنجره مربوطه تايپ نمائيد .

نتايج : پس از انجام مراحل فوق ، نتايج زير می بايست نشان داده شود :

نتيجه يک : می بايست چهار بسته اطلاعاتی ارسال و چهار بسته اطلاعاتی دريافت و هيچگونه بسته اطلاعاتی گم نگردد . در غير اينصورت در رابطه با نصب TCP/IP مشکلاتی وجود دارد .
نتيجه دو : در صورتيکه چهار بسته اطلاعاتی ارسال و دريافت گردد ، نشاندهنده صحت عملکرد و نصب پروتکل TCP/IP است 
مثال 2 - هدف : استفاده از برنامه های Ping و Hostname بمنظور صحت عملکرد TCP/IP
مرحله يک : بعنوان يک کاربر مجاز ، به شبکه وارد شويد .
مرحله دو : گزينه Command Prompt را از مسير Start | Programs | Accessories انتخاب نمائيد.
مرحله سه : در پنجره مربوطه ، دستور hostname را تايپ نمائيد.
مرحله چهارم : در پنجره مربوطه ، دستور Ping Computer_Name را تايپ نمائيد . نام کامپيوتر ، مقدار برگردانده شده در اثر اجرای فرمان hostname است .

نتايج : پس از انجام مراحل فوق ، نتايج زير می بايست نشان داده شود :

نتيجه يک : نام کامپيوتر ( در اين رابطه هر کامپيوتر دارای نام اختصاصی مربوط به خود خواهد بود ) 
نتيجه دو : آدرس IP کامپيوتر ( در اين رابطه هر کامپيوتر دارای آدرس IP مربوط به خود خواهد بود )

در بخش چهارم اين مقاله به بررسی ، Name Resoulation ، خواهيم پرداخت .

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

در اين بخش به بررسی Name Resoulation ، خواهيم پرداخت . ماحصل فرآيند فوق، يافتن آدرس IP مپ (map) شده به يک نام است ( در صورتيکه عمليات با موفقيت انجام گردد ) . تمامی اسامی User-friendly ، می بايست به آدرس معادل IP مربوطه مپ تا زمينه ارتباط بين دستگاههای متقاضی در يک شبکه مبتنی بر TCP/IP ، فراهم گردد . 
پروتکل TCP/IP کامپيوترهای مبداء و مقصد را از طريق آدرس IP آنان ، شناسائی می نمايد . کاربران ، تمايل بيشتری برای بخاطرسپردن و استفاده از اسامی ، نسبت به اعداد ( آدرس های IP ) را دارند . برای آدرس دهی يک کامپيوتر از انواع متفاوتی نام ( user friendly names ) ، استفاده می گردد. بمنظور ذخيره سازی اسامی و آدرس IP معادل آنان ، از رويکردهای متفاوتی استفاده می گردد .با توجه به نوع نام استفاده شده ، از يک فايل ايستا و يا پويا بمنظور ذخيره نمودن اسامی و آدرس های IP مپ شده به آنان استفاده می گردد . برخی از برنامه ها نظير IE و FTP ، قادر به استفاده از آدرس IP و يا نام برای برقراری ارتباط با مقصد مورد نظر می باشند .زمانيکه از نام استفاده می گردد ، قبل از آغاز يک ارتباط از طريق پروتکل TCP/IP ، از فرآيندی با نام Name Resolution استفاده تا آدرس IP کامپيوتر مورد نظر ، مشخص گردد . در صورتيکه آدرس IP ، مشخص شده باشد ( در مقابل مشخص شدن نام ) ،ارتباط بلافاصله برقرارخواهد شد . 

انواع نام

دو نوع نام user friendly وجود دارد : اسامی ميزبان (Host) و اسامی NetBIOS . نام ميزبان ، نامی است که به يک آدرس IP کامپيوترنسبت داده شده تا آن را بعنوان يک ميزبان TCP/IP مشخص نمايد. نام ميزبان ، می تواند دارای حداکثر 255 کاراکتر ( حروف الفبائی ، کاراکترهای عددی ، نقطه و hyphens ) باشد . اسامی ميزبان دارای اشکال متفاوتی می باشند . نام مستعار (Alias) و Domain names ، دو نمونه متداول در اين زمينه می باشند. نام مستعار، نامی خاص و مرتبط شده به يک آدرس IP است . (نظير : Tehran ) . يک Domain name ، بمنظور استفاده بر روی اينترنت سازماندهی و از نقطه بعنوان يک جداکننده استفاده می نمايد ( مثلا" Tehran.Citys.com ) . 
نام NetBIOS ، يک نام شانزده کاراکتری است که از آن بمنظور مشخص نمودن يک منبع NetBIOS بر روی شبکه استفاده می گردد . از يک نام NetBIOS ، بمنظور مشخص نمودن يک و يا مجموعه ای از کامپيوترها ، استفاده ميگردد .در اين راستا ، صرفا" از پانزده حرف اول آن برای نام و از کاراکتر نهائی بمنظور مشخص نمودن منبع و يا سرويسی که به يک کامپيوتر اشاره می نمايد، استفاده می گردد. نمونه ای از يک منبع NetBIOS ، عنصر File and Print Sharing for Microsoft Networks در شبکه های مبتنی بر ويندوز 2000 است . زمانيکه کامپيوتر فعاليت خود را آغاز می نمايد ، عنصر فوق ، يک نام منحصر بفرد NetBIOS را ريجستر(ثبت) می نمايد . نام ثبت شده شامل نام کامپيوتر و کاراکتری است که بيانگر عنصر ثبت کننده است ( برای در نظر گرفتن نام کامپيوتر از حداکثر پانزده حرف و برای مشخص نمودن عنصر ثبت کننده نام ، از يک حرف ديگر استفاده می گردد ) . درويندوز 2000 ، نام NetBIOS ، می تواند حداکثر پانزده کاراکتر باشد . ويندوز 2000 ، خود نيازی به اين نوع اسامی نداشته و نسخه های قبلی ويندوز نيازمند استفاده از اسامی NetBIOS بمنظور حمايت از قابليت های شبکه ای، دارند.

Static IP mapping

زمانيکه کاربران يک نام را بمنظور برقراری ارتباط با يک کامپيوتر مقصد ، مشخص می نمايند ، پروتکل TCP/IP همچنان نيازمند يک آدرس IP برای تحقق انتقال اطلاعات است . در اين راستا لازم است که نام کامپيوتر به يک آدرس IP ، مپ گردد. ماحصل عمليات فوق ( mapping ) ، در يک جدول ايستا و يا پويا ذخيره می گردد . در صورتيکه از يک جدول ايستا استفاده گردد ، نتايج مورد نظر در يکی از فايل های Hosts و يا Lmhosts ذخيره می گردند( فايل ها ی فوق، متنی می باشند ) . مهمترين مزيت استفاده از يک جدول ايستا ، امکان سفارشی نمودن آن با توجه به ماهيت فايل ( متنی ) و محل ذخيره سازی ( ذخيره بر روی هر کامپيوتر) آن است. در اين راستا هر يک از کاربران می توانند برای دستيابی به منابعی با فرکانس بالای دستيابی ، به هر ميزان که ضرورت دارد ، entry در جدول فوق ثبت نمايند . بهنگام سازی جداول ايستا ، يکی از چالش های اصلی در اين زمينه بوده و در موارديکه تعداد آدرس های IP مپ شده ، زياد و آدرس های فوق متناوبا" تغيير يابند ، بهنگام سازی جداول ايستا مسائل خاص خود را خواهد داشت . 
فايل Hosts . فايل فوق ، يک فايل متنی و شامل آدرس های IP مپ شده به اسامی ميزبان است . فايل فوق، دارای ويژگی های زير است : 
می توان چندين نام ميزبان را به آدرس IP مشابهی نسبت داد .در اين حالت ، امکان مراجعه به يک سرويس دهنده در آدرس IP : 167.91.45.121 از طريق نام حوزه Tehran.Citys.Com و يا نام مستعار Tehran وجود خواهد داشت . در اين راستا ، کاربران می توانند بمنظور مراجعه به سرويس دهنده از نام مستعار Tehran در مقابل نام Domain ، استفاده نمايند .
هر Entry در فايل فوق ، با توجه به نوع پلات فرم ، نسبت به حروف بزرگ و کوچک حساس خواهد بود . در رابطه با کامپيوترهائی که ويندوز 2000 و يا NT بر روی آنها نصب شده است ، حساسيت فوق ، وجود نخواهد داشت .
فايل LmHosts . فايل فوق ، يک فايل متنی وشامل آدرس IP مپ شده به نام NetBIOS است . بخشی از فايل Lmhosts در ابتدا وارد حافظه شده و به آن اصطلاحا" NetBIOS name Cache می گويند. 

Dynamic IP mapping
مهمترين مزيت جداول پويا ( مسئول ذخيره سازی IP مپ شده ) ، بهنگام سازی اتوماتيک آنان است.در اين راستا ، جداول پويا از دو سرويس استفاده می نمايند : DNS)Domain Name System) و WINS)Windows Internet Neame Service) . سرويس دهنده DNS و WINS عمليات مشابه ای را نظير فايل های Hosts و Lmhosts انجام خواهند داد ( بدون نياز به پيکربندی دستی ) .

DNS)Domain Name System)

DNS ، روشی بمنظور نامگذاری کامپيوترها و منابع شبکه است . شبکه های مبتنی بر TCP/IP ، از بانک اطلاعاتی اسامی DNS ، بمنظور يافتن کامپيوترها و سرويس ها از طريق اسامی User friendly مربوط به Domain names ، استفاده می نمايند. زمانيکه کاربری نام يک Domain را در برنامه ای وارد ( مشخص ) می نمايد، سرويس دهنده DNS ، نام مورد نظر را به IP مربوطه ، map خواهد کرد .ساختار سيستم نامگذاری DNS ، بصورت سلسله مراتبی است ، بدين ترتيب امکان استفاده از سيستم فوق،در شبکه های بزرگی نظير اينترنت وجود خواهد شد . با استفاده از يک سيستم سلسله مراتبی بمنظور ايجاد اسامی Domain ، کامپيوترهائی که اسامی Domain و معادل IP مربوطه را ذخيره می نمايند ، دارای mapping لازم برای صرفا" ناحيه مربوط به خود می باشند . اين نوع از کامپيوترها اصطلاحا" ، سرويس دهنده DNS ، ناميده شده و صرفا" پردازش های لازم برای کامپيوترهائی که در ميدان عملياتی آنان می باشد را انجام خواهند داد . زمانيکه mapping در ناحيه مربوطه تغيير نمايد ، سرويس دهندگان DNS بصورت اتوماتيک عمليات بهنگام سازی را انجام خواهند داد . 

WINS)Windows Internet Name Service)

WINS ، يک بانک اطلاعاتی توزيعی را برای ثبت mapping پويای اسامی NetBIOS استفاده شده در شبکه ، ارائه می نمايد . WINS ، اسامی NetBIOS را به آدرس های IP مپ و اين امکان را فراهم خواهد آورد که اسامی NetBIOS در طول روترها ، قابل استفاده باشند . 

Name Resoulation 

Name Resoulation ، فرآيندی است که بر اساس آن مشکل يک نام برطرف و يا به يک آدرس IP مپ می گردد . زمانيکه کاربری يک نام را در يک برنامه ، وارد می نمايد، برنامه مشخص می نمايد که نام فوق يک ميزبان و يا يک نام NetBIOS است. برنامه های فعلی از فرآيند host name resolution ، استفاده می نمايند ولی برخی از برنامه های قديمی تر همچنان از اسامی NetBIOS استفاده می نمايند. در صورتيکه فرآيند فوق ، با موفقيت همراه نگردد ، برنامه متقاضی قادر به برقراری ارتباط با مقصد مورد نظر خود نخواهد بود. در صورتيکه از يک آدرس IP استفاده می نمائيد ، name resolution نياز نخواهد بود .

 

بخش بعدی مقاله Host name Resolution

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

فرآيند Host name Resolution
آدرس IP اسامی ميزبان ( Host Names) ، با استفاده از فايل Host و يا بکمک سرويس دهنده DNS ، مشخص خواهد شد . فرآيند فوق ، بصورت زير انجام خواهد شد .

کامپيوتر A دستوری را نظير FTP بهمراه نام کامپيوتر ميزبان B ، وارد می نمايد .
کامپيوتر A ، بررسی می نمايد که آيا نام مشخص شده با نام ميزبان محلی مطابقت می نمايد.
در صورتيکه نام مشخص شده با نام ميزبان محلی مطابقت ننمايد ، کامپيوتر A ، فايل ميزبانان خود را (Hosts File ) بمنظور آگاهی از کامپيوتر ميزبان B ، جستجو می نمايد. در صورتيکه نام کامپيوتر ميزبان پيدا گردد ، آدرس IP مپ شده به آن ، برگردانده خواهد شد . پس از مشخص شدن آدرس IP ، زمينه ارتباط با کامپيوتر مورد نظر فراهم خواهد شد .
اگر کامپيوتر A ، نام ميزبان کامپيوتر B را پيدا ننمايد ، در ادامه يک query برای سرويس دهنده DNS ارسال می گردد. در صورتيکه نام ميزبان پيدا گردد ، آدرس IP نسبت داده شده به آن مشخص خواهد شد. پس از مشخص شدن آدرس IP ، زمينه ارتباط با کامپيوتر مورد نظر فراهم خواهد شد .
درصورتيکه نام کامپيوتر ميزبان در سرويس دهنده DNS پيدا نگردد ، ويندوز 2000 ، Cache مربوط به اسامی NetBIOS را بررسی می نمايد .اين امر بدين علت است که ويندوز 2000 ، با NetBIOS name بمنزله host name ، رفتار می نمايد.
در صورتيکه Cache فوق ، شامل نام ميزبان مورد نظر نباشد ، يک query برای سرويس دهنده WINS ارسال می گردد .
در صورتيکه سرويس دهنده WINS قادر به حل مشکل نام نباشد ، يک پيام Broadcast بر روی شبکه ارسال می گردد.
در صورتيکه ميزبانی به پيام منتشر شده پاسخ ندهد ، فايل Lmhosts بمنظور نام ميزبان( NetBIOS) ، بررسی خواهد شد.



فرآيند NetBIOS Name Resolution


بصورت پيش فرض ، اسامی NetBIOS بر روی يک شبکه مبتنی بر TCP/IP کار نخواهند کرد . NetBT ، از کلمات NetBIOS over TCP/IP اقتباس شده است . پروتکل فوق ، امکان برقراری ارتباط را برای برنامه های مبتنی بر NetBIOS ، توسط TCP/IP و از طريق ترجمه نام NetBIOS به يک آدرس IP ، فراهم می نمايد . درصورتيکه سرويس دهنده WINS برای استفاده ، پيکربندی شده باشد ، فرآيند NetBIOS Name Resolution ، بصورت زير خواهد بود :

کامپيوتر A ، دستوری نظير Net use را بهمراه نام NetBIOS کامپيوتر B ، وارد می نمايد .
کامپيوتر A ، بررسی می نمايد که آيا نام مشخص شده در Cache اسامی NetBIOS ، موجود است .
در صورتيکه نام موجود نباشد ، کامپيوتر A يک query را برای سرويس دهنده WINS ارسال می دارد.
در صورتيکه سرويس دهنده WINS قادر به يافتن نام نباشد ، کامپيوتر A از Broadcast در شبکه ، استفاده می نمايد .
در صورتيکه Broadcast ، قادر به حل مشکل نام نگردد ، کامپيوتر A ، فايل Lmhosts را بررسی می نمايد.
در صورتيکه روش های NetBIOS فوق ، قادر به حل مشکل نام نگردند ، کامپيوتر A ، فايل Hosts را بررسی می نمايد.
در نهايت ، کامپيوتر A ، يک query برای يک سرويس دهنده DNS ارسال می نمايد . 

در بخش پنجم اين مقاله به بررسی نحوه انتقال اطلاعات خواهيم پرداخت .

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

در اين بخش به بررسی نحوه فرآيند انتقال اطلاعات خواهيم پرداخت .

TCP/IP ، بمنظور ارسال داده بر روی شبکه آنها را به بخش های کوچکتری با نام Packets ( بسته های اطلاعاتی ) ، تقسيم می نمايد. از بسته های اطلاعاتی ، بر اساس پروتکل های مرتبط با آنان با واژه های متفاوتی ياد می گردد. تقسيم داده به بسته های اطلاعاتی امری حياتی و ضروری است . ارسال حجم بالائی از اطلاعات در شبکه ، مدت زمان زيادی طول خواهد کشيد و همين امر ، باعث کند شدن شبکه می گردد. در زمانيکه حجم بالائی از اطلاعات در شبکه جابجا می گردد ، ساير کامپيوترهای موجود در شبکه قادر به ارسال اطلاعات نخواهند بود. در چنين حالتی ، اگر در فرآيند انتقال اطلاعات اشکالی بروز نمايد ، می بايست تمامی اطلاعات مجددا" ارسال شوند. در مقابل ، اگر بسته های اطلاعاتی کوچک بر روی شبکه ارسال گردند ، انتقال آنها بسرعت انجام و محيط انتقال به مدت زيادی ، اشغال نخواهد شد . در چنين حالتی در صورتيکه هر يک از بسته های اطلاعاتی با مشکل مواجه شوند ، صرفا" بسته اطلاعاتی که با مشکل مواجه شده است ، مجددا" ارسال می گردد. ( در مقابل ارسال تمام اطلاعات ) . 
زمانيکه يک بسته اطلاعاتی به لايه اينترفيس شبکه ارسال می گردد ( Network interface layer ) ، به آن فريم ( frame ) می گويند . فريم ، از بخش های متفاوتی که هر يک دارای عملکرد خاص خود در جريان انتقال اطلاعات در لايه اينترفيس شبکه می باشند، تشکيل شده است . 
فرآيند ارسال اطلاعات، شامل مراحل متعددی است ( سازماندهی داده درون بسته های اطلاعاتی در کامپيوتر مبداء و بهم بستن آنان در کامپيوتر مقصد بگونه ای که شکل اوليه مجددا" ايجاد گردد) . هر لايه از پروتکل TCP/IP ، دارای نقشی موثر در کامپيوترهای مبداء و مقصد است .

واژگان بسته های اطلاعاتی ( Packets ) 

در هر يک از لايه های TCP/IP از بسته اطلاعاتی ( packet ) با اسامی متفاوتی نام برده می شود . همزمان با حرکت يک بسته اطلاعاتی از يک لايه به لايه ديگر در پروتکل TCP/IP ، هر يک از پروتکل های مربوطه ، اطلاعات اختصاصی خود را به آن اضافه می نمايند. از بسته اطلاعاتی بهمراه اطلاعات اضافه شده به آن ، با اسامی فنی ديگر ، ياد می گردد. اين اسامی : Segment ( سگمنت ) ، message ( پيام ) ، datagram ( ديتاگرام ) و frame ( فريم ) ، می باشند . 
سگمنت . سگمنت واحد انتقال اطلاعات در TCP بوده و شامل يک TCP header است که توسط Application data ، همراهی شده است .
پيام . پيام ، واحد انتقال اطلاعات در پروتکل هائی نظير ICMP,UDP,IGMP. و ARP است . پيام شامل يک Protocol header بوده که توسط Application و يا protocol data ، همراهی شده است .
ديتاگرام . ديتاگرام ، واحد انتقال اطلاعات در سطح لايه IP است . ديتاگرام شامل يک IP header است که توسط لايه transport ، همراهی شده است .
فريم . فريم ، واحد انتقال اطلاعات در سطح لايه اينترفيس شبکه است . فريم شامل يک header است که در لايه network به آن اضافه شده است که توسط داده لايه IP ، همراهی شده است .
اجزاء يک فريم 

يک فريم ( اصطلاحی برای يک بسته اطلاعاتی در سطح لايه شبکه ) شامل سه بخش اساسی : header , data و trailer است .

Header . اطلاعات موجود در اين بخش شامل موارد زير می باشد :
يک سيگنال هشداردهنده مبنی بر ارسال يک بسته اطلاعاتی
آدرس مبداء
آدرس مقصد
Data . در اين بخش ، اطلاعات واقعی ارسال شده توسط برنامه ، قرار می گيرد. اين بخش از بسته اطلاعاتی دارای اندازه های متفاوتی است ( بستگی به محدوديت اندازه تنظيم شده توسط شبکه دارد) . بخش Data ، در اکثر شبکه ها از نيم کيلو بايت تا چهار کيلو بايت را می تواند شامل شود. در شبکه های اترنت ، اندازه داده تقريبا" معادل يک و نيم کيلو بايت است . با توجه به اينکه اکثر تنظيمات داده های اوليه ، بيش از چهار کيلو بايت می باشند ،می بايست داده به بخش های کوچکتری با نام " بسته های اطلاعاتی " ( packet ) ، تقسيم گردد. در زمان انتقال يک فايل با ظرفيت بالا ، بسته های اطلاعاتی زيادی در طول شبکه منتقل خواهند شد. 
Trailer . محتويات trailer ، ارتباط مستقيم به پروتکل استفاده شده در لايه اينترفيس شبکه دارد . trailer ، معمولا" شامل بخشی بمنظور بررسی خطاء بوده که CRC)Cyclical redundancy check) ، ناميده می شود .CRC ، عددی است که توسط يک محاسبه رياضی بر روی بسته اطلاعتی در مبداء ( فرستنده) ، توليد می گردد . زمانيکه بسته اطلاعاتی به مقصد خود می رسد ، مجددا" محاسبه مربوطه انجام خواهد شد. در صورتيکه نتايج بدست آمده ، يکسان باشد ، نشاندهنده صحت ارسال يک بسته اطلاعاتی خواهد بود . در صورتيکه ماحصل محاسبه در مقصد با نتيجه محاسبه شده در مبداء ، مغايرت داشته باشد ، بدين مفهوم خواهد بود که داده در زمان انتقال ، تغيير نموده است . در چنين حالتی ، کامپيوتز مبداء ، مجددا" داده را ارسال خواهد کرد . 

جريان انتقال اطلاعات ( از کامپيوتر مبداء تا کامپيوتر مقصد ) 

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

لايه Application 

فرآيند انتقال اطلاعات از لايه application آغاز می گردد . يک برنامه نظير FTP ، پردازش را در کامپيوتر مبداء مقدار دهی اوليه می نمايد(آماده نمودن داده به فرمتی که برنامه در کامپيوتر مقصد ، قادر به تشخيص آن باشد) . برنامه موجود در کامپيوتر مبداء ، کنترل تمامی فرآيند را برعهده خواهد داشت .

 

بخش بعد لایه  Transport  

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

لايه Transport 

از لايه Application ، داده به لايه transport منتقل می گردد. اين لايه شامل پروتکل های TCP و UDP است . برنامه مورد نظر نوع پروتکل "حمل" را مشخص می نمايد( TCP يا UDP ) . در هر دو حالت Checksum برای TCP و UDP اضافه خواهد شد. 
در صورتيکه پروتکل TCP ، انتخاب گردد :
يک دنباله عددی ( Sequence number ) به هر سگمنت منتقل شده ، اضافه خواهد شد.
اطلاعات مربوط به Acknowledgment برای يک ارتباط " اتصال- گرا" ، به هر سگمنت اضافه می شود .
شماره پورت TCP در رابطه با برنامه های مبداء و مقصد ، اضافه خواهد شد.
در صورتيکه پروتکل UDP ، انتخاب گردد :
شماره پورت UDP در رابطه با برنامه های مبداء و مقصد ، اضافه خواهد شد.
لايه اينترنت 

پس از اينکه اطلاعات "حمل " اضافه گرديد ، بسته اطلاعاتی در اختيار لايه "اينترنت " قرار داده می شود. در اين لايه، اطلاعات زير به header اضافه می گردد :
آدرس IP مبداء
آدرس IP مقصد
نوع پروتکل "حمل "
مقدار checksum
اطلاعات TTL)Time to Live)
علاوه بر اطلاعات فوق ، لايه اينترنت مسئوليت بر طرف نمودن آدرس های IP مقصد به يک آدرس MAC را نيز بر عهده دارد . پروتکل ARP ، مسئول انجام عمليات فوق ، است . آدرس MAC به header بسته اطلاعاتی اضافه و در ادامه بسته اطلاعاتی در اختيار لايه " اينترفيس شبکه " ، قرار داده می شود. 


لايه "اينترفيس شبکه " 

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


عمليات در کامپيوتر مقصد 

زمانيکه فريم ها به کامپيوتر مقصد می رسند ، لايه اينترفيس شبکه ، Preamble را حذف و مقدار CRC را مجددا" محاسبه می نمايد. در صورتيکه مقدار بدست آمده با مقدار محاسبه شده در مبداء ، يکسان باشد در ادامه آدرس MAC مقصد ، موجود بر روی فريم، بررسی می گردد . در صورتيکه آدرس MAC ، يک آدرس Broadcast و يا آدرس MAC با کامپيوتر مقصد مطابقت نمايد ، فريم به لايه "اينترنت " ، ارسال خواهد شد. در غير اينصورت فريم ناديده گرفته می شود. در لايه IP ، مجددا" Checksum محاسبه و با مقدار محاسبه شده قبل از انتقال ، مقايسه تا اين اطمينان حاصل گردد که بسته اطلاعاتی در طول مسير تغيير ننموده است . در ادامه ، IP بسته اطلاعاتی را در اختيار پروتکل "حمل" ، قرار می دهد ( TCP يا UDP ) . بمنظور تصميم گيری در رابطه با نوع پروتکل "حمل " ، از اطلاعات موجود در IP header استفاده می گردد. در لايه "حمل" ، در صورتيکه بسته اطلاعاتی از TCP دريافت شده باشد ، دنباله عددی ( sequence number ) بر روی بسته اطلاعاتی بررسی و يک acknowledgement برای TCP کامپيوتر مبداء ارسال می گردد . در ادامه از اطلاعات پورت TCP موجود در بسته اطلاعاتی استفاده تا بسته اطلاعاتی برای برنامه مربوطه در لايه Application ، ارسال گردد.
در صورتيکه UDP بسته اطلاعاتی را از لايه "اينترنت" دريافت نمايد ، از اطلاعات پورت UDP موجود در بسته اطلاعاتی استفاده تا آن را برای برنامه مربوطه در لايه Application ارسال نمايد . ( بدون ارسال يک acknowledgement برای کامپيوتر مبداء ) .
پس از دريافت اطلاعات توسط Appliaction ، پردازش های لازم و ضروری در ارتباط با آنها انجام خواهد شد.

مبحث بعدی سنگین ترین مبحث و جالب ترین قسمت است .

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

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

روتينگ IP 

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

توزيع بسته های اطلاعاتی 

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


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

ارسال اطلاعات بين روترها 

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


عملکرد لايه IP در کامپيوتر مبداء 

لايه IP ، علاوه بر افزودن اطلاعاتی نظير TTL ، همواره آدرس IP کامپيوتر مقصد را به بسته اطلاعاتی اضافه می نمايد. در موارديکه توزيع بسته های اطلاعاتی از نوع مستقيم باشد ،از ARP استفاده و آدرس MAC کامپيوتر مقصد به آن اضافه گردد . در موارديکه توزيع اطلاعات از نوع غير مستقيم باشد ، از ARP استفاده و آدرس MAC روتری که می بايست بسته های اطلاعاتی برای آن فوروارد گردد، به آن اضافه خواهد شد.

عملکرد لايه IP در روتر 

پس از دريافت يک بسته اطلاعاتی توسط روتر، لايه IP مربوطه مسئول مشخص نمودن محل ارسال بسته اطلاعاتی است . برای نيل به هدف فوق ، مراحل زير دنبال خواهد شد : 
لايه IP ، بررسی لازم در خصوص Checksum و آدرس IP مقصد را انجام می دهد . اگر آدرس IP ، مربوط به روتر باشد ، روتر پردارش های لازم در خصوص بسته اطلاعاتی را بعنوان کامپيوتر مقصد انجام خواهد داد ( IP در مقصد )
در ادامه لايه IP ، مقدارTTL را کاهش و جدول روتينگ مربوطه را بمنظور يافتن مناسبترين مسير بمنظور رسيدن به آدرس IP مقصد ، بررسی می نمايد .
در موارديکه توزيع بسته های اطلاعاتی از نوع مستقيم باشد ،از ARP استفاده و آدرس MAC کامپيوتر مقصد به آن اضافه گردد . در موارديکه توزيع اطلاعات از نوع غير مستقيم باشد ، از ARP استفاده و آدرس MAC روتری که می بايست بسته های اطلاعاتی برای آن فوروارد گردد، به آن اضافه خواهد شد .
نمامی مراحل فوق، در ارتباط با هر يک از روترهای موجود در مسير بين کامپيوتر مبداء و مقصد تکرار خواهد شد. پس از دريافت بسته اطلاعاتی توسط روتری که در همان سگمنت کامپيوتر مقصد موجود می باشد ، فرآيند تکراری اشاره شده ، متوقف خواهد شد .


Fragmentation و Reassembly

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

لايه IP در کامپيوتر مقصد 

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

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری