有幾題須要用到書本配套的網站, 因爲註冊不成功沒能用上附帶的java小程序, 但都從網上查到了數據, 網上許多答案都是重複的, 也不知哪一個是原創就不代表出處了. 基本都是我的回答, 比較粗糙, 若有錯誤, 歡迎指出.html
第一章 計算機網絡和因特網
1.1節
R1. "主機"和"端系統"之間由什麼不一樣? 列舉幾種不一樣類型的端系統. Web服務器是一種端系統嗎?
- 在自頂向下中主機等同於端系統, 二者在概念上是統一的, 沒有區別.
- 生活中與因特網相連的計算機, 智能手機, 遊戲機等都屬於端系統.
- Web服務器也屬於端系統.
R2. "協議"一詞常被用於描述外交關係. 維基百科是怎樣描述外交協議的?
- 外交協議指國際禮儀規則. 這些規則以文明原則爲基礎, 使各國人民更容易生活和工做在一塊兒.
R3. 標準對於協議爲何重要?
- 有了標準協議才能生效, 端系統才能基於協議制定的標準進行通訊.
1.2節
R4. 列出六種接入技術. 將它們分類爲住宅接入, 公司接入或廣域無線接入.
- 住宅接入:
- 數字用戶線(Digital Subscriber Line, DSL): 用戶從提供本地電話接入的本地電話公司處得到DSL因特網接入.
- 電纜: 住宅從提供有線電視的公司得到電纜因特網鏈接.
- 光纖入戶.
- 注: 現代家庭中, 住宅接入一般和局域網技術結合使用, 以產生強大的家用網絡.
- 公司接入:
- 使用局域網(LAN) 將端系統鏈接到邊緣路由器, 再與更大的因特網相連.
- 擴展: 局域網的實現方式有不少種, 其中最爲留行的是以太網和WiFi.
- 以太網用戶使用雙絞銅線與一臺以太網交換機相連, 以太網交換機或這樣的交換機網絡和更大的因特網相連.
- 基於IEEE802.11技術的無線LAN接入, 更通俗稱爲WiFi, 無線用戶在幾十米的範圍內就能從接入點收發分組(數據報), 該接入點與企業網相連(頗有可能使用以太網), 企業網再與有線因特網相連.
- 廣域無線接入:
- 經過蜂窩網提供商運營的基站來發送和接收分組.(數據)
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. 當使用電路交換時, 可以支持多少用戶?java
b. 做爲該題的後繼問題, 假定使用分組交換. 爲何若是兩個或更少的用戶同時傳輸的話, 在鏈路前面基本沒有排隊時延? 爲何若是3個用戶同時傳輸的話, 將有排隊時延?git
c. 求出某指定用戶正在傳輸的機率.web
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個層次有哪些? 在這些層次中, 每層的主要任務是什麼?
- 應用層: 應用層協議用於各個端系統中的應用程序交換信息分組, 該信息分組稱爲報文.
- 運輸層: 運輸層的做用是在應用程序端點之間傳送應用層報文段. 在因特網中有TCP和UDP兩種運輸協議, 任一個都能封裝並運輸應用層報文, 運輸層的分組稱爲報文段.
- 網絡層: 網絡層負責將運輸層的報文段和目的地址封裝成數據報, 用於下一層的傳輸.
- 鏈路層: 鏈路層會把網絡層的數據報封裝成鏈路層的幀, 並把該幀傳遞給下一個結點.
- 物理層: 物理層的任務是將鏈路層每幀中的一個個比特移動到下一個節點,, 具體會落實到不一樣的物理媒介(雙絞銅線, 光纖等).
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發送分組給對方.