計算機網路自頂向下方法:第一章 計算機網路和因特網 課後複習題

炭燒生蠔發表於2019-04-01

有幾題需要用到書本配套的網站, 由於註冊不成功沒能用上附帶的java小程式, 但都從網上查到了資料, 網上許多答案都是重複的, 也不知哪個是原創就不表明出處了. 基本都是個人回答, 比較粗糙, 如有錯誤, 歡迎指出.

第一章 計算機網路和因特網

1.1節

R1. "主機"和"端系統"之間由什麼不同? 列舉幾種不同型別的端系統. Web伺服器是一種端系統嗎?

  • 在自頂向下中主機等同於端系統, 兩者在概念上是統一的, 沒有區別.
  • 生活中與因特網相連的計算機, 智慧手機, 遊戲機等都屬於端系統.
  • Web伺服器也屬於端系統.

 

R2. "協議"一詞常被用於描述外交關係. 維基百科是怎樣描述外交協議的?

  • 外交協議指國際禮儀規則. 這些規則以文明原則為基礎, 使各國人民更容易生活和工作在一起.

 

R3. 標準對於協議為什麼重要?

  • 有了標準協議才能生效, 端系統才能基於協議制定的標準進行通訊.

 

1.2節

R4. 列出六種接入技術. 將它們分類為住宅接入, 公司接入或廣域無線接入.

  1. 住宅接入:
  • 數字使用者線(Digital Subscriber Line, DSL): 使用者從提供本地電話接入的本地電話公司處獲得DSL因特網接入.
  • 電纜: 住宅從提供有線電視的公司獲得電纜因特網連線.
  • 光纖入戶.
  • 注: 現代家庭中, 住宅接入通常和區域網技術結合使用, 以產生強大的家用網路.
  1. 公司接入:
  • 使用區域網(LAN) 將端系統連線到邊緣路由器, 再與更大的因特網相連.
  • 擴充套件: 區域網的實現方式有很多種, 其中最為留行的是乙太網和WiFi.
  • 乙太網使用者使用雙絞銅線與一臺乙太網交換機相連, 乙太網交換機或這樣的交換機網路和更大的因特網相連.
  • 基於IEEE802.11技術的無線LAN接入, 更通俗稱為WiFi, 無線使用者在幾十米的範圍內就能從接入點收發分組(資料包), 該接入點與企業網相連(很有可能使用乙太網), 企業網再與有線因特網相連.
  1. 廣域無線接入:
  • 通過蜂窩網提供商運營的基站來傳送和接收分組.(資料)

 

R5. HFC傳輸速率在使用者間是專用的還是共享的? 在下行HFC通道中, 可能出現碰撞嗎? 為什麼?

  • HFC(混合光纖同軸電纜網)是使用者共享的. 在下行HFC通道中可能出現碰撞, 因為通道是使用者共享的, 所以有碰撞的可能性.

 

R6. 列出你所在城市中的可供使用的住宅接入技術. 對於每種型別的接入方式, 給出所宣稱的下行速率, 上行速率和每月的價格.

  • 這個到當地的移動或電信官網能查到哈.

 

R7. 以太LAN的傳輸速率是多少?

  • 隨著歷史的發展, 乙太網的速率在不斷的提升, 它的速率可以從各種乙太網標準的名字獲得, 如: 10BASE-T, 100BASE-T, 1000BASE-LX等. 名字的第一部分指出了該標準的速率, 分別對應為10Mbps, 100Mbps, 1000Mbps. 各種標準的速率取決於它的物理層結構.

 

R8. 能夠執行乙太網的一些物理媒介是什麼?

  • 在乙太網中傳輸的一個位元從一個"發射器"到一個"接收器"直接經過的路段就是一種物理媒介. 它包括: 雙絞銅線, 同軸電纜, 多模光纖纜等.

 

R9. 撥號調變解調器, HFC, DSL和FTTH都用於住宅接入. 對於這些技術, 給出每種技術的傳輸速率的範圍, 並討論它們的傳輸速率是共享的還是專用的.

  • 本題答案來源網路
種類 速率 方式
撥號調變解調器 56Kbps 專用
HFC 下行42.8Mbps, 上行30.7Mbps 專用
DSL 下行24Mbps, 上行2.5Mbps 共享
FTTH 下行10-20Mbps, 上行2-10Mbps 專用

 

R10. 描述今天最為流行的無線因特網接入技術. 對它們進行比較和對照.

  • 我們經常聽到身邊使用手機上網的朋友說: 沒流量了, 要找個WiFi.
  • 毫無疑問最流行的無線因特網接入技術就是無線區域網IEEE802.11(WiFi)和蜂窩網路了(4G). 這裡簡單舉一個簡單的例子. 無線裝置和更大的網路連線都要經過基站中繼, 基站是一個概念, 具體到不同的技術上有不同的實現, 對於WiFi而言基站是無線區域網的接入點, 對於蜂窩網而言基站是蜂窩塔. 當我們使用WiFi的時候需要在基站幾十米的範圍內, 而使用4G的時可以離某個基站幾百米甚至一公里.

 

1.3節

R11. 假定在傳送主機和接收主機之間只有一臺分組交換機. 傳送主機和交換機間以及交換機和接收主機間的傳輸速率分別是R1和R2. 假設該交換機使用儲存轉發分組交換方式, 傳送一個長度為L的分組的端到端總延時是什麼? (忽略排隊時延, 傳播時延和處理時延)

  • 分組從傳送主機到交換機的時延為L/R1
  • 分組從交換機到接收主機的時延為L/R2
  • 所以總時延為L/R1 + L/R2

 

R12. 與分組交換網路相比, 電路交換網路有哪些優點? 在電路交換網路中, TDM比FDM有哪些優點?

  • 電路交換網相比於分組交換網的優點是它能預先分配鏈路的使用, 保證某個使用者能以固定的速率進行網路傳輸.
  • FDM(分頻多工)和TDM(分時多工)的區別見下圖.
計算機網路自頂向下方法:第一章 計算機網路和因特網 課後複習題

 

  • 如圖, FDM把鏈路頻寬分成固定的大小, 每個使用者享用鏈路中的部分頻寬.
  • 不同於FDM, TDM先把鏈路在時域上分割為幀, 然後在每幀中劃分出時隙, 每個使用者在每幀中享有一個時隙. 這樣不僅做到了為使用者分配鏈路, 而且每個使用者在屬於他的時隙中能享用整條鏈路的頻寬.

 

R13. 假定使用者共享一條2Mbps鏈路. 同時假定每個使用者傳輸時連續以1Mbps傳輸, 但每個使用者僅傳輸20%的時間.

a. 當使用電路交換時, 能夠支援多少使用者?

b. 作為該題的後繼問題, 假定使用分組交換. 為什麼如果兩個或更少的使用者同時傳輸的話, 在鏈路前面基本沒有排隊時延? 為什麼如果3個使用者同時傳輸的話, 將有排隊時延?

c. 求出某指定使用者正在傳輸的概率.

d. 假定現在有3個使用者. 求出在任何給定的時間, 所有3個使用者在同時傳輸的概率. 求出佇列增長的時間比率.

  • 答:
  • a.電路交換的特點是預先為使用者分配好鏈路, 無論使用者使用多長的時間, 鏈路只要一經分配便會在所有時間內為該使用者預留一定的速率. 所以使用電路交換能夠支援2Mbps / 1Mbps = 2 個使用者.
  • b.因為兩個或更少的使用者同時傳輸時, 分組的聚合到達速率小於或等於該鏈路的輸出速率, 所以通過該鏈路的分組流基本沒有時延, 這和電路交換的情況一樣. 當活躍使用者達到3個, 分組的聚合到達速率可能大於鏈路的輸出速率, 輸出佇列會變長, 排隊時延增加.
  • c.根據使用者僅傳輸20%時間得出使用者正在傳輸的速率為0.2.
  • 3個使用者同時傳輸導致佇列增長的比率為 0.2 * 0.2 * 0.2 = 0.008

 

R14. 為什麼等級結構中級別相同的兩個ISP通常相互對等? 某IXP是如何掙錢的?

計算機網路自頂向下方法:第一章 計算機網路和因特網 課後複習題
  • ISP(Internet Service Provider)因特網服務提供商.
  • 如果兩個級別相同的ISP通過上級ISP進行網路傳輸, 則需要向上一級的ISP支付費用. 而通過相互對等, 兩個同級別ISP能繞過上級ISP直接進行網路傳輸, 節省了費用. 兩個對等的ISP通常不進行結算.
  • IXP(Internet Exchange Point)因特網交換點, 是一個提供對等的地方, 通常位於一個有自己的交換機的獨立建築物中. 對等ISP在IXP中進行網路傳輸, IXP通過對這部分流量進行結算掙錢.

 

R15. 某些內容提供商構建了自己的網路. 描述谷歌的網路. 內容提供商構建這些網路的動機是什麼?

  • 谷歌有跨越全球的大小不一的資料中心, 假設使用者要訪問的內容存在於某個資料中心中, 如果通過各層ISP到達谷歌的伺服器, 會產生一筆不小的流量費. 谷歌的資料中心通過一個遍佈全球的網路互聯, 這一專用網路獨立於公共因特網, 並繞過高層的ISP直接與較低層的ISP對等或在IXP與它們連線, 因而減少了向頂層ISP支付的費用, 同時對其服務最終如何交付給客戶有了更多的控制. (注: 由於部分使用者僅能通過頂層ISP訪問到谷歌, 因此谷歌也與頂層ISP相連)

 

1.4節

R16. 考慮從某源主機跨越一條固定路由向某目的主機傳送一分組. 列出端到端時延中的時延組成成分. 這些時延中的哪些是固定的, 哪些是變化的?

  • 處理時延: 檢查分組的首部, 決定分組流向何處, 檢查差錯等動作形成處理時延, 處理時延是固定的.
  • 排隊時延: 當一個分組來到路由器準備傳輸前, 如果路由器正在傳輸已經到達的分組, 剛到達分組就要進行排隊等待, 這是排隊時延的概念. 但排隊時延是變化的, 如果佇列為空, 路由器會直接對來到的分組進行處理, 排隊時延為0.
  • 傳輸時延: 傳輸時延指分組來到路由器後, 路由器把從接收到分組到把分組推向下一段鏈路所需要的時間. 它是分組長度與鏈路傳輸速率的函式. 傳輸時延是固定的.
  • 傳播時延: 指分組從一臺路由器傳送另外一臺路由器所需要的時間, 它由鏈路的物理媒介決定(光纖, 雙銅絞線等), 所以傳播時延也是固定的.

 

R17. 訪問配套Web網站上有關傳輸時延與傳播時延的Java小程式. 在速率, 傳播時延和可用的分組長度之中找出一種組合, 使得該分組的第一個位元到達接收方之前傳送方結束了傳輸. 找出另一種組合, 使得傳送方完成傳輸之前, 該分組的第一個位元到達了接收方.

  • 抱歉, 本人沒能在該Web站點完成註冊, 給出來源於網路的答案加上自己的分析.
  • 定義L為可用的分組長度, V為可用速率, T為傳播時延
  • 第一種組合: L / V < T
  • 另一種組合: L / V > T
  • 解釋: L / V 為傳輸時延, 當傳輸時延小於傳播的時延的時候, 路由器完成了對分組傳輸後, 分組仍在在前往接收方的路上跑著, 所以該分組的第一個位元到達接收方之前傳送方結束了傳輸.
  • 當傳輸時延大於傳播時延的時候, 傳送方還沒有傳輸完, 先放到鏈路上的位元就已經傳輸到接收方了, 所以傳送方完成傳輸之前, 該分組的第一個位元到達了接收方.

 

R18. 一個長度為1000位元組的分組經距離為2500km的鏈路傳播, 傳播速率為2.5*10^8m/s並且傳輸速率為2Mbps, 它需要用多長時間? 更為一般地, 一個長度為L的分組經距離為d的鏈路傳播, 傳播速率為s並且傳輸速率為Rbps, 它需要多長時間? 該時延於傳輸速率相關嗎?

  • 注意這個問題問的是傳播時間.
  • 傳播需要的時間: 2500km / 2.5*10^5km/s = 0.01s
  • 一般地, 分組端到端需要的傳播時間為: d / s
  • 求解傳播時間只需要鏈路長度和傳播速率, 與傳輸速率無關.

 

R19. 假定主機A要向主機B傳送一個大檔案. 從主機A到主機B的路徑上有3段鏈路, 其速率分別為R1=500kbps, R2=2Mbps, R3=1Mbps.

a. 假定該網路中沒有其他流量, 該檔案傳送的吞吐量是多少?

b. 假定該檔案為4MB. 用吞吐量除以檔案長度, 將該檔案傳輸到主機B大致需要多少時間?
c.重複(a)和(b), 只是這時R2減少到100kbps.

  • 一個檔案傳送的吞吐量取決於端到端路徑上瓶頸鍊路的傳輸速率. 也就是說路徑上有多條鏈路, 但是吞吐量的值是其中傳輸速率最小的鏈路的傳輸速率.
  • a.該檔案傳送的吞吐量為500kbps.
  • b.注:檔案大小除以吞吐率等於傳送給所需要的時間
    時間: 8 * 4Mb / 500kbps = 32Mb / 0.5Mbps = 64s
  • c.當R2減少到100kbps時, R2所處鏈路就變成了瓶頸鍊路.
    吞吐量為: 100kbps
    傳輸時間為: 8 * 4Mb / 0.1Mbps = 320s

 

R20. 假定端系統A要向端系統B傳送一個大檔案. 在一個非常高的層次上, 描述端系統怎樣從該檔案生成分組. 當這些分組之一到達某分組交換機時, 該交換機使用分組中的什麼資訊來決定將該分組轉發到哪一條鏈路上? 因特網中的分組交換為什麼可以與驅車從一個城市到另一個城市並沿途詢問方向相類比.

  • 端系統A會以固定的大小把大檔案拆分為多個小的資料塊, 然後通過協議棧, 自頂向下地把資料封裝為分組併傳送到接收端.
  • 分組交換機接收到分組後, 會獲取分組首部的一個或多個欄位的值, 然後到自己的轉發表中查詢該值該對應轉發到哪一條鏈路上.
  • 當我們駕車從一個城市到另一個城市時候, 我們只知道目的地, 而不知道具體要走的路徑, 但我們可以通過詢問路途中的油站或行人得知下一步的具體路徑. 分組交換中同樣也是隻知道分組源地址和目的地址, 途中要經過數個路由器, 而路由器會根據目的地告訴分組下一條要走的具體路徑.

 

R21. 訪問配套Web站點的排隊和丟包Java小程式. 最大傳送速率和最小的傳輸速率是多少? 對於這些速率, 流量強度是多大? 用這些速率執行該Java小程式並確定出現丟包要花費多長時間? 然後第二次重複該實驗, 再次確定出現丟包花費多長時間. 這些值有什麼不同? 為什麼會有這種現象?

  • 本答案資料部分來源於網路.
  • 最大傳送速率為500bps, 最小傳輸速率為350bps.
  • 流量強度為 最大傳送速率 / 最小傳輸速率 = 500 / 350 = 10 / 7
  • 首次出現丟包需要的時間為: 90msec
  • 再次出現丟包需要的時間為: 62msec
  • 這些值是隨機的.
  • 因為傳送方傳送分組也是隨機的, 並不是週期性的. 可能一次傳送很多個分組, 導致出現丟包的時間較快, 否則出現丟包的時間會比較慢. 而傳送速率僅代表平均傳送速率.

 

1.5節

R22. 列出一個層次能夠執行的5個任務. 這些任務中的一個(或兩個)可能由兩個(或更多)層次執行嗎?

  • 任務: 封裝本層的報文段, 設定各種引數, 對接受到的報文段進行差錯檢查, 還可能進行流量設定, 分組重組等等.
  • 多個層是可能執行相同的一個(或兩個)任務的, 比如差錯檢驗.

 

R23. 因特網協議棧中的5個層次有哪些? 在這些層次中, 每層的主要任務是什麼?

  1. 應用層: 應用層協議用於各個端系統中的應用程式交換資訊分組, 該資訊分組稱為報文.
  2. 運輸層: 運輸層的作用是在應用程式端點之間傳送應用層報文段. 在因特網中有TCP和UDP兩種運輸協議, 任一個都能封裝並運輸應用層報文, 運輸層的分組稱為報文段.
  3. 網路層: 網路層負責將運輸層的報文段和目的地址封裝成資料包, 用於下一層的傳輸.
  4. 鏈路層: 鏈路層會把網路層的資料包封裝成鏈路層的幀, 並把該幀傳遞給下一個結點.
  5. 物理層: 物理層的任務是將鏈路層每幀中的一個個位元移動到下一個節點,, 具體會落實到不同的物理媒介(雙絞銅線, 光纖等).

 

R24. 什麼是應用層報文? 什麼是運輸層報文段? 什麼是網路層資料包? 什麼是鏈路層幀?

  • 應用層報文指的是在端系統的應用程式之間按照某種協議進行資訊交換的分組.
  • 運輸層報文段指的是通過TCP/UDP等運輸層協議對應用層報文進行封裝後所形成的分組, 報文段對報文的傳輸引數進行了一定的設定, 使其具有了某種特性, 比如面向連線, 確保傳遞等.
  • 網路層資料包是對運輸層報文段和目的地址進行封裝後產生的分組. 資料包確定了分組的目的地, 使得分組可以通過網路層從傳送方傳送到接收方.
  • 鏈路層幀是對網路層資料包的封裝, 它新增了下一個節點的具體地址, 使得分組能夠傳遞到下一個節點.

 

R25. 路由器處理因特網協議棧中的哪些層次? 鏈路層交換機處理的是哪些層次? 主機處理的是哪些層次.

  • 各層對應: 一-物理層, 二-鏈路層, 三-網路層, 四-運輸層, 五-應用層
  • 路由器處理第一層到第三層
  • 鏈路層交換機處理第一層和第二層
  • 主機處理所有五層.

 

1.6節

R26. 病毒和蠕蟲之間有什麼不同?

  • 病毒是一種需要某種形式的使用者互動來感染使用者裝置的惡意軟體. 比如說你收到了一封惡意電子右鍵, 裡面包含了惡意可執行程式碼, 你只要執行了這些程式碼, 病毒就可能入侵你的系統.
  • 蠕蟲是一種無須任何明顯使用者互動就能進入裝置的惡意軟體. 比如說你執行了一個脆弱的網路程式, 攻擊者可能通過該軟體植入蠕蟲到你的系統中, 無聲無息.

 

R27. 描述如何產生一個殭屍網路, 以及殭屍網路是怎樣被用於DDos攻擊的.

  • DDos攻擊(Distributed Denial-of-Service, 分散式拒絕服務攻擊)
  • 攻擊者會通過惡意軟體入侵我們的裝置, 並且進一步感染其他裝置, 當被感染的裝置達到一定數量後變形成可供攻擊者操控的殭屍網路.
  • 攻擊者利用由數以千計的受害主機形成的殭屍網路, 讓每臺主機向目標猛烈傳送流量, 造成目標服務陷入癱瘓, 完成一次DDos攻擊.

 

R28. 假定Alice和Bob經計算機網路互相傳送分組. 假定Trudy將自己安置在網路中, 使得她能夠俘獲由Alice傳送的所有分組, 併傳送她希望給Bob的東西; 她也能夠俘獲由Bob傳送的所有分組, 併傳送她希望給Alice的東西. 列出在這種情況下Trudy能夠做的某些惡意的事情.

  • 她可以竊聽Alice和Bob之間的對話內容.
  • 她可以模擬Alice或Bob傳送分組給對方.

相關文章