資料中心網路技術期中考準備 ch1~3
整理交大 110-2 資料中心網路技術期中考筆記,範圍:
- Chapter 1: Introduction to Data Center Networks and Cloud Computing
- Chapter 2: Networking and Switching Technology Overview
- Chapter 3: Software Defined Networking (SDN)
筆記整理
ch1
大綱:
- 介紹
- 雲端運算
- 例子: 從地(ground)到雲(cloud)
- 什麼是雲端運算
- 雲服務和部署模型
- 資料中心網路的特性和挑戰
介紹
新興的網路運算應用
–> 所有東西都藉由網路來完成。
網路規模共享的超級電腦
雲端用戶可以藉由網路來連接到雲上,並且可以運算作業、執行應用程式或儲存資料。
典型的倉儲規模的資料中心
- 每個資料中心就像是一個倉儲規模的電腦。
- 由數十萬台伺服器組成。
- 這些伺服器透過資料中心網路(DCN)的可靠且高效的基處架構互相連接,並支持雲端運算的應用程式和服務。
資料中心的伺服器和網路設備
- Server: 由商用現成產品(commercial off-the-shelf, COTS) PC 組成
- CPUs
- Memory
- Hard Disks
雲端運算的需求和好處
可靠且可擴展的 DCN 基礎設施對於實現無所不在的高品質使用者體驗是不可或缺的。
- 容易擴充(scale well)
- 藉由網路可以在任何一處取得(ubiquitous)資料
雲端運算
From Ground to Cloud
- Example1 - Computer Storage
- 電腦有內部硬碟儲存(C: Drive)來儲存程式、檔案和影片等。舉例來說,在一特定電腦內儲存資料,要使用那個內容必須回到那台電腦,因此要想辦法在其他電腦上存取那個資料,非常不彈性。
- 外部儲存裝置的發展,使得內容可以被移動,並且可以儲存檔案在裝置中,開啟和使用該資料在任何電腦中。
- 接著網路儲存,多個電腦可以共享儲存檔案,不需要使用 C:Deive,電腦間透過網路進行連結。
- 最後是利用雲端儲存,資料儲存在雲端上(例如: Google Drive),在任何有網路的設備上進行登入就可以取得資料。
- Example2 - Programs
- 在一開始,要使用特定的軟體程式,進行購買後安裝到電腦上,只有當下載到電腦上才能開始使用,現在,使用者可以在雲端上使用軟體程式(例如: Gmail),並且不用安裝和維護,隨時隨地可以使用。
什麼是雲端運算
- 是一種基於網際網路(Internet)的資源供應,透過 Internet 將共享資源(運算和儲存)、軟體和資訊作為服務(如電網)按需(on-demand)提供給使用者/設備。具有可利用網路存取、彈性擴展資源、資源可以被測量、按需求提供服務和將資源池提供給使用者等特性。
演進的過程:Mainframe --> PC --> Client-Server Computing --> Web Service(and SOA) --> Cloud Computing
雲端服務模型
- IaaS: 基礎設施即服務,把電腦原始資源(例如: 儲存裝置、硬體、網路)虛擬化按需提供給使用者,例如 Amazon EC2、GCP。
- PaaS: 平台即服務,提供開發者一可以執行、測試和發布程式的平台,不用擔心平台的擴充問題,例如 Microsoft Azure、Google App Engine。
- SaaS: 軟體即服務,將軟體利用網路提供給使用者,應用程式運行在雲端,不用下載、維護和補丁即可使用,例如 Google Apps、Dropbox。
雲端部署模型
- Public Cloud: 第三方服務提供商(cloud data center)利用網路動態供應資源。
- Private Cloud: 資源在公司內的企業資料中心進行整合,並部署在組織內為使用者提供服務。
- Hybrid Cloud
- 這些服務包括 on-site(私有雲)和 off-site(公共雲)的計算資源。
- 通過整合公有雲和私有雲服務,使用者可以利用雲端解決方案來處理成本太高而無法在本地維護的複雜功能(例如: 虛擬伺服器災難恢復和測試)。
DCN 的特性和挑戰
- Ethernet L2/L3 switching: 目前最先進的 DCN 技術
- 雖然比其他標準好,但相同的舊設計是否可行?
- 基於叢集的應用程式驅使了東西向流量的增加。
- Convergence: 電腦和儲存裝置空間減少。
- Automated software-based control
- 最小化手動設定,例如 “plug-and-play”。
- 新的典範轉移: SDN
- 效能、擴充性和成本
- 效能: 在多個工作負載下高吞吐量和低延遲
- 擴充性: 支援伺服器的增加
- 成本: opex/capex
- 虛擬化
- 伺服器虛擬化: 更精細的資源分配粒度。
- 網路虛擬化: 支持多使用者。
ch2
大綱:
- Layer-2 Ethernet- The Basics
- Layer-3 IP and Subnetting
- Virtual LAN - Introduction and Operations
- Layer-2 and Layer-3 Data Forwarding (Switching) Devices
- Layer-2 Switch
- Layer-2/3 Switch
- Layer-3 Router
- Layer-2 Spanning Tree Protocol
- Layer-2 Switch Redundancy and Problems
- Spanning Tree Protocol (STP) and the Algorithm
Frame Forwarding
- 不用設定就可以進行訊框轉發 – 即插即用(plug-and-play)和位址自動學習
- 基於 Address Learning Table 進行訊框轉發
- ALT 包含交換器的埠與連接設備的 MAC 位址的配對
- 通過檢查傳入訊框的來源端 MAC 位址,通過學習建立表格
- 根據表格檢查目的端 MAC 位址,然後通過配對的埠發送每個訊框
- 如果目的端 MAC 位址不在表格中,則該訊框被泛洪(flooding)
- 對於廣播訊框,會被 flooding 到所有埠
- 訊框轉發在硬體中以超快的速度完成
Virtual LAN - Introduction and Operations
為什麼要用 VLAN
- 有兩個子網域(例如: 兩個公司)在這個網路中
- 由於連接到交換器的所有主機都在同一個廣播網域中因此來自一個節點的廣播將被所有其他節點 flooding –> 頻寬效率降低
- 因此要使用
VLAN
- VLAN 支援 在 Layer 2 “網路虛擬化和分段”
- 廣播只會基於 VLAN 執行 –> 效率更高
VLAN vs. Subnetting
- 在L3,子網域劃分允許將網絡劃分為多個較小的廣播網域
- 在L2,一個 LAN 是一個廣播網域
- VLAN 可以將單個網域切割為多個較小的廣播網域,來減少不需要的廣播(並增加吞吐量),且實現更好的安全性
- 如果有不同的子網域連接到一個 L2 Switch,需要使用不同的 VLAN (只要沒有跨越L3邊界)
- 如果有一個子網連接到一個 L2 Switch,仍然可以定義不同的VLAN
- VLAN ID 不跨子網域(即 VLAN ID 相同但不同子網域下的2個 VLAN 完全不相關)
介紹 VLAN
沒有 VLAN
- 每個 LAN 交換器創建立一個廣播網域,將所有訊框廣播到與交換器相連的所有主機。
- 問題:這種物理位置依賴性導致嚴重的不靈活性、安全性和網路管理問題。
有 VLAN
- VLAN 是一個邏輯定義的廣播網域,由一個(如圖2)或多個交換器(如圖1)建立
- VLAN 根據組織的功能、項目團隊或應用程式在邏輯上對交換網路進行分段,而不考慮物理位置或與網路的連接
- 特定工作團隊使用的所有主機共享同一個 VLAN,無論物理連接或位置如何
- VLAN 將 “Layer-3 子網域” 概念引入 Layer 2
- VLAN 解決可擴展性、吞吐量和網路管理問題
情境
2個子網域、一個交換器和沒有 VLAN情境一
Host 10.1.0.10 想要發送訊框給 Host 10.1.0.30。
由於沒有 MAC address,所以 Layer 2 廣播 ARP request。
問題一
交換器會 flood 給所有埠,所以每個不同子網域的主機也會收到廣播,因此導致 Layer-2 未知的單播
情境二
Host 10.1.0.10 想要傳送訊框到 10.2.0.40。
不同子網域上的裝置必須通過路由器進行通訊,包含預設閘道(DG)功能。
問題二
路由器發送 ARP 請求,向所有主機廣播 –> 未知單播。
解決方法
傳統解決方法: Multiple Switched
VLAN 解決方法: Port-based Assignment
- 每個交換器埠都被設定(靜態/動態)屬於一個 VLAN。
- 任何連接到該埠的設備都屬於該埠的 VLAN。
- 一個 VLAN 是由一個或多個交換器建立的廣播網域,即一個 VLAN 可以跨 LAN 交換器(如右圖)。
- 連接交換機的埠/鏈結設定為承載所有 VLAN 的流量,稱為中繼(trunk)埠/鏈結。
在 VLAN 中的廣播網域
- 被分配到同一 VLAN 的埠在同一個廣播廣域。
- 避免了不正確的 flooding(如 ARP)。
VLAN Trunk/Tagging
什麼是 VLAN Trunk/TaggingProblem
屬於同一個 VLAN 但物理連接到兩個不同 LAN 交換器的兩台主機如何通訊?Solution 1
在兩台交換機之間使用兩條獨立的鏈結 –> 不可擴展,浪費頻寬。Solution 2
使用帶 Tagging
的共享 Trunk 跨交換器攜帶流量。
如何通訊
- Tag(一個唯一的 VLAN 標識符,VLAN ID)在訊框標頭進入 trunk 時被加到訊框標頭
- 標籤指定每個訊框的 VLAN 成員身份。
- 然後訊框根據 VLAN 標識符和 MAC 位址被轉發到適當的交換器。
- 離開 trunk 到達目的交換器後,訊框中的 VLAN ID 被刪掉,訊框被轉發到目的。
Layer-2 and Layer-3 Data Forwarding (Switching) Devices
L2 Switching(Ethernet)
- 裝置: L2 Switch
- 資料鏈結層
- 較便宜的裝置
- 在硬體中進行交換(switching)
- 基於固定的 MAC 位址
- 自動設定
- 訊框無法被更改
- 無縫移動、遷移和故障轉移
- 有很高的埠密度(> 24)
- 專門為 VLAN 內(LAN) 通訊而設計
L3 Routing
- 裝置: Router
- 較貴的裝置
- 在軟硬體中進行路由(routing)
- 基於分層的邏輯 IP 位址
- 智能進行最短路徑和多重路徑路由
- 封包拆封(de-encapsulated)
- 有較少的埠
- 專門為 WAN 網路設計
L2/3 Switch
緣由
- 如果不同 VLAN 之間的流量很大,需要一台具有 L3 路由能力的設備(路由器)
- 但是,路由器通常比交換器慢(路由/轉發決策通常比第 2 層轉發決策更複雜),並且依賴於協定(OSPF、RIP 等)
- 支持 VLAN 間流量的過度使用
- 延遲性能降低
- 新的解決方案: L2/3 Switch
- A light-weight router
- 最常見的快速轉發決策設計在芯片(HW) 中,而其他決策則由 CPU 處理。
- 1: 路由查詢
- 2: 減少生存時間 (TTL) 計數
- 3: 重新計算 checksum
- 4: 將訊框轉發到正確的輸出埠
說明
- 如同 L2 switches,有高密度的埠(> 24)
- 支持第 2 層橋接 (MAC) 和第 3 層 (IP) 路由功能的路由交換器
- 第 3 層路由透過高速 ASICs 硬體完成
- 沒有 WAN 連接(因此沒有複雜的 WAN 技術)
- 需要典型的路由器進行 WAN 通訊(路由器位於 WAN 的邊緣)
Layer-2 Spanning Tree Protocol
Redundant Networking Topology
緣由
- 冗餘網路拓撲用於確保網路在存在一個點故障的情況下繼續運行
- 包括交換器和鏈結
- 一個交換器或鏈結出現故障
- 由另一個接管
- 由另一個接管
冗餘拓樸問題
- 冗餘的 L2 拓樸會形成迴圈
- 迴圈會形成下列問題
- 廣播風暴
- 多重訊框複製
- MAC address table 不穩定
STP
STP 優缺點
- 優點
- Plug-and-Play 不用設定
- 自動執行故障轉移
- 缺點
- 擴充性問題
- 沒有利用的 L2 冗餘(頻寬浪費)
ch3
大綱:
- Introduction
- An Analogy between Computer and Network
- Traditional Networks and Problems
- Software Defined Networking (SDN)
- A New Paradigm
- Architecture and Interface
- SDN API- OpenFlow Protocol
- SDN Advantages and Challenges
介紹
演進
- 垂直整合 –> 垂直不整合
- 沒有層級/抽象 –> 有層級/抽象
- 封閉系統(供應商特定) –> 開放系統和介面
- 小企業並且創新慢 –> 大企業演進快
在網路中分層和抽象
- 網路中的層級即是抽象的形式
- 而分層只應用在 “Data Plane”
- Problem: 沒有在 “control plane” 抽象
- Solution: SDN,在 control plane 建立抽象
Traditional Networks and Problems
傳統網路的控制平面如何操作
整合的系統:
- 利用一分散式演算法來追蹤拓樸的改變
- 計算路由
- 安裝轉送規則
挑戰和問題
- 交換器和路由器已經演進到很多功能。
- L2/3 switching and VLAN、L3 routing、VPN、QoS and firewall
- 依賴分層(layering): 為了促進新功能,資料平面使用異質模組實現,導致複雜性增加。
- 封閉系統,很難創新。
- 軟體透過供應商特定的介面與硬體綁在一起
- 開發和部署新功能的時間很長
- 維護成本高
- 動態分散式路由計算導致網路開銷高。
- 路由器的設計目的是動態和獨立地回應快速變化的網路狀況 –> 資料中心網絡的過度利用。
- 在當今的大型資料中心網路絡,30% 的路由器控制平面能力用於追蹤網絡拓撲。
- 分散式演算法 –> 效能降低
- 通用設計,而不是針對特殊需求量身定制
- 收斂時間長得令人無法接受,效率低下(例如 STP)
- 可擴展性差
- 路由表資訊不一致
SDN API- OpenFlow Protocol
Flow Table Matching
- Match Fields
- Priority
- Counters
- Actions
- Timeouts
SDN Advantages and Challenges
SDN 優點
- 集中網絡查看和控制
- SDN 控制器對拓撲、資源可用性以及網絡流量負載和分佈具有全局視圖
- 靈活可程式的控制所有設備
- SDN 能夠控制流量的路徑、QoS、網路功能、彈性;甚至彈性的定義 “流量”
- 網路資源抽象
- 物理網路資源以彈性的方式抽象和分配給應用程式
- 允許網路虛擬化
- 供應商不用管
- 新轉發功能的插入與使用哪些供應商的交換機無關
題目
ch1
- 回答下列關於雲端運算的問題
(a). 舉兩個 “from Ground to Cloud” 演進的例子。並且簡短描述其優點。
(b). 簡明扼要地定義雲端運算。
(c). 雲端運算有 SaaS、PaaS 和 IaaS。請簡潔地描述各個模型的關鍵好處對於雲端使用者。Ans:
(a).
ch2
There are three most commonly used data forwarding devices, namely typical routers, L2 switches, and L2/3 switches. Describe how they are different from each other by drawing comparisons (e.g., with a table) from four perspectives: (1) layer-based functionality, (2) forwarding by software/hardware, (3) port count, and (4) traffic pattern to be supported.
最常用的資料轉發裝置有典型的路由器、L2交換器和L2/3交換器三種。通過從四個角度進行比較(例如: 使用表格)來描述它們之間的區別: (1) 基於層的功能、(2) 軟體/硬體轉發、(3) 埠數以及 (4) 流量要支持的模式。Ans:
裝置 基於層的功能 軟硬體轉發 埠計數 流量模式 Router 網路層 在軟硬體中進行路由(routing),利用分層的邏輯 IP 位址 很少 專門為 WAN 網路設計 L2 switches 資料鏈結層 在硬體中進行交換 >24 專門為 inter-VLAN(LAN) 通訊設計 L2/3 switches 網路層和資料鏈結層 第二層如 L2交換器,第三層路由透過高速 ASICs 硬體完成 >24 專門為大流量的 VLAN 設計 ch2 slide p.42, 44, 46
Consider a network with 12 stations interconnected via three types of net devices (Router, Switch, and Hub) shown below. Each device that directly connects to a station operates at a rate of 10 Gb/s per port. All devices run in a full duplex mode.
(a) (15%) Compute the number of collision domains in this network. What is the maximum throughput of the network?
(b) (10%) Propose a strategy for increasing the throughput, without changing the topology, by increasing the number of collision domains, and re-compute the maximum throughput.
(c) (10%) Mark all broadcast domains in this network.
(d) (15%) For the revised network shown below, two VLANs (V1 and V2) are adopted. Mark all broadcast domains in this network to justify how the performance of the network can be improved through VLAN.
(e) (15%) For this network, describe in detail how frames are sent from “host1” to “host2”
考慮一個具有 12 個站點的網路,這些站點通過如下圖1所示的三種網路設備(路由器、交換機和集線器)互連。每個直接連接到站點的設備以每個埠 10 Gb/s 的速率運行。所有設備都以全雙工模式運行。
(a) (15%) 計算該網路中碰撞網域的數量。網路的最大吞吐量是多少?
(b) (10%) 提出通過增加碰撞網域的數量,在不改變拓撲結構的情況下增加吞吐量的策略,並重新計算最大吞吐量。
(c) (10%) 標記此網路中的所有廣播網域。
(d) (15%) 對於如下圖2所示的修改後的網路,採用了兩個 VLAN(V1 和 V2)。標記此網路中的所有廣播網域,以證明如何通過 VLAN 提高網路性能。
(e) (15%) 對於這個網路,詳細描述訊框是如何從 “host1” 發送到 “host2”。Ans:
(a) 12, 90 Gb/s
(b) 將 Hub 換成 Switch,碰撞網域變為 16 個,吞吐量達 120 Gb/s
(c) 2, 只有路由器可以切割廣播網域
(d)
(e)(70%) For a layer-2 network topology given below, there are a total of 6 Layer-2 switches. The 3-digit number inside of each switch box is the MAC address of the switch. All switches share the same priority value. The cost of each link is given and specified beside the link.
(a) (20%) To increase reliability, this L2 topology contains redundant links/switches for data transport, which results in three severe data-forwarding problems. Describe and illustrate the three problems using a subset of the given topology, containing only three switches, 205, 207, and 307, the three links connecting them, and two end servers, source S00 and destination D11. (The rest of the switches/links is ignored for this question.)
(b) (30%) The STP has been proposed to solve such problems. Determine for each port of the entire above topology the resulted port type (designated, root, and blocked) after executing the STP algorithm. Reason all your answers clearly and briefly.
(c) (10%) For any link containing a blocking port, why is the other port of the link assigned as a “designated” port, but not a “blocking” port as well?
(d) (10%) Describe one advantage and two major disadvantages of the STP succinctly
對於下面給出的 layer-2 網路拓撲,共有 6 個 layer-2 交換器。每個交換器框框內的 3 位數是交換器的 MAC 位址。所有交換器共享相同的優先權值。每個鏈結的成本在鏈結旁邊給出並指定。
(a) (20%) 為了提高可靠性,這種 L2 拓撲包含用於資料傳輸的冗餘鏈結/交換器,這會導致三個嚴重的資料轉發問題。使用給定拓撲的子集描述和說明這三個問題,其中僅包含三個交換器 205、207 和 307,連接它們的三個鏈結,以及兩個終端伺服器,來源端 S00 和目地端 D11。(此問題忽略了其餘的交換器/鏈結。)
(b) (30%) 已提出 STP 來解決此類問題。在執行 STP 演算法後,確定整個上述拓撲的每個埠的結果埠類型(designated、root 和 blocked)。清楚而簡短地解釋你所有的答案。
(c) (10%) 對於包含 blocking port 的任何鏈結,為什麼將鏈結的另一個 port 分配為 “designated” port,而不是 “blocking” port?
(d) (10%) 簡明扼要地描述 STP 的一個優點和兩個主要缺點Ans:
(b) Blocking port 不會傳送或接收或者轉發資料,只會接收 BPDU 且不進行位址學習,但如果有同一 link 兩邊都是 blocking port,則可能無法轉送和接收到 BPDU 的封包,並且少一個可以轉發的 port 會造成網路資源浪費。