介紹
VPDN全稱是Virtual Private Dial-up Network。中文意思:虛擬專用撥號(hào)網(wǎng)絡(luò)。允許專用網(wǎng)絡(luò)撥入服務(wù)跨越遠(yuǎn)程訪問服務(wù)器(定義為L(zhǎng)2TP訪問集中器[LAC])。
當(dāng)點(diǎn)對(duì)點(diǎn)協(xié)議(PPP)客戶端撥入LAC時(shí),LAC確定應(yīng)將該P(yáng)PP會(huì)話轉(zhuǎn)發(fā)到該客戶端的L2TP網(wǎng)絡(luò)服務(wù)器(LNS)。然后,LNS對(duì)用戶進(jìn)行身份驗(yàn)證并啟動(dòng)PPP協(xié)商。PPP設(shè)置完成后,所有幀都將通過LAC發(fā)送到客戶端和LNS。
詞匯表
客戶端:連接到遠(yuǎn)程訪問網(wǎng)絡(luò)的PC或路由器,它是呼叫的發(fā)起方。
L2TP:第2層隧道協(xié)議。PPP定義了一種封裝機(jī)制,用于在第2層(L2)點(diǎn)對(duì)點(diǎn)鏈路之間傳輸多協(xié)議數(shù)據(jù)包。通常,用戶使用撥號(hào)普通舊電話服務(wù)(POTS)、ISDN或非對(duì)稱數(shù)字用戶線路(ADSL)等技術(shù)獲得與網(wǎng)絡(luò)訪問服務(wù)器(NAS)的L2連接。然后,用戶通過該連接運(yùn)行PPP。在此類配置中,L2端點(diǎn)和PPP會(huì)話端點(diǎn)駐留在同一物理設(shè)備(NAS)上。
L2TP通過允許L2和PPP端點(diǎn)駐留在通過網(wǎng)絡(luò)互連的不同設(shè)備上來擴(kuò)展PPP模型。使用L2TP,用戶與接入集中器建立L2連接,然后集中器將各個(gè)PPP幀通過隧道傳輸?shù)絅AS。這允許PPP數(shù)據(jù)包的實(shí)際處理與L2電路的終止分離。
L2F:第2層轉(zhuǎn)發(fā)協(xié)議。L2F是比L2TP更早的隧道協(xié)議。
LAC:L2TP接入集中器。充當(dāng)L2TP隧道端點(diǎn)的一端并且是LNS的對(duì)等方的節(jié)點(diǎn)。LAC位于LNS和客戶端之間,并將數(shù)據(jù)包轉(zhuǎn)發(fā)到每個(gè)客戶端和從每個(gè)客戶端轉(zhuǎn)發(fā)數(shù)據(jù)包。從LAC發(fā)送到LNS的數(shù)據(jù)包需要使用L2TP協(xié)議建立隧道。從LAC到客戶端的連接通常通過ISDN或模擬進(jìn)行。
LNS:L2TP網(wǎng)絡(luò)服務(wù)器。充當(dāng)L2TP隧道端點(diǎn)的一端并且是LAC的對(duì)等方的節(jié)點(diǎn)。LNS是LAC從客戶端通過隧道傳輸?shù)腜PP會(huì)話的邏輯終結(jié)點(diǎn)。
家庭網(wǎng)關(guān):與L2F術(shù)語中的LNS定義相同。
NAS:與L2F術(shù)語中的LAC定義相同。
隧道:在L2TP術(shù)語中,隧道存在于LAC-LNS對(duì)之間。隧道由一個(gè)控制連接和零個(gè)或多個(gè)L2TP會(huì)話組成。隧道在LAC和LNS之間傳輸封裝的PPP數(shù)據(jù)報(bào)和控制消息。L2F的過程相同。
會(huì)話:L2TP是面向連接的。LNS和LAC為由LAC發(fā)起或應(yīng)答的每個(gè)呼叫維護(hù)一個(gè)狀態(tài)。在客戶端和LNS之間建立端到端PPP連接時(shí),將在LAC和LNS之間創(chuàng)建L2TP會(huì)話。與PPP連接相關(guān)的數(shù)據(jù)報(bào)通過LAC和LNS之間的隧道發(fā)送。已建立的L2TP會(huì)話與其關(guān)聯(lián)的呼叫之間存在一對(duì)一的關(guān)系。L2F的過程相同。
VPDN流程概述
在下面對(duì)VPDN流程的描述中,我們使用L2TP術(shù)語(LAC和LNS)。
客戶端呼叫LAC(通常使用調(diào)制解調(diào)器或ISDN卡)。
客戶端和LAC通過協(xié)商LCP選項(xiàng)(身份驗(yàn)證方法密碼身份驗(yàn)證協(xié)議[PAP]或質(zhì)詢握手身份驗(yàn)證協(xié)議[CHAP]、PPP多鏈路、壓縮等)來啟動(dòng)PPP階段。
假設(shè)已在步驟2中協(xié)商了CHAP。LAC向客戶端發(fā)送CHAP質(zhì)詢。
LAC會(huì)獲取響應(yīng)(例如username@DomainName和密碼)。
根據(jù)CHAP響應(yīng)中收到的域名或ISDN設(shè)置消息中收到的被叫號(hào)碼信息服務(wù)(DNIS),LAC檢查客戶端是否為VPDN用戶。它通過使用其本地VPDN配置或聯(lián)系身份驗(yàn)證、授權(quán)和記帳(AAA)服務(wù)器來執(zhí)行此操作。
由于客戶端是VPDN用戶,因此LAC會(huì)獲取一些信息(從其本地VPDN配置或AAA服務(wù)器獲取這些信息),這些信息用于啟動(dòng)與LNS的L2TP或L2F隧道。
LAC使用LNS啟動(dòng)L2TP或L2F隧道。
根據(jù)從LAC的請(qǐng)求中收到的名稱,LNS檢查是否允許LAC打開隧道(LNS檢查其本地VPDN配置)。此外,LAC和LNS相互進(jìn)行身份驗(yàn)證(它們使用本地?cái)?shù)據(jù)庫或聯(lián)系A(chǔ)AA服務(wù)器)。然后,隧道在兩個(gè)設(shè)備之間啟動(dòng)。在此隧道中,可以承載多個(gè)VPDN會(huì)話。
對(duì)于客戶端username@DomainName,將觸發(fā)從LAC到LNS的VPDN會(huì)話。每個(gè)客戶端有一個(gè)VPDN會(huì)話。
LAC將其協(xié)商的LCP選項(xiàng)以及從客戶端收到的username@DomainName和密碼轉(zhuǎn)發(fā)給LNS。
LNS從VPDN配置中指定的虛擬模板克隆虛擬訪問。LNS采用從LAC收到的LCP選項(xiàng),并在本地或通過聯(lián)系A(chǔ)AA服務(wù)器對(duì)客戶端進(jìn)行身份驗(yàn)證。
LNS向客戶端發(fā)送CHAP響應(yīng)。
執(zhí)行IP控制協(xié)議(IPCP)階段,然后安裝路由:PPP會(huì)話在客戶端和LNS之間啟動(dòng)并運(yùn)行。LAC只是轉(zhuǎn)發(fā)PPP幀。PPP幀在LAC和LNS之間通過隧道傳輸。
隧道協(xié)議
可以使用第2層轉(zhuǎn)發(fā)(L2F)或第2層隧道協(xié)議(L2TP)構(gòu)建VPDN隧道。
L2F由思科在征求意見(RFC)2341中引入,也用于轉(zhuǎn)發(fā)多機(jī)箱多鏈路PPP的PPP會(huì)話。
RFC2661中引入的L2TP結(jié)合了思科L2F協(xié)議和微軟點(diǎn)對(duì)點(diǎn)隧道協(xié)議(PPTP)的優(yōu)點(diǎn)。此外,L2F僅支持撥入VPDN,而L2TP同時(shí)支持撥入和撥出VPDN。
兩種協(xié)議都使用UDP端口1701通過IP網(wǎng)絡(luò)構(gòu)建隧道以轉(zhuǎn)發(fā)鏈路層幀。對(duì)于L2TP,隧道PPP會(huì)話的設(shè)置包括兩個(gè)步驟:
在LAC和LNS之間建立隧道。僅當(dāng)兩個(gè)設(shè)備之間沒有活動(dòng)隧道時(shí),才會(huì)發(fā)生此階段。
在LAC和LNS之間建立會(huì)話。
LAC決定必須啟動(dòng)從LAC到LNS的隧道。
LAC發(fā)送啟動(dòng)-控制-連接-請(qǐng)求(SCCRQ)。此消息中包含CHAP質(zhì)詢和AV對(duì)。
LNS使用啟動(dòng)-控制-連接-應(yīng)答(SCCRP)進(jìn)行響應(yīng)。此消息中包含CHAP質(zhì)詢、對(duì)LAC質(zhì)詢的響應(yīng)和AV對(duì)。
LAC發(fā)送啟動(dòng)-控制-連接連接(SCCCN)。CHAP響應(yīng)包含在此消息中。
LNS以零長(zhǎng)度正文確認(rèn)(ZLBACK)進(jìn)行響應(yīng)。該確認(rèn)可能會(huì)在另一條消息中攜帶。隧道已啟動(dòng)。
LAC向LNS發(fā)送傳入呼叫請(qǐng)求(ICRQ)。
LNS使用傳入-呼叫-回復(fù)(ICRP)消息進(jìn)行響應(yīng)。
LAC發(fā)送傳入呼叫連接(ICCN)。
LNS以ZLBACK進(jìn)行響應(yīng)。該確認(rèn)也可能在另一條消息中攜帶。
會(huì)話已結(jié)束。
注意: 上述用于打開隧道或會(huì)話的消息帶有RFC2661中定義的屬性值對(duì)(AVP)。它們描述屬性和信息(例如持有者帽、主機(jī)名、供應(yīng)商名稱和窗口大?。?。一些AV對(duì)是必需的,而另一些是可選的。
注意: 隧道ID用于在LAC和LNS之間多路復(fù)用和解復(fù)用隧道。會(huì)話ID用于標(biāo)識(shí)與隧道的特定會(huì)話。
對(duì)于L2F,隧道傳輸PPP會(huì)話的設(shè)置與L2TP相同。它涉及:
在NAS和家庭網(wǎng)關(guān)之間建立隧道。僅當(dāng)兩個(gè)設(shè)備之間沒有活動(dòng)隧道時(shí),才會(huì)發(fā)生此階段。
在NAS和家庭網(wǎng)關(guān)之間建立會(huì)話。
NAS決定必須啟動(dòng)從NAS到主網(wǎng)關(guān)的隧道。
NAS會(huì)向家庭網(wǎng)關(guān)發(fā)送L2F_Conf。此消息中包含CHAP質(zhì)詢。
家庭網(wǎng)關(guān)以L2F_Conf響應(yīng)。此消息中包含CHAP質(zhì)詢。
NAS發(fā)送L2F_Open。此消息中包含家庭網(wǎng)關(guān)質(zhì)詢的CHAP響應(yīng)。
家庭網(wǎng)關(guān)以L2F_Open響應(yīng)。NAS質(zhì)詢的CHAP響應(yīng)包含在此消息中。隧道已啟動(dòng)。
NAS會(huì)向主網(wǎng)關(guān)發(fā)送L2F_Open。數(shù)據(jù)包包括客戶端的用戶名(client_name)、NAS發(fā)送到客戶端的CHAP質(zhì)詢(challenge_NAS)及其響應(yīng)(response_client)。
家庭網(wǎng)關(guān)通過發(fā)回L2F_OPEN接受客戶端。流量現(xiàn)在可以在客戶端和家庭網(wǎng)關(guān)之間自由地沿任一方向流動(dòng)。
注意: 隧道由CLID(客戶端ID)標(biāo)識(shí)。多路復(fù)用ID(MID)標(biāo)識(shí)隧道內(nèi)的特定連接。