لایه ی TRANSPORT

در header لایه ی ۴ source port  و اینکه به دنبال چه پورتی می گردیم تعریف شده است.

برای دیدن پورت های باز در سیستم باید در قسمت cmd تایپ شود netstat

در این زمان state 3 حالت دارد:

۱-listening: زمانی که server منتظر یک درخواست است اما پورت هنوز بسته است.

Established  (برقرار): به این معنی است که ارتباط برقرار شده است.

Time waiting: درخواستی داریم منتظر جواب هستیم اما پورت هنوز بسته است.

flow control: در واقع همان کنترل جریان می باشد.

هر زمان که فرستنده شروع به فرستادن data کند و این کار را تند تند انجام دهد اما گیرنده نتواند آن process را انجام دهد lost data را داریم در واقع  اطلاعات از بین می رود.پس باید طبق یک استانداردی فرستنده و گیرنده توافق کنند که این اطلاعات از بین نرود.

برای مثال گیرنده به فرستنده می گوید ۲ تا packet که فرستادی صبر کن تا من process را انجام دهم process که تمام شد دوباره ۲ تا packet بفرست.

۲ تا مکانیزم در کنترل جریان وجود دارد که تقریبا یکی از آنها منسوخ شده است.

اولین روش همان ready و notready می باشد.

در این روش فرستنده به گیرنده یک  سیگنال می فرستاد که اسم آن ready بود اگر که گیرنده آمادگی دریافت را داشت یک سیگنال به نام ready  را به فرستنده می فرستاد .و فرستنده شروع به فرستادن data می کرد اما اگر گیرنده بافرش پر می شد یک سیگنال به نام not ready می فرستاد تا دیگر فرستنده اطلاعاتی را نفرستد.

مشکلی که در این روش وجود دارد delay می باشد زمانی که گیرنده سیگنال not ready را می فرستد تا زمانی که این سیگنال به فرستنده برسد  فرستنده چند packet دیگر را ارسال کرده است. وتازه فرستنده سیگنال not ready را دریافت کرده است در این صورت اطلاعات پایانی از بین می رود.

مکانیزم دیگری که وجود دارد windowing می باشد.

در این روش قبل از فرستاده شدن data فرستنده و گیرنده  بر سر حجم packet با یکدیگر تفاهم می کنند.