เหตุใดจึงใช้เวลาไม่กี่วินาทีในการรับที่อยู่ IP ผ่าน DHCP


24

จากความอยากรู้ทำไมมันมักจะใช้เวลาไม่กี่วินาทีในการรับการกำหนดค่าเครือข่ายผ่าน DHCP เมื่อ CPU มีความสามารถในการประมวลผลการดำเนินงานหลายล้านต่อวินาทีและการ ping ไปยังเราเตอร์นั้นใช้เวลาสองสามมิลลิวินาที

ในสภาพแวดล้อมที่บ้านของฉันกับเราเตอร์ WiFi หนึ่งตัวและอุปกรณ์ประมาณ 5 ตัวมันไม่ได้ยากที่จะเห็นเวลาเช่น 5-10 วินาที

คำตอบ:


22

นอกเหนือจากการได้รับ DHCP lease จากเซิร์ฟเวอร์ DHCP (โดยทั่วไปจะใช้เวลาไม่นานนัก) บางเซิร์ฟเวอร์จะส่ง Ping ไปยังที่อยู่ IP ที่กำลังจะส่งมอบก่อนที่จะส่งมอบจริงเพื่อยืนยันว่ายังไม่ได้ทำการยืนยัน ใช้งานบนเครือข่าย - การดำเนินการนี้ใช้เวลาสองสามวินาที บางครั้งไคลเอนต์จะทำเช่นเดียวกัน (อีกครั้งเพื่อป้องกันความขัดแย้งของที่อยู่ IP) ซึ่งจะเพิ่มเวลามากขึ้น จากนั้นลูกค้าบางรายก็จะลงทะเบียนรายการ DNS ของพวกเขาเป็นต้น


3
เซิร์ฟเวอร์ dhcp ในที่ทำงานของฉันใช้การร้องขอ ARP เพื่อตรวจสอบความขัดแย้งของ IP
erichui

9

DHCP อาจใช้เวลานานขึ้นเล็กน้อยเนื่องจากเกี่ยวข้องกับชุดธุรกรรมไม่ใช่กับเซิร์ฟเวอร์เดียว แต่มีอุปกรณ์ทั้งหมดในเครือข่ายในระหว่างการร้องขอเริ่มต้นเนื่องจากส่งข้อความออกอากาศ

หากคุณตรวจสอบ RFC สำหรับ DHCP

http://www.faqs.org/rfcs/rfc2131.html

คุณสามารถเห็นชุดการเจรจาที่เกี่ยวข้องได้อย่างชัดเจน ที่จุดเริ่มต้นไคลเอนต์ส่ง DHCPDISCOVER ไปยังอุปกรณ์ทั้งหมดบน LAN จากนั้นเซิร์ฟเวอร์ที่เรียกใช้บริการ dhcp ส่งคืนข้อความ DHCPOFFER ไคลเอ็นต์อาจรอรับการตอบกลับจากเซิร์ฟเวอร์ dhcp ที่มีอยู่ทั้งหมดก่อนที่จะเลือกหนึ่งเซิร์ฟเวอร์ จากนั้นจะส่ง DHCPREQUEST พร้อมตัวระบุซึ่งระบุว่าเซิร์ฟเวอร์ใดที่เลือกเป็นผู้ให้บริการไอพี ในที่สุดมันก็ได้รับ DHCPACK พร้อมพารามิเตอร์การกำหนดค่าทั้งหมด นี่เป็นเพียงบทสรุปของ "3.1 การโต้ตอบกับเซิร์ฟเวอร์ - จัดสรรที่อยู่เครือข่าย" จาก RFC

จากประสบการณ์ของฉัน dhcp ใช้เวลานานส่วนใหญ่ในการตั้งค่า LAN ขนาดใหญ่ที่มีจำนวนโหนดเชื่อมต่อ ใน homenetwork ที่มีเซิร์ฟเวอร์ dhcp เพียงตัวเดียว (เช่นเราเตอร์ไร้สาย) และหนึ่งหรือสองชิ้นมันค่อนข้างเร็ว


ในเครือข่ายในบ้านของฉันกับเราเตอร์ WiFi หนึ่งตัวและอุปกรณ์ประมาณ 5 ตัวมันใช้เวลาประมาณ 5-10 วินาทีซึ่งฉันคิดว่าค่อนข้างช้า แต่ขอบคุณสำหรับคำอธิบาย
Borek Bernard

ตรวจสอบให้แน่ใจว่าคุณมีเซิร์ฟเวอร์ DHCP เดียว หากเป็นเพียง 5 อุปกรณ์คุณอาจต้องการจอง IP กับแต่ละอุปกรณ์ในเซิร์ฟเวอร์ dhcp แต่ถ้าคุณอยากรู้มากพอคุณสามารถใช้ tcpdump เพื่อดูการเจรจาจริงและดูว่าอะไรคือสาเหตุของความล่าช้า
แดเนียลที

ขึ้นอยู่กับเซิร์ฟเวอร์ dhcp อาจใช้เวลาหลายวินาทีโดยไม่คำนึงถึงกิจกรรมเครือข่ายหรือความเร็วของ CPU นี่เป็นเพราะเซิร์ฟเวอร์ทำการสอบถามเครือข่ายก่อนเพื่อดูว่ามีการใช้ที่อยู่ก่อนที่จะนำเสนอให้กับลูกค้าหรือไม่และต้องรออย่างน้อยสักครู่เพื่อให้ได้คำตอบ การหมดเวลานี้เป็นส่วนหนึ่งของความล่าช้าที่คุณสังเกตเห็นและจะมีอยู่แม้ในเครือข่ายที่เงียบที่สุด
ʇsәɹoɈ

2

สองเหตุผล (และวิธีแก้ปัญหา) ฉันพบเมื่อฉันต้องการคำตอบอย่างรวดเร็วจากเซิร์ฟเวอร์ DHCP ของฉัน

1) DHCP ของฉันทำการ ping ของที่อยู่ที่ต้องการจัดสรร สิ่งนี้เพิ่มความล่าช้า 3 วินาที ฉันลบสิ่งนี้โดยเปลี่ยนการกำหนดค่า DHCP เพื่อให้มีการแมปสำหรับที่อยู่ MAC เป็นที่อยู่ IP นี่คือพื้นฐานที่ใช้ DHCP เพื่อจัดสรรที่อยู่แบบคงที่ สิ่งนี้ทำให้ฉันล่าช้าออกไป 3 วินาที

2) ฉันมีเครือข่ายแยก แต่คุณอาจได้รับในบางครั้ง มีการค้นหา DNS เสร็จสิ้นซึ่งสำหรับฉันทำให้เกิดความล่าช้าหลายวินาทีในการรับที่อยู่ IP จาก DHCP ในการกำหนดค่าเซิร์ฟเวอร์ DHCP มีตัวเลือกสำหรับโดเมนและเซิร์ฟเวอร์ DNS ของเรา หลังจากลบตัวเลือก DNS และเปลี่ยนข้างต้นฉันได้รับการตอบกลับทันทีจากเซิร์ฟเวอร์ DHCP (**)

ปัญหาเหล่านี้เป็นสิ่งที่ฉันพบในการตั้งค่าของฉัน ระยะของคุณอาจแตกต่างกันไป

ไชโย

ปอนด์

(**) ถ้าฉันมีเงินทุกครั้งที่การค้นหา DNS ที่ล้มเหลวทำให้เกิดความล่าช้าซึ่งส่งผลต่อการเคาะแปลก ๆ ซึ่งส่งผลให้ฉันเกาหัวฉันจะมีเงินมากมาย


1

ฉันไม่รู้ว่าคุณมีสถานการณ์อะไร แต่ในโลกแห่งความเป็นจริงคุณจะได้รับที่อยู่ IP ... ฯลฯ จากเซิร์ฟเวอร์เก่า (เซิร์ฟเวอร์ dhcp มักจะเป็นที่หนึ่งที่มีฮาร์ดแวร์ที่เก่าแก่ที่สุด :)) ที่มีการร้องขอมากมายหลังไฟร์วอลล์ หนึ่งหรือหลายเราเตอร์ / สวิทช์ ... ความหน่วงแฝงพลังงานซีพียู ... และในโลกของ windows การใช้ dhcp นั้นไม่มีประสิทธิภาพเท่าที่เราต้องการ!


1
"ในโลกของ windows การใช้ DHCP ไม่ได้มีประสิทธิภาพเท่าที่เราต้องการ!" คุณมีเอกสารหรือแหล่งข้อมูลสำรองสิ่งที่คุณพูดที่นี่หรือไม่?
mfinni

ไม่ แต่ตัวอย่างเช่น .... Linux มีตัวเลือก DHCP ที่ล้มเหลวในวิธีที่ง่ายมาก นอกเหนือจากฟังก์ชั่น Active Directory ในตัวใน Windows ยังมีประเด็นอื่น ๆ ที่ควรพิจารณาว่าเป็นปัญหาด้านความปลอดภัยที่อาจเกิดขึ้น
C_Sense

2
ฉันคิดว่าคุณกำลังสำรอกซ้ำซากซ้ำซากจากการอ่านโพสต์ทางอินเทอร์เน็ตมากเกินไป "Microsoft ไม่ดี" "ทำไม?" "เพราะทุกคนพูดอย่างนั้น"
joeqwerty

คุณสามารถซ้อนขอบเขต DHCP บนเซิร์ฟเวอร์ Windows DHCP ได้ ด้วย win2k8 R2 เห็นได้ชัดว่ามีตัวเลือก failover ใหม่เช่นกัน บางที Linux อาจดีกว่านั้น ไม่มีสิ่งใดที่เกี่ยวข้องกับ "ประสิทธิภาพ" และ "ปัญหาความปลอดภัย" ใน Windows DHCP ที่คุณอ้างถึงคืออะไร ฉันขอแหล่งที่มาจากคุณและคุณอ้างสิทธิ์เพิ่มเติมแทน
mfinni

0

หากคุณกำลังประสบปัญหาประสิทธิภาพการทำงานกับ dhcp;

  1. ตรวจสอบเวลาแฝงของเครือข่าย
  2. ดูที่การเจรจาแพ็คเก็ตหมวก DHCP คุณควรจะเห็นว่าการกระทำใดใช้เวลานาน (ปัญหาอาจไม่ได้อยู่กับเซิร์ฟเวอร์ dhcp ใครกำลังรอใครอยู่)
  3. ตรวจสอบโหลดเซิร์ฟเวอร์และบันทึกของเซิร์ฟเวอร์ dhcp

มันเป็นสถานการณ์เครือข่ายในบ้านฉันได้อัปเดตคำถามแล้ว
Borek Bernard

ಠ_ಠ YU NO ASK SUPERUSER แล้วใช่ไหม
Ablue

อาจเป็นเพราะมันเกี่ยวข้องกับระบบเครือข่ายและที่นี่เป็นสถานที่ที่ดีที่สุดสำหรับสิ่งนี้?
Kedare

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