หน้านี้มีหลักเกณฑ์สำหรับผู้ให้บริการเครือข่ายเพื่อให้มั่นใจว่าแอปเครือข่ายส่วนตัวเสมือน (VPN) สำหรับผู้บริโภคและองค์กรจะมอบประสบการณ์การใช้งานที่ดีแก่ผู้ใช้ปลายทางในเครือข่ายของตน Android มีคลาส
VpnManager
สำหรับนักพัฒนาแอปเพื่อสร้างโซลูชัน VPN ซึ่งผู้บริโภคและ
องค์กรใช้เพื่อเข้ารหัสการสื่อสารหรือกำหนดเส้นทางการสื่อสารไปยังเครือข่ายต่างๆ
เราขอแนะนำให้ผู้ให้บริการเครือข่ายทำตามหลักเกณฑ์ต่อไปนี้
- รองรับแพ็กเก็ตโปรโตคอล IPv6 Encapsulating Security Payload (ESP) (ส่วนหัวถัดไป 50) ในเครือข่าย เพื่อให้การรับส่งข้อมูลนี้มีประสิทธิภาพเทียบเท่ากับการเชื่อมต่อ User Datagram Protocol (UDP) หรือ Transmission Control Protocol (TCP) ควรอนุญาตให้เซสชัน ESP ขาเข้าไปยังอุปกรณ์ หรือตั้งค่าการหมดเวลาให้สูงมาก และส่งต่อที่อัตราสาย
- ตั้งค่าการแปลที่อยู่เครือข่าย (NAT) และการหมดเวลาของไฟร์วอลล์แบบ Stateful อย่างน้อย 600 วินาทีสำหรับการเชื่อมต่อ UDP บนพอร์ต 4500 เพื่อให้มั่นใจว่า โซลูชัน VPN จะรักษาการเชื่อมต่อที่เชื่อถือได้โดยไม่เสียค่าใช้จ่ายด้านพลังงานมากเกินไป
รองรับแพ็กเก็ตโปรโตคอล ESP ของ IPv6 (ส่วนหัวถัดไป 50)
Encapsulating Security Payload (ESP) คือรูปแบบแพ็กเก็ตที่กำหนดไว้เป็นส่วนหนึ่งของชุดโปรโตคอล Internet Protocol Security (IPSec) เพื่อเข้ารหัสและตรวจสอบสิทธิ์ แพ็กเก็ตในโซลูชัน VPN ระบบปฏิบัติการ Android ใช้โปรโตคอลความปลอดภัยมาตรฐานนี้ ในโซลูชัน VPN ในตัว
ในเครือข่ายที่รองรับ IPv6 ระบบจะส่งแพ็กเก็ต ESP ในแพ็กเก็ต IPv6 โดยตรงโดยมี ฟิลด์ส่วนหัวถัดไปเป็น 50 หากเครือข่ายไม่รองรับแพ็กเก็ตประเภทนี้อย่างถูกต้อง อาจทำให้โซลูชัน VPN ที่ต้องการใช้โปรโตคอลนี้โดยไม่มีการห่อหุ้มแพ็กเก็ตเพิ่มเติมขาดการเชื่อมต่อ เครือข่ายอาจ ทิ้งแพ็กเกตเหล่านี้เนื่องจากการกำหนดค่าไฟร์วอลล์ หรือแพ็กเก็ต ESP อาจ ไปถึงเส้นทางที่ช้าในเครือข่าย ซึ่งทำให้ประสิทธิภาพการรับส่งข้อมูลลดลงอย่างมาก เมื่อเทียบกับการเชื่อมต่อ TCP หรือ UDP
คณะทำงานเฉพาะกิจด้านวิศวกรรมอินเทอร์เน็ต (IETF) ขอแนะนำให้อนุญาต IPsec ผ่านไฟร์วอลล์ที่ใช้โดยบริการอินเทอร์เน็ตสำหรับผู้บริโภค เช่น ดู RFC 6092 ส่วนที่ 3.2.4 คุณอนุญาตให้แพ็กเก็ต ESP ผ่านไฟร์วอลล์ได้อย่างปลอดภัยทั้ง 2 ทิศทาง เนื่องจาก หากอุปกรณ์ได้รับแพ็กเก็ต ESP ที่ไม่ได้เป็นส่วนหนึ่งของการเชื่อมโยงความปลอดภัยที่มีอยู่ อุปกรณ์จะทิ้งแพ็กเก็ตนั้น ด้วยเหตุนี้ อุปกรณ์จึงไม่จำเป็นต้องส่งแพ็กเก็ต Keepalive เพื่อรักษาการเชื่อมต่อ VPN ซึ่งจะช่วยประหยัดแบตเตอรี่ เราขอแนะนำให้เครือข่ายอนุญาตให้แพ็กเกต ESP ไปยังอุปกรณ์ได้ตลอดเวลา หรือหมดเวลาเซสชัน ESP หลังจากไม่มีการใช้งานเป็นเวลานาน (เช่น 30 นาที)
เราขอแนะนำให้ผู้ให้บริการเครือข่ายรองรับแพ็กเก็ตโปรโตคอล ESP (แพ็กเก็ต IPv6 ที่มี ส่วนหัวถัดไปเป็น 50) ในเครือข่ายของตน และส่งต่อแพ็กเก็ตเหล่านั้นในฮาร์ดแวร์ที่ อัตราสาย ซึ่งจะช่วยให้โซลูชัน VPN ไม่พบปัญหาการเชื่อมต่อและ มอบประสิทธิภาพที่เทียบเท่ากับการเชื่อมต่อ UDP หรือ TCP
ตั้งค่าการหมดเวลาของ NAT และไฟร์วอลล์แบบ Stateful ให้เพียงพอ
โซลูชัน VPN ต้องรักษาการเชื่อมต่อระยะยาวกับเซิร์ฟเวอร์ VPN ที่ให้การเชื่อมต่อขาออกและขาเข้า (เช่น เพื่อรับการแจ้งเตือนแบบพุชขาเข้า ข้อความแชท และการโทรด้วยเสียงหรือวิดีโอ) เพื่อรักษาความน่าเชื่อถือของการเชื่อมต่อ แอป VPN IPsec ส่วนใหญ่ใช้ ESP ที่ห่อหุ้มใน แพ็กเก็ต UDP ของ IPv4 ที่มีพอร์ตปลายทาง 4500 ดังที่อธิบายไว้ใน RFC 3948
อุปกรณ์ต้องส่งแพ็กเก็ตไปยังเซิร์ฟเวอร์เป็นระยะๆ เพื่อรักษาการเชื่อมต่อนี้ไว้ ต้องส่งแพ็กเก็ตเหล่านี้ด้วยความถี่ที่สูงกว่าการหมดเวลาของ NAT และไฟร์วอลล์ที่ผู้ให้บริการเครือข่ายกำหนด การส่ง Keepalive บ่อยๆ จะใช้พลังงานมากในฝั่งไคลเอ็นต์ และส่งผลอย่างมากต่อระยะเวลาการใช้งานแบตเตอรี่ นอกจากนี้ยัง สร้างการเข้าชมการส่งสัญญาณจำนวนมากในเครือข่าย แม้ว่าอุปกรณ์จะ ไม่ได้ใช้งานก็ตาม
เราขอแนะนำให้ผู้ให้บริการเพิ่มการหมดเวลาของ NAT และไฟร์วอลล์แบบ Stateful ให้สูงเพียงพอ เพื่อหลีกเลี่ยงผลกระทบต่อแบตเตอรี่ ระยะหมดเวลาที่แนะนำสำหรับการห่อหุ้ม UDP ของ IPsec (พอร์ต 4500) คือ 600 วินาทีขึ้นไป
ในเครือข่ายมือถือ มักจะตั้งค่าการหมดเวลา NAT ของ UDP ให้ต่ำเนื่องจากความขาดแคลนที่อยู่ IPv4 ทำให้ต้องใช้พอร์ตซ้ำในอัตราสูง อย่างไรก็ตาม เมื่อสร้าง VPN แล้ว เครือข่ายอุปกรณ์ไม่จำเป็นต้องรองรับการเชื่อมต่อ TCP ที่มีอายุยาวนาน เช่น การเชื่อมต่อที่ใช้ในการส่งการแจ้งเตือนขาเข้า ดังนั้นจำนวนการเชื่อมต่อที่ใช้งานได้นาน ซึ่งเครือข่ายต้องรองรับจะเท่ากันหรือน้อยลงเมื่อใช้ VPN เทียบกับเมื่อไม่ได้ใช้ VPN