TCPIP1

 

                                        

                                                         

صفحه اصلي

کاربران

! یاهو

آموزش

دانلود

تماس با ما

 

 
 
 
 
 
 
 
 
 

  

        شبکه TCP / IP
 

قسمت اول

همانگونه كه انسانها براي ارتباط با يكديگربه زباني (جدا از زبان مادري ) مشترك نياز دارند , كامپيوتر ها نيز به قواعدي ( مستقل از نوع سيستم عامل ) احتياج دارند كه طبق آن قواعد بتوانند با همديگر ارتباط برقرار كنند . در ابتدا مدل OSI مورد قبول سازمان استاندارد جهاني قرار گرفت . در اين مدل وظايف و خدمات شبكه در 7 لايه تعريف شده بود :

7- لايه كاربرد (Application Layer )
6- لايه نمايش ( Presentation Layer )
5- لايه جلسه ( Session Layer)
4- لايه انتقال ( Transport Layer )
3- لايه شبكه ( Network Layer )
2- لايه پيوند داده ها ( Data Link Layer )
1- لايه فيزيكي ( Physical Layer)
در ابتدا گمان ميشد اين مدل بصورت استاندارد فراگير در تمام شبكه ها بكار گرفته شود اما به دلايلي ( از جمله انتشار رايگان برنامه هاي TCP/IP توسط دانشگاه بركلي ) اين مدل پايدار نماند و مدل TCP/IP مورد استفاده قرار گرفت و بصورت استانداردي فراگير براي ارتباط بين كامپيوترها در اينترنت انتخاب شد .
TCP/IP براي ايجاد ارتباط بين كامپيوترها ابتدا اطلاعات ارسالي از سيستم عامل مبدا را طبق استانداردهاي خودش به بسته هايي تبديل كرده و سپس در مقصد اطلاعات دريافتي را مجددا ترجمه كرده به سيستم عامل مقصد تحويل ميدهد . براي اينكار TCP/IP كه مبناي اينترنت است را به 4 لايه تقسيم كرده اند :

4- لايه كاربرد ( Application Layer )
3- لايه لايه انتقال (Transport Layer )
2- لايه شبكه ( Network Layer )
1- لايه واسط شبكه (Network Interface Layer )
لايه اول : واسط شبكه Network interface
در اين لايه استانداردهاي سخت افزاري, نرم افزارهاي راه انداز و پروتكلهاي شبكه تعريف ميشوند .
لايه دوم : شبكه Network Internet
در اين لايه بسته هاي اطلاعاتي ( كه از اين به بعد به آنها بسته هاي IP ميگوييم ) روي شبكه هدايت ميشوند تا به مقصد برسند . مهمترين پروتكلي كه در اين لايه استفاده ميشود پروتكل IP است كه ديتاگرامها (واحدهاي اطلاعاتي كه بايد تحويل مقصد شوند ) را به بسته هاي كوچكتري تبديل ميكند و پس از اضافه كردن اطلاعات لازم براي بازسازي آنها را روي شبكه ارسال ميكند .
لايه سوم : انتقال Transport
اين لايه بر اساس سرويسي كه لايه دوم ارائه ميدهد يك ارتباط مطمئن بين ميزبانها برقرار ميكند . دريافت يا عدم دريافت بسته هاي ارسالي در اين لايه مشخص ميشود. مهمترين پروتكل استفاده شده در اين لايه پروتكل TCP است .
لايه چهارم : كاربرد Application
اين لايه بر اساس خدمات لايه هاي زيرين , سرويس سطح بالايي براي خلق برنامه هاي كاربردي ارائه ميدهد .

لايه اينترنت ( IP ) :
لايه IP يك ديتاگرام را از لايه بالاتر تحويل ميگيرد , اگر طول ديتاگرام بزرگ باشد آنرا به واحدهاي كوچكتر تبديل ميكند و با اضافه كردن اطلاعات لازم آنرا در شبكه به جريان مي اندازد .پروتكل IP مجبور است قبل از ارسال بسته يك شماره شناسايي براي كل بسته و يك شماره ترتيبي براي هر قطعه در نظر بگيرد تا ديتاگرام بتواند در مقصد بازسازي شود .
در كنار پروتكل IP چند پروتكل ديگر مانند ICMP,ARP,RARP,RIP و ... وجود دارند كه در مسيريابي صحيح, مديريت خطاها و به مقصد رسيدن بسته ها به پروتكل IP كمك ميكنند .
بسته هاي IPشامل دو قسمت سرايند و ديتا ميباشند . اطلاعات موجود در سرايند مورد پردازش مسيريابها قرار ميگيرند . اين اطلاعات شامل فيلدهاي زير است :

1-
فيلد Version :
4 بيتي است و نسخه IP را مشخص ميكند . اين فيلد شامل عدد 4 يا عدد 6 براي برخي مسيريابهاست.
2-
فيلد IHL :
4 بيتي است و طول كل هدر را براساس كلمات 32 بيتي مشخص ميكند .
3-
فيلد Type of Service :
8 بيتي است و شامل تقاضاي سرويس ويژه اي براي ارسال ديتا گرام دارد .
4-
فيلد Total Length :
16 بيتي است و طول كل بسته شامل هدر و ديتا را مشخص ميكند .
5-
فيلد Identification :
16 بيتي است و براي مشخص كردن شماره يك ديتاگرام بكار ميرود.
6-
فيلد Fragment Offset :
15 بيتي و شامل دو قسمت است :
Flag :
شامل 2 بيت است يكي براي مشخص كردن قطعه نهايي ديتاگرام(MF) . 1 بودن اين پرچم به اين معناست كه قطعات ديگري نيز براي كامل كردن اين ديتاگرام لازم است و صفر بودن ان به اين معناست كه اين اخرين قطعه ديتاگرام است . بيت ديگر براي مشخص كردن اين نكته است كه ديتاگرام نبايد قطعه قطعه شود (DF) .
Fragment offset :
13 بيتي است و شماره ترتيب قطعه را براي بازسازي ديتاگرام در بر دارد . نكته مهم در اينجا اينست كه اندازه هر قطعه به استثناي قطعه پاياني بايد ضريبي از 8 باشد .
7-
فيلد Time To Live :
8 بيتي است و براي مشخص نمودن طول عمر بسته استفاده ميشود . اين فيلد حداكثر ميتواند شامل 255 باشد كه به اين معني است كه 255 مسيرياب را ميتواند طي كند .
8-
فيلد Protocol :
8 بيتي است و براي مشخص كردن شماره پروتكل لايه بالاتر براي تجزيه بسته بكار ميرود .
9-
فيلد Header Checksum :
16 بيتي و براي كشف خطا .
10-
فيلد Source Address :
32 بيتي و براي مشخص كردن IP ادرس فرستنده بكار ميرود .
11-
فيلد Destination Address :
32 بيتي و براي مشخص كردن IP ادرس گيرنده بكار ميرود .
12- فيلد Options :
حداكثر 40 بيتي واختياري است .
13-
فيلد Payload :
داده هاي دريافتي از لايه بالاتر قرار ميگيرند .
لايه انتقال ( TCP ) :
وظيفه اين لايه فراهم كردن خدماتي سازماندهي شده , مطمئن و مبتني بر اصول سيستم عامل , براي برنامه كاربردي لايه بالاتر است , بگونه اي كه ناكارآمدي لايه اينترنت جبران شود .
هر بسته TCP شامل 6 بيت پرچمه كه هر كدووم از اين بيتها مشخص كننده يه نوع بسته TCP هستند. اين بيتها عبارتند از :
1- بيت URG
2- بيت ACK
3- بيت PSH
4- بيت RST
5- بيت SYN
6- بيت FIN

بيت ACK به معني اينه كه داده هاي فيلد Aknowledgment No. معتبره . ما در اين مرحله از اين بيت در تركيب با ساير بيتها استفاده ميكنيم .
بيت SYN اين بيت هم در تركيب با بيت ACK باعث ايجاد يه ارتباط ميشه .
بيت FIN در انتهاي ارتباط و براي قطع ارتباط براي طرف مقابل ارسال ميشه .
بيت RST قطع يك طرفه ارتباط از طرف صادر كننده اين بيته . در حقيقت پاسخ به بسته هاي سرگردانه كه ما در اين مرحله از اوون نتيجه ميگيريم كه پورت مورد آزمايش بسته است .بيت URG به اين معناست كه داده هاي فيلد Urgent Pointer بايد مورد پردازش قرار بگيره . پردازش داده هاي اين فيلد در لايه كاربرد صورت ميگيره و كاري به مبحث فعلي ما نداره .
و بالاخره بيت PSH كه ست كردن اوون باعث ارسال بسته بطور مستقيم به لايه كاربرد ميشه . و در مواقع ضرورى مثل Telnet بكار ميره .
و فيلدهاي مورد استفاده :
Aknowledgment No. :
اين فيلد شماره ترتيب بايتي كه فرستنده منتظرشه رو تعيين ميكنه .
Sequence No. :
شماره ترتيب آخرين بايت بسته جاري رو در خودش قرار ميده .
براي برقراري ارتباط فرستنده يه بسته بدون اطلاعات رو با تنظيم SYN=1 & ACK=0 و عدد تصادفي x رو در فيلد Sequence No. قرار ميده و به اين وسيله به گيرنده اطلاع ميده كه بسته هاي ارسالي بعدي از طرف فرستنده از شماره x+1 به بعده .
در مرحله دوم گيرنده با دريافت بسته اول در صورت تمايل به قطع ارتباط يه بسته خالي شامل RST=1 بسمت فرستنده ارسال ميكنه و ارتباط قطع ميشه . و در صورت تمايل به بر قراري ارتباط بيتهاي SYN=1 & ACK=1 رو ست ميكنه و مقدار فيلد Aknowledgment No. رو x+1 قرار ميده و عدد تصادفي y رو در Sequence No. قرار ميده . و با اينكار به فرستنده اطلاع ميده كه منتظر ارسال بسته هاي بعدي از شماره x+1 به بعده . و خودش هم اطلاعاتش رو با شماره ترتيب y+1 به بعد براي فرستنده ارسال ميكنه .
و بالاخره فرستنده با تنظيم SYN=1 & ACK=1 و مقداردهي Sequence No.=x+1 وAknowledgment No.=y+1 اعلام ميكنه كه آماده ايجاد ارتباطه .
از اين به بعد تا ارسال بسته شامل بيت خاتمه يعني FIN ارتباط برقراره و دو ماشين بسته هاي خودشون رو با مشخصه هاي گفته شده براي همديگه ارسال ميكنن تا اينكه بسته FIN از سوي يكي از ماشينها ارسال بشه . بعد از ارسال اين بسته ماشين ارسال كننده فقط گيرنده بسته هاي طرف مقابله ( در حقيقت ارتباط يه طرفه ميشه ) تا اينكه طرف دوم هم بسته هاش تمووم بشه و بسته شامل بيت FIN رو ارسال كنه . در اين مرحله هست كه ارتباط بكلي قطع ميشه .

 

    منبع : www.redrabbit.persianblog.com

<<< Back

 

 
 
 
 
 
 
 
 
 

 

 

 

 

 

 

 

 

 

 

كليه حقوق , مربوط به سايت وحيد آنلاين مي باشد. و در هنگام استفاده از مقاله , عكس , برنامه و.. از اين سايت ذكر منبع الزامي است