ปรับปรุงประสบการณ์ของผู้ใช้ VPN

หน้านี้มีหลักเกณฑ์สำหรับผู้ให้บริการเครือข่ายเพื่อให้แน่ใจว่าแอปเครือข่ายส่วนตัวเสมือน (VPN) สำหรับผู้บริโภคและองค์กรจะมอบประสบการณ์การใช้งานที่ดีแก่ผู้ใช้ปลายทางในเครือข่าย Android มีคลาส VpnManager ให้นักพัฒนาแอปสร้างโซลูชัน VPN ซึ่งผู้บริโภคและ องค์กรใช้เพื่อเข้ารหัสการสื่อสารหรือกำหนดเส้นทางการสื่อสารไปยังเครือข่ายอื่น

เราขอแนะนำให้ผู้ให้บริการเครือข่ายทำตามหลักเกณฑ์ต่อไปนี้

  • รองรับแพ็กเกตโปรโตคอล IPv6 Encapsulating Security Payload (ESP) (ส่วนหัวถัดไป 50) ในเครือข่าย เพื่อให้แน่ใจว่าการเข้าชมนี้มีประสิทธิภาพเทียบเท่ากับการเชื่อมต่อ User Datagram Protocol (UDP) หรือ Transmission Control Protocol (TCP) ควรอนุญาตให้เซสชัน ESP ขาเข้ามายังอุปกรณ์ หรือตั้งค่าการหมดเวลาให้สูงมาก และส่งต่อด้วยความเร็วสาย
  • ตั้งค่าการหมดเวลาของการเปลี่ยนค่าที่อยู่เครือข่าย (NAT) และไฟร์วอลล์แบบเก็บสถานะ เป็นอย่างน้อย 600 วินาทีสำหรับการเชื่อมต่อ UDP ในพอร์ต 4500 เพื่อให้โซลูชัน VPN รักษาการเชื่อมต่อที่เชื่อถือได้โดยไม่เสียค่าพลังงานมากเกินไป

รองรับแพ็กเกตโปรโตคอล IPv6 ESP (ส่วนหัวถัดไป 50)

Encapsulating Security Payload (ESP) คือรูปแบบแพ็กเกตที่กำหนดไว้เป็นส่วนหนึ่งของชุดโปรโตคอล Internet Protocol Security (IPSec) เพื่อเข้ารหัสและตรวจสอบสิทธิ์แพ็กเกตในโซลูชัน VPN ระบบปฏิบัติการ Android ใช้โปรโตคอลความปลอดภัยมาตรฐานนี้ในโซลูชัน VPN ในตัว

ในเครือข่ายที่รองรับ IPv6 ระบบจะส่งแพ็กเกต ESP ในแพ็กเกต IPv6 โดยตรงโดยมีช่องส่วนหัวถัดไปเป็น 50 หากเครือข่ายไม่รองรับแพ็กเกตประเภทนี้อย่างเหมาะสม อาจทำให้โซลูชัน VPN ที่ต้องการใช้โปรโตคอลนี้โดยไม่มีการห่อหุ้มแพ็กเกตเพิ่มเติมขาดการเชื่อมต่อ เครือข่ายอาจทิ้งแพ็กเกตเหล่านี้เนื่องจากการกำหนดค่าไฟร์วอลล์ หรือแพ็กเกต ESP อาจเข้าสู่เส้นทางที่ช้าในเครือข่าย ซึ่งทำให้ประสิทธิภาพการรับส่งข้อมูลลดลงอย่างมากเมื่อเทียบกับการเชื่อมต่อ TCP หรือ UDP

Internet Engineering Task Force (IETF) ขอแนะนำให้อนุญาต IPsec ผ่านไฟร์วอลล์ที่บริการอินเทอร์เน็ตสำหรับผู้บริโภคใช้ เช่น ดู RFC 6092 ส่วนที่ 3.2.4 คุณอนุญาตให้แพ็กเกต ESP ผ่านไฟร์วอลล์ได้อย่างปลอดภัยทั้ง 2 ทิศทาง เนื่องจากหากอุปกรณ์ได้รับแพ็กเกต ESP ที่ไม่ได้เป็นส่วนหนึ่งของการเชื่อมโยงความปลอดภัยที่มีอยู่ อุปกรณ์จะทิ้งแพ็กเกตนั้น ด้วยเหตุนี้ อุปกรณ์จึงไม่จำเป็นต้องส่งแพ็กเกต Keepalive เพื่อรักษาการเชื่อมต่อ VPN ซึ่งช่วยประหยัดแบตเตอรี่ เราขอแนะนำให้เครือข่ายอนุญาตให้แพ็กเกต ESP เข้าสู่อุปกรณ์ได้ตลอดเวลา หรือหมดเวลาเซสชัน ESP หลังจากไม่มีการใช้งานเป็นเวลานาน (เช่น 30 นาที)

เราขอแนะนำให้ผู้ให้บริการเครือข่ายรองรับแพ็กเกตโปรโตคอล ESP (แพ็กเกต IPv6 ที่มีส่วนหัวถัดไปเป็น 50) ในเครือข่าย และส่งต่อแพ็กเกตเหล่านั้นในฮาร์ดแวร์ด้วยความเร็วสาย ซึ่งจะช่วยให้โซลูชัน VPN ไม่พบปัญหาการเชื่อมต่อและมีประสิทธิภาพเทียบเท่ากับการเชื่อมต่อ UDP หรือ TCP

ตั้งค่าการหมดเวลาของ NAT และไฟร์วอลล์แบบเก็บสถานะให้เพียงพอ

โซลูชัน VPN ต้องรักษาการเชื่อมต่อกับเซิร์ฟเวอร์ VPN ที่มีอายุการใช้งานยาวนาน ซึ่งให้การเชื่อมต่อขาออกและขาเข้า (เช่น เพื่อรับการแจ้งเตือนแบบพุช ข้อความแชท และการโทรด้วยเสียงหรือวิดีโอ) เพื่อรักษาความน่าเชื่อถือของการเชื่อมต่อ แอป IPsec VPN ส่วนใหญ่ใช้ ESP ที่ห่อหุ้มไว้ใน แพ็กเกต IPv4 UDP ที่มีพอร์ตปลายทางเป็น 4500 ตามที่อธิบายไว้ใน RFC 3948

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

เราขอแนะนำให้ผู้ให้บริการเพิ่มการหมดเวลาของ NAT และไฟร์วอลล์แบบเก็บสถานะให้สูงพอที่จะไม่ส่งผลกระทบต่อแบตเตอรี่ การหมดเวลาที่แนะนำสำหรับการห่อหุ้ม IPsec UDP (พอร์ต 4500) คือ 600 วินาทีขึ้นไป

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