---
# System prepended metadata

title: 計算機網路

---

計算機網路 第零章
===

[Toc]

網路連接方式
---
### Routing
 - 功能為將data從source 移動到destination
- 作用**於L3(network layer)
- 運作依據為IP address
- 相關協定為RIP(routing information protocol)
- routing table
    - 根據網路位址找出兩個網路之間下一跳(hop)的過程
    - 路由器用來將通路 從一個網路，轉移到另一個網路；專注於計算拓樸變化
### forwarding
 - 功能為將資料從輸入的interface，轉發(forwarding)到輸出的interface；作用於L2(data link layer)
 - 先查看forward table，之後再轉發packet；相關協定為ARP(address resolution protocol)
- forwarding table
     - 傳送數據至destination port的過程；由可以更快處理data的switch使用
     - 專注於改進 轉發packet時，找到MAC address的過程
## switching
- 用於在同一網路裝置之間，交換packet
- 作用於L2
- 以MAC address作為運作依據
- 相關協定為STP(spanning tree protocol)

media
---
- 頻寬
  - 以赫茲(Herz)作為單位
- data transfer rate(bit rate)
  - 一秒內，從source 到destination，所傳送的bit的數量
  - 以bit per second 為單位(bps)
- 吞吐量(throughput)
  - 指在一段時間內，於網路或頻道中，實際所傳送的bit的數量 
  - 以bit per second 為單位(bps)

網路設備連接方式
---
- 單工simplex
  - 只有一個通訊的方向
- 半雙工half duplex
  - 有兩個通訊的方向，但同一時間只有一方能通過
- 全雙工full duplex
  - 有兩個通訊的方向，且同一時間兩方皆可通過

區域網路(area network)的類型
---
- 個人網路(personal area network,PAN)
  - 標準：藍牙bluetooth, 紅外線
  - 範圍：10公尺左右
  - 速度：5Mbps
  - 應用：P2P(peer to peer),裝置對裝置
- 地方網路(local area network, LAN)
  - 標準：802.3, 802.11
  - 範圍：10km
  - 速度：1Gbps
  - 應用：校園網路、企業網路
- 城域網路(Metropolitan area network,MAN)
  - 標準：802.16
  - 範圍：100km
  - 速度：11-100+Mbps
  - 應用：T1 replacement
- 廣域網路(Wide area network, WAN)
  - 標準：LTE,4G/5G,802.20
  - 範圍：無上限
  - 速度：250Mbps
  - 應用：雲端遊玩、VR、AR

無線區域網路(area network)的類型
---
- 個人網路(personal area network,PAN)
  - 標準：藍牙bluetooth, 802.15
  - 範圍：一個人身旁左右
  - 表現：普通
  - 應用：前置電纜更換
- 地方網路(local area network, LAN)
  - 標準：wi-fi, 802.11,hyper LAN
  - 範圍：一座校園或公司
  - 表現：高
  - 應用：有線網路的行動延伸
- 城域網路(Metropolitan area network,MAN)
  - 標準：802.16,WIMAX,Proprietary
  - 範圍：一座城市
  - 表現：高
  - 應用：在家中或商業網路或網際網路之間的固定無線網路
- 廣域網路(Wide area network, WAN)
  - 標準：CDPD and cellular 2G,2.5G and 3G
  - 範圍：世界
  - 表現：低
  - 應用：從室外區域移動上網

類比訊號轉數位訊號
---
- 取樣Sampling
  - 定期測量連續函數的振幅的過程
- 量化Quantization
  - 將取樣所得的振幅值分配給有限數量的固定值之一的過程
- 編碼 encoding
  - 將量化所得的數值，轉化成編碼
![image](https://hackmd.io/_uploads/Hytc5o006.png)

網路定址
---
- MAC(media access control) address
  - 被稱為實體位址或硬體位址
  - 總長48bits
  - 前六個數字為生產者編號(Organizationally Unique Identifier (OUI))
  - 後六個數字為連續編號，由生產者分配(不是隨機分配)
- IPv4(internet protocol) address
  - 總長:32bits
  - 分為A,B,C,D,E
  - 無類別
  - 以斜線符號表示網路分段，分為前綴和後綴
- IPv6 address
  - 定址IPv6 address
  - 全長128bits
  - 共有四種功用
      - 單播unicast
      - 選播anycast
      - 群播multicast
      - 廣播broadcast

網路連接方式
---
- 衛星網路satellite network
- 固定無線網路fixed wireless network
- 光纖網路fiber optic network
- 電纜寬頻cable broadband
-  ### RJ45網路連接線
    - 應用於不同網路設備的連接方式 straight-through
    - ex: switch 連router
    - 應用於相同網路設備的連接方式 crossover
    - ex: switch 連switch
    - 注意：router連host、switch連hub是用此方式

網路連接模式(method)
---
- 間接存取indirect access
    - ethernet
    - Wi-Fi network
- 直接存取direct access
    - ADSL, fiber or cable
    - public wi-fi 
    - 3G/4G

SDN: Software Defined Networking 軟體定義網路
---
是一種網路虛擬化技術，能讓網路管理員在不更動硬體裝置的前提下，以直接對中央進行控制的方式，用程式重新規劃網路，為控制網路流量提供了新的方法，也成為了網路架構及應用的良好平台。
- 傳統網路：以控制平面控制交換器
- SDN網路：以一台控制機器，來控制先前編碼過的交換器

TroubleShooting故障排除指令
---
- L1實體層 ping 127.0.0.1
    - 用於確認網路電纜是否正常
- L2 資料連接層 arp -a 
    - 用於檢查MAC address
- L3網路層 ipconfig
    - 用於檢查(IP, Gateway and mask) address
    - 補充: route print 顯示路徑中所經過的每個router的ip位址
- L4 傳輸層 netstat  -an
    - 檢查防火牆設定

交換技術 switching technology
---
- 封包交換packet switching：將packet分成更小的封包進行傳送，令資料能夠更快的被傳輸；到達目的地後，再將封包進行重組
    - 虛擬電路方法Virtual Circuit Approach
        - 交換虛擬電路(switched virtual circuit,SVC)：按照封包上的表格，讓封包照著表格走
        - 永久虛擬電路(permanent virtual circuit,PVC)：一種固定的虛擬線路
    - 數據報方法Datagram Approach
- 訊息交換message switching：訊息交換是一種無連接網路交換方法，其中完整的訊息一次一跳地從發送方節點路由到接收方節點。
- 電路交換circuit switching：電路交換是在專用連接持續時間內獲得並專用於網路中兩個端點之間的單一連接的實體路徑。
    - 時間分割交換time division switching
    - 頻率分割交換frequency division switching

Modulation vs.Demodulation
---
- 調變modulation
    - 將弱訊號疊加到強載波訊號上以獲得調變訊號。
    - 調變後的訊號可以傳送得更遠
- 調製modulation的類型
    - 類比調製analog modulation
        - 輸入為連續訊號 
        - 用於第一代行動無線電系統，例如 AMPS
    - 數位調製digital modulation
        - 輸入是符號或脈衝的時間序列
        - 用於當前和未來的行動無線電系統
- 解調demodulation
    - 將調變訊號進行解調，已獲得原始訊息

Internet service介紹
---
- 為應用程式提供服務的基礎設施：Web, streaming video, multimedia teleconferencing...
- 為分散式應用程式提供程式設計介面
    - 提供類似郵政服務的服務選項

Protocol 協定
---
- 網路協定是一組已建立的規則，用於確定資料如何在網路中的不同裝置之間傳輸。
- 在網路中，協定是一組用於格式化和處理資料的標準化規則。
- TCP/IP
    - 應用層(application layer)
        - 一群需要網路連接的應用
        - PDU(Protocol Data Unit):data/Message
        - 定址(addressing)：domain name
        - 裝置：firewall, gateway and IDS
    - 傳輸層(transport layer)
        - 在不同的host上與應用建立連接
        - PDU:segment
        - 定址:port number
        - 裝置:firewall
    - 網路層(network layer)
        - 負責創造需要橫跨整個網路的packet
        - PDU:packet
        - 定址:IP address
        - 裝置:router
  - 資料連接層(data link layer)
     - 負責創造需要橫跨整個網路的frame
     - PDU:frame
     - 定址:MAC address
     - 裝置:switch
  - 實體層(physical layer)
     - 作為驅使訊號在網路上移動的收發器
     - PDU:bits
     - 定址:N/A
     - 裝置:repeater,Hub
- OSI model
    - 應用層(application layer)
    - 展示層(presentation layer)
    - 會議層(session layer)
    - 傳輸層(transport layer)
    - 網路層(network layer)
    - 資料連接層(data link layer)
    - 實體層(physical layer)
- ### 八種常用協定
    - HTTP
        - 網頁瀏覽
    - HTTP3
        - 虛擬實境
    - HTTPS
        - 網頁瀏覽(加密)
    - websocket
        - 實況
    - TCP
        - E-mail
    - UDP
        - 視訊
    - SMTP
        - 收發郵件
    - FTP
        - 下載/上傳檔案

主機連線方式
---
 - ring
     - 以環形的方式，連接各個電腦，網路線共有n-1條
     - 會使用到 token passing的方式來避免碰撞
 - bus
     - 一條中央的線，接著各個主機可以自由地搭上這條線
     - 以CSMA\CD的方式來避免碰撞
 - star
     - 一個圓圈做為中心，其他電腦則連接到那台圓圈
     - 會使用到hub 或 switch
 - tree
     - 以類似資料結構學到的二元排列樹進行連接
 - mesh
     - 每台電腦都連接在拓譜中的電腦
     - 網路線公式:(n-1)*n/2

第一章
===

host=終端系統
---
- 在網路的邊緣，運行著名為network 的apps
- hosts: clients and servers 用戶與伺服器(通常在資料中心)
- 傳送數據的封包
    - 取得應用程式訊息
    - 分成更小的區塊，稱為資料包，長度為 L bits 
    - 將資料包傳送到存取點
        - 傳送速率為R bps
    - 連接傳輸速率，又稱連接容量或是連接帶寬
- 存取網路及實體的媒介
    -  有線及無線的溝通連接
    ### 有線存取（cable-based access）
        - 分頻多工（FDM）：不同頻道在不同頻段傳輸
        - 混合光纖同軸電纜hybrid fiber coaxial, HFC）
            - 非對稱：高達 40 Mbps 
            - 1.2 Gbps 下載傳輸速率
            - 30-100 Mbps 上傳傳輸速率
        - 電纜、光纖網路將家庭連接到 ISP 路由器
            - 家庭共享有線頭端的存取網絡
        - 數位用戶線digital subscriber line (DSL)（數據線）
            - 使用現有電話線連接至中心局 DSLAM（數位用戶線路存取多工器）
            - 資料透過 DSL 電話線傳輸到互聯網
            - 語音透過 DSL 電話線傳輸到電話網
            - 24-52Mbps專用下載速率
            - 3.5-16Mbps專用下載速率
    - ### 無線存取網路
        - 共享無線接取網路將終端系統連接到路由器
            - 透過基地台的又稱為存取點（access point）
        - 無線區域網路 (Wireless local area networks , WLAN)
            - 通常在建築物內或周圍（~100 英尺） 
            - 802.11b/g/n (WiFi)：11、54、450 Mbps 傳輸速率
        - 廣域蜂巢存取網路Wide-area cellular access networks
            - 泛指無線基地台的擺放方式，為了將基地台的訊號覆蓋到整個區域，以類似蜂巢的方式擺放在一起
            - 由行動、蜂窩網路營運商提供（10 公里）
            - 10Mbps
            - 4G/5G cellular networks
- ### 如何將終端系統連接到邊緣路由器？
    - 住宅存取網（家庭）
    - 機構存取網(校園、公司)
    -    行動存取網路(Wi-Fi, 4G/5G)

packet switch 封包交換器
---
- 轉送封包packet（資料塊 chunks of data）
- ex:switch, router

溝通連接communication links
---
- fiber, copper, radio, satellite
- 傳輸率transmission rate: bandwidth

network
---
- 設備、路由器、連結的集合，由組織所管理
    - 企業網路 enterprise network
        - 有線、無線鏈路技術的混合，連接交換器和路由器的混合
        - ethernet：有線存取，速率為:100Mbps, 1Gbps, 10Gbps
        - wi-fi：無線存取點，速率為11 , 54, 45 Mbps

Internet(network of network)
---
- 互聯的路由器interconnected routers
- 以mesh 的方式連接
- ### 互聯的ISPs(Internet service provider)
    - 接取ISP必須依序互聯
        - 由此產生的網路網絡非常複雜
    - ISP之間，若距離太遠，則會由IXP（internet exchange point）來連接
    - 在大的ISP底下，還有區域性的ISP進行連接
    - 在這些ISP中間，還有內容提供網路（content provider network）
        - ex: google, facebook
    - ISP依範圍分為三個階層
        - Tier1 國際間的網路
        - Tier2 學術間的網路(或多個Tier 3所組合而成的網路)
        - Tier 3區域網路

packet-switching封包交換
---
- 封包交換packet switching：將packet分成更小的封包進行傳送，令資料能夠更快的被傳輸；到達目的地後，再將封包進行重組
- 主機將應用層訊息分解為封包packet
- 透過從來源到目的地路徑上的連結將封包從一個路由器轉送到下一個路由器
- 每個資料包均以全連接容量（link capacity）傳輸
- 吞吐量through-put
    - 瞬時：某個時間點的吞吐量
    - 平均：一段時間內的平均吞吐量
    - 限制：吞吐量會受不同線路的吞吐量的影響
        - ex：R1＞R2 則平均吞吐量為R2
        - 受最小速率吞吐量的影響
- 特性
    - 更簡單、快速，可應付突發狀況，但有可能沒有線路共享的時候
    - 可能出現過度擁塞：由於buffer溢位而導致資料包延遲和遺失
    - 可靠資料傳輸、擁塞控制所需的協議
    - 傳統上用於音訊/視訊應用的頻寬保證類似電路的行為

Ｌ２交換器switching mode轉發封包模式
---
- cut-through
    - 收到6bytes就立刻發送
- fragment-free
    - 收到64bytes才發送
- store-and-forward
    - 收到全部的封包才發送
- 格式
![image](https://hackmd.io/_uploads/B1ay4ggJ0.png)

封包傳輸的延遲類型
---
- 靜態（固定）延遲
    - 傳輸延遲transmisson delay
        - 公式：每秒傳送L bits 長度的封包／每秒可傳輸的Ｒbit(bps)
        - 終端到終端地節延遲：２Ｌ／Ｒ
    - 傳播延遲propagation delay
        - 公式：距離／介質傳輸速度
        - 動態延遲
- 動態延遲
    - 排序延遲 queueing delay
       - 資料在CPU等待被處理的時間
       - FIFO first in ,first out先進先出
   - 處理延遲 process delay
       - 資料在CPU被處理的時間
- 封包遺失
   - 當處理的速度太快，以至於傳輸速度跟不上，讓要被處理的封包等待時，若要被處理的封包多於buffer，則會被遺失drop掉
- 總結點延遲
   - 傳輸延遲+傳播延遲+排序延遲+處理延遲
- 封包排序延遲
   - R: link bandwidth (bps)
   - L: packet length (bits)
   - a: average packet arrival rate
   - 情況
       - La/R ~ 0: avg. 排序延遲很小
       - La/R ~ 1: avg. 排序延遲很大
       - La/R > 1: avg. 排序延遲是無限
- 指令traceroute(tracert)
   - 提供從來源到路由器、沿著點對點 Internet 路徑到目的地的延遲測量。

電路交換circuit switching
---
- 分配給、保留用於來源和目的地之間「呼叫」的點到點資源
 - 專用資源：不共享
- 類似電路：（保證）的性能
- 如果通話未使用，電路段空閒（無共用）
    - 通常用於傳統電話線網路

Internet standard
---
- RFC(Request for comment)
    - 一系列文件的總稱
- IETF(Internet Engineer Tack Force)
    - 一個國際組織，負責制定協定與網路上的規則

網路安全
---
- malware間諜軟體
    - 一種會監聽你網絡活動的軟體
- DOS denial of service
    - 已不斷傳送封包給主機的方式，使原先需要的封包無法被送達
- packet interception封包擷取
    - 在封包傳送的過程中，擷取下來
- IP 欺騙(spoofing)
    - 發送帶有虛假來源位址的資料包




