TCP/IP--網際協議IP

本篇結構:

  • 前言
  • IP地址

一、前言

網際協議IP是TCP/IP協議中最重要的兩個協議之一,也是最重要的互聯網標準協議之一。與ip協議配套的協議有:

  • 地址解析協議ARP(Address Resolution Protocol)
  • 網際控制報文協議ICMP(Internet Control Message Protocol)
  • 網際組管理協議IGMP(Internet Group Management Protocol)
  • 逆地址解析協議RARP(Reverse Address Resolution Protocol)(已被淘汰)

上圖顯示了網際協議IP同其三個配套協議的關系,它們都屬于TCP/IP協議中的網絡層。ARP在最下面,因為IP要經常使用這個協議。ICMP和IGMP在最上面,因為它們要使用IP協議,其報文作為IP數據報的數據部分。

二、IP地址

2.1、什么是IP

整個互聯網是一個單一的、抽象的網絡。IP地址就是給互聯網的每一臺主機(路由器)的每一個接口分配的一個在全世界范圍內唯一32位標識符。IP地址現在是由互聯網名字和數字分配機構ICANN進行分配。

2.2、IP地址的表示

IP地址是一個32位的二進制標識符(10000000000010110000001100011111),這樣的表示對我們來說可讀性很低,為了提高可讀性,往往把32位的IP地址分為4段,每段8位,中間插入空格(10000000 00001011 00000011 00011111),這只是顯示方便,計算機中并沒有真實轉變,為了更利于我們的記憶和識別,往往用等效的十進制數表示每段,并且每段之間加上一個點(128.11.3.31)。這是點分十進制記法。

2.3、分類的IP地址

分類的IP地址是指將固定的IP地址劃分為若干個固定的類,每一類都有兩個固定長度的字段組成。
IP地址::={<網絡號>,<主機號>} (::=意為“定義為”)
1.其中第一個字段是網絡號,標志著主機(路由器)所連接的網絡,網絡號是全網唯一的;
2.第二個字段是主機號,標志網絡號所指的網絡內的主機(路由器)。
分類的IP地址根據網絡號所占比特位個數不同,分為5類:A類、B類、C類、D類、E類,其中A、B、C類為單播地址,D類為多播地址,E類為保留地址。

2.4、劃分IP的原因

把IP地址分類,是這樣考慮的。各種網絡差異很大,有些網絡擁有很多主機,有些網絡擁有的主機相對較少,把IP地址劃分為A類、B類、C類能更好的滿足需求,當某個單位申請了一個IP地址時,實際是獲得了同樣網絡號的一個IP地址塊,其中的各臺主機號則由單位自行分配。

2.5、常用的3類IP地址

1.A類IP地址

  • 網絡號

A類地址的網絡號字段占1個字節,但前面的1位(0)已經固定,只剩下7位可以進行分配,即可指派的網絡號是126個(即2^7-2)。
減去2是因為:
網絡號字段為全0的IP地址是個保留地址,意思是“本網絡”;
網絡號為127(即01111111)保留作為本地軟件環回測試(loopback test)本主機的進程之間的通信只用。
若主機發送一個目的地址為環回地址(例如 127.0.0.1)的IP數據報,則本主機中的協議軟件就處理數據報中的數據,而不會把數據報發送到任何網絡。目的地址為環回地址的IP數據報永遠不會出現在任何網絡上,因為網絡號為127的地址根本不是一個網絡地址。

  • 主機號

A類地址的主機號占3個字節,因此每一個A類網絡中的最大主機數是2^24-2,即16777214。
減去2是因為:
全0的主機號字段表示該IP地址是“本主機”所連接到的單個網絡地址(例如,一主機的IP地址為5.6.7.8,則該主機所在的網絡地址就是5.0.0.0)。
全1的主機號字段表示該IP地址是“所有的”,即該網絡上的所有主機。

2.B類地址

  • 網絡號

B類地址的網絡號字段占2個字節,但前面的2位(1 0)已經固定,只剩下14位可以進行分配。
B類網絡地址128.0.0.0是不指派的,而可以指派的B類最小網絡地址是128.1.0.0(128.0.0.0是保留地址)。因此B類地址可指派的網絡數是2^14-1,即16383。

  • 主機號

B類地址的主機號占2個字節,每一個網絡上的最大主機數是2^16-2,即65534,這里需要減2是因為要扣除全0和全1的主機號。
整個B類地址空間共約2^30個地址,占有整個IP地址空間的25%。

3.C類IP地址

  • 網絡號

C類地址的網絡號字段占3個字節,但前面的3位(1 1 0)已經固定,只剩下21位可以進行分配。
C類網絡地址192.0.0.0是不指派的,而可以指派的C類最小網絡地址是192.0.1.0。因此B類地址可指派的網絡數是2^21-1,即2097151。

  • 主機號

C類地址的每一個網絡上的最大主機數是2^8-2,即254,這里需要減2是因為要扣除全0和全1的主機號。

2.6、IPv4私有地址空間

人們對IPv4單播地址空間的某些地址塊進行了預留,并將其指定為私有地址。私有地址空間專為不與公網(Internet)相連的網絡而預留。RFC 1918將下列地址塊定義為IPv4私有地址:

10.0.0.0~10.255.255.255;
172.16.0.0~172.31.255.255;
192.168.0.0~192.168.255.255。
RFC 1700載有已預留及已分配(Internet相關)參數的通用信息,包括已預留的IP地址信息[1]。使用網絡地址轉換(Network Address Translation,NAT)技術,啟用了IPv4私有地址空間的私有網絡仍然可以連接到公網(Internet)。

2.7、IP數據報的格式

IP數據報的格式能夠說明IP協議具有什么功能。下圖是IP數據報的完整格式。


  • 版本

占4位,指IP協議的版本。通信雙方使用的IP協議版本必須一致。目前廣泛使用的IP協議版本號為4(即IPv4)。

  • 首部長度

占4位,可表示的最大十進制數值是15,請注意,首部長度字段所表示數的單位是32字(1個32位字長是4字節),因此,首部長度字段的最小值是5(即0101),相當于IP首部長度為5×4=20字節,而當首部長度為1111時(即十進制15),即達到60個字節,當 IP 分組的首部長度不是4字節的整數倍時,必須利用最后的填充字段加以填充。因此數據部分永遠在 4字節的整數倍開始,這樣在實現 IP協議時較為方便。首部長度限制為 60字節的缺點是有時可能不夠用。這樣做的目的是希望用戶盡量減少開銷。最常用的首部長度就是 20 字節 (即首部長度為 0101),這時不使用任何選項。


  • 區分服務

占8位,用來獲得更好的服務。這個字段在舊標準中叫做服務類型,但實際上一直沒有被使用過。1998年IETF把這個字段改名為區分服務DS(Differentiated Services)。只有在使用區分服務時,這個字段才起作用。

  • 總長度

總長度指首部和數據之和的長度,單位為字節。總長度字段為16位,因此數據報的最大長度為216-1=65535字節。在IP層下面的每一種數據鏈路層都有自己的幀格式,其中包括幀格式中的數據字段的最大長度,即最大傳送單元 MTU (Maximum Transfer Unit)。當一個數據報封裝成鏈路層的幀時,此數據報的總長度 (即首部加上數據部分)一定不能超過下面的數據鏈路層的MTU值。若傳送的數據報長度超過MTU,就需把過長的數據報做分片處理。

  • 標識

占 16位。IP軟件在存儲器中維持一個計數器,每產生一個數據報,計數器就加 1,并將此值賦給標識字段。但這個“標識”并不是序號,因為 IP是無連接的服務,數據報不存在按序接收的問題。當數據報由于長度超過網絡的 MTU 而必須分片時,這個標識字段的值就被復制到所有的數據報的標識字段中。相同的標識字段的值使分片后的各數據報片最后能正確地重裝成為原來的數據報。

  • 標志(flag)

占3位,但目前只有2位有意義。
標志字段中的最低位記為MF(More Fragment)。MF=1即表示后面“還有分片”的數據報。MF=0表示這已是若干數據報片中的最后一個。
標志字段中間的一位記為DF(Don’t Fragment),意思是“不能分片”。只有當DF=0時才允許分片。


  • 片偏移

占13位。片偏移指出:較長的分組在分片后,某片在原分組中的相對位置。也就是說,相對用戶數據字段的起點,該片從何處開始。片偏移以8個字節為偏移單位。這就是說,每個分片的長度一定是8字節(64位)的整數倍。

  • 生存時間

占 8位,生存時間字段常用的英文縮寫是TTL (Time To Live),其表明數據報在網絡中的壽命。由發出數據報的源點設置這個字段。其目的是防止無法交付的數據報無限制地在因特網中兜圍子,因而白白消耗網絡資源。最初的設計是以秒作為 TTL的單位。每經過一個路由器時,就把TTL減去數據報在路由器消耗掉的一段時間。若數據報在路由器消耗的時間小于 1 秒,就把TTL值減 1。當 TTL值為 0時,就丟棄這個數據報。

  • 協議

占 8 位,協議字段指出此數據報攜帶的數據是使用何種協議,以便使目的主機的IP層知道應將數據部分上交給哪個處理過程。


  • 首部檢驗和

占 16位。這個字段只檢驗數據報的首部,但不包括數據部分。這是因為數據報每經過一個路由器,都要重新計算一下首都檢驗和 (一些字段,如生存時間、標志、片偏移等都可能發生變化)。不檢驗數據部分可減少計算的工作量。

  • 源地址

占32位。

  • 目的地址

占32位。

  • P數據報首部的可變部分

IP首部的可變部分就是一個可選字段。選項字段用來支持排錯、測量以及安全等措施,內容很豐富。此字段的長度可變,從1個字節到40個字節不等,取決于所選擇的項目。某些選項項目只需要1個字節,它只包括1個字節的選項代碼。但還有些選項需要多個字節,這些選項一個個拼接起來,中間不需要有分隔符,最后用全0的填充字段補齊成為4字節的整數倍。

增加首部的可變部分是為了增加IP數據報的功能,但這同時也使得IP數據報的首部長度成為可變的。這就增加了每一個路由器處理數據報的開銷。實際上這些選項很少被使用。新的IP版本IPv6就將IP數據報的首部長度做成固定的。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,237評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,957評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,248評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,356評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,081評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,485評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,534評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,720評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,263評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,025評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,204評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,787評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,461評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,874評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,105評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,945評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,205評論 2 375

推薦閱讀更多精彩內容

  • 網絡層簡介 1. 概念 為解決經由多條鏈路的交付問題,從而設計了網絡層。其主要負責主機到主機的交付,并且在分組經過...
    顧慎為閱讀 3,145評論 0 0
  • 1.這篇文章不是本人原創的,只是個人為了對這部分知識做一個整理和系統的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,112評論 6 174
  • 個人認為,Goodboy1881先生的TCP /IP 協議詳解學習博客系列博客是一部非常精彩的學習筆記,這雖然只是...
    貳零壹柒_fc10閱讀 5,083評論 0 8
  • 3.1 引言 IP是TCP/IP協議族中最為核心的協議。所有的TCP、UDP、ICMP及IGMP數據都以IP數據報...
    張芳濤閱讀 854評論 0 3
  • 地址解析協議ARP 物理這一級,主機和路由器是用物理地址來區別的。物理地址是一個本地地址,管轄范圍是本地網絡,所以...
    顧慎為閱讀 1,097評論 0 1