โฮมเพจ » ทำอย่างไร » ข้อแตกต่างระหว่าง Locahost และที่อยู่ IP ในพื้นที่คืออะไร

    ข้อแตกต่างระหว่าง Locahost และที่อยู่ IP ในพื้นที่คืออะไร


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

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

    คำถาม

    ผู้อ่าน SuperUser Diogo ต้องการทราบว่าเหตุใดคำสั่ง ping จึงปฏิบัติต่อ localhost และที่อยู่ IP ในท้องถิ่นแตกต่างกันเมื่อปรากฏบนพื้นผิวพวกเขาดูเหมือนจะเป็นสิ่งเดียวกัน:

    การใช้ cmd และ ping บน Windows ให้ผลลัพธ์ดังนี้:

    ส่ง Ping“ localhost”:

    ส่ง Ping ไปที่“ 192.168.0.10” (ที่อยู่ IP ในเครื่อง):

    ทั้งสองสถานการณ์ไม่เหมือนกันทั้งหมด?

    ฉันหมายถึงฉันกำลังกระตุกอินเทอร์เฟซเดียวกันเครื่องเดียวกันและที่อยู่เดียวกัน ทำไมฉันถึงได้ผลลัพธ์ที่แตกต่าง?

    เห็นได้ชัดว่ามีความแตกต่างของการเรียงลำดับบางอย่าง แต่สิ่งที่เกิดขึ้นเมื่อคุณสลับระหว่างทั้งสอง?

    คำตอบ

    Tom Wijsman ผู้สนับสนุน SuperUser นำเสนอข้อมูลเชิงลึกเกี่ยวกับความแตกต่างที่ลึกซึ้งระหว่างสอง:

    คุณไม่ได้กระตุกอินเทอร์เฟซเดียวกัน, ไม่มีอินเทอร์เฟซทางกายภาพใด ๆ คุณยังคงมี "โลคัลโฮสต์".

    ของคุณ localhost ใช้เพื่ออ้างถึงคอมพิวเตอร์ของคุณจาก IP“ ภายใน” ไม่ใช่จาก IP“ ภายนอก” ของคอมพิวเตอร์ของคุณ ดังนั้นแพ็กเก็ต ping จึงไม่ผ่านส่วนต่อประสานเครือข่ายทางกายภาพใด ๆ ผ่านอินเทอร์เฟซวนกลับเสมือนซึ่งส่งแพ็กเก็ตโดยตรงจากพอร์ตไปยังพอร์ตโดยไม่ต้องใช้ฟิสิคัลฮ็อป.

    คุณยังอาจสงสัยว่าทำไม localhost กำลังแก้ไข :: 1, ในขณะที่เราคาดว่ามันจะแก้ปัญหาที่อยู่ IPv4 127.0.0.1. สังเกตได้ว่า .localhost เดิมเป็น TLD (ดู RFC 2606) ซึ่งชี้กลับไปที่ลูปแบ็คที่อยู่ IP (สำหรับ IPv4 ดู RFC 3330 โดยเฉพาะ 127.0.0.0/8).

    ค้นหา localhost การใช้ nslookup ให้เรา:

    nslookup localhost

    …ชื่อ: localhost ที่อยู่: :: 1 127.0.0.1 

    ดังนั้น Windows ต้องการใช้ที่อยู่ IP IPv6 วนกลับ :: 1 (ดู RFC 2373) ตามที่แสดงไว้ก่อน.

    เอาล่ะมาจากไหนมาดูไฟล์โฮสต์กันดีกว่า.

    พิมพ์% WINDIR% \ System32 \ Drivers \ Etc \ Hosts

    … # localhost การจำแนกชื่อได้รับการจัดการภายใน DNS เอง # 127.0.0.1 localhost # :: 1 localhost … 

    อืมเราต้องดูการตั้งค่า DNS ของ Windows.

    บทความ KB นี้บอกเราเกี่ยวกับการตั้งค่าที่มีผลต่อสิ่งที่ Windows ต้องการโดยเน้นเป็นตัวหนา:

    1. ใน Registry Editor ให้ค้นหาและคลิกที่คีย์ย่อยของรีจิสทรีต่อไปนี้:
      HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters 
    2. คลิกสองครั้งที่ DisabledComponents เพื่อแก้ไขรายการ DisabledComponents หมายเหตุ: หากรายการ DisabledComponents ไม่พร้อมใช้งานคุณจะต้องสร้างมันขึ้นมา โดยทำตามขั้นตอนต่อไปนี้:
      1. ในเมนูแก้ไขชี้ไปที่ใหม่แล้วคลิกค่า DWORD (32 บิต).
      2. พิมพ์ DisabledComponents แล้วกด ENTER.
      3. คลิกสองครั้งที่ DisabledComponents.
    3. พิมพ์ค่าใดค่าหนึ่งต่อไปนี้ในฟิลด์ข้อมูลค่า: เพื่อกำหนดค่าโปรโตคอล IPv6 ให้อยู่ในสถานะที่ต้องการแล้วคลิกตกลง:
      • ชนิด 0 เพื่อเปิดใช้งานส่วนประกอบ IPv6 ทั้งหมด (การตั้งค่าเริ่มต้นของ Windows)
      • ชนิด 0xffffffff เพื่อปิดการใช้งานส่วนประกอบ IPv6 ทั้งหมดยกเว้นส่วนต่อประสานย้อนกลับ IPv6 ค่านี้ยังกำหนดค่า Windows ให้นิยมใช้ Internet Protocol รุ่น 4 (IPv4) ผ่าน IPv6 โดยการแก้ไขรายการในตารางนโยบายคำนำหน้า สำหรับข้อมูลเพิ่มเติมดูที่การเลือกแหล่งที่มาและที่อยู่ปลายทาง.
      • ชนิด 0x20 เพื่อชอบ IPv4 มากกว่า IPv6 โดยการแก้ไขรายการในตารางนโยบายคำนำหน้า.
      • ชนิด 0x10 การปิดการใช้งาน IPv6 ในอินเทอร์เฟซแบบ nontunnel ทั้งหมด (บนทั้ง LAN และอินเตอร์เฟสแบบจุดต่อจุด [PPP]).
      • ชนิด 0x01 เพื่อปิดใช้งาน IPv6 ในทุกอินเทอร์เฟซทันเนล ซึ่งรวมถึงโปรโตคอลการกำหนดที่อยู่ของอุโมงค์อัตโนมัติภายในเว็บไซต์ (ISATAP), 6to4 และ Teredo.
      • ชนิด 0x11 เพื่อปิดใช้งานการเชื่อมต่อ IPv6 ทั้งหมดยกเว้นสำหรับการเชื่อมต่อวนกลับ IPv6.
    4. รีสตาร์ทคอมพิวเตอร์เพื่อให้การตั้งค่านี้มีผล.

    ตารางนโยบายคำนำหน้านี้คืออะไร?

    ส่วนต่อประสาน netsh ipv6 แสดงคำนำหน้านโยบาย (หรือ prefixpolicy ในรุ่นก่อนหน้า)

    คำนำหน้าฉลากก่อนหน้า ---------- ----- -------------------------------- 50 0 :: 1/128 45 13 fc00 :: / 7 40 1 :: / 0 10 4 :: ffff: 0: 0/96 7 14 2002 2002 :: / 16 5 5 2001 :: / 32 1 11 fec0 :: / 10 1 12 3ffe :: / 16 1 10 :: / 96 

    ตารางนี้ตัดสินว่าส่วนนำหน้าใดที่มีความสำคัญเหนือกว่าส่วนนำหน้าอื่น ๆ ในระหว่างการแก้ไข DNS.

    อ่าใช้ KB ที่เราสามารถเพิ่มรายการที่นี่ซึ่งแสดงว่า IPv4 มีความสำคัญมากกว่า IPv6.

    บันทึก: ไม่มีเหตุผลที่จะแทนที่พฤติกรรมนี้เว้นแต่ว่าคุณกำลังประสบปัญหาที่เข้ากันได้ การเปลี่ยนการตั้งค่านี้ใน Windows Server ของเราทำให้เมลเซิร์ฟเวอร์ของเราแตกหักดังนั้นจึงควรจัดการอย่างระมัดระวัง ...

    ไม่มีอะไรที่เราชอบมากกว่าคำตอบที่ละเอียดและให้ข้อมูลพร้อมเอกสารสนับสนุนที่เชื่อมโยงเพื่อสำรองไว้ เห็นได้ชัดว่า localhost และที่อยู่ IP ในท้องถิ่นเป็นเอนทิตีที่แตกต่างกันทำหน้าที่เพื่อวัตถุประสงค์ที่แตกต่างกัน.


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