文章出處

摘自:http://jpkc.nwpu.edu.cn/jp2006/rjjs/work/dzjc/rppt/chap08/08CH0003.HTM

 

  計算機網絡是一個復雜的具有綜合性技術的系統,為了允許不同系統實體互連和互操作,不同系統的實體在通信時都必須遵從相互均能接受的規則,這些規則的集合稱為協議(Protocol)。

    系統指計算機、終端和各種設備。

    實體指各種應用程序,文件傳輸軟件,數據庫管理系統,電子郵件系統等。

    互連指不同計算機能夠通過通信子網互相連接起來進行數據通信。

    互操作指不同的用戶能夠在通過通信子網連接的計算機上,使用相同的命令或操作,使用其它計算機中的資源與信息,就如同使用本地資源與信息一樣。

計算機網絡體系結構為不同的計算機之間互連和互操作提供相應的規范和標準。

 

8.2.1 層次結構

  計算機網絡體系結構可以定義為是網絡協議的層次劃分與各層協議的集合,圖8.2給出了網絡體系結構中協議、層,服務與接口之間的關系。

  圖8.2中,同一層中的協議根據該層所要實現的功能來確定。各對等層之間的協議功能由相應的底層提供服務完成。

  層次化的網絡體系的優點在于每層實現相對獨立的功能,層與層之間通過接口來提供服務,每一層都對上層屏蔽如何實現協議的具體細節,使網絡體系結構作到與具體物理實現無關。層次結構允許連接到網絡的主機和終端型號、性能可以不一,但只要遵守相同的協議即可以實現互操作。高層用戶可以從具有相同功能的協議層開始進行互連,使網絡成為開放式系統。這里"開放”指按照相同協議任意兩系統之間可以進行通信。因此層次結構便于系統的實現和便于系統的維護。

  對于不同系統實體間互連互操作這樣一個復雜的工程設計問題,如果不采用分層次分解處理,則會產生由于任何錯誤或性能修改而影響整體設計的弊端。

  相鄰協議層之間的接口包括兩相鄰協議層之間所有調用和服務的集合,服務是第i層向相鄰高層提供服務,調用是相鄰高層通過原語或過程調用相鄰低層的服務。


圖8.2  計算機網絡層次結構

  

  對等層之間進行通信時,數據傳送方式并不是由第i層發方直接發送到第i層收方。而是每一層都把數據和控制信息組成的報文分組傳輸到它的相鄰低層,直到物理傳輸介質。接收時,則是每一層從它的相鄰低層接收相應的分組數據,在去掉與本層有關的控制信息后,將有效數據傳送給其相鄰上層。

 

8.2.2  ISO/OSI網絡體系結構

 

  國際標準化組織ISO(International Standards Organization)在80年代提出的開放系統互聯參考模型OSI(Open System Interconnection),這個模型將計算機網絡通信協議分為七層。這個模型是一個定義異構計算機連接標準的框架結構,其具有如下特點:

    ①網絡中異構的每個節點均有相同的層次,相同層次具有相同的功能。

    ②同一節點內相鄰層次之間通過接口通信。

    ③相鄰層次間接口定義原語操作,由低層向高層提供服務。

    ④不同節點的相同層次之間的通信由該層次的協議管理,

    ⑤每層次完成對該層所定義的功能,修改本層次功能不影響其它層、

    ⑥僅在最低層進行直接數據傳送。

    ⑦定義的是抽象結構,并非具體實現的描述。

  OSI網絡體系結構如圖8.3所示。在OSI網絡體系結構中、除了物理層之外,網絡中數據的實際傳輸方向是垂直的。數據由用戶發送進程發送給應用層,向下經表示層、會話層等到達物理層,再經傳輸媒體傳到接收端,由接收端物理層接收,向上經數據鏈路層等到達應用層,再由用戶獲取。數據在由發送進程交給應用層時,由應用層加上該層有關控制和識別信息,再向下傳送,這一過程一直重復到物理層。在接收端信息向上傳遞時,各層的有關控制和識別信息被逐層剝去,最后數據送到接收進程。

  現在一般在制定網絡協議和標準時,都把ISO/OSI參考模型作為參照基準,并說明與該參照基準的對應關系。例如,在IEEE802局域網LAN標準中,只定義了物理層和數據鏈路層,并且增強了數據鏈路層的功能。在廣域網WAN協議中,CCITT的X.25建議包含了物理層、數據鏈路層和網絡層等三層協議。一般來說,網絡的低層協議決定了一個網絡系統的傳輸特性,例如所采用的傳輸介質、拓撲結構及介質訪問控制方法等,這些通常由硬件來實現;網絡的高層協議則提供了與網絡硬件結構無關的,更加完善的網絡服務和應用環境,這些通常是由網絡操作系統來實現的。

圖8.3  ISO/OSI參考模型

 

1.物理層(Physical Layer)

物理層建立在物理通信介質的基礎上,作為系統和通信介質的接口,用來實現數據鏈路實體間透明的比特 (bit) 流傳輸。只有該層為真實物理通信,其它各層為虛擬通信。物理層實際上是設備之間的物理接口,物理層傳輸協議主要用于控制傳輸媒體。

   (1)物理層的特性

    物理層提供與通信介質的連接,提供為建立、維護和釋放物理鏈路所需的機械的、電氣的、功能的和規程的特性,提供在物理鏈路上傳輸非結構的位流以及故障檢測指示。物理層向上層提供位 (bit) 信息的正確傳送。

    其中機械特性主要規定接口連接器的尺寸、芯數和芯的位置的安排、連線的根數等。電氣特性主要規定了每種信號的電平、信號的脈沖寬度、允許的數據傳輸速率和最大傳輸距離。功能特性規定了接口電路引腳的功能和作用。規程特性規定了接口電路信號發出的時序、應答關系和操作過程,例如,怎樣建立和拆除物理層連接,是全雙工還是半雙工等。

   (2)物理層功能

    為了實現數據鏈路實體之間比特流的透明傳輸,物理層應具有下述功能:

    ①物理連接的建立與拆除

    當數據鏈路層請求在兩個數據鏈路實體之間建立物理連接時,物理層能夠立即為它們建立相應的物理連接。若兩個數據鏈路實體之間要經過若干中繼數據鏈路實體時,物理層還能夠對這些中繼數據鏈路實體進行互聯,以建立起一條有效的物理連接。當物理連接不再需要時,由物理層立即拆除。

    ②物理服務數據單元傳輸

    物理層既可以采取同步傳輸方式,也可以采取異步傳輸方式來傳輸物理服務數據單元。

    ③物理層管理

    對物理層收發進行管理,如功能的激活 (何時發送和接收、異常情況處理等)、差錯控制 (傳輸中出現的奇偶錯和格式錯)等。

2.數據鏈路層

  數據鏈路層為網絡層相鄰實體間提供傳送數據的功能和過程;提供數據流鏈路控制;檢測和校正物理鏈路的差錯。物理層不考慮位流傳輸的結構,而數據鏈路層主要職責是控制相鄰系統之間的物理鏈路,傳送數據以幀為單位,規定字符編碼、信息格式,約定接收和發送過程,在一幀數據開頭和結尾附加特殊二進制編碼作為幀界識別符,以及發送端處理接收端送回的確認幀,保證數據幀傳輸和接收的正確性,以及發送和接收速度的匹配,流量控制等。

   (1)數據鏈路層的目的

    提供建立、維持和釋放數據鏈路連接以及傳輸數據鏈路服務數據單元所需的功能和過程的手段。數據鏈路連接是建立在物理連接基礎上的,在物理連接建立以后,進行數據鏈路連接的建立和數據鏈路連接的拆除。具體說,每次通信前后,雙方相互聯系以確認一次通信的開始和結束,在一次物理連接上可以進行多次通信。數據鏈路層檢測和校正在物理層出現的錯誤。

   (2)數據鏈路層的功能和服務

    數據鏈路層的主要功能是為網絡層提供連接服務,并在數據鏈路連接上傳送數據鏈路協議數據單元L-PDU,一般將L-PDU稱為幀。數據鏈路層服務可分為以下三種:

    ①無應答、無連接服務。發送前不必建立數據鏈路連接,接收方也不做應答,出錯和數據丟失時也不做處理。這種服務質量低,適用于線路誤碼率很低以及傳送實時性要求高的 (例如語音類的)信息等。

    ②有應答、無連接服務。當發送主機的數據鏈路層要發送數據時,直接發送數據幀。目標主機接收數據鏈路的數據幀,并經校驗結果正確后,向源主機數據鏈路層返回應答幀;否則返回否定幀,發送端可以重發原數據幀。這種方式發送的第一個數據幀除傳送數據外,也起數據鏈路連接的作用。這種服務適用于一個節點的物理鏈路多或通信量小的情況,其實現和控制都較為簡單。

    ③面向連接的服務。該服務一次數據傳送分為三個階段:數據鏈路建立,數據幀傳送和數據鏈路的拆除。數據鏈路建立階段要求雙方的數據鏈路層作好傳送的準備;數據傳送階段是將網絡層遞交的數據傳送到對方;數據鏈路拆除階段是當數據傳送結束時,拆除數據鏈路連接。這種服務的質量好,是ISO/OSI參考模型推薦的主要服務方式。

   (3)數據鏈路數據單元

    數據鏈路層與網絡層交換數據格式為服務數據單元。數據鏈路服務數據單元,配上數據鏈路協議控制信息,形成數據鏈路協議數據單元。

數據鏈路層能夠從物理連接上傳輸的比特流中,識別出數據鏈路服務數據單元的開始和結束,以及識別出其中的每個字段,實現正確的接收和控制。能按發送的順序傳輸到相鄰結點。

   (4)數據鏈路層協議

    數據鏈路層協議可分為面向字符的通信規程和面向比特的通信規程。

    面向字符的通信規程是利用控制字符控制報文的傳輸。報文由報頭和正文兩部分組成。報頭用于傳輸控制,包括報文名稱、源地址、目標地址、發送日期以及標識報文開始和結束的控制字符。正文則為報文的具體內容。目標節點對收到的源節點發來的報文,進行檢查,若正確,則向源節點發送確認的字符信息;否則發送接收錯誤的字符信息。

    面向比特的通信規程典型是以幀為傳送信息的單位,幀分為控制幀和信息幀。在信息幀的數據字段 (即正文)中,數據為比特流。比特流用幀標志來劃分幀邊界,幀標志也可用作同步字符。

3.網絡層(Net Work Layer)

  廣域網絡一般都劃分為通信子網和資源子網,物理層、數據鏈路層和網絡層組成通信子網,網絡層是通信子網的最高層,完成對通信子網的運行控制。網絡層和傳輸層的界面,既是層間的接口,又是通信子網和用戶主機組成的資源子網的界限,網絡層利用本層和數據鏈路層、物理層兩層的功能向傳輸層提供服務。                                  

    數據鏈路層的任務是在相鄰兩個節點間實現透明的無差錯的幀級信息的傳送,而網絡層則要在通信子網內把報文分組從源節點傳送到目標節點。在網絡層的支持下,兩個終端系統的傳輸實體之間要進行通信,只需把要交換的數據交給它們的網絡層便可實現。至于網絡層如何利用數據鏈路層的資源來提供網絡連接,對傳輸層是透明的。

網絡層控制分組傳送操作,即路由選擇,擁塞控制、網絡互連等功能,根據傳輸層的要求來選擇服務質量,向傳輸層報告未恢復的差錯。網絡層傳輸的信息以報文分組為單位,它將來自源的報文轉換成包文,并經路徑選擇算法確定路徑送往目的地。網絡層協議用于實現這種傳送中涉及的中繼節點路由選擇、子網內的信息流量控制以及差錯處理等。

   (1)網絡層功能

    網絡層的主要功能是支持網絡層的連接。網絡層的具體功能如下:

    ①建立和拆除網絡連接

    在數據鏈路層提供的數據鏈路連接的基礎上,建立傳輸實體間或者若干個通信子網的網絡連接。互連的子網可采用不同的子網協議。

    ②路徑選擇、中繼和多路復用

    網際的路徑和中繼不同與網內的路徑和和中繼,網絡層可以在傳輸實體的兩個網絡地址之間選擇一條適當的路徑,或者在互連的子網之間選擇一條適當的路徑和中繼。并提供網絡連接多路復用的數據鏈路連接,以提高數據鏈路連接的利用率。

    ③分組、組塊和流量控制

    數據分組是指將較長的數據單元分割為一些相對較小的數據單元;數據組塊是指將一些相對較小的數據單元組成塊后一起傳輸。用以實現網絡服務數據單元的有序傳輸,以及對網絡連接上傳輸的網絡服務數據單元進行有效的流量控制,以免發生信息"堵塞"現象。     

    ④差錯的檢測與恢復

    利用數據鏈路層的差錯報告,以及其他的差錯檢測能力來檢測經網絡連接所傳輸的數據單元,檢測是否出現異常情況。并可以從出錯狀態中解脫出來。

   (2)數據報和虛電路

    網絡層中提供兩種類型的網絡服務,即無連接服務和面向連接的服務。它們又被稱為數據報服務和虛電路服務。

    ①數據報 (Datagram)服務

  在數據報方式,網絡層從傳輸層接受報文,拆分為報文分組,并且獨立地傳送,因此數據報格式中包含有源和目標節點的完整網絡地址、服務要求和標識符。發送時,由于數據報每經過一個中繼節點時,都要根據當時情況按照一定的算法為其選擇一條最佳的傳輸路徑,因此,數據報服務不能保證這些數據報按序到達目標節點,需要在接收節點根據標識符重新排序。

  數據報方式對故障的適應性強,若某條鏈路發生故障,則數據報服務可以繞過這些故障路徑而另選擇其他路徑,把數據報傳送至目標節點。數據報方式易于平衡網絡流量,因為中繼節點可為數據報選擇一條流量較少的路由,從而避開流量較高的路由。數據報傳輸不需建立連接,目標節點在收到數據報后,也不需發送確認,因而是一種開銷較小的通信方式。但是發方不能確切地知道對方是否準備好接收、是否正在忙碌,故數據報服務的可靠性不是很高。而且數據報發送每次都附加源和目標主機的全網名稱降低了信道利用率。

    ②虛電路 (Virtue Circuit) 服務

  在虛電路傳輸方式下,在源主機與目標主機通信之前,必須為分組傳輸建立一條邏輯通道,稱為虛電路。為此,源節點先發送請求分組Call-Request,Call-Request包含了源和目標主機的完整網絡地址。Call-Request途徑每一個通信網絡節點時,都要記下為該分組分配的虛電路號,并且路由器為它選擇一條最佳傳輸路由發往下一個通信網絡節點。當請求分組到達目標主機后,若它同意與源主機通信,沿著該虛電路的相反方向發送請求分組Call-Request給源節點,當在網絡層為雙方建立起一條虛電路后,每個分組中不必再填上源和目標主機的全網地址,而只需標上虛電路號,即可以沿著固定的路由傳輸數據。當通信結束時,將該虛電路拆除。

  虛電路服務能保證主機所發出的報文分組按序到達。由于在通信前雙方已進行過聯系,每發送完一定數量的分組后,對方也都給予了確認,故可靠性較高。

    ③路由選擇

    網絡層的主要功能是將分組從源節點經過選定的路由送到目標節點,分組途經多個通信網絡節點造成多次轉發,存在路由選擇問題。路由選擇或稱路徑控制,是指網絡中的節點根據通信網絡的情況 (可用的數據鏈路、各條鏈路中的信息流量),按照一定的策略 (傳輸時間最短、傳輸路徑最短等)選擇一條可用的傳輸路由,把信息發往目標節點。

    網絡路由選擇算法是網絡層軟件的一部分,負責確定所收到的分組應傳送的路由。當網絡內部采用無連接的數據報方式時,每傳送一個分組都要選擇一次路由。當網絡層采用虛電路方式時,在建立呼叫連接時,選擇一次路徑,后繼的數據分組就沿著建立的虛電路路徑傳送,路徑選擇的頻度較低。

    路由選擇算法可分為靜態算法和動態算法。靜態路由算法是指總是按照某種固定的規則來選擇路由,例如,擴散法、固定路由選擇法、隨機路由選擇法和流量控制選擇法。動態路由算法是指根據拓撲結構以及通信量的變化來改變路由,例如,孤立路由選擇法、集中路由選擇法、分布路由選擇法、層次路由選擇法等

4.傳輸層(Transport Layer)

  從傳輸層向上的會話層、表示層、應用層都屬于端一端的主機協議層。傳輸層是網絡體系結構中最核心的一層,傳輸層將實際使用的通信子網與高層應用分開。從這層開始,各層通信全部是在源與目標主機上的各進程間進行的,通信雙方可能經過多個中間節點。傳輸層為源主機和目標主機之間提供性能可靠、價格合理的數據傳輸。具體實現上是在網絡層的基礎上再增添一層軟件,使之能屏蔽掉各類通信子網的差異,向用戶提供一個通用接口,使用戶進程通過該接口,方便地使用網絡資源并進行通信。

(1) 傳輸層功能

  傳輸層獨立于所使用的物理網絡,提供傳輸服務的建立、維護和連接拆除的功能;選擇網絡層提供的最適合的服務。傳輸層接收會話層的數據,分成較小的信息單位,再送到網絡層,實現兩傳輸層間數據的無差錯透明傳送。

  傳輸層可以使源與目標主機之間以點對點的方式簡單地連接起來。真正實現端一端間可靠通信。傳輸層服務是通過服務原語提供給傳輸層用戶(可以是應用進程或者會話層協議),傳輸層用戶使用傳輸層服務是通過傳送服務端口TSAP實現的。當一個傳輸層用戶希望與遠端用戶建立連接時,通常定義傳輸服務訪問點TSAP。提供服務的進程在本機TSAP端口等待傳輸連接請求,當某一節點機的應用程序請求該服務時,向提供服務的節點機的TSAP端口發出傳輸連接請求,并表明自己的端口和網絡地址。如果提供服務的進程同意,就向請求服務的節點機發確認連接,并對請求該服務的應用程序傳遞消息,應用程序收到消息后,釋放傳輸連接。

  傳輸層提供面向連接和無連接兩種類型的服務。這兩種類型的服務和網絡層的服務非常相似。傳輸層提供這兩種類型服務的原因是因為,用戶不能對通信子網加以控制,無法通過使用通信處理機來改善服務質量。傳輸層提供比網絡層更可靠的端一端間數據傳輸,更完善的查錯糾錯功能。傳輸層之上的會話層、表示層、應用層都不包含任何數據傳送的功能。

   (2)傳輸層協議類型

    傳輸層協議和網絡層提供的服務有關。網絡層提供的服務于越完善,傳輸層協議就越簡單,網絡層提供的服務越簡單,傳輸層協議就越復雜。傳輸層服務可分成五類:

    0類:提供最簡單形式的傳送連接,提供數據流控制。

    1類:提供最小開銷的基本傳輸連接,提供誤差恢復。

    2類:提供多路復用,允許幾個傳輸連接多路復用一條鏈路。

3類:具有0類和1類的功能,提供重新同步和重建傳輸連接的功能。

    4類:用于不可靠傳輸層連接,提供誤差檢測和恢復。

    基本協議機制包括建立連接、數據傳送和拆除連接。傳輸連接涉及四種不同類型的標識:

    用戶標識:即服務訪問點SAP,允許實體多路數據傳輸到多個用戶。

    網絡地址:標識傳輸層實體所在的站。

    協議標識:當有多個不同類型的傳輸協議的實體,對網絡服務標識出不同類型的協議。

    連接標識:標識傳送實體,允許傳輸連接多路復用。

5.會話層(Session Layer)

    會話是指兩個用戶進程之間的一次完整通信。會話層提供不同系統間兩個進程建立、維護和結束會話連接的功能;提供交叉會話的管理功能,有一路交叉、兩路交叉和兩路同時會話的3種數據流方向控制模式。會話層是用戶連接到網絡的接口。

   (1)會話層的主要功能

    會話層的目的是提供一個面向應用的連接服務。建立連接時,將會話地址映射為傳輸地址。會話連接和傳輸連接有三種對應關系,一個會話連接對應一個傳輸連接;多個會話連接建立在一個傳輸連接上;一個會話連接對應多個傳輸連接。

    數據傳送時,可以進行會話的常規數據、加速數據、特權數據和能力數據的傳送。

會話釋放時,允許正常情況下的有序釋放;異常情況下由用戶發起的異常釋放和服務提供者發起的異常釋放。

    (2)會話活動

  會話服務用戶之間的交互對話可以劃分為不同的邏輯單元,每個邏輯單元稱為活動。每個活動完全獨立于它前后的其他活動,且每個邏輯單元的所有通信不允許分隔開。

  會話活動由會話令牌來控制,保證會話有序進行。會話令牌分為四種,數據令牌、釋放令牌、次同步令牌和主同步令牌。令牌是互斥使用會話服務的手段。

  會話用戶進程間的數據通信一般采用交互式的半雙工通信方式。由會話層給會話服務用戶提供數據令牌來控制常規數據的傳送,有數據令牌的會話服務用戶才可發送數據,另一方只能接收數據。當數據發完之后,就將數據令牌轉讓給對方,對方也可請求令牌。

(3)會話同步

  在會話服務用戶組織的一個活動中,有時要傳送大量的信息,如將一個文件連續發送給對方,為了提高數據發送的效率,會話服務提供者允許會話用戶在傳送的數據中設置同步點。一個主同步點表示前一個對話單元的結束及下一個對話單元的開始。在一個對話單元內部或者說兩個主同步點之間可以設置次同步點,用于會話單元數據的結構化。當會話用戶持有數據令牌、次同步令牌和主同步令牌時就可在發送數據流中用相應的服務原語設置次同步點和主同步點。

  一旦出現高層軟件錯誤或不符合協議的事件則發生會話中斷,這時會話實體可以從中斷處返回到一個已知的同步點繼續傳送,而不必從文件的開頭恢復會話。會話層定義了重傳功能,重傳是指在已正確應答對方后,在后期處理中發現出錯而請求的重傳,又稱為再同步。為了使發送端用戶能夠重傳,必須保存數據緩沖區中已發送的信息數據,將重新同步的范圍限制在一個對話單元之內,一般返回到前一個次同步點,最多返回到最近一個主同步點。

6.表示層(Presentation Layer)

    表示層的目的是處理信息傳送中數據表示的問題。由于不同廠家的計算機產品常使用不同的信息表示標準,例如在字符編碼、數值表示、字符等方面存在著差異。如果不解決信息表示上的差異,通信的用戶之間就不能互相識別。因此,表示層要完成信息表示格式轉換,轉換可以在發送前,也可以在接收后,也可以要求雙方都轉換為某標準的數據表示格式。所以表示層的主要功能是完成被傳輸數據表示的解釋工作,包括數據轉換、數據加密和數據壓縮等。表示層協議主要功能有:為用戶提供執行會話層服務原語的手段;提供描述負載數據結構的方法;管理當前所需的數據結構集和完成數據的內部與外部格式之間的轉換。例如,確定所使用的字符集、數據編碼以及數據在屏幕和打印機上顯示的方法等。表示層提供了標準應用接口所需要的表示形式。

7.應用層(Application Layer)

    應用層作為用戶訪問網絡的接口層,給應用進程提供了訪問OSI環境的手段。

    應用進程借助于應用實體 (AE)、實用協議和表示服務來交換信息,應用層的作用是在實現應用進程相互通信的同時,完成一系列業務處理所需的服務功能。當然這些服務功能與所處理的業務有關。

    應用進程使用OSI定義和通信功能,這些通信功能是通過OSI參考模型各層實體來實現的。應用實體是應用進程利用OSI通信功能的唯一窗口。它按照應用實體間約定的通信協議 (應用協議),傳送應用進程的要求,并按照應用實體的要求在系統間傳送應用協議控制信息,有些功能可由表示層和表示層以下各層實現。

  應用實體由一個用戶元素和一組應用服務元素組成。用戶元素是應用進程在應用實體內部,為完成其通信目的,需要使用的那些應用服務元素的處理單元。實際上,用戶元素向應用進程提供多種形式的應用服務調用,而每個用戶元素實現一種特定的應用服務使用方式。用戶元素屏蔽應用的多樣性和應用服務使用方式的多樣性,簡化了應用服務的實現。應用進程完全獨立于OSI環境,它通過用戶元素使用OSI服務。

  應用服務元素可分為兩類,公共應用服務元素 (CASE)和特定應用服務元素 (SASE)。公共應用服務元素是用戶元素和特定應用服務元素公共使用的部分,提供通用的最基本的服務,它使不同系統的進程相互聯系并有效通信。它包括聯系控制元素、可靠傳輸服務元素、遠程操作服務元素等;特定應用服務元素提供滿足特定應用的服務。包括虛擬終端、文件傳輸和管理、遠程數據庫訪問、作業傳送等。對于應用進程和公共應用服務元素來說,用戶元素具有發送和接收能力。對特定服務元素來說,用戶元素是請求的發送者,也是響應的最終接收者。


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()