เบราว์เซอร์จัดการกับ IP หลายตัวอย่างไร [ปิด]


11

ใครสามารถแนะนำฉันถึงข้อมูลเกี่ยวกับพฤติกรรมของเบราว์เซอร์ที่แน่นอนเมื่อเบราว์เซอร์ได้รับหลายระเบียน A สำหรับชื่อโฮสต์ที่กำหนด (พูดว่า ip1 และ ip2) และหนึ่งในนั้นไม่สามารถเข้าถึงได้

ฉันสนใจรายละเอียดที่แน่นอนเช่น (แต่ไม่ จำกัด เฉพาะ):

  1. เบราว์เซอร์จะได้รับ 2 IP จากระบบปฏิบัติการหรือจะได้รับเพียง IP เดียว?
  2. เบราว์เซอร์ใดที่จะลองก่อน (สุ่มหรือเสมอก่อน) ตอนนี้สมมติว่าเบราว์เซอร์เริ่มต้นด้วย ip1 ที่ล้มเหลว
  3. เบราว์เซอร์จะลอง IP1 นานเท่าใด
  4. หากผู้ใช้กด "หยุด" ในขณะที่รอ ip1 จากนั้นคลิกรีเฟรช
    • เบราว์เซอร์ใดที่ IP จะลอง
  5. จะเกิดอะไรขึ้นเมื่อหมดเวลา - จะลองใช้ ip2 หรือให้ข้อผิดพลาดหรือไม่ (และหากเกิดข้อผิดพลาดเบราว์เซอร์ใดที่จะลองเมื่อผู้ใช้คลิกรีเฟรช)
  6. เมื่อผู้ใช้คลิกรีเฟรชเบราว์เซอร์ใดจะพยายามค้นหา DNS ใหม่หรือไม่

ทีนี้สมมติว่าเบราว์เซอร์ลองใช้ ip2 ก่อน

  1. สำหรับคำขอหน้าถัดไปเบราว์เซอร์จะยังคงใช้ ip2 หรืออาจสลับ ips แบบสุ่มหรือไม่
  2. เบราว์เซอร์เก็บ IP ไว้นานเท่าใด
  3. เมื่อเบราว์เซอร์ส่งคำขอ DNS ใหม่และรับ SAME ips มันจะยังคงใช้ IP ที่เป็นที่รู้จักเหมือนเดิมหรือไม่หรือกระบวนการเริ่มต้นจากศูนย์และอาจลองทั้งสองอย่างใดอย่างหนึ่งได้หรือไม่

แน่นอนมันอาจทั้งหมดขึ้นอยู่กับเบราว์เซอร์และอาจแตกต่างกันระหว่างรุ่นและแพลตฟอร์มฉันยินดีที่จะมีรายละเอียดสูงสุด

วัตถุประสงค์ของการนี้ - ฉันพยายามที่จะเข้าใจว่าผู้ใช้จะได้พบกับอะไรบ้างเมื่อใช้ round-robin DNS ที่ใช้และโฮสต์ตัวใดตัวหนึ่งล้มเหลว

ได้โปรดฉันไม่ได้ถามเกี่ยวกับความสมดุลของโหลด DNS ที่ไม่ดีและโปรดอย่าตอบ "อย่าทำ", "เป็นความคิดที่ไม่ดี", "คุณต้องการ heartbeat / proxy / BGP / อะไรก็ตาม"


1
มีส่วนขยายเบราว์เซอร์สำหรับ Firefox ที่แสดงที่อยู่ IP รวมถึงที่อยู่ IP ที่ใช้งานอยู่ในปัจจุบัน ( addons.mozilla.org/en-US/firefox/addon/showip/?src=search ) คุณยังสามารถใช้แท็บ 'Net' ของ Firebug เพื่อแสดงคำขอ IP ที่ให้บริการโดย สิ่งนี้เกี่ยวข้องกับ Firefox เท่านั้น แต่ฉันเชื่อว่าคอนโซล Chrome dev แสดงการร้องขอ IP ที่ให้บริการโดย
— Smudge

นอกจากนี้โปรดทราบว่าเซิร์ฟเวอร์ DNS ของ ISP บางรายจะส่งคืนที่อยู่ IP เดียวเท่านั้นทำไมพวกเขาถึงทำอย่างนี้ฉันก็ไม่รู้
— Smudge

ขอบคุณแซม และใช่คอนโซล chrome แสดงการค้นหา DNS แคชและแสดง IP ที่ต้องการ
— Sandman4

หากคุณต้องการที่จะพูดคุยเกี่ยวกับที่แน่นอนพฤติกรรมแล้วสิ่งแรกที่จะต้องทราบเกี่ยวกับวิธีการจัดการเว็บเบราเซอร์ที่มีผลคือการที่พวกเขาไม่ได้ การจำแนกชื่อได้รับการจัดการโดยเครือข่ายสแต็ก คุณกำลังพยายามถามถึงความแปลกประหลาดบางอย่างของเบราว์เซอร์ที่คุณสังเกตเห็นหรือคุณกำลังถามเกี่ยวกับการแก้ไขชื่อ
— Rob Moir

เบราว์เซอร์ DO ได้รับ (จากเครือข่ายสแต็ค) หลาย IP ที่อยู่ในรายการ A สำหรับชื่อโฮสต์ ใน Google Chrome ให้ลอง chrome: // net-internals / # dns แล้วดูตัวเอง
— Sandman4

คำตอบ:


5

ท้ายที่สุดฉันต้องทำ "การวิจัย" ด้วยตัวเอง นี่คือพฤติกรรมของ Chromium (รุ่น 12.0.742.112) (ทำงานบน Ubuntu 11.04):

โดยทั่วไปแล้วจะใช้งานได้: ลอง 1-ip ip เมื่อหมดเวลา (หลังจาก 189 วินาที) ลองใช้ 2-ip ไม่มีข้อความแสดงข้อผิดพลาดจนกว่าจะใช้ ips ทั้งหมด การเชื่อมต่อถัดไปจะเริ่มจาก ip แรกอีกครั้ง (แม้ว่าจะเพิ่งผ่านไปไม่กี่วินาทีและ IP ที่สองทำงาน - เบราว์เซอร์ไม่สนใจ)

สิ่งหนึ่งที่น่าสนใจ - ความพยายามในการเชื่อมต่อ TCP จะไม่ลดลงเมื่อผู้ใช้กดยกเลิก - เช่นเมื่อฉันกดปุ่มยกเลิกและหลังจาก 60 วินาทีให้ลองคลิกอีกครั้งหน้าจะแสดงใน 130 วินาที (189 ครั้งจากครั้งแรก) แต่ถ้าฉันคลิกยกเลิกและคลิก รีเฟรชหลังจาก 190 วินาทีกระบวนการจะเริ่มตั้งแต่ต้น

เกี่ยวกับรายการในคำถามเดิม:

  1. เบราว์เซอร์รับทั้ง IP จากระบบปฏิบัติการ OS จะไม่เปลี่ยนลำดับของ IP
  2. เบราว์เซอร์มักจะพยายามที่จะเชื่อมต่อไปยัง ip ปรากฏว่าครั้งแรก
  3. ลองเป็นเวลา 189 วินาที
  4. ในการพยายามครั้งที่ 2 มันจะลอง IP แรกอีกครั้ง
  5. เมื่อ IP หมดเวลาครั้งแรกเบราว์เซอร์จะยังคงอยู่ที่ IP ที่สองต่อไป ถ้ามันใช้งานได้ - หน้าจะแสดงขึ้นถ้าไม่ได้ - รอต่อไป
  6. ไม่ผ่านการทดสอบ บล็อกนี้ระบุว่า Chrome ใช้แคช DNS นานถึง 1 นาทีเมื่อเราดู chrome: // net-internals / # dns:

    ความจุ: 100 เวลาที่อยู่ (มิลลิวินาที) สำหรับรายการที่สำเร็จ: 60000 เวลาที่อยู่ (มิลลิวินาที) สำหรับรายการที่ล้มเหลว: 0

หาก IP แรกทำงานได้กระบวนการจะเหมือนกันและจะประสบความสำเร็จในการพยายามครั้งแรกเสมอ


4

แทนที่จะบอกคนที่คุณไม่ต้องการทำไมไม่อธิบายว่าคุณพยายามทำอะไรให้สำเร็จ

หากทุกอย่างที่คุณเป็นข้อมูลที่เป็นที่รู้จักแล้วไปตรวจสอบตัวเองหรืออ่านเอกสารของเบราว์เซอร์ใด ๆ (มีหลายร้อย) ที่คุณกำลังพูดถึง

มันอาจช่วยให้คุณรู้ว่าสิ่งนี้ไม่เกี่ยวกับ DNS

หากเบราว์เซอร์ได้รับการร้องขอก่อนอื่นเบราว์เซอร์จะดูแคชต่าง ๆ เพื่อดูว่ามี URL หรือไม่ถ้าไม่ใช่ URL ดังนั้นชื่อโฮสต์จะมีอยู่แล้ว
หากไม่เป็นเช่นนั้นระบบจะเข้าสู่ตัวแก้ไขระบบเพื่อแก้ไขชื่อโฮสต์

หาก IP ที่ได้รับกลับไม่ตอบสนองจะทำให้แคชนี้ภายในเป็นผลการค้นหาเชิงลบดังนั้นขอ URL เดียวกันซ้ำอีกครั้งโดยตรงโดยหวังว่าจะมีการบันทึก A แตกต่างกันเพราะมันอาจจะไม่มีประโยชน์เนื่องจากมันจะ ได้เก็บผลลัพธ์ชื่อโฮสต์พร้อมกับผลลัพธ์ IP เชิงลบ

หรือคุณรู้ว่าคุณสามารถให้ข้อมูลเพิ่มเติมได้

แก้ไข: ฉันเห็นว่าคุณได้ให้ข้อมูลบางอย่างในระหว่างความต้องการและ smartassery ทั้งหมด

ดีมาก:

  1. หากเบราว์เซอร์ถามตัวแก้ไขระบบสำหรับชื่อโฮสต์มันจะกลับข้อมูลใด ๆ ที่มีสำหรับชื่อโฮสต์นั้น ถ้านั่นหมายถึง 2 IP มันจะส่งคืน 2 IP
  2. ขึ้นอยู่กับเบราว์เซอร์
  3. ขึ้นอยู่กับเบราว์เซอร์ แต่เบราว์เซอร์ทั้งหมดที่ฉันเคยใช้ทำคำขอเดียวและจะหมดเวลาหลังจากการหมดเวลา TCP CONNECT () มาตรฐาน ฉันค่อนข้างแน่ใจว่ามี RFC เกี่ยวกับที่นั้น ...
  4. ขึ้นอยู่กับเบราว์เซอร์ ไม่มีส่วนเกี่ยวข้องกับ DNS หรือระบบเครือข่าย
  5. เลขที่
  6. เลขที่

คุณดูเหมือนจะไม่ทราบว่าระเบียน DNS ถูกแคชทุกที่โดยเฉพาะลูกค้า ระเบียนเหล่านี้หมดอายุขึ้นอยู่กับว่าเจ้าของโดเมนตั้งใจหรือแคชในระหว่างคุณและเขากำหนดค่า เป็นเรื่องปกติหนึ่งชั่วโมงถึงหนึ่งวันดังนั้นอย่าคาดหวังว่าผู้แก้ไขจะทำแบบสอบถาม DNS อื่นหากคุณกดรีเฟรชเหมือนคนบ้า


2
เพิ่มคำอธิบายของสิ่งที่ฉันพยายามที่จะบรรลุ หลังจากฉันทราบข้อมูลแล้วฉันหวังว่ามีคนรู้เพราะอาจใช้เวลาหลายวันในการค้นหาข้อมูลที่เกี่ยวข้อง เรียกร้องหรือไม่ ฉันขอข้อมูลที่ฉันต้องการฉันไม่สามารถเรียกร้องได้ - ทุกคนมีอิสระที่จะตอบหรือไม่ Smartassery ฉันได้รับบาดเจ็บจากการโพสต์ของคุณและฉันไม่คิดว่าฉันสมควรได้รับมัน
— Sandman4

1
ฉันไม่ต้องการให้การสนทนากลายเป็นเปลวไฟจากการปรับสมดุลภาระ DNS อย่างไรก็ตามขอขอบคุณที่ชี้ให้ฉันไปที่ TCP CONNECT ()
— Sandman4
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.