مطالب فصل
TCP Segment Offload (TSO) & Large Receive Offload (LRO)
TCP Segment Offload (TSO) & Large Receive Offload (LRO)
در این قسمت قصد داریم به ادامه بررسی مفاهیمی که در Networking وجود دارد، بپردازیم. مفاهیمی که قرار است در این مقاله با آن ها آشنا شویم، بحث های TCP Segment Offload (TSO) و Large Receive Offload (LRO) میباشد.
خب در ابتدا، این مباحث را در دنیای فیزیکی بررسی میکنیم تا بدانیم در چه شرایطی ما به این مباحث نیاز پیدا خواهیم کرد. همانطور که میدانید، ما در آموزش های قبل با مبحث MTU در دنیای Networking آشنا شدیم که مقدار پیش فرض آن 1500 byte میباشد. طبق تصویر زیر، اگر PC-A بخواهد بستهای به اندازه 1G را به PC-B ارسال کند، این بسته به صورت یکجا ارسال نخواهد شد؛ چون در شبکه محدودیت 1500 byte ای داریم، برای ارسال این بسته با این حجم بایستی آن را به بسته های کوچکتر به اندازه 1500 byte تقسیم کرده و سپس انتقال دهد. وظیفه انجام این کار برعهده CPU میباشد. به این صورت که CPU سیستم، در سمت PC-A، فایل 1G را به چندین فایل 1500 byte ای تقسیم کرده و هر کدام از بسته های کوچک را به ترتیب شماره گذاری یا به عبارتی Segment بندی میکند و از طرف دیگر در سمت PC-B، بسته های شماره گذاری شده را به ترتیب دریافت کرده و آن ها را Reassemble میکند تا به یک بسته واحد تبدیل کند.
پس CPU هم وظیفه Segmentation و هم Reassembling را برعهده دارد.
آشنایی با TCP Segment Offload (TSO)
TCP Segment Offload (TSO):
خب برای اینکه وظیفه Segmentation را از دوش CPU برداریم تا بتواند بهرهوری بهتری داشته باشد، این کار را به TSO میسپاریم. اگر این کار برعهده TSO باشد، CPU و OS دیگر وظیفه ای در این مورد نخواهند داشت و این کار در سطح NIC یا vNIC اتفاق میافتد.
پس زمانی که PC-A بستهای را ارسال میکند، تنظیماتی را انجام میدهیم تا به جای اینکه Segmentation در سطح CPU انجام شود، در سطح کارت شبکه انجام گیرد که البته کارت شبکه باید TSO را پشتیبانی کند، اگر آن را پشتیبانی نکند هیچ استفادهای نمیتوانیم از آن داشته باشیم. پس باید در شبکه هایی که از کارت شبکه های سنگین مثل 10G استفاده میشود، کارت شبکه را به گونهای انتخاب کنیم که از قابلیت TSO پشتیبانی کند تا CPU بتواند به وظایف دیگر خود برسد.
نکته:
به قابلیت TSO ممکن است Large Send/Segment Offload (LSO) هم بگویند.
آشنایی با Large Receive Offload (LRO)
Large Receive Offload (LRO)
همانطور که گفته شد، TSO بحث Send را برعهده داشت، بنابراین بحث Receive برعهده LRO خواهد بود. LRO بسته های کوچکی را که دریافت میکند را به یک بسته واحد تبدیل میکند و سپس به CPU یا سیستم تحویل میدهد و سپس CPU آن بسته را Process میکند به جای اینکه بسته های کوچک را جداگانه Process کند. این قابلیتی است که شما میتوانید در سطح VMیا Host انجام دهید. اصطلاحا LRO برای Reassemble کردن بسته های ورودی میباشد، دقیقا همانند کاری که PC-B در تصویر زیر انجام میدهد.
در این سناریو، PC-A بسته ها را Segment بندی کرده و PC-B بسته های شماره گذاری شده را Reassemble میکند تا بسته هایی که به ترتیب شماره گذاری شدهاند را به یک بسته تبدیل کند تا شما بتوانید مثلا یک فایل ویدئویی را که دریافت کردهاید را پخش نمایید. بنابراین میتوان گفت TSO یا LSO برای ترافیک Egress و LRO برای ترافیک Ingress یا TSO برای Outgoing و LRO برای Incoming یا TSO برای Source و LRO برای Destination میباشد.
پس نکته مهمی که وجود دارد این است که کارت شبکه ها حتما TSO و LRO را پشتیبانی کنند و هم چنین دقت داشته باشید اگر کارت شبکه ها این موارد را پشتیبانی نمیکنند یا اگر قرار نیست در شبکه از پهنای باند و بسته های بزرگ استفاده کنید نیازی نیست تا این موارد را فعال نمایید. این موارد زمانی مهم هستند که یک شبکه High rate یا High bandwidth داشته باشید وگرنه فایده دیگری برای شما نخواهند داشت.

با عرض پوزش ، دسترسی کامل به محتوای فصل ، فقط برای کاربرانی که فصل رو خریداری کرده اند ، امکان پذیر می باشد.
برای ثبت نظر ابتدا وارد حساب کاربری خود شوید
ورود به حساب کاربریهیچ نظری ارسال نشده است! اولین نظر را شما ارسال کنید...