PIXNET Logo登入

Frank's Blog

跳到主文

Beneath this mask there is more than flesh. Beneath this mask there is an idea, and ideas are bulletproof.

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 5月 21 週一 201210:34
  • [Android] 應用程式全螢幕


當初看到這個功能的時候說老實話我也嚇了一跳
沒搞錯吧,手機也要玩全螢幕,如果說一般PC遊戲程式用全螢幕我還相信
因為全螢幕的狀態遊戲程式的效能會比視窗模式還要高上許多
不過Android的確有提供這個功能,就是為了替手機的遊戲程式等提供更乾淨的介面
來看一下這張圖
一個Android應用程式會有兩個不屬於我們佈局檔的東西(圖看不清楚請點開放大)
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(2,610)

  • 個人分類:Android
▲top
  • 5月 21 週一 201210:12
  • [Android] Activity 利用 Bundle 物件來傳值到另一個 Activity


要從一個 Activity 中呼叫另一個 Activity,
就必須使用 Intent 物件,
而要從一個 Activity 傳值另一個 Activity,
就必須使用 Bundle 物件,
請參考以下範例 (這裡就不列出 Layout XML 檔案內容了) :
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(2,771)

  • 個人分類:Android
▲top
  • 5月 18 週五 201218:26
  • [C#] 設定 UseSubmitBehaviot 來防止按鈕重複送出&重複點擊方法


UseSubmitBehaviot 屬性是控制Button於HTML輸出時Type是否為submit或Button屬性
在ASP.NET的Button控制項中預設是會去執行postback,也就是會在submit時會自動去執行__doPostBack 函式
而如果在Button設定UseSubmitBehaviot=false時,Button必須在onClick事件中自行去呼叫__doPostBack 函式
 
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(3,590)

  • 個人分類:C#
▲top
  • 5月 17 週四 201216:35
  • [C#] Seeeion設定- Session特性與在Web.config的常用設定

一.由IIS產生Session並給予一組24字元的SessionID
二.在需要回傳資料給伺服器時由瀏覽器將SessionID附加在HTTP訊息標頭中傳回給IIS做為身份辨識,伺服器處理完資料後依照SessionID回傳給個別的Client端
三.Session在Web.config的常用設定
1.在<System.Web>標籤內
< sessionState
mode="Off|InProc|StateServer|SQLServer"
cookieless="true|false"
timeout="number of minutes"
stateConnectionString="tcpip=server:port"
stateNetworkTimeout="number of seconds" 
sqlConnectionString="sql connection string"
sqlCommandTimeout ="number of seconds"
/>
ex.
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(18,370)

  • 個人分類:C#
▲top
  • 5月 14 週一 201215:50
  • [Android] 如何設定固定畫面不翻轉

在AndroidManifest.xml中修改
<application android:label="@string/app_name" android:debuggable="true" android:icon="@drawable/icon">
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(12,299)

  • 個人分類:Android
▲top
  • 4月 16 週一 201211:36
  • [SQL] 提升 SQL SERVER 執行效率的小技巧:為 SQL 快取暖身

利用 sp_spaceused 查詢各表格所使用的磁碟空間
SQL Server 的效能調校是一門很大的學問,先不論 T-SQL 寫的好與壞如何衝擊效能,我們先假設 T-SQL 已經全部都調到最佳狀態(或是根本無法調整),在這種情境下如何再提升執行效能呢,答案還是非常多,例如:調整磁碟效能、加記憶體、….等,但我今天想特別強調的是 快取 (Caching)。今天我來分享一個非常實用且簡單的伎倆,讓你的應用程式一瞬間即可加快查詢速度。
SQL Server 使用三種不同的檔案儲存你的資料:
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(9,148)

  • 個人分類:SQL Server
▲top
  • 4月 05 週四 201216:54
  • [問題] IE持續跳出視窗"是否僅要檢視安全傳送的網頁內容"

小提示圖示
如果您在瀏覽包含混合內容的網站時發生問題,可能需要暫時讓 Internet Explorer 允許顯示所有混合的內容。若要這樣做,請遵循下列步驟:
方法一、立即同意檢視混合內容

在 [安全性警告] 視窗中,直接按一下 [否] 即可。
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(8,902)

  • 個人分類:問題
▲top
  • 4月 04 週三 201223:46
  • [教學] net指令教學

NET指令是Windows NT中的一個功能強大的工具。雖然必須用指令行方式執行,但它的功能確覆蓋了Windows NT中 大部分重要的管理功能。例如,它可以管理網路環境、各種服務程序的執行和配置、進行用戶和登入管理等。它還可以檢視伺服器的許多本機信息。Windows98中也包含NET指令,但其功能比在NT中少得多。 可以通過以下兩種方法獲得NET指令的說明 信息: (1)在NT下可以用圖形的方式,通過開始選單>說明 >索引,然後輸入NET。 (2)也可以在指令行方式下輸入NET /?或NET或NET HELP得到它的功能(COMMAND)列表,然後通過NET COMMAND /HELP或NET HELP COMMAND 或NET COMMAND /? 指令得到相應功能的說明 信息。 在使用NET指令時需要注意的是:它的有一些指令是會馬上產生作用並永久儲存的,使用的時候要慎重。 下面對NET指令的不同參數的基本用法做一些初步的介紹:
1. NET VIEW 作用:顯示域列表、電腦列表或指定電腦的共享資源列表。
指令格式:
net view [\\computername | /domain[:domainname]] 
參數介紹:
(1)鍵入不帶參數的net view顯示當前域的電腦列表。
(2)\\computername 指定要檢視其共享資源的電腦。
(3)/domain[:domainname]指定要檢視其可用電腦的域。
舉例說明:
(1)net view \\XIAOHU檢視XIAOHU的共享資源列表。
(2)net view /domain:MYDOMAIN檢視MYDOMAIN域中的機器列表。
2. NET USER 作用:增加或更改用戶帳號或顯示用戶帳號信息。該指令也可以寫為 net users。 
指令格式:
net user [username [password | *] [options]][/domain]
參數介紹:
(1)鍵入不帶參數的net user檢視電腦上的用戶帳號列表。
(2)username增加、刪除、更改或檢視用戶帳號名。
(3)password為用戶帳號分配或更改密碼。
(4)*提示輸入密碼。
(5)/domain在電腦主域的主域控制器中執行操作。
舉例說明:
(1)net user xiaohu檢視用戶XIAOHU的信息。
3. NET USE 作用:連接電腦或中斷連線電腦與共享資源的連接,或顯示電腦的連接信息。
指令格式:
net use [devicename | *] [\\computername\sharename[\volume]] [password | *]] [/user:[domainname\]username] [[/delete] | [/persistent:{yes | no}]]
參數介紹:
(1)鍵入不帶參數的net use列出網路連接。
(2)devicename指定要連線到的資源名稱或要中斷連線的設備名稱。
(3)\\computername\sharename伺服器及共享資源的名稱。
(4)password訪問共享資源的密碼。
(5)*提示鍵入密碼。
(6)/user指定進行連接的另外一個用戶。
(7)domainname指定另一個域。
(8)username指定登入的用戶名。
(9)/home將用戶連線到其宿主目錄。
(10)/delete取消指定網路連接。
(11)/persistent控制永久網路連接的使用。
舉例說明:
(1)net use e: \\XIAOHU\TEMP將\\XIAOHU\TEMP目錄建立為E碟。
(2)net use e: \\XIAOHU\TEMP /delete中斷連線連接。
4. NET TIME 作用:使電腦的時鐘與另一台電腦或域的時間同步。
指令格式:
net time [\\computername | /domain[:name]] [/set]
參數介紹:
(1)\\computername要檢查或同步的伺服器名。
(2)/domain[:name]指定要與其時間同步的域。
(3)/set使本電腦時鐘與指定電腦或域的時鐘同步。
下面的這4個參數是相關的,所以一起介紹: 
5. Net Start 作用:啟動服務,或顯示已啟動服務的列表。
指令格式:
net start service 
6. Net Pause 作用:暫停正在執行的服務。
指令格式:
net pause service
7. Net Continue 作用:重新啟動掛起的服務。
指令格式:
net continue service
8. NET STOP 作用:停止 Windows NT 網路服務。
指令格式:
net stop service 
參數介紹:
(1)alerter(警報)
(2)client service for netware(Netware 客戶端服務) 
(3)clipbook server(剪貼簿伺服器)
(4)computer browser(電腦瀏覽器)
(5)directory replicator(目錄複製器)
(6)ftp publishing service (ftp )(ftp 發行服務)
(7)lpdsvc
(8)net logon(網路登入)
(9)network dde(網路 dde)
(10)network dde dsdm(網路 dde dsdm)
(11)network monitor agent(網路監控代理)
(12)nt lm security support provider(NT LM 安全性支持提供)
(13)ole(對像連接與嵌入)
(14)remote access connection manager(遠端訪問連接管理器)
(15)remote access isnsap service(遠端訪問 isnsap 服務)
(16)remote access server(遠端訪問伺服器)
(17)remote procedure call (rpc) locator(遠端程序使用定位器)
(18)remote procedure call (rpc) service(遠端程序使用服務)
(19)schedule(調度)
(20)server(伺服器)
(21)simple tcp/ip services(簡單 TCP/IP 服務)
(22)snmp
(23)spooler(後台列印程序)
(24)tcp/ip netbios helper(TCP/IP NETBIOS 協助工具)
(25)ups
(26)workstation(工作站)
(27)messenger(信使)
(28)dhcp client
(29)eventlog
9. Net Statistics 作用:顯示本機工作站或伺服器服務的統計記錄。
指令格式:
net statistics [workstation | server]
參數介紹:
(1)鍵入不帶參數的net statistics列出其統計信息可用的執行服務。
(2)workstation顯示本機工作站服務的統計信息。
(3)server顯示本機伺服器服務的統計信息。
舉例說明:
net statistics server | more顯示伺服器服務的統計信息。
10. Net Share 作用:新增、刪除或顯示共享資源。
指令格式:
net share share name=driveath [/users:number | /unlimited] [/remark:"text"] 
參數介紹:
(1)鍵入不帶參數的net share顯示本機電腦上所有共享資源的信息。
(2)sharename是共享資源的網路名稱。
(3)driveath指定共享目錄的絕對路徑。
(4)/users:number設定可同時訪問共享資源的最大用戶數。
(5)/unlimited不限制同時訪問共享資源的用戶數。
(6)/remark:"text "增加關於資源的註釋,註釋文字用引號引住。
舉例說明:
(1)net share mymydomain=c:\temp /remark:"my first share"以mymydomain為共享名共享 C:\temp。 (2)net share mymydomain /delete停止共享mymydomain目錄。
11. Net Session 作用:列出或中斷連線本機電腦和與之連接的客戶端的會話,也可以寫為net sessions或net sess。
指令格式:
net session [\\computername] [/delete] 
參數介紹:
(1)鍵入不帶參數的net session顯示所有與本機電腦的會話的信息。
(2)\\computername標識要列出或中斷連線會話的電腦。
舉例說明:
net session \\XIAOHU要顯示電腦名稱為XIAOHU的客戶端會話信息列表。 
12. Net Send 作用:向網路的其他用戶、電腦或通信名傳送消息。
指令格式:
net send {name | * | /domain[:name] | /users} message 
參數介紹:
(1)name要接收傳送消息的用戶名、電腦名稱或通信名。
(2)*將消息傳送到組中所有名稱。
(3)/domain[:name]將消息傳送到電腦域中的所有名稱。
(4)/users將消息傳送到與伺服器連接的所有用戶。
(5)message作為消息傳送的文本。
舉例說明:
(1)net send /users server will shutdown in 5 minutes給所有連線到伺服器的用戶傳送關 機消息。 
13. Net Print 作用:顯示或控制列印作業及列印貯列。
指令格式:
net print [\\computername ] job# [/hold | /release | /delete]
參數介紹:
(1)computername共享列印機貯列的電腦名稱。
(2)sharename列印貯列名稱。
(3)job#在列印機貯列中分配給列印作業的標識號。
(4)/hold使用 job# 時,在列印機貯列中使列印作業等待。
(5)/release釋放保留的列印作業。
(6)/delete從列印機貯列中刪除列印作業。
舉例說明:
(1)net print \\XIAOHU\SEEME列出\\XIAOHU電腦上SEEME列印機貯列的目錄。
14. Net Name 作用:增加或刪除消息名(有時也稱別名),或顯示電腦接收消息的名稱列表。 
指令格式:
net name [name [/add | /delete]]
參數介紹:
(1)鍵入不帶參數的net name列出當前使用的名稱。
(2)name指定接收消息的名稱。
(3)/add將名稱增加到電腦中。
(4)/delete從電腦中刪除名稱。
15. Net Localgroup 作用:增加、顯示或更改本機組。
指令格式:
net localgroup groupname {/add [/comment:"text "] | /delete} [/domain]
參數介紹:
(1)鍵入不帶參數的net localgroup顯示伺服器名稱和電腦的本機組名稱。
(2)groupname要增加、擴充或刪除的本機組名稱。
(3)/comment: "text "為新增或現有組增加註釋。
(4)/domain在當前域的主域控制器中執行操作,否則僅在本機電腦上執行操作?
(5)name [ ...]列出要增加到本機組或從本機組中刪除的一個或多個用戶名或組名。
(6)/add將全局組名或用戶名增加到本機組中。
(7)/delete從本機組中刪除組名或用戶名。
舉例說明:
(1)net localgroup mydomain /add將名為mydomain的本機組增加到本機用戶帳號資料庫。 (2)net localgroup mydomain顯示mydomain本機組中的用戶。
16. Net Group 作用:在 Windows NT Server 域中增加、顯示或更改全局組。
指令格式:
net group groupname {/add [/comment:"text "] | /delete} [/domain]
參數介紹:
(1)鍵入不帶參數的net group顯示伺服器名稱及伺服器的組名稱。
(2)groupname要增加、擴展或刪除的組。
(3)/comment:"text "為新增組或現有組增加註釋。
(4)/domain在當前域的主域控制器中執行該操作,否則在本機電腦上執行操作? (5)username[ ...]列表顯示要增加到組或從組中刪除的一個或多個用戶
(6)/add增加組或在組中增加用戶名。
(7)/delete刪除組或從組中刪除用戶名。
舉例說明:
net group mydomain xiaohu1 xiaohu2 /add將現有用戶帳號xiaohu1和xiaohu2增加到本機計算 機的mydomain組。 
17. Net Config 作用:顯示當前執行的可配置服務,或顯示並更改某項服務的設定。
指令格式:
net config [service [options]]
參數介紹:
(1)鍵入不帶參數的net config顯示可配置服務的列表。
(2)service通過net config指令進行配置的服務(server或workstation)。
(3)options服務的特定選項。
18. Net Computer 作用:從域資料庫中增加或刪除電腦。
指令格式:
net computer \\computername {/add | /del}
參數介紹:
(1)\\computername指定要增加到域或從域中刪除的電腦。
(2)/add將指定電腦增加到域。
(3)/del將指定電腦從域中刪除。
舉例說明:
net computer \\cc /add將電腦 cc 增加到登入域。
19. Net Accounts 作用:更新用戶帳號資料庫、更改密碼及所有帳號的登入要求。
指令格式:
net accounts [/forcelogoff:{minutes | no}] [/minpwlen:length] [/maxpwage:{days | unlimited}] [/minpwage:days] [/uniquepw:number] [/domain]
參數介紹:
(1)鍵入不帶參數的net accounts顯示當前密碼設定、登入時限及域信息。 (2)/forcelogoff:{minutes | no}設定當用戶帳號或有效登入時間過期時。
(3)/minpwlen:length設定用戶帳號密碼的最少字串數。
(4)/maxpwage:{days | unlimited}設定用戶帳號密碼有效的最大天數。
(5)/minpwage:days設定用戶必須保持原密碼的最小天數。
(6)/uniquepw:number要求用戶更改密碼時,必須在經過number次後才能重複使用與之相同的密碼。
(7)/domain在當前域的主域控制器上執行該操作。
(8)/sync當用於主域控制器時,該指令使域中所有制作備份域控制器同步。 
舉例說明:
net accounts /minpwlen:7將用戶帳號密碼的最少字串數設定為7。
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(143,251)

  • 個人分類:教學
▲top
  • 4月 03 週二 201210:00
  • [問題] User Profile Service服務無法登入,無法載入使用者設定檔

用下面的動作應該可以解決你的問題
1.       進入安全模式(開機時按鍵盤上的F8)
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(468)

  • 個人分類:問題
▲top
  • 3月 08 週四 201222:28
  • [資安] 徹底剖析PPP廣域網路協定 由淺入深,從理論到實作

之前介紹過廣域網路的HDLC 協定,接下來為各位介紹PPP 協定。這篇文章會介紹PPP 協定的階層式架構、在Cisco 設備上如何設定PPP 協定,以及PPP 協定中重要的認證(Authentication )方式。


廣域網路簡介
在介紹如何設定廣域網路的設定之前,先介紹基本的廣域網路概念。廣域網路(Wide Area Network,WAN )和一般所謂的區域網路不一樣。區域網路通常是指範圍較小的網路區段,可能是同一棟大樓、同一層樓或是一個區域較小的地理位置。 而廣域網路是範圍比較廣的網路區段,一般跨國型的企業都會使用廣域網路來連結位於不同國家的各個分部,好讓資訊能夠相互流通。  
PPP協定簡介
PPP(Point to Point Protocol )協定是普遍被使用的廣域網路協定,如同名稱所示,PPP 協定是指點對點的網路協定,通常用於兩個網路節點的直接連接,例如兩台電腦透過電話線的網路連接,經常使用在寬頻網路連線上。目前許多ADSL 網路服務供應商(ISP )提供使用者以PPP 協定的方式撥接到本身的機房,然後再連上網際網路。以往,則大多使用SLIP(Serial Line Internet Protocol )協定,該協定採用的是TCP/IP 協定的點對點串列連線的標準。SLIP 協定是很久以前的協定,主要用於串列埠與數據機之間的連線,現在慢慢地已經被PPP 協定取代。  









▲PPP 協定的運作架構

 
上面這張圖顯示PPP 協定的運作架構。在這個網路架構圖中,中間兩台路由器使用PPP 協定,之間的通訊採用PPP 協定的資料封裝,而左邊部分有三台電腦,分別採取不同的網路協定與使用PPP 協定的路由器互相連接。由這張圖可以看出,PPP 協定中的一個重要特性是,可以與各種不同的網路協定互相整合。  
左邊三個電腦即使使用AppleTalk 、Novell IPX 和TCP/IP 協定,都可以同時與採用PPP 協定的路由器連接並使用。而中間這台路由器為了銜接來自左邊各種不同網路協定的封包,PPP 協定會使用NCP(Network Control Protocol )來負責上層資料的封裝過程。此外,PPP 協定還有一個重要的部分是LCP(Link Control Protocol), LCP 是PPP 協定中最重要的部分,負責底層線路控制與連接等等的過程。 若要設定採用PPP 協定的路由器,可以透過「非同步Serial 介面」、「同步Serial 介面」、「高速Serial 介面(High Speed Serial Interface,HSSI )」和「整合服務數位網路(ISDN )」這四種實體介面來連接設定。  
PPP 協定在廣域網路連線上的定位  
讀者也許都聽過PPP 協定,但是何時須使用PPP 協定呢?它又是什麼呢?和廣域網路有什麼關聯呢?其實,PPP 協定算是廣域網路在網路協定第二層封裝協定的種類之一,當網路封包要傳送到廣域網路之前,在網路第二層協定時,就一定會先透過特定的方式進行封裝,而為了保證能使用正確的封裝方式,在設定Cisco 設備來支援廣域網路時就必須選對正確的封裝協定,而封裝協定的選擇與所使用的廣域網路技術和廣域網路設備有關。 因此,網路管理人員一定要瞭解廣域網路所使用的封裝協定,才能夠正確的選擇並且設定第二層封裝協定。一般廣域網路的網路協定第二層封裝協定有以下幾個種類:HDLC 、PPP 、SLIP 、X.25 與LAPB 、幀中繼(Frame Relay )以及ATM ,所以PPP 協定正是其中一種。
與PPP 協定相關的RFC 文件
為什麼之前先介紹HDLC 協定,現在才介紹PPP 協定呢?因為PPP 協定相當於HDLC 協定的延伸,是根據原有的HDLC 協定規範而設計出來的。在RFC 編號1661 和編號1332 文件內都有定義PPP 協定的詳細規格。PPP 協定主要被定義在RFC 編號1661 文件中,其中包含了各種認證方式、加密與解密方式、壓縮資料方式以及PPP 協定如何與其他網路協定的合作與交互關係。而RFC 編號1994 的文件則描述了PPP 協定中的CHAP 協定,也就是握手(Handshake )協定,用於建立撥號連接。 RFC 編號2516 文件則定義了相當知名的PPPoE 協定,PPPoE 協定在乙太網路中用於傳輸PPP 協定中的資料,經常使用於ADSL 上。讀者家裡若使用ADSL ,應該會常常看到這個協定。至於RFC 編號2364 的文件描述了PPPoA 協定,主要應用在以ATM 網路卡來傳輸PPP 協定的資料。由於PPPoA 使用於ATM 網路,所以也稱為PPPoATM 。 另外,PPP 協定可以在兩個網路系統之間支援多點連接以便增加網路頻寬,在這樣的網路環境之下,PPP 協定支援兩個頻寬的合併,同時也支援流量平衡的功能,而這些都被定義於RFC 編號1717 文件之中。 前面提到過PPP 協定分成LCP 和NCP 兩個部分,各負責不同的工作內容,而關於LCP 的設定在RFC 編號1548 和編號1570 文件中都有描述。底下筆者整理了一個與PPP 協定相關的RFC 文件對照表讓讀者參考一下,這樣應該會更清楚。  




RFC 文件編號

 




主要文件內容

 






RFC 1661 RFC 1332

 




定義了各種認證方式、加密/ 解密的方式、壓縮資料方式以及PPP 協定如何和其他網路協定的合作與交互關係

 






RFC 1994

 




描述了關於PPP 協定中的CHAP 協定

 






RFC 2516

 




定義了關於PPP 協定中的PPPoE 協定

 






RFC 2364

 




定義了關於PPP 協定中的PPPoA 協定

 






RFC 1717

 




定義了關於PPP 協定中的多點連接

 






RFC 1548 RFC 1570

 




定義了關於PPP 協定中的LCP 設定

 







PPP 協定的連線種類
基本上,廣域網路有Leased Line (專線)、Circuit Switched 和Packet Switched 三種類型,而PPP 協定屬於Leased Line 或Circuit Switched 類型。以下筆者簡單介紹這兩種廣域網路的連線種類。Leased Line Leased Line 就是所謂的Point-to-point 或Dedicated 的連線,說穿了,它就是固定的電路,也就是專線,如下圖所示:









▲Leased Line 連線圖

 
其優點是可以保證頻寬,而且頻寬是獨享的,不會與其他網路共享,不過也有缺點。缺點是花費太高,因為是專線,所以成本相對高昂許多。速度則可以達到45Mbps 。  
 
Circuit-switched  
使用這種廣域網路時,傳輸過程中整個網路連線都必須存活,有點類似撥接,如右上圖所示。事實上,這就是「Dial On Demand 」的網路類型,ISDN 以及現在各位使用的電話就是這種網路。 以電話為例,讀者應該最容易體會,當我們在台灣想與外國某個地方聯絡,一開始必須先撥號,當撥接成功之後,通訊過程中連線都不能中斷,否則整個連線就會中斷,而且也只有在需要交換資訊時才撥號,因此是Dial On Demand 。電話這種網路,也稱為PSTN 。關於電話網路、ISDN 以及Dial On Demand 這種網路類型,在未來的文章中會特別再做介紹。  









▲Circuit-Switched 連線圖

 
廣域網路封裝協定與連線種類的關係
前面介紹過,廣域網路有三種主要的分類:Leased Line 、Packet Switched 和Circuit Switched ,而剛剛也提到廣域網路在網路協定第二層封裝協定的種類有HDLC 、PPP 、SLIP 、X.25 與LAPB 、幀中繼(Frame Relay) 以及ATM 。但是它們的對應關係是如何呢?基本上,Leased Line 廣域網路會使用的第二層網路封裝協定包括HDLC 、PPP 和SLIP 三種;而Packet Switched 廣域網路會使用的第二層網路封裝協定有X.25 、幀中繼(Frame Relay )與HDLC 三種;Circuit Switched 廣域網路使用的第二層網路封裝協定包含HDLC 、PPP 以及SLIP 三種。 大家會發現,Circuit Switched 和Leased Line 這兩種廣域網路的封裝協定是一樣的,而且HDLC 和PPP 協定被相當廣泛地使用。以下將剛剛提過的對應關係整理成表格,就可以一目了然。  




廣域網路種類

 




OSI 網路第二層的封裝協定

 






Leased Line

 




HDLC 、PPP 以及SLIP

 






Packet Switched

 




X.25 、幀中繼(Frame Relay ) 以及HDLC

 






Circuit Switched

 




HDLC 、PPP 以及SLIP

 






 
PPP 協定的階層式架構
PPP 協定使用階層式的架構,可使用「同步實體媒介」、「非同步實體媒介」、「整合服務數位網路(ISDN )」。PPP 協定主要運作於OSI 網路七層中的第二層,亦即Data Link Layer (資料連結層)。 PPP 協定中的階層式架構主要分成兩層,上層為NCP(Network Control Protocol ),下層為LCP(Link Control Protocol )。上層的NCP 主要工作是負責認證等等的工作,並且與OSI 網路架構的第三層協同運作。也因為NCP 的緣故,PPP 協定才能與各種不同的網路協定整合。而下層的LCP 則是負責建立資料連結的連線,PPP 協定提供不少種類的設定給LCP ,以便建立資料連結的連線,主要用於協調點對點的網路連線以及檢查網路封包訊框等等設定。  
LCP的設定與特性  
底下來看看在Cisco 路由器設備的PPP 協定中,LCP 有哪些設定的內容。前面提到,LCP 的主要工作是建立PPP 協定的連線以及與連線相關的工作,而在Cisco 的網路設備中,可能包含的工作就如同下表所示。其中,連線認證方面會要求建立連線的一方(也就是Caller )輸入與認證相關的資訊,例如密碼等等。輸入認證相關資訊的目的是為了確認建立連線的一方有足夠的管理權限以便使用這樣的PPP 連線。一般而言,會被使用的認證協定有PAP 協定和CHAP 協定。  




功能

 




主要工作內容

 




運作的協定

 






認證(Authentication)

 




1. 要求密碼2. 執行握手(Handshake) 過程

 




PAPC HAP

 






壓縮(Compression)

 




1. 在來源端壓縮資料2. 在目的端解壓縮資料

 




Stacker Predictor

 






錯誤偵測

 




1. 監視連線中被丟棄的資料2. 避免訊框迴路

 




Quality Magic Number

 






多連結(Multilink)

 




在多連結的環境使用流量平衡(Load Balancing)

 




Multilink PPP(MLP)

 






 
而壓縮主要是用來增加PPP 連線的網路流量,當然做法就如同名稱所示,是透過壓縮的方式來減少傳遞資料所需承載的網路封包大小。Cisco 路由器一般會使用Stacker 和Predictor 這兩種壓縮協定。與眾多網路協定一樣,PPP 協定的連線也具備錯誤偵測的功能,通常會使用Quality Magic Number 來確保比較穩定而且不會有網路迴圈的資料傳輸。 至於最後的多連結部分,PPP 協定的連線也可以在路由器的介面(Interfaces )上使用流量平衡(Load Balancing )的功能。所謂的Load balancing ,就是在具有相同路徑選擇時將網路流量平均分配到這些網路路徑上,以便達到網路流量平均分攤的效果,減少每一條網路路徑的負擔。  









▲網路架構圖

 
以上面這個網路架構圖為例,假設伺服器X想要傳送封包給伺服器Y,由圖中可看出,伺服器X要到達伺服器Y必須經過三個路由器設備,可以透過路由器「A→B→D」這樣的網路路徑,也可以經由路由器「A→C→ D」的網路路徑。若開啟Load Balancing 功能,則由伺服器X到伺服器Y的網路流量就會被分成兩條,分別走剛剛所說的兩種不同的網路路徑,這就是Load Balancing 功能。 Cisco 路由器上與PPP 協定相關的Load Balancing 功能,有時與Multilink 協定(也就是MLP )有關。Cisco 的IOS 從11.1 版本以後就開始支援MLP 。MLP 協定被定義在RFC 編號1717 文件中,MLP 協定主要用於網路封包分割以及將切割的網路封包做定序,MLP 協定一般會在平行多線路的環境中同時發送網路封包,在某些情況之下,這些MLP 連線會像單一連線一樣地工作,如此一來,就可以在路由器之間有效增加網路流量。  
PPP協定連線的建立過程  
PPP 協定連線的建立過程分成「網路連線建立」、「認證確認」、「網路層協定處理」三個階段。以下分別就這三個階段,為各位讀者介紹一下PPP 協定的連線過程。
網路連線建立階段
如同這個階段名稱所示,這個階段的主要工作就是要建立PPP 協定的連線,在這個階段中,每一個使用PPP 協定的網路設備(例如Cisco 路由器)都會發送LCP 協定的網路封包,以便設定和測試網路連線。此時,可以透過LCP 協定的設定值來設定PPP 協定的連線,其設定包含最多能接收的封包單位數目、壓縮設定以及認證協定的設定等等,如果此時沒有設定這些設定值,就會自動採用預設值。  
認證確認階段
一旦網路連線建立,而且認證協定被決定之後,就代表連線的雙方可進入認證確認的階段。而認證確認的階段可有可無,不一定需要這個階段也可以完成PPP 協定的連線。PPP 協定支援兩種認證協定:PAP 協定和CHAP 協定。
網路層協定處理階段
接下來,最後一個階段是網路層協定的處理階段,這個階段是必須的。在這個階段中,PPP 協定會發送NCP 協定封包來選擇,並且設定一個以上的網路層協定(例如IP 協定等等)。決定網路層的協定後,雙方就可以開始發送網路封包。  
PPP協 定的認證協定
接下來介紹PPP 協定的認證(Authentication )方式。如同前面所提到的,PPP 協定所使用的認證協定有PAP 協定和CHAP 協定,但是兩者有何不同呢?哪一種協定比較好呢?接著,分別介紹這兩種認證協定。
PAP 認證協定
PAP 認證協定是一種雙向握手(Two way handshake )協定,透過雙向握手的流程讓遠端的電腦或網路設備進行辨識(Identity )認證的工作。剛剛提到,一旦建立網路連線而且認證協定被決定之後,就代表連線的雙方可進入認證確認的階段。因此,認證的發生時間是在PPP 協定連線建立之後就進行。進行時,遠端的電腦或是網路設備會不斷地發送帳號和密碼到Cisco 路由器,這樣的發送過程會一直持續,直到這個認證被接受或是這個PPP 連線被中斷為止。
PAP 認證協定的隱憂
雖然PPP 協定使用著PAP 認證協定,但事實上PAP 認證協定本身並不是一個很嚴謹的認證協定,因為,PAP 認證協定會把密碼用純文字的方式,也就是Clear Text 來傳送,這代表傳送過程之中密碼不會被加密,因此如果有人攔截到這樣的網路封包,就可以直接看到密碼。除了Token Ring 網路架構之外,這樣的運作模式在大部分的網路環境中是相當不安全的。不僅如此,PAP 協定針對Playback 和Trial-and-error 的攻擊方式也沒有任何的保護措施。
CHAP 認證協定
另外一種PPP 連線的認證協定是CHAP 認證協定。CHAP 認證協定採用的運作流程是3-way handshake ,如果使用CHAP 認證協定,當PPP 連線建立階段完成之後,Cisco 路由器設備(本地端)就會發送所謂的Challenge 封包給遠端的網路設備,接著遠端的網路設備會透過One way hash 的方式,針對傳送過來的Challenge 值和密碼計算出一個特定的值,然後將這個特定的值傳回給原本發送的Cisco 路由器設備。這裡所使用的One way hash 方式一般都採用MD5(Message Digest 5 )演算法。 接下來,本地端的Cisco 路由器設備根據已知的計算方式再次計算出hash 值,然後比對自己所計算的hash 值和收到的hash 值是否相同。如果兩個計算出來的hash 值相同,代表這個認證已經通過,否則就會立刻中斷目前這個PPP 連線。
CHAP 認證協定為何比較安全
看得出來,CHAP 認證協定比PAP 認證協定安全許多,因為雙方都會計算出特定的hash 值加以比對,而且並不會把密碼直接用明文的方式來傳送。不僅如此,CHAP 認證協定對於Playback 的攻擊方式也有相對應的保護措施。 剛剛提到的Challenge 值很難被預測,因為Challenge 值是由亂數產生,所以這也同時代表著所計算出來的hash 值也是由亂數產生的。此外,Challenge 封包會不斷發送,這種作法也可以避免受到攻擊,因為每次發送的Challenge 值都不一樣。
PPP協定認證的設定方式
現在讀者對於PPP 協定應該已經有一定程度的瞭解了,接下來介紹實作的部分,也就是PPP 協定認證的設定方式。
設定PPP 協定的封裝
一開始,先在Cisco 路由器上設定PPP 協定的封裝,其指令如下:
Router(config-if)#encapsulation ppp 
這個指令必須在Interface 模式下執行,這個指令相當於啟動PPP 協定的使用,是設定PPP 協定的第一步驟。前面提到,可以透過以下這些實體介面來連接設定:  
1. 非同步Serial 介面 
2. 同步Serial 介面
3. 高速Serial 介面(High Speed Serial Interface,HSSI) 
4. 整合服務數位網路(ISDN)
 
如果是在非同步的Serial 介面上設定Cisco 路由器在PPP 協定上的設定,則需要額外的步驟來啟動PPP 協定的使用。不過,由於篇幅有限以及難度較高,這裡就不說明非同步Serial 介面的設定方式,只是讀者要稍微注意一下。  
設定路由器主機名稱
在設定PPP 協定的認證之前,當前的介面必須已經設定過PPP 協定的封裝(Encapsulation ),也就是已經透過上一個步驟啟動了PPP 協定的使用。接下來,必須確保每一個使用PPP 協定的Cisco 路由器都設定好「主機名稱」。如何判定Cisco 路由器已經設定了主機名稱呢?很簡單,如果已設定好主機名稱,其設定好的主機名稱會出現在命令列提示符號之前。如果沒有設定,則必須先執行下列指令來設定主機名稱:  
(config)#hostname KC406  
KC406 是主機名稱的設定範例,指令關鍵字是hostname 。一般而言,設定主機名稱主要是為了方便管理,而這個名稱一旦設定之後,該名稱就會顯示在提示符號之前,以便管理員辨識目前是在哪一台設備的CLI 中。但是對於PPP 協定的認證而言,這個主機名稱已經不再是方便管理這樣的簡單,而是會被拿來當作認證的帳號名稱,也就是username 。請注意,這裡所設定的主機名稱,其大小寫被視為相異。  
設定遠端路由器的主機名稱與密碼 接下來設定遠端Cisco 路由器的認證帳號名稱與密碼,使用下面這個指令來完成:  
KC406(config)#username LOLO password 1120  
上面這個指令範例是設定遠端的路由器,其主機名稱為LOLO ,密碼是1120 。對於Cisco 路由器而言,這個密碼之於雙方路由器,必須是相同的。而在Cisco IOS 版本11.2 以前,這個密碼是加密過的,但是從Cisco IOS 版本11.2 開始,這個密碼就不再加密,而是採用明文的方式。如果想將密碼加密,必須執行下面這個指令:  
KC406(config)#service password-encryption  
設定認證協定種類 接下來設定PPP 協定認證的種類,如同讀者所知,有兩種認證協定可以選擇:PAP 協定或CHAP 協定。其設定的指令如下所示:  
KC406(config-if)#ppp authentication chap  
上面的指令範例代表採用CHAP 認證協定,指令的關鍵字是ppp authentication ,若要採用PAP 認證協定,只要將chap 改成pap 即可,指令如下:  
KC406(config-if)#ppp authentication pap 當然,無論設定成PAP 認證協定還是CHAP 認證協定,都代表所有透過這個介面進來的PPP 連線要求都會使用此處所設定的認證協定來要求認證。這裡要注意的是,當某一台Cisco 路由器設定成某一種認證協定,並使用CHAP 認證協定時,所有其他想要與這台路由器建立PPP 連線的Cisco 路由器都必須使用CHAP 認證協定才行,否則將無法通過認證。  
如果讀者覺得這種強迫使用同一種認證協定的作法太沒有彈性的話,其實也可以一次指定兩種認證協定,例如:  
KC406(config-if)#ppp authentication pap chap  
上面這個指令範例會先試著採用PAP 認證,如果連進來的PPP 連線並不是使用PAP 認證協定,則會改試CHAP 認證協定。  
檢視PPP 協定的設定值
由於PPP 協定的設定值是設定在「介面」之上,所以PPP 協定的設定值也在介面上,因此檢視PPP 協定的設定值指令為:  
KC406(config-if)#show interface Serial0 指令關鍵字為Show interface 。其執行結果範例如下所示:
KC406(config-if)#show interface Serial0
Serial0 is up, line protocol is up 
Hardware is HD64570 
Internet address is 10.1.152.43/24 
MTU 1500 bytes, BW 1544 Kbit. DLY 20000 usec, rely 255 255, load 1/255 
Encapsulation PPP, loopback not set, keeplive set(10 sec) 
LCP Open
Open: IPCP, CDPCP 
Last input 00:00:05, output 00:00:05, output hang never
Last clearing of “show interface” counters never Queueing strategy: fifo 
Output queue 0/40, drops; input queue 0/75, 0 drops;
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec ......
以上就是查看使用PPP 協定的部分介面資料,大部分的資訊都過於複雜,因此以下只挑出一些重點的部分加以解釋。由於PPP 協定是網路第二層的協定,所以在第一行中的「line protocol is up 」,代表PPP 協定已經處於運作的狀態。另外,查看下面這一行: Encapsulation PPP, loopback not set, keeplive set(10 sec) 由於使用HDLC 協定和使用PPP 協定,其介面資料可能都很相似,因此可以透過上面這一行來辨識目前使用的到底是哪一個廣域網路協定。在本例中顯示Encapsulation PPP ,所以很明顯的目前使用的是PPP 協定。  
結語  
這篇文章介紹了PPP 協定的知識,包含PPP 協定的架構、PPP 協定的連線建立過程、所使用的認證協定以及在Cisco 路由器上的設定指令等等。對網路管理人員來說,如何將公司內部網路連線到廣域網路也是個相當重要的課題。連線到廣域網路的方式有很多種,網路管理人員要考慮很多因素,以便規劃使用哪一種方式來設定,例如服務供應商的網路種類、公司的連線需求等等。
(繼續閱讀...)
文章標籤

Frank 發表在 痞客邦 留言(0) 人氣(788)

  • 個人分類:
▲top
«1234...14»

About Me

Frank
暱稱:
Frank
分類:
數位生活
好友:
累積中
地區:

anobii

文章分類

toggle 人的生活 (4)
  • SharePoint (6)
  • 思考 (2)
  • 電影 (1)
  • 音樂 (5)
toggle 宅的生活 (15)
  • ORACLE (1)
  • C# (5)
  • cisco (1)
  • 系統測試 (1)
  • Android (21)
  • MAC (1)
  • Hyper-V (2)
  • Windows Server (1)
  • Windows (15)
  • JAVA (4)
  • SQL Server (5)
  • 教學 (16)
  • 硬體 (8)
  • 問題 (16)
  • 軟體 (12)
  • 未分類文章 (1)

最新文章

  • [VM] 網路模式 (Host-only, NAT, Bridge) 差異性
  • [電影] 人間師格 Detachment
  • [Share Point] 啟動SharePoint 2010 Session 機制
  • [Share Point] WebPart 開發
  • [Share Point] SmartPart 安裝及佈署
  • [Share Point] 隱藏SharePoint2010 Dialoag視窗中的Ribbon
  • [Share Point] 自訂義導覽MENU
  • [AJAX] ModalPopupExtender 實作 (彈出版權同意視窗)
  • [C#] Fileupload 加入副檔名過濾
  • [Android] Line 免費表情符號下載

文章搜尋

參觀人氣

  • 本日人氣:
  • 累積人氣: