โฮมเพจ » ทำอย่างไร » ความแตกต่างระหว่าง 127.0.0.1 และ 0.0.0.0 คืออะไร?

    ความแตกต่างระหว่าง 127.0.0.1 และ 0.0.0.0 คืออะไร?

    พวกเราส่วนใหญ่เคยได้ยิน '127.0.0.1 และ 0.0.0.0' แต่อาจไม่ได้คิดมากนัก แต่ถ้าทั้งคู่ดูเหมือนจะชี้ไปที่ตำแหน่งเดียวกันสิ่งที่แตกต่างกันระหว่างสองคนนี้คืออะไร? โพสต์ SuperUser ถาม & ตอบช่วยล้างข้อมูลสำหรับผู้อ่านสับสน.

    เซสชั่นคำถามและคำตอบในวันนี้มาถึงเราด้วยความอนุเคราะห์จาก SuperUser - แผนกย่อยของ Exchange Exchange ซึ่งเป็นกลุ่มที่ขับเคลื่อนด้วยชุมชนของเว็บไซต์ถาม - ตอบ.

    ภาพถ่ายของ Kate Gardiner (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 เป็น meta-address ที่ไม่สามารถกำหนดเส้นทางได้ซึ่งใช้เพื่อระบุเป้าหมายที่ไม่ถูกต้องไม่ทราบหรือไม่สามารถใช้งานได้ (ตัวยึดตำแหน่ง 'ไม่มีที่อยู่เฉพาะ').

    ในบริบทของรายการเส้นทางโดยปกติจะหมายถึงเส้นทางเริ่มต้น.

    ในบริบทของเซิร์ฟเวอร์ 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 - มีการใช้งานอย่างไรและทำไมจึงมีความสำคัญ?

    ที่อยู่พิเศษ

    คลาสเครือข่ายหมายเลข 127 ถูกกำหนดให้ ย้อนกลับ ฟังก์ชั่นนั่นคือดาตาแกรมส่งโดยโปรโตคอลระดับที่สูงขึ้นไปยังที่อยู่เครือข่าย 127 ควรวนกลับภายในโฮสต์ ไม่มีดาตาแกรม ส่ง ไปยังเครือข่ายที่อยู่ 127 ควรปรากฏบนเครือข่ายใดก็ได้.

    ที่มา: หมายเลขเครือข่าย

    ถ้าเป็นทั้งคลาส A จุดใดของค่านิยมอื่น ๆ สำหรับสามเซ็ตสุดท้าย?

    วัตถุประสงค์ของช่วงลูปแบ็คคือการทดสอบการนำโปรโตคอล TCP / IP ไปใช้ในโฮสต์ เนื่องจากเลเยอร์ที่ต่ำกว่ามีการลัดวงจรการส่งไปยังที่อยู่ลูปแบ็คช่วยให้สามารถทดสอบเลเยอร์ที่สูงขึ้น (IP และสูงกว่า) ได้อย่างมีประสิทธิภาพโดยไม่มีโอกาสเกิดปัญหาที่เลเยอร์ล่างจะปรากฏตัว 127.0.0.1 เป็นที่อยู่ที่ใช้บ่อยที่สุดเพื่อจุดประสงค์ในการทดสอบ.

    ที่มา: ที่อยู่ IP สำรอง, ลูปแบ็คและที่อยู่ส่วนตัว

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

    ที่อยู่ 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 เป็น meta-address ที่ไม่สามารถกำหนดเส้นทางได้ซึ่งใช้เพื่อกำหนดเป้าหมายที่ไม่ถูกต้องไม่ทราบหรือไม่เกี่ยวข้อง การให้ความหมายพิเศษกับชิ้นส่วนของข้อมูลที่ไม่ถูกต้องเป็นแอปพลิเคชันของการส่งสัญญาณในวง.

    ในบริบทของเซิร์ฟเวอร์ 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 สแต็คของโฮสต์รองรับสิ่งนี้ การใช้งานนี้ถูกแทนที่ด้วยกลไก APIPA ในระบบปฏิบัติการที่ทันสมัย.
    • วิธีการระบุ IPv4-host ใด ๆ. มันถูกใช้ในวิธีนี้เมื่อระบุเส้นทางเริ่มต้น.
    • วิธีระบุอย่างชัดเจนว่าเป้าหมายไม่พร้อมใช้งาน. ที่มา: 127.0.0.1 - มีการใช้งานอย่างไรและทำไมจึงมีความสำคัญ?
    • วิธีการระบุ ที่อยู่ IPv4 ใด ๆ. จะใช้วิธีนี้เมื่อกำหนดค่าเซิร์ฟเวอร์ (เช่นเมื่อเชื่อมซ็อกเก็ตการฟัง) สิ่งนี้เป็นที่รู้จักกันในนามโปรแกรมเมอร์ TCP ว่า INADDR_ANY [ผูก (2) ผูกไปยังที่อยู่ไม่ได้เชื่อมต่อ.]

    ใน IPv6 all-zeros-address จะถูกเขียนเป็น ::

    ที่มา: 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 บนเครือข่ายย่อยนี้เพื่อส่งต่อข้อความ DHCPDISCOVER ไปยังเครือข่ายย่อยที่มีเซิร์ฟเวอร์ DHCP.

    เอเจนต์รีเลย์นี้อาจเป็นโฮสต์เฉพาะ (Microsoft Windows Server เป็นต้น) หรือเราเตอร์ (เราเตอร์ Cisco ที่กำหนดค่าด้วยคำสั่ง IP helper ระดับอินเตอร์เฟสเป็นต้น).

    ...

    หลังจากไคลเอ็นต์ได้รับ 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 หรือเครือข่ายองค์กร

    เส้นทางเริ่มต้น

    เอกสารนี้อธิบายวิธีกำหนดค่าเส้นทางเริ่มต้นหรือเกตเวย์สุดท้าย ใช้คำสั่ง IP เหล่านี้:

    • ip default-gateway
    • IP เริ่มต้นเครือข่าย
    • เส้นทาง ip 0.0.0.0 0.0.0.0

    IP Route 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 เผยแพร่เส้นทางเริ่มต้น.

    ที่มา: การกำหนดค่าเกตเวย์ของทางเลือกสุดท้ายโดยใช้คำสั่ง IP


    มีสิ่งที่จะเพิ่มคำอธิบายหรือไม่ ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange คนอื่นหรือไม่ ลองอ่านหัวข้อสนทนาเต็มได้ที่นี่.