速看,三分钟带你了解IP协议!
我的目的非常簡單,就是和大家一起進步,無論啥時候,我們都會覺得需要學習的知識太多了,而且還時不時感覺自己啥都不會!你說扎心不,好了。廢話不多說,直接進入正題。
首先電信網的成功經驗讓網絡負責可靠交付
- 面向連接的通信方式
- 建立虛電路(Virtual Circuit),以保證雙方通信所需的一切網絡資源。
- 如果再使用可靠傳輸的網絡協議,就可使所發送的分組無差錯按序到達終點。
在了解IP協議之前先帶你了解一些基礎知識。
1.一些基礎知識
1.1虛電路是邏輯連接
虛電路表示這只是一條邏輯上的連接,分組都沿著這條邏輯連接按照存儲轉發方式傳送,而并不是真正建立了一條物理連接。
請注意,電路交換的電話通信是先建立了一條真正的連接。因此分組交換的虛連接和電路交換的連接只是類似,但并不完全一樣
1.2因特網采用的設計思路
1.3盡最大努力交付的好處
- 由于傳輸網絡不提供端到端的可靠傳輸服務,這就使網絡中的路由器可以做得比較簡單,而且價格低廉(與電信網的交換機相比較)。
- 如果主機(即端系統)中的進程之間的通信需要是可靠的,那么就由網絡的主機中的運輸層負責(包括差錯處理、流量控制等)。
- 采用這種設計思路的好處是:網絡的造價大大降低,運行方式靈活,能夠適應多種應用。
- 因特網能夠發展到今日的規模,充分證明了當初采用這種設計思路的正確性。
1.4虛電路服務與數據報服務的對比
| 思路 | 可靠通信應當由網絡來保證 | 可靠通信應當由用戶主機來保證 |
| 連接的建立 | 必須有 | 不需要 |
| 終點地址 | 僅在連接建立階段使用,每個分組使用短的虛電路號 | 每個分組都有終點的完整地址 |
| 分組的轉發 | 屬于同一條虛電路的分組均按照同一路由進行轉發 | 每個分組獨立選擇路由進行轉發 |
| 當結點出故障時 | 所有通過出故障的結點的虛電路均不能工作 | 出故障的結點可能會丟失分組,一些路由可能會發生變化 |
| 分組的順序 | 總是按發送順序到達終點 | 到達終點時不一定按發送順序 |
| 端到端的差錯處理和流量控制 | 可以由網絡負責,也可以由用戶主機負責 | 由用戶主機負責 |
1.5有關的網際協議
- 網際協議 IP 是 TCP/IP 體系中兩個最主要的協議之一。與 IP 協議配套使用的還有四個協議:
- 地址解析協議 ARP (Address Resolution Protocol)
- 逆地址解析協議 RARP (Reverse Address Resolution Protocol)
- 網際控制報文協議 ICMP (Internet Control Message Protocol)
- 網際組管理協議 IGMP (Internet Group Management Protocol)
1.6 網際層的 IP 協議及配套協議
1.7虛擬互聯網絡
互連在一起的網絡要進行通信,會遇到許多問題需要解決,如:
- 不同的尋址方案
- 不同的最大分組長度
- 不同的網絡接入機制
- 不同的超時控制
- 不同的差錯恢復方法
- 不同的狀態報告方法
- 不同的路由選擇技術
- 不同的用戶接入控制
- 不同的服務(面向連接服務和無連接服務)
- 不同的管理與控制方式
1.8 網絡互相連接起來需要的中間設備
| 物理層中繼系統 | 轉發器(repeater)。 |
| 數據鏈路層中繼系統 | 網橋或橋接器(bridge)。 |
| 網絡層中繼系統 | 路由器(router)。 |
| 網橋和路由器的混合物 | 橋路器(brouter)。 |
| 網絡層以上的中繼系統 | 網關(gateway)。 |
1.9 虛擬互連網絡的意義
- 所謂虛擬互連網絡也就是邏輯互連網絡,它的意思就是互連起來的各種物理網絡的異構性本來是客觀存在的,但是我們利用 IP 協議就可以使這些性能各異的網絡從用戶看起來好像是一個統一的網絡。
- 使用 IP 協議的虛擬互連網絡可簡稱為 IP 網。
- 使用虛擬互連網絡的好處是:當互聯網上的主機進行通信時,就好像在一個網絡上通信一樣,而看不見互連的各具體的網絡異構細節。
2. IP協議
2.1分類的 IP 地址
2.1.1 IP 地址及其表示方法
我們把整個因特網看成為一個單一的、抽象的網絡。IP 地址就是給每個連接在因特網上的主機(或路由器)分配一個在全世界范圍是唯一的 32 位的標識符。
IP 地址現在由因特網名字與號碼指派公司ICANN (Internet Corporation for Assigned Names and Numbers)進行分配
2.1.2 IP 地址的編址方法
-
分類的 IP 地址。這是最基本的編址方法,在 1981 年就通過了相應的標準協議。
-
子網的劃分。這是對最基本的編址方法的改進,其標準[RFC 950]在 1985 年通過。
-
構成超網。這是比較新的無分類編址方法。1993 年提出后很快就得到推廣應用。
2.1.3 分類 IP 地址
每一類地址都由兩個固定長度的字段組成,其中一個字段是網絡號 net-id,它標志主機(或路由器)所連接到的網絡,而另一個字段則是主機號 host-id,它標志該主機(或路由器)。
2.1.4點分十進制記法
2.1.5常用的三種類別的 IP 地址
2.2 IP 地址的一些重要特點
(1) IP 地址是一種分等級的地址結構。
分兩個等級的好處是:
- 第一,IP 地址管理機構在分配 IP 地址時只分配網絡號,而剩下的主機號則由得到該網絡號的單位自行分配。這樣就方便了 IP 地址的管理。
- 第二,路由器僅根據目的主機所連接的網絡號來轉發分組(而不考慮目的主機號),這樣就可以使路由表中的項目數大幅度減少,從而減小了路由表所占的存儲空間。
(2) 實際上 IP 地址是標志一個主機(或路由器)和一條鏈路的接口。
- 當一個主機同時連接到兩個網絡上時,該主機就必須同時具有兩個相應的 IP 地址,其網絡號 net-id 必須是不同的。這種主機稱為多歸屬主機(multihomed host)。
- 由于一個路由器至少應當連接到兩個網絡(這樣它才能將 IP 數據報從一個網絡轉發到另一個網絡),因此一個路由器至少應當有兩個不同的 IP 地址。
(3) 用轉發器或網橋連接起來的若干個局域網仍為一個網絡,因此這些局域網都具有同樣的網絡號 net-id。
(4) 所有分配到網絡號 net-id 的網絡,范圍很小的局域網,還是可能覆蓋很大地理范圍的廣域網,都是平等的。
(5)在同一個局域網上的主機或路由器的IP 地址中的網絡號必須是一樣的。
(6)路由器總是具有兩個或兩個以上的 IP 地址。路由器的每一個接口都有一個不同網絡號的 IP 地址。
2.3 IP地址與硬件地址
在具體的物理網絡的鏈路層只能看見 MAC 幀而看不見 IP 數據報
IP層抽象的互聯網屏蔽了下層很復雜的細節,在抽象的網絡層上討論問題,就能夠使用統一的、抽象的 IP 地址研究主機和主機或主機和路由器之間的通信
2.4 地址解析協議 ARP 和 逆地址解析協議 RARP
2.4.1 地址解析協議 ARP
不管網絡層使用的是什么協議,在實際網絡的鏈路上傳送數據幀時,最終還是必須使用硬件地址。
每一個主機都設有一個 ARP 高速緩存(ARP cache),里面有所在的局域網上的各主機和路由器的 IP 地址到硬件地址的映射表。
2.4.2 ARP 高速緩存的作用
- 為了減少網絡上的通信量,主機 A 在發送其 ARP 請求分組時,就將自己的 IP 地址到硬件地址的映射寫入 ARP 請求分組。
- 當主機 B 收到 A 的 ARP 請求分組時,就將主機 A 的這一地址映射寫入主機 B 自己的 ARP 高速緩存中。這對主機 B 以后向 A 發送數據報時就更方便了。
2.4.3 應當注意的問題
2.4.3 使用 ARP 的四種典型情況
2.4.4為什么我們不直接 使用硬件地址進行通信?
由于全世界存在著各式各樣的網絡,它們使用不同的硬件地址。要使這些異構網絡能夠互相通信就必須進行非常復雜的硬件地址轉換工作,因此幾乎是不可能的事。
連接到因特網的主機都擁有統一的 IP 地址,它們之間的通信就像連接在同一個網絡上那樣簡單方便,因為調用 ARP 來尋找某個路由器或主機的硬件地址都是由計算機軟件自動進行的,對用戶來說是看不見這種調用過程的。
2.4.5 逆地址解析協議 RARP
- 逆地址解析協議 RARP 使只知道自己硬件地址的主機能夠知道其 IP 地址。
- 這種主機往往是無盤工作站。 因此 RARP協議目前已很少使用。
2.5 IP數據報的格式
- 一個 IP 數據報由首部和數據兩部分組成。
- 首部的前一部分是固定長度,共 20 字節,是所有 IP 數據報必須具有的。
- 在首部的固定部分的后面是一些可選字段,其長度是可變的。
2.5.1 涉及到的一些概念:
-
版本——占 4 位,指 IP 協議的版本,目前的 IP 協議版本號為 4 (即 IPv4)
-
首部長度——占 4 位,可表示的最大數值是 15 個單位(一個單位為 4 字節)因此 IP 的首部長度的最大值是 60 字節
-
區分服務——占 8 位,用來獲得更好的服務,在舊標準中叫做服務類型,但實際上一直未被使用過。1998 年這個字段改名為區分服務。只有在使用區分服務(DiffServ)時,這個字段才起作用。在一般的情況下都不使用這個字段 。
-
總長度——占 16 位,指首部和數據之和的長度,單位為字節,因此數據報的最大長度為 65535 字節。總長度必須不超過最大傳送單元 MTU。
-
標識(identification) 占 16 位,它是一個計數器,用來產生數據報的標識。
-
標志(flag) 占 3 位,目前只有前兩位有意義。
標志字段的最低位是 MF (More Fragment)。MF = 1 表示后面“還有分片”。MF = 0 表示最后一個分片。
標志字段中間的一位是 DF (Don’t Fragment) 。只有當 DF = 0 時才允許分片。
-
片偏移(12 位)指出:較長的分組在分片后,某片在原分組中的相對位置。片偏移以 8 個字節為偏移單位
-
生存時間(8 位)記為 TTL (Time To Live),數據報在網絡中可通過的路由器數的最大值。
-
協議(8 位)字段指出此數據報攜帶的數據使用何種協議,以便目的主機的 IP 層將數據部分上交給哪個處理過程。
-
首部檢驗和(16 位)字段只檢驗數據報的首部,不檢驗數據部分。這里不采用 CRC 檢驗碼而采用簡單的計算方法。
-
源地址和目的地址都各占 4 字節
2.5.2 IP數據報的首部可變部分
- IP 首部的可變部分就是一個選項字段,用來支持排錯、測量以及安全等措施,內容很豐富。
- 選項字段的長度可變,從 1 個字節到 40 個字節不等,取決于所選擇的項目。
- 增加首部的可變部分是為了增加 IP 數據報的功能,但這同時也使得 IP 數據報的首部長度成為可變的。這就增加了每一個路由器處理數據報的開銷。
- 實際上這些選項很少被使用。
2.5.3 IP 層轉發分組的流程
- 有四個 A 類網絡通過三個路由器連接在一起。每一個網絡上都可能有成千上萬個主機。
- 可以想像,若按目的主機號來制作路由表,則所得出的路由表就會過于龐大。
- 但若按主機所在的網絡地址來制作路由表,那么每一個路由器中的路由表就只包含 4 個項目。這樣就可使路由表大大簡化。
- 在路由表中,對每一條路由,最主要的是(目的網絡地址,下一跳地址)
2.5.4查找路由表
根據目的網絡地址就能確定下一跳路由器,這樣做的結果是:
- IP 數據報最終一定可以找到目的主機所在目的網絡上的路由器(可能要通過多次的間接交付)。
- 只有到達最后一個路由器時,才試圖向目的主機進行直接交付。
2.5.5特定主機路由
- 這種路由是為特定的目的主機指明一個路由。
- 采用特定主機路由可使網絡管理人員能更方便地控制網絡和測試網絡,同時也可在需要考慮某種安全問題時采用這種特定主機路由。
2.5.6 默認路由(default route)
- 路由器還可采用默認路由以減少路由表所占用的空間和搜索路由表所用的時間。
- 這種轉發方式在一個網絡只有很少的對外連接時是很有用的。
- 默認路由在主機發送 IP 數據報時往往更能顯示出它的好處。
- 如果一個主機連接在一個小網絡上,而這個網絡只用一個路由器和因特網連接,那么在這種情況下使用默認路由是非常合適的。
2.5.7需要強調指出
- IP 數據報的首部中沒有地方可以用來指明“下一跳路由器的 IP 地址”。
- 當路由器收到待轉發的數據報,不是將下一跳路由器的 IP 地址填入 IP 數據報,而是送交下層的網絡接口軟件。
- 網絡接口軟件使用 ARP 負責將下一跳路由器的 IP 地址轉換成硬件地址,并將此硬件地址放在鏈路層的 MAC 幀的首部,然后根據這個硬件地址找到下一跳路由器。
2.5.8 分組轉發算法
- (1)從數據報的首部提取目的主機的 IP 地址 D, 得出目的網絡地址為 N。
- (2) 若網絡 N 與此路由器直接相連,則把數據報直接交付目的主機 D;否則是間接交付,執行(3)。
- (3) 若路由表中有目的地址為 D 的特定主機路由,則把數據報傳送給路由表中所指明的下一跳路由器;否則,執行(4)。
- (4) 若路由表中有到達網絡 N 的路由,則把數據報傳送給路由表指明的下一跳路由器;否則,執行(5)。
- (5) 若路由表中有一個默認路由,則把數據報傳送給路由表中所指明的默認路由器;否則,執行(6)。
- (6) 報告轉發分組出錯。
D, 得出目的網絡地址為 N。
- (2) 若網絡 N 與此路由器直接相連,則把數據報直接交付目的主機 D;否則是間接交付,執行(3)。
- (3) 若路由表中有目的地址為 D 的特定主機路由,則把數據報傳送給路由表中所指明的下一跳路由器;否則,執行(4)。
- (4) 若路由表中有到達網絡 N 的路由,則把數據報傳送給路由表指明的下一跳路由器;否則,執行(5)。
- (5) 若路由表中有一個默認路由,則把數據報傳送給路由表中所指明的默認路由器;否則,執行(6)。
- (6) 報告轉發分組出錯。
總結
以上是生活随笔為你收集整理的速看,三分钟带你了解IP协议!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吐血整理《计算机网络五层协议之物理层(下
- 下一篇: 什么?IP协议是什么你竟然不了解,那还不