計算機網絡作業題
第一章
第一題
如圖所示網絡。A在t=0時刻開始向C發送一個2Mbits的文件;B在t=0.1+e秒(e為無限趨近於0的小正實數)向D發送一個1Mbits的文件。忽略傳播延遲和結點處理延遲。
請回答下列問題:
- 如果圖中網絡采用存儲-轉發方式的報文交換,則A將2Mbits的文件交付給C需要多長時間?B將1Mbits的文件交付給D需要多長時間?
- 如果圖中網絡采用存儲-轉發方式的分組交換,分組長度為等長的1kbits,且忽略分組頭開銷以及報文的拆裝開銷,則A將2Mbits的文件交付給C需要大約多長時間?B將1Mbits的文件交付給D需要大約多長時間?
- 報文交換與分組交換相比,哪種交換方式更公平?(即傳輸數據量小用時少,傳輸數據量大用時長)
答 - 由於A先發報文所以,A的報文在路由器的隊列中排在B的報文前面,所以A交付2Mbits報文需要時間為:2/10+2/20+2/10=0.5s=500ms;(3分)
B將1Mbits的文件交付給D需要時間為:1/10+2/20(排隊時間)+1/20+1/10=0.35s=350ms。(3分) - 從t=0時刻到t=0.1s,A發送了1000個分組,用時:1000×1000/10000000=0.1s,
從t=0.1s時刻起與B共享連接路由器的鏈路,平均各共享到帶寬10Mbps,A大約再用時:1/10+2×1000/10000000=0.1002s交付剩余的1000個分組,故A向C交付2Mbits文件大約需要(0.1+0.1002)s≈0.2s;(3分)
B向D交付1Mbits文件需要時間大約為:1/10+2×1000/10000000=0.1002s≈0.1s。(3分) - 分組交換比報文交換更公平。(2分)
第二題
考慮兩台主機A和主機B由一條帶寬為R bps、長度為M米的鏈路互連,信號傳播速率為V m/s。假設主機A從t=0時刻開始向主機B發送分組,分組長度為L比特。試求:
- 傳播延遲(時延)dp;
- 傳輸延遲dt;
- 若忽略結點處理延遲和排隊延遲,則端到端延遲de是多少?
- 若dp>dt,則t=dt時刻,分組的第一個比特在哪里?
- 若V=250000km/s,L=512比特,R=100 Mbps,則使帶寬時延積剛好為一個分組長度(即512比特)的鏈路長度M是多少?
(注:1k=103,1M=106)
答 - 傳播延遲(時延)dp=M/V;(2分)
- 傳輸延遲dt=L/R;(2分)
- 端到端延遲de= L/R+M/V;(2分)
- 若dp>dt,則t=dt時刻,分組的第一個比特所在位置是:距離主機A的Vdt米的鏈路上;(2分)
- 帶寬時延積=Rdp=RM/V=512,因此, M=512V/R=512×250000000/100000000 =1280米。(2分)
第三題
假設主機A向主機B以存儲-轉發的分組交換方式發送一個大文件。主機A到達主機B的路徑上有3段鏈路,其速率分別是R1=500kbps,R2=2Mbps,R3=1Mbps。試求:
- 假設網絡沒有其他流量,則傳送該文件的吞吐量是多少?
- 假設文件大小為4MB,則傳輸該文件到主機B大約需要多少時間?
(注:1k=103,1M=106)
答 - 傳送該文件的吞吐量:TH=500kbps;(3分)
- 傳送該文件到主機B大約需要時間:T=4×8×106/(500×103)=64s。(3分)
第二章
第一題
假設你在瀏覽某網頁時點擊了一個超鏈接,URL為“https://www.kicker.com.cn/index.html ”,且該URL對應的IP地址在你的計算機上沒有緩存;文件index.html引用了8個小圖像。域名解析過程中,無等待的一次DNS解析請求與響應時間記為RTTd,HTTP請求傳輸Web對象過程的一次往返時間記為RTTh。請回答下列問題:
1)你的瀏覽器解析到URL對應的IP地址的最短時間是多少?最長時間是多少?
2)若瀏覽器沒有配置並行TCP連接,則基於HTTP1.0獲取URL鏈接Web頁完整內容(包括引用的圖像,下同)需要多長時間(不包括域名解析時間,下同)?
3) 若瀏覽器配置5個並行TCP連接,則基於HTTP1.0獲取URL鏈接Web頁完整內容需要多長時間?
4) 若瀏覽器沒有配置並行TCP連接,則基於非流水模式的HTTP1.1獲取URL鏈接Web頁完整內容需要多長時間?基於流水模式的HTTP1.1獲取URL鏈接Web頁完整內容需要多長時間?
答
1)瀏覽器解析到URL對應的IP地址的最短時間是:RTTd;(2分)最長時間是:5RTTd。(2分)
2)若瀏覽器沒有配置並行TCP連接,則基於HTTP1.0獲取URL鏈接Web頁完整內容需要的時間:18RTTh。(2分)
3) 若瀏覽器配置5個並行TCP連接,則基於HTTP1.0獲取URL鏈接Web頁完整內容需要的時間:6RTTh。(2分)
4) 若瀏覽器沒有配置並行TCP連接,則基於非流水模式的HTTP1.1獲取URL鏈接Web頁完整內容需要的時間:10RTTh;(2分)基於流水模式的HTTP1.1獲取URL鏈接Web頁完整內容需要的時間:3RTTh。(2分)
第二題
考慮向N個對等方(用戶)分發F=15Gb的一個文件。該服務器具有us=30Mbps的上傳速率,每個對等方的下載速率di=2Mbps,上傳速率為u。請分別針對客戶-服務器分發模式和P2P分發模式兩種情況,對於N=10、100和1000以及u=500kbps、1Mbps和2Mbps的每種組合,繪制最小分發時間圖表。
(注:k=103、M=106、G=10^9)
答
第三章
第一題
假設主機A向主機B發送5個連續的報文段,主機B對每個報文段進行確認,其中第二個報文段丟失,其余報文段以及重傳的第二個報文段均被主機B正確接收,主機A正確接收所有ACK報文段;報文段從1開始依次連續編號(即1、2、3……),主機A的超時時間足夠長。請回答下列問題:
1).如果分別采用GBN、SR和TCP協議,則對應這三個協議,主機A分別總共發了多少個報文段?主機B分別總共發送了多少個ACK?它們的序號是什么?(針對3個協議分別給出解答)
2).如果對上述三個協議,超時時間比5RTT長得多,那么哪個協議將在最短的時間間隔內成功交付5個報文段?
答
(1)當采用GBN協議時,由GBN協議可得:
主機A共發送了9個報文段,首先發送報文段1,2,3,4,5,當報文2丟失后,重發報文段2,3,4,5共9個;
主機B共發送8個ACK,首先發送ACK1,2丟失,因此對於3,4,5都發送ACK1共4個ACK1,后對於重傳的2,3,4,5,則發送ACK2,ACK3,ACK4,ACK5,一共8個ACK。
當采用SR協議時,由SR協議可得:
主機A共發送了6個報文段,首先發送報文段1,2,3,4,5,當報文2丟失后,重發報文段2共6個報文段;
主機B共發送5個ACK,首先發送ACK1,ACK3,ACK4,ACK5,對於重發的報文段2,則發送ACK2共5個ACK。
當采用TCP協議時,由TCP協議可得:
主機A共發送了6個報文段,首先發送報文段1,2,3,4,5,當報文2丟失后,重發報文段2共6個報文段;
主機B共發送5個ACK,首先發送4個ACK2,重傳后發送一個ACK6一共5個ACK。
(2)采用TCP協議可在最短的時間間隔內成功交付5個報文段,因為TCP有快速重傳機制,即在未超時情況下就開始重傳丟失的2號報文段。
第二題
假設A、B兩個端系統通過唯一的一條8Mbps鏈路連接(M=10^6),該鏈路的雙向傳播時延是150ms;A通過一個TCP連接向B發送一個大文件,B的接收緩存足夠大,每個TCP段最大段長度(MSS)為1500字節,TCP采用Reno版本,且總是處於擁塞避免階段(即忽略慢啟動)。請回答下列問題:
1).該TCP連接能夠獲得的最大窗口尺寸(以TCP段數計)是多少?
2).該TCP連接的平均窗口尺寸(以TCP段數計)和平均吞吐量(以bps計)是多少?
3).該TCP連接的擁塞窗口從發生丟包到恢復到最大窗口尺寸要經歷多長時間?
答
(1)當發送速率最大只能等於鏈路帶寬時才能不發生丟包,因此由公式可得:
W * MSS / RTT = 8Mbps
W = 8 * 10^6 * 150 * 10^(-3) / (1500 * 8) = 100
因此TCP連接能夠獲得的最大窗口尺寸是100
(2)由公式可得:
平均窗口尺寸為:We = 0.75 * W,即:
We = 0.75 * 100 = 75,
平均吞吐率為:
We * MSS / RTT = 75 * (1500 * 8) / 150 * 10^(-3) = 6 * 10^6bps = 6Mbps
(3)因恢復過程中每個RTT窗口尺寸增加1個MSS,因此總共需要時間為:
T = 100 / 2 * RTT = 50 * 150 * 10^(-3) = 7.5s
第四章
第一題
某網絡拓撲如圖所示,其中路由器內網接口、DHCP服務器、WWW服務器與主機1均采用靜態IP地址配置,相關地址信息見圖中標注;主機2~主機N通過DHCP服務器動態獲取IP地址等配置信息。
請回答下列問題。
(1)DHCP服務器可為主機2~主機N動態分配IP地址的最大范圍是什么?主機2使用DHCP協議獲取IP地址的過程中,發送的封裝DHCP Discover報文的IP分組的源IP地址和目的IP地址分別是什么?
(2)主機2在通過DHCP服務器獲取IP地址的同時還可以獲取哪些IP地址配置所必須的信息?
(3)若主機1的子網掩碼和默認網關分別配置為255.255.255.0和111.123.15.2,則該主機是否能訪問WWW服務器?是否能訪問Internet?請說明理由。
答
(1)DHCP服務器可為主機2~主機N動態分配IP地址的最大范圍是:111.123.15.5~111.123.15.254;(2分)主機2發送的封裝DHCP Discover報文的IP分組的源IP地址和目的IP地址分別是0.0.0.0和255.255.255.255。(2分)
(2)主機2在通過DHCP服務器獲取IP地址的同時還可以獲取:子網掩碼(255.255.255.0)、默認網關(111.123.15.1)和域名服務器IP地址。(3分)
(3)主機1能訪問WWW服務器,但不能訪問Internet。(2分)由於主機1的子網掩碼配置正確而默認網關IP地址被錯誤地配置為111.123.15.2(正確IP地址是111.123.15.1),所以主機1可以訪問在同一個子網內的WWW服務器,但當主機1訪問Internet時,主機1發出的IP分組會被路由到錯誤的默認網關(111.123.15.2),從而無法到達目的主機。(1分)
第五章
第一題
如圖所示網絡拓撲,所有路由器均采用距離向量路由算法計算到達兩個子網的路由(注:到達子網的路由度量采用跳步數)。
假設路由表結構如下表所示。
目的網絡 接口
請回答下列問題:
(1)若所有路由器均已收斂,請給出R1的路由表,要求包括到達圖中所有子網的路由,且路由表中的路由項盡可能少。
(2)在所有路由器均已收斂的狀態下,R3突然檢測到子網192.168.1.128/26不可到達,若接下來R2和R3同時向R1交換距離向量,則R1更新后的路由表是什么?更新后的R1距離向量是什么?
答
(1)R1的路由表:
目的網絡 接口
192.168.1.0/24 S1(2分)
192.168.1.192/26 E0(2分)
192.168.2.0/23 S0(2分)
(2)R1更新后的路由表:
目的網絡 接口
192.168.1.0/25 S1(2分)
192.168.1.128/26 S0(2分)
192.168.1.192/26 E0(2分)
192.168.2.0/23 S0(2分)
R1的距離向量:
192.168.1.0/25 2(2分)
192.168.1.128/26 3(2分)
192.168.1.192/26 1(2分)
192.168.2.0/23 2(2分)
第六章
第一題
假設CRC編碼的生成比特模式G=10011。請回答下列問題:
(1)如果數據D=1010101010,則CRC編碼后<D,R>=?
(2)如果數據D=1010100000,則CRC編碼后<D,R>=?
(3)如果接收端收到碼字01011010101001,則該碼字在傳輸過程中是否發生差錯?
(4)如果接收端收到碼字10010101010000, 則該碼字在傳輸過程中是否發生差錯?
答
(1)利用G=10011去除1010101010 0000,(1分)得R=0100,(1分)所以,CRC編碼后<D,R>=10101010100100。(1分)
(2)利用G=10011去除1010100000 0000,(1分)得R=1001,(1分)所以,CRC編碼后<D,R>=10101000001001。(1分)
(3)利用G=10011去除01011010101001,(1分)得余式=0110,不為0000,(1分)因此該碼字在傳輸過程中發生差錯。 (1分)
(4)利用G=10011去除10010101010000,(1分) 得余式=0000,(1分)因此該碼字在傳輸過程中未發生差錯。 (1分)
第二題
假設在采用廣播鏈路的10Mbps以太網中,回答下列問題:
(1)某結點連續第5次沖突后,按二進制指數退避算法,選擇K=4的概率是多少?相應地延遲多久再次重新嘗試發送幀?
(2)如果連續第12次沖突,該結點最多延遲多久再次重新嘗試發送幀?
答
(1)連續第5次沖突后,結點網卡從{0, 1, 2,…, 31}中選擇K,(1分)因此,選擇到K=4的概率為1/32,(1分)相應地延遲時間為4512/(1010^6)=0.2048ms=204.8μs。(1分)
(2)當連續12次沖突后,網卡將從{0, 1, 2,…,1022,1023}中選擇K,(1分)因此最多延遲時間是選擇到K=1023,(1分)相應地延遲時間為1023512/(1010^6)=52.3776ms。(1分)
第三題
某局域網采用CSMA/CD協議實現介質訪問控制,數據傳輸速率為10 Mbps,主機甲和主機乙之間的距離為2km,信號傳播速度是200000km/s。請回答下列問題:
(1)若主機甲和主機乙發送數據時發生沖突,則從開始發送數據時刻起,到兩台主機均檢測到沖突時刻止,最短需經過多長時間?最長需經過多長時間?(假設主機甲和主機乙發送數據過程中,其他主機不發送數據)
(2)若網絡不存在任何沖突與差錯,主機甲總是以標准的最長以太網數據幀向主機乙發送數據,主機乙每成功收到一個數據幀后立即向主機甲發送一個64字節的確認幀,主機甲收到確認幀后方可發送下一個數據幀。此時主機甲的有效數據(上層協議數據)傳輸速率是多少?(不考慮以太網幀的前導碼)
答
(1)主機甲和主機乙之間單向傳播延遲時間= 2km/(200000km/s)=10μs;(1分)
兩台主機均檢測到沖突時,最短所需時間和最長所需時間對應下面兩種極端情況:
①主機甲和主機乙同時各發送一個數據幀,(1分)信號在信道中發生沖突后,沖突信號繼續向兩個方向傳播。因此,雙方均檢測到沖突需要1個單向傳播延遲,即10μs。
因此,甲乙兩台主機均檢測到沖突時,最短需經過10μs。(1分)
②主機甲(或主機乙)先發送一個數據幀,當該數據幀即將到達主機乙(或主機甲)時,主機乙(或主機甲)也開始發送一個數據幀。(1分)這時,主機乙(或主機甲)將立即檢測到沖突;而主機甲(或主機乙)要檢測到沖突,沖突信號還需要從主機乙(或主機甲)傳播到主機甲(或主機乙),(1分)因此,主機甲(或主機乙)檢測到沖突需要2個單向傳播延遲,即20μs。
因此,甲乙兩台主機均檢測到沖突時,最長需經過20μs。 (1分)
(2)以太網最大幀長為1518B;(1分)發送1518B的數據幀所用時間(傳輸延遲) = 1518×8 bits/10 Mbps=1214.4μs;(1分)
發送64B的確認幀所用時間(傳輸延遲) = 64×8bits/10Mbps=51.2μs;(1分)
主機甲從發送數據幀開始到收完確認幀為止的時間記為T總,則
T總=1214.4+51.2+2×10=1285.6 μs;(1分)
在1285.6μs內發送的有效數據長度=1518B-18B=1500B=12000bits;(1分)
因此,主機甲的有效數據傳輸速率=12000bits/1285.6μs ≈ 9.33Mbps。(1分)
作業10
轉自https://blog.csdn.net/weixin_38902950/article/details/85160547
1、
若單碼替代密碼的替代關系(密鑰)如下:
明文:abcdefghijklmnopqrstuvwxyz
密文:mnbvcxzasdfghjklpoiuytrewq
1)請加密報文“This is an easy problem”;
2)解密報文“rmij'u uamu xyj”。
答:1)uasi si mj cmiw lokngch
2)wasn't that fun
源代碼如下(java):
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
String a = "abcdefghijklmnopqrstuvwxyz";
String b = "mnbvcxzasdfghjklpoiuytrewq";
char [] m = a.toCharArray();
char [] n = b.toCharArray();
String ming = in.nextLine().toLowerCase();
String mi = in.nextLine().toLowerCase();
StringBuffer sb1 = new StringBuffer();
StringBuffer sb2 = new StringBuffer();
for(int i = 0;i<ming.length();i++) {
for(int j=0;j<m.length;j++) {
if (ming.charAt(i)<'a'||ming.charAt(i)>'z') {
sb1 = sb1.append(ming.charAt(i));
break;
}
else if(m[j]==ming.charAt(i)) {
sb1 = sb1.append(n[j]);
break;
}
}
}
for(int i = 0;i<mi.length();i++) {
for(int j=0;j<m.length;j++) {
if (mi.charAt(i)<'a'||mi.charAt(i)>'z') {
sb2 = sb2.append(mi.charAt(i));
break;
}
else if(n[j]==mi.charAt(i)) {
sb2 = sb2.append(m[j]);
break;
}
}
}
System.out.println(sb1);
System.out.println(sb2);
}
}
2、
假設攻擊者可以加密明文“The quick brown fox jumps over the lazy dogs”,並的到密文。請問:
1)攻擊者是否可以利用選擇明文攻擊破解單碼替代密碼的所有報文?為什么?
2)攻擊者是否可以利用選擇明文攻擊破解多碼替代密碼的所有報文?為什么?
答:
1)能破解;(1分)因為在單碼替代密碼系統中,字母之間的替代關系是固定的,而選擇明文中已包含了所有字母,所以選擇明文攻擊可以完全確定字母替代關系,所以可以破解。(2分)
2)不行,多碼替代密碼是采用多個單碼替代密碼的組合,不同位置采用不同的單碼替代密碼,一句話包含不了這些規律信息。
3、
考慮p=5和q=11的RSA算法。請問:
1)n和z是什么?
2)若令e=3,為什么e是一個合理的選擇?
3)求d是的de mod z = 1,且de<160;
4)使用密鑰(n,e)加密報文m=8。(提示:[(a mod n)*(b mod n)] mod n = (a*b) mod n)
答:
1)n = pq = 55;
z = (p-1)(q-1) = 40;
2) e<n且e與z互質;
3)ed-1剛好被z整除,
d = (40i+1)/3, i為大於0的整數,保證d也為整數,
當i=2時,d=27
4) c = m^e mod n = 17
4、
假設Alice和Bob之間共享兩個密鑰:一個報文認證密鑰S1和一個對稱加密秘鑰S2。請利用圖示設計一個通信方案,要求支持報文完整性和機密性。
答:
5、
假設Alice想給Bob發送一封郵件; Bob擁有公鑰-私鑰對(KB+,KB–),Alice有Bob的證書,但是Alice沒有公鑰-私鑰對;Alice和Bob共享相同的散列函數H(·)。請回答下列問題:
1). 在這種情況下,是否能設計一個方案使得Bob可以核實郵件消息是由Alice創建的?如果能,請繪制框圖解釋該方案;如果不能,請簡單解釋原因。
2). 能否設計一個方案,支持Alice向Bob發送機密性郵件?如果能,請繪制方案框圖;如果不能,請簡單解釋原因。
答:
1)不能,Alice只持有bob的公鑰,沒有自己和bob所獨有的一段報文認證密鑰s1,也沒有自己的公鑰私鑰對,無法證明自己是Alice
2)可以,只要Alice的報文經過Bob的公鑰KB+加密,就可以實現機密傳輸,Bob收到之后可以用私鑰解密。
如圖所示:
6、
假設Alice和Bob基於SSL會話進行通信。假設有一個沒有任何共享密鑰的攻擊者,在數據包流中插入一個具有正確TCP校驗和與序列號(以及正確的IP地址和端口號)的偽造TCP段。接收端的SSL會接收該偽造TCP段並向上層應用提交載荷嗎?為什么?
答:
不會
SSL協議就是介於TCP和應用層之間的一個安全協議,用於提供傳輸過程中的機密性、完整性和認證,即便TCP校驗通過,序列號正確,由於其沒有遵循ssl協議,一樣會被識別出來。
因為偽造的TCP無法通過數據完整性校驗(攻擊者沒有共享的MAC密鑰)
7、
考慮下列偽WEP協議,共享密鑰為4比特,設為1010;IV為2比特,在產生密鑰流時,附加在密鑰之后。產生的4種密鑰流如下:
101000: 0010101101010101001011010100100 . . .
101001: 1010011011001010110100100101101 . . .
101010: 0001101000111100010100101001111 . . .
101011: 1111101010000000101010100010111 . . .
假設所有消息長度為8比特;ICV為4比特,是通過數據的前4比特與后4比特異或所得;偽WEP分組包含3個字段:IV字段+消息字段+ICV字段,其中消息字段+ICV字段被加密。
1).如果期望利用IV = 11的WEP協議發送消息 m = 10100000,那么WEP分組的3個字段的值分別是多少?
2).說明當接收端解密該WEP分組時,如何恢復消息和ICV。
3).假設Trudy截獲了一個WEP分組(未必是IV = 11),並在向接收端轉發前修改該分組,且Trudy並不知道對應任何IV的密鑰流。如果Trudy翻轉了ICV的第一個比特,則Trudy還必須翻轉哪些/個其他比特,才能使得被修改的分組通過ICV檢查?
答:
1)第一個字段就是IV,不加密,為: 11
第二個字段是消息字段,加密之后為:01011010
第三個字段 ICV,加密之后為:0010
2)IV是不加密的,首先用共享密鑰加IV輸入到密鑰流發生器產生密鑰流,用密鑰流和第二第三個字段逐位異或,得到解密的消息和ICV,之后根據消息計算ICV,與收到的ICV比對,若相同,則表明收到的報文完整。
3)可以翻轉消息字段的第1位,或者是第5位。
因為ICV的第1位是消息的第1位和第5位異或得到。密文與相同的密鑰流異或,會還原到原消息,翻轉1位,異或得到的也是翻轉的,所以,只需要消息的第1位或第5位