TCP和UDP模型实验_第1页
TCP和UDP模型实验_第2页
TCP和UDP模型实验_第3页
TCP和UDP模型实验_第4页
TCP和UDP模型实验_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、三 TCP 舆 UDP 模*蜘目的瞭解如何在NS2建立TCP速典UDP o如何把模摄遏程输出到案,最彳爰藉由工具的分析把结果示出来。背景知NS2 路模摄程式(TCL scrii的)架大致上都如下面程式所示,所以在未来 的胃愈都畲有似底下的程式碉。# #以下的文字是ffiK明,所以NS2不畲幸丸行此行#走生一侗模摄的物件 set ns new Simulator#定羲一彳固皇吉束的程序proc finish ( (exit 0#底下可以新增一些如别罔路架横和雁用程式言殳定的程式碉#在遒富的畤去呼叫finis程序,以结束模摄,底下的例子是在第5秒的畤候$ns at 5.0 finish#始幸丸行模

2、摄$ns run步眯在Bfis中,将以一firns的路璘境舄簸例,者如何在模痍结束彳免 使用一些工具(&可虻xgraph和gnuplo琛分析和呈现模强繇吉果,呈现的效能言平比 指檬包括了端黑占到端黑占的延理(End-to-EncDelay抖重力率(Jitter封包遣失率 (PacketLoss和吞吐量(Throughput)分析所探用的方法剧是去分析路模摄遏程 言己导耕蚩(traffic trac的方式。一、别罔路模摄簸例模摄的路架BoBfi路的璘境包含了丽侗僖输筋黑占s 1和s2,路由器r,和资料接收端d。 si到r之典s2到r之的路原宽都是2Mbps,僖遁延理畤是10ms。路 架不啻中的步

3、宽瓶是在r到d之,步宽舄1.7Mbps,僖遁延理的B寺舄20ms。 所有路的管理檄制都是探用DropTail且r到d之的最大彳宁列辰度(queue limit) 是10侗封包的辰度。在si到d之畲有一 FTP的速富泉,FTP雁用程式是架横 在TCP之上,所以在舄模摄璘境的描述志吾言的畤候,必需先建立一条TCP的速 富泉,因此在来源端s1上使用TCP agents生”tcT来畿送TCP的封包;在目的 地d使用TCPsinkagen娃生” sin”来接受TCP的资料,亚逐生回覆封包(ACK) 回僖送端,最彳爰把接收的TCP封包弟睾放。另外,遢硝要把BWfi agent起来 (connect) 富泉

4、才能建立。若是没有额外的S定, TCP封包的辰度舄1 Kbytes此外,若想查看NS2 模才疑参青攵内定值言殳定,可以在ns-allinone-2.29ns-2.2目tC亦的bns-default.tcl 找到 另外 在s2到d之有一条固定的僖输速率的(Constant Bit,RCBR), CBR雁用程式是架木啻在UDP之上,因此必需在s2使用UDP agent来逐生” udp” 用来畿送UDP封包,在d上使用Null ageiB生” sin”以接收由s2僖送遏来 的UDP封包,然彳爰再把接收的封包弟睾放。CBR的僖送速度舄1Mbps,每一侗封 包大小舄1Kbytes CBR是在0.1秒翅始

5、僖送,在4.5秒结束僖输;FTP是在1.0 秒始僖送,4.0秒束僖输。TCL 程式碣。(book/lab3/lab3.tcl) # B生一侗模摄的物件 set ns new Simulator#金偿寸不同的资料流定羲不同的色,是是要备合NAM用的$ns color 1 Blue$ns color 2 Red#启攵一彳固NAM言己导耕富set nf open out.nam w$ns namtrace-all $nf#启攵一侗模摄遏程言*耕蚩,用来言*录封包僖送的遏程set nd open out.tr w$ns trace-all $nd#定羲一彳固皇吉束的程序proc finish ( (g

6、lobal ns nf nd$ns flush-traceclose $nfclose $nd#以背景幸丸行的方式去幸丸行NAMexec nam out.nam &exit 0#!生僖输筋黑& s的id舄0, s的id舄1set si $ns nodeset s2 $ns node#走生路由器筋黑&的id舄2set r $ns node#走生资料接收筋黑& cffiid舄3set d $ns node#s1-rK路具有2Mbps的步宽,10ms的僖遁延理B寺蜀DropTai的彳宁列管理方式 #s2-S3B路具有2Mbps的步宽,10ms的僖遁延理B寺,DropTai的宁列管理方式 #r-d的路

7、具有1.7Mbps的步宽,20ms的僖遁延理B寺,DropTai的宁列管理方式$ns duplex-link $s1 $r 2Mb 10ms DropTail$ns duplex-link $s2 $r 2Mb 10ms DropTail$ns duplex-link $r $d 1.7Mb 20ms DropTail 蜻殳定r到d之的Queue Limi:B 10侗封包大小 $ns queue-limit $r $d 10 #殳定筋黑占的位置,是是要备合NAM用的$ns duplex-link-op $s1 $r orient right-down $ns duplex-link-op $s

8、2 $r orient right-up $ns duplex-link-op $r $d orient right#ffl r到d之 queue的燮化,是是要 NAM用的 $ns duplex-link-op $r $d queuePos 0.5#建立一4条TCP的速set tcp new Agent/TCP$ns attach-agent $s1 $tcpset sink new Agent/TCPSink$ns attach-agent $d $sink$ns connect $tcp $sink#在NAM中,TCP的速畲以蓝色表示$tcp set fid_ 1#在TCP速之上建立FTP

9、雁用程式 set ftp new Application/FTP $ftp attach-agent $tcp$ftp set type_ FTP#建立一4条UDP的速set udp new Agent/UDP$ns attach-agent $s2 $udpset null new Agent/Null$ns attach-agent $d $null$ns connect $udp $null#在NAM中,UDP的以航色表示 $udp set fid_ 2#在UDP速之上建立CBR雁用程式set cbr new Application/Traffic/CBR$cbr attach-agen

10、t $udp$cbr set type_ CBR蜻殳定僖送封包的大小舄1000 byte$cbr set packet_size_ 1000#殳定僖送的速率舄1Mbps$cbr set rate_ 1mb$cbr set random_ false#殳定FTP和CBR资料僖送始和结束畤$nsat0.1$cbrstart$nsat1.0$ftpstart$nsat4.0$ftpstop$nsat4.5$cbrstop扎结束TCP的速不一定需要舄下面的程式fflSS束速富泉)$ns at 4.5 $ns detach-agent $s1 $tcp ; $ns detach-agent $d $si

11、nk#在模摄璘境中,5秒彳爰去呼叫finish束模(要注意模摄璘境中#的5秒亚不一定等於6祭模摄的畤$ns at 5.0 finish#幸丸行模摄$ns run幸丸行的方法。(曜在cygwin下的提示符号虎)。在幸丸行此TCL script#先逵 入输圈模式。$ startxwin.bat$ ns lab3.tcl 幸丸行的肖言果。在典lab3.tH-fi目导录下畲走生一侗out.t模凝遏程言*耕富)和一侗out.nam(NAM 言*耕款,另外WffiWfi新视窗,如下圈所示。幸引行NAM,暮邸察路模摄的遏程。箱按左上圈中的上J)快速退彳爰退彳爰停止卿台快速前逵目前8放畤til/行畤的指金十S

12、1 S2 r d彳宁列状熊二、分析模摄结果模摄遏程言*耕蚩内容典格式模摄结束彳爰,除了使用NAM暮晃看模摄的遏程,另外就是要使用模摄遏程言己 导耕蚩去做一些敷值的分析,因此BfiEB很重要,所以需要好好的先瞭解是些 言*耕蚩中言*录的格式。以下是out.!的部份言己导录。+0.112cbr1000-1.03.1000.112cbr1000-1.03.100+0.10812cbr1000 -1.03.1110.10812cbr1000 -1.03.111r0.11412cbr1000 -1.03.100+0.11423cbr1000 -1.03.1000.11423cbr1000 -1.03.1

13、00+0.11612cbr1000 -1.03.1220.11612cbr1000 -1.03.122r0.12212cbr1000 -1.03.111+0.12223cbr1000 -1.03.111BfiEB的格式如下:eventtimefrom nodeto nodepkttypepktsizeflagsfidsrc addrdst addrseqnumpkt idr: receive (at to_node)+: enqueue (at queue)-:dequeue (at queue)src_addr node.portd: drop (at queue)dst_addr node

14、.port每一言*录的始都是封包事件畿生的原因,若是r”剧表示封包被某侗 筋黑占所接收;若是+”剧表示逵入了彳宁列;若是”-“剧表示雕彳宁列;若 是” d”剧表示封包被宁列所丢。接著的第二侗椭位表示的是事件畿生的畤 电椭位三和椭位四表示事件畿生的地黑占徂from nod到to nod;)椭位五表示封 包的型熊;椭位六是封包的大小,椭位七是封包的旗檬檬言主;椭位八表示封包是 屠於哪一侗资料流;椭位九和椭位十是表示封包的来源端和目的端,是丽侗椭位 的格式是a.b a代表筋黑占褊号虎,b表示埠号虎(port number)位十一表示封包的序 号虎;椭位十二表示封包的id以前面模摄遏程言*耕蚩的第一舄

15、例,意思就是有一侗封包pakcetid舄0,资料流id舄2,序号虎舄0,辰度舄1000 bytes型熊舄CBR,它是彳能来源端1.0 要到目的地3.1在畤 0.1秒的畤候,彳建躲占1(s2谁入了筋黑占2(r的宁列中。awkgg言2.1筒介awk是一彳重程式志吾言,具有一般程式言常见的功能。awk志吾言具有某些特 黑&如:使用直g器(Interpreter)不需先行SS;型别之Typeless),可使 用文字富阵列的*票(Associative Array)等,因此,使用awk撰舄程式比起使用其 它吾言更筒深便利且筋省畤。另外,awk遢具有一些内建功能,使得awk擅於 虔理具资料列(Record

16、)、撤位(Field)型熊的资料;最彳爰,awk内建有pipe的功能, 可将虔理中的资料僖送备合外部的Shell命令加以虔理,再将Shell命令虔理彳爰的 资料僖回awk程式,圄固特黑占也使得awk程式很容易使用系统资源。2.2 awl是如何作的舄了便於解弟睾awk程式架横以及相的彳桁吾 以上面路模摄遏程言*耕蚩舄 例加以介矣召。名志司定羲:a资料列:awk 料稽上取的基本罩位,以言己蠲蚩舄例,awk入的 第一资料列舄 ”+ 0.1 1 2 cbr 1000 -2 1.0 3.1 0 0”第二资料列舄 “0.1 1 2 cbr 1000 1.0 3.1 0 0”一般而言,一资料列相富於资料稽上

17、的一行资料。b.制位(Field)舄资料列上被分隔的子字串。以资料列”+ 0.1 1 2 cbr 1000 1.0 3.1 0 0” 舄例,一般而言是以空白字元来分隔相澈的位。二三四五六七八九十十一十二+0.112cbr100091.03.1002富awk 入资料列彳爰,畲把每侗位的值存入位燮敷。位燮宴攵意羲$0舄一字串,其内容舄目刖awk所入的资料列.$1代表$0上第一侗位的资料.$2代表$0上第二制固位的资料.程式主要S:Pattern1( Actions1 Pattern2( Actions2 Pattern3( Actions3 一般常用辱鼾系判新式来富成Pattern例如:x 3用来

18、判新燮敷x是否大於3x = 5用来判新燮敷x是否等於5awk提供c言常见的系算元,如:、=、=、=、!=等等Action是由多awk指令所木啻成,而awk的指令典c志吾言中的指令非常似。IO 指令:print、 printf(、)getline流程控制指令:if ( .) .、elsediile)在awk程式的流程中先判脸斤Patterr的皇吉果,若舄真(True)剧幸丸行相莹寸雁的 Actions若舄假Falser不幸丸行相莹寸的Actions若是虔理的遏程中没有Pattern awk M件的去幸丸行Actions工作流程:幸丸行awk畤,它畲反京复逵行下列四步骤。自重力雀指定的资料稽中取一

19、资料列。自重力更新(Update相的内建燮敷之值。逐次幸丸行程式中 所有的Pattern ( Action)指令。富幸丸行完程式中所有Pattern Acticfife若资料稽中遢有未取的料,剧反 覆幸丸行步骤1到步骤4。awk畲自重力重覆逵行上述的四侗步骤,所以使用者不需在程式中SBfifi圈。2.3 端黑占到端黑占的延S (End-to-End Delay(book/lab3/measure-delay.awk) #是是测量CBR封包端黑占到端黑占延SB寺的awk程式BEGIN (#程式初始化,言殳定一燮敷以言*录目前最高虔理封包的ID。 highest_packet_id = 0;(ac

20、tion = $1;time = $2;from = $3;to = $4;type = $5;pktsize = $6;flow_id = $8;src = $9;dst = $10;seq no = $11;packet_id = $12;脂*录目前最高的packet IDif ( packet_id highest_packet_id ) highest_packet_id = packet_id;脂* 录封包的僖送畤if ( start_timepacket_id = 0 ) start_timepacket_id = time;脂*录 CBR (flow_id=2)ffi接收畤if

21、( flow_id = 2 & action != d ) (if ( action = r ) (end_timepacket_id = time; else (#把不是flow_id=2的封包或者是flow_id=21此封包被drop的B寺言殳舄-1 end_timepacket_id = -1;END (#富资料列全部取完彳爰,始言十算有效封包的端黑占到端黑占延理畤for ( packet_id = 0; packet_id = highest_packet_id; packet_id+ start = start_timepacket_id;end = end_timepacket_i

22、d;packet_duration = end start;织把接收畤大於僖送畤的言*录列出来if ( start cbr_delay幸丸行皇吉果:0.100000 0.0387060.108000 0.0387060.116000 0.0387060.124000 0.0387060.132000 0.0387062.4抖重力率(jitter)book/lab3/measure-jitter.awk)抖重力率就是延理畤燮化量(delay variapc由)於路的流量随畤都在燮化, 富流量大的畤候,多封包就必需在筋黑乩的宁列中等待被僖送,因此每侗封包雀 僖送端到目的地端的畤也就不一定畲相同而是

23、侗不同的差巽就是所言胃的抖重力 率。抖重力率越大,剧表示路越不穗定。#是是测量CBR封包jitt的awk程式# jitter (recvtime(j)-sendtime(j)-(recvtime(i)-sen(其中e ji)i)/(j-i),BEGIN (#程式初始化,言殳定一燮敷以言*录目前最高虔理封包的ID。 highest_packet_id = 0;(action = $1;time = $2;from = $3;to = $4;type = $5;pktsize = $6;flow_id = $8;src = $9;dst = $10;seq_no = $11;packet_id =

24、 $12;脂*录目前最高的packet IDif ( packet_id highest_packet_id ) ( highest_packet_id = packet_id;脂* 录封包的僖送畤if ( start_timepacket_id (= 0 )#言*录下包的seq_nopkt_seqnopacket_id = seq_no;start_timepacket_id = time;脂*录 CBR (flow_id=2)ffi接收畤if ( flow_id = 2 & action != d ) (if ( action = r ) (end timepacket id = time

25、; else (#把不是flow_id二的封包或者是flow_id=2旦此封包被丢的B寺言殳舄-1 end_timepacket_id = -1;END (#初始化jitter算所需燮量last_seqno = 0;last_delay = 0;seqno_diff = 0;#富资料列全部取完彳爰,始r算有效封包的端黑占到端黑占延理畤for ( packet_id = 0; packet_id = highest_packet_id; packet_id+ start = start_timepacket_id;end = end_timepacket_id;packet_duration =

26、 end start;织把接收畤大於僖送畤的言*录列出来if ( start cbr_jitter 幸丸行皇吉果:0.100000 0.0000000.108000 0.0000000.116000 0.0000002.5 封包遣失率(packet loss)book/lab3/measure-loss.awk)#是是测量CBR封包遣失率的awk程式BEGIN (#程式初始化信殳定一燮敷言己金录packed drop的敷目 fsDrops = 0;numFs = 0;(action = $1;time = $2;from = $3;to = $4;type = $5;pktsize = $6;

27、flow_id = $8;src = $9;dst = $10;seq_no = $11;packet_id = $12;充言十彳能n1送出多少packetsif (from=1 & to=2 & action = +) numFs+;充言十flow_id)2,且被drop的封包if (flow_id=2 & action = d) fsDrops+;END (printf(number of packets sent:%d lost:%dn, numFs, fsDrops) 幸丸行方法。($舄cygwin shell的提示符号虎)$awk -f measure-loss.awk out.tr

28、幸丸行皇吉果:number of packets sent: l55ft:8是代表CBR送出了 550侗封包,但其中8侗封包丢掉了。2.6 吞吐量(throughput)(book/lab3/measure-throughput.awk)#是是测量CBR封包平均吞吐量(average through的t)wk程式BEGIN (init=0;i=0;(action = $1;time = $2;from = $3;to = $4;type = $5;pktsize = $6;flow_id = $8;src = $9;dst = $10;seq_no = $11;packet_id = $12;

29、if(action=r & from=2 & to=3 & flow_id=2) ( pkt_byte_sumi+1=pkt_byte_sumi+ pktsize;if(init=0) (start_time = time;init = 1;end_timei = time;i = i+1;END (#7BH好看printf(.2ft%.2fn,end_time0, 0);把第一BE的throughput舄零,以表示僖输始for(j=1 ; j cbr_throughput幸丸行皇吉果:0.140.000.151000.000.151000.000.161000.00三、呈现模摄结果做完敷值分

30、析彳爰,最重要的就是要把敷值的结果重成圈呈现出来,在本胃愈 中,所探用的输圈工具是gnuplot3.1 gnupl 介:gnuplot是一彳固命令向的交羞炎式输H程式(command-driven interactive function plotting program)。使用者输入的每一项命令,可以逐步言殳定或修改输圈 璘境。它以圈形表B或函敷,使我仍可以藉由圈形做更逵一步的分析。3.2如何使用gnuplot ($ cygwin shell提示符号虎)3.2.1入输圈模式$startxwin.bat3.2.2在新出来的视窗输入gnuplot $gnuplot口回冈$ gnuplotGNUP

31、LOTVersion 3t8j patchlevel 0 last modified Ued Nov 27 20:49:08 GMT 2002 System: CYGWIN_NT-5+l l+5t7(0+109/3/2)Copyright(C) 1906 - 1993, 1999 - 2002Thomas Williams Colin Kelley and many othersThis is a pre-version of gnuplot 4t0+ Please refer to the documentation for command syntax changest The old s

32、yntax will be accepted throughout the 4+0 series, but all save files use the new syrx+ Type help to access the on-line reference manual The gnuplot FAQ is available fromhttp:/www+gnuplott info/faq/Send comments and requests for help to Send bugs, suggestions and mods to Terminal type set to xll gnup

33、lot |3.2.利行gnuplo程式畤,gnuplot首先梭查是否言殳定璘境参敷DISPLAY ,若有 剧依其言殳定。富其碓定舄X璘境畤,将输出模式殳定舄X11。先以cbr_delay 舄例,筒罩示簸如何把B出来。重圈的指令是plot要重的案cbr_del岔ygnuplot plo“cbr_deiayTer-niin.al type set to :: series., but c圈堇隹然重出来了,但是是用打黑占的方式重出来。接著,只要孥著修改璘境 燮敷,就可以重出理想的B7o3.3修改璘境燮敷3.3.1座檬翰(Axis) B在言殳定座檬翰方面可分舄燮敷名彳胃、檬黑占、格、 累页示簸圉、座檬

34、翰示方式典示典否等六方面的殳定,目前先介矣召常用的殳 定, W的殳定可以参考gnupy功能名B檬黑占殳定xtic,s ydtics别罔格殳定grid座檬示方式logscale示fsHS 定autoscalexrange yrange座中票翰累页示典否xzeroaxjsyzeroaxis说明:xtiCSS X座檬翰上的檬黑占做殳定。如起始黑占、结束黑占、隔或在翰上特定 黑占放特定的名彳胃。其法舄: set xtics ( , (, |( (, .) unset xtics#不檬示任何X翰上的檬黑占。show xtics # 示X翰檬黑占的状)兄。例如:(gnuplot是在gnuplo下的提示符号

35、虎) gnuplot plot sin(x)在x翰上的檬黑矗殳定是以5舄罩位。若是想要把檬黑占距离船殳小一黑&如言殳舄1, 剧可使用gnuplot set xtics -10, 1, 10gnuplot plot sin(x)ytic舆xtic相似,不同黑占是作用在y翰上。格言殳定:在XY座檬平面上依刻度重上方格子。 gnuplot set grid gnuplot plot sin(x)座檬示方式:分舄富泉性sws,一般舄前者。若要改SH方式,其志吾法舄: set logscale 其中axes舄X翰、Y翰、Z翰的任意角且合。base予弟殳舄10。示HS定:改燮各翰的示Ho autoscal

36、轸敷殳定彳爰gnuplot!重症周整 景示簸圉。而xrange yrange剧是可以由使用者殳定志亥翰的簸圉。以xrange舄 例,其吾法舄:set xrange : 其中参敷典代表X翰的起黑占典常冬黑占,可以是敷字或敷孥式 子,例如:gnuplot set xrange 0:10gnuplot plot sin(x)座中票翰累页示典否殳定:殳定是否要重出座中票翰,以X翰舄例:set xzeroaxis #殳定示X座票翰unset xzeroaxis #殳定不示X座票翰show xzeroaxis #梭查X座票翰示典否gnuplot set xzeroaxisgnuplot plot sin(

37、x)3.3.摞示(Label:)gnuploj出圈形外,尚可加入言主解做舄申甫助明。言主解包 括文字典富豺条丽方面,其提供的言殳定有功能名B制条arrow文字6 土解key, labe,l titjexlabel ylabel明:富豺条:在B上-段可以避撑有照箭&瓦其法舄 set arrow (from ,(to ,(, (noheadunset arrow (# 删除一富泉条show arrow#累示富泉4条使用情)兄其中参敷 set arrow to 1,2#-名S 3 的带箭制I条由(0.4, 0.3到(0.2, 0。1)gnuplot set arrow 3 from 0.4, 0.3

38、 to 0.2, 0.1#删除名舄3的制条。gnuplotunset arrow 3 #删除所有富豺条。gnuplotunset arrow文字言主解:分舄言殳定檬(tit和)票示(label)檬 (titled定舄在圈的正上方加上明本圈的文字。其法舄:set title ( , show title其中殳定参敷或舄微票放置的位址。xlabel ylabe的席吾法 典tit相同,其各自描述一座票翰。票示(label)舄在圈上任一位置加上文字明,一般典富豺条一饼使用。set label ( (at ,unset label (# 删除一票示show label# 示票示使用情)兄其中参宴攵vta

39、g制条”(arrow中vtag意羲相同,用以匾别不同的label参 宴攵周整文字放置的位置,可以是lef,t right或center#将y=x放在座票(1,2)之虔。gnuplot set la“el=x” at 1,2#将y=x”2放在座票(2,3)之虔,亚命名舄3。gnuplot set label 3 y=x2 at 2,3 right#将名舄3的票示居中放置。gnuplot set label 3 center#删除名舄3的票示。gnuplot unset label 3#删除所有票示。gnuplot unsel label一般而言-B形彳卷gnuplott将函敷名或圈形案名稍置於右

40、上角key 参敷殳定可改名放置位置。其吾法舄: set keyset key , #其中# , , set ti/bar_delaygnuplot set xlabeslimulation t”megnuplot set ylabedelay ti”egnuplot unset keygnuplot set la“fcLonstant delay= 0.038706 asbe(0.1, 0.05 gnuplot set arrow from 0.5, 0.05 to 0.5, 0.04 gnuplotplo“cbr delay06 o0.085o.os0.0750.070.06505 ott(Style)gnuplo01料圈形是以入稽案中的座檬值彳爰,以割蒙输 上。而描输函敷圈形是言十算若干黑占的函敷值彳爰,以某SBtt函敷值输上。一般 是取檬100黑占及探取富豺条作SBtto gnuplot可提供

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论