يک پروتكل برای  ذخيره روی سطوح شبكه


يک پروتكل برای  ذخيره روی سطوح شبكه

 

A protocol   for

 Network Level Caching (NLC))




چكيده(abstract) : 

در اين تحقيق ، در سرويس گيرنده از TCP ( CTCP ) به عنوان يك پروتكل انتقالي جديد ( در راستاي پشتيباني از ذخيره گر شبكه اي  ( ذخيره روی  سطوح شبكه ) ياد شده است . در اين راستا CTCP از قابليت هاي لازم جهت انتقال دوباره بسته هاي اطلاعاتي تلف شده از گره هاي شبكه اي نزديك تر به سرويس گيرنده (Client )      ( به جاي فقط از  سرويس دهنده(server) ) برخوردار مي باشد .

TCP داراي قابليت هاي لازم و راندمان بالا به دليل ميزان پهناي باند مصرف شده ، تاخيرزمانی انتقال مجدد و پردازش سرويس دهنده (Server ) نمي باشد .

CTCP منجر به كاهش بيشتر در انتقالات ناكارآمد TCP بوسيله ذخيره منحصر به فرد بسته هاي اطلاعاتي در گره هاي شبكه و انتقال مسئوليت از سرويس دهنده        ( Server ) به سرويس گيرنده (Client ) مي گردد . ذخيره گر شبكه اي به وسيله CTCP منجر به كاهش ترافيك شبكه اي در نزديك Server و كاهش تاخيرزمانی انتقال مجدد بسته هاي اطلاعاتي مي گردد .

طراحي دقيق و خاص همراه با انجام جزئيات مربوط به CTCP در اين مقاله مورد بحث و بررسي قرار گرفته است . براساس آناليزهاي آماري صورت گرفته بر روي TCP و CTCP ؛CTCP از مزاياي بيشتري در قياس با TCP برخوردار است .  براساس آناليزهاي صورت گرفته ذخيره گر شبكه اي با استفاده از CTCP منجر به كاهش  88% درصدي در پهناي باند مصرفي و تاخيراضافی(انتقال مجدد) بسته هاي اطلاعاتي     مي گردد .

فهرست مطالب

عنوان     صفحه

بخش اول : مقدمه     1

بخش دوم : طراحي     4

1-2- مسيرياب ها وبسته ها    5

1-1-2- انواع بسته هاي اطلاعاتي     5

2-1-2- برش ( جداسازي ) بسته هاي اطلاعاتي و پردازش بسته هاي اطلاعات     6

3-1-2- نامگذاري منحصر به فرد بسته هاي اطلاعاتي     7

4-1-2- اندازه و سايز ذخيره گر( حافظ ذخيره )     9

2-2- پروتكل كنترل انتقال در سرويس گيرنده ( client ) [ (CTCP) ]     10

1-2-2- استقلال سرويس دهنده     11

2-2-2- برقراري ارتباط و قطع ارتباط     13

3-2-2- انتقال مطمئن داده     15

4-2-2- كنترل جريان     17

5-2-2- حالت حافظه گذرا (بافر)در سرويس دهنده     18

بخش سوم : جايگزيني     19

1-3- محيط شبكه – فعال     19

2-3- پردازش كپسول     22

3-3- پروتكل كنترل انتقال در سرويس گيرنده (Client )     23

1-3-3- مقياس اندازه گيري سرويس دهنده CTCP    24

2-3-3- مقياس كاربردي سرويس گيرنده CTCP    26

3-3-3- مقياس پروتكل سرويس گيرنده CTCP    27

1-3-3-3 كنترل جريان     28

2-3-3-3- تايمرهاي مربوط به انتقال دوباره     29

3-3-3-3- كنترل تراكم ( انبوهي اطلاعات )     30

4-3-3-3- رشته ها     31

بخش 4 : ارزيابي     32

1-4- آناليز پهناي باند     33

2-4- آناليز داده هاي پنهان     44

3-4- كاهش باركاري سرور ( سرويس دهنده )     52

بخش 5 : نتيجه گيري     55

1-5- كارهاي آتي     57

1-1-5- عمليات CTCP ( عملكرد CTCP )     57

2-1-5- پشتيبان سيستم راه اندازي براي CTCP     58

3-1-5- ذخيره گرهاي محدود شده     59

4-1-5- شناسايي ( مشخصه هاي ) CTCP     59

2-5- نتيجه گيري     60

فهرست واژه ها و اصطلاحات    61

ضميمه A : برقراري ارتباط و قطع ارتباط     63

A-1 مديريت ارتباطي TCP     63

A-2 – مديريت ارتباطي CTCP     65












جدول مربوط به شاخصها

عنوان     صفحه 

شاخص 1 : مدل انتقال مطمئن TCP    

شاخص 2 : مدل درخواست داده CTCP    

شاخص 3 : نمونه انتقال دوباره CTCP     

شاخص 4 : الگوريتم انتقال دوباره سريع تحت TCP & CTCP     

شاخص 5 : دياگرام مربوط به مقياسها ( واحدهاي اندازه گيري )    

شاخص 6 : مدل رشته هاي سرويس دهنده ( Client ) CTCP     

شاخص 7 : مدل مسيرهاي شبكه هاي N لينك     

شاخص 8 : پردازش بسته ها (توسط) سرويس دهنده Server    

شاخص 9 : برقراري ارتباط TCP    

شاخص 10 : قطع ارتباط TCP    






فصل اول : (مقدمه)


(INTRODUCTION)





پروتكل كنترل انتقال (TCP ) در اواخر دهه 1970 گسترش يافت تا به درستي و بدون گم شدن با حضور بسته اينترنتي داده را در تراكم شبكه انتقال دهد . اين پروتكل اخيراً به عنوان پروتكل انتقال استاندارد براي اينترنت شده است .TCP و ديگر پروتكل هاي انتقال قابل اعتماد بسته هاي گم شده را با يك فرستنده آشكار كننده جابه جا كرده و سپس بسته گم شده را منتقل مي كنند . TCP همچنين يك از الگوريتم كنترل تراکم ) congestion control ( استفاده كرده تا تغييراتي در پهناي باند ( به طور ديناميكي )  ايجاد نمايند. 

تا زماني كه فرستنده TCP برمبناي انتقال مجدد  بسته ها کار می کند ، كنترل تراکم  قابليت اعتماد انتقال ديتا را ضمانت مي كند, سه نارسايی وجود دارد:               

1( از آنجايی که ممکن است بسته ها در هر نقطه بين Client  و  Server گم شوند و بايد دوباره منتقل شوند بايد از بعضی قسمتهای شبكه حداقل 2 بار عبور کنند .    اين ترافيك هاي اضافي از بسته هاي داده بزرگ و مصرف  bandwidth اضافي بوجود آمده است . از آنجايی که connections TCP بايد پهنای باند در دسترس را به درستی در  اينترنت تقسيم کند , اين اتلاف پهنای باند بيش از حد, توان عملياتی را در همه  انتقال داده ها کاهش می دهد . 

 TCP (2به تاخير (latency) بسته های گم شده اضافه می کند : به وسيله درخواست از سرور برای پيدا کردن بسته گم شده وانتقال دوباره بسته از روی بخشی از شبکه که بسته پيش از اين پيموده است . تاخير زياد يک بسته  تکی بر کيفيت interactive session )  (بيشتر از عملکرد بالای انتقال حجم وسيعی ازداده ها تاثير می گذارد . 

3 ( در پايان سرور بايد براي انجام دادن كنترل تراکم زمان خاصي جهت پيدا نمودن و انتقال مجدد بسته هاي گم شده تخصيص مي دهد . اين پروسه بار اضافي را به سرور تحميل كرده و منجر به محدوديت در تعداد مشترياني كه سرور مي تواند اداره كند مي شود .

 اين پايان نامه ايده استفاده از ذخيره روی سطوح شبکه) network level caching(NLC))- جهت مبارزه با نارسايی هاي TCP را جستجو مي كند . ذخيره روی سطوح شبكه پروسه اي است كه بسته هاي داده تكي را بر روي گره هاي شبكه ذخيره مي كند . اين عمل اجازه می دهد ارسال مجدد داده به جاي اينكه از سرور فرستاده شود از گره شبكه فرستاده شود . نزديك ترين گره به client که بسته در    cache آن گره وجود دارد به عنوان منبع انتقال مجدد انتخاب می شود .

در نتيجهNLC مقدار ترافيك نزديك به سرور را كاهش مي دهد روی هم رفته تاخير انتقال مجدد را کاهش می دهد ,  به طوريکه بسته ها نياز نيست مسير کامل از سرور به client را بپيمايند . پروتكل هاي موجود مانند Snoop TCP (2) از NLC جهت بهتر کردن عملكرد شبكه هاي بي سيم استفاده كرده اند . 

اين تز ايده حافظه گره  (node caching) را جهت استاندارد سازي شبكه هاي سيم دار گسترش مي دهد . تجزيه و تحليل ما يك كاهش بيش از 88% را در فراواني bandwidth و فراواني تاخير بسته هايي كه در node caching ذخيره شده اند , نشان مي دهد .

براي اينكه مفهوم) NLC( network level caching را نسبت به استانداردهاي استاندارد حمايت كنيم يك پروتكل جابه جايي جديد مورد نياز است اين تز گسترش يك پروتكل جديد ،   Client –Side TCP (CTCP)، را شرح مي دهد كه NLC را استفاده و حمايت مي كند . تحت CTCP ، مسئوليت انتقال مطمئن از سرور به عهده ) client نزيکترين گره به (client می افتد . 

براي انجام دادن چنين کاری طرح TCP در مورد تاييد دريافت اطلاعات از شبكه  ,     ارتباطات را با طرح CTCP برای درخواست اطلاعات جايگزين می كند . در اين حالت به جاي اينكه سرور بسته اطلاعات ديگری را درصورت نرسيدن تاييد دريافت اطلاعات از طرف گيرنده  ,(Client)بفرستد client درخواست ديگری برای سرور می فرستد اگر اطلاعات را دريافت نکرده باشد . طراحي مخصوص و اجزاء كوچك جايگزاري شده مورد بحث قرار گرفته و تجزيه و تحليلي از TCP , CTCP گوياي مزاياي CTCP  مي باشد . CTCP جهت حمايت از   network level caching و كاهش بار روي سرور بوسيله درخواست كمتر پردازش برای هر بسته كه بوسيله  سرور دريافت شده است .

 فصل 2 طراحي CTCP شامل نيازهاي شبكه مانند اندازه هاي مقتضي cache و محركهايي كه در پشت انتخاب طراحي ويژه قرار دارند را ارائه مي دهد . الگوي جايگزيني CTCP كه در فصل 3 آمده در مورد خط مشي اساسي شبكه و پروسه انجام دادن بسته بحث مي كند . فصل 4 عملكرد CTCP , TCP را مقايسه و ارزيابي مي كند و در پايان فصل 5 با يک چكيده اي نتيجه گيري كرده و مسيرهاي تحقيق درآينده را مورد بحث قرار مي دهد . 










فصل دوم:( طراحي )


(DESIGN)





براي اينكه network level caching را با جابه جايي قابل اطمينان داده يكي كنيم ، گره ها بايد بتوانند بسته هاي داده را ذخيره و منتقل كنند اين شبكه جديد از لحاظ وظيفه اي نياز دارد كه گره همه بسته ها را امتحان كرده ، هر بسته داراي يك نام واحد باشد و بتواند بطور مستقل از سرور دوباره منتقل كند چيز ديگري كه در طراحي مورد توجه بودند عبارتند از برقراري و خاتمه ارتباط ، جابه جايي درست داده و سروري كه در ميان سرورهاي بزرگتر بي طرف است . 


1. 2 بسته ها و مسيريابها :                                             بنيادي ترين نياز ذخيره كردن گره شبكه وجود cache هايي است بر روي گره هاي شبكه و جريانات پروسه بسته جديد است كه در دسترس cache است . 

اخيراً مسيريابها طراحي شده اند تا بسته ها را از مبدأ شان به سمت مقصدشان بفرستند . مخصوصاً مسيرياب و سنتي شامل ذخيره گاهها ف نيستند و به پروسه بسته اضافي اجازه نمي دهند كه معلوم شوند . 2 راه حل براي مشكل محدوديتي كه براي عملكرد مسيرياب وجود دارد يافت شده است .يك انتخاب اين است كه يك louter جديد براي ذخيره شدن در سطوح شبكه بسازيم تا با احتياجات ديگر به هم بپيوندند . متناوباً يك شبكه قابل برنامه ريزي مانند يك شبكه فعال مي تواند استفاده شود . انتخاب بين اين دو مورد يك موضوع جايگزيني است كه در بخش 3در مورد آن بحث مي شود . 

بدون توجه به راه جايگزيني انتخابي ، راه حلهاي طراحي كه در زير اشاره شده براين فرض استوار است كه يك ذخيره گاه در يك slouter و توانايي انجام مخصوص فعاليتهاي بسته وجود دارد . 


1. 1. 2- انواع بسته هاي اطلاعاتي 

در كل 2 نوع بسته وجود دارد كه در پروتكل هاي جابه جايي استفاده ميشود : بسته هاي داده و بسته هاي كنترل . بسته هيا داده حاوي داده استفاده كننده كه از فرستنده به گيرنده منتقل شده است مي باشد . علاوه بر داده ، بسته هاي داده حاوي يك نام كه معمولاً يك عدد صحيح بزرگ بوده جهت شناسايي داده اي كه در بسته است مي باشد . اين نام در بالاي بسته داده قرار گرفته و براي هر بسته داده اين نام واحد مي باشد . بسته هاي كنترل ، اطلاعات پروتكل را بين فرستنده و گيرنده جابه جا مي كنند . اين اطلاعات استفاده مي شوند تا چيزهايي مثل مديريت ارتباطات ، اعتبار شبكه و كنترل تراكم را اداره كنند بر پايه پروتكل انتقالي ، بسته هاي كنترل كه براي اعتبار استفاده مي شوند مي توانند يكي از دو نوع باشند : 

احتياجات يا شناسايي ها – بسته هاي احتياجي داده بيشتري را براي فرستاده شدن درخواست مي كنند بسته هيا شناسايي دستورالعمل داده را موقعي كه به طور ضمني داده بيشتري بايد فرستاده شود تغيير مي دهند . هم نوع احتياجات دهم نوع شناسايي همچنين شامل شناساگر داده اي كه به آن برمي گردند مي باشند . 

2. 1. 2- جداسازي بسته و پروسه مربوط به آن : ( جداسازي بسته هاي اطلاعاتي و فرآيند نمودن بسته هاي اطلاعاتي ) 

فرض كنيد كه ما مي توانيم پروسه بسته اضافي براي مسيريابها براي اينكه مانند بالا عمل كنند معلوم كنيم ، ما باندها را جهت ذخيره بسته هاي داده و جهت اصلاح آنها وقتي يك بسته كنترلي دريافت مي شود تعديل مي كنيم . ما تصميم مي گيريم كه همه بسته هاي داده را كه بين آنها منتقل مي شوند ذخيره كنيم . ذخيره كردن هر بسته داده در اين معناست كه مسيريابهاي ما كمي نسبت به مسيريابهاي سنتي بلندتر شده تا هر بسته را حمل كنند زيرا آنهايي كه نياز به انتقال ندارند هم ذخيره مي شوند. يك مشق ديگر كه كارآمدتر است ممكن است جهت ذخيره كردن بسته هاي فقط وقتي گم شدن داده نسبتاً معمول است وجود داشته باشد . وقتي يك بسته توسط يك مسيرياب دريافت مي شود ، مسيرياب بسته را مانند هر داده يا يك بسته كنترلي شناسايي مي كند . اگر يك بسته داده دريافت شده است ، مسيرياب اسم را از بسته استخراج كرده و داده را در ذخيره گاه با استفاده از نام مانند يك كليد جستجوگر براي اصلاح بعدي ذخيره مي كند. براي بسته هيا كنترلي مانند احتياجات ، باند دوباره نام را از بسته ، بازيافت مي كند . اين نام بعداً مانند كليدي براي جستجو در ذخيره گاه استفاده مي شود . اگر كليدي حضور دارد يك بسته داده جديد با استفاده از داده اي كه ذخيره گاه با آن كليد پيوسته بود بنا شده است . اين بسته داده دوباره به سمت مشتري فرستاده مي شود . اگر نامي در ذخيره گاه وجود ندارد ، مسيرياب به آساني بسته كنترلي را به سمت باند بعدي مي فرستد . 

3. 1. 2- نامگذاري بسته به صورت يگانه است :                           ( نامگذاري منحصر به فرد بسته هاي اطلاعاتي)  

براي ذخيره داده به صورت موفق به عنوان يك جفت كليد – ارزش نامهاي يگانه براي هر بسته كه بين شبكه منتقل مي شود مورد نياز است . بدون يك برنامه نام گذاري ، باندها در بين شبكه قادر نخواهند بود بين بسته هاي حاوي داده از اسناد مختلف تميز قايل شوند . 

TCP يك نام منفرد كه شماره تابعيت ناميده مي شود استفاده مي كند . اين عدد به تنهايي يك بسته را در طول يك ارتباط نام گذاري مي كند . هر بسته داده متوالي يك  شماره متوالي دريافت مي كند . ( بسته ها به صورت متوالي شماره دريافت مي كند ) . 

CTCP همچنين از اعداد متوالي يگانه كه به بسته هاي داده از يك ارتباط خاص است استفاده مي كند . 

در يك برنامه ذخيره سازي شبكه هرچند فقط استفاده از شماره هاي متوالي جهت يگانه سازي بسته هاي داده خاص كافي نيست تا زماني كه بسته هاي داده در ذخيره گره حضور دارد ، آنها ممكن است توسط هر ارتباطي كه به آن گره مي رسد قابل دسترس باشند . بدون شناسايي بيشتر ، يك بسته از سند اشتباه ممكن است به خاطر تصادفات شماره هاي متوالي از حافظه ذخيره اصلاح شود . به علت نياز به يك نام منحصر به فرد براي هر انتقال داده ، CTCP احتياج داد كه سرور شناساگر را به سند وقتي كه ارتباط برقرار مي شود واگذار كند . سرور اين شناساگر سند را با محاسبه يك hash از حجم هاي سند توليد مي كند در بسياري از برنامه سرويس گيرنده  . 

FTP به فرماني گفته مي شود كه براي سرويس گيرنده FTP مشخص مي كند تا علامت # را هر بار به هنگام دريافت يا ارسال بلوكي از داده ها نمايش دهد ) 

تا زماني كه الگوريتم در هم سازي ضمانت نشده است احتمال تصادم 1 در  2 را كاهش مي دهد ، به طوري كه n اندازه بيتها در hash است . سايز hash كه براي CTCP استفاده مي شود 1 × 64 بايت است و  2 احتملا برخورد را نشان مي دهد . درهم سازي محتويات اسناد به سرور اجازه مي دهد كه نام مشابه به هر سند تا زماني كه محتويات آن تغيير كند واگذار نمايد . اين برنامه نام گذاري ديناميكي احتملا دريافت داده كهنه از يك حافظه ذخيره را كاهش مي دهد . 

علاوه براين استفاده از شناساگري كه بر محتويات سند استوار است امكانات استفاده از داده حافظه ذخيره براي ارتباطات متوالي را فراهم مي كند . ولي احتمال اين رخداد براندازه ذخيره بستگي دارد و انتظار مي رود كه كوچك باشد . 

CTCP تركيبي از شناساگر سند و شماره متوالي به عنوان نام منحصر به فرد بسته را استفاده مي كند . هر بسته اي كه با CTCP منتقل مي شود حاوي هر دو نام است بنابراين به مسيريابها اجازه مي دهند تا به طور منحصر به فردي از بسته هاي داده ذخيره به عنوان يك كليد جستجو استفاده كنند . 





4. 1. 2 – اندازه و سايز حافظه ذخيره ( Cache ) : 

پارمتر مهم در طراحي اندازه هر گره حافظه ذخيره است . اندازه حافظه ذخيره گوياي طول زماني است كه بسته ها قبل از اينكه توسط بسته هاي جديد جايگزين شوند در آنجا خواهند ماند حافظه ذخيره براي جايگزينهاي ناچيز كوچك خواهند بود امّا بايد به اندازه كافي بزرگ باشد تا جهت فرستاده شدن مجدد بسته هاي گم شده ، بسته را به مدت كافي نگه دارد . اگر بسته ها در حافظه ذخيره قبل از اينكه به آنها نيازمند شويم زياد نوشته شده اند ، حافظه ذخيره به طور كارآمدي استفاده نمي شود . بهترين اندازه يك گره حافظه ذخيره هم از لحاظ قيمت و هم عملكرد آن اندازه اي است كه بسته ها در حافظه ذخيره براي اينكه جابه جايي مجدد اتفاق بيفتد به اندازه كافي بماند . اگر انتقال مجدد لازم نيست سپس بسته به بسته هاي ورودي جديد دوباره جايگزين خواهد شد . 

بهترين اندازه حافظه مي تواند با افزايش پهناي باند مسيرياب به وسيله زماين كه طول مي كشد تا پروتكل انتقالي بسته گم شده را پيدا كرده و منتقل كند محاسبه شود . براي TCP , CTCP طول زمان تقريباً به اندازه يك فرايند تبديل فايل از يك فرمت است . تا زماني كه به فرمت ديگر به منظور مشاهده يا ويرايش آنها و سپس تبديل بهترين اندازه حافظه ذخيره به توانايي هاي پهناي باند مسيرياب بستگي دارد چندين محاسبه " back of envelope " فايلها به فرمت نخست مي تواند ساخته شود . 

مسيرياب High end casco 

Casco : پياده سازي دستور العملهاي پيچيده در طراحي يك ريز پردازنده 

High end : واژه اي براي توصيف چيزي كه از جديدترين تكنولوژي براي بهينه كردن كارايي استفاده مي كند . 

اخيراً از سرعتهاي 155 مگابايت در هر ثانيه تا 2.4 گيگا بايت در هر ثانيه قرار گرفته است . زمانهاي Round –tup براي محدوده راههاي اينترنتي نمونه از يك ميلي ثانيه كم تا صدها ميلي ثانيه به سطو ترافيكي بستگي دارد . افزايش اين پارامترها سايز حافظه ذخيره را به 1MB-200MB مي راسند . مسيرياب هاي CISCO مشابه اخيراً براي جداول مسيريابي حافظه 65MB-256MB و براي بسته هاي حافظه ميانجي حافظه 32MB-12/8MB دارند . اين اعداد نشان مي دهند كه حافظه ذخيره اخيراً بر مسيريابهاي امروزي امكان پذيرند . 


2-2 – CTCP پروتكل كنترل انتقال در سرويس گيرنده :   (Client ) 

پروتكل انتقالي كه سطوح ذخيره شبكه را حمايت مي كند نيازمند داشتن توانايي انتقال مجدد بسته داده از گره هاي شبكه منحصراً به جاي سرور است TCP ، پروتكل انتقالي كه اخيراً بر روي اينترنت استفاده مي شود براي وظيفه انتقال مجدد گره نامناسب مي باشد . بنابراين براي استفاده از مزاياي ذخيره گاه شبكه جديد در كه بخش 2.1 توضيح داده شد يك پروتكل انتقالي گسترش يافت . 



2.2.1 – استقلال سرور ( سرويس دهنده ) 

CTCP از يك برنامه انتقال بسته استفاده مي كند كه از سرور مستقل است . اين يك انحراف مهم از برنامه ارتباطي TCP است . ضمانتهاي TCP برانتقال داده كه مدل شناسايي داده ( Data – ACK ) را مورد استفاده قرار مي دهند تكيه دارد . TCP احتياج دارد كه مصرف كننده همه داده دريافت شده از سرور را با انتقال يك بسته شناسايي بشناسد . سرور به جاي آن مسئول است كه مطمئن شود داده به مصرف كننده رسيده است . شكل 1 اين موضوع را نشان مي دهد . سرور (S ) بسته داده 1 # و 2# را از طريق گره هاي 1 ، 2 ، 3 به مصرف كننده (C ) مي رساند . مصرف كننده هر بسته داده رسيده شده را شناسايي مي كند . اگر بسته داده 2 # گم شده است سرور بايد بسته را مجدداً منتقل كند تا پيدا شود . عملگرهاي TCP بنابراين به طور مستقيم اعمال سرور پيوند مي خورند زيرا سرور براي انتقال قابل اطمينان به مشتري مسئوليت پذير است . 







هرچند TCP به سرور وابسته است بايد در يك حافظه ذخيره گر شبكه استفاده شود . تا وقتي كه سرور براي آشكار كردن فقدان بسته سخت TCP مسئول است ، سرور بايد به گره متوسط توسط داده ذخيره شده بگويد كه داده گم شده است . اين اطلاعات گم شده باعث مي شود كه مسيرياب متوسط بسته را براي استفاده كردن اطلاعات ذخيره شده مجدداً انتقال دهد . ولي ، جهت آگاه كردن مسيرياب ، سرور بايد برخي ذخيره بسته كنترلي را به سمت گره بفرستد . زماني كه بسته هاي كنترل به طور نمونه خيلي كوچكتر از بسته هاي داده هستند ترافيك شبكه كاهش مي يابد . ولي مشكلات انتقال مجدد افزايش پنهان و مشكلات aveload شدن سرور با اين طرح نشان داده نشده است . CTCP اين مشكلات را با جدا كردن كامل سرور از پروسه انتقال مجدد رفع مي كند . 

براي انتقال مجدد بسته هيا گم شده بدون مداخله سرور ، CTCP مسئوليت انتقال درست را از سرور به مصرف كننده جابه جا مي كند CTCP از يك مدل داده – نياز استفاده كرده تا داده را در شبكه منتقل كند .مشتري بسته هاي درخواست را به سمت سرور فرستاده و سرور با بسته هاي داده جواب مي دهد . شكل 2 نمونه اي واضح از مكانيسم درخواست CTCP را نشان مي دهد . بسته داده 1# توسط مشتري درخواست شده و سرور پاسخ داده است . شكل 3 نشان مي دهد كه مشتري درخواست 1# را فرستاده و از بسته داده 1 # پرسش مي كند . بسته داده 1# با موفقيت درجواب مشتري براي وي فرستاده مي شود . 










Figure 2 : CTCP recust-data model


مشتري دوباره براي بسته داده بعدي از طريق درخواست 2 # سئوال مي پرسد . بسته داده 2# قبل از اينكه توسط سرور دريافت شود گم شده است . مشتري بسته گم شده را آشكار كرده ( در قسمت 2.2.2 شرح داده شده است ) و داده را دوباره درخواست مي كند . اين درخواست مجدد به طور ساده در آن با گره 3 فرستاده شده تا وقتي كه يك كپي از بسته داده صحيح در حافظه ذخيره اش ندارد . گره 2 قادر است كه درخواست را قطع كرده و بسته داده 1# را تعديل كرده از حافظه ذخيره اش مجدداً به سمت مشتري منتقل كند . براي اين كه روش انتقال مجدد به طور كارآمدي عمل كند ، نشان داده شده است كه بسته هاي درخواست در طول راه شبكه مشابه همانند بسته هاي داده منتقل شوند . 

اگر مسير نامتقارن است ، سپس درخواستها دوباره به سمت سرور به عقب برگشته ، بدون اينكه داده حافظه ذخيره پيدا شود . پذيرفتن يك راه شبكه متقارن ، تحت CTCP ، هرگره به طور موثري همانند يك سرور براي بسته هاي داده كه در طول حافظه ذخيره جاي گرفته عمل مي كند و از سرور اصلي كه به دست آمده مستقل است . 











Figure 3: CTCP retransmission example



2.2.2 – برقراري و پايان ارتباط : 

برقراري ارتباط سرويس دهنده سرويس گيرنده CTCP شبيه TCP است . براي آغاز كردن يك ارتباط بين سرويس گيرنده و سرويس دهنده ، بسته هاي متعددي پيش تر به هر انتقال داده تبديل شده اند . CTCP يك تأئيد سه وجهي جهت برقرار كردن ارتباط بين سرويس دهنده و سرويس گيرنده استفاده مي كند . تفاوت اوليه بين برقراري ارتباط TCP , CTCP اين است كه در CTCP سرويس گيرنده درخواست مي كند تا نام فايل سندي كه به عنوان اطلاعات پروتكل درخواست شده فرستاده شود . اين اطلاعات رد صدر زمينه هايي كه بسته اوليه از سرويس گيرنده به سرويس دهنده منتقل مي شود جاي مي گيرد . نام فايل بخشي از پروتكل است كه شناساگر سند مي تواند توسط سرويس دهنده اي كه در بخش 2.1.3 در مورد آن بحث شد توليد كند . اين حقيقت كه يك اسم فايل جهت برقراري ارتباط اوليه لازم است يعني CTCP بروجود نام براي داده اي كه مي خواهد انتقال يابد استوار است . TCP به عبارت ديگر شامل يك نام فايل به عنوان بخشي از برقراري ارتباط نبوده و بنابراين اين وابستگي را هم نداردهمزمان با برقراري ارتباط ، تعداد كمي از بسته ها براي خاتمه دادن به يك ارتباطي كه يكبار داده به درستي دريافت كرد مبادله مي شوند در CTCP تا زماين كه سرويس گيرنده عهده دار تعديل داده سرويس دهنده است ، سرويس گيرنده براي خاتمه دادن ارتباط از سرويس دهنده مسئول است . 

TCP به سرويس گيرنده و سرويس دهنده اجازه مي دهد كه نيمي از ارتباطشان را مستقل از يكديگر پايان دهنده در عمل ولي يك سرويس دهنده TCP پايانه ارتباط را توسط قطع با نيمي از ارتباط آغاز كرده و سپس بسته هاي پايانه سرويس دهنده را دريافت مي كند ، سرويس گيرنده مانند نمونه عمل مي كند .جزئيات بيشتر در مورد برقراري ارتباط و پايانه ارتباط در ضميمه A آمده است . 

CTCP يك ارتباط را با داشتن سرويس گيرنده و فرستادن يك بسته خاتمه به سرويس دهنده خاتمه مي دهد . سپس سرويس دهنده با فرستادن يك پيامي كه نشان مي دهد آماده دريافت است به سرويس گيرنده جواب مي دهد . ارتباط يكبار قطع شده و سرويس گيرنده از سرويس دهنده پيام آماده دريافت را دريافت مي كند. 


2.2.3 – انتقال داده قابل اطمينان 

همانند يك پروتكل انتقالي ، CTCP بايد انتقال داده قابل اطمينان را بين دو انتهايي ارتباط آماده كند . CTCP اين قابليت اطمينان را همانند TCP با پيدا كردن بسته گم شده و سپس انتقال آن انجام مي دهد . براي اينكه TCP بسته گم شده را كشف كند ، سرويس دهنده يك تايمري است كه بر پايه تخيمن زمان لازم براي اينكه بسته از سرويس دهنده به سرويس گيرنده برود و برگردد مي باشد اين تخمين با نشان دادن زمان بين فرستادن بسته داده و دريافت كردن پيام مبني بر دريافت بدست مي آيد . 

سرور از اين تخمين زمان stund –tup استفاده مي كند تا در هر زماني كه بسته فرستاده مي شود يك تايمر محافظه كار تنظيم كند . تايكمر در هر زماني كه هر بسته دريافت شود دوباره تنظيم مي شود . اگر اين تايمر جهت انتقال مجدد است در هر زمان خراب شود سپس سرويس دهنده نشان مي دهد كه بسته گم شده بود و با دوباره انتقال دادن داده جواب مي دهد . علاوه براين براي ساده كردن tumeout ( رويدادي كه نشان مي دهد مدت زمان از پيش تعيين شده بدون هرگونه رويداد ديگر سپري شده است ) . TCP همچنين معادل با الگوريتم انتقال مجدد سريع است كه توسط Jacobson جهت اجتناب از تأخيرهاي بي اساس tumeout گسترش يافت .

الگوريتم انتقال مجدد سريع TCP در طرف چپ شكل 4 نشان داده شده است . بسته 2 # گم شده و يك سوراخ در داده اي كه توسط سرويس گيرنده دريافت مي شود ايجاد مي كند . فرض براين است كه TCP فقط يك ACK ( مخفف acknowledgment ) اضافي تنها را نشان مي دهد ، سرويس گيرنده ادامه مي دهد تا بسته داده 1 # را علاوه بر دريافت بسته هاي داده 5# ، 4# ، 3 #  شناسايي كند . به محض اينكه سرويس گيرنده سومين نسخه دوتايي ACK 1# را دريافت كرده ، الگوريتم انتقال مجدد سريع اثر مي گذارد . 

سرويس دهنده نشان مي دهد كه بسته داده 2# گم شده بود و آن را دوباره منتقل كنيد . الگوريتم Fast Retsansmat تحت TCP بيان مي كند كه اگر سرويس گيرنده در يك رديف 3 تا نسخه دوتايي دريافت كند ، سرويس دهنده نشان مي دهد كه بسته گم شده بود و به سادگي تأخير نداشته و بسته را مجدداً منتقل مي كند . 

مانند TCP ، CTCP هم شيار تخمين زننده زمان را مانند يك راه براي كشف بسته گم شده نگهداري مي كند . 

CTCP ( سرويس گيرنده ) مقدار زمان بين فرستادن درخواست و دريافت داده براي درخواست و استفاده از اين داده جهت تخمين زمانهاي Staund –tup را نشان مي دهد تايمرها برمبناي اين تخمين ها براي كشف بسته هاي گم شده تنظيم شده است . به عنوان دومين مكانيزم كشف ، CTCP هم داراي يك الگوريتم Fast Retansmet است . تا وقتي كه ACK وجود ندارد سرويس گيرنده يك بسته گم شده را صادر مي كند اگر آن 3 بسته داده يا بيشتر را كه خارج از نظم هستند دريافت كند . قسمت سمت راست شكل 4 اين موضوع را نشان مي دهد . بسته داده 2# در راهش از سرويس دهنده به سرويس گيرنده گم شده است . 







Figure 4: fast retransmit algorithm under TCP & CTCP


سرويس گيرنده به طور مجهولي شروع به درخواست داده بيشتر مي كند . به محض اينكه سرويس گيرنده بسته هاي داده 5 و 4 و 3 را دريافت مي كند بدون اينكه بسته داده 2# را دريافت كند ، سرويس گيرنده نشان مي دهد كه آن گم شده بود . به محض اينكه بسته گم شده پيدا شد انتقال مجدد ساده سات – سرويس گيرنده درخواست را با سئوال كردن در مورد داده گم شده دوباره منتقل مي كند . 




2.2.4 – كنترل جريان : 

كنترل جراين يك سرويس گيرنده آرام را از Ovettun ( در انتقال اطلاعات به خطايي گفته مي شود كه در مواقعي رخ مي دهد كه وسيله دريافت كننده داده ها قادر به مديريت يا كاربرد اطلاعات با همان سرعت ارسال نيست ) بودن با يك سرويس گيرنده سريع منع مي كند . تا زماني كه سرويس گيرنده فقط يك مقدار ثابت از فضاي حافظه ميانجي را براي ورود بسته دارد ، سرويس گيرنده بايد نرخ فرستادن داده توسط سرويس دهنده را محدود كند . در TCP سرويس گيرنده مقدار حافظه ميانجي كه در هر ACK به سرويس دهند فرستاده مي شود قابل دسترس است را تبليغ مي كند . اين تبليغ پنجره كنترل جراين ناميده مي شود . 

در CTCP سرويس گيرنده كنترل جريان و انتقال بسته ها را اداره مي كند . سپس ، سرويس گيرنده لازم ندارد كه سرويس گيرنده را از پنجره كنترل جراين آگاه كند . به جاي آن ، سرويس گيرنده تعداد درخواستهايي كه به سرويس دهنده فرستاده مي شود را به سادگي محدود مي كند . بنابراين براي جايگزيني كنترل جريان ، CTCP فقط تعداد بسته داده كه مي تواند در حافظه ميانجي داخلي ذخيره شود را نشان مي دهد. 


2.2.5 – حالت حافظه ميانجي سرويس دهنده : 

يك سرويس دهنده TCP فقط احتياج دارد كه فضاي حافظه ميانجي كافي نگهداري كند تا بخشي از سندي كه سعي مي كند بفرستد را حمل كند اين حافظه ميانجي مي تواند براي بخشي از سند بعد از اينكه همه داده كه فرستاده شده اند شناسايي شدند دوباره استفاده شود . طراحي اوليه CTCP به هر حال به يك سرويس دهنده CTCP احتياج دارد تا يك حافظه ميانجي بزرگتر را نگهداري كند . CTCP اخيراً به سرويس گيرنده اجازه نمي دهد كه سرويس دهنده را در مورد دستور العمل داده آگاه كند . 

سرويس گيرنده فقط داده بيشتر درخواست مي كند . تا زماني كه سرويس دهنده اگر سرويس گيرنده هر داده اي دريافت كرده است نمي تواند بگويد آن نمي تواند از حافظه ميانجي كه حاوي داده سند از خارج شود . بنابراين سرويسگيرنده بايد به سمت سند كامل حمل شده تا سرويس گيرنده ارتباط را قطع كند ، راه حل اين مشكل اين است كه سرويس گيرنده علاوه براين كه داده دريافتي سرويس گيرنده را بشناسد داده جديد درخواست دهد . اين به سرويس دهنده اجازه مي دهد كه حافظه ميانجي اش را مانند TCP هوشمندانه تر اداره كند . 








فصل سوم: (جايگزيني)


 (IMPLEMENTATION)




اين قسمت جايگزيني الگوي جاري CTCP را توضيح مي دهد . اين در Java نوشته شده و در شبكه فعال مبتني بر ANTS اجرا مي شود .و قابليت برنامه ريزي شبكه كه با ANTS تهيه شده براي جايگزيني و بازيابي ذخيره گاه بسته كه PCT احتياج دارد تا در گره هاي شبكه انجام دهد، قطعي بود . 


3.1 – محيط شبكه فعال 

هدف طراحي و جايگزيني CTCP اين است كه از مزاياي ذخيره كردن در سطح شبكه استفاده شود. همانطور كه در بخش 2.1 اشاره شد براي ذخيره كردن بسته ها در مسيريابها ، لازم است مشخص كنيم مسيريابها توانايي انجام پروسه اضافي را دارند . علاوه برآن ، مسيريبها لازم است حافظه را مانند يك حافظه ذخيره براي بسته هاي داده 

تخصيص دهند . 

مسيريابهايي كه در اينترنت قرار دارند از اين ظرفيت ها برخوردار نيستند . در حقيقت نقش شمارش در بين شبكه هاي بسته تقديمي مثل اينترنت ، بسيار محدود است . هرچند مسيريابها در شبكه هاي قديمي ممكن است تيتر يك بسته را اصالح كنند ف مانند زمان زندگي كردن فيلد ، آنها به طور مبهم بدون آزمايش كردن يا تغيير دادن داده استفاده كننده را منتقل مي كنند . 

يك راه حل جهت محدود كردن عملكرد در بين تكنولوژي مسيرياب جاري اين است كه مسيريبهاي جديدي بسازيم كه شامل همه قابليتهاي جديد كه خواستار بوديم باشد . اين مورد به خاطر غير عملي بودن و احتمال گران بودن تجربه كردنش رد شد . تحقيق جديد رد شبكه هاي فعال مش ديگري كه منعطف است را ارائه مي دهد . در يك شبكه فعال ، مسيريابهاي شبكه قابل برنامه ريزي بوده و شمارش هاي اختصاصي شده را بروي بسته هايي كه در طول آنها رفت و آمد مي كنند انجام مي دهد . اين شبكه ها در مفادي كه گره ها مي توانند شمارش ها را انجام دهند و محتويات بسته را اصلاح كنند فعال مي باشند . تا زماني كه شبكه هاي فعال در ذخيره كردن در سطح شبكه كوتاهي مي كنند ، طبيعت قابل برنامه ريزي آنها اجازه مي دهد كه عملكردي كه خواهان آن هستيم اضافه شود . راه حل شبكه فعال به خاطر اينكه ذاتاً انعطاف پذير بود و اينكه در آزمايشگاههاي ما قابل دسترسي بود انتخاب شد . به همين دليل ، CTCP بر روي يك الگوي شبكه فعال به نام ANST جايگزين شد . ( سيستم انتقال شبكه فعال ) [13 ] . 

ANTS : 2 عملكرد مهم را با توجه به ذخيره كردن سطح شبكه جايگزين مي كند . اول اينكه ، ANTS به پروتكل اجازه مي دهد كه يك مسيرعادي برايهر نوع بسته در پروتكل پيدا كند . اين تركيب بسته داده و مسيرعادي پردازش بسته يك پوشش ( كپسول ) در پردازش بسته ANTS ناميده شد . مخصوصاً موقعي كه يك كپسول در يك گره فعال وارد مي شود ، گره ، مسيرعادي پردازشي كه با نوع كپسول رسيده پيوند زده شده است را مي سازد . دومين قسمت برجسته ANST وجود ذخيره گر است كه مانند يك حافظه ذخيره با حالت موقت سازمان يافته است حافظه ذخيره از گره هايي تحت نام Node cache قابل دسترسي است . 

2 روش براي عمل كردن برحافظه ذخيره وجود دارد : به دست آوردن (  ) و قرار دادن (  ) روش قرار دادن به alject اجازه مي دهد كه مانند يك كليد مقدار وارد حافظه ذخيره مي شود در حاليكه روش بدست آوردن موضوعاتي كه با كليد ويژه به هم پيوسته اند را اصلاح مي كند . اين روشها با مسيرهاي عادي پردازش كپسول جهت ذخيره كردن و اصلاح كردن داده استفاده شدند . 


3.2 – پردازش كپسول : 

جايگزيني CTCP به تعريف 2 نوع كپسول احتياج دارد . كپسولهاي درخواست (   ) 

و كپسول هاي داده (   ) هر دو نوع كپسول يك جريان عادي پردازش كه تخمين ناميده مي شود جايگزين مي كند . هر زمان كه يك گره يك كپسول دريافت مي كند ، هر نوع كپسولي كه دريافت كرده باشد ، روش ارزيابي ناميده مي شود . نام گذاري ارزيابي به CTCP اجازه مي دهد كبه دستورالعمل كپسولهاي درخواست و داده توسط هر گره فعال پاسخ دهد . 

كپوسلها داده محتوي داده استفاده كننده كه بايد منتقل شود و از سرويس دهنده به سرويس گيرنده فرستاده شده مي باشد . وقتي كه يك كپسول داده توسط يك گره فعال دريافت مي شود يك جريان عادي حمل براي CTCP Data capussle ناميده مي شود . به جاي اينكه به راحتي كپسول به سمت مقصد برود روش ارزيابي يك كپي از كپسول داده در حافظه ذخيره گره ذخيره مي كند . براي بهينه كردن ، كپسول در گره هاي سرويس دهنده سرويس گيرنده تا وقتي كه اين دو گره هر يك از دو منبع يا مقصد داده  حضور دارند ذخيره نشده است . 

كپوسلهاي درخواست حاوي اطلاعات كنترل بوده كه جهت اداره كردن انتقال مطمئن داده استفاده مي شوند . سرويس گيرنده كپسولهاي درخواست را به سرويس دهنده مي فرستد تا براي داده پرسش كند . سرويس دهنده مسئول پاسخ دادن به درخواستهاي سرويس گيرنده است . مسير جاري حمل براي كپسولهاي درخواست نيم ديگر رويه ذخيره كردن را انجام مي دهد . روش ارزيابي براي كپسولهاي درخواست در حافظه ذخيره گره جهت كپسولهاي داده درخواست شده مشاهده مي شود . اگر هرگونه ورودي پيدا شود سپس CTCP Data capule از حافطه ذخيره دريافت مي شود . اين منبع كپسول داده جديد و آدرسهاي مقصد و با توجه به درخواست دريافت شده تنظيم شده است اگر هيچ ورودي معادلي در حافظه ذخيره دريافت نشد ، كپسول درخواست به راحتي به سمت گره بعدي حركت مي كند . 


3.3 – پروتكل كنترل انتقال Client – side                           ( در كامپيوتر سرويس گيرنده ) 

زماني كه ذخيره كردن در گره هاي شبكه سرويس دهنده جهت گسترش عملكرد پروتكل انجام مي شود ، اين پردازش نقطه پايان در سرويس دهنده و سرويس گيرنده است كه صحت و درستي CTCP را تأمين مي كند . در جايگزيني جاري CTCP فقط يك راه انتقال داده از Server به سمت سرويس گيرنده جايگزين شده است . در اين مدل سرويس گيرنده براي يك سند سئوال كرده و سرويس دهنده پاسخ مي دهد . در يك جايگزني كامل سرويس گيرنده و سرويس دهنده جمع شده تا از مدل انتقال داده دو راه حمايت شود . سرويس دهنده نياز دارد تا از سرويس گيرنده درخواست ها را بگيرد ، داده درخواست را بدست آورد و با فرستادن كپسول داده جواب دهد . اين عملكرد همانند يك مدول منحصر به فرد جايگزين شد ، CTCP Server applaction  ناميده شده و در قسمت راست شكل 5 نشان داده شده است . يك سرويس گيرنده CTCP وظايف خيلي بيشتري نسبت به سرويس دهنده دارد . سرويس گيرنده درخواستها را توليد كرده و آنها را به سرويس دهنده مي فرستد ، تا زماني كه تايمر tumeout را وقتي كپسول فرستاده شد تنظيم كند . سرويس گيرنده همچنين بايد هر داده را كه خارج از نظم فرستاده شده دوباره منظم كند و هر داده اي كه دو جزئي كه دريافت شده است را مسكوك بگذارد . 

براي نگهداري از كاربردهاي مستقل و پروتكل به صورت عملكردي ، جايگزيني سرويس گيرنده به سطح پروتكلي و سطح كاربردي تقسيم شده كه در سمت چپ شكل 5 نشان داده است .  












Figure5 : meduale diagram



¬¬¬¬3.3.1  -مدل سرويس دهنده CTCP                                     )مقياس اندازه گيري سرويس دهندهCTCP (

مسئوليت اوليه سرويس دهنده پاسخ دادن به درخواستهاي سرويس گيرنده است . وقتي سرويس دهنده يك كپسول درخواست از سرويس گيرنده دريافت مي كند با كپسول داده پاسخ مي دهد . سرويس دهنده همچنين برقراري ارتباط را اداره مي كند . تنها موردي كه اين وظايف را جايگزين مي كند CTCP Server application ناميده شده و تا وقتي كه اكثر عملكرد CTCP توسط سرويس گيرنده انجام مي شود كوچك و ساده است . سرويس گيرنده جايگزين شده يك رشته منفرد كنترلي استفاده مي كند . اين امكان پذير است چون سرويس دهنده فقط يك عمل درخواست – پاسخ احتياج دارد . براي هر كپسول درخواست كه از سرويس دهنده دريافت مي شود ، سرويس دهنده با يك كپسول داده كه محتوي داده درخواستي است پاسخ مي دهد . 

براي اينكه قادر به سرويس دادن به تعداد زيادي سرويس گيرنده در يك زمان باشد ، سرويس دهنده يك ليست از ارتباطات كه باز هستند را نگهداري مي كند . سرويس دهنده ترك ارتباطات را با استفاده از Java كه CTCP Server connection ناميده مي شود نگهداري مي كند . هر مورد ارتباطي به طور منحصر به فردي در 3 زمينه معلوم شد : آدرس سرويس گيرنده ، پورت مشتري ، مشخص كننده ارتباطات كه توسط سرويس گيرنده انتخاب شده است . هر بسته اي كه از سرويس گيرنده به سرويس دهنده فرستاده مي شود حاوي 3 زمينه بوده كه به سرويس دهنده اجازه مي دهد كه منحصراً ارتباط را براي كپسول داده شده مشخص كند . 

براي دريافت كپسولها از شبكه اساسي ، ANTS از سرويس دهنده درخوسات مي كند كه مدل دريافت شده را جايگزين كند . 

در سرور CTCP ، روش meceive معلوم مي كند كه كدام ارتباط كپسول توسط جستجو در بين ليست ارتباطي است . در حالي كه xecelve ( ) ارتباط را معلوم مي كند نوع كپسول ورودي را هم معلوم مي كند . اگر كپسول از نوع كپسول ورودي است ، عمل recvrequest (  ) ناميده مي شود . به جز براي كپسولهايي كه لازم دارند ارتباطات را شروع كرده و خاتمه دهند ، سرويس دهنده بايد فقط كپسولهاي درخواست را دريافت كند . هر نوع كپسولهاي ديگر كه دريافت مي شود خطا توليد مي كند . 

رويه recvrequest بخش پروتكلي سرويس دهنده را انجام مي دهد . در ابتدا تأئيد مي كند كه داده درخواست شده توسط كپسول در محدوده داده واقعي است . اين تأئيد با مقايسه شماره متوالي درخواستي با اندازه حافظه ميانجي داده استفاده كننده كه در محل ارتباطات جمع شده انجام مي شود . بعد از اعتبار داده درخواست شده تائيد شد ، يك كپسول داده جديد توسط سرويس دهنده به وجود مي آيد . داده سپس بر روي كپسول كپي شده و براي سرويس گيرنده پس فرستاده مي شود . مدلو سرويس دهنده CTCP جهت قبول درخواستها و توليد بسته هاي داده اعتباري با استفاده از 2 تابع اوليه ، دريافت و mecvRequest مشاهده مي شود . 

3.3.2 – مدل كاربردي سرويس گيرنده CTCP : 

يك پروتكل (CTCP client Service ) ظرفي انتقال قابل اطمينان را براي مورد كاربردي ( CTCP clinet … ) فراهم مي كند . در الگوي جايگزيني CTCP ، ما يك كاربرد ساده نوشته ايم كه به استفاده كننده اجازه مي دهد يك فايل از سرويس دهنده اصلاح كند به استفاده كننده اجازه داده شده هر دو نام فايل را براي اصلاح از سرويس دهنده و نامي كه آن را روي سيستم محلي ذخيره كرده مشخص كند . 


3.3.3 – مدول پروتكل سرويس گيرنده CTCP : 

مدول پروتكل سرويس گيرنده CTCP عملهاي چندگانه را انجام مي دهد . اول ، مورد پروتكل براي انتقال صحيح داده از سرويس دهنده مسئول است . دوم پروتكل يك رابطي را بين مكانيزم انتقال صحيح و كاربردها فراهم مي كند . درخواست سرويس گيرنده دسترسي را براي پروتكل سرويس گيرنده با استفاده از 2 روش آماده كرده است : connect( ) )&  recv( اين روشها به درخواست اجازه مي دهند كه يك ارتباط با سرويس دهنده به وجود آورده و داده را منتقل كند . 

رويه اتصال كردن يك ارتباط را از سرويس گيرنده به سرويس دهنده آغاز مي كند . درخواست ، آدرس IP ) Internet Protocol ( را مشخص كرده و شماره پورت سرويس دهنده به خوبي نام راه فايل اصلاح مي شود . روش اتصال با استفاده از برقراري ارتباط متوالي كه در بخش 2.2.2 و ضميمه.A A بحث شد به سرويس دهنده متصل مي شود . 

يك شناساگر ارتباطي به سمت درخواست برمي گردد تا ارتباطات واضح را مشخص كند . 

همزمان با اتصال سرويس گيرنده به سرويس دهنده ، درخواست ، داده اصلاح شده را از سرويس دهنده با صدا زدن روش پروتكل( ) recv شروع مي كند . موقعي كه recv( ) صدا زده شد ، سرويس گيرنده شروع به درخواست داده از سرويس گيرنده شده و از روش) recv( برنمي گردد تا موقعي كه همه داده از سرور دريافت شود يا حافظه ميانجي استفاده كننده پر شود . در طي تماس با( ) recv وظيفه سرويس گيرنده به 3 وظيفه اصلي تقسيم مي شود ، كنترل جراين بسته ، تايمرهاي دوباره انتقالي و كنترل تراكم ( ترافيك ) 


3.3.3.1 كنترل جريان 

كنترل جريان تعداد درخواستهاي معوق كه مي تواند به سرور فرستاده شود با محدود كردن فضاي حافظه ميانجي سرويس گيرنده محدود مي كند . پنجره كنترل جريان به طور ساده كه مقدار فضاي حافظه ميانجي اختصاص داده نشده به سرويس گيرنده است . هر درخواست بيرون رونده فضاي كافي در حافظه ميانجي داخلي سرويس گيرنده CTCP جهت حمل داده درخواست شده در نتيجه كاهش پنجره كنترل جريان اختصاص مي دهد . وقتي يك كپسول داده توسط سرويس گيرنده دريافت شد ، آن داده را از كپسول بر روي فضاي حافظه ميانجي اختصاص داده شده توسط كپسول درخواست معادل كپي مي كند . سپس بر روي حافظه ميانجي استفاده كننده كه توسط درخواست در تماس ب( )اrecv حمايت شده كپي مي شود . در اين نقطه فضاي حافظه ميانجي قبلاً حاوي داده اي است كه به خاطر تخصيص نيافتن علامت زده شده و براي استفاده مجدد براي كپسولهاي داده ورودي مي باشد . تا موقعي كه فضاي حافظه ميانجي در حال حاضر به راحتي در دسترس است ، پنجره كنترل جريان سرويس گيرنده افزايش داده شده و به درخواستهاي بيشتر اجازه فرستاده شده به سرور را مي دهد . 


3.3.3.2 – تايمرهاي انتقال مجدد 

در جايگزيني CTCP ، تايمرهاي انتقال مجدد با استفاده از شمارنده براي هر ارتباط جايگزين شده است . هر شمارنده تعداد نيمي از زمانهايي كه مقتضي شده است تا يك بسته توسط سرويس گيرنده دريافت و يا فرستاده شود را بيان مي كند . هر 500ms يك سرويس گيرنده شمارنده ارتباط را بهبود داده و مقادير آنها را با آستانه timeout ارتباطي مقايسه مي كند . اگر يك شمارنده بيشتر از مقدار timeout ارتباطي باشد ، CTCP معلوم مي كند كه يك كپسول در برخي جاها گم شده ودرخواست مقتضي را دوباره منتقل مي كند . 

براي تنظيم مقدار timeout براي هر ارتباط سرويس گيرنده نياز دارد تا زماني كه طول مي كشد بسته داده از سرويس گيرنده به سرويس دهنده برود و سپس جواب دريافت كند ارزيابي كند . اين ارزيابي ، تخمين زمان staund tup توسط سرويس گيرنده با استفاده از روشي شبيه مورد limeoutamp TCP [ 12 و 11 ] محاسبه شده است . هر كپسول درخواست كه سرويس گيرنده به رور مي فرستد به زمان جاري قبل از انتقال محكم شده است . وقتي اين كپسول دريافت شد ، سرويسگيرنده از تفاوت بين زمان جاري و tomestamp كپسول جهت نگهداري ارزيابي max زمان sound –temp كه لازم است استفاده مي كند . تخمين در دو قسمت در 2 بخش ثبت شده است:متوسط يكنواخت شده و انحراف بامعني (mean devialien ) 

مرحله اول براي نگهداري اين آمارها محاسبه كردن خطاها با كم كردن زمان sound –tup و كنوني از مقدار قبلي براي متوسط است سپس متوسط يكنواخت شده با گرفتن متوسط قبلي و افزودن   خطا محاسبه مي شود . انحراف با معني با افزودن   تفاوت بين مقدار كامل خطا و مقدار قبلي براي انحراف با معني به روز مي شود . تايمر انتقال مجدد براي يك مقدار محافظه كار مربوط به اين آمارها تنظيم مي شود مقدار timeout جديد با ميانگين 4+ برابر انحراف با معني تنظيم شده است . براي تنظيم تايمر براي اين مقدار ، سرويس گيرنده احتمال انجام يك انتقال مجددي كه لازم نيست را از طريق بسته هيا تاخير افتاده در شبكه كاهش مي دهد . 

3.3.3.3 كنترل تراكمي 

  سرويس دهنده CTCP با استفاده ازالگوريتم مشابهي كه به وسيله TCP               [ 12 و 11 ] استفاده شد كنترل تراكمي را جايگزين مي كند . سرويس دهنده از يك پنجره تراكمي و ورودي اوليه آرام براي هر ارتباط نگهداري مي كند . پنجره تراكمي تعداد درخواستهاي فرستاده شده به سرور كه در مدل مشابه مانند پنجره كنترل جريان قرار دارد را محدود مي كند . هر وقت كه     ewnd كمتر از ssthresh است . 

سرويس دهنده به آرامي شروع به انجام كار مي كند . در طي شروع آرام ، cwnd 

توسط يكي از هر كپسول داده دريافت شده توسط سرويس دهنده بهبود يافته مي شود . اين موجب مي شود كه سرويس گيرنده تقريباً نرخ درخواستش را افزايش دهد . 

وقتي تراكم اتفاق مي افتد نيمي از اندازه پنجره جراين ( با حداقل 2 ) در ssthresh نگهداري مي شود .علاوه براين اگر تراكم با timeout نشان داده شود ، cwnd دوباره تنظيم شده و يك كپسول به آن وسيله مجبور به شروع آرام مي شود .  


3.3.3.4 threads ( رشته ها ) 

به علت اينكه نشان دادن timeouts ضروري است ، سرويس گيرنده CTCP با استفاده از رشته منفرد جايگزين نشده است . ANTS طراحي شده تا پروتكل هر وقت يك كپسول را باصدا زدن روش secive وپروتكل دريافت شده بودكنترل كند.

براي جايگزين كردن عملكرد كه مستقلاً از رسيد كپسولها اتفاق مي افتد ، لازم است رشته جدايي از كنترل استفاده شود . پروتكل سرويس گيرنده CTCP يك رشته دست دوم احتياج دارد تا وقتي كه ممكن است لازم باشد كپسولها دوباره منتقل شوند تا وقتي كپسول دريافت نشده است . 

شكل 6 مدل رشته اي كه در جايگزين كردن سرويس گيرنده CTCP استفاده مي شد را نشان مي دهد . 









Figure6 :CTCP client thrading model


رشته گره در هر زمان كه كپسول دريافت مي شود xeceive ناميده مي شود . 

ANTS اين اجبار را تحميل مي كند كه وقتي يك كپسول توسط روش پروتكل 

xecive پردازش مي شود ، هيچ كسپول ديگري دريافت نمي شود . اين اجبار يك برگشت سريع از xeceive را ايجاب مي كند . بنابراين روش xeceive (   )  به راحتي داده را از كپسول داده كپي كرده و شماره هاي متوالي ارتباط را به روز مي كند . مخصوصاً هيچ كپسولي بدون درخواست فرستاده نمي شود . به جاي اين ، يك رشته دست دوم ، يك پروتكل ، يك حلقه نشان دادن temoeuty اجرا شده و هر داده اي كه لازم است فرستاده مي شود . اين رشته از دستورالعملي كه recv ناميده مي شود سرچشمه مي گيرد . 







بخش چهارم: (ارزيابي)

(EVALUATION)



سرويس گيرنده TCP و ذخيره گر شبكه اي در سه مرحله مورد ارزيابي و تجزيه و تحليل قرار گرفته است .در ابتدا يك تجزيه و تحليل تئوريكي بر اساس ميزان تاثير ذخيره گر شبكه اي بر روند انتقال داده ها صورت پذيرفته است . از اين نوع تجزيه و تحليل جهت بررسي روند بهبود قابليت جابجايي پنهان دسته هاي اطلاعاتي استفاده مي شود . در پايان به مقايسه جريان فرآيند نمودن دسته هاي اطلاعاتي CTCP و TCP پرداخته شده است . 


1. 4 - آناليز و تجزيه و تحليل براساس Band width                 ( پهناي باند ) 

يكي از اهداف استفاده از ذخيره گر شبكه اي كاهش حجم عبور و مرور (ترافيك ) در لينكهاي شبكه اي نزديك سرويس دهنده ( Server ) مي باشد . در اين ميان در اثر ذخيره بسته هاي اطلاعاتي در هر گره ( ميان سرويس گيرنده و سرويس دهنده ) از حجم عبور و مرور در لينكهاي شبكه اي كاسته مي شود . در صورت از بين رفتن اطلاعات مذكور نيازي به انتقال دوباره اطلاعات از سرويس دهنده (Server ) نمي باشد . جهت توجيه و ارزيابي تاثير استفاده از ذخيره گر شبكه اي (network node catching ) در پهناي باند (Band width ) نياز به طراحي مدلي جهت ارزيابي اتلاف بسته هاي اطلاعاتي در انتقال دهنده هاي CTCP و TCP مي باشد . از مدل مذكور جهت تعيين تعداد پرش هاي (hop ) موجود در هر بسته اطلاعاتي در TCP و CTCP استفاده شده ، براساس بررسي هاي صورت تعداد پرش كمتري در CTCP در مقايسه با TCP وجود دارد . ( از جمله عوامل موثر در اين امر كاهش در پهناي باند در هر فرآيند انتقال بسته اطلاعاتي مي باشد ) . 

جهت مقايسه پهناي باند مورد استفاده توسط CTCP , TCP از مدل شبكه اي اتلاف بسته هاي اطلاعاتي استفاده مي شود . مدل مذكور در شكل شماره 7 نشان داده شده است . در اين راستا سرورها ( سرويس دهنده ها ) به سرويس گيرنده ( Clinet ) بواسط مسيرياب هاي مياني n-1 متصل ( مرتبط ) مي شوند . 

مسيرياب ها منجر به شكل دهي مسير n لينك ( Link ) ( توسط لينكهاي طي شده توسط بسته هاي اطلاعاتي فرستاده شده از سرويس گيرنده به سرويس دهنده و بالعكس ) مي گردند . 

در اين ميان جهت برقراري ارتباط با CTCP , TCP مي بايست مسير شبكه در مدت ارتباط به طور ثابت ( بي تغيير ) بماند . در هر لينك ، احتمال از بين رفتن بسته هاي اطلاعاتي در اثر ايجاد تراكم در مسيرياب ها بوده ، ميزان احتمال از بين رفتن اطلاعات در لينك هاي مشابه با P نشان داده مي شود . در اين راستا ميزان اتلاف بسته هاي اطلاعاتي در لينك ها به طور مستقل از هم بوده و از هم پاشيده شدن بسته هاي اطلاعاتي( شكافت ) منجر به اتلاف بيشتر بسته هاي اطلاعاتي در هر رديف مي شود . 

جهت بررسي ميزان اتلاف بسته هاي اطلاعاتي ( در اثر اعمال شكافت ) مي بايست ميانگين اتلاف بسته هاي اطلاعاتي در كل زمان ارتباط محاسبه شود . مدل مذكور براساس يك فرآيند برنولي ( با n آزمايش در زمينه ميزان اتلاف بسته هاي اطلاعاتي ) و با در نظر گرفتن احتمال وقوع اتلاف بسته هاي اطلاعاتي (P ) طراحي شده است . 






Figure 7 : model of an N-link network path


در زير رابط ميان P و  ( احتمال وقوع اتلاف بسته هاي اطلاعاتي در هر جاي از مسير ) نشان داده شده است . 

 

داده هاي مبادله شده در اينترنت بوسيله پاكسول (Paxson ) مورد بررسي قرار گرفته و از داده هاي حاصله جهت تعيين مقاديرP و    استفاده مي شود . مطالعات و بررسي هاي صورت گرفته در زمينه ترافيك ( حجم عبور و مرور ) در انتقال دهنده هاي TCP در طول مسيرهاي مختلف اينترنتي ( شامل لينك Trans-Atlantci ميان آمريكا و اروپا ) بوده است . 

براساس بررسي هاي صورت گرفته در تقريباً 50 درصد از كل ارتباطات شاهد اتلاف بسته هاي اطلاعاتي نمي باشيم . ( ما بقي اتلاف بسته هاي اطلاعاتي مي بايست حداقل در يك بسته اطلاعاتي صورت پذيرد ) . 

نمونه هايي از اتلاف بسته هاي اطلاعاتي در مدت ارتباطات روزانه [ ( به طور ناخودآگاه ) كه داراي حجم زيادي از بسته هاي اطلاعاتي تلف شده هستيم ] و شبانه [ داراي حجم ناچيزي از بسته هاي اطلاعاتي تلف شده هستيم ] ديده شده است . ( به خصوص در ساعات اوليه روز ) . 

در حدود 50 درصد از ارتباطات مقدار متوسط 4 تا 17% از بسته هاي اطلاعاتي تلف مي شوند . بيشترين ميزان اتلاف بسته هاي اطلاعاتي در لينك Trans-Atlantic ( ميان آمريكا و اروپا ) اتفاق مي افتد . در ارتباطات داخلي آمريكا بتنهايي داراي 4/4 درصد اتلاف اطلاعاتي ( بتسه هاي اطلاعاتي ) هستيم . 

محدوده طولي مسيرها درشبكه ( n ) بوسيله اندازه گيري بسياري از مسيرهاي اينترنتي

( داراي طول جغرافيايي مختلف ) تعيين مي شود . به عنوان مثال متوسط طول مسير ميان كامپيوترهاي موجود در آزمايشگاه هاي كامپيوتر دانشگاه MIT و سرور اصلي شبكه MIT 5 لينك بوده ، در اين ميان فاصله سرور اصلي شبكه MIT و بار كلي در حدود 14 لينك است . 

مسيرهاي مربوط به شبكه Trans atlantic مقدار كمي بيشتر از مسيرهاي فوق ( مذكور ) مي باشد . ( در اين راستا پرش ها از طريق لينكهاي مجرد انجام مي گيرد ) . جهت انجام بررسي هاي لازم نياز به توجه زيادي به ارتباطات داخلي آمريكا ( us ) مي باشد . براساس معادله 1 و نتايج پاكسون در مسير شبكه ارتباطات داخلي آمريكا داراي 4/4 درصد اتلاف بسته هاي اطلاعاتي هستيم . ( برابر با  ) و در اين ميان ميزان احتمال اتلاف بسته هيا اطلاعاتي در يك لينك مستقل برابر با 89% درصد ( در مسيرهاي شبكه كوتاه n = 5 ) و 30% درصد براي مسيرهاي بلندتر ( n =15 ) مي باشد . 

هدف كلي از آناليز و تجزيه و تحليل باند وسيع مقايسه تعداد كل hop هاي اضافي ( hop : به قسمتي از مسيريابها اطلاق مي شود كه در شبكه پراكنده است ) (TRH ) موجود در بسته هاي اطلاعاتي منتقل شده بوسيله TCP با CTCP مي باشد . در اين راستا تعداد كل hop هاي اضافي براساس تعداد لينكهاي يك بسته اطلاعاتي تعريف مي شود . در حالت عادي با فقدان ( اتلاف ) بسته هاي اطلاعاتي روبرو نبوده در نتيجه مقدار TRH برابر صفر است . مقادير TRH بپيش بيني شده بيشتر از صفر بوده و با توجه به تعداد اتلاف بسته هاي اطلاعاتي سنجيده مي شود . 

مقدار كل hop (TH  ) براساس تعداد كل hop هاي موجود در يك بسته اطلاعاتي ( منتقل شده به سرويس گيرنده ) براي TCP و CTCP محاسبه مي شود . در اين ميان همواره مقدار TH بيشتر از TRH بوده و براساس طول مسير شبكه سنجيده مي شود . (TH = TRH +n ) از جمله دلايل اصلي اين امر مي توان به عدم توجه به hop هاي لازم جهت انتقال بسته هاي اطلاعاتي به سرويس گيرنده ( توسط TRH ) اشاره نمود . 

در اين راستا TH به بررسي و اندازه گيري كليه فوائد ( مزاياي ) ذخيره گر شبكه اي پرداخته و TRH نمايانگر موارد استفاده ناكارآمد از پهناي باند (band width ) مي باشد . با توجه به TRH موجود مي توان نسبت به حذف اين موارد اقدام نمود . 

مقادير TRH مورد انتظار از طريق شمارش تعداد دفعه انتقال مجدد بسته هاي اطلاعاتي ( هر بسته اطلاعاتي ) در هر لينك و براساس تعداد بسته هاي اطلاعاتي تلف شده محاسبه مي شود . در اين ميان با توجه به بررسي هاي صورت گرفته بر روي تعداد دفعه انتقال مجدد بسته هاي اطلاعاتي در نزديكترين لينك به سرور ( سرويس دهنده ) اختلاف زيادي ميان TCP , CTCP در مورد لينك هاي مجرد ( تكي ) وجود دارد . در نتيجه نزديكترين لينك به سرويس دهنده بواسطه ذخيره گر شبكه اي 

(net worklevel cuching ) از بيشترين مزايا برخوردار مي گردد . 

جهت محاسبه تعداد كل hop هاي زيادي در هر بسته اطلاعاتي نياز به جمع نمودن تعداد دفعه انتقال مجدد بسته هاي اطلاعاتي در هر لينك مي باشد . لذا جهت تسهيل در اين امر ميتوان از مدل احتمالي استفاده نمود . ( مقادير واقعي و دقيق انتقال دوباره بسته هاي اطلاعاتي مشخص نمي باشد . از فرمول زير جهت محاسبه كليه hop ها استفاده مي شود . 

 

در فرمول فوق TRH به كليه HOP هاي اضافي در بسته هاي اطلاعاتي منتقل شده به سرويس گيرنده (client ) ، r به تعداد انتقال دوباره ، I به تعداد لينكها و   تعداد دفعه انتقال دوباره بسته هاي اطلاعاتي اطلاق مي شود . 

با توجه به مقادير مورد انتظار فرمول زير براي   در نظر گرفته مي شود . 

 

فرمول فوق 

r : تعداد انتقال دوباره     

  : احتمال انتقال دوباره بسته هاي اطلاعاتي 

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

 

در فرمول فوق 

   احتمال اتلاف بسته هيا اطلاعاتي براساس i,r ( i برابر i+n , …. , i+1 ) 

   احتمال انتقال صحيح و موفق بسته هاي اطلاعاتي به سرويس گيرنده 

با توجه به اختلاف استراتژي هاي اعمال شده در راستاي انتقال دوباره بسته هاي اطلاعاتي ، از مقادير   و   متفاوتي براي CTCP , TCP برخورداريم . 

TCP منجر به انتقال دوباره بسته اطلاعاتي از سرويس دهنده ( با توجه به احتمال اتلاف بسته هاي اطلاعاتي ) شده ، در نتيجه لينكهاي نزديكتر به سرويس دهنده شامل بسته هاي اطلاعاتي دوباره منتقل شده بيشتري نسبت به لينكهاي نزديك به سرويس گيرنده (client ) مي باشند .   نمايانگر ميزان احتملا اتلافr  بسته اطلاعاتي در بخشهايي از شبكه است .   نمايانگر انتقال موفقيت آميز بسته هاي اطلاعاتي در شبكه مي باشد . 

 

از طرف ديگر طراحي CTCP براساس انتقال دوباره بسته هاي اطلاعاتي تلف شده در آخرين گره (node ) مي باشد . حال اگر در هر بسته اطلاعاتي ذخيره شده امكان انتقال دوباره بسته هاي اطلاعاتي در هر گره باشد با فرستادن موفقيت آميز بسته هاي اطلاعاتي ديگر نيازي به انتقال مجدد نمي باشد . 

در آناليز و تجيه و تحليل CTCP فرض برحجم كافي حافظه ذخيره جهت نگهداري بسته هاي اطلاعاتي تلف شده ( در راستاي انتقال دوباره بسته هاي اطلاعاتي مذكور ) مي باشد . در ادامه گره بعدي بسته هاي اطلاعاتي را گرفته و مسئول انتقال و جابجايي اطلاعات به گره هاي بعدي مي باشد . فرآيند انتقال و جابجايي بسته هاي اطلاعاتي به سرويس گيرنده (client ) يك لينك به صورت lockstop ( روش غير مرحله اي ) به پهناي مستقل بودن تعداد انتقال دوباره يك لينك خاص از فاصله لينك از سرور ( سرويس دهنده ) مي باشد .   نشان دهنده احتمال از بين رفتن بسته هاي اطلاعاتي در لينكهاي بعدي و   نمايانگر انتقال موفق بسته هاي اطلاعاتي از يك لينك مستقل مي باشد . 

با استفاده از مقادير   ميزان كليه hop ها ( قسمتي از مسير بين مسيريابها كه در شبكه پراكنده اند ) پيموده شده توسط بسته هاي اطلاعاتي از طريق TCP و CTCP بدست مي آيد . ( از طريق معادله 2 ) 

(9 )              

(10 )                  

اختلافات موجود ميان   منجر به ايجاد مزيت هاي در لينكهاي پيموده شده توسط TCP , CTCP مي شود . به عنوان نمونه با استفاده TCP وبا فرض وجود مسير شبكه 10 لينكه و 45% = P و مقدار 252% =   خواهد شد . در نتيجه نياز به مقدار 252% hop اضافي جهت انتقال دوباره بسته هيا اطلاعاتي از سرور ( سرويس دهنده ) به سرويس گيرنده (client ) مي باشد . 

در CTCP نياز به 425% hop اضافي جهت انتقال مجدد بسته هاي اطلاعاتي از Server به Client است . ( 452% =   ) . با توجه به مقادير فوق حدود 82 درصد رد تعداد hop هاي اضافي بسته هاي اطلاعاتي ( قبل از رسيدن بسته هاي اطلاعاتي به سرويس گيرنده ) صرفه جويي مي شود . در تمامي موارد مذكور فرض بر مستقل بودن انتقال بسته هيا اطلاعاتي از يكديگر مي باشد . به بياني ديگر جهت انتقال يك فايل 200 كيلو بايتي نياز به 400 بسته اطلاعاتي 512 بيتي بوده ، در اين ميان TCP منجر به انتقال 101 بسته اطلاعاتي ( از طريق 10 لينك ) و CTCP منجر به انتقال 19 بسته اطلاعاتي مي شود . ذخيره بسته هيا اطلاعاتي در شبكه و استفاده از CTCP منجر به صرفه جويي در پهناي باند اضافي به ميزان 67 درصد مي گردد استفاده از TCP در شبكه هايي به طول 5 تا 15 لينك منجر به صرفه جويي در ميزان پهناي باند اضافي به ميزان 88% مي شود . 

مقادير TRH نشان دهنده مقدار پهناي باند قابل حذف بوده كه اين خود نشأت گرفته 

از تأثيرات ذخيره گر شبكه اي مي باشد . لذا امتحان و بررسي اختلافات موجود ميان پهناي باند مورد استفاده توسط TCP , CTCP ضروري به نظر ميرسد . 

سيستم متريك به كار رفته جهت مقايسه كل پهناي باند براساس TH و يا كليه hop هاي موجود تعريف شده است . در اين راستا TH , TRH از شباهت هاي زيادي نسبت به يكديگر برخوردار بوده و ليكن در TH نياز به n تا hop جهت انتقال بسته هاي اطلاعاتي به Client مي باشد . معادله مربوط به محاسبه TH در زير آورده شده است : 

 

به عنوان مثال به مورد شبكه هاي 10 لينكه با احتمال اتلاف بسته هيا اطلاعاتي برابر 45% = P مقدار252/10 =    و 0452/10 =   مي باشد كه اين خود نمايانگر كاهش 2 درصدي در تعداد HOP هاي هر بسته اطلاعاتي منتقل شده مي باشد . 

در ارتباطات داخلي كشور آمريكا ، ميزان كاهش مورد انتظار در تعداد HOP هاي هر بسته اطلاعاتي برابر 2% برآورد شده است . درصد مذكور در ديد اول بسيار پائين به نظر رسيد . وليكن ميازن پائين مقدار مذكور نشأت گرفته از نرخ پايين اتلاف بسته هاي اطلاعاتي در آمريكا ( از طريق شبكه داخلي ) مي باشد . با توجه به نتايج آقاي پاكسون ( 8 ) ميزان اتلاف بسته هاي اطلاعاتي در حال افزايش بوده ، به عنوان مثال در سال 1995 در آمريكا ميزان اتلاف بسته هاي اطلاعاتي از 6/3 درصد به 4/4 درصد افزايش يافته است . ( درصد رشدي برابر 21% ) در كشورهاي ديگر داراي اتلاف بسته هاي اطلاعاتي بيشتري نسبت به كشور آمريكا مي باشيم . 

 

(6 )              

براساس ارزيابي هاي صورت گرفته در زمينه TCP ( براساس معادله 3 ) ، تعداد انتقال دوباره مورد انتظار براي هر لينك از طريق فرمول زير محاسبه مي شود : 

 

به طور مشابه براي CTCP داريم : 

 

در زمينه لينكهاي نزديك به سرويس دهنده (Server ) ، تعداد دفعه تكرار مجدد ( انتقال دوباره ) بسته هاي اطلاعاتي از طريق TCP ( در مسيرهاي 10 لينكه ) برابر 46% =   مي باشد . براي هر لينك در حد فاصل مياني از سرويس دهنده [ i = 5 ] مقدار انتقال دوباره برابر 23% =   مي باشد . 

در مورد CTCP ، تعداد انتقال دوباره بسته هاي اطلاعاتي مورد انتظار برابر با 0045% =   بوده ، در اين ميان مقادير محاسباتي مستقل از طول مسير شبكه و يا محل لينك است مقادير محاسبه شده با در نظر گرفتن مقدار احتمال برابر 45% درصد ( از معادله 1 و براساس تجزيه و تحليل پاكسون ) مي باشد . 

با توجه به موارد و شواهد موجود ، در سرويس دهنده ( Server ) ، CTCP  از ميزان انتقال مجدد بسته هاي اطلاعاتي كمتري نسبت به TCP ( به ميازن 2/90 درصد ) برخوردار نيست . در شبكه هاي مياني با استفاده از CTCP مي توان به ميزان 4/80 درصد در ميزان انتقالات دوباره صرفه جويي نمود . 

به عنوان نمونه در ارتباطات ميان اروپا و آمريكا داراي بيشتر از 9/16 درصد اتلاف بسته هاي اطلاعاتي هستيم . نرخ اتلاف بسته هاي اطلاعاتي با وجود hop هايي در رنج 12 تا 20 منجر به كاهش در كل تعداد hop هاي پيموده شده توسط بسته هاي اطلاعاتي از طريق CTCP ( به ميزان 3/8 تا 6/8 درصد ) مي گردد . 


2. 4 – آناليزهاي پنهان ( پوشيده ) 

از جمله اهداف ديگر CTCP كاهش در حجم داده هاي پنهان موجود در بسته هيا اطلاعاتي منتقل شده از سرور ( Server ) به سرويس دهنده ( Client ) مي باشد . TCP با توجه به نقطه ( محل ) اتلاف بسته هاي اطلاعاتي به انتقال دوباره بسته هيا اطلاعاتي اتلاف شده پرداخته ، در نتيجه اين امر منجر به طولاني شدن زمان انتقال بسته هاي اطلاعاتي به سرويس گيرنده مي گردد . CTCP با در نظر گرفتن حافظه هاي ذخيره موجوددرگره هاي شبكه به انتقال دوباره بسته هاي اطلاعاتي(ازمحل اتلاف

بسته هاي اطلاعاتي ) مي پردازد . 

اين امر منجر به كاهش تعداد لينك هاي لازم جهت انتقال بسته هاي اطلاعاتي اتلاف شده ( نسبت به TCP ) مي شود . جهت بررسي تأثير حافظه ذخيره در شبكه هاي حاوي بسته هاي اطلاعاتي پنهان ، مدل احتمالي به كار رفته در بالا به طور مجدد مورد استفاده قرار مي گيرد . در زمان در نظر گرفته شده مي بايست تعداد مشخصي از لينكها توسط بسته هاي اطلاعاتي پيموده شده در اين ميان ميزان لينكهاي پيموده شده توسط بسته هاي اطلاعاتي اتلاف شده ( بواسطه CTCP , TCP ) محاسبه گرديده است . 

براساس نتايج موجود جهت انتقال دوباره بسته هاي اطلاعاتي تلف شده توسط CTCP نياز به تعدادكمتري لينك ( در مقايسه با TCP ) مي باشد . 

با كاهش در ميزان داده هاي پنهان ميزان داده هاي حاصله افزايش يافته كه اين امر منجر به اعمال محدوديت در انتقال داده هاي حجيم مي گردد . 

ميزان داده هاي پنهان كمتر منجر به ايجاد مزيت هايي به بخش هاي موثر برهم ( در مقايسه با انتقال داده هاي حجيم از طريق CTCP ) گرديده كه اين خود ناشي از انتقال سريع بسته هاي اطلاعاتي ( به صورت پي در پي ) در راستاي رسيدن به عملكرد مطلوب مي باشد . اين خود به معناي به موقع بودن انتقال بسياري از بسته هاي اطلاعاتي بود در اين ميان وحود داده هاي 1پنهان منجر به تأثيراتي در زمان دريافت اولين بتسه اطلاعاتي مي گردد . بسته هاي اطلاعاتي به طور پي در پي و مستقل از داده هاي پنهان در آهنگي خاص انتقال يافت ، لذا داده هاي 1نهان به عنوان عاملي ( مقياسي موثر ) در آناليز بخشهاي موثر برهم ( نسبت به جريان داده هاي حجيم ) مي باشد . 

به منظور بررسي و ارزيابي ميزان بهبودهاي حاصله ( با توجه به داده هاي پنهان ) ، مدل شبكه اي شامل N لينك در شكل 7 ارائه شده است . از مدل مذكور جهت نشان دادن مسير عادي شبكه اي مورد استفاده در TCP و يا CTCP استفاده مي شود . به جاي تعيين تعداد بسته هاي اطلاعاتي انتقال داده شده ( در لينكهاي داده شده ) مي بايست داده هاي پنهان اضافي مورد نياز جهت انتقال بسته هاي اطلاعاتي به سرويس دهنده ( Client ) تعيين شود . در تمامي مراحل همواره فرض بر مقدار احتمال ثابت و يا مشابه ( برابر ) در لينك هاي (P = cte ) مربوط به بسته هاي اطلاعاتي تلاف شده با توجه به انبوهي و تراكم و مستقل بودن بسته هاي اطلاعاتي اتلاف شده مي باشد . 

در هر لينك فرض بر نياز به مقدار مساوي يا ثابت زماني جهت انتقال بسته هاي اطلاعاتي مي باشد . (tink ) . به طور كلي جهت مقايسه داده هاي پنهان مربوط به بسته هاي اطلاعاتي منتقل شده بوسيله CTCP , TCP ، مقدار كل داده هاي پنهان (TL ) و مقدار كل داده هاي پنهان اضافي ( TRL ) مي بايست مشابه به داده هاي TH , TRH بخشهاي قبلي انتخاب و تعريف شود . 

مقدرا كل داده هاي پنهان ( پوشانندگي ) براساس مدت زمان لازم جهت انتقال بسته هيا اطلاعاتي از سرويس دهنده ( Server ) به سرويس گيرنده (Client ) تعريف شده ، در اين ميان ميزان پوشانندگي اضافي منجر به كاهش زمان لازم جهت انتقال بتسه هاي اطلاعاتي از سرويس دهنده ( Server ) به سرويس گيرنده (Client ) مي گردد . به جز در موارد اتلاف بسته هيا انرژي مقدار TRL برابر صفر بوده ، در اين ميان در بررسي و مطالعات صورت گرفته در زمينه پهناي باند TRL از اهميت خاصي برخورداري گرديده و از اين فاكتور جهت تعيين TL استفاده مي شود . 

ميزان TRL وابسته به تعداد hop هاي پيموده شده توسط بسته هاي اطلاعاتي ( از محل و موقعيت بسته اطلاعاتي تا سرور و از سرور تا Clinet ) مي باشد . 

TRL براساس تعداد hop هاي اضافي مضاعف ( مركب ) در طول زماني خاص سنجيده مي شوند . مقادير مربوط به TRL از طريق فرمول زير محاسبه مي شود .

TRL = TRH . E ( t )

كه در فرمول فوق 

TRH : تعداد hop هيا اضافي بسته هاي اطلاعاتي انتقال يافته از سرور به سرويس دهنده ( Clinet ) 

E (t) : طول زماني مشخص ( مطلوب ) براي هر hop 

ميازن زمان لازم جهت پيموده شده هر hop وابسته به صحت اتلاف بسته هاي اطلاعاتي مي باشد . اگر انتقال بسته هاي اطلاعاتي به طور صحيحي حصرت پذيرفته باشد زمان لازم جهت طي مسير براساس   سنجيده شده ، حال اگر انتقال بسته هيا اطلاعاتي همراه با اتلاف اطلاعات باشد نياز به زمان اضافي جهت آشكارسازي بسته هاي اطلاعاتي تلف شده مي باشد . (  ) . 

با توجه به ميزان احتمال اتلاف بسته هاي اطلاعاتي (P ) ، ميزان زمان مطلوب براي هر hop از طريق فرمول زير محاسبه مي شود . 

 

قبل از ارسال دوباره بسته هاي اطلاعاتي از سرور (Server ) ، نياز به آشكارسازي بسته هاي اطلاعاتي اتلاف شده توسط سرويس دهنده مي باشد . TCP از دو روش مختلف جهت آشكارسازي بسته هاي اطلاعاتي تلف شده استفاده مي نمايد كه عبارتند از : 

1-    انتقال دوباره سريع و اعمال وقفه زماني ميان دو پروسه 

2-    انتقال داده هاي حجيم 

از روش انتقال دوباره سريع به طور خاصي جهت آشكارسازي بسته هاي اطلاعاتي اتلاف شده استفاده مي شود . از Timeout ( اعمال وقفه زماني ) غالباً در بخشها و اجزاي داراي تاثير متقابل برهم استفاده شده ، در اين ميان TCP منجر به اعمال محدوديت در مقدار بسته هاي اطلاعاتي فرستاده شده مي گردد . زمان لازم جهت طراحي الگوريتم انتقال مجدد سريع از تاثير بسزايي بر زمان رفت و برگشت بسته هاي اطلاعاتي ( در مسيرهاي شبكه ) برخوردارست . از زمان در نظر گرفته شده جهت رفت و برگشت بسته هاي اطلاعاتي در راستاي تعيين مدت زمان لازم جهت آشكارسازي بسته اطلاعاتي تلف شده استفاده شده است . معادله 14 نمايانگر مدت زمان لازم جهت آشكار سازي بسته هاي اطلاعاتي تلف شده ازطريق TCP مي باشد . 

CTCP از قابليت هاي لازم جهت آشكار سازي بسته هاي اطلاعاتي تلف شده ( قبل از انتقال دوباره بسته هاي اطلاعاتي ) برخوردار بوده ، TCP مانند CTCP داراي قابليت آشكارسازي بسته هاي اطلاعاتي تلف شده ( در مورد انتقال داده هاي حجيم ) بواسطه استفاده از نسخه هاي ( ورژن هاي ) داراي الگوريتم انتقال دوباره سريع مي باشد . 

در اين ميان زمان لازم جهت آشكارسازي بسته هاي اطلاعاتي تلف شده ( براي CTCP ) بواسطه استفاده از انتقال دوباره سريع (  ) تعيين شده به طور تقريبي برابر با زمان رفت و برگشت بسته هاي اطلاعاتي است . 

(14 )              

از فرمول فوق ميتوان جهت محاسبه hop هاي اضافي استفاده نمود . در اين ميان از   به جاي E(t) استفاده شده ، با توجه به تغييرات حاصله داريم : 

(15 )          

كه : 

  نمايانگر تعداد داده هاي پنهان اضافي براي TCP مي باشد . به طور مشابه براي CTCP داريم : 

(16 )              

كه : 

  نمايانگر تعداد داده هاي پنهان انتقال داده شده از سرور CTCP به سرويس گيرنده (Client ) مي باشد . 

با استفاده از فرمول هاي ( معادلات ) 15 و 16 ، ميزان داده هاي پنهان اضافي ( پوشش دهي اضافي ) به يك شبكه 10 لينكه با احتمال وجود بسته هاي اطلاعاتي تلف شده برابر 45% = P برابر  . 275% =   مي باشد . تحت شرايط مشابه CTCP داراي مقادير كمتري داده هاي پنهان اضافي بوده و تعداد داده هاي پنهان اضافي از فرمول   . 493% =   بدست مي آيد . با توجه به داده هاي فوق در CTCP داراي كاهش قابل ملاحظه اي در داده هاي پنهان بسته هاي اطلاعاتي ( برابر با 1/8 درصدي ) مي باشيم . در اين ميان در شبكه هاي 5 تا 15 لينكه داراي كاهش در ميزان داده هاي پنهان در رنج 1/67 درصدي و 7/87 درصدي مي باشيم . 

در TRL ميزان داده هاي پنهان ( پوشش دهي ) تحت تاثير ذخيره گر شبكه اي بوده ، بر اساس موارد مذكور بررسي ميزان كاهش در داده هاي پنهان ( پوشش دهي ) از اهميت بسزائي برخوردار است . معادله در نظر گرفته شده از قابليت كاربرد براي 

تمامي داده هاي پنهان برخوردار مي باشد . 

(17 )             TL = TH . E (t) 

با حل معادله 17 ، ميزان كل داده هاي پنهان ( پوشش دهي ) در يك شبكه 10 لينكه با احتمال ( اتلاف بسته هاي اطلاعاتي ) برابر 45% = P ( با استفاده از TCP ) برابر   . 17/11 = TL مي باشد . با استفاده از CTCP مقدار   95/10 = TL خواهد شد . استفاده از CTCP به جاي TCP منجر به كاهش 2 درصدي در پوشش دهي ( داده هاي پنهان ) بسته هاي اطلاعاتي مي گردد . 

مقادير مذكور همانند مقادير بدست آمده از آناليز پهناي باند ، ميزان پوشش دهي ( داده هاي پنهان ) بسيار بيشتري در خارج از us ( آمريكا ) داشته كه اين نيز ناشي از بالاتر بودن نرخ اتلاف بسته هاي اطلاعاتي ( در روابط اينترنتي برقرار شده در كشورهاي ديگر ) مي باشد . به عنوان مثال در ارتباطات ميان اروپا و آمريكا نرخ اتلاف بسته هاي اطلاعاتي برابر با 9/16 درصد بوده ، در اين ميان در زمينه پوشش دهي با كاهشي برابر 6/8 درصد روبرو بوده ايم . 

ميزان مقادير با توجه به طول شبكه برابر hop 20 و احتمال اتلاف بسته هاي اطلاعاتي برابر 92% = P محاسبه شده است . 


3. 4- كاهش بار كاري سرور ( سرويس دهنده ) 

با توجه به پهناي باند و مزاياي پوشش دهي CTCP و ذخيره گر شبكه اي ، CTCP داراي ظرفيت و توان لازم جهت كاهش بار كاري سرورهاي شبكه از قبيل سرورهاي wob مي باشد . در اين ميان CTCP از طريق توزيع بسياري از كارها و وظايف سرور به سرويس دهنده ( Client ) منجر به كاهش بار كاري سرور مي شود . 

در اين ميان سرور به جاي اداره و مديريت بر صحت انتقال داده ها ، وظايف ديگر را برعهده گرفته ، برخي از وظايف مانند اداره و مديريت بر صحت انتقال داده ها برعهده سرويس گيرنده (Cliend ) قرار داده مي شود . انتقال وظايف از سرور به سروييس گيرنده منجر به سبكتر شدن بار كاري سرور مي گردد . با توجه به موارد مذكور ميتوان عملكرد CTCP , TCP را از حيث وظايف محوله به سرور مورد بررسي قرار داد . نمودار 8 نمايانگر فرآيند اتفاق افتاد در هر بسته اطلاعاتي دريافت شده توسط TCP و CTCP مي باشد . 





CTCP    TCP    TCP

1- ( غيره و REQ , SYN )

تعيين نوع بسته اطلاعاتي    6- قابليت انتقال دوباره كليه داده هاي علمي    1- تعيين نوع بسته اطلاعاتي (SYN , ACK , ETC )

2- تعيين نوع ارتباط هر بسته اطلاعاتي     7- قابليت به روز شدن سيستم كنترل جريان ، زمان رفت و برگشت بسته اطلاعاتي ، تخمين زننده زمان ، پنجره داراي تراكم زياد    2- تعيين نوع ارتباط براي هر بسته اطلاعاتي 

3- قابليت تعيين صحت توالي در يك محدوده خاص     8- قابليت راه اندازي زمان سنج انتقال دوباره    3- قابليت تاثير صحت توالي در يك رنج محدوده مشخص 

4- قابليت اختصاص بسته هاي اطلاعاتي حاوي داده هاي جديد    9- قابليت ذخيره داده ها در قفسه هاي خاص ( حافظه گذراي كامپيوتر )    4- به روز كردن سيستم كنترل جريان 

5- تنظيم رشته ها ، كپي كردن داده ها قابليت انتقال بسته هاي اطلاعاتي     10- قابليت به روز كردن سيستم تعيين صحت تعداد بسته هاي اطلاعاتي    5- بررسي ACK تنظيم رشته ها و كپي كردن داده ها

    11- قابليت انتقال بسته هاي اطلاعاتي    1-5- قابليت تخصيص بسته هاي اطلاعاتي حاوي داده جديد


Figure 8: server packet processing




جهت انجام كليه وظايف مشخص شده در شكل 8 نياز به زمان مكفي مي باشد كه اين نيز خود وابسته به چگونگي عملكرد نرم افزار و سخت افزار اجرا كننده برنامه هاي نرم افزاري مي باشد . در اين راستا بيشترين زمان صرف كپي نمودن داده ها از حافظه گذراي ( بافر ) يوزر ( user ) به بسته هاي اطلاعاتي جديد مي گردد . در اين ميان وظيفه كپي داده ها در حين انتقال بسته هاي اطلاعاتي ( داده ها ) از قابليت حذف برخوردار نمي باشد . 

بحث و مقوله مذكور محدود به فرآيندهاي كنترل به جاي كپي از داده ها مي باشد . از جمله وظايف اصلي و مشخص TCP محاسبه مجدد زمان رفت و برگشت بسته هاي اطلاعاتي و مديريت كنترلي بر تراكم ( انبوهي ) داده هاي اطلاعاتي دريافت شده مي باشد . CTCP عموماً از قابليت انجام وظايف مذكور برخوردار بودو عمليات مذكور در سرويس گيرنده ( Client ) به جاي سرور ( سرويس دهنده ) انجام مي پذيرد . 

به عبارت ديگر جهت انجام فرآيندهاي نشان داده شده در شكل 8 ، TCP از قابليت به روز كردن و چك نمودن زمان سنج به طور پريوديك ( دوره اي ) در هر ارتباط برخوردار مي باشد . ( در راستاي آشكارسازي بسته هاي اطلاعاتي ). TCP از قابليت بيشتري در زمينه انجام وظايف مذكور ( نسبت به CTCP ) برخوردار بوده ( در هر بسته اطلاعاتي ) ، در اين ميان عمليات اضافي سرور TCP در سرويس گيرنده و توسط CTCP انجام مي پذيرد . 

در نتيجه سرور ( سرويس دهنده ) CTCP از قابليت هاي خدماتي بيشتري نسبت به سرويس گيرنده (Client ) به طور همزمان برخوردار مي باشد . رد اين ميان سرعت عمل سرورهاي TCP از سرورهاي هر سرويس گيرنده مي باشد . 









بخش پنجم:

(نتيجه گيري)


(CONCLUSION)




نظريات و فرضيات موجود در زمينه ذخيره گر شبكه ( به عنوان حل كننده مشكلات ناشي از بسته هاي اطلاعاتي تلف شده ) منجر به بروز تسهيلاتي در زمينه انتقال دوباره بسته هاي اطلاعاتي تلف شده مي گردد . انتقال دوباره بسته هاي اطلاعاتي منجر به بيشتر شدنفضاي مورد استفاده از پهناي باند ، بيشتر شدن ( داده هاي پنهان ) پوشش دهي بسته هاي اطلاعاتي و افزايش بار كاري سرويس دهنده ( Server ) مي گردد .

به منظور كاهش مشكلات موجود ، بسته هاي اطلاعاتي به طور مستقل ( منحصر به فرد ) در گره هاي شبكه ذخيره مي شود . بسته هاي اطلاعاتي ذخيره شده مورد استفاده قرار گرفته و بسته هاي اطلاعاتي تلف شده به طور مجدد منتقل مي شود . TCP از قابليت هاي لازم جهت پشتيباني از ذخيره گر شبكه اي برخوردارند كه اين نيز ناشي از درگيري سرويس دهنده (Server ) ( انتقال بسته هاي اطلاعاتي توسط Server ) مي باشد . 

طراحي TCP سرويس گيرنده براساس متغيرهاي خاص و در راستاي احراز منافع عملكردي ذخيره گر شبكه اي صورت پذيرفته است . CTCP كليه مسئوليت انتقال بسته هاي اطلاعاتي و داده ها را از سرويس دهنده به سرويس گيرنده برعهده دارد . آناليز و تجزيه وتحليل احتمالي درزمينه CTCP  TCP با توجه به پهناي باند مصرفي

و پوشش دهي ( داده هاي پنهان ) بسته هاي اطلاعاتي صورت گرفته است . 

CTCP منجر به مصرف حداكثر 88 درصد پهناي باند اضافي نسبت TCP گرديده ، در نتيجه CTCP منجر به كاهش بسته هاي اطلاعاتي به ميازن 88 % مي شود . به ترتيب كاهش در پهناي باند منجر به بهبود ترافيك داده ها ؛ كاهش در داده هاي پنهان ( پوشش دهي ) منجر به بهبود زمان پاسخگويي ( حركت متقابل ) از سوي استفاده كننده (User ) مي گردند . 

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

CTCP از قابليت هاي بيشتري جهت استفاده از ذخيره گر شبكه اي برخوردار بوده و دااري مزاياي بيشتري از لحاظ مصرف كمتر پهناي باند ، تعداد كمتر داده هاي پنهان يا پوشش دهي كمتر بسته هاي اطلاعاتي و كاهش درباركاري سرويس دهنده نسبت به TCP مي باشد . 



1-5- كارهاي آتي : 

به طور كلي زمينه هاي تحقيقاتي زيادي در زمينه ذخيره گرهاي شبكه اي و CTCP وجود دارد . موارد مذكور مرتبط با اعمال عملكردهاي اضافي در راستاي طراحي CTCP و تكميل بسته هاي جديدتر CTCP مي باشد . 



1-1-5- وظايف CTCP 

CTCP در راستاي انتقال فايلها و يا داده هاي حجيم طراحي شده است . در اين راستا نياز به اعمال اصلاحاتي به منظور طراحي CTCP جهت پشتيباني از داده هاي موثر برهم از قبيل اجزاي مختلف شبكه هاي تلفني مي باشد . user ( استفاده كننده ) از طريق فشار دادن يك دكمه در شبكه تلفني مجهز به TCP منجر به تهيج فرستنده ( ماشين user ) به انتقال بسته هاي اطلاعاتي مشخص مي گردد . پس از انتقال بسته هاي اطلاعاتي ، دريافت كننده اطلاعات مذكور را به طور مجدد به فرستنده فرستاد تا عمليات تكميلي بر روي داده هاي صورت پذيرد . در CTCP فرستنده داده ها را منتقل نمي كند مگر در مواقعي كه دريافت كننده درخواست داشته باشد . 

در حالت هاي موثر ، دريافت كننده اطلاعاتي در زكمينه داده هاي بعدي ( داده هاي توليد شده از طريق فشار دادن كليد توسط user  ندارد . به طور خلاصه CTCP از مكانيزم خاصي در راستاي ايجاد شرايط لازم جهت درخواست داده از طريق فرستنده برخوردار نمي باشد . 

به طور كلي دو روش براي رفع مشكلات CTCP در اجزاي موثر داده ها وجود دارد . در روش اول سيستم هاي راه اندازي از قابليت پشتيباني TCP , CTCP برخوردار مي باشد . در اين ميان در صورت نياز به اجزاي موثر بر هم از TCP استفاده مي شود . با توجه به مزيت هاي CTCP ( نسبت به TCP ) در زمينه انتقال داده هاي حجيم ، CTCP جهت انتقال فايلها مورد استفاده قرار مي گيرد . 

از جمله مزاياي CTCP حفظ و ثبات مبني پروتكل همراه با انجام بي عيب كارها مي باشد . عوامل و فاكتورهاي ديگري نيز از قابليت پشتيباني براي طرح CTCP برخوردار مي باشد . بسته هاي اطلاعاتي كنترل شده داراي قابليت افزوده شدن به CTCP بوده در نتيجه فرستنده مي تواند به گيرنده فرمان درخواست تعداد معيني داده را بدهد . بروز مشكل در اين برنامه منجر به افزايش ترافيك در بسته هاي اطلاعاتي اضافي مي گردد . در اين ميان كنترل بسته هاي اطلاعاتي نسبتاً كوچك منجر به كاهش در ميزان ترافيك موجود مي گردد . 


2-1-5- پشتيبان سيستم راه اندازي براي CTCP 

امروزه برنامه هاي CTCP در جاوا JAVA نوشته شده و ( جاوا زبان برنامه نويسي پيشرفته ) اجرا مي شوند . در اين راستا برنامه هاي مذكور منجر به تسهيل در طراحي و رفع سريع و آسان اشكالات بوجود آمده مي شوند . مزاياي موجود منجر به بيشتر شدن ارزش كار سيستم كمذكور مي شود . پروتكل هاي سيستم هاي راه اندازي از قبيل TCP عموماً در سطح Kernel اجرا مي شوند . CTCP در مقايسه با TCP جهت اجرا در سطح صنعتي نياز به نوشته شدن در سطح سيستم هاي راه اندازي   دارد . 




3-1-5- حافظه ذخيره محدود 

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

حال اگر نرخ تلف شدن بسته هاي اطلاعاتي كم باشد ( در حدود 5 درصد ) ، هزينه ذخيره داده هاي هر بسته اطلاعاتي بيشتر از مزيت هاي آن مي شود . لذا به جاي ذخيره داده هاي هر بسته اطلاعاتي بهترست به رديابي داده هاي هر بسته اطلاعاتي پرداخت . با توجه به موارد زير مي توان الگوريتم هاي بسيار پيچيده اي طراحي نمود كه فقط از قابليت ذخيره بسته هاي اطلاعاتي تلف شده برخوردار باشد . 

انواع الگوريتم هاي موجود با توجه به شرايط شبكه هاي به طور مجدد كاليبره مي شوند . 


4-1-5- شناخت هاي موجود در زمينه CTCP  ( شناسايي CTCP ) 

سرويس دهنده هاي CTCP از قابليت نگهداري داده ها براي تمامي فايل هاي منتقل شده برخوردارند . قابليت هاي مذكور ناشي از عدم دريافت اطلاع راجع به ( درباره ) داده هاي دريافت شده توسط سرويس گيرنده ( Client ) مي باشد . سرويس دهنده ( Server ) تنها قادر به دريافت داده هاي بسته هاي اطلاعاتي درخواست شده مي باشد . CTCP از قابليت اصلاح شدن برخوردار مي باشند . با فرستاده شدن درخواست از سرويس گيرنده به سرويس دهنده ( در هر لحظه ) براحتي مي توان سرويس دهنده ( Server ) را از ميزان اطلاعات دريافت شده آگاه نمود . 

با توجه به تغييرات اعمال شده و اداره بيشتر ارتباطات بوسيله سرور ( سرويس دهنده ) ، با افزايش فضاي حافظه گذرا در زمينه داده ها روبرو خواهيم شد . با توجه به پيشرفت هاي صورت گرفته در زمينه CTCP ، محدوديت هايي با توجه به اجزاي موثر برهم و پشتيبان سيستم راه اندازي كننده اعمال خواهد شد . 


2. 5 – نتيجه : 

در TCP و ذخيره گر شبكه اي از دو روش ( تكنيك ) مختلف جهت كاهش پهناي باند مصرف شده از طريق انتقال داده ها و داده هاي پنهان بسته هيا اطلاعاتي استفاده مي شود . در اين ميان در TCP سعي و تلاش هايي در راستاي كاهش باركاري سرويس دهنده ها صورت پذيرفته است . آهنگ فقدان بسته هاي اطلاعاتي با افزايش ميزان استفاده و تراكم روندي صعودي مي يابد . مزاياي مربوط به روش هاي ذخيره داده ها با رشد و توسعه ( بهبود ) در آينده روبرو خواهد بود . 




فهرست واژه ها

و اصطلاحات


(NOMENCLATURE)





P :  احتمال اتلاف بسته هاي اطلاعاتي در لينكهاي مشخص 

  : احتمال اتلاف بسته هاي اطلاعاتي در كل مسير شبكه 

r :   تعداد انتقال دوباره 

i  :  تعداد لينك ، شماره گذاري لينكها از لينك شماره 5 مرتبط با سرويس دهنده تا اولين گره مياني صورت مي پذيرد . 

  تعداد كل hop هاي اضافي بسته هاي اطلاعاتي منتقل شده از سرويس دهنده به سرويس گيرنده از طريق TCP 

  : تعداد كل hop هاي اضافي بسته هاي اطلاعاتي منتقل شده از سرويس دهنده به سرويس گيرنده از طريق CTCP . 

  : تعداد بار ( دفعه ) انتقال بسته هاي اطلاعاتي با استفاده TCP و از طريق   لينك 

  تعداد بار ( دفعه ) انتقال بسته هاي اطلاعاتي با استفاده از TCP و از طريق   لينك 

  : احتمال انتقال دوباره بسته هاي اطلاعاتي از طريق   لينك و با استفاده از CTCP 

  : تعداد كل HOP هاي بسته هيا اطلاعاتي منتقل شده از سرور به سرويس 

گيرنده از طريق TCP 

  تعداد كل HOP هاي بسته هاي اطلاعاتي منتقل شده از سرور به سرويس گيرنده بوسيله CTCP 

  : تعداد كل داده هاي پنهان در هر بسته اطلاعاتي منتقل شده بوسيله TCP 

  : تعداد كل داده هاي پنهان در هر بسته اطلاعاتي منتقل شده بوسيله CTCP 

  : مدت زمان لازم جهت انتقال بسته اطلاعاتي از طريق يك لينك مستقل 

  : مدت زمان انتقال پروتكل در راستاي آشكار سازي و انتقال دوباره بسته هاي اطلاعاتي . 

  : مقدار كل داده هاي پنهان در هر بسته اطلاعاتي منتقل شده از طريق TCP 

  : مقدار كل داده هاي پنهان در هر بسته اطلاعاتي منتقل شده از طريق CTCP 


ضميمه A  :            

( برقراري و اتمام ارتباط )


(CONNECTION ESTABLISHMENT) (& TERMINATION)



TCP , CTCP به عنوان پروتكلهايي ارتباطي به ايفاي نقش مي پردازند . در اين ميان قبل از انتقال داده ها از سرويس دهنده به سرويس گيرنده مي بايست ارتباطاتي ميان آنها برقرار شود . با تكميل انتقال داده ها ارتباطات ميان سرويس دهنده ( Server ) و سرويس گيرنده ( Client ) قطع مي شود . مديريت ارتباطات CTCP مشابه به طارحي TCP بوده و براين اساس به توصيف جزئياتي در اين زمينه پرداخته مي شود . 


A.1 . مديريت ارتباطاتي TCP 

روش برقراري ارتباط با استفاده از Tcp به شرح زير مي باشد . 

1-    ابتدا سرويس گيرنده (Client ) به برقراري ارتباط از طريق فرستادن بتسه هيا اطلاعاتي SYN به سرويس دهنده مي پردازد . بسته هاي اطلاعاتي SYN فرستاده شده از Server به Client نمايانگر تعداد Port هاي ارتباطاتي سرويس دهنده و تعداد تسلسل اوليه سرويس گيرنده ( Server ) ( در راستاي برقراري ارتباط ميان سرويس دهنده و سرويس گيرنده ) مي باشد . 

2-    سرويس دهنده در برابر بسته هاي اطلاعاتي SYN فرستاده شده ، بسته هاي اطلاعاتي SYN حاوي تعداد رشته هاي ( تسلسل ) اوليه سرويس دهنده به سرويس گيرنده مي فرستد . به عبارت ديگر سرويس دهنده ( Server ) بسته هاي اطلاعاتي SYN را به شكل ACK جهت شناسايي توسط سرويس گيرنده معرفي مي نمايد . 

3-    سرويس گيرنده (Client ) بسته هاي اطلاعاتي فرستاده شده را تحت عنوان syn-ack ( از طريق انتقال دوباره ack به سرويس دهنده ) مورد شناسايي قرار ميدهد . 

با تكميل سه بسته اطلاعاتي مذكور ارتباط برقرار مي شود . فرآيند و پروسه مذكور تحت عنوان three way hand shake ناميده شده ، پروسه مذكور به طور كامل در شكل 9 نشان داده شده است . به طور كلي جهت برقراري ارتباط نياز به سه بسته اطلاعاتي و جهت قطع ارتباطات نياز به 4 بسته اطلاعاتي مي باشد كه اين نيز ناشي از مستقل بودن جهت انتقال داده ها از يكديگرست . 








Figure 9 : TCP connection establishment




پس از اتمام انتقال داده ها 0 يه بسته هيا اطلاعاتي ) در يك طرف ارتباطي ، بسته هاي اطلاعاتي FIN به طرف ديگر ارتباطي فرستاده مي شوند . دريافت كننده بسته هاي اطلاعاتي FIN به شناسايي داده ها پرداخته ، در انتهايش از شناسايي داده ها FIN ارتباطات يك طرفه ( نيمه باز ) مي شود . در اين ميان جهت قطع كامل ارتباط ميان سرويس دهنده ( Server ) و سرويس گيرنده (Clinet ) ، روشي مشابه در جهت عكس صورت مي پذيرد . فرآيند مذكور ( قطع ارتباط ميان Client , Server ) در شكل 10 نشان داده شده است . در اين ميان جهت كسب اطلاعات بيشتر در زمينه برقاري ارتباط و يا قطع ارتباط TCP مي توان به مراجع [ 11 ] و [ 12 ] اين مقاله مراجعه نمود . 







Figure 10 : TCP connection termination





A.2 . مديريت ارتباطي CTCP 

مكانيزم هاي ارتباطي CTCP عموماً به صورت يكسان ( همسان ) مي باشند . ( در مقايسه با مكانيزم هاي ارتباطي TCP ) در اين ميان از روش three- way hand shake جهت برقراري ارتباط استفاده مي شود .وليكن CTCP جهت ارسال نام اسناد به عنوان يك بسته اطلاعاتي SYN از سرويس گيرنده به سرويس دهنده نياز به يك سرويس گيرنده ( Clinet ) مجزا دارد . 

با توجه به موارد مذكور سرويس دهنده ( Server ) بسته ها و يا اسناد منحصر به فرد را تحت عنوان SYN-ACK مورد شناسايي قرار ميدهد . سپس اسناد مربوط به طور مجرد به سرويس گيرنده فرستاده ( بازگردانده ) مي شود . در اين راستا سرويس دهنده ملزم به آگاه ساختن سرويس گيرنده از اندازه فايلهاي درخواست شده مي باشد كه اين ناشي از بار مورد درخواست هر بخش از داده ها مي باشد . 


I BUILT MY SITE FOR FREE USING