編寫計(jì)算機(jī)程序,實(shí)現(xiàn)點(diǎn)分十進(jìn)制的IP._第1頁(yè)
編寫計(jì)算機(jī)程序,實(shí)現(xiàn)點(diǎn)分十進(jìn)制的IP._第2頁(yè)
編寫計(jì)算機(jī)程序,實(shí)現(xiàn)點(diǎn)分十進(jìn)制的IP._第3頁(yè)
編寫計(jì)算機(jī)程序,實(shí)現(xiàn)點(diǎn)分十進(jìn)制的IP._第4頁(yè)
編寫計(jì)算機(jī)程序,實(shí)現(xiàn)點(diǎn)分十進(jìn)制的IP._第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目 錄一、問題背景概述11.1背景概述11.2題目要求1二、協(xié)議分析說明分析12.1 IP地址的分類12.2 不常用的特殊IP地址12.3 IP數(shù)據(jù)報(bào)的格式12.3.1 IP數(shù)據(jù)報(bào)首部的固定部分12.3.2 IP數(shù)據(jù)報(bào)首部的可變部分1三、實(shí)驗(yàn)方案設(shè)計(jì)及實(shí)現(xiàn)53.1.實(shí)驗(yàn)方案設(shè)計(jì)說明53.1.1設(shè)計(jì)原理53.1.2基本流程53.2實(shí)驗(yàn)實(shí)現(xiàn)過程說明6四、程序代碼9五、總結(jié)11附錄A參考文獻(xiàn)12一、問題背景概述 1.1 背景概述在因特網(wǎng)中,IP協(xié)議是能使連接到網(wǎng)上的所有計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)相互通信的一套規(guī)則,規(guī)定了計(jì)算機(jī)在因特網(wǎng)上進(jìn)行通信時(shí)應(yīng)當(dāng)遵守的規(guī)則。任何廠家生產(chǎn)的計(jì)算機(jī)系統(tǒng),只要遵守 IP協(xié)議就可以

2、與因特網(wǎng)互連互通。IP地址具有唯一性,根據(jù)用戶性質(zhì)的不同,可以分為5類。另外,IP還有進(jìn)入防護(hù),知識(shí)產(chǎn)權(quán),指針寄存器等含義。在計(jì)算機(jī)領(lǐng)域中,網(wǎng)絡(luò)在發(fā)送分組是不需要先建立連接,每一個(gè)分組(也就是IP數(shù)據(jù)報(bào))獨(dú)立發(fā)送,與起前后的分組無關(guān)(不進(jìn)行編號(hào)),即網(wǎng)絡(luò)成不提供服務(wù)質(zhì)量的承諾。也就是說,所傳送的分組可能出錯(cuò)、丟失、重復(fù)和失序(即不安序到達(dá)終點(diǎn)),當(dāng)然也不保證分組交付的時(shí)限。IP是怎樣實(shí)現(xiàn)網(wǎng)絡(luò)互連備,如以太網(wǎng)、分組交換網(wǎng)等,它們相互之間不能互通,不能互通的主要原因是因?yàn)樗鼈兯鶄魉蛿?shù)據(jù)的基本單元(技術(shù)上稱之為“幀”)的格式不同。IP協(xié)議實(shí)際上是一套由軟件程序組成的協(xié)議軟件,它把各種不同“幀”統(tǒng)一轉(zhuǎn)

3、換成“IP數(shù)據(jù)包”格式,這種轉(zhuǎn)換是因特網(wǎng)的一個(gè)最重要的特點(diǎn),使所有各種計(jì)算機(jī)都能在因特網(wǎng)上實(shí)現(xiàn)互通,即具有“開放性”的特點(diǎn)。通信協(xié)議是為了使計(jì)算機(jī)網(wǎng)絡(luò)中不同的設(shè)備之間能進(jìn)行正常的數(shù)據(jù)通信而預(yù)先制定的一套通信主機(jī)雙方相互了解和共同遵守的格式和約定。由網(wǎng)絡(luò)互聯(lián)協(xié)議IP和傳輸控制協(xié)議TCP一起構(gòu)成的TCPIP協(xié)議,已成為事實(shí)上的網(wǎng)絡(luò)互聯(lián)協(xié)議標(biāo)準(zhǔn),幾乎所有的WAN和LAN都支持該協(xié)議。1.2 題目要求題目是編寫計(jì)算機(jī)程序,實(shí)現(xiàn)點(diǎn)分十進(jìn)制的IP地址標(biāo)識(shí)方法,要求是“從IP數(shù)據(jù)報(bào)頭中取出源和目的地址,將它們以點(diǎn)分十進(jìn)制表示輸出”。二、協(xié)議分析說明分析2.1 IP地址的分類 IP地址是一種層次型地址,分為網(wǎng)

4、絡(luò)標(biāo)識(shí)和主機(jī)標(biāo)識(shí)兩個(gè)部分。因特網(wǎng)中每個(gè)主機(jī)和路由器都有一個(gè)IP地址,來對(duì)它們的網(wǎng)絡(luò)和主機(jī)號(hào)進(jìn)行編碼,這種編碼是唯一的,任何兩個(gè)不同的主機(jī)不會(huì)有相同的IP地址、所有的IP地址都是32位,在IP數(shù)據(jù)報(bào)的源站地址和目的站地址都用到了IP地址,其格式如圖3所示。連接到多個(gè)網(wǎng)絡(luò)上的主機(jī)在每個(gè)網(wǎng)絡(luò)上都有不同的IP地址。 A類IP地址 一個(gè)A類IP地址是指, 在IP地址的四段號(hào)碼中,第一段號(hào)碼為網(wǎng)絡(luò)號(hào)碼,剩下的三段號(hào)碼為本地計(jì)算機(jī)的號(hào)碼。如果用二進(jìn)制表示IP地址的話,A類IP地址就由1字節(jié)的網(wǎng)絡(luò)地址和3字節(jié)主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“0”。A類IP地址中網(wǎng)絡(luò)的標(biāo)識(shí)長(zhǎng)度為7位,主機(jī)標(biāo)識(shí)的長(zhǎng)度為24位

5、,A類網(wǎng)絡(luò)地址數(shù)量較少,可以用于主機(jī)數(shù)達(dá)1600多萬臺(tái)的大型網(wǎng)絡(luò)。 A類IP地址 地址范圍1.0.0.1-126.255.255.254(二進(jìn)制表示為:00000001 00000000 00000000 00000001 - 01111110 11111111 11111111 11111110)。 B類IP地址 一個(gè)B類IP地址是指,在IP地址的四段號(hào)碼中,前兩段號(hào)碼為網(wǎng)絡(luò)號(hào)碼,。如果用二進(jìn)制表示IP地址的話,B類IP地址就由2字節(jié)的網(wǎng)絡(luò)地址和2字節(jié)主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“10”。B類IP地址中網(wǎng)絡(luò)的標(biāo)識(shí)長(zhǎng)度為14位,主機(jī)標(biāo)識(shí)的長(zhǎng)度為16位,B類網(wǎng)絡(luò)地址適用于中等規(guī)模的網(wǎng)絡(luò),

6、每個(gè)網(wǎng)絡(luò)所能容納的計(jì)算機(jī)數(shù)為6萬多臺(tái)。 B類IP地址地址范圍128.1.0.1-191.254.255.254(二進(jìn)制表示為:10000000 00000001 00000000 00000001 - 10111111 11111110 11111111 11111110)。 C類IP地址 一個(gè)C類IP地址是指,在IP地址的四段號(hào)碼中,前三段號(hào)碼為網(wǎng)絡(luò)號(hào)碼,剩下的一段號(hào)碼為本地計(jì)算機(jī)的號(hào)碼。如果用二進(jìn)制表示IP地址的話,C類IP地址就由3字節(jié)的網(wǎng)絡(luò)地址和1字節(jié)主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“110”。C類IP地址中網(wǎng)絡(luò)的標(biāo)識(shí)長(zhǎng)度為21位,主機(jī)標(biāo)識(shí)的長(zhǎng)度為8位,C類網(wǎng)絡(luò)地址數(shù)量較多,適用于

7、小規(guī)模的局域網(wǎng)絡(luò),每個(gè)網(wǎng)絡(luò)最多只能包含254臺(tái)計(jì)算機(jī)。C類IP地址范圍192.0.1.1-223.255.254.254(二進(jìn)制表示為: 11000000 00000000 00000001 00000001 - 11011111 11111111 11111110 11111110)。 除了以上三種類型的IP地址外,還有幾種特殊類型的IP地址,TCP/IP協(xié)議規(guī)定,凡IP地址中的第一個(gè)字節(jié)以“l(fā)ll0”開始的地址都叫多點(diǎn)廣播地址。因此,任何第一個(gè)字節(jié)大于223小于240的IP地址是多點(diǎn)廣播地址;IP地址中的每一個(gè)字節(jié)都為0的地址(“0.0.0.0”)對(duì)應(yīng)于當(dāng)前主機(jī);IP地址中的每一個(gè)字節(jié)都為

8、1的IP地址(“255255255255”)是當(dāng)前子網(wǎng)的廣播地址;IP地址中凡是以“l(fā)lll0”的地址都留著將來作為特殊用途使用;IP地址中不能以十進(jìn)制“127”作為開頭,該類地址中數(shù)字127001到127111用于回路測(cè)試,同時(shí)網(wǎng)絡(luò)ID的第一個(gè)6位組也不能全置為“0”,全“0”表示本地網(wǎng)絡(luò)。D類IP地址第一個(gè)字節(jié)以“1110”開始,它是一個(gè)專門保留的地址。它并不指向特定的網(wǎng)絡(luò),目前這一類地址被用在多點(diǎn)廣播(Multicast)中。多點(diǎn)廣播地址用來一次尋址一組計(jì)算機(jī),它標(biāo)識(shí)共享同一協(xié)議的一組計(jì)算機(jī)。地址范圍224.0.0.1-239.255.255.254 。E類IP地址以“11110”開始,

9、保留用于將來和實(shí)驗(yàn)使用。2.2不常用的特殊IP地址網(wǎng)絡(luò)號(hào)主機(jī)號(hào)源地址使用目的地址使用代表的意思00可以不可在本網(wǎng)絡(luò)上的主機(jī)0Host-id可以不可在本網(wǎng)絡(luò)上的某個(gè)主機(jī)host-id全1全1不可可以只在本網(wǎng)絡(luò)上進(jìn)行廣播Net-id全1不可可以對(duì)net-id上的所有主機(jī)進(jìn)行廣播127非全0或全1的任何數(shù) 可以可以用作本地軟件環(huán)回測(cè)試之用2.3 IP數(shù)據(jù)報(bào)的格式2.3.1 IP數(shù)據(jù)報(bào)首部的固定部分(1)版本 占4為,指IP協(xié)議的版本,通信雙方使用的IP協(xié)議的版本必須一致。目前廣泛使用的IP協(xié)議版本號(hào)為4(即IPV4)。(2)首部長(zhǎng)度 占4位,可表示的最大十進(jìn)制數(shù)值是15,請(qǐng)注意這個(gè)字段所表示數(shù)的單位

10、是32位字(1個(gè)32位字長(zhǎng)是4字節(jié))。當(dāng)IP的首部長(zhǎng)度為1111時(shí),首部長(zhǎng)度就達(dá)到最大值60字節(jié),當(dāng)IP分組的首部長(zhǎng)度不是4字節(jié)的整數(shù)倍時(shí),必須利用最后的填充字段加以填充。(3)區(qū)分服務(wù) 占8位,用來獲得更好的服務(wù),這個(gè)字段在舊標(biāo)準(zhǔn)中叫做服務(wù)類型,但實(shí)際上一直沒有被使用過。(4)總長(zhǎng)度 總長(zhǎng)度指首部和數(shù)據(jù)只和的長(zhǎng)度,單位為字節(jié)??傞L(zhǎng)度字段為16位,因此數(shù)據(jù)報(bào)的最大長(zhǎng)度為65535字節(jié)。(5)標(biāo)識(shí) 占16位。IP軟件在存儲(chǔ)器中維持一個(gè)計(jì)數(shù)器,沒產(chǎn)生一個(gè)數(shù)據(jù)報(bào),計(jì)數(shù)器就加1,并將此值賦給標(biāo)識(shí)字段。(6)標(biāo)志 占3位,標(biāo)志字段中的最低位記為MF。MF=1即表示后面“還有分片”的數(shù)據(jù)報(bào),MF=0表示這

11、已是若干數(shù)據(jù)報(bào)片中的最后一個(gè)。標(biāo)志字段中間的以為記為DF,意思是“不能分片”,只有當(dāng)DF=0時(shí)才允許分片。(7)片偏移 占13位。片偏移指出:較長(zhǎng)的分組在分組后,某片在源分組中的相對(duì)位置。(8)生存時(shí)間 占8位,生存時(shí)間字段常用的英文縮寫是TTL,表明是數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中的壽命。(9)協(xié)議 占8位,協(xié)議字段指出此數(shù)據(jù)報(bào)攜帶的數(shù)據(jù)是使用何種協(xié)議,以便使目的主機(jī)的IP層知道應(yīng)將數(shù)據(jù)部分上交給哪個(gè)處理過程。(10)首部檢驗(yàn)和 占16位,這個(gè)字段只檢驗(yàn)數(shù)報(bào)的首部,但不包括數(shù)據(jù)報(bào)部分。這是因?yàn)閿?shù)據(jù)報(bào)每經(jīng)過一個(gè)路由器,路由器都要重新計(jì)算一下首部檢驗(yàn)和。不檢驗(yàn)數(shù)據(jù)部分可減少計(jì)算的工作量。為了進(jìn)一步減少計(jì)算檢驗(yàn)和

12、的工作量,IP首部的檢驗(yàn)和不采用復(fù)雜的CRC檢驗(yàn)碼的采用簡(jiǎn)單的計(jì)算方法。(11)源地址 占32位。(12)目的地址 占32位。2.3.2 IP數(shù)據(jù)報(bào)首部的可變部分 IP首部的可變部分就是一個(gè)選項(xiàng)字段,選項(xiàng)字段用來支持排錯(cuò)、檢測(cè)以及安全等措施,內(nèi)容很豐富。此字段的長(zhǎng)度可變,從1字節(jié)到40個(gè)字節(jié)不等,取決與所選擇的項(xiàng)目。某些選項(xiàng)項(xiàng)目只需要1個(gè)字節(jié),它只包括1字節(jié)的選項(xiàng)代碼。但還有些選香港需要多個(gè)字節(jié),這些選項(xiàng)一個(gè)個(gè)拼接起來,中間不需要有分隔,最后用全0的填充自讀那補(bǔ)充成為4字節(jié)的整數(shù)倍。三、實(shí)驗(yàn)方案設(shè)計(jì)及實(shí)現(xiàn)3.1實(shí)驗(yàn)方案設(shè)計(jì)說明3.1.1 設(shè)計(jì)原理3.1.2 程序基本流程3.2實(shí)驗(yàn)實(shí)現(xiàn)過程說明在

13、數(shù)據(jù)傳輸過程中,網(wǎng)絡(luò)層把運(yùn)輸層產(chǎn)生報(bào)文段或用戶數(shù)據(jù)報(bào)封裝成數(shù)據(jù)幀,然后在加上IP數(shù)據(jù)報(bào)的首部信息再組成IP數(shù)據(jù)報(bào)傳給數(shù)據(jù)鏈路層,再加上數(shù)據(jù)層的首部信息和尾部信息,最后交給物理層在物理傳輸媒體上進(jìn)行比特流的傳輸。接受方對(duì)接受到的數(shù)據(jù)逐層解封,去掉首部,直到找到IP數(shù)據(jù)報(bào)為止,再?gòu)腎P數(shù)據(jù)報(bào)的首部信息中取出源地址和目的地址,取出來的源地址和目的地址全是二進(jìn)制的機(jī)器語(yǔ)言,把取出的二進(jìn)制地址轉(zhuǎn)化為十進(jìn)制地址,并將他們以十進(jìn)制表示輸出。下面的圖3-1,圖3-2,圖3-3,圖3-4,圖3-5是驗(yàn)證從任意的 IP數(shù)據(jù)報(bào)中取出任意的五個(gè)源地址和目的地址輸出的過程,具體結(jié)果如下圖:圖3-1 圖3-2圖3-3 圖

14、3-4圖3-5四、程序代碼#includemath.h#include#includestdio.h#includevoid getid(int ad32) /用getid函數(shù)表示二進(jìn)制和十進(jìn)制之間的轉(zhuǎn)換 int p=0,q=0,r=0,t=0; /定義四個(gè)整形變量表示IP數(shù)據(jù)報(bào)的四個(gè)字節(jié) int i; for(i=0;i8;i+) p+=pow(2,7-i%8)*adi; /二進(jìn)制轉(zhuǎn)化為十進(jìn)制過程中,二進(jìn)制的最高位為2的7次冪依次降序到0次冪,在減去i%8求余 printf(%d.,p); /表示輸出值 for(i=8;i16;i+) q+=pow(2,7-i%8)*adi; /相應(yīng)二進(jìn)制數(shù)

15、轉(zhuǎn)化為十進(jìn)制數(shù) printf(%d.,q); for(i=16;i24;i+) r+=pow(2,7-i%8)*adi; printf(%d.,r); for(i=24;i32;i+) t+=pow(2,7-i%8)*adi; printf(%d,t);void main() int a1500; int i,j; int m=0,n=0; int b32; int c32; void getid(int ad32); /調(diào)用getid函數(shù) srand(unsigned) time(NULL); /表示從IP數(shù)據(jù)報(bào)中取出源地址b和目的地址cfor(i=0;i1500;i+) /IP數(shù)據(jù)報(bào)最大長(zhǎng)

16、度為1500字節(jié),每個(gè)字節(jié)為8個(gè)比特流 ai=rand()%2; /隨機(jī)產(chǎn)生一個(gè)0、1的數(shù)printf(%d,ai);for(j=96;j=127;j+) /IP數(shù)據(jù)報(bào)的源地址(含32位)前面還有三個(gè)部分,共32*3=96位,所以源地址從96開始bm=aj;m+;for(j=128;j=159;j+) /目的地址(含32位)從128位開始cn=aj;n+;printf(n源地址是:); /輸出十進(jìn)制地址getid(b);printf(n目的地址是:);getid(c);printf(n);五、總結(jié)以上就是我這次課程設(shè)計(jì)的全部?jī)?nèi)容,從這次課程設(shè)計(jì)中我們真正感覺到了網(wǎng)絡(luò)層傳輸?shù)膹?fù)雜性,IP協(xié)議的重

17、要性。對(duì)于我們來說這個(gè)課程設(shè)計(jì)難度有點(diǎn)大,在平時(shí)過程中我們學(xué)的都是理論知識(shí),而動(dòng)手能力很差,把知識(shí)與實(shí)際結(jié)合起來的機(jī)會(huì)更少。通過這次課程設(shè)計(jì)我們深刻理解了點(diǎn)分十進(jìn)制記法和更深層次的認(rèn)識(shí)了IP數(shù)據(jù)報(bào)的格式,同時(shí)學(xué)到了一些在編程方面的知識(shí),很多是自己沒有接觸過的東西。在編程過程中遇到問題時(shí),通過查找資料,或者百度搜索解決。通過本次課程設(shè)計(jì),我們更充分的理解了IP協(xié)議的源地址和目的地址二進(jìn)制轉(zhuǎn)化為十進(jìn)制的過程,在實(shí)驗(yàn)過程中也充實(shí)了以前不懂的知識(shí)點(diǎn),增強(qiáng)了自己的動(dòng)手能力,也明白了編程的重要性。一個(gè)軟件的好壞不僅僅在于算法的先進(jìn),軟件是否能夠滿足用戶需求,操作是否簡(jiǎn)單也是很重要的一個(gè)因素。這個(gè)程序我們已

18、經(jīng)盡力做了,但肯定存在很多的不足之處,希望老師諒解。附錄A參考文獻(xiàn)文末參考文獻(xiàn)的著錄引用應(yīng)做到規(guī)范完整,并符合國(guó)家的相關(guān)標(biāo)準(zhǔn)。根據(jù)GB3469國(guó)家標(biāo)準(zhǔn)規(guī)定,被引用的參考文獻(xiàn)類型標(biāo)識(shí)為單字母,各種參數(shù)文獻(xiàn)的類型標(biāo)識(shí)字母如下表所示:參考文獻(xiàn)類型專著論文集(單篇論文)報(bào)紙文章期刊文章文獻(xiàn)類型標(biāo)識(shí)MC(A)NJ參考文獻(xiàn)類型學(xué)位論文報(bào)告標(biāo)準(zhǔn)專利其它文獻(xiàn)文獻(xiàn)類型標(biāo)識(shí)DRSPZ電子文獻(xiàn)類型的參考文獻(xiàn),建議以下列字母作為標(biāo)識(shí):數(shù)據(jù)庫(kù)DB,計(jì)算機(jī)程序CP,電子公告EB。一般性的網(wǎng)頁(yè)文章建議以EB/OL標(biāo)識(shí)(在線的電子文章)。要求引用的參考文獻(xiàn)應(yīng)不少于3篇,引用列舉條目的具體要求為:參考文獻(xiàn)的序號(hào)左頂格,并用數(shù)字

19、加方括號(hào)表示,如1,2,以與正文中的指示序號(hào)一致。每一參考文獻(xiàn)條目的最后均以“.”結(jié)束。各類參考文獻(xiàn)條目的編排格式以及示例如下:1. 連續(xù)出版物序號(hào) 主要責(zé)任者.文獻(xiàn)題名J.刊名,出版年份,卷號(hào)(期號(hào)):起止頁(yè)碼. 例如:1 毛峽,丁玉寬.圖像的情感特征分析及其和諧感評(píng)價(jià)J.電子學(xué)報(bào),2001,29(12A):1923-1927.2. 專著序號(hào) 主要責(zé)任者.文獻(xiàn)題名M.出版地:出版者,出版年:起止頁(yè)碼.例如:2 劉國(guó)梁,王成.圖書館史研究M.北京:高等教育出版社,1979:15-18,31.3. 會(huì)議論文集序號(hào) 主要責(zé)任者.文獻(xiàn)題名A/主編.論文集名C.出版地:出版者,出版年:起止頁(yè)碼.例如:3 毛峽,孫云.和諧圖案自動(dòng)的生成研究A.第一屆中國(guó)情感計(jì)算及智能交互學(xué)術(shù)會(huì)議論文集C.北京:中國(guó)科學(xué)院自動(dòng)化研究所,2003:277-281.4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論