Contact
Line : comsiam
Contact
Line : comsiam

CGNAT คือระบบที่ผู้ให้บริการอินเทอร์เน็ตนำ Public IPv4 หนึ่งหมายเลขมาแบ่งให้ลูกค้าหลายบ้านใช้งานร่วมกัน ช่วยแก้ปัญหาหมายเลข IPv4 ไม่เพียงพอ แต่ทำให้การรับการเชื่อมต่อจากภายนอกเข้ามายังเครื่องเล่นเกมหรือเครือข่ายภายในบ้านทำได้ยากขึ้น
ผลกระทบที่พบได้คือ NAT Type เป็น Strict หรือ Moderate, สร้างห้องเกมไม่ได้ เชื่อมต่อกับเพื่อนบางคนไม่ได้ และ Port Forwarding บน Router ไม่ทำงาน แต่ CGNAT ไม่ได้ทำให้ Ping สูงขึ้นอย่างรุนแรงทุกกรณี เพราะ Ping ยังขึ้นอยู่กับเส้นทางและเซิร์ฟเวอร์เกมเป็นหลัก
บทความนี้จาก comsiam จะอธิบายวิธีตรวจสอบ CGNAT ผลต่อเกม และแนวทางแก้ที่เหมาะสมโดยไม่ต้องเปลี่ยนการตั้งค่าแบบสุ่ม
CGNAT ย่อมาจาก Carrier-Grade Network Address Translation เป็นระบบ NAT ที่ทำงานอยู่ภายในเครือข่ายของผู้ให้บริการอินเทอร์เน็ต
ระบบ NAT ภายในบ้านทำให้โทรศัพท์ คอมพิวเตอร์ Smart TV และเครื่องเล่นเกมหลายเครื่องใช้ Public IP เดียวกันได้ ส่วน CGNAT เพิ่ม NAT อีกชั้นหนึ่งเพื่อให้ลูกค้าหลายบ้านใช้ Public IPv4 ร่วมกัน
เส้นทางโดยทั่วไปเป็นดังนี้
อุปกรณ์เล่นเกม → Router ภายในบ้าน → CGNAT ของผู้ให้บริการ → อินเทอร์เน็ต → เซิร์ฟเวอร์เกม
จึงมีการแปลงหมายเลขเครือข่ายอย่างน้อยสองระดับ ได้แก่
การเชื่อมต่อที่เริ่มจากภายในบ้านออกไปยังเซิร์ฟเวอร์มักทำงานได้ตามปกติ แต่การเชื่อมต่อที่เริ่มจากภายนอกเข้ามายังอุปกรณ์ภายในบ้านจะทำได้ยากกว่า
จำนวน Public IPv4 มีจำกัด ขณะที่จำนวนผู้ใช้อินเทอร์เน็ตและอุปกรณ์เพิ่มขึ้นอย่างต่อเนื่อง ผู้ให้บริการจึงใช้ CGNAT เพื่อแบ่ง Public IP หนึ่งหมายเลขให้ลูกค้าหลายราย
ประโยชน์ของ CGNAT ต่อผู้ให้บริการ ได้แก่
สำหรับผู้ใช้ที่เปิดเว็บไซต์ ดูหนัง ใช้โซเชียลมีเดีย หรือเล่นเกมที่เชื่อมต่อผ่านเซิร์ฟเวอร์กลาง อาจไม่พบปัญหาชัดเจน
ปัญหามักเกิดกับงานที่ต้องรับการเชื่อมต่อจากภายนอก เช่น การสร้างเซิร์ฟเวอร์ เปิดห้องแบบ Peer-to-Peer หรือเข้าถึงอุปกรณ์ภายในบ้านจากอินเทอร์เน็ต
เมื่ออุปกรณ์ภายในบ้านส่งข้อมูลออกไป Router จะเปลี่ยน Private IP ของอุปกรณ์เป็น IP ฝั่ง WAN จากนั้นระบบ CGNAT ของผู้ให้บริการจะแปลงอีกครั้งเป็น Public IP ที่ใช้งานร่วมกับลูกค้ารายอื่น
ตัวอย่างเชิงโครงสร้าง
ระบบจะใช้หมายเลข Port เพื่อแยกว่าข้อมูลแต่ละชุดเป็นของลูกค้ารายใด แต่ผู้ใช้ไม่สามารถควบคุมการทำ Port Forwarding บน CGNAT ของผู้ให้บริการได้เหมือน Router ภายในบ้าน
ผลกระทบขึ้นอยู่กับโครงสร้างเครือข่ายของเกม
เกมที่ผู้เล่นทุกคนเชื่อมต่อออกไปยังเซิร์ฟเวอร์ส่วนกลางมักได้รับผลกระทบน้อย เพราะการเชื่อมต่อเริ่มจากภายในบ้าน
เกมที่ให้ผู้เล่นเชื่อมต่อระหว่างกันโดยตรงอาจมีปัญหามากกว่า เพราะอุปกรณ์จากภายนอกต้องสร้างการเชื่อมต่อกลับเข้ามา
อาการที่อาจพบ ได้แก่
CGNAT ไม่ได้ทำให้ทุกเกมใช้งานไม่ได้ เกมจำนวนมากมีระบบ Relay หรือเซิร์ฟเวอร์กลางเพื่อช่วยให้ผู้เล่นที่อยู่หลัง NAT เชื่อมต่อกันได้
CGNAT เพิ่มขั้นตอนการแปลงข้อมูลอีกชั้น แต่ในระบบที่มีประสิทธิภาพ ผลต่อ Ping อาจน้อยจนผู้ใช้สังเกตไม่ได้
ปัจจัยที่มีผลต่อ Ping มากกว่า ได้แก่
อย่างไรก็ตาม หากระบบ CGNAT ของผู้ให้บริการแออัดหรือกำหนดเส้นทางไม่เหมาะสม อาจทำให้ Latency เพิ่มหรือการเชื่อมต่อไม่เสถียรได้
จึงไม่ควรสรุปว่า Ping สูงทั้งหมดเกิดจาก CGNAT ต้องทดสอบ Ping, Packet Loss และเส้นทางประกอบกัน
NAT Type เป็นการประเมินว่าเครื่องเล่นเกมสามารถรับและสร้างการเชื่อมต่อกับผู้เล่นอื่นได้ง่ายเพียงใด
ชื่อ NAT Type แตกต่างกันตามระบบ แต่แนวคิดทั่วไปคือ
| NAT Type | ลักษณะโดยทั่วไป |
|---|---|
| Open | รับการเชื่อมต่อได้ง่าย |
| Moderate | เชื่อมต่อได้แต่มีข้อจำกัด |
| Strict | รับการเชื่อมต่อจากภายนอกได้ยาก |
| Type 1 | เชื่อมต่ออินเทอร์เน็ตโดยตรงหรือเปิดมาก |
| Type 2 | อยู่หลัง Router แต่ใช้งานได้ตามปกติ |
| Type 3 | มีข้อจำกัดมาก |
CGNAT สามารถทำให้ NAT Type เข้มงวดขึ้น เพราะมี NAT ของผู้ให้บริการอีกชั้น แต่ NAT Type Strict ยังเกิดจากสาเหตุอื่นได้ เช่น
เข้าสู่หน้าสถานะอินเทอร์เน็ต แล้วมองหาค่า WAN IP, Internet IP หรือ IPv4 Address
จดเฉพาะเพื่อใช้เปรียบเทียบ ไม่ควรเผยแพร่หมายเลข Public IP ของตัวเองในพื้นที่สาธารณะ
ใช้เครื่องมือตรวจสอบ Public IP ผ่านเบราว์เซอร์ แล้วเปรียบเทียบกับ WAN IP ใน Router
หากมี ONT, Modem หรือ Router ของผู้ให้บริการอยู่ด้านหน้า ต้องตรวจสอบว่าอุปกรณ์นั้นกำลังทำ NAT อยู่หรือไม่
เป็นวิธียืนยันที่ชัดเจนที่สุดว่าบัญชีอินเทอร์เน็ตถูกจัดให้อยู่หลัง CGNAT หรือได้รับ Public IPv4
ช่วงที่กำหนดไว้สำหรับ Shared Address Space ของ CGNAT คือ
100.64.0.0 – 100.127.255.255
หาก WAN IP ของ Router อยู่ในช่วงนี้ มีโอกาสสูงว่าอยู่หลัง CGNAT
ช่วง Private IPv4 ที่พบบ่อย ได้แก่
10.0.0.0 – 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255
หาก WAN IP อยู่ในช่วง Private IP อาจเกิดจาก
การดูช่วง IP เพียงอย่างเดียวอาจไม่เพียงพอ ควรเปรียบเทียบ WAN IP กับ Public IP และตรวจสอบโครงสร้างอุปกรณ์ภายในบ้านร่วมด้วย
CGNAT และ Double NAT มีลักษณะคล้ายกันตรงที่มี NAT มากกว่าหนึ่งชั้น แต่ตำแหน่งและวิธีแก้ต่างกัน
| หัวข้อ | CGNAT | Double NAT |
|---|---|---|
| NAT ชั้นนอกอยู่ที่ | ผู้ให้บริการ | Router หรืออุปกรณ์ภายในบ้าน |
| ผู้ใช้ควบคุมได้หรือไม่ | โดยทั่วไปไม่ได้ | มักแก้ได้ |
| วิธีแก้หลัก | ขอ Public IP หรือใช้ IPv6 | Bridge Mode, Access Point หรือปรับโครงสร้าง |
| Port Forwarding ที่ Router | มักไม่เพียงพอ | ต้องตั้งทุกชั้นหรือแก้ให้เหลือชั้นเดียว |
| มีผลต่อ NAT Type | มี | มี |
| ตรวจจาก WAN IP | พบ Shared หรือ Private IP | มักพบ Private IP จาก Router ตัวหน้า |
บ้านหนึ่งสามารถมีทั้ง Double NAT และ CGNAT พร้อมกันได้ เช่น ใช้ Router สองตัวภายในบ้านและผู้ให้บริการยังใช้ CGNAT อีกชั้น
Port Forwarding บน Router ภายในบ้านเปิดเส้นทางจาก WAN IP ของ Router ไปยังอุปกรณ์ภายใน แต่เมื่อ WAN IP ไม่ใช่ Public IP การเชื่อมต่อจากอินเทอร์เน็ตยังติดอยู่ที่ CGNAT ของผู้ให้บริการ
เส้นทางมีลักษณะดังนี้
อินเทอร์เน็ต → Public IP ร่วม → CGNAT → WAN IP ของ Router → อุปกรณ์ภายใน
ผู้ใช้ควบคุมได้เฉพาะช่วงจาก WAN IP ของ Router ไปยังอุปกรณ์ แต่ไม่สามารถสร้างกฎบน CGNAT ได้
ดังนั้น แม้ตั้ง Port Forwarding ถูกต้อง การเชื่อมต่อจากภายนอกก็ยังไม่ทราบว่าจะถูกส่งไปยังลูกค้ารายใดที่ใช้ Public IP ร่วมกัน
การเปิด Port จำนวนมากหรือใช้ DMZ บน Router จึงไม่สามารถแก้ CGNAT ได้ และอาจเพิ่มความเสี่ยงโดยไม่จำเป็น
UPnP ช่วยให้อุปกรณ์ภายในบ้านขอเปิด Port บน Router โดยอัตโนมัติ แต่ควบคุมได้เฉพาะ Router ที่อยู่ภายในบ้าน
หากมี CGNAT ระบบยังติดอยู่ที่ NAT ของผู้ให้บริการ UPnP จึงไม่สามารถเปิด Port ผ่าน CGNAT ได้เอง
UPnP อาจช่วยในกรณีดังนี้
UPnP ไม่สามารถทดแทน Public IP และไม่สามารถรับประกันว่า NAT Type จะเป็น Open เมื่ออยู่หลัง CGNAT
เป็นวิธีที่ตรงจุดที่สุด ควรสอบถามว่า
หากผู้ให้บริการ เกม และเครื่องเล่นเกมรองรับ IPv6 การเชื่อมต่ออาจไม่ต้องพึ่ง NAT แบบ IPv4 ในลักษณะเดิม
หากมี Router สองตัว ให้ปรับอุปกรณ์ตัวรองเป็น Access Point หรือใช้งาน Bridge Mode ตามโครงสร้างที่เหมาะสม
ใช้กับเครื่องเล่นเกมที่ต้องเปิด Port อัตโนมัติ โดยควรอัปเดต Router และเปิดเฉพาะในเครือข่ายที่เชื่อถือได้
ควรกำหนด IP ภายในให้คงที่และเปิดเฉพาะ Port ที่เกมหรือระบบต้องใช้ ไม่ควรเปิดกว้างโดยไม่มีเหตุผล
เกมบางประเภทมีระบบ Relay เพื่อช่วยเชื่อมต่อผู้เล่นหลัง CGNAT แต่ Ping อาจเพิ่มขึ้นตามตำแหน่งของ Relay
อาจช่วยในบางงาน แต่สามารถเพิ่ม Ping ลดความเร็ว และมีค่าใช้จ่าย จึงควรใช้เมื่อเข้าใจข้อจำกัดและเลือกบริการที่น่าเชื่อถือ
IPv6 มีพื้นที่หมายเลขจำนวนมาก ทำให้อุปกรณ์สามารถได้รับที่อยู่เฉพาะโดยไม่ต้องแบ่ง Public IPv4 แบบ CGNAT
IPv6 สามารถช่วยได้เมื่อ
อย่างไรก็ตาม การมี IPv6 ไม่ได้หมายความว่า NAT Type ของทุกเกมจะดีขึ้น เพราะเกมบางรายการยังใช้ IPv4 หรือระบบตรวจสอบ NAT แบบเดิม
ไม่ควรปิด Firewall ของ IPv6 เพื่อแก้การเชื่อมต่อ ควรอนุญาตเฉพาะบริการที่จำเป็นและใช้ค่าความปลอดภัยของ Router ตามปกติ
เป็น Public IP ที่สามารถเปลี่ยนได้เมื่อเชื่อมต่อใหม่ รีสตาร์ตอุปกรณ์ หรือผู้ให้บริการปรับระบบ
เหมาะกับ
เป็น Public IP ที่กำหนดคงที่และไม่เปลี่ยนง่าย มักมีค่าใช้จ่ายเพิ่มเติม
เหมาะกับ
สำหรับการแก้ CGNAT เพื่อเล่นเกม Public IP แบบ Dynamic มักเพียงพอ ไม่จำเป็นต้องใช้ Static IP เสมอไป
การได้รับ Public IP ทำให้ Router สามารถรับการเชื่อมต่อจากอินเทอร์เน็ตได้โดยตรงมากขึ้น จึงควรดูแลความปลอดภัย
ควรทำดังนี้
Public IP ไม่ได้หมายความว่าอุปกรณ์ภายในบ้านจะเปิดสู่ภายนอกทั้งหมดทันที หาก Router และ Firewall ตั้งค่าอย่างเหมาะสม ระบบยังมีการป้องกันตามปกติ
ไม่เสมอ เกมที่ใช้เซิร์ฟเวอร์กลางมักเล่นได้ แต่เกม Peer-to-Peer การสร้างห้อง และ Remote Play อาจมีปัญหา
อาจเพิ่มเล็กน้อยหรือแทบไม่ต่างในระบบที่ดี Ping สูงมักเกี่ยวข้องกับเส้นทาง เซิร์ฟเวอร์ Bufferbloat และสัญญาณภายในบ้านมากกว่า
ไม่ได้ เพราะผู้ใช้ควบคุมได้เฉพาะ Router ภายในบ้าน ไม่สามารถเปิด Port บนระบบ CGNAT ของผู้ให้บริการได้
โดยทั่วไปไม่ได้ เพราะ UPnP ไม่สามารถควบคุม NAT ของผู้ให้บริการ
ไม่รับประกัน ยังต้องตรวจสอบ Double NAT, UPnP, Firewall และการตั้งค่าของเกมด้วย
ขึ้นอยู่กับผู้ให้บริการและแพ็กเกจ บางรายมี Dynamic Public IP ให้เมื่อร้องขอ ขณะที่บางรายคิดค่าใช้จ่ายหรือกำหนดให้ใช้แพ็กเกจเฉพาะ
ไม่จำเป็น Public IP แบบ Dynamic มักเพียงพอสำหรับแก้ปัญหา CGNAT และ NAT Type
ใช้ได้เมื่อทั้งผู้ให้บริการ เกม Router และอุปกรณ์รองรับ แต่บางเกมยังต้องใช้ IPv4
ไม่เสมอ อาจเกิดจาก Double NAT หรือ Router ซ้อนกัน จึงต้องตรวจสอบโครงสร้างเครือข่ายเพิ่มเติม
โดยทั่วไปไม่มีผลชัดเจน เพราะการสตรีมมิงเป็นการเชื่อมต่อที่เริ่มจากอุปกรณ์ภายในบ้านไปยังเซิร์ฟเวอร์
CGNAT คือระบบที่ผู้ให้บริการนำ Public IPv4 หนึ่งหมายเลขมาแบ่งให้ลูกค้าหลายราย ช่วยประหยัดหมายเลข IPv4 แต่ทำให้การรับการเชื่อมต่อจากภายนอกและการทำ Port Forwarding ยากขึ้น
ผลต่อเกมที่พบบ่อยคือ NAT Type Strict, สร้างห้องไม่ได้ เชื่อมต่อกับเพื่อนบางคนไม่ได้ และ Remote Play มีปัญหา แต่ไม่ได้ทำให้ Ping สูงทุกกรณี หากเกมใช้เซิร์ฟเวอร์กลางอาจแทบไม่รู้สึกถึงผลกระทบ
วิธีตรวจสอบคือเปรียบเทียบ WAN IP ใน Router กับ Public IP ที่อินเทอร์เน็ตมองเห็น พร้อมตรวจสอบว่า WAN IP อยู่ในช่วง 100.64.0.0–100.127.255.255 หรือไม่ สำหรับผู้อ่าน comsiam วิธีแก้ที่ตรงจุดที่สุดคือสอบถามผู้ให้บริการเรื่อง Public IPv4 ตรวจสอบ IPv6 และแก้ Double NAT ภายในบ้านก่อนเปิด Port เพิ่มโดยไม่จำเป็น