เหตุใดที่อยู่เครือข่ายจึงไม่สามารถเป็นที่อยู่โฮสต์ที่ถูกต้องได้


18

ดังนั้น ... ฉันได้ศึกษา CCNA และทำงานกับเครือข่าย IP อย่างน้อย 8 ปีที่ผ่านมา ฉันเห็นและได้รับแจ้งเสมอว่าที่อยู่เครือข่ายสำหรับเครือข่ายย่อยนั้นไม่ใช่ที่อยู่โฮสต์ที่ถูกต้อง ตอนนี้ก่อนอื่นฉันจะเริ่มโดยบอกว่าฉันรู้ว่านี่เป็นเรื่องจริง คำถามของฉันมีมากขึ้น ... มีเหตุผลทางเทคนิคหรือไม่ที่ไม่สามารถใช้งานหรือเป็นเพียงข้อตกลงโดยพลการเมื่อข้อมูลจำเพาะถูกออกแบบมา? ฉันเข้าใจว่าทำไมไม่สามารถใช้ที่อยู่การออกอากาศ (เพราะใช้งานได้จริง) สิ่งนี้คือเมื่อฉันเห็นที่อยู่เครือข่ายที่ใช้มันเป็นปกติเฉพาะในการกำหนดเส้นทางซึ่งใช้เฉพาะที่อยู่เครือข่าย เป็นกรณีนี้ (ที่อยู่เครือข่ายที่ใช้เฉพาะเมื่อคุณคาดหวังที่อยู่เครือข่าย) มีเหตุผลทางเทคนิคบางอย่างที่พวกเขาไม่สามารถมีที่อยู่เครือข่ายเป็นที่อยู่โฮสต์ที่ถูกต้องจริง?

คำตอบ:


16

เท่าที่ฉันเข้าใจ "ที่อยู่เครือข่าย" เป็นที่อยู่พิเศษเป็นสิ่งประดิษฐ์จากเครือข่าย IP ที่มีระดับจากในอดีต วันนี้เราใช้การกำหนดเส้นทางระหว่างโดเมนแบบไม่มีคลาส ( CIDR) ) บนอินเทอร์เน็ตซึ่งไม่มีแนวคิดของที่อยู่เครือข่าย (ถ้าคุณดู RFC 4632 ที่เชื่อมโยงด้านบนคุณจะเห็นว่ามันแสดงรายการที่อยู่ IP ที่เป็นไปได้ 256 รายการต่อมรดก บล็อก "C" เช่นไม่มีที่อยู่ที่สงวนไว้สำหรับเครือข่ายหรือที่อยู่การออกอากาศ (แม้ว่าการออกอากาศจะกำหนดไว้เป็นสิ่งจำเป็นใน RFC อื่น ๆ )

สิ่งนี้ถูกกล่าวว่าคุณยังไม่ควรกำหนดที่อยู่เครือข่ายให้กับโฮสต์ที่เฉพาะเจาะจงในเครือข่าย: ที่อยู่เครือข่ายเป็นสิ่งจำเป็นสำหรับการกำหนดเส้นทาง แนวคิดนี้มีการใช้อย่างกว้างขวางใน RFCs ( RFC 1812 ) เพียงดูที่ตารางเส้นทาง ( routeคำสั่ง) คุณจะเห็นว่าที่อยู่เครือข่ายท้องถิ่นของคุณถูกใช้เพื่อแยกการรับส่งข้อมูลเครือข่ายท้องถิ่นจากสิ่งที่ต้องผ่านเราเตอร์ เกิดอะไรขึ้นถ้าที่อยู่เครือข่ายท้องถิ่นที่ได้รับมอบหมายให้บางโฮสต์?

ยิ่งแย่ไปกว่านั้นคือดีกว่าที่จะไม่กำหนดที่อยู่ IP ที่ลงท้ายด้วยศูนย์แม้ว่าที่อยู่นี้ไม่ใช่ที่อยู่เครือข่าย เช่นหากเครือข่ายของคุณคือ 10.10.0.0/255.255.0.0, ที่อยู่ IP 10.10.5.0 ไม่ใช่ที่อยู่เครือข่ายของคุณ แต่คุณไม่ควรกำหนด IP ดังกล่าวแม้ว่าจะใช้ได้อย่างสมบูรณ์แม้ในเครือข่าย IP ที่มีระดับ ซอฟต์แวร์ดั้งเดิม / ไอพีดั้งเดิมบางตัวอาจมีปัญหา

อัปเดต:โดย goblinlord

ตามRFC 1812 (ส่วน 5.3.5.2)สิ่งที่เราเรียกว่าที่อยู่เครือข่ายเดิมใช้สำหรับ "กำกับการออกอากาศ" ซึ่งจะส่งแพ็กเก็ตออกอากาศไปยังเครือข่ายที่ต้องการ ฟังก์ชันนี้ล้าสมัยเนื่องจากการโจมตีของ SMURF ฟังก์ชั่นได้รับการเปลี่ยนแปลงอย่างเป็นทางการในRFC 2644 หลังจากนั้นการนำไปใช้เพิ่มเติมควรวางแพ็กเก็ตที่อยู่ต้นทางแบบเงียบ ๆ ตามที่อธิบายไว้ (ที่อยู่เครือข่าย) ขณะนี้เป็นสิ่งที่ควรเกิดขึ้นฉันสงสัยว่ามีการใช้งานจริงมากน้อยเพียงใด

สิ่งนี้จะถูกเพิ่มในRFC 3021เมื่อ / 31 เครือข่ายย่อยได้รับการแก้ไข


5
@grawity: ไม่เสมอไป เฉพาะในเครือข่ายที่มีขนาดใหญ่กว่า / 31 เช่น P2P สามารถมีสองที่อยู่และไม่มีที่อยู่ออกอากาศ
haimg

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

1
ดังนั้น ... มีเหตุผลใดที่จะสงวนเป็นพิเศษหาก 2 อินสแตนซ์เหล่านี้แยกกันอยู่แล้ว (ที่อยู่เครือข่ายในตารางเส้นทางและปลายทาง IP เมื่อพิจารณาว่าคุณต้องการดูตารางเส้นทาง) หรือไม่
Goblinlord

1
@Goblinlord: ไม่มีเหตุผลที่เป็นทางการที่ฉันสามารถหาได้ (RFCs ล่าสุด ฯลฯ ) อย่างไรก็ตามซอฟต์แวร์จำนวนมากถูกสร้างขึ้นโดยมีสมมติฐานว่าที่อยู่เครือข่ายเป็น "พิเศษ" ซึ่งในทางปฏิบัติคุณจะไม่ควรใช้มันเป็นที่อยู่ IP ของโฮสต์
haimg

1
มีรายการกำหนดค่าของซิสโก้ที่อนุญาตให้ที่อยู่เครือข่ายเป็นโฮสต์ซึ่งมีมานานอย่างน้อย 10 ปี ... ฉันไม่เคยใช้มันหรือแม้แต่ทดสอบมันและเนื่องจากปัญหาสแต็คที่เป็นไปได้ ไม่อนุญาตให้โฮสต์ลงท้ายด้วย. 0 หรือ. 255 บนเครือข่ายที่ฉันต้องรับผิดชอบแม้ว่าฉันจะไม่เจอเครือข่ายหรือที่อยู่ออกอากาศอื่น ๆ ที่ใช้งานน้อยกว่า / 24s ที่ @Home และในขณะที่ CoreOS ต้องการ ออก. 0 และ. 255 กลางให้เป็นโฮสต์ใน sanbrunocable's / 23's และ / 21s ฉันจองด้วยตนเอง
Nevin Williams

5

ดังนั้นคำตอบที่ใช้ได้คือ: มันขึ้นอยู่กับว่า ขึ้นอยู่กับ:

  • ที่อยู่ที่แน่นอนและความหมายใน RFC หลายแห่ง
  • รุ่นและการแก้ไขระบบปฏิบัติการของคุณ
  • ... และนั่นคือเราเตอร์ของคุณและเราเตอร์อื่น ๆ
  • ... และความชาญฉลาดและความซับซ้อนของผู้ดูแลระบบเครือข่ายทั้งหมดของเราเตอร์เหล่านั้น ...

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

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

แท้จริงแล้วฉันกำลังค้นหาและโพสต์สิ่งนี้จากที่อยู่เครือข่ายของฉัน

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

ยินดีต้อนรับสู่โลกแห่งความจริง อย่าปล่อยให้สิ่งนั้นห้ามปรามคุณจากการไล่ตามอุดมคติที่ดีเลิศที่ไม่เคยเกิดขึ้นมาก่อน ... อย่าคาดหวังว่าจะได้รับการสนับสนุนจากช่องทางหรือฟอรัม "ทางการ" เว้นแต่คุณจะเต็มใจทำให้มือสกปรกและอุทิศเวลาและชีวิตให้กับคุณ ฉันทามติที่จำเป็นและการนำทางการเมืองรอบ ๆ

ดังนั้นฉันคิดว่าผู้โพสต์คนอื่น ๆ กำลังพยายามจะพูดว่า: หากคุณต้องการทำนโยบายอย่างเป็นทางการและใช้มันในการผลิตคุณก็ต้องทำเอง (แต่คุณไม่เป็นไร) บางทีเราอาจจะโชคดีและมีข่าวกรองคอมพิวเตอร์ออกแบบเราเป็น IPv8 ที่ย้อนกลับเข้ากันได้กับ IPv4 และ IPv6 และการใช้งานที่ไม่สมบูรณ์ของพวกเขา


แน่นอน - เมื่อคุณใช้ที่อยู่เครือข่ายของคุณอุปกรณ์ที่ได้รับมอบหมายอาจได้รับปริมาณการออกอากาศทุกชนิดเนื่องจากกองเครือข่ายบางกลุ่มถือว่าเป็นการออกอากาศ อย่างไรก็ตามโดยทั่วไปแล้วสิ่งเหล่านี้ไม่ได้รบกวนอะไรมากเพราะพวกมันลดลงอย่างเงียบ ๆ ฉันอยากรู้ว่าหลายหาประโยชน์เครือข่ายพึ่งพาลักษณะรอบนี้ แต่ ...
Dagelf

2

ฉันใหม่กับเครือข่าย แต่ฉันจะให้ 2 เซ็นต์ของฉันเช่นกัน

หากฉันมีเครือข่ายย่อย / 28 จาก xxx0 - xxx15 ตามกฎที่กำหนดไว้ล่วงหน้าเราจะมีโฮสต์ที่ใช้งานได้ 14 แห่งและเหลืออีก 2 แห่ง ส่วนที่เหลือเป็นของเครือข่ายและการออกอากาศ

ให้แทนที่จะทำตามกฎข้างต้นจริง ๆ แล้วใช้โฮสต์ทั้ง 16 ตัว จากนั้นในกรณีนี้ทั้งหมดจะโอเคไม่มีปัญหา แต่ถ้าต้องการการศึกษานอกเครือข่ายก็จะไม่สามารถทำได้เพราะขาดทรัพยากรในการส่งหรือรับข้อมูล

ฉันไม่เก่งในการอธิบาย แต่ใช้วิธีอื่น

ถ้าฉันอาศัยอยู่ในบ้านบนถนนและถนนมีบ้าน 14 หลัง ทางเข้าและออกเพื่อเข้าสู่ถนนสายหลัก

ที่อยู่ของฉันจะอยู่ในช่วง 1-14 ถนนส่วนบุคคลนอกถนนเครือข่าย

นั่นจะไม่มีปัญหาสำหรับบุรุษไปรษณีย์ ตอนนี้สมมติว่านักพัฒนาโลภและเพิ่มบ้านอีก 2 หลังและกำจัดทางเดิน

ที่อยู่ไปรษณีย์ใหม่ของฉันจะอยู่ในช่วง 1-16 ถนนส่วนบุคคล

ในกรณีนี้คนจดหมายจะมีปัญหา

นี่คือการคาดเดาแจ้งให้เราทราบหากฉันกำลังพูดถึงวัว


0

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

ลองนึกภาพตารางเส้นทางเช่นนี้: (พีซีเครื่องนี้มีการเชื่อมต่อแบบขนานกับพีซีเครื่องอื่นและการ์ดเครือข่าย)

Dest           Mask    Dev
192.168.0.123  /32     plip0   # This is a single host
192.168.0.0    /24     eth0    # This is a network

และระหว่างที่อยู่ IP และ netmask จะให้สิ่งที่คุณต้องการอย่างแน่นอนตัวเลข 4 ไบต์ซึ่งสามารถเปรียบเทียบกับแต่ละบรรทัดได้โดยไม่ต้องคำนวณเพิ่มเติม

ดังนั้นหมายเลขโฮสต์ศูนย์จึงพิเศษในแง่ที่ว่าหลังจากการดำเนินการและที่อยู่ของมันจะแสดงเครือข่ายทั้งหมดตามธรรมชาติ

หากคุณตัดสินใจที่จะใช้หมายเลขเครือข่ายเป็นหมายเลขโฮสต์มันจะส่งผลให้ตารางเช่นนี้:

Dest           Mask    Dev
192.168.0.0    /32     eth0    # This is the host (it's a redundant line)
192.168.0.0    /24     eth0    # This is the network

ดูเหมือนว่าจะถูกต้องดังนั้นฉันคิดว่าแนวคิดของที่อยู่เครือข่ายถูกใช้เพื่อเหตุผลในการกำหนดเส้นทางและดังนั้นจึงมีการตัดสินใจโดยพลการเพื่อทำเครื่องหมายว่าเป็นที่อยู่พิเศษและห้ามมิให้ใช้เป็นที่อยู่โฮสต์

อืม ... จริงๆแล้วมันไม่ง่ายเลย ฉันตัดสินใจลอง (!!!):

# route add -net 192.168.0.0/32 eth0
# ping 192.168.0.0
Do you want to ping broadcast? Then -b
# telnet 192.168.0.0
Trying 192.168.0.0...
telnet: connect to address 192.168.0.0: Network is unreachable

ในปัจจุบันโปรแกรมเครือข่ายไม่อนุญาตให้ฉันใช้หมายเลขเครือข่ายเป็นที่อยู่ปกติ


เมื่อพิจารณาตัวอย่างตารางเส้นทางแรกของคุณฉันคิดว่ามันเป็นวิธีที่ไม่ดีจริง ๆ ที่จะทำสิ่งต่าง ๆ ... ถ้าคุณมีโฮสต์อื่น ๆ บนเครือข่ายย่อย. 0.0 ของคุณพวกเขาสื่อสารกันอย่างถูกต้องกับโฮสต์อื่น ๆ อย่างไร ทุกโฮสต์เดียว นั่นดูเหมือนจะไม่เป็นวิธีที่เหมาะสมในการทำสิ่งต่าง ๆ
Goblinlord

เป็นเพียงตัวอย่างสมมติว่าฉันจะไม่ตั้งค่าตารางแบบนั้น :-) โฮสต์. 123 เชื่อมต่อกับการเชื่อมต่อแบบจุดต่อจุดส่วนที่เหลือเป็นเครือข่ายอีเธอร์เน็ตปกติ หากคุณต้องการให้เครื่องอื่นเข้าถึงโฮสต์. 123 คุณต้องทำงานเพิ่มเติม แต่ก็เป็นไปไม่ได้
David Costa

0

ขณะที่ค้นหาคำตอบสำหรับคำถามนี้ฉันพบบทความนี้จาก Cisco คำพูดต่อไปนี้จากบทความนั้นสรุปมันอย่างดีฉันคิดว่า

[... ] พิจารณาที่อยู่ IP 172.16.1.10 หากคุณคำนวณที่อยู่เครือข่ายย่อยที่สอดคล้องกับที่อยู่ IP นี้คำตอบที่คุณมาถึงคือ subnet 172.16.0.0 (subnet zero) โปรดทราบว่าที่อยู่เครือข่ายย่อยนี้เหมือนกับที่อยู่เครือข่าย 172.16.0.0 ซึ่งเป็นเครือข่ายย่อยในสถานที่แรกดังนั้นเมื่อใดก็ตามที่คุณดำเนินการเครือข่ายย่อยคุณจะได้รับเครือข่ายและเครือข่ายย่อย (ศูนย์เครือข่ายย่อย) ที่มีที่อยู่ซึ่งแยกไม่ออก ก่อนหน้านี้เคยเป็นที่มาของความสับสนอย่างมาก

การหลีกเลี่ยงความสับสนเป็นเหตุผลที่ดีสำหรับฉัน


ฉันรู้ว่าคำถามนี้ถูกวางมานานแล้ว แต่ฉันเพิ่งตรวจสอบสิ่งนี้ บทความที่คุณอ้างถึงพูดถึง "subnet zero" หรือ subnet แรกในที่อยู่เครือข่าย นี่เป็นสิ่งที่แตกต่างไปจากเดิมอย่างสิ้นเชิงและในเครือข่ายสมัยใหม่ที่ฉันทำงานทุกสวิตช์มีคุณสมบัติ "ip subnet-zero" เปิดใช้งาน นอกจากนี้ยังกล่าวถึงว่าวันนี้จะเปิดใช้งานตามค่าเริ่มต้นในสวิตช์ทั้งหมด (ตั้งแต่รุ่น 12 ซึ่งวางจำหน่ายประมาณปี 2003)
Goblinlord

0

RFC 1122 ("ข้อกำหนดสำหรับโฮสต์อินเทอร์เน็ต - ชั้นการสื่อสาร") ห้าม:

ที่อยู่ IP ไม่ได้รับอนุญาตให้มีค่า 0 หรือ -1 สำหรับฟิลด์ <Host-number>, <Network-number> หรือ <Subnet- number> ใด ๆ


0

ที่อยู่เครือข่ายไม่ถือเป็นที่อยู่โฮสต์ แต่เป็นเพียงตัวเลข ในพื้นที่ จำกัด ที่อยู่เช่นเครือข่ายแบบจุดต่อจุดจะใช้มาสก์ / 30 บ่อยครั้ง แต่ก็ยังใช้ประโยชน์จากที่อยู่โฮสต์ การฝึกฝนที่น้อยกว่า แต่บรรลุหลักการเดียวกันคือการใช้มาสก์ / 31 และใช้ปลายด้านหนึ่งเป็นที่อยู่เครือข่ายและอีกด้านหนึ่งเป็นการออกอากาศ

อดีต

Router(config)#int gi0/0
Router(config-if)#ip add 10.0.0.0 255.255.255.254
Router(config-if)#no shut


Router2(config)#int gi0/0
Router2(config-if)#ip add 10.0.0.1 255.255.255.254
Router2(config-if)#no shut


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