版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
奸真機(jī)網(wǎng)珞實球能導(dǎo)布
計算機(jī)網(wǎng)絡(luò)課程組編寫
專業(yè)______________________
班級______________________
學(xué)號______________________
姓名______________________
指導(dǎo)教師______________________
安徽工業(yè)大學(xué)計算機(jī)學(xué)院
二。一二年九月
目錄
實驗總體說明1
拓?fù)浣Y(jié)構(gòu)說明2
實驗一以太網(wǎng)幀的構(gòu)成6
實驗二地址解析協(xié)議ARP24
實驗三網(wǎng)際協(xié)議IP31
實驗四路由信息協(xié)議RIP66
實驗五開放式最短路徑優(yōu)先協(xié)議OSPF82
實驗六傳輸控制協(xié)議TCP98
實驗七郵件協(xié)議SMTP、POP3、IMAP112
實驗八超文本傳輸協(xié)議HTTP130
實驗九網(wǎng)絡(luò)程序設(shè)計1:聊天工具139
實驗十網(wǎng)絡(luò)程序設(shè)計2:文件傳輸工具143
實驗十一網(wǎng)絡(luò)程序設(shè)計3:郵件收發(fā)器148
實驗十二綜合試驗151
實驗總體說明
1.實驗總體目標(biāo)
配合計算機(jī)網(wǎng)絡(luò)課程的教學(xué),加強(qiáng)學(xué)生對計算機(jī)網(wǎng)絡(luò)知識(TCP/IP協(xié)議)的深刻理
解,培養(yǎng)學(xué)生的實際操作能力.
2.實驗課時分配
序號實驗項目學(xué)時試驗類型
實驗一以太網(wǎng)幀的構(gòu)成2驗證性
實驗二IP協(xié)議2驗證性
實驗三路由信息協(xié)議R1P2驗證性
實驗四開放式最短路徑優(yōu)先協(xié)議OSPF2驗證性
實驗五傳輸控制協(xié)議TCP2驗證性
實驗六郵件協(xié)議SMTP、POP32驗證性
實驗七超文本傳輸協(xié)議HTTP2設(shè)計性
實驗八網(wǎng)絡(luò)程序設(shè)計1:聊天工具2設(shè)計性
實驗九網(wǎng)絡(luò)程序設(shè)計2:文件傳輸工具2設(shè)計性
實驗十網(wǎng)絡(luò)程序設(shè)計3:郵件收發(fā)器2設(shè)計性
實驗十一綜合試驗4綜合性
由于課時限制以及相關(guān)專業(yè)的要求不同,上面所列試驗項目由任課教師根據(jù)課程要求
自由選定。
3.實驗環(huán)境
計算機(jī)網(wǎng)絡(luò)協(xié)議仿真實驗室:
實驗環(huán)境:網(wǎng)絡(luò)協(xié)議仿真教學(xué)系統(tǒng)(通用版)一套
開發(fā)工具:VC++
硬件設(shè)備:服務(wù)器,中心控制設(shè)備,組控設(shè)備,PC機(jī)若干臺
操作系統(tǒng):Windows2003服務(wù)器版
4.實驗總體要求
?按照各項實驗內(nèi)容做實驗,記錄各種數(shù)據(jù)包信息,包括操作、觀察、記錄、分析,
通過操作和觀察獲得直觀印象,從獲得的數(shù)據(jù)中分析網(wǎng)絡(luò)協(xié)議的工作原理;
?每項實驗均提交實驗報告,實驗報告的內(nèi)容可參照實驗的具體要求,但總體上應(yīng)包
括以下內(nèi)容:實驗準(zhǔn)備情況,實驗記錄,實驗結(jié)果分析,算法描述,程序段,實驗
過程中遇到的問題以及對思考問題的解答等,實驗?zāi)康?、實驗原理、實驗步驟不需
要寫入實驗報告中。
拓?fù)浣Y(jié)構(gòu)說明
拓?fù)浣Y(jié)構(gòu)1
主
控
中
心
平
臺
組交換模塊
控
設(shè)
備共享模塊共享模塊共享模塊
一
主機(jī)A主機(jī)B主機(jī)C主機(jī)D主機(jī)E主機(jī)F
說明:IP地址分配規(guī)則為主機(jī)使用原有1P,保證所有主機(jī)在同一網(wǎng)段內(nèi)。
拓?fù)浣Y(jié)構(gòu)2
說明:
?主機(jī)A、C、D的默認(rèn)網(wǎng)關(guān)是;主機(jī)E、F的默認(rèn)網(wǎng)關(guān)是。
?雙網(wǎng)卡主機(jī),左端物理接口為物理接口1,右端物理接口為物理接口2。
拓?fù)浣Y(jié)構(gòu)3
172.16.0.1/24192.168.0.2/24192.168.0.1/244口172.16.1.1/24
主機(jī)B(路由器)主機(jī)E(路由器)
主機(jī)A主機(jī)C主機(jī)D主機(jī)F
172.16.0.2/24192.168.0.3/24192.168.0.4/24172.16.1.2/24
說明:
?主機(jī)A的默認(rèn)網(wǎng)關(guān)為;主機(jī)C的默認(rèn)網(wǎng)關(guān)為;主機(jī)D的默
認(rèn)網(wǎng)關(guān)為;主機(jī)F的默認(rèn)網(wǎng)關(guān)為;主機(jī)B和主機(jī)E不設(shè)置默認(rèn)網(wǎng)關(guān)。
?雙網(wǎng)卡主機(jī),左端物理接口為物理接口1,右端物理接口為物理接口2。
拓?fù)浣Y(jié)構(gòu)4
主機(jī)BV(路由器)主機(jī)EV(路由器)
1.網(wǎng)絡(luò)結(jié)構(gòu)說明:
?雙網(wǎng)卡主機(jī),左端物理接口為物理接口1,右端物理接口為物理接口2。
?網(wǎng)絡(luò)結(jié)構(gòu)劃分為3個網(wǎng)段:
網(wǎng)段1:站點本地子網(wǎng)ID為FEC0:0:0:l::/64
網(wǎng)段2:站點本地子網(wǎng)ID為FEC0:0:0:2::/64
網(wǎng)段3:站點本地子網(wǎng)ID為FEC0:0:0:3::/64
?主機(jī)BV、EV做路由器使用。它們分別是主機(jī)B、主機(jī)E虛擬機(jī)下的Linux操作系統(tǒng)。
?主機(jī)A的IPv6地址的默認(rèn)網(wǎng)關(guān)是主機(jī)BV接口1的鏈路本地地址;主機(jī)C的IPv6地
址的默認(rèn)網(wǎng)關(guān)是主機(jī)BV接口2的鏈路本地地址;主機(jī)D的IPv6地址的默認(rèn)網(wǎng)關(guān)是主機(jī)BV
接口2的鏈路本地地址:主機(jī)F的IPv6地址的默認(rèn)網(wǎng)關(guān)是主機(jī)EV接口2的鏈路本地地址。
?該結(jié)構(gòu)適用于實驗一至實驗六。
2.檢測網(wǎng)絡(luò)結(jié)構(gòu)一:連接的正確性:
?按照網(wǎng)絡(luò)結(jié)構(gòu)圖連接網(wǎng)絡(luò),并使用拓?fù)潋炞C檢查連接的正確性。
■在主機(jī)A上,執(zhí)行ping命令(pingfecO:O:O:l::l),若ping不通,則交換主機(jī)BV的兩
個網(wǎng)卡的網(wǎng)線連接。
■在主機(jī)F上,執(zhí)行ping命令(pingfecO:O:O命::1),若ping不通,則交換主機(jī)EV的兩
個網(wǎng)卡的網(wǎng)線連接。
拓?fù)浣Y(jié)構(gòu)5
?主機(jī)A的默認(rèn)網(wǎng)關(guān)為;主機(jī)C的默認(rèn)網(wǎng)關(guān)為;主機(jī)F的默認(rèn)
網(wǎng)關(guān)為;主機(jī)B、D、E不設(shè)置默認(rèn)網(wǎng)關(guān)。
?雙網(wǎng)卡主機(jī),左端物理接口為物理接口1,右端物理接口為物理接口2。
實驗一以太網(wǎng)幀的構(gòu)成
【實驗?zāi)康摹?/p>
1,掌握以太網(wǎng)的報文格式
2.掌握MAC地址的作用
3.掌握MAC廣播地址的作用
4.掌握LLC幀報文格式
5.掌握協(xié)議編輯器和協(xié)議分析器的使用方法
6.掌握協(xié)議棧發(fā)送和接收以太網(wǎng)數(shù)據(jù)幀的過程
【實驗環(huán)境配置】
該實驗采用網(wǎng)絡(luò)結(jié)構(gòu)一。
【實驗原理】
OSI模型和TCP/IP協(xié)議族
1.OSI簡介
國際標(biāo)準(zhǔn)化組織(ISO)成立于1947年,它是個多國團(tuán)體,專門就一些國際標(biāo)準(zhǔn)達(dá)成
世界范圍的一致。網(wǎng)絡(luò)方面的ISO標(biāo)準(zhǔn)就是OSI(開放系統(tǒng)互連)模型。它是在20世紀(jì)70
年代后期問世的。
在不需要改變底層硬件或軟件邏輯的情況下,0SI模型使兩個不同的系統(tǒng)能夠較容易地
通信。0SI模型并不是協(xié)議,它是個靈活的、穩(wěn)健的和可互操作的模型,用來設(shè)計網(wǎng)絡(luò)體系
結(jié)構(gòu),它使得所有類型的計算機(jī)系統(tǒng)可以通信。0SI模型包括7個層次,每一層都定義了通
過網(wǎng)絡(luò)傳送信息的一些過程,如下圖所示。掌握了0SI模型的基本概念后,就有了學(xué)習(xí)數(shù)
據(jù)通信較牢固的基礎(chǔ)。
二.IEEE802參考模型
1980年2月IEEE(電氣和電子工程師協(xié)會)成立了802局域網(wǎng)標(biāo)準(zhǔn)委員會,開始了有關(guān)
局域網(wǎng)標(biāo)準(zhǔn)化的工作。IEEE802局域網(wǎng)參考模型中只定義了物理層和數(shù)據(jù)鏈路層,在模型
中較高層次,IEEE802參照OSI模型,盡可能與其相符合。IEEE標(biāo)準(zhǔn)模型與OSI模型的比
較如下圖所示:
其它上層
網(wǎng)絡(luò)層
邏輯缽路控制
媒體訪問控制
介質(zhì)訪問單元
介質(zhì)說明
IEEE標(biāo)準(zhǔn)0SI模型
圖1-3IEEE標(biāo)準(zhǔn)模型與OSI模型比較
在OSI模型中,物理層的任務(wù)是為上一層提供一個物理連接,以透明的方式傳送比特流。
而在IEEE802局域網(wǎng)參考模型中,物理層被分為上下兩個子層,分別為:
?下面的子層是對電纜介質(zhì)的說明;
?上面的子層是介質(zhì)訪問單元(MAU)。
電纜可以是各種介質(zhì),如雙絞線,同軸電纜等。MAU的主要作用是信息編碼、信號發(fā)送
和介質(zhì)處理等。
在0SI模型中,數(shù)據(jù)鏈路層的任務(wù)是把物理層轉(zhuǎn)化成可靠的鏈路,使物理層對上層(網(wǎng)
絡(luò)層)看起來好像是不產(chǎn)生差錯的。而正EE802標(biāo)準(zhǔn)的數(shù)據(jù)鏈路層被分為兩個子層:
?下面的子層是媒體訪問控制子層(MAC);
?上面的子層是邏輯鏈路控制子層(LLC)。
LLC子層的功能是實現(xiàn)有效的數(shù)據(jù)傳輸,負(fù)責(zé)數(shù)據(jù)鏈路層的流量控制和差錯控制。MAC
子層的功能是保證物理功能和邏輯功能的連續(xù)性,還把從LLC子層收到的數(shù)據(jù)組裝成幀,
并把幀交給物理層進(jìn)行編碼。
三.以太網(wǎng)簡介
IEEE802.3所支持的局域網(wǎng)標(biāo)準(zhǔn)最早是由Xerox開發(fā)的,后來通過Digital公司、Intel公
司和Xerox公司聯(lián)合擴(kuò)展為以太網(wǎng)標(biāo)準(zhǔn),符合以太網(wǎng)標(biāo)準(zhǔn)的局域網(wǎng)絡(luò)稱為以太網(wǎng)。
1.以太網(wǎng)的分類
數(shù)據(jù)速率為10Mbps的以太網(wǎng)稱為標(biāo)準(zhǔn)以太網(wǎng),數(shù)據(jù)速率為100Mbps的以太網(wǎng)稱為快速
以太網(wǎng),數(shù)據(jù)速率為1000Mbps的以太網(wǎng)稱為千兆以太網(wǎng)。目前10G以太網(wǎng)的標(biāo)準(zhǔn)也已正式
制定。
2.以太網(wǎng)的物理地址
以太網(wǎng)上的每一個主機(jī)都有自己的網(wǎng)絡(luò)接口卡(NIC)o網(wǎng)絡(luò)接口卡通常安裝在主機(jī)內(nèi)
部,并為主機(jī)提供一個6字節(jié)的物理地址,如:44-45-53-54-00-00o在遵循IEEE802標(biāo)準(zhǔn)的
以太網(wǎng)絡(luò)中,將這個物理地址稱作“MAC地址。MAC地址是惟一的,任意兩個不同的網(wǎng)絡(luò)
接口卡都具有不同的MAC地址。MAC地址中的某些位具有特殊的意義,如下圖所示:
24bitIEEEadministeredcompanyID—24bitManufacturerselectedextensionID
ccccccugccccccccccccccccxxxxxxxxxxxxxxxxxxxxxxxx1
G/L比特位l/G比特位
圖1-4以太網(wǎng)的物理地址
I/G比特位表示Individual/Group,當(dāng)1/G位為0時,地址字段表示單個站地址(單播),為1
時表示組地址,用來進(jìn)行多播。
G/L比特位表示Global/Local,當(dāng)G/L位為1時是全球管理,保證在全球沒有相同的地
址,當(dāng)為0時是本地管理,這時用戶可任意分配網(wǎng)絡(luò)上的地址。
以太網(wǎng)MAC地址可分為三類:單播地址、廣播地址和多播地址。單播地址(unicast)
是一對一的,該地址是特定主機(jī)的MAC地址;廣播地址(broadcast):廣播地址是一對全
體的,該地址為全1,指明數(shù)據(jù)幀是發(fā)送給所有主機(jī)的。多播地址(multicast):多播地址是
一對多的,指明數(shù)據(jù)幀是發(fā)送給一部分主機(jī)的。
四.以太網(wǎng)訪問模式
當(dāng)多個節(jié)點被連接到條鏈路上時,叫做多點鏈路或廣播鏈路。這時就需要一個協(xié)議來
協(xié)調(diào)鏈路的訪問,使得同一時刻只有一個節(jié)點訪問鏈路。如果發(fā)生同一時刻多個節(jié)點使用鏈
路的情況,則稱為鏈路發(fā)生了沖突。帶有沖突檢測的載波偵聽多路訪問(CSMA/CD)是這
樣一種方案。發(fā)送主機(jī)在傳輸過程中仍繼續(xù)監(jiān)聽信道,以檢測是否存在沖突。如果發(fā)生沖突,
信道上可以檢測到超過發(fā)送主機(jī)本身發(fā)送的載波信號的幅度,由此判斷出沖突的存在。一旦
檢測到?jīng)_突,就立即停止發(fā)送,并向總線上發(fā)一串阻塞信號,用以通知總線上其它各有關(guān)主
機(jī)。這樣,通道容量就不致因白白傳送已受損的幀而浪費(fèi),可以提高總線的利用率。以太網(wǎng)
使用CSMA/CD作為其訪問模式。
五.以太網(wǎng)的幀格式
1.以太網(wǎng)的MAC幀格式
以太網(wǎng)的MAC幀格式有兩種標(biāo)準(zhǔn),一種是DIXEthernetV2標(biāo)準(zhǔn),另一種是IEEE的802.3
標(biāo)準(zhǔn)。但兩種幀格式可以在同一以太網(wǎng)絡(luò)共存。兩種幀格式都具有7個域:前導(dǎo)碼、幀首定
界符、目的MAC地址、源MAC地址、協(xié)議類型或數(shù)據(jù)長度、數(shù)據(jù)、幀校驗序列。如下圖
所示:
協(xié)議類型或
前導(dǎo)碼幀首定界符目的MAC地址源MAC地址幀校驗序列
數(shù)據(jù)長度數(shù)據(jù)
(7字節(jié))(1字節(jié))(6字節(jié))(6字節(jié))(4字節(jié))
(2字節(jié))
圖1-5以太網(wǎng)的MAC幀格式
兩種格式的幀可以依據(jù)協(xié)議類型或數(shù)據(jù)長度字段的值進(jìn)行區(qū)分。如果此幀是DIXEthernet
V2標(biāo)準(zhǔn)格式幀,則協(xié)議類型或數(shù)據(jù)長度字段的值大于1536;如果此幀是IEEE802.3標(biāo)準(zhǔn)格
式的幀,則協(xié)議類型或數(shù)據(jù)長度字段的值小于1518。對DIXEthernetV2幀來說,此字段的
值代表了高層協(xié)議的類型;對IEEE802.3幀來說,它的高層協(xié)議一定是LLC,此字段的值
代表了數(shù)據(jù)的長度。
在以太網(wǎng)的MAC幀格式中,各個字段的含義如下:
?前導(dǎo)碼:這是以太網(wǎng)MAC幀的第一個域,包含了7個字節(jié)的二進(jìn)制“1”和“0”間隔的
代碼,即“10101010……10”共56位,提示接收方一個數(shù)據(jù)幀即將到來,同時使接收系統(tǒng)建
立起同步時鐘。
?幀首定界符:幀首定界符標(biāo)記了幀的開始。它是一個字節(jié)的“10101011”二進(jìn)制序列,
幀首定界符通知接收方后面所有的內(nèi)容都是數(shù)據(jù),以便接收方對數(shù)據(jù)幀進(jìn)行定位。
?目的MAC地址:目的MAC地址為6個字節(jié),標(biāo)記了數(shù)據(jù)幀下一個主機(jī)的物理地址。
如果數(shù)據(jù)包的目的地址必須從一個網(wǎng)絡(luò)穿越到另一個網(wǎng)絡(luò),那么目的MAC地址所包含的是
連接當(dāng)前網(wǎng)絡(luò)和下一個網(wǎng)絡(luò)的路由器地址。當(dāng)數(shù)據(jù)包到達(dá)目標(biāo)網(wǎng)絡(luò)后,目的MAC地址域換
成目的主機(jī)的地址。
?源MAC地址:源MAC地址也是6個字節(jié)。它包含了最后一個轉(zhuǎn)發(fā)此幀的設(shè)備的物
理地址。該設(shè)備可以是發(fā)送此數(shù)據(jù)幀的主機(jī),也可以是最近接收和轉(zhuǎn)發(fā)此數(shù)據(jù)幀的路由器。
?協(xié)議類型或數(shù)據(jù)長度:如果該字段的值小于1518,它用于定義后面數(shù)據(jù)字段的長度;
如果字段的值大于1536,它定義一個封裝在幀中的數(shù)據(jù)包的類型。
?數(shù)據(jù):它的長度范圍是從46到1500字節(jié)之間。46是以太網(wǎng)MAC幀所封裝的高層協(xié)
議數(shù)據(jù)的最小長度。如果高層協(xié)議的數(shù)據(jù)包小于46字節(jié),則填充到46字節(jié)。
?幀校驗序列:最后一個域是幀校驗序列,以太網(wǎng)采用32位冗余校驗(CRC)。校驗
范圍是除了前導(dǎo)碼、幀首定界符和幀校驗序列外的所有內(nèi)容。
2.LLC幀格式
LLC的幀格式如下圖所示:
DSAPSSAP控制UJC數(shù)據(jù)
圖1-6LLC幀格式
其中,DSAP(目的服務(wù)訪問點)和SSAP(源服務(wù)訪問點)是LLC所使用的地址,用來
標(biāo)識接收和發(fā)送數(shù)據(jù)的計算機(jī)上的用戶實體。DSAP的第一個比特是用來指明幀是為單地址
還是組地址,0表示單地址,1表示組地址。SSAP的第一個比特用來指明幀是命令幀還是
響應(yīng)幀。0表示命令幀,1表示響應(yīng)幀。
LLC定義了三種幀:信息幀(1-幀)、監(jiān)控幀(S-幀)和無編號幀(U-幀)。幀的類型可
從控制字段識別。對于信息幀和監(jiān)控幀,控制字段為2字節(jié)長,而對于無編號幀,控制字段
為1字節(jié)長。
下圖表示了LLC三類幀的控制字段的比較。
1位7位1位7位
0N(S)P/FNCR)
I-幀的控制字段
11
2位4位1位7位
位位
10SSXP/FNG0
s-幀的控制字段
11MMP/FMMM
u-幀的控制字段
圖1-7LLC三類幀的控制字段
?N(S):發(fā)送序號。
?N(R):接收序號。
?SS:監(jiān)控功能位,00表示準(zhǔn)備接收(RR);10表示未準(zhǔn)備接收(RNR):01表示拒
絕(REJ)o
?M:修正功能位。
?X:保留,設(shè)置為0。
?P/F:Poll/final位。命令LLCPDU傳輸/響應(yīng)LLCPDU傳輸。
3.LLCPDU與相鄰層的PDU之間的關(guān)系
IEEE802標(biāo)準(zhǔn)為LLC和MAC子層的幀格式作了詳細(xì)規(guī)定。下圖描述了網(wǎng)絡(luò)層PDU、
LLC子層PDU和MAC子層PDU的關(guān)系。
圖1-8LLC-PDU與相鄰層的PDU之間的關(guān)系
LLC幀(即LLC-PDU)與媒體無關(guān),而MAC(H[JMAC-PDU)則與局域網(wǎng)的媒體訪問
方式有很大關(guān)系,不同的局域網(wǎng)有不同的MAC幀格式。
4.LLC地址與MAC地址
在MAC幀的幀首中,有目的MAC地址和源MAC地址,它們都是6字節(jié)長。在LLC幀
的幀首中,則設(shè)有DSAP和SSAP,該地址是邏輯地址,表示的是數(shù)據(jù)鏈路層的不同訪問服
務(wù)點。LLC地址與MAC地址是兩個不同的概念,在局域網(wǎng)中,一個主機(jī)上的多個服務(wù)訪問
點可以利用同?條數(shù)據(jù)鏈路。從這一點可以看出,LLC子層帶有OSI網(wǎng)絡(luò)層的某些功能。
六.協(xié)議棧實現(xiàn)代碼解析
本實驗將通過對netproto_eth_student.h和netproto_eth_student.c兩個文件進(jìn)行編碼,完成
協(xié)議棧中以太網(wǎng)數(shù)據(jù)幀接收和發(fā)送的實現(xiàn)。
netproto_eth_stUdent.h文件中定義了以太網(wǎng)數(shù)據(jù)幀中“協(xié)議類型與數(shù)據(jù)長度”字段值以及以
太網(wǎng)數(shù)據(jù)幀的負(fù)載內(nèi)容、負(fù)載長度,關(guān)鍵代碼如下所示:
#definePAYLOAB_DATA"Hello,EXPcns!"
#definePAYLOAD_LEHsizeof(PAYLOAD.DATA)
#defineMAX_FAYLOAI)_LEN1024
#defineTYPELENGTH5893
這段代碼定義了3個宏,他們代表的含義如下表所示:
表1-1netproto_eth_student.h中定義的宏
宏值描述
PAYIJ3AD_DATA“Hello,World!”定義以太網(wǎng)負(fù)載數(shù)據(jù)
PAYLOADJENsizeofffAYLOAD-DATA)定義以太網(wǎng)負(fù)載數(shù)據(jù)長度
定義以太網(wǎng)怖中的“協(xié)議類型或數(shù)據(jù)長度”
TYPE_LENGTM5893
字段的值
在實驗的編碼過程中,應(yīng)該使用這些宏對相應(yīng)的變量進(jìn)行賦值。學(xué)生也可以根據(jù)自己的
需求修改這些宏定義的值。
netproto_eth_student.c文件是協(xié)議棧中以太網(wǎng)數(shù)據(jù)幀的實現(xiàn)部分,其中定義了2個函數(shù)。
下面分別介紹這些協(xié)議棧的實現(xiàn)部分。
函數(shù)netp_eth_output_student的功能是編輯并發(fā)送一個EthernetV2數(shù)據(jù)幀。這個函數(shù)的編
碼工作需要由學(xué)生完成。
當(dāng)有數(shù)據(jù)到達(dá)本機(jī)網(wǎng)絡(luò)接口時,函數(shù)netp_eth_input_student將被調(diào)用,并傳遞給這個函
數(shù)原始數(shù)據(jù)。該函數(shù)的返回值為push_to_lwip的枚舉類型值,push_to_lwip的定義如下:
enumpush_to_lwip{
BETP_PUSH_TO_LWIP,//數(shù)據(jù)處理完成后,交給IwIP繼續(xù)處理
NETP_NO_PUSH_UWP//數(shù)據(jù)處理完成后,不交給IwIP繼續(xù)處理,本層處理完畢以后
數(shù)據(jù)包被丟棄
}:
返回NETP_PUSH_TO_LWIP表示這個數(shù)據(jù)幀應(yīng)該提交給協(xié)議棧上層繼續(xù)處理,而返回
NETP_NO_PUSH_LIWP則表示不需要提交給協(xié)議棧上層處理,本層處理完畢后,這個數(shù)據(jù)
幀將被丟棄。需要根據(jù)正確的邏輯關(guān)系返回適當(dāng)?shù)闹?,使協(xié)議棧正常工作。
在編碼過程中可能會遇到一些結(jié)構(gòu)體、宏和函數(shù),下表是對他們進(jìn)行和介紹:
表1-2實驗涉及的結(jié)構(gòu)體和函數(shù)
結(jié)構(gòu)體/函數(shù)聲明或定義描述
structnetp_eth_header{
structnetp__eth_addrdest_address;
以太網(wǎng)數(shù)據(jù)幀頭結(jié)
structnetp__eth_headerstructnetp_eth_addrsour_address;
構(gòu)
ul6_ttype;
);
structnetp_eth_addr{
structnetp_eth_addru8_taddr[ETH_ADDRESS_LEN]:以太網(wǎng)地址
};
ETH_HEADER_LEN#defineETH_HEADER_LEN14以太網(wǎng)幀頭長度
PAYLOAD_DATA#definePAYLDAD_DATA“Hello,EXPcns!*以太網(wǎng)負(fù)載內(nèi)容
PAYLOAD_LEN#de£ineFAYLOAD_LENsizeof(PAYLOADEDATA)以太網(wǎng)負(fù)載長度
MAX_PAYLOAD_LEN#defineMAX_PAYLOAD_LEN1024最大負(fù)載長度
協(xié)議類型與數(shù)據(jù)長
TYPE.LENGTH#defineTYPE_LENGTH5893
度字段值
voidnetp_set_eth_addr(
structnetp_eth_addr*p_addr,
設(shè)置以太網(wǎng)數(shù)據(jù)幀
netp_set_eth_addru8_tvl,u8_tv2,u8_tv3,
MAC地址
u8_tu8__tv5,u8_tv6
);
intnetp__current_hw_addr(獲取正在使用的網(wǎng)
netp_c\irrent_hw_addru8_t*hardware_address絡(luò)適配器的物理地
);址
Intnetp_packet_send(
netp_packet_sendvoid*buffer/intlen發(fā)送一個數(shù)據(jù)幀
);
將16位數(shù)值由主機(jī)
htonsul6_thtons(ul6_tn):字節(jié)序轉(zhuǎn)換為網(wǎng)絡(luò)
字節(jié)序
intnetp_is_eth_addr_broadcast(
判斷一個MAC地址
netp_is_eth_addr_broadcaststructnetp_eth_addr*mac__address
是否為廣播地址
);
intnetp_eth_addr__cmp(
structnetp_eth_addr*mac_address1/判斷兩個MAC地址
netp_eth_addr_cmp
structnetp_eth_addr*mac_address2是否相同
);
七.各模塊推薦流程
1.EthernetV2數(shù)據(jù)幀發(fā)送流程
編碼實現(xiàn)EthernetV2數(shù)據(jù)幀發(fā)送推薦使用如下流程:
圖1-9EthernetV2數(shù)據(jù)幀發(fā)送推薦流程
2.EthernetV2數(shù)據(jù)幀處理流程
編碼實現(xiàn)處理EthernetV2輸入數(shù)據(jù)幀推薦使用如下流程:
開始
圖1-10處理EthernetV2輸入數(shù)據(jù)幀推薦流程
練習(xí)一:領(lǐng)略真實的MAC幀
各主機(jī)打開協(xié)議分析器,進(jìn)入相應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)并驗證網(wǎng)絡(luò)拓?fù)涞恼_性,如果通過拓?fù)?/p>
驗證,關(guān)閉協(xié)議分析器繼續(xù)進(jìn)行實驗,如果沒有通過拓?fù)潋炞C,請檢查網(wǎng)絡(luò)連接。
本練習(xí)將主機(jī)A和B作為一組,主機(jī)C和D作為一組,主機(jī)E和F作為一組?,F(xiàn)僅以
主機(jī)A、B所在組為例,其它組的操作參考主機(jī)A、B所在組的操作。
1.主機(jī)B啟動協(xié)議分析器,新建捕獲窗口進(jìn)行數(shù)據(jù)捕獲并設(shè)置過濾條件(提取ICMP協(xié)議)。
2.主機(jī)Aping主機(jī)B,察看主機(jī)B協(xié)議分析器捕獲的數(shù)據(jù)包,分析MAC幀格式。
3.將主機(jī)B的過濾器恢復(fù)為默認(rèn)狀態(tài)。
練習(xí)二:理解MAC地址的作用
本練習(xí)將主機(jī)A、B、C、D、E、F作為一組進(jìn)行實驗。
1.主機(jī)B、D、E、F啟動協(xié)議分析器,打開捕獲窗口進(jìn)行數(shù)據(jù)捕獲并設(shè)置過濾條件(源
MAC地址為主機(jī)A的MAC地址)。
2.主機(jī)Aping主機(jī)C。
3.主機(jī)B、D、E、F上停止捕獲數(shù)據(jù),在捕獲的數(shù)據(jù)中查找主機(jī)A所發(fā)送的ICMP數(shù)據(jù)幀,
并分析該幀內(nèi)容。
?記錄實驗結(jié)果
表1-3實驗結(jié)果
本機(jī)MAC地址源MAC地址目的MAC地址是否收到,為什么
主機(jī)B
主機(jī)D
主機(jī)E
主機(jī)F
練習(xí)三:編輯并發(fā)送MAC廣播幀
本練習(xí)將主機(jī)A、B、C、D、E、F作為一組進(jìn)行實驗。
1.主機(jī)E啟動協(xié)議編輯器。
2.主機(jī)E編輯一個MAC幀:
目的MAC地址:FFFFFF-FFFFFF
源MAC地址:主機(jī)E的MAC地址
協(xié)議類型或數(shù)據(jù)長度:大于0x0600
數(shù)據(jù)字段:編輯長度在46—1500字節(jié)之間的數(shù)據(jù)
3.主機(jī)A、B、C、D、F啟動協(xié)議分析器,打開捕獲窗口進(jìn)行數(shù)據(jù)捕獲并設(shè)置過濾條件(源
MAC地址為主機(jī)E的MAC地I:)0
4.主機(jī)E發(fā)送已編輯好的數(shù)據(jù)幀。
5.主機(jī)A、B、C、D、F停止捕獲數(shù)據(jù),察看捕獲到的數(shù)據(jù)中是否含有主機(jī)E所發(fā)送的數(shù)
據(jù)幀。
?結(jié)合練習(xí)三的實驗結(jié)果,簡述FFFFFF-FFFFFF作為目的MAC地址的作用。
練習(xí)四:發(fā)送EthernetV2數(shù)據(jù)幀功能的實現(xiàn)
本練習(xí)將主機(jī)A、B、C、D、E、F作為一組進(jìn)行實驗。
在實驗中,主機(jī)A將新接口的IP地址設(shè)置為1,主機(jī)B使用處于連接狀態(tài)的物
理接口,將新接口的IP設(shè)置為172.置.0.12、主機(jī)C將新接口的IP地址設(shè)置為3、
主機(jī)D使用處于連接狀態(tài)的物理接口,將新接口的IP地址設(shè)置為4,主機(jī)E使用
處于連接狀態(tài)的物理接口,將新接口的IP地址設(shè)置為5,主機(jī)F將新接口的IP地
址設(shè)置為6。所有主機(jī)使用子網(wǎng)掩碼,默認(rèn)網(wǎng)關(guān)設(shè)置為。
1.所有主機(jī)編碼實現(xiàn)發(fā)送EhtemetV2數(shù)據(jù)幀
(1)各主機(jī)打開netproto_eth_student.c文件,在函數(shù)netp_arp_output_student內(nèi)編寫實現(xiàn)
代碼。
(2)參考實驗原理EthernetV2數(shù)據(jù)幀發(fā)送推薦流程圖給出的流程,分析已經(jīng)存在的代
碼。
已經(jīng)存在的代碼定義了一個以太網(wǎng)數(shù)據(jù)幀頭部結(jié)構(gòu)和一個能容納以太網(wǎng)幀頭和負(fù)載的發(fā)
送緩沖區(qū)send_buff,另外還實現(xiàn)了將以太網(wǎng)幀頭結(jié)構(gòu)和負(fù)載拷貝到發(fā)送緩沖區(qū)的過程。
(3)構(gòu)造、填充以太網(wǎng)數(shù)據(jù)幀頭
構(gòu)造并填充一個以太網(wǎng)數(shù)據(jù)幀頭。目的MAC地址設(shè)置為廣播地址即FF-FF-FF-FF-FF-FF,
可以使用netp_set_eth_addr函數(shù)設(shè)置MAC地址。源MAC地址設(shè)置為本接口的MAC地址,
可以使用netp_current_hw_addr函數(shù)獲取本接口的MAC地址。協(xié)議類型或數(shù)據(jù)長度字段值
應(yīng)設(shè)置為0x0806,表示上層協(xié)議為arp協(xié)議,可以使用MAC_PROTO_ARP宏。
(4)判斷是否為合法的EthernetV2數(shù)據(jù)幀
根據(jù)實驗原理關(guān)于MAC幀格式的介紹,判斷要發(fā)送的數(shù)據(jù)幀是不是合法的EthernetV2
數(shù)據(jù)幀,即“協(xié)議類型或數(shù)據(jù)長度”字段值是否大于1536。
(5)使用發(fā)送函數(shù)netp_packet_send發(fā)送數(shù)據(jù)幀。
2.當(dāng)完成代碼編寫后,所有主機(jī)打開協(xié)議分析器,開始捕獲數(shù)據(jù)。
3.所有主機(jī)調(diào)試并運(yùn)行程序。
4.各主機(jī)停止數(shù)據(jù)捕獲,觀察實驗現(xiàn)象。
?捕獲到的數(shù)據(jù)幀,“協(xié)議類型或數(shù)據(jù)長度''字段值是什么?
5.參考代碼如下:
/**
*'brief編輯并發(fā)送一個EthernetV2數(shù)據(jù)幀
?
*由學(xué)生完成這個函數(shù),發(fā)送一個EthernetV2數(shù)據(jù)幀。主線程將會調(diào)用這個函數(shù)。
*/
void
netp_eth_output_student0
{
//創(chuàng)建以太網(wǎng)幀頭結(jié)構(gòu)并申請發(fā)送緩沖區(qū)
structnetp_eth_headereth_header;
u8_tsend_buff[ETH_HEADER_LEN+PAYLOAD_LEN];
//構(gòu)造以太網(wǎng)幀頭,目的MAC地址為廣播地址、源MAC地址為本接口MAC地址
//協(xié)議類型為TYPE_I2NGTH所定義的類型值
netp_set_eth_addr(ð_header.dest-address^CIxFF,OxFF,OxFF?OxFF/OxFF,OxFF);
netp_current_hw_addr(eth_header.sour_address));
eth_header.type=htons(TYPE_LENGTH);
//判斷是否為合法的EthernetV2數(shù)據(jù)幀
if(ntohs(eth_header.type)<=1536){
pnntfCEthernetv2數(shù)據(jù)幀的協(xié)議類型或數(shù)據(jù)長度字段值要求大于1536,發(fā)送失?。?");
return;
)
//將以太網(wǎng)幀頭結(jié)構(gòu)和負(fù)載拷貝到發(fā)送^沖區(qū)中
memcpy(send_buf£,ð_header,sizeof(struetnetp_eth_header));
memepy(send_buff+ETH_HEADER_LEN,PAYLDAD_DATA,PAYLOAD_LEN);
//使用發(fā)送函數(shù)tnetp_packet_send)發(fā)送數(shù)據(jù)幀
if(!netp_packet_send(send_buff,sizeof(send_buff))){
print£("發(fā)送MAC數(shù)據(jù)幡--成功?\n"):
}else{
print£("發(fā)送MAC數(shù)據(jù)幀失敗?\n");
)
練習(xí)五:處理EthernetV2輸入數(shù)據(jù)幀功能的實現(xiàn)
本練習(xí)將主機(jī)A、B、C、D、E、F作為一組進(jìn)行實驗。
該練習(xí)需要在前個練習(xí)的基礎(chǔ)匕進(jìn)行。
在實驗中,主機(jī)A將新接口的IP地址設(shè)置為k舊LB使用處于連接狀態(tài)的物
理接口,將新接口的IP設(shè)置為2、主機(jī)C將新接口的IP地址設(shè)置為3、
主機(jī)D使用處于連接狀態(tài)的物理接口,將新接口的IP地址設(shè)置為4,主機(jī)E使用
處于連接狀態(tài)的物理接口,將新接口的IP地址設(shè)置為5、主機(jī)F將新接口的IP地
址設(shè)置為6o所有主機(jī)使用子網(wǎng)掩碼,默認(rèn)網(wǎng)關(guān)設(shè)置為0.000。
1.所有主機(jī)編碼實現(xiàn)處理EthernetV2輸入數(shù)據(jù)幀功能
(1)各主機(jī)打開netproto_eth_student.c文件,在函數(shù)netp_eth_input_student內(nèi)編寫實現(xiàn)
代碼,參考實驗原理處理EthernetV2輸入數(shù)據(jù)幀推薦流程圖給出的流程,思考代碼編寫方
案。首先分析netproto_eth_student.c文件中已經(jīng)給出的代碼。
已經(jīng)存在的代碼定義了一個以太網(wǎng)數(shù)據(jù)幀頭部結(jié)構(gòu)和以太網(wǎng)數(shù)據(jù)幀地址結(jié)構(gòu),實現(xiàn)了從
輸入緩沖區(qū)中拷貝以太網(wǎng)幀頭結(jié)構(gòu),獲取本接口MAC地址的過程。最后的幾行代碼填充了
負(fù)載緩沖區(qū),顯示其內(nèi)容。
(2)提取“協(xié)議類型或數(shù)據(jù)長度”字段值為TYPE_LENGTH的數(shù)據(jù)幀
通過判斷以太網(wǎng)幀中的“協(xié)議類型或數(shù)據(jù)長度”字段值是否為TYPE_LENGTH(自定義上
層協(xié)議)來過濾以太網(wǎng)數(shù)據(jù)幀。如果接收到的數(shù)據(jù)包不滿足條件,則應(yīng)該返回
NETP_PUSH_TO_LWIP交給協(xié)議棧處理。
(3)提取“目的MAC地址”字段值為本接口地址或廣播地址的數(shù)據(jù)幀
通過判斷以太網(wǎng)幀中的“目的MAC地址”字段值是否為本接口MAC地址或廣播地址(目
的MAC地址為全1)來過濾不是發(fā)送給本接口的數(shù)據(jù)幀。如果接收到的數(shù)據(jù)包不滿足條件,
則應(yīng)該返回NETP_PUSH_TO_LWIP交給協(xié)議棧處理。
2.所有主機(jī)調(diào)試并運(yùn)行程序
將netproto_eth_student.h文件中PAYLOAD_DATA定義的內(nèi)容修改為自己要發(fā)送的負(fù)載
信息,例如“【amhostA”。
?你收到的負(fù)載內(nèi)容是什么?
3.參考代碼如下:
/**
*\brief當(dāng)有數(shù)據(jù)幀到達(dá)時,將調(diào)用這個函數(shù)
*
*\parsunpacket指向接收到的數(shù)據(jù)
*\parampacket_len數(shù)據(jù)幀的長度
*
*'return一個put」o」wip類型的返回值。返回NETP_PVT_IXEP表示處理數(shù)據(jù)后將數(shù)據(jù)幀交給上層協(xié)
議棧繼續(xù)處理
*返回NETP_NO_PUT_U:WP表示不將數(shù)據(jù)幀交給上層協(xié)議棧處理。
*/
enumpush_to_lwip
netp_eth_input_student(void*packe,intpacket_len)
{
//創(chuàng)建以太網(wǎng)幀頭結(jié)構(gòu)和以太網(wǎng)數(shù)據(jù)幀地址結(jié)構(gòu)
structnetp_eth_headereth_header;
structnetp_eth_addrmy_mac_address;
charpayload_buff[MAX_PAYIJ3AD_LEN]={0}:
//賦值以太網(wǎng)幀頭、本機(jī)MAC地址
memcpy(ð_header?packet,ETH_HEADER_LEN);
netp__current_hw_addr(Ajny__mac_address);
//判斷”協(xié)議類型與數(shù)據(jù)長度”值是否為TYPERNGTH
ifCTYPE..LENGTH!=ntohs(eth>eader.type)){
returnNETP_PUSH_TO_LWIP;
//判斷目的MM地址是否為本接口地址或者為廣播地址
ifQ(netp_is_eth_addr_broadcast((struetnetp_eth_addr*)packet)|
!netp_eth_addr_cmp(ftjny_mac_address,(structnetp_eth_addr*)packet))){
returnNETP_PUSH_TO_LWIP;
}
//埴充負(fù)載緩沖區(qū),顯示內(nèi)容
memset(payload_buff?0,sizeof(payload_buff));
memcpy(payload_buff,(u8_t*)packet+ETH_HEADER_LEN,MAX_PAYIJJAD_LEN-1);
print£("收到協(xié)議類型為對的以太網(wǎng)數(shù)據(jù)蕨,負(fù)載內(nèi)容為%s\n",
TYPE_LENGTH,(char*)payload_buff);
returnIIETP_NO_PUSH_UWP;
思考問題
練習(xí)1:
1.為什么有的主機(jī)會收到ICMP數(shù)據(jù)包而有的主機(jī)收不到ICMP數(shù)據(jù)包?
2.根據(jù)實驗理解集線器(共享設(shè)備)和交換機(jī)(交換設(shè)備)的區(qū)別?
3.說明共享設(shè)備的不安全性。
練習(xí)2:
1.主機(jī)A、B、C、D、F是否可以收到主機(jī)E的廣播幀?
2.說明MAC廣播幀的范圍?
練習(xí)3
1.如何編輯LLC無編號幀和LLC數(shù)據(jù)幀。
2.在協(xié)議分析端捕獲到該幀,幀的長度是多少?由此理解以太網(wǎng)的最短幀長度。
3.為什么1EEE802標(biāo)準(zhǔn)將數(shù)據(jù)鏈路層分割為MAC子層和LLC子層?
4.為什么以太網(wǎng)有最短幀長度的要求?
試驗一以太網(wǎng)幀的構(gòu)成
實驗時間:成績:
實驗角色:同組者姓名:
實驗二地址解析協(xié)議ARP
【實驗?zāi)康摹?/p>
1,掌握ARP協(xié)議的報文格式
2.掌握ARP協(xié)議的工作原理
3.理解ARP高速緩存的作用
4,掌握ARP請求和應(yīng)答的實現(xiàn)方法
5,掌握ARP緩存表的維護(hù)過程
【實驗環(huán)境】
該實驗采用網(wǎng)絡(luò)結(jié)構(gòu)二
【實驗原理】
物理地址與邏輯地址
1.物理地址
物理地址是節(jié)點的地址,由它所在的局域網(wǎng)或廣域網(wǎng)定義。物理地址包含在數(shù)據(jù)鏈路層
的幀中。物理地址是最低一級的地址。
物理地址的長度和格式是可變的,取決于具體的網(wǎng)絡(luò)。以太網(wǎng)使用寫在網(wǎng)絡(luò)接口卡(NIC)
上的6字節(jié)的標(biāo)識作為物理地址。
物理地址可以是單播地址(一個接收者)、多播地址(一組接收者)或廣播地址(由網(wǎng)
絡(luò)中的所有主機(jī)接收)。有些網(wǎng)絡(luò)不支持多播或廣播地址,當(dāng)需要把幀發(fā)送給一組主機(jī)或所
有主機(jī)時,多播地址或廣播地址就需要用單播地址來模擬。
2.邏輯地址
在互聯(lián)網(wǎng)的環(huán)境中僅使用物理地址是不合適的,因為不同網(wǎng)絡(luò)可以使用不同的地址格式。
因此,需要一種通用的編址系統(tǒng),用來惟一地標(biāo)識每一臺主機(jī),而不管底層使用什么樣的物
工電網(wǎng)絡(luò)。
邏輯地址就是為此目的而設(shè)計的。目前Internet上的邏輯地址是32位地址,通常稱為IP
地址,可以用來標(biāo)識連接在Internet上的每?臺主機(jī)。在Internet上沒有兩個主機(jī)具有同樣
的IP地址。
邏輯地址可以是單播地址、多播地址和廣播地址。其中廣播地址有些局限性。在實驗
三中將詳細(xì)介紹這三種類型的地址。
—.ARP協(xié)議簡介
Internet是由各種各樣的物理網(wǎng)絡(luò)通過使用諸如路由器之類的設(shè)備連接在一起組成的。主
機(jī)發(fā)送?個數(shù)據(jù)包到另一臺主機(jī)時可能要經(jīng)過多種不同的物理網(wǎng)絡(luò)。主機(jī)和路由器都是在網(wǎng)
絡(luò)層通過邏輯地址來識別的,這個地址是在全世界范圍內(nèi)是惟一的。然而,數(shù)據(jù)包是通過物
理網(wǎng)絡(luò)傳遞的。在物理網(wǎng)絡(luò)中,主機(jī)和路由器通過其物理地址來識別的,其范圍限于本地網(wǎng)
絡(luò)中。物理地址和邏輯地址是兩種不同的標(biāo)識符。這就意味著將一個數(shù)據(jù)包傳遞到一個主機(jī)
或路由器需要進(jìn)行兩級尋址:邏輯地址和物理地址。需要能將一個邏輯地址映射到相應(yīng)的物
理地址。
ARP協(xié)議(地址解析協(xié)議)是“AddressResolutionProtocol”的縮寫。所謂“地址解析”就是
主機(jī)在發(fā)送幀前將目的邏輯地址轉(zhuǎn)換成目的物理地址的過程。在使用TCP/IP協(xié)議的以太網(wǎng)
中,ARP協(xié)議完成將IP地址映射到MAC地址的過程。
三.ARP報文格式
下圖為ARP數(shù)據(jù)報的報文格式:
硬件類型(16位)協(xié)議類型(16位)
硬件地址長度協(xié)議地址長度
操作碼(16位)
(8位)(8位)
發(fā)送端硬件地址
(例如,對以太網(wǎng)是6字節(jié))
發(fā)送端邏輯地址
(例如,對IP是4字節(jié))
目的端硬件地址
(例如?對以太網(wǎng)是6字節(jié))
(在請求幀中不埴入)
目的端邏輯地址
(例如,對IP是4字節(jié))
圖2-1ARP報文格式
ARP報文格式具有如下的一些字段:
?硬件類型:這是16位字段,用來定義運(yùn)行ARP的網(wǎng)絡(luò)的類型。每一個局域網(wǎng)基于其
類型被指派給一個整數(shù)。例如,以太網(wǎng)的硬件類型是1。ARP可用在任何網(wǎng)絡(luò)上。
?協(xié)議類型:這是16位字段。用來定義協(xié)議的
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 重慶大學(xué)課程設(shè)計仿真圖
- 二零二五年度橘子種植基地承包與農(nóng)產(chǎn)品出口協(xié)議3篇
- 二零二五年度美發(fā)店設(shè)備更新?lián)Q代及技術(shù)升級合同4篇
- 2025年度新型節(jié)能門窗安裝承攬合同范本3篇
- 2025年項目咨詢管理合作協(xié)議范本詳解3篇
- 二零二五年度酒店客房門鎖更換與升級服務(wù)合同4篇
- 2025年校車照管員崗位責(zé)任與風(fēng)險防控合同2篇
- 二零二五年度民用航空運(yùn)輸合同服務(wù)質(zhì)量提升方案4篇
- 二零二五年度模板木枋行業(yè)創(chuàng)新發(fā)展基金合作合同4篇
- 2025年度高校教學(xué)樓租賃合同及智能化教學(xué)系統(tǒng)建設(shè)3篇
- 軌道工程-第三章-有砟軌道
- 泌尿:膀胱腫瘤病人的護(hù)理查房王雪-課件
- 標(biāo)點符號的研究報告
- 服務(wù)器報價表
- 2025年高考化學(xué)試題分析及復(fù)習(xí)策略講座
- 2024-2029年中國制漿系統(tǒng)行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告
- 大門封條模板
- ppr管件注塑工藝
- 液化氣站其他危險和有害因素辨識及分析
- 高中語文教學(xué)課例《勸學(xué)》課程思政核心素養(yǎng)教學(xué)設(shè)計及總結(jié)反思
- 中國農(nóng)業(yè)銀行小微企業(yè)信貸業(yè)務(wù)貸后管理辦法規(guī)定
評論
0/150
提交評論