تحقیق TCP
استدلالی برای افزایش پنجره تراکم اولیه TCP
جریان های TCP با یک پنجره تراکم اولیه حداکثر چهار بخش یا تقریباً 4 کیلوبایت داده شروع می شود. از آنجایی که اکثر تراکنش های وب کوتاه مدت هستند، پنجره تراکم اولیه یک پارامتر مهم TCP برای تعیین سرعت پایان جریان است. در حالی که سرعت دسترسی به شبکه جهانی در دهه گذشته به طور چشمگیری افزایش یافته است، مقدار استاندارد پنجره تراکم اولیه TCP بدون تغییر باقی مانده است. در این مقاله، ما پیشنهاد می کنیم که پنجره تراکم اولیه TCP را به حداقل ده بخش (حدود 15 کیلوبایت) افزایش دهیم. از طریق آزمایشهای اینترنتی در مقیاس بزرگ، ما مزایا و هزینههای تأخیر استفاده از یک پنجره بزرگتر را بهعنوان توابع پهنای باند شبکه، زمان رفت و برگشت (RTT)، محصول تاخیر پهنای باند (BDP) و ماهیت برنامهها، کمیت میکنیم. ما نشان میدهیم که متوسط تأخیر پاسخهای HTTP تقریباً 10 درصد بهبود یافته است و بیشترین مزایا در شبکههای RTT و BDP بالا نشان داده شده است. تأخیر شبکه های با پهنای باند کم نیز در آزمایشات ما به میزان قابل توجهی بهبود یافته است. میانگین نرخ ارسال مجدد به میزان متوسط 0.5% افزایش یافته است که بیشتر این افزایش مربوط به برنامه هایی است که به طور موثر الگوریتم شروع آهسته TCP را با استفاده از چندین اتصال همزمان دور می زنند. بر اساس نتایج آزمایشهای ما، ما معتقدیم که پنجره تراکم اولیه باید حداقل ده بخش باشد و همان بخش برای استانداردسازی توسط IETF بررسی شود.
باز کردن سریع TCP
سرویسهای وب امروزی تحت سلطه جریانهای TCP هستند که به قدری کوتاه است که چند سفر رفت و برگشت پس از دست دادن به پایان میرسد. این دست دادن منبع مهمی از تأخیر برای چنین جریان هایی است. در این مقاله، طراحی، پیادهسازی و استقرار پروتکل باز سریع TCP را شرح میدهیم، مکانیزم جدیدی که تبادل دادهها را در طول دست دادن اولیه TCP امکانپذیر میسازد. با انجام این کار، TCP Fast Open تأخیر شبکه برنامه را یک بار رفت و برگشت کامل کاهش می دهد، و تاخیر تجربه شده توسط چنین انتقالات کوتاه TCP را کاهش می دهد. ما مسائل امنیتی ذاتی در اجازه دادن به تبادل داده در طول دست دادن سه طرفه را بررسی می کنیم، که با استفاده از یک نشانه امنیتی که مالکیت آدرس IP را تأیید می کند، آن را کاهش می دهیم. سایر مکانیسمهای دفاعی عقبنشینی را به تفصیل شرح میدهیم و به مشکلاتی میپردازیم که با جعبههای میانی، سازگاری با پشته برای پشتههای شبکه موجود، و استقرار تدریجی با آن مواجه بودیم. بر اساس تحلیل ترافیک و شبیهسازی شبکه، نشان میدهیم که TCP Fast Open تأخیر شبکه تراکنش HTTP را تا 15% و زمان بارگذاری کل صفحه را به طور متوسط بیش از 10% و در برخی موارد تا 40% کاهش میدهد.
کاهش نرخ متناسب برای TCP
از دست دادن بسته ها باعث افزایش تأخیر کاربران وب می شود. بازیابی سریع یک مکانیسم کلیدی برای TCP برای بازیابی از دست دادن بسته است. در این مقاله، برخی از نقاط ضعف الگوریتم استاندارد شرح داده شده در RFC 3517 و الگوریتم های غیر استاندارد پیاده سازی شده در لینوکس را بررسی می کنیم. ما متوجه شدیم که این الگوریتمها از رفتار مورد نظر خود در دنیای واقعی به دلیل اثر ترکیبی جریانهای کوتاه، توقف برنامه، تلفات انفجاری، از دست دادن و مرتبسازی مجدد تصدیق (ACK) و کشش ACKها از رفتار مورد نظر خود منحرف میشوند. لینوکس از کاهش بیش از حد پنجره تراکم رنج می برد در حالی که RFC 3517 انفجارهای بزرگی را تحت تلفات زیاد منتقل می کند که هر دو به بقیه جریان آسیب می رسانند و تأخیر وب را افزایش می دهند. سهم اصلی ما طراحی جدیدی برای کنترل انتقال در بازیابی سریع به نام کاهش نرخ متناسب (PRR) است. PRR با سرعت بخشیدن به ارسال مجدد در سراسر ACKهای دریافتی، از تلفات به سرعت، هموار و دقیق بازیابی می کند. علاوه بر PRR، الگوریتم ارسال مجدد اولیه TCP (ER) را ارزیابی میکنیم که آستانه تأیید تکراری برای انتقالهای کوتاه را کاهش میدهد و نشان میدهد که تأخیر ارسال مجدد اولیه برای یک بازه زمانی کوتاه در جلوگیری از ارسال مجدد جعلی در حضور درجه کمی از ترتیببندی مجدد مؤثر است. . PRR و ER تأخیر TCP اتصالات با تلفات را 3-10٪ بسته به اندازه پاسخ کاهش می دهند. بر اساس ابزار دقیق ما در سرورهای وب Google و YouTube در ایالات متحده و هند، ما همچنین آمارهای کلیدی در مورد ماهیت ارسال مجدد TCP ارائه می دهیم.
TCP لایه ای
Laminar یک چارچوب جدید برای کنترل تراکم TCP است که زمانبندی انتقال را که دقیقاً زمان ارسال دادهها را تعیین میکند، از کنترل ازدحام خالص جدا میکند، که مقدار کل داده ارسال شده در طول هر RTT را تعیین میکند. انتظار می رود که Laminar الگوریتم های پیشرفته جدیدی را برای تنظیم دقیق تر ترافیک TCP فعال کند.
پیش نویس های SSL و TLS
شروع نادرست امنیت لایه حمل و نقل (TLS).
شروع نادرست یک رفتار اختیاری از پیاده سازی های TLS است. این فقط بر زمانبندی پروتکل تأثیر میگذارد، نه دادههای روی پروتکل سیمی، و میتواند به صورت یک طرفه پیادهسازی شود. ویژگی شروع نادرست TLS منجر به کاهش تأخیر یک رفت و برگشت برای دست دادن های خاص می شود.
پسوند مذاکره پروتکل بعدی امنیت لایه حمل و نقل (TLS).
پسوند لایه انتقال امنیت (TLS) برای مذاکره پروتکل لایه برنامه. این به لایه برنامه اجازه می دهد تا در مورد اینکه کدام پروتکل باید از طریق اتصال ایمن اجرا شود به گونه ای که از رفت و برگشت اضافی جلوگیری می کند و مستقل از پروتکل های لایه برنامه مذاکره می کند.
پیش نویس DNS
زیر شبکه مشتری در درخواست های DNS
این پیش نویس یک برنامه افزودنی EDNS0 را برای حمل اطلاعات در مورد شبکه ای که پرس و جوی DNS را ایجاد کرده است، و شبکه ای که می توان برای آن پاسخ ذخیره کرد، تعریف می کند.