close

 

四、常見的網路架構

1. 星狀架構

  架構最簡易,可靠度最高架構。網路工作站集中連接於網路集線器,任何一台主機出了問題會自動隔離,不會影響網路其它工作站運作。由於架構簡單,易於維護與管理,是目前使用最多的網路架構。

  網路集線器 (HUB)將網路各個節點連結起來,轉介網路訊號的裝置。市面上常見的 HUB廠排眾多,有提供 4 個埠,8 個埠,12 個埠,16 個埠,24 個埠甚至高達 48 個埠。所 謂 埠 (port)即為訊號進入或發出點,類似網路協定層中所談的資料存取點(access point)。目前技術已進步到能提供 100-155 mbps 速度之交換式集線器 (switching HUB)。

2. 環狀架構

  有工作站主機連接成環狀 (Ring), 透過所謂網路權杖 (Token)或稱為圖騰循環網路,以決定那一台工作站主機擁有網路權利。此種架構為 IEEE 所訂定的標準,即 IEEE 802.4 的圖騰巴士 (Token Bus) 或稱為圖騰匯流排 與 IEEE 802.5 圖騰環 (Token Ring) 網路。

 

3. 匯流排架構

  透過網路同軸電纜線將分散各個位置電腦主機串接成網路系統。其最主要缺點是網路可靠性問題。萬一網路上任何主機故障或是電纜線斷裂,或是網路連接器與接頭鬆脫或損換,均會造成網路運作失靈。巴士型的架構又稱為匯流排架構。

 

五、OSI

  有好幾個主要電腦廠家,如 IBM、DEC、Burroughs 等,都有設計它們各自的網路結構和通訊協定,如果採用這些設計的機器,在其各自的網路上面運作良好,但卻不能在不同廠家的機器之間進行溝通。為了解決這個問題,International Standardization Organisation (ISO) 於 1978 年開始開發一套標準架構,終於成功推出 Reference Model for Open System Interconnection (OSI) 作為其標準,它提供了一個很有用的模型去解釋各個不同層面的網路協定。

1.           實體層

  在這層裡面您必須作出一些機械和電子方面的決定,也就是要定義出在終端和網絡之間要使用的設備。同時,採用何種佈線也要在這裡決定出來。

2.           資料連接層

  在這層指定了要採用的信息單元(message unit)是什麼,通常在 LAN 上面的信息單元被稱為 frame 。以及它們的格式、和如何穿越網路。每一個 packet 都會被賦予一個位址碼和偵錯監測值(checksum)。有一個 Binary synchronous communications 協定,會判定出一個封包如果在丟失的情況下,要等待多久會被重新發送,這個協定也是在這層裡面定義。

  總體來說,這層的工作就是保證一個無錯誤的物理上的數據傳輸。

3.           網路層

  這層就好比是一個中間人界乎於網絡功能和使用者功能之間。它會定義出封包在網路中移動的路由和其處理過程,這層還決定了網路是如何進行管理功能的,比如,發送狀態信息給接點和規範封包的流動等。

  一個有趣的事情是,網路層還能將底層協定(網路功能)對上層協定(使用者功能)隱藏起來。這樣,在網路的使用者就可以使用不同種類的硬體了。假如您用來建置網的材料都不盡相同的話,這是非常好的事情。

  在底下的三層之上,還有四層是屬于使用者功能範圍的,不過它們也常常會被整合在一起。您要記住的一點是:無論程式設計者如何定義這些協定,(例如,把它們分為兩層或四層),這四層在實際上都會被執行的。

4.           傳送層

  在這層,將會設定節點位址的傳達,還有錯誤檢測和修正的方法。

5.           會談層

  這層定義了如何連接和掛斷連接,和在網路上面的數據如何交換。

6.           表現層

  在這層,定義了數據的語法(syntax)、變更、和格式。當應用程式的語法和格式都不同的時候,這層還將定義了如何翻譯這些不同。

7.           應用層

  這是最後一層了,它定義了應用程式是如何進入 OSI 模式進行傳送。它自己並不屬於應用程式,但它支持使用者的應用程式,如:檔案傳送、密碼驗證、和網路工具等。

六、TCP/IP

  若說起歷史,TCP/IP 也算得上是個冷戰時代的產物,它是應美國國防部的戰爭考量而提出開發的。TCP/IP 當初是用來配合 ARPANET (Advanced Research Projects Agency Network) 來處理不同硬體之間的連接問題的,比如 Sun 系統和 Mainframe、Mainframe 和個人電腦之間的連接。 事實上,TCP/IP 所指的是一整套龐大的通訊協定家族,其中以 Transmission Control Protocol(TCP) 及 Internet Protocol (IP) 這兩套協定最具代表性。IP 協定工作於網路層(以後會繼續和大家探討 OSI 的網路層級),它提供了一套標準讓不同的網路有規則可循。當然,前提是您想使用 IP 從一個網路將封包路由到另一個網路。IP 在設計上可用來在 LAN-LAN 及 PC-PC 之間進行傳輸的。 您可以把 IP 看成是游戲規則,而 TCP 則用來詮釋這些規則的。雖然 TCP/IP 原先是專門為幾所大學和機構的使用而設計的,但現在 TCP/IP 已經成為最流行的通訊協定了,我們使用的 Internet 就是用 TCP/IP 來傳送封包的了。下面就讓我們看看 TCP/IP 是怎樣工作的: 假如您的公司在好些地方都有分公司,各自都有著自己的本地網路(LAN),在總公司跑的是 PC 網路,但分公司大部份都是用麥金塔電腦。當 Mac 有數據要傳送給 PC 的時候將會如何呢? 首先,TCP 會在這兩個平臺建立起一個可以提供全雙工檢錯(對雙向的數據都進行錯誤檢測)的連接。 接著,IP 制定好 Mac 和 PC 之間的溝通規則,TCP 與上層協定制定用以連接的埠( port )。到這裡為止,Mac 端已經準備好數據了,如果數據太大,就將之分拆成幾份較小的封包,並且在封包上面加上一個新的 header (內含轉送位址),確保封包會被正確傳送。TCP/IP 還會加上標籤說明數據的種類及其長度。 再下來,IP 協定將負責將封包傳送給 PC。 最後,在 PC 上面的 TCP 將封包解碼並翻譯成 PC 能夠懂的格式,也就是它自己所使用的網路協定。

 

IP 封包表頭格式

Version (4)

Internet Header Length (4)

Type of Service (8)

Total Length (16)

Identification (16)

Flags (3)

Fragment Offset (13)

Time To Live (8)

Protocol (8)

Header checksum (16)

Source Address (32)

Destination Address (32)

Options (Variable)

Padding (0-24)

Data
。。。。

           

  在上圖中,括號之內的數字就是各部件的長度 (bit),如果您夠細心,就會計算得出每一行的總長度都是 32bit。事實上,真正的封包是有連續的位元依序排列在一起的,之所以分行,完全是因為排版的關係。下面,我們分別對各部件名稱解釋一下

ü   Version

版本 (VER)。表示的是 IP 規格版本,目前的 IP 規格多為版本 4 (version 4),所以這裡的數值通常為 0x4 (注意:封包使用的數字通常都是十六進位的)。

ü   Internet Header Length

標頭長度 (IHL)。我們從 IP 封包規格中看到前面的 6 行為 header ,如果 Options 和 Padding沒有設定的話,也就只有5 行的長度﹔我們知道每行有 32bit ,也就是 4byt e﹔那麼, 5 列就是 20byte 了。20 這個數值換成 16 進位就成了 0x14,所以,當封包標頭長度為最短的時候,這裡數值會被換算為 0x14 。

ü   Type of Service

服務類型 (TOS)。這裡指的是 IP 封包在傳送過程中要求的服務類型,其中一共由 8 個 bit 組成,每組 bit 組合分別代表不同的意思:

ü   Total Length

封包總長 (TL)。通常以 byte 做單位來表示該封包的總長度,此數值包括標頭和數據的總和。

ü   Identification

識別碼 (ID)。每一個IP封包都有一個 16bit 的唯一識別碼。我們從 OSI 和 TCP/IP 的網路層級知識裡面知道:當程式產生的數據要通過網路傳送時,都會在傳送層被拆散成封包形式發送,當封包要進行重組的時候,這個 ID 就是依據了。

ü   Flag

旗標 (FL)。這是當封包在傳輸過程中進行最佳組合時使用的 3 個 bit 的識別記號。

ü   Fragment Offset

分割定位 (FO)。當一個大封包在經過一些傳輸單位(MTU)較小的路徑時,會被被切割成碎片(fragment) 再進行傳送(這個切割和傳送層的打包有所不同,它是由網路層決定的)。由於網路情況或其它因素影響,其抵達順序並不會和當初切割順序一至的。所以當封包進行切割的時候,會為各片段做好定位記錄,所以在重組的時候,就能夠依號入座了。如果封包沒有被切割,那麼 FO 的值為“0”。

ü   Time To Live

存活時間 (TTL)。這個 TTL 的概念,在許多網路協定中都會碰到。當一個封包被賦予 TTL 值(以秒或跳站數目(hop)為單位),之後就會進行倒數計時。在 IP 協定中,TTL 是以 hop 為單位,每經過一個 router 就減一),如果封包 TTL 值被降為 0 的時候,就會被丟棄。這樣,當封包在傳遞過程中由於某些原因而未能抵達目的地的時候,就可以避免其一直充斥在網路上面。有隻叫做 traceroute 的程式,就是一個上佳的 TTL 利用實作,我們會在後面的章節裡面討論。 

ü   Protocol

協定(PROT)。這裡指的是該封包所使用的網路協定類型,例如:ICMP 或 TCP/UDP 等等。

ü   Header Checksum

標頭檢驗值(HC)。這個數值主要用來檢錯用的,用以確保封包被正確無誤的接收到。當封包開始進行傳送後,接收端主機會利用這個檢驗值會來檢驗餘下的封包,如果一切看來無誤,就會發出確認信息,表示接收正常。

ü   Source IP Address

來源位址(SA)。相信這個不用多解釋了,就是發送端的 IP 位址是也,長度為 32 bit。

ü   Destination IP Address

目的地位址(SA)。也就是接收端的 IP 位址,長度為 32 bit。

ü   SOptions & Padding

這兩個選項甚少使用,只有某些特殊的封包需要特定的控制,才會利用到。

來源自:藍眼科技有限公司 www.blueeyes.com.tw

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 cutemiyake 的頭像
    cutemiyake

    Love sharing local ❤

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