針對鏈路控制協定,本文將詳細說明LCP協定的用途,並且指出LCP協定在PPP協定中的重要性,然後也將說明與PPP協定相關的知識,以及講解其運作方式以及如何設定。
階層式架構
PPP協定使用階層式的架構,PPP協定可使用:
‧ 同步實體媒介
‧ 非同步實體媒介
‧ 整合服務數位網路(ISDN)
PPP協定主要運作於OSI網路七層中的第二層,也就是Data Link Layer(資料連結層)。在PPP協定中的階層式架構,主要分成兩層,上層為NCP(Network Control Protocol),下層為LCP(Link Control Protocol)。
上層的NCP主要工作是負責認證等等的工作,並且與OSI網路架構的第三層協同運作,也因為NCP,PPP協定才能與各種不同的網路協定做整合。而下層的LCP則負責建立資料連結的連線,PPP協定提供不少種類的設定給LCP,以便建立資料連結的連線,主要內容是協調點對點的網路連線,以及檢查網路封包訊框等等設定。
鏈路控制協定介紹
了解了PPP點對點協定之後,接下來說明在PPP協定中扮演最重要的LCP協定到底包含了什麼功能。
前面有提到,LCP的主要工作是建立PPP協定的連線以及與連線相關的工作,而在Cisco網路設備之中,可能包含的工作就如表2所示。
表2 Cisco網路設備所提供的功能
其中,在連線認證方面,會要求建立連線的一方(也就是Caller)輸入與認證相關的資訊,例如密碼之類的,輸入認證之相關資訊的目的,是為了確認要求建立連線的一方有足夠的管理權限以便使用這樣的PPP連線。一般而言,會被使用的認證協定有PAP協定和CHAP協定。
壓縮主要可以用來增加PPP連線的網路流量,當然作法如同名稱所示,就是將傳遞的資料透過壓縮的方式,減少所需要承載的網路封包大小。一般對於Cisco的路由器而言,會使用的壓縮協定包含Stacker和Predictor兩種。
與眾多網路協定一樣,PPP協定的連線也具備錯誤偵測的功能,通常會使用Quality Magic Number來確保比較穩定而且不會有網路迴圈的資料傳輸。
至於最後的多連結部分,PPP協定的連線也可以在路由器的介面(Interfaces)上具備流量平衡(Load Balancing)的功能。所謂的Load Balancing就是在具有相同路徑選擇時,將網路流量平均分配到這些網路路徑上,以便達到網路流量平均分攤的效果,減少每一條網路路徑的負擔。
連線建立過程
基本上,連線的建立過程分成三個階段:
1. 網路連線建立階段
2. 認證確認階段
3. 網路層協定處理階段
1. 網路連線建立階段(必須)
如同這個階段名稱所示,這個階段的主要工作就是要建立PPP協定的連線,在這個階段中,每一個使用PPP協定的網路設備(例如Cisco路由器)都會發送LCP協定的網路封包,以便用來設定以及測試網路連線。在這個時候,可以透過LCP協定的設定值來設定PPP協定的連線,其設定包含最多能接收的封包單位數目、壓縮設定以及認證協定的設定等等,如果此時沒有設定這些設定值,就會自動採用預設值。
2. 認證確認階段(選擇性)
一旦網路連線建立,而且認證協定被決定了之後,就代表連線之雙方的連線可進入認證確認的階段。而認證確認的階段是可有可無的,不一定需要這個階段也可以完成PPP協定的連線。PPP協定支援兩種認證協定,就是PAP協定及CHAP協定。
3. 網路層協定處理階段(必須)
最後一個階段就是網路層協定的處理階段,這個階段是必須的。在這個階段中,PPP協定會發送NCP協定封包來選擇並且設定一個以上的網路層協定(例如IP協定等等),一旦決定了網路層的協定,雙方就可以開始發送網路封包。
點對點協定認證的設定方式
現在大家對於PPP協定與LCP協定應該已經有一定程度的了解,接下來介紹比較實作的部分,也就是設定方式。
小標設定點對點協定的封裝方式
一開始,先在Cisco路由器上面設定PPP協定的封裝,其指令如下:
這個指令必須在Interface模式下執行,這個指令相當於啟動PPP協定的使用,是設定PPP協定的第一步驟。前面提到,可以透過以下這些實體介面來連接設定:
‧ 非同步Serial介面
‧ 同步Serial介面
‧ 高速Serial介面(High Speed Serial Interface,HSSI)
‧ 整合服務數位網路(ISDN)
如果是在非同步的Serial介面上,進行Cisco路由器於PPP協定上的設定時,則需要額外的步驟來啟動PPP協定的使用。不過,由於篇幅有限,難度較高,就不在這裡說明非同步Serial介面的設定方式,只是要稍微注意一下。
設定路由器主機名稱
在設定PPP協定的認證之前,當前的介面必須已經設定過PPP協定的封裝(Encapsulation),也就是已經透過上一個步驟啟動了PPP協定的使用。接下來,必須確保每一個使用PPP協定的Cisco路由器都有設定「主機名稱」。
如何判定Cisco路由器是否已經設定了主機名稱呢?方法很簡單,因為如果有設定好主機名稱,其設定好的主機名稱會出現在命令列提示符號之前。如果沒有設定主機名稱,則必須先執行下列指令來設定主機名稱: