PPP ( Point-to-Point Protocol )
·PPP基於開放式標準,幷包括各種功能,這使它成爲撥號連接和專用WAN連接的事實標準。
·功能:身份驗證、回撥、數據壓縮、多鏈路捆綁。
·PPP是一種基於ISO的高級數據鏈路控制(ISO-HDLC)的WAN協議
工作在物理層和數據鏈接層。
·Serial Line Internet Protocol (SLIP)
Apple Remote Access Protocol (ARAP)
·在Cisco路由器上,ISDN和Serial默認封裝都是HDLC,但Cisco HDLC與其他廠商的HDLC不兼容,因爲它使用了網絡層協議標識符字段。
而PPP是遵循開放標準,因此總是兼容的。
·在2層封裝數據報文:這是基於ISO HDLC協議而不是Cisco HDLC
·鏈路控制協議(LCP):負責建立、配置和測試數據鏈路連接
·網絡控制協議(NCP):負責建立和配置各種網絡層協議(IP/IPX/AppleTalk)
·協議字段:指出第3層協議(如IP或IPX)
LCP字段:使得PPP的功能得以實現。
·定義地址池:
R2(config)#ip local pool ADD 10.1.1.1 10.1.1.100
將預先定義的IP地址分配給遠程撥入主機:
R2(config-if)#peer default ip address 10.1.1.1
R2(config-if)#peer default ip pool ADD
允許撥入用戶自己指定IP地址:
R2(config-if)#async dynamic address
·PAP認證(PPP Password Authentication Protocol):
主機和路由器之間,PAP是單向認證
路由器之間,PAP是雙向認證
<PAP認證>以明文方式發送密碼
1)在R2和R4的Serial0:
R2/R4(config-if)#encapsulation ppp
2)爲對方建立用戶名&密碼
R2(config)#username R4 password R4 對方必須這個用戶名和密碼發給我才行
R4(config)#username R2 password R2
3)在接口啓用PAP認證:
R2/R4(config-if)#ppp authentication pap
4)發送對方爲自己建立的用戶名&密碼:
R2(config-if)#ppp pap sent-username R2 password R2
測試:
兩邊開啓debug ppp authentication
<CHAP認證>(Challenge Handshake Authentication Protocol)
1)在R2和R4的Serial0:
R2/R4(config-if)#encapsulation ppp
2)建立用戶名&密碼:
用戶名:對方的hostname(完全一致,區分大小寫)
密 碼:雙方要一致(注意空格,區分大小寫)
R2(config)#username R4 password cisco
R4(config)#username R2 password cisco
3)在接口啓用CHAP認證:
R2/R4(config-if)#ppp authentication chap
擴展:
R2(config)#username R3 password cisco
R4(config-if)#ppp chap hostname R3
如果R2定義錯了用戶,那在R4上一定要指明發送的hostname
---------------------------------
·PPP的壓縮特性:
1)Predictor:先判斷數據是否已被壓縮過,如壓縮過,立刻發出。
2)Stacker:對每種數據類型,只發送一次該數據在數據流中的位置,接收方根據此信息重組數據流。
3)MPPC:此協議能夠讓Cisco路由器與Microsoft客戶端交換壓縮後的數據。
4)TCP報頭壓縮:只用於壓縮TCP報頭。
·1爲內存密集型 (如果網絡瓶頸爲路由器負載過高)
2爲CPU密集型 (如果網絡瓶頸爲線路帶寬不限)
·Cisco建議在CPU負載超過65%時禁用壓縮功能。
R2#show processes cpu
R2(config-if)#encapsulation ppp
R2(config-if)#compress [predictor | stac | mppc](雙方都要執行壓縮命令)
R2#show compress
R2(config-if)#ip tcp header-compression
R2(config-if)#ip tcp header-compression passive
僅當從對方收到壓縮後的報頭後,才使用TCP報頭壓縮。
<多鏈路PPP(MLP)>
·將第3層數據進行分段,通過多條鏈路來傳輸數據,提高系統之間的吞吐量。
MLP將數據分段,而不是將完整的數據分配給各鏈路傳輸。
·MLP解決了多條鏈路進行負載均衡的幾個問題:
1)多廠家的互操作性
2)數據分段,降低數據傳輸延遲
3)解決數據排序和負載的計算。
1)在R3/R5的4個Serial口:(先shutdown)
R3(config-if)#encapsulation ppp
R3(config-if)#ppp multilink
2)建立虛擬模板:
R3(config)#interface virtual-template 1
R3(config-if)#ip address 24.1.1.2 255.255.255.0
R3(config-if)#ppp multilink
3)激活虛擬模板:
R3(config)#multilink virtual-template 1
R3#show ip route
R3#show ip int brief
R3#show interfaces virtual-access 3
用ping 做測試。
2600―――――――――――――――――――――――――――――――――――――
1)R3&R4 4個Serial
R3(config-if)#encapsulation ppp
R3(config-if)#ppp multilink
2)R3(config)#interface multilink 3
R3(config-if)#ip address 35.1.1.3 255.255.255.0
R3(config-if)#ppp multilink group 3 (必須和multilink 3一樣)
3)物理接口加入這個Group3
ppp multilink group 3