در این صفحه نمونه سوالات شبکه های کامپیوتری با پاسخ تشریحی برای شما عزیزان قرار داده شده است، سعی شده مثال های شبکه های کامپیوتری تمامی مباحث را در بر گیرد. در صورتی که علاقه دارید تا بیشتر با درس شبکه های کامپیوتری آشنا شوید و فیلم های رایگان شبکه های کامپیوتری را مشاهده کنید به صفحه معرفی و بررسی الکترونیک دیجیتالمعرفی درس الکترونیک دیجیتالدرس الکترونیک دیجیتال در تمامی دانشگاههای جهان به منظور آشنایی با مبانی الکترونیک و سختافزار و تکنولوژیهای استفاده شده از زمان پیدایش کامپیوتر تا کنون تدریس میشود مراجعه کنید.
قبل از اینکه به ادامه این مقاله بپردازیم توصیه میکنیم که فیلم زیر که در خصوص تحلیل و بررسی درس شبکه های کامپیوتری است را مشاهده کنید، در این فیلم توضیح داده شده که فیلم درس شبکه های کامپیوتری برای چه افرادی مناسب است و همین طور در خصوص فصول مختلف درس شبکه های کامپیوتری و اهمیت هر کدام از فصول آن صحبت شده است.
در ادامه این مقاله ابتدا فیلم های رایگان شبکه های کامپیوتری که به آنها نیاز دارید و سپس نمونه سوالات شبکه های کامپیوتری در اختیارتان قرار گرفته است.
فیلم های رایگان آموزش شبکه های کامپیوتری که به آنها نیاز دارید
در حال حاضر فیلم آموزش شبکه های کامپیوتری استاد رضوی پرطرفدارترین و پرفروشترین فیلم آموزشی شبکه های کامپیوتری کشور است و هر سال اکثر داوطلبان کنکور ارشد کامپیوتر این فیلم را تهیه میکنند.
شبکههای کامپیوتری جلسه 1
شبکههای کامپیوتری جلسه 2
شبکههای کامپیوتری جلسه 3
شبکههای کامپیوتری جلسه 4
شبکههای کامپیوتری جلسه 5
شبکههای کامپیوتری جلسه 6
شبکههای کامپیوتری جلسه 7
شبکههای کامپیوتری جلسه 8
حل تست شبکه جلسه 1
حل تست شبکه جلسه 2
حل تست شبکه جلسه 3
حل تست شبکه جلسه 4
حل تست شبکه جلسه 5
حل تست شبکه جلسه 6
حل تست شبکه جلسه 7
حل تست شبکه جلسه 8
خرید فیلم های کامل شبکه های کامپیوتری
ویدیو درس شبکه های کامپیوتری
نارنجی بازار
35%
990,000 تومان
645,000 تومان
رامین رضوی
۶۰ ساعت
ویدیو نکته و تست شبکه های کامپیوتری
نارنجی بازار
30%
750,000 تومان
525,000 تومان
رامین رضوی
۳۶ ساعت
نمونه سوالات فصل مقدمات درس شبکه های کامپیوتری
آسان اگر یک بسته اطلاعاتی در یک شبکه پخشی بخواهد از عنصر A به عنصر B ارسال شود برای توپولوژیهای مش و ستاره بهترتیب حداکثر از چند کانال فیزیکی باید عبور کند تا به مقصد برسد؟ اصول و مقدمات شبکههای کامپیوتری
1 ۱ کانال/ ۲ کانال
2 ۲ کانال/ 1 کانال
3 به تعداد عناصر شبکه بستگی دارد.
4 به نحوه مسیریابی بسته بستگی دارد.
در یک توپولوژی مش هر دو عنصر بهصورت مستقیم با یکدیگر در ارتباطند لذا یک بسته ارسالی بین این دو عنصر تنها هزینه عبور از یک کانال را متحمل میشود در حالیکه در توپولوژی ستاره برای ارسال یک بسته برای گیرنده ابتدا میبایست آن بسته را به کنترل کننده مرکزی ارسال کرده و سپس از آنجا به گیرنده. پس در توپولوژی ستاره این هزینه برابر است با هزینه عبور از دو کانال. گزینه ۴ نمیتواند پاسخ کاملاً صحیح باشد زیرا فرض ما بر این است که در توپولوژی مش پیش فرض ارسال از همان کانال مستقیم بین دو عنصر است و مسیریابی مفهوم آنچنانی نخواهد داشت اگر چه این مفهوم در توپولوژی ستاره نیز هیچگاه معنی پیدا نخواهدکرد.
آسان لینکی با ظرفیت ۸ مگابیت بر ثانیه و تأخیر انتشار 5/0 میلیثانیه را در نظر بگیرید. انتقال بسته اول از یک سمت لینک به سمت دیگر 1 میلیثانیه و بسته دوم ۲ میلیثانیه طول میکشد. سایز بسته اول ($L_\mathrm{1}$) و بسته دوم ($L_\mathrm{2}$) چند بایت است؟ اصول و مقدمات شبکههای کامپیوتری
1 $L_\mathrm{1} = 500 $, $L_\mathrm{2} = 1000$
2 $L_\mathrm{1} = 500 $, $L_\mathrm{2} = 1500$
3 $L_\mathrm{1} = 4000 $, $L_\mathrm{2} = 12000$
4 $L_\mathrm{1} = 4000 $, $L_\mathrm{2} = 8000$
تأخیر انتقال هر بسته از یک سمت لینک به سمت دیگر بهصورت زیر میباشد:
$d_{Node-to-Node}=d_{trans}+d_{prop}$
پس برای بسته اول و دوم داریم:
$\left\{ \matrix{
1 \times {10^{ - 3sec}} = {{{L_1}} \over {8 \times {{10}^6}^{bps}}} + 0/5 \times {10^{ - 3sec}} \Rightarrow {L_1} = 4 \times {10^{3bit}} = {500^{Byte}} \hfill \cr 2 \times {10^{ - 3sec}} = {{{L_2}} \over {8 \times {{10}^6}^{bps}}} + 0/5 \times {10^{ - 3sec}} \Rightarrow {L_2} = 12 \times {10^{3bit}} = {1500^{Byte}} \hfill \cr} \right.$
متوسط يک سيستم ساده تلفنی شامل دو مركز محلی و يك مركز راه دور است. مراكز محلی با خطوط يک مگا هرتز به مرز راه دور متصلاند. فرض كنيد 10 درصد تلفنهای انجام شده راه دورند و هر گفتگوی تلفنی دارای پهنای باند 4 كيلو هرتز است. هر يک از مراكز محلی حداكثر چند گفتگوی تلفنی را میتواند در هر لحظه حمايت نمايد؟ اصول و مقدمات شبکههای کامپیوتری
1 250 گفتگوی تلفنی
2 1000 گفتگوی تلفنی
3 2500 گفتگوی تلفنی
4 بیش از 3000 گفتگوی تلفنی
$W_1=1MHz=10^6\ Hz \\ W_{channel}=4KHz=4 \times 10^3\ Hz \\ \frac{W_1}{W_{channel}}=\frac{10^6}{4\times 10^3}=250$
طبق گفته سوال فقط 10 درصد از تماس ها راه دورند
پس کل تماس ها 2500 عدد است.
$x=\frac{250\times 100}{10}=2500$
متوسط شکل زیر تجهیزات نصب شده در مرکز دادهای را نشان میدهد. در این مرکز داده تعداد 9 رَک وجود دارد و در هر رَک 20 کامپیوتر نصب شده است.
اصول و مقدمات شبکههای کامپیوتری
هر کامپیوتر با لینکی به ظرفیت 10 گیگابیت بر ثانیه به یک سوییچ TOR وصل است.
هر سوییچ TOR با دو لینک، هر یک به ظرفیت 5 گیگابیت بر ثانیه به دو سوییچ T2 وصل شده است.
هر سوییچ T2 با دو لینک هر یک به ظرفیت 2 گیگابیت بر ثانیه به دو سوییچ T1 متصل است.
هر سوییچ T1 با دو لینک هر یک به ظرفیت 10 گیگابیت بر ثانیه به دو Access Router وصل شده است.
هر Access Router با لینکی با پهنای باند 10 گیگابیت بر ثانیه به یک Border Router وصل است.
حداکثر گذردهی از کامپیوتری در رَک شماره 3 به کامپیوتری در رَک شماره 8، چند گیگابیت بر ثانیه است؟
1 5
2 10
3 4
4 9
گزینه 4 صحیح است.
حداکثر 2گیگ از مسیر آبی داده رد و بدل می شود و 5 گیگ از مسیر سبز داده رد و بدل می شود و 2گیگ داده از مسیر نارنجی رد وبدل میشود پس جمع 3 مسیر مشخص شده 9 Gbs از خود عبور می دهد.
توضیحاتی درباره رک و سوییچ Tor:
رک: رک در IT و به طور کلی در شبکه، سخت افزاری است که ماژول های سخت افزاری مانند سرور، استوریج، سوییچ و روتر و یو پی اس و دیگر تجهیزات شبکه را در خود جای میدهد. بدین ترتیب در فضایی مناسب و امن، طبقات منسجمی برای نگهداری تجهیزات شبکه را فراهم میکند.
چرا به رک نیاز داریم؟
Rack سرور و شبکه باعث افزایش کارایی میشود. نگهداری از سرور و تجهیزات شبکه راحت تر است، و از همه مهمتر اینکه امنیت افزایش مییابد.
مزایای رک:
1.افزایش کارایی
2.نگهداری راحت تر از سروروتجهیزات شبکه
3.افزایش امنیت
سویچ TOR:
سوئیچ های تور عمدتاً در صنایعی با الزامات امنیتی بالا مانند دولت، امور مالی، مرکز داده و... مورد استفاده قرار می گیرند. آن ها عمدتاً در همگرایی شبکه، دسترسی به سرور مرکز داده و سناریوهای دیگر مورد استفاده قرار می گیرند.
سوئیچ تور نسل جدیدی از سوئیچ اترنت با کارایی بالا چند سرویس بر اساس CPU داخلی و تراشه سوئیچ داخلی است.
متوسط یک جریان داده (صوت و ویدئو) با نرخ $2Mbps$ که در بستههای $10000$ بیتی قرار دارند از برنامهای در کامپیوتر $\mathrm{H}_\mathrm{1}$ به برنامهای در کامپیوتر $\mathrm{H}_\mathrm{2}$ مطابق با شکل زیر در حال ارسال است. فرض کنید طول صف در بافرهای مسیریابهای $\mathrm{R}_\mathrm{1}$ و $\mathrm{R}_\mathrm{2}$ حداکثر 4 بسته و حداقل صفر است. حداقل تأخیر زمانی به میلیثانیه که برنامه در کامپیوتر $\mathrm{H}_\mathrm{2}$ باید بافر خود را قبل از پخش داده مشاهده کند و حداقل اندازه بافر موردنیاز به کیلوبیت برای پخش بدون وقفه این جریان داده چقدر است؟
اصول و مقدمات شبکههای کامپیوتری
1 4.4 و 17.2
2 4.4 و 8.8
3 16 و 80
4 16 و 160
رابطه تأخیر کل را مینویسیم:
$\mathrm{d}_{\mathrm{total}}=\sum_{\mathrm{i\ =\ 1}}^{\mathrm{3}}\mathrm{d}_{\mathrm{trans}}+\sum_{\mathrm{i\ =\ 1}}^{\mathrm{3}}\mathrm{d}_{\mathrm{prop}}+\sum_{\mathrm{i\ =\ 1}}^{\mathrm{2}}\mathrm{d}_{\mathrm{queue}}=\frac{\mathrm{L}_{\mathrm{Packet}}}{\mathrm{R}_\mathrm{1}}+\frac{\mathrm{L}_{\mathrm{Packet}}}{\mathrm{R}_\mathrm{2}}+\frac{\mathrm{L}_{\mathrm{Packet}}}{\mathrm{R}_\mathrm{3}}$
$\sum_{\mathrm{i\ =\ 1}}^{\mathrm{3}}\mathrm{d}_{\mathrm{trans}}=\ \frac{\mathrm{L}_{\mathrm{Packet}}}{\mathrm{R}_\mathrm{1}}+\frac{\mathrm{L}_{\mathrm{Packet}}}{\mathrm{R}_\mathrm{2}}+\frac{\mathrm{L}_{\mathrm{Packet}}}{\mathrm{R}_\mathrm{3}}=\ \frac{{\mathrm{10}}^\mathrm{4}}{{\mathrm{10}}^\mathrm{7}}+\frac{{\mathrm{10}}^\mathrm{4}}{{\mathrm{10}}^\mathrm{8}}\ +\frac{{\mathrm{10}}^\mathrm{4}}{{\mathrm{10}}^\mathrm{7}}=\ \mathrm{2/1\ m\ sec}$
$\sum_{\mathrm{i\ =\ 1}}^{\mathrm{3}}\mathrm{d}_{\mathrm{prop}}=\ \frac{\mathrm{d}_\mathrm{1}}{\mathrm{s}}+\frac{\mathrm{d}_\mathrm{2}}{\mathrm{s}}+\frac{\mathrm{d}_\mathrm{3}}{\mathrm{s}}=\frac{\mathrm{100\ \times} {\mathrm{10}}^\mathrm{3}}{\mathrm{2\ \times}{\mathrm{10}}^\mathrm{8}}+\frac{\mathrm{500\ \times} {\mathrm{10}}^\mathrm{3}}{\mathrm{2\ \times}{\mathrm{10}}^\mathrm{8}}+\frac{\mathrm{100\ \times} {\mathrm{10}}^\mathrm{3}}{\mathrm{2\ \times}{\mathrm{10}}^\mathrm{8}}=\mathrm{3/5\ m\ sec}$
$\sum\limits_{{\rm{i}}\;{\rm{ = }}\;{\rm{1}}}^{\rm{2}} {{{\rm{d}}_{{\rm{queue}}}}} = \;{{\rm{d}}_{{\rm{queue1}}}} + {{\rm{d}}_{{\rm{queue2}}}} = {{\rm{k}}_{\rm{1}}}{{\rm{L}} \over {{{\rm{R}}_{\rm{2}}}}} + {{\rm{k}}_{\rm{2}}}{{\rm{L}} \over {{{\rm{R}}_{\rm{3}}}}}\; \underrightarrow{\ \mathrm{k}_\mathrm{i}=\mathrm{\circ\ \ldots\ 4}}\left\{ {\matrix{ {{\rm{Min}}\left( {{{\rm{d}}_{{\rm{total}}}}} \right) = {\rm{2/1}}\;{\rm{ + }}\;{\rm{3/5}}\;{\rm{ + }}\;^\circ \;{\rm{ = }}\;{\rm{5/6}}\;{\rm{m}}\;{\rm{sec}}\;\;\;\;\;} \cr {{\rm{Max}}\left( {{{\rm{d}}_{{\rm{total}}}}} \right) = \;{\rm{2/1}}\;{\rm{ + }}\;{\rm{3/5}}\;{\rm{ + }}\;{\rm{4/4}}\;{\rm{ = }}\;{\rm{10}}\;{\rm{m}}\;{\rm{sec}}} \cr } } \right.$
${\rm{Max}}\left( {{{\rm{d}}_{{\rm{total}}}}} \right) - Min\left( {{{\rm{d}}_{{\rm{total}}}}} \right) = 10 - 5/6 = 4/4m~sec$
${\rm{Playout}}\;{\rm{Delay}}\;{\rm{ = }}\;{{\rm{d}}_{{\rm{Buffer}}}} = {\rm{Max}}\left( {{{\rm{d}}_{{\rm{total}}}}} \right) - {\rm{Min}}\left( {{{\rm{d}}_{{\rm{total}}}}} \right) = 4/4m~sec$
$\mathrm{C}_{\mathrm{Buffer}}=\mathrm{R\ \times\ }\mathrm{d}_{\mathrm{Buffer}}=\mathrm{2\ \times}{\mathrm{10}}^\mathrm{6}\times\mathrm{4/4\ \times}{\mathrm{10}}^{-\mathrm{3}}=\mathrm{8/8\ Kbit}$
دشوار میخواهیم یک فایل 15 مگابایتی را ارسال کنیم. مبدأ و مقصد از طریق سه لینک و دو سوئیچ به یکدیگر متصل هستند. زمان ارسال از طریق هر کدام از روشهای circuit-switch(es)، virtual circuit-switch(ve) و datagram Packet-Switch(ps) به ترتیب از راست به چپ چند میلیثانیه است؟
(اندازه بستههای داده را 1/5 مگابایت و اندازه بستههای کنترلی برای برقراری و قطع تماس را در صورت نیاز 15 کیلوبایت در نظر بگیرید. در ضمن تأخیر انتشار در هر لینک 10 میلیثانیه، و پهنای باند هر لینک $15×10^6$ بیت بر ثانیه میباشند.) اصول و مقدمات شبکههای کامپیوتری
1 8144، 8162، 9030
2 8160، 9792، 9630
3 8144، 8192، 8030
4 8130، 9762، 9600
گزینه 2 صحیح است.
تعداد بسته های ارسالی $=\frac{1 5MB}{1.5MB}=10$
در ps پیام کنترلی رد و بدل نمی شود.
$Delay \ ps =3\times \frac{L}{R}+30\ ms +9\times \frac{L}{R}=12\times \frac{15\times10^6\times8}{10\times15\times10^6}=9630$
داستان cs:
Connection setup + send Data + connection release
در cs : پیام های کنترلی رد و بدل می شوند زیرا در ابتداد یک دستداد رخ می دهد و یک مسیر رزو می شود بنابراین داریم:
خطوط به رنگ های سبز و خاکستری و نارنجی پیام های کنترلی هستند.
در vc فاز برقراری اتصال و قطع اتصال داریم بنابراین یک مسیر بین فرستنده و گیرنده مشخص می شود و منابع رزرو می شوند و این منابع به اندازه ظرفیت معادل رزرو می شوند و مشابه packet switch دیتا ها را به صورت packet – packet می فرستد .
دشوار شبکه شکل زیر را در نظر بگیرید که در آن هاستهای A و B از طریق مسیریاب C به هاست D متصل هستند. فرض کنید در زمان صفر هاست A شروع به ارسال یک بسته 600 بیتی به D میکند. همچنین فرض کنید در زمان ∘ < T هاست B شروع به ارسال یک بسته 1000 بیتی به D میکند. زمان رسیدن یک بسته به D برابر زمانی است که آخرین بیت آن به D میرسد. تأخیر انتشار و ارسال لینکها بر روی آنها نوشته شده است. از تأخیر انتشار لینک بین C و D صرف نظر شود. بستهها به صورت Store-and-forward ارسال میشوند. آیا امکان دارد در سناریویی تفاضل زمان رسیدن بستههای B و A به D (بر حسب میلی ثانیه) شروع به افزایش خطی کند و اگر امکان دارد در چه زمانی این اتفاق رخ خواهد داد؟
اصول و مقدمات شبکههای کامپیوتری
1 2 میلی ثانیه
2 2/2 میلی ثانیه
3 3/2 میلی ثانیه
4 امکان ندارد.
گزینه 3 صحیح است.
ابتدا با توجه به ظرفیت لینکها و طول بستهها سعی میکنیم زمان ارسال بستهها روی 3 لینک را محاسبه کنیم:
=$\frac {600}{100\times 10^3}=6ms$ |
زمان ارسال بسته 600 بیتی از A به C |
=$\frac {600}{500\times 10^3}=1.2ms$ |
زمان ارسال بسته 600 بیتی از C به D |
=$\frac {600}{200\times 10^3}=5ms$ |
زمان ارسال بسته 1000 بیتی از B به C |
=$\frac {600}{500\times 10^3}=2ms$ |
زمان ارسال بسته 1000 بیتی از C به D |
روتر C |
هاست A و B |
زمان اتمام ارسال |
زمان شروع ارسال |
زمان رسیدن بسته به C |
اتمام ارسال |
زمان شروع ارسال |
بسته |
|
1 2 |
8 T+6 |
6 T+5 |
0 T |
A B |
+ با توجه به جدول بالا برای قسمت 1 و 2 باید ببینیم که کدام بسته زودتر به روتر رسیده است و آن بسته را اول ارسال کنیم. چون در اینجا پارامتر T معلوم نیست باید حالت بندی کرد. درصورتی که T از مقدار 2 کمتر باشد، معلوم است که اول بسته B ارسال میشود و بعد بسته A که جدول بالا را با این فرض پر میکنیم: (زمان درون جدول همه برحسب میلیثانیه هستند)
روتر C |
هاست A و B |
زمان اتمام ارسال |
زمان شروع ارسال |
زمان رسیدن بسته به C |
اتمام ارسال |
زمان شروع ارسال |
بسته |
T+9.2 T+8 |
T+8 T+6 |
8 T+6 |
6 T+5 |
0 T |
A B |
همانطور که مشاهده میشود اگر T عددی بین 0 و 2 باشد $(0< T < 2)$ اختلاف اتمام ارسال دوبسته همواره ثابت و برابر 1.2 میلیثانیه است: $T+9.2-(T+8)=1.2ms$
حال با فرض اینکه بسته A زودتر در روتر C ارسال شود $(T > 2)$ جدول را پر میکنیم:
روتر C |
هاست A و B |
زمان اتمام ارسال |
زمان شروع ارسال |
زمان رسیدن بسته به C |
اتمام ارسال |
زمان شروع ارسال |
بسته |
9.2 ? |
T+8 max{T+6,9.2} |
8 T+6 |
6 T+5 |
0 T |
A B |
همانطور که از جدول معلوم است، زمان شروع ارسال بسته B به این بستگی دارد که T+6 از مقدار 9.2 کمتر باشد یا بیشتر. اگر T+6 از مقدار 9.2 کمتر باشد یا به عبارتی $(T < 3.2)$، بسته B در هر صورت معطل ارسال بسته A میماند و تا زمان 9.2 باید صبر کند و بعد شروع به ارسال شدن میکند که در این صورت زمان اتمام ارسال بسته B برابر با $9.2 + 2 = 11.2$ میباشد. ولی اگر $(T > 3.2)$ باشد، هر زمانی که بسته B برسد شروع به ارسال شدن میکند و معطل بسته A نمیماند. بدیهی است که هر چه T بیشتر باشد، اختلاف زمان رسیدن بستهها هم افزایش مییابد.
دشوار برای ارسال پیامهای 1000 بایتی لایه انتقال، 24 بایت سرایند (Header) در لایه انتقال و 20 بایت سرآیند در لایه شبکه و 22 بایت سرآیند و 4 بایت دنباله (Trailer) در لایه پیوند دادهها به هر واحد داده اضافه میشود. اگر محدودیت طول فریم در لایه پیوند داده 250 بایت باشد، بهره انتقال چقدر خواهد بود؟ اصول و مقدمات شبکههای کامپیوتری
1 %77
2 %85.2
3 %87.1
4 %89.9
گزینه 1 صحیح است.
$\text{راندمان}= \frac{\text{مفید}}{\text{کل }\ داده}$
دیتا لینک بسته را قطعه قطعه نمی کند و لایه شبکه هست که نمی تواند بسته های بزرگتر از 224 بایت را به لایه پیوند داده بدهد .
هدر خود لایه شبکه 20 بایت است بنابراین لایه انتقال نباید سگمنت بزرگتر از 204 به شبکه بدهد حال هدر خود لایه انتقال 24 بایت
است بنابراین انتقال نباید دیتای بیشتر از 180 تا درون سگمنت اش بگذارد .
اگر قطعه قطعه شدن در لایه انتقال صورت می گیرد :
$MTU=250 \\ MSS=250-\{22+4+24+20\}=180$ تعداد بسته $: \lceil \frac{1000}{180}\rceil=6 $ راندمان $= \frac{1000}{1000+6 \times (24+20+22+4)} \times 100$%$=71$%
اگر قطعه قطعه شدن در لایه شبکه صورت می گیرد : لایه انتقال بسته با سایز 1024 تایی را به لایه شبکه می دهد.
$ MSS=250-\{22+4 +20\}=204 $ تعداد بسته $: \lceil \frac{1024}{204}\rceil=6$ راندمان $= \frac{1000}{1024+6 \times (20+22+4)} \times 100$%$=77$%
اگر قطعه قطعه شدن در لایه Data link صورت می گیرد :
$MSS=250-\{22+4\}=224$ تعداد بسته $: \lceil \frac{1044}{224}\rceil=5$ راندمان $= \frac{1000}{1044+5 \times (20+22+4)} \times 100$%$=77$%
دشوار در یک ارتباط شبکهای بین میزبانهای مبدأ و مقصد، دو سوئیچ و ۳ لینک با تأخیر انتشار ۱۲ میلیثانیه و ظرفیت ۱۵ مگابیت بر ثانیه وجود دارد. میخواهیم فایلی با سایز ۱۵ مگابایت را در قالب بستههای 1/5 مگابایتی ارسال کنیم. همچنین سایز بستههای کنترلی برای برقراری و قطع ارتباط در صورت نیاز برابر ۱۵ کیلوبایت میباشد. حداقل تأخیر ارسال این فایل و قطع ارتباط، اگر شبکه بهصورت الف) Datagram Packet-Switched ب) Virtual-Circuit Packet-Switched و پ) Circuit-Switched باشد، چند ثانیه است؟ اصول و مقدمات شبکههای کامپیوتری
1 الف: 9/636، ب: 9/756 و پ: 8/184
2 الف: 9/636، ب: 9/816 و پ: 8/124
3 الف: 9/636، ب: 9/756 و پ: 8/124
4 الف: 9/636، ب: 9/816 و پ: 8/184
تعداد بستههای ارسالی برابر $P=\frac{L_{File}}{L_{Packet}}=\frac{۱۵MBytes}{۱/۵MBytes}=۱∘$ میباشد. بنابراین خواهیم داشت:
$d_{Datagram\ Packet-Switched}=\sum^3_{i=1}{\frac{L}{R}}+\sum^3_{i=1}{d_{{Prop}_i}}+\left(P-1\right)\frac{L}{R} \\ \qquad\qquad\qquad\qquad~~~~~~= \left(3+10-1\right)\times \frac{1/5\times 8\times {10 }^{6\ bits}}{15\times {10}^{6\ bps}}+3\times {12}^{ms}={9/636}^{sec}$
$d_{Virtual-Circuit\ Packet-Switched}=d_{VC-Setup}+\sum^3_{i=1}{\frac{L}{R}}+\sum^3_{i=1}{d_{{Prop}_i}}+\left(P-1\right)\frac{L}{R} \\ \qquad\qquad\qquad\qquad~~~~~~~~~~~~~~=3\times \left(3\times \frac{15\times 8\times {10}^{3\ bits}}{15\times {10}^{6\ bps}}+3\times {12}^{ms}\right)+\left(3+10 -1\right)\times \frac{1/5\times 8\times {10 }^{6\ bits}}{15\times {10}^{6\ bps}}+3\times {12}^{ms} \\ \qquad\qquad\qquad\qquad~~~~~~~~~~~~~~={0/18}^{sec}+{9/636}^{sec}={9/816}^{sec}$
$d_{Circuit-Switched}=d_{Circuit-Setup}+\frac{P\times L}{R}+\sum^3_{i=1}{d_{{Prop}_i}} \\ \qquad\qquad\qquad~=3\times \frac{15\times 8\times {10 }^{3\ bits}}{15\times {10 }^{6\ bps}}+3\times {12}^{ms}+2\times \left(\frac{15\times 8\times {10 }^{3\ bits}}{15\times {10 }^{6\ bps}}+3\times {12}^{ms}\right)+\frac{10 \times 1/5\times 8\times {10 }^{6\ bits}}{15\times {10 }^{6\ bps}}+3\times {12}^{ms} \\ \qquad\qquad\qquad~={0 /06}^{sec}+{0/088}^{sec}+{8/036}^{sec}={8/184}^{sec}$
نمونه سوالات فصل لایه کاربرد درس شبکه های کامپیوتری
آسان فرض کنید شخصی در مرورگر وب خود روی یک لینک برای دریافت یک صفحه وب کلیک میکند، اگر آدرس IP مربوط به این URL در میزبان بصورت محلی وجود داشته باشد، و فایل HTML مرتبط با این لینک دارای 8 Object باشد درصورتیکه زمان رفت و برگشت بین سرویس گیرنده و سرویس دهنده 100 ms و زمان ارسال Objectها ناچیز باشد با استفاده پروتکل Non-persistent HTTP و HTTP Persistent از زمانیکه شخص روی لینک کلیک میکند تا زمانیکه صفحه وب را بطور کامل دریافت میکند چند میلی ثانیه چقدر طول میکشد؟ لایه کاربرد
1 900-1800
2 300-900
3 1800_300
4 100-300
گزینه 3 صحیح است.
Http به صورت پیش فرض از اتصال پایا tcp و درخواست های موازی http استفاده می کند و اگر درمورد درجه موازی سازی صحبتی نشده باشد، درجه را به صورت پیش فرض بی نهایت می گیریم
در Http ای که از اتصال گذرا Tcp استفاده می کند اگر در مورد سری یا موازی بودن در خواست های http صحبتی نشده باشد به صورت پیش فرض سری در نظر بگیرید.
برای Non-persistent http داریم:
چون صورت سوال درباره سری بودن و موازی بودن صحبت نکرده است پس پیش فرض سری در نظر میگیریم:
پس 2RTT برای HTML نیاز داریم و 2 RTT برای هر شی موجود پس در کل 16 RTT برای 8 شی طول می کشد:
$9\ RTT \times 2\ RTT=18\ \times 100=1800MS$
برای persistent http داریم:
چون صورت سوال درباره سری بودن و موازی بودن صحبت نکرده است پس پیش فرض موازی در نظر میگیریم:
پس 2RTT برای HTML نیاز داریم و RTT برای 8 شی موجود پس در کل داریم:
$3\ RTT=3\ \times \ 100 = 300MS$
آسان کامپیوتری برای بدست آوردن اطلاعات یک وبسرور اقدام به انجام عملیات DNS میکند. در جریان عملیات DNS سرور
ریشه نام در پاسخ به
سرور محلی نام اطلاعات زیر را ارسال میکند.
لایه کاربرد
ir. 172800 IN NS x-servers.net
ir. 172800 IN NS abc-servers.net
سپس سرور محلی نام درخواستی برای x-servers.net ارسال میکند. پاسخ سرور x-servers.net به درخواست سرور محلی نام چه میتواند باشد؟
1 آدرس IP وبسرور
2 آدرس سرور محلی نام مربوط به وبسرور
3 آدرس سرور معتبر به همراه نام (Authoritative Name Server)
4 آدرس IP وبسرور بههمراه مشخصات سختافزاری و سیستمعامل وبسرور
DNS :
جابه جایی بسته ها در اینترنت براساس شماره IP مبدا و مقصد انجام می شود ، ولی برای ما انسان ها خیلی راحت تر است که وقتی می خواهیم با یک جابه جایی ارتباط برقرار کنیم نام اش را به خاطر بسپاریم ، به جای یک شماره IP .
پس آمدند برای شماره های IP نام های قابل فهمی در نظر گرفتند پس نیاز به سرویسی داریم که بتواند نام میزبان ها را به آدرس IP تبدیل کند..
نکته : به این عمل که کسی نام را بدهدو آدرس IP بخواهد می گویند Resolve کردن . در اصطلاح می گوییم DNS ، look up می شود یا DNS ، Resolve می شود.
برای راه اندازی سیستمی که یوزرها به آن سیستم نام ها را بدهند و آدرس IP آن نام ها را بگیرند ابتدا نیاز شد تا یک ساختار درختی برای نام ها ایجاد شود . ساختار درختی یعنی یک نام یکسری قسمت هایی دارد که می توان با مشاهده این قسمت ها به یکسری از ویزگی ها پی برد.
یکی از مزایا تعریف نام به صورت درختی و سلسله مراتبی این است که تعرف نام های دامنه در هر زیر شاخه ای به نهادهای زیر مجموعه ان شاخه مربوط می شود .برای این منظور در هر لول مدیری برای ان لول تعریف می شود.
این ساختار درختی به صورت زیر است :
تا الان ما یک فضا بزرگ نام داریم با مدیریت توزیع شده ، حالا وقتی یک یوزر می خواهد به یک اسمی داده بفرستد چگونه باید آدرس IP آن را پیدا کند ؟
برای این منظور باید یک دیتا بیسی داشته باشیم که نام و آدرس های مربوط به آن را نگه دارد.
هنگامی که یک برنامه کاربردی یک پرسو جوی DNS را درخواست می کند ، ابتدا کش کامپیوتر میزبان جستجو می شود و اگر نگاشت آدرس به آی پی وجود داشته باشد که نتییجه به APP داده می شود ولی اگر این نگاشت در کش نباشد این پرس و جوی DNS به local DNS Server داده میشود ، بنابراین جز الزامات اولیه فرایند تبدیل نام به آدرس این است که برای هر کامپیوتر متصل به اینترنت مشخص شده باشد که اگر آدرس IP یک نام را بلد نیست باید local Dns Server را در چه آدرسی پیدا کند . این آدرس را می توانید در پنجره وضعیت کارت شبکه خود مشاهده کنید .وقتی به یک ISP وصل می شوید ISP از طریق DHCP آدرس IP یکی از local DNS server های خودش را اتوماتیک برای ما ست می کند.
حال وقتی پرس و جو DNS به دست Local DNS Server می رسد ، این سرور کش خودش را نگاه می کند و اگر نگاشت مورد نظر را داشت آن را به یوزر ارسال می کند ، در غیر این صورت از اینجا به بعد 2 روش وجود دارد.
یک پرس و جوی DNS می تواند به 2 صورت باشد:
1_ Recursive query
2_ Iterative query
حافظه نهان در DNS :
هر سرور DNS نگاشت ها را به اندازه یک زمان مشخص برای خودش کش می کند پس از این زمان نگاشت مدنظر معتبر نیست و دور ریخته می شود .
کامپیوتری که می خواهد یک نام به خودش تخصیص دهد باید چه کند؟
این کامپیوتر باید IP ادرس و نام خودش را به DNS ای که به آن وصل هست بدهد و آن DNS هم باید یک entry جدید در لیست mapping نام به IP هایش اضافه کند.
نکته : اگر در زمان نگاشت نام به IP در یکی از سرورهای DNS ، یک هاست به یکباره IP خودش را عوض کند دیگر دسترسی به آن میزبان میسر نخواهد بود تا زمانیکه تمامی TTL ها منقضی بشوند.
نکته : سیستم DNS از 2 بخش تشکیل شده است :
1_ پایگاه داده توزیع شده و سلسله مراتبی
2_ یک پروتکل لایه کاربرد که با استفاده از این پروتکل میزبان ها و سرورهای DNS باهم صحبت می کنند.
نکته : پروتکل DNS روی UDP اجرا می شود و از پورت 53 استفاده می کند.
نکته : DNS یک تاخیر اولیه به برنامه هایی که از آن استفاده می کند اضافه می کند.
آسان بخشی از کد نرمافزار سرور را در زیر میبینید:
لایه کاربرد
…
port = 1200
CLNT = socket(AF_INET, SOCK_STREAM)
CLNT.bind((210.17.0.5, port)
CLNT.listen(5)
…
CLNT چیست و چه مشخصاتی دارد؟
1 نام سوکت استقبال (welcoming) – این سوکت روی پورت 1200 منتظر دریافت درخواست ارتباط از مبداء 210.17.0.5 بوده و میتواند تا 5 درخواست را برای رسیدگی داشته باشد.
2 نام آبجکت سوکت کلاینت – آدرس این سوکت 210.17.0.5:1200 بوده و در حال گوش کردن به درخواستهای ورودی است. اندازه بافر درخواست 5 است.
3 نام آبجکت سوکت کلاینت – این آبجکت به سروری با آدرس 210.17.0.5 و پورت 1200 متصل میشود و تا 5 دقیقه باز میماند.
4 نام سوکت ارتباط (connection) در طرف سرور – این سوکت با کلاینتی به آدرس 210.17.0.5:1200 متصل است و میتواند تا 5 اتصال همزمان (parallel) با آن داشته باشد.
گزینه 1 صحیح است.
سرور روی welcoming منتظر درخواست های مختلف تماس آغازین از سمت کلاینت های مختلف است، حال سرور هر درخواستی را که قبول کند، برای آن درخواست سوکت جدید به نام سوکت اتصال می سازد که از طریق این سوکت بایت های مشتری به سرور و برعکس رد و بدل می شود. حال اون عدد 5 نشان دهنده حداکثرتعداد درخواست های آغازینی هست که منتظر هستند تا سرور براشون سوکت اتصال ایجاد کند، در واقع یک صف است که از این تعداد اگر بیشتر شود سرور درخواستش را رد می کند.
متوسط یکی از کاربردهای متداول در اینترنت، تماشای فیلم بهصورت جریانِ ویدئو (Video-Streaming) است. این کاربرد با دو پیچیدگی همراه است. این دو عبارتند از:
- «تواناییِ پردازشی» و «پهنایِ باندِ دریافت» کاربران با هم متفاوت است. برخی کاربران برایِ تماشای فیلم از کامپیوترهای کمتوان با پهنای باند ناچیز استفاده میکنند.
- برخی از ویدئوها بسیار محبوب میشوند و بینندگان بیشماری پیدا میکنند.
چگونه این پیچیدگیها را حل کردهاند؟ لایه کاربرد
1 یکی از راهحلهایی که برای مقابله با تفاوت زیاد در «توان پردازشی» و «پهنای باند دریافت» ایجاد شده ابداع پروتکلهایی است که بهصورت انطباقپذیر و دینامیک این تفاوتها را درنظر میگیرند. برای حل پیچیدگی دوم از شبکههای توزیع محتوا استفاده میشود.
2 ویدئوها برای استفاده در شبکه دارای کدینگ خاصی هستند. این کدینگ با عنایت به چالشهای جریانِ ویدئو طراحی و ساخته شده است. در حال حاضر سه استاندارد برای کدینگِ ویدئو در اینترنت وجود دارد که هر دو پیچیدگی را تا حدودی رفع کرده است.
3 پیچیدگی «توان پردازشی» و «پهنای باند» راهحلی از جنس استفاده از مکانیزم اولویت در مسیریابها دارد. مسیریابها برای ترافیکِ جریانِ ویدئو اولویت قائل میشوند و این به انتقال سریع آنها کمک میکند. چالش مربوط به بینندگان زیاد را با بهکارگیری سرورهای زیاد در مراکز داده حل کردهاند.
4 چالش مربوط به تفاوت زیاد در «توانایی پردازش» را با بهکارگیری الگوریتمهای فشردهسازی حل کردهاند. این الگوریتمها اجازه میدهد که ویدئو سبکشده و گیرندههایی که توان پردازش کمی دارند و یا دارای محدودیت در پهنای باند دریافت هستند به مشکل نخورند. چالش مربوط به ویدئوهای محبوب با تعداد بینندگان زیاد را هم با استفاده از روش Peer to Peer حل کردهاند.
جواب این سؤال در فصل دوم کتاب Computer Networking A Top-Down Approach (James W. Kurose, Keith W. Ross) یافت میشود.
برای رفع مشکل اول از پروتکل ارسالی به اسم Dynamic Adaptive Streaming over HTTP (DASH) استفاده میشود که در آن ویدیو ارسالی به چندین ورژن مختلف کدینگ میشود که هر کدینگ نیاز به پهنایباند و پردازش متفاوتی دارد. کاربر در هر لحظه قسمتی از ویدیو را از سرور درخواست میکند اگر پهنایباند کاربر کافی باشد سرور ورژنهای با کیفیت بالاتر را در اختیار کاربر قرار میدهد امّا اگر کاربر پهنایباند مناسب نداشته باشد ورژنهای بیکیفیتتر را دریافت میکند.
برای رفع مشکل دوم از شبکههای توزیع محتوا استفاده میشود. این شبکهها سرورهای مختلف را در موقعیتهای جغرافیای گوناگون کنترل و ویدیوهای مورد استفاده را کپی میکنند. این سیستم در هر زمان کاربر را به سرورهایی متصل میکند که بهترین تجربه کاربری را فراهم میکنند.
با توجه به این توضیحات تنها گزینه ۱ جواب کامل میباشد.
در گزینه ۲ راه حل مشکل دوم نادرست است و برای حل مشکل اول بسیار راه حل خاصی است.
در گزینه ۳ راه حل مشکل اول نادرست است و راه حل مشکل دوم ناکافی است.
در گزینه ۴ راه مشکل اول ناکافی است و راه حل مشکل دوم نادرست است.
متوسط بخشی از کد برنامه کلاینتی به شرح زیر است:
لایه کاربرد
...
myport = 4321
destination = socket (AF_INET, SOCK_DGRAM)
destination.bind((”,80))
برنامه سروری که این کلاینت با آن وصل میشود، از چه شماره پورتی برای خود و چه شماره پورتی برای کلاینت استفاده میکند؟
1 از شماره پورت 4321 برای کلاینت استفاده کرده و سیستم عامل مشخص میکند که چه شماره پورتی را برای خود استفاده کند.
2 سیستم عامل تصمیم میگیرد چه شماره پورتی برای کلاینت استفاده شود و خود از شماره پورت 80 استفاده میکند.
3 از شماره پورت 80 برای کلاینت و از شماره پورت 4321 برای خود استفاده میکند.
4 از شماره پورت 4321 برای کلاینت و از شماره پورت 80 برای خود استفاده میکند.
همان طور که می دانید فرایند فرستنده برای اینکه بتواند یک بسته را با استفاده از پروتکل UDP از سوکت خود به سمت فرستنده ارسال کند باید آدرس گیرنده که شامل آدرس IP گیرنده و شماره پورت سوکت مقصد به بسته الحاق کند. پس به هر بسته خروجی فرستنده آدرس مقصد(IP مقصد +Port مقصد) الحاق می شود . که در سمت مشتری، IP وPort مقصد را مشخص می کنیم:
Servername = ’hostname’
serverport = شماره پورت
فرایند فرستنده آدرس مبدا (IP مقصد +Port مقصد) را به بسته می چسباند این کار به 2 صورت انجام می شود
اگر در کد برنامه کاربردیUDP از تابع bind استفاده نکردیم os بصورت خودکار این کار را انجام می دهد و در غیر این صورت کد سمت مشتری آدرس مبدا را مشخص می کند.
پس اگر فقط بنویسیم : Clientsocket=socket(socket.AF_INET,Socket.sock_DGRAM)
خود OS آدرس مبدا را به بسته می دهد و می چسیاند.
دشوار در شبکه شکل مقابل، یک Web Server ازطریق شبکه محلی خود با لینکی به مسیریاب $R_S$ متصل است. در این شبکه، Client بهطور پیوسته در حال ارسال درخواست برای Web Server است ولی ابتدا درخواستهای خود را به Web Cache محلی درون شبکه محلی خود میدهد که نسبت برخورد (Hit Ratio) این
Cache Web برابر 50 درصد است. اگر درخواست Client از طریق
Cache Web محلی پاسخ داده نشود، درخواست به Server
Proxy میانی ارجاع داده میشود که نسبت برخورد آن 40 درصد است. ظرفیت انتقال و زمانهای انتشار برای هر لینک ارتباطی روی شکل مشخص شده است و زمانهای انتشار در شبکههای محلی قابل صرفنظر است. حداکثر Throughput دریافتی این Client بهطور میانگین چند مگابیت بر ثانیه است؟
لایه کاربرد
1 500
2 635
3 250
4 540
میزان حداکثر Throughput دریافتی بهطور متوسط یا میانگین حداکثر نرخ دریافتی Client برابر است با:
$Throughput = \circ/۵×۱^{Gbps}+(۱-∘/۵)×[∘/۴×min{\{۱^{Gbps},۳∘∘^{Mbps}\}}+(۱-∘/۴)×min{\{۱^{Gbps},۳∘∘^{Mbps},۵∘∘^{Mbps},۲۵∘^{Mbps}\}]} \\ \qquad\qquad~~~~~ =۵∘∘^{Mbps}+{1 \over 2}×∘/ ۴×۳∘∘^{Mbps}+∘∕۶×۲۵∘^{Mbps}=۶۳۵^{Mbps}$
دشوار چند مورد از گزینههای زیر درست است؟
لایه کاربرد
- تاخیر انتها – به – انتهای بستهها در روترهای برشی (cut - through) از روترهای ذخیره و ارسال (store&forward) کمتر است.
- بر اساس گفتمان انتها – به – انتها، اتکاپذیری باید در لایه شبکه پیاده سازی شود.
- درخواستهای خط لوله (pipelined) در پروتکل HTTP میتوانند زمان پاسخ را کاهش دهند.
- یکی از اهداف اصلی شبکههای نرم افزار محور (SDN) تعریف انتزاع برای لایه داده (data plane) شبکه است.
1 یک
2 دو
3 سه
4 چهار
گزاره 1:
cut-through و store and forward دوتا از تکنیک های پیاده سازی سخت افزار سوییچ های packet_Switching هستند.
cut-through: این نوع از سویئچها سه یا چهار بایت اول یک بسته را میخوانند تا بالاخره آدرس مقصد را پیدا کنند سپس بسته را به آن بخش یا سگمنتی که آدرس مقصد بسته را دارد ارسال میکنند و بقیه قسمتهای باقی مانده را ار نظر خطایابی مورد بررسی قرار نمیدهند .یعنی تا بسته را به حدی گرفت که بتواند آدرس مقصد را بخواند ارسال میکند یعنی کل بسته را ممکن است نگیرد و همین که مقصد را فهمید ارسال میکند
گزاره 1 درست است زیرا:
در این نوع سوئیچینگ فقط قسمتهای اولیه فریم که شامل Preamble و آدرس MAC گیرنده میشود توسط دستگاه چک میشود و فریم سریعا به مقصد خودش هدایت میشود.
خوبیه این روش نسبت به حالت Store and forward این است که سرعت بالاتری دارد و مشکل این روش یا بهتر بگویم نقطه ضعف این روش احتمال فرستاده شدن فریم های بد به مقصدهای مورد نظر است زیرا که CRC فریم مورد اندازه گیری واقع نمیشود .
گزاره 2 :
حداقل سرویسهای لایه انتقال که باید در اختیار لایه App قرار بدهد
1_ تحویل داده فرایند به فرایند
2_تشخیص خطا
The most fundamental responsibility of UDP and TCP is to extend IP delivery
Service between two end systems to a delivery services between two processes
Running on the end systems. Extending host-to-host delivery to processes-to-processes delivery is called transport-layer multiplexing
گزاره 3:
این گزاره درست است، در مورد اینکه از اتصال پایا یا غیر پایا tcp استفاده کرده صحبتی نکرده، بنابراین هر 2 حالت را باید در نظر بگیریم ، میدانیم که اتصال Tcp چه پایا باشد په غیر پایا باشد اگر اشیا را به صورت موازی درخواست کنیم به جای سری، زمان پاسخ کاهش مییابد.
حال گفتیم وقتی کاربر روی یک لینک کلیک میکند و صفحهای را میخواهد مرورگر باید برابر یکایک اشیا درون صفحه یک پیام درخواستHTTP جداگانه به سمت سرور ارسال کند، حال این درخواستها میتواند به صورت سری یا موازی به سمت سرور ارسال شود،
سری به این صورت است که تا جواب یک درخواست http دریافت نشده است درخواست HTTP دیگری به سمت سرور ارسال نمیکند کلاینت، موازی به این صورت است که کلاینت درخواست های HTTP موازی به سمت سرور ارسال میکند.
گزاره 4 :
این گزاره توسط طراح بد مطرح شده است و باتوجه به توضیحاتی که در زیر ذکر شده میتوانیم گزینه را غلط بگیریم
هر سخت افزار از 3 بخش تشکیل شده است :
1_Data plane
2_control plane
3_management plane
1_ Data plane: تستی از سخت افزار که ترافیک داده ها را بین کلاینت ها هندل می کنند ، جابه جایی و transfer داده به عهده Data plane است.
آن قسمتی از سخت افزار است که وظیفه اش این است که دیتا را از یک پورت ورودی به یک پورت خروجی ارسال کند
2_control plane: مکانیزم روتینگ بسته ها را در سخت افزار برعهده دارد، یعنی مشخص میکند که هر بسته به چه سمتی باید برود. مشخص میکند که فریمها و پکتها از چه سمتی باید بروند
مجموعهای از پروسسهایی هستند که مسیریابی را برای فریمها و پکتها مشخص میکند.
درشبکههای سنتی کلیه عملکردهای یک Device درون همان Device قرار میگرفت و همینطور ما به درون Device ها دسترسی نداریم و نمیتوانیم آن هارا بهینه کنیم یا شخصی سازیش کنیم یا تغیرش بدهیم.
همین طور ما باید هر یک از Device ها را به صورت مجزا کانفیگ کنیم. هر برندی نیز کامنتهای مختص به خودشان را دارند .اگر در جایی خرابی رخ دهد نمیتوانیم خیلی سریع واکنشی نشان دهیم، چون الگوریتمهای مسیریابی فعلی به صورت توزیع شده هستند و نودها کم کم به هم این خرابی را اطلاع میدهند.
در شبکه های سنتی کل فرایند مدیریت شبکه ومعماری مدیریت شبکه به صورت توزیع شده بوده یعنی ما در همه Device ها باید بحث control plane و management plane را انجام بدهیم که این باعث میشد مدیریت و رفع خطا در شبکههای بزرگ به مشکل بر نخورد، حالا ایده SDN این است که معماری شبکه به سمت centralized برود.
ما با SDN میتوانیم به جای اینکه به هریک از Device های درون شبکه جداگانه وصل شویم و برای هریک کانفیگ جداگانه انجام دهیم ، کانفیگ هر دستگاه درون همان دستگاه باشد و همین طور آنالیز هرDevice را با توجه به خود Device انجام بدهیم از یک مرکز این کارهارا انجام بدهیم و روی همه Device های شبکه این تنظیمات اعمال بشود.
نمونه سوالات فصل لایه انتقال درس شبکه های کامپیوتری
آسان در یک لینک مایکرویو به طول 300Km، طول فریمهای ارسالی 100 بیت و نرخ ارسالی 1Mbps است. راندمان خط با فرض پروتکل پنجره لغزان (Sliding Widow) با پنجره 10تایی چقدر است؟ لایه انتقال
1 9%
2 22%
3 48%
4 100%
گزینه 3 صحیح است.
در SR هم پنجره ارسال داریم و هم پنجره دریافت . این 2 پنجره لزوما باهم انطباق ندارند.
فرستنده SR :
اگر فرستنده ACK دریافت کند در بازه [sendbase,sendbase+n] فرستنده بسته مربوط به آن را به عنوان بسته ای که گیرنده به درستی دریافت کرده علامت میزند.اگر فرستنده ack بسته اول پنجره ارسال اش را بگیرد sendbase را تاجایی که به یک بسته تصدیق نشده برسد جلو می برد.
گیرنده SR :
اگر در گیرنده بسته ای دریافت کردیم که دربازه [rcv-base,rcv,base+n] بود چه قبلا این بسته را گرفته باشیم و چه نگرفته باشیم این بسته را ack می کنیم، سپس اگر این بسته قبلا دریافت نشده باشد آن را در بافر می گذاریم ، حال اگر این بسته اولین بسته پنجره دریافت گیرنده بود آنگاه این بسته تا جایی که به اولین بسته بافر نشده برسیم به لایه بالاتر تحویل داده می شود.
در روش SR بسته های خارج از ترتیب دریافت شده توسط گیرنده که درست هستند درگیرنده بافر می شوندتا وقتی ناقصی ها کامل شوند همه را به یکباره به لایه بالاتر و به ترتیب تحویل بدهد.
بهره وری SR وقتی خطا نداریم :
$U_{SW}$ |
|
|
$W\lt W_s\ \ :$ |
$W\times \frac{T_{trans}}{T_{total}}\times (1-\frac{H}{F})$ |
|
$W\ge W_s\ \ :$ |
$(1-\frac{H}{F})$ |
|
|
یعنی 100 درصد از بهره وری استفاده شده |
$T_p=\frac{300\times {10}^3}{3\times {10}^8}=1ms$
$T_{trans}=\frac{100}{{10}^6}=0.1ms$
اولین کار این است که $w_s$ را بدست آوریم:
$w_s=\frac{T_{total}}{T_{trans}}=\frac{T_{trans}+2T_p}{T_{trans}}=\ \frac{0.1ms+2\ ms}{0.1\ ms}=21$
$W=10\lt w_s$ |
|
|
$u_{sw}=w\times \frac{1}{w_s}=10\ \times \frac{1}{21}=\ 0.476\ \cong 0.48\ \times 100=48\%$
آسان چند مورد از گزارههای زیر صحیح است؟
لایه انتقال
الف) هنگامیکه TCP وارد حالت اجتناب از ازدحام میشود، مقدار پنجره ارسال نصف شده و سپس در هربار پنجره یک واحد افزایش مییابد.
ب) در TCP نسخه Tahoe، همواره حرکت بهصورت نمایی است و در مقطعی اندازه پنجره به یک برمیگردد و دوباره حرکت نمایی.
ج) در مقطعی که TCP Reno و TCP Tahoe عملکرد یکسانی داشته باشند آنگاه اندازه پنجره از مقدار آستانه (ssthresh) کمتر یا مساوی است.
1 صفر
2 1
3 2
4 3
هیچکدام از گزارهها صحیح نیستند.
آسان وقتی که یک بسته TCP به یک میزبان میرسد، پشته شبکه در سیستم عامل از چه تعداد از فیلدهای زیر در سرآیند بسته برای تحویل صحیح آن به سوکت متناظر استفاده میکند؟
لایه انتقال
- عدد پروتکل انتقال
- آدرس IP مقصد
- عدد پورت مبدأ
- عدد پورت مقصد
- آدرس MAC مقصد
1 دو
2 سه
3 چهار
4 پنج
TCP : شروع یک اتصال TCP با Client است ، اما سرویس دهنده TCP باید از قبل به صورت یک فرایند روی سرور درحال اجرا باشد تا مشتری بتواند اتصال را شروع کند. در برنامه هایی که از پروتکل TCP استفاده می کنند، برنامه سمت سرور می خواهد روی تک به تک درخواست های client های مختلف کنترل داشته باشد، بنابراین سرور نیاز دارد که بین این ها تمایز قائل شود.
به همین علت است که:
یک سوکت UDP با دو مشخصه ، مشخص می شود:
1_ آدرس IP مقصد
2_شماره پورت مقصد
یک سوکت TCP با 4 مشخصه ، مشخص می شود:
1و2_ شماره پورت فرایندهای مبدا و مقصد
3و4_ IP هاست مبدا و مقصد
همچنین به همین علت است که در TCP :
به ازای هر سوکت بافر و متغییرهای کنترلی ای در client و server نگهداری می شود.
Upper layer protocol: پروتکل لایه بالاتر را مشخص می کند که چیست ، در واقع مشخص می کند که داده دیتا گرام را باید host به چه پروتکلی در لایه بالاتر تحویل دهد ، روترهای میانی به این فیلد توجهی نمی کنند.
باتوجه به توضیحات بالا پشته شبکه در سیستم عامل از فیلدهای عدد پروتکل و آدرسIP مقصد و عدد پورت مبدا و عدد پورت مقصد استفاده می کند.
آسان رفتار فرستنده TCP (Action) در سناریوی شکل زیر پس از دریافت 40= Ack کدام است؟ (seq شماره دنباله سگمنت ارسالی و Ack شماره بایت بعدی مورد انتظار در TCP است.)
لایه انتقال
1 ارسال سگمنت بعدی با 40= seq
2 ارسال مجدد سگمنت 8 بایتی با 22= seq
3 ارسال مجدد سگمنت 10 بایتی با 30= seq
4 ارسال مجدد سگمنت تجمیع شده 18 بایتی با 22= seq
پاسخ: گزینه اول صحیح است
TCP از ACK تجمیعی استفاده میکند و این ACK به بایت ها اشاره میکند و گیرنده ACK اولین بایتی را به فرستنده می دهد که تا قبل از آن بایت را درست گرفته است.
در TCP برای هر سگمنتی که ارسال میشود یک Seq # در نظر گرفته میشود که این Seq# شماره اولین بایت درون قطعه است و Seq# در ابتدا دو طرف اتصال به صورت تصادفی انتخاب میشود.
در این سوال پس از دریافت ACK =40 ارسال سگمنت بعدی با Seq=40 را انجام میدهد. درست است که ACK = 30 به A نرسیده ولی وقتی ACK=40 به A میرسد A میفهمد که B تا بایت 39 را بدرستی دریافت کرده و الان منتظر بایت 40 به بعد است .
متوسط در یک ارتباط دو فرآیند روی میزبان A و B از طریق شبکه، اندازه پنجره ارسال فرآیند مبدأ در میزبان برابر ۱۵ سگمنت است. این فرآیند ۸ سگمنت (با شمارههای ۱ تا ۸) برای فرآیند مقصد در میزبان B ارسال میکند ولی در ارسال دفعه اول، فقط سگمنت شماره ۴ در مسیر از دست میرود (lost میشود) و در دفعه دوم (ارسال مجدد در صورتنیاز) فقط سگمنت شماره ۶ از دست میرود. در دفعات بعدی سگمنتی از دست نمیرود. برای روشهای ARQ در لایه انتقال، الف) Go-Back-N و ب) Selective Repeat، فرآیند مبدأ چند سگمنت ارسال و چند ACK دریافت میکند و چند بار انقضای Timeout رخ میدهد؟ (فرض کنید زمان Timeout دو برابر RTT میباشد). لایه انتقال
1 الف: ۱۶ ارسال، ۱۴ ACK و ۲ انقضای Timeout و ب: ۹ ارسال، ۸ ACK و یک انقضای Timeout
2 الف: ۱۴ ارسال، ۱۴ ACK و ۲ انقضای Timeout و ب: ۹ ارسال، ۹ ACK و یک انقضای Timeout
3 الف: ۱۳ ارسال، ۱۱ACK و یک انقضای Timeout و ب: ۱۱ ارسال، ۹ ACK و ۲ انقضای Timeout
4 الف: ۱۱ ارسال، ۱۱ACK و یک انقضای Timeout و ب: ۱۱ ارسال، ۱۱ACK و ۲ انقضای Timeout
در روش SR، چون سگمنتهای خارج از ترتیب در بافر دریافت (پنجره دریافت) نگهداری میشوند، فقط سگمنت گمشده مجدد ارسال میشود، بنابراین در دفعه اول که فقط سگمنت شماره ۴ گم میشود، بقیه در مقصد دریافت میشوند و بعد از انقضای Timeout برای سگمنت ۴، در دفعه دوم فقط بسته ۴ ارسال شده و ACK آن دریافت میشود. بنابراین مجموعاً 9 = 1 + ۸ ارسال و ۸ = 1 + ۷ عدد ACK دریافت میشود و فقط یک انقضای Timeout خواهیمداشت. در روش GBN، چون فقط سگمنتها بهترتیب گرفته میشوند، در دفعه اول ارسال وقتی که سگمنت شماره ۴ گم میشود، برای سگمنتهای ۵ تا ۸ بهصورت تجمعی ACK سگمنت شماره ۳ مجدد ارسال میشود. بعد از انقضای Timeout برای سگمنت ۴، سگمنتهای ۴ تا ۸ مجدد ارسال میشوند که این دفعه سگمنت شماره ۶ گم میشود بنابراین برای سگمنتهای ۷ و ۸، بهصورت تجمعی ACK سگمنت ۵ ارسال میشود. در نهایت بعد از انقضای Timeout برای سگمنت 6، سگمنتهای ۶ تا ۸ مجدد ارسال شد و ACK آنها دریافت میشود. بنابراین مجموعاً ۱۶ = 3 + ۵ + 8 ارسال و ۱۴ = 3 + 4 + ۷ عدد ACK دریافت میشود و دو انقضای Timeout نیز رخ داده است.
متوسط شکل مقابل رفتار پروتکل کنترل ازدحام
AIMID (Additive-Increase Multiplicative-Decrease) در TCP را برحسب تغییرات اندازه پنجره ازدحام (که به نوعی نشان دهندهی تغییرات نرخ انتقال با واحد Segments per RTT است) به تصویر میکشد که در آن ۲بار Loss Event (رخداد Timeout یا دریافت سه ACK تکراری توسط گیرنده) رخ داده است. هر رفت و برگشت یک سگمنت و پیام ACK آن بین فرستنده و گیرنده (که مدت زمان آن برابر یک RTT است) را بهعنوان یک راند انتقال (Transmission Round) در نظر میگیریم. کدام گزینه در پاسخ به سوالات زیر صحیح است؟ الف) نسخهی پروتکل TCP، ب) تعداد دفعاتی که فرستنده در وضعیت Slow Start قرار گرفته است، پ) مقدار آستانه slow (sstresh) start اوليه، ت) در چه راند انتقالی سگمنت ∘7ام ارسال شده است، ث) نوع Loss Event رخ داده در راند انتقال ۲۲ام.
لایه انتقال
1 الف) TCP Reno، ب) ۲بار، پ) ۳۲، ت) هفتمین، ث) Timeout
2 الف) TCP Tahoe، ب) ۳بار، پ) ۲۱، ت) هفتمین، ث) سه ACK تکراری
3 الف) TCP Reno، ب) ۲بار، پ) ۲۱، ت) پنجمین، ث) Timeout
4 الف) TCP Tahoe، ب) ۳بار، پ) ۳۲، ت) پنجمین، ث) سه ACK تکراری
الف) از آنجایی که در صورت سوال گفته شده است که دوبار Loss Event رخ داده است ولی فقط یکبار به وضعیت اولیه $(cwnd=\mathrm{1}\mathrm{\ }{Segment}/{RTT})$ برگشته است پس رفتاری متفاوت در برابر Loss Eventهای متفاوت داریم و بنابراین نسخهی TCP Reno استفاده شده است.
ب) دوبار در بازههای [6 - ۱] و [۲۶ - ۲۳] در وضعیت Slow Start (رفتار افزایش نمایی) قرار گرفته است.
پ) با توجه به اینکه رفتار خطی از دور انتقال 3۲ شروع شده است، بنابراین sstresh اولیه ۳۲ میباشد.
ت) در اولین راند سگمنت اول $(cwnd=\mathrm{1}\mathrm{\ }{Segment}/{RTT})$، در دومین راند سگمنتهای دوم و سوم $(cwnd=\mathrm{2}\mathrm{\ }{Segment}/{RTT})$، در سومین راند سگمنتهای چهارم تا هفتم $(cwnd=\mathrm{4}\mathrm{\ }{Segment}/{RTT})$، در چهارمین راند سگمنتهای هشتم تا پانزدهم $(cwnd=\mathrm{8}\mathrm{\ }{Segment}/{RTT})$، در راند پنجم سگمنتهای شانزدهم تا سی و یکم $(cwnd=\mathrm{16}\mathrm{\ }{Segment}/{RTT})$، در راند ششم سگمنتهای سی و دوم تا شصت و سوم $(cwnd=\mathrm{32}\mathrm{\ }{Segment}/{RTT})$ و در راند هفتم (پایان رفتار افزایش نمایی و شروع رفتار خطی) سگمنتهای شصت و چهارم تا نود و پنجم $(cwnd=\mathrm{32}\mathrm{\ }{Segment}/{RTT})$، ارسال شدهاند.
متوسط فرض کنید در یک ارتباط ماهوارهای، تصاویر ماهوارهای بهصورت بستههایی با سایز $10^k$ بیت بهطور پیوسته با نرخ ارسال $1^{Mbps}$ و تأخیر انتشار یکطرفه 25/
0 ثانیه به ایستگاه زمینی ارسال میشود ( $\mathrm{K\ =\ }{\mathrm{10}}^\mathrm{3}$ و $\mathrm{M\ =\ }{\mathrm{10}}^\mathrm{6}$ در نظر بگیرید). اگر شماره ترتیب بستهها 5 بیتی باشد و از طول Header بستهها، طول بسته ACK و خطا در بستهها صرفنظر کنیم،
مجموع حداکثر بهرهوری از این لینک ماهوارهای در پروتکلهای
GBN (Go Back N) و
SR (Selective Repeat) چقدر است؟
لایه انتقال
1 $\frac{\mathrm{47}}{\mathrm{51}}$
2 $\frac{\mathrm{47}}{\mathrm{52}}$
3 $\frac{\mathrm{32}}{\mathrm{51}}$
4 $\frac{\mathrm{32}}{\mathrm{52}}$
با توجه به اینکه شماره ترتیب 5 بیتی است، بنابراین حداکثر سایز پنجره ارسال در پروتکل GBN برابر $\mathrm{2}^\mathrm{5}-\mathrm{1\ =\ 31}$ و در پروتکل SR برابر $\frac{\mathrm{2}^\mathrm{5}}{\mathrm{5}}=\mathrm{16}$ میباشد. بنابراین حداکثر بهرهوری برابر است با:
$\mathrm{dtrans\ =\ }\frac{\mathrm{10}\mathrm{\ \times }{\mathrm{10}}^{\mathrm{3}\mathrm{\ bit}}}{{\mathrm{10}}^{\mathrm{6}\mathrm{\ bps}}}={\mathrm{10}}^{\mathrm{ms}} \\ \left. \begin{array}{c}{\mathrm{U}}_{\mathrm{GBN}}=\frac{\mathrm{N\ \times \ }{\mathrm{d}}_{\mathrm{trans}}}{{\mathrm{d}}_{\mathrm{trans}}+{\mathrm{2}\mathrm{d}}_{\mathrm{prop}}}=\frac{\mathrm{N}}{\mathrm{1}\mathrm{\ +\ }\mathrm{2}\frac{{\mathrm{d}}_{\mathrm{prop}}}{{\mathrm{d}}_{\mathrm{trans}}}}=\frac{\mathrm{31}}{\mathrm{1}\mathrm{\ +\ }\mathrm{2}\mathrm{\ \times }\frac{{\mathrm{250}}^{\mathrm{ms}}}{{\mathrm{10}}^{\mathrm{ms}}}}=\frac{\mathrm{31}}{\mathrm{51}} \\ {\mathrm{U}}_{\mathrm{SR}}=\frac{\mathrm{N\ \times \ }{\mathrm{d}}_{\mathrm{trans}}}{{\mathrm{d}}_{\mathrm{trans}}+{\mathrm{2}\mathrm{d}}_{\mathrm{prop}}}=\frac{\mathrm{N}}{\mathrm{1}\mathrm{\ +\ }\mathrm{2}\frac{{\mathrm{d}}_{\mathrm{prop}}}{{\mathrm{d}}_{\mathrm{trans}}}}=\frac{\mathrm{16}}{\mathrm{1}\mathrm{\ +\ }\mathrm{2}\mathrm{\ \times }\frac{{\mathrm{250}}^{\mathrm{ms}}}{{\mathrm{10}}^{\mathrm{ms}}}}=\frac{\mathrm{16}}{\mathrm{51}} \end{array}\right\}\Rightarrow \frac{\mathrm{31}}{\mathrm{51}}+\frac{\mathrm{16}}{\mathrm{51}}=\frac{\mathrm{47}}{\mathrm{51}}$
دشوار اگر نرخ ارسال فریمهای ۱۰۰۰ بیتی در یک کانال ۲۰۰ کیلومتری با سرعت انتشار ۲۰۰ هزار کیلومتر در ثانیه، 1Mbps باشد، با فرض مقدار ۴ برای شماره ترتیب و احتمال خطای 0/1 برای هر فریم، بهرهوری کانال را برای هر دو پروتکل Go Back N و selective Repeat محاسبه کنید. لایه انتقال
1 $V_{SR}\mathrm{=}\mathrm{60\%}\mathrm{ ,\ }V_{GB}\mathrm{=}\mathrm{30\%}$
2 $V_{SR}\mathrm{=}\mathrm{60\%}\mathrm{ , \ }V_{GB}\mathrm{=}\mathrm{50\%}$
3 $V_{SR}\mathrm{=}\mathrm{50\%}\mathrm{ , \ }V_{GB}\mathrm{=}\mathrm{30\%}$
4 $V_{SR}\mathrm{=}\mathrm{50\%}\mathrm{ , \ }V_{GB}\mathrm{=}\mathrm{60\%}$
$\boldsymbol{R}\boldsymbol{=}{\mathrm{10}}^{\mathrm{2}}\boldsymbol{\ \ ,\ \ \ }\boldsymbol{L}\boldsymbol{=}\mathrm{1000}\boldsymbol{\ \ \ ,\ \ \ }\boldsymbol{V}\boldsymbol{=}\mathrm{2}{\mathrm{\times }\mathrm{10}}^{\mathrm{8}}\boldsymbol{\ \ \ ,\ \ \ }\boldsymbol{N}\boldsymbol{=}\mathrm{4}\boldsymbol{\ \ \ ,\ \ \ }\boldsymbol{D}\boldsymbol{=}\mathrm{2}{\mathrm{\times }\mathrm{10}}^{\mathrm{5}}\boldsymbol{\ \ \ ,\ \ }$$\boldsymbol{\ }{\boldsymbol{P}}_{\boldsymbol{f}}\boldsymbol{=}\frac{\mathrm{1}}{\mathrm{10}}\boldsymbol{\ \ \ ,\ \ \ }{\mathrm{1}\boldsymbol{-}\boldsymbol{P}}_{\boldsymbol{f}}\boldsymbol{=}\frac{\mathrm{9}}{\mathrm{10}}$ $T_P\mathrm{=}\frac{D}{V}=\mathrm{1\ }\mathrm{ms}\boldsymbol{\mathrm{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }}T_F\mathrm{=}\frac{L}{R}=\mathrm{1}\mathrm{ms}$ $T_o\mathrm{=}{\mathrm{2}T}_P+T_F=\mathrm{3}\mathrm{ms}\boldsymbol{\mathrm{\ \ \ \ \ \ \ \ \ \ \ \ \ }}{\omega }_s\mathrm{=}\frac{T_o}{T_F}=\frac{\mathrm{3}ms}{1ms}\boldsymbol{\mathrm{=}}\mathrm{3}$ $N\boldsymbol{=}\mathrm{4}\boldsymbol{\to }\boldsymbol{\ \ }N\boldsymbol{=}{\mathrm{2}\omega }_{SR}\ \ \ \ \ \ \Rightarrow \ \ \ {\omega }_{SR}=\mathrm{2}<{\omega }_s$ $U_{SR}\boldsymbol{=}\frac{\omega }{{\omega }_s}\boldsymbol{\mathrm{}}\left(1-\frac{H}{L}\right)\left({\mathrm{1}\boldsymbol{-}P}_{\boldsymbol{f}}\right)=\frac{\mathrm{2}}{\mathrm{3}}\times \frac{\mathrm{9}}{\mathrm{10}}=\mathrm{0/6}$ $N\boldsymbol{=}\mathrm{4}\boldsymbol{\to }\boldsymbol{\ \ }N\boldsymbol{=}{\omega }_{GBN}+1\boldsymbol{\to }\ {\omega }_{GBN}=\mathrm{3}={\omega }_s$ $U_{GBN}\boldsymbol{=}\left(1-\frac{H}{L}\right)\frac{{\mathrm{1}\boldsymbol{-}P}_{\boldsymbol{f}}}{\mathrm{1}\mathrm{+(}{\omega }_s\mathrm{-}\mathrm{1}\mathrm{)}}=\frac{\frac{\mathrm{9}}{\mathrm{10}}}{\mathrm{1}\mathrm{+}\mathrm{2}}=\mathrm{0/3}$
دشوار TCP Reno فایلی را به 32 بسته تبدیل کرده و برای مقصدی ارسال میکند. چنانچه بسته 27 ام به مقصد نرسد چند RTT زمان صرف ارسال فایل خواهد شد. RTT زمان رفت و برگشت بین مبدأ و مقصد است. سطح آستانه پنجره ازدحام را در مرحله «شروع آهسته» چهار در نظر بگیرید. لایه انتقال
1 هشت
2 نه
3 یازده
4 دوازده
گزینه 2 صحیح است.
طبق راه حل درست استاد رضوی گزینه اول درست است ، ولی کلید گزینه دوم است ، طراح محترم به نکات توجه نکرده است بنابراین گزینه دوم را بدست آورده.
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
دوره |
9 |
8 |
7 |
6 |
5 |
4 |
2 |
1 |
cwnd |
34 |
26 |
19 |
13 |
8 |
4 |
2 |
1 |
شماره بسته |
. |
. |
. |
. |
. |
. |
. |
|
|
. |
. |
. |
. |
. |
. |
. |
|
|
42 |
33 |
25 |
|
1 |
|
3 |
|
|
ما الن فرض کردیم که بسته های خارج از ترتیب در گیرنده ذخیره می شوند که default مان هم همین است ولی اگر در گیرنده بسته های خارج از ترتیب ذخیره نشود ، در این صورت 3 تا ack تکراری برای بسته 27 دریات می شود و بنابراین ما چون cwnd=7 شده بسته های 27 تا 32 را مجددا ارسال می کنیم و بنابراین می شود 8RTT .
حل طبق فرض طراح:
در TCP RENO پس از وقوع چنین رخدادی ایتدا اندازه آستانه ازدحام برابر با نصف اندازه پنجره کنونی می شود و سپس اندازه پنجره ارسال نصف می شود و باتوجه به اینکه در آغاز ارسال پنجره ارسال برابر 4 است می توان این سوال را اینگونه حل کرد که بررسی کنیم در هر ارسال کدام بسته ها ارسال شدند و با این شرایط ارسال 32 بسته چه زمان طول می کشد :
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
دوره |
5 |
4 |
8 |
7 |
6 |
5 |
4 |
2 |
1 |
cwnd |
32 |
30 |
26 |
2 |
18 |
12 |
7 |
3 |
1 |
شماره بسته |
طبق توضیحات بالا برای ارسال 32 بسته 9RTT صرف خواهد شد.
دشوار ايستگاه A با نرخ 10 مگابيت در ثانيه دادههايی را برای ايستگاه B ارسال میكند. ايستگاه B دادههای دريافتی را در بافر دريافت خود قرار داده و با نرخ 9/2 مگابيت در ثانيه آنها را پردازش میكند. اگر ايستگاه B برای كنترل جريان از پيامهای كنترلی (Transmission off) Xoff و (Transmission) Xon استفاده كند. با فرض اينكه تأخير يك طرفه ارتباط 10 ميلي ثانيه باشد، ايستگاه B در زمانی كه بافر دريافتش چند بايت فضای خالی دارد بايد پيام كنترل Xoff را ارسال كند تا بافرش سرريز نشود. لایه انتقال
1 4000
2 1000
3 2000
4 3000
$R_{A-S}=10\ Mbps=\ {10}^7\ bps\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ,\ \ \ \ \ \ \ \ \ \ \ \ R_{B-P}=9.2\ Mbps=9.2\times {10}^6\ bps$
$T_P=10\ MS={10}^{-2}\ S$
تعداد بیت هایی که ایستگاه B در $2T_p$ می تواند پردازش کند. - تعداد بیتهای خالی در بافر = تعداد بیتهایی که در زمان $2T_p$ ایستگاه A برای B ارسال میکند
$b_{buffer}$ تعداد بیت های خالی در
$b_{A-B}$ تعداد بیت هایی که در زمان $2T_p$ ایستگاه A برای B ارسال می کند.
$b_{B-P}$ تعداد بیت هایی که ایستگاه B در $2T_p$ می تواند پردازش کند.
|
|
$S$ |
bit |
$S$ |
bit |
|
|
$R_{A-S}=10^7\ bps$ |
|
$1$ |
$10^7$ |
$1$ |
$10^7$ |
|
$b_{A-B} =2\times 10^5$ |
|
|
$2T_{p}$ |
$b_{A-B}$ |
$2\times 10^{-2}$ |
$b_{A-B}$ |
|
|
bit |
$S$ |
bit |
$S$ |
|
$9.2\times 10^6$ |
$1$ |
$9.2\times 10^6$ |
$1$ |
$R_{B-p}=9.2\times 10^6\ bps$ |
$b_{B-p}$ |
$2\times 10^{-2}$ |
$b_{B-p}$ |
$2T_{p}$ |
|
|
|
|
|
|
|
$b_{R-p}=184\times 10^3$ |
|
$b_{buffer}=\left(b_{A-B}-b_{B-P}\right)\ \ =\left(\ 200000-184000\right)=16000bit=2000Byte$
نمونه سوالات فصل لایه شبکه درس شبکه های کامپیوتری
متوسط اگر جدول مسيريابی در يک مسيرياب با توانايی CIDR به صورت زير باشد، گام بعدی برای بستهای با آدرس مقصد 196.94.19.135 چيست؟
لایه شبکه
Net |
Mask |
Next Hop |
196.80.0.0 |
255.240.0.0 |
A |
196.96.0.0 |
255.240.0.0 |
B |
196.104.0.0 |
255.252.0.0 |
C |
128.0.0.0 |
128.0.0.0 |
D |
64.0.0.0 |
192.0.0.0 |
E |
1 A
2 B
3 C
4 D
بیت ها نظیر به نظیر AND می شوند.
دشوار جدول زیر مربوط به یک مسیریاب در شبکه IPv4 است. تعداد آدرسهای مقصد مرتبط با هر Link Interface، کدام است؟
لایه شبکه
Link Interface |
Prefix Match |
1 |
1110000000 |
2 |
0000 0100 0000 1110 |
3 |
000 1110 |
4 |
11 000 1110 |
4 |
otherwise |
1 $2^9+2^{25}+2^{16}+2^{22}=4\ ،\ 2^7=3\ ،\ 2^{16}=2 \ ،\ 2^{10}=1$
2 $2^{23}+2^{10}+2^{16}+2^{7}=4\ ،\ 2^{25}=3\ ،\ 2^{16}=2 \ ،\ 2^{22}=1$
3 $2^{32}+2^{10}+2^{16}+2^{7}=4\ ،\ 2^{7}=3\ ،\ 2^{16}=2 \ ،\ 2^{10}=1$
4 $2^{32}+2^{25}+2^{16}+2^{22}=4\ ،\ 2^{25}=3\ ،\ 2^{16}=2 \ ،\ 2^{22}=1$
آدرس های IP ، 32 بیتی هستند بنابراین ما $2^{32}$ یعنی 4 میلیارد آدرس داریم.
ابتدا از بزرگترین prefix match شروع می کنیم زیرا همه بیت های سمت راستش که تعداد IP هایش را مشخص می کند برای خودش است و همپوشانی با دیگرprefix ها ندارد
پس ابتدا می رویم سراغ محاسبه تعداد IP های PORT2 .
Prefix مربوط به پورت 2 ، 16 بیتی است پس این 16 بیت FIX است و با 16 بیت دیگر می توان بازی کرد،
پس تعداد IP هایی که به سمت پورت2 می روند $2^{16}$ است.
حال می رویم سراغ دومین بزرگترین که مربوط به پورت 1 است ، 10 بیتی است پس این 10 بیت FIX است و با 22 بیت دیگر می توان بازی کرد ، پس $2^{22}$ تا آی پی به سمت پورت 1 می رود.
$2^{32-7}=2^{25}$ : تعداد IP هایی که به سمت پورت 3 می رود اگر Prefix اش اشتراکی با دیگر prefix ها نداشته باشد
انهایی که به پورت 4 میروند و با 111000011 شروع میشوند $2^{25}-2^{16}-2^{22}-$ : IP هایی که به سمت پورت 3 می رود
$2^{32}-2^{16}-2^{22}-\left(2^{25}-2^{16}-2^{32}-2^{23}\right)=2^{32}-2^{25}+2^{23}$ : تعدادIP هایی که به پورت 4 می روند
متوسط شبکه زیر شامل سه «سامانه خود گردان» به شمارههای 123، 210 و 345 است. پروتکل BGP اطلاعات دسترسی به Subnet ها را منتشر میکند. BGP چه اطلاعاتی از Subnet:180.12.20.0/24 را به مسیریاب 1 (واقع در سامانه 123) میرساند؟
لایه شبکه
1 7.2.4.02;210,345,180.12.20.0/24 و 80.12.14.24;345,180.12.20.0/24
2 7.2.4.01;210,345,180.12.20.0/24 و 80.12.14.23;345,180.12.20.0/24
3 7.2.4.01;123,210,345,180.12.20.0/24 و 80.12.14.23;123,345,180.12.20.0/24
4 7.2.4.02;123,210,345,180.12.20.0/24 و 80.12.14.24;123,345,180.12.20.0/24
پروتکل BGP برای اینکه هر مسیر رسیدن به یک subnet را مشخص کند به روترهای دیگر اطلاعات زیر را میفرستد:
(اطلاعات subnet - شماره ASهای میان راه (AS-Path) – اولین روتر gateway برای رفتن به AS بعدی (اصطلاحا به این روتر Next-Hop گفته میشود))
در اینجا اگر دقت شود دو مسیر از روتر ۱ به subnet مربوطه وجود دارد.
در یک مسیر پیام باید از AS به شماره ۳۴۵ عبور کند، که در این مسیر Next-Hop روتر به شماره 80.12.14.23 است:
(80.12.14.24 – 345 – 180.12.20.0/24)
در یک مسیر دیگر پیام باید از ASهای به شماره ۲۱۰ و ۳۴۵ عبود کند، در این مسیر Next-Hop روتر به شماره 7.2.4.01 است:
(7.2.4.01 – 210, 345 – 180.12.20.0/24)
بنابراین گزینه صحیح گزینه ۲ میباشد.
دشوار فرض کنید بخواهیم یک دیتاگرام ۲۴۰۰ بایتی با شماره شناسه ۴۲۲ را روی یک لینک با MTU برابر ۷۰۰ بایت ارسال کنیم، هر یک از موارد زیر را بدست آورید.
لایه شبکه
الف) تعداد Fragmentهای تولیدی
ب) فیلد Offset آخرین دیتاگرام ارسالی
پ) سایز آخرین دیتاگرام ارسالی
1 الف: ۴، ب: ۲۵۵ و پ: 360 بایت
2 الف: ۳، ب: ۱0۲۰ و پ: 360 بایت
3 الف: ۴، ب: ۱0۲۰ و پ: ۳۴۰ بایت
4 الف: 3، ب: 255 و پ: ۳۴۰ بایت
با توجه به اینکه هدر لایه شبکه 20 بایت است و در صورت سوال گفته شده که دیتاگرام 2400 بایتی است، بنابراین دیتا درون دیتاگرام 2380 بایت است.
با توجه به اینکه MTU حداکثر سایز بسته دیتاگرام (داده درون بسته دیتاگرام بعلاوه هدر لایه شبکه) را مشخص میکند، بنابراین ماکزیمم سایز فیلد Payload در هر Fragment برابر ${}^{Bytes}$680 = 20 - 700 میباشد (سایز IP Header باید کم شود). بنابراین تعداد Fragmentهای موردنیاز برای ارسال دیتاگرام گفته شده در سوال برابر $\left\lceil \frac{\mathrm{2400-20}}{\mathrm{680}}\right\rceil \mathrm{=}~\mathrm{4}$ خواهدبود.
فیلد شماره شناسه تمامی Fragmentهای برابر 422 است.
هر Fragment به جز Fragment آخر دارای سایز 700 بایت (شامل IP Header) (680+20) و Fragment آخر دارای سایز ۳60 بایت (شامل IP Header) (340+20) میباشد.
همچنین فیلد Offset این چهار Fragment برابر 0، 8۵ ($680\div8=85$)، ۱۷۰ ($2\times85=170$)و 255 ($3\times85=255$) میباشد.
متوسط کدام جمله درباره پروتوکل ICMP نادرست است؟ لایه شبکه
1 برنامه Trace Rout با پیامهای TTL Expired این پروتوکل کار میکند.
2 عمل Ping با پیامهای درخواست و پاسخ Echo مربوط به این پروتوکل انجام میشود.
3 این پروتوکل به منظور سیگنالینگ و ارسال پیامهای کنترل و گزارش خطای اینترنت در کنار IP نشسته و پیامهایش را مستقیم به لایه پیوند داده میدهد.
4 این پروتوکل وقوع ازدحام در سوئیچهای اینترنت را گزارش میکند.
این پروتوکل با هدف اصلی سیگنالینگ و کنترل و گزارش خطا در اینترنت به وجود آمده و در کنار IP در لایه شبکه نشسته است اما پیامهایش را مستقیماً به لایه پیوند داده نمیدهد بلکه به IP میدهد و به شکل دیتاگرام IP ارسال میکند و بنابراین گزینه ۳ به عنوان گزینه نادرست انتخاب میشود. این پروتوکل وقوع ازدحام را گزارش میکند. اگرچه TCP از آن استفاده نمیکند و گزینه ۴ نادرست نمیباشد. عمل Ping و برنامه Trace Route به کمک این پروتوکل انجام میشود و گزینههای ۱ و ۲ نادرست نیست.
آسان شکل الف یک مسیریاب (Router) که شامل 5 لینک ورودی و 5 لینک خروجی را نشان میدهد. پهنای باند هر لینک 4 گیگابیت در ثانیه است. این مسیریاب حاوی یک سوییچ داخلی است که میتواند در هر ثانیه 1 میلیون بسته را از بافر یک لینک ورودی به بافر یک لینک خروجی منتقل کند. فرض کنید اندازه هر بسته 1000 بایت است و بافرهای مسیریاب خالی است. در لحظه t = 0 سه بسته از هر یک از لینکهای 1 و 2 و 3 وارد مسیریاب میشود. شکل ب بستههای ورودی را نشان میدهد. این 9 بسته بعد از ورود به لینکهای ورودی از طریق سوییچِ درونِ مسیریاب به بافرِ لینکِ خروجی 4 منتقل شده و از آنجا به سمت مقصد ارسال میشوند.
لایه شبکه
چه مدت بعد از t = 0، بافر لینکِ 4 خالی خواهد شد؟ (برحسب میکروثانیه)
1 21
2 19
3 22
4 20
گزینه 1 صحیح است.
همانطور که در صورت سوال گفته شده است چون 9 بسته بعد از ورود به لینک های ورودی از طریق سوییچ درون مسیریاب به بافر لینک خروجی منتقل شده است پس در بافر لینک خروجی صف تشکیل می شود
$ T _{forwarding\_switch\ }= \frac{1}{R_{forwarding}}$
$D _{trans\ input\&output\ }= \frac{1000\times 8}{4\times {10}^9} = 2$
3 بسته اول در زمان 2 میکروثانیه همزمان به روتر میرسند و 3 بسته دوم در زمان 4 میکروثانیه همزمان به روتر میرسند و 3 بسته سوم در زمان 4 میکروثانیه همزمان به روتر میرسند و روتر، 1 میکروثانیه طول میکشد تا اولین بسته را روی پورت خروجی قرار دهد
اولین بسته در زمان 3 میکروثانیه در پورت 4 قرار گرفت و $2\mu s$ طول می کشد ارسال شود یعنی ارسال بسته اول از $3\mu s$ شروع می شود تا $5\mu s$ . بسته بعدی در $4\mu s$ روی لینک خروجی 4 قرار می گیرد ولی نمی توانیم ارسالش کنیم زیرا خط تا $5\mu s$ مشغول است پس این بسته در $5\mu s$ که خط آزاد شد ارسال می شود تا $7\mu s$ یعنی بسته های ورودی ما پشت سرهم مینشینند و ما روی ارسال این بسته مشکل داریم پس از $3\mu s$ شروع می شود و 9 تا بسته باید بفرستم و هر بسته ای $2\mu s$ طول می کشد |
|
|
مدت زمان خالی شدن بافر لینک4 $=9\times 2 +3=21$ |
متوسط کدام عبارت درمورد پروتکلهای مسیریابی OSPF و RIP در یک شبکه با n گره و E لینک درست است؟ لایه شبکه
1 پروتکل RIP پس از گذشت $O(n^2)$ گام پیغام رسانی همگرا میشود، اما پروتکل OSPF اگر در شبکه دور وجود داشته باشد دچار نوسان میشود.
2 اگر یک گره در هر کدام از این پروتکلها شروع به اعلام اطلاعات اشتباه کند، باعث پیدایش مسیر خطا در تمام شبکه میشود.
3 تعداد پیامهای پروتکل OSPF به اندازه $O(nE)$ است ، ولی این تعداد در پروتکل RIP مشخص نیست.
4 پروتکل OSPF بر روی پروتکل IP و پروتکل RIP بر روی پروتکل TCP پیاده سازی میشوند.
مقایسه بین الگوریتم بردار فاصله و حالت پیوند
الگوریتم بردار فاصله
هر روتر بردار فاصلهاش را فقط برای همسایههای خودش ارسال میکند.
بردار فاصله هر روتر شامل فاصله بین این روتربا همه روترهای دیگر شبکه است.
وقتی هزینه یک لینک تغییر میکند،DV فقط اگراین تغییر باعث ، تغییر در کمترین هزینه مسیر در یکی از نودهای همسایهاش شده باشد دست به انتشار نتیجه تغییر میزند.
تعداد پیامهای رد و بدل شده دقیقا مشخص نیست.
Robustnes :
در DV یک گره میتواند با محاسبه و اعلام اشتباه کم هزینه ترین مسیرها تا مقصدباعث به اشتباه افتادن گرههای همسایه خود شوند و این اشتباه کم کم به روترهای دیگر می رسد ، بنابراین یک محاسبه اشتباه در الگوریتم DV میتواند به کل شبکه انتشار یابد
RIP از DV استفاده میکند و یک پروتکل لایه APP است که از UDP و از پورت 520 استفاده میکند.
|
الگوریتم حالت پیوند
هر روتر بستههای حالت پیوند را برای کلیه روترها به روش سیل آسا ارسال میکند.
بستههای حالت پیوند هر روتر فقط شامل فاصله آن روتر با همسایه هایش است.
وقتی هزینه یک لینک تغییر میکند، این هزینه باید برای تمامی گرهها فرستاده شود.
مرتبه $O(N^2) ,LS$ است و تعداد پیام های رد و بدل شده O(Ne) است.
Robustnes :
در LS یک روتر فقط میتواند هزینه لینک های متصل به خودش را به غلط منتشر کند. همین طور یک روتر می تواندبستههایی که به عنوان broadcast بهش میرسد را دور بندازد یا خراب کند. ولی در ls هر روتر خودش به محاسبه جدول هدایتش میپردازد، بنابراین محاسبه مسیرها در ls برای هر روتر تا حدودی مستقل است که این مورد درجهای از Robustnes را مشخص میکند.
Ospf از Ls استفاده میکند و قسمتی از آن مثل یک پروتکل لایه انتقال با شماره پروتکل 89 بالای IP قرار دارد.
|
Link State Routing Algorithm: |
Initial state : هر گره هزینه همسایگان خود را میداند
Final state : هر گره کل نمودار را میشناسد
c( i , j):
هزینه پیوند از گره i به گره jاگر گرههای i و j مستقیماً به هم مرتبط نیستند، c(i ,j ) = ∞
D(v):
هزینه مسیر از کد منبع تا مقصد v را که در حال حاضر کمترین هزینه را دارد، تعیین میکند.
N: این تعداد کل گرههای موجود در شبکه است
|
توضیحات
$\longrightarrow$
|
Initialization
N = {A} // A is a root
node.
for all nodes v
if v adjacent to A
then D(v) = c(A,v)
else D(v) = infinity
loop
find w not in N such that D(w) is a minimum.
Add w to N
Update D(v) for all v adjacent to w and not in N:
D(v) = min(D(v) , D(w) + c(w,v))
|
Distance Vector Routing Algorithm: |
فرض کنید dx(y) هزینه مسیر کم هزینه از گره x به گره y باشد. کمترین هزینه با معادله بلمن-فورد مرتبط است :
$d_x(y) = min_v{c(x,v) + d_v(y)}$
جایی که $min_v$ معادله ای است که برای همه $x$ همسایگان گرفته شده است. پس از حرکت از $x$ به $v$، اگر مسیر کم هزینه از $v$ به $y$ را در نظر بگیریم، هزینه مسیر $c(x,v)+ (y)$ خواهد بود. کمترین هزینه از $x$ به $y$، حداقل $c(x,v)+d_v(y)$ است که بر همه همسایگان گرفته شده است.
مسیریابی برداری فاصله یک الگوریتم ناهمزمان است که در آن گره $x$ کپی بردار فاصله خود را به همه همسایگانش ارسال میکند.
هنگامی که گره $x$ بردار فاصله جدید را از یکی از بردارهای همسایه خود، $v$ دریافت میکند، بردار فاصله $v$ را ذخیره میکند و از معادله بلمن-فورد برای به روز رسانی بردار فاصله خود استفاده میکند. معادله در زیر آورده شده است:
$d_x(y) = min_v{c(x,v) + d_v(y)}$ گره x جدول بردار فاصله خود را با استفاده از معادله بالا به روز کرده است و جدول به روز شده خود را برای همه همسایگان خود ارسال میکند تا آنها بتوانند بردارهای فاصله خود را به روز کنند.
|
توضیحات $\longrightarrow$ |
At each node x, Initialization
for all destinations y in N: Dx(y) = c(x,y) // If y is not a neighbor then c(x,y) = ∞ for each neighbor w Dw(y) = ? for all destination y in N. for each neighbor w send distance vector Dx = [ Dx(y) : y in N ] to w loop wait(until I receive any distance vector from some neighbor w) for each y in N: Dx(y) = minv{c(x,v)+Dv(y)} If Dx(y) is changed for any destination y Send distance vector Dx = [ Dx(y) : y in N ] to all neighbors forever
|
گزاره1: قسمت دوم این گزاره غلط است
در ریاضیات گسسته خواندیم درخت گرافی است همبند و بدون دور، میدانیم در هر درخت بین هر دو راس فقط و فقط یک مسیر وجود دارد زیرا اگر مسیری وجود نداشته باشد که همبند نیست و اگر 2تا مسیر بین 2 راس وجود داشته باشد یعنی سیکل دارد.
خباگر نودها و لینکهای شبکه را به صورت یک گراف در نطر بگیریم واضح است که در شبکه اینترنت ما دور خواهیم داشت، چون در غیر این صورت گراف ما درخت است و اصلا نیازی به مسیریابی نداریم، بنابراین مشخص است که الگوریتمهای مشهورمسیریابی قطعا با وجود دور کار میکنند. در ضمن ospf را دایجسترا استفاده میکند و میدانیم دایجسترا با دور مشکلی ندارد و فقط با وزن منفی مشکل دارد.
گزاره 2:
طراح این گزاره را بد مطرح کرده است، طراح قصد داشته الگوریتمهای مسیریابی که از DV و LS استفاده میکند را از نظر Robustness مقایسه کند که متاسفانه کمی بد جمله اش را مطرح کرده است. اگر اینگونه فرض کنیم میدانیم که LS درجاتی از Robustness را دارد ولی یک محاسبه اشتباه در الگوریتم DV می تواند به کل شبکه انتشار یابد، بنابراین این گزاره غلط است.
گزاره 4 :
RIP از DV استفاده میکند و یک پروتکل لایه APP است که از UDP و از پورت 520 استفاده میکند.
Ospf از Ls استفاده میکند و قسمتی از آن مثل یک پروتکل لایه انتقال با شماره پروتکل 89 بالای IP قرار دارد.
متوسط فرض کنید الگوریتم بردار فاصله در شبکه خطی زیر به کار رفته و روتر A شبکهای را که متصل به سمت چپ آن است به روترهای دیگر آگهی کرده است. این روترها از جداول خود تعداد گام های رسیدن به شبکه مذکور را به صورت اعدادی که در زیر هر روتر نشان داده شده، بدست آورده اند. هر روتر اطلاعات بردار فاصله خود را در موقع لزوم به همسایگان خود آگهی میکند و یک سیکل ساعت برای آن سپری میشود. در لحظه t = 0 ارتباط A با B قطع میشود و در t = 1 شبکه بصورت نشان داده شده در میآید که در آن ارتباط A و B وجود ندارد. برای لحظه t = 3 کدام مورد صحیح است؟
لایه شبکه
1 D = 4 و C = 3 و B = 2
2 D = 4 و C = 4 و B = 3
3 D = 5 و C = 4 و B = 5
4 D = 5 و C = 3 و B = 4
گزینه 3 صحیح است.
پاسخ: در لحظه $t=1$ روتر B جدول خود را بهروز میکند:
علت اینکه مقدار گام از B به A برابر 3 شد، این است که B در لحظه t=1 متوجه میشود که مسیر مستقیم تا A، قطع شده یا به عبارت دیگر برابر بینهایت میشود، اما در این لحظه از قبل روتر B میداند که روتر C تا A، 2 گام دارد و خود B تا C هم 1 گام هزینه دارد، پس روتر B میبیند که بهترین مسیر از خود B تا A، درحال حاضر با 3 گام امکانپذیر است. حال به ادامه حل میپردازیم:
در لحظه t=2، تغییر جدول B به C میرسد و حال، جدول C طبق منطقی که در بالا توضیح داده شد جدول خود را به روز میکند:
حال در لحظه t=3، تغییر جدول C به همسایههای آن یعنی روتر B و D میرسد:
پس تا لحظه t=3، گامهای B، C، D تا A بهترتیب برابر 5، 4، 5 است.
نمونه سوالات فصل لایه پیوند داده درس شبکه های کامپیوتری
دشوار یک روش کنترل دسترسی به رسانه میتواند استفاده از مالتی پلکس کردن زمان ثابت باشد. در این روش به هر ایستگاه یک Slot زمانی در هر سیکل اختصاص داده میشود. اگر فرض کنیم اندازه هر Slot مدت زمان لازم برای ارسال 100 بیت به علاوه تأخیر انتشار انتها به انتها باشد و با در نظر گرفتن اینکه نرخ ارسال دادهها 10Mbps، طول کانال 8km و سرعت انتشار امواج $2×10^8 ~m/s$ باشد، اگر تعداد 100 ایستگاه داشته باشیم حداکثر نرخ ارسال هر ایستگاه چقدر است؟ لایه پیوند داده
1 20Kbps
2 25Kbps
3 100Kbps
4 50Kbps
گزینه 1 صحیح است.
روش 1)
زمان یک slot : $T_{slot} = \frac{L}{R}+\ \frac{d}{s}=\ \frac{100}{10\ \times {10}^6\ }+\ \frac{8\ \times {10}^3}{2\ \times {10}^8}=5\ \times {10}^{-5}$
تعداد کل slot هایی که در 1 ثانیه داریم : $\frac{1}{5\ \times {10}^{-5}}=20\ \times \ {10}^3$
تعداد slot هایی که به هر هاست میرسد در یک ثانیه : $\frac{20\ \times {10}^3}{100}\ =200$
نرخ ارسال هر هاست در ثانیه : $200 \times 100=20\ {kb}/{s}$
روش 2)
زمان یک سیکل : $100\times 5\ \times {10}^{-5}s=5\ \times {10}^{-3}\ s\ \ \ \ \ \ \ \ \ R_{host}=\ \frac{100\ bit}{5\ \times {10}^{-3}}=20\ {kb}/{s}$
آسان اگر چند جملهای مولد یک کد کننده $x^3+1$ ، CRC باشد خروجی این کد کننده به ازای ورودی $11011001$ چه خواهد بود؟ لایه پیوند داده
1 $11011001101$
2 $11011001011$
3 $11011001100$
4 $11011001001$
متوسط متوسط گذردهی سیستم slotted aloha با N نود فعال وقتی N عدد بسیار بزرگی است برابر $e^{-1}$ بسته در بازه زمانی است. اگر نیمی از نودهای فعال حذف شوند درحالیکه احتمال ارسال بسته در نودهای باقیمانده تغییر نکند، گذردهی سیستم (throughput) جدید کدام است؟ لایه پیوند داده
1 $e^{-\frac{1}{2}}$
2 $\frac{1}{2}e^{-1}$
3 $\frac{1}{2}e^{-\frac{1}{2}}$
4 $2e^{-2}$
وقتی گفته شده در سوال N عدد بسیار بزرگی است یعنی $N$ $\longrightarrow$ $\infty$
در ادامه سوال گفته شده نیمی از نودهای فعال حذف شوند: $N$ $\longrightarrow$ $\frac{N}{2}$
احتمال ارسال بسته در نودهای باقی مانده تغییر نمی کند یعنی p تغییر نمی کند
Slotted ALOHA :
هر station ای هر زمانی که خواست نتواند ارسال کند و فقط سر یک زمان های خاصی حق داشته باشد که ارسال کند .
$p[k]=\frac{G^K\times e^{-G}}{K!}$ |
|
احتمال تولید K فریم در بازه زمانی t |
احتمال اینکه هیچ فریمی توسط هیچ station ای در بازه زمانی t تولید نشود
$P[0]=e^{-G}$
K : تعداد کل فریم های ارسالی در یک Slot به کانال مشترک است.
Slotted ALOHA efficiency = s = $G\times e^{-G}$
G: میانگین نرخ ارسال همه هاست ها روی هم روی رسانه مشترک و در بازه زمانی $\frac{L}{R}$ است.
نکته : اگر n تا هاست داشته باشیم و هر هاست با نرخ $\lambda$ ارسال کند و طول میانگین فریم ها L باشد و نرخ ارسال روی کانال مشترک R باشد G برابر خواهد بود:
$G=n\times \lambda \times \frac{L}{R}$
N هاست همگی می خواهند روی یک کانال مشترک که نرخ ارسالش R است داده ارسال کنند ، می دانیم که زمان به صورت slot ، slot است و هر slot برابر $\frac{L}{R}$ است.
هاست ها اگر فریمی برای ارسال داشته باشند فقط می توانند در اول هر slot و با احتمال p فریمشان را ارسال کنند ، حال اگر تصادم رخ بدهد هر هاست در هر کدام از slot های بعدی آن فریم را مجددا با احتمال p ارسال می کند.
احتمال اینکه گره مشخص i در یک slot ارسال کند و سایر گره ها ارسال نکنند = احتمال اینکه هاست i بتواند فریم اش را به صورت موفق ارسال کند = $p \times (1-p)^{n-1}$
احتمال اینکه گره n ام موفق بشود یا ...... یا احتمال اینکه گره اول مشخص بشود = $n\times p \times (1-p)^{n-1}$
حال اگر احتمال ارسال هر نود برابر $p=\frac{1}{n}$ باشد آنگاه احتمال اینکه در هر slot یکی از گره ها موفق بشود max می شود ، بنابراین efficiency ماکزیمم می شود .
$Throughput=n \times p \times (1-p)^{n-1} \stackrel{p=\frac{1}{N}} {\longrightarrow} \ \ n\times \frac{1}{n}\times (1-\frac{1}{n})^{n-1} \stackrel{N \to \infty} {\longrightarrow} \frac{1}{e}$
$N \longrightarrow \frac{N}{2}$</span> $\stackrel{p=\frac{1}{N}} {\longrightarrow} \frac{1}{2}\times (1-\frac{2}{n})^{\frac{N}{2}} \stackrel{N \to \infty} {\longrightarrow} \frac{1}{2}\times\frac{1}{e}$
متوسط فرض کنید مولد کد چند جملهای در کدینگ به روش CRC به صورت 11001 باشد. اگر داده اصلی 10111011100 با کمک CRC کد شود و در هنگام ارسال در بین راه بیت چهارم از سمت راست (سمت راستترین بیت را بیت اول در نظر بگیرید) معکوس شود، گیرنده چه باقیماندهای را محاسبه میکند؟ لایه پیوند داده
1 0100
2 0101
3 1010
4 1000
متوسط شبه کد زیر عملکرد یک سوئیچ اترنت (Ethernet) را نشان میدهد. جای A و B با چه رفتاری تکمیل میشود؟
لایه پیوند داده
When frame received at switch:
- record incoming link, MAC Address of sending host
- index switch table using. MAC destination Address
- if entry found for destination then.
1 A: دور ریختن فریم و B: ارسال فریم به مبدأ
2 A: دور ریختن فریم و B: ارسال سیلآسا روی همه واسطها
3 A: ارسال سیل آسا روی همه واسطها و B: دور ریختن فریم
4 A: تازه کردن جدول بر مبنای آدرس مقصد و B: دور ریختن فریم
توضیحات درباره Bridge :
Device های لایهی 2 ای هستند ، یعنی اینکه توانایی این را دارند که از سیگنالها فریم بسازند و میتوانند داخل فریم را مشاهده کنند یعنی آدرس مک مبدا ومک مقصد را میتوانند ببینند، بنابراین میتوانند برای اینکه سیگنال را به کجا بفرستند هوشمندانه عمل کنند.
Switch :
هر سوییچ یک mac table دارد که شبیه Bridge table است.
یک سوییچ در ابتدا وقتی بستهای را میگیرد آدرس مکاش را learn میکند و یاد میگیرد که این آدرس مک روی کدام پورتاش است. حال به مقصد بسته نگاه میکند و مک مقصد را در switch table جستجو میکند در این صورت 3 اتفاق میافتد :
1_آدرس مقصد را در جدولش پیدا نکند که در این صورت یک نسخه از این بسته را روی تمامی پورتهای دیگری که بسته از آن نیامده ارسال میکند
$\longleftarrow$ هرکسی بستهای بهش رسید اگر مال خودش نبود Drop میکند
2_ مک مقصد مربوط به سگمنتی است که فریم از همان پورت وارد شده در این صورت سوییچ بسته را دور میریزد.
3_ مک مقصد مربوط به سگمنتی است که فریم از همان پورت وارد نشده است در این صورت سوییچ بسته را به پورت مربوطه ارسال میکند.
جدول سوییچ 3 ستون دارد : 1_ شماره مک 2_پورت متناظر با آن 3_ زمان درج هر مدخل در switch table
اشتراکhttps://www.konkurcomputer.ir/ad3b