英文版教材第六章 8、10、11、18、19、21、22、25、26、27、28、補充題
-
比較傳輸層與數據鏈路層的區別(此處數據鏈路層不包含MAC子層)
-
比較網絡層的端到端和傳輸層的端到端的區別。
傳輸層協議用於端口與端口之間,作用範圍比IP協議大
用戶在傳輸層可控制端到端服務質量(socket編程) -
傳輸層協議在通信過程中,爲什麼要實用端口號而不是直接實用進程的 ID 號來標識端到端的連接?
答:①進程ID屬於操作系統範疇,若使用進程ID標識則傳輸層不獨立於操作系統,產生依賴性
②進程可能佔用多個信道,單個ID號無法區分
③進程在廣爲人知的端口上監聽是可能的,但在廣爲人知的進程ID上監聽是不可能的 -
主機 1 上的一個進程被分配來端口 p,主機 2 上的一個進程被分配來端口 q,試問這兩個端口之間有可能同時存在兩個或者多個 TCP 連接嗎?
考點:端口地址的概念
答:不可能。端口是局部地址,IP是全局地址,在傳輸層的TCP通信中每個應用進程都通過socket(包括了端口地址和IP地址)唯一地標識 -
分析 UDP 存在的必要性?
考點:UDP的作用
答:如果傳輸層只是靠IP地址尋址是不夠的,IP地址只能區分網絡中的主機,只有加入了UDP才能進一步區分端口地址。 -
在圖 6-36 中我們看到除了 32bit 的確認號域(子段)外,在第四個字還有一個 ACK 標誌位。試問,這個標誌位有額外的含義嗎?爲什麼有?或者爲什麼沒有?
考點:TCP首部域的意義
答:ACK 用於告訴發送端確認序號是否有效。有了這個域,發送端不用每次都要查看 ACK 序號,可利用累積確認技術減少查看次數,提高效率。
-
一臺主機在一條線路上發送1500字節的TCP淨荷,其中最大分組生存期爲120s,要想不讓序號迴繞,該線路的最快速度爲多少?將TCP、IP和以太網的開銷都考慮進去,假設以太網幀可以被連續發送。(該以太網頭尾總和爲26字節)
考點:字節流序號迴繞;鏈路、網絡、傳輸層控制開銷;分片問題
答:TCP序號位爲32bit,基於字節流,則120s內能發出的最大字節數 ,在1s內最多發送字節數;已知TCP淨荷部分爲1500字節,需進行分片,被分爲 個報文,而每個報文長度(計算開銷)字節,因此最快速度 -
在一個網絡中,最大的TPDU長度爲128字節,最大的TPDU生存期爲30s,序號爲8位,請問每個連接的最大數據率是多少?
考點:報文流序號迴繞
答:網絡層協議,給每個TPDU進行編號。30s內最多出現個TPDU,則在1s內最多出現個TPDU;每個TPDU=128字節,所以最大速率 -
一臺 TCP 機器在 1Gbps 的通道上使用 65535 字節的發送窗口,單程延遲時間等於 10ms。請問可以得到的最大吞吐率是多少?線路效率是多少?
考點:計算吞吐率和信道利用率
答:發送端發送 1 個窗口大小的數據需要收到 ACK 才能繼續發送數據,從發送數據到收到確認需要 RTT,則每 20ms 可以發送數據 65535 字。因此最大吞吐量,信道利用率
-
考慮在一條具有 10 毫秒來回路程時間的線路上採用慢啓動擁塞控制而不發生網絡擁塞情況下的效應。此時,接收窗口爲 24KB,且最大數據段長爲 2KB。請問,需要多長時間才能發送第一個完全窗口。
考點:傳輸層擁塞控制;按照時序分析
答:擁塞窗口初始值=1個TCP報文,發送窗口=min{擁塞窗口,接收窗口},採用慢啓動算法:
T=0,第1次發送,發送窗口=擁塞窗口=2KB;
t=10ms,得到確認,擁塞窗口=4KB
T=10ms,第2次發送,發送窗口=4KB;
t=20ms,得到確認,擁塞窗口=8KB
T=20ms,第3次發送,發送窗口=8KB;
t=30ms,得到確認,擁塞窗口=16KB
T=30ms,第4次發送,發送窗口=16KB;
t=40ms,得到確認,擁塞窗口=32KB
T=40ms,第5次發送,發送窗口=min{擁塞窗口,接收窗口}=24KB;
因此,需要40ms才能發送第一個完全窗口。 -
假設 TCP 的擁塞窗口被設置爲 18KB,並且發生了一個超時。如果接下來的 4 次傳輸全部成功的話,則窗口將是多大?假設最大數據段長度爲 1KB。
考點:TCP擁塞控制算法;按時序分析
答:發送超時,則閾值=超時時擁塞窗口/2;擁塞窗口起始=1個TCP報文=1KB,採用慢啓動算法(未知接收窗口,默認無窮大):
發送窗口=1KB,得到確認後擁塞窗口=2KB;
發送窗口=2KB,得到確認後擁塞窗口=4KB;
發送窗口=4KB,得到確認後擁塞窗口=8KB;
發送窗口=8KB,得到確認後擁塞窗口=16KB>9KB,因此擁塞窗口調整爲9KB;
則4次發送後,(發送)窗口=8KB
注:第5次發送時才爲9KB -
在圖 6-20 中,假設加入了一個新的 flow 流 E,它的路徑是從 R1 到 R2,R2 再到 R6.請問對於 5 個流的最大-最小帶寬分配有什麼變化?
考點:最大最小公平算法
答:在鏈路R1-R2上,A分配1/2,在R2-R3上繼續分配1/2;
在鏈路R1-R2上,E分配1/2, 在R2-R6上繼續分配1/2;
其他流的分配不變。 -
擁塞控制的公平性方面有一些其他的策略,它們是加法遞增加法遞減(AIAD, Additive Increase Additive Decrease )、乘法遞增加法遞減(MIAD, Multiplicative Increase Additive Decrease )、 乘法遞增乘法遞減 ( MIMD, Multilicative Increase Multiplicative Decrease),請從收斂性和穩定性兩個方面來討論這三項方法?
考點:AIAD、MIAD、MIMD、AIMD
答:在 AIAD 和 MIMD, 用戶將沿着效率鏈路震盪,但不會收斂;MIAD與 AIMD會收斂。4種策略都是不穩定的: 在AIAD和MIAD中縮減策略並不強勢,並且在 MIAD 和 MIMD中的增加策略也不平緩。
協議分析題
-
使用ping命令測試與遠端主機的連通性,由於測試數據較大,IP進行了數據分片。命令執行期間捕獲以太網網卡發出的所有通信流量,得到3個IP數據報文,下表列出了這些IP數據報文的前20個字節。
(1)用點分十進制格式寫出本機和遠端主機的 IP 地址。
(2)IP 數據報在被分片之前長度爲多少字節?
考點:IP首部結構的理解
答:(1)直接根據IP首部結構讀出本機與遠端主機的IP地址,並轉換爲點分十進制格式:
本機:192.168.0.101;遠端:202.108.33.93
(2)根據IP首部結構讀出標誌域的DF和MF,發現1、3號數據報的DF=0,允許分片,且標識域相同,說明是同一個報文分片得到的。1、3的MF域都=0,說明兩個都是最後一片?
-
主機C查詢某網站S,TCP三次握手結束後,C發出查詢請求而產生的IP數據報前40個字節如下:
(1)C發出的TCP數據長度爲多少個字節?
(2)S收到該IP數據報並且應用層回送256字節查詢結果,那麼S發出IP數據報中TCP的SEQ號和ACK號分別是多少?(以16進製表示)。
考點:
答:(1)40個字節包括了IP頭部和TCP頭部,分析報文可知,IP總長度(頭部+數據)=009E(字節爲單位,158字節),TCP頭部=8(4字節爲單位,32字節),IP頭部固定爲20字節
因此IP數據長度=158-32-20=106字節
(2)根據報文結構可知,C發出確認號爲 72 f5 08 39,則 S 發出的序號 = C 的 ACK 號。S 的確認號是收到數據最後1位序號+1 = C的序號 7a e0 ed b2+106 個 字 節 -1(序號從0開始)+1 = 7a e0 ee 1c -
試問最小 TCP MTU 的總長度是多少?包括 TCP 和 IP 的開銷,但是不包括數據鏈路層的開銷。
考點:MSS;TCP和IP頭部長度
答:MSS 默認字節,TCP 和 IP 層分別加入 20字節的頭部,則總長度字節
-
數據報的分段和重組機制由 IP 來處理,對於 TCP 不可見。試問,這是否意味着 TCP 不用擔心數據錯序到達的問題?
考點:網絡層和傳輸層的關係
答:IP數據報的分段和重組是用於確保數據報完整到達主機,但多個數據報完整到達主機仍可能出現錯序,數據報的錯序到達和數據報的分段重組是兩個不相關的問題,因此TCP必須自己檢查是否亂序。
-
如果 TCP 的往返時間 RTT 的當前值是 30 毫秒,緊接着分別在 26、32、24 毫秒確認到達,那麼若使用 Jacobson 算法,試問新的 RTT 估計值是多少?其中α = 0.9.
考點:平均RTT的計算
答:前2幀的平均RTT,前3幀平均RTT,前4幀的平均RTT
補充題:
主機甲和乙已建立了 TCP 連接,甲始終以 MSS=1KB 大小的段發送數據,並一直有數據發送;乙每收到一個數據段都會發出一個接收窗口爲 10KB 的確認段。若甲在t時刻發生超時時擁塞窗口爲 8KB,則從 t 時刻起,不再發生超時的情況下,請計算經過 10 個 RTT 後,甲的發送窗口是多少?考點:TCP 慢啓動與擁塞避免算法流程
答:t 時刻擁塞窗口爲 8KB,則此時閾值 = ,發送窗口 = min{擁塞窗口,接收窗口},採用慢啓動算法:
,第 1 次發送,發送窗口 ;
,得到確認,擁塞窗口;
,第 2 次發送,發送窗口 ;
,得到確認,擁塞窗口 ,此時進入擁塞避免,且不再發生超時
,第 3 次發送,發送窗口 ;
,得到確認,擁塞窗口 ;
……
,得到確認,擁塞窗口 ;
,第 10 次發送,發送窗口 ;
,得到確認,擁塞窗口 ;
,第 11 次發送,發送窗口
因此 10 個 RTT 後發送窗口大小爲 10KB。