อ่าน 5 นาที
โปรโตคอลการสร้างอุโมงค์เลเยอร์ 2
ใน เครือข่ายคอมพิวเตอร์ โปรโตคอล Layer 2 Tunneling Protocol ( L2TP ) เป็น โปรโตคอลการสร้างอุโมงค์ ที่ใช้เพื่อรองรับ เครือข่ายส่วนตัวเสมือน (VPN)...
โปรโตคอลการสร้างอุโมงค์เลเยอร์ 2
ในเครือข่ายคอมพิวเตอร์โปรโตคอลLayer 2 Tunneling Protocol ( L2TP ) เป็นโปรโตคอลการสร้างอุโมงค์ที่ใช้เพื่อรองรับเครือข่ายส่วนตัวเสมือน (VPN) หรือเป็นส่วนหนึ่งของการให้บริการโดย ISP โดยใช้การเข้ารหัส ('การซ่อน') เฉพาะข้อความควบคุมของตัวเองเท่านั้น (โดยใช้รหัสลับที่แชร์ล่วงหน้าซึ่งเป็นทางเลือก) และไม่ได้ให้การเข้ารหัสหรือการรักษาความลับ ของเนื้อหาใดๆ ด้วยตัวเอง แต่จะให้อุโมงค์สำหรับเลเยอร์ 2 (ซึ่งอาจมีการเข้ารหัส) และอุโมงค์นั้นเองอาจส่งผ่าน โปรโตคอลการเข้ารหัสเลเยอร์ 3 เช่นIPsec [ 1 ]
| ชุดโปรโตคอลอินเทอร์เน็ต |
|---|
| ชั้นแอปพลิเคชัน |
| ชั้นการขนส่ง |
| ชั้นอินเทอร์เน็ต |
| เลเยอร์เชื่อมโยง |
ประวัติศาสตร์
L2TP ได้รับการเผยแพร่ในเดือนสิงหาคม พ.ศ. 2542 ในรูปแบบมาตรฐานที่เสนอ RFC 2661 โดยมีต้นกำเนิดหลักมาจากโปรโตคอลการสร้างอุโมงค์แบบเก่าสองโปรโตคอลสำหรับการสื่อสารแบบจุดต่อจุด ได้แก่Layer 2 Forwarding Protocol (L2F) ของCisco และ Point-to-Point Tunneling Protocol (PPTP) ของMicrosoft [ 2 ]โปรโตคอลเวอร์ชันใหม่นี้L2TPv3ปรากฏเป็นมาตรฐานที่เสนอ RFC 3931 ในปี พ.ศ. 2548 L2TPv3 มีคุณสมบัติด้านความปลอดภัยเพิ่มเติม การห่อหุ้มที่ดีขึ้น และความสามารถในการส่งลิงก์ข้อมูลอื่นนอกเหนือจากPoint-to-Point Protocol (PPP) ผ่านเครือข่าย IP (ตัวอย่างเช่นFrame Relay , Ethernet , ATMเป็นต้น)
คำอธิบาย
แพ็กเก็ต L2TP ทั้งหมด รวมทั้งเพย์โหลดและส่วนหัว L2TP จะถูกส่งภายใน ดาตาแกรม User Datagram Protocol (UDP) ข้อดีของการส่งผ่าน UDP (แทนที่จะเป็น TCP) คือช่วยหลีกเลี่ยงปัญหา TCP meltdown [ 3 ] [ 4 ] เป็นเรื่องปกติที่จะส่งเซสชัน PPP ภายในอุโมงค์ L2TP L2TP ไม่ได้ให้การรักษาความลับหรือการตรวจสอบความถูกต้องที่แข็งแกร่งด้วยตัวมันเองIPsecมักใช้เพื่อรักษาความปลอดภัยของแพ็กเก็ต L2TP โดยให้การรักษาความลับ การตรวจสอบความถูกต้อง และความสมบูรณ์ การรวมกันของสองโปรโตคอลนี้โดยทั่วไปเรียกว่า L2TP/IPsec (กล่าวถึงด้านล่าง)
ปลายทั้งสองด้านของอุโมงค์ L2TP เรียกว่าตัวรวมการเข้าถึง L2TP (LAC) และเซิร์ฟเวอร์เครือข่าย L2TP (LNS) LNS จะรอรับอุโมงค์ใหม่ เมื่อสร้างอุโมงค์แล้ว การรับส่งข้อมูลเครือข่ายระหว่างคู่ขนานจะเป็นแบบสองทิศทาง เพื่อให้มีประโยชน์สำหรับการใช้งานเครือข่าย โปรโตคอลระดับสูงจะถูกส่งผ่านอุโมงค์ L2TP เพื่ออำนวยความสะดวกในเรื่องนี้ จะมีการสร้าง เซสชัน L2TP ภายในอุโมงค์สำหรับแต่ละโปรโตคอลระดับสูง เช่น PPP ทั้ง LAC หรือ LNS สามารถเริ่มต้นเซสชันได้ การรับส่งข้อมูลสำหรับแต่ละเซสชันจะถูกแยกออกจากกันโดย L2TP ดังนั้นจึงสามารถตั้งค่าเครือข่ายเสมือนหลายเครือข่ายผ่านอุโมงค์เดียวได้
แพ็กเก็ตที่แลกเปลี่ยนภายในอุโมงค์ L2TP จะถูกแบ่งออกเป็นแพ็กเก็ตควบคุมหรือแพ็กเก็ตข้อมูล L2TP มีคุณสมบัติความน่าเชื่อถือสำหรับแพ็กเก็ตควบคุม แต่ไม่มีความน่าเชื่อถือสำหรับแพ็กเก็ตข้อมูล หากต้องการความน่าเชื่อถือ จะต้องจัดหาโดยโปรโตคอลย่อยที่ทำงานอยู่ภายในแต่ละเซสชันของอุโมงค์ L2TP
L2TP อนุญาตให้สร้างเครือข่ายการโทรเข้าส่วนตัวเสมือน (VPDN) [ 5 ]เพื่อเชื่อมต่อไคลเอนต์ระยะไกลกับเครือข่ายองค์กรโดยใช้โครงสร้างพื้นฐานร่วมกัน ซึ่งอาจเป็นอินเทอร์เน็ตหรือเครือข่ายของผู้ให้บริการ
แบบจำลองอุโมงค์
อุโมงค์ L2TP สามารถขยายครอบคลุมเซสชัน PPP ทั้งหมด หรือครอบคลุมเพียงส่วนใดส่วนหนึ่งของเซสชันสองส่วนก็ได้ ซึ่งสามารถแสดงได้ด้วยโมเดลการสร้างอุโมงค์สี่แบบที่แตกต่างกัน ได้แก่:
- อุโมงค์สมัครใจ
- อุโมงค์บังคับ — สายเรียกเข้า
- อุโมงค์บังคับ — การโทรระยะไกล
- การเชื่อมต่อมัลติฮอป L2TP [ 6 ]
โครงสร้างแพ็กเก็ต L2TP
แพ็กเก็ต L2TP ประกอบด้วย:
| บิต 0–15 | บิตที่ 16–31 |
|---|---|
| ข้อมูลเกี่ยวกับธงและเวอร์ชัน | ความยาว (ไม่บังคับ) |
| รหัสอุโมงค์ | รหัสเซสชัน |
| Ns (ตัวเลือก) | หมายเลข (ตัวเลือก) |
| ขนาดออฟเซ็ต (ตัวเลือก) | แผ่นรองเยื้องศูนย์ (ตัวเลือกเสริม)...... |
| ข้อมูลเพย์โหลด | |
ความหมายของฟิลด์:
- ธงและเวอร์ชัน
- แฟล็กควบคุมที่ระบุแพ็กเก็ตข้อมูล/ควบคุม และการมีอยู่ของฟิลด์ความยาว ลำดับ และออฟเซ็ต
- ความยาว (ไม่บังคับ)
- ความยาวทั้งหมดของข้อความในหน่วยไบต์ ซึ่งจะแสดงเฉพาะเมื่อมีการตั้งค่าแฟล็กความยาวเท่านั้น
- รหัสอุโมงค์
- ระบุตัวระบุสำหรับการเชื่อมต่อควบคุม
- รหัสเซสชัน
- ระบุตัวกำหนดสำหรับเซสชันภายในอุโมงค์
- Ns (ไม่จำเป็น)
- หมายเลขลำดับสำหรับข้อมูลหรือข้อความควบคุมนี้ เริ่มต้นที่ศูนย์และเพิ่มขึ้นทีละหนึ่ง (โมดูลัส2¹⁶ ) สำหรับแต่ละข้อความที่ส่ง จะปรากฏเฉพาะเมื่อตั้งค่าแฟล็กของลำดับเท่านั้น
- หมายเลข (ไม่บังคับ)
- หมายเลขลำดับสำหรับข้อความที่คาดว่าจะได้รับ Nr ถูกกำหนดให้เป็นค่า N ของข้อความที่ได้รับล่าสุดตามลำดับ บวกหนึ่ง (โมดูลัส 2 16 ) ในข้อความข้อมูล Nr จะถูกสงวนไว้ และหากมีอยู่ (ตามที่ระบุโดยบิต S) จะต้องถูกละเลยเมื่อได้รับข้อความ
- ขนาดออฟเซ็ต (ไม่บังคับ)
- ระบุตำแหน่งที่ข้อมูลเพย์โหลดอยู่ถัดจากส่วนหัว L2TP หากมีฟิลด์ออฟเซ็ต ส่วนหัว L2TP จะสิ้นสุดหลังจากไบต์สุดท้ายของส่วนเติมออฟเซ็ต ฟิลด์นี้จะมีอยู่หากมีการตั้งค่าแฟล็กออฟเซ็ต
- แผ่นรองเยื้องศูนย์ (อุปกรณ์เสริม)
- ความยาวแปรผันตามขนาดออฟเซ็ตที่กำหนด เนื้อหาในช่องนี้ไม่ถูกกำหนดไว้
- ข้อมูลเพย์โหลด
- ความยาวแปรผันได้ (ขนาดเพย์โหลดสูงสุด = ขนาดสูงสุดของแพ็กเก็ต UDP − ขนาดของส่วนหัว L2TP)
การแลกเปลี่ยนแพ็กเก็ต L2TP
ในขั้นตอนการตั้งค่าการเชื่อมต่อ L2TP จะมีการแลกเปลี่ยนแพ็กเก็ตควบคุมจำนวนมากระหว่างเซิร์ฟเวอร์และไคลเอ็นต์เพื่อสร้างอุโมงค์และเซสชันสำหรับแต่ละทิศทาง ฝั่งหนึ่งจะร้องขอให้ฝั่งตรงข้ามกำหนดรหัสอุโมงค์และรหัสเซสชันเฉพาะผ่านแพ็กเก็ตควบคุมเหล่านี้ จากนั้นจะใช้รหัสอุโมงค์และรหัสเซสชันนี้ในการแลกเปลี่ยนแพ็กเก็ตข้อมูลโดยใช้เฟรม PPP ที่บีบอัดเป็นเพย์โหลด
รายการข้อความควบคุม L2TP ที่แลกเปลี่ยนระหว่าง LAC และ LNS สำหรับการจับมือกันก่อนการสร้างอุโมงค์และเซสชันในวิธีการสร้างอุโมงค์แบบสมัครใจ มีดังนี้
L2TP/IPsec
เนื่องจาก L2TP ขาดคุณสมบัติการรักษาความลับโดยธรรมชาติ จึงมักถูกนำไปใช้ร่วมกับIPsecซึ่งเรียกว่า L2TP/IPsec และได้รับการกำหนดมาตรฐานไว้ในIETF RFC 3193 ขั้นตอนการตั้งค่า VPN แบบ L2TP/IPsec มีดังนี้:
- การเจรจาเพื่อ สร้างความสัมพันธ์ด้านความปลอดภัย (SA) ของ IPsec โดยทั่วไปจะทำผ่าน การแลกเปลี่ยนคีย์อินเทอร์เน็ต (IKE) ซึ่งดำเนินการผ่านพอร์ต UDP 500 และโดยทั่วไปจะใช้รหัสผ่านร่วมกัน (ที่เรียกว่า " คีย์ที่ใช้ร่วมกันล่วงหน้า ") คีย์สาธารณะ หรือ ใบรับรอง X.509ทั้งสองฝั่ง แม้ว่าจะมีวิธีการสร้างคีย์อื่นๆ อีกด้วย
- การสร้างการสื่อสารด้วยEncapsulating Security Payload (ESP) ในโหมดการขนส่ง หมายเลขโปรโตคอล IP สำหรับ ESP คือ 50 (เทียบกับ TCP 6 และ UDP 17) ณ จุดนี้ ช่องทางที่ปลอดภัยได้ถูกสร้างขึ้นแล้ว แต่ยังไม่มีการสร้างอุโมงค์เกิดขึ้น
- การเจรจาและการสร้างอุโมงค์ L2TP ระหว่างปลายทาง SA การเจรจาพารามิเตอร์จริงเกิดขึ้นผ่านช่องทางที่ปลอดภัยของ SA ภายใต้การเข้ารหัส IPsec โดย L2TP ใช้พอร์ต UDP 1701
เมื่อกระบวนการเสร็จสมบูรณ์ แพ็กเก็ต L2TP ระหว่างปลายทางจะถูกห่อหุ้มด้วย IPsec เนื่องจากตัวแพ็กเก็ต L2TP เองถูกห่อหุ้มและซ่อนอยู่ภายในแพ็กเก็ต IPsec ที่อยู่ IP ต้นทางและปลายทางดั้งเดิมจึงถูกเข้ารหัสไว้ภายในแพ็กเก็ต นอกจากนี้ ไม่จำเป็นต้องเปิดพอร์ต UDP 1701 บนไฟร์วอลล์ระหว่างปลายทาง เนื่องจากแพ็กเก็ตภายในจะไม่ถูกประมวลผลจนกว่าข้อมูล IPsec จะถูกถอดรหัสและแยกออก ซึ่งจะเกิดขึ้นเฉพาะที่ปลายทางเท่านั้น
จุดที่อาจก่อให้เกิดความสับสนใน L2TP/IPsec คือการใช้คำว่า"อุโมงค์"และ"ช่องทางที่ปลอดภัย " คำว่า " โหมดอุโมงค์"หมายถึงช่องทางที่อนุญาตให้แพ็กเก็ตที่ไม่เปลี่ยนแปลงจากเครือข่ายหนึ่งถูกส่งผ่านไปยังอีกเครือข่ายหนึ่งได้ ในกรณีของ L2TP/PPP มันอนุญาตให้แพ็กเก็ต L2TP/PPP ถูกส่งผ่าน IP ส่วน " ช่องทางที่ปลอดภัย"หมายถึงการเชื่อมต่อที่รับประกันความลับของข้อมูลทั้งหมด ใน L2TP/IPsec นั้น IPsec จะให้ช่องทางที่ปลอดภัยก่อน จากนั้น L2TP จะให้อุโมงค์ IPsec ยังระบุโปรโตคอลอุโมงค์ไว้ด้วย ซึ่งจะไม่ใช้เมื่อใช้อุโมงค์ L2TP
การใช้งาน Windows
Windows มีการรองรับ L2TP ในตัว (สามารถกำหนดค่าได้ในแผงควบคุม) มาตั้งแต่Windows 2000แล้วWindows Vistaเพิ่มเครื่องมือทางเลือก 2 อย่าง คือsnap-in MMCที่เรียกว่า "Windows Firewall with Advanced Security" (WFwAS) และเครื่องมือบรรทัดคำสั่ง " netsh advfirewall" ข้อจำกัดอย่างหนึ่งของคำสั่ง WFwAS และ netsh คือต้องระบุเซิร์ฟเวอร์ด้วยที่อยู่ IP Windows 10 เพิ่มคำสั่ง PowerShell " Add-VpnConnection " และ " Set-VpnConnectionIPsecConfiguration " ต้องสร้างคีย์รีจิสทรีบนไคลเอ็นต์และเซิร์ฟเวอร์หากเซิร์ฟเวอร์อยู่หลังอุปกรณ์ NAT-T [1]
L2TP ในเครือข่ายของผู้ให้บริการอินเทอร์เน็ต
L2TP มักถูกใช้โดยผู้ให้บริการอินเทอร์เน็ต (ISP) เมื่อมี การขายต่อบริการอินเทอร์เน็ต เช่นADSLหรือเคเบิลจากผู้ใช้ปลายทาง แพ็กเก็ตจะเดินทางผ่านเครือข่ายของผู้ให้บริการเครือข่ายขายส่งไปยังเซิร์ฟเวอร์ที่เรียกว่า Broadband Remote Access Server ( BRAS ) ซึ่งเป็นตัวแปลงโปรโตคอลและเราเตอร์รวมกัน ในเครือข่ายแบบเก่า เส้นทางจากอุปกรณ์ของลูกค้าผู้ใช้ปลายทางไปยัง BRAS อาจผ่าน เครือข่าย ATMจากนั้น ผ่านเครือข่าย IP อุโมงค์ L2TP จะวิ่งจาก BRAS (ทำหน้าที่เป็น LAC) ไปยัง LNS ซึ่งเป็นเราเตอร์ขอบที่ขอบเขตของเครือข่าย IP ของผู้ให้บริการอินเทอร์เน็ตปลายทาง[ a ]
การอ้างอิง RFC
- RFC 2341 Cisco Layer Two Forwarding (Protocol) "L2F" (รุ่นก่อนหน้า L2TP)
- RFC 2637 โปรโตคอลการสร้างอุโมงค์แบบจุดต่อจุด (PPTP)
- RFC 2661 โปรโตคอลการสร้างอุโมงค์ชั้นสอง "L2TP"
- RFC 2809 การใช้งาน L2TP Compulsory Tunneling ผ่าน RADIUS
- RFC 2888 การเข้าถึงระยะไกลที่ปลอดภัยด้วย L2TP
- RFC 3070 โปรโตคอล Layer Two Tunneling (L2TP) บน Frame Relay
- ข้อมูลสาเหตุการตัดการเชื่อมต่อ L2TPตาม RFC 3145
- RFC 3193 การรักษาความปลอดภัย L2TP โดยใช้IPsec
- RFC 3301 โปรโตคอลการสร้างอุโมงค์ชั้นสอง (L2TP): เครือข่ายการเข้าถึง ATM
- RFC 3308 โปรโตคอลการสร้างอุโมงค์ชั้นสอง (L2TP) บริการที่แตกต่างกัน
- RFC 3355 โปรโตคอลการสร้างอุโมงค์เลเยอร์สอง (L2TP) ผ่านเลเยอร์การปรับตัวของ ATM เลเยอร์ 5 (AAL5)
- ฐานข้อมูลการจัดการโปรโตคอลการสร้างอุโมงค์ชั้นสอง "L2TP"ตาม RFC 3371
- RFC 3437 ส่วนขยายโปรโตคอลการสร้างอุโมงค์เลเยอร์สองสำหรับการเจรจาโปรโตคอลควบคุมลิงก์ PPP
- RFC 3438 โปรโตคอลการสร้างอุโมงค์เลเยอร์สอง (L2TP) หมายเลขที่กำหนดโดยอินเทอร์เน็ต: ข้อพิจารณาของหน่วยงานที่กำหนดหมายเลขโดยอินเทอร์เน็ต (IANA) ฉบับปรับปรุง
- RFC 3573 การส่งสัญญาณสถานะ Modem-On-Hold ใน Layer 2 Tunneling Protocol (L2TP)
- RFC 3817 โปรโตคอลการสร้างอุโมงค์เลเยอร์ 2 (L2TP) รีเลย์ค้นหาแบบแอคทีฟสำหรับ PPP ผ่านอีเธอร์เน็ต (PPPoE)
- RFC 3931 โปรโตคอลการสร้างอุโมงค์เลเยอร์สอง - เวอร์ชัน 3 ( L2TPv3 )
- RFC 4045 ส่วนขยายเพื่อรองรับการส่งข้อมูลมัลติแคสต์อย่างมีประสิทธิภาพในโปรโตคอลการสร้างอุโมงค์เลเยอร์ 2 (L2TP)
- RFC 4951 ส่วนขยายการทำงานเมื่อเกิดข้อผิดพลาดสำหรับโปรโตคอล Layer 2 Tunneling (L2TP) "failover"
ดูเพิ่มเติม
- ไอพีเซค
- โปรโตคอลการส่งต่อเลเยอร์ 2
- โปรโตคอลการสร้างอุโมงค์แบบจุดต่อจุด
- โปรโตคอลแบบจุดต่อจุด
- เครือข่าย LAN เสมือนที่ขยายได้
ลิงก์ภายนอก
การนำไปใช้
- Cisco: เอกสารประกอบ Cisco L2TPและอ่านบทสรุปเทคโนโลยีจาก Cisco เพิ่มเติม
- โอเพนซอร์สและลินุกซ์: xl2tpd เก็บถาวรเมื่อ 2010-09-23 ที่Wayback Machine , Linux RP-L2TP , OpenL2TP , l2tpns , l2tpd (ไม่ทำงาน), เซิร์ฟเวอร์ Linux L2TP/IPsec เก็บถาวรเมื่อ 2012-07-16 ที่Wayback Machine , FreeBSD multi-link PPP daemon , OpenBSD npppd(8) , ACCEL-PPP - เซิร์ฟเวอร์ PPTP/L2TP/PPPoE สำหรับลินุกซ์
- ไมโครซอฟต์: มีไคลเอ็นต์ในตัวที่มาพร้อมกับ Windows 2000 และเวอร์ชันที่สูงกว่า; ไคลเอ็นต์ VPN L2TP/IPsec ของ Microsoftสำหรับ Windows 98/Windows Me/Windows NT 4.0
- Apple: มีโปรแกรมไคลเอ็นต์ในตัวที่มาพร้อมกับ Mac OS X 10.3 และเวอร์ชันที่สูงกว่า
- VPDN บน Cisco.com
อื่น
- IANA ได้กำหนดหมายเลขสำหรับ L2TP แล้ว
- กลุ่มทำงานส่วนขยาย L2TP (l2tpext) - (ซึ่งเป็นที่ประสานงานการทำงานด้านมาตรฐานในอนาคต)
- การใช้งาน Linux เป็นไคลเอ็นต์ VPN แบบ L2TP/IPsec
- L2TP/IPSec กับ OpenBSD และ npppd
- การเปรียบเทียบ L2TP, PPTP และ OpenVPN
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ โปรโตคอลการสร้างอุโมงค์เลเยอร์ 2
ใน เครือข่ายคอมพิวเตอร์ โปรโตคอล Layer 2 Tunneling Protocol ( L2TP ) เป็น โปรโตคอลการสร้างอุโมงค์ ที่ใช้เพื่อรองรับ เครือข่ายส่วนตัวเสมือน (VPN)...
ประวัติศาสตร์
L2TP ได้รับการเผยแพร่ในเดือนสิงหาคม พ.ศ. 2542 ในรูปแบบมาตรฐานที่เสนอ RFC 2661 โดยมีต้นกำเนิดหลักมาจากโปรโตคอลการสร้างอุโมงค์แบบเก่าสองโปรโตคอลสำหรับการสื่อสารแบบจุดต่อจุด ได้แก่ Layer 2 Forwarding Protocol (L2F) ของ Cisco และ Point-to-Point Tunneling Protocol...
คำอธิบาย
แพ็กเก็ต L2TP ทั้งหมด รวมทั้งเพย์โหลดและส่วนหัว L2TP จะถูกส่งภายใน ดาตาแกรม User Datagram Protocol (UDP) ข้อดีของการส่งผ่าน UDP (แทนที่จะเป็น TCP) คือช่วยหลีกเลี่ยง ปัญหา TCP meltdown [ 3 ] [ 4 ] เป็น เรื่องปกติที่จะส่งเซสชัน PPP ภายในอุโมงค์ L2TP L2TP...
แบบจำลองอุโมงค์
อุโมงค์ L2TP สามารถขยายครอบคลุมเซสชัน PPP ทั้งหมด หรือครอบคลุมเพียงส่วนใดส่วนหนึ่งของเซสชันสองส่วนก็ได้ ซึ่งสามารถแสดงได้ด้วยโมเดลการสร้างอุโมงค์สี่แบบที่แตกต่างกัน ได้แก่: