در قسمت اول از مقاله TCP Express به توصیف معماری TMOS و زیرمجموعه ای از استاندارد TCP و بهینه سازی هایی که TCP Express برای بهبود جریان ترافیک بکار می گیرد، پرداخته شد. از آنجایی که راهکار مشخصی برای حل تمام مسائل وجود ندارد، در این مقاله به چگونگی سفارشی نمودن پروفایل های TCP و مدیریت ارتباطاتی که دارای سیستم های قدیمی هستند، می پردازیم.
مهمترین مواردی که در پروتکل TCP/IP در F5 بهبود یافته است عبارتند از:
- شتابدهی و جلوگیری از بروز خطا در سمت Client
- بهبود بهرهوری از لینکهای ارتباطی
- کنترلهای TCP سفارشی سازی شده
این ارتقاءها بر اساس RFCهای مبتنی بر استاندارد صنعت IT تنظیم شده است. در ادامه به بررسی برخی از مهمترین این RFCها در TCP Express خواهیم پرداخت.
بررسی شتابدهندهها و مباحث اجتناب از بروز خطا در سمت Client
- الگوریتم Nagle با استفاده از قابلیت Delayed Acknowledgement یا Ackهای متاخر، BIG-IP را قادر میسازد تا از طریق کاهش تعداد Packetهایی که باید منتقل گردند، انتقال دادهها را تسریع نماید. Delayed Acknowledgement مکانیزم استانداردی فراهم مینمایند که براساس آن مشخص میشود چه زمانی برای ارسال Packetهای Ack به منظور کاهش Packetهای زائد مناسب است. به علاوه، الگوریتم Nagle فرآیند استانداردی را فراهم مینماید که براساس آن میتوان تعداد زیادی از Packetهای کوچک را به تعداد کمتری از Packet بزرگ تبدیل نمود.
- مکانیسم Selective Acknowledgements یا مکانیسمی با قابلیت انتخاب Ackهای مطلوب، BIG-IP را قادر میسازد تا بسیار موثرتر و سریعتر با Lost Packetها و Reordered Packetها که در WAN و شبکههای Lossy وجود دارند، تعامل نماید. این ساز و کار به صورت پیشفرض برای اتصالات اینترنتی در ویندوز XP و دیگر TCP Stackهای مدرن فعال شده است.
- Explicit Congestion Notification یا به اختصار ECN، موجب میگردد که BIG-IP به طور فعال سیگنالهایی را به نقاط مربوطه، ارسال نماید که به معنای فرآیند بارگذاری روترهای میانی میباشد، بنابراین میتوانند مانع از بین رفتن Packetها گردند. از Flagهای ذخیره شده در هدر TCP بنامهای ECE و CWR، میتوان به منظور مرتبط نمودن تراکم به Peerها استفاده نمود.
- ارسالهای مجدد سریع و محدود شده: این قابلیت انتقال مجدد دادههای از دست رفته را مجاز میسازد که میتواند تاثیرات Timeout از دست دادن Packet را از بین ببرد.
- پنجره ازدحام قابل تطبیق: این قابلیت هزینه اجتناب از تراکم را در الگوریتم TCP Slow-Start کاهش میدهد. مطالعات انجام شده بر Congestion Windows های با سایز اولیهی بزرگتر، نشان میدهد که میزان افزایش برای انتقال HTTP در سراسر Linkهای ماهوارهای 30 درصد و میزان ارتقا برای کاربران Dialup 28.8 بیت بر ثانیه، بدون اینکه با افزایش در نرخ Drop شدن همراه شود، 10 درصد بوده است. با اتصالات TCP که مسیر 16 کیلوبایتی انتقال به 100 میزبان اینترنتی را به اشتراک می گذارند، افزایش در بخش پنجره ازدحام، منجر به بهبود تقریبا 25 درصدی برای انتقالهایی میشود که از چهار بخش پنجره ازدحام اولیه (یعنی 512 byte MSS ) در مقایسه با یک بخش از پنجره ازدحام استفاده میشود، میگردد.
بهبود شرایط استفاده از لینک ارتباطی
- اجتناب از تراکم در هنگام Slow-Start: روشی برای همگرا نمودن مقدار مشخصی از دادهها میباشد تا لینک ارتباطی را بدون مسدود شدنِ آن فعالسازی نماید، به طوری که Packetها کاهش نیابند. این قابلیت به سازمانها کمک میکند تا میزان استفاده از پهنای باند را بالاتر برده و بدین ترتیب نرخ توان عملیاتی در ارتباطات اینترنتی و سرویسهای خطوط Leased Line را افزایش دهند.
- کنترل تاخیر پهنای باند، ارتقاهای F5 در زمینه محاسبه تاخیر در پهنای باند، به منظور تخمین دقیقتر میزان بار بهینهای میباشد که بدون افزایش، در شبکه وجود دارد.
بررسی افزونههای TCP
- Timestamp به BIG-IP امکان استفاده انتخابی از Timestampهایی را میدهد که دادهها را جهت کمک به دیگر بهینهسازیها به بخش TCP میافزاید. با اینکه مزیت Timestampها بیش از یک شبکه مدرن است، برخی از روترهای قدیمی و تجهیزات NAT باعث میشوند میزان Timestampها به صفر برسد و یا آنها را بروزرسانی نمینمایند؛ که این امر موجب میشود این مزیتِ تحتالشعاع قرار گیرد. به این ترتیب، این قابلیت و قابلیتهای دیگر میتوانند براساس یک پروفایل تنظیم شوند.
- بهبود TCP TIME-WAIT Assassination Hazards : تعداد کمی خطای احتمالی مربوط به اتصال وجود دارد که میتوان از طریق بهینهسازی رفتار TIME-WAIT، از بروز آنها جلوگیری نمود، به ویژه هنگام دریافت بخشهای Reset که در وضعیت TIME-WAIT قرار دارند.
- دفاع در برابر حملات Sequence Number : TCP Express با استفاده از نسل ISN که بسیار امن میباشد، از بروز بسیاری از حملات Sequence Number Guessing جلوگیری مینماید.
- بهبود مدیریت تراکم (Congestion) پروتکل TCP : تکنولوژی TCP Express آخرین روشهای اجتناب از تراکم و بازیابی تراکم در TCP را به منظور افزایش پهنای باند قابل استفاده نموده و همچنین افزایش سرعت بازیابی در صورت به وجود آمدن تراکم را اعمال مینماید.
- بهبود Slow-Start برای TCPهای دارای پنجره ازدحام با سایز بزرگ: با استفاده از روش Slow-Start محتاطانه، هنگامی که اتصالات از پنجرههای TCP بسیار بزرگ استفاده مینمایند، مانع از دست رفتن دادهها، در حجم بالا میشوند.
- محاسبه بایتها بصورت مطلوب: از تعداد بیتهای تایید نشده در هر ACK استفاده میکند که هرکدام مقیاس پنجره هوشمندتری ارائه مینماید و سبب افزایش عملکرد TCP میشوند.
- اصلاح الگوریتم بازیابی سریع TCP : اصلاح Newreno در الگوریتم Fast Recovery ، یک تغییر جزئی را مشخص مینماید، به این ترتیب فرستنده TCP میتواند از تاییدهای جزئی برای inferenceها استفاده نماید که این inferenceها در شرایطی که SACK در دسترس نیست به تعیین نمودن بخش بعدی برای ارسال کمک مینماید.
بهبود عملکرد ارسال Packetها با استفاده از TCP Express
از آنجا که TCP Express به معنای واقعی کلمه صدها پیشرفت مرتبط با قابلیت تعاملپذیری در TCP را پیادهسازی نموده و راهحلی برای ویندوز 98، XP، 2000، سیستمعاملهای IBM AIX، سیستم Solaris و موارد دیگر ارائه نموده است، هیچ تکنیک واحدی نیست که در اکثر موارد بتواند بر بهبود عملکرد تاثیرگذار باشد. این بهینهسازی بسته به نوع خاصی از Client یا سرور و یا با توجه به خصوصیات ترافیک متفاوت هستند. برای مثال:
- زمانی که اتصال Client از نوع Dial-Up باشد، BIG-IP میتواند تعداد کل Packetهای ارسال شده برای یک تراکنش معین را کاهش دهد، به علاوه اینکه سرعت انتقال مجدد را نیز افزایش میدهد و این مهمترین مزیت TCP Express میباشد.
- زمانی که اتصال Client از نوع Broadband باشد، که این نوع اتصال دارای پهنای باند بیشتری است، به طور طبیعی بیشترین TCP، کمترین کارایی را در بکارگیری تمام ظرفیت لینک ارتباطی به همراه دارد، به همین دلیل BIG-IP بهینهسازی بیشتری را در اختیار قرار میدهد.
BIG-IP زمانِ Round Trip در Packetها را کاهش میدهد و سرعت انتقال مجدد را دقیقا همانند اتصال Dial-Up افزایش میدهد، با این تفاوت که اتصالات سریعتر برقرار میگردند. همچنین BIG-IP LTM و TCP Express بهبود حداکثر پهنای باند، کنترل تراکم و سایز پنجره ارسال را بهینهسازی مینمایند. اگرچه ممکن است ارتقاهایی که برای کاربران Dial-Up صورت گرفته بیشتر قابل توجه باشد، بهبودهای صورت گرفته برای کاربران Broadband به لحاظ آماری مشخصتر است، چراکه برخی از این ارتقاها به صورت چشمگیری سبب بهبود عملکرد Top-End در لینکهای پرسرعت میگردند.
قانون کلی این است که هرچه دادههای بیشتری مبادله شود، بهینهسازی پهنای باندِ بیشتری اعمال خواهد شد. هرچه دادههای کمتری تبادل شود، بهینهسازی زمان تاخیر Round-Trip (یا به عبارتی RTT) بیشتری اعمال میگردد. بنابراین، در ترافیکهایی مانند Dial-Up، که بسیاری از دادهها را مبادله نمیکنند، بهینهسازی بیشتری نسبت به Broadband اعمال خواهد شد. در پروفایلهای ترافیکی که دادههای فراوانی مبادله میشود، بهینهسازی بیشتری در Broadband اعمال میگردد که در هر دو صورت، با استفاده از TCP Express دستاوردهای قابل توجهی حاصل میشود.
کنترلهای TCP قابل تنظیم
با وجودی که عملکرد TCP Express به صورت خودکار میباشد و نیاز به هیچگونه اصلاحاتی ندارد، BIG-IP کنترل پیشرفته پشتهTCP را در اختیار کاربران قرار میدهد تا اتصالات TCP را با توجه به نیازهای خاص کسب و کار تنظیم نماید. این موارد شامل قابلیت انتخاب بهینهسازیها و تنظیمات در سطح سرور مجازی به ازای هر برنامهای که روی تجهیزات نصب گشته است، میشود. مدیران شبکه میتوانند از پروفایل TCP به منظور تنظیم هرکدام از متغیرهای TCP زیر استفاده نمایند:
- Time Wait Recycle
- Delayed Acks
- Proxy Mss
- Proxy Options
- Deferred Accept
- Selective Acks
- Ecn
- Limited Transmit
- Rfc1323
- Slow Start
- Bandwidth Delay
- Nagle
- Proxy Buffer
علاوه بر موارد فوق Adminهای شبکه میتوانند از این کنترلها به منظور تنظیم اتصالات TCP در شرایط شبکههای تخصصی و یا الزامات استفاده نمایند. کاربرانی که با شرکتهای تلفن همراه و ارائه دهندگان سرویس در ارتباط هستند، دریافتهاند که این انعطافپذیری به آنها امکان میدهد تا عملکرد، قابلیت اطمینان و بکارگیری Bandwidth خود را با استفاده از مناسبسازی اتصالات برای دستگاههای شناخته شده (مانند تلفنهای همراه) و شرایط شبکه افزایش دهند.
ـــــــــــــــــــــــــــــــــــــــــــــــــ
بهینه سازی عملکرد برنامههای تحت WAN و LAN با استفاده از TCP Express – قسمت اول
بهینه سازی عملکرد برنامههای تحت WAN و LAN با استفاده از TCP Express – قسمت دوم
بهینه سازی عملکرد برنامههای تحت WAN و LAN با استفاده از TCP Express – قسمت سوم (پایانی)