版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課 程 設 計</b></p><p> 2011——2012學年 第2學期</p><p><b> 課程設計任務書</b></p><p> 題目四: IP地址的合法性及子網(wǎng)判斷 </p><
2、p><b> 初始條件:</b></p><p><b> (1)學習相關知識</b></p><p> ?。?)C/C++/VC/VB/JAVA語言</p><p><b> (3)PC機一臺</b></p><p> 要求完成的主要任務: (包括課程設計工作量
3、及其技術要求,以及說明書撰寫等具體要求)</p><p> 在掌握IP地址表示方法及子網(wǎng)劃分的基礎上,按如下要求完成程序。</p><p> 1)命令行格式:ip_test subnet/mask ip_addr, ip_test其中為程序名;subnet為子網(wǎng)號;mask是一個數(shù)值,代表子網(wǎng)掩碼連續(xù)1的個數(shù);ip_addr是要測試的IP地址。</p><p>
4、 例如,要測試的IP地址為202.114.16.10,子網(wǎng)號為202.113.16.0,子網(wǎng)掩碼為255.255.255.0,則命令行為ip_test 202.113.16.0/24 202.114.16.10(因為255.255.255.0是連續(xù)的24個1,所以用24表示)。</p><p> 2)判斷subnet和ip_addr的合法性。在判斷IP地址合法性時要自行編寫代碼,不要使用任何inet函數(shù)。判斷
5、時要考慮全面,比如以下IP地址均不合法:</p><p> 123..2.1 / 123.23$.2.1 / 123.2345.2.1 / 123.23.45.2.1</p><p> 3)判斷掩碼的合法性。</p><p> 4)在IP地址合法的前提下,判斷ip_addr是否屬于子網(wǎng)subnet。</p><p> 5)輸出命令行中
6、的ip是否合法,掩碼是否合法(可適當給出不合法的原因)以及ip_addr是否屬于子網(wǎng)subnet。</p><p><b> 時間安排:</b></p><p> 第一、二天:查閱資料,學習算法</p><p> 第三、四天:編程調(diào)試</p><p><b> 第五天:書寫報告</b><
7、;/p><p> 指導教師簽名: 年 月 日</p><p> 系主任(或責任教師)簽名: 年 月 日</p><p><b> 目錄</b></p><p> 1課程設計的目的和意義4</p><p>
8、; 2課程設計的內(nèi)容和要求4</p><p> 3課程設計的相關技術5</p><p> 3.1 IP地址相關概念和知識的回顧5</p><p> 3.2特殊的IP地址形式6</p><p> 3.3 子網(wǎng)的劃分7</p><p> 4 課程設計過程7</p><p&g
9、t; 4.1 課程設計流程圖7</p><p> 4.2 課程設計源代碼9</p><p> 4.3 運行結(jié)果15</p><p> 5 課程設計小結(jié)16</p><p><b> 6 參考文獻17</b></p><p> 課程設計的目的和意義</p><
10、;p> 通過計算機網(wǎng)絡課程設計,讓我們學會處理幾種常用計算機網(wǎng)絡問題的基本處理方法,掌握計算機網(wǎng)絡的基本原理,使我們在面對不斷變化的技術時,具有跟蹤,學習的基礎與能力。</p><p> 具體而言,關于“IP地址的合法性及子網(wǎng)判斷”課程設計題目的目的是:用C/C++語言編寫程序,以判斷一個IP地址是否合法,并判斷該地址是否屬于一個給定的子網(wǎng).從而能夠考察我們對IP地址的概念,各類IP地址的區(qū)分以及子網(wǎng)劃
11、分的理解和掌握程度.</p><p> 課程設計為我們提供了一個既動手又動腦,獨立參加實踐的好機會,要求我們將理論知識和實際情況有機地結(jié)合起來,鍛煉我們的分析問題,解決實際問題的能力,提高我們適應實際,實踐的能力;它也要求我們綜合運用所學的計算機網(wǎng)絡知識來解決有一定難度的問題,從而提高了我們對知識的綜合運用能力,加深對知識間的融會貫通和聯(lián)系的理解。</p><p> 課程設計的內(nèi)容和要
12、求</p><p> 在掌握IP地址的表示方法以及子網(wǎng)劃分方法的基礎上,并以計算機網(wǎng)絡中關于IP地址的相關理論知識為基石,運用C/C++語言按如下要求完成程序。</p><p> 命令行格式:ip_test subnet/mask ip_addr</p><p> 其中,ip_test為程序名;subnet為子網(wǎng)號;mask是一個整型數(shù)值,代表子網(wǎng)掩碼連續(xù)1的
13、個數(shù);ip_addr表示要測試的IP地址。</p><p> 比如說,要測試的IP地址為202.113.16.10,子網(wǎng)號碼是202.113.16.0,子網(wǎng)掩碼是255.255.255.0,則命令行為ip_test202.113.16.0/24 202.113.16.10。(因為255.255.255.0是連續(xù)的24個1,所以用24表示)</p><p> 判斷subnet和ip_ad
14、dr的合法性:</p><p> 在判斷IP地址合法性時要自行編寫代碼,不要使用任何inet 函數(shù)。判斷時要考慮各種情況,全面分析問題。例如以下IP地址均不合法:</p><p><b> 123..2.1</b></p><p> 123.23$.2.1</p><p> 123.2345.2.1&l
15、t;/p><p> 123.23.45.1</p><p><b> 判斷掩碼的合法性:</b></p><p> 譬如說mask的值為負數(shù)或者大與32,這時輸入的掩碼就不合法。</p><p> 在IP地址合法,掩碼合法以及子網(wǎng)號也合法的前提下,判斷ip_addr是否屬于subnet。</p><
16、;p> 輸出命令行中的ip是否合法,掩碼是否合法,子網(wǎng)號碼是否合法(可適當給出不合法的原因)以及ip_addr是否屬于子網(wǎng)subnet。</p><p> 還可以判斷子網(wǎng)號,主機號全0,全1問題。</p><p><b> 課程設計的相關技術</b></p><p> 3.1 IP地址相關概念和知識的回顧</p>&
17、lt;p> 大型的互連網(wǎng)絡中應該有一個全局的地址系統(tǒng),它能夠給連接到互聯(lián)網(wǎng)的每一臺主機或者路由器分配一個唯一的全局地址。TCP/IP協(xié)議的網(wǎng)絡層使用的地址標識符叫做IP地址,IPv4中IP地址是一個32位的二進制地址。網(wǎng)絡中的每一臺主機或者路由器至少有一個IP地址,在Internet中不允許有兩個設備具有相同的IP地址。如果一臺主機或者路由器連接到兩個或多個物理網(wǎng)絡,那么它可以擁有兩個或多個IP地址。</p>&l
18、t;p> IP地址采用分層結(jié)構,由網(wǎng)絡號與主機號兩部分組成(如下圖所示): </p><p> IP地址長度為32位,用點分十進制表示,格式為ⅹ.ⅹ.ⅹ.ⅹ,每個ⅹ為8位,每個ⅹ的值為0—255(例如202.113.29.119)。根據(jù)不同的取值范圍,IP地址可以分為五類,IP地址中的前5位用于標識IP地址的類別,具體的分類規(guī)則如下:</p><p> ·A類地址的第
19、一位為0。</p><p> ·B類地址的前兩位為10 .</p><p> ·C類地址的前三位為110。</p><p> ·D類地址的前四位為1110。</p><p> ·E類地址的前五位為11110。</p><p> 五類IP地址的結(jié)構如下所示;</p&
20、gt;<p> A類IP地址結(jié)構適合用于有大量主機的大型網(wǎng)絡。由于主機號長度為24位,因此每個A類網(wǎng)絡的主機IP數(shù)理論上為224=16777216。</p><p> B類IP地址適合用于一些國際性大公司與政府機構等中等大小的組織。由于網(wǎng)絡IP長度為14位,因此允許有214=16384個不同的B類網(wǎng)絡,實際允許連接16382個網(wǎng)絡。</p><p> C類IP地址適合用
21、于一些小公司與普通的研究機構。</p><p><b> 特殊的IP地址形式</b></p><p><b> 直接廣播地址</b></p><p> A類,B類,C類IP地址中主機號全1的地址稱為直接廣播地址,用來使路由器將一個分組以廣播方式發(fā)送給特定網(wǎng)絡上的所有主機。直接廣播地址只能作為分組中的目的地址。物理網(wǎng)絡
22、采用的是點—點傳輸方式,分組廣播需要通過軟件來實現(xiàn)。</p><p><b> (2)受限廣播地址</b></p><p> 網(wǎng)絡號與主機號的32位全位1的地址為受限廣播地址,用來將一個分組以廣播方式發(fā)送給本網(wǎng)的所有主機。本網(wǎng)的所有主機將接受該分組,路由器則阻擋該分組通過。</p><p> ?。?) “這個網(wǎng)絡上的這臺主機”地址</
23、p><p> ?。?)“這個網(wǎng)絡上的特定主機”地址</p><p> 主機或路由器向本網(wǎng)絡上的某個特定的主機發(fā)送分組,網(wǎng)絡號部分為全0,主機號為確定的值。這樣的分組被相知在本網(wǎng)絡內(nèi)部。</p><p><b> ?。?)回送地址</b></p><p> 回送地址用于網(wǎng)絡軟件測試和本地進程見通信。TCP/IP協(xié)議規(guī)定網(wǎng)絡
24、號為 127的分組不能出現(xiàn)在任何網(wǎng)絡上;主機和路由器不能為該地址廣播任何尋址信息。</p><p><b> 3.3 子網(wǎng)的劃分</b></p><p> 人們在早期設計與建設ARPAnet是,沒有預料到網(wǎng)絡的發(fā)展速度如此之快,應用范圍如此之廣。當時個人計算機與局域網(wǎng)尚未出現(xiàn)。所以,研究者在設計Internet地址的編址方案時,主要是針對大型互聯(lián)的網(wǎng)絡結(jié)構。設計I
25、P地址的最初目的是希望每個IP得志都能唯一地、確定地識別一個網(wǎng)絡與一臺主機,但是這種方法同時也存在著兩個主要的問題,即IP地址的有效利用率和路由器的工作效率。</p><p> 為了解決這個問題,人們提出了子網(wǎng)(subnet)和超網(wǎng)(supernet)的概念。子網(wǎng)就是一個大的網(wǎng)絡劃分成幾個較小的網(wǎng)絡,而每一個小網(wǎng)絡都是其自己的地址。超網(wǎng)就是將一個組織所屬的幾個C類網(wǎng)絡合并成為一個更大地址范圍的邏輯網(wǎng)絡。<
26、/p><p> 劃分子網(wǎng)實際上就是在IP地址系統(tǒng)中增加一個層次。三級IP地址的表示方法為netID-subnet ID-host ID。第一級網(wǎng)絡號定義了網(wǎng)點的位置;第二級子網(wǎng)號定義了物理子網(wǎng);第三級主機號定義了主機和路由器到物理網(wǎng)絡的連接。三級層次的IP地址,一個IP分組的路由器的過程分為三步:第一步將分組轉(zhuǎn)發(fā)給網(wǎng)點,第二步轉(zhuǎn)發(fā)給物理子網(wǎng),第三步轉(zhuǎn)發(fā)給確切的主機。</p><p> 當三
27、級層次的IP地址提出后,一個很顯示的問題是:如何從一個IP地址提取出子網(wǎng)號。因此,提出了子網(wǎng)掩碼(subnet mask)的概念。子網(wǎng)掩碼有時也叫做子網(wǎng)掩碼。</p><p> 子網(wǎng)掩碼表示方法:網(wǎng)絡號與子網(wǎng)號置1,主機號置0。</p><p> 如判斷某一IP地址是否屬于某一子網(wǎng)呢?只需將二進制IP地址與子網(wǎng)掩碼按位進行“與”運算。若“與”運算所得值與給定子網(wǎng)地址一致,則說明該IP地
28、址屬于給定的子網(wǎng)。</p><p><b> 4 課程設計過程</b></p><p> 4.1課程設計流程圖</p><p> 4.2 課程設計源代碼</p><p> #include <iostream.h></p><p> #include <string.h
29、></p><p> #include <stdlib.h></p><p> #include <stdio.h></p><p> #include <math.h></p><p> #include <ctype.h></p><p> #incl
30、ude <winsock2.h></p><p> #include <ws2tcpip.h></p><p> #include <time.h></p><p> #include <windows.h></p><p> #pragma comment(lib,"ws2_
31、32.lib")</p><p> class ipTest{ //類結(jié)構</p><p><b> public:</b></p><p> char ip[15];</p><p> char subnetPlusMask[18];</p><p> char subnet
32、[18];</p><p> char TempIp[15];</p><p> l maskIsValid;</p><p><b> int mask;</b></p><p> char Tempsub[18];</p><p> ipTest(char *,char *);<
33、;/p><p> ~ipTest(){};</p><p> bool NoIllegalChar(char *); //非法字符的判斷</p><p> bool ipIsValid(char *); //判斷IP地址是否合法</p><p> bool subne
34、tIsValid(char *); //判斷子網(wǎng)號是否合法</p><p> void belong(); //判斷IP是否為子網(wǎng)成員</p><p><b> print();</b></p><p><b> }; </b>
35、</p><p> void main(int argc,char * argv[]){ //主函數(shù)</p><p> if(argc!=3){ //判斷參數(shù)格式化是否正確</p><p> cout<<"error"<<endl<<&qu
36、ot;format shoud be:ip_test subnet/mask ip"<<endl;</p><p><b> return;</b></p><p><b> }</b></p><p><b> else{</b></p><p>
37、 if(strlen(argv[1])>18){ //先判斷最簡單的錯誤,長度是否超出</p><p> cout<<"subnet/mask is too long";</p><p><b> return;</b></p><p><b> }<
38、/b></p><p> if(strlen(argv[2])>15){</p><p> cout<<"ip is too long";</p><p><b> return;</b></p><p><b> }</b></p>
39、<p> ipTest test(argv[1],argv[2]); //實例話ipTest類</p><p> test.print(); //完成相應判別并輸出結(jié)果</p><p><b> }</b></p><p><b> }<
40、/b></p><p> ipTest::ipTest( char* subnetPlusMask, char *ip){ //構造函數(shù)</p><p> maskIsValid=true;</p><p> char temp[2];</p><p> int smLen=strlen(subnetPlusMask);
41、 //把'/'前的字符復制到subnet字符數(shù)組中</p><p> for( int i=0; i<smLen && subnetPlusMask[i] !='/'; i++ ){</p><p> this->subnet[i]=subnetPlusMask[i];</p><p> th
42、is->Tempsub[i]=subnetPlusMask[i];</p><p><b> }</b></p><p> subnet[i]='\0';</p><p> Tempsub[i]='\0';</p><p> if(i<=smLen-2){
43、 //初始化mask和maskIsVslid</p><p> if(i==smLen-2){</p><p> temp[0]=subnetPlusMask[i+1];</p><p> if( !isdigit(temp[0]) )</p><p> maskIsValid = false;&
44、lt;/p><p><b> }</b></p><p> else if( i == smLen-3 ){</p><p> temp[0]=subnetPlusMask[i+1];</p><p> temp[1]=subnetPlusMask[i+2];</p><p> if( !(
45、isdigit(temp[0])&&isdigit(temp[1])) )</p><p> maskIsValid=false;</p><p><b> }</b></p><p> mask = atoi(temp);</p><p> if( mask<0 || mask >
46、32)</p><p> maskIsValid = false;</p><p><b> }</b></p><p><b> else</b></p><p> maskIsValid=false;</p><p> strcpy( this->subn
47、etPlusMask, subnetPlusMask);</p><p> strcpy( this->ip, ip );</p><p> strcpy( this->TempIp, ip );</p><p><b> }</b></p><p> ipTest::print(){ //調(diào)
48、用判別函數(shù),并輸出結(jié)果</p><p> bool subIsV=subnetIsValid(Tempsub);</p><p> bool ipIsV=ipIsValid(TempIp);</p><p> if(!subIsV)</p><p> cout<<"subnet is invalid ! &quo
49、t;<<endl;</p><p><b> else</b></p><p> cout<<"valid subnet: "<<subnet<<endl;</p><p> if(!maskIsValid)</p><p> cout<
50、<"mask is invalid!"<<endl;</p><p><b> else</b></p><p> cout<<"valid mask:"<<mask<<endl;</p><p> if(!ipIsV)</p>&
51、lt;p> cout<<"ip is invalid!"<<endl;</p><p><b> else</b></p><p> cout<<"valid ip:"<<ip<<endl;</p><p> //判斷IP是否bel
52、ong subnet</p><p> if(subIsV&&ipIsV&&maskIsValid)</p><p><b> belong();</b></p><p><b> }</b></p><p> bool ipTest::NoIllegalCh
53、ar(char *ch){ //子函數(shù),判斷輸入是否含有非數(shù)字字符</p><p> unsigned int i,k=0;</p><p> for(i=0;i<strlen(ch);i++){</p><p> if(isdigit(*(ch+i))==0){</p><p> return false;</p&g
54、t;<p><b> }</b></p><p><b> }</b></p><p> return true;</p><p><b> }</b></p><p> bool ipTest::ipIsValid(char * ip){ /
55、/判別IP地址是否合法</p><p> char ch[]=" ."; </p><p> char *token,*dot[4];</p><p> int iplen=0;</p><p> token=strtok(ip,ch); //以&q
56、uot;."標志將IP字符串按節(jié)分開</p><p> while(token!=NULL){ //循環(huán)進行,知道結(jié)束</p><p> dot[iplen]=token; //將分開的每段賦值給dot</p><p><b&
57、gt; iplen++;</b></p><p> token= strtok(NULL,ch);</p><p> }if(iplen!=4)</p><p> {cout<<this->Tempsub<<endl;</p><p> return false;}
58、 //段數(shù)不對</p><p> for(int i=0;i<4;i++){</p><p> if(!NoIllegalChar(dot[i])||atoi(dot[i])>255) //有非法字符或某段值非法</p><p> return false;</p><p>&
59、lt;b> }</b></p><p> return true;</p><p><b> }</b></p><p> bool ipTest::subnetIsValid(char* subnet){ //判斷子網(wǎng)號是否合法</p><p> if( ! ipI
60、sValid(subnet)) //調(diào)用判別IP地址合法性的函數(shù)</p><p> return false;</p><p> return true;</p><p><b> }</b></p><p> //判斷IP是否為子網(wǎng)成員,判斷子網(wǎng)號與掩碼是否匹配,
61、以及子網(wǎng)號、主機號全0全1問題</p><p> void ipTest::belong(){</p><p> int subLen=strlen(subnet);</p><p> int ipLen=strlen(ip);</p><p> unsigned int iIPA,iSubA,iMask;</p>&l
62、t;p> unsigned char subA[4],ipA[4];</p><p> char temp[3];</p><p> int i,j,t=0;</p><p> for(i=0,j=0;i<subLen;i++){ //不用再檢錯</p><p> if(subne
63、t[i] != '.')</p><p> temp[j++]=subnet[i]; //temp數(shù)組中放'.'間的串</p><p><b> else{</b></p><p> subA[3-t] = atoi(temp); /
64、/subA數(shù)組中放'.'間的數(shù)據(jù)</p><p><b> j=0;</b></p><p><b> t++;</b></p><p> temp[0]=temp[1]=temp[2]='\0';</p><p><b> }</b>&
65、lt;/p><p><b> }</b></p><p> subA[0] = atoi(temp);</p><p> temp[0]=temp[1]=temp[2]='\0';</p><p> iSubA = *( unsigned int *)subA; //iSubA中放sub
66、net中'.'除外的串對應的數(shù)</p><p> for(i= 0, j= 0, t= 0; i<ipLen; i++){ //不用再檢錯</p><p> if(ip[i] != '.')</p><p> temp[j++] = ip[i];</p><p><b> else{
67、</b></p><p> ipA[3-t] = atoi(temp);</p><p><b> j=0;</b></p><p><b> t++;</b></p><p> temp[0]=temp[1]=temp[2]='\0';</p>&
68、lt;p><b> }</b></p><p><b> }</b></p><p> ipA[0] = atoi(temp);</p><p> iIPA = *( unsigned int* )ipA; //iIPA中放IP中'.'除外的串對應的數(shù)</p>
69、<p> iMask = 0xffffffff;</p><p> iMask<<=(32-mask); //獲取掩碼</p><p> if( ( iSubA | iMask ) != iMask ){ //說明sub與mask不匹配</p><p> cout<<&quo
70、t; 子網(wǎng)號與掩碼不匹配,error!"<<endl;</p><p><b> return;</b></p><p><b> }</b></p><p> if( ( iSubA ^ iMask ) == 0 ){ //說明子網(wǎng)號全1</p><p> c
71、out<<" 子網(wǎng)號全1,error!"<<endl;</p><p><b> return;</b></p><p><b> }</b></p><p> if( ( iSubA & iMask ) == 0 ){ //說明子網(wǎng)號全0<
72、/p><p> cout<<" 子網(wǎng)號全0,error!"<<endl;</p><p><b> return;</b></p><p><b> }</b></p><p> if( ( iSubA) == (iIPA & iMask) )
73、{ //IP和掩碼與,結(jié)果和子網(wǎng)號比較</p><p> if( ( iIPA | iMask) == iMask ){ //說明主機號全0</p><p> cout<<" 主機號全0,error!"<<endl;</p><p><b> return;</b></p&
74、gt;<p><b> }</b></p><p> if( ( iIPA | iMask ) == 0xffffffff ){ //說明主機號全1</p><p> cout<<" 主機號全1,error!"<<endl;</p><p><b>
75、return;</b></p><p><b> }</b></p><p> cout<<" "<< ip <<" belongs to "<<subnetPlusMask<<endl;</p><p><b> r
76、eturn;</b></p><p> }//ip屬于subnet</p><p><b> else</b></p><p> cout<<" "<< ip <<" doesn't belong to "<<subnetPlusM
77、ask<<endl;</p><p> }//ip不屬于subnet</p><p><b> 4.3 運行結(jié)果</b></p><p> 子網(wǎng)號、子網(wǎng)掩碼和IP地址均不合法時:</p><p> 子網(wǎng)號、子網(wǎng)掩碼和IP地址均合法,且IP地址屬于子網(wǎng)號時:</p><p>
78、 子網(wǎng)號、子網(wǎng)掩碼和IP地址均合法,且IP地址不屬于子網(wǎng)號時:</p><p><b> 子網(wǎng)號不合法時:</b></p><p><b> 掩碼不合法時:</b></p><p><b> IP地址不合法時:</b></p><p><b> 5 課程設計小
79、結(jié)</b></p><p> 為期一周的計算機網(wǎng)絡課程設計終于圓滿結(jié)束,我所做的課設題目“IP地址的合法性及子網(wǎng)判斷”算是比較簡單,但是由于對子網(wǎng)掩碼等各種概念的不夠熟悉,在開始之前我通過課本和網(wǎng)絡查找了大量信息,在考慮IP地址(subnet子網(wǎng)地址原理相同)非法的情況時,我們就漏掉了幾種情況,這直接導致我們畫的流程圖以及編寫的源代碼不完善。經(jīng)過反復的修改最后才使代碼功能完善。在設計好算法后,用C/
80、C++編寫源代碼以實現(xiàn)算法的過程中,面對如何選擇合適的數(shù)據(jù)結(jié)構,我們感到很為難。最后在老師的指導和幫助下才解決。另一方面,在代碼的調(diào)試過程中,程序出現(xiàn)了很多的Debug,有的是符號的缺省比較簡單,但有的比較復雜,自己看不懂,我也請教了很多同學幫忙結(jié)局,最后終于搞定了所有問題,看著最關鍵的一部分解決了,真讓人欣喜。</p><p> 此次課設也讓我體會到了,很多東西說的簡單,做的難,看書的同時只有結(jié)合動手才能最有
81、效率地提高自己的編程能力。</p><p><b> 6 參考文獻</b></p><p> [1]謝希仁 《計算機網(wǎng)絡》(第五版)電子工業(yè)出版社 2008.1</p><p> [2]張堯?qū)W,郭國強,王曉春,趙艷標 《計算機網(wǎng)絡與Internet教程》(第2版)清華大學出版社 2006.11</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機網(wǎng)絡課程設計--判斷ip地址的合法性及子網(wǎng)判斷
- 計算機網(wǎng)絡課程設計---ip地址的合法性及子網(wǎng)判斷
- 計算機網(wǎng)絡課程設計
- 計算機網(wǎng)絡課程設計
- 計算機網(wǎng)絡課程設計
- 《計算機網(wǎng)絡課程設計》
- 計算機網(wǎng)絡課程設計
- 計算機網(wǎng)絡課程設計
- 計算機網(wǎng)絡課程設計-監(jiān)控ip包流量
- 計算機網(wǎng)絡課程設計
- 計算機網(wǎng)絡課程設計
- 計算機網(wǎng)絡課程設計--小規(guī)模ip網(wǎng)絡的建立
- 計算機網(wǎng)絡課程設計---網(wǎng)絡設計
- 《計算機網(wǎng)絡與通信》課程設計--獲取主機名和ip地址
- 計算機網(wǎng)絡課程設計報告--監(jiān)控ip包流量
- 計算機網(wǎng)絡課程設計-- 解析ip數(shù)據(jù)包
- 計算機網(wǎng)絡課程設計報告
- 計算機網(wǎng)絡課程設計報告
- 計算機網(wǎng)絡課程設計報告
- 計算機網(wǎng)絡組建課程設計
評論
0/150
提交評論