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