พวกเราส่วนใหญ่เคยได้ยินคำว่า "127.0.0.1 และ 0.0.0.0" แต่อาจไม่ได้คิดมากกับพวกเขา แต่ถ้าทั้งสองดูเหมือนจะชี้ไปที่ตำแหน่งเดียวกันจริงๆแล้วความแตกต่างที่แท้จริงระหว่างทั้งสองคืออะไร โพสต์ถาม & ตอบ SuperUser ของวันนี้ช่วยให้ผู้อ่านสับสน
เซสชันคำถามและคำตอบของวันนี้มาถึงเราโดยได้รับความอนุเคราะห์จาก SuperUser ซึ่งเป็นแผนกย่อยของ Stack Exchange ซึ่งเป็นการรวมกลุ่มเว็บไซต์ถาม & ตอบโดยชุมชน
เอื้อเฟื้อภาพโดย เคทการ์ดิเนอร์ (Flickr) .
คำถาม
ผู้อ่าน SuperUser Sagnik Sarkar ต้องการทราบความแตกต่างระหว่าง 127.0.0.1 และ 0.0.0.0 คืออะไร:
ฉันเข้าใจว่า 127.0.0.1 ชี้ไปที่ localhost และ 0.0.0.0 ก็ทำเช่นกัน (แก้ไขฉันถ้าฉันผิด) แล้วความแตกต่างระหว่าง 127.0.0.1 และ 0.0.0.0 คืออะไร?
ความแตกต่างระหว่าง 127.0.0.1 และ 0.0.0.0 คืออะไร?
คำตอบ
ผู้สนับสนุน SuperUser DavidPostill มีคำตอบสำหรับเรา:
อะไรคือความแตกต่างระหว่าง 127.0.0.1 และ 0.0.0.0?
- 127.0.0.1 คือที่อยู่ย้อนกลับ (หรือที่เรียกว่า localhost)
- 0.0.0.0 คือเมตาแอดเดรสที่ไม่สามารถกำหนดเส้นทางได้ซึ่งใช้เพื่อกำหนดเป้าหมายที่ไม่ถูกต้องไม่รู้จักหรือใช้ไม่ได้ (ตัวยึดตำแหน่ง "ไม่มีที่อยู่เฉพาะ")
ในบริบทของรายการเส้นทางมักหมายถึงเส้นทางเริ่มต้น
ในบริบทของเซิร์ฟเวอร์ 0.0.0.0 หมายถึง ที่อยู่ IPv4 ทั้งหมดบนเครื่องท้องถิ่น . หากโฮสต์มีที่อยู่ IP สองรายการคือ 192.168.1.1 และ 10.1.2.1 และเซิร์ฟเวอร์ที่ทำงานบนโฮสต์รับฟังข้อมูลใน 0.0.0.0 จะสามารถเข้าถึงได้จาก IP ทั้งสองนั้น
ที่อยู่ IP 127.0.0.1 คืออะไร
127.0.0.1 คือที่อยู่อินเทอร์เน็ตโปรโตคอลแบบย้อนกลับ (IP) หรือที่เรียกว่า localhost . ที่อยู่นี้ใช้เพื่อสร้างการเชื่อมต่อ IP กับเครื่องหรือคอมพิวเตอร์เครื่องเดียวกับที่ผู้ใช้ปลายทางใช้
มีการกำหนดแบบแผนเดียวกันสำหรับคอมพิวเตอร์ที่รองรับการกำหนดแอดเดรส IPv6 โดยใช้ความหมายของ :: 1 การสร้างการเชื่อมต่อโดยใช้ที่อยู่ 127.0.0.1 เป็นแนวทางปฏิบัติที่พบบ่อยที่สุด อย่างไรก็ตามการใช้ที่อยู่ IP ใด ๆ ในช่วง 127 … * จะทำงานในลักษณะเดียวกันหรือคล้ายกัน โครงสร้างแบบวนกลับทำให้คอมพิวเตอร์หรืออุปกรณ์ที่มีความสามารถในการเชื่อมต่อเครือข่ายสามารถตรวจสอบความถูกต้องหรือสร้างสแตก IP บนเครื่องได้
ที่มา: 127.0.0.1 - การใช้งานคืออะไรและเหตุใดจึงสำคัญ?
ที่อยู่พิเศษ
เครือข่ายคลาส A หมายเลข 127 ได้รับมอบหมาย ย้อนกลับ ฟังก์ชันนั่นคือดาตาแกรมที่ส่งโดยโปรโตคอลระดับสูงกว่าไปยังที่อยู่เครือข่าย 127 ควรวนกลับภายในโฮสต์ ไม่มีดาตาแกรม ส่งแล้ว ไปยังที่อยู่เครือข่าย 127 ควรปรากฏบนเครือข่ายใดก็ได้
ที่มา: หมายเลขเครือข่าย
ถ้าเป็น Whole Class A จุดของค่าตามอำเภอใจอื่น ๆ สำหรับออคเต็ตสามตัวสุดท้ายคืออะไร
จุดประสงค์ของช่วงลูปแบ็คคือการทดสอบการใช้งานโปรโตคอล TCP / IP บนโฮสต์ เนื่องจากเลเยอร์ด้านล่างมีการลัดวงจรการส่งไปยังที่อยู่แบบย้อนกลับทำให้สามารถทดสอบเลเยอร์ที่สูงกว่า (IP ขึ้นไป) ได้อย่างมีประสิทธิภาพโดยไม่มีโอกาสเกิดปัญหาที่ชั้นล่างที่แสดงตัว 127.0.0.1 เป็นที่อยู่ที่ใช้บ่อยที่สุดสำหรับวัตถุประสงค์ในการทดสอบ
ที่มา: IP ที่สงวนไว้ย้อนกลับและที่อยู่ส่วนตัว
สำหรับข้อมูลเพิ่มเติมโปรดดูไฟล์ ถาม Ubuntu คำถาม: Loopback Device คืออะไรและจะใช้งานได้อย่างไร?
ที่อยู่ IP 0.0.0.0 คืออะไร
0.0.0.0 เป็นไวยากรณ์ที่อยู่ที่ถูกต้อง ดังนั้นควรแยกวิเคราะห์ว่าถูกต้องทุกที่ที่คาดว่าจะมีที่อยู่ IP ในสัญกรณ์จุด - ทศนิยมแบบดั้งเดิม เมื่อแยกวิเคราะห์และแปลงเป็นรูปแบบตัวเลขที่ใช้งานได้แล้วค่าของมันจะเป็นตัวกำหนดสิ่งที่จะเกิดขึ้นต่อไป
ค่าศูนย์ทั้งหมดมีความหมายพิเศษ ดังนั้นจึงเป็น ถูกต้อง แต่มีความหมายที่อาจไม่เหมาะสม (และถือว่าไม่ถูกต้อง) สำหรับสถานการณ์เฉพาะ โดยพื้นฐานแล้วเป็นตัวยึดตำแหน่ง "ไม่มีที่อยู่เฉพาะ" สำหรับสิ่งต่างๆเช่นการเชื่อมโยงแอดเดรสของการเชื่อมต่อเครือข่ายผลลัพธ์สามารถกำหนดแอดเดรสอินเทอร์เฟซที่เหมาะสมให้กับการเชื่อมต่อ หากคุณกำลังใช้เพื่อกำหนดค่าอินเทอร์เฟซสามารถลบที่อยู่ออกจากอินเทอร์เฟซได้ ขึ้นอยู่กับบริบทการใช้งานเพื่อพิจารณาว่า "ไม่มีที่อยู่เฉพาะ" ทำอะไร
ในบริบทของรายการเส้นทางมักหมายถึงเส้นทางเริ่มต้น สิ่งนี้เกิดขึ้นเนื่องจากมาสก์ที่อยู่ซึ่งเลือกบิตที่จะเปรียบเทียบ มาสก์ 0.0.0.0 ไม่เลือกบิตดังนั้นการเปรียบเทียบจะประสบความสำเร็จเสมอ ดังนั้นเมื่อกำหนดเส้นทางดังกล่าวจึงมีที่สำหรับแพ็กเก็ตที่จะไป (หากกำหนดค่าด้วยปลายทางที่ถูกต้อง)
ในบางกรณีเพียงแค่ "0" ก็ใช้ได้ผลเช่นเดียวกัน แต่ไม่รับประกัน แบบฟอร์ม 0.0.0.0 เป็นวิธีมาตรฐานในการพูดว่า "ไม่มีที่อยู่เฉพาะ" (ใน IPv6 นั่นคือ ::0 หรือเพียงแค่ :: ).
ที่มา: ความหมายของที่อยู่ IP 0.0.0.0 คืออะไร?
ใน Internet Protocol เวอร์ชัน 4 ที่อยู่ 0.0.0.0 คือเมตาแอดเดรสที่ไม่สามารถกำหนดเส้นทางได้ซึ่งใช้ในการกำหนดเป้าหมายที่ไม่ถูกต้องไม่รู้จักหรือไม่เกี่ยวข้อง การให้ความหมายพิเศษแก่ข้อมูลที่ไม่ถูกต้องคือการประยุกต์ใช้การส่งสัญญาณแบบอินแบนด์
ในบริบทของเซิร์ฟเวอร์ 0.0.0.0 หมายถึง ที่อยู่ IPv4 ทั้งหมดบนเครื่องท้องถิ่น . หากโฮสต์มีที่อยู่ IP สองรายการคือ 192.168.1.1 และ 10.1.2.1 และเซิร์ฟเวอร์ที่ทำงานบนโฮสต์รับฟังข้อมูลใน 0.0.0.0 จะสามารถเข้าถึงได้จาก IP ทั้งสอง ( บันทึก: ข้อความนี้ซ้ำจากด้านบนเป็นส่วนหนึ่งของคำตอบโดยรวม ).
ในบริบทของการกำหนดเส้นทาง 0.0.0.0 มักหมายถึงเส้นทางเริ่มต้นนั่นคือเส้นทางที่นำไปสู่อินเทอร์เน็ต "ส่วนที่เหลือ" แทนที่จะเป็นที่ใดที่หนึ่งในเครือข่ายท้องถิ่น
การใช้งานรวมถึง:
- ที่อยู่ที่โฮสต์อ้างว่าเป็นของตนเองเมื่อยังไม่ได้รับการกำหนดที่อยู่ เช่นเมื่อส่งแพ็กเก็ต DHCPDISCOVER เริ่มต้นเมื่อใช้ DHCP
- ที่อยู่ที่โฮสต์กำหนดให้กับตัวเองเมื่อคำขอที่อยู่ผ่าน DHCP ล้มเหลวหาก IP stack ของโฮสต์รองรับสิ่งนี้ การใช้งานนี้ถูกแทนที่ด้วยกลไก APIPA ในระบบปฏิบัติการสมัยใหม่
- วิธีระบุ IPv4-host ใด ๆ เลย . ใช้ในลักษณะนี้เมื่อระบุเส้นทางเริ่มต้น
- วิธีระบุอย่างชัดเจนว่าเป้าหมายไม่พร้อมใช้งาน ที่มา: 127.0.0.1 - การใช้งานคืออะไรและเหตุใดจึงสำคัญ?
- วิธีระบุ ที่อยู่ IPv4 ใด ๆ เลย . ใช้ในลักษณะนี้เมื่อกำหนดค่าเซิร์ฟเวอร์ (เช่นเมื่อรวมซ็อกเก็ตการฟัง) โปรแกรมเมอร์ TCP รู้จักกันในชื่อ INADDR_ANY [ ผูก (2) ผูกกับที่อยู่ไม่ใช่อินเทอร์เฟซ ]
ใน IPv6 ที่อยู่ศูนย์ทั้งหมดเขียนเป็น ::
ที่มา: 0.0.0.0 [Wikipedia]
การค้นพบ DHCP / คำขอ
เมื่อลูกค้าบู๊ตเป็นครั้งแรกระบบจะบอกว่าอยู่ในไฟล์ สถานะเริ่มต้น และส่งข้อความ DHCPDISCOVER บนเครือข่ายย่อยทางกายภาพภายในเครื่องผ่าน User Datagram Protocol (UDP) พอร์ต 67 (เซิร์ฟเวอร์ BootP) เนื่องจากไคลเอนต์ไม่มีทางรู้ซับเน็ตที่เป็นของเครือข่าย DHCPDISCOVER คือซับเน็ตทั้งหมดที่ออกอากาศ (ที่อยู่ IP ปลายทางที่ 255.255.255.255) โดยมีที่อยู่ IP ต้นทาง 0.0.0.0 ที่อยู่ IP ต้นทางคือ 0.0.0.0 เนื่องจากไคลเอนต์ไม่มีที่อยู่ IP ที่กำหนดค่าไว้
หากเซิร์ฟเวอร์ DHCP มีอยู่บนซับเน็ตภายในเครื่องนี้และได้รับการกำหนดค่าและทำงานอย่างถูกต้องเซิร์ฟเวอร์ DHCP จะได้ยินการออกอากาศและตอบกลับด้วยข้อความ DHCPOFFER หากเซิร์ฟเวอร์ DHCP ไม่มีอยู่บนซับเน็ตภายในเครื่องจะต้องมี DHCP / BootP Relay Agent บนซับเน็ตภายในนี้เพื่อส่งต่อข้อความ DHCPDISCOVER ไปยังซับเน็ตที่มีเซิร์ฟเวอร์ DHCP
เอเจนต์รีเลย์นี้สามารถเป็นโฮสต์เฉพาะ (เช่น Microsoft Windows Server) หรือเราเตอร์ (เช่นเราเตอร์ Cisco ที่กำหนดค่าด้วยคำสั่ง IP ตัวช่วยระดับอินเทอร์เฟซเป็นต้น)
…
หลังจากไคลเอนต์ได้รับ DHCPOFFER ไคลเอ็นต์จะตอบสนองด้วยข้อความ DHCPREQUEST ซึ่งระบุเจตนาที่จะยอมรับพารามิเตอร์ใน DHCPOFFER และย้ายเข้าไปใน ขอรัฐ . ไคลเอนต์อาจได้รับข้อความ DHCPOFFER หลายข้อความหนึ่งข้อความจากเซิร์ฟเวอร์ DHCP แต่ละตัวที่ได้รับข้อความ DHCPDISCOVER ดั้งเดิม ไคลเอ็นต์เลือก DHCPOFFER หนึ่งรายการและตอบสนองต่อเซิร์ฟเวอร์ DHCP นั้นเท่านั้นโดยปริยายปฏิเสธข้อความ DHCPOFFER อื่น ๆ ทั้งหมด ไคลเอนต์ระบุเซิร์ฟเวอร์ที่เลือกโดยการเติมข้อมูล ตัวระบุเซิร์ฟเวอร์ ช่องตัวเลือกที่มีที่อยู่ IP ของเซิร์ฟเวอร์ DHCP
DHCPREQUEST ยังเป็นการออกอากาศดังนั้นเซิร์ฟเวอร์ DHCP ทั้งหมดที่ส่ง DHCPOFFER จะเห็น DHCPREQUEST และแต่ละเซิร์ฟเวอร์จะทราบว่า DHCPOFFER ได้รับการยอมรับหรือปฏิเสธ ตัวเลือกการกำหนดค่าเพิ่มเติมใด ๆ ที่ไคลเอ็นต์ต้องการจะรวมอยู่ในฟิลด์ตัวเลือกของข้อความ DHCPREQUEST แม้ว่าไคลเอ็นต์จะได้รับที่อยู่ IP แต่จะส่งข้อความ DHCPREQUEST พร้อมที่อยู่ IP ต้นทางเป็น 0.0.0.0 ในขณะนี้ลูกค้ายังไม่ได้รับการตรวจสอบว่ามีความชัดเจนในการใช้ที่อยู่ IP
…
การสนทนาไคลเอนต์เซิร์ฟเวอร์สำหรับไคลเอนต์ที่ได้รับที่อยู่ DHCP โดยที่ไคลเอนต์และเซิร์ฟเวอร์ DHCP อยู่บนซับเน็ตเดียวกัน:
![]()
ที่มา: การทำความเข้าใจและการแก้ไขปัญหา DHCP ใน Catalyst Switch หรือ Enterprise Networks
เส้นทางเริ่มต้น
เอกสารนี้อธิบายวิธีกำหนดค่าเส้นทางเริ่มต้นหรือเกตเวย์ของทางเลือกสุดท้าย ใช้คำสั่ง IP เหล่านี้:
- ip เริ่มต้นเกตเวย์
- ip เครือข่ายเริ่มต้น
- เส้นทาง ip 0.0.0.0 0.0.0.0
เส้นทาง IP 0.0.0.0 0.0.0.0
การสร้างเส้นทางแบบคงที่ไปยังเครือข่าย 0.0.0.0 0.0.0.0 เป็นอีกวิธีหนึ่งในการตั้งค่าเกตเวย์ของทางเลือกสุดท้ายบนเราเตอร์ เช่นเดียวกับ ip เครือข่ายเริ่มต้น คำสั่งโดยใช้เส้นทางแบบคงที่ถึง 0.0.0.0 ไม่ขึ้นอยู่กับโปรโตคอลการกำหนดเส้นทางใด ๆ อย่างไรก็ตามต้องเปิดใช้งานการกำหนดเส้นทาง IP บนเราเตอร์
บันทึก: IGRP ไม่เข้าใจเส้นทางไปที่ 0.0.0.0 ดังนั้นจึงไม่สามารถเผยแพร่เส้นทางเริ่มต้นที่สร้างโดยใช้ไฟล์ เส้นทาง ip 0.0.0.0 0.0.0.0 คำสั่ง ใช้ ip เครือข่ายเริ่มต้น คำสั่งให้ IGRP เผยแพร่เส้นทางเริ่มต้น
มีสิ่งที่จะเพิ่มคำอธิบาย? ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange ที่เชี่ยวชาญด้านเทคโนโลยีคนอื่น ๆ หรือไม่? ดูกระทู้สนทนาฉบับเต็มได้ที่นี่ .