# 網路概論
### PAN (Personal Area Network)個人網路
規模最小的網路,eg:手機透過藍芽與筆電連結

### LAN (Local Area Network) 區域網路
> 常使用Ethernet LAN,藉由switch 接上Etherent 網路線,指同一棟建築物或辦公室內的網路,使用速度快、品質高的傳輸媒介,設備較便宜

### WLAN (Wireless local Area Network) 無線區域網路
> 由無線通訊的區域網路,至少有兩台裝置透過無線方式進行通訊

### CAN (Campus Area Network) 校園區域網路
> 將兩個或多個LAN連結在一個限定範圍區域的網路

### MAN (Metropolition Area Network) 都會網路
都市內的網路

### SAN (Storage Area Network,儲存區域網路)
> 專門用來存資訊的網路

### WAN (Wide Area Network) 廣域網路
涵蓋範圍可跨都市、跨國,連線距離極長,設備昂貴
eg. 大型企業將各個分公司的LAN互相連接,形成WAN

### Internet 網際網路
將全球的網路連接在一起,可看成世界上最大的WAN
---
### 常見網路架構
1. Client-Server 架構
有專門的server去服務client
[特點]:
- 統一控管,伺服器負責大部分的處理工作。
- 安全性高
- 成本高,需要高性能的伺服器和網絡設備。
2. P2P (Peer-to-Peer) 架構
節點 (Peer): 每個節點既是client,也是server。節點之間可以直接通信,分享資源和信息。
[特點]:
- 去中心化,沒有中央伺服器,減輕了單一伺服器的負擔。
- 可以應對大規模的用戶訪問,因為負擔是分散在所有節點上的。
- 安全和隱私問題可能較為複雜。
- 架設方便、成本低
3. Hybrid 架構
是 P2P 和 Client-Server 的組合,兼具了兩者的優點。
某些服務由server處理,而其他資源和訊息則可以直接在節點之間共享
### 傳統HTTP下的問題:
採stateless(無狀態)機制,指client 和 server間的關係,於此次的request和respond結束即清除,故無法保留資訊
eg. 網頁關掉,原先輸入的資訊就都不見
#### 解決方法:
1. Cookies:
是由server發送到client端瀏覽器的一小段文字資訊,並由browser儲存。當client再次訪問相同的網站時,browser會將cookies發送回server,通知server該client先前的活動和設置。
---
[優點]
1. 個性化用戶體驗:能夠儲存用戶的偏好,讓用戶在回訪網站時能夠得到個人化的內容和體驗。
2. 保持用戶狀態:例如用戶的登入狀態、購物車內容等。
3. 網站分析:幫助網站擁有者分析用戶行為,以優化網站內容和結構。
[缺點]
1. 隱私問題:由於cookies會儲存用戶的許多資訊,有可能被第三方用於跟踪和分析用戶行為。
2. 安全性:cookies可能被竊取或篡改,導致用戶資訊被濫用。
3. 儲存空間限制:每個網站在用戶瀏覽器上儲存cookies的空間有限。
4. 瀏覽速度:太多的cookies可能會影響瀏覽速度。
2. Session:
是存在伺服器端的。當用戶登入一個網站時,伺服器會創建一個 Session,並將 Session ID 發送到用戶的瀏覽器儲存。用戶在瀏覽網站時,這個 Session ID 會隨請求一起被發送到伺服器,伺服器通過這個 ID 來識別和跟蹤用戶的狀態。實際的用戶數據(例如登入狀態、購物車內容等)是儲存在伺服器端的 Session 中
---
### Cookies 與 Session比較表
| 功能/特性 | Cookies | Session |
| --- | --- | --- |
| 儲存位置 | 客戶端(用戶的瀏覽器) | 伺服器端 |
| 儲存類型 | 文本 | 通常是物件或數據結構 |
| 安全性 | 相對較低,因為儲存在用戶端,容易被讀取或修改 | 較高,因為儲存在伺服器,不容易被直接訪問 |
| 存儲大小 | 較小,每個 Cookie 大小和數量都有限制 | 較大,取決於伺服器的容量 |
| 存儲期限 | 可設定有效期,過期後自動刪除 | 一般由伺服器控制,用戶登出或超時後結束 |
| 資源負擔 | 對伺服器無負擔,但可能影響客戶端性能 | 增加伺服器負擔,需要管理和分配存儲資源 |
| 與用戶識別關聯 | 通過 Cookie 識別用戶 | 通過 Session ID 識別用戶,Session ID 可存儲在 Cookie 中 |
| 適用場景 | 適合存儲少量、非敏感的用戶偏好設定等資訊 | 適合存儲較大量或敏感的用戶資料和狀態 |
---
## 網路拓樸(Network Topology)
將多部電腦連成一個網路時的形狀
可分為:
1. 匯流排 (bus)

=> 用一條線路將所有設備串起 eg. 早期的Ethernet
| 優 | 缺 |
| -------- | -------- |
| 佈線成本低 | 一旦線路毀損,整個網路將癱瘓 |
| 擴充容易 | 採用broadcast,易發生collision |
2. 星狀 (Star)

所有電腦連結到switch,由switch在各電腦間傳遞訊號
eg. 現在的Ethernet大多採用Star Topology
| 優 | 缺 |
| -------- | -------- |
| 單一線路損毀,不影響整體 | 佈線成本相對較高一些些 |
| 追蹤故障點很方便,switch有燈能顯示那個port故障 | |
| 新增or減少電腦,不會造成網路中斷 | |
3. 環狀 (Ring)
設備形成一個環,以順時or逆時針方式傳送,要取得唯一的Token才給傳送,所以不會發生collision

| 優 | 缺 |
| -------- | -------- |
| 不會發生collision |一個Node損壞,整個網路癱瘓 |
4. 網狀 (Mesh)
任兩個節點間,可有多條連結路徑

eg. 應用範圍: 大型數據中心、電信和網絡服務提供商(ISP)、銀行和其他金融服務公司、有些研究機構和大學 、政府機構,特別是軍事和國防部門
| 優 | 缺 |
| -------- | -------- |
| 具備容錯(Fault Tolerance):一條路徑斷掉,還可以走其他條 | 成本高 |
| 分散流量、提高效能和確保在某些連接失效時網絡仍可用 | 維護不易 |
5. 混合式: FDDI(Fiber Distributed Data Interface
由Star Topology + Ring Topology組成
由淺綠色的光纖節點集中連結設備(Star),再用Ring方式去傳遞,使用光纖作為傳輸媒體,能提供較高的數據傳輸速度和較長的傳輸距離,雖然 FDDI 使用光纖並且在某個時代提供了高速的網絡連接,但隨著 Ethernet 和其他網絡技術的發展,FDDI 的優勢逐漸消失,並被其他更現代、更高速和更經濟的網絡解決方案所替代。

## Physical topology v.s. Logical topology
| 特性 | 物理拓撲 (Physical Topology) | 邏輯拓撲 (Logical Topology) |
| --- | --- | --- |
| 定義 | 描述網絡設備的實際物理布局和連接方式。 | 描述數據在網絡中的傳輸路徑和流向,不依賴於物理布局。 |
| 展示 | 展示網絡設備如何物理連接(例如通過纜線、交換器等)。 | 展示數據包如何在網絡中傳輸,通常是抽象的表示。 |
| 類型 | 星型、環形、匯流排、網狀等。 | 客戶端-伺服器、對等網絡等。 |
| 配置 | 通常比較固定,改變物理連接需要重新布線或調整硬體設備。 | 可以更靈活地通過軟體配置和調整。 |
| 維護 | 可能需要對物理設備和連接進行維護。 | 主要通過軟體和網絡配置進行維護和調整。 |
| 影響因素 | 受到實際距離、纜線類型、設備位置等因素的影響。 | 主要受到網絡協議、數據流量、軟體配置等因素的影響。 |
| 故障排除 | 需要檢查物理連接、纜線和設備。 | 需要檢查網絡配置、協議和數據流量。 |
### 網路術語:
1. 資料封裝(Encapsulation)
每一層將原始資料加上header的動作。用來註記 此資料要送 去哪
2. 資料承載(Payload)
代表Encapsulation前的原始資料
3. 封包(Packet)
代表Encapsulation後的資料。(Data上有header,知道要送去哪)
4. 訊框(Frame)
在 Data Link Layer 是以訊號方式傳遞,稱此層的packet為Frame
## SDN (Software Defined Network)

> 一種透過軟體來管理和控制網路的技術,把網路的控制權從傳統的硬體設備(eg. Router、Switch)中分離出來,轉移到中央控制器(一個軟體系統)上
#### SDN 的三個主要特點:
1. 分離控制平面和數據平面
- 傳統網路設備同時負責數據處理和決策(控制)
- 在 SDN 中,硬體設備只負責數據的傳輸(數據平面),而控制平面交由中央控制器負責。
2. 集中化管理
- 所有網路設備的控制權集中在一個中央控制器(軟體)上,讓管理者能輕鬆地對整個網路進行配置和調整。
3. 開放性
- SDN 使用標準化協議(如 OpenFlow)與設備溝通,不再依賴特定廠商的硬體設備,增加了彈性和選擇性。
#### 通常包含三個層次:
1. **應用層**:包含各種網絡功能和服務的SDN應用程式。這些應用程式透過北向API與SDN控制器互動,以請求網絡資源或信息。
2. **控制層(SDN控制器)**:充當網絡的大腦。它維護著對整個網絡的全局視圖,並抽象化了底層資料層的複雜性。控制器使用南向API,如OpenFlow,與資料層設備通信。
3. **基礎設施層(資料層)**:由實體和虛擬的交換機組成,負責封包的轉發。在SDN環境中,這些設備是簡單的封包轉發設備,可以被SDN控制器程式化。

### **主要組件**
1. **SDN controller**:
- 控制器是 SDN 的核心,負責管理網絡設備的流表(Flow Table),並提供一個接口供上層應用和業務邏輯使用。通過這種方式,管理員可以直接、動態地配置網絡的行為。

2. **南向接口(Southbound APIs)**:
- 允許 SDN controller與網絡設備(如switch和router)溝通。其中最著名的例子是 OpenFlow 協議。
3. **北向接口(Northbound APIs)**:
- 允許 SDN controller與上層應用和業務邏輯層溝通,使其能夠根據需要定制網絡行為和服務。
### **主要特點**
1. **集中式管理**:
- 通過 SDN controller,管理員可以從一個集中的位置管理和配置整個網絡。
2. **自動化**:
- SDN 允許自動化設備配置和流量管理,減少了人工干預的需要,降低了錯誤率和操作成本。
3. **靈活性**:
- 管理員可以快速地應對網絡變化和需求,例如自動調整帶寬、重定向流量等。
4. **創新**:
- 由於 SDN 的靈活性和開放性,它促進了網絡技術和服務的創新。
5. **可編程性**:
- SDN 的核心特點是網絡的可編程性,它允許開發者創建應用程序來定制和優化網絡性能和服務。
### **應用領域**
1. **數據中心網絡虛擬化**:
- SDN可以用來虛擬化數據中心的網絡,提供更加靈活和可編程的網絡配置,以及自動化網絡運維任務,從而支持快速部署和擴展虛擬機(VM)和容器。
2. **雲計算環境**:
- 雲服務提供商利用SDN來實現多租戶網絡隔離、帶寬分配、流量管理和網絡功能虛擬化,這有助於快速調整網絡資源以滿足租戶需求。
3. **企業網絡管理**:
- 企業可以通過SDN集中管理其網絡設施,實現分支網絡連接、訪問控制、應用交付和安全政策的自動化部署。
4. **提升網路安全**:
- SDN可以實現更加動態和靈活的網絡安全策略,例如自動隔離可疑流量、集中管理防火牆和其他安全設備。
5. **流量工程**(Traffic Engineering):
- 通過SDN,網絡運營商可以優化網絡流量的路由,以提高帶寬利用率,減少延遲和擁堵。
6. **網絡切片**(Network Slicing):
- 在5G網絡中,SDN用於創建網絡切片,這些切片可以根據不同的服務需求提供定制化的網絡性能和特性。
3. **網絡功能虛擬化(NFV)**:
- SDN 與 NFV 相結合,可以實現網絡功能的軟件化和虛擬化,提供更加靈活和經濟的網絡服務。
SDN 因其靈活性、可編程性和自動化能力,正成為現代網絡架構和管理的重要組成部分。
如:Google GCP(Google Cloud Platform)、AWS、Azure等也採用SDN技術
### SDN 與 NFV 比較:
| 特性 | SDN (軟體定義網路,Software Defined Network) | NFV (網路功能虛擬化,Network Functions Virtualization) |
| --- | --- | --- |
| 定義 | 一種網絡架構,將網絡控制層(決定數據包如何流動)從資料層(實際轉發數據包的硬體)中分離。 | 一種網絡架構,將傳統網絡功能(如防火牆、負載均衡器)從專用硬體設備中抽象化出來,並在虛擬機或容器中運行。 |
| 目標 | 提高網絡的可編程性,實現集中化管理和控制,以及更動態的流量管理。 | 減少對專用網絡硬體的依賴,通過使用標準化的虛擬化技術來降低成本和提高服務部署的靈活性。 |
| 實現方式 | 通過開放標準(如OpenFlow)實現控制器與交換機之間的通信。 | 通過虛擬化技術將網絡功能實體化為軟體,運行在標準化的伺服器硬體上。 |
| 主要技術 | 控制器、南向API(如OpenFlow)、北向API。 | 虛擬化管理器(如vSphere)、虛擬網絡功能(VNF)、管理和網絡編排(MANO)。 |
| 主要優勢 | 靈活的網絡管理、可程式化、集中式控制。 | 硬體資源的節省、快速部署新服務、減少運營成本。 |
| 應用實例 | 數據中心網絡管理、企業網絡、雲計算環境。 | 電信運營商的網絡,如虛擬化CPE(客戶端設備)、虛擬化EPC(演進型核心網)。 |
| 採用趨勢 | 在數據中心和大型企業中廣泛採用,尤其是在需要高度自動化和快速配置變更的場景中。 | 在電信行業中非常受歡迎,尤其是對於希望減少對物理設備依賴和快速實現服務創新的運營商。 |
| 相互關係 | SDN可以單獨使用,也可以與NFV結合來實現更全面的網絡自動化和管理。 | NFV通常與SDN協同工作,利用SDN提供的動態網絡控制能力來管理虛擬化網絡功能。 |
| 市場動態 | 隨著雲服務和數據中心服務的增長,SDN解決方案的需求在不斷增加。 | NFV市場受到5G網絡部署和電信服務數字化轉型的推動,正逐漸擴大。 |
## 常見硬體設備
1. 中繼器(Repeator)
又稱放大器,能將衰弱的訊號還原

2. 集線器(Hub)
是一種網絡連接設備,和Bus一樣具有broadcast功能,從一個port收到資料後會broadcast給所有連結的裝置,在hub中的設備,皆為同一個 Collision Domain (碰撞區域)。 已被Switch取代

3. 交換器(Switch)
可讓連線設備形成區域網路(內網),所有的孔都是LAN端,交換器會記錄電腦的MAC(網卡)位址,每一台的網卡都不相同,封包能傳給指定的對象,其他電腦也能同時互相傳遞資料,訊息傳輸上可以更快更精準。
一般常拿來當作分享器的線路擴充,但交換器並不會主動配發IP,必須由前端的分享器或數據機配發,一對多提供IP位址給後端多台接線上網的電腦或其他設備。


### **Switch 數據轉送流程:**
1. **學習:**
- 當一個數據帧到達交換器的某個端口時,交換器讀取源 MAC 地址並將其與進來的端口編號關聯,儲存到 MAC 地址表中。
2. **決策:**
- 交換器查看目的 MAC 地址,並在 MAC 地址表中搜尋該地址。
- 如果找到目的 MAC 地址,交換器就知道要將數據帧轉發到哪個端口;如果沒有找到,根據設計,它可能會廣播到所有端口,或者丟棄該帧。
3. **轉發:**
- 交換器將數據帧轉發到目標 MAC 地址所在的端口,如果未找到具體端口則可能進行廣播。
4. **過濾:**
- 交換器過濾掉不需要轉發的帧,例如源和目的地在同一端口的帧。
### Ethernet 交換機的常見封包轉送技術:

1. **存儲轉發(Store-and-Forward):**
- 交換器首先接收並存儲整個數據帧,檢查帧的完整性和是否有錯誤(例如 CRC 錯誤)。
- 如果帧完整無錯誤,交換器才開始轉發到目的地。這種模式具有較高的數據傳輸質量,但延遲也相對較高。
2. **直通轉發(Cut-Through):**
- 交換器在接收到數據帧的首部後就開始轉發,不等整個帧接收完畢。這減少了延遲,但也可能導致包含錯誤的帧被轉發。
- 過程中不會執行CRC錯誤檢查。因此,所有的Frame(不論有無錯誤)都會被轉發到接收端交換器。由接收端進行錯誤檢查,以確保傳輸無差錯。
4. **Fragement free:**
- 用來彌補Cut-Through的缺點,先讀取前64bytes,若有錯就捨棄,因為在 Ethernet 網絡中,大多數的錯誤(如碰撞)都發生在帧的開頭
3. **自適應切換(Adaptive Switching):**
- 這是一種混合模式,交換器會根據網絡流量和條件動態選擇使用存儲轉發還是直通轉發
---
※ 要讓設備連上網,需要透過Modem去進行訊號調整以符合接收端的需求,因為Internet與computer使用了兩種不同的訊號。
> - Computer只讀digital signals
> - Internet 是輸出Analog signals(類比訊號)
4. 數據機(Modem)
> 可以調變(Modulation:數位轉類比)計算機的輸出,也可以解調變(Demodulation:類比轉數位) Internet輸入的數據

傳送:將Digital 轉成 Analog(類比) <=> 調變(Modulation)
接收:Analog 轉成 Digital <=> 解調變(Demodulation)

----
#### 調變(Modulation)
> 為了能實際透過空氣傳輸。在5G NR(New Radio)系統中,調製方法是將數位訊號轉成類比波形,以便透過無線電波去進行傳輸。
>
> 常見調變方法:正交相位移鍵控(QPSK)、16階正交振幅調製(16 QAM)、64 QAM和256 QAM。
>
> 這些調製方法主要根據**訊號傳輸速度**和**頻譜效率**的需求來選擇,具有不同的位元速率和錯誤容忍度。

### 1. **正交相位移鍵控(QPSK, Quadrature Phase Shift Keying)**
QPSK 是最簡單的調製方式之一,通過改變載波信號的相位來傳輸數據。每個符號表示兩個位元,這意味著一個符號可以表示四種不同的狀態(00、01、10、11),因此也稱為「4相位鍵控」。QPSK 通常在信道條件較差的情況下使用,因為它相對穩定,對噪聲干擾的容忍度較高。雖然 QPSK 的頻譜效率較低,但能在信號較弱或受到干擾的情況下提供穩定的連接。
### 2. **16階正交振幅調製(16 QAM, 16 Quadrature Amplitude Modulation)**
16 QAM 結合了相位和振幅的調變,每個符號表示 4 個位元,這意味著有 16 種可能的狀態。16 QAM 相比 QPSK 能傳輸更多的數據,但對於訊號的要求較高,尤其是在噪聲較大的環境下,其性能會下降。這種調製方法通常在信道條件相對良好的情況下使用,當系統需要較高的傳輸速率時,它可以提供比 QPSK 更高的頻譜效率。
### 3. **64階正交振幅調製(64 QAM)**
64 QAM 是一種更高階的正交振幅調製方式,每個符號表示 6 個位元,共有 64 種可能的狀態。與 16 QAM 相比,64 QAM 需要更好的信道條件來保證數據的準確傳輸。這種調製方式在 5G 系統中廣泛應用,特別是在信號強度較好的情況下,能顯著提高資料傳輸速率。
### 4. **256階正交振幅調製(256 QAM)**
256 QAM 是目前 5G 中使用的最高階調製方式之一,每個符號可以表示 8 個位元,因此有 256 種可能的狀態。這種調製方式在理想的信道條件下使用,能提供最高的數據傳輸速率,頻譜效率非常高。但同時它對信號品質的要求也最高,對於噪聲和干擾的容忍度較低。因此,256 QAM 主要用於信號強、干擾小的場景,例如室內或短距離通信。
### 總結
- **QPSK**:符號速率低,對噪聲容忍度高,適合差信道條件。
- **16 QAM**:中等速率,對信號品質要求適中,適合較好的信道條件。
- **64 QAM**:符號速率高,頻譜效率好,需要較高的信號品質。
- **256 QAM**:符號速率最高,頻譜效率最高,但對信道條件要求嚴苛。
這些調製方式根據5G NR的需求動態選擇,達成在不同信道條件下的最佳效能,使得5G可以兼具高速率、低延遲及高可靠性的優勢。
1. 5G NR 的調變技術
5G 支持的主要調變技術包括:
- QPSK(Quadrature Phase Shift Keying,四相位偏移鍵控)
- 16-QAM(16位元正交振幅調變)
- 64-QAM
- 256-QAM(5G NR 中引入的高階調變技術,用於增加數據吞吐量): 每個符號能攜帶 8 bits 資訊,比 64-QAM 高出 50%。適用於信號品質好、干擾低的環境。
2. 調變與頻譜效率
- 調變技術的改進讓 5G NR 在同樣的頻寬下,能傳輸更多的數據,提高了頻譜效率。
- 高階調變(如 256-QAM)在數據傳輸速率上的貢獻非常大,但對信道品質(如 SNR,信噪比)的要求也更高。
---
### 類比轉數位
主要用在音頻和影像處理方面,類似於將聲音或影像轉換成數位格式進行存儲和處理。然而,在無線通訊(例如5G NR)中,情況正好相反,數據需要經歷**數位轉類比**的過程,這是因為無線電波本質上是類比信號。
### 數位信號與類比信號的區別
- **數位信號**:由二進制的0和1組成,這是現代計算機和數據通信中使用的信號形式。數位信號以離散的方式表示訊息,如資料、聲音、影片等。
- **類比信號**:在無線通訊中,信號是以連續的波形形式傳輸的,例如無線電波、聲波或光波。這些波形具有連續的振幅和頻率變化,可以在空中傳播。
### 為什麼無線通信中要數位轉類比?
在無線通信(如5G、4G等)中,網路傳輸的基本原理是利用無線電波來傳遞訊號,而無線電波是**類比信號**,所以需要將數位訊號轉換成可以通過天線發射的類比波形。這個過程叫做**調製**。
調製的過程如下:
1. **數位數據傳輸**:例如手機或基地台需要將數位數據傳輸出去。
2. **數位轉類比(調製)**:透過調製技術,將數位數據(0 和 1 的序列)轉換為一種類比信號,例如正交相位移鍵控(QPSK)或正交振幅調變(QAM)等。
3. **發射類比信號**:調製後的類比信號經由無線電波發送出去,在空中進行傳輸。
4. **接收與解調**:接收端天線接收到這些無線電波後,再進行解調,將接收到的類比信號轉回數位信號,這個過程叫做**類比轉數位**。
### 整個數位到類比的過程
1. **數位訊號(0 和 1)**:例如網絡數據、圖片、音訊等,這些都是以數位形式存在的。
2. **類比訊號(無線電波)**:因為無線通訊媒介(如空氣或真空)需要以連續波的形式來傳輸訊號,所以必須將數位訊號轉換成類比波形進行發射。
3. **接收與還原**:在接收方,無線電波(類比信號)會被天線接收,並通過解調技術將其還原回數位訊號,供設備(例如手機或基站)處理。
### 為什麼不是直接用數位信號?
數位訊號是離散的,不能在空氣中直接傳播。無線電波作為連續的波形,是天線發送和接收的物理現象。因此,無論數據傳輸的過程是如何數位化的,最終必須依賴類比波形來在空中傳輸。
### 類比轉數位的應用
在其他領域(例如音樂錄製或影像處理),我們更常聽到「類比轉數位」,因為麥克風或攝影機捕捉的是連續的聲音和光波,這些類比信號必須轉換成數位形式進行儲存和處理。在這種情況下,數據以類比形式產生,然後轉換為數位信號。
總結來說:
1. 無線通訊中:需要將digital signal -> analog 波形來進行傳輸(因為無線電波作為傳輸介質是一種類比信號)
2. 接收方再將接收到的analog signal 轉換回 digital signal
---
5. 橋接器(Bridge)
連結兩個以上的LAN,在Data Link Layer上工作,使用 MAC 地址來過濾和轉發數據帧


6. 路由器(Router)
Layer3 - 用來連接網路的,接在modem之後,modem處理完訊號問題後,router可以作為wireless access point,提供給多個設備連網。連結不同的LAN,會檢查IP address,具有路徑篩選功能,是屬於他的就接收,不是就轉傳掉,像是network的gateway一樣。
#### 原理:
路由器(Router)的運作方式主要涉及以下步驟,特別是在處理數據包(Packets)時:
> 1. **Packets接收**:當路由器收到一個Packets時,首先檢查該Packets的Destination IP address。
> 2. **轉發表(Forwarding Table)查找**:路由器會在其轉發表中尋找與該目的IP地址匹配的項目。轉發表包含了不同目的地IP地址範圍及對應的下一跳地址或接口。
> 3. **決定轉發路徑**:
> - 如果在轉發表中找到匹配項目,路由器就會根據表中的信息(如下一跳地址或指定的接口)決定轉發路徑。
> - 如果沒有找到匹配項目,路由器會尋找是否有設置默認路由(Default Route)。如果有,則將Packets轉發到默認路由指定的接口或地址;如果沒有設置默認路由,則會丟棄該Packets。
> 4. **MAC地址映射(MAC Mapping)**:在轉發Packets之前,路由器需要確定下一個的MAC地址。這是通過查詢ARP表(Address Resolution Protocol Table)來完成的,以將IP地址轉換為相應的MAC地址。如果ARP表中沒有相應條目,路由器會發送ARP請求來獲取需要的MAC地址。
> 5. **Packets轉發**:一旦獲取了正確的MAC地址,路由器會將Packets轉發到正確的接口,並在Packets中設置下一個的MAC地址。
總之,路由器處理Packets的過程會檢查Forwarding Table 以確定轉發路徑,必要時查詢ARP表以獲得相應的MAC地址,然後根據這些信息轉發數據包。如果轉發表中沒有匹配的項目,則會根據配置的默認路由來處理Packets,如果沒有默認路由,則丟棄該Packets。


#### Modem + Router 功能
> 1. 多裝置連線:如果希望多個裝置(如手機、平板電腦、智慧電視等)同時連接到互聯網,那麼就需要一個router。 router可以建立一個本地網路(LAN),讓多個裝置透過有線或無線(Wi-Fi)方式連接到這個網絡,並透過連接到modem的router共享互聯網連接。
> 2. 無線連接(Wi-Fi):如果你需要無線上網,也就是使用Wi-Fi連接,那麼就需要一個router,因為傳統的modem通常不提供無線網路功能。 router可以將modem接收到的網路訊號轉換成無線訊號,供周圍的設備使用。
> 3. 網路管理功能:router也提供了許多網路管理功能,例如分配IP位址(透過DHCP服務)、網路安全(如防火牆和加密)、家長監護、流量管理等,這些都是傳統的modem通常不提供的。
7. 閘道器(Gateway)
能夠作為不同網絡和協議之間的接口,實現數據和信息的轉發和轉換,使得不同系統和網絡可以互相通訊

### Bridge v.s. Router
| 特點 | 橋接器 (Bridge) | 路由器 (Router) |
| --- | --- | --- |
| 工作層級 (OSI 模型) | 數據鏈路層 (Layer 2) | 網絡層 (Layer 3) |
| 地址類型 | 使用 MAC 地址 | 使用 IP 地址 |
| 連接範疇 | 連接同類型的網絡,如局域網 | 可連接不同類型的網絡,如局域網和廣域網 |
| 流量管理 | 根據 MAC 地址過濾和轉發數據帧 | 根據 IP 地址和路由協議進行數據包的路由和轉發 |
| 功能複雜性 | 較簡單,主要用於擴展局域網和減少衝突區域 | 較複雜,具有多種功能,包括網絡地址轉換、防火牆、VPN 等 |
| 性能和延遲 | 由於功能較簡單,通常有較低的延遲 | 可能因為需要進行複雜的路由決策而有較高的延遲 |
| 安全功能 | 有限的安全和過濾功能 | 提供進階的安全功能和配置選項,包括訪問控制列表、防火牆等 |
| 適用場景 | 用於連接和擴展同一類型的局域網 | 用於連接不同類型和規模的網絡,適用於家庭、企業和互聯網服務提供商 |
---
### MAC address(Media Access Control Address)
是一個在Data Link Layer 分配給網絡介面控制器(NIC)的唯一標識符號。每個 MAC 地址都是全球唯一的,由 NIC 的製造商在生產過程中賦予。它由 48 位二進制數字組成,通常表示為六組兩位 16 進制數字。MAC 地址用於在局域網(LAN)和其他小範圍網絡環境中識別和追踪設備,實現有效的數據傳輸和網絡管理。
簡單來說,就是
=>賦予每個可連網設備的唯一編號。主要目的是用來在網絡中識別裝置,這對於數據包的正確路由和交付是必須的
### 速度 2.4GHz vs. 5GHz

---
## 兩種描述網路運作的參考架構
### DOD (Department of Defense) 網路模型

> 由美國國防部(Department of Defense)設計的,最初用於支持軍事網路通信。它是現代網路(如互聯網)的基礎,實際上也稱為 TCP/IP 模型
### DoD 的四層架構:
1. **應用層(Application Layer)**
- 包含 OSI 模型的應用層、表現層、會話層功能。
- 協議:HTTP、SMTP、FTP、DNS。
2. **傳輸層(Transport Layer)**
- 提供端對端通信,確保數據完整性。
- 協議:TCP(可靠)、UDP(不可靠)。
3. **網際層(Internet Layer)**
- 負責尋址與路由選擇。
- 協議:IP、ICMP、ARP。
- 對應 OSI 的網路層。
4. **網路介面層(Network Access Layer)**
- 包含 OSI 模型的資料鏈路層與實體層功能。
- 協議:Ethernet、Wi-Fi。
## TCP four layer

## OSI 七層

| OSI層級 | 介紹 | 協定(Protocol) | Device | address | technique技術 |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ---------------------- | -------------------------------------------------------------- | --- |
| Application layer | 處理應用程式,進而提供使用者網路應用服務 | DHCP、FTP、HTTP、POP3、SMTP | gateway 閘道器 | 常見port number: FTP:21、HTTP:80、HTTPS:443、SMTP:25、POP3:110 | |
| Presentation layer(展示層) | 主要功能是資料格式化和表示,確保不同系統之間的數據能夠正確理解。eg. 應用層收到資料後,透過展示層轉換表達方式。eg. ASCII 轉碼、圖片處理、資料加解密等 eg. 網頁的內容是加密的(如 HTTPS),展示層會處理加解密的部分 | | | | |
| Session layer(會議層) | 管理通訊對話,確保通訊雙方能夠順利地進行交互。是用來負責建立網路連線,等到資料傳輸結束再將連線中斷 | 溝通模式: 全雙工(Full Duplex)、半雙工(Half Duplex)、單工(Simplex) | | | |
| Transport layer | 負責電腦整體的資料傳輸及控制,可將較大資料切成多個適合傳輸的資料 。流量控管(flow control)、錯誤偵測、處理、提供end-to-end服務 | TCP:在傳輸資料中加入驗證碼,對方收到後就會依此驗證碼回傳ACK、TCP、UDP、IDX | | Port number | |
| Network layer | 定義網路路由(路徑選擇)及定址功能(賦予網路裝置名稱或位址),讓資料能在網路間傳遞。 | IP(Internet Protocol,網際網路協定):資料傳輸時,會將IP address加入到傳輸資料中,組成Packet、ARP、RARP、SPX、ICMP | Router、ADSL | IP address(IPv4、IPv6) | |
| Data Link layer | 1. 在網路間建立logical 連結,在傳輸過程中處理流量控制及錯誤偵測,讓資料接收與發送更穩定。 2. 將實體層的數位訊號封裝成Data frame (包含MAC address) | ATM(Asynchronous Transfer mode,非同步傳輸模式)、PPP(Point-to-Point,點對點協定)、CSMA/CD、CSMA/CA | bridge、switch | ARP、RARP、MAC address | Sliding window protocol:實現可靠且有順序性的交付封包,可一次送多個封包 |
| Physical layer | 定義實體網路設備的位元資料傳輸、設備規格(eg.纜線、雙絞線)、傳輸媒介速度。 eg. 網路線、網卡、Hub等 | | Repeator (中繼器)、Hub | | |
### 實體層(Physical Layer) :
主要負責與傳輸介質直接相關的部分,包含傳輸界值與接頭規格,以及如何將數位資料轉成光、電訊號。
#### 訊號傳輸方式
可分為:
## 1. 基頻(Baseband)傳輸
信號直接在傳輸媒介(如電纜)上傳輸,不經過調頻或調幅,整個帶寬都被單一信號或多個時間多工信號所佔用
- 特點:
1. 傳輸速度通常較慢。
2. 通常用於局域網 (LAN) 中。
3. 可以使用時間分割多工 (TDM) 來支持多個信號。
4. 數據通常在同一頻率範圍內傳輸。
eg. 像是在網路線上直接傳輸數據信號,這些信號不經過頻率調變,直接在媒介上進行傳遞。網路線(例如 Ethernet)是 Baseband 傳輸的典型例子,適合短距離、高速傳輸的應用場景
## 2. 寬頻(Broadband)傳輸
> 是一種可以同時傳輸多個信號的技術,透過把頻寬分成多個頻段,每個頻段可以用來傳輸不同的數據。
- 簡單來說,它像是一條高速公路,有很多車道,每一車道都可以用來傳送不同的訊息,讓你同時上網、看電視或打電話。
- Wi-Fi 是一種無線的寬頻應用,但寬頻也包括其他技術,例如光纖、4G/5G 行動網路。
透過控制載波(Carrier)訊號狀態,就是將信號調變到較高的頻率範圍內,使用調頻或調幅技術來同時在多個頻道上傳輸數據。
允許多個服務(例如電視、電話、互聯網)可以同時通過一條線路傳輸
- 特點:
1. 傳輸速度通常較快。
2. 可以支持高頻寬應用,例如視頻串流。
3. 使用分頻多工 (FDM) 技術來同時傳輸多個信號。
4. 通常用於廣域網 (WAN) 或互聯網連接。
5. 適合長距離、高速和多用途的通信需求。
6. 信號不佔據整個頻寬,而是分割成不同的頻帶供多個設備或服務同時使用。
### **Baseband 與 Broadband 的比較**
| 特性 | Baseband | Broadband |
| --- | --- | --- |
| 傳輸信號 | 單一信號 | 多個信號 |
| 主要應用 | 局域網(如 Ethernet) | 廣域網(如光纖、Wi-Fi、5G) |
| 信號調變 | 無需調變 | 經過調變 |
| 頻寬使用 | 占用整個頻寬 | 多頻分配 |
| 傳輸媒介 | 網路線、光纖 | 同軸電纜、光纖、無線 |
#### Q: 聲音如何傳遞更遠?
#### A: 透過高頻的電磁波承載著低頻的聲音,便可傳輸數百公里,又可稱為高頻載波技術。
#### Q: 載波(Carrier Wave)是啥?
#### A: Carrier Wave是用來載送資料的電波。在寬頻中會先將資料加入到正弦波(Sine wave)中作為載波送出。此過程又稱為調變(Modulation)

- 調變(Modulation):將資料加入Carrier Wave的動作
eg.
AM(調幅)廣播電台和調頻(FM)廣播電台都是將類比訊號加入到Carrier Wave中,是一個類比到類比的轉換過程
- 音頻訊號(類比) → 調製過程(加入到載波波形中) → 調製後的載波波形(類比) → 廣播 → 接收 → 解調 → 音頻輸出。
- 目的:
**1. 信號傳輸:**
- **距離**:調製允許音頻訊號能夠被傳輸到遠處。無調製的音頻訊號無法有效地穿越大的距離。
- **質量**:調製也有助於保持信號的質量。在長距離傳輸過程中,信號會遇到各種干擾和減弱,調製幫助信號保持清晰度。
### **2. 頻率分配:**
- **多樣性**:使用不同的載波頻率允許多個廣播站同時進行廣播,每個站都有自己獨特的頻率。
- **組織**:這幫助於組織和管理無線電頻譜,確保每個服務都在指定的頻率範圍內操作。
### **3. 克服干擾:**
- **FM**:FM尤其有助於克服噪聲和干擾。FM的設計使其對某些類型的干擾(例如由氣候影響的靜態噪聲)具有抵抗力。
### **4. 兼容性:**
- **設備**:調製確保了信號可以被各種接收設備(如無線電、電視等)正確接收和解碼。
---
### **基頻與寬頻的對比**


| 特點 | 基頻 | 寬頻 |
| --- | --- | --- |
| 傳輸方法 | 數據直接傳輸 | 使用調頻或調幅來傳輸數據 |
| 頻道使用 | 單一頻道 | 多頻道 |
| 傳輸速度 | 通常較慢 | 通常較快 |
| 應用範例 | 局域網連接 | 寬頻互聯網、電視和電話服務 |
---
※ Broadband 需要用到調變(modulation)和解調變(demodulation)的技術,而這正是 modem(調制解調器)的主要功能之一。因此,大部分寬頻技術都會搭配 modem 使用,來實現數據在傳輸介質上的傳輸和接收
### 寬頻調變技術
Broadband 透過 Carrier Wave 技術來傳遞資料。
其中,調變技術常藉由改變Carrier Wave的「振幅」、「頻率」、「相位」三種物理特性來完成傳輸。
- 發送端會根據資料內容、modulator(命令調變器)來改變Carrier Wave的物理特性
- 接收端會透過demulator(解調變器)從Carrier Wave上讀出這物理特性的轉換,並還原成資料。
以上三種,又可分出三種技術:

### 振幅調變技術
- 振幅調變(AM,Amplitude Modulation)
- 是一種在無線通信中使用的調變技術。使用高頻載波依**振幅大小**承載低頻的類比訊號(如聲音)傳送出去,可傳遞很遠
- 振福偏移調變(ASK,Amplitude Shift Keying)
- 是一種數位調變技術,可使電磁波跟隨數位訊號的「振幅大小」變化,載著數位訊號一起發射出去。
- 當電磁波振幅大時,代表 1;振幅小時,代表 0。ASK 的技術最簡單,抗雜訊能力最差,較少使用在無線通訊上,而多使用在光纖通訊。
### 頻率調變技術
- 頻率調變(Frequency Modulation,FM)
- 使用高頻載波依**頻率高低**承載低頻的類比訊號(如聲音)傳送出去,可傳遞很遠
- 頻率偏移調變(FSK, Frequency Shift Keying)
- 使電磁波跟隨數位訊號的「頻率高低」變化,載著數位訊號一起發射出去。
- 當電磁波頻率高時,代表 1;頻率低時,代表 0。FSK 在頻率改變的瞬間可能使電磁波不連續,造成頻譜的特性變差。技術複雜,但抗雜訊能力比 ASK 好,錯誤率低,可使用在無線通訊上。
### 相位調變技術
- 相位調變(PM,Phase Modulation)
- 是一種在無線通信中使用的調變技術。在PM中,一個高頻載波信號的相位會根據低頻類比信息訊號(如聲音)的強度和時間來變化。這樣,信息訊號可以被編碼並通過載波信號傳輸。
- 相位偏移調變(PSK,Phase Shift Keying)
- 是一種數位調變技術,其中載波信號的相位被改變來表示數位數據或位元。在 PSK 中,數位信息(通常是二進制數位)被用來控制載波波的相位變化。
Q:手機通訊原理:
A:當我們對著手機講話,傳送端的手機會先將低頻的聲音調變成高頻的電磁波,再經由天線傳送出去。當接收端經由天線收到高頻電磁波時。再解調變 變回低頻的聲音,才能使我們耳朵聽見。
### 展頻技術
展頻技術是一種無線通信技術,它將數據信號散佈到比原始信號寬得多的頻帶上。這種技術有助於減小干擾和噪音,提高信號的安全性和隱蔽性。
#### **展頻技術的主要特點:**
1. **抗干擾能力強**:由於信息被散佈在一個廣泛的頻帶上,展頻技術對干擾和噪音具有較強的抵抗能力。
2. **安全性和隱蔽性**:展頻技術可以使信號較難被攔截和干擾,因此在軍事通信和安全通信中經常被使用。
3. **頻帶利用率**:展頻可以使信號占用更廣泛的頻帶,但也意味著必須合理管理和分配頻帶資源以避免干擾。
#### **展頻技術的類型:**
1. **直接序列展頻(DSSS, Direct Sequence Spread Spectrum)**:
將原始訊號展開為數倍頻寬,會把訊號能量降低,甚至低於雜訊,避免被截取

3. **跳頻式展頻(FHSS, Frequency Hopping Spread Spectrum)**:將資料切成多段,並按照一個預定的跳頻序列在不同的頻道上進行傳輸的技術

#### **定義:**
展頻技術是一種將數據信號散佈到一個比原始信號更寬的頻帶的無線通信方法。這種技術提高了信號的抗干擾能力,安全性和隱蔽性,常用於軍事和安全通信,以及某些民用應用,如無線局域網和藍牙通信。
---
## 訊號頻寬(Bandwidth)
代表訊號頻率的變動範圍,通常由最高-最低頻率。單位為赫茲(Hz)。頻寬愈大,傳輸訊號品質愈好
eg. 有個無線電波頻率介於90MHz ~ 92MHz,代表該訊號頻寬為 2MHz (92-90 = 2)
## 傳輸頻寬
代表單位時間內所能傳輸的最大資料量,常以bps(bits per second)為單位。但通常只是理論值
---
## 多工存取(Multiplexing)
為了善用擁有大傳輸媒介的Bandwidth,可達到同時傳輸多個用戶資料。

可採:
### 1. 分頻多工(FDMA, Frequency Division Multiplexing)
把傳輸媒介的頻寬切割為多個較窄頻寬的通道(channel)

### 2. 分時多工(TDMA, Time Division Multiplexing)
依時間順序先後順序來輪流使用channel



#### 有線傳輸媒介

#### 無線傳輸媒介
無線網路是以電磁波為傳輸媒介。
電磁波頻率愈高,對障礙物穿透性愈低,傳輸路徑愈短
- 電磁波可按照頻率分類,從低頻到高頻,分成頻譜(Spectrum)

---
# 鏈結層(Data Link layer)
如何將frame傳給直接相連的主機或設備

主要工作:
1. 將資料切割為frame(訊框)
2. 偵錯
3. 制定傳輸媒介的存取控制方法,以避免碰撞
---
一. 將資料切割為frame(訊框)
發送端在傳送資料前,會先將資料切割為一個個適當大小的區塊,並為個別區塊加上Data Link layer的表頭與表尾成為一個frame。
- header中會紀錄發送端與接收端的位址、訊框的開頭與結束

#### Frame介紹

#### Q: 為何Payload至少要46bytes以上?
#### A: 若Frame太小,可能當A將Frame資料送完後都還沒偵測到collision,而誤以為無collision。所以為了避免當距離太遠而Jam signal來不及回傳的情況下,規定至少要46bytes。
若加上Header等欄位後,Frame不能少於64bits





二. 偵錯
在傳輸過程中,可能會因為干擾產生雜訊而使資料錯誤,可利用原始資料計算出輔助資料後,一同給予接收端進去Error Detection。
Error Detection(錯誤偵測)方法:
1. 同位元檢查(Parity Check)
- 偶同位: 傳送出去時,有偶數個1。
- 問題:若原本就有偶數個1,則無法偵測error
- 奇同位: 傳送出去時,有奇數個1
- 問題:若原本就有奇數個1,則無法偵測error
3. 循環冗餘檢查碼(CRC)
4. 總和檢查(Checksum)
5. 漢明碼 (Hamming code) :也有error correction(錯誤修正)能力
- Jam signal (壅塞訊號) or (Collision signal)
當傳送frame的電腦偵測到collision,會改送這種特殊的訊號,以通知其他電腦稍後再傳送
- Collision Domain (碰撞領域)
jam signal 所能到的範圍
#### 解決方法:
MAC (媒介存取控制, Media Access Control)
一種用來管理、協調各電腦對傳輸媒介的使用,以決定哪台電腦可在傳輸媒介上面傳輸訊號。
以Ethernet 的 MAC Protocol CSMA/CD說明







### Ethernet 乙太網路
- 早期:利用Hub進行broadcast方式傳輸,代表任何一部電腦送出的訊號,其他相連電腦都會收到。header中包含了來源端與接收端的位址,再看誰要接收誰要捨棄。
- 現在:已改用switch去建立Star Topology,Switch 會依序Frame的Destination選擇要傳送的port,而不會用Broadcast了



=> 包含了Physicak & Data Link Layer,又將Data Link Layer細分為兩個子層:
1. Logical Link Control (邏輯鏈結控制層,LLC)
- 負責錯誤檢查、切割frame等
3. Media Access Control (媒介存取控制層, MAC)
- 負責傳輸媒介(eg.在bus) 上的控制
### MAC address
每一個Ethernet裝置或電腦中都會有一個由硬體製造商設定好的網路卡位址,稱為MAC address。

- 前3bytes為該硬體設備商的代號
- 後3bytes為製造商賦予的流水號
使該MAC address是獨一無二的。
=> 所以當A要傳資料給B,A的Data Link Layer會在frame的header中註明Destination為B的MAC address。
也稱作定址(addressing):在frame中紀錄了source & destination,以及資料的接收及回應對象。

### 目前2023 Ethernet 提供網路傳輸速度標準為:10Gbps(10 Gigabit Ethernet)
### VLAN (虛擬區域網路, Virtual LAN)
> 是架在switch之上,可透過switch的Port來區分不同的LAN
>
> 目的:
> 1. 流量管理(Traffic Management): 當LAN越來越大,傳輸的資料就容易造成網路壅塞,但藉由VLAN可以將網路切成不同的網域,就可平衡流量
> 2. Improve security
> 3. Make a network simpler
>
>
> 對實體的LAN進行logical分群,VALN 牽涉到Physical layer與Data Link Layer,並於layer2 的switch實現。允許一個實體網絡中的設備被劃分到不同的邏輯網絡中,每個VLAN都像一個獨立的LAN一樣運作。
>

> 一開始是由switch去連接不同LAN

> 透過VLAN技術,可以把switch的Port組成VLAN,但不同VLAN間要通訊,必須藉由router實現
- 台大112: We can apply tags to network frames and handling these tags in a local area network to create the appearance and functionality of network traffic that is physically on a single network but acts as if it is split between separate networks. This effectively creates ***VLANs***.
> 我們可以將標籤應用於網路幀並在區域網路中處理這些標籤,以創建網路流量的外觀和功能,該網路流量物理上位於單一網路上,但行為就像在不同的網路之間分割一樣
[交大]:

1. Physical layer: 實體網域的logical分群
2. Data Link layer: 在switch上創建多個VLAN
> 特點:
> 1. 可限制Broadcast Domain : 一般廣播訊框發送到網路區段的每一角落。如果經過VLAN分割後,廣播訊框會被 VLAN 橋接器隔離,僅在同一VLAN內部傳播,而不是整個網絡。
> 2. 具Firewall 功能:Frame僅限於在VLAN上broadcast,外部網路很難看到frame內容,不同VLAN之間的數據流量是隔離的,這有助於限制訪問權限和提高網絡的安全性。
> 3. 實現跨區子網路組成: 由不同switch連接的Port,透過VLAN技術,仍可以組成在同一VLAN中
> 4. 靈活的網絡管理和設計:VLAN的使用使網絡管理更加靈活,可以根據需求輕易地進行重新配置,而不需要改動物理布線。
> 5. 成本效益:使用VLAN可以避免昂貴的物理網絡重組。
[主要功能]:
1. 隔離廣播封包:
Switch上的Port會賦予不同的VLAN ID,只有相同的才會在同個群組,當broadcast時,只會在該群組內傳送。
2. 靈活性和管理方便
VLAN允許網絡管理員基於業務、部門、項目等邏輯分類,而不僅僅是物理位置來組織網絡。這使得資源和應用的配置更加靈活和方便。
3. 成本節省
使用VLAN可以減少物理網絡的需求,因此減少了硬體和維護成本。
4. 安全性
通過將網絡切分成多個邏輯段,VLAN可以隔離敏感的數據和應用,增強網絡安全。
---
# 無線區域網路
## WiFi (IEEE 802.11標準)
為LAN標準

[IEEE 802.11額外功能]
1. 支持Power management 電源管理 (通訊過程中如何盡量達到省電)
2. Security mechanisms 通訊過程如何加密確保傳輸安全

### SSID(Service Set Identifier,服務集識別碼)

> 就是WiFi名稱,用來識別無線區域網路(WLAN)中的一個特定無線網絡。
>
> 當你開啟電腦或其他無線裝置的無線網絡功能,裝置會搜尋並顯示所有可用的無線網絡,這些可用網絡的名稱就是它們的SSID。你必須選擇一個SSID並可能需要輸入密碼來連接到該網絡。
> - 網絡漫遊:如在校園中,多個接入點可能故意設置相同的SSID(一樣的WiFi名稱),以便用戶可以在不同位置之間漫遊而不會斷開連接。
讓使用者在移動時可以無縫地從一個無線接入點(Access Point, AP)切換到另一個,而不會感覺到連線中斷。
> 這種設置下,每個接入點都設有相同的SSID,但它們會有不同的BSSID(Basic Service Set Identifier):無線接入點(通常是無線路由器)的MAC地址(Media Access Control Address)。每個無線接入點都會有一個獨特的MAC地址,這個地址在製造時就已經被賦予到設備的網絡介面卡上,並在無線網絡中作為識別該接入點的標識。
>
> 當一個使用者從一個AP的覆蓋範圍移動到另一個AP的覆蓋範圍時,他們的設備會自動連接到信號強度較強的AP。
> In IEEE 802.11 wireless local area networking standards (including Wi-Fi), a service set is a group of wireless network devices which share a service set identifier (SSID)—typically the natural language label that users see as a network name. (For example, all of the devices that together form and use a Wi‑Fi network called Foo are a service set.) A service set forms a logical network of nodes operating with shared link-layer networking parameters; they form one logical network segment.
## 無線傳輸技術

### 1. 展頻技術
一般無線電通訊的訊號,都是使用「頻率範圍窄、功率較高」的電波,但易洩密、易受干擾。
透過展頻(SS, Spread Spectrum)技術,可將「頻率範圍窄、功率較高」的電波,轉為「頻率範圍較寬、功率較小」的電波。

=> 經過展頻處理後的訊號,因功率低,一般會被接受器視為雜訊,使涵蓋範圍很大難被干擾。展頻將電波涵蓋的範圍擴大,把功率降低,使波型由尖高型變成寬扁型,以增強抗干擾和隱密性。
[常見展頻技術]
1. 跳躍式展頻(FHSS, Frequency Hopping Spread Spectrum)
2. 直接序列展頻(DSSS, Direct Sequence Spread Spectrum)
## 跳躍式展頻(FHSS, Frequency Hopping Spread Spectrum)

在傳輸過程中,將資料切成多個frequency,在不同channel去送,不把data放在一個channel,怕容易與別人發生collision。使傳輸正確性更高。
eg. 藍芽技術
### 直接序列展頻(DSSS, Direct Sequence Spread Spectrum)

將原始signal 展開為數倍頻寬,此方式會把signal能量降低,甚至低於雜訊,避免被截取。
(Signal 低於雜訊,就不易被偵測)
■ ODFM 具有擴頻功能
### OFDM(Orthogonal Frequency Division Multiplexing,正交分頻多工)

利用具備"正交性"(載波重疊,但不受干擾)的多個子載波(multicarrier),提高資料傳輸效率。
##### FDM : 不重疊的地方,會有載波保護
##### OFDM: 沒有保護區段,故利用率佳
### OFDMA (Orthogonal Frequency Division Multiple Access,正交分頻多重進接)
> 是無線通訊系統中的一種多重接取技術。
>
> 是OFDM技術的演進,使用者可以選擇頻道條件較好的子通道(subchannel)進行資料傳輸,一組使用者可以同時接入到某一頻道。OFDMA與CDMA不同處在於OFDMA使用大量的正交窄頻子載波(subcarrier)來承載資料,與CDMA用單一載波承載單一資料相比,OFDMA更能對抗多徑效應。被認為非常適合寬頻無線網路,
>
> 優勢:
> 1. 可延伸性
> 2. MIMO的便利,
> 3. 有能力利用通道的頻率選擇性。Wi-Fi從Wi-Fi 6(802.11ax)開始使用OFDMA。
### MIMO(Multiple-Input Multiple-Output,多輸入多輸出)
是一種無線通信技術,通過在同一時間和頻率上使用多個發送和接收天線,來增加數據傳輸速率和系統容量,改善信號品質和增加覆蓋範圍。MIMO 在 Wi-Fi、LTE 和 5G 等通信標準中得到廣泛應用。
---
### Ethernet CSMA/CD
> 送packet之前會先聽channel status(eg.busy or idle),若是idle就直接送,若是busy則等待變成idle再送。當送出packet,sender仍會一邊送一邊監聽,若送到一半發生collision,sender會知道(有Collision Dection機制),一旦發生collision,代表此packet已經沒用,要讓大家知道所以會送一個32bits 的 jamming sequence把他打爛,為了讓大家知道此packet已無用。
#### Q: 而packet 送上去後,要聽多久才可以確定此packet有無collision ?
#### A: 利用Collision Window
---------------------
### Collision Window
> 是一個網段,最遠距離訊號來回時間,且在此時間內,packet不能送完

> - 每個 Ethernet packet 最少要512bits(64 bytes)長度,以防在最遠距離來回時間內就把packet送完而無法detect
>

---
#### Q: 當packet 傳送失敗後,下一次傳送要等多久的Algo
是?
#### A: 利用Exponential Backoff Algorithm
---
### Exponential Backoff Algorithm
> 每次連續衝撞多一次,等待時間可能就double
>


- Collision Signal 是由physical layer所送出去的,他會送出jamming signal去執行collision enforcement(強迫他們撞的更嚴重一點),在執行backoff(重送),而嘗試傳送等待的時間:Binary Exponential Backoff Algorithm(BEBA)
---
### Binary Exponential Backoff Algorithm (BEBA)
> 在發生collision後,要隨機等待一段時間才重送(backoff)的演算法。且連續的 Collision 次數越多,等待時間可能越久(random 決定)
>
> BEBA缺點:
> 1. LIFO: 先到的不一定先送,後到的反而有可能可以先送
> eg. 前面的人從一開始就在等,後來的剛好遇到idle,就馬上送出
[Summary]
1. MAC Protocol:CSMA/CD
> 在Ethernet不管用甚麼材料、速度多快,他的MAC Protocol皆採用CSMA/CD
2. Connection less:
> 傳輸過程不需事先建立雙方連線,只要把Packet準備好,遵循CSMA/CD的Protocol(送之前先監聽idle or busy idle才送)即可
3. Unreliable transmission
> 1. Packet 送出去,不保證對方一定會收到,也不保證能正確地收到。但他仍會很努力送,若是遇到連續16次的collision才會放棄
> 2. 就算成功送出packet,對方收到,但packet 在傳輸過程中已被干擾(eg.電磁波),收方收到會先利用CRC 32檢查碼檢查,發現有錯仍會丟棄packet。所以內容有錯也不會重送!!
> [解法]:透過上面的Protocol:TCP
4. Topology from Bus to Star(switches)
5. 早期的Bus:
> 採Half-duplex transmission(半雙工):兩端皆可送給對方,但不可同時
> - 只適合在lightly loaded(輕負載)
> - Heavy load 時會有很多collision

5. 現在改採Switch:
> - 採Full-duplex transmission(全雙工):兩端通訊是雙向的,可同時傳輸(point-to-point)
>
> - 沒有collision了!!!
>> 仍然採CSMA/CD Protocol,但因線路結構變成Switch<-> PC 雙向傳輸,就無collision
>
> - Excellent performance (Wired Speed,線速): packet一進來就出去
---
## 無線傳輸問題:
### 1. Hidden Node Problem (隱藏節點問題)
當兩個在不同範圍的送方要將訊息送給同一人,因聽不到訊號而同時傳送給相同對象時會造成collision

### 2. Exposed Node Problem (暴露節點問題)
在涵蓋範圍中,聽的到彼此訊號的送方,仍可以同時傳送給不同對象。

### [解法]
## CSMA/CA
1. sender在送真正的packet之前先送一個RTS (Request to Send),會透漏一些packet資訊(如要送多久、frame長度等等)
2. receiver會回應,送出CTS (Clear to Send),告訴周邊的node說等等會接收一個packet(要收多久)

- 所以若是能看見CTS的node,代表他很靠近receiver,他就不能在CTS所說的packet接收時間內去傳送給receiver
而RTS本身在送時,也有可能發生collision,所以要求送一個RTS一定要回傳一個CTS。代表若RTS送出去後沒有收到CTS,就是發生collision了。若沒收到,等一個隨機時間,再送一次RTS,再等待一段時間。採用Exponential backoff algorithm
--------
## Ethernet、WiFi 比較表
| 特性 / 技術 | 以太網(Ethernet) | 無線網路(Wi-Fi) |
| ---------------- | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| **基本技術** | 有線網絡 | 無線網絡 |
| **數據傳輸介質** | 電纜(如同軸電纜、雙絞線) | 空氣(無線信號) |
| **傳輸速度** | 通常較高(可達10 Gbps) | 一般較低(依標準不同,一般在600 Mbps以下) |
| **碰撞控制技術** | CSMA/CD(載波偵聽多重存取/碰撞檢測) | CSMA/CA(載波偵聽多重存取/碰撞避免) |
| **CSMA/CD** | 當一個節點開始傳輸數據前,會先偵聽網絡是否有其他數據傳輸。如果發現碰撞,則立即停止傳輸,並在隨機時間後重試傳輸。 | 不適用 |
| **CSMA/CA** | 不適用 | 在傳輸數據前,節點會先監聽網絡以確定無其他節點在傳輸。然後通過隨機時間延遲來嘗試避免碰撞。 |
| **指數退避算法** | 在發生碰撞後,選擇一個隨機的退避時間進行等待,這個時間隨連續碰撞次數增加而增長。 | 在偵測到可能的碰撞時,也會選擇一個隨機的退避時間進行等待,時間同樣會隨擁塞程度增加而增長。 |
| **信號干擾** | 較少,有線媒介更穩定 | 較多,受到其他無線設備、障礙物、距離等影響 |
| **擴展性** | 通過增加交換機、集線器等設備擴展 | 通過增加接入點(AP)擴展範圍 |
| **安全性** | 通常較高,由於物理接入控制 | 較低,需加密和認證來確保安全 |
| **移動性** | 受限於有線連接 | 高,支持移動和漫遊 |
| 有無Hidden Terminal Problem(隱藏節點問題) | 無 | 有 |
[交大]

(a) 在LAN中,運行以太網(Ethernet)使用CSMA/CD協議的計算機比運行Wi-Fi使用CSMA/CA協議的計算機有更低的餓死(starvation)概率。
(b) 因為CSMA/CD通過碰撞檢測和隨機退避機制降低了連續碰撞的概率,使得每個節點最終都有機會傳輸數據。而CSMA/CA由於隱藏節點問題和信號衰減,有可能導致某些節點更頻繁地碰撞,從而增加了餓死的風險。
### 統整概念
#### 802.11 採用 ACK (回應)方式
每次送frame都要有回應才行


1. 先送RTS看是否collision
2. 等待CTS回應
3. 之後確認無collision再開始送部分的data,等待ACK 回應,再送下一部分Data
## 藍芽
### IEEE 802常見標準:
| 標準 | 描述 |
|------------|------------------------------------------------|
| IEEE 802.1 | 高層網絡管理,包括橋接和網絡架構 |
| IEEE 802.2 | 定義邏輯鏈路控制(LLC)層,用於局域網和都會區網的協議 |
| IEEE 802.3 | 以太網標準,定義有線局域網的物理層和MAC層 |
| IEEE 802.11| 無線局域網(WLAN)標準,廣泛稱為Wi-Fi |
| IEEE 802.15| 無線個人區域網(WPAN)標準,包括藍牙等技術 |
| IEEE 802.16| WiMAX(Worldwide Interoperability for Microwave Access),這是一種用於長距離無線網絡通信的技術,旨在提供寬帶無線存取。 |
## ZigBee (紫蜂)
採IEEE 802.15.4 標準運行,採用網狀(Mesh)的無線感測網路(WSN, Wireless Sensor Network). 具低功耗、低成本、低數據率的無線通信技術。它是一個開源標準,適合應用於IOT,如智慧居家、工業4.0
#### Wifi v.s. 藍芽 v.s. ZigBee 比較圖

## RFID (Radio Frequency Identification, 無線射頻辨識)
使用無線電波(Radio Frequency)來建立通訊,進而能讓通訊的一端被識別其身分、型號的技術。
##### RFID 組成系統
1. 讀卡機(Reader)
讀取卡片資訊機器 eg. 捷運入口閘票門
3. 標籤(Tag)
負責提供識別資訊的裝置,具儲存空間及microprocessor(微處理器),進行讀取的相關動作
5. 天線(Antenna)
6. 後端系統
##### RFID Tag 種類
1. Passive(被動式):
Tag本身不具電力,當Tag靠近讀卡機才藉由持續發射無線電波的讀卡機藉由電磁感應以產生電流,開始運作
2. Semi-Passive(半主動式):
- 能源來源:有內置電池來供電 RFID 標籤的內部電路和感測器,但仍然依賴讀取器的信號來傳輸數據。
- 通信距離:一般比被動式 RFID 長,但短於主動式 RFID。
- 應用:用於環境監測、冷鏈運輸追踪、高價值資產管理等。
4. 主動式
- 能源來源:有內置電池,可以主動發送無線電信號。
- 通信距離:通常遠大於被動式 RFID,可達到100米甚至更遠。
- 應用:用於資產追踪、車輛識別、實時定位系統 (RTLS) 等。
## NFC (近場通訊,Near Field Communication)
NFC 技術源於 RFID,將RFID技術集成到移動設備中,實現點對點的通信。是一種短距離的高頻無線通訊技術,可以讓裝置進行非接觸式點對點資料傳輸,也允許裝置讀取包含產品資訊的近距離無線通訊 (NFC) 標籤
- 應用 移動支付、個人數據共享
- 優點:快速和方便、短距離通信(保護數據安全)、低功耗、多功能
### 網際網路協定 IPv6
>網際協定第6版(Internet Protocol version 6)是網際協定的最新版本,用作網際網路的協定。用它來取代IPv4主要是為了解決IPv4位址枯竭問題,同時它也在其他方面對於IPv4有許多改進。
IPv6的設計目的是取代IPv4,
| 特點 | IPv4 | IPv6 |
|-----------------|-----------------------------------|-------------------------------------------------------|
| 地址長度 | 32位元 | 128位元 |
| 地址表示法 | 十進位 | 十六進位 |
| 地址範例 | 192.168.1.1 | 2001:0db8:85a3:0000:0000:8a2e:0370:7334 採用32個十六進制數 |
| 總地址數量 | 約43億個地址 | 3.4 x 10^38 個地址 |
| 地址配置 | 手動、DHCP | 手動、DHCP、自動配置 |
| 安全性 | 需要透過額外的應用程式或協定 | 在其設計中已經內建IPsec |
| 服務品質(QoS) | 可用,但不原生 | 在其設計中已有QoS的原生支援 |
| 節點數量 | 主要針對小型網路 | 主要設計給大型網路,如物聯網 |
| 廣播 | 使用廣播 | 沒有廣播功能 |
| 擴充性 | 受限於地址空間的大小 | 提供更多的地址空間和靈活性 |
| 头部複雜性 | 較複雜,須進行校驗等 | 簡化的頭部,不進行校驗 |
| NAT(網絡地址轉換)| 經常需要因地址不足 | 通常不需要NAT |
### WiFi

---
## OWASP 2023版的十大API安全風險
> Open Worldwide Application Security Project (OWASP) 是一個開放的社群,以非營利模式營運,致力於改善軟體安全
### API1:2023 - Broken Object Level Authorization 不安全的物件授權
攻擊者可透過操作客戶端發送的 Object ID request,進而利用不安全授權的 API。這表示客戶端可以從 API 存取不該存取的資訊。這種攻擊通常會導致未授權的資訊洩露、資料被竄改或破壞。
### API2:2023 - Broken Authentication 無效身分認證
身分認證在API中是另一個相對複雜且混亂的機制。身份驗證機制若實施不當,能使攻擊者破壞或利用身份驗證權杖,暫時或永久地冒用其他用戶的身份。破壞系統識別用戶端/使用者的能力,會損害 API整體安全。
### API3:2023 - Broken Object Property Level Authorization 物件屬性級別授權失效
在23年版本中,這個風險結合了19年的API3:2019 Excessive Data Exposure(資料暴露不當)和API6:2019 - Mass Assignment (批量配置不當)。因為這兩個風險的根本原因都是物件屬性級別的授權驗證缺失或不當,他可以確保用戶只能存取對應權限的資源或資料。失效的話,會導致資訊外洩或被未授權者篡改。
### API4:2023 - Unrestricted Resource Consumption 不受限的資源消耗
API常設計用來供查詢回傳資料,因此API會請求需要的網路頻寬、CPU、記憶體和儲存等資源。其他資源,如電子郵件/SMS/電話或生物識別驗證,利用API整合由服務提供者提供,並按請求付費。成功的攻擊者可能利用這項風險,造成導致拒絕服務或增加營運成本。
### API5:2023 - Broken Function Level Authorization 無效功能權限控管
複雜的存取控制策略涉及不同的層級、組態和角色,並且在管理和常規功能之間沒有明確的分離,往往會導致授權漏洞。攻擊者將API請求發送到他們不應該存取,但暴露給匿名使用者或沒有權限的一般使用者的端點。利用這些問題,攻擊者可以存取其他用戶的資源和/或管理功能。
### API6:2023 - Unrestricted Access to Sensitive Business Flows 不受限存取敏感商務流程
易受此風險影響的API可能是自動化流程過度使用的功能,容易發生在購買票卷(車票、門票類)或評論的相關功能。這不一定是程式端的缺陷。
### API7:2023 - Server Side Request Forgery 伺服器端請求偽造
當API在未驗證使用者提供的 URI 的情況下獲取遠端資源時,可能會出現伺服器端請求偽造 (SSRF) 缺陷。這使攻擊者能夠強制應用程式將精心設計的請求發送到意想不到的目的地,即使受到防火牆或 VPN 的保護。
### API8:2023 - Security Misconfiguration 安全組態錯誤
API和支援系統通常包含複雜的配置,主要讓API更具彈性及客製化。軟體和DevOps工程師可能會忽視這些配置,或在配置方面未遵循安全最佳實踐,因而打開攻擊大門。
### API9:2023 - Improper Inventory Management 庫存管理不當
API通常比傳統Web應用程式暴露更多的端點,因此正確和更新文檔非常重要。對主機和API版本進行適當的管理也很重要,以減少如廢棄的API版本和暴露的測試端點等維護問題。
整合
### API10:2023 - Unsafe Consumption of APIs API的不安全使用
開發人員一般會更信任來自協力廠商API的資料,因此對協力廠商採取較弱的安全標準。為了破壞API,攻擊者會攻擊協力廠商服務,而不是直接嘗試破壞目標API。
---
### CDN(Content delivery network,內容傳遞網路)
> 主要是通過將內容(如網頁、圖片、視頻等)分佈在全球多個位置的伺服器上,來減少數據傳輸的延遲,加快內容的載入速度。這是通過智慧路由(Routing server)實現的,這種路由會將使用者請求定位到離使用者最近的伺服器上,或者在某個伺服器上的負載較輕時定向到該伺服器。
>
> 這個過程中,Routing server起到了關鍵作用,因為它們負責決定如何根據使用者的地理位置以及CDN網路的狀態將請求路由到最合適的伺服器。
### 負載平衡器(Load Balancers)
> 是在多個伺服器之間分配網路或應用程式流量的系統。可確保沒有一台伺服器承擔過多的需求,從而提高可靠性和性能。
>
> 負載均衡器可以在 OSI 模型的各個層工作;例如,第 4 層負載均衡器根據來自網路和傳輸層協定(如 IP 和 TCP)的數據分配流量,而第 7 層負載均衡器根據來自應用層的數據(如 HTTP 標頭或 SSL 會話 ID)分配請求。
### Proxy server (代理伺服器)
> A proxy server acts as an intermediary between a client seeking resources from other servers. It can serve various functions including providing shared network connections, caching data to speed up common requests, and hiding the identity of the requesting client for security or privacy reasons. Proxies can also enforce access policies, preventing certain resources from being accessed by the client.
>
> 代理伺服器充當客戶端在尋求伺服器資源間的中介。它可以提供各種功能,包括提供共用網路連接、緩存數據以加速常見請求,以及出於安全或隱私原因隱藏請求用戶端的身份。代理還可以強制執行訪問策略,防止客戶端訪問某些資源。
### database server (資料庫伺服器)
> Using software that manages and provides access to a database. It responds to requests from client machines to access and process data (like reading, writing, and deleting data). Database servers are crucial for applications where data needs to be reliably stored, managed, and retrieved, such as in web applications, enterprise systems, and content management systems.
>
> 使用管理和提供對資料庫的訪問的軟體。它回應用戶端電腦訪問和處理數據(如讀取、寫入和刪除數據)的請求。資料庫伺服器對於需要可靠存儲、管理和檢索數據的應用程式至關重要,例如在 Web 應用程式、企業系統和內容管理系統中。
### File Servers 檔案伺服器
> A file server is a server that stores and manages files for multiple users. It is responsible for centralizing data storage and providing shared access to files, allowing users to collaborate by sharing documents and other types of files over a network. File servers can enforce permissions, ensuring that only authorized users can access or modify the files stored on them.
>
>檔案伺服器是為多個使用者存儲和管理檔的伺服器。它負責集中數據存儲並提供對文件的共享訪問,允許使用者通過網路共享文檔和其他類型的檔進行協作。檔伺服器可以強制執行許可權,確保只有授權使用者才能訪問或修改存儲在其中的檔。
### Virtual Private Network (VPN,虛擬私有網路)
> 是一種網路傳輸加密技術,透過在公有網路上建立一條加密的連線,來保護數據傳輸的安全性和隱私性。
>
#### [運作原理]
>用戶開啟VPN client端,會建立一個加密隧道,再透過ISP取得Internet服務(透過VPN,ISP無法查看數據內容),加密數據到達VPN server後,原本IP會被VPN server的地址給取代。避免透漏真實IP地址。

#### 優點:
> 1. 保護數據免受攔截
> 2. 隱藏實際地理位置
> 3. 繞過地理限制
> 4. 網絡審查。
>
>
> 是一種通過不太安全的網路(如 Internet)創建安全連接的服務。它通過執行以下操作來增強隱私和安全性:
>
>1. Encryption:
>
>VPNs encrypt data before it leaves your device, creating a private tunnel through the internet. This encryption keeps the data secure and private, which is particularly valuable when using public Wi-Fi networks where security might be inadequate.
>
>加密:VPN 在數據離開您的設備之前對其進行加密,從而通過互聯網創建專用隧道。這種加密可以確保數據的安全性和私密性,這在使用安全性可能不足的公共Wi-Fi網路時特別有價值。
>
>2. IP Address Masking:
>
>By routing your traffic through VPN servers, the VPN service hides your IP address, making it appear as if your traffic is coming from the VPN server’s location instead of your own. This can provide anonymity and allows users to circumvent geographical restrictions on internet content.
>
>IP 位址遮罩:通過 VPN 伺服器路由您的流量,VPN 服務會隱藏您的 IP 位址,使其看起來好像來自 VPN 伺服器的位置,而不是您自己的位置。這可以提供匿名性,並允許使用者規避對互聯網內容的地理限制。
>
>3. Secure Remote Access:
>
>VPNs are often used to securely connect to a remote network. This is especially useful for businesses that need to provide a secure way for employees to access their network remotely.
>
>安全遠端訪問:VPN 通常用於安全地連接到遠端網路。這對於需要為員工提供遠端訪問其網路的安全方式的企業特別有用。
>
>4. Data Integrity:
>
>Beyond encryption, many VPNs ensure the integrity of your data, ensuring that it has not been tampered with during transmission.
>
>數據完整性:除了加密之外,許多 VPN 還確保數據的完整性,確保數據在傳輸過程中未被篡改。
>
>5. Authentication:
>
> VPNs typically require a user to authenticate with a username and password, which adds an additional layer of security before access to the VPN is granted.
>
> 身份驗證:VPN 通常要求使用者使用使用者名和密碼進行身份驗證,這在授予對 VPN 的訪問許可權之前增加了額外的安全層。
>
>6. Network Routing:
>
>The VPN client software on your device will typically handle the routing of data to and from the VPN server. It ensures that the right packets are sent through the VPN and that data intended for the local network, or the wider internet, is handled appropriately.
>
>網路路由:設備上的 VPN 用戶端軟體通常會處理與 VPN 伺服器之間的數據路由。它確保通過VPN發送正確的數據包,並適當處理用於本地網路或更廣泛的互聯網的數據。
>
>7. Protocols:
>
>VPNs use various protocols to establish and maintain secure connections. Some common protocols include OpenVPN, L2TP/IPsec, PPTP, and IKEv2/IPsec.
>
>協定:VPN 使用各種協定來建立和維護安全連接。一些常見的協定包括 OpenVPN、L2TP/IPsec、PPTP 和 IKEv2/IPsec。
The use of VPNs is widespread among individuals who wish to protect their browsing activities from prying eyes on public Wi-Fi, as well as among organizations that need to enforce a secure and controlled network environment for their employees, even when they are accessing from various and potentially insecure locations.
VPN的使用在希望保護其瀏覽活動免受公共Wi-Fi窺探的個人中很普遍,以及需要為員工實施安全和受控網路環境的組織中,即使他們從各種和可能不安全的位置訪問。
### 資安鐵三角:CIA Triad
在資安的世界中,CIA Triad是安全架構的基石,也是被廣泛採納的,資安團隊可鑑於以下三原則制定相關策略或評估潛在的威脅與漏洞:
1. 機密性(Confidentiality)
> 旨在對數據進行保密,也就是限制未經授權的資料之訪問與修改權,除了可確保隱密性,也降低機密資料陷入威脅的機率。
>
> 為了保護資訊的機密性,常見的對策包含:將數據分類或標籤化,甚至是對資料存取者進行身份驗證、對傳輸中的數據進行加密,也有公司提供相關課程提高員工資安意識。
2. 完整性(Integrity)
> 指的是數據沒有遭受未經授權者篡改,以確保資料在整個生命週期內的一致性與精確性。
>
> 如:在電商平台購物的消費者,希望所有產品與定價的資訊是準確的,並且所有訂購資訊在下訂單後不會改變。
> 銀行需要確保銀行存戶的帳戶金額的準確性與即時性,無論是透過ATM、網銀轉帳,該餘額都無法被有心人士修改。
>
> 與機密性相同,完整性會因為篡改入侵檢測系統或修改系統日誌而直接受到損害,也可能是人為疏忽或編碼錯誤而造成資安的完整性受到威脅
> 常見的保護措施包含:電子文件導入數位簽章、獲取具公信力機構發行認證的安全性證書等。
3. 可用性(Availability)
> 意味著已啟動或正在運行的程序,授權者能夠即時地訪問這些資源,假如某系統、應用程式或數據無法即時讓授權用戶進行使用時,那麼資訊就無法為企業產生最大化的價值。
>
> 許多情況都會危及可用性,包括軟硬體故障、電源故障、自然災害和人為疏失,電腦病毒也會直接衝擊可用性,常採取的應對策略包括:定期軟體修補與系統升級、備份等保護解決方案。
### 資訊倫理的議題
1. 隱私權(Privacy)
2. 正確性(Accuracy)
3. 財產權(Property)
4. 使用權 (Accessibility)
### ACID
> 是指資料庫管理系統在寫入或更新資料的過程中,為保證交易是正確可靠的,所必須具備的四個特性:
1. 原子性(Atomicity)
> 不可分割特性,要馬全部成功,要馬全部失敗
2. 一致性(Consistency)
> 不同的數據都會有一些基本的約束,而這些約束在交易前跟交易後都必須要遵守,如果沒辦法遵守交易就必須失敗
3. 隔離性(Isolation)
> 多個 transaction 不會互相干擾,不能修改到同一個值
4. 持久性(Durability)
> 就算 server 當機、斷電,已經修改的數據也不會不見,應該要被寫入能夠永久儲存的裝置中,而不是暫存。
### IP(Internet Protocol,網際網路協定)
> 是整個TCP/IP運作核心,也是構成網際網路的基礎,負責網路之間訊息傳送的協定
> 主要提供服務:
#### 1. IP Packet 切割與重組
#### 2. IP Packet的傳送
>
> eg. IP packet 從來源裝置傳送到目的裝置
> 透過兩機制實現:
1. IP定址(IP Addressing):給予每個IP 獨一無二的address以供識別。IP address 又可分為:
> - 動態 IP 地址:這些地址是由互聯網服務提供商 (ISP) 隨機分配的。每次設備連接到網絡時,它都可能獲得不同的 IP 地址。這種類型的 IP 地址適合大多數家庭和小型企業用戶。
> 雖然是隨機給予,每次可能會不同,但每次拿到必定都是獨一無二。
> - 靜態 IP 地址:這些地址是固定不變的。某些業務和網絡應用需要固定 IP 地址,以便始終可以通過相同的地址訪問它們。
>
>Internet 可視為許多LAN 所連結而成的大型網路,若要在Internet中傳送IP packet,除了要確保每個packet有獨一無二的IP address,還必須透過 IP Routing,去決定封包在網路中的傳輸路徑
2. IP 路由(Routing):
> 替IP packet 選擇傳送的路徑
>

| | 傳送特性 |
| --- | -------- |
| IP | 非連接式(Connectionless):傳送前不須與對方事先建立連線,送就對了(只負責送,其他由TCP負責檢查) |
| TCP | 連接式(Connection-Oriented):來源與目的雙方必須先建立連線,才能進一部傳輸資料 |
### IP packet 的傳送方式

1. Unicast (單點傳送)
> 一對一的傳送模式,Destination為單一裝置。
> 在Internet上傳送的封包,大多都為Unicast
2. Broadcast (廣播傳送)
> 一對多的傳送模式,Destination為某網路,該網路內的所有裝置都會收到
> eg. ARP
3. Multicast(多點傳送)
> 一對多的傳送模式,Destination為可以是一群指定的裝置
### IP address 表示法
IPv4 的 IP Address 由 32 位元組成,即 32 個 1 和 0,

### IP address結構

- 網路位址(Network ID)
> 位於IP address前段,可用來識別所屬的網路。
> 同一網路上的所有裝置,都會有相同的網路位址。IP routing便是根據IP address 的網路位址,決定要將IP packet送至哪個網路
- 主機位址(Host ID)
> 位於IP address後段。
> 同一網路上的所有裝置,都會有相同的網路位址,而各裝置間則用Host ID來區別。
### 常見的3種IP address等級

1. Class A:
> Network ID為8bits,最左的前導位元必須為0,可從00000000~01111111,共128個
2. Class B:
> Network ID為16bits,最左的2個前導位元必須為10(二進制),可從10000000~10111111,介於 128.0.0.0~191.255.255.255間,網路可運用的Host ID有2^16=65536個,常分給大企業或ISP使用
3. Class C:
> Network ID為24bits,最左的3個前導位元必須為110(二進制),可從11000000~11011111,介於192.0.0.0~223.255.255.255間,網路可運用的Host ID有2^8=256個,常分給小型企業用
---
### 特殊的IP address
| | IPv4範圍 | 描述 |
| ------------------------------------ | ------------------ | --------------------------------------------------- |
| Host ID全為0 | eg. 203.74.205.0 | 代表為class C的網路 |
| Host ID全為1 | eg. 203.74.205.255 | 代表對203.74.205.0這個網路全體封包做廣播 |
| Network ID 與 Host ID全為1 | 255.255.255.255 | 稱為limited 或 local廣播,廣播範圍只侷限於所在的LAN |
### Router 介紹
#### Adaptive
#### Link-state
#### distance-vector
#### incremental update 增量更新
### Loopback
> 是一種內部通信機制,允許一臺電腦進行自我通信,主要用於測試和開發目的
> 1. IP地址:在IPv4中,Loopback的IP地址範圍是127.0.0.0/8,其中最常用的地址是127.0.0.1。在IPv6中,Loopback地址是::1。
> 測試和診斷:Loopback經常用於測試網絡設備和軟件是否正常工作,例如,可以通過ping 127.0.0.1來檢查本地堆疊是否正常。
> 2. 本地服務訪問:開發人員和系統管理員使用Loopback地址來訪問在同一臺機器上運行的網絡服務,這對於本地開發和測試尤其有用。
> 3. 安全性:因為Loopback通信只在本地進行,不會經過任何外部網絡,所以它是非常安全的。
### IP address 仍有缺點,劃分的機制彈性不足,於是有了子網路(Subnet)出現,企業能自行在內部將網路切割為子網路,更具備彈性
### 子網路(Subnet)
> 在IP address中的 host ID中,借用幾bits作為subnet address,原先的Network ID + subnet address便可用來識別特定的子網路

### 因subnet切割後,Router難以識別IP address 的Network ID 與 Host ID變成怎樣。
>> 解法: 子網路遮罩(Subnet Mask)
### 子網路遮罩(Subnet Mask)
> 用來指明IP address的哪些位址是Network ID 哪些是 Host ID 的位址遮罩,必須搭配IP address 一起使用才有意義。
> Subnet Mask的1所在處: 代表IP address的Network ID
> Subnet Mask的0所在處: 代表IP address的Host ID
>




### 網段說明

🚀 IP位址: 192.168.4.100/22 (子網路遮罩: 255.255.252.0)
>主機 IP 位址為 192.168.4.100,子網路遮罩為22bits
1. 將192.168.4.100 = (11000000.10101000.00000100.11100100)
2. 根據 /22 的前置碼 (prefix),可以得知子網路遮罩Subnet mask = Network ID 佔22個1
> Subnet mask = (11111111.11111111.11111100.00000000)
3. 將 IP address 與 Network ID取AND運算 ,得到子網路編號
```
11000000.10101000.00000100.11100100 (IP address)
& 11111111.11111111.11111100.00000000 (Subnet mask)
-------------------------------------------------
11000000.10101000.00000100.00000000
```
4. 得子網路編號為 `192.168.4.0`
5. 將 IP地址 和 反轉後的子網路遮罩 進行 “OR” 運算,得到廣播位址。
```
11000000.10101000.00000100.00000000 (IP address)
| 00000000.00000000.00000011.11111111 (反轉後的子網路遮罩)
-------------------------------------------
11000000.10101000.00000111.11111111
```
6. 得廣播位址為 `192.168.7.255
7. 結果:🧰 IPAddress.Range
- 網路地址加 1 通常是第一個可用 IP 地址。
- 廣播位址減 1 通常是最後一個可用 IP 地址。
- 在這個例子中,子網路編號為 `192.168.4.0`,所以可用範圍為 `192.168.4.1 ~ 192.168.7.254` 。`
> 只有選項(B)介於`192.168.4.1 ~ 192.168.7.254`內,它所設定的IP地址在正確的範圍內,因此攝影機將能夠和終端設備在同一子網內通訊
參考: https://hackmd.io/@0x0607/Bk4oJzxxa
---------
### > 當我們想利用 IP Address 把資訊送到目的地的網絡,最終也要找出該 Host 的 MAC address( 也就是Ethernet Address:主機在實體網路間識別) 才能準確無誤地到達。而找出的方式就必須透過ARP協定
### ARP (位址解析協定,Address Resolution Protocol)
> 在 Ethernet 的環境下,可透過用 IP Address 來找出 MAC Address

> 好處:
> 1. 提高網路效率:儲存IP address 與 MAC address間的關聯

> [運作原理]:
>
> 當一個 host 要找另一個 host 時,它會用 broadcast 發出一個 ARP Query (查詢) ,這 ARP Query 包含想要查詢的 IP。由於是 broadcast,網段中所有 host 都會收到。
>

> 只有擁有這個 IP 的 host 收到查詢後會回覆,回覆中包含它自己的 MAC Address。查詢的一方會把這個 MAC Address 記錄在 ARP Table 之中。

> 成功
>

### 傳輸層協定 (Transport layer - Protocols)
> ,因為IP協定只確保封包交換設備之間的傳輸,並沒有確保數據的傳輸,所以傳輸層提供資料傳出更高階的控制,將會議層的資料拆封包之後,給每一個封包追蹤號碼,保證所有的資都是以正確的順序送達。
| 傳輸層協定 |
| ---------- |
| UDP |
| TCP |
### TCP
> Unreliable service -> Reliable service(TCP)
> - Flow control (流量控制)
>> 指receiver 有一個機制來控制從sender 過來的流量(eg. 資料大小、傳輸速度等等),視情況隨時調整資料傳輸速度,主要是靠Sliding Window來調整
> - Congestion control (壅塞訊號)
>> 避免送太多data到Internet使Internet塞住
> - Reliable
> > 提供可靠服務:克服packet 遺失、順序不對、delay
> - Connection oriented (連線導向)
>> TCP 使用前要先建連線,UDP則不用
> - Byte-stream service
>> TCP每次傳輸皆以Byte為單位,只計算傳送與接收總共多少bytes而不以message數量來計算。
>>
eg. B收到兩個訊息:300和500 bytes
若以message stream(訊息串流)角度看:收到一個300一個500
若以Byte stream看: 只知道總共收到800bytes
> - TCP是run在整個Internet上而非point-to-point
> - Sliding window algorithm
> - TCP 在傳送packet的單位:segments
> TCP傳輸資料前,會先將資料分割成較小封包,再將這些封包加上編號,然後送出。在接收端收到資料後,TCP會開始檢查資料是否已經全部收到?或是有錯誤或漏掉的?如果都沒有問題,才會將封包依序組合起來,還原成原本的資料。
### UDP
> Unreliable service -> Unreliable service(UDP)
> UDP對接收到的封包不會做任何回應,因此封包可能會在傳輸過程中遺失、重複、或不依照順序送收,抵達速度也可能比接收端的處理速度快。對於某些訊息量較大的傳輸,像是語音或影像,可容忍一些遺失的封包而感覺不出來。
>
> 雖然跟IP相同,都是不可靠的傳輸,但因為還加了port number,所以UDP上面就可以有很多application或process
TCP和UDP主要的差別在於是否提供可靠性傳輸,TCP 有錯誤檢查和壅塞控制,具有高度的可靠性;相較之下,UDP 著重效率,不在乎封包遺失,能在網路條件不好的情況下,不斷發送資料, 適用於即時性的服務,例如網路電話。而 TCP 適用於要求可靠傳輸的服務,例如 FTP 檔案傳輸。

#### TCP提供了四種UDP不具備的服務:
1. Connection-oriented communication:
> TCP establishes a connection using a three-way handshake before any data can be sent, ensuring a reliable path between the sender and receiver is established. UDP is connectionless and does not establish this kind of connection.
> 連接導向的通訊:
> TCP在發送任何數據之前使用三次交握建立連接,確保在發送方和接收方之間建立可靠的路徑。UDP 是無連接的,不會建立這種連接。
2. Reliable data transfer:
> TCP ensures that the data sent from one end is received by the other end without errors and in the same order. It achieves this through sequence numbers and acknowledgments. UDP does not guarantee reliable delivery of packets.
> 可靠的數據傳輸:
> TCP確保從一端發送的數據被另一端接收,沒有錯誤,並且順序相同。它通過序列號和確認來實現這一點。UDP 不保證可靠交付
3. Flow control:
> TCP uses window-based flow control mechanism to ensure that a sender is not overwhelming a receiver by sending more data than it can process at once. UDP does not have a flow control mechanism.
> 流量控制:
> TCP 使用基於視窗的流量控制機制來確保發送方不會因發送的數據多於一次可以處理的數據而使接收方不堪重負。UDP 沒有流控制機制。
4. Congestion control:
> TCP has built-in mechanisms to detect and manage congestion in the network, which helps to reduce network overload and ensure data packets are delivered efficiently. UDP lacks congestion control and can continue to send data regardless of network conditions.
> 擁塞控制:
> TCP具有內置的機制來檢測和管理網路中的擁塞,這有助於減少網路過載並確保數據包的高效傳遞。UDP 缺乏擁塞控制,無論網路狀況如何,都可以繼續發送數據。
These services are essential for applications where data delivery assurance is critical, like web browsing (HTTP), file transfer (FTP), email (SMTP, IMAP, POP3), and secure communication (TLS/SSL). UDP, on the other hand, is used in applications where speed is more critical than reliability, such as streaming audio/video or gaming.
這些服務對於數據傳輸保證至關重要的應用程式至關重要,例如 Web 瀏覽 (HTTP)、檔案傳輸 (FTP)、電子郵件 (SMTP、IMAP、POP3) 和安全通信 (TLS/SSL)。另一方面,UDP 用於速度比可靠性更重要的應用,例如流式音訊/視頻或遊戲。


> 題目要求列出三種資訊,這些資訊可以讓使用TCP協議的發送方在沒有來自路由器的明確反饋的情況下推斷出網路中存在擁塞的情況。 這裡要注意的是,題目問的是觀察到的資訊,而不是擁塞控制的機制。
> 1. 3-duplicate ACKs:當發送方收到三個或以上相同數據包的確認時,這通常表示該數據包後面的包已經丟失,這可能是因為網路擁塞。
>
> 2. 超時(Timeout):發送方發送數據包后,如果在預定的時間內沒有收到確認,將觸發超時。 這通常意味著數據包在網路中丟失,可能是因為擁塞導致的。
>
> 3. 傳輸速率下降(Decrease in Sending Rate):如果發送方觀察到發送視窗(由擁塞視窗控制)的大小減少,這可能表明網路中出現了擁塞,因為在網路擁塞的情況下,TCP的擁塞控制機制會減少數據的發送速率
### Cullular Network (蜂巢式網路)
> 基地台(Base station)的佈建方式,也就是行動通訊網路的組成

### 基地台的交遞(Handoff)
> 當手機移動到分區邊界,該分區的基地台會偵測手機訊號減弱,當低於某個程度,就會從鄰近基地台,挑選訊號最強的作為手機新的頻道與新的基地台通訊
| 網路層協定 |
| ---------- |
| IP |
| APR |
| ICMP |
### ARP (Address Resolution Protocol,位址解析協定)
> 利用IP address 就可取得 MAC address
### ICMP (Internet Control Message Protocol, 網際網路控制訊息協定)
> 一種網路層協定,用於IP網絡的輔助協議,主要用於提供有關網絡操作的問題反饋。例如,packet無法到達目的地時,ICMP將發送消息給源主機。這是許多網路診斷工具,如ping和traceroute,背後的核心技術。
#### Ping
> 是一種網路診斷工具,用來測試packet能否透過IP 協定到達特定主機。
> - 原理:向目標host傳一個ICMP的request echo,並等待去接收echo packet。程式會按時間和成功回應次數來估算封包遺失率和封包往返時間(網路延遲,Round-trip delay time)
#### Ping值
> 是延遲的評量單位。代表從你的電腦發送訊號到伺服器再返回的時間。對遊戲玩家來說,ping 值相當重要。如果你的ping值很高,代表你的輸入需要很長時間才能有反應。
---
### 應用層傳輸協定
| 應用層傳輸協定 |
| -------------- |
| DNS |
| DHCP |
| HTTP |
| SMTP |
| FTP |
| 等等 |
### DNS (Domain Name System,網域名稱系統)
> 將人類可讀的網域名稱(如 www.example.com)轉換為機器可讀的IP address(如 192.0.2.1)。這樣的轉換讓我們可以使用容易記住的域名來訪問網站,而不需要記住複雜的數字序列。
> 主要用UDP(User Datagram Protocol (UDP)進行查詢,因為它們通常需要快速的、無連接的查詢。然而,在某些情況下,如果響應數據大小超過了UDP的限制,DNS也可以使用TCP。但標準的DNS查詢通常是透過UDP進行的。
### Reverse DNS (反向DNS)
> DNS 也可以進行相反的操作,這稱為Reverse DNS lookup,將 IP address 解析為對應的Domain Name。這通常用於網絡診斷和日誌分析中。
### DHCP (Dynamic Host Configuration Protocol)
> 是一種網絡協議,用於在IP網絡中自動分配IP地址和其他相關配置信息給網絡設備。這使得管理大型網絡中的IP地址配置變得更加容易和高效。
> - 使用IP (Internet Protocol) networks
> - Client-server architecture
> - 自動化配置/管理IP
DHCP的主要優點包括:
1. 自動化和簡化配置過程:自動分配IP地址和配置信息,減少了手動配置的需求,從而降低了錯誤發生的可能性。
2. 有效的IP地址管理:通過動態分配IP地址,可以更有效地利用有限的IP地址資源。
3. 便於網絡管理:當網絡設置更改時(例如更改DNS服務器地址),只需在DHCP服務器上進行更改,無需逐個更改每台設備。
[台大111]
1. it is used on Internet Protocol (IP) networks
2. it uses a client-server architecture
3. it allows the automatic management of IP addresses
4. it offers great benefit to mobile users as valid configuration parameters are automatically obtained from the new network
用更簡單的方式解釋 DHCP。
### DHCP 是什麼?
**DHCP** 就像是一個「網路自動分配員」。當你的電腦或手機連上網路時,需要一個 IP 地址(就像郵遞區號一樣,讓資料包知道怎麼找到你)。而 DHCP 的工作就是幫你自動分配這個 IP 地址,讓你不需要自己手動設定。
以前,網管人員需要手動分配每台設備的 IP 地址,不僅麻煩,而且很容易出錯。DHCP 則可以自動完成這個工作,特別是在公司或學校這種大型網路中,非常方便。
### DHCP 怎麼運作?

DHCP 用的是一個叫 **DORA** 的流程,這是四個步驟的縮寫:
1. **Discover(發現)**:當你的設備(像手機或筆電)連上網時,會發出一個「我需要 IP 地址!」的廣播訊息,問網路上是否有 DHCP 伺服器可以提供 IP。
2. **Offer(提供)**:網路上的 DHCP 伺服器(可能是路由器)回應這個訊息,說:「我有一個 IP 地址可以給你!」並提供一些網路設定資訊。
3. **Request(請求)**:你的設備收到伺服器的回應後,會選擇這個 IP 地址,並發出請求訊息:「我要這個 IP 地址,請幫我保留!」
4. **Acknowledge(確認)**:伺服器回應確認這個 IP 地址分配給你,並正式把 IP 地址分配給你的設備。
這樣一來,你的設備就有了 IP 地址,可以開始上網了!
### DHCP 的三種分配方式
DHCP 可以有不同的分配模式,視情況而定:
1. **靜態分配**:這種方式分配固定的 IP 地址給特定的設備,例如伺服器或印表機,因為它們需要固定的地址以便其他人可以找到它們。
2. **自動分配**:伺服器會從一個預設的 IP 地址池中分配一個地址給設備,而且這個地址通常不會變。
3. **動態分配**:這是最靈活的方式,伺服器會給設備一個「租約」,在一段時間(比如 6000 秒)內使用這個 IP 地址。租約到期後,伺服器可以把這個地址再分配給別人。
### DHCP 在 IPv6 網路中的應用
在 IPv6 網路中,有一種方法叫 **SLAAC**,可以讓設備自動生成 IP 地址,不用依賴 DHCP。但 DHCP 還是很有用,因為它可以分配其他網路設定,例如 DNS 伺服器的資訊。
### DHCP 的應用場合
DHCP 被廣泛使用在各種網路中:
- **家庭網路**:你的家用路由器通常會自動分配 IP 地址給家裡的所有設備。
- **公司網路**:在企業環境中,DHCP 大幅減少網管人員的工作量,讓大量的電腦和設備都能快速配置好網路。
- **ISP(網路供應商)**:當你上網時,ISP 通常會自動給你的家用路由器一個公共 IP 地址。
### 安全性
DHCP 也有安全問題,比如**惡意 DHCP 伺服器**(偽裝的 DHCP 伺服器)可能會分配錯誤的 IP 地址,導致網路連線失效。為了防止這種情況,網路應該有額外的安全措施,例如監控網路活動、限制未授權設備的存取等。
### 常見問題排解
有時候 DHCP 也會出問題,比如:
- **伺服器沒回應**:可能 DHCP 伺服器不在線上。
- **IP 地址不足**:當設備太多而 IP 地址不夠用時,有的設備就拿不到 IP 地址。
- **IP 衝突**:如果兩台設備意外拿到相同的 IP 地址,會導致連線不穩定。
這時候網管可以使用一些工具來檢查和解決這些問題。
### 總結
簡單來說,DHCP 就是網路裡的「IP 地址管理員」,自動幫設備分配 IP 地址,讓我們輕鬆上網,而不需要手動設定 IP。
---
### DHCP 的協議:DORA
**DORA** 是 DHCP 協議的流程名稱,包含了四個步驟:
1. **Discover**(發現):當客戶端(Client)連上網路時,會發送一個廣播訊息,請求 IP 地址。
2. **Offer**(提供):收到 Discover 訊息的 DHCP 伺服器回應並提供一個可用的 IP 地址。
3. **Request**(請求):客戶端選擇其中一個伺服器的 Offer,並向該伺服器發送請求確認該 IP。
4. **Acknowledge**(確認):選中的 DHCP 伺服器確認並正式分配這個 IP 給客戶端。
### 多台 DHCP 伺服器的情境
當 **同一網段內** 有兩台 DHCP 伺服器時,通常是為了增加系統的穩定性,避免單點故障(備援),或是分散負載(降低附載)。在這種情況下,兩台 DHCP 伺服器都可以處理客戶端的 IP 請求,但需要設定好 IP 地址的分配範圍,以避免 IP 重複分配的問題。下面解釋這個過程的運作原理。
1. **備援與負載均衡**:當同一個網段有兩台 DHCP 伺服器時,這兩台伺服器會在分別的 IP 地址範圍內分配 IP。例如:
- 第一台 DHCP 伺服器分配 IP 範圍 `192.168.1.1 - 192.168.1.100`。
- 第二台 DHCP 伺服器分配 IP 範圍 `192.168.1.101 - 192.168.1.200`。
這樣一來,即便兩台伺服器同時運作,也不會有重複 IP 的情況發生。
2. **IP 分配邏輯**:當客戶端(例如一台電腦或手機)發送 DHCP Discover 訊息後,會被網段內的兩台 DHCP 伺服器同時收到。但通常 **最先收到並回應** 請求的伺服器會提供 IP 地址。也就是說,誰先回應客戶端的 Discover 訊息,誰就負責提供 IP 地址。
3. **避免 IP 重複**:透過預先配置的分配範圍,兩台 DHCP 伺服器在提供 IP 時會各自從不同的 IP 池中選擇 IP 地址,因此不會出現同一台客戶端從不同的 DHCP 伺服器獲得重複 IP 的情況。
### 跨網段 DHCP 配置(DHCP Relay)
當網路中包含多個子網段時,某些子網段可能沒有自己的 DHCP 伺服器。在這種情況下,可以透過 **DHCP Relay(DHCP 轉發代理)** 來處理 DHCP 請求,使不同網段的設備也能取得 IP 地址。這個過程如下:
1. **副網段的 DHCP Relay 設置**:在副網段(沒有 DHCP 伺服器的網段)中,客戶端的 DHCP Discover 請求會被設置為轉發給主網段的 DHCP 伺服器。
2. **路由器或 L3 交換機的 DHCP 轉發功能**:此 DHCP Relay 功能通常由網段之間的路由器或第三層交換機(L3 Switch)來支援。當這些設備接收到 DHCP 請求時,會將請求「轉發」到主網段的 DHCP 伺服器。
3. **主網段的 DHCP 伺服器回應**:當主網段的 DHCP 伺服器收到請求後,會為副網段的客戶端分配一個 IP 地址。這個 IP 地址和相關設定會被路由器或 L3 交換機轉發回副網段的客戶端。
### 小結
- 在同一個網段內使用多台 DHCP 伺服器,通常目的是為了提供備援或分擔負載。只要兩台伺服器設定不同的 IP 分配範圍,就能避免 IP 重複分配問題。
- 在多個網段情境中,則可以使用 DHCP Relay 功能,讓副網段的 DHCP 請求被轉發至主網段的 DHCP 伺服器,並返回 IP 配置,前提是網路中的路由器或 L3 交換機支援這種轉發功能。
### 電子郵件傳輸的標準網絡協議
| Mail傳輸 | Mail Protocol |
| --- | ------------- |
| 用於發送的Protocol | SMTP |
| 用於接收的Protocol | POP3 |
| 用於接收的Protocol | IMAP |
1. SMTP (Simple Mail Transfer Protocol):
> SMTP 是用於發送電子郵件的協議。當你寫好一封電子郵件並點擊發送時,你的電子郵件客戶端(如 Outlook、Gmail 等)會使用 SMTP 來將郵件發送到一個服務器上。這個服務器然後再利用 SMTP 將郵件轉發到收件人的郵件服務器。SMTP 只負責郵件的傳輸,不涉及郵件的存儲。
2. POP3 (Post Office Protocol version 3):
> POP3 是一種用於從郵件服務器接收郵件的協議。當你使用郵件客戶端檢查新郵件時,客戶端會使用 POP3 協議從你的郵件服務器上下載郵件。一旦郵件被下載到你的設備上(如電腦、手機等),它們通常會從服務器上刪除(儘管這可以配置為不刪除)。POP3 主要用於那些需要在一台設備上存儲和管理郵件的場景。
3. IMAP (Internet Message Access Protocol):
> 它允許郵件停留在服務器上,方便從多個設備訪問和同步郵件。現代電子郵件服務(如 Gmail)採用它。
| Network layer Protocol|
| -------- |
| IP |
### IP (Internet Protocol)
> 定義了數據包的格式以及如何將它們從發送方路由到接收方。每台連接到互聯網的設備都有一個唯一的IP地址,這使得數據可以正確地傳送到目的地。
>版本:有兩個主要版本的IP協議:IPv4和IPv6。IPv4是最廣泛使用的版本,但由於地址空間有限,IPv6被開發出來以提供更多的地址。
| 特徵 | IPv4 | IPv6 |
|---------------|----------------------------|----------------------------------------|
| **地址長度** | 採用32 bits的位址 | 採用128 bits的位址 |
| **地址表示法** | 點分十進制表示法 | 十六進制表示法,使用冒號分隔 |
| **地址空間** | 約43億個地址 | 340 undecillion(非常大的數字) |
| **配置方式** | 手動配置或通過DHCP自動配置 | 通過自動配置(如SLAAC)或DHCPv6 |
| **安全性** | 基本無內建安全特性 | 內建IPsec支持,提供更高的安全性 |
| **封包大小** | 固定標頭,無擴展選項 | 可擴展的標頭,支持更多的選項和靈活性 |
| **檢錯機制** | 有標頭校驗和 | 沒有標頭校驗和,需要下層協議(如TCP或UDP)處理 |
| **QoS支持** | 有限(通過TOS字段) | 增強(通過流標籤) |
| **廣播** | 支持 | 不支持,使用多播替代 |
| **NAT支持** | 廣泛使用NAT | 無需NAT,每個設備可有唯一的全球地址 |
| **移動性和多宿** | 受限 | 內建支持,更好的移動性和多宿能力 |
| Data Link layer Protocol|
| -------- |
| PPP |
### PPP (Point-to-Point Protocol)
> 用於在兩個點之間(通常是一個客戶端和一個服務器)建立直接連接的數據鏈路層協議。
>功能:PPP用於許多類型的物理媒介,包括電話線和光纖,它支持多種網絡層協議,如IP。PPP還提供了認證功能,如PAP(Password Authentication Protocol)和CHAP(Challenge Handshake Authentication Protocol),以驗證連接的雙方。
> 應用:PPP常見於撥號互聯網接入和部分寬帶連接。在早期的互聯網接入中,PPP是實現撥號上網的主要協議。
---
### 1. ISP Throttling(ISP限速)
- **定義**:ISP(互聯網服務提供商)限速是指ISP故意降低其客戶互聯網速度的做法。
- **原因**:這可能是由於多種原因,如網絡擁堵管理、限制對特定服務(如流媒體、P2P交換等)的訪問,或作為對超出數據使用限制的客戶的一種措施。
- **影響**:對於用戶來說,這可能導致網絡速度顯著下降,影響網絡體驗,特別是在高需求的活動(如視頻流媒體或大型文件下載)中。
### 2. Capping(數據上限)
- **定義**:數據上限是ISP對客戶在特定時間段內可使用的數據量設置的上限。
- **實施**:一旦客戶達到這個數據上限,ISP可能會採取不同的措施,如額外收費、限速或暫停服務。
- **目的**:這通常用於管理網絡流量和資源,特別是在流量較高的地區或在流量使用高峰期。
### 3. Tunneling(隧道技術)
- **定義**:隧道技術是一種將數據從一個網絡安全地傳輸到另一個網絡的方法。
- **機制**:通過將數據封裝在另一層協議中,從而在不同的網絡間建立一個“隧道”。這可以隱藏數據的真實性質,保護數據免受攔截和閱讀。
- **應用**:隧道技術廣泛用於VPN(虛擬私人網絡)中,以實現安全的遠程訪問和數據傳輸。
---
### NAT (Network Address Translator,網路位址轉譯)
> 為了解決IPv4位址不足問題的技術。是Router中的一項服務,將一組IP轉成另一組IP address。主要作用是在私有網絡和公共網絡(例如互聯網)之間轉換IP地址。

1. NAT作為技術的特點:
地址轉換:NAT允許多個設備使用私有IP地址,在連接到互聯網時通過單一的公共IP地址來共享連接。這是通過將私有地址轉換為公共地址來實現的。
2. 節省IP地址:由於IPv4地址的有限性,NAT技術允許更有效地利用公共IP地址,使得多個設備能夠共享一個公共IP。
3. 安全和隱私:NAT還提供了一定程度的安全性和隱私保護,因為內部網絡上的設備不會直接暴露給互聯網。
### Port Mapping(端口映射)
> 是一種網絡地址轉換(NAT)的技術,它在Router(或firewall)上應用。它的主要功能是將從外部網絡接收到的特定通訊埠上的流量重新導向到內部網絡中的特定主機和通訊埠上。使從外部網絡(如互聯網)能訪問到內部私有網路。
工作方式:
1. **外部請求**:當從外部網絡發送到路由器公共IP地址的特定通訊埠(比如SSH的默認通訊埠22)上的請求時。
2. **映射規則**:路由器根據預先設定的規則,將該請求轉發到內部網絡上的特定設備和通訊埠。
3. **內部處理**:內部網絡中的設備收到請求並作出響應。
4. **回應外部請求**:響應隨後通過相同的路由器回到原始請求者那裡,對外部請求者來說,就像直接與內部設備通訊一樣。
> 在不同子網之間進行連接的情況下,如果路由器已經配置了正確的路由規則,使得這些子網能夠互相通訊,那麼Port Mapping可以用來進一步控制和管理特定的流量,讓特定的通訊埠請求從一個子網轉發到另一個子網的特定設備上。
> 代表即使在不同子網上的設備,通過設置Port Mapping,我們也能夠實現它們之間的連接,比如遠程桌面連接、SSH連接、HTTP服務訪問等。
### VoIP(Voice over Internet Protocol, 網路語音通訊)
> 是一種技術,用於通過互聯網傳輸語音和多媒體通信,而不是通過傳統的電話線路。這種技術將語音訊號轉換為數字數據包,然後通過網絡傳輸,最終在另一端再轉換回語音訊號。
> eg. Line打電話、Google meet
## LTE (長程演進, Long Term Evalution)
> is a standard for wireless broadband communication. It's used for mobile devices and data terminals to increase the capacity and speed of wireless data networks. LTE is a part of the path towards 4G wireless communication standards 。
>
> 是一種高速無線通信標準,用於手機和數據終端。它被廣泛用於提供高速數據傳輸,特別是在智能手機和其他移動設備上。嚴格算起來只能稱呼為 3.9G ,算是進入 4G 時代前的過渡期。
### PKI(公開金鑰基礎設施,Public key Infrastructure)
> 是一套用於管理數字證書和公開金鑰加密的技術和服務。它在保障網絡交易的安全性、確保數據完整性、以及驗證通信雙方身份方面發揮著重要作用。
>
> PKI的核心組件和概念包括:
> 1. 數字證書:這是一種電子文件,用於證明公開金鑰的所有權。數字證書通常包含公開金鑰、證書持有者的信息、證書有效期、以及由證書授權機構(CA)的數字簽名。
>2. 證書授權機構(CA):CA是一個受信任的實體,負責發行和管理數字證書。CA會驗證申請數字證書者的身份,並發行證書以證明其公開金鑰的合法性。
>3. 公開金鑰和私有金鑰:在公開金鑰加密中,每個用戶都有一對金鑰:公開金鑰和私有金鑰。公開金鑰可以公開分享,用於加密數據或驗證數字簽名;私有金鑰則是保密的,用於解密數據或創建數字簽名。
>4. 證書吊銷列表(CRL):CRL是由CA發布的一份列表,其中包含被撤銷或失效的數字證書。這是確保證書有效性的一種方式。
>5. 數字簽名:數字簽名是用私有金鑰生成的,附加在電子文檔上,用於證明文檔的完整性和來源的真實性。
PKI的應用範圍非常廣泛,涵蓋了安全電子郵件、安全網頁交易(如HTTPS)、數字簽名、數據加密等多個領域。它是現代網絡安全的基石之一。
## 5G
> 第五代移動通信技術的簡稱,旨在提供比4G LTE更高的數據傳輸速度、更低的延遲和更大的連接容量,從而支持日益增長的移動數據需求和新興的技術應用。
>
> 主要特點
>1. 極高速度:5G的理論峰值速度可達每秒數十甚至數百吉比特,這比4G快許多倍,能夠支持高清視頻和虛擬現實內容的無縫流傳。
>1. 低延遲:5G的反應時間極短,延遲可低至幾毫秒,這對於需要即時響應的應用(如遠程醫療、自動駕駛汽車和互動遊戲)至關重要。
>2. 高連接密度:5G能夠在小範圍內支持更多設備的連接,這對於擁擠的城市地區和物聯網設備尤為重要。
>3. 寬頻譜利用:5G利用了更寬的頻譜資源,包括以前未被移動通信使用的高頻段,從而提高了數據傳輸的容量和效率。
> #### 應用領域
>1. 智慧城市:5G可以支持更智能、更連接的城市基礎設施,從智能照明到交通管理系統。
>2. 工業自動化:在工業4.0中,5G可實現更高效的生產流程和機器間的即時通信。
>3. 遠程醫療:5G的低延遲和高速度使得遠程手術和實時醫療診斷成為可能。
>4. 增強現實和虛擬現實:5G可提供足夠的帶寬和速度,以支持沉浸式AR和VR體驗。
>5. 自動駕駛汽車:5G的快速反應時間和高數據傳輸速度對於實現真正的自動駕駛技術至關重要。
## RAN (Radio Access Network,無線電接取網路)

## ORAN (Open Radio Access Network,開放式無線電接取網路)

### Email Protocol
| Send | Receive |
| ---- | ------- |
| SMTP(Simple Mail Transport Protocol) | IMAP(Internet Message Access Protocol)、POP3(Post Office Protocol 3) |
### SMTP(簡易郵件傳輸通訊協定, Simple Mail Transport Protocol)
> 是透過網路**傳輸**電子郵件的技術標準。與其他網路通訊協定一樣,SMTP 允許電腦和伺服器交換資料,而無論其底層硬體或軟體是什麼。正如使用標準化的信封地址讓郵政服務能夠運作一樣,SMTP 標準化了電子郵件從寄件人到收件人的傳輸方式,從而使廣泛的電子郵件傳遞成為可能。
### POP3(Post Office Protocol 3,郵局通訊協定版本 3)
> 是用於**接收**電子郵件的替代通訊協定,可將電子郵件從伺服器下載到本機裝置。使用 POP3,收件者無法再次從其他裝置存取他們的電子郵件,因為它們儲存在本地,然後會從電子郵件伺服器中刪除。
### IMAP(Internet Message Access Protocol,網際網路訊息存取通訊協定)
> 是一種用於**接收**電子郵件的通訊協定。通訊協定標準化了技術流程,以便電腦和伺服器能夠相互連接,而無論它們是否使用相同的硬體或軟體。
>
> IMAP 的一個重要功能是它允許使用者從任何裝置存取他們的電子郵件。這是因為 IMAP 充當電子郵件伺服器和電子郵件用戶端之間的中繼,而不是將電子郵件從伺服器下載到電子郵件用戶端。

### Sliding window protocol(滑動視窗協定)
> `Stop and Wait` 一次只能傳一個封包,而 Sliding Window 則可以一次傳送一批封包,使用滑動窗口方法可以避免網路上的流量壅塞。由於傳送方(Sender)和接收方(Receiver)的 TCP 實作了封包緩衝區的滑動窗口,應用層仍將提供資料以傳輸到 TCP,而不必擔心網路流量壅塞問題。實現Flow control。
>
> 窗口大小可能會根據網路流量動態變化,如果在通訊路徑的錯誤非常少,則可增加窗口的大小,以增加資料吞吐量。反之,則減少窗口的大小,以確保資料完整性而且維持吞吐量。

### Packet 傳輸:
> Packets可以通過多種網路設備傳輸:
1. **交換機(Switches)**:
- 交換機用於連接同一網路(例如局域網LAN)內的設備。
- 它們工作在數據鏈路層,使用MAC地址來轉發數據包到正確的端口。
2. **路由器(Routers)**:
- 路由器用於連接不同網路(例如將局域網連接到廣域網WAN或互聯網)。
- 它們工作在網絡層,使用IP地址來決定數據包的最佳路徑。
3. **中繼器(Repeaters)和橋接器(Bridges)**:
- 這些設備用於放大信號或將兩個網路段連接起來。
- 橋接器工作在數據鏈路層,可以對數據流進行過濾和轉發。
4. **網關(Gateways)**:
- 網關在更高的網絡層次工作,可以進行更複雜的轉換,允許不同協議的網路相互通信。
5. **防火牆(Firewalls)**:
- 防火牆用於監控和過濾進出一個網路的數據流。
- 它們可以是獨立的網路設備,也可以作為軟體運行在其他網路設備上。
6. **無線接入點(Wireless Access Points, WAPs)**:
- 無線接入點允許無線設備連接到有線網路。
- 它們通常與交換機或路由器結合使用。
無線接入點(Wireless Access Point, WAP)與WiFi路由器比較:
| 特性 | 無線接入點 (WAP) | WiFi路由器 |
|------------|-----------------------|----------------------|
| **主要功能** | 提供無線網絡連接點 | 分配網絡地址,並提供無線網絡連接 |
| **網絡管理** | 通常作為現有有線網絡的擴展 | 管理網絡流量和數據包路由 |
| **連接類型** | 單純提供無線連接 | 提供無線和有線連接 |
| **IP地址分配**| 通常不負責分配IP地址 | 通常包含DHCP伺服器,自動分配IP地址 |
| **安全性** | 提供基本的無線網絡安全設定 | 提供進階的安全設定,如防火牆 |
| **用途** | 擴展現有網絡的無線覆蓋範圍 | 連接到網際網路並創建無線網絡 |
| **配置** | 相對簡單,通常無需進階配置 | 可能需要進行複雜的配置 |
### 虛擬電路(Virtual Circuit)、封包交換網絡(Packet Switching Network)比較:
#### [台大111]
| 特性 | 虛擬電路(Virtual circuit,VC) | 封包交換網絡(Packet switching) |
|----------|-------------------------------------------------|-------------------------------------------------|
| 連接型態 | 連接導向(Connection-oriented) | 無連接(Connectionless) |
| 數據傳輸 | 在傳輸開始前建立一條固定路徑 | 每個數據包獨立選擇路徑,無需事先建立路徑 |
| 路徑選擇 | 路徑在連接建立時確定,並在連接期間保持不變 | 每個數據包可能走不同路徑,依據當時的網絡條件動態決定 |
| 資源分配 | 可能為連接保留固定資源(如帶寬) | 資源被所有數據包共享,不為特定傳輸保留 |
| 數據包處理 | 數據包按照固定路徑順序傳輸 | 數據包獨立傳輸,可能無序到達 |
| 可靠性 | 由於路徑固定,提供較高的傳輸可靠性 | 需要在更高層(如TCP協議)處理可靠性問題 |
| 適用場景 | 適合對順序和可靠性要求較高的應用,如語音和視頻通話 | 適合數據傳輸靈活性和擴展性要求高的環境,如互聯網傳輸 |
| 範例 | ATM(非同步傳輸模式)、Frame Relay | 互聯網使用的TCP/IP協議 |
Carrier Sense"(載波感測)、"Carrier Wave"(載波波)比較:
| 特性 | Carrier Sense(載波感測) | Carrier Wave(載波波) |
|--------------|----------------------------------------------|---------------------------------------------|
| **定義** | 一種網絡通信機制,用於檢測共享媒介上是否有其他設備正在傳輸數據。 | 用於傳輸信息的電磁波,通過調製來攜帶數據。 |
| **主要功能** | 檢測信號,以判斷是否有其他設備在通信中。 | 作為攜帶聲音、視頻或數據的媒介。 |
| **應用範圍** | 以太網(CSMA/CD)、無線網絡(CSMA/CA)。 | 廣播(無線電、電視)、手機通信、衛星通信等。 |
| **操作方式** | 通過感測媒介上的載波活動來控制數據傳輸。 | 通過改變波形的特性(如振幅、頻率、相位)來傳輸信息。 |
| **重要性** | 防止數據衝突,確保網絡的有效通信。 | 確保信息能夠在不同的通信媒介上傳輸。 |
| **技術實現** | 通常內嵌於網絡設備的硬體或軟體中。 | 需要特定的硬體(如發射器和接收器)來產生和接收。 |
### CSMA(Carrier Sense Multiple Access,載波檢測多重存取)
> 送packet之前,先看線路上有沒有人在使用
整理CSMA/CA、CD差異
---
# 網路攻擊(Cyberattack)
### 網路攻擊
### 1. Brute-force attack(暴力攻擊) = exhaustive attack(窮舉攻擊)
> refers to a method where the attacker tries every possible combination of passwords until the correct one is found. This method doesn't rely on any external knowledge or insight, simply iterating over the entire possible password space from beginning to end until a match is discovered. This type of attack can be incredibly time-consuming, especially when the password space is large.
> 指攻擊者嘗試所有可能的密碼組合,直到找到正確的密碼的方法。這種方法不依賴於任何外部知識或見解,只需從頭到尾遍歷整個可能的密碼空間,直到發現匹配項。這種類型的攻擊可能非常耗時,尤其是當密碼空間很大時。
### 2. Dictionary Attack 字典攻擊
> A dictionary attack is a more targeted form of attack where the attacker uses a list of likely passwords, phrases, or words. This list could be based on commonly used passwords or databases of passwords leaked from previous breaches. Compared to brute-force attacks, dictionary attacks are often quicker since they do not attempt every possible password combination but rather a curated list of likely candidates.
> 字典攻擊是一種更具針對性的攻擊形式,攻擊者使用可能的密碼、短語或單詞清單。此清單可能基於常用密碼或從以前的違規行為中洩露的密碼資料庫。與暴力攻擊相比,字典攻擊通常更快,因為它們不會嘗試所有可能的密碼組合,而是精心策劃的可能候選清單。
### 3. Man-in-the-middle attack(中間人攻擊)
> 是一個網路攻擊,兩個系統或人之間的訊息被未經授權的一方攔截。 攔截者試圖竊聽交換或冒充授權方之一。
>
> Between two systems or people is intercepted(攔截) by an unauthorized party(未經授權方). The person intercepting attempts to either eavesdrop(竊聽) on the exchange or impersonate(冒充) one of the authorized parties.

> 雙方認為他們正在直接相互通信,但攻擊者已經將自己插入了雙方之間
>
> Between two parties who believe that they are directly communicating with each other,but the attacker has inserted themselves between the two parties
### 4. replay attack (回放攻擊)
> 是一種惡意或欺詐的重複或延遲有效資料的網路攻擊形式。 這可以由發起者或由攔截資料並重新傳輸資料的對手來執行。這是「中間人攻擊」的一個較低階別版本。

### 4. Third-Party Attack(第三方攻擊)
> 攻擊組織中某一家合作夥伴的漏洞,導致所有使用該供應商服務的公司都面臨數據泄露的風險
- 目的:攻擊者的目的是通過第三方來存取或破壞目標組織的數據和系統。
- 例子:一家公司的數據庫供應商受到攻擊,導致所有使用該供應商服務的公司都面臨數據泄露的風險。
### 3. DNS Tunneling(DNS 隧道)
> 利用DNS協議來傳輸非DNS流量的技術。這在合法情況下可用於繞過網絡限制,但在惡意場景下,它可以用來偽裝數據傳輸,進行數據泄露或命令與控制通信。
- **示例**:攻擊者可以將惡意軟件與DNS查詢混合,將數據隱藏在看似正常的DNS流量中,從而繞過安全檢查。
- **防護措施**:監控異常DNS活動,使用先進的入侵檢測系統,並嚴格限制哪些系統可以進行DNS查詢。
### 4. Phishing(釣魚攻擊)
> 是一種社交工程技巧,攻擊者通過偽裝成可信實體,通過電子郵件或其他通信方式來誘騙受害者提供敏感信息,如用戶名、密碼或信用卡詳情。
- **示例**:攻擊者發送看起來像是來自銀行的電子郵件,要求收件人點擊鏈接並輸入他們的銀行憑據。
- **防護措施**:教育用戶識別釣魚試探,使用電子郵件過濾器,並實施多因素身份驗證。
### 5. Zero-Day Exploit(零日漏洞利用)
> 指在軟件或硬件中存在的未知漏洞,直到被發現並公開後才會有修補。零日漏洞利用是指攻擊者利用這些未被發現的漏洞進行攻擊。
- **示例**:攻擊者發現了一個流行操作系統中的未知漏洞,並利用它來獲取未經授權的訪問權限或散播惡意軟件。
- **防護措施**:定期更新和打補丁,使用行為監控和異常檢測技術,以及實施網絡隔離和最小特權原則。
### 6. DNS flood
### 7. DDOS(Distributed Denial-Of-Service attack,分散式阻斷服務攻擊)
> 目的在使網站或伺服器無法正常運作,通常通過洪水式的流量向目標發送大量請求,使其超出處理能力。

### 8. 勒索軟體攻擊(Ransomware):
> 攻擊者使用勒索軟體將受害者的文件加密,威脅將文件永久刪除或洩露,然後要求贖金以解鎖這些文件。
### 9. 惡意軟體(Malware):
> 包括病毒、特洛伊木馬、間諜軟體等,攻擊者使用這些軟體在受害者的設備上執行惡意操作,例如竊取資料、控制系統或加密文件。
### 10. 密碼攻擊:
> 攻擊者試圖破解或竊取用戶帳戶的密碼,以便進入受害者的帳戶或系統,這可能包括暴力破解、字典攻擊或社交工程技巧。
### 11. 社交工程(Social Engineering):
> 操控人類心理,攻擊者通常通過誘騙、誘導或欺詐手段,誘使受害者進行某些操作,例如提供敏感訊息或點擊危險連結。
### 12. SQL注入攻擊(SQL Injection):
> SQL注入攻擊是一種利用應用程式未適當驗證數據的攻擊方式,攻擊者在輸入字段中插入惡意SQL代碼,竊取數據庫中的資訊或執行惡意操作
### 13. 跨網站指令碼攻擊(Cross-site Scripting,簡稱XSS):
> XSS攻擊是一種攻擊方式,攻擊者將惡意的JavaScript代碼嵌入到網頁上,當用戶瀏覽該網頁時,該代碼會被執行,通常用於竊取cookie或其他敏感訊息。
### 14. 進階持續性滲透攻擊( Advanced Persistent,簡稱ThreatAPT ):
> 是未來資安攻擊趨勢,主要是透過長期性的網路攻擊,再配合先進的病毒或是手法,一直攻擊直到目標達成。
### 15. 特洛伊木馬程式(Trojan horse)
> 偽裝成合法軟件以誤導用戶其真實意圖的惡意軟件。當使用者執行可能無害的程式時,特洛伊木馬程式中的惡意軟體會打開系統後門,讓駭客藉此入侵電腦或網路。
### 16. 網頁掛馬攻擊(Web-based Malware)
> 駭客在一個不安全的網站上植入惡意程式碼。當使用者造訪網站時,會自動在電腦上執行指令碼造成感染。「掛馬」一詞源自於受害者只要造訪該網站就會遭感染,「造訪」即會感染。這種攻擊不須點擊網站中的任何訊息或輸入任何資訊。
### 17. 生日攻擊
> 生日攻擊是攻擊者濫用「雜湊演算法」的安全功能。該功能目的是驗證訊息的真實性。雜湊演算法是一種數位簽章,訊息的接收者會在接受該訊息前檢查該訊息是否為真。如果駭客可以建立一個跟寄件者所附訊息完全相同的雜湊亂碼,就能將寄件者的訊息替換成自己的。由於替換訊息擁有正確的雜湊亂碼,因此接收端會接受這則訊息。
「生日攻擊」的命名源自生日悖論,意指一個房間內只要有 23 人以上,就有超過 50% 的可能有兩個人生日相同。因此,雖然人們認為自己的生日(就像是雜湊值)是獨一無二的,但它們並非如人所想般獨特。
為了防止生日攻擊,請使用較長的雜湊值進行驗證。每多出一個數字至雜湊值中,就會大幅減少建立相符數字的機率。
### 18. 反射攻擊(Reflection Attack)
> 是一種網絡攻擊技術,攻擊者將對系統的請求偽裝成來自受害者的請求。這種攻擊通常用在分散式拒絕服務(DDoS)攻擊中,但在加密通訊的上下文中,反射攻擊可能指的是一種利用加密協定中的漏洞來進行的攻擊。
> 在對稱加密系統中,若加密和解密使用相同的密鑰,且這個密鑰用於加密通道的兩個方向(即傳送和接收),則有可能發生反射攻擊
> 反射攻擊在這裡可能涉及以下步驟:
> 1. 攻擊者截獲從客戶端到服務器的加密請求。
> 2. 攻擊者將截獲的加密請求發送回客戶端,而不是發送到服務器。
> 3. 如果客戶端對這個請求進行解密和處理,並且對解密結果進行回應,攻擊者可能會從這個過程中獲得有關加密鑰或系統運作方式的資訊。
### 19. ARP spoofing(ARP欺騙)
> 是一種網路安全攻擊手段,攻擊者透過發送假的ARP(地址解析協定:將IP address轉成MAC address)消息到網路中。這可能導致網路流量被導向攻擊者發送的IP地址,從而進行中間人攻擊或斷開連接。
### 20. Buffer overflow attack(緩衝區溢位攻擊)
> 攻擊者向一個程序傳送比其預定的緩衝區(buffer)更大的數據。緩衝區是在電腦記憶體中臨時存儲數據的地方。當輸入的數據量超過緩衝區的容量時,多餘的數據就會溢出(overflow)到相鄰的記憶體區域。
這種overflow可能會覆蓋掉其他重要的記憶體數據,包括程序的執行控制資料。攻擊者可以利用這種狀況,插入惡意代碼或者操作程式執行流程,從而控制受害者的系統。這可能導致未授權的資料訪問、系統崩潰或其他安全問題。
### 21. Spoofing attack (欺騙攻擊,Masquerading attack)
> 指人員或是程式用假的數據,成功地讓其他程式誤認自身的身份,以獲取原來身份沒有的不當權限。
>
> Snooping attack refers to unauthorized access to or interception of data. An unauthorized entity may intercept the transmission and use the contents for their own benefit.
### 22. Modification attack(修改攻擊)
> 修改資訊使其更有利於攻擊者
### 23. Repudiation attack(否認攻擊)
> 是由發送者或接收者之一執行的,以否認消息已被發送或接收。
### 24. Spyware
> 是一種設計用來竊取用戶數據和敏感信息的惡意軟件
### 25. 病毒(Virus)
> 通常指的是一種能夠主動複製自己並傳播到其他計算機的惡意程序
>
> A computer virus is a type of malware that, when executed, replicates itself by modifying other computer programs and inserting its own code into those programs.If this replication succeeds, the affected areas are then said to be "infected" with a computer virus, a metaphor derived from biological viruses
>
> 計算機病毒是一種惡意軟體,在執行時,通過修改其他計算機程式並將自己的代碼插入這些程式來複製自身。如果這種複製成功,那麼受影響的區域就會被說成是“感染”了計算機病毒,這是一個源自生物病毒的隱喻。
### 26. Botnet(殭屍網路)
> refers to a network of hijacked zombie computers that are remotely controlled by a hacker.
> 指的是一個由黑客遠程控制的被劫持的僵屍計算機網絡
### 27. Spoofing attack(欺騙攻擊)
> 指人員或是程式用假的數據,成功地讓其他程式誤認自身的身份,以獲取原來身份沒有的不當權限
> A situation in which a person or program successfully identifies as another by falsifying data, to gain an illegitimate advantage.
### 28. honeypot(蜜罐)
> 一個吸引攻擊者的目標,透過誘捕的手法,吸引駭客發動攻擊,以蒐集攻擊者的來源以及攻擊手法
### 29. Hardcoded Credentials(寫死憑證)
> 在程式碼中直接嵌入(或寫死)的憑證,如用戶名、密碼、密鑰或其他敏感數據。這樣做通常被認為是一個不安全的做法,因為如果攻擊者能夠獲取到源代碼,他們就可以輕易地訪問這些敏感信息
# 加密技術
### RSA (Rivest–Shamir–Adleman)
> 是一種非對稱加密演算法,在公開金鑰加密系統(Public-key cryptosystem)和電子商業中被廣泛使用。透過對極大整數做因數分解(factorize)的難度決定了 RSA 演算法的可靠性

### MDM(Mobile Device Management,智慧型手機自動化管理系統)
> 一款監控APP,目的為限制國軍不能開手機相機、熱點分享和GPS等功能。
## 防火牆(Firewall)


防火牆措施
為了管制封包進出,一般建構防火牆有以下三大措施:
> 1. 『封包過濾』(Packet Filter):
> 依照封包的型態或內容來過濾它是否可以進出私有網路。過濾封包並不能保證完全防止入侵,許多入侵者都會偽造封包來矇騙封包過濾器。再者,過濾封包的原則也很容易產生漏洞,讓入侵者有機可乘。
> 2. 『代理機制』(Proxy Firewall):
> 進入或外出的封包並不直接通過防火牆,而是由某一個代理伺服器(Proxy Server)來完成客戶端的要求,再轉傳給客戶端。代理程式可以檢視封包內的『內容』(Content),並決定是否給予轉送(過濾功能)。
> 3. 『網路位址轉譯』(Network Address Translation, NAT):
> 其功能是隱藏內部網路位址。將內部私有網路位址轉譯到外部的合法位址,便可隱藏內部伺服器的真正位址,免除成為外部攻擊者的攻擊目標。
> - 雖然 NAT 位址轉譯著重於隱藏內部網路,對於管制封包進出功能還是需仰賴封包過濾器與代理機制



## Screened subnet(屏蔽式子網路)
> or triple-homed firewall
1. perimeter network
a. bastion host
b. interior router
2. exterior router
#### Perimeter network(周圍網路)
> 也被稱作非軍事區(DMZ)。這是一個隔離的網絡,位於內部網絡和外部網絡(如互聯網)之間。它常被用來放置對外提供服務的伺服器,如網頁伺服器或郵件伺服器,以便公眾訪問,同時隔離內部網絡以增加安全性。
> No internal traffic, which may be sensitive, proprietary or business-critical, passes over the perimeter net, thus shielding this traffic from attackers even if the bastion host is compromised.
> 若有敏感、專有或關鍵資料的內部流量不會通過外圍網絡,因此即使堡壘主機受到損害,也可以保護該流量免受攻擊者的攻擊。
DMZ包含:
> 1. #### Bastion host (防禦主機)
> act as proxy servers for numerous services
> 扮演代理伺服器的功能,代理外部使用者存取內部伺服器,或代理內部使用者存取外部伺服器。
>
> 放置在DMZ中的特殊安全設計伺服器,它通常運行單一的應用,例如網頁伺服器。要塞主機是高度強化的,以抵禦攻擊,並且通常作為訪問內部網絡的唯一途徑。
> 1. 作為外部網路進入的訪問點
> 2. 作為內部網路要出去的訪問點
>
> 防禦主機就好像辦公大樓的大廳一樣,任何人想與大樓內的人員從事交易行為,都必須先到大廳和管理人員交涉,再決定是過濾或代理。

> 2. 屏蔽路由器(Screening Router):
> 某一路由器具有封包過濾功能,並直接暴露於外部網路上,又稱為外部路由器。去限制封包進出私有網路
此架構會比雙介面主機的安全性高一點,但仍缺乏多層防護(lacks defense in depth),也是目前私有網路中普遍採用的型態。屏蔽主機架構是由一部屏蔽路由器及一部防禦主機所構成。
>


> refers to a network architecture where a single firewall is used with three network interfaces. It provides additional protection from outside cyber attacks by adding a perimeter network to isolate or separate the internal network from the public-facing internet.
> 主要目的:
> The subnet's main purpose is to isolate the DMZ and its publicly accessible resources from the intranet, thereby minimizing external attention and possible attacks on that subnet.
>
> 子網路的主要目的是將 DMZ 和可公開存取的資源去跟 Intranet 做隔離,從而最大限度地減少外部關注和對該子網路可能的攻擊。
#### 一個經過篩選的子網(screened subnet)通常包括以下幾個子集: [政大111]
1. 外部防火牆(External Firewall):
> 是設置在企業網絡(intranet)和外部網絡(Internet)之間的防火牆。其主要功能是對進入和離開企業網絡的數據流進行監控和控制,以防止未經授權的訪問。
2. 非軍事區網路(Demilitarized Zone, DMZ):
> 位於外部防火牆和內部防火牆之間的網絡區域。在這個區域內,企業可在此放置那些需要對外提供服務的伺服器(eg.Web server、Mail server)。DMZ提供了一個額外的安全層,即使這些server受到攻擊,攻擊者也難以直接進入intranet。
3. 內部防火牆(Internal Firewall):
> 位於DMZ和intranet之間,其作用是進一步加強安全措施,保護內部網絡不受可能從DMZ滲透過來的威脅。
### CPU cache


### 生成式AI對資安的好處
### 一. 提升資安監控、偵測與回應的效率
> 過去彙整大量資料來源與分析,可能需要耗費數天,因此過去資安界已有開始重視使用AI/ML模型輔助分析、監控的作法。如今在生成式AI協助下,不僅能夠提供具備情境感知的大量資料與事件關聯分析,只要透過prompt或自然語言查詢,還能帶來以下五種助益:
>
> (1). 針對資安事件或異常警示,快速提供事件摘要
>
> (2). 大幅加速分析查詢與調查效率,透過自然語言描述,即可從大量日誌(log)與其他資料中搜尋到關鍵資訊
>
> (3). 快速分析腳本(script)與程式碼,給出簡單易懂的解釋
> (4). 很快給予使用者因應上的建議,或是直接產生回應的自動化腳本
>
> (5). 提示或詢問後也能給予選單提示按鈕,將簡化使用者操作與設定流程,讓使用者點擊確認後就能自動執行。
### 二. 可簡化資安產品查詢與操作,甚至帶來新變革
> 過往資安產品若是操作遇到問題,或是遇到不熟悉的警示事件,通常人員需要查找操作手冊,或是聯繫原廠請求技術支援,現在有了對話式的AI助理,將帶來完全不同的操作體驗,可透過一問一答的方式來查詢資料,甚至更簡便,完全不用提問,讓使用者點選預設好的功能按鈕項目,也就能直接得到答案。
> 不僅僅是可以在資安管理與大量資料查詢上帶來效益,在資安事件因應上帶來輔助決策或AI決策的效益,從操作面來看,更是完全簡化人員的相關操作流程。
### TCP connection management

### TCP three-way handshake

### Connection establishment in TCP

1. 由client發起連線:
> 送一個SYN(synchronization,同步)與seq(Sequence number) = x 給server
2. Server收到後:
> 回送SYN + ACK 與 Seq(Sequence number = y)給client,並發送 : Acknowledgement 代表等一下的data要從x+1開始
3. client 再回應一次Ack:
> 為了讓server確認此連線有建立成功
### Close connection


#### 統整
### TCP client state diagram

### TCP server state diagram


1. CDMA(Code Division Multiple Access, 分碼多重連結)
> 是一種多路徑的存取方式,在同一環境中,使用不同語碼進行溝通,以達成同時多人溝通。
2. ARP spoofing(ARP欺騙)
> 是一種網路安全攻擊手段,攻擊者透過發送假的ARP(地址解析協定:將IP address轉成MAC address)消息到網路中。這可能導致網路流量被導向攻擊者發送的IP地址,從而進行中間人攻擊或斷開連接。
3. ICMP (Internet Control Message Protocol, 網際網路控制訊息協定)
> 一種網路層協定,用於IP網絡的輔助協議,主要用於提供有關網絡操作的問題反饋。例如,packet無法到達目的地時,ICMP將發送消息給源主機。這是許多網路診斷工具,如ping和traceroute,背後的核心技術。
4. MPLS(Multi-Protocol Label Switch,多通訊協定標籤交換)
> 是一種數據傳輸機制,在網路中對傳輸packet進行label化,再基於這些label進行轉發。可用於改善網路流量的流向和管理
> 由於支援 MPLS 的router只需要查看附加到給定封包的 MPLS label,因此 MPLS 幾乎可以使用任何通訊協定(因此稱為「多重通訊協定」)。封包的其餘部分如何進行格式設定並不重要,只要路由器可以讀取封包前面的 MPLS 標籤即可。
5. Reverse Proxy Server(反向代理伺服器):
> 是一個server,位於client端和一個或多個server間,client端的請求會先到達Reverse Proxy Server,再由它轉發到內部網路實際的server上。提供load balance、壓縮請求、提高安全性等功能。
>
## Proxy 代理
### Forward Proxy
> Server不知道發請求的Client是誰

### Reverse Proxy
> Client不知道響應的Server是誰
