টাইমস্ট্যাম্প সক্ষম থাকলে কিছু এসওয়াইএন প্যাকেটের কোনও প্রতিক্রিয়া নেই


9

আমার একটি টিসিপি সার্ভার শুনছে একটি মেশিনে ("সার্ভার") উবুন্টু 12.04.3 (কার্নেল ৩.৮.০-৩১-জেনেরিক) চলছে। এটি 2 টি পৃথক ক্লায়েন্ট মেশিন থেকে সংযোগ গ্রহণ করে। মেশিন এ উবুন্টু 12.04.4 (3.11.0-17-জেনেরিক) চলছে এবং মেশিন বি উবুন্টু ১১.১০ (3.0.0-32-সার্ভার) চলছে।

যদি টিসিপি টাইমস্ট্যাম্পগুলি সার্ভারে সক্রিয় করা থাকে (sysctl নেট.ipv4.tcp_timestamps = 1) তবে কখনও কখনও মেশিন A এর এসওয়াইএন প্যাকেটগুলি "উপেক্ষা করা" হয়। সার্ভারে tcpdump ব্যবহার করে (প্রমিসিউজ মোডে না) আমি এসওয়াইএনগুলি ঠিক আছে এবং সঠিক চেকসাম সহ দেখতে পাচ্ছি - কেবল কোনও প্রতিক্রিয়া নেই - কোনও এসআইএন / এসি এবং কোনও আরএসটি নেই। মেশিন এ ছাড়ার আগে বেশ কয়েকবার এসওয়াইএনকে পুনরায় স্থানান্তর করে। মেশিন এ চলমান ক্লায়েন্ট সফ্টওয়্যার (এই ক্ষেত্রে উইজেট) তাত্ক্ষণিকভাবে একটি নতুন সংযোগ নিয়ে চেষ্টা করে এবং তাত্ক্ষণিক এসওয়াইএন / এসিকে পেয়ে সফল হয়।

মেশিন বিয়ের একই সার্ভারে কোনও সমস্যা নেই এবং এটি ট্র্যাফিক স্বাভাবিক দেখায় - এটি মেশিন এ হিসাবে একই টিসিপি বিকল্পগুলিও ব্যবহার করছে (ক্যাপচার ফাইলগুলি থেকে আমি যা দেখছি তা থেকে)। সার্ভারে টিসিপি টাইমস্ট্যাম্পগুলি অক্ষম করা সমস্ত কিছুকে যেমন করা উচিত তেমন কাজ করে।

উপেক্ষা করা এসওয়াইএন প্যাকেটের টাইমস্ট্যাম্পগুলি আমার কাছে বৈধ বলে মনে হচ্ছে তবে তারা কেন সমস্যা সৃষ্টি করছে বা তারা যদি আদৌ অন্তর্নিহিত কারণ হয় তবে আমি নিশ্চিত নই।

আমি এখানে একটি অ্যানোনিমাইজড পিসিপি https: //www.DPboxboxss/onimdkbyx9lim70/server-machineA.pcap রেখেছি । এটি সার্ভারে নেওয়া হয়েছিল (10.76.0.74) মেশিন এ (10.4.0.76) সফলভাবে একটি HTTP জিইটি (1 থেকে 10 প্যাকেট) সম্পাদন করে এবং তারপরে 1 সেকেন্ড পরে আবার একই ইউআরএল আনার চেষ্টা করেছিল (11 থেকে 17 প্যাকেট) এর এসওয়াইএনগুলি উপেক্ষা করেছে। প্যাকেট 18 থেকে 27 আরেকটি সাফল্য।

আমি সন্দেহ করি এটি "একই সাথে একটি SYN / ACK প্যাকেট কোনও SYN প্যাকেটের প্রতিক্রিয়াতে SYN / ACK প্যাকেট কেন প্রেরণ করবে না " এবং "টাইমস্ট্যাম্পগুলি অক্ষম করা একটি কার্যকারণ " - এ বর্ণিত একই ধরণের সমস্যা বলে আমি সন্দেহ করি what এটি কি কেবল একটি বাগ?

স্থানীয় কোনও ফায়ারওয়াল চলছে না। সার্ভারটি বেশ কয়েকটি টিসিপি সংযোগগুলি পরিচালনা করে (কোনও সময়ে প্রায় 32 কে) তবে প্রচুর ফ্রি মেমরি / সিপিইউ রয়েছে। পিসিপে প্রদর্শিত পরীক্ষার সময় মেশিন এ এবং সার্ভারের মধ্যে অন্য কোনও টিসিপি সংযোগ ছিল না। সার্ভার অ্যাপ্লিকেশনটির গ্রহণযোগ্য সারিটি হঠাৎ পূরণ হচ্ছে এমন কোনও চিহ্ন নেই (এটি ছাড়াও আমি মনে করি উভয় ক্লায়েন্টকেই প্রভাবিত করা উচিত)। প্যাকেটগুলি সার্ভারে নেওয়া পিসি্যাপে ঠিক আছে বলে মনে হচ্ছে কোনও হস্তক্ষেপকারী নেটওয়ার্ক ডিভাইস জিনিসগুলি ভঙ্গ করছে।

আমি প্রথমে এটি উবুন্টু ফোরামে পোস্ট করেছি তবে অন্ধকারে এটি আরও উপযুক্ত জায়গা হতে পারে। একটি ক্লু loanণ জন্য প্রত্যাশী।

উত্তর:


5

আমার ক্ষেত্রে নিম্নলিখিত কমান্ডটি লিনাক্স সার্ভার থেকে পাওয়া অনুপস্থিত SYN / ACK জবাবগুলির সাথে সমস্যার সমাধান করেছে:

sysctl -w net.ipv4.tcp_tw_recycle=0

আমি মনে করি এটি টিসিপি টাইমস্ট্যাম্পগুলি অক্ষম করার চেয়ে আরও সঠিক, কারণ টিসিপি টাইমস্ট্যাম্পগুলি সর্বোপরি কার্যকর (PAWS, উইন্ডো স্কেলিং ইত্যাদি)।

tcp_tw_recycleস্পষ্টভাবে ডকুমেন্টেশনটিতে বলা হয়েছে যে এটি সক্ষম করার জন্য এটি সুপারিশ করা হয় না, কারণ অনেকগুলি নেট রাউটার টাইমস্ট্যাম্প সংরক্ষণ করে এবং একইভাবে পিএডাব্লুএস কিক ইন করে, কারণ একই আইপি থেকে টাইমস্ট্যাম্পগুলি সামঞ্জস্যপূর্ণ নয়।

   tcp_tw_recycle (Boolean; default: disabled; since Linux 2.4)
          Enable fast recycling of TIME_WAIT sockets.  Enabling this
          option is not recommended for devices communicating with the
          general Internet or using NAT (Network Address Translation).
          Since some NAT gateways pass through IP timestamp values, one
          IP can appear to have non-increasing timestamps.  See RFC 1323
          (PAWS), RFC 6191.

প্রশ্নের মধ্যে থাকা সমস্ত মেশিনগুলি আপগ্রেড করা হয়েছে এবং আমি বিশ্বাস করি যে সমস্যাটি আর হচ্ছে না তাই এখনই এটি চেষ্টা করতে পারি না। এই ক্ষেত্রে ক্লায়েন্ট এবং সার্ভারের মধ্যে কোনও NAT জড়িত ছিল না। এটি এখনও আমার কাছে সন্দেহজনকভাবে বাগের মতো মনে হচ্ছে।
ব্যবহারকারী 133831
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.