亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        模擬網(wǎng)絡(luò)組建中Ping命令的實現(xiàn)

        2008-12-31 00:00:00呂金榮龔沛曾楊志強(qiáng)
        電腦知識與技術(shù) 2008年19期

        摘要:網(wǎng)絡(luò)技術(shù)無論在教學(xué)還是在現(xiàn)實生活中都變得異常的重要,該文結(jié)合教學(xué)課程和實驗要求,對模擬網(wǎng)絡(luò)組建的過程進(jìn)行了初步的研究。在該實驗平臺中,將簡單直觀的網(wǎng)絡(luò)設(shè)備圖標(biāo)表示為真實的網(wǎng)絡(luò)設(shè)備,用于搭建現(xiàn)實中的網(wǎng)絡(luò),并提供命令交互窗口,模擬常用的網(wǎng)絡(luò)命令的實現(xiàn)對當(dāng)前的網(wǎng)絡(luò)狀態(tài)進(jìn)行檢查,該文主要對Ping命令的實現(xiàn)進(jìn)行了實驗分析。

        關(guān)鍵詞:網(wǎng)絡(luò)技術(shù);Ping命令;ICMP協(xié)議

        中圖分類號:TP393文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)19-30028-03

        The Realization of Ping Command in Virtual Network Construction

        LV Jin-rong, GONG Pei-zeng, YANG Zhi-qiang

        (Dept of Computer Science and Engineering, Tongji University, Shanghai 200092, China)

        Abstract: Network Technology is being more and more important not only in teaching but also in practical application. The paper based on the teaching curriculum and experiment requirement and did a primary researching in Virtual Network Construction. This experiment method use the simple icons to behalf the real network equipment which been used to construct network. Also the experiment method gives a command interface line in a separated window and simulates some network commands to check the states of net. This paper realizes the Ping command and analyzes with an experiment.

        Key words: network technology; Ping command; ICMP protocols

        1 引言

        隨著計算機(jī)技術(shù)及網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,個人、家庭或宿舍中擁有多臺計算機(jī)已變得十分的普遍,將多臺計算機(jī)組建成網(wǎng)絡(luò)可以提高資源的利用率和協(xié)同工作的效率,所以網(wǎng)絡(luò)技術(shù)無論在教學(xué)還是在現(xiàn)實生活中都變得異常的重要。

        在實際學(xué)習(xí)中,由于資源設(shè)備的限制,提供完善的實驗環(huán)境存在一定的難度,所以提供一種模擬的組建網(wǎng)絡(luò)的平臺具有很強(qiáng)的現(xiàn)實意義。雖然在應(yīng)用中,業(yè)界有很多優(yōu)秀的成品軟件,如:虛擬機(jī)軟件vmware、virtual pc;以及網(wǎng)絡(luò)認(rèn)證考試的軟件NetSim、Dynamips等工具也可用于模擬組建網(wǎng)絡(luò)的練習(xí)工具,但是由于它們所面向的是高級的網(wǎng)絡(luò)應(yīng)用,在教學(xué)的應(yīng)用中需要更簡單直觀的平臺。

        文中就是基于面向網(wǎng)絡(luò)技術(shù)教學(xué)的目的而設(shè)計的實驗平臺,提供了簡單直觀實驗的要求。文中重點實現(xiàn)了Ping命令,根據(jù)Ping命令的運行原理,對它進(jìn)行了模擬實現(xiàn),相應(yīng)的其他檢查網(wǎng)絡(luò)狀態(tài)的命令,如:tracert、ipconfig、netstat等等,也可以根據(jù)各自的運行原理進(jìn)行實現(xiàn)[1]。

        2 Ping命令及ICMP協(xié)議簡介

        2.1 Ping命令簡介

        “Ping”這個名字源于聲納定位操作,最早Ping程序是由Mike Muuss編寫[2],目的是為了測試另一臺主機(jī)是否可達(dá),該程序發(fā)送一份ICMP回顯請求報文給主機(jī),并等待返回ICMP回顯應(yīng)答。

        一般來說,如果不能Ping到某臺主機(jī),那么就不能Telnet或者FTP到那臺主機(jī);反過來,如果不能Telnet到某臺主機(jī),那么通常可以用Ping程序來確定問題出在哪里。但是隨著Internet安全意識的增強(qiáng),Ping不通一臺主機(jī)也可能是受路由器、防火墻的影響,但在一般的應(yīng)用中可以將Ping作為檢測網(wǎng)絡(luò)連通狀況的實用工具。

        圖1 Ping命令發(fā)送ICMP報文

        2.2 ICMP協(xié)議簡介

        ICMP協(xié)議(Internet Control Message Protocol, Internet控制報文協(xié)議)是TCP/IP協(xié)議族的一個子協(xié)議,該協(xié)議位于網(wǎng)絡(luò)層,提供了傳輸差錯報文、控制報文和詢問報文的功能;允許ICMP報文在IP數(shù)據(jù)報內(nèi)攜帶。封裝格式如下圖:

        圖2 ICMP封裝在IP數(shù)據(jù)報內(nèi)部

        ICMP報文有多種類型,Ping程序使用ICMP的回顯請求報文,該報文的結(jié)構(gòu)如下:前四個字節(jié)為報文頭部分,第一個字節(jié)為報文類型,第二個字節(jié)未用,第三、四個字節(jié)為報文的校驗和,第五、六個字節(jié)為報文的標(biāo)志符,第六、七個字節(jié)為報文的序號,最后為選項數(shù)據(jù)但是報文總長度不超過64KB。

        ICMP回顯請求和回顯應(yīng)答報文格式如下圖:

        圖3 ICMP回顯請求和回顯應(yīng)答報文格式

        3 Ping命令執(zhí)行原理及實現(xiàn)步驟

        3.1 執(zhí)行原理和步驟

        在進(jìn)行Ping操作時,首先從客戶機(jī)向服務(wù)器發(fā)送ICMP回顯請求報文,當(dāng)服務(wù)器接收到客戶機(jī)發(fā)送來的ICMP回顯請求報文時,服務(wù)器就會向客戶機(jī)發(fā)送ICMP回顯應(yīng)答報文,客戶機(jī)通過接收來自服務(wù)器的ICMP回顯應(yīng)答報文,從而判斷與遠(yuǎn)程主機(jī)的聯(lián)通狀態(tài)。

        實現(xiàn)步驟如下:

        步驟 1:根據(jù)ICMP回顯請求的報文格式,定義報文;

        步驟 2:客戶機(jī)發(fā)送封裝ICMP回顯請求報文的IP數(shù)據(jù)包;

        步驟 3:客戶機(jī)接收封裝ICMP應(yīng)答報文的IP數(shù)據(jù)包。

        3.2 數(shù)據(jù)包的檢驗和算法

        為了保證包頭和數(shù)據(jù)不被破壞,數(shù)據(jù)包在計算機(jī)網(wǎng)絡(luò)中傳輸期間使用了檢驗和(圖3中的第三四字節(jié)),ICMP的檢驗和字段覆蓋整個ICMP報文,而求ICMP的檢驗和是必須的,檢驗和保證了ICMP報頭和數(shù)據(jù)的正確性。

        檢驗和算法在所有的協(xié)議中都是相同的,只是由于協(xié)議的不同,檢驗和保證的域的內(nèi)容不同。檢驗和在各種協(xié)議中所保證的各種域如下:

        檢驗和icmp_ckSum算法如下[4]:

        ① 在檢驗和的域中設(shè)置為0;

        ② 在數(shù)據(jù)長度為奇數(shù)時,在其域中最后追加0,使其調(diào)整為以16為單位(在這種調(diào)整方法中,即使追加8位,也不包含包長度);

        ③ 以16位為單位,將一個偽報頭、報頭、數(shù)據(jù)部分加上1的補(bǔ)碼;

        ④ 將所求出的值:1的補(bǔ)碼存儲到報頭檢查和的區(qū)域中。

        如果首部在傳輸?shù)倪^程中沒有發(fā)生任何差錯,那么接收方計算的結(jié)果應(yīng)該為全1;如果結(jié)果不是全1(即檢驗和錯誤),那么IP就丟棄收到的數(shù)據(jù)報,但是不生成差錯報文,由上層去發(fā)現(xiàn)丟失的數(shù)據(jù)報并進(jìn)行重傳。

        4 模擬命令的實驗過程及結(jié)果

        4.1 實驗要完成的功能

        本實驗平臺要實現(xiàn)的功能界面如圖4。

        在“工作臺”窗口中,組建了一個簡單的局域網(wǎng),通過模擬網(wǎng)絡(luò)命令測試該局域網(wǎng)的網(wǎng)絡(luò)連通狀態(tài),在“命令交互”窗口中,用Ping命令從PC1到PC2,返回的結(jié)果將與實際的局域網(wǎng)中得到的結(jié)果相似。

        4.2 Ping命令的Visual C#模擬實現(xiàn)

        安裝Ping命令的執(zhí)行原理、步驟,其具體的實現(xiàn)過程如下:

        ① ICMP數(shù)據(jù)包類的定義和實現(xiàn)。

        public class IcmpPacket{private Byte_type;// 報文類型

        private Byte_subCode;// 字代碼類型

        private UInt16 _checkSum;// 報文校驗和

        private UInt16 _identifier;//識別符

        private UInt16 _sequenceNumber;// 序列號

        private Byte[]_data; // 數(shù)據(jù)選項 }

        ② 模擬Socket的SendTo()方法的SimSendTo()方法。

        在執(zhí)行Ping命令時該方法將被調(diào)用,根據(jù)計算機(jī)名或虛擬的IP地址,將ICMP數(shù)據(jù)包的UInt16數(shù)組發(fā)送給目的主機(jī)進(jìn)行驗證。

        在該方法中增加了對計算機(jī)名的名稱的解析,可以將計算機(jī)名稱與虛擬的IP地址對應(yīng)起來,因此Ping命令后面的參數(shù)可以是計算機(jī)名也可以是具體的IP地址。

        ③ 模擬Socket的ReceiveFrom()方法的SimReceiveFrom()方法。

        此方法在執(zhí)行Ping命令是也會被調(diào)用,該方法返回了目的主機(jī)回顯的信息,表明了目的主機(jī)是否已經(jīng)接收到了發(fā)送的數(shù)據(jù),若該方法的返回值為ICMP數(shù)據(jù)包的大小,則表明操作成功,將在終端顯示接收信息;若返回的值為-1,則在終端顯示“目的主機(jī)不可到達(dá)”的信息。

        ④ 檢驗和icmp_ckSum()算法的實現(xiàn)。

        public static UInt16 icmp_ckSum(UInt16[] buffer)

        {int cksum = 0;

        for(int i=0;i

        cksum += (int) buffer[i];

        cksum = (cksum >> 16) + (cksum 0xffff);

        cksum += (cksum >> 16);

        return (UInt16)(~cksum); }

        5 結(jié)束語

        該文對模擬組網(wǎng)的實驗平臺進(jìn)行了介紹,詳細(xì)介紹了Ping命令的原理及其工作方式,并對其模擬實現(xiàn)進(jìn)行了詳細(xì)的分析。依據(jù)此實現(xiàn)方式,可以對其他的命令tracert、ipconfig、netstat等等進(jìn)行實現(xiàn),以完善該實驗平臺。

        當(dāng)然該平臺到目前只是對關(guān)鍵的技術(shù)進(jìn)行了前期的研究和解決,很多的功能和相關(guān)的技術(shù)還要進(jìn)行繼續(xù)的研究,在命令的交互體驗方面也應(yīng)該更加真實,這些都成為以后工作的重點。

        參考文獻(xiàn):

        [1] Jon C.Snader. 劉江林,譯. 高級TCP/IP編程[M].北京:中國電力出版社,2001.6.

        [2] W.Richard Stevens.TCP/IP Illustrated, Volume 1:The Protocols.北京:機(jī)械工業(yè)出版社,2002.1.

        [3] 潘愛明,譯.計算機(jī)網(wǎng)絡(luò)[M].第4版.北京:清華大學(xué)出版社,2004.8.

        [4] 馮杰,閆魯生,譯.TCP/IP網(wǎng)絡(luò)實驗程序篇[M].北京:科學(xué)出版社,2003.4.

        [5] Gary R.Wright,W.Richard Stevens.TCP/IP Illustrated, Volume 2:The Implementation[M].北京:機(jī)械工業(yè)出版社,2002.1.

        [6] 李銘,黃靜,譯.C#2005.NET 3.0高級編程.第5版.北京:清華大學(xué)出版社,2007.12.

        [7] RFC 791-1981 INTERNET PROTOCOL[S].Network Working Group.

        [8] RFC 792-1981 INTERNET CONTROL MESSAGE PROTOCOL[S].Network Working Group.

        注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文

        亚洲无av在线中文字幕| 台湾佬中文偷拍亚洲综合| 色小姐在线视频中文字幕| 亚洲国产av自拍一区| 亚洲熟女乱色综合亚洲av| 亚洲夜夜骑| 风韵丰满妇啪啪区老老熟女杏吧| 亚洲黄色一级在线观看| 在线天堂www中文| 最新国产日韩AV线| 久久国产高潮流白浆免费观看 | 亚洲精品白浆高清久久| 一道之本加勒比热东京| 国产婷婷色一区二区三区在线| 粗了大了 整进去好爽视频| 成激情人妻视频| 久久这里都是精品99| 国产激情无码一区二区三区| 亚洲性无码av在线| 国产一区二区三区av免费观看| 亚洲最新精品一区二区| 少妇下面好紧好多水真爽播放| 特级黄色毛片视频| 国语对白三级在线观看| 国产人成视频在线视频| 日产国产精品亚洲系列| 国内精品久久久久久久亚洲| 96中文字幕一区二区| 中国老太婆bb无套内射| 无码国产精品一区二区免费16| 人妻丝袜中文字幕久久 | 一本色道久久综合狠狠躁篇| 欧美性群另类交| 日本高清不卡一区二区三区| 亚洲国产精品不卡av在线| 青青草原精品99久久精品66 | 精品天堂色吊丝一区二区| 亚洲精华国产精华液的福利| 亚洲AV永久无码精品一区二国| 日本成人午夜一区二区三区 | 国产男女乱婬真视频免费|