天天看點

計算機網絡第四章:網絡層

1. 網絡層提供的兩種服務

在計算機網絡領域,網絡層應該向運輸層提供怎樣的服務(“面向連接配接”還是“無連接配接”)曾引起了長期的争論。

争論焦點的實質就是:在計算機通信中,可靠傳遞應當由誰來負責?是網絡還是端系統?

電信網的成功經驗讓網絡負責可靠傳遞

  • 面向連接配接的通信方式
  • 建立虛電路(Virtual Circuit),以保證雙方通信所需的一切網絡資源。
  • 如果再使用可靠傳輸的網絡協定,就可使所發送的分組無差錯按序到達終點。

虛電路服務

計算機網絡第四章:網絡層

虛電路是邏輯連接配接

  • 虛電路表示這隻是一條邏輯上的連接配接,分組都沿着這條邏輯連接配接按照存儲轉發方式傳送,而并不是真正建立了一條實體連接配接。
  • 請注意,電路交換的電話通信是先建立了一條真正的連接配接。是以分組交換的虛連接配接和電路交換的連接配接隻是類似,但并不完全一樣。

網際網路采用的設計思路

  • 網絡層向上隻提供簡單靈活的、無連接配接的、盡最大努力傳遞的資料報服務。
  • 網絡在發送分組時不需要先建立連接配接。每一個分組(即 IP資料報)獨立發送,與其前後的分組無關(不進行編号)。
  • 網絡層不提供服務品質的承諾。即所傳送的分組可能出錯、丢失、重複和失序(不按序到達終點),當然也不保證分組傳送的時限。

    盡最大努力傳遞的好處

  • 由于傳輸網絡不提供端到端的可靠傳輸服務,這就使網絡中的路由器可以做得比較簡單,而且價格低廉(與電信網的交換機相比較)。
  • 如果主機(即端系統)中的程序之間的通信需要是可靠的,那麼就由網絡的主機中的運輸層負責(包括差錯處理、流量控制等)。
  • 采用這種設計思路的好處是:網絡的造價大大降低,運作方式靈活,能夠适應多種應用。
  • 網際網路能夠發展到今日的規模,充分證明了當初采用這種設計思路的正确性。

資料報服務

計算機網絡第四章:網絡層

虛電路服務與資料報服務的對比

計算機網絡第四章:網絡層

2.網際協定IP

網際協定 IP 是 TCP/IP 體系中兩個最主要的協定之一。與 IP 協定配套使用的還有四個協定:

  • 位址解析協定 ARP (Address Resolution Protocol)
  • 逆位址解析協定 RARP (Reverse Address Resolution Protocol)
  • 網際控制封包協定 ICMP (Internet Control Message Protocol)
  • 網際組管理協定 IGMP (Internet Group Management Protocol)

網際層的 IP 協定及配套協定

計算機網絡第四章:網絡層

2.1 虛拟網際網路絡

互連在一起的網絡要進行通信,會遇到許多問題需要解決,如:

  • 不同的尋址方案
  • 不同的最大分組長度
  • 不同的網絡接入機制
  • 不同的逾時控制
  • 不同的差錯恢複方法
  • 不同的狀态報告方法
  • 不同的路由選擇技術
  • 不同的使用者接入控制
  • 不同的服務(面向連接配接服務和無連接配接服務)
  • 不同的管理與控制方式

網絡互相連接配接起來要使用一些中間裝置

中間裝置又稱為中間系統或中繼(relay)系統。

  • 實體層中繼系統:轉發器(repeater)。
  • 資料鍊路層中繼系統:網橋或橋接器(bridge)。
  • 網絡層中繼系統:路由器(router)。
  • 網橋和路由器的混合物:橋路器(brouter)。
  • 網絡層以上的中繼系統:網關(gateway)。

網絡互連使用路由器

當中繼系統是轉發器或網橋時,一般并不稱之為網絡互連,因為這僅僅是把一個網絡擴大了,而這仍然是一個網絡。

網關由于比較複雜,目前使用得較少。

網際網路都是指用路由器進行互連的網絡。

由于曆史的原因,許多有關 TCP/IP 的文獻将網絡層使用的路由器稱為網關。

互連網絡與虛拟互連網絡

計算機網絡第四章:網絡層

虛拟互連網絡的意義

所謂虛拟互連網絡也就是邏輯互連網絡,它的意思就是互連起來的各種實體網絡的異構性本來是客觀存在的,但是我們利用 IP 協定就可以使這些性能各異的網絡從使用者看起來好像是一個統一的網絡。

使用 IP 協定的虛拟互連網絡可簡稱為 IP 網。

使用虛拟互連網絡的好處是:當網際網路上的主機進行通信時,就好像在一個網絡上通信一樣,而看不見互連的各具體的網絡異構細節。

分組在網際網路中的傳送

計算機網絡第四章:網絡層

從網絡層看 IP 資料報的傳送

如果我們隻從網絡層考慮問題,那麼 IP 資料報就可以想象是在網絡層中傳送。

計算機網絡第四章:網絡層

2.2 分類的IP位址

IP位址及其表示方法

我們把整個網際網路看成為一個單一的、抽象的網絡。IP 位址就是給每個連接配接在網際網路上的主機(或路由器)配置設定一個在全世界範圍是唯一的 32 位的辨別符。

IP 位址現在由網際網路名字與号碼指派公司ICANN (Internet Corporation for Assigned Names and Numbers)進行配置設定

IP 位址的編址方法

分類的 IP 位址。這是最基本的編址方法,在 1981 年就通過了相應的标準協定。

子網的劃分。這是對最基本的編址方法的改進,其标準[RFC 950]在 1985 年通過。

構成超網。這是比較新的無分類編址方法。1993 年提出後很快就得到推廣應用。

分類 IP 位址

每一類位址都由兩個固定長度的字段組成,其中一個字段是網絡号 net-id,它标志主機(或路由器)所連接配接到的網絡,而另一個字段則是主機号 host-id,它标志該主機(或路由器)。

兩級的 IP 位址可以記為:

計算機網絡第四章:網絡層

IP 位址中的網絡号字段和主機号字段

計算機網絡第四章:網絡層

點分十進制記法

計算機網絡第四章:網絡層

常用的三種類别的IP位址

計算機網絡第四章:網絡層

IP 位址的一些重要特點

(1) IP 位址是一種分等級的位址結構。分兩個等級的好處是:

  • 第一,IP 位址管理機構在配置設定 IP 位址時隻配置設定網絡号,而剩下的主機号則由得到該網絡号的機關自行配置設定。這樣就友善了 IP 位址的管理。
  • 第二,路由器僅根據目的主機所連接配接的網絡号來轉發分組(而不考慮目的主機号),這樣就可以使路由表中的項目數大幅度減少,進而減小了路由表所占的存儲空間。

(2) 實際上 IP 位址是标志一個主機(或路由器)和一條鍊路的接口。

  • 當一個主機同時連接配接到兩個網絡上時,該主機就必須同時具有兩個相應的 IP 位址,其網絡号 net-id必須是不同的。這種主機稱為多歸屬主機(multihomed host)。
  • 由于一個路由器至少應當連接配接到兩個網絡(這樣它才能将 IP資料報從一個網絡轉發到另一個網絡),是以一個路由器至少應當有兩個不同的 IP 位址。

(3) 用轉發器或網橋連接配接起來的若幹個區域網路仍為一個網絡,是以這些區域網路都具有同樣的網絡号 net-id。

(4) 所有配置設定到網絡号 net-id 的網絡,範圍很小的區域網路,還是可能覆寫很大地理範圍的廣域網,都是平等的。

計算機網絡第四章:網絡層
計算機網絡第四章:網絡層

2.3 IP位址與硬體多點傳播

計算機網絡第四章:網絡層
計算機網絡第四章:網絡層
計算機網絡第四章:網絡層
  • 在 IP 層抽象的網際網路上隻能看到 IP 資料報,圖中的 IP1→IP2 表示從源位址 IP1 到目的位址 IP2 ,兩個路由器的 IP位址并不出現在 IP 資料報的首部中
  • 路由器隻根據目的站的 IP 位址的網絡号進行路由選擇
  • 在具體的實體網絡的鍊路層隻能看見 MAC幀而看不見 IP 資料報
  • IP層抽象的網際網路屏蔽了下層很複雜的細節,在抽象的網絡層上讨論問題,就能夠使用統一的、抽象的 IP 位址,研究主機和主機或主機和路由器之間的通信

2.4 位址解析協定ARP和逆位址解析協定RARP

計算機網絡第四章:網絡層

位址解析協定 ARP

  • 不管網絡層使用的是什麼協定,在實際網絡的鍊路上傳送資料幀時,最終還是必須使用硬體位址。
  • 每一個主機都設有一個 ARP 高速緩存(ARP cache),裡面有所在的區域網路上的各主機和路由器的 IP 位址到硬體位址的映射表。
  • 當主機 A 欲向本區域網路上的某個主機 B 發送 IP資料報時,就先在其 ARP 高速緩存中檢視有無主機 B 的 IP 位址。如有,就可查出其對應的硬體位址,再将此硬體位址寫入 MAC幀,然後通過區域網路将該 MAC 幀發往此硬體位址。
計算機網絡第四章:網絡層

ARP 高速緩存的作用

  • 為了減少網絡上的通信量,主機 A 在發送其 ARP 請求分組時,就将自己的 IP 位址到硬體位址的映射寫入 ARP 請求分組。
  • 當主機 B收到 A 的 ARP 請求分組時,就将主機 A 的這一位址映射寫入主機 B 自己的 ARP 高速緩存中。這對主機 B 以後向 A發送資料報時就更友善了。

應當注意的問題

  • ARP 是解決同一個區域網路上的主機或路由器的 IP 位址和硬體位址的映射問題。
  • 如果所要找的主機和源主機不在同一個區域網路上,那麼就要通過ARP找到一個位于本區域網路上的某個路由器的硬體位址,然後把分組發送給這個路由器,讓這個路由器把分組轉發給下一個網絡。剩下的工作就由下一個網絡來做。
  • 從IP位址到硬體位址的解析是自動進行的,主機的使用者對這種位址解析過程是不知道的。
  • 隻要主機或路由器要和本網絡上的另一個已知 IP 位址的主機或路由器進行通信,ARP 協定就會自動地将該 IP 位址解析為鍊路層所需要的硬體位址。

使用 ARP 的四種典型情況

  • 發送方是主機,要把IP資料報發送到本網絡上的另一個主機。這時用 ARP 找到目的主機的硬體位址。
  • 發送方是主機,要把 IP資料報發送到另一個網絡上的一個主機。這時用 ARP 找到本網絡上的一個路由器的硬體位址。剩下的工作由這個路由器來完成。
  • 發送方是路由器,要把 IP 資料報轉發到本網絡上的一個主機。這時用 ARP 找到目的主機的硬體位址。
  • 發送方是路由器,要把 IP資料報轉發到另一個網絡上的一個主機。這時用 ARP 找到本網絡上的一個路由器的硬體位址。剩下的工作由這個路由器來完成。

什麼我們不直接使用硬體位址進行通信?

  • 由于全世界存在着各式各樣的網絡,它們使用不同的硬體位址。要使這些異構網絡能夠互相通信就必須進行非常複雜的硬體位址轉換工作,是以幾乎是不可能的事。
  • 連接配接到網際網路的主機都擁有統一的 IP 位址,它們之間的通信就像連接配接在同一個網絡上那樣簡單友善,因為調用 ARP

    來尋找某個路由器或主機的硬體位址都是由計算機軟體自動進行的,對使用者來說是看不見這種調用過程的。

逆位址解析協定

  • 逆位址解析協定 RARP 使隻知道自己硬體位址的主機能夠知道其 IP 位址。
  • 這種主機往往是無盤工作站。 是以RARP協定目前已很少使用。

2.5 IP 資料報的格式

  • 一個 IP 資料報由首部和資料兩部分組成。
  • 首部的前一部分是固定長度,共 20 位元組,是所有 IP 資料報必須具有的。
  • 在首部的固定部分的後面是一些可選字段,其長度是可變的。
    計算機網絡第四章:網絡層
  1. IP 資料報首部的固定部分中的各字段

    版本——占 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 時才允許分片。

    片偏移(13 位)指出:較長的分組在分片後,某片在原分組中的相對位置。片偏移以 8 個位元組為偏移機關。

    【例4-1】 IP 資料報分片

    計算機網絡第四章:網絡層

    生存時間(8 位)記為 TTL (Time To Live),資料報在網絡中可通過的路由器數的最大值。

    協定(8 位)字段指出此資料報攜帶的資料使用何種協定,以便目的主機的 IP 層将資料部分上交給哪個處理過程。

    計算機網絡第四章:網絡層
    首部檢驗和(16 位)字段隻檢驗資料報的首部不檢驗資料部分。這裡不采用 CRC 檢驗碼而采用簡單的計算方法。
    計算機網絡第四章:網絡層
    源位址和目的位址都各占 4 位元組
  2. IP資料報首部的可變部分

    IP 首部的可變部分就是一個選項字段,用來支援排錯、測量以及安全等措施,内容很豐富。

    選項字段的長度可變,從 1 個位元組到 40 個位元組不等,取決于所選擇的項目。

    增加首部的可變部分是為了增加 IP 資料報的功能,但這同時也使得 IP 資料報的首部長度成為可變的。這就增加了每一個路由器處理資料報的開銷。

    實際上這些選項很少被使用。

2.6 IP層轉發分組的流程

  • 有四個 A 類網絡通過三個路由器連接配接在一起。每一個網絡上都可能有成千上萬個主機。
  • 可以想像,若按目的主機号來制作路由表,則所得出的路由表就會過于龐大。
  • 但若按主機所在的網絡位址來制作路由表,那麼每一個路由器中的路由表就隻包含 4 個項目。這樣就可使路由表大大簡化。
    計算機網絡第四章:網絡層

查找路由表

根據目的網絡位址就能确定下一跳路由器,這樣做的結果是:

- IP 資料報最終一定可以找到目的主機所在目的網絡上的路由器(可能要通過多次的間接傳遞)。

- 隻有到達最後一個路由器時,才試圖向目的主機進行直接傳遞。

特定主機路由

  • 這種路由是為特定的目的主機指明一個路由。
  • 采用特定主機路由可使網絡管理人員能更友善地控制網絡和測試網絡,同時也可在需要考慮某種安全問題時采用這種特定主機路由。

預設路由(default route)

  • 路由器還可采用預設路由以減少路由表所占用的空間和搜尋路由表所用的時間。
  • 這種轉發方式在一個網絡隻有很少的對外連接配接時是很有用的。
  • 預設路由在主機發送 IP 資料報時往往更能顯示出它的好處。
  • 如果一個主機連接配接在一個小網絡上,而這個網絡隻用一個路由器和網際網路連接配接,那麼在這種情況下使用預設路由是非常合适的。

隻要目的網絡不是 N1 和 N2,就一律選擇預設路由,把資料報先間接傳遞路由器 R1,讓 R1 再轉發給下一個路由器。

計算機網絡第四章:網絡層

必須強調指出

  • IP 資料報的首部中沒有地方可以用來指明“下一跳路由器的 IP 位址”。
  • 當路由器收到待轉發的資料報,不是将下一跳路由器的 IP 位址填入IP 資料報,而是送交下層的網絡接口軟體。
  • 網絡接口軟體使用 ARP 負責将下一跳路由器的 IP位址轉換成硬體位址,并将此硬體位址放在鍊路層的 MAC 幀的首部,然後根據這個硬體位址找到下一跳路由器。

分組轉發算法

(1) 從資料報的首部提取目的主機的 IP 位址 D, 得出目的網絡位址為 N。

(2) 若網絡 N 與此路由器直接相連,則把資料報直接傳遞目的主機 D;否則是間接傳遞,執行(3)。

(3) 若路由表中有目的位址為 D 的特定主機路由,則把資料報傳送給路由表中所指明的下一跳路由器;否則,執行(4)。

(4) 若路由表中有到達網絡 N 的路由,則把資料報傳送給路由表指明的下一跳路由器;否則,執行(5)。

(5) 若路由表中有一個預設路由,則把資料報傳送給路由表中所指明的預設路由器;否則,執行(6)。

(6) 報告轉發分組出錯。

3 劃分子網和構造超網

3.1 劃分子網

  • 從兩級 IP 位址到三級 IP 位址

    在 ARPANET 的早期,IP 位址的設計确實不夠合理。

    IP 位址空間的使用率有時很低。

    給每一個實體網絡配置設定一個網絡号會使路由表變得太大因而使網絡性能變壞。

    兩級的 IP 位址不夠靈活。

    三級的 IP 位址
  • 從 1985 年起在 IP 位址中又增加了一個“子網号字段”,使兩級的 IP 位址變成為三級的 IP 位址。
  • 這種做法叫作劃分子網(subnetting) 。劃分子網已成為網際網路的正式标準協定。

    劃分子網的基本思路

  • 劃分子網純屬一個機關内部的事情。機關對外仍然表現為沒有劃分子網的網絡。
  • 從主機号借用若幹個位作為子網号 subnet-id,而主機号host-id 也就相應減少了若幹個位。
    計算機網絡第四章:網絡層
  • 凡是從其他網絡發送給本機關某個主機的 IP 資料報,仍然是根據 IP 資料報的目的網絡号 net-id,先找到連接配接在本機關網絡上的路由器。
  • 然後此路由器在收到 IP 資料報後,再按目的網絡号 net-id 和子網号 subnet-id 找到目的子網。
  • 最後就将 IP資料報直接傳遞目的主機。

    一個未劃分子網的 B 類網絡145.13.0.0

    計算機網絡第四章:網絡層
    劃分為三個子網後對外仍是一個網絡
    計算機網絡第四章:網絡層
    劃分子網後變成了三級結構
  • 當沒有劃分子網時,IP 位址是兩級結構。
  • 劃分子網後 IP 位址就變成了三級結構。
  • 劃分子網隻是把 IP 位址的主機号 host-id,這部分進行再劃分,而不改變 IP 位址原來的網絡号 net-id。
  • 子網路遮罩

    從一個 IP 資料報的首部并無法判斷源主機或目的主機所連接配接的網絡是否進行了子網劃分。

    使用子網路遮罩(subnet mask)可以找出 IP 位址中的子網部分。

    IP 位址的各字段和子網路遮罩

    計算機網絡第四章:網絡層
    (IP 位址) AND (子網路遮罩) =網絡位址
    計算機網絡第四章:網絡層
    預設子網路遮罩
    計算機網絡第四章:網絡層
    子網路遮罩是一個重要屬性
  • 子網路遮罩是一個網絡或一個子網的重要屬性。
  • 路由器在和相鄰路由器交換路由資訊時,必須把自己所在網絡(或子網)的子網路遮罩告訴相鄰路由器。
  • 路由器的路由表中的每一個項目,除了要給出目的網絡位址外,還必須同時給出該網絡的子網路遮罩。
  • 若一個路由器連接配接在兩個子網上就擁有兩個網絡位址和兩個子網路遮罩。

【例4-2】已知 IP 位址是 141.14.72.24,子網路遮罩是 255.255.192.0。試求網絡位址。

計算機網絡第四章:網絡層

【例4-3】在上例中,若子網路遮罩改為255.255.224.0。試求網絡位址,讨論所得結果。

計算機網絡第四章:網絡層

3.2 使用子網路遮罩的分組轉發過程

  • 在不劃分子網的兩級 IP 位址下,從 IP 位址得出網絡位址是個很簡單的事。
  • 但在劃分子網的情況下,從 IP位址卻不能唯一地得出網絡位址來,這是因為網絡位址取決于那個網絡所采用的子網路遮罩,但資料報的首部并沒有提供子網路遮罩的資訊。
  • 是以分組轉發的算法也必須做相應的改動。

在劃分子網的情況下路由器轉發分組的算法

(1) 從收到的分組的首部提取目的 IP 位址 D。

(2) 先用各網絡的子網路遮罩和 D 逐位相“與”,看是否和相應的網絡位址比對。若比對,則将分組直接傳遞。否則就是間接傳遞,執行(3)。

(3) 若路由表中有目的位址為 D 的特定主機路由,則将分組傳送給指明的下一跳路由器;否則,執行(4)。

(4) 對路由表中的每一行的子網路遮罩和 D 逐位相“與”,若其結果與該行的目的網絡位址比對,則将分組傳送給該行指明的下一跳路由器;否則,執行(5)。

(5) 若路由表中有一個預設路由,則将分組傳送給路由表中所指明的預設路由器;否則,執行(6)。

(6) 報告轉發分組出錯。

計算機網絡第四章:網絡層
計算機網絡第四章:網絡層

主機 H1 首先将本子網的子網路遮罩 255.255.255.128與分組的 IP 位址 128.30.33.138 逐比特相“與”(AND 操作)

計算機網絡第四章:網絡層
計算機網絡第四章:網絡層
計算機網絡第四章:網絡層
計算機網絡第四章:網絡層

3.3 無分類編址CIDR

  1. 網絡字首

    劃分子網在一定程度上緩解了網際網路在發展中遇到的困難。然而在 1992 年網際網路仍然面臨三個必須盡早解決的問題,這就是:

    B 類位址在 1992 年已配置設定了近一半,眼看就要在 1994 年 3 月全部配置設定完畢!

    網際網路主幹網上的路由表中的項目數急劇增長(從幾千個增長到幾萬個)。

    整個 IPv4 的位址空間最終将全部耗盡。

    IP編址問題的演進
  • 1987 年,RFC 1009 就指明了在一個劃分子網的網絡中可同時使用幾個不同的子網路遮罩。使用變長子網路遮罩 VLSM (Variable Length Subnet Mask)可進一步提高 IP 位址資源的使用率。
  • 在 VLSM的基礎上又進一步研究出無分類編址方法,它的正式名字是無分類域間路由選擇 CIDR (Classless Inter-Domain Routing)。

    CIDR 最主要的特點

  • CIDR 消除了傳統的 A 類、B 類和 C 類位址以及劃分子網的概念,因而可以更加有效地配置設定 IPv4 的位址空間。
  • CIDR使用各種長度的“網絡字首”(network-prefix)來代替分類位址中的網絡号和子網号。
  • IP位址從三級編址(使用子網路遮罩)又回到了兩級編址。

    無分類的兩級編址

  • 無分類的兩級編址的記法是:
  • IP位址 ::= {<網絡字首>, <主機号>}
  • CIDR還使用“斜線記法”(slash notation),它又稱為CIDR記法,即在 IP位址面加上一個斜線“/”,然後寫上網絡字首所占的位數(這個數值對應于三級編址中子網路遮罩中 1 的個數)。
  • CIDR把網絡字首都相同的連續的 IP 位址組成“CIDR 位址塊”。

    CIDR 位址塊

  • 128.14.32.0/20 表示的位址塊共有 212 個位址(因為斜線後面的 20 是網絡字首的位數,是以這個位址的主機号是 12 位)。
  • 這個位址塊的起始位址是 128.14.32.0。
  • 在不需要指出位址塊的起始位址時,也可将這樣的位址塊簡稱為“/20 位址塊”。
  • 128.14.32.0/20 位址塊的最小位址:128.14.32.0
  • 128.14.32.0/20 位址塊的最大位址:128.14.47.255
  • 全 0 和全 1 的主機号位址一般不使用。
    計算機網絡第四章:網絡層
    路由聚合(route aggregation)
  • 一個 CIDR位址塊可以表示很多位址,這種位址的聚合常稱為路由聚合,它使得路由表中的一個項目可以表示很多個(例如上千個)原來傳統分類位址的路由。
  • 路由聚合也稱為構成超網(supernetting)。
  • CIDR 雖然不使用子網了,但仍然使用“掩碼”這一名詞(但不叫子網路遮罩)。
  • 對于 /20位址塊,它的掩碼是 20 個連續的 1。 斜線記法中的數字就是掩碼中1的個數。

    CIDR 記法的其他形式*

  • 10.0.0.0/10 可簡寫為 10/10,也就是把點分十進制中低位連續的 0 省略。
  • 10.0.0.0/10 隐含地指出 IP 位址10.0.0.0 的掩碼是 255.192.0.0。此掩碼可表示為
計算機網絡第四章:網絡層
  • 10.0.0.0/10 可簡寫為 10/10,也就是将點分十進制中低位連續的 0 省略。
  • 10.0.0.0/10 相當于指出 IP 位址 10.0.0.0 的掩碼是 255.192.0.0,即 11111111 11000000 00000000 00000000
  • 網絡字首的後面加一個星号 * 的表示方法,如 00001010 00*,在星号 * 之前是網絡字首,而星号 * 表示 IP 位址中的主機号,可以是任意值。

    構成超網

  • 字首長度不超過 23 位的 CIDR 位址塊都包含了多個 C 類位址。
  • 這些 C 類位址合起來就構成了超網。
  • CIDR位址塊中的位址數一定是 2 的整數次幂。
  • 網絡字首越短,其位址塊所包含的位址數就越多。而在三級結構的IP位址中,劃分子網是使網絡字首變長。

    CIDR 位址塊劃分舉例

    計算機網絡第四章:網絡層
    計算機網絡第四章:網絡層
  1. 最長字首比對

    使用 CIDR 時,路由表中的每個項目由“網絡字首”和“下一跳位址”組成。在查找路由表時可能會得到不止一個比對結果。

    應當從比對結果中選擇具有最長網絡字首的路由:最長字首比對(longest-prefix matching)。

    網絡字首越長,其位址塊就越小,因而路由就越具體(more specific) 。

    最長字首比對又稱為最長比對或最佳比對。

    計算機網絡第四章:網絡層
    計算機網絡第四章:網絡層
    最長字首比對
    計算機網絡第四章:網絡層
  2. 使用二叉線索查找路由表

    當路由表的項目數很大時,怎樣設法減小路由表的查找時間就成為一個非常重要的問題。

    為了進行更加有效的查找,通常是将無分類編址的路由表存放在一種層次的資料結構中,然後自上而下地按層次進行查找。這裡最常用的就是二叉線索(binary trie)。

    IP 位址中從左到右的比特值決定了從根結點逐層向下層延伸的路徑,而二叉線索中的各個路徑就代表路由表中存放的各個位址。

    為了提高二叉線索的查找速度,廣泛使用了各種壓縮技術。

    用 5 個字首構成的二叉線索

    計算機網絡第四章:網絡層

4. 網際控制封包協定ICMP

  • 為了提高 IP 資料報傳遞成功的機會,在網際層使用了網際控制封包協定 ICMP (Internet Control Message Protocol)。
  • ICMP 允許主機或路由器報告差錯情況和提供有關異常情況的報告。
  • ICMP 不是高層協定,而是 IP 層的協定。
  • ICMP 封包作為 IP 層資料報的資料,加上資料報的首部,組成 IP 資料報發送出去。

    ICMP 封包的格式

    計算機網絡第四章:網絡層

4.1 ICMP封包的種類

  • ICMP 封包的種類有兩種,即 ICMP 差錯報告封包和 ICMP 詢問封包。
  • ICMP 封包的前 4個位元組是統一的格式,共有三個字段:即類型、代碼和檢驗和。接着的 4 個位元組的内容與 ICMP 的類型有關。

ICMP 差錯報告封包共有 5 種

  • 終點不可達
  • 源點抑制(Source quench)
  • 時間超過
  • 參數問題
  • 改變路由(重定向)(Redirect)

ICMP 差錯報告封包的資料字段的内容

計算機網絡第四章:網絡層

不應發送 ICMP 差錯報告封包的幾種情況

  • 對 ICMP 差錯報告封包不再發送 ICMP 差錯報告封包。
  • 對第一個分片的資料報片的所有後續資料報片都不發送 ICMP 差錯報告封包。
  • 對具有多點傳播位址的資料報都不發送 ICMP 差錯報告封包。
  • 對具有特殊位址(如127.0.0.0 或 0.0.0.0)的資料報不發送ICMP 差錯報告封包。

ICMP 詢問封包有兩種

  • 回送請求和回答封包
  • 時間戳請求和回答封包

下面的幾種 ICMP 封包不再使用

  • 資訊請求與回答封包
  • 掩碼位址請求和回答封包
  • 路由器詢問和通告封包

4.2 ICMP的應用舉例PING (Packet InterNet Groper)

  • PING 用來測試兩個主機之間的連通性。
  • PING 使用了 ICMP 回送請求與回送回答封包。
  • PING 是應用層直接使用網絡層 ICMP的例子,它沒有通過運輸層的 TCP 或UDP。

    PING 的應用舉例

    計算機網絡第四章:網絡層
    Traceroute 的應用舉例
    計算機網絡第四章:網絡層

5. 網際網路的路由選擇協定

5.1 有關路由選擇協定的幾個基本概念

  1. 理想的路由算法

    算法必須是正确的和完整的。

    算法在計算上應簡單。

    算法應能适應通信量和網絡拓撲的變化,這就是說,要有自适應性。

    算法應具有穩定性。

    算法應是公平的。

    算法應是最佳的。

    關于“最佳路由”

  • 不存在一種絕對的最佳路由算法。
  • 所謂“最佳”隻能是相對于某一種特定要求下得出的較為合理的選擇而已。
  • 實際的路由選擇算法,應盡可能接近于理想的算法。
  • 路由選擇是個非常複雜的問題

    它是網絡中的所有結點共同協調工作的結果。

    路由選擇的環境往往是不斷變化的,而這種變化有時無法事先知道。

從路由算法的自适應性考慮

  • 靜态路由選擇政策——即非自适應路由選擇,其特點是簡單和開銷較小,但不能及時适應網絡狀态的變化。
  • 動态路由選擇政策——即自适應路由選擇,其特點是能較好地适應網絡狀态的變化,但實作起來較為複雜,開銷也比較大。
  • 分層次的路由選擇協定

    網際網路采用分層次的路由選擇協定。

    網際網路的規模非常大。如果讓所有的路由器知道所有的網絡應怎樣到達,則這種路由表将非常大,處理起來也太花時間。而所有這些路由器之間交換路由資訊所需的帶寬就會使網際網路的通信鍊路飽和。

    許多機關不願意外界了解自己機關網絡的布局細節和本部門所采用的路由選擇協定(這屬于本部門内部的事情),但同時還希望連接配接到網際網路上。

    自治系統 AS(Autonomous System)

  • 自治系統 AS 的定義:在單一的技術管理下的一組路由器,而這些路由器使用一種 AS 内部的路由選擇協定和共同的度量以确定分組在該 AS内的路由,同時還使用一種 AS 之間的路由選擇協定用以确定分組在 AS之間的路由。
  • 現在對自治系統 AS 的定義是強調下面的事實:盡管一個AS 使用了多種内部路由選擇協定和度量,但重要的是一個 AS 對其他 AS 表現出的是一個單一的和一緻的路由選擇政策。

    網際網路有兩大類路由選擇協定

  • 内部網關協定 IGP (Interior Gateway Protocol) 即在一個自治系統内部使用的路由選擇協定。目前這類路由選擇協定使用得最多,如 RIP 和 OSPF 協定。
  • 外部網關協定EGP(External Gateway Protocol) 若源站和目的站處在不同的自治系統中,當資料報傳到一個自治系統的邊界時,就需要使用一種協定将路由選擇資訊傳遞到另一個自治系統中。這樣的協定就是外部網關協定EGP。在外部網關協定中目前使用最多的是 BGP-4。

自治系統和内部網關協定、外部網關協定

計算機網絡第四章:網絡層

這裡要指出兩點

  • 網際網路的早期 RFC 文檔中未使用“路由器”而是使用“網關”這一名詞。但是在新的 RFC文檔中又使用了“路由器”這一名詞。應當把這兩個屬于當作同義詞。
  • IGP 和 EGP 是協定類别的名稱。但 RFC 在使用 EGP這個名詞時出現了一點混亂,因為最早的一個外部網關協定的協定名字正好也是 EGP。是以在遇到名詞 EGP 時,應弄清它是指舊的協定 EGP還是指外部網關協定 EGP 這個類别。

    網際網路的路由選擇協定

  • 内部網關協定 IGP:具體的協定有多種,如 RIP 和 OSPF 等。
  • 外部網關協定 EGP:目前使用的協定就是 BGP。

5.2 内部網關協定RIP

  1. 工作原理

    路由資訊協定 RIP 是内部網關協定 IGP中最先得到廣泛使用的協定。

    RIP 是一種分布式的基于距離向量的路由選擇協定。

    RIP 協定要求網絡中的每一個路由器都要維護從它自己到其他每一個目的網絡的距離記錄。

    “距離”的定義

  • 從一路由器到直接連接配接的網絡的距離定義為 1。
  • 從一個路由器到非直接連接配接的網絡的距離定義為所經過的路由器數加 1。
  • RIP協定中的“距離”也稱為“跳數”(hop count),因為每經過一個路由器,跳數就加 1。
  • 這裡的“距離”實際上指的是“最短距離”。
  • RIP 認為一個好的路由就是它通過的路由器的數目少,即“距離短”。
  • RIP 允許一條路徑最多隻能包含 15 個路由器。
  • “距離”的最大值為16 時即相當于不可達。可見 RIP 隻适用于小型網際網路。
  • RIP 不能在兩個網絡之間同時使用多條路由。RIP選擇一個具有最少路由器的路由(即最短路由),哪怕還存在另一條高速(低延遲時間)但路由器較多的路由。

    RIP 協定的三個要點

  • 僅和相鄰路由器交換資訊。
  • 交換的資訊是目前本路由器所知道的全部資訊,即自己的路由表。
  • 按固定的時間間隔交換路由資訊,例如,每隔 30秒。

    路由表的建立

  • 路由器在剛剛開始工作時,隻知道到直接連接配接的網絡的距離(此距離定義為1)。
  • 以後,每一個路由器也隻和數目非常有限的相鄰路由器交換并更新路由資訊。
  • 經過若幹次更新後,所有的路由器最終都會知道到達本自治系統中任何一個網絡的最短距離和下一跳路由器的位址。
  • RIP協定的收斂(convergence)過程較快,即在自治系統中所有的結點都得到正确的路由選擇資訊的過程。
  1. 距離向量算法
    計算機網絡第四章:網絡層
    路由器之間交換資訊
  • RIP協定讓網際網路中的所有路由器都和自己的相鄰路由器不斷交換路由資訊,并不斷更新其路由表,使得從每一個路由器到每一個目的網絡的路由都是最短的(即跳數最少)。
  • 雖然所有的路由器最終都擁有了整個自治系統的全局路由資訊,但由于每一個路由器的位置不同,它們的路由表當然也應當是不同的。
  1. RIP2協定的封包格式
    計算機網絡第四章:網絡層
    RIP2 的封包由首部和路由部分組成
  • RIP2 封包中的路由部分由若幹個路由資訊組成。每個路由資訊需要用 20 個位元組。
  • 位址族辨別符(又稱為位址類别)字段用來标志所使用的位址協定。
  • 路由标記填入自治系統的号碼,這是考慮使RIP 有可能收到本自治系統以外的路由選擇資訊。
  • 再後面指出某個網絡位址、該網絡的子網路遮罩、下一跳路由器位址以及到此網絡的距離。

    RIP 協定的優缺點

  • RIP 存在的一個問題是當網絡出現故障時,要經過比較長的時間才能将此資訊傳送到所有的路由器。

    RIP 協定最大的優點就是實作簡單,開銷較小。

    RIP 限制了網絡的規模,它能使用的最大距離為 15(16 表示不可達)。

    路由器之間交換的路由資訊是路由器中的完整路由表,因而随着網絡規模的擴大,開銷也就增加。

5.3 内部網關協定OSPF(Open Shortest Path First)

  1. OSPF協定的基本特點
  • “開放”表明 OSPF 協定不是受某一家廠商控制,而是公開發表的。
  • “最短路徑優先”是因為使用了 Dijkstra 提出的最短路徑算法SPF
  • OSPF 隻是一個協定的名字,它并不表示其他的路由選擇協定不是“最短路徑優先”。
  • 是分布式的鍊路狀态協定。

    三個要點

  • 向本自治系統中所有路由器發送資訊,這裡使用的方法是洪泛法。
  • 發送的資訊就是與本路由器相鄰的所有路由器的鍊路狀态,但這隻是路由器所知道的部分資訊。
    “鍊路狀态”就是說明本路由器都和哪些路由器相鄰,以及該鍊路的“度量”(metric)。
  • 隻有當鍊路狀态發生變化時,路由器才用洪泛法向所有路由器發送此資訊。

    鍊路狀态資料庫(link-state database)

  • 由于各路由器之間頻繁地交換鍊路狀态資訊,是以所有的路由器最終都能建立一個鍊路狀态資料庫。
  • 這個資料庫實際上就是全網的拓撲結構圖,它在全網範圍内是一緻的(這稱為鍊路狀态資料庫的同步)。
  • OSPF 的鍊路狀态資料庫能較快地進行更新,使各個路由器能及時更新其路由表。OSPF 的更新過程收斂得快是其重要優點。

OSPF的區域(area)

  • 為了使 OSPF 能夠用于規模很大的網絡,OSPF 将一個自治系統再劃分為若幹個更小的範圍,叫作區域。
  • 一個區域都有一個 32 位的區域辨別符(用點分十進制表示)。
  • 區域也不能太大,在一個區域内的路由器最好不超過 200 個。

    OSPF 劃分為兩種不同的區域

    計算機網絡第四章:網絡層
    劃分區域
  • 劃分區域的好處就是将利用洪泛法交換鍊路狀态資訊的範圍局限于每一個區域而不是整個的自治系統,這就減少了整個網絡上的通信量。
  • 在一個區域内部的路由器隻知道本區域的完整網絡拓撲,而不知道其他區域的網絡拓撲的情況。
  • OSPF 使用層次結構的區域劃分。在上層的區域叫作主幹區域(backbone area)。主幹區域的辨別符規定為0.0.0.0。主幹區域的作用是用來連通其他在下層的區域。

    主幹路由器

    計算機網絡第四章:網絡層
    區域邊界路由器
    計算機網絡第四章:網絡層
    OSPF 直接用 IP 資料報傳送
  • OSPF 不用 UDP 而是直接用 IP 資料報傳送。
  • OSPF 構成的資料報很短。這樣做可減少路由資訊的通信量。
  • 資料報很短的另一好處是可以不必将長的資料報分片傳送。分片傳送的資料報隻要丢失一個,就無法組裝成原來的資料報,而整個資料報就必須重傳。

    OSPF 的其他特點

  • OSPF 對不同的鍊路可根據 IP 分組的不同服務類型 TOS 而設定成不同的代價。是以,OSPF 對于不同類型的業務可計算出不同的路由。
  • 如果到同一個目的網絡有多條相同代價的路徑,那麼可以将通信量配置設定給這幾條路徑。這叫作多路徑間的負載平衡。
  • 所有在 OSPF 路由器之間交換的分組都具有鑒别的功能。
  • 支援可變長度的子網劃分和無分類編址 CIDR。
  • 每一個鍊路狀态都帶上一個 32 位的序号,序号越大狀态就越新。

    OSPF 分組

    計算機網絡第四章:網絡層
  1. OSPF的五種分組類型
  • 類型1,問候(Hello)分組。
  • 類型2,資料庫描述(Database Description)分組。
  • 類型3,鍊路狀态請求(Link State Request)分組。
  • 類型4,鍊路狀态更新(Link State Update)分組,用洪泛法對全網更新鍊路狀态。
  • 類型5,鍊路狀态确認(Link State Acknowledgment)分組。

    OSPF的基本操作

    計算機網絡第四章:網絡層
    OSPF 使用的是可靠的洪泛法
    計算機網絡第四章:網絡層
    OSPF 的其他特點
  • OSPF 還規定每隔一段時間,如 30 分鐘,要重新整理一次資料庫中的鍊路狀态。
  • 由于一個路由器的鍊路狀态隻涉及到與相鄰路由器的連通狀态,因而與整個網際網路的規模并無直接關系。是以當網際網路規模很大時,OSPF 協定要比距離向量協定 RIP 好得多。
  • OSPF 沒有“壞消息傳播得慢”的問題,據統計,其響應網絡變化的時間小于 100 ms。

    指定的路由器(designated router)

  • 多點接入的區域網路采用了指定的路由器的方法,使廣播的資訊量大大減少。
  • 指定的路由器代表該區域網路上所有的鍊路向連接配接到該網絡上的各路由器發送狀态資訊。

5.4 外部網關協定BGP

  • BGP 是不同自治系統的路由器之間交換路由資訊的協定。
  • BGP 較新版本是 2006 年 1 月發表的 BGP-4(BGP 第 4 個版本),即 RFC 4271 ~ 4278。
  • 可以将 BGP-4 簡寫為 BGP。

    BGP 使用的環境卻不同

  • 網際網路的規模太大,使得自治系統之間路由選擇非常困難。對于自治系統之間的路由選擇,要尋找最佳路由是很不現實的。

    當一條路徑通過幾個不同 AS 時,要想對這樣的路徑計算出有意義的代價是不太可能的。

    比較合理的做法是在 AS 之間交換“可達性”資訊。

  • 自治系統之間的路由選擇必須考慮有關政策。
  • 是以,邊界網關協定 BGP 隻能是力求尋找一條能夠到達目的網絡且比較好的路由(不能兜圈子),而并非要尋找一條最佳路由。

    BGP 發言人(BGP speaker)

  • 每一個自治系統的管理者要選擇至少一個路由器作為該自治系統的“ BGP 發言人” 。
  • 一般說來,兩個 BGP 發言人都是通過一個共享網絡連接配接在一起的,而 BGP 發言人往往就是 BGP 邊界路由器,但也可以不是 BGP 邊界路由器。

    BGP 交換路由資訊

  • 一個 BGP 發言人與其他自治系統中的 BGP 發言人要交換路由資訊,就要先建立 TCP 連接配接,然後在此連接配接上交換 BGP 封包以建立 BGP 會話(session),利用 BGP 會話交換路由資訊。
  • 使用 TCP 連接配接能提供可靠的服務,也簡化了路由選擇協定。
  • 使用 TCP 連接配接交換路由資訊的兩個 BGP 發言人,彼此成為對方的鄰站或對等站。

    BGP 發言人和自治系統 AS 的關系

    計算機網絡第四章:網絡層
    AS 的連通圖舉例
  • BGP 所交換的網絡可達性的資訊就是要到達某個網絡所要經過的一系列 AS。
  • 當 BGP 發言人互相交換了網絡可達性的資訊後,各 BGP 發言人就根據所采用的政策從收到的路由資訊中找出到達各 AS 的較好路由。
    計算機網絡第四章:網絡層
    BGP 發言人交換路徑向量
    計算機網絡第四章:網絡層
    BGP 協定的特點
  • BGP 協定交換路由資訊的結點數量級是自治系統數的量級,這要比這些自治系統中的網絡數少很多。
  • 每一個自治系統中 BGP 發言人(或邊界路由器)的數目是很少的。這樣就使得自治系統之間的路由選擇不緻過分複雜。

    BGP協定的特點

  • BGP 支援 CIDR,是以 BGP 的路由表也就應當包括目的網絡字首、下一跳路由器,以及到達該目的網絡所要經過的各個自治系統序列。
  • 在BGP 剛剛運作時,BGP 的鄰站是交換整個的 BGP 路由表。但以後隻需要在發生變化時更新有變化的部分。這樣做對節省網絡帶寬和減少路由器的處理開銷方面都有好處。

    BGP-4 共使用四種封包

    (1) 打開(OPEN)封包,用來與相鄰的另一個BGP發言人建立關系。

    (2) 更新(UPDATE)封包,用來發送某一路由的資訊,以及列出要撤消的多條路由。

    (3) 保活(KEEPALIVE)封包,用來确認打開封包和周期性地證明鄰站關系。

    (4) 通知(NOTIFICATION)封包,用來發送檢測到的差錯。

    在 RFC 2918 中增加了 ROUTE-REFRESH 封包,用來請求對等端重新通告。

    BGP 封包具有通用的首部

    計算機網絡第四章:網絡層

5.6 路由器在網際互連中的作用

  1. 路由器的結構
  • 路由器是一種具有多個輸入端口和多個輸出端口的專用計算機,其任務是轉發分組。也就是說,将路由器某個輸入端口收到的分組,按照分組要去的目的地(即目的網絡),把該分組從路由器的某個合适的輸出端口轉發給下一跳路由器。
  • 下一跳路由器也按照這種方法處理分組,直到該分組到達終點為止。

典型的路由器的結構

計算機網絡第四章:網絡層

“轉發”和“路由選擇”的差別

  • “轉發”(forwarding)就是路由器根據轉發表将使用者的 IP 資料報從合适的端口轉發出去。
  • “路由選擇”(routing)則是按照分布式算法,根據從各相鄰路由器得到的關于網絡拓撲的變化 情況,動态地改變所選擇的路由。
  • 路由表是根據路由選擇算法得出的。而轉發表是從路由表得出的。
  • 在讨論路由選擇的原理時,往往不去區分轉發表和路由表的差別。

輸入端口對線路上收到的分組的處理

資料鍊路層剝去幀首部和尾部後,将分組送到網絡層的隊列中排隊等待處理。這會産生一定的時延。

計算機網絡第四章:網絡層

輸出端口将交換結構傳送來的分組發送到線路

當交換結構傳送過來的分組先進行緩存。資料鍊路層處理子產品将分組加上鍊路層的首部和尾部,交給實體層後發送到外部線路。

計算機網絡第四章:網絡層

分組丢棄

  • 若路由器處理分組的速率趕不上分組進入隊列的速率,則隊列的存儲空間最終必定減少到零,這就使後面再進入隊列的分組由于沒有存儲空間而隻能被丢棄。
  • 路由器中的輸入或輸出隊列産生溢出是造成分組丢失的重要原因。
  1. 交換結構
    計算機網絡第四章:網絡層

6.IP多點傳播

6.1 IP多點傳播的基本概念

計算機網絡第四章:網絡層

多點傳播可明顯地減少網絡中資源的消耗

計算機網絡第四章:網絡層

IP 多點傳播的一些特點

(1) 多點傳播使用組位址—— IP 使用 D 類位址支援多點傳播。多點傳播位址隻能用于目的位址,而不能用于源位址。

(2) 永久組位址——由網際網路号碼指派管理局 IANA 負責指派。

(3) 動态的組成員

(4) 使用硬體進行多點傳播

6.2 在區域網路上進行硬體多點傳播

  • 網際網路号碼指派管理局 IANA 擁有的以太網位址塊的高 24 位為 00-00-5E。
  • 是以 TCP/IP 協定使用的以太網多點傳播位址塊的範圍是:從 00-00-5E-00-00-00 到 00-00-5E-FF-FF-FF
  • D 類 IP 位址可供配置設定的有 28 位,在這 28 位中的前 5 位不能用來構成以太網硬體位址。

D 類 IP 位址與以太網多點傳播位址的映射關系

計算機網絡第四章:網絡層

6.3 網際組管理協定IGMP和多點傳播路由選擇協定

  1. IP多點傳播需要兩種協定
  • 為了使路由器知道多點傳播組成員的資訊,需要利用網際組管理協定 IGMP (Internet Group Management Protocol)。
  • 連接配接在區域網路上的多點傳播路由器還必須和網際網路上的其他多點傳播路由器協同工作,以便把多點傳播資料報用最小代價傳送給所有的組成員。這就需要使用多點傳播路由選擇協定。

    IGMP 使多點傳播路由器知道多點傳播組成員資訊

    計算機網絡第四章:網絡層
    IGMP 的本地使用範圍
  • IGMP 并非在網際網路範圍内對所有多點傳播組成員進行管理的協定。
  • IGMP 不知道 IP 多點傳播組包含的成員數,也不知道這些成員都分布在哪些網絡上。
  • IGMP 協定是讓連接配接在本地區域網路上的多點傳播路由器知道本區域網路上是否有主機(嚴格講,是主機上的某個程序)參加或退出了某個多點傳播組。

    多點傳播路由選擇協定比單點傳播路由選擇協定複雜得多

  • 多點傳播轉發必須動态地适應多點傳播組成員的變化(這時網絡拓撲并未發生變化)。請注意,單點傳播路由選擇通常是在網絡拓撲發生變化時才需要更新路由。
  • 多點傳播路由器在轉發多點傳播資料報時,不能僅僅根據多點傳播資料報中的目的位址,而是還要考慮這個多點傳播資料報從什麼地方來和要到什麼地方去。
  • 多點傳播資料報可以由沒有加入多點傳播組的主機發出,也可以通過沒有組成員接入的網絡。
  1. 網際組管理協定IGMP
  • 1989 年公布的 RFC 1112(IGMPv1)早已成為了網際網路的标準協定。
  • 1997 年公布的 RFC 2236(IGMPv2,建議标準)對 IGMPv1 進行了更新。
  • 2002 年 10 月公布了 RFC 3376(IGMPv3,建議标準),宣布 RFC 2236(IGMPv2)是陳舊的。

    IGMP 是整個網際協定 IP 的一個組成部分

  • 和 ICMP 相似,IGMP 使用 IP 資料報傳遞其封包(即 IGMP 封包加上 IP 首部構成 IP 資料報),但它也向 IP 提供服務。
  • 是以,我們不把 IGMP 看成是一個單獨的協定,而是屬于整個網際協定 IP 的一個組成部分。

    IGMP 可分為兩個階段

  • 第一階段:當某個主機加入新的多點傳播組時,該主機應向多點傳播組的多點傳播位址發送IGMP 封包,聲明自己要成為該組的成員。本地的多點傳播路由器收到 IGMP 封包後,将組成員關系轉發給網際網路上的其他多點傳播路由器。
  • 第二階段:因為組成員關系是動态的,是以本地多點傳播路由器要周期性地探詢本地區域網路上的主機,以便知道這些主機是否還繼續是組的成員。
  • 隻要對某個組有一個主機響應,那麼多點傳播路由器就認為這個組是活躍的。
  • 但一個組在經過幾次的探詢後仍然沒有一個主機響應,則不再将該組的成員關系轉發給其他的多點傳播路由器。

    IGMP 采用的一些具體措施

  • 在主機和多點傳播路由器之間的所有通信都是使用 IP 多點傳播。
  • 多點傳播路由器在探詢組成員關系時,隻需要對所有的組發送一個請求資訊的詢問封包,而不需要對每一個組發送一個詢問封包。預設的詢問速率是每 125 秒發送一次。
  • 當同一個網絡上連接配接有幾個多點傳播路由器時,它們能夠迅速和有效地選擇其中的一個來探詢主機的成員關系。
  • 在 IGMP 的詢問封包中有一個數值 N,它指明一個最長響應時間(預設值為 10秒)。當收到詢問時,主機在 0 到 N 之間随機選擇發送響應所需經過的時延。對應于最小時延的響應最先發送。
  • 同一個組内的每一個主機都要監聽響應,隻要有本組的其他主機先發送了響應,自己就可以不再發送響應了。
  1. 多點傳播路由選擇
  • 多點傳播路由選擇協定尚未标準化。
  • 一個多點傳播組中的成員是動态變化的,随時會有主機加入或離開這個多點傳播組。
  • 多點傳播路由選擇實際上就是要找出以源主機為根結點的多點傳播轉發樹。
  • 在多點傳播轉發樹上的路由器不會收到重複的多點傳播資料報。
  • 對不同的多點傳播組對應于不同的多點傳播轉發樹。同一個多點傳播組,對不同的源點也會有不同的多點傳播轉發樹。

轉發多點傳播資料報使用的方法

(1) 洪泛與剪除

  • 這種方法适合于較小的多點傳播組,而所有的組成員接入的區域網路也是相鄰接的。
  • 一開始,路由器轉發多點傳播資料報使用洪泛的方法(這就是廣播)。為了避免兜圈子,采用了叫做反向路徑廣播 RPB (Reverse Path Broadcasting)的政策。

    RPB 的要點

  • 路由器收到多點傳播資料報時,先檢查是否從源點經最短路徑傳送來的。
  • 若是,就向所有其他方向轉發剛才收到的多點傳播資料報(但進入的方向除外),否則就丢棄而不轉發。
  • 如果存在幾條同樣長度的最短路徑),那麼隻能選擇一條最短路徑,選擇的準則就是看這幾條最短路徑中的相鄰路由器誰的 IP 位址最小。
    計算機網絡第四章:網絡層
    (2) 隧道技術(tunneling)
    計算機網絡第四章:網絡層
    (3) 基于核心的發現技術
  • 這種方法對于多點傳播組的大小在較大範圍内變化時都适合。
  • 這種方法是對每一個多點傳播組 G 指定一個核心(core)路由器,給出它的 IP 單點傳播位址。
  • 核心路由器按照前面講過的方法建立出對應于多點傳播組 G 的轉發樹。

    幾種多點傳播路由選擇協定

  • 距離向量多點傳播路由選擇協定 DVMRP (Distance Vector Multicast Routing Protocol)
  • 基于核心的轉發樹 CBT (Core Based Tree)
  • 開放最短通路優先的多點傳播擴充 MOSPF (Multicast Extensions to OSPF)
  • 協定無關多點傳播-稀疏方式 PIM-SM (Protocol Independent Multicast-Sparse Mode)
  • 協定無關多點傳播-密集方式 PIM-DM (Protocol Independent Multicast-Dense Mode)

7.虛拟專用網VPN和網絡位址轉換NAT

7.1 虛拟專用網VPN

  • 本地位址——僅在機構内部使用的 IP 位址,可以由本機構自行配置設定,而不需要向網際網路的管理機構申請。
  • 全球位址——全球唯一的IP位址,必須向網際網路的管理機構申請。

    RFC 1918 指明的專用位址(private address)

  • 10.0.0.0 到 10.255.255.255
  • 172.16.0.0 到 172.31.255.255
  • 192.168.0.0 到 192.168.255.255
  • 這些位址隻能用于一個機構的内部通信,而不能用于和網際網路上的主機通信。
  • 專用位址隻能用作本地位址而不能用作全球位址。在網際網路中的所有路由器對目的位址是專用位址的資料報一律不進行轉發。

    用隧道技術實作虛拟專用網

    計算機網絡第四章:網絡層
    計算機網絡第四章:網絡層
    内聯網 intranet 和外聯網 extranet(都是基于 TCP/IP 協定)
  • 由部門 A 和 B 的内部網絡所構成的虛拟專用網 VPN 又稱為内聯網(intranet),表示部門 A 和 B 都是在同一個機構的内部。
  • 一個機構和某些外部機構共同建立的虛拟專用網 VPN 又稱為外聯網(extranet)。
    計算機網絡第四章:網絡層
    遠端接入VPN(remote access VPN)
  • 有的公司可能沒有分布在不同場所的部門,但有很多流動員工在外地工作。公司需要和他們保持聯系,遠端接入 VPN 可滿足這種需求。
  • 在外地工作的員工撥号接入網際網路,而駐留在員工 PC 機中的 VPN 軟體可在員工的 PC 機和公司的主機之間建立 VPN 隧道,因而外地員工與公司通信的内容是保密的,員工們感到好像就是使用公司内部的本地網絡。

7.2 網絡位址轉換 NAT(Network Address Translation)

  • 網絡位址轉換 NAT 方法于1994年提出。
  • 需要在專用網連接配接到網際網路的路由器上安裝 NAT 軟體。裝有 NAT 軟體的路由器叫做 NAT路由器,它至少有一個有效的外部全球位址 IPG。
  • 所有使用本地位址的主機在和外界通信時都要在 NAT 路由器上将其本地位址轉換成 IPG 才能和網際網路連接配接。

    網絡位址轉換的過程

  • 内部主機 X 用本地位址 IPX 和網際網路上主機 Y 通信所發送的資料報必須經過 NAT 路由器。
  • NAT 路由器将資料報的源位址 IPX 轉換成全球位址 IPG,但目的位址 IPY 保持不變,然後發送到網際網路。
  • NAT 路由器收到主機 Y 發回的資料報時,知道資料報中的源位址是 IPY 而目的位址是 IPG。
  • 根據 NAT 轉換表,NAT 路由器将目的位址 IPG 轉換為 IPX,轉發給最終的内部主機 X。

繼續閱讀