ความแตกต่างระหว่าง 0.0.0.0 และที่อยู่ IP ย้อนกลับเป็นอย่างไร


19

จากเครือข่ายคอมพิวเตอร์หนังสือ:

ที่อยู่ IP 0.0.0.0ซึ่งเป็นที่อยู่ต่ำที่สุดจะถูกใช้โดยโฮสต์เมื่อพวกเขาถูกบูท มันหมายถึง '' เครือข่ายนี้ '' หรือ '' โฮสต์นี้ ''

... ที่อยู่ทั้งหมดของแบบฟอร์ม 127.xx.yy.zzสงวนไว้สำหรับการทดสอบลูปแบ็ค แพ็คเก็ตที่ส่งไปยังที่อยู่นั้นจะไม่ถูกนำไปไว้ที่สายไฟ พวกเขาจะถูกประมวลผลในประเทศและถือว่าเป็นแพ็คเก็ตที่เข้ามา สิ่งนี้อนุญาตให้ส่งแพ็คเก็ตไปยังโฮสต์โดยที่ผู้ส่งไม่ทราบหมายเลขซึ่งเป็นประโยชน์สำหรับการทดสอบ

หากฉันถูกต้องที่อยู่ IP ลูปแบ็คหมายถึงโฮสต์ปัจจุบัน

0.0.0.0 และที่อยู่ IP ย้อนกลับเป็นอย่างไร


ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
Ron Maupin

คำตอบ:


36

คำสั่ง:

ที่อยู่ IP 0.0.0.0 [... ] หมายถึง '' เครือข่ายนี้ '' หรือ '' โฮสต์นี้ ''

กำลังทำให้เข้าใจผิด ไม่ใช่ "หรือ" แต่ "โฮสต์นี้ในเครือข่ายนี้"

จากRFC1122 :

{0, 0}

             This host on this network.  MUST NOT be sent, except as
             a source address as part of an initialization procedure
             by which the host learns its own IP address.

ที่อยู่ลูปแบ็ค (จริงๆแล้วที่อยู่ใด ๆ ในเครือข่าย 127.0.0.0/8) มีการอธิบายใน RFC เดียวกันด้วยวิธีนี้:

{127, ใด ๆ }

             Internal host loopback address.  Addresses of this form
             MUST NOT appear outside a host.

ดังนั้นทั้งที่อยู่ย้อนกลับและที่อยู่ศูนย์ทั้งหมดสามารถเรียกว่า "โฮสต์นี้" แต่ในความเป็นจริงพวกเขามีประเพณีที่แตกต่างกันมาก:

  • ที่อยู่ 0.0.0.0 สามารถสังเกตได้บนเครือข่าย แต่เฉพาะในระหว่างกระบวนการ DHCP / BOOTP และเป็นแหล่งที่อยู่เท่านั้น

  • ที่อยู่ใด ๆ ใน 127.0.0.0/8 ไม่สามารถดูได้ทุกที่บนเครือข่ายและสามารถใช้สำหรับ:

    • ทดสอบสแต็ก TCP / IP ของโฮสต์

    • สองแอปพลิเคชันบนโฮสต์เดียวกันเพื่อสื่อสารกัน

ที่อยู่ 127.XXX เชื่อมต่อกับส่วนต่อประสานย้อนกลับ อินเทอร์เฟซดังกล่าวไม่มีเลเยอร์ที่มีการเชื่อมต่ออยู่ (เช่นไม่ได้แนบกับเลเยอร์ลิงก์) แพ็คเก็ตจะถูกประมวลผลและตอบสนองต่อในชั้นอินเทอร์เน็ต ดังนั้นจึงไม่มีวิธีใดที่แพ็กเก็ตนี้จะเข้าถึงสิ่งใดนอกโฮสต์

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


ดังนั้นในคำอื่น ๆ0.0.0.0จากมุมมองของโฮสต์คือ "ตัวเอง" 127ที่อยู่ไม่ใช่การอ้างอิงไปยังโฮสต์ แต่เป็นการจำลองสถานการณ์ของโฮสต์ภายนอกเพิ่มเติม (แม้ว่าจะไม่ใช่ภายนอกจริง) ถูกต้องหรือไม่ RFC ยังระบุ "ดาตาแกรมที่มีแหล่งที่อยู่ไม่ได้กำหนดโฮสต์เดียว - เช่นศูนย์ที่อยู่, ที่อยู่ย้อนกลับ" ดังนั้นถ้าฉันเข้าใจอย่างถูกต้องซึ่งแตกต่างจากที่อยู่อื่น ๆ พวกเขาไม่ได้หมายถึงโฮสต์ภายนอกใน เครือข่าย แต่ใช้เป็นข้อมูลอ้างอิงสำหรับสิ่งต่าง ๆ - โฮสต์และ "ทดสอบ" ของตนเอง
Sergiy Kolodyazhnyy

คำพูดของคุณมาจากส่วนของ ICMP มันระบุว่า ICMP ไม่สามารถเข้าถึงไม่สามารถส่งไปยังที่อยู่ 0 การตอบสนองของ ICMP ดังกล่าวจะต้องถูกส่งไปยังที่อยู่ 0 ซึ่งจะละเมิดกฎ "ต้องไม่ส่งยกเว้นที่อยู่ต้นทาง" นอกจากนี้ที่อยู่ 0 ไม่สามารถใช้ยกเว้นเป็นส่วนหนึ่งของกระบวนการ BOOTP / DHCP ซึ่งออกอากาศในลักษณะดังนั้นจึงไม่มีจุดในการส่งข้อความแสดงข้อผิดพลาด ICMP สำหรับการออกอากาศ
JFL

@SergiyKolodyazhnyy แก้ไขคำตอบ
JFL

12

หากฉันถูกต้องที่อยู่ IP ลูปแบ็คหมายถึงโฮสต์ปัจจุบัน

ไม่ปริมาณข้อมูลที่ส่งไปยังที่อยู่ลูปแบ็คจะวนกลับภายในโฮสต์ คุณสามารถส่งทราฟฟิกไปยังที่อยู่ลูปแบ็คเป็นที่อยู่ปลายทางแล้วอ่านได้ สิ่งนี้มีประโยชน์ในการทดสอบ

0.0.0.0 และที่อยู่ IP ย้อนกลับเป็นอย่างไร

ที่อยู่ใน0.0.0.0/8เครือข่ายไม่สามารถใช้เป็นที่อยู่ปลายทางได้ การใช้งานจริงเพียงอย่างเดียวคือที่อยู่แหล่งที่มาเมื่อโฮสต์ไม่มีที่อยู่และขออะไรบางอย่างเช่นเซิร์ฟเวอร์ DHCP เพื่อกำหนดที่อยู่


มีการลงทะเบียนที่อยู่วัตถุประสงค์พิเศษของIANA IPv4ที่แสดงรายการบล็อกที่อยู่พิเศษทั้งหมดและมีลิงก์ไปยัง RFC ที่กำหนดแต่ละบล็อกเหล่านั้น


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