ডিএনএস রাউন্ড রবিন: ব্রাউজারগুলি অনলাইনে যতক্ষণ না কোনও আইপি থাকে?


14

ডিএনএস সার্ভার থেকে একাধিক এ-রেকর্ড পেলে বেশিরভাগ ব্রাউজার কীভাবে আচরণ করবে? কোনও আইপি যতক্ষণ না এটি পৌঁছনীয় ততক্ষণ লাঠিটি আটকাবেন (এবং কেবল আইপিটি নিচে থাকলে অন্যটি ব্যবহার করবেন)? না তারা অকারণে সব সময় স্যুইচ করে?

যদি সর্বাধিক বর্তমান ব্রাউজারগুলি একটি আইপিতে লেগে থাকে তবে সাধারণ ব্যর্থতা সমাধান হিসাবে আমার পক্ষে ডিএনএস-আরআর যথেষ্ট।


1
আমি আপনার প্রশ্নের সরাসরি উত্তর দিতে পারি না, তবে আমি আপনাকে উল্লেখ করব যে আপনাকে ব্রাউজার এবং ওএস উভয় স্তরের ক্যাশে মোকাবেলা করতে হবে! মজা করুন :)
স্পেসম্যানস্পিফ


1
@ আইইন - অসাধারণ লিঙ্ক
স্পেসম্যানস্পিফ

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

এখন পর্যন্ত, খুব অন্তত আপনি যা এক / বেশী আপনি আগ্রহী নির্দিষ্ট করতে হবে, যাতে কোন একক সমস্ত ব্রাউজার আচ্ছাদন নিয়ম নেই।
জন Gardeniers

উত্তর:


7

প্রতিটি ব্রাউজারের রাউন্ড-রবিন ডিএনএস হ্যান্ডল করার নিজস্ব পদ্ধতি রয়েছে, আমি আজ এই সমস্যাটি নিয়ে গবেষণা করতে কিছু সময় ব্যয় করেছি এবং আমার উত্তরটি আপডেট করতে থাকব কারণ আমি প্রয়োগের প্রমাণ পেয়েছি যা ব্রাউজারগুলিতে আমার উত্তর সীমাবদ্ধ করে যা তাদের আচরণ প্রকাশ করে exp

গুগল ক্রম

গুগল ক্রোম (v58 ব্যবহৃত) কোনও ঠিকানা (A, AAAA, CNAME) এর জন্য সমস্ত হোস্ট এন্ট্রিগুলিকে অনুরোধ করবে এবং সেগুলিকে একটি অ্যারেতে ( ঠিকানা_ তালিকা ) রাখবে । ক্রোম প্রথম থেকে শেষ পর্যন্ত প্রতিটি আইপি ঠিকানায় একটি সকেট খোলার চেষ্টা করবে, ক্রোম দ্রুততম বা নিকটতম আইপি চেষ্টা করবে না, এটি প্রথম আইপি (আপনার আপস্ট্রিম ডিএনএস রেজোলভার দ্বারা প্রদত্ত) ধরে নেয় সেরা আইপি। আমার পরীক্ষাগুলিতে বাইন্ড এবং উইন্ডোজ ডিএনএস সার্ভারগুলি প্রতিটি আইপিতে 50/50 ব্যান্ডউইদথে বিভক্ত হওয়ার মতো বলে মনে হচ্ছে lookup এই কার্যকারিতাটি প্রকাশিত হয়chrome://net-internals/#events&q=type:SOCKET%20is:active

কার্ল (libcurl / 7.54.0)

কার্লেরও এই ব্যর্থ-ওভার ফাংশন রয়েছে তবে এটি --connect-timeoutক্রোমের ডিফল্টের চেয়ে অনেক দীর্ঘ ch আপনি যদি libcurl ব্যবহার করেন এবং একটি রাউন্ড-রবিন dns উদাহরণে বেঁচে থাকতে চান যেখানে একটি আইপি ব্যর্থ হয়, (ক্রোমে কাজ করে তবে কোডে নয়) এই মানটি কম উল্লেখ করার বিষয়ে নিশ্চিত হন।

DEFAULT_CONNECT_TIMEOUT: 0 আমাকে ভাবায় যে কার্ল দিয়ে এটি সম্ভব ছিল না।

* After 149990ms connect time, move on!

উভয় ব্রাউজারে , আইপি আঠালো ছিল না , তারা ডিএনএসে প্রদত্ত টিটিএল অনুসরণ করেছিল এবং একবার যখন টিটিএলটির মেয়াদ শেষ হয়ে যায় (ক্রোম এটি অভ্যন্তরীণভাবে বজায় রাখে, প্রতিটি অনুরোধে কার্ল জিজ্ঞাসা করে), আইপি নির্বাচন প্রতিটি সময় উপরে বর্ণিত হিসাবে সম্পাদিত হয়।

এটার মানে কি? কিছু সিস্টেমের জন্য ডিএনএস-আরআর ঠিক আছে, তবে এটি ফেলওভারের জন্য ডিজাইন করা হয়নি। আপনার আশা করা উচিত যে ডিএনএস-এর অনুসন্ধান করা সমস্ত ফলাফল (সত্যের উত্স) বৈধ এবং ট্র্যাফিক সরবরাহের জন্য উপলব্ধ। আইপি উপলভ্যতা নিশ্চিত করার অনেকগুলি উপায় রয়েছে যেমন ভার্চুয়াল ফ্লোট আইপি, বিজিপি / রাউটিং কৌশলগুলি তাদের ব্যবহার করুন

কেবলমাত্র আইপিভি 4 পরিবেশে সঞ্চালিত সমস্ত পরীক্ষাগুলি একবার পরীক্ষার জন্য পর্যাপ্ত অবকাঠামো উপলব্ধ হলে দ্বৈত-স্ট্যাক ফলাফল নিয়ে ফিরে আসবে।

আমি অনুমান করি যে এই পরিবর্তনগুলি আইপিভি 6-ফলব্যাক আরএফসি হ্যাপি আইবলস এর পার্শ্ব-প্রতিক্রিয়া

আপডেট একটি দরকারী বিবেচনা, আরআর ডিএনএস কেবল লোড ব্যালেন্সিংয়ে সহায়তা করতে পারে, অ্যাপ্লিকেশন ব্যর্থতা নয়, যদি আপনার কোনও নোডের 503 থাকে তবে আপনার ট্র্যাফিক 503s হলে আপনি 40-60% পরিবেশন করবেন। অনুমান করা হয় যে তালিকাভুক্ত সমস্ত আইপিগুলি যদি পৌঁছনীয় হয় তবে তা বৈধ কর্মের শেষ পয়েন্ট


2

সম্পাদনা করুন: হাইপারফ্র্যাক আমাকে শিখিয়ে দেওয়ার পর থেকে আমার উত্তর সম্পাদনা করছে।

ডিএনএস সার্ভারগুলি প্রদত্ত হোস্ট নামের জন্য সমস্ত এ রেকর্ডের একটি তালিকা ফিরিয়ে দেবে। রাউন্ড রবিন যেখানে আসে তা হল তালিকাটি অর্ডার করা হয় এমনভাবে এটি ঘোরানো হয়। লিংক পোস্ট করা লিংক ওয়েব ব্রাউজারগুলি কীভাবে সেই তালিকাটি ব্যবহার করবে তা তার একটি দুর্দান্ত উদাহরণ।

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


ডিএনএস সার্ভার সর্বদা সমস্ত ঠিকানা হস্তান্তর করে। ব্রাউজারটি হ'ল, তিনি সিদ্ধান্ত নেন যে কোনটি ব্যবহার করা হবে (যেমনটি এখানে এবং অন্য কোথাও বহুবার বিযুক্ত করা হয়েছে)। এছাড়াও, ওএস সমস্ত আইপি ব্রাউজারে পাস করে।
হাইপারফ্র্যাক 21

2
@ হাইপারফ্রাক প্রায়শই দেখা কনফিগারেশন (বিশেষত বিপুল সংখ্যক এ-রেকর্ডগুলির জন্য) হ'ল ডিএনএস কিছু ঠিকানা দেয় (যদিও সব কিছু নয়, সাধারণত এটি নিশ্চিত করার জন্য যে তারা 512 বাইটের ইউডিপি প্যাকেটে ফিট করে এবং অপ্রয়োজনীয় ওভারহেড ব্যয় করে না) , সাধারণত পরিবর্তিত ক্রমে in
দি ওয়াবিট

আমি 2 বা 3 আইপি নিয়ে ভাবছিলাম।
হাইপারফ্র্যাক 21

@ হাইপারফ্র্যাক: আমি কেবল বলতে চেয়েছিলাম যে আপনি ঠিক যে ঠিক যে কোনও ডিএনএস সার্ভার সমস্ত নামের সাথে রেকর্ড করে যখন একটি নাম জিজ্ঞাসা করা হয় যদি সেই নামের জন্য একাধিক এ রেকর্ড উপস্থিত থাকে। আমার একটি ডিএনএস সার্ভার রয়েছে এবং আমি যখন নিশ্চিত হয়ে হোস্টনামটি পিন করেছি তখন ওয়্যারশার্কের সাথে কেবল একটি প্যাকেট ক্যাপচার করেছি। ধন্যবাদ - আমি আজ কিছু শিখেছি! :)
রায়ান রেস

2

এটি আমার প্রশ্নটি দেখুন (এবং উত্তর দিন): ব্রাউজারগুলি কীভাবে একাধিক আইপি পরিচালনা করে

শীঘ্রই - রাউন্ড রবিন ডিএনএস মোটেই প্রাপ্যতা উন্নতি করে না। ব্রাউজারটি একটি আইপি চয়ন করে এবং তাতে সাড়া দেয় না, এমনকি যদি এটি প্রতিক্রিয়া না করে। (এফএফ এবং ক্রোমের সাথে চেক করা হয়েছে)।

একবার ব্রাউজার ডিএনএস ক্যাশে মেয়াদ শেষ হয়ে গেলে, হোস্টনাম আবার সমাধান হয়ে যায় এবং আইপি উত্তর দেয় বা না করেই প্রক্রিয়া পুনরাবৃত্তি করে।

বেসিক এইচএর জন্য, আপনি গতিশীল ডিএনএস বা বিভিন্ন আইপি-ভিত্তিক পদ্ধতি ব্যবহার করতে পারেন।

সম্পাদনা: অ্যাক্সেস অযোগ্য হোস্ট যখন "ব্ল্যাক হোল" হিসাবে কাজ করে তখন এই আচরণটি ঘটবে। হোস্টের পরিবর্তে আগত সংযোগগুলি প্রত্যাখ্যান করে, ব্রাউজারটি একটি আইপি চেষ্টা করবে, প্রত্যাখ্যান করবে এবং তাত্ক্ষণিকভাবে অন্য আইপি ব্যবহার করবে এবং এইভাবে এটি বেশ ভালভাবে ব্যর্থ হবে।


2
সাম্প্রতিক বছরগুলিতে এটি সম্ভবত পরিবর্তিত হয়েছে, তবে আমি নিশ্চিত করতে পারি যে ফায়ারফক্সে একাধিক রিফ্রেশ করার পরে, আইপি আসলে পরিবর্তিত হয়, যদিও প্রায়শই না। সম্ভবত এই উত্তরটি সেকেলে?
ইয়েতি

আমার গবেষণা (২০১৫ সাল) থেকে স্যান্ডম্যান 4 বর্ণিত ক্রোম, ফায়ারফক্স এবং এমএসআইই আচরণ করে না। এমএসআইই উল্লেখযোগ্যভাবে পৃথক যে এতে প্রথম ব্যর্থ হলে তালিকাভুক্ত পরবর্তী ঠিকানায় সংযোগ দেওয়ার চেষ্টা করার আগে একটি সম্পূর্ণ টিসিপি টাইমআউট প্রয়োজন।
সিমকিবিয়ান

0

তারা আইপিগুলি স্যুইচ করে, এটি কোনও ব্যর্থতা সমাধান নয়।

ব্রাউজারগুলি ওএসকে নাম রেজোলিউশন করতে দেয় এবং পরীক্ষার লিনাক্সের জন্য সর্বদা আইপি ঠিকানাগুলি এলোমেলো করে দেয়, হোস্ট গুগল ডট কম কয়েকবার চেষ্টা করে দেখুন । আইপিগুলি এলোমেলো ক্রমে আসবে।


কেন তারা এলোমেলোভাবে এবং কারণ ছাড়াই এটি করে? যতক্ষণ কাজ চলমান ততক্ষণ কোনও জ্ঞাত টু কাজের পুনরায় ব্যবহার করা বুদ্ধিমান হবে না?
হাইপারফ্র্যাক

1
এটি লোড ব্যালেন্সিংয়ের জন্য।
প্রস্তর

@HiPerFreak আরও দেখুন: en.wikipedia.org/wiki/Round-robin_DNS
voretaq7

@ হাইপারফ্র্যাক: কারণ এটি কোনও পরিচিত-টু-ওয়ার্কের আইপি-র কাছে লেগেছে না কারণ হ'ল নাম রেজোলিউশন সেই আইপি এখন কাজ করে বা অতীতে ছিল কিনা সে সম্পর্কে কিছুই জানে না। ব্রাউজারটি কোনও একক আইপিতে আটকে যায় না কারণ নাম রেজোলিউশনটি বিভিন্ন আইপি ব্যবহার করতে বলছে। :-)
শান রিফশনিডার

@ শিয়ান: ধাক্কা উত্তরে আলোচিত হিসাবে, নাম রেজোলিউশনটি ব্রাউজারকে সমস্ত আইপি দেয় এবং ব্রাউজারটি সিদ্ধান্ত নেয়, কোনটি ব্যবহার করা উচিত। এবং ব্রাউজারটি জানে যে কোন আইপিগুলি কাজ করেছে এবং কোনটি নয়। সুতরাং এটি কারণ হতে পারে না।
হাইপারফ্র্যাক

0

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.