টিসিপি এসএকেকে কখন বন্ধ করবেন?


28

আমি লিনাক্স টিউনিং প্যারামগুলিতে দেখছি এবং এমন কয়েকটি কনফিগারেশন দেখছি যেখানে স্যাক বন্ধ রয়েছে। কেউ কি এই ব্যাখ্যা করতে পারেন?

এটি একটি ব্যস্ত ওয়েব সার্ভারের জন্য টিউন করা হবে।

উত্তর:


34

একটি বেসিক টিসিপি এসি কে বলেছে "আমি এক্স পর্যন্ত সমস্ত বাইট পেয়েছি।" নির্বাচনী এসকে আপনাকে "আমি XY, এবং VZ বাইট পেয়েছি" বলতে অনুমতি দেয়।

সুতরাং, উদাহরণস্বরূপ, কোনও হোস্ট যদি আপনাকে 10,000 বাইট এবং 3000-5000 বাইট ট্রানজিটে হারিয়ে যায় তবে এসি কে বলবে "আমি 3000 অবধি সবকিছু পেয়েছি।" অন্য প্রান্তে আবার 3001-10000 বাইট পাঠাতে হবে। SACK বলতে পারে "আমি 1000-2999 এবং 5001-10000 পেয়েছি" এবং হোস্টটি কেবল 3000-5000 প্রেরণ করবে।

এটি একটি উচ্চ ব্যান্ডউইথ, ক্ষতিকারক (বা উচ্চ বিলম্ব) লিঙ্কের উপরে দুর্দান্ত। সমস্যাটি হ'ল এটি নির্দিষ্ট পরিস্থিতিতে মারাত্মক পারফরম্যান্স সমস্যা সৃষ্টি করতে পারে। সাধারন টিসিপি এসিগুলি সার্ভারকে উচ্চ-ব্যান্ডউইথ, কিডের গ্লোভসের সাথে ক্ষতিকারক সংযোগ তৈরি করবে (500 বাইট পাঠাও, অপেক্ষা করুন, 500 বাইট প্রেরণ করুন, অপেক্ষা করুন ইত্যাদি) etc SACK এটিকে উচ্চ বিলম্বের সাথে মানিয়ে নিতে দেয় কারণ এটি জানে যে আসলে কতগুলি প্যাকেট হারিয়েছিল।

এখানেই খারাপ জিনিসগুলি ঘটতে পারে। একজন আক্রমণকারী আপনার সার্ভারকে একটি দীর্ঘ সময়ের জন্য একটি বিশাল পুনঃপ্রেরণ সারি রাখতে বাধ্য করতে পারে, তারপরে সেই সম্পূর্ণ জঘন্য জিনিসটি বারবার প্রক্রিয়াকরণ করতে পারে। এটি সিপিইউ পেরগ করতে পারে, র‌্যাম খেয়ে ফেলতে পারে এবং এর চেয়ে বেশি ব্যান্ডউইথ ব্যবহার করতে পারে। সংক্ষেপে, একটি হালকা ওজনের সিস্টেম একটি বিফায়ার সার্ভারের বিরুদ্ধে একটি ডস শুরু করতে পারে।

যদি আপনার সার্ভারটি দৃust় এবং বড় ফাইলগুলি পরিবেশন না করে তবে আপনি এর বিরুদ্ধে খুব ভালভাবে উত্তাপ নিচ্ছেন।

আপনি যদি বেশিরভাগ ইন্ট্রনেট বা ব্যবহারকারীদের অন্যান্য নিম্ন-বিলম্বী গোষ্ঠীর সাথে পরিবেশন করেন তবে SACK আপনাকে কিছুই কিনে না এবং কোনও কর্মক্ষমতা ক্ষতি না করে সুরক্ষার কারণে বন্ধ করে দেওয়া যেতে পারে।

আপনি যদি একটি নিম্ন-ব্যান্ডউইথ লিঙ্কে থাকেন (থাম্বের সম্পূর্ণ স্বেচ্ছাসেবী হিসাবে 1 এমবিপিএস বা তার চেয়ে কম বলুন), স্যাক আপনার সংযোগকে পরিপূর্ণ করে সাধারণ ক্রিয়াকলাপে সমস্যা সৃষ্টি করতে পারে এবং এটি বন্ধ করা উচিত।

শেষ পর্যন্ত, এটি আপনার উপর নির্ভর করে। আপনি কী পরিবেশন করছেন, কাকে, কোনটি থেকে, এবং স্যাকের পারফরম্যান্স প্রভাবগুলির বিরুদ্ধে আপনার ঝুঁকির ডিগ্রিটি বিবেচনা করুন Consider

এখানে SACK এবং এর দুর্বলতার একটি দুর্দান্ত ওভারভিউ রয়েছে


এফটিআর: লিনাক্স ৪.১৮ এর পর থেকে সেখানে স্যাক সংক্ষেপণ সক্ষম রয়েছে। এটি যেমন ওয়্যারলেস নেটওয়ার্কগুলিতে কর্মক্ষমতা উন্নত করতে পারে improve এছাড়াও, কিছুটা প্রাসঙ্গিক: মূল বিকাশকারীদের মন্তব্য
হাই-অ্যাঞ্জেল

12

টিসিপি স্যাক প্রায়শই অক্ষম হয়ে যাওয়ার আরেকটি কারণ হ'ল সেখানে প্রচুর পরিমাণে নেটওয়ার্ক গিয়ার রয়েছে যা এই বিকল্পটি সঠিকভাবে পরিচালনা করতে ব্যর্থ। টিসিপি ব্যবহার করে আমরা সরবরাহ করি এমন একটি উচ্চ-গতির ফাইল স্থানান্তর পণ্য সহ আমরা এটি সর্বদা দেখি। সর্বাধিক সাধারণ সমস্যা গেটওয়ে ডিভাইসগুলির মধ্যে যেগুলি টিসিপি প্যাকেটের অভ্যন্তরীণ নেটওয়ার্কগুলি থেকে বাইরের দিকে ট্রান্সমিশন করার মতো ক্রম সংখ্যার মতো কাজ করে তবে এটি দূরবর্তী থেকে প্রেরণ করা হতে পারে টিসিপি SACK বিকল্পগুলিকে "আন-রেন্ডমাইজ" করবে না that শেষ. যদি প্রকৃত SACK মানগুলি এই ডিভাইসগুলির দ্বারা যথাযথ মানগুলিতে আবার অনুবাদ না করা হয়, তবে রিমোট প্রান্তটি নির্বাচনী ACK সুবিধার্থে SACK ব্যবহার করার চেষ্টা করলে পিসিটি ক্ষতিতে টিসিপি সেশনটি কখনই সম্পূর্ণ হবে না।

সম্ভবত লোকেরা যদি আরও বেশি আগ্রাসীভাবে এই গিয়ারটিতে প্রতিরোধমূলক সফ্টওয়্যার রক্ষণাবেক্ষণের বিষয়টি প্রয়োগ করে তবে এটি কোনও সমস্যার কারণ হবে না, তবে তারা তাতে ঝুঁকছেন না।


2
এই রেডহ্যাট কেবি দেখুন নিবন্ধ: কেন এডিএসএল রাউটারের পিছনে একটি ক্লায়েন্ট সিস্টেম থেকে টিসিপি সংযোগগুলি রেড হ্যাট এন্টারপ্রাইজ লিনাক্সের অধীনে মাঝেমধ্যে স্থির থাকে? kbase.redhat.com/faq/docs/DOC-26683
ডেভি

6

আমি তিক্ত অভিজ্ঞতা থেকে নিশ্চিত করতে পারি যে সিসকো এএসএ ফায়ারওয়াল অ্যাপ্লিকেশনগুলি যখন সিসকো এএসএ ফায়ারওয়াল অ্যাপ্লিকেশনগুলি ব্যবহার করে থাকে তখন tcp_sack = 1 স্বেচ্ছাসেবক / আরএসসিএনসি / এসসিপি ইত্যাদির চেয়ে বেশি ফাইলের সাথে স্টাফ ডেটা স্থানান্তর বন্ধ করে দেয়।

প্রতিটি সময় এটি বন্ধ হয়ে যাবে।

আমরা দুটি ভিন্ন ডেটা সেন্টারে হোস্ট এ এবং হোস্ট বি এর মধ্যে একটি ডেডিকেটেড 100 এমবিপি লিঙ্কের উপর স্থানান্তরিত করেছিলাম, উভয়ই সিসকো ফায়ারওয়াল এবং সেন্টো সহ হার্ডওয়্যার সুইচ ব্যবহার করে।

এটি বাফার আকারগুলি সংশোধন করে কিছুটা প্রশমিত করা যায় - উদাহরণস্বরূপ আমি হোস্ট এ থেকে হোস্ট বি তে 1 জিবি ফাইলটি স্থানান্তর করতে পারিনি যদি আমি এসএফপি বাফারকে 2048 এ সেট না করি তবে আমি নির্বিশেষে পারি যদি হোস্ট বি এ থেকে ফাইলটি টানত না I

আরএসসিএনসি ব্যবহার করে বাফার টিউনগুলি প্রেরণ / গ্রহণের জন্য একই ফাইলের পরীক্ষা-নিরীক্ষাগুলি আমাকে 1 জিবি ফাইলের 70 এমএম এর কাছাকাছি এ থেকে বি তে ধাক্কা দেওয়ার অনুমতি দেয় allowed

যাইহোক, চূড়ান্ত উত্তরটি ছিল হোস্ট এ তে tcp_sack অক্ষম করার জন্য প্রথম দিকে ফ্লাইটে অন কার্নেলে tcp_sack = 0 সেট করে - তবে শেষ পর্যন্ত - আমি আমার /etc/sysctl.conf এ এটি যুক্ত করেছি


1
fww, সিসকো এএসএ ফায়ারওয়াল এখানে। সমস্যার একমুখী প্রকৃতি বিচ্ছিন্ন ছিল, আমরা কয়েক মাস ধরে এটি তাড়া করে আসছি। স্কিপ এক-উপায়ে 'গতিতে' কম-বেশি কাজ করেছিল তবে নিয়মিত স্থগিত হয়ে অন্য দিকের সময়সীমা বেঁধে দেয়। Tcp_sack অক্ষম করা একটি নিরাময় ছিল।

@ জিন-লুপ আশা করি আপনি সরঞ্জাম পরিবর্তন করার পরামর্শ দিচ্ছেন না। আমার শেষ কাজটিতে এই সমস্যা ছিল এবং এটি কনফিগারেশনের পরিবর্তনের সাথে সংশোধন করেছিলাম। unix.stackexchange.com/questions/391125/…
রুই এফ রিবেইরো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.