• 沒有找到結果。

第二章 遠端操作系統

2.1 相關網路協定與介面介紹

2.1.1 實體與資料連結層 : 乙太網路(Ethernet)

乙太網路(Ethernet)源自於 1973 年 Xerox 公司 Palo Alto Research Center 帕 羅奧托研究中心研發設計,起初速度僅 2.49Mbps 並只運用於 Xerox 公司內部。

直到 1982 年, DEC, Intel 和 Xerox 等三家公司共同發表了 Ethernet Version 2 規格 (EV2),此時頻寬已可達 10Mbps,與一般台灣現今家用網路相去不遠,Ethernet 也正式被投入市場,之後 IEEE 也根據 EV2 的內容略加修改後在 1983 年正式通 過了 802.3 CSMA/CD 規格。

乙太網路使用 CSMA/CD(載波感應多重存取及衝突偵測)方式來存取介質上 資料,在此方式中,每個節點在傳送資料前會先確認是否有其他節點正在傳送資 料,如果沒有的話,此節點即可將資料傳送到網路上,如果遇到網路上有許多節 點同時要傳送資料的情況,就會造成資料的碰撞,因此所有節點必須對網路狀態 進行”監聽”的動作,確認安全後再進行資料的傳送,但是意外也有可能會發生,

例如兩個節點同時決定要開始傳送資料,此時資料碰撞發生,所有節點即會放棄

11

接收到的資料,而原先欲傳送資料的節點會等待一隨機決定的時間(避免再次資 料碰撞)後再進行傳送資料動作。

而乙太網路的連結方式可以匯流排或是星狀方式連接,所有乙太網路的阻態 在邏輯上是一種匯流排。每個訊息框架(Frame)可由網路中任一節點傳送到網路 的另一節點中,特定的節點在確認標頭框架後(header)進行資料接受動作。而目 前使用最多的乙太網路實現方式為 10BASE-T(雙絞線乙太網路),10BASE-T 使 用星狀網路連接,速度為 10Mbps,最長傳輸距離為 100 公尺。除此之外另外有 10BASE5(粗纜乙太網路)與 10BASE2(細纜乙太網路),皆使用匯流排傳輸方式連 接。

目前使用最廣泛的為快速乙太網路(Fast Ethernet),於 1995 年由 IEEE 提出,

由於提高了最高速率與碰撞區間的大小,碰撞區間也比傳統 Ethernet 降低十倍。

Fast Ethernet 中定義了三種 100Mbps Ethernet 規格:100BASE-T4、100BASE-XT 與 100BASE-FX,其差別在於使用傳輸介質的不同與所需要傳輸線的數目。

2.1.2 網路與傳輸層 : TCP / IP 通訊協定[11]

TCP/IP 為連結網路上電腦主機之通訊協定,此協定最早發源於美國國防部 ARPA 網項目,TCP 全名為傳輸控制協定(transmission control protocol),而 IP 代 表網際網路協定(internet protocol)。TCP 在 OSI 的分類模型中屬於傳輸層,提供 了完整的傳輸服務給所需的應用程式;IP 則屬於網路層,對於每個在網路中的 主機給予一特定位址。以下針對細節部分做相關簡介:

(1)網際網路協定(IP)

在 TCP/IP 模型中,IP 屬於非可靠性、非預接式的資料封包協定,將資 料分割成許多較小的封包後進行傳送。封包傳送可以透過不同分割封包、不 同路徑,也可以不按順序到達甚至重複到達,當封包到達時,也沒有提供方 法將資料封包正確還原,這些問題都由上層協定負責,也就是 TCP 或 UDP,

12

而由於 UP 提供骨幹傳輸的功能,並且讓使用者自由加入所需要的功能,所 以這些限制並不應被視為缺點。

(2)傳輸控制協定(TCP)

TCP 為一種連結導向的、可靠的、基於位元組串流的傳送層通訊協定,

提供完整的傳輸服務給所需的應用程式,並且在應用層與網路層之間提供應 用程式與網路運作的中介服務。與 IP 最大的不同之處為,TCP 在傳送資料 時會要求對方在接收資料後回傳確認訊號,如果在某個時限內 TCP 沒有接 收到此訊號,即會開始重新進行封包的傳送,並且接收端如果接收到排序錯 誤的資料封包,TCP 會將其重新排序。而 TCP 也會使用滑動窗口(sliding window)的協定來做流量控制,TCP 總是告知對方它能夠接收資料的位元組 數。建立一個 TCP 連線,需要經過以下步驟:

1. 伺服器準備接收連線

2. 客戶端發起連線請求並傳送一 SYN 訊號給伺服器端

3. 伺服器確認 SYN 訊號後,同時回傳一個 SYN 訊號,並進行確認動作 4. 客戶端確認伺服器送來的 SYN 訊號

而中止連線時一般需要四個步驟:

1. 其中一方執行關閉,並由 TCP 向另一方傳送 FIN(結束)訊號 2. 接收方接收到結束訊號,並且由 TCP 回傳確認訊號

3. 接收方也執行關閉,此時同樣的也由 TCP 傳送一結束訊號 4. 原傳送方接收到此結束訊號後,也由 TCP 回傳確認訊號

2.1.3 傳輸層到應用層之通訊界面 : Windows Sockets

Windows Sockets 是由 Microsoft 公司聯合 Intel、Sun、Informix、Novell 等公 司共同制定的一套開放的、支援多種協定並於 Windows 作業系統下的網路編程 介面。Windows Sockets 在 OSI 模型中,介於網路通訊協定(TCP/IP)與應用層之

13

間,應用程式透過呼叫 Windows Sockets API(application programming interface)來 實作資料通訊,利用下層的網路通訊協定、作業系統與實體介質完成了資料的傳 輸。Socket 即為應用層到傳輸層的介面,由於 TCP 或 UDP 可同時對多個應用程 式提供服務,而有時候可能會使用同一個 TCP 協定埠傳輸資料,為了區別不同 的連線和應用程式的行程,Socket 則為應用程式與 TCP/IP 協定交互的介面。使 用 TCP Socket 編程的流程圖如圖 2-1 所示:

圖 2-1 TCP Socket 客戶端/伺服器

首先客戶端在得知伺服器 IP 位址的前提下,伺服器首先進行 Windows Socket 的初始化,建立 Socket 後將伺服器綁訂(Bind)到一個已知的名字上,接下來進入 監聽(Listen)狀態,等待客戶端連線請求,收到客戶端連線請求後,伺服器透過 accept()函式接受此連線請求,即可開始進行資料通訊。對客戶端而言,首先發 出連線請求後,如果伺服器端接受了該請求並回傳確認訊號,就可以進行資料通 訊。

14

相關文件