計算機網絡 自頂向下方法 筆記 第一章

前言

這系列博客是個新坑。開坑的動機是:學個CS,不學計算機網絡就如同鹹魚一般。筆記的目的簡單來說:

  • 以後快速回顧一些名詞更加方便
  • 可能的中英文對照(由於是自己學習,也終於不用再面對如山高的英文)

粗略瀏覽下來,計算機網絡這門學科是偏向文科爲主的學科,有紛繁複雜的規則和概念——這需要耐下性子去學。好在學OS的經歷也磨練出了我學這些內容的一些心性。宗旨就是:涉獵爲主,記些概念和術語,能複述(做)大局觀(題)即可。對於向Http這種熱門協議再做些深入研究,也就能說是畢業了。這個坑我希望6個月(2019.2~2019.8)之內能完結,主要看前5章。一個月一個章節,留出一個月的時間用做調整。這樣我大三下選修計算機網絡能做好充分準備。

1 計算機網絡與互聯網

1.1 什麼是因特網

1.def 因特網

  1. 具體構成描述:因特網是一個世界範圍的計算機網絡,即它是互聯了遍及全世界的數以億計的計算設備的網絡。
  2. 服務描述:爲應用程序提供服務的基礎設施

2.def 主機(host)或端系統(end system):連入因特網中的格式各樣的設備。

Note(複習題R1): 主機和端系統是相等的術語。常見端系統有:服務器,手機,個人家用PC等。現代(博客寫於2019)新興設備囊括:智能汽車,平板電腦等。

3.端系統通過通信鏈路(communication link)和分組交換機(packet switch)連接在一起。

4.鏈路的傳輸速率一般以比特/秒度量(bit/s,或bps)來度量。

5.def 分組(packet):當一臺端系統向另一臺端系統發送數據時,發送端系統將數據分段,併爲每段加上首部字節。由此形成的信息報用計算機網絡的術語說稱爲分組(packet)。

6. 分組交換機兩種著名類型:①路由器(rounter) ②鏈路層交換機(link-layer switch)

  • 鏈路層交換機通常用於接入網(access net)中,路由器一般處於網絡核心

7. 從發送端系統到接收端系統,一個分組所經歷的一系列通信鏈路和分組交換機成爲通過該網絡的路徑

8. def ISP: internet sercice provider ISP 因特網服務提供商。端系統通過ISP接入因特網。

9. def: 協議(protocol):協議控制因特網中信息的接收和發送。一個協議定義了在兩個或多個通信實體之間交換的報文格式和次序,以及報文發送/或接收的一條報文或其他事件所採用的動作。

兩個著名的協議TCP/IP:

  • TCP(Transmission Control protocol 傳輸控制協議)
  • IP (Internet Protocol 網際協議)

Note: 掌握計算機網絡領域的知識的過程就是理解網絡協議的構成、原理和工作方法的構成。

Note(複習題R3): 每個人就各個協議及其作用的取得一致認識是很重要的,這樣人們就能夠創造協同工作的系統和產品。這正是標準發揮作用的地方。

10. 因特網標準(internet standard)由因特網工程任務組(Internet Engineering Task Force, IETF)研發。IETF的標準文檔稱爲請求評論(Request for Commment)。RFC定義了TCP、IP、HTTP(Web)、SMTP(電子郵件)等協議。目前有將近6000個RFC。IEEE 802 LAN/MAN標準化委員會制定了以太網和無線WIFI的標準。

11. API :Application programming interface應用程序編程接口

1.2 網路邊緣

1. 端系統是計算機網絡從具體構成描述因特網中設備的用語,而主機是從服務去描述這些設備。實際上,這兩個術語是通用的,即主機=端系統。

2. 主機有時候分爲兩類:客戶(client)和服務器(server)。

  • 客戶: 桌面PC、移動PC和只能手機
  • 服務器:用於發佈Web頁面,流視頻的主機,現在常常依託於大型數據中心。

3. def 接入網(access network):將端系統連接到邊緣路由器(edge router)的物理鏈路。

4. 常見接入技術和適用範圍:

  1. 利用電話線的撥號調制解調器(dial-up modem)技術:主要用於家庭接入。特點:賊慢,但不需要當地電話局額外基礎設施。
  2. 利用電話線的數字用戶線DSL(digital subscriber line)技術:主要用於家庭或小型辦公室接入。特點:通過編碼不同的頻率來使家庭電話線同時承擔電話和上網的兩個功能。
  3. 電纜和HFC(Hybrid Fiber Coax)混合光纖同軸技術:用於家庭接入。
  4. 光纖到戶(FTTH, fiber to the home):主要用於家庭接入。
  5. 以太網(Ethernet): 企業和家庭,各地都用的接入技術。
  6. Wifi(802.11):woc?WiFi在2019年應該滅有不知道的人。全稱是:基於 IEEE 802.11技術的無線LAN接入。
  7. 345G:一種廣域接入技術,手機人人都用,用的人都知道2345G們,2G在2019年幾乎已經淘汰,現在是34G天下。我估計到了2020要開始5G時代了,華爲爭的那麼兇。

5. 家庭接入技術對比(對應複習題R9):

  1. 撥號接入 (dial up):寬帶是專用的;上下行的傳輸速率<=56Kbps
  2. ADSL(asymmetrical digital subscriber line)非對稱數字用戶線:寬帶是專用的;上行<=2.5Mbps;下行<=24Mbps
  3. HFC(Hybrid Fiber Coax)混合光纖同軸:寬帶是共享的;上行<=30.7Mpbs;下行<=30.7Mbps
  4. 光纖到戶(FTTH, fiber to the home): 通常上行~2-10Mbps;下行10-20Bmps;寬帶是專用的

Remark: 在這裏時候筆者有疑問:ADSL和撥號接入相同之處是:都利用了電話線。那麼二者的差別在哪裏?經過查閱,確認撥號上網技術是通過撥打一個特服號碼來提供上網服務的。其媒介是音頻。所以,如果有電話打進,就會出現斷網的情況(03,04年代親身經歷過,當時家裏用的是撥號上網)。而ADSL就和書上所說的DSL十分類似,在此不作贅述。

6.物理媒體:分爲兩類:①導引型媒體(guided media):電波隨着固體媒體前行,如光纜、雙絞銅線和同軸電纜。②非導引型媒體(unguided media):電波在空氣或外層空間中傳播:例如在無線局域網或數字衛星頻道里。

7.以太網細節(複習題R7,R8):①傳輸速率一般分爲:10Mbps,  100Mps, 1Gbps和10Gbps都可以。②物理媒介:主要依託於雙絞銅線,但也可以在光纜上。

8.HFC(Hybrid Fiber Coax)混合光纖同軸技術細節(複習題R5):①HFC寬帶是用戶間共享的。②下行通道不會發生數據碰撞,因爲數據都是從同一個源頭分發的(即電纜頭端)。1.3

1.3 網絡核心

1. def 報文(message): 端系統彼此交換信息的術語。報文可以執行一種控制功能,也可以包含數據(例如:電子郵件,JPEG圖像文件等)。

1.3.1 分組交換

1. def 分組 (packet):其實大家更常見喜聞樂見的說法是“包”。打遊戲時候說的丟包應該指的就是分組。源將長報文劃分成小的數據塊,就稱之爲分組了。

2.在源和目的之間,每個分組通過通信鏈路和分組交換機(packet switch)。交換器有兩類:路由器鏈路層交換機 。

3.在傳輸速率爲 R bits / s 的鏈路上,傳輸一個 L bits 的分組時間是 L / R 秒。

4. 存儲轉發傳輸(store-and-forward transmission):交換機能夠開始向輸出鏈路傳輸該分組的第一個比特之前,必須接收到整個分組。

5. N條速率均爲R,長度爲L的鏈路構成的路徑(所以再源和目的地之間有N-1太路由器),端到端的時延是:

$$d_{\text{end to end}} = N \frac{L}{R}$$

6.輸出緩存(output buffer)(也成爲輸出隊列 output queue): 當分組需要經過的那條鏈路繁忙時(傳輸其他分組中),那麼該分組可以在輸出緩存上等待。

7.排隊時延(queue delay): 在輸出緩存等待的時延;除此之外,還有之前提到的存儲轉發時延。

8.分組丟失(丟包)(packet lost):到達的分組可能發現緩存已經被其他等待的分組完全充滿了,這種情況下就會出現丟包。

9.在因特網中,每個端系統具有一個稱爲IP地址的地址。源在分組的首部包含了目的地的IP地址。路由器會檢查目的地址的一部分,並向相鄰的路由器轉發該分組。

10. 轉發表(forwarding table): 用於將目的地址(或目的地址的一部分)映射成輸出鏈路。

11. 路由選擇協議 (routing protocal): 可以實現路由的特殊功能,例如:自動設置轉發表來選擇通往目的地的最短路徑

1.3.2 電路交換

1. 電路交換(circuit switching)網絡必須在發送發和接受方之間的交換機需要爲該連接維護爲連接狀態。該連接用電話的術語被稱爲一條電路。

2.電路交換的複用技術:指的是如何複用鏈路服務於多個連接,構建電路的技術。主要有頻分複用(Frequency-Division Multiplexing, FDM)和時分複用(Time-Division Multiplexing, TDM)。簡單來說,在不同頻率上連接多個電路的稱爲FDM,而基於一定時間間隔爲所有連接打開通路的被稱爲時分複用。

3. TDM較FDM優勢在哪裏(複習題R12.2)?FDM需要複雜的硬件去把信號移到合適的頻帶。

4. 電路交換較分組交換優勢在哪裏(複習題R12.1)?電路交換由於一直維護着連接,可以保證端到端的時延更穩定,適合實時的通話等。

1.3.3 網絡的網絡

1.區域ISP(regional ISP):區域中的接入ISP與之互聯(例如一個城市)。區域ISP再與第一層ISP互聯。區域ISP和第一層ISP可能是多對多的客戶-提供商關係。

2.存在點(Popint of Presence, PoP): Pop存在於等級結構的所有層次。提供商網絡中的一臺或多肽路由器(在相同位置)的羣組,其中客戶ISP能夠與提供商ISP連接。

3.多宿(multi-home):任何ISP(除了第一層ISP)可以與兩個或更多ISP連接。

4.對等(peer):將相同等級結構的鄰近一對網絡連接到一起,使他們之間網絡不通過上游ISP。通常對等的互相連接是不會結算的。

4.1. 複習題R14.2 爲什麼在等級結構相同級別的兩個ISP通常互相對等?:如果不對等,那麼他們之間的交通流量會通過一個供給商ISP,然後他們需要爲流量付費。若對等後,他們就不用結算費用了。

5.因特網交換點(Internet Exchange Point, IXP):IXP是一個匯合點,多個ISP都能夠在這裏共同對等。

5.1 複習題R14.1 IXP是如何賺錢的?:靠向接入IXP的ISP收取微量的費用,取決於流量的多少。

6. 內容提供商網絡(content provider network): 獨立於公共互聯網卻跨越全球的網絡。例如谷歌的服務器主機。

動機(複習題R15):通過專用網絡,可以繞過因特網的較高層,減少費用和增加對網絡的控制。

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

1.常見時延分類:

  • 結點處理時延(nodal processsing delay): 檢查分組首部和決定將該分組導向何處所需要的時間。
  • 排隊時延(queueing delay),1.3.1.7提到過:在隊列中,當分組在鏈路上等待運輸時,它經受排隊時延。
  • 傳輸時延(transmission delay, 1.3.1.3):在鏈路上傳播的時延,分組大小L/傳輸速率R
  • 傳播時延(propogation delay): 距離d / 速度s,在廣域網中一般也爲毫秒級 
  • 他們總和累加出來稱爲:結點總時延(total nodal delay)

$$d_{\text{nodal}}=d_{\text{proc}}+d_{\text{queue}}+d_{\text{trans}}+d_{\text{prop}}$$

2. 流量強度(traffic intensity):a 表示分組到達隊列的平均速率(分組/秒,pkt/s);R 是傳輸速率(從隊列中輸出比特的速率);假設分組長度都爲L:則比特到達隊列的平均速率是 La bps;流量強度爲比例 La/R。

 3. 若流量強度>1, 則比特 到達隊列的平均速度超過從該隊列傳輸出去的速率。所以,流量工程中一條金科玉律是:設計系統時流量強度不能大於1.

 4. 丟包: 隊列並不能容納無限多的分組。若沒有地方存儲,則會丟棄(drop)這個分組,該分組會丟失(lost)。

5. 瞬間吞吐量(instantaneous throughput):在任何時間瞬間接收到文件的速率(參考物理學中速度的定義)。

6.平均吞吐量(average throughput):一段時間,接受 bits 花費了 T 秒,則平均吞吐量爲 F/T bps。

7.瓶頸鍊路(bottleneck link):一條路徑上,限制吞吐量的鏈路(參考圖論中關鍵路徑的定義)。

1.5 協議層次及其服務模型

1.爲了給網絡協議的設計提供一個結構,網絡設計者以分層(layer)的方式組織協議以及實現這些協議的軟件和硬件。

2.任何分層都會爲上一層提供服務(serivce),即所謂一層的服務模型(service model)。

3.將這些綜合起來,各層的所有協議被稱爲協議棧(protocol stack)。

4.五層因特網協議棧:應用層、傳輸層、網絡層、鏈路層、物理層。

5.我們把位於應用層的信息分組稱爲報文(message)。

6.應用層常見協議:HTTP(web),SMTP(電子郵件),FTP(兩個端系統間的文件傳輸),域名系統(DNS)。

7.運輸層協議:TCP/UDP。運輸層的分組稱爲報文段(segment)。

8.網絡層:負責將數據報(datagram)的網絡層分組從一臺主機移動到另一臺主機。著名協議:IP協議,路由選擇協議。

9.鏈路層:鏈路層分組稱爲(frame)。鏈路層負責將整個幀從一個網絡元素移動到相鄰網絡元素。

10.物理層:物理層負責將幀中的一個一個比特從一個結點移動到下一個結點。

11.OSI七層模型:應用層、表示層、會話層、運輸層、網絡層、數據鏈路層、物理層。

12.表示層:解釋交換數據含義、壓縮數據、數據加密、數據描述。

13.會話層:提供了數據交換定界和同步功能,檢查點的建立和恢復方法。

14.封裝(encapsulation):應用層報文(application-layer meesage)-> 運輸層報文段(transport-layer segment)-> 網絡層數據報(network-layer datagram)-> 鏈路層幀(link-layer frame)。

15. 一個分組具有兩種類型的字段:首部字段和有效載荷字段(payload field)。有效載荷字段通常是來自於上一層的分組。

16.路由器處理的因特網協議棧中的哪些層次(R25)?:網絡層,鏈路層和物理層 \ 鏈路交換機處理鏈路和物理層。\ 主機五個層都要處理。

1.6 面對攻擊的網絡

1. 病毒(virus):是一種需要某種形式的用戶交互來感染用戶設備的惡意軟件。

2. 蠕蟲(worm):是一種無需任何明顯用戶交互就能進入設備的惡意軟件。

3. 拒絕服務攻擊(Denial-of-Service (Dos) attack):攻擊使得網絡不能被合法用戶所使用。分爲:弱點攻擊、帶寬洪泛、連接洪泛。

4. 分佈式DoS(Distributed Dos, DDoS):攻擊者控制多個源並讓每個源向目標猛烈發送流量。

5. 分組嗅探器(packet sniffer)、IP哄騙(IP spoofing)都是計算機網絡安全存在的問題。

6. 描述一個殭屍網絡形成的過程(複習題R27):(1)殭屍網絡來源於某些應用或者系統的弱點(2)在找到弱點之後,攻擊者需要判斷主機是否屬於脆弱的狀態(3)其次,充分利用弱點對殭屍網絡進行傳播。(4)攻擊者可能可以使用一條命令控制所有的受感染結點。(5)攻擊者可以依據控制權限進行攻擊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章