數(shù)據(jù)鏈路層協(xié)議仿真實(shí)驗(yàn)_第1頁
數(shù)據(jù)鏈路層協(xié)議仿真實(shí)驗(yàn)_第2頁
數(shù)據(jù)鏈路層協(xié)議仿真實(shí)驗(yàn)_第3頁
數(shù)據(jù)鏈路層協(xié)議仿真實(shí)驗(yàn)_第4頁
數(shù)據(jù)鏈路層協(xié)議仿真實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)鏈路層協(xié)議仿真實(shí)驗(yàn)信息安全 092370 董琦【實(shí)驗(yàn)?zāi)康摹苛私飧鱾€協(xié)議的組成,原理以及幀傳輸方式,掌握每個協(xié)議之間的關(guān)系【實(shí)驗(yàn)準(zhǔn)備】通過在下載的linux仿真器源碼包進(jìn)行編譯,能夠得到協(xié)議2-協(xié)議6的模擬器模擬數(shù)據(jù)鏈路協(xié)議。通過運(yùn)行模擬器,能夠仿真幾個協(xié)議的運(yùn)行模式,得到實(shí)驗(yàn)數(shù)據(jù)?!緦?shí)現(xiàn)功能】分別運(yùn)行協(xié)議2-協(xié)議6的模擬器模擬數(shù)據(jù)鏈路協(xié)議,輸入不同的參數(shù),觀察運(yùn)行結(jié)果【實(shí)驗(yàn)環(huán)境】core 2 t4200 2ghz 內(nèi)存 2g內(nèi)核:linux version 3.0.0-12-generic (builddvernadsky)操作系統(tǒng):ubuntu 11

2、.10【實(shí)驗(yàn)步驟】1根據(jù)說明文當(dāng),可以使用以下方法運(yùn)行程序。 ./protocol-program events timeout pct_loss pct_cksum debug_flags datafile_flagwhere * events tells how long to run the simulation * timeout gives the timeout interval in ticks * pct_loss gives the percentage of frames that are lost (0-99) * pct_cksum gives the percenta

3、ge of arriving frames that are bad (0-99) * debug_flags enables various tracing flags: 1frames sent 2frames received 4timeouts 8periodic printout for use with long runs* datafile_flag enables output of summary data to a data filefor later processing with a script (includingthe gui). the output file

4、will be totdata.txt. values of this flag are 0 or 1:0do not append data to totdata.txt0append data to totdata.txtfor example ./protocol6 100000 40 20 10 3 1 【實(shí)驗(yàn)結(jié)果】1.運(yùn)行protocol2 參數(shù)為./protocol2 100 50 20 10 1 1protocol2是一個無措信道上的單工停等協(xié)議。其基本原理是發(fā)送方以高于接收方處理能力的速度發(fā)送幀,導(dǎo)致接收方被淹沒。我們假設(shè)通信信道不會出錯,并且數(shù)據(jù)流量是單工的。發(fā)送方發(fā)送一幀,

5、等待確認(rèn)到達(dá)后才能繼續(xù)發(fā)送。其中100表示他將以50個tick的時間間隔運(yùn)行100個協(xié)議實(shí)體進(jìn)程。20的丟包率,10的校驗(yàn)和錯誤率(的80通過),它會打印出每幀的行發(fā)送或接收。匯總數(shù)據(jù)也將被追加到totdata.txt。運(yùn)行結(jié)果如下: simulating protocol 2 events: 100 parameters: 50 20 10 tick 0. proc 0 sent frame: type=data seq=134529037 ack=0 payload=0 tick 3. proc 1 sent frame: type=ack seq=0 ack=0 payload=0 ti

6、ck 7. proc 0 sent frame that got lost: type=data seq=134529038 ack=0 payload=1 process 0: total data frames sent: 2 data frames lost: 1 data frames not lost: 1 frames retransmitted: 0 good ack frames recd: 1 bad ack frames recd: 0 good data frames recd: 0 bad data frames recd: 0 payloads accepted: 0

7、 total ack frames sent: 0 ack frames lost: 0 ack frames not lost: 0 timeouts: 0 ack timeouts: 0 process 1: total data frames sent: 0 data frames lost: 0 data frames not lost: 0 frames retransmitted: 0 good ack frames recd: 0 bad ack frames recd: 0 good data frames recd: 1 bad data frames recd: 0 pay

8、loads accepted: 1 total ack frames sent: 1 ack frames lost: 0 ack frames not lost: 1 timeouts: 0 ack timeouts: 0 efficiency (payloads accepted/data pkts sent) = 50% end of simulation. time=100 從運(yùn)行結(jié)果之中可以看出,有兩個進(jìn)程,分別指明了發(fā)送和接受的情況,丟包律、誤碼率等等都和事先設(shè)定好的參數(shù)一致。2.運(yùn)行protocol3 參數(shù)設(shè)定為./protocol3 500 50 20 10 2 1protoc

9、ol3是一個有錯信道上的單工停等協(xié)議。幀可能會損壞,也可能會完全丟失。如果一幀在傳輸過程之中被破壞,則接收方硬件在計算校驗(yàn)和時會檢測出來,如果一幀在被破壞之后校驗(yàn)和仍然是正確的,則這個協(xié)議將會失敗。發(fā)送方在他送法送的每一個幀的頭部放上一個序號。發(fā)送方發(fā)送一幀,等待確認(rèn)到達(dá)后才能繼續(xù)發(fā)送。其中100表示他將以50個tick的時間間隔運(yùn)行100個協(xié)議實(shí)體進(jìn)程。20的丟包率,10的校驗(yàn)和錯誤率(的80通過),它會打印出每幀的行發(fā)送或接收。匯總數(shù)據(jù)也將被追加到totdata.txt。運(yùn)行結(jié)果:simulating protocol 3 events: 500 parameters: 50 20 10

10、tick 0. proc 0 sent frame: type=data seq=0 ack=0 payload=0 tick 1. proc 1 got good frame: type=data seq=0 ack=0 payload=0 tick 1. proc 1 sent frame: type=ack seq=1 ack=0 payload=0 tick 7. proc 0 got good frame: type=ack seq=1 ack=0 payload=0 tick 7. proc 0 sent frame that got lost: type=data seq=1 a

11、ck=0 payload=1 tick 50. proc 0 sent frame that got lost: type=data seq=1 ack=0 payload=1 tick 102. proc 0 sent frame that got lost: type=data seq=1 ack=0 payload=1 tick 153. proc 0 sent frame: type=data seq=1 ack=0 payload=1 tick 158. proc 1 got good frame: type=data seq=1 ack=0 payload=1 tick 158.

12、proc 1 sent frame that got lost: type=ack seq=1 ack=1 payload=0 tick 206. proc 0 sent frame that got lost: type=data seq=1 ack=0 payload=1 tick 257. proc 0 sent frame: type=data seq=1 ack=0 payload=1 tick 268. proc 1 got bad frame: type=data seq=1 ack=0 payload=1 tick 308. proc 0 sent frame: type=da

13、ta seq=1 ack=0 payload=1 tick 311. proc 1 got good frame: type=data seq=1 ack=0 payload=1 tick 311. proc 1 sent frame that got lost: type=ack seq=1 ack=1 payload=0 tick 358. proc 0 sent frame: type=data seq=1 ack=0 payload=1 tick 365. proc 1 got good frame: type=data seq=1 ack=0 payload=1 tick 365.

14、proc 1 sent frame: type=ack seq=1 ack=1 payload=0 tick 368. proc 0 got good frame: type=ack seq=1 ack=1 payload=0 tick 368. proc 0 sent frame: type=data seq=0 ack=0 payload=2 tick 373. proc 1 got good frame: type=data seq=0 ack=0 payload=2 tick 373. proc 1 sent frame that got lost: type=ack seq=1 ac

15、k=0 payload=0 tick 408. proc 0 sent frame: type=data seq=0 ack=0 payload=2 tick 412. proc 1 got good frame: type=data seq=0 ack=0 payload=2 tick 412. proc 1 sent frame: type=ack seq=1 ack=0 payload=0 tick 415. proc 0 got good frame: type=ack seq=1 ack=0 payload=0 tick 415. proc 0 sent frame: type=da

16、ta seq=1 ack=0 payload=3 tick 420. proc 1 got good frame: type=data seq=1 ack=0 payload=3 tick 420. proc 1 sent frame: type=ack seq=1 ack=1 payload=0 tick 421. proc 0 got good frame: type=ack seq=1 ack=1 payload=0 tick 421. proc 0 sent frame that got lost: type=data seq=0 ack=0 payload=4 tick 468. p

17、roc 0 sent frame: type=data seq=0 ack=0 payload=4 tick 471. proc 1 got good frame: type=data seq=0 ack=0 payload=4 tick 471. proc 1 sent frame that got lost: type=ack seq=1 ack=0 payload=0 process 0: total data frames sent: 14 data frames lost: 5 data frames not lost: 9 frames retransmitted: 9 good

18、ack frames recd: 4 bad ack frames recd: 0 good data frames recd: 0 bad data frames recd: 0 payloads accepted: 0 total ack frames sent: 0 ack frames lost: 0 ack frames not lost: 0 timeouts: 9 ack timeouts: 0 process 1: total data frames sent: 0 data frames lost: 0 data frames not lost: 0 frames retra

19、nsmitted: 0 good ack frames recd: 0 bad ack frames recd: 0 good data frames recd: 8 bad data frames recd: 1 payloads accepted: 5 total ack frames sent: 8 ack frames lost: 4 ack frames not lost: 4 timeouts: 0 ack timeouts: 0 efficiency (payloads accepted/data pkts sent) = 35% end of simulation. time=

20、500 從運(yùn)行結(jié)果之中可以看出,有兩個進(jìn)程,分別指明了發(fā)送和接受的情況,丟包律、誤碼率等等都和事先設(shè)定好的參數(shù)一致。然而,其中也存在了一些不可預(yù)測的情況,有些暈行多次以后每次的運(yùn)行結(jié)果是不同的。3.運(yùn)行protocol4 參數(shù)設(shè)定為:./protocol 500 50 20 10 2 1protocol4是一個一位滑動窗口協(xié)議。由于發(fā)送方在發(fā)出一幀以后必須等待前一幀的確認(rèn)到來以后才能發(fā)送下一幀。其中1000表示他將以50個tick的時間間隔運(yùn)行1000個協(xié)議實(shí)體進(jìn)程。20的丟包率,10的校驗(yàn)和錯誤率(的80通過),它會打印出每幀的行發(fā)送或接收。匯總數(shù)據(jù)也將被追加到totdata.txt。運(yùn)行結(jié)

21、果:simulating protocol 4 events: 500 parameters: 50 20 10 tick 2. proc 0 got good frame: tick 3. proc 1 got good frame: type=data seq=0 ack=1 payload=0 type=data seq=0 ack=1 payload=0 tick 158. proc 1 got bad frame: tick 157. proc 0 got bad frame: type=data seq=0 ack=0 payload=0 type=data seq=0 ack=0

22、 payload=0 tick 159. proc 1 got good frame: type=data seq=0 ack=0 payload=0 tick 163. proc 0 got good frame: type=data seq=0 ack=0 payload=0 tick 164. proc 0 got good frame: type=data seq=1 ack=0 payload=1 tick 167. proc 1 got good frame: type=data seq=1 ack=0 payload=1 tick 168. proc 0 got good fra

23、me: type=data seq=1 ack=1 payload=1 tick 173. proc 1 got good frame: type=data seq=1 ack=1 payload=1 tick 174. proc 0 got good frame: tick 175. proc 1 got good frame: type=data seq=0 ack=1 payload=2 type=data seq=0 ack=1 payload=2 tick 176. proc 1 got good frame: type=data seq=0 ack=0 payload=2 tick

24、 181. proc 0 got good frame: type=data seq=0 ack=0 payload=2 tick 183. proc 1 got bad frame: tick 184. proc 0 got bad frame: type=data seq=1 ack=0 payload=3 type=data seq=1 ack=0 payload=3 tick 187. proc 0 got good frame: tick 186. proc 1 got good frame: type=data seq=1 ack=0 payload=3 type=data seq

25、=1 ack=0 payload=3 tick 188. proc 1 got good frame: type=data seq=1 ack=1 payload=3 tick 195. proc 0 got good frame: type=data seq=1 ack=1 payload=3 tick 196. proc 0 got good frame: type=data seq=0 ack=1 payload=4 tick 198. proc 1 got good frame: type=data seq=0 ack=1 payload=4 tick 200. proc 1 got

26、good frame: tick 201. proc 0 got good frame: type=data seq=0 ack=0 payload=4 type=data seq=0 ack=0 payload=4 tick 203. proc 1 got good frame: type=data seq=1 ack=0 payload=5 tick 206. proc 0 got good frame: type=data seq=1 ack=0 payload=5 tick 207. proc 0 got good frame: type=data seq=1 ack=1 payloa

27、d=5 tick 213. proc 1 got good frame: type=data seq=1 ack=1 payload=5 tick 214. proc 1 got good frame: type=data seq=0 ack=1 payload=6 tick 216. proc 0 got good frame: type=data seq=0 ack=1 payload=6 tick 217. proc 0 got bad frame: type=data seq=0 ack=0 payload=6 tick 218. proc 1 got bad frame: type=

28、data seq=0 ack=0 payload=6 tick 220. proc 1 got good frame: type=data seq=0 ack=0 payload=6 tick 223. proc 0 got good frame: type=data seq=0 ack=0 payload=6 tick 322. proc 1 got good frame: type=data seq=1 ack=0 payload=7 tick 321. proc 0 got good frame: type=data seq=1 ack=0 payload=7 tick 324. pro

29、c 0 got good frame: tick 326. proc 1 got good frame: type=data seq=1 ack=1 payload=7 type=data seq=1 ack=1 payload=7 tick 327. proc 1 got bad frame: type=data seq=0 ack=1 payload=8 tick 333. proc 0 got bad frame: type=data seq=0 ack=1 payload=8 tick 337. proc 1 got bad frame: type=data seq=0 ack=1 p

30、ayload=8 tick 336. proc 0 got bad frame: type=data seq=0 ack=1 payload=8 tick 338. proc 0 got good frame: type=data seq=0 ack=1 payload=8 tick 346. proc 1 got good frame: type=data seq=0 ack=1 payload=8 tick 374. proc 1 got good frame: type=data seq=0 ack=0 payload=8 tick 376. proc 0 got good frame:

31、 type=data seq=0 ack=0 payload=8 tick 377. proc 0 got good frame: type=data seq=1 ack=0 payload=9 tick 381. proc 1 got good frame: type=data seq=1 ack=0 payload=9 tick 425. proc 1 got bad frame: tick 426. proc 0 got bad frame: type=data seq=1 ack=1 payload=9 type=data seq=1 ack=1 payload=9 tick 427.

32、 proc 1 got good frame: type=data seq=1 ack=1 payload=9 tick 433. proc 0 got good frame: type=data seq=1 ack=1 payload=9 tick 435. proc 0 got good frame: type=data seq=0 ack=1 payload=10 tick 439. proc 1 got good frame: type=data seq=0 ack=1 payload=10 tick 440. proc 1 got good frame: type=data seq=

33、0 ack=0 payload=10 tick 441. proc 0 got good frame: type=data seq=0 ack=0 payload=10 tick 491. proc 1 got good frame: type=data seq=1 ack=0 payload=11 tick 492. proc 0 got good frame: type=data seq=1 ack=0 payload=11 process 0: total data frames sent: 38 data frames lost: 9 data frames not lost: 29

34、frames retransmitted: 8 good ack frames recd: 0 bad ack frames recd: 0 good data frames recd: 23 bad data frames recd: 6 payloads accepted: 12 total ack frames sent: 0 ack frames lost: 0 ack frames not lost: 0 timeouts: 8 ack timeouts: 0 process 1: total data frames sent: 38 data frames lost: 9 data

35、 frames not lost: 29 frames retransmitted: 8 good ack frames recd: 0 bad ack frames recd: 0 good data frames recd: 23 bad data frames recd: 6 payloads accepted: 12 total ack frames sent: 0 ack frames lost: 0 ack frames not lost: 0 timeouts: 8 ack timeouts: 0 efficiency (payloads accepted/data pkts s

36、ent) = 31% end of simulation. time=500 從運(yùn)行結(jié)果之中可以看出,有兩個進(jìn)程,分別指明了發(fā)送和接受的情況,丟包律、誤碼率等等都和事先設(shè)定好的參數(shù)一致。這個一位的滑動窗口協(xié)議與前幾個協(xié)議也有不同之處,他是以滑動窗口的形式發(fā)送的幀,所以不會發(fā)生幀的重復(fù)等情況。4.運(yùn)行protocol5 參數(shù)設(shè)定:./protocol5 500 50 20 10 3 1 protocol5是一個回退n幀協(xié)議。由于發(fā)送方在發(fā)出一幀以后必須等待前一幀的確認(rèn)到來以后才能發(fā)送下一幀。允許發(fā)送方在阻塞之前發(fā)送多達(dá)w個幀,而不是一個幀。發(fā)送方可以連續(xù)發(fā)送幀。其中1000表示他將以50個tic

37、k的時間間隔運(yùn)行1000個協(xié)議實(shí)體進(jìn)程。20的丟包率,10的校驗(yàn)和錯誤率(的80通過),它會打印出每幀的行發(fā)送或接收。匯總數(shù)據(jù)也將被追加到totdata.txt。運(yùn)行結(jié)果如下:simulating protocol 5 events: 500 parameters: 50 20 10 tick 2. proc 0 sent frame: type=data seq=0 ack=7 payload=0 tick 1. proc 1 sent frame: type=data seq=0 ack=7 payload=0 tick 3. proc 1 got good frame: type=dat

38、a seq=0 ack=7 payload=0 tick 4. proc 1 sent frame that got lost: type=data seq=1 ack=0 payload=1 tick 5. proc 1 sent frame that got lost: type=data seq=2 ack=0 payload=2 tick 7. proc 0 sent frame: type=data seq=1 ack=7 payload=1 tick 6. proc 1 sent frame that got lost: type=data seq=3 ack=0 payload=

39、3 tick 9. proc 1 got good frame: tick 8. proc 0 got good frame: type=data seq=1 ack=7 payload=1 type=data seq=0 ack=7 payload=0 tick 10. proc 1 sent frame that got lost: type=data seq=4 ack=1 payload=4 tick 11. proc 0 sent frame that got lost: type=data seq=2 ack=0 payload=2 tick 12. proc 1 sent fra

40、me: type=data seq=5 ack=1 payload=5 tick 13. proc 0 sent frame that got lost: type=data seq=3 ack=0 payload=3 tick 14. proc 1 sent frame: type=data seq=6 ack=1 payload=6 tick 16. proc 0 got good frame: type=data seq=5 ack=1 payload=5 tick 17. proc 0 got bad frame: type=data seq=6 ack=1 payload=6 tic

41、k 18. proc 0 sent frame: type=data seq=4 ack=0 payload=4 tick 19. proc 0 sent frame: type=data seq=5 ack=0 payload=5 tick 20. proc 0 sent frame: type=data seq=6 ack=0 payload=6 tick 23. proc 1 got good frame: type=data seq=4 ack=0 payload=4 tick 22. proc 0 sent frame that got lost: type=data seq=7 a

42、ck=0 payload=7 tick 24. proc 1 got good frame: tick 25. proc 0 sent frame: type=data seq=5 ack=0 payload=5 type=data seq=0 ack=0 payload=8 tick 28. proc 1 got good frame: type=data seq=6 ack=0 payload=6 tick 29. proc 1 got good frame: type=data seq=0 ack=0 payload=8 tick 30. proc 1 sent frame: type=

43、data seq=7 ack=1 payload=7 tick 33. proc 0 got good frame: type=data seq=7 ack=1 payload=7 tick 56. proc 1 sent frame: type=data seq=1 ack=1 payload=1 tick 56. proc 1 sent frame: type=data seq=2 ack=1 payload=2 tick 56. proc 1 sent frame that got lost: type=data seq=3 ack=1 payload=3 tick 56. proc 1

44、 sent frame: type=data seq=4 ack=1 payload=4 tick 56. proc 1 sent frame that got lost: type=data seq=5 ack=1 payload=5 tick 56. proc 1 sent frame: type=data seq=6 ack=1 payload=6 tick 56. proc 1 sent frame: type=data seq=7 ack=1 payload=7 tick 57. proc 0 got good frame: type=data seq=1 ack=1 payload

45、=1 tick 58. proc 0 got good frame: type=data seq=2 ack=1 payload=2 tick 59. proc 0 got good frame: type=data seq=4 ack=1 payload=4 tick 63. proc 0 got good frame: type=data seq=6 ack=1 payload=6 tick 65. proc 0 got good frame: type=data seq=7 ack=1 payload=7 tick 67. proc 0 sent frame that got lost:

46、 type=data seq=2 ack=2 payload=2 tick 67. proc 0 sent frame: type=data seq=3 ack=2 payload=3 tick 67. proc 0 sent frame: type=data seq=4 ack=2 payload=4 tick 67. proc 0 sent frame: type=data seq=5 ack=2 payload=5 tick 67. proc 0 sent frame: type=data seq=6 ack=2 payload=6 tick 67. proc 0 sent frame:

47、 type=data seq=7 ack=2 payload=7 tick 67. proc 0 sent frame: type=data seq=0 ack=2 payload=8 tick 74. proc 1 got good frame: type=data seq=3 ack=2 payload=3 tick 76. proc 1 got good frame: type=data seq=4 ack=2 payload=4 tick 79. proc 1 got good frame: type=data seq=5 ack=2 payload=5 tick 81. proc 1

48、 got good frame: type=data seq=6 ack=2 payload=6 tick 87. proc 1 got good frame: type=data seq=7 ack=2 payload=7 tick 88. proc 1 got good frame: type=data seq=0 ack=2 payload=8 tick 90. proc 1 sent frame: type=data seq=0 ack=1 payload=8 tick 93. proc 0 got good frame: type=data seq=0 ack=1 payload=8

49、 tick 95. proc 1 sent frame: type=data seq=1 ack=1 payload=9 tick 96. proc 0 got good frame: type=data seq=1 ack=1 payload=9 tick 107. proc 1 sent frame: type=data seq=3 ack=1 payload=3 tick 107. proc 1 sent frame: type=data seq=4 ack=1 payload=4 tick 107. proc 1 sent frame: type=data seq=5 ack=1 pa

50、yload=5 tick 107. proc 1 sent frame: type=data seq=6 ack=1 payload=6 tick 107. proc 1 sent frame: type=data seq=7 ack=1 payload=7 tick 107. proc 1 sent frame that got lost: type=data seq=0 ack=1 payload=8 tick 107. proc 1 sent frame: type=data seq=1 ack=1 payload=9 tick 110. proc 0 got good frame: t

51、ype=data seq=3 ack=1 payload=3 tick 111. proc 0 got good frame: type=data seq=4 ack=1 payload=4 tick 112. proc 0 got good frame: type=data seq=5 ack=1 payload=5 tick 114. proc 0 got good frame: type=data seq=6 ack=1 payload=6 tick 115. proc 0 got good frame: type=data seq=7 ack=1 payload=7 tick 119. proc 0 got good frame: type=data seq=1 ack=1 payload=9 tick 121. proc 0 sent frame: type=data seq=2 ack=7 payload=2 tick 121. proc 0 sent frame that got lost

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論