Download presentation
Presentation is loading. Please wait.
1
1.1 1.6 1.2 1.8 1.3 1.4 1.5 什麼是網際網路? 面臨攻擊的網路 網路邊際 總結 網路核心
封包交換網路的延遲、遺失與產出率 1.4 協定層級與其服務模型 1.5
2
本書的目標,就是提供你對於蓬勃發展的計算機網路領域一份最新的指引,以及你所需的基本守則與實用觀點,以讓你不只能了解今日的網路,也能夠了解未來的網路。
本書第1章呈現了一份關於計算機網路及網際網路的概觀。
3
說明一些基本術語及觀念以後,我們會先檢視組成網路的基本軟硬體。
從網路的邊際開始,觀察在網路中運作的終端系統與網路應用程式。 探索計算機網路的核心,檢視負責傳輸資料的連結與交換器,以及負責將終端系統連接至網路核心的連線網路與實體媒介。 網際網路是一個由網路所組成的網路。
4
會檢驗計算機網路中的延遲、漏失以及產出率,針對端點到端點產出率與延遲提供簡單的量化模型:這些模型會考量進傳輸延遲、傳播延遲以及佇列延遲。
介紹計算機網路一些關鍵的架構性原則,也就是所謂的協定分層和服務模型。 學到計算機網路很容易受各種不同的攻擊所侵擾;我們會審視其中一些攻擊,並考量要如何將計算機網路建造得更加安全。
5
1.1 何謂網路安全? 網際網路,一種特定的計算機網路。 什麼是網際網路? 描繪網際網路的基本元素,亦即組成網際網路的軟硬體基本元件。
1.1 何謂網路安全? 網際網路,一種特定的計算機網路。 什麼是網際網路? 描繪網際網路的基本元素,亦即組成網際網路的軟硬體基本元件。 將網際網路描繪為提供服務給分散式應用程式的基礎網絡設施。
7
1.1.1 關於基本元素的描述 網際網路是一種計算機網路。 計算機網路已經開始聽起來有些過時,因為有許多非傳統的裝置都連上了網際網路。
1.1.1 關於基本元素的描述 網際網路是一種計算機網路。 計算機網路已經開始聽起來有些過時,因為有許多非傳統的裝置都連上了網際網路。 這些裝置都稱作主機(host) 或終端系統(end system)。 終端系統是藉由通訊連結 (communicaton links) 與封包交換器 (packet switches)所構成的網路相連在一起。
8
通訊連結有多種型態,由不同類型的實體媒介所構成。
其中連結的資料傳輸率 (transmission rate) 是以每秒位元數為計量單位。 傳送端系統會將資料切分為區段,稱作封包 (packets)。 封包交換器會從其中一個向它而來的通訊連結取得抵達的封包,然後將該封包從其中一個向外通訊連結轉送出去。
9
在現今的網際網路裡最知名的兩種是路由路由器器 (router) 和連結層交換器(link-layer switch)。
連結層交換器通常會被使用在連線網路中,而路由器則通常會被使用在網路核心中。 封包從傳送端系統到接收端系統所經歷的一連串通訊連結及封包交換器,稱作封包通過網路的路由 (route) 或路徑 (path)。 封包交換網路 (它傳輸封包) 與由高速公路、一般道路及交流道所構成的運輸網路 (它運輸車輛) 有許多相似之處。
10
終端系統會透過網際網路服務供應商 (Internet Service Providers,ISP) 來存取網際網路,其中包括家用ISP(如地方性的有線電視或電話公司)、企業ISP、大學ISP等;還有在機場、旅館、咖啡店或其他公共場所提供WiFi連線的ISP。 網際網路的功能就是把終端系統連接在一起,所以提供連線服務給終端系統的ISP也必須彼此相連。
11
終端系統、封包交換器以及網際網路的其他元件,都會執行在網際網路中控制資訊傳送與接收的協定 (protocol)。
傳輸控制協定 (Transmission Control Protocol,TCP) 以及網際網路協定 (Internet Protocol,IP) 是網際網路上最重要的兩種協定。
12
網際網路標準 (Internet standards) 係由「網際網路工程工作小組 (Internet Engineering Task Force,IETF)」所開發 [IETF 2012]。
IETF標準文件被稱作建議需求 (requests for comments,RFC)。 也有其他團體會指定網路元件的標準,特別是針對網路連結的部分。例如,IEEE 802 LAN/MAN標準委員會 [IEEE ] 便制定了乙太網路 (乙太網路) 以及無線WiFi的標準 。
13
1.1.2 關於服務的描述 將其描述為提供服務給應用程式的基礎設施。這些應用程式包括電子郵件、網頁瀏覽、社交網路、即時訊息、網路電話 (VoIP)、影音串流、分散式遊戲、點對點 (peer-to-peer,P2P) 檔案分享、網路電視、遠端登入,以及許多更多的應用。這些應用是分散式應用(distributed applications)。 網際網路應用程式是在終端系統上執行。
14
應用程式的平台。 在某個終端系統上執行的軟體組件,要如何指揮網際網路遞送資料給在另一個終端系統上執行的另一個軟體組件? 連接在網際網路上的終端系統會提供應用程式介面 (Application Programming Interface,API),應用程式介面會規範在終端系統上執行的軟體組件要如何要求網際網路基礎設施遞送資料,交給在另一個終端系統上執行的特定目的端軟體組件。
15
郵政服務有其自己的「郵政服務API」,或一套自己的規矩,Alice必須遵循這套規矩以便讓郵政服務將她的信交給Bob。
類似地,網際網路也有一套API,傳送資料的軟體必須遵循此一API,以便讓網際網路能將資料遞送給會接收該筆資料的軟體。
16
1.1.3 什麼是協定? 人類的比喻 在人類的協定中,我們會送出特定的訊息,並且採取一些特定動作來回應所收到的回覆訊息或其它事件。
18
網路協定 協定定義了兩個以上的通訊實體間交換訊息的格式及順序,以及在傳送接收訊息或在發生其它事件時所要採取的動作。 網際網路,或廣義的計算機網路,都會大量地使用協定。不同的協定用來完成不同的通訊工作。
19
1.2 網路邊際 先從網路的邊際部分開始,檢視一些我們最熟悉的元件——意即我們每天都會使用的電腦、智慧型手機和其他裝置。
1.2 網路邊際 先從網路的邊際部分開始,檢視一些我們最熟悉的元件——意即我們每天都會使用的電腦、智慧型手機和其他裝置。 在計算機網路的行話中,連結到網際網路上的電腦或其他裝置,通常被稱作終端系統。
21
網際網路的終端系統包括桌上型電腦 (例如桌上型PC、麥金塔和Linux工作站)、伺服器 (例如網頁與電子郵件伺服器) 以及行動電腦 (例如可攜式電腦、智慧型手機和平板電腦)。此外,還有越來越多不同的裝置被連接到網路上,成為終端系統 (參見歷史案例)。
22
終端系統也被稱為主機 (host),因為它們會主持 (也就是執行) 應用程式。
也就是說,主機 = 終端系統。 有時候主機會被進一步分成兩大類: 用戶端 (client) 伺服器 (server)
23
1.2.1 連線網路 連線網路 (access network)──將終端系統,與從該終端系統到其他任何遠端系統之路徑上的第一具路由器 (也稱作「邊際路由器」),兩者相連的實體連結。 家用連線:DSL、纜線、FTTH、撥接與衛星
25
兩種最普遍的寬頻家用連線類型,是數位用戶迴路 (DSL) 與纜線。
26
DSL業者可能故意地限制家用的速率,取決於該家庭所用的速率服務層級 (高速要花高價),或是因為最大的速率會受限於家庭和CO之間的距離、雙絞線的等級和電氣干擾的程度。
DSL利用的是電信業者現有的地區性電話基礎設施,纜線網際網路連線 (cable Internet access) 利用的則是有線電視公司現有的有線電視基礎設施。住家會從提供有線電視服務的同一家公司取得纜線網際網路連線服務。
27
混合光纖同軸 (hybrid fiber coax,HFC)。
28
電纜網際網路連線需要特殊的數據機,稱作纜線數據機 (cable modem)。
電纜網際網路連線其中一項重要特性,就是它是一種共用的廣播媒介。 能提供更高速率的新興科技就是光纖到府 (fiber to the home,FTTH) 的安置。 正如其名,FTTH的概念很簡單—從CO處提供一條光纖路徑直接到家中。
29
每條從CO牽出來的光纖實際上是由多戶家庭所共用;一直到這條光纖相當接近這些家庭時,它才會被分開成個別用戶專屬的光纖。
主動式光纖網路 (active optical network,AON)與被動式光纖網路 (passive optical network,PON)。
31
FTTH有能力提供每秒數gigabit上下的網際網路連線速率。
在有些地區,DSL、纜線和FTTH都無法提供 (如鄉村地區),我們可以使用衛星連結。
32
在企業 (和家庭) 中的連線:乙太網路和 WiFi
在企業或大學校園中,和愈來愈多的家庭用戶,會使用區域網路 (local area network,LAN) 將終端系統連接到邊際路由器。 乙太網路在企業、大學網路和家用網路中仍然是最為普遍的連線技術。
34
愈來愈多人們用可攜式電腦、智慧型手機、平板電腦和其他裝置以無線的方式做網路連線。
無線LAN的使用者通常必須位於存取點數十公尺之內。基礎於IEEE 技術的無線LAN連線,亦即WiFi,現在幾乎無所不在——大專院校、辦公室、咖啡館、機場、家中、甚至飛機上都有它的蹤影。
35
許多家庭會結合寬頻家用連線 (亦即纜線數據機或DSL) 和廉價的無線LAN技術以建立功能強大的家庭網路。
36
廣域無線連線:3G和LTE 透過某蜂巢電話系統業者所經營的基地台使用和蜂巢電話系統相同的無線基礎架構來傳送∕接收封包。 不像WiFi的是,使用者只要位於以該基地台為中心方圓數十公里之內即可 (而非方圓數十尺之內)。 第三代 (3G) 無線技術 廣域無線網路的第四代 (4G)
37
1.2.2 實體媒介 從來源端移動到目的端時,我們的位元會經過一連串的傳輸端/接收端配對。對每一對傳輸端/接收端而言,位元是藉由跨越實體媒介 (physical medium) 上的電磁波或光脈衝來傳送的。 實體媒介的例子包括雙絞銅線、同軸電纜、多模光纖電纜 (multimode fiber-optic cable)、地表上的無線電頻譜和衛星無線電頻譜等。
38
實體媒介分成兩大類: 導引式媒介 (guided media) 非導引式媒介 (unguided media) 使用導引式媒介,電波會沿著固體媒介被引導,例如光纖電纜、雙絞銅線或同軸電纜。使用非導引式媒介,電波則會在大氣層或外太空中傳輸,例如無線LAN或數位衛星通道。
39
雙絞銅線 最便宜且最常被使用的導引式媒介就是雙絞銅線。 從電話筒到本地電話交換機的有線連結中,超過99%使用的都是雙絞銅線。 雙絞銅線是由兩條經絕緣處理的銅線所組成,每條銅線直徑約1 mm,被整理成規律的螺旋狀。兩條銅線會互絞在一起,以減少另一對雙絞線接近時造成的電磁干擾。
40
無遮蔽雙絞線 (Unshielded twisted pair,UTP) 通常會被使用於建築物內的計算機網路,也就是LAN。
現在的雙絞線技術,例如第6a類UTP,在遠達100 m的距離內都可以達到10 Gbps的資料傳輸速率。
41
同軸電纜 就像雙絞線一樣,同軸纜線也是由兩條銅製的導體組成,但是這兩條導體是以同軸排列,而非平行排列。 特殊的絕緣和屏蔽,同軸電纜可以得到較高的位元傳輸率。 同軸電纜可以使用為導引式的共用媒介 (shared medium)。
42
光纖 光纖是很細且具有彈性的介質,可傳導光的脈衝,其中每個脈衝都代表一個位元。可以支援極高的位元傳輸速率,不會受電磁波干擾。 許多長途電話網路只使用光纖搭建。光纖也普遍被使用在網際網路的主要骨幹上。 這些規格通常被稱作OC-n,其中連結速率等於 n × 51.8 Mbps。今日所使用的標準包括OC-1、OC-3、OC-12、OC-24、OC-48、OC-96、OC-192、OC-768。
43
地表無線電通道 無線電通道是利用電磁頻譜夾帶訊號。不需要安裝實體線路。無線電通道的特性大幅取決於載送訊號的傳播環境和傳送距離。 環境因素會決定路徑遺失 (path loss) 和遮蔽衰減 (shadow fading,指訊號傳輸一段距離並經過阻蔽的物體後,會減少的訊號強度)、多路徑衰減 (multipath fading,導因於干擾物體所造成的反射訊號),以及干擾 (導因於其它傳輸或電磁訊號)。
44
衛星無線電通道 通訊衛星會連結兩個以上建立在地面上的微波傳輸端/接收端 (稱作衛星地站)。 有兩種衛星會被用來進行通訊: 同步衛星 (geostationary satellite) 低軌道衛星 [low-earth orbiting (LEO) satellite]
45
同步衛星永遠保持在地面上空的固定位置。為了達到位置固定不變,衛星必須放置在地表上空36,000 km高的軌道上。
LEO衛星被放置地方會靠近地球許多,但不會一直保持在地球上空的固定位置。它們會繞地球旋轉 (如同月亮一般),也可能會彼此通訊,以及和地面地站通訊。
46
1.3 網路核心 網路的核心——也就是將網際網路終端系統相連在一起,由封包交換器與連結所構成的網絡。
48
1.3.1 封包交換 在一個網路的應用中,終端系統彼此互換訊息 (messages)。
來源處需要把很長的訊息切割成小型的資料塊,也就是所謂的封包 (packets)。
49
在訊息來源端和目的端之間,這些封包每個都會通過通訊連結和封包交換器 (packet switch) [其中有兩種主要的型態,即路由器 (routers) 和連結層交換器 (link-layer switches)]。 封包在每道通訊連結上,都會以相當於該連結最高的傳輸速率進行傳輸。
50
儲存轉送傳輸 大部分封包交換器都會在連結的輸入端使用儲存轉送傳輸 (store-and-forward transmission)。 儲存轉送傳輸意指交換器必須先接收到整個封包,才能夠開始將封包的第一個位元傳輸到外部連結。
51
路由器採用儲存轉送傳輸機制,在這個瞬間路由器無法傳出它已經接收到的位元;它必須要先緩衝 (即「儲存」) 該封包的位元。只有在路由器已經收到該封包的所有位元之後它才開始傳送 (即「轉送」) 該封包到向外連結。
52
佇列延遲與封包遺失 每具封包交換器都有多道連結與之相連。對於每道相連的連結,封包交換器都會有一份輸出緩衝區 (output buffer) [也稱作輸出佇列 (output queue)],儲存著路由器準備傳送給該連結的封包。 該道連結正忙著傳輸其它封包,則該份抵達的封包就必須在輸出緩衝區中等待。
53
封包也會遭遇輸出緩衝區的佇列延遲 (queuing delay)。這些延遲時間並不固定,取決於網路的壅塞程度為何。因為緩衝區空間有限,所以抵達的封包可能會發現緩衝區已經全部被其它等待傳輸的封包給佔滿了。在這種情況下,就會發生封包遺失 (packet loss)——這個剛抵達的封包,或某個已在佇列中的封包,可能會被丟棄。 圖1.12描繪了一個簡單的封包交換網路。
55
轉送表和繞送協定 路由器要怎麼決定它應當將封包從哪個連結轉送出去? 在網際網路中,每一個末端系統都有一個位址稱為IP位址,當某一來源末端系統想要傳送一個封包到一目的末端系統時,來源端會把目地端的IP位址寫入封包的標頭處。
56
當封包到達網路中的路由器時,路由器會檢查封包目的位址的其中一部分,然後將該封包轉送到相鄰的路由器。
每具路由器都有一份轉送表 (forwarding table),會將目的位址 (或目的位址的其中一部分) 對映到向外連結。
57
當封包抵達路由器時,路由器會檢查目的位址,並使用此位址搜尋轉送表,以找出適當的向外連結。
路由器會使用封包的目的位址作為轉送表的索引,以之來判斷適當的向外連結。 要怎麼建立轉送表? 網際網路有一些特殊的繞送協定 (routing protocols) 用來自動設定轉送表。
58
1.3.2 電路交換 要將資料搬移通過由連結與交換器構成的網路有兩種基本方式: 電路交換 (circuit switching)
封包交換 (packet switching) 在電路交換網路中,路徑上所有為了在終端系統間提供通訊所需的資源 (緩衝區、連線傳輸速率等),在終端系統間的整個通訊處理行程中都會被預約保留。
59
傳統的電話網路就是電路交換網路的例子。 在傳送者可以傳送資訊之前,網路必須先在傳送端和接收端之間建立連線。這是一種真正的連線,稱作迴路 (circuit)。 傳送端可以用受保障的固定速率傳輸資料給接收者。
60
圖1.13描繪了一組電路交換網路。為了讓主機A能夠傳送訊息給主機B,網路必須先在這兩道連結上各保留一條迴路。
61
考慮一台主機想要透過封包交換網路傳送一個封包到另外一台主機。
如果其中有某條連結因為同時也有其它封包要在該條連結上傳輸而導致壅塞,則我們的封包必須在該條傳輸連結傳送端的緩衝區中等待,而因此遭到延遲。網際網路會盡可能地即時傳送封包,但是它不提供任何保障。
62
電路交換網路的多工 連結中的迴路可以利用分頻多工 (frequency-division multiplexing,FDM) 或分時多工 (time-division multiplexing,TDM) 來實作。 使用FDM,連結的頻譜會被分配給該道連結上已建立的連線。 該道連結會在連線期間提供專用的頻帶給每一筆連線。 頻帶的寬度就稱作頻寬 (bandwidth)。
63
TDM的連結則會將時間切分成固定長度的時框 (frame),每個時框再切分成固定數目的時槽 (time slot)。當網路在連結上建立連線時,網路就會在每個時框中分配一個專用的時槽給該筆連線。
圖1.14描繪了最多支援四道迴路的特定網路連結的FDM與TDM。
65
封包交換的擁護者總是批評電路交換很浪費,因為專用迴路在沈靜期 (silent period) 會處於閒置狀態。
封包交換的擁護者也樂於指出,建立一條端點到端點的迴路,以及保留端點到端點的頻寬是一件複雜的事情,需要複雜的訊號軟體來協調端點到端點間路徑上交換器的運作。
66
封包交換較之於電路交換 封包交換的批評者經常質疑封包交換不適用於即時服務 (例如,電話和視訊會議),因為其端點到端點延遲並不固定,也無法預測 (主要是因為佇列延遲並不固定也無法預測)。 封包交換的擁護者則辯稱:(1)比起電路交換,封包交換提供更好的頻寬分享,並且(2)它比較簡單,比較有效率,而且實作成本比電路交換低。
67
電路交換不管需求為何,便會預先分配傳輸連結的使用,讓已被配置但是不被需要的連結時間閒置無用。
封包交換則會依需求來分配連結的使用。連結的傳輸容量是以逐封包為基礎進行共用,只有擁有封包需要透過該連結進行傳輸的使用者才能共用。
68
1.3.3 一群網路的網路 連線ISP它們本身也必須要相互的連接。這可由產生一群網路的一個網路來達成目的——了解這個術語是了解網際網路的關鍵。 最後的目標是要把連線ISP相互的連接,使得所有的終端系統可以彼此地互送封包。
69
真實的情況是,在任何給定的區域中,會有一個地區 (regional) ISP和在該區域中的連線ISP相連接。每一個地區ISP然後連接到第一層 (tier-1) ISPs。
舉例來說,在中國,在每一城市中會有一些連線ISP,它們連結到省級ISP,省級ISP再連接到國家級ISP,國家級ISP最後再連接到第一層ISP。
70
任一個 ISP (除了第一層ISP之外) 可以選擇多點上層連接 (multi-home),也就是說,連接到兩個或多個供應者ISP。
一對鄰近具相同層級的ISP可以對等 (peer),也就是說,它們可以直接地把它們的網路連接在一起,使得在它們兩者之間資訊流量可以透過該直接連線傳送而不用透過上層的媒介。 網際網路互換點 (Internet Exchange Point,IXP) 內容供應者網路 (content provider networks)
72
總的來說,今日的網際網路—一群網路的網路—是複雜的,由一打左右的第一層ISP和數十萬個較低層ISP所構成。
較低層的ISP會連接到較高層的ISP,較高層的ISP則會彼此相互連接。 在最近這幾年,大型的內容供應者也已經產生出它們自己的網路,並盡可能的直接地連接到較低層的ISP。
73
1.4 封包交換網路的延遲、遺失與產 出率 現實是,計算機網路必然會對終端系統間的產出率 (每秒可傳輸的資料量) 有所限制,必然會在終端系統間造成延遲,也真的會遺失封包。
74
1.4.1 綜觀封包交換網路中的延遲 當封包沿著這條路徑從一個節點 (主機或路由器) 移動到下一個節點 (主機或路由器) 時,它會在路徑上的各個節點遭遇到數種不同類型的延遲。
75
這些延遲之中,最重要的就是: 節點處理延遲 (nodal processing delay) 佇列延遲 (queuing delay) 傳輸延遲 (transmission delay) 傳播延遲 (propagation delay) 這些延遲總計為總節點延遲 (total nodal delay)。
76
延遲類型
77
處理延遲 檢查封包標頭並判斷要將封包導向何處所需的時間,都是處理延遲 (processing delay) 的一部分。 佇列延遲 封包在佇列中等候被傳輸到連結上時,會經歷佇列延遲 (queuing delay)。特定封包的佇列延遲長度,取決於之前抵達佇列等候傳輸通過連結的封包數量有多少。
78
傳輸延遲 這是要把封包所有的位元推入 (也就是說,傳送至) 該連結所要花的時間。 傳播延遲 從連結開端傳播到路由器B所需的時間,就是傳播延遲 (propagation delay)。 傳播速率取決於連結的實體媒介為何 (意即光纖、雙絞銅線等)
79
傳輸延遲和傳播延遲的比較 傳輸延遲指的是路由器將封包送出所需的時間;它是封包長度和連結傳輸速率的函數,與兩具路由器之間的距離無關。 傳播延遲則是位元從一具路由器傳播至下一具路由器所需的時間;它是兩具路由器之間距離的函數,與封包的長度或連結傳輸速率無關。
80
令dproc、dqueue、dtrans 和 dprop 分別代表處理、佇列、傳輸和傳播延遲,則總節點延遲便等於
dnodal = dproc + dqueue + dtrans + dprop
81
1.4.2 佇列延遲與封包遺失 節點延遲中最複雜也最有趣的成分,就是佇列延遲,dqueue。
因此,在描繪佇列延遲的特性時,通常會使用統計性的量測,例如平均佇列延遲,佇列延遲的變異數,以及佇列延遲超過某個特定值的機率。 佇列延遲何時較大,何時又不顯著呢?問題的答案取決於資料流抵達佇列的速率、連結的傳輸速率、以及抵達之資料流的性質。
82
令 a 表示封包到達佇列的平均速率 ( a 的單位是封包∕秒)。R 為傳輸速率。位元抵達佇列的平均速率便是 La 位元/秒。
比值 La/R 稱作流量強度 (traffic intensity)。 流量工程的其中一項黃金守則就是:設計你的系統,使得它的流量強度不會大於 1。 通常,封包抵達佇列的過程是隨機的。
83
圖1.18顯示出平均佇列延遲對於流量強度的定性相依性。
當流量強度接近於 1 時,平均佇列延遲將 會急遽地增加。在強 度上小比例的增加, 將造成延遲時間在比 例上多增加許多。
84
封包遺失 因為佇列容量有限,所以當流量強度接近 1 時,封包延遲並不會真的逼近無限大。 反之,封包在抵達時可能會發現一個已經滿載的佇列。由於沒有空間可以存放這樣的封包,路由器將會丟棄 (drop) 該封包;也就是說,該封包將會遺失 (lost)。 節點的性能通常不會只用延遲時間來量測,同樣也會使用封包遺失的機率來量測。
85
1.4.3 端點到端點延遲 假設在來源端主機與目的端主機之間共有N – 1台路由器。我們也暫時假設網路是暢通的 (因此佇列延遲可以忽略) 。
dend-end = N (dproc + dtrans + dprop) (1.2)
86
Traceroute 為了親自感受計算機網路的端點到端點延遲,我們可以利用Traceroute程式。 想要自己試試Traceroute嗎?我們強烈建議你拜訪
87
終端系統、應用程式與其他延遲 某些規定可能會令其蓄意延遲其傳輸。 另一種重要的延遲是媒介的封包化延遲,這種延遲會出現在網路電話 (Voice-over-IP,VoIP) 的應用中。
88
1.4.4 計算機網路的產出率 除了延遲與封包遺失外,計算機網路另一項關鍵的效能量測標準,便是端點到端點的產出率。
瞬間產出率 (instantaneous throughput) 平均產出率 (average throughput)
89
我們可以把位元想像成水流,通訊連結則想像成水管。
對於這個簡單的雙連結網路來說,其產出率為min{Rc, Rs},也就是說,等於瓶頸連結 (bottleneck link) 的傳輸速率。
91
一個在伺服器與用戶端之間擁有 N 道連結的網路,這 N 道連結的傳輸速率分別為R1, R2,
一個在伺服器與用戶端之間擁有 N 道連結的網路,這 N 道連結的傳輸速率分別為R1, R2,..., RN。運用跟雙連結網路相同的分析方式,我們發現從伺服器到用戶端的檔案傳輸產出率為min{R1, R2,..., RN},同樣是伺服器到用戶端路徑上瓶頸連結的傳輸速率。 因此,今日網際網路產出率的限制因素,通常是連線網路。
93
作為最後的例子,請考量圖1.20 (b),其中有10台伺服器與10台用戶端連接到計算機網路的核心。
核心內有一道10筆下載全部都會經過的連結。令這個連結 R 的傳輸率為 R。 而共用連結會將其傳輸速率平分給10筆下載。 產出率不只取決於路徑沿線上連結的傳輸速率,也取決於介入的資料流量。
94
1.5 協定層級與其服務模型 網際網路顯然是極度複雜的系統。 1.5.1 分層式架構 各個層級,結合其下的層級,都實作了某種功能,某項服務。
1.5 協定層級與其服務模型 網際網路顯然是極度複雜的系統。 1.5.1 分層式架構 各個層級,結合其下的層級,都實作了某種功能,某項服務。 分層式架構讓我們可以討論龐雜系統中,具備完善定義的特定部分。這種簡化方式本身就相當具有價值,因為它提供了模組化的能力,讓我們可以輕易許多地修改層級所提供的服務實作方式。
95
對於龐雜且經常更新的系統而言,能夠改變服務的實作方式而不影響系統的其它元件,是分層的另一項重要優點。
96
協定分層 為了提供設計網路協定的架構,網路設計者將協定——以及實作這些協定的網路軟硬體——整理成多個層級 (layer)。 同樣地我們也關注於層級提供給其上一層級的服務 (service)——所謂層級的服務模型 (service model)。 每個層級都會透過 (1) 在該層內執行某些動作,以及 (2) 使用其下一層級所提供的服務,來提供其服務。
97
協定層級可用軟體、硬體或同時使用兩者來實作。
n 層的協定也是散佈在各終端系統、封包交換器以及其他構成網路的元件裡。 協定分層有其概念和結構上的優點,分層可以提供結構化的途徑來討論系統元件。 模組化讓我們更易於更新系統元件。
98
總體來說,各層級的協定合稱為協定堆疊 (protocol stack)。網際網路的協定堆疊包含五層,如圖1.23 (a) 所示 :
實體層 連結層 網路層 傳輸層 應用層
99
我們大致上就是利用網際網路協定堆疊的層級來編排本書。我們採取由上而下的方法 (top-down approach),先討論應用層,然後再往下進行。
100
應用層 應用層是網路應用程式與其應用層協定的棲身之所。 要建立並施行我們自己的新應用層協定非常容易。 一個應用層協定會散佈在多具終端系統上,某具終端系統上的應用程式會使用該協定來跟另一具終端系統上的應用程式交換資訊封包。我們將應用層的資訊封包稱作訊息 (message)。
101
傳輸層 網際網路的傳輸層會在應用程式端點間傳輸應用層訊息。網際網路有兩種傳輸協定,TCP與UDP,兩者都可以用來傳輸應用層訊息。TCP提供其應用程式連線導向的服務。這項服務包括保證能夠將應用層訊息傳送到目的地,以及流量的控制 (亦即使傳送端/接收端的速度相互配合)。
102
TCP也會將較長的訊息切割成較短的區段,並提供壅塞控制機制,以便在網路壅塞時,來源端可以調節它的傳送速率。UDP協定則提供其應用程式無連線的服務。這是一種最低限度的服務,不提供可靠性、不提供流量控制、也不提供壅塞控制。 我們將傳輸層的封包稱作區段 (segment)。
103
網路層 網際網路的網路層會負責將稱作資料報 (datagram) 的網路層封包從一台主機移動到另一台。 網際網路的網路層包括著名的IP協定,IP協定定義了資料包的欄位,以及終端系統與路由器該如何處理這些欄位。網際網路的網路層也包含繞送協定,此協定會判斷資料包在來源端與目的端之間要採取的路由。網際網路有許多繞送協定。
104
連結層 網際網路的網路層會經由來源端與目的端之間一連串的路由器來繞送資料報。為了將封包從某個節點 (主機或路由器) 搬移到路由上的下一個節點,網路層必須仰賴連結層的服務。 連結層所提供的服務取決於連結上所使用的特定連結層協定為何。
105
由於資料報通常需要跨越多道連結以從來源端移動到目的端,因此資料報在其路由的不同連結上,可能會由不同的連結層協定來處理。
我們將連結層的封包稱作訊框 (frame)。
106
實體層 有別於連結層的工作是將整個訊框從一個網路元件搬移到另一個相鄰的網路元件,實體層的工作則是將訊框中個別的位元從一個節點搬移到下一個節點。本層的協定也同樣依連結不同而有所不同,而且更取決於連結的實際傳輸媒介為何 (例如雙絞銅線、單模光纖)。
107
OSI模型 1970年代晚期,國際標準組織 (International Organization for Standardization,ISO) 提議將計算機網路編整為七個層級,稱作開放式系統互連 (Open Systems Interconnection,OSI) 模型。
108
OSI參考模型的七個層級如圖1.23 (b) 所示,為:
應用層 呈現層 會談層 傳輸層 網路層 資料連結層 實體層
109
呈現層的角色是提供服務,讓進行通訊的應用程式得以解讀彼此所交換之資料的意義。
會談層提供了資料交換的界限標定與同步化,包含用來建立檢查點與回復策略的工具。 網際網路缺少OSI參考模型中兩個層級的事實。 有某個應用程式需要這些服務的其中之一怎麼辦?網際網路對於這兩個問題的回答是相同的——這取決於應用程式的開發者。
110
1.5.2 封裝 圖1.24描繪出資料走下傳送端系統的協定堆疊,上下中介的連結層交換器與路由器的協定堆疊,然後走上接收端系統的協定堆疊,所經過的實體路徑。 但是路由器與連結層交換器並沒有實作協定堆疊中所有的層級;它們一般只會實作底部的幾個層級。連結層交換器只實作第 1 與第 2 層;路由器只實做第 1 至第 3 層。
112
請注意主機會實作全部五個層級;這與網際網路架構將大部分的複雜事情放到網路邊際的觀點是一致的。
113
重要的封裝 (Encapsulation) 概念。
應用層訊息 (Application-Layer Message)。 應用層訊息與傳輸層標頭資訊合在一起,便構成傳輸層區段 (Transport-Layer Segment)。 傳輸層接著會將區段交給網路層,網路層則會加入網路層標頭資訊 (圖1.24中的Hn),例如來源端與目的端終端系統的位址,形成網路層資料報 (Network-Layer Datagram)。
114
而連結層 (當然!) 也會加上自己的連結層標頭資訊以構成連結層訊框 (link-layer frame)。每一層中,封包都有兩種欄位:
標頭欄位 內容欄位 (payload field) 內容通常是來自於上一層的封包。
115
封裝的過程可能比上述的還要複雜。例如,一個很大的訊息有可能會被切割成多個傳輸層區段 (每個傳輸層區段也有可能被切割成多個網路層資料報)。在接收端,這樣的區段必須從其切割成的資料報重建回來。
116
1.6 面臨攻擊的網路 「壞蛋們」試圖大肆破壞我們的日常生活,他們會損壞我們連上網際網路的電腦、侵犯我們的隱私、讓我們所仰賴的網際網路服務無法運作。 網路安全領域便是在探討這些壞蛋們會如何攻擊計算機網路。
117
壞蛋們可以透過網際網路將惡意軟體放進你的主機
惡意軟體 (malware)——它們也可能進入並感染我們的裝置。 一旦惡意軟體感染了我們的裝置,它可能會做盡各種偷雞摸狗的事,包括刪除我們的檔案、安裝會蒐集我們的私人資訊如社會安全號碼、密碼、或所敲打的按鍵。
118
我們受累的主機也有可能會被迫加入一個由數千具同樣受累的裝置所構成的網路,總稱為傀儡網路 (botnet),它會散播垃圾信件,對目標主機進行分散式服務阻斷攻擊。
119
大部分現今出現的惡意軟體都具有自我複製性 (self-replicating)。
惡意軟體可以用病毒或蠕蟲的方式來散播。 病毒 (virus) 是需要使用者以某種形式參與,才能感染使用者裝置的惡意軟體。經典的案例便是包含惡意的可執行程式碼的電子郵件附件。 蠕蟲 (Worms) 是不需要使用者明顯的參與,就能夠進入使用者裝置內的惡意軟體。
120
計算機網路的設計者可以做些什麼,來幫助連上網際網路的裝置防禦惡意軟體的攻擊?
121
壞蛋們有可能攻擊伺服器與網路基礎設施 安全威脅有另一大類為服務阻斷 (denial-of-service,DoS) 攻擊。 絕大部分的網際網路DoS攻擊可以歸為以下三類之一:
122
弱點攻擊。這種攻擊牽涉到送出一些妥善編造的訊息給目標主機所執行之具有弱點的應用程式或作業系統。
頻寬滿載。攻擊者送出洪水般的封包給目標主機——封包多到塞滿目標的連線連結,讓合法的封包無法抵達該伺服器。 連線滿載。攻擊者會在目標主機上建立大量半開或全開的TCP連線
123
在分散式服務阻斷 (distributed DoS,DDoS) 攻擊中,如圖1
DDoS攻擊比起來自單一主機的DoS攻擊要難以偵測防範許多。
125
壞蛋們有可能竊聽封包 雖然無所不在的網際網路連線極度便利,但是它也製造了重大的安全弱點——在無線傳輸者附近放置一個被動接收器,這個接收器就能取得所有傳輸出的封包副本!密碼、社會安全號碼、交易機密以及私人訊息等。會記錄下所有經過的封包副本的被動接收器,稱作封包竊聽器 (packet sniffer)。 竊聽器也可能會被裝設在有線的環境中。
126
本書所附的Wireshark [Wireshark 2012] 實驗 (參見章末有關Wireshark實驗的介紹) 所使用的正是這樣的封包竊聽器!
因為封包竊聽器是被動的——也就是說,它們並不會注入封包到通道中——我們難以偵測到它們。 其中一些對付封包竊聽的最佳防禦措施,與密碼學有關。
127
壞蛋們有可能偽裝成你信任的某人 將具有假的來源位址的封包注入到網際網路的能力,稱作IP詐騙 (IP spoofing),這僅是使用者要偽裝成另一個使用者的諸多方法之一而已。 要解決這個問題,我們需要端點認證 (end-point authentication),也就是說,一種讓我們能夠有把握地判斷某則訊息是否真的來自於我們所認為之處的機制。
128
因為網際網路本來就是這樣設計的,建立在「一群互信的使用者連接到一個透明的網路」這樣的模型之上。
然而今日的網際網路確實不只跟「互信的使用者」有關而已。 我們應該要尋找對抗竊聽、端點偽裝、中間人攻擊、DDoS攻擊、惡意軟體,以及其他威脅的防禦機制。
129
1.8 總結 我們看到狹義地構成網際網路和廣義地構成計算機網路的各式各樣軟硬體組件。
1.8 總結 我們看到狹義地構成網際網路和廣義地構成計算機網路的各式各樣軟硬體組件。 觀察終端系統及其應用,以及提供給在終端系統上執行之應用程式的傳輸服務。 審視了連線網路中通常會看到的連結層技術以及實體媒介。 辨別封包交換與電路交換這兩種電信網路中傳送資料的基本方法。 我們看到網際網路的階層式架構。
130
檢視了封包交換網路中的延遲、產出率與封包遺失。
我們檢視了協定分層和服務的模型。 考察了網際網路時代一些較猖獗的安全性攻擊。
131
本書導覽 1. 計算機網路和網際網路 2. 應用層 3. 傳輸層 4. 網路層 5. 連結層和區域網路 6. 無線與行動網路 7. 多媒體網路 8. 計算機網路的安全性 9. 網路管理
132
第2至第5章是本書的四個核心章節。我們的旅程將由網際網路協定堆疊的最頂層,亦即應用層開始,然後一層一層的往下看。
在第6章中,我們會檢視無線與行動網路。在第7章 (多媒體網路) 中,我們會檢視音訊和視訊的應用。在第8章 (計算機網路的安全性),我們會先檢視加密的基礎和網路安全性。最後一章 (網路管理) 則會探討網路管理的主要議題,以及網路管理主要會使用到的網際網路協定。
Similar presentations