PDA

نسخه کامل مشاهده نسخه کامل : سوال در مورد روتر



mohammad6687
15-10-2009, 16:08
باسلام
یه سوال در مورد روتر ها داشتم .
وقتی در شبکه یه بسته توسط روتری به قطعات کوچکی خرد میشه(Feragmentation) آیا اون بسته باز می تونه توسط روتردیگه ای به قطعات کوچکتری خرد بشه یا نه ؟اگه نمیشه .چرا؟

ah.hooman
16-10-2009, 00:11
بله دوست عزیز ممکن ولی نادر هست معمولا اندازه بسته به قدر کافی کوچک انتخاب میشه تا بتونه بدون شکسته شدن از تمام زیر شبکه ها عبور کند ولی به هر صورت ببینیم چطور میشه داده های تکه تکه شده را دوباره در مسیریابهای میانی شکست.
همانطور که احتمالا میدونی هر بستهIPv4 دارای یک فیلد 16 بیتی identification که میتونه تا حداکثر مقدار 65535 و یک فیلد 13 بیتی fragment offset که میتونه تا حداکثر مقدار 8192 رو داشته باشه هست
حالا سازکار قطعه بندی بسته ها به این صورت هست که هر دیتاگرام دارای یک شماره شناسایی identification میباشد تا بعد از قطعه قطعه شدن بسته ها معلوم باشد که مطعلق به کدام دیتاگرام هستند و هر بسته دارای یک شماره fragment offset میباشد تا معلوم شود جای هر بسته در دیتاگرام کجاست(برای ساختن مجدد دیتاگرام ترتیب بسته ها مشخص شود).حالا فرض کن یک بسته ip به اندازه 1024 بایت تولید شده ولی زیر شبکه توانایی ارسال 256 بیت در هر بسته را دارد پس بسته ها شکسته میشوند به طور مثال بسته ip دارای شماره شناسایی 13456 و بسته های شکسته شده به ترتیب دارای fragment offset های 0,1,2,3 میباشند .به طور عمومی پروتکل ip غیر مطمئن و غیر متصل میباشد پس هر بسته ip از مسیر بهینه و دلخواهی به سمت مقصد پیمایش میکند فرض کن بسته با fragment offset دو در مسیر به شبکه ای میرسد که حداکثر اندازه فریم ان 64 بیت میباشد بس یاید دوباده بسته 256 بیتی به 4 بسته 64بیتی شکسته بشود حالا ساز و کار به این صورت هست که بسته به 4 بسته 64 بیتی شکسته شده با همان شماره شناسایی (یعنی 13456) ولی با fragment offset های 2.0,2.1,2.2,2.3 (به این روش,روش شماره گزاری درختی میگن) به همین ترتیب میشه تا چند سطح بسته ها رو شکست(البته به اندازه 13 بیت) یه دو تو نکته توجه داشته باشید تمام بسته ها در مقصد نهایی سر هم میشون و دو در این روش به جای یک سرایند 60 بایتی باید از چندین سرایند استفاده کرد(برای همان مقدار داده) که overhead زیادی دارد .
شاید اینم براتون جالب باشه که در IPv6 این مکانیزم به طور کلی حذف شده است و بسته ها قابلیت شکسته شدن را ندارند.
امیدوارم که تونسته باشم جواب سوالتون رو بدم
موفق باشید

mohammad6687
19-10-2009, 14:00
بله دوست عزیز ممکن ولی نادر هست معمولا اندازه بسته به قدر کافی کوچک انتخاب میشه تا بتونه بدون شکسته شدن از تمام زیر شبکه ها عبور کند ولی به هر صورت ببینیم چطور میشه داده های تکه تکه شده را دوباره در مسیریابهای میانی شکست.
همانطور که احتمالا میدونی هر بستهIPv4 دارای یک فیلد 16 بیتی identification که میتونه تا حداکثر مقدار 65535 و یک فیلد 13 بیتی fragment offset که میتونه تا حداکثر مقدار 8192 رو داشته باشه هست
حالا سازکار قطعه بندی بسته ها به این صورت هست که هر دیتاگرام دارای یک شماره شناسایی identification میباشد تا بعد از قطعه قطعه شدن بسته ها معلوم باشد که مطعلق به کدام دیتاگرام هستند و هر بسته دارای یک شماره fragment offset میباشد تا معلوم شود جای هر بسته در دیتاگرام کجاست(برای ساختن مجدد دیتاگرام ترتیب بسته ها مشخص شود).حالا فرض کن یک بسته ip به اندازه 1024 بایت تولید شده ولی زیر شبکه توانایی ارسال 256 بیت در هر بسته را دارد پس بسته ها شکسته میشوند به طور مثال بسته ip دارای شماره شناسایی 13456 و بسته های شکسته شده به ترتیب دارای fragment offset های 0,1,2,3 میباشند .به طور عمومی پروتکل ip غیر مطمئن و غیر متصل میباشد پس هر بسته ip از مسیر بهینه و دلخواهی به سمت مقصد پیمایش میکند فرض کن بسته با fragment offset دو در مسیر به شبکه ای میرسد که حداکثر اندازه فریم ان 64 بیت میباشد بس یاید دوباده بسته 256 بیتی به 4 بسته 64بیتی شکسته بشود حالا ساز و کار به این صورت هست که بسته به 4 بسته 64 بیتی شکسته شده با همان شماره شناسایی (یعنی 13456) ولی با fragment offset های 2.0,2.1,2.2,2.3 (به این روش,روش شماره گزاری درختی میگن) به همین ترتیب میشه تا چند سطح بسته ها رو شکست(البته به اندازه 13 بیت) یه دو تو نکته توجه داشته باشید تمام بسته ها در مقصد نهایی سر هم میشون و دو در این روش به جای یک سرایند 60 بایتی باید از چندین سرایند استفاده کرد(برای همان مقدار داده) که overhead زیادی دارد .
شاید اینم براتون جالب باشه که در IPv6 این مکانیزم به طور کلی حذف شده است و بسته ها قابلیت شکسته شدن را ندارند.
امیدوارم که تونسته باشم جواب سوالتون رو بدم
موفق باشید

از توضیح جامع و کاملی که دادید بسیار ممنون :40: