




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、摘 要TCP的擁塞控制由“慢啟動(Slow start)”和“擁塞避免(Congestion avoidance)”組成,后來TCP Reno版本中又針對性的加入了“快速重傳(Fast retransmit)”、“快速恢復(fù)(Fast Recovery)”算法,再后來在TCP NewReno中又對“快速恢復(fù)”算法進(jìn)行了改進(jìn),近些年又出現(xiàn)了選擇性應(yīng)答(SACK)算法,還有其他方面的大大小小的改進(jìn),成為網(wǎng)絡(luò)研究的一個(gè)熱點(diǎn)。 TCP的擁塞控制主要原理依賴于一個(gè)擁塞窗口(cwnd)來控制,窗口值的大小就代表能夠發(fā)送出去的但還沒有收到ACK的最大數(shù)據(jù)報(bào)文段,顯然窗口越大那么數(shù)據(jù)發(fā)送的速度也就越快,但是也就
2、越可能使得網(wǎng)絡(luò)出現(xiàn)擁塞,如果窗口值為1,那么就簡化為一個(gè)停等協(xié)議,每發(fā)送一個(gè)數(shù)據(jù),都要等到對方的確認(rèn)才能發(fā)送第二個(gè)數(shù)據(jù)包,顯然數(shù)據(jù)傳輸效率低下。TCP擁塞控制算法就是要在這兩者之間權(quán)衡,選取最好的cwnd值,從而使得網(wǎng)絡(luò)吞吐量最大化且不產(chǎn)生擁塞。1 計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)逐漸發(fā)展成為現(xiàn)代生活中必不可少的一個(gè)部分,本論文的主要研究目的就是針對計(jì)算機(jī)網(wǎng)絡(luò)中的TCP協(xié)議中的Reno擁塞控制,對其實(shí)行可視化,使其變得更加容易理解,讓我們對計(jì)算機(jī)網(wǎng)絡(luò)有更深刻的認(rèn)識。關(guān)鍵詞:慢啟動;擁塞避免;快速重傳;快速恢復(fù);可視化AbstractTCP congestion control from Slow start a
3、nd Congestion avoidance composed of TCP Reno versions later then targeted to join the Fast retransmit, Fast Recoveryalgorithm, and then later again in the TCP NewReno in the fast recovery algorithm has been improved in recent years has emerged selective acknowledgement algorithm, as well as other la
4、rge and small improvements become a research hotspot network. The main principle of TCP congestion control relies on a congestion window (cwnd) to control the window size value represents the ability to send out but not yet received the maximum data packet ACK Duan, clear window, so the greater the
5、speed of data sent the faster, but also more likely to make the network congestion occurs, if the window is 1, then reduced to a stop such agreement, each sending a data, must wait for confirmation of the other party can send a second packet, the data clearly transmission efficiency is low. TCP cong
6、estion control algorithm is to balance between these two, choose the best cwnd value, allowing the network to maximize throughput and does not create congestion.Computer network has gradually become an essential of modern life, a part of the main research objective of this thesis is a computer netwo
7、rk for the TCP Reno congestion control protocol in its implementation of visualization to make it more easy to understand , let the computer network has a better understanding. Key words: Slow start; Congestion avoidance; Fast retransmit;Fast Recovery; Visualization 目 錄1 緒論11.1 課題背景及意義11.2 課題現(xiàn)狀11.3
8、本文的主要研究內(nèi)容22 開發(fā)平臺與技術(shù)的選擇及介紹32.1 開發(fā)環(huán)境的介紹32.1.1硬件環(huán)境32.1.2 軟件環(huán)境32.2 Reno擁塞控制簡介32.3 開發(fā)平臺簡介33 需求分析及可行性研究53.1 需求分析53.1.1 時(shí)間要求53.1.2 功能要求53.1.3 Reno擁塞控制的四個(gè)階段53.1.4 性能要求83.2 可行性研究93.2.1 成本可行性分析93.2.2 技術(shù)可行性分析94 相關(guān)開發(fā)技術(shù)的原理性說明104.1 VisualStuidio2008相關(guān)簡介104.2 TCP/IP協(xié)議和擁塞控制簡介114.3C#簡介及特點(diǎn)134.3.1 C#簡介134.3.2C#與C+、JAV
9、A的區(qū)別134.3.3 C#的前途145系統(tǒng)功能模塊分析155.1主框架具體功能155.2各功能模塊詳細(xì)設(shè)計(jì)156詳細(xì)設(shè)計(jì)及編碼實(shí)現(xiàn)176.1 主框架詳細(xì)設(shè)計(jì)176.2模塊的詳細(xì)設(shè)計(jì)176.2.1 程序代碼176.2.2 程序運(yùn)行結(jié)果23結(jié) 論27參考文獻(xiàn)28致 謝291 緒論1.1 課題背景及意義網(wǎng)絡(luò)協(xié)議本身是一個(gè)復(fù)雜的抽象的交互過程,其行為由大量的參數(shù)(定時(shí)器,窗口大小,重傳次數(shù),應(yīng)答的方式等)來確定,甚至不同的參數(shù)組合定義了不同的網(wǎng)絡(luò)協(xié)議,很難通過靜態(tài)的文字或者圖表描述讓學(xué)生理解網(wǎng)絡(luò)原理與協(xié)議的含義和精髓,本次畢業(yè)設(shè)計(jì)希望通過采用C#編程,用功能強(qiáng),操作性能好,配置靈活的軟件的方式和多媒
10、體的形式,動態(tài)直觀的演示計(jì)算機(jī)網(wǎng)絡(luò)中的TCP Reno擁塞控制的原理和工作過程,為大家學(xué)好計(jì)算機(jī)網(wǎng)絡(luò)提供一個(gè)更加直觀簡單的環(huán)境。計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)逐漸發(fā)展成為現(xiàn)代生活中必不可少的一個(gè)部分,本論文的主要研究目的就是針對計(jì)算機(jī)網(wǎng)絡(luò)中的TCP協(xié)議中的Reno擁塞控制,對其進(jìn)行可視化,使其變得更加的明了和容易理解,讓我們對計(jì)算機(jī)網(wǎng)絡(luò)有更深刻的理解,同時(shí)通過實(shí)現(xiàn)TCP Reno擁塞控制的可視化讓自己對計(jì)算機(jī)網(wǎng)絡(luò)有一個(gè)更深層次的認(rèn)識。1.2 課題現(xiàn)狀因特網(wǎng)的快速發(fā)展帶來了信息量的急劇膨脹,網(wǎng)絡(luò)擁塞已經(jīng)成為制約因特網(wǎng)發(fā)展的瓶頸。在眾多TCP擁塞控制算法中,TCP Vegas表現(xiàn)出比其他算法更為優(yōu)越的性能,然而自
11、1995年提出至今,仍然沒有取代TCP Reno成為現(xiàn)今最廣泛使用的TCP擁塞控制算法。有研究表明,這是由于Vegas在與Reno共存的網(wǎng)絡(luò)環(huán)境下不能公平地競爭到帶寬,因此不能實(shí)質(zhì)性地提高網(wǎng)絡(luò)性能。在分析Reno如何在網(wǎng)絡(luò)路由中占用帶寬的基礎(chǔ)上,提出一種在兩者兼容環(huán)境下的擁塞控制方法,根據(jù)不同瓶頸緩沖區(qū)容量合理選擇a、等參數(shù),實(shí)現(xiàn)了在Vegas與Reno共存環(huán)境下兩者良好的兼容性,并通過仿真實(shí)驗(yàn)證明了該算法的有效性和正確性。 近年來,因特網(wǎng)取得了突飛猛進(jìn)的發(fā)展,同時(shí)伴隨而來的是信息流量的急劇膨脹。有限的網(wǎng)絡(luò)帶寬不能滿足日益增長的用戶需求,網(wǎng)絡(luò)擁塞已經(jīng)成為制約因特網(wǎng)發(fā)展和應(yīng)用的一個(gè)瓶頸。如何預(yù)防
12、和控制擁塞,已經(jīng)成為近年來網(wǎng)絡(luò)研究的熱點(diǎn)。TCP是Internet上通用的傳輸層協(xié)議之一,是目前應(yīng)用最廣泛的傳輸控制協(xié)議,其核心是擁塞控制機(jī)制。基于Internet的交換機(jī)的通信信道、處理速度及緩沖存儲空間通常是網(wǎng)上所有主機(jī)共享的資源,也是網(wǎng)絡(luò)系統(tǒng)潛在的瓶頸。隨著信源主機(jī)數(shù)以及信源業(yè)務(wù)端業(yè)務(wù)量的不斷增多,瓶頸處就有可能發(fā)生資源競爭,從而導(dǎo)致網(wǎng)絡(luò)擁塞。TCP的一個(gè)重要組成部分是執(zhí)行擁塞控制和擁塞恢復(fù)的算法集合。TCP擁塞控制算法的目標(biāo)是最大限度利用網(wǎng)絡(luò)帶寬,同時(shí)不產(chǎn)生數(shù)據(jù)流傳輸中的擁塞現(xiàn)象。因此,自從上個(gè)世紀(jì)80年代出現(xiàn)第一次擁塞崩潰以來,TCP擁塞控制策略就在不斷地進(jìn)行完善和改進(jìn)。21.3 本
13、文的主要研究內(nèi)容Reno機(jī)制是目前應(yīng)用最為廣泛的比較成熟的機(jī)制,也是以后眾多改進(jìn)機(jī)制的基礎(chǔ)。隨著網(wǎng)絡(luò)迅速的發(fā)展和網(wǎng)絡(luò)應(yīng)用的多元化,單一的TCP擁塞控制不能較好的發(fā)揮其作用,于是基于Reno的,從多方面改進(jìn)的擁塞控制機(jī)制呈現(xiàn)了出來,本論文主要研究的就是如何將Reno擁塞控制進(jìn)行可視化,通過動畫的形式演繹TCP協(xié)議中的Reno擁塞控制,使得TCP協(xié)議可以立體的展現(xiàn)在大家的面前。2 開發(fā)平臺與技術(shù)的選擇及介紹2.1 開發(fā)環(huán)境的介紹我所設(shè)計(jì)的是一個(gè)TCP協(xié)議的可視化,它面對的是所有的學(xué)習(xí)計(jì)算機(jī)網(wǎng)絡(luò)的朋友,在一個(gè)立體的環(huán)境中使大家可以直白的理解Reno擁塞控制,因?yàn)檫x擇的是VisualStuidio20
14、08這款功能強(qiáng)大的開發(fā)軟件,因此對硬件的要求就上升了一個(gè)高度,關(guān)于硬件將會在下面給大家詳細(xì)的介紹。2.1.1 硬件環(huán)境開發(fā)該系統(tǒng)應(yīng)盡可能采用高檔的硬件。因此,在應(yīng)用時(shí)應(yīng)采用更好的配置。處理器:Intel Pentium PIII或更高處理器。內(nèi)存:512MB或更高。2.1.2 軟件環(huán)境選擇好的操作系統(tǒng)和好的編程語言是系統(tǒng)優(yōu)劣的關(guān)鍵,我們要求系統(tǒng)在盡可能多的環(huán)境下運(yùn)行,故選擇Windows XP或者Windows Vista系統(tǒng)。因?yàn)閂isualStudio2008具有友好的集成開發(fā)界面、面向?qū)ο蟮目梢暬_發(fā)模式、良好的數(shù)據(jù)庫及多媒體應(yīng)用支持以及高效的軟件開發(fā)與程序運(yùn)行,功能更大,開發(fā)效率更高,
15、不僅是網(wǎng)絡(luò)環(huán)境下的優(yōu)秀前端開發(fā)語言和工具,也是服務(wù)器端Web編程的優(yōu)秀工具。加之本人對本系統(tǒng)的操作最為熟練,所以選擇該平臺為開發(fā)環(huán)境。操作系統(tǒng):Windows XP或Windows Vista。開發(fā)工具:VisualStudio2008。2.2 Reno擁塞控制簡介V. Jacobson在1988年的論文中提出的TCP的擁塞控制由“慢啟動(Slow start)”和“擁塞避免(Congestion avoidance)”組成,后來TCP Reno版本中又針對性的加入了“快速重傳(Fast retransmit)”,“快速恢復(fù)(Fast Recovery)”算法,再后來在TCP New Reno
16、中又對“快速恢復(fù)”算法進(jìn)行了改進(jìn),近些年又出現(xiàn)了選擇性應(yīng)答( selective acknowledgement,SACK)算法,還有其他方面的大大小小的改進(jìn),這就是Reno擁塞控制的成長歷程,在軟件開發(fā)完成后我將會對以上幾個(gè)階段進(jìn)行一個(gè)系統(tǒng)的介紹和演示,這也是本次開發(fā)的目的。32.3 開發(fā)平臺簡介開發(fā)平臺我選用了VisualStudio2008,因?yàn)榇髮W(xué)四年我們基本都是使用微軟出品的開發(fā)平臺進(jìn)行學(xué)習(xí),對此我們比較熟悉使用起來也比較的得心應(yīng)手,再者VisualStudio2008同樣是由微軟開發(fā)的系統(tǒng),而且編程設(shè)計(jì)也更加的人性化,使用起來也更加的方便,所以選用VisualStudio2008來
17、做為本次開發(fā)的平臺。3 需求分析及可行性研究3.1 需求分析需求分析是設(shè)計(jì)軟件之前的必做功課,軟件需求分析的質(zhì)量對軟件開發(fā)的影響是深遠(yuǎn)的、全局性的,高質(zhì)量需求對軟件開發(fā)往往起到事半功倍的效果,所謂“磨刀不誤砍柴功”。如果需求分析出現(xiàn)錯誤,在后續(xù)階段改正需求分析階段產(chǎn)生的錯誤將付出高昂的代價(jià)。3.1.1 時(shí)間要求本項(xiàng)目作為大學(xué)本科畢業(yè)設(shè)計(jì)題目,從3月22號接受選題開始,在5月20號之前完成系統(tǒng)設(shè)計(jì),編碼實(shí)現(xiàn)工作,在6月3號之前完成畢業(yè)設(shè)計(jì)論文初稿,6月12號之前最終完成論文。3.1.2 功能要求這個(gè)程序要實(shí)現(xiàn):(1) 程序要求對Reno擁塞控制的幾個(gè)階段進(jìn)行分別的演示。(2) 程序要求有開始,暫
18、停,繼續(xù),停止等按鈕用以方便程序的演示。(3)在演示框的右側(cè)有和演示同步的語言描述方便大家對程序的理解。(4)通過對Reno擁塞控制的可視化讓人們更加深入的了解計(jì)算機(jī)網(wǎng)絡(luò)中的TCP協(xié)議。(5)要求整個(gè)過程簡單明了,不繁冗拖沓,界面美麗大方。3.1.3 Reno擁塞控制的四個(gè)階段(1) 慢啟動階段(slow start):發(fā)送方一開始便向網(wǎng)絡(luò)發(fā)送多個(gè)報(bào)文段,直至達(dá)到接收方通告的窗口大小為止(如圖3.1)。當(dāng)發(fā)送方和接收方處于同一個(gè)局域網(wǎng)時(shí),這種方式是可以的。但是如果在發(fā)送方和接收方之間存在多個(gè)路由器和速率較慢的鏈路時(shí),就有可能出現(xiàn)一些問題。一些中間路由器必須緩存分組,并有可能耗盡存儲器的空間。最
19、初的TCP在連接建立成功后會向網(wǎng)絡(luò)中發(fā)送大量的數(shù)據(jù)包,這樣很容易導(dǎo)致網(wǎng)絡(luò)中路由器緩存空間耗盡,從而發(fā)生擁塞。因此新建立的連接不能夠一開始就大量發(fā)送數(shù)據(jù)包,而只能根據(jù)網(wǎng)絡(luò)情況逐步增加每次發(fā)送的數(shù)據(jù)量,以避免上述現(xiàn)象的發(fā)生。具體來說,當(dāng)新建連接時(shí),cwnd初始化為1個(gè)最大報(bào)文段(MSS)大小,發(fā)送端開始按照擁塞窗口大小發(fā)送數(shù)據(jù),每當(dāng)有一個(gè)報(bào)文段被確認(rèn),cwnd就增加1個(gè)MSS大小。這樣cwnd的值就隨著網(wǎng)絡(luò)往返時(shí)間(Round Trip Time,RTT)呈指數(shù)級增長,事實(shí)上,慢啟動的速度一點(diǎn)也不慢,只是它的起點(diǎn)比較低一點(diǎn)而已。我們可以簡單計(jì)算下:開始 - cwnd = 1經(jīng)過1個(gè)RTT后 - c
20、wnd = 2*1 = 2經(jīng)過2個(gè)RTT后 - cwnd = 2*2= 4經(jīng)過3個(gè)RTT后 - cwnd = 4*2 = 8如果帶寬為W,那么經(jīng)過RTT*log2W時(shí)間就可以占滿帶寬。 圖3.1 慢開始演示(2) 擁塞避免階段(congestion avoidance):當(dāng)發(fā)現(xiàn)超時(shí)或收到3個(gè)相同ACK確認(rèn)幀時(shí),則表示有丟包事件,此時(shí)網(wǎng)絡(luò)已發(fā)生擁塞現(xiàn)象,此時(shí)要進(jìn)行相應(yīng)的擁塞控制(圖3.2所示)。將慢啟動閾值設(shè)置為當(dāng)前擁塞窗口的一半;如檢測到超時(shí),擁塞窗口就被置為l。如果擁塞窗口小于或等于慢啟動閾值,TCP重新進(jìn)人慢啟動階段;如果擁塞窗口大于慢啟動閾值,TCP執(zhí)行擁塞避免算法。 圖3.2 擁塞控制
21、過程從慢啟動可以看到,cwnd可以很快的增長上來,從而最大程度利用網(wǎng)絡(luò)帶寬資源,但是cwnd不能一直這樣無限增長下去,一定需要某個(gè)限制。TCP使用了一個(gè)叫慢啟動門限(ssthresh)的變量,當(dāng)cwnd超過該值后,慢啟動過程結(jié)束,進(jìn)入擁塞避免階段。對于大多數(shù)TCP實(shí)現(xiàn)來說,ssthresh的值是65536(同樣以字節(jié)計(jì)算)。擁塞避免的主要思想是加法增大,也就是cwnd的值不再指數(shù)級往上升,開始加法增加。此時(shí)當(dāng)窗口中所有的報(bào)文段都被確認(rèn)時(shí),cwnd的大小加1,cwnd的值就隨著RTT開始線性增加,這樣就可以避免增長過快導(dǎo)致網(wǎng)絡(luò)擁塞,慢慢的增加調(diào)整到網(wǎng)絡(luò)的最佳值。上面討論的兩個(gè)機(jī)制都是沒有檢測到擁
22、塞的情況下的行為,那么當(dāng)發(fā)現(xiàn)擁塞了cwnd應(yīng)該這樣去調(diào)整。首先來看TCP是如何確定網(wǎng)絡(luò)進(jìn)入了擁塞狀態(tài)的,TCP認(rèn)為網(wǎng)絡(luò)擁塞的主要依據(jù)是它重傳了一個(gè)報(bào)文段。上面提到過,TCP對每一個(gè)報(bào)文段都有一個(gè)定時(shí)器,稱為重傳定時(shí)器(RTO),當(dāng)RTO超時(shí)且還沒有得到數(shù)據(jù)確認(rèn),那么TCP就會對該報(bào)文段進(jìn)行重傳,當(dāng)發(fā)生超時(shí)時(shí),那么出現(xiàn)擁塞的可能性就很大,某個(gè)報(bào)文段可能在網(wǎng)絡(luò)中某處丟失,并且后續(xù)的報(bào)文段也沒有了消息,在這種情況下,TCP反應(yīng)比較“強(qiáng)烈”:1.把ssthresh降低為cwnd值的一半。2.把cwnd重新設(shè)置為1。3.重新進(jìn)入慢啟動過程。從整體上來講,TCP擁塞控制窗口變化的原則是AIMD原則,即加法
23、增大、乘法減小??梢钥闯鯰CP的該原則可以較好地保證流之間的公平性,因?yàn)橐坏┏霈F(xiàn)丟包,那么立即減半退避,可以給其他新建的流留有足夠的空間,從而保證整個(gè)的公平性。其實(shí)TCP還有一種情況會進(jìn)行重傳:那就是收到3個(gè)相同的ACK。TCP在收到亂序到達(dá)包時(shí)就會立即發(fā)送ACK,TCP利用3個(gè)相同的ACK來判定數(shù)據(jù)包的丟失,此時(shí)進(jìn)行快速重傳,快速重傳做的事情有:1.把ssthresh設(shè)置為cwnd的一半2.把cwnd再設(shè)置為ssthresh的值(具體實(shí)現(xiàn)有些為ssthresh+3)3.重新進(jìn)入擁塞避免階段(3) 快速重傳階段(fast retransmit):當(dāng)TCP源端收到到三個(gè)相同的ACK副本時(shí),即認(rèn)為
24、有數(shù)據(jù)包丟失,則源端重傳丟失的數(shù)據(jù)包,而不必等待RTO超時(shí)。同時(shí)將ssthresh設(shè)置為當(dāng)前cwnd值的一半,并且將cwnd減為原先的一半(如圖3.3所示)。8 圖3.3快速重傳階段演示(4) 快速恢復(fù)階段(fast recovery) :當(dāng)舊數(shù)據(jù)包離開網(wǎng)絡(luò)后,才能發(fā)送新數(shù)據(jù)包進(jìn)入網(wǎng)絡(luò),即同一時(shí)刻在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)包數(shù)量是恒定的。如果發(fā)送方收到一個(gè)重復(fù)的ACK,則認(rèn)為已經(jīng)有一個(gè)數(shù)據(jù)包離開了網(wǎng)絡(luò),于是將擁塞窗口加1。3.1.4 性能要求首先要求程序要完全可靠,可以應(yīng)付種種由于系統(tǒng)問題產(chǎn)生的錯誤。要求提前設(shè)想到類似的盡可能多的可能發(fā)生的事件,做出相應(yīng)的應(yīng)對措施,并向用戶提交簡單易懂清晰明白的提示信
25、息。程序要有良好的容錯性,當(dāng)用戶進(jìn)行非法操作時(shí)或者系統(tǒng)本身出現(xiàn)問題時(shí)要能以最好的方式退出程序,避免發(fā)生程序假死現(xiàn)象。開發(fā)文檔要有好的易理解性,如果系統(tǒng)又要交由別人接手開發(fā),或者自己由于種種原因需要進(jìn)行二次開發(fā),那么要保證以后能夠清晰的理解整個(gè)系統(tǒng)的設(shè)計(jì)思路以及實(shí)現(xiàn)細(xì)節(jié)。要求程序?qū)λ\(yùn)行之系統(tǒng)的硬件條件要求盡可能低,運(yùn)行時(shí)內(nèi)存占用盡可能小,響應(yīng)速度要盡可能快。并且不發(fā)生內(nèi)存泄漏之類影響系統(tǒng)運(yùn)行的錯誤事件。并且要求易于維護(hù)及擴(kuò)展。所以應(yīng)該采用模塊化開發(fā),各個(gè)模塊之間不要有太多的聯(lián)系,以免維護(hù)困難。3.2 可行性研究3.2.1 成本可行性分析因?yàn)楸拒浖蛔鲩_發(fā)學(xué)習(xí)使用,所以暫且不考慮經(jīng)濟(jì)成本及盈利問
26、題。3.2.2 技術(shù)可行性分析(1) 首先搭建畢業(yè)設(shè)計(jì)所需要的軟件平臺,軟件使用的VisualStuidio2008,做好畢業(yè)設(shè)計(jì)的前期準(zhǔn)備。(2) 進(jìn)行開發(fā)前的準(zhǔn)備,做好需求分析,熟悉VisualStuidio2008的功能以便開發(fā),同時(shí)對課題進(jìn)行深入的了解。VisualStuidio2008是一款非常強(qiáng)大的開發(fā)軟件,滿足了我做畢業(yè)設(shè)計(jì)所需要的一切功能,因此我選擇了VisualStuidio2008做為我的畢業(yè)設(shè)計(jì)的開發(fā)軟件。(3) 此課題在技術(shù)上沒有什么大的困難,而且有功能強(qiáng)大的VisualStuidio2008做為平臺,所以這個(gè)課題在技術(shù)上是完全可以實(shí)施的。4 相關(guān)開發(fā)技術(shù)的原理性說明4
27、.1 VisualStuidio2008相關(guān)簡介Visual Studio 是微軟公司推出的開發(fā)環(huán)境,也是目前最流行的 Windows 平臺應(yīng)用程序開發(fā)環(huán)境。目前已經(jīng)開發(fā)到 9.0 版本,也就是 Visual Studio 2008。 Visual Studio 可以用來創(chuàng)建 Windows 平臺下的 Windows 應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和 Office 插件。Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代開發(fā)工具,代號“Orcas”,是對Visual Stud
28、io 2005一次及時(shí)、全面的升級。Visual Studio 2008引入了250多個(gè)新特性,整合了對象、關(guān)系型數(shù)據(jù)、XML的訪問方式,語言更加簡潔。使用Visual Studio 2008可以高效開發(fā)Windows應(yīng)用。設(shè)計(jì)器中可以實(shí)時(shí)反映變更,XAML中智能感知功能可以提高開發(fā)效率。同時(shí)Visual Studio 2008支持項(xiàng)目模板、調(diào)試器和部署程序。Visual Studio 2008可以高效開發(fā)Web應(yīng)用,集成了ASP.NET AJAX 1.0,包含ASP.NET AJAX項(xiàng)目模板,它還可以高效開發(fā)Office應(yīng)用和Mobile應(yīng)用。Visual Studio 2008 提供了高級
29、開發(fā)工具、調(diào)試功能、數(shù)據(jù)庫功能和創(chuàng)新功能,幫助在各種平臺上快速創(chuàng)建當(dāng)前最先進(jìn)的應(yīng)用程序。Visual Studio 2008 包括各種增強(qiáng)功能,例如可視化設(shè)計(jì)器(使用 .NET Framework 3.5 加速開發(fā))、對 Web 開發(fā)工具的大量改進(jìn),以及能夠加速開發(fā)和處理所有類型數(shù)據(jù)的語言增強(qiáng)功能。Visual Studio 2008 為開發(fā)人員提供了所有相關(guān)的工具和框架支持,幫助創(chuàng)建引人注目的、令人印象深刻并支持 AJAX 的 Web 應(yīng)用程序。開發(fā)人員能夠利用這些豐富的客戶端和服務(wù)器端框架輕松構(gòu)建以客戶為中心的 Web 應(yīng)用程序,這些應(yīng)用程序可以集成任何后端數(shù)據(jù)提供程序、在任何當(dāng)前瀏覽器內(nèi)
30、運(yùn)行并完全訪問 ASP.NET 應(yīng)用程序服務(wù)和 Microsoft 平臺。Visual Studio 2008 在三個(gè)方面為開發(fā)人員提供了關(guān)鍵改進(jìn):1. 快速的應(yīng)用程序開發(fā)為了幫助開發(fā)人員迅速創(chuàng)建先進(jìn)的軟件,Visual Studio 2008 提供了改進(jìn)的語言和數(shù)據(jù)功能,例如語言集成的查詢 (LINQ),各個(gè)編程人員可以利用這些功能更輕松地構(gòu)建解決方案以分析和處理信息。Visual Studio 2008 還使開發(fā)人員能夠從同一開發(fā)環(huán)境內(nèi)創(chuàng)建面向多個(gè) .NET Framework 版本的應(yīng)用程序。開發(fā)人員能夠構(gòu)建面向 .NET Framework 2.0、3.0 或 3.5 的應(yīng)用程序,意味
31、他們可以在同一環(huán)境中支持各種各樣的項(xiàng)目。2. 突破性的用戶體驗(yàn)Visual Studio 2008 為開發(fā)人員提供了在最新平臺上加速創(chuàng)建緊密聯(lián)系的應(yīng)用程序的新工具,這些平臺包括 Web、Windows Vista、Office 2007、SQL Server 2008 和 Windows Server 2008。對于 Web,ASP.NET AJAX 及其他新技術(shù)使開發(fā)人員能夠迅速創(chuàng)建更高效、交互式更強(qiáng)和更個(gè)性化的新一代 Web 體驗(yàn)。3. 高效的團(tuán)隊(duì)協(xié)作Visual Studio 2008 提供了幫助開發(fā)團(tuán)隊(duì)改進(jìn)協(xié)作的擴(kuò)展的和改進(jìn)的服務(wù)項(xiàng)目,包括幫助將數(shù)據(jù)庫專業(yè)人員和圖形設(shè)計(jì)人員加入到開發(fā)流
32、程的工具。4.2 TCP/IP協(xié)議和擁塞控制簡介TCP/IP協(xié)議實(shí)際上就是在物理網(wǎng)上的一組完整的網(wǎng)絡(luò)協(xié)議。其中TCP是提供傳輸層服務(wù),而IP則是提供網(wǎng)絡(luò)層服務(wù)。TCP/IP主要包括以下協(xié)議:IP:網(wǎng)間協(xié)議(Internet Protocol),負(fù)責(zé)主機(jī)間數(shù)據(jù)的路由和網(wǎng)絡(luò)上數(shù)據(jù)的存儲。同時(shí)為ICMP,TCP,UDP提供分組發(fā)送服務(wù)。用戶進(jìn)程通常不需要涉及這一層。ICMP:網(wǎng)間報(bào)文控制協(xié)議(Internet Control Message Protocol),此協(xié)議處理網(wǎng)關(guān)和主機(jī)的差錯和傳送控制。TCP: 傳輸控制協(xié)議(Transmission Control Protocol),這是一種提供給用
33、戶進(jìn)程的可靠的全雙工字節(jié)流面向連接的協(xié)議。它要為用戶進(jìn)程提供虛電路服務(wù),并為數(shù)據(jù)可靠傳輸建立檢查。TCP/IP協(xié)議的核心部分是傳輸層協(xié)議(TCP、UDP),網(wǎng)絡(luò)層協(xié)議(IP)和物理接口層,這三層通常是在操作系統(tǒng)內(nèi)核中實(shí)現(xiàn)。因此用戶一般不涉及。編程時(shí),編程界面有兩種形式:一、是由內(nèi)核直接提供的系統(tǒng)調(diào)用;二、使用以庫函數(shù)方式提供的各種函數(shù)。前者為核內(nèi)實(shí)現(xiàn),后者為核外實(shí)現(xiàn)。用戶服務(wù)要通過核外的應(yīng)用程序才能實(shí)現(xiàn),所以要使用套接字(socket)來實(shí)現(xiàn)。TCP提供面向連接的服務(wù)。TCP 不提供廣播或多播服務(wù)。由于 TCP 要提供可靠的、面向連接的運(yùn)輸服務(wù),因此不可避免地增加了許多的開銷。這不僅使協(xié)議數(shù)據(jù)
34、單元的首部增大很多,還要占用許多的處理機(jī)資源。 因?yàn)樵诒驹O(shè)計(jì)中主要是完成TCP的擁塞控制所以下面主要介紹一下TCP的擁塞控制的一般原理和它所起到的作用1.在某段時(shí)間,若對網(wǎng)絡(luò)中某資源的需求超過了該資源所能提供的可用部分,網(wǎng)絡(luò)的性能就要變壞產(chǎn)生擁塞(congestion)。2.出現(xiàn)資源擁塞的條件: 對資源需求的總和 可用資源 3.若網(wǎng)絡(luò)中有許多資源同時(shí)產(chǎn)生擁塞,網(wǎng)絡(luò)的性能就要明顯變壞,整個(gè)網(wǎng)絡(luò)的吞吐量將隨輸入負(fù)荷的增大而下降。4.擁塞控制所起到的作用如圖4.1所示 圖4.1 擁塞控制所以到的作用擁塞控制是很難設(shè)計(jì)的,因?yàn)樗且粋€(gè)動態(tài)的(而不是靜態(tài)的)問題。當(dāng)前網(wǎng)絡(luò)正朝著高速化的方向發(fā)展,這很容易
35、出現(xiàn)緩存不夠大而造成分組的丟失。但分組的丟失是網(wǎng)絡(luò)發(fā)生擁塞的征兆而不是原因。在許多情況下,甚至正是擁塞控制本身成為引起網(wǎng)絡(luò)性能惡化甚至發(fā)生死鎖的原因。這點(diǎn)應(yīng)特別引起重視。5.當(dāng)網(wǎng)絡(luò)出現(xiàn)擁塞時(shí),無論在慢開始階段還是在擁塞避免階段,只要發(fā)送方判斷網(wǎng)絡(luò)出現(xiàn)擁塞(其根據(jù)就是沒有按時(shí)收到確認(rèn)),就要把慢開始門限 ssthresh 設(shè)置為出現(xiàn)擁塞時(shí)的發(fā)送方窗口值的一半(但不能小于2)。然后把擁塞窗口 cwnd 重新設(shè)置為 1,執(zhí)行慢開始算法如圖4.2所示。這樣做的目的就是要迅速減少主機(jī)發(fā)送到網(wǎng)絡(luò)中的分組數(shù),使得發(fā)生擁塞的路由器有足夠時(shí)間把隊(duì)列中積壓的分組處理完畢。6.當(dāng)發(fā)送端收到連續(xù)三個(gè)重復(fù)的確認(rèn)時(shí),就執(zhí)
36、行“乘法減小”算法,把慢開始門限 ssthresh 減半。但接下去不執(zhí)行慢開始算法。 由于發(fā)送方現(xiàn)在認(rèn)為網(wǎng)絡(luò)很可能沒有發(fā)生擁塞,因此現(xiàn)在不執(zhí)行慢開始算法,即擁塞窗口 cwnd 現(xiàn)在不設(shè)置為 1,而是設(shè)置為慢開始門限 ssthresh 減半后的數(shù)值,然后開始執(zhí)行擁塞避免算法(“加法增大”),使擁塞窗口緩慢地線性增大?!?】 圖4.2擁塞控制整個(gè)過程4.3 C#簡介及特點(diǎn)4.3.1 C#簡介C#是一種安全的、穩(wěn)定的、簡單的、優(yōu)雅的,由C和C+衍生出來的面向?qū)ο蟮木幊陶Z言。它在繼承C和C+強(qiáng)大功能的同時(shí)去掉了一些它們的復(fù)雜特性(例如沒有宏和模版,不允許多重繼承)。C#綜合了VB簡單的可視化操作和C+
37、的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語言,并且C#成為ECMA與ISO標(biāo)準(zhǔn)規(guī)范。C#看似基于C+寫成,但又融入其它語言如Pascal、Java、VB等。 微軟C#語言定義主要是從C和C+繼承而來的,而且語言中的許多元素也反映了這一點(diǎn)。C#在設(shè)計(jì)者從C+繼承的可選選項(xiàng)方面比Java要廣泛一些(比如說struts),它還增加了自己新的特點(diǎn)(比方說源代碼版本定義)。但它還太不成熟,不可能擠垮Java。C#還需要進(jìn)化成一種開發(fā)者能夠接受和采用的語言。而微軟當(dāng)前為它的這種新語言大造聲勢也是值得注意的。目前大家的反應(yīng)是:“這是對J
38、ava的反擊?!?C#更像Java一些,雖然微軟在這個(gè)問題上保持沉默.這也是意料中的事情,我覺得,因?yàn)镴ava近來很成功而使用Java的公司都報(bào)告說它們在生產(chǎn)效率上比C+獲得了提高。4.3.2 C#與C+、JAVA的區(qū)別C#是微軟公司在去年六月發(fā)布的一種新的編程語言,并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承,界面,與Java幾乎同樣的語法,和編譯成中間代碼再運(yùn)行的過程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對象模型)是直接集成
39、的,而且它是微軟公司.NET windows網(wǎng)絡(luò)框架的主角。微軟C#語言定義主要是從C和C+繼承而來的,而且語言中的許多元素也反映了這一點(diǎn)。C#在設(shè)計(jì)者從C+繼承的可選選項(xiàng)方面比Java要廣泛一些(比如說structs),它還增加了自己新的特點(diǎn)(比方說源代碼版本定義)。但它還太不成熟,不可能擠垮Java。C#還需要進(jìn)化成一種開發(fā)者能夠接受和采用的語言。而微軟當(dāng)前為它的這種新語言大造聲勢也是值得注意的。目前大家的反應(yīng)是:“這是對Java的反擊”。4.3.3 C#的前途這世界上沒有什么比編程工具更加牽動程序員的心。VC、VB、DELPHI、JAVA這些耀眼的名字不僅占據(jù)了程序員的生活,而且似乎已經(jīng)
40、成為了某種信仰。可是,伴隨著新世紀(jì)的腳步,這些信仰又一次遭遇了重大的挑戰(zhàn)。如果拋開一切非技術(shù)方面的因素,C# 無疑是這個(gè)星球上有史以來最好的編程語言,它幾乎集中了所有關(guān)于軟件開發(fā)和軟件工程研究的最新成果。面向?qū)ο?、類型安全、組件技術(shù)、自動內(nèi)存管理、跨平臺異常處理、版本控制、代碼安全管理你不可能在另外的一種語言中找到所有這些特性。盡管像很多人注意到的一樣,當(dāng)我羅列上述特性時(shí),總是讓人想到JAVA,然而C# 確實(shí)走得更遠(yuǎn)。但是,C# 也有弱點(diǎn)。首先,在一些版本較舊的Windows平臺上,C# 的程序還不能運(yùn)行,因?yàn)镃# 程序需要 .NET運(yùn)行庫作為基礎(chǔ),而 .NET運(yùn)行庫作為現(xiàn)在的的Windows
41、(XP及以后版本)的一部分發(fā)行, Windows Me 和 Windows 2000用戶只能以Service Pack的形式安裝使用。其次,C# 能夠使用的組件或庫還只有 .NET 運(yùn)行庫等很少的選擇,沒有豐富的第三方軟件庫可用,這需要有一個(gè)過程,同時(shí)各軟件開發(fā)商的支持也很重要。第三,JAVA的成功因素里有一些是反微軟陣營的吹捧,雖然“只寫一次,到處運(yùn)行”只是一句口號,但畢竟已經(jīng)是一種成熟的技術(shù)。而C# 的鼓吹者目前只有名聲不佳的微軟,且只能運(yùn)行在Windows上。實(shí)際上這兩種語言都不是不可替代的,理智的說,對軟件開發(fā)商而言,什么用的最熟什么就是最好的工具。尤其對C+的使用者,C# 沒有帶來任
42、何新東西,因?yàn)?NET運(yùn)行庫在C+中也可以使用,沒有要換的絕對的理由。 綜上所述,我個(gè)人認(rèn)為,近幾年,C# 將不可避免地崛起,在Windows平臺上成為主角,而JAVA將在UNIX、Linux等平臺上成為霸主,C+ 將繼續(xù)在系統(tǒng)軟件領(lǐng)域大展拳腳。非常有意思的是,這些語言的語法極其接近,因?yàn)镴AVA和C# 都是由C+發(fā)展而來的。其他的開發(fā)工具當(dāng)然還會在相當(dāng)長的時(shí)間里繼續(xù)他們的旅程,不過在市場份額上,將不可避免地受到?jīng)_擊。5系統(tǒng)功能模塊分析5.1主框架具體功能為了更好的把TCP協(xié)議中的Reno擁塞控制展現(xiàn)出來,需要有一個(gè)優(yōu)美的窗口,在窗口中實(shí)現(xiàn)擁塞控制的各個(gè)階段的可視化,然后有幾個(gè)按鈕控制整個(gè)演示
43、過程的開始,停止,暫停,繼續(xù),使得動態(tài)演示更加的完美,在演示的同時(shí)要在演示窗的旁邊有同步的文字解釋,使得整個(gè)過程中的每一個(gè)步驟更加容易理解,這就是本課題的總體設(shè)計(jì)結(jié)構(gòu)和目的。本設(shè)計(jì)主要由以下幾大部分組成:慢開始部分,擁塞避免部分,實(shí)現(xiàn)兩部分的算法大體一致。慢開始部分由演示部分,控制按鈕和文字解說三個(gè)部分組成,三個(gè)部分相互聯(lián)系構(gòu)成一個(gè)有機(jī)的整體,給TCP協(xié)議的Reno擁塞控制的可視化一個(gè)完美的詮釋。5.2各功能模塊詳細(xì)設(shè)計(jì)本次畢業(yè)設(shè)計(jì)主要要實(shí)現(xiàn)的功能就是使TCP Reno擁塞控制實(shí)現(xiàn)可視化,現(xiàn)在對要實(shí)現(xiàn)的幾個(gè)功能模塊和詳細(xì)的設(shè)計(jì)理念進(jìn)行系統(tǒng)的分析。首先要做的就是在窗口中實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收,因?yàn)?/p>
44、不是做的Flash,要以程序來實(shí)現(xiàn)數(shù)據(jù)包的來回傳送,所以就要用函數(shù)不斷的改變數(shù)據(jù)包的坐標(biāo)來實(shí)現(xiàn)數(shù)據(jù)包的滑動,但是同時(shí)要控制數(shù)據(jù)包的停止,在數(shù)據(jù)包發(fā)送到接收端消失后,要讓其停止而不是在隱藏后繼續(xù)滑動,這就要用一個(gè)函數(shù)來實(shí)現(xiàn),在后面程序的分析時(shí)再做具體的分析。這其中的具體實(shí)現(xiàn)就是當(dāng)傳送輪次一發(fā)送出數(shù)據(jù)M1在接收方接收到數(shù)據(jù)包的同時(shí),數(shù)據(jù)M1停止,同時(shí)接收方發(fā)送出確認(rèn)M1返回發(fā)送方,第一個(gè)傳輸輪次結(jié)束。在整個(gè)傳輸過程中數(shù)據(jù)M1和確認(rèn)M1都不僅僅是從顯示傳送到隱藏,在隱藏后還繼續(xù)滑動,而是在從顯示到隱藏的同時(shí)就已經(jīng)停止滑動,這是為了方便程序在后面做進(jìn)一步完善而做好的準(zhǔn)備。其次是控制按鈕的設(shè)計(jì),簡單的來
45、說控制按鈕由開始,停止,暫停,繼續(xù)四個(gè)按鈕組成,開始和停止按鈕組成一個(gè)按鈕,開始按鈕按下后數(shù)據(jù)開始傳送,此時(shí)開始按鈕自動變成停止按鈕,按下停止按鈕,數(shù)據(jù)M1回到初始位置,按鈕自動變?yōu)殚_始按鈕。暫停和繼續(xù)按鈕組成一個(gè)按鈕,未按動開始按鈕前暫停按鈕和繼續(xù)按鈕為未啟動狀態(tài)顯示為灰色,當(dāng)開始按鈕按下后暫停按鈕自動啟動,按下暫停按鈕后暫停按鈕自動轉(zhuǎn)化成繼續(xù)按鈕,同時(shí)數(shù)據(jù)傳送定格,按下開始按鈕后,開始按鈕自動轉(zhuǎn)化為暫停按鈕,同時(shí)數(shù)據(jù)繼續(xù)傳送,這就是幾個(gè)按鈕的狀態(tài)和功能。最后就是文字同步演示窗口,在數(shù)據(jù)開始傳送后下面的文字同步演示窗口啟動并對數(shù)據(jù)傳送進(jìn)行同步的傳送介紹,當(dāng)數(shù)據(jù)M1開始有發(fā)送方發(fā)送后文字同步演
46、示窗口將對此作出解釋即“輪次一,數(shù)據(jù)M1開始由發(fā)送方開始傳送”,當(dāng)數(shù)據(jù)M1由接收方接受到后確認(rèn)M1開始返回,文字同步演示窗口同樣會作出解釋“輪次一,確認(rèn)M1開始由接收方返回到發(fā)送方”。由于是文字同步演示,所以當(dāng)暫停和開始按鈕按下后文字同步演示窗口會相應(yīng)的暫停和開始,這也是程序完善性的一個(gè)基本的體現(xiàn)。當(dāng)停止按鈕按下后文字同步演示窗口的的所有解釋文字全部清空進(jìn)入到下一輪的數(shù)據(jù)傳送演示狀態(tài)。這就是整個(gè)TCP Reno擁塞控制可視化的過程,整個(gè)過程將全部由C#語言實(shí)現(xiàn),程序簡潔嚴(yán)密,幾乎考慮到了所有的漏洞,使得程序盡善盡美。 6詳細(xì)設(shè)計(jì)及編碼實(shí)現(xiàn)6.1 主框架詳細(xì)設(shè)計(jì)為了更好的把TCP協(xié)議中的Reno
47、擁塞控制展現(xiàn)出來,需要有一個(gè)優(yōu)美的窗口,在窗口中實(shí)現(xiàn)擁塞控制的各個(gè)階段的可視化,然后有幾個(gè)按鈕控制整個(gè)演示過程的開始,停止,暫停,繼續(xù),使得動態(tài)演示更加的完美,同時(shí)在演示的同時(shí)要在演示窗的旁邊有同步的文字解釋,使得整個(gè)過程中的每一個(gè)步驟更加容易理解,這就是本課題的總體設(shè)計(jì)結(jié)構(gòu)和目的。本設(shè)計(jì)主要由以下幾大部分組成:慢開始部分,擁塞避免部分,實(shí)現(xiàn)兩部分的算法大體一致。慢開始部分由演示部分,控制按鈕和文字解說三個(gè)部分組成,三個(gè)部分相互聯(lián)系構(gòu)成一個(gè)有機(jī)的整體,給TCP協(xié)議的Reno擁塞控制的可視化一個(gè)完美的詮釋。6.2模塊的詳細(xì)設(shè)計(jì)6.2.1 程序代碼using System;using System
48、.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace SlowStart public partial class Form1 : Form public Form1() InitializeComponent(); textBox1.Text = ; textBox2.Text = ; private Point Left_s
49、= new Point(140, 135); private Point Right_e = new Point(530, 135); private Point Right_s = new Point(500, 190); private Point Left_e = new Point(120,190); private int Step = 0; private void timer1_Tick(object sender, EventArgs e) switch (Step) case 0: if(pictureBox_s.Location=Left_s) textBox1.Text += 輪次1-cwnd=1發(fā)送方開始發(fā)送數(shù)據(jù)M1rn; if (pictureBox_s.Location = Right_e) pictureBox_s.Visible = false; Step = 1; pictureBox_s.Location = Left_s; else pictureBox_s.Visible = true; pictureBox_s.Location = new Point(pictureBox_s
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年農(nóng)業(yè)運(yùn)輸機(jī)械項(xiàng)目提案報(bào)告模板
- 未來職業(yè)研究員崗位面試問題及答案
- 湖南省洞口縣2025屆高一下化學(xué)期末經(jīng)典模擬試題含解析
- 2025屆云南省富源縣第六中學(xué)高二下化學(xué)期末達(dá)標(biāo)檢測試題含解析
- 上海市普通高中2025屆高一化學(xué)第二學(xué)期期末考試試題含解析
- 制造行業(yè)倉儲管理辦法
- 保健食品衛(wèi)生管理辦法
- 內(nèi)部退養(yǎng)員工管理辦法
- 大數(shù)據(jù)時(shí)代高職院校財(cái)
- 全球發(fā)展觀:世界經(jīng)濟(jì)學(xué)科話語體系的構(gòu)建原理與路徑
- GB/T 307.4-2017滾動軸承推力軸承 產(chǎn)品幾何技術(shù)規(guī)范(GPS)和公差值
- GB 29415-2013耐火電纜槽盒
- 《密碼法》培訓(xùn)只是講座PPT課件(帶內(nèi)容)
- 建筑工程文件歸檔管理明細(xì)表
- 如何解讀血常規(guī)報(bào)告
- 區(qū)域消防安全風(fēng)險(xiǎn)評估規(guī)程DB50-T 1114-2021
- 免疫調(diào)節(jié)治療在腦卒中的運(yùn)用課件
- 機(jī)關(guān)檔案管理工作培訓(xùn)PPT課件
- 25T汽車吊檢驗(yàn)報(bào)告
- 變頻空調(diào)中的永磁電機(jī)電感分析
- 高考常考語法填空詞性轉(zhuǎn)換匯總
評論
0/150
提交評論