محرك تفريغ TCP
محرك تفريغ بروتوكول TCP ( TOE ) هو تقنية تُستخدم في بعض بطاقات واجهة الشبكة (NIC) لتفريغ معالجة حزمة بروتوكول TCP/IP بالكامل إلى وحدة تحكم الشبكة. ويُستخدم بشكل أساسي مع واجهات الشبكة عالية السرعة، مثل إيثرنت جيجابت وإيثرنت 10 جيجابت ، حيث يصبح عبء معالجة حزمة الشبكة كبيرًا. غالبًا ما تُستخدم محركات تفريغ بروتوكول TCP [ 1 ] كوسيلة لتقليل العبء المرتبط ببروتوكولات تخزين بروتوكول الإنترنت (IP) مثل iSCSI ونظام ملفات الشبكة (NFS).
غاية
صُمم بروتوكول TCP في الأصل للشبكات منخفضة السرعة وغير الموثوقة (مثل مودمات الاتصال الهاتفي القديمة )، ولكن مع نمو الإنترنت من حيث سرعات نقل البيانات الأساسية (باستخدام وصلات الألياف الضوئية ، وإيثرنت جيجابت، وإيثرنت 10 جيجابت ) وآليات الوصول الأسرع والأكثر موثوقية (مثل مودمات DSL والكابل )، أصبح يُستخدم بكثرة في مراكز البيانات وبيئات أجهزة الكمبيوتر المكتبية بسرعات تتجاوز جيجابت واحد في الثانية. عند هذه السرعات، تتطلب تطبيقات برمجيات TCP على الأنظمة المضيفة قدرة حاسوبية كبيرة. في أوائل العقد الأول من القرن الحادي والعشرين، كان اتصال TCP ثنائي الاتجاه بسرعة جيجابت يستهلك أكثر من 80% من معالج بنتيوم 4 بسرعة 2.4 جيجاهرتز ، [ 2 ] مما أدى إلى نقص حاد في موارد المعالجة المتاحة لتشغيل التطبيقات على النظام.
بروتوكول TCP هو بروتوكول موجه للاتصال، مما يزيد من التعقيد وعبء المعالجة. وتشمل هذه الجوانب ما يلي:
- إنشاء الاتصال باستخدام "المصافحة الثلاثية" (SYNchronize؛ SYNchronize-ACKnowledge؛ ACKnowledge).
- تأكيد استلام الحزم عند وصولها إلى الطرف البعيد، مما يزيد من تدفق الرسائل بين نقاط النهاية وبالتالي حمل البروتوكول.
- حسابات المجموع الاختباري وأرقام التسلسل - مرة أخرى عبء على وحدة المعالجة المركزية للأغراض العامة.
- حسابات النافذة المنزلقة لتأكيد استلام الحزم والتحكم في الازدحام .
- إنهاء الاتصال .
يؤدي نقل بعض أو كل هذه الوظائف إلى أجهزة مخصصة، مثل محرك تفريغ TCP، إلى تحرير وحدة المعالجة المركزية الرئيسية للنظام للقيام بمهام أخرى.
دورات وحدة المعالجة المركزية المحررة
القاعدة العامة المقبولة هي أن كل بت يتم إرساله أو استقباله يتطلب دورة معالجة واحدة (أي أن هرتز واحد من معالجة وحدة المعالجة المركزية مطلوب للإرسال أو الاستقبال). [ 2 ] على سبيل المثال، يتطلب نقل بيانات بسرعة 5 جيجابت/ثانية (625 ميجابايت/ثانية) من الشبكة معالجةً من وحدة المعالجة المركزية بسرعة 5 جيجاهرتز . هذا يعني أن معالجًا متعدد النوى بسرعة 2.5 جيجاهرتز سيحتاج إلى نواتين كاملتين للتعامل مع معالجة بروتوكول TCP/IP المرتبطة بنقل بيانات بسرعة 5 جيجابت/ثانية . وبما أن الإيثرنت (10GE في هذا المثال) ثنائي الاتجاه، فمن الممكن إرسال واستقبال بيانات بسرعة 10 جيجابت/ثانية (ليصبح معدل نقل البيانات الإجمالي 20 جيجابت/ثانية ). وباستخدام قاعدة دورة واحدة لكل بت، فإن هذا يعادل ثماني نوى بسرعة 2.5 جيجاهرتز.
يتم تحرير العديد من دورات وحدة المعالجة المركزية المستخدمة لمعالجة بروتوكول TCP/IP بواسطة خاصية تفريغ TCP/IP، ويمكن استخدامها من قبل وحدة المعالجة المركزية (عادةً وحدة معالجة مركزية للخادم ) لأداء مهام أخرى، مثل معالجة نظام الملفات (في خادم الملفات) أو الفهرسة (في خادم وسائط النسخ الاحتياطي). بعبارة أخرى، يمكن للخادم المزود بخاصية تفريغ TCP/IP إنجاز مهام خادم أكثر من الخادم غير المزود ببطاقات شبكة تدعم هذه الخاصية.
انخفاض حركة مرور PCI
إضافةً إلى معالجة عبء البروتوكول الذي يوفره بروتوكول TOE، فإنه يُعالج أيضًا بعض المشكلات المعمارية التي تؤثر على نسبة كبيرة من نقاط النهاية المُعتمدة على المضيف (الخوادم وأجهزة الكمبيوتر الشخصية). تعتمد العديد من أجهزة المضيف القديمة على ناقل PCI ، الذي يوفر واجهة قياسية لإضافة بعض الأجهزة الطرفية، مثل واجهات الشبكة، إلى الخوادم وأجهزة الكمبيوتر الشخصية. يُعدّ ناقل PCI غير فعال في نقل دفعات البيانات الصغيرة من الذاكرة الرئيسية عبر ناقل PCI إلى دوائر واجهة الشبكة المتكاملة، ولكن كفاءته تتحسن مع زيادة حجم دفعة البيانات. ضمن بروتوكول TCP، يتم إنشاء عدد كبير من الحزم الصغيرة (مثل إشعارات الاستلام)، وبما أن هذه الحزم تُولّد عادةً على وحدة المعالجة المركزية للمضيف وتُرسل عبر ناقل PCI ومن ثم إلى واجهة الشبكة الفعلية، فإن ذلك يؤثر على معدل نقل البيانات في جهاز الكمبيوتر المضيف.
يوجد حل TOE، الموجود على واجهة الشبكة، على الجانب الآخر من ناقل PCI من مضيف وحدة المعالجة المركزية، بحيث يمكنه معالجة مشكلة كفاءة الإدخال/الإخراج هذه، حيث يمكن إرسال البيانات المراد إرسالها عبر اتصال TCP إلى TOE من وحدة المعالجة المركزية عبر ناقل PCI باستخدام أحجام دفعات بيانات كبيرة دون الحاجة إلى مرور أي من حزم TCP الأصغر عبر ناقل PCI.
تاريخ
حصلت شركة Auspex Systems على إحدى أوائل براءات الاختراع في هذه التقنية، والمتعلقة بتفريغ بروتوكول UDP، في أوائل عام 1990. [ 3 ] أسس لاري بوشيه، مؤسس Auspex، وعدد من مهندسيها شركة Alacritech عام 1997، بهدف توسيع مفهوم تفريغ حزمة بروتوكولات الشبكة ليشمل بروتوكول TCP، وتطبيقه في رقائق سيليكون مصممة خصيصًا. وقدّمت الشركة أول بطاقة شبكة متوازية لتفريغ الحزمة بالكامل في أوائل عام 1999؛ وكانت بطاقة SLIC (بطاقة واجهة طبقة الجلسة) التي أنتجتها الشركة هي السلف لمنتجاتها الحالية من نوع TOE. تمتلك Alacritech عددًا من براءات الاختراع في مجال تفريغ بروتوكول TCP/IP. [ 4 ]
بحلول عام 2002، ومع ظهور التخزين القائم على بروتوكول TCP مثل iSCSI الذي أثار الاهتمام، قيل إن "ما لا يقل عن اثني عشر وافدًا جديدًا، معظمهم تأسس قرب نهاية فقاعة الإنترنت، يطاردون فرصة مسرعات أشباه الموصلات التجارية لبروتوكولات وتطبيقات التخزين، ويتنافسون مع ستة موردين راسخين وتصميمات ASIC الداخلية." [ 5 ]
في عام ٢٠٠٥، حصلت مايكروسوفت على ترخيص قاعدة براءات اختراع شركة ألاكريتك، وقامت بالتعاون معها بإنشاء بنية جزئية لتفريغ بروتوكول TCP، والتي أصبحت تُعرف باسم تفريغ بروتوكول TCP المدخني. يرتكز تفريغ بروتوكول TCP المدخني على براءة اختراع ألاكريتك "تمرير كتلة الاتصال". في الوقت نفسه، حصلت برودكوم أيضًا على ترخيص لتصنيع رقائق تفريغ بروتوكول TCP المدخني.
الأنواع
بدلاً من استبدال حزمة بروتوكول TCP بـ TOE بالكامل، توجد تقنيات بديلة لتفريغ بعض العمليات بالتعاون مع حزمة بروتوكول TCP الخاصة بنظام التشغيل. يدعم معظم بطاقات الشبكة الإيثرنت الحديثة تفريغ مجموع التحقق من TCP وتفريغ القطاعات الكبيرة . أما التقنيات الأحدث، مثل تفريغ الاستقبال الكبير وتفريغ تأكيد TCP، فهي مُطبقة بالفعل في بعض أجهزة الإيثرنت المتطورة، ولكنها فعالة حتى عند تطبيقها برمجياً بالكامل. [ 6 ] [ 7 ]
تفريغ كامل للكتلة المتوازية
يستمدّ مصطلح "التفريغ الكامل للمكدس المتوازي" اسمه من مفهوم مكدسَي TCP/IP متوازيين. الأول هو مكدس المضيف الرئيسي، المُضمّن في نظام تشغيل المضيف. أما المكدس الثاني، أو "المكدس المتوازي"، فيرتبط بين طبقة التطبيقات وطبقة النقل (TCP) باستخدام "مُعترض مُستقبِل". يقوم هذا المُعترض باعتراض طلبات اتصال TCP من التطبيقات، وهو مسؤول عن إدارة اتصالات TCP ونقل بيانات TCP. وتتعلق العديد من الانتقادات الواردة في القسم التالي بهذا النوع من تفريغ TCP.
تفريغ كامل لـ HBA
يُستخدم التفريغ الكامل لمحول ناقل المضيف (HBA) في محولات مضيف iSCSI التي تُعرّف نفسها كوحدة تحكم بالأقراص لنظام المضيف عند الاتصال (عبر بروتوكول TCP/IP) بجهاز تخزين iSCSI . لا يقتصر هذا النوع من تفريغ TCP على تفريغ معالجة TCP/IP فحسب، بل يُخفّض أيضًا وظيفة مُهيئ iSCSI. ولأن محول ناقل المضيف يظهر للمضيف كوحدة تحكم بالأقراص، فإنه يُستخدم فقط مع أجهزة iSCSI ولا يُناسب تفريغ TCP/IP بشكل عام.
تفريغ جزئي لبروتوكول TCP Chimney
يُعالج تفريغ TCP الجزئي الانتقادات الأمنية الرئيسية الموجهة لتفريغ TCP الكامل ذي المكدس المتوازي. في التفريغ الجزئي، يتحكم مكدس النظام الرئيسي في جميع الاتصالات مع المضيف. بعد إنشاء اتصال بين المضيف المحلي (عادةً خادم) ومضيف خارجي (عادةً عميل)، يتم تمرير الاتصال وحالته إلى محرك تفريغ TCP. يتولى جهاز التفريغ الجزء الأكبر من عمليات نقل البيانات واستقبالها. تستخدم جميع محركات تفريغ TCP تقريبًا نوعًا من تطبيقات TCP/IP المادية لتنفيذ نقل البيانات دون تدخل وحدة المعالجة المركزية للمضيف. عند إغلاق الاتصال، تُعاد حالة الاتصال من محرك التفريغ إلى مكدس النظام الرئيسي. يُمكّن الحفاظ على التحكم في اتصالات TCP مكدس النظام الرئيسي من تنفيذ أمان الاتصال والتحكم فيه.
تفريغ تجزئة TCP
يمكن لتقنية تفريغ تجزئة TCP (TSO) تفريغ مهام تجزئة TCP إلى وحدة تحكم واجهة الشبكة . [ 8 ]
تفريغ استقبال كبير
تُعدّ تقنية تفريغ الاستقبال الكبير ( LRO ) أسلوبًا لزيادة معدل نقل البيانات الواردة في اتصالات الشبكة عالية النطاق الترددي عن طريق تقليل الحمل الزائد على وحدة المعالجة المركزية (CPU). وتعمل هذه التقنية من خلال تجميع حزم البيانات الواردة المتعددة من تدفق واحد في مخزن مؤقت أكبر قبل تمريرها إلى مستويات أعلى في بنية الشبكة، مما يقلل عدد الحزم التي يجب معالجتها. وتستخدم تطبيقات لينكس عادةً تقنية LRO بالتزامن مع واجهة برمجة التطبيقات الجديدة (NAPI) لتقليل عدد المقاطعات أيضًا .
وفقًا للمعايير، فإن تطبيق هذه التقنية بالكامل في البرمجيات يمكن أن يزيد من أداء الشبكة بشكل ملحوظ. [ 6 ] [ 7 ] [ 9 ] اعتبارًا من أبريل 2007 يدعم نظام لينكس نواة LRO لبروتوكول TCP برمجياً فقط. بينما يدعم نظام FreeBSD 8 تقنية LRO عتادياً على المحولات التي تدعمها. [ 10 ] [ 11 ] [ 12 ] [ 13 ]
لا ينبغي تشغيل LRO على الأجهزة التي تعمل كموجهات، لأنه يخالف مبدأ الاتصال من طرف إلى طرف ويمكن أن يؤثر بشكل كبير على الأداء. [ 14 ] [ 15 ]
تفريغ الاستقبال العام
تُنفذ تقنية تفريغ الاستقبال العام ( GRO ) خوارزمية LRO معممة في البرمجيات، وهي غير مقيدة ببروتوكول TCP/ IPv4 ولا تعاني من المشكلات التي تُسببها خوارزمية LRO. [ 16 ] [ 17 ]
تفريغ إرسال كبير
في مجال شبكات الحاسوب ، يُعدّ تفريغ الإرسال الكبير ( LSO ) تقنيةً لزيادة معدل نقل البيانات الصادر في اتصالات الشبكة عالية النطاق الترددي عن طريق تقليل الحمل على وحدة المعالجة المركزية . وتعمل هذه التقنية بتمرير مخزن مؤقت متعدد الحزم إلى بطاقة واجهة الشبكة (NIC)، التي بدورها تقسم هذا المخزن إلى حزم منفصلة. تُعرف هذه التقنية أيضًا باسم تفريغ تجزئة TCP ( TSO ) أو تفريغ التجزئة العام ( GSO ) عند تطبيقها على بروتوكول TCP . وتُعدّ تقنيتا LSO وLRO مستقلتين، ولا يتطلب استخدام إحداهما استخدام الأخرى.
عندما يحتاج نظام ما إلى إرسال كميات كبيرة من البيانات عبر شبكة حاسوب، يجب أولاً تقسيم هذه الكميات إلى أجزاء أصغر يمكنها المرور عبر جميع عناصر الشبكة، مثل أجهزة التوجيه والمحولات، بين حاسوبي المصدر والوجهة. تُعرف هذه العملية بالتجزئة . غالبًا ما يقوم بروتوكول TCP في الحاسوب المضيف بهذه التجزئة. يُطلق على تفريغ هذه المهمة إلى بطاقة الشبكة اسم تفريغ تجزئة TCP (TSO).
على سبيل المثال، تُقسّم وحدة بيانات بحجم 64 كيلوبايت (65,536 بايت) عادةً إلى 45 جزءًا، كل جزء منها بحجم 1460 بايت، قبل إرسالها عبر بطاقة الشبكة (NIC) وعبر الشبكة. بفضل بعض التقنيات الذكية في بطاقة الشبكة، يستطيع المعالج المركزي (CPU) تسليم البيانات بحجم 64 كيلوبايت إلى بطاقة الشبكة في طلب إرسال واحد، فتقوم بطاقة الشبكة بتقسيم هذه البيانات إلى أجزاء أصغر بحجم 1460 بايت، وإضافة رؤوس بروتوكولات TCP و IP وطبقة ربط البيانات - وفقًا لنموذج مُقدّم من حزمة بروتوكولات TCP/IP الخاصة بالمعالج - إلى كل جزء، ثم إرسال الإطارات الناتجة عبر الشبكة. هذا يُقلّل بشكل كبير من الجهد الذي يبذله المعالج المركزي. ( اعتبارًا من عام 2014)تدعم العديد من بطاقات الشبكة الجديدة المتوفرة في السوق تقنية TSO.
تقوم بعض بطاقات الشبكة بتنفيذ TSO بشكل عام بما يكفي بحيث يمكن استخدامها لتفريغ تجزئة بروتوكولات طبقة النقل الأخرى ، أو لإجراء تجزئة IP للبروتوكولات التي لا تدعم التجزئة بنفسها، مثل UDP .
تفريغ تجزئة UDP
يمكن لتقنية تفريغ تجزئة بروتوكول UDP (UFO) تفريغ مهام حزم بيانات UDP إلى وحدة تحكم واجهة الشبكة . [ 18 ]
الدعم في لينكس
على عكس أنظمة التشغيل الأخرى، مثل FreeBSD، لا تدعم نواة لينكس تقنية TOE (لا ينبغي الخلط بينها وبين أنواع أخرى من تفريغ الشبكة). [ 19 ] ورغم وجود تحديثات من مصنعي الأجهزة مثل Chelsio و Qlogic تُضيف دعمًا لتقنية TOE، إلا أن مطوري نواة لينكس يعارضون هذه التقنية لعدة أسباب: [ 20 ]
- الأمان – نظرًا لأن بروتوكول TOE مُدمج في مكونات مادية، يجب تطبيق التحديثات على البرامج الثابتة الخاصة به ، وليس على البرامج فقط، لمعالجة أي ثغرات أمنية موجودة في أي تطبيق TOE. ويزداد الأمر تعقيدًا نظرًا لحداثة هذه المكونات المادية وخصوصيتها للبائعين، مقارنةً بحزمة بروتوكولات TCP/IP المُختبرة جيدًا الموجودة في أنظمة التشغيل التي لا تستخدم بروتوكول TOE.
- قيود الأجهزة - نظرًا لأن الاتصالات يتم تخزينها مؤقتًا ومعالجتها على شريحة TOE، يمكن أن يحدث نقص الموارد بسهولة أكبر مقارنة بوحدة المعالجة المركزية والذاكرة السخية المتاحة لنظام التشغيل.
- التعقيد – يخالف بروتوكول TOE افتراض النواة بشأن إمكانية الوصول إلى جميع الموارد في جميع الأوقات، إذ لا تتوفر تفاصيل مثل الذاكرة المستخدمة من قِبل الاتصالات المفتوحة. كما يتطلب TOE تغييرات كبيرة جدًا في بنية الشبكة لكي يتم دعمه بشكل صحيح، وحتى بعد ذلك، قد لا تعمل ميزات مثل جودة الخدمة وتصفية الحزم .
- نظام TOE احتكاري – يتم تنفيذه بشكل مختلف من قبل كل مُصنِّع للأجهزة. هذا يعني ضرورة إعادة كتابة المزيد من التعليمات البرمجية للتعامل مع تطبيقات TOE المختلفة، مما يُؤدي إلى زيادة التعقيد المذكور سابقًا، وربما إلى انخفاض مستوى الأمان. علاوة على ذلك، لا يُمكن تعديل البرامج الثابتة لنظام TOE بسهولة نظرًا لكونها مغلقة المصدر.
- التقادم – لكل بطاقة شبكة TOE عمر افتراضي محدود لأن أجهزة النظام تلحق بسرعة بمستويات أداء TOE وتتجاوزها في النهاية.
الموردون
يتم تنفيذ جزء كبير من العمل الحالي على تقنية TOE من قبل مصنعي بطاقات واجهة إيثرنت 10 جيجابت، مثل Broadcom و Chelsio Communications و Emulex و Mellanox Technologies و QLogic .
انظر أيضاً
مراجع
- ↑ جيفري سي. موغول (18 مايو 2003). تفريغ بروتوكول TCP فكرة غبية حان وقتها . HotOS. Usenix .
- 1 2 آني ب. فونغ؛ توماس ر. هوف؛ هربرت هـ. هام؛ جايديف ب. باتواردهان؛ غريغ ج. ريجنير (2003-04-02). إعادة النظر في أداء بروتوكول التحكم بالنقل (ملف PDF) . وقائع الندوة الدولية لتحليل أداء الأنظمة والبرمجيات (ISPASS). أوستن، تكساس.
- ↑ براءة اختراع الولايات المتحدة رقم: 5355453 "فئة بنية خادم ملفات الشبكة للإدخال/الإخراج المتوازي"
- ↑ براءة اختراع الولايات المتحدة رقم 6247060 "تمرير كتلة اتصال من المضيف إلى جهاز محلي بحيث تتم معالجة الرسالة على الجهاز"
- ↑ "الوافدون الجدد يطورون رقائق السيليكون لشبكات التخزين" ، ريك ميريت، 21/10/2002، مجلة EE Times
- 1 2 جوناثان كوربيت (2007-08-01). "تفريغ الاستقبال الكبير" . LWN.net . تم الاسترجاع في 2007-08-22 .
- 1 2 أرافيند مينون؛ ويلي زوانيبويل (28-04-2008). تحسين أداء استقبال بروتوكول TCP . المؤتمر التقني السنوي لـ USENIX. USENIX.
- ↑ https://docs.kernel.org/networking/segmentation-offloads.html
- ↑ أندرو غالاتين (25 يوليو 2007). "lro: تفريغ استقبال البيانات الكبيرة العامة لحركة مرور TCP" . قائمة بريدية لنواة لينكس . تم الاطلاع عليه بتاريخ 22 أغسطس 2007 .
- ↑ "Cxgb" . Freebsd.org . تم الاطلاع عليه بتاريخ 12 يوليو 2018 .
- ↑ "Mxge" . Freebsd.org . تم الاطلاع عليه بتاريخ 12 يوليو 2018 .
- ↑ "Nxge" . Freebsd.org . تم الاطلاع عليه بتاريخ 12 يوليو 2018 .
- ↑ "قد يحدث ضعف في أداء بروتوكول TCP في الأجهزة الافتراضية التي تعمل بنظام Linux مع تمكين LRO" . VMware . 2011-07-04 . تم الاطلاع عليه بتاريخ 2011-08-17 .
- ↑ "برنامج تشغيل أساسي لنظام لينكس* لعائلة محولات Intel® Ethernet 10 Gigabit PCI Express" . شركة إنتل . ١٢ فبراير ٢٠١٣. مؤرشف من الأصل في ٢٤ نوفمبر ٢٠١٩. تم الاطلاع عليه في ٢٤ أبريل ٢٠١٣ .
{{cite web}}: CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( رابط ) - ↑ "تعطيل خاصية LRO لجميع بطاقات الشبكة التي تم تفعيل خاصية LRO عليها" . شركة ريد هات، 10 يناير 2013. تم الاطلاع عليه بتاريخ 24 أبريل 2013 .
- ↑ "JLS2009: تفريغ الاستقبال العام" . lwn.net .
- ↑ هوانغ، شو؛ بالدين، إيليا (مارس 2012). شميت، ينس ب. (محرر). تقييم أداء بطاقات الشبكة 10GE مع دعم SR-IOV: محاكاة الإدخال/الإخراج وتحسينات مكدس الشبكة . قياس ونمذجة وتقييم أنظمة الحوسبة والموثوقية وتحمل الأعطال: المؤتمر الدولي السادس عشر لـ GI/ITG، MMB & DFT 2012. سلسلة محاضرات في علوم الحاسوب. المجلد 7201. كايزرسلاوترن، ألمانيا: سبرينغر (نُشر عام 2012). ص 198. ISBN 9783642285400تم الاطلاع عليه بتاريخ ١١ أكتوبر ٢٠١٦.
تعمل تقنية Large-Receive-Offload (LRO) على تقليل عبء معالجة كل حزمة بيانات على حدة، وذلك بتجميع الحزم الأصغر في حزم أكبر وتمريرها إلى طبقة الشبكة. أما تقنية Generic-Receive-Offload (GRO) فتُقدم نسخة برمجية مُعممة من LRO [...].
- ↑ https://docs.kernel.org/networking/segmentation-offloads.html
- ↑ "محركات تفريغ لينكس وTCP" ، 22 أغسطس 2005، LWN.net
- ↑ الشبكات: TOE ، مؤسسة لينكس.
روابط خارجية
- مقال: تفريغ TCP لإنقاذ الموقف بقلم آندي كوريد في موقع ACM Queue
- طلب براءة اختراع رقم 20040042487
- موغول، جيفري سي. (2003). "تفريغ بروتوكول TCP فكرة غبية حان وقتها" (ملف PDF) . وقائع ورشة عمل HotOS IX: ورشة العمل التاسعة حول المواضيع الساخنة في أنظمة التشغيل . جمعية USENIX . تاريخ الاسترجاع: 23 يوليو 2006 .
- "محرك تفريغ TCP/IP (TOE)" . تحالف إيثرنت 10 جيجابت . أبريل 2002.
- تفريغ مهام الشبكة في ويندوز
- GSO في لينكس
- وصف موجز لـ LSO في لينكس
- دراسات حالة حول مشاكل الأداء المتعلقة بـ LSO وتشكيل حركة المرور (لينكس)
- ميزات جديدة في FreeBSD 7.0، نقاش موجز حول دعم TSO. مؤرشف بتاريخ 21 ديسمبر 2016 على موقع Wayback Machine.
- أجهزة الشبكات
- تسريع الشبكة
- بروتوكول التحكم في الإرسال
