### compare main features/differences between circuit and packet switching strategies in following aspects: <br/>( a ) connection setup/teardown <br/>( b ) bandwidth reservation <br/>( c ) routing path selection <br/>( d ) queueing delay <br/>( e ) channel efficiency<br/><br/>比較電路和分組交換策略在以下方面的主要特徵/差異:<br/>(a) 連接建立/拆卸<br/>(b) 頻寬預留<br/>(c) 路由路徑選擇<br/>(d) 排隊延誤<br/>(e) 管道效率
| | **電路交換** | **封包交換** |
|:-----------------:|:----------------------:|:--------------------------------------:|
| **連接建立/拆卸** | 需要預先建立並保持連接 | 不需要預先建立連接,隨時開始和結束通信 |
| **頻寬預留** | 頻寬在整個通信期間預留 | 動態分配,根據需要共享 |
| **路由路徑選擇** | 保持不變 | 動態調整 |
| **排隊延誤** | 無排隊延遲 | 路由器/交換機上排隊等待傳輸 |
| **管道效率** | 一條一個,使用效率低 | 一條多用,使用效率高 |
---
### What are the five layers in the Internet protocol stack? Describe briefly the main responsibilities of each layer?<br/>互聯網協定棧中的五層是什麼?簡要描述每一層的主要職責?
#### 應用層 (application)
* 提供常見的網路應用服務,如 : IMAP, SMTP, HTTP
#### 傳輸層 (transport)
* 為應用行程提供端到端的通訊服務,如 : TCP, UDP
#### 網路層 (network)
* 提供路由和查詢ip地址的功能,如 : Internet Protocol, Routing Protocol
#### 連接層 (Link)
* 提供鄰近網域的網路節點做連結,如 : Ethernet, 802.11 (WiFi), PPP
#### 實體層(Physical)
* 在線路上傳輸bits,如 : 光纖
---
### Assume that Alice, with a Web-based e-mail acoount (such as Hotmail or gmail), sends a message to Bob, who accesses his mail from his mail server using POP3. Please list the series of application-layer protocols that are used to move the message from Alice’s host computer to Bob’s host computer. <br/>假設 Alice 使用基於 Web 的電子郵件(如 Hotmail 或 gmail)向 Bob 發送郵件,Bob 使用 POP3 從其郵件伺服器訪問他的郵件。請列出用於將消息從 Alice 的主機移動到 Bob 的主機的一系列應用層協定。

---
### A 向 B 傳1個 長度為2000bits的檔案,經過 3條路線、 2個路由器,假設沒有擁擠、塞車的情況( queuing delay = 0 ),線路傳播速度(propagation speed)為 $2\times 10^{8}m/s$ ,路由器處理時間(process delay)為 1 msec,$R_{1}、R_{2}、R_{3}$的傳輸速度分別為 1Mbps、2Mbps和500Kbps,$R_{1}、R_{2}、R_{3}$的線路長度分別為 600km、200km和400km,請問總延遲為多少。
### $d_{nodal} = d_{queue}+d_{process}+d_{transmission}+d_{propagation}$
### $d_{nodal} = 0 +2msec\times2(路由器\times2)+(\frac{2000bits}{1Mbps}+\frac{2000bits}{2Mbps}+\frac{2000bits}{5Kbps})+\frac{(600km+200km+400km)}{2\times 10^{8}m/s}$
### $=15ms$
---
### 假設您按兩下一個 Web 瀏覽器以取得一個網頁。但是,Web 快取代理伺服器(位於主機內部)不包含關聯 URL 的 IP 位址。因此,執行DNS查找以獲取IP位址。假設在您的主機收到 DNS 的 IP 位址之前訪問了 4 個 DNS 伺服器;這些連續訪問的 RTT 為 RTT 1、...、RTT4。讓 RTTo 表示本地主機和包含 Web p 年齡的伺服器之間的 RTT。進一步假設網頁由一個非常簡單的HTML文本組成,該文本引用了另外5個非常小的物件。 假設 Web 瀏覽器的傳輸時間為零,直到您最終收到所有物件
### 1. 具有 parallel 連接的非持久性 HTPP?
#### 一開始HTML的HTTP request$\rightarrow2\times RTT_{0}$<br/>HTML上的5個小東西,因為有parallel(平行)$\rightarrow2\times RTT_{0}$<br/>DNS查找$\rightarrow RTT_{1}+RTT_{2}+RTT_{3}+RTT_{4}$<br/><br/>共計$2\times RTT_{0}+2\times RTT_{0}+RTT_{1}+RTT_{2}+RTT_{3}+RTT_{4}$<br/><br/>
### 2. 沒有並行 TCP 連接的非持久性 HTTP?
#### 一開始HTML的HTTP request$\rightarrow2\times RTT_{0}$<br/>HTML上的5個小東西,分別都有request $\rightarrow5\times 2\times RTT_{0}$<br/>DNS查找$\rightarrow RTT_{1}+RTT_{2}+RTT_{3}+RTT_{4}$<br/><br/>共計$2\times RTT_{0}+5\times 2\times RTT_{0}+RTT_{1}+RTT_{2}+RTT_{3}+RTT_{4}$<br/><br/>
### 3. 具有 parallel 連接的持久 HTPP?
#### 一開始HTML的HTTP request(因為是持久性HTPP,所以包含了5個小東西的request)$\rightarrow2\times RTT_{0}$<br/>HTML上的5個小東西,parallel傳輸,只需 $\rightarrow RTT_{0}$<br/>DNS查找$\rightarrow RTT_{1}+RTT_{2}+RTT_{3}+RTT_{4}$<br/><br/>共計$2\times RTT_{0}+RTT_{0}+RTT_{1}+RTT_{2}+RTT_{3}+RTT_{4}$<br/><br/>
---
### FDM 和 TDM 有哪些優缺點,舉出N個
* TDM和FDM都是把不同來源的信號一起傳送,只是方式不同

**註:y軸為頻率(frequency)**
#### 一段一段傳,同一時間不會有不同封包的東西一起傳
* 優點:對設備的要求不高且複雜度不高,維護容易
* 缺點:難以擴展
#### <br/>

**註:y軸為頻率(frequency)**
#### 每個都切一小份,包成一份一起傳
* 優點:擴充性好
* 缺點:對設備的要求高且複雜,且佔頻寬
---
### DNS有什麼主要功用
#### 用來將域名跟ip位置的轉換
---
### Go-Back-N (GBN) 和 Selective Repeat (SR)有哪些相同與相異的點,舉出N個
### 相同點
1. 都是 連接層(Link) 的協定
2. 都使用sliding-window的方式確保資料完整性
### 不同點
| 特点 | Go-Back-N(GBN) | Selective Repeat |
|:--------------:|:----------------------------------------------------------------:|:--------------------------------:|
| 處理封包丟失 | receiver發現封包丢失,就算已經收到後面的封包,也會全丟了保證順序 | receiver請求重傳丟失的封包 |
| sender重傳封包 | sender需要重傳多個封包,即從丟失封包後的所有封包 | sender只需要重傳丢失的封包 |
| 效率和複雜性 | 有不必要的重傳,但實現相對簡單 | 在一些情況下可能更高效,但較複雜 |
---
### TCP 和 UDP 有哪些相同與相異的點,舉出N個
### 相同點
1. TCP 和 UDP都是 傳輸層(transport) 的協定
2. 都利用 checksum機制檢查信息
### 不同點
| | TCP | UDP |
|:--------:|:----------------------------------:|:--------:|
| 可靠性 | 高 | 低 |
| 速度 | 慢 | 快 |
| 建立連線 | 是 | 否 |
| 壅塞控制 | 有 | 無 |
| 檢查 | 序列號(seq)、認號碼(Ack)、checksum | checksum |
---
### TSL 和 TCP 有哪些相同與相異的點,舉出N個
| 特点 | TLS | TCP |
| -------- | -------- | -------- |
| 協議類型 | TLS 是一個加密協議,用於在應用層和傳輸層之間提供資料的安全傳輸。 | TCP 是傳輸層協議,用於可靠的資料傳輸。 |
| 安全性 | TLS 提供資料加密和身份驗證,以保護資料的機密性和完整性。 | TCP 不提供加密,資料在傳輸過程中是明文的。 |
| 使用場景 | TLS 常用於安全的Web通信(HTTPS)、電子郵件加密、VPN等應用。 | TCP 通常用於各種應用,包括Web瀏覽、文件傳輸等。 |
| 加密和認證 | TLS 使用加密算法來加密資料,同時使用數字證書進行身份認證。 | TCP 不提供資料加密和身份認證機制。 |
| 握手協商 | 在連接建立階段,TLS 進行握手協商加密算法、密鑰交換等參數。 | TCP 的連接建立只涉及三次握手,沒有加密參數協商。 |
| 資料完整性 | TLS 確保資料完整性,以防止資料被篡改或損壞。 | TCP 不提供資料完整性保護,不檢測資料的篡改。 |
| 傳輸效率 | 由於加密和認證過程的開銷,TLS 可能會導致更高的處理延遲和更大的數據包。 | TCP 通常具有較低的處理延遲和更小的數據包。 |
---
### Non-persistent HTTP (HTTP1.0) 與 Persistent HTTP (HTTP1.1)的比較
| 特點 | 非持久性 HTTP | 持久性 HTTP |
| -------- | -------- | -------- |
| 連接複用性 | 非持久性 HTTP 每次請求/回應後都會關閉連接,需要為每個對象建立新的連接。 | 持久性 HTTP 允許在單個連接上傳輸多個對象,避免了不必要的連接建立和關閉開銷。 |
| 連接數量 | 非持久性 HTTP 對於每個請求都需要建立新的連接,導致連接數量較多。 | 持久性 HTTP 可以在單個連接上傳輸多個對象,減少了連接數量。 |
| 效能 | 非持久性 HTTP 效能較差,因為連接建立和關閉的開銷較大,且每個請求都需要新的連接。 | 持久性 HTTP 提高了效能,因為它減少了連接建立和關閉的開銷,使對象可以更快地傳輸。 |
| 請求/回應流程 | 非持久性 HTTP 每次請求都需要建立連接、發送請求、接收回應,然後關閉連接。 | 持久性 HTTP 可以在同一連接上發送多個請求,接收多個回應,減少了請求/回應的延遲。 |
| 建立/關閉開銷 | 非持久性 HTTP 每次連接的建立和關閉會產生額外的開銷,包括時間和資源。 | 持久性 HTTP 減少了連接建立和關閉的開銷,提高了效率。 |
| 適用性 | 非持久性 HTTP 適用於短小的請求和回應,如單個小文件或文本。 | 持久性 HTTP 適用於需要傳輸多個對象或大型文件的情況,提高了效率。 |
---
### client-server 與 Peer-peer(P2P)
### client-server
* server永遠都在
* server固定IP
* 由client與server做連線
### Peer-peer(P2P)
* 沒有固定的server
* **可以**做到去中心化
---
### 為什麼會有 cookie?
#### 在 HTTP 協議這種無狀態協議(no state)下,不會記住使用者
### cookie 有什麼功用?
#### 可以使用cookie來儲存使用者的id,以便server做辨識
---
### rdt 演進史
#### rdt1.0
靠著有限狀態機(Finite State Machine,FSM)來實現操作
* 一個接一個收
* sender 跟 receiver 完全獨立,你叫我、我才動

#### rdt2.0
考慮資料在傳輸可能出問題,於是多了ACK、NAK做檢查

#### rdt2.1
增加了seq(序列號),以防被不同資料但傳了不知道是哪個的ACK搞

#### rdt2.2
不對啊,都有ACK了,那NCK真的有必要嗎,只要在ACK加上編號不就解決NAK了

#### rdt3.0
那如果封包不是損毀,而是整坨消失,那不就卡死了嗎?於是加入timer(計時器)

---
### 一些比較網路常見活動的協定
| | 應用層協定 | 傳輸層協定 |
|:--------------:|:----------------------:|:----------:|
| email | SMTP | TCP |
| 網路文件 | HTTP 1.1 | TCP |
| 網路電話 | SIP, RTP,proprietary | TCP or UDP |
| 串流媒體(影音) | HTTP, DASH | TCP |
| 網頁 | HTTP | TCP |
| 檔案傳輸/下載 | FTP | TCP |
| 互動類遊戲 | WOW, FPS (proprietary) | UDP or TCP |