เหตุใดผู้สร้างโปรโตคอลอินเทอร์เน็ตจึงตัดสินใจใช้ที่อยู่ IP เพื่อระบุคอมพิวเตอร์เครื่องหนึ่ง [ปิด]


10

เหตุใดผู้สร้างโปรโตคอลอินเทอร์เน็ตจึงตัดสินใจใช้ที่อยู่ IP เพื่อระบุคอมพิวเตอร์เครื่องหนึ่ง

ทำไมไม่เพียงกำหนด ID เฉพาะให้กับคอมพิวเตอร์แต่ละเครื่องเมื่อผลิตแล้วใช้ ID นั้นเพื่อระบุตัวตนของคอมพิวเตอร์


3
ไม่มีวิธีใดที่จะสามารถใช้ได้ในโลกแห่งความเป็นจริง ...
Radu Murzea

20
ชอบที่อยู่ MACใช่ไหม
user694733

12
@JerryRockwell คุณทราบดีว่าที่อยู่ MAC ซึ่งใกล้เคียงกับสิ่งที่คุณอธิบายมากที่สุดสามารถปลอมแปลงได้เช่นกัน กล่าวอีกนัยหนึ่งในโลกนั้นมันอาจจะเป็นเพียงแค่โปรแกรมยูทิลิตี้และเดาว่าจะได้รับ ID ใหม่ที่ทำงานได้ ในทางกลับกันถ้าพร็อกซีและ VPN ทำไม่ได้จริงๆผู้คนที่ซื่อสัตย์จำนวนมากก็ถูกทำให้เมาเช่นกัน

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

2
ที่อยู่ IP คือรหัส มันมักจะเปลี่ยนแปลงอยู่ตลอดเวลาเนื่องจากการใช้ DHCP อย่างกว้างขวาง
Siyuan Ren

คำตอบ:


34

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

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

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


2
สิ่งนี้เกี่ยวข้องกับคำถามที่ถามอย่างไร "เหตุใดผู้สร้างโพรโทคอลอินเทอร์เน็ตจึงตัดสินใจ"
gnat

5
มันเป็นตัวอย่างที่ยอดเยี่ยมที่มีชื่อ (เป็น MAC) และที่อยู่ (เป็น IP)
SerG

เรื่องจริง แต่คำตอบนั้นไม่เพียงพอที่จะอธิบายว่าทำไม IP ถึงทำงานได้ดีกว่าการจัดเส้นทางกว่า ... ฉันไม่รู้ สิ่งอื่นใด
svidgen

1
คำถามไม่ได้อธิบายการทำงานของการกำหนดเส้นทาง IP และที่อยู่ IP เป็นส่วนหนึ่งของมันอย่างไร แม้ว่าจะมีคำตอบอื่น ๆ ที่อธิบายว่า มีวิธีอื่นในการกำหนดเส้นทางไม่ใช่แค่ IP
aragaer

ดู HIP (Host Identity Protocol, RFC4423) สำหรับความพยายามที่จะเพิ่มเลเยอร์สำหรับ Host Identifiers (เก็บไว้เป็นที่อยู่ IPv6) ระหว่างเลเยอร์เครือข่ายและเลเยอร์การขนส่ง
ysdx

22

หากคอมพิวเตอร์ทุกเครื่องจะมีตารางเส้นทาง ID ที่ไม่ซ้ำกันจะต้องมีเส้นทางทั้งหมดไปยังอุปกรณ์ทั้งหมดบนอินเทอร์เน็ต สิ่งนี้ไม่สามารถทำได้

นั่นเป็นเหตุผลที่ tcp / ip ใช้วิธีการทำเป็นชั้น

หากคอมพิวเตอร์ของฉัน 1.1.1.1 ต้องการสื่อสารกับ 2.2.2.2 โดยทั่วไปแล้วมันจะขอให้เกตเวย์ส่งต่อแพ็คเก็ตดังนั้นมันจึงสื่อสารกับ: 1.1.1.0 แต่เกตเวย์นั้นยังไม่รู้ว่า 2.2.2.2 อยู่ที่ใดจึงถามเกตเวย์ของเขาเพื่อส่งต่อแพ็กเก็ตเกตเวย์ 1.1.0.0 เลือกและถาม 1.0.0.0 1.0.0.0 ไม่ทราบว่า 2.2.2.2 อยู่ที่ใด แต่จะรู้ว่า 2.0.0.0 นั้นอยู่ที่ใด (ในตารางเส้นทางของเขา) ดังนั้นคำขอจะลดลงเนื่องจาก 2.0.0.0 รู้ว่า 2.2.0.0 อยู่ที่ใดและส่งต่อแพ็กเก็ตอย่างไร ทั้งหมดนี้จนกระทั่งแพ็คเก็ตมาถึง 2.2.2.2

(นี่คือการขยายที่มากเกินไปของสิ่งที่เกิดขึ้นและอาจมีจำนวนการกระโดดใด ๆ ระหว่าง 1.0.0.0 และ 2.0.0.0)

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


11

ด้วยเหตุผลเดียวกันบริการไปรษณีย์ใช้ที่อยู่มากกว่าชื่อ

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

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

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

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

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


อุปมาอุปไมยที่ยิ่งใหญ่ ...
ชาร์ลส์ซัลเวีย

2

ที่อยู่ MAC คือสิ่งที่ระบุคอมพิวเตอร์หรือฮาร์ดแวร์เครือข่าย

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

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


1
นี้น่าจะเป็นเพียงจุดซ้ำทำและอธิบายในคำตอบก่อน
ริ้น

ฉันสงสัยว่าเหตุใดที่อยู่ MAC ควรได้รับการมอบหมายให้เป็นสากลทั่วโลกเนื่องจากการกำหนดที่อยู่แบบ 32 บิตแบบสุ่มนั้นไม่น่าเป็นไปได้มากที่จะทำให้เกิดการชนกันบนเครือข่ายย่อยที่ไม่มีเครื่องหลายพันเครื่อง การแก้ไขปัญหาการชนกันนั้นสามารถจัดการได้ง่าย ๆ เพียงแค่มีเครื่องที่ตรวจจับการชนกันของการสุ่มเลือกที่อยู่ใหม่ หากไม่สามารถตอบกลับที่อยู่เดิมได้เครื่องที่ต้องการสื่อสารจะทำการ ARP ใหม่ค้นหาที่อยู่ใหม่และทุกอย่างจะดี
supercat

1

เหตุใดผู้สร้างโปรโตคอลอินเทอร์เน็ตจึงตัดสินใจใช้ที่อยู่ IP เพื่อระบุคอมพิวเตอร์เครื่องหนึ่ง

พวกเขาไม่ได้ มันระบุการเชื่อมต่อเครือข่ายแม้ว่าการเชื่อมต่อเดียวกันนั้นอาจมีที่อยู่ IP อื่นเช่นกัน

ทำไมไม่เพียงกำหนด ID เฉพาะให้กับคอมพิวเตอร์แต่ละเครื่องเมื่อผลิตแล้วใช้ ID นั้นเพื่อระบุตัวตนของคอมพิวเตอร์

สำหรับสิ่งหนึ่งที่พวกเขาไม่ได้คอมพิวเตอร์ ID ดังกล่าวข้างต้น

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

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

นอกจากนี้เทคโนโลยีเหล่านี้บางตัวมีการคาดการณ์ TCP / IP ไว้ล่วงหน้าดังนั้นจึงไม่สามารถทำงานร่วมกันได้และไม่สามารถใช้ TCP / IP กับเครือข่ายทุกประเภทได้

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


0

แต่ด้วย ID ที่ไม่ซ้ำกันเช่น MAC ยังคงมีปัญหาในการค้นหาอุปกรณ์ในเครือข่าย เป็นไปไม่ได้ที่จะมีอุปกรณ์ทั้งหมดเชื่อมต่อกันและเพียงแค่ค้นหาปลายทางหนึ่งต่อหนึ่งจากโฮสต์ทั้งหมดในโลก มันเป็นจุดประสงค์ของการประดิษฐ์บางที่อยู่ลำดับชั้นเช่น IP


นี้น่าจะเป็นเพียงจุดซ้ำทำและอธิบายในคำตอบก่อน
ริ้น

@gnat ดูการประทับเวลาของการแก้ไขครั้งล่าสุด
SerG

0

กุญแจสำคัญในการทำความเข้าใจการออกแบบดั้งเดิมของInternetworking Protocol คือเครือข่ายที่มีอยู่แล้วและแผนคือการเข้าร่วมเครือข่ายร่วมกันโดยใช้เทคโนโลยีที่มีอยู่เช่น DECnet การขอให้ผู้คนเพิ่มฮาร์ดแวร์ใหม่ด้วยตัวระบุที่ไม่ซ้ำใครจะทำให้เป็นคนพิการและไม่จำเป็นต้องมีเหตุผลทางเทคโนโลยีใด ๆ ระบบที่ใช้คือการจัดสรรคำนำหน้า (เช่น 8.0.0.0/24) ให้กับองค์กรและทำให้เป็นความรับผิดชอบขององค์กรนั้นในการกำหนดที่อยู่ภายในช่วงนั้น

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

อีเทอร์เน็ตใช้ที่อยู่ MAC เพื่อแยกแยะความแตกต่างระหว่างโหนดบน LAN เดียวกัน แต่อีเทอร์เน็ตโพสต์วันที่บนอินเทอร์เน็ตและรับแรงบันดาลใจจากมัน: http://inventors.about.com/library/weekly/aa111598.htmอ้างสิทธิ์เร็วกว่า 1973 ในขณะที่ RFC อินเทอร์เน็ตแห่งแรกนั้นมาจากปี 1969 ( http://www.ietf.org/download/rfc-index.txt ) ในเวลาเดียวกับที่ดวงจันทร์ลงจอด

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