???個人主頁——??開著拖拉機回家_Linux,大數(shù)據(jù)運維-CSDN博客??????
????????????????????????????????????????????????????????
感謝點贊和關(guān)注 ,每天進步一點點!加油!
目錄
一、IP概述
1.1 IP簡介
1.2 IP協(xié)議
1.3 IP地址
1.4 IP地址特點
1.5 IP地址表
二、IP地址及其表示方法
三、IP數(shù)據(jù)報的格式
一、IP概述
1.1 IP簡介
IP地址(Internet Protocol Address)是指互聯(lián)網(wǎng)協(xié)議地址,又譯為網(wǎng)際協(xié)議地址。
IP地址是IP協(xié)議提供的一種統(tǒng)一的地址格式,它為互聯(lián)網(wǎng)上的每一個網(wǎng)絡(luò)和每一臺主機分配一個邏輯地址,以此來屏蔽物理地址的差異。
1.2 IP協(xié)議
IP協(xié)議是為計算機網(wǎng)絡(luò)相互連接進行通信而設(shè)計的協(xié)議。在因特網(wǎng)中,它使得連接到網(wǎng)上的所有計算機網(wǎng)絡(luò)實現(xiàn)相互通信的一套規(guī)則,規(guī)定了計算機在因特網(wǎng)上進行通信時應(yīng)當遵守的規(guī)則。任何廠家生產(chǎn)的計算機系統(tǒng),只要遵守IP協(xié)議就可以與因特網(wǎng)互連互通。IP協(xié)議實際上是一套由軟件程序組成的協(xié)議軟件,它把各種不同“幀”統(tǒng)一轉(zhuǎn)換成“IP數(shù)據(jù)報”格式,這種轉(zhuǎn)換是因特網(wǎng)的一個最重要的特點,使所有各種計算機都能在因特網(wǎng)上實現(xiàn)互通,即具有“開放性”的特點(百度百科)。
1.3 IP地址
IP協(xié)議中還有一個非常重要的內(nèi)容,那就是給因特網(wǎng)上的每臺計算機和其它設(shè)備都規(guī)定了一個唯一的地址,叫做“IP地址”。由于有這種唯一的地址,才保證了用戶在連網(wǎng)的計算機上操作時,能夠高效而且方便地從千千萬萬臺計算機中選出自己所需的對象來。
IP地址就像是我們的家庭住址一樣,如果你要寫信給一個人,你就要知道他的地址,這樣郵遞員才能把信送到。計算機發(fā)送信息就好比是郵遞員,它必須知道唯一的“家庭地址”才能不至于把信送錯人家。只不過我們的地址是用文字來表示的,計算機的地址用二進制數(shù)字表示。(百度百科)
1.4 IP地址特點
IP地址具有以下一些重要特點。
(1)每一個IP地址都由網(wǎng)絡(luò)號和主機號兩部分組成。從這個意義上說,IP地址是一種分等級的地址結(jié)構(gòu)。分兩個等級的好處是:第一,IP地址管理機構(gòu)在分配IP地址時只分配網(wǎng)絡(luò)號(第一級),而剩下的主機號(第二級)則由得到該網(wǎng)絡(luò)號的單位自行分配。這樣就方便了IP地址的管理;第二,路由器僅根據(jù)目的主機所連接的網(wǎng)絡(luò)號來轉(zhuǎn)發(fā)分組(而不考慮目的主機號),這樣就可以使路由表中的項目數(shù)大幅度減少,從而減小了路由表所占的存儲空間以及查找路由表的時間。
(2)IP地址是標志一臺主機(或路由器)和一條鏈路的接口。當一臺主機同時連接到兩個網(wǎng)絡(luò)上時,該主機就必須同時具有兩個相應(yīng)的IP地址,其網(wǎng)絡(luò)號必須是不同的。這種主機稱為多歸屬主機(multihomed host)。由于一個路由器至少應(yīng)當連接到兩個網(wǎng)絡(luò),因此一個路由器至少應(yīng)當有兩個不同的IP地址。這好比一個建筑正好處在北京路和上海路的交叉口上,那么這個建筑就可以擁有兩個門牌號碼。例如,北京路4號和上海路37號。
(3)一個網(wǎng)絡(luò)是指具有相同網(wǎng)絡(luò)號net-id的主機的集合,因此,用轉(zhuǎn)發(fā)器或網(wǎng)橋連接起來的若干個局域網(wǎng)仍為一個網(wǎng)絡(luò),因為這些局域網(wǎng)都具有同樣的網(wǎng)絡(luò)號。具有不同網(wǎng)絡(luò)號的局域網(wǎng)必須使用路由器進行互連。
(4)在IP地址中,所有分配到網(wǎng)絡(luò)號的網(wǎng)絡(luò)(不管是范圍很小的局域網(wǎng),還是可能覆蓋很大地理范圍的廣域網(wǎng))都是平等的。所謂平等,是指互聯(lián)網(wǎng)同等對待每一個IP地址。
1.5 IP地址表
根據(jù)范圍,IP地址分為五個地址類別,如下所示。
類別 |
高位 |
網(wǎng)絡(luò)地址位 |
主機地址位 |
網(wǎng)絡(luò)數(shù)量 |
每個網(wǎng)絡(luò)的主機數(shù)量 |
范圍 |
A |
0 |
8 |
24 |
2^7 |
2^24-2 |
0.0.0.0 到 125.255.255.255 |
B |
10 |
16 |
16 |
2^14 |
2^16-2 |
128.0.0.0 到 191.255.255.255 |
C |
110 |
24 |
8 |
2^21 |
2^8-2 |
192.0.0.0 到 223.255.255.255 |
D |
1110 |
未定義,保留作為未來使用 |
未定義,保留作為未來使用 |
未定義,保留作為未來使用 |
未定義,保留作為未來使用 |
224.0.0.0 到 239.255.255.255 |
E |
1111 |
未定義,保留作為未來使用 |
未定義,保留作為未來使用 |
未定義,保留作為未來使用 |
未定義,保留作為未來使用 |
240.0.0.0 到 255.255.255.255 |
二、IP地址及其表示方法
所謂“分類的IP地址”就是將IP地址劃分為若干個固定類,每一類地址都由兩個固定長度的字段組成,其中第一個字段是網(wǎng)絡(luò)號(net-id),它標志主機(或路由器)所連接到的網(wǎng)絡(luò)。一個網(wǎng)絡(luò)號在整個互聯(lián)網(wǎng)范圍內(nèi)必須是唯一的。第二個字段是主機號(host-id),它標志該主機(或路由器)。一臺主機號在它前面的網(wǎng)絡(luò)號所指明的網(wǎng)絡(luò)范圍內(nèi)必須是唯一的。由此可見,一個IP地址在整個互聯(lián)網(wǎng)范圍內(nèi)是唯一的。
這種兩級的IP地址可以記為:
IP地址 = {網(wǎng)絡(luò)號 + 主機號}
這里A類、B類和C類地址都是單播地址(一對一通信),是最常用的。
對主機或路由器來說,IP地址都是32位的二進制代碼。為了提高可讀性,我們常常把32位的IP地址中的每8位插入一個空格(但在機器中并沒有這樣的空格)。為了便于書寫,可用其等效的十進制數(shù)字表示,并且在這些數(shù)字之間加上一個點。這就叫做點分十進制記法(dotted decimal notation)。如下圖是一個B類IP地址的表示方法。
三、IP數(shù)據(jù)報的格式
IP數(shù)據(jù)報的格式能夠說明IP協(xié)議都具有什么功能。在TCP/IP的標準中,各種數(shù)據(jù)格式常常以32位(即4字節(jié))為單位來描述。下圖是IP數(shù)據(jù)報的完整格式。
從上圖可看出,一個IP數(shù)據(jù)報由首部和數(shù)據(jù)兩部分組成。首部的前一部分是固定長度,共20字節(jié),是所有IP數(shù)據(jù)報必須具有的。在首部的固定部分的后面是一些可選字段,其長度是可變的。下面介紹首部各字段的意義。
IP數(shù)據(jù)報首部的固定部分中的各字段
(1)版本 占4位,指IP協(xié)議的版本。通信雙方使用的IP協(xié)議的版本必須一致。目前廣泛使用的IP協(xié)議版本號為4(即IPv4)。
(2)首部長度 占4位,可表示的最大十進制數(shù)值是15。請注意,首部長度字段所表示數(shù)的單位是32位。因為IP首部的固定長度是20字節(jié),因此首部長度字段的最小值是5(即二進制表示的首部長度是0101)。而當首部長度為最大值1111時(即十進制數(shù)的15),就表明首部長度達到最大值15個32位字長,即60字節(jié)。當IP分組的首部長度不是4字節(jié)的整數(shù)倍時,必須利用最后的填充字段加以填充。因此IP數(shù)據(jù)報的數(shù)據(jù)部分永遠在4字節(jié)的整數(shù)倍時開始,這樣在實現(xiàn)IP協(xié)議時較為方便。首部長度限制為60字節(jié)的缺點是有時可能不夠用。但這樣做是希望用戶盡量減少開銷。最常用的首部長度是20字節(jié)(即首部長度為0101),這時不使用任何選項。
(3)區(qū)分服務(wù) 占8位,用來獲得更好的服務(wù)。這個字段在舊標準中叫做服務(wù)類型,但實際上一直沒有被使用過。只有在使用區(qū)分服務(wù)時,這個字段才起作用。
(4)總長度 總長度指首部和數(shù)據(jù)之和的長度,單位為字節(jié)。總長度字段為16位,因此數(shù)據(jù)報的最大長度為2[^16]? 1 = 65535 字。然而實際上傳送這樣長的數(shù)據(jù)報在現(xiàn)實中是極少遇到的。
我們知道,在IP層下面的每一種數(shù)據(jù)鏈路層協(xié)議都規(guī)定了一個數(shù)據(jù)幀中的數(shù)據(jù)字段的最大長度,這稱為最大傳送單元MTU(Maximum Transfer Unit)。當一個IP數(shù)據(jù)報封裝成鏈路層的幀時,此數(shù)據(jù)報的總長度(即首部加上數(shù)據(jù)部分)一定不能超過下面的數(shù)據(jù)鏈路層所規(guī)定的MTU值。例如,最常用的以太網(wǎng)就規(guī)定其MTU值是1500字節(jié)。若所傳送的數(shù)據(jù)報長度超過數(shù)據(jù)鏈路層的MTU值,就必須把過長的數(shù)據(jù)報進行分片處理。
雖然使用盡可能長的IP數(shù)據(jù)報會使傳輸效率得到提高(因為每一個IP數(shù)據(jù)報中首部長度占數(shù)據(jù)報總長度的比例就會小些),但數(shù)據(jù)報短些也有好處。每一個IP數(shù)據(jù)報越短,路由器轉(zhuǎn)發(fā)的速度就越快。為此,IP協(xié)議規(guī)定,在互聯(lián)網(wǎng)中所有的主機和路由器,必須能夠接受長度不超過576字節(jié)的數(shù)據(jù)報。這是假定上層交下來的數(shù)據(jù)長度有512字節(jié)(合理的長度),加上最長的IP首部60字節(jié),再加上4字節(jié)的富余量,就得到576字節(jié)。當主機需要發(fā)送長度超過576字節(jié)的數(shù)據(jù)報時,應(yīng)當先了解一下,目的主機能否接受所要發(fā)送的數(shù)據(jù)報長度。否則,就要進行分片。
(5)標識(identification) 占16位。IP軟件在存儲器中維持一個計數(shù)器,每產(chǎn)生一個數(shù)據(jù)報,計數(shù)器就加1,并將此值賦給標識字段。但這個“標識”并不是序號,因為IP是無連接服務(wù),數(shù)據(jù)報不存在按序接收的問題。當數(shù)據(jù)報由于長度超過網(wǎng)絡(luò)的MTU而必須分片時,這個標識字段的值就被復制到所有的數(shù)據(jù)報片的標識字段中。相同的標識字段的值使分片后的各數(shù)據(jù)報片最后能正確地重裝成為原來的數(shù)據(jù)報。
(6)標志(flag) 占3位,但目前只有兩位有意義。
標志字段中的最低位記為MF(More Fragment)。MF=1即表示后面“還有分片”的數(shù)據(jù)報。MF=0表示這已是若干數(shù)據(jù)報片中的最后一個。
標志字段中間的一位記為DF(Don't Fragment),意思是“不能分片”。只有當DF=0時才允許分片。
(7)片偏移 占13位。片偏移指出:較長的分組在分片后,某片在原分組中的相對
位置。也就是說,相對于用戶數(shù)據(jù)字段的起點,該片從何處開始。片偏移以8個字節(jié)為偏移單位。這就是說,每個分片的長度一定是8字節(jié)(64位)的整數(shù)倍。
(8)生存時間 占8位,生存時間字段常用的英文縮寫是TTL(Time To Live),表明這是數(shù)據(jù)報在網(wǎng)絡(luò)中的壽命。由發(fā)出數(shù)據(jù)報的源點設(shè)置這個字段。其目的是防止無法交付的數(shù)據(jù)報無限制地在互聯(lián)網(wǎng)中兜圈子(例如從路由器R1轉(zhuǎn)發(fā)到R2,再轉(zhuǎn)發(fā)到R3,然后又轉(zhuǎn)發(fā)到R1),因而白白消耗網(wǎng)絡(luò)資源。最初的設(shè)計是以秒作為TTL值的單位。每經(jīng)過一個路由器時,就把TTL減去數(shù)據(jù)報在路由器所消耗掉的一段時間。若數(shù)據(jù)報在路由器消耗的時間小于1秒,就把TTL值減1。當TTL值減為零時,就丟棄這個數(shù)據(jù)報。
然而隨著技術(shù)的進步,路由器處理數(shù)據(jù)報所需的時間不斷在縮短,一般都遠遠小于1秒,后來就把TTL字段的功能改為“跳數(shù)限制”(但名稱不變)。路由器在每次轉(zhuǎn)發(fā)數(shù)據(jù)報之前就把TTL值減1。若TTL值減小到零,就丟棄這個數(shù)據(jù)報,不再轉(zhuǎn)發(fā)。因此,現(xiàn)在TTL的單位不再是秒,而是跳數(shù)。TTL的意義是指明數(shù)據(jù)報在互聯(lián)網(wǎng)中至多可經(jīng)過多少個路由器。顯然,數(shù)據(jù)報能在互聯(lián)網(wǎng)中經(jīng)過的路由器的最大數(shù)值是255。若把TTL的初始值設(shè)置為1,就表示這個數(shù)據(jù)報只能在本局域網(wǎng)中傳送。因為這個數(shù)據(jù)報一傳送到局域網(wǎng)上的某個路由器,在被轉(zhuǎn)發(fā)之前TTL值就減小到零,因而就會被這個路由器丟棄。
(9)協(xié)議 占8位,協(xié)議字段指出此數(shù)據(jù)報攜帶的數(shù)據(jù)是使用何種協(xié)議,以便使目的主機的IP層知道應(yīng)將數(shù)據(jù)部分上交給哪個協(xié)議進行處理。
常用的一些協(xié)議和相應(yīng)的協(xié)議字段值如下(8):
(10)首部檢驗和 占16位。這個字段只檢驗數(shù)據(jù)報的首部,但不包括數(shù)據(jù)部分。這是因為數(shù)據(jù)報每經(jīng)過一個路由器,路由器都要重新計算一下首部檢驗和(一些字段,如生存時間、標志、片偏移等都可能發(fā)生變化)。不檢驗數(shù)據(jù)部分可減少計算的工作量。為了進一步減小計算檢驗和的工作量,IP首部的檢驗和不采用復雜的CRC檢驗碼而采用下面的簡單計算方法:在發(fā)送方,先把IP數(shù)據(jù)報首部劃分為許多16位字的序列,并把檢驗和字段置零。用反碼算術(shù)運算(9)把所有16位字相加后,將得到的和的反碼寫入檢驗和字段。接收方收到數(shù)據(jù)報后,將首部的所有16位字再使用反碼算術(shù)運算相加一次。將得到的和取反碼,即得出接收方檢驗和的計算結(jié)果。若首部未發(fā)生任何變化,則此結(jié)果必為0,于是就保留這個數(shù)據(jù)報。否則即認為出差錯,并將此數(shù)據(jù)報丟棄。
————————————————
原文鏈接:網(wǎng)絡(luò)層——IP協(xié)議的轉(zhuǎn)發(fā)流程_計算機a發(fā)往計算機b數(shù)據(jù)包的路徑是什么-CSDN博客文章來源:http://www.zghlxwxcb.cn/news/detail-777177.html
【IP數(shù)據(jù)報】網(wǎng)絡(luò)層協(xié)議-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-777177.html
到了這里,關(guān)于【網(wǎng)絡(luò)】網(wǎng)絡(luò)層IP地址和IP數(shù)據(jù)報的格式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!