甚麼是因特網

具體構成描述

因特網是世界級計算機網絡。

主機(host,又稱端系統, end system):所有連接到因特網上的設備。

通信鏈路(communication link):由物理媒介組成,包含同軸電纜、銅線、光纖、無線電頻譜。

分組(packet):當一台端系統要向另一台端系統發送信息,發送端系統會將數據分段,並為每段加上首部字節。這種信息包就稱分組。

分組交換機(packet switch):用於向最終目的轉發分組,分組以等於該鏈路的最大速率通過通信鏈路。以下為兩種常見類型:

  • 路由器(router):通常用於網絡核心中。
  • 鏈路層交換器(link-layer switch):通常用於接入網中。

路徑(path):從發送端系統到接收端系統,一個分組所通過的一系列通訊鏈路與交換機稱為通過該網絡的路徑。

協議(protocol):協議控制因特網中信息的接收和發送。TCP(Transmission Control Protocol,運輸控制協議)IP(Internet Protocol,網際協議) 是因特網中最為重要的協議。統稱因特網中的協議為 TCP/IP。協議定義了在多個通信實體間交換的報文格式和順序,以及報文的發送/接收等事件所採取的操作。

因特網服務提供商(ISP):每個 ISP 都是多台分組交換機和多段通信鏈路組成的網絡。ISP 為內容提供者接入因特網。因為因特網把各處的端系統相連,所以 ISP 也必須互聯。每個 ISP 網絡都是獨立管理的,運行著 IP 協議,並遵從一定的命名與地址規則。

服務描述

分布式應用(distributed application):涉及多個互相交換數據的端系統的應用。

套接字(socket interface):發送數據的程序必須遵守的規則合集。

網絡邊緣

接入網絡

邊緣路由器(edge router):端系統到其他遠程端系統路徑上的第一個路由器。

接入網:特指將端系統物理的連接到邊緣路由器的網絡。

家庭接入:DSL、電纜、FTTH 和 5G 固定式無線

寬帶住宅接入有以下兩種最流行的類型:

  • 數字用戶線(Digital Subscriber Line, DSL)
  • 電纜

住戶通常從電話公司獲得 DSL 因特網接入,所以在使用 DSL 時,電話公司就是 ISP。

DSL 調製解調器將數據轉換為高頻音,通過電話線與數字用戶線接入複用器(Digital Subscriber Line Access Multiplexer, DSLAM) 交換數據。這些轉換後的信號大多會在 DSLAM 處被轉換回數據。

電話線同時承載數據和電話信號,它們以不同頻率編碼:

  • 高速下行(下載)信道:50kHz ~ 1MHz
  • 中速上行(上傳)信道:4kHz ~ 50kHz
  • 普通雙向電話信道:0 ~ 4kHz

在用戶側,分頻器把到達的數據信號和電話信號分開,並將數據信號傳送給 DSL 調製解調器。在電話公司側,數字用戶線路接入複用器把數據和電話信號分開,並將數據送往因特網。上千家庭與同一 DSLAM 相連。

由於住戶與中心局距離會影響傳輸速率,規定距離與中心局大於 5 ~ 10 英里則採用其他形式的因特網接入。

電纜因特網接入(cable Internet access):利用有線電視設備接入。光纜(較快)將電纜頭端連接到地區樞紐(光纖節點),從此透過同軸電纜(較慢)到達各戶。由於在此系統中運用到光纖與同軸電纜,所以稱混和光纖同軸(Hybrid Fiber Coax, HFC) 系統。

電纜因特網接入需要特殊的調製解調器,稱為電纜調製解調器(cable modem)

在電纜頭端,電纜調製解調器端接系統(Cable Modem Termination System, CMTS) 將下行家庭中的電纜調製解調器發送的模擬信號轉換回數據。電纜調製解調器將 HFC 網絡劃分為下行與上行兩個信道。

電纜因特網接入的一個重要特徵是:共享廣播媒體。即上行速度與下行速度會因同時使用的人數而波動。因為所有數據共享同一根電纜。

光纖到戶(Fiber To The Home, FTTH):光纖直接從中心局鏈接到家中的光纖路徑。

FTTH 分為兩種:有源光纖網絡(Active Optical Network, AON)和無源光纖網絡(Passiv Optical Network, PON)

我們簡要介紹下 PON。每個家庭都有一個光纖網絡端接器(Optical Network Terminator, ONT),它們由專門的光纖連接到鄰近的分配器(splitter)。分配器再把一些家庭連接到一根共享光纖,該光纖再連接到中心局中的光纖線路端接器(Optical Line Terminator, OLT)。OLT 提供光信號與電信號的轉換,經電話公司路由器與因特網相連。在家庭中,用戶由家庭路由器與光纖網絡端接器相連,並通過該路由器接入因特網。

在 PON 中,由 OLT 發送到分配器的分組在分配器處複製,並傳送給各個家庭。

企業(和家庭)接入:以太網和 WiFi

以太網(Ehernet)局域網(Local Area Network, LAN) 技術中的一種,用戶使用雙絞銅線與一台以太交換機相連,交換機再與更大的因特網相連。

在無線 LAN 環境中,無線用戶 從/到 一個接入點(Access Point, AP) 發送/接收 分組,該接入點(可能是無線路由器)與企業網相連,企業網再與有線因特網相連。無線 LAN 用戶必須再距離接入點較近的範圍內。WiFi 即是基於 IEEE 802.11 技術的無線 LAN 接入。

物理媒介(Physical Medium)

物理媒介分為以下兩種:

  • 導引型媒介(guided media):電波沿著固體媒介前行,如光纖、同軸電纜。
  • 非導引型媒介(unguided media):電波在空氣或外層空間傳播,如無線局域網。
  1. 雙絞銅線
    通常許多雙絞線捆扎在一起形成一根電纜。一對電線構成一條通信鏈路。非屏蔽雙絞線(Unshielded Twisted Pair, UTP) 常用於局域網中。
  2. 同軸電纜
  3. 光纖
    由於高昂的光設備,如發射器、接收器和交換機,使得光纖無法在短途傳輸中使用。例如在 LAN 或家庭接入網中就不使用它。
  4. 陸地無線電通道
  5. 衛星無線電通道

網絡核心

分組交換

多數分組交換器在鏈路輸入端採取存儲轉發傳輸(store-and-forward transmission) 機制。該機制規定必須接收到整個分組才能開始轉發。

一台交換器的所有連接其他交換器的鏈路上都有一個輸出緩存(output buffer,又稱輸出對列, output queue)。若到達此交換器的分組需要傳輸到的鏈路正忙,分組就必須在緩存中等待。

所以除了存儲轉發延遲,分組還有排隊時延(queuing delay)

若到達該交換器的分組發現緩存已滿,就會發生丟包(packet loss),使得緩存中的一個分組,或到達的分組被丟棄。(基於不同策略做法不同)

轉發表(forwarding table):用於將 IP 地址映射為輸出鏈路,由路由選擇協議(routing protocol) 自動設置。

電路交換

電路交換(circuit switching) 中,預留了端系統間沿路徑通訊所需要的資源(緩存,鏈路傳輸數據等),使得在路徑上的傳輸速率是恆定的。而在分組交換網絡中,則不會預留。

端到端連接(end-to-end connection):網絡在鏈路中為兩個連接的主機提供穩定的電路(鏈路由多條電路組成),一條電路的速度占整個鏈路中所含的電路數 $n$ 的 $\frac{1}{n}$。

電路通過頻分複用(Frequency-Division Multiplexing, FDM)時分複用(Time-Division Multiplexing, TDM) 實現。

對 FDM 來說,鏈路的頻譜由鏈路上所有連接共享。每個連接會被分配到特定的頻段。其中,頻段的寬度稱為頻寬(bandwidth)

對 TDM 來說,時間被劃分為固定時長的幀,每個幀又被劃分為固定數量的時隙(slot)。每個電路會被分配一個專門的時隙,用來傳輸數據。

要計算 TDM 的傳輸數據:

  • 對電路來說:$\text{幀數} \times \text{一個時隙可傳輸的大小}$
  • 對鍊路來說:$\text{幀數} \times \text{一個時隙可傳輸的大小} \times \text{幀的時隙數}$

二者對比

由上我們可以知道,分組交換的性能比電路交換的性能好。因為電路交換即使在用戶未活躍時仍為其保留電路,造成資源浪費。

Internet of Internets

存在點(Point of Presence, PoP):PoP 存在於所有除了底層(接入 ISP )之外的所有層次等級中,是提供商網絡中多台路由器的群組,其中客戶 ISP 可以和提供商 ISP 連接。

多宿(multi-home):除了第一層 ISP 外的所有 ISP 都可以與多個提供商 ISP 連接,使得就算其中一個提供商出現故障仍可訪問因特網。

對等(peer):可直接將此二對等路由器相連,而雙方都不收取代價。

因特網交換點(Internet Exchange Point, IXP):一個匯合點,多個 ISP 可以在此對等。

內容提供商網絡(content provider network):直接與較低層網絡對等,嘗試繞過因特網較高層。

以下描述了因特網結構:

1

分組交換中的時延、丟包和吞吐量

時延

  • 節點處理延遲(nodal processing delay):解析傳來的封包所需要的時間。
  • 排隊延遲(queueing delay):在隊列中等待的時間。
    假設封包長度 $L$ bits,分組到達隊列的速率是 $a$ packet/s,$R$ 是傳播速率。則可知 $La$ 為 bits 到達隊列的平均速率。
    定義流量強度(traffic intensity) 為 $\frac{La}{R}$。
    當流量強度 > 1 時,代表 bits 到達隊列的平均速率大於隊列傳輸出去的速率。此時隊列會無限增長。
    $\implies$設計系統時流量強度不能大於1。
  • 傳輸延遲(transmission delay):將分組從路由器一字節一字節推向鏈路所需的時間。
  • 傳播延遲(propagation dalay):從鏈路起點傳送分組到路由器所需的時間。

丟包

更詳細的排隊延遲:

當流量強度 <= 1 時

  • 若週期性到達:i.e., 每 $\frac{L}{R}$ 秒到達一個分組,則每個分組到達時對列皆為空。沒有排隊延遲。
  • 若突發性到達:i.e., 每 $\left( \frac{L}{R} \right)N$ 秒同時到達 $N$ 個分組,則第 $n$ 個分組有 $(n-1)\left( \frac{L}{R} \right)$ 秒的排隊延遲。

若隊列滿了,仍有分組到達,則新到達的分組被丟棄,i.e. 丟包。

吞吐量

瞬時吞吐量(instataneous throughput):主機接受文件的速率。

平均吞吐量(average throughput):接收一個大小為 $F$ bits 的文件需要 $T$ 秒,則平均吞吐量為 $\frac{F}{T}$ bps。

考慮以下情況(省略其他延遲):

  • 由伺服器到路由器的鏈路速率為 $R_{s}$ 。
  • 由路由器到客戶端的鏈路速率為 $R_{c}$ 。

則吞吐量為 $\text{min} { R{c}, R{s} }$ 。此情況稱為瓶頸鏈路(bottleneck link)

而服務器傳輸一個大小為 $F$ bits 的文件到客戶端的時間為 $\frac{F}{\text{min} { R{c}, R{s} }}$ 。

協議層次

協議棧(protocol stack):各層所有協議的統稱。

協議棧包含:

  • 應用層
    • HTTP
    • SMTP
    • FTP
    • 報文(message)
  • 運輸層
    • TCP
    • UDP
    • 報文段(segment)
  • 網絡層
    • IP
    • 數據報(datagram)
  • 鏈路層
    • 以太網
    • WiFi
    • DOCSIS
    • 幀(frame) (以幀為單位傳輸)
  • 物理層
    • 將幀中的 bit 一個個傳輸