四、常見的網路架構
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
留言列表