ฉันเขียนบทความนี้เป็นเอกสารอ้างอิงภายในเมื่อวิศวกรของเราบางคนสับสนเมื่อถูกขอให้ใส่ที่อยู่ IPv6 ใน DNS ฉันไม่ได้ระบุที่อยู่ DNS เป็นพิเศษ แต่ข้อกังวลส่วนใหญ่ดูเหมือนจะอยู่ในรูปแบบของที่อยู่และไม่ได้ "รับ" ว่าทำงานอย่างไร บางทีมันอาจจะมีประโยชน์สำหรับคนอื่นด้วย:
ดังนั้นสิ่งแรกที่ต้องยอมรับคือการเพิ่ม IPv6 ดูน่าเกลียด พวกเขาทำ.
แต่ฉันคิดว่าเป็นเพียงเพราะเราไม่คุ้นเคยกับการจัดการกับพวกเขาและเราไม่เข้าใจว่าพวกเขาหมายถึงอะไรในระดับที่ต่ำมากเช่นเดียวกับที่อยู่ IPv4 ฉันคิดว่ามันจะใช้เวลาสักครู่ในการทำความคุ้นเคยกับพวกเขา แต่เราต้องเริ่มต้นที่ไหนสักแห่ง
สิ่งสำคัญอีกอย่างที่ควรจำคือที่อยู่ IPv4 คือหมายเลข 32 บิตและที่อยู่ IPv6 คือ 128 บิต เมื่อเราเตอร์เส้นทางหรือตัวกรองไฟร์วอลล์พวกเขาทำตามหมายเลขนั้น วิธีที่มนุษย์เลือกที่จะแสดงหมายเลขนั้นโดยพลการทั้งหมดและเป็นเพียงประเพณี ดังนั้นอีเมลทั้งหมดนี้อธิบายถึงวิธีที่มนุษย์เลือกแสดงตัวเลขเหล่านี้ - เครื่องจักรไม่สนใจมันเป็นบิตทั้งหมดสำหรับพวกเขา
ที่อยู่ IPv4 คือ 32 บิตหรือสี่ไบต์ สิ่งที่เราคิดว่าเป็นที่อยู่ ip "ของจริง" เป็นเพียงวิธีการที่ได้กลายเป็นมาตรฐานสำหรับการแสดงสตริงบิตนั้นโดยแยกบิตออกเป็นกลุ่ม 4 8 บิตแทนแต่ละบิต 8 เป็นเลขทศนิยมและแยกเลขทศนิยมเหล่านี้ ช่วงเวลา ดังนั้นให้ใช้ที่อยู่ IP แบบสุ่ม 172.30.154.249 เมื่อเราเตอร์ "คิด" เกี่ยวกับที่อยู่ IP นี้มันจะคิดแบบนี้:
10101100000111101001101011111001
ซึ่งเราสามารถแปลเป็นรูปแบบของเราเอง:
10101100 = 172
00011110 = 30
10011010 = 154
11111001 = 249
บางครั้งคุณอาจเห็นตัวเลขเหล่านี้เขียนเป็นเลขทศนิยมจริง
10101100000111101001101011111001 = 2,887,686,905
แทบไม่มีใครใช้แบบฟอร์มนี้กับจุดประสงค์ (*) แต่เป็นวิธีที่ถูกต้องในอดีตในการเขียนที่อยู่ IPv4 อันที่จริงแล้วแบบฟอร์มนี้ใช้ใน RFC821 ซึ่งกำหนด SMTP ในปี 1982 หากคุณต้องการกำหนดเส้นทางจดหมายไปยังเครื่องเฉพาะแทนการใช้ DNS คุณสามารถใช้ตัวอักษรสองชนิดที่แตกต่างกัน สิ่งแรกคือรูปแบบ "รูปสี่เหลี่ยมประ" ที่คุ้นเคยในวงเล็บ ("ผู้ใช้ @ [172.30.154.249]") ที่สองคือการใช้รูปแบบทศนิยมของ IP ที่นำหน้าด้วยเครื่องหมายปอนด์ ("ผู้ใช้ @ # 2887686905")
จากข้อมูลทั้งหมดที่กล่าวมานั้นเป็นเพียงแค่กรอบการทำงานสำหรับการแปลความรู้ของคุณเกี่ยวกับการทำงานของที่อยู่ IPv4 ไปยังที่อยู่ IPv6 เช่นเดียวกับ IPv4 คือหมายเลข 32 บิตที่อยู่ IPv6 เป็น 128 บิต ARIN มอบหมาย บริษัท ที่น่ากลัวของฉัน (**) ช่วง IP 2311: FD67 / 32 เพื่อเป็นตัวอย่างในการทำงานกับฉันฉันจะใช้ IP 2311: FD67 :: AC1E: 9AF9
ดังนั้นนี่คือสตริงบิตที่แสดงถึง ip6:
00100011000100011111110101100111000000000000000000000000000000000000000000000000000000000000000010101100000111101001101011111001
หากเราแสดงบิตสตริงเหล่านี้ในแบบที่เราทำกับสตริงบิท IPv4 (แปลงก้อนขนาด 1 ไบต์เป็นทศนิยมแยกแต่ละส่วนด้วยจุดหนึ่ง) เราจะได้สิ่งต่อไปนี้:
35.17.253.103.0.0.0.0.0.0.0.0.172.30.154.249
นั่นมีปัญหาสองอย่าง อย่างแรกคือมันดูเหมือนว่าหมายเลข IPv4 ที่ขี้ขลาดซึ่งไม่ดีคุณต้องการวิธีที่ดีในการแยกความแตกต่างระหว่างพวกเขา อื่น ๆ คือว่ามันเป็นจำนวนมากของข้อมูลจำนวนมากของตัวเลขและจำนวนมากของพื้นที่ว่างเปล่า ดังนั้นปัญหาทั้งสองจึงได้รับการแก้ไขโดยใช้ตัวคั่นที่แตกต่างกัน (โคลอน (:) แทนที่จะเป็นจุด (.)) และโดยการแสดงไบต์เป็นเลขฐานสิบหกแทนทศนิยม ตำแหน่งที่ IPv4 แยกชิ้น 8 บิตเป็นตัวแทนในรูปทศนิยมโดยมีจุดเป็นช่วง ๆ IPv6 แยกชิ้นส่วนแบบ 16 บิตแยกจากกันด้วยเครื่องหมายทวิภาค ดังนั้นนี่คือรายละเอียดของตัวอย่าง IPv6 IP ของเรา:
0010001100010001 = 2311
1111110101100111 = FD67
0000000000000000 = 0
0000000000000000 = 0
0000000000000000 = 0
0000000000000000 = 0
1010110000011110 = AC1E
1001101011111001 = 9AF9
2311:FD67:0:0:0:0:AC1E:9AF9
ยังคงมีพื้นที่สีขาวจำนวนมากอยู่ภายในดังนั้นจึงมีค่าเผื่อที่จำนวนศูนย์ที่ใหญ่ที่สุดสามารถ ommitted และแสดงด้วยเครื่องหมายทวิภาคคู่ ดังนั้น IP ข้างต้นสามารถเขียนได้:
2311:FD67::AC1E:9AF9
ฉันไม่ได้เห็นสิ่งนี้มาก แต่เมื่อฉันเข้าใจมันยังมีระเบียบแบบแผนเพื่ออนุญาตให้เขียน 32- บิตสุดท้ายเป็นรูปสี่เหลี่ยมประจุดนำหน้าเพื่อให้ง่ายต่อการจดจำที่อยู่เดิมเมื่อคุณย้ายจาก IPv4 เป็น IPv6 . ดังนั้นตามที่คุณอาจสังเกตเห็นที่อยู่ตัวอย่าง IPv6 ของฉันลงท้ายด้วย 32 บิตเดียวกันที่ประกอบด้วยตัวอย่าง IPv4 ทั้งหมดของฉัน มีประโยชน์อย่างยิ่งเมื่อคุณเขียนในสไตล์นี้ ในกรณีดังกล่าวส่วนเพิ่ม IPv6 ของฉันจะมีลักษณะดังนี้:
2311:FD67::172.30.145.249
ในการวนกลับไปยังที่ที่ฉันเริ่มต้นด้วย IPv6 ฉันได้กล่าวว่าเราได้รับมอบหมาย 2311: FD67 / 32 / 32 เป็นรูปแบบบิตเหมือนกับที่อยู่ IPv4 หมายความว่าเราได้รับการกำหนดแบบสแตติก 32 บิตแรกของ 128 บิตในที่อยู่ IPv4 ที่เราสามารถสร้าง ตั้งแต่ 2311: FD67 เป็น 32 บิตนั่นหมายความว่าที่อยู่ IP ทุกอันที่เราสร้างจากช่วงนั้นจะเริ่มต้นด้วย
เมื่อต้องการใส่อีกวิธีหนึ่งคิดว่า 172.17 / 16 เป็น "IP ทุกอันระหว่าง 172.17.0.0 และ 172.17.255.255", 2311: FD67 / 32 สามารถคิดได้ว่า "IP ทุกอันระหว่าง 2311: FD67: 0: 0: 0: 0: 0: 0 และ 2311: FD67: FFFF: FFFF: FFFF: FFFF: FFFF: FFFF "
ฉันคิดว่ามันจะใช้เวลานานก่อนที่เราจะเริ่มย้ายไปที่ IPv6 แต่ฉันหวังว่าคำอธิบายนี้จะช่วยให้คุณรู้สึกสะดวกสบายขึ้นในการใช้และอ้างอิงถึงพวกเขา
อีกครั้งสิ่งสำคัญที่ต้องเข้าใจสิ่งเดียวที่ฉันพูดถึงที่นี่คือวิธีการเขียนที่อยู่ IPv6 ดูเหมือนว่าจะมีสติปัญญาจำนวนมากที่สร้างขึ้นในรูปแบบการกำหนดเส้นทางสำหรับการกำหนดเส้นทาง ฯลฯ ซึ่งฉันยังไม่เข้าใจเลยดังนั้นสิ่งที่ฉันสามารถบอกได้ตอนนี้คืออะไร
(*) ฉันเคยเห็นการแสดง IPv4 ทศนิยมในการดีบักซอฟต์แวร์บางตัวมาก่อน แต่ฉันเกือบจะเป็นความผิดพลาดหรือความเกียจคร้านฉันคิดว่ามันเป็นรหัส ES ในการพิมพ์จำนวนเต็ม 32 บิตเร็วกว่าที่คิดไว้ จัดรูปแบบสี่เหลี่ยมประสำหรับการพิมพ์
(**) ฉันเขียนชื่อ บริษัท และคำนำหน้า