การขาดแคลนที่อยู่ IPv4
ตาม Vint Cerf (บิดาของ IP) ขนาดที่อยู่ IPv4 32 บิตของถูกเลือกโดยพลการ IP คือการทดลองของรัฐบาล / ความร่วมมือทางวิชาการและอินเทอร์เน็ตสาธารณะปัจจุบันไม่เคยนึกภาพ กระบวนทัศน์ IP คืออุปกรณ์ที่เชื่อมต่อแต่ละเครื่องจะมีที่อยู่ IP ที่ไม่ซ้ำกัน (แพ็คเก็ตทั้งหมดที่ส่งระหว่างอุปกรณ์ IP จะเชื่อมต่อแบบ end-to-end จากที่อยู่ IP ต้นทางไปยังที่อยู่ IP ปลายทาง) และโปรโตคอลจำนวนมากที่ใช้ IP ขึ้นอยู่กับแต่ละอุปกรณ์ มีที่อยู่ IP ที่ไม่ซ้ำกัน
สมมติว่าเราสามารถใช้ที่อยู่ IPv4 ที่เป็นไปได้ทั้งหมด * มีที่อยู่ IPv4 เพียง 4,294,967,296 ที่เป็นไปได้ แต่ (ณ เดือนกันยายน 2018) ประชากรโลกปัจจุบันคือ 7,648,290,361 อย่างที่คุณเห็นมีที่อยู่ IPv4 ที่เป็นไปได้ไม่มากพอสำหรับทุกคนที่จะมีที่อยู่เดียว แต่หลายคนมีคอมพิวเตอร์เครื่องพิมพ์โทรศัพท์มือถือแท็บเล็ตเกมคอนโซลสมาร์ททีวี ฯลฯ แต่ละรายการต้องมีที่อยู่ IP และ ที่ไม่ได้สัมผัสกับความต้องการทางธุรกิจสำหรับที่อยู่ IP เรายังอยู่บนจุดสูงสุดของ IoT (Internet of Things) ที่ทุกอุปกรณ์ต้องการที่อยู่ IP: หลอดไฟเทอร์โมสแตทเครื่องวัดอุณหภูมิมาตรวัดน้ำฝนและระบบสปริงเกอร์เซ็นเซอร์เตือนภัยเครื่องใช้ไฟฟ้ายานพาหนะที่เปิดประตูโรงรถระบบความบันเทิง ปลอกคอสัตว์เลี้ยงและใครจะรู้ว่าอะไรทั้งหมด
* มีบล็อกของที่อยู่ IPv4 ที่ไม่สามารถใช้สำหรับการกำหนดที่อยู่โฮสต์ได้ ตัวอย่างเช่นมัลติคาสต์มีบล็อกของที่อยู่ 268,435,456 ที่ไม่สามารถใช้สำหรับการกำหนดโฮสต์ IANA เก็บรักษาที่อยู่ของรีจิสทรี IANA IPv4 วัตถุประสงค์พิเศษที่https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtmlเพื่อจัดทำเอกสารที่อยู่พิเศษทั้งหมดและจุดประสงค์ของพวกเขา .
IANA (Internet Assigned Numbers Authority) วิ่งออกจาก IPv4 address block เพื่อมอบหมายให้ RIR (Regional Internet Registries) ที่ได้รับมอบหมายในภูมิภาคนั้น ๆ และตอนนี้ RIR ก็หมดที่อยู่ IPv4 ไปแล้วเพื่อกำหนดในแต่ละภูมิภาค ISPs (ผู้ให้บริการอินเทอร์เน็ต) และ บริษัท ที่ต้องการหรือต้องการที่อยู่ IPv4 จะไม่สามารถรับที่อยู่ IPv4 จาก RIR ของพวกเขาได้อีกต่อไปและตอนนี้ต้องพยายามซื้อที่อยู่ IPv4 จากธุรกิจที่อาจมีพิเศษ (เนื่องจากการขาดแคลนที่อยู่ IPv4 จะยิ่งมากขึ้น ขึ้นไป).
แม้ว่าที่อยู่ IPv4 ทั้งหมดที่สงวนไว้สำหรับวัตถุประสงค์พิเศษและไม่สามารถใช้สำหรับการโฮสต์ที่อยู่นั้นมีให้ใช้งานเราจะยังคงอยู่ในตำแหน่งเดียวกันเพราะมีที่อยู่ IPv4 เพียงไม่เพียงพอเนื่องจากมีขนาด จำกัด ของที่อยู่ IPv4
การบรรเทาปัญหาการขาดแคลนที่อยู่ IPv4
IANA และ RIRs จะหมดที่อยู่ IPv4 หลายปีก่อนที่พวกเขาจะทำถ้า IANA และ IETF (กองเรือรบวิศวกรรมอินเทอร์เน็ต) ไม่ได้ปรับลดการขาดแคลนที่อยู่ IPv4 การบรรเทาที่สำคัญอย่างหนึ่งคือการเลิกใช้คลาสเครือข่าย IPv4 เพื่อสนับสนุน CIDR (การกำหนดเส้นทาง Inter-Domain Classless) การระบุที่อยู่แบบ Classful อนุญาตให้ใช้เฉพาะเครือข่ายที่กำหนดสามขนาดเท่านั้น (16,777,216, 65,536 หรือ 256 ที่อยู่โฮสต์ทั้งหมดต่อเครือข่าย) ซึ่งหมายความว่าที่อยู่จำนวนมากสูญเปล่า (ธุรกิจที่ต้องการเพียง 300 ที่อยู่โฮสต์จะต้องจัดสรรเครือข่าย ที่อยู่โดยสิ้นเปลืองกว่า 99% ของที่อยู่ในเครือข่ายที่มีระดับ)
การบรรเทาที่มีผลกระทบมากที่สุดในการยืดอายุของ IPv4 คือการใช้ Private Addressing และตัวแปรของ NAT (Network Address Translation) ที่เรียกว่า NAPT (Network Address Port Translation) ซึ่งเป็นสิ่งที่คนส่วนใหญ่หมายถึงเมื่อพวกเขา อ้างถึง NAT หรือ PAT (PAT เป็นคำเฉพาะสำหรับผู้ขายสำหรับ NAPT) แต่น่าเสียดายที่ NAPT เป็นวิธีแก้ปัญหาที่น่าเกลียดที่ทำลายกระบวนทัศน์แบบ end-to-end IP และแบ่งโปรโตคอลที่ขึ้นอยู่กับที่อยู่ IP ที่ไม่ซ้ำกันซึ่งต้องการการแก้ไขปัญหาที่น่าเกลียดยิ่งขึ้น
NAT / NAPT
แนวคิดของ NAT ค่อนข้างง่าย: แทนที่หนึ่งหรือทั้งที่อยู่ต้นทางและปลายทาง IPv4 ในส่วนหัวของแพ็คเก็ตเมื่อแพ็กเก็ตผ่านอุปกรณ์ NAT ในทางปฏิบัติมันต้องการการคำนวณเนื่องจากส่วนหัว IPv4 มีฟิลด์ที่คำนวณเพื่อตรวจสอบความสมบูรณ์ของส่วนหัว IPv4 และการเปลี่ยนแปลงใด ๆ ที่เกิดขึ้นกับส่วนหัว IPv4 ต้องคำนวณใหม่ของฟิลด์และโปรโตคอลการขนส่งบางส่วนในเพย์แพ็คเก็ต ฟิลด์ที่ต้องคำนวณใหม่โดยใช้ทรัพยากรการคำนวณในอุปกรณ์ NAT ที่สามารถใช้สำหรับการส่งต่อแพ็กเก็ต
ใน NAT พื้นฐานอุปกรณ์ NAT มีพูลของที่อยู่ IPv4 ที่ใช้เพื่อแทนที่ที่อยู่ IPv4 ต้นทางของส่วนหัวแพ็คเก็ตสำหรับแพ็คเก็ต IPv4 ที่ส่งจากเครือข่ายภายในไปยังเครือข่ายภายนอกและจะรักษาตารางการแปลเพื่อแปล ที่อยู่ IPv4 ปลายทางของการรับส่งข้อมูลที่ส่งคืนจากเครือข่ายภายนอกเพื่อส่งแพ็คเก็ตกลับไปยังโฮสต์ที่ถูกต้องในเครือข่ายภายใน สิ่งนี้ยังต้องการทรัพยากรบนอุปกรณ์ NAT เพื่อสร้างและบำรุงรักษาตารางการแปลและทำการค้นหาตาราง การใช้ทรัพยากรนี้สามารถชะลอการส่งต่อแพ็กเก็ตเนื่องจากทรัพยากรที่ใช้โดย NAT ถูกนำมาจากทรัพยากรที่สามารถใช้สำหรับการส่งต่อแพ็กเก็ต
NAPT ใช้ NAT พื้นฐานเพิ่มเติมโดยการแปลที่อยู่โปรโตคอลการขนส่ง (พอร์ต) สำหรับ TCP และ UDP และ Query IDs สำหรับ ICMP ด้วยการแปลที่อยู่ของเลเยอร์การขนส่ง NAPT อนุญาตให้ใช้ที่อยู่ IPv4 นอกเดียวสำหรับหลาย ๆ ที่อยู่ภายในโฮสต์ IPv4 ที่อยู่ NAPT มีความเข้มข้นของทรัพยากรมากกว่า NAT พื้นฐานเพราะต้องการตารางแยกต่างหากสำหรับแต่ละโปรโตคอลเลเยอร์การขนส่งและจะต้องทำการคำนวณความสมบูรณ์ของโปรโตคอลการขนส่งด้วย
การใช้การกำหนดที่อยู่ IPv4 ส่วนตัวที่สามารถนำมาใช้ซ้ำบนเครือข่ายหลายเครือข่าย (คุณอาจสังเกตเห็นว่าเครือข่ายภายในบ้าน / ที่อยู่อาศัยส่วนใหญ่จะใช้เครือข่าย 192.168.1.0/24 เดียวกันซึ่งเป็นหนึ่งใน IANA ที่จัดสรรช่วงที่อยู่ส่วนตัว IPv4) พร้อมกับ NAPT ช่วยให้ผู้ใช้ทางธุรกิจและที่บ้านสามารถใช้ที่อยู่ภายนอก (สาธารณะ) เดียวสำหรับเครือข่ายขนาดใหญ่ภายใน (ส่วนตัว) ซึ่งจะช่วยประหยัดที่อยู่ IPv4 จำนวนมาก (หลายเท่าของจำนวนที่อยู่ IPv4 ที่เป็นไปได้ทั้งหมด) และช่วยยืดอายุการใช้งานของ IPv4 ให้ไกลเกินกว่าจุดที่จะยุบได้โดยไม่ต้องใช้ NAPT NAPT มีข้อบกพร่องร้ายแรง:
- NAPT แบ่งกระบวนทัศน์แบบ end-to-end IP และใช้งานได้กับ TCP, UDP และ ICMP เท่านั้นที่จะทำลายโปรโตคอลการขนส่งอื่น ๆ นอกจากนี้ยังมีโปรโตคอลชั้นแอปพลิเคชันที่ใช้ TCP หรือ UDP ที่ใช้งานไม่ได้โดย NAPT แม้ว่า TCP และ UDP จะทำงานร่วมกับ NAPT ได้ การบรรเทาอื่น ๆ เช่น STUN / TURN อาจพร้อมใช้งานสำหรับบางโปรโตคอลของเลเยอร์แอปพลิเคชัน แต่สามารถเพิ่มต้นทุนและความซับซ้อนได้
- NAPT เป็นทรัพยากรที่เข้มข้นมากการส่งต่อแพ็กเก็ตช้ากว่าเมื่อเทียบกับสิ่งที่เป็นไปได้โดยไม่ใช้ NAT รูปแบบใด ๆ ผู้ค้าบางรายเพิ่มฮาร์ดแวร์เฉพาะเพื่อลดความต้องการขโมยทรัพยากรจากการส่งต่อแพ็คเก็ต แต่สิ่งนี้มาพร้อมกับค่าใช้จ่ายขนาดความซับซ้อนและการใช้พลังงานที่เพิ่มขึ้น
- เมื่อใช้ NAPT การรับส่งข้อมูลที่เริ่มต้นจากภายนอกเครือข่าย NAPT จะไม่สามารถส่งไปยังเครือข่ายภายในเนื่องจากไม่มีรายการแปลในตารางการแปลซึ่งถูกเพิ่มโดยปริมาณการใช้งานที่เริ่มต้นภายใน ที่อยู่ภายนอก (สาธารณะ) เดียวมีการกำหนดค่าบนอุปกรณ์ NAT และแพ็คเก็ตใด ๆ ที่มีที่อยู่ IPv4 ปลายทางนั้นและไม่มีรายการสำหรับที่อยู่ IPv4 ต้นทางในตารางการแปลสำหรับโปรโตคอลการขนส่งจะถือว่าเป็นอุปกรณ์ NAPT เองไม่ใช่ เครือข่ายภายใน มีการบรรเทาปัญหาที่เรียกว่าการส่งต่อพอร์ตสำหรับปัญหานี้
- การส่งต่อพอร์ตโดยทั่วไปจะกำหนดค่าด้วยตนเองรายการถาวรในตารางการแปลเพื่ออนุญาตทราฟฟิกที่เริ่มต้นจากภายนอกซึ่งถูกกำหนดให้กับโปรโตคอลการส่งผ่านและที่อยู่เฉพาะสำหรับโปรโตคอลที่จะส่งไปยังโฮสต์ภายในโดยเฉพาะ สิ่งนี้มีข้อเสียเปรียบเพียงอนุญาตให้โฮสต์ภายในโฮสต์เป็นเป้าหมายสำหรับโปรโตคอลการส่งผ่านและที่อยู่เฉพาะ ตัวอย่างเช่นหากมีหลายเว็บเซิร์ฟเวอร์ในเครือข่ายภายในจะมีเพียงเว็บเซิร์ฟเวอร์เดียวเท่านั้นที่สามารถแสดงบนพอร์ต TCP 80 (ค่าเริ่มต้นสำหรับเว็บเซิร์ฟเวอร์)
- เนื่องจากการขาดแคลนที่อยู่ IPv4 นั้นรุนแรงมาก ISP (ผู้ให้บริการอินเทอร์เน็ต) จึงไม่มีที่อยู่สาธารณะที่จะมอบหมายให้กับลูกค้า ISP ไม่สามารถรับที่อยู่สาธารณะได้อีกต่อไปดังนั้นพวกเขาจึงได้นำมาตรการบรรเทาผลกระทบบางอย่างซึ่งทำร้ายผู้ใช้ที่บ้าน / ที่อยู่อาศัยโดยเฉพาะ ISP ต้องการจองกลุ่มที่อยู่สาธารณะที่มีค่าสำหรับลูกค้าธุรกิจที่ยินดีจ่ายสำหรับสิทธิ์ในการรับที่อยู่สาธารณะ ในการทำเช่นนั้น ISP ได้เริ่มกำหนดที่อยู่ส่วนตัวหรือที่อยู่ที่ใช้ร่วมกันให้กับลูกค้าที่อยู่อาศัย / ที่อยู่อาศัยของพวกเขาและผู้ให้บริการอินเทอร์เน็ตใช้ NAPT บนเราเตอร์ของพวกเขาเองเพื่ออำนวยความสะดวกในการใช้ที่อยู่ส่วนตัว ที่สร้างสถานการณ์ที่เครือข่ายที่บ้าน / ที่อยู่อาศัยอยู่เบื้องหลังการแปล NAPT สองรายการ (ISP NAPT ให้กับลูกค้า NAPT)
- หลายคนทำผิดพลาดในการเทียบ NAPT และความปลอดภัยเนื่องจากโฮสต์ภายในไม่สามารถระบุได้โดยตรงจากภายนอก นี่คือความปลอดภัยที่ผิดพลาด เนื่องจากไฟร์วอลล์ที่เชื่อมต่อเครือข่ายกับอินเทอร์เน็ตสาธารณะเป็นสถานที่ที่สะดวกในการเรียกใช้ NAPT ซึ่งจะทำให้สถานการณ์สับสน มันสร้างการรับรู้ที่เป็นอันตรายว่า NAPT ตัวเองเป็นไฟร์วอลล์และไฟร์วอลล์จริงไม่จำเป็น การรักษาความปลอดภัยเครือข่ายมาจากไฟร์วอลล์ซึ่งปิดกั้นการรับส่งข้อมูลภายนอกทั้งหมดโดยค่าเริ่มต้นอนุญาตเฉพาะทราฟฟิกที่มีการกำหนดค่าอย่างชัดเจนเพื่ออนุญาตอาจทำการตรวจสอบอย่างละเอียดเกี่ยวกับเนื้อหาของแพ็คเก็ต สิ่งที่บางคนล้มเหลวในการตระหนักคือไม่มีไฟร์วอลล์ในฮาร์ดแวร์หรือซอฟต์แวร์ที่อยู่ด้านนอกหรือสร้างไว้ในอุปกรณ์ NAPT เพื่อปกป้องอุปกรณ์ NAPT อุปกรณ์ NAPT นั้นมีความเสี่ยง หากอุปกรณ์ NAPT ถูกโจมตีอุปกรณ์นั้นและโดยผู้โจมตีส่วนต่อขยายจะสามารถเข้าถึงเครือข่ายส่วนตัวภายใน แพ็กเก็ตที่เริ่มต้นจากภายนอกที่ไม่ตรงกับตารางการแปลนั้นจะถูกกำหนดไว้ในอุปกรณ์ NAPT เพราะมันเป็นอุปกรณ์ที่ได้รับการจัดการกับที่อยู่ภายนอกจริง ๆ ดังนั้นอุปกรณ์ NAPT สามารถถูกโจมตีโดยตรง
การแก้ปัญหาการขาดแคลนที่อยู่ IPv4
IETF ทำนายการขาดแคลนที่อยู่ IPv4 และสร้างโซลูชัน: IPv6 ซึ่งใช้ที่อยู่ 128 บิตซึ่งหมายความว่ามี 340,282,366,920,938,463,463,463,374,607,431,768,211,411,411,411,411,411,411,411,411,411,211,456 จำนวนที่อยู่ IPv6 เกือบเป็นไปไม่ได้ทำให้ไม่จำเป็นต้องใช้ NAPT (IPv6 ไม่มีมาตรฐาน NAT วิธีที่ IPv4 ทำได้และ IPv6 NAT RFC ทดลองห้ามใช้ NAPT) โดยเฉพาะการกู้คืนกระบวนทัศน์แบบ end-to-end IP ดั้งเดิม การบรรเทาปัญหาการขาดแคลนที่อยู่ IPv4 นั้นหมายถึงการยืดอายุการใช้งานของ IPv4 จนกว่า IPv6 จะแพร่หลายซึ่งจุดที่ IPv4 ควรจางหายไป
มนุษย์ไม่สามารถเข้าใจขนาดที่ใช้สำหรับ IPv6 ได้อย่างแท้จริง ตัวอย่างเช่นเครือข่าย IPv6 มาตรฐานใช้ 64 บิตสำหรับแต่ละเครือข่ายและส่วนโฮสต์ของที่อยู่เครือข่าย นั่นคือ 18,446,744,073,709,551,616 IPv6 มาตรฐานที่เป็นไปได้ / 64 เครือข่ายและจำนวนที่อยู่โฮสต์ (ใหญ่) เดียวกันสำหรับแต่ละเครือข่ายเหล่านั้น ในการพยายามทำความเข้าใจหมายเลขที่มีขนาดใหญ่ให้พิจารณาเครื่องมือที่สแกนที่อยู่ทั้งหมดที่เป็นไปได้ในเครือข่าย หากเครื่องมือดังกล่าวสามารถสแกนที่อยู่ 1,000,000 รายการต่อวินาที (ไม่น่าเป็นไปได้) จะใช้เวลานานกว่า 584,542 ปีในการสแกนบนเครือข่ายเดียว / 64 IPv6 ปัจจุบันมีการจัดสรรพื้นที่ที่อยู่ IPv6 ทั้งหมดเพียง 1/8 แห่งสำหรับที่อยู่ IPv6 ทั่วโลกซึ่งทำงานได้ถึง 2,305,843,009,213,6913,693,952 มาตรฐานเครือข่าย IPv6 / 64 และถ้าประชากรโลกมีจำนวน 21 พันล้านคนในปี 2100 (ตัวเลขค่อนข้างจริง) ทุก ๆ 21,000 ล้านคนสามารถมีเครือข่าย IPv6 / 64 มาตรฐาน 109,802,048 แต่ละเครือข่ายมี 18,446,744,073,709,551,616 ที่อยู่โฮสต์ที่เป็นไปได้ น่าเสียดายที่การขาดแคลนที่อยู่ IPv4 (ทศวรรษ) มีการอนุรักษ์ที่อยู่ที่ฝังแน่นอยู่ในคนหลายคนก็ไม่สามารถปล่อยมันไปได้และพวกเขาพยายามที่จะใช้มันกับ IPv6 ซึ่งไม่มีประโยชน์และเป็นอันตรายจริง ๆ IPv6 ได้รับการออกแบบมาเพื่อกำจัดที่อยู่จริง
IETF ยังมีข้อได้เปรียบของการเข้าใจถึงปัญหาหลังเหตุการณ์และปรับปรุง IP (ใน IPv6) ด้วยการลบคุณลักษณะของ IPv4 ที่ไม่ทำงานได้ดีขึ้นปรับปรุงคุณลักษณะ IPv4 และเพิ่มคุณสมบัติที่ IPv4 ไม่ได้สร้างขึ้นใหม่และปรับปรุง IP . เนื่องจาก IPv6 เป็นโปรโตคอลแยกต่างหากจาก IPv4 จึงสามารถทำงานพร้อมกับ IPv4 ได้เนื่องจากการเปลี่ยนแปลงนั้นทำจาก IPv4 เป็น IPv6 โฮสต์และอุปกรณ์เครือข่ายสามารถเรียกใช้ทั้ง IPv4 และ IPv6 บนอินเทอร์เฟซเดียวกันในเวลาเดียวกัน (ดูอัลสแต็ก) และแต่ละอันไม่สามารถมองเห็นได้ ไม่มีการแทรกแซงระหว่างสองโปรโตคอล
ปัญหาของ IPv6 คือจริง ๆ แล้วมันเป็นโปรโตคอลที่แตกต่างกันโดยสิ้นเชิงซึ่งไม่เข้ากันกับ IPv4 ที่แพร่หลายและการบรรเทาปัญหาการขาดแคลนที่อยู่ IPv4 นั้นหลายคนเห็นว่า "ดีพอ" ผลลัพธ์ก็คือมันมีอายุมากกว่า 20 ปี ปีที่ผ่านมาตั้งแต่ IPv6 ได้มาตรฐานและตอนนี้เราเพิ่งได้รับแรงฉุดจริง ๆ ในการใช้ IPv6 (รายงานของ Google ณ เดือนกันยายน 2018 การใช้ IPv6 ทั่วโลกมากกว่า 20% และอัตราการยอมรับ IPv6 ในสหรัฐอเมริกามากกว่า 35%) เหตุผลที่เราย้ายไปสู่ IPv6 ในที่สุดก็คือไม่มีการกำหนดที่อยู่ IPv4 ที่ไม่ได้ใช้อีกต่อไป
มีอุปสรรคอื่น ๆ ซึ่งเป็นส่วนหนึ่งของวัฒนธรรม IPv4 ที่ยากสำหรับผู้ที่มองผ่าน หลายคนกลัว IPv6 เมื่อโตขึ้นและรู้สึกสะดวกสบายกับ IPv4 หูดและทั้งหมด ตัวอย่างเช่นที่อยู่ IPv6 ดูเหมือนจะมีขนาดใหญ่และน่าเกลียดเมื่อเทียบกับที่อยู่ IPv4 และดูเหมือนว่าจะทำให้คนจำนวนมากออกไป ความจริงก็คือว่า IPv6 มักจะง่ายกว่าและยืดหยุ่นกว่า IPv4 โดยเฉพาะอย่างยิ่งสำหรับการพูดคุยและบทเรียนที่เรียนรู้เกี่ยวกับ IPv4 นั้นถูกนำไปใช้กับ IPv6 ตั้งแต่ต้น