计网PPT 第四章 网络层
目錄
1.網絡層提供的兩種服務
Ⅰ.—種觀點:讓網絡負責可靠交付
虛電路服務
虛電路是邏輯連接
Ⅱ.另一種觀點:網絡提供數據報服條
盡最大努力交付
數據報服務
虛電路服務與數據報服務的對比
2.網際協議IP
網際層的IP協議及配套協議
Ⅰ.虛擬互連網絡
①使用一些中間設備進行互連
②使用路由器
互連網絡與虛擬互連網絡
虛擬互連網絡的意義
從網絡層看IP數據報的傳送
Ⅱ.分類的IP地址
①IP地址及其表示方法
IP地址的編址方法
IPv4的特殊地址-私有地址/內部地址
點分十進制記法
②常用的三種類別的IP地址
一般不使用的特殊的IP地址
IP地址的一些重要特點
Ⅲ.IP地址與硬件地址
Ⅳ.地址解析協議ARP(Address Resolution Protocol)
地址解析協議ARP 的作用
地址解析協議ARP要點
ARP高速緩存的作用
使用ARP的四種典型情況
?Ⅴ.IP數據報的格式
①IP數據報首部的固定部分中的各字段
②IP數據報首部的固定部分中的各字段
IP數據報實例
Ⅵ.IP層轉發分組的流程
查找路由表
特定主機路由
默認路由(default route)
默認路由舉例
必須強調指出
路由器分組轉發算法
關于路由表
3.劃分子網和構造超網
Ⅰ.劃分子網
①從兩級IP地址到三級IP地址
三級IP地址
劃分子網的基本思路
劃分為三個子網后對外仍是一個網絡
劃分子網后變成了三級結構
②子網掩碼
IP地址的各字段和子網掩碼
子網掩碼是一個重要屬性
子網劃分方法
Ⅱ.使用子網時分組的轉發
在劃分子網情況下路由器轉發分組的算法
Ⅲ.無分類編址CIDR(構造超網)
①網絡前綴
IP編址問題的演進
無分類的兩級編址
CIDR地址塊
路由聚合(route aggregation)
CIDR記法的其他形式
常用的 CIDR 地址塊
構成超網
CIDR地址塊劃分舉例
②最長前綴匹配
③使用二叉線索查找路由表
用5個前綴構成的二叉線索
4.網際控制報文協議ICMP
ICMP 報文的格式
Ⅰ.ICMP 報文的種類
①ICMP 差錯報告報文共有4種
不應發送ICMP差錯報告報文的幾種情況
②ICMP 詢問報文有兩種
Ⅱ.ICMP的應用舉例
5.互聯網的路由選擇協議
Ⅰ.有關路由選擇協議的幾個基本概念
①理想的路由算法
關于“最佳路由”
從路由算法的自適應性考慮
②分層次的路由選擇協議
自治系統AS (Autonomous System)
?互聯網有兩大類路由選擇協議
自治系統和內部網關協議、外部網關協議
Ⅱ.內部網關協議RIP
①工作原理
“距離”的定義
RIP協議的三個特點
路由表的建立
②距離向量算法
路由器之間交換信息與路由表更新
【例】路由表更新
③RIP2協議的報文格式
RIP2報文
好消息傳播得快,壞消息傳播得慢
RIP協議的優缺點
Ⅲ.內部網關協議OSPF
①OSPF協議的基本特點
三個要點
鏈路狀態數據庫(link-state database)
OSPF的區域(area)
OSPF劃分為兩種不同的區域
主干路由器?編輯
區域邊界路由器
OSPF直接用IP數據報傳送
OSPF的其他特點
OSPF分組?編輯
②OSPF的五種分組類型
OSPF的基本操作?編輯
OSPF使用可靠的洪泛法發送更新分組
OSPF的其他特點
指定的路由器
Ⅳ.外部網關協議BGP
BGP使用環境不同
BGP發言人
BGP交換路由信息
BGP發言人和自治系統AS的關系
AS的連通圖舉例
BGP發言人交換路徑向量
BGP協議的特點
BGP-4共使用四種報文
BGP報文具有通用首部
Ⅴ.路由器的構成
①路由器的結構
“轉發”和“路由選擇”的區別
輸入端口對線路上收到的分組的處理
輸出端口將交換結構傳送來的分組發送到線路
分組丟棄
②交換結構
6.IPv6
Ⅰ.lPv6的基本首部
lPv6數據報的一般形式
lPv6數據報的基本首部
lPv6的擴展首部
Ⅱ.lPv6的地址
結點與接口
冒號十六進制記法
零壓縮
點分十進制記法的后綴
lPv6地址分類
Ⅲ.從IPv4向IPv6過渡
雙協議棧
隧道技術
Ⅳ.ICMPv6
ICMPv6報文的分類
7.IP多播
Ⅰ.IP多播的基本概念
多播可大大節約網絡資源
IP多播
多播IP地址
多播數據報
Ⅱ.在局域網上進行硬件多播
D類地址與以太網多播地址的映射關系
Ⅲ.網際組管理協議IGMP和多播路由選擇協議
①IP多播需要兩種協議
IGMP使多播路由器 知道 多播組成員信息
IGMP 的使用范圍
多播路由選擇協議更為復雜
②網際組管理協議IGMP
IGMP是整個網際協議IP的一個組成部分
IGMP 工作可分為兩個階段
IGMP 采用的一些具體措施
③多播路由選擇
多播路由選擇協議在轉發多播數據報時使用三種方法:
幾種多播路由選擇協議
8.虛擬專用網VPN和網絡地址轉換NAT
Ⅰ.虛擬專用網VPN
本地地址與全球地址
RFC 1918指明的專用P地址
專用網
虛擬專用網VPN
虛擬專用網VPN構建
用隧道技術實現虛擬專用網
內聯網intranet和外聯網extranet
遠程接入 VPN
Ⅱ.網絡地址轉換NAT
網絡地址轉換的過程
網絡地址轉換NAT
網絡地址與端口號轉換NAPT
NAPT地址轉換表
9.多協議標記交換 MPLS
MPLS特點
Ⅰ.MPLS的工作原理
①基本工作過程
MPLS協議的基本原理
MPLS的基本工作過程
②轉發等價類FEC(Forwarding Equivalence Class)
?FEC用于負載平衡
流量工程
Ⅱ.MPLS首部的位置與格式?
MPLS首部的格式
1.網絡層提供的兩種服務
- 在計算機網絡領域,網絡層應該向運輸層提供怎樣的服務(“面向連接”還是“無連接”)曾引起了長期的爭論。
- 爭論焦點的實質就是:在計算機通信中,可靠交付應當由誰來負責?是網絡還是端系統?
Ⅰ.—種觀點:讓網絡負責可靠交付
- 這種觀點認為,應借助于電信網的成功經驗,讓網絡負責可靠交付,計算機網絡應模仿電信網絡,使用面向連接的通信方式。
- 通信之前先建立虛電路(Virtual Circuit),以保證雙方通信所需的一切網絡資源。
- 如果再使用可靠傳輸的網絡協議,就可使所發送的分組無差錯按序到達終點,不丟失、不重復。
虛電路服務
| ?發送給??的所有分組都沿著同一條虛電路傳送 |
虛電路是邏輯連接
- 虛電路表示這只是一條邏輯上的連接,分組都沿著這條邏輯連接按照存儲轉發方式傳送,而并不是真正建立了一條物理連接。
- 請注意,電路交換的電話通信是先建立了一條真正的連接。
- 因此分組交換的虛連接和電路交換的連接只是類似,但并不完全一樣。
Ⅱ.另一種觀點:網絡提供數據報服條
- 互聯網的先驅者提出了一種嶄新的網絡設計思路。網絡層向上只提供簡單靈活的、無連接的、盡最大努力交付的數據報服務。
- 網絡在發送分組時不需要先建立連接。每一個分組(即IP數據報)獨立發送,與其前后的分組無關(不進行編號)。
- 網絡層不提供服務質量的承諾。即所傳送的分組可能出錯、丟失、重復和失序(不按序到達終點),當然也不保證分組傳送的時限。
盡最大努力交付
- 由于傳輸網絡不提供端到端的可靠傳輸服務,這就使網絡中的路由器可以做得比較簡單,而且價格低廉(與電信網的交換機相比較)。
- 如果主機(即端系統)中的進程之間的通信需要是可靠的,那么就由網絡的主機中的運輸層負責可靠交付(包括差錯處理、流量控制等)。
? - 采用這種設計思路的好處是:網絡的造價大大降低,運行方式靈活,能夠適應多種應用。
- 互連網能夠發展到今日的規模,充分證明了當初采用這種設計思路的正確性。
數據報服務
| ?發送給 的分組可能沿著不同路徑傳送 |
虛電路服務與數據報服務的對比
?
| 思路 | 可靠通信應當由網絡來保證 | 可靠通信應當由用戶主機來保證 |
| 連接的建立 | 必須有 | 不需要 |
| 終點地址 | 僅在連接建立階段使用,每個分組使用短的虛電路號 | 每個分組都有終點的完整地址 |
| 分組的轉發 | 屬于同一條虛電路的分組均按照同一路由進行轉發 | 每個分組獨立選擇路由進行轉發 |
| 當結點出故障時 | 所有通過出故障的結點的虛電路均不能工作 | 出故障的結點可能會丟失分組,一些路由可能會發生變化 |
| 分組的順序 | 總是按發送順序到達終點 | 到達終點時不一定按發送順序 |
| 端到端的差錯處理和流量控制 | 可以由網絡負責,也可以由用戶主機負責 | 由用戶主機負責 |
2.網際協議IP
▲ 網際協議IP是TCP/IP體系中兩個最主要的協議之一。
▲ 與IP協議配套使用的還有三個協議:
- 地址解析協議ARP (Address Resolution Protocol)
- 網際控制報文協議ICMP (Internet Control Message Protocol)
- 網際組管理協議IGMP (Internet Group Management Protocol)
網際層的IP協議及配套協議
Ⅰ.虛擬互連網絡
將網絡互連并能夠互相通信,會遇到許多問題需要解決,如:
- 不同的尋址方案
- 不同的最大分組長度
- 不同的網絡接入機制
- 不同的超時控制
- 不同的差錯恢復方法
- 不同的狀態報告方法
- 不同的路由選擇技術
- 不同的用戶接入控制
- 不同的服務(面向連接服務和無連接服務)
- 不同的管理與控制方式等
| 如何將異構的網絡互相連接起來? |
①使用一些中間設備進行互連
■ 將網絡互相連接起來要使用一些中間設備。
■ 中間設備又稱為中間系統或中繼(relay)系統。
■ 有以下五種不同的中間設備:
- 物理層中繼系統:轉發器(repeater)。
- 數據鏈路層中繼系統:網橋或橋接器(bridge)。
- 網絡層中繼系統:路由器(router)。
- 網橋和路由器的混合物:橋路器(brouter)。
- 網絡層以上的中繼系統:網關(gateway)。
②使用路由器
- 當中繼系統是轉發器或網橋時,一般并不稱之為網絡互連,因為這僅僅是把一個網絡擴大了,而這仍然是一個網絡。
- 網關由于比較復雜,目前使用得較少。
- 網絡互連都是指用路由器進行網絡互連和路由選擇。
- 由于歷史的原因,許多有關TCP/IP的文獻將網絡層使用的路由器稱為網關。
互連網絡與虛擬互連網絡
虛擬互連網絡的意義
- 所謂虛擬互連網絡也就是邏輯互連網絡,它的意思就是互連起來的各種物理網絡的異構性本來是客觀存在的,但是我們利用IP協議就可以使這些性能各異的網絡從用戶看起來好像是一個統一的網絡。
- 使用IP協議的虛擬互連網絡可簡稱為IP網。
- 使用虛擬互連網絡的好處是:當互聯網上的主機進行通信時,就好像在一個網絡上通信一樣,而看不見互連的各具體的網絡異構細節。
- 如果在這種覆蓋全球的IP網的上層使用TCP協議,那么就是現在的互聯網(Internet)。
| 互聯網可以由多種異構網絡互連組成。 |
從網絡層看IP數據報的傳送
- 如果我們只從網絡層考慮問題,那么IP數據報就可以想象是在網絡層中傳送。
Ⅱ.分類的IP地址
■ 在TCP/IP體系中,IP地址是一個最基本的概念。
■ 本部分重點學習:
- IP地址及其表示方法
- 常用的三種類別的IP地址
①IP地址及其表示方法
-
我們把整個因特網看成為一個單一的、抽象的網絡。
-
地址就是給每個連接在互聯網上的主機(或路由器)分配一個在全世界范圍是唯一的32位的標識符。
-
地址現在由互聯網名字和數字分配機構ICANN (Internet Corporation for AssignedNames and Numbers)進行分配。
IP地址的編址方法
- 分類的IP地址。這是最基本的編址方法,在1981年就通過了相應的標準協議。
-
子網的劃分。這是對最基本的編址方法的改進,其標準[RFC 950]在1985年通過。
-
構成超網。這是比較新的無分類編址方法。1993年提出后很快就得到推廣應用。
分類IP地址
- 將lP地址劃分為若干個固定類。
- 每一類地址都由兩個固定長度的字段組成,其中一個字段是網絡號net-id,它標志主機(或路由器)所連接到的網絡,而另一個字段則是主機號host-id,它標志該主機(或路由器)。主機號在它前面的網絡號所指明的網絡范圍內必須是唯一的。
- 由此可見,一個IP地址在整個互聯網范圍內是唯一的。
- 這種兩級的P地址結構如下:
- 這種兩級的IP地址可以記為:
| 各類IP地址的網絡號字段和主機號字段 |
IPv4的特殊地址-私有地址/內部地址
■ IETF分別從A、B、C三類地址中取出一段地址范圍保留用作內部網絡地址,它們分別是:
-
10.0.0.0 ~10.255.255.255
-
172.16.0.0~172.31.255.255
-
192.168.0.0~192.168.255.255
■ 這些地址范圍是專門用來標識內部網絡的,不能用來訪問Internet,因為Internet上路由器不會轉發目標地址在上述三個范圍內的數據包。
■ 使用:ipconfig 查看本機的IPv4地址
點分十進制記法
?舉例:
②常用的三種類別的IP地址
| A | 126(-2) | 1 | 126 | 16777214 |
| B | 16383(-1) | 128.1 | 191.255 | 65534 |
| C | 2097151(-1) | 192.0.1 | 223.255.255 | 254 |
一般不使用的特殊的IP地址
| 0 | 0 | 可以 | 不可 | 在本網絡上的本主機(見6.6DHCP協議) |
| 0 | host-id | 可以 | 不可 | 在本網絡上的某臺主機host-id |
| 全1 | 全1 | 不可 | 可以 | 只在本網絡上進行廣播(各路由器均不轉發) |
| net-id | 全1 | 不可 | 可以 | 對net-id上的所有主機進行廣播 |
| 127 | 非全0或全1的任何數 | 可以 | 可以 | 用作本地軟件環回測試之用 |
IP地址的一些重要特點
⑴?IP地址是一種分等級的地址結構。分兩個等級的好處是:
- 第一,IP地址管理機構在分配IP地址時只分配網絡號,而剩下的主機號則由得到該網絡號的單位自行分配,這樣就方便了IP地址的管理。
- 第二,路由器僅根據目的主機所連接的網絡號來轉發分組(而不考慮目的主機號),這樣就可以使路由表中的項目數大幅度減少,從而減小了路由表所占的存儲空間。
⑵ 實際上IP地址是標志一個主機(或路由器)和一條鏈路的接口。
- 當一個主機同時連接到兩個網絡上時,該主機就必須同時具有兩個相應的IP地址,其網絡號net-id必須是不同的。這種主機稱為多歸屬主機(multihomed host)。
- 由于一個路由器至少應當連接到兩個網絡(這樣它才能將I數據報從一個網絡轉發到另一個網絡),因此一個路由器至少應當有兩個不同的IP地址。
⑶ 用轉發器或網橋連接起來的若干個局域網仍為一個網絡,因此這些局域網都具有同樣的網絡號net-id.
⑷ 所有分配到網絡號net-id的網絡,無論是范圍很小的局域網,還是可能覆蓋很大地理范圍的廣域網,都是平等的。
?
| 在同一個局域網上的主機或路由器的P地址中的網絡號必須是一樣的。圖中的網絡號就是P地址中的net-id |
|
| 兩個路由器直接相連的接口處,可指明也可不指明IP地址。如指明IP地址,則這一段連線就構成了一種只包含一段線路的特殊“網絡”?,F在常不指明IP地址。 |
Ⅲ.IP地址與硬件地址
■?IP地址與硬件地址是不同的地址。
■ 從層次的角度看,
- 硬件地址(或物理地址)是數據鏈路層和物理層使用的地址。
- IP地址是網絡層和以上各層使用的地址,是一種邏輯地址(稱IP地址是邏輯地址是因為IP地址是用軟件實現的)。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?IP地址與硬件地址的區別
| IP地址放在IP數據報的首部,而硬件地址則放在MAC幀的首部。 |
| 通信的路徑: ?→經過??轉發→再經過??轉發→? |
| 在IP層抽象的互聯網上只能看到IP數據報。圖中的??→??表示從源地址?到目的地址??。兩個路由器的IP地址并不出現在IP數據報的首部中。 |
| 路由器只根據目的站的P地址的網絡號進行路由選擇。 |
| 在鏈路上看MAC幀的流動 |
| 在具體的物理網絡的鏈路層只能看見MAC幀而看不見IP數據報 |
| IP層抽象的互聯網屏蔽了下層很復雜的細節。 |
主機??與??通信中使用的IP地址與硬件地址HA
| 在網絡層寫入IP數據報首部的地址 | 在數據鏈路層寫入MAC幀首部的地址 | |||
| 源地址 | 目的地址 | 源地址 | 目的地址 | |
| 從??到? | ||||
| 從??到? | ||||
| 從??到? | ||||
Ⅳ.地址解析協議ARP(Address Resolution Protocol)
■ 通信時使用了兩個地址:
- IP地址(網絡層地址)
- MAC地址(數據鏈路層地址)
地址解析協議ARP 的作用
已經知道了一個機器(主機或路由器)的IP地址,找出其相應的硬件地址
?
| ?ARP作用:從網絡層使用的P地址,解析出在數據鏈路層使用的硬件地址。 |
地址解析協議ARP要點
■ 不管網絡層使用的是什么協議,在實際網絡的鏈路上傳送數據幀時,最終還是必須使用硬件地址。
■ 每一個主機都設有一個ARP高速緩存(ARP cache),里面有所在的局域網上的各主機和路由器的IP地址到硬件地址的映射表。
| <lP address ; MAC address ;TTL> |
TTL (Time To Live):地址映射有效時間。
■ 當主機A欲向本局域網上的某個主機B發送IP數據報時,就先在其ARP高速緩存中查看有無主機B的IP地址。
- 如有,就可查出其對應的硬件地址,再將此硬件地址寫入MAC幀,然后通過局域網將該MAC幀發往此硬件地址。
- 如沒有,ARP進程在本局域網上廣播發送一個ARP請求分組。收到ARP響應分組后,將得到的地址到硬件地址的映射寫入ARP高速緩存。
■ ARP請求分組:包含發送方硬件地址/發送方IP地址/目標方硬件地址(未知時填0)/目標方IP地址。
■ 本地廣播ARP請求(路由器不轉發ARP請求)。
■ ARP響應分組:包含發送方硬件地址/發送方IP地址/目標方硬件地址/目標方IP地址。
■ ARP分組封裝在物理網絡的幀中傳輸。
| 主機A?廣播發送ARP請求分組 |
| 主機B向A?發送ARP響應分組 |
ARP高速緩存的作用
- 存放最近獲得的IP地址到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編址把這個復雜問題解決了。連接到互聯網的主機只需各自擁有一個唯一的 IP地址,它們之間的通信就像連接在同一個網絡上那樣簡單方便,因為上述的調用ARP的復雜過程都是由計算機軟件自動進行的,對用戶來說是看不見這種調用過程的。
- 因此,在虛擬的 IP網絡上用 IP地址進行通信給廣大的計算機用戶帶來了很大的方便。
Ⅴ.IP數據報的格式
- 一個IP數據報由首部和數據兩部分組成。
- 首部的前一部分是固定長度,共20字節,是所有?IP數據報必須具有的。
- 在首部的固定部分的后面是一些可選字段,其長度是可變的。
| 首部的前一部分是固定長度,共20字節,是所有P數據報必須具有的。 |
| 可選字段,其長度是可變的 |
①IP數據報首部的固定部分中的各字段
| 占4位,指IP協議的版本。 目前的 IP協議版本號為4(即 IPv4)。 |
| 占4位,可表示的最大數值是15個單位(一個單位為4字節) 因此IP的首部長度的最大值是60字節。 |
| 占8位,用來獲得更好的服務。 在舊標準中叫做服務類型,但實際上一直未被使用過。 1998年這個字段改名為區分服務。 只有在使用區分服務(DiffServ)時,這個字段才起作用。 在一般的情況下都不使用這個字段 |
| 占16位,指首部和數據之和的長度, 單位為字節,因此數據報的最大長度為65535字節。 總長度必須不超過最大傳送單元MTU。 |
| 占16位,它是一個計數器,用來產生 IP數據報的標識。 |
| 占3位,目前只有前兩位有意義。 標志字段的最低位是 MF(More Fragment)。 MF=1表示后面 “還有分片”。MF =0表示最后一個分片。 標志字段中間的一位是DF (Don't Fragment)。 只有當DF=0時才允許分片。 |
| 占13位,指出:較長的分組在分片后某片在原分組中的相對位置。 片偏移以8個字節為偏移單位。 |
| 占8位,記為TTL (Time To Live), 指示數據報在網絡中可通過的路由器數的最大值。 |
| 占8位,指出此數據報攜帶的數據使用何種協議, 以便目的主機的IP層將數據部分 上交給那個處理過程 |
| 占16位,只檢驗數據報的首部,不檢驗數據部分。這里不采用CRC檢驗碼而采用簡單的計算方法。 ? |
| 各占4字節 |
協議
IP數據報分片
- 一數據報的總長度為3820字節,其數據部分的長度為3800字節(使用固定首部),需要分片為長度不超過1420字節的數據報片。
- 因固定首部長度為20字節,因此每個數據報片的數據部分長度不能超過1400字節。
- 于是分為3個數據報片,其數據部分的長度分別為1400、1400和1000字節。
- 原始數據報首部被復制為各數據報片的首部,但必須修改有關字段的值。
| 原始數據報 | 3820 | 12345 | 0 | 0 | 0 |
| 數據報片1 | 1420 | 12345 | 1 | 0 | 0 |
| 數據報片2 | 1420 | 12345 | 1 | 0 | 175 |
| 數據報片3 | 1020 | 12345 | 0 | 0 | 350 |
IP協議支持多種協議,
IP數據報可以封裝多種協議PDU。
| IP數據報首部檢驗和的計算采用16位二進制反碼求和算法 |
②IP數據報首部的固定部分中的各字段
- IP 首部的可變部分就是一個選項字段,用來支持排錯、測量以及安全等措施,內容很豐富。
- 選項字段的長度可變,從1個字節到40個字節不等,取決于所選擇的項目。
- 增加首部的可變部分是為了增加 IP 數據報的功能,但這同時也使得 IP 數據報的首部長度成為可變的。這就增加了每一個路由器處理數據報的開銷。
- 實際上這些選項很少被使用。
IP數據報實例
- 該主機所在網絡的網關路由器的 MAC 地址是(50:2b:73:d4:30:7d)?。
- 該數據報文是由 IP(172.27.18.2)發給IP(31.13.68.16),IP數據報長度(20),數據報文總長度(40)。0x0010---00 28
- 該數據報文傳輸層協議(TCP),源端口(58329),目的端口(443(SSL))?。
Ⅵ.IP層轉發分組的流程
- 假設:有四個A類網絡通過三個路由器連接在一起。每一個網絡上都可能有成千上萬個主機。
- 可以想像,若按目的主機號來制作路由表,每一個路由表就有4萬個項目,即4萬行(每一行對應于一臺主機),則所得出的路由表就會過于龐大。
- 但若按主機所在的網絡地址來制作路由表,那么每一個路由器中的路由表就只包含4個項目(每一行對應于一個網絡),這樣就可使路由表大大簡化。
| 在路由表中,對每一條路由,最主要的是(目的網絡地址,下一跳地址) |
查找路由表
根據目的網絡地址就能確定下一跳路由器,這樣做的結果是:
- IP數據報最終一定可以找到目的主機所在目的網絡上的路由器(可能要通過多次的間接交付)。
- 只有到達最后一個路由器時,才試圖向目的主機進行直接交付。
特定主機路由
- 雖然互聯網所有的分組轉發都是基于目的主機所在的網絡,但在大多數情況下都允許有這樣的特例,即為特定的目的主機指明一個路由。
- 采用特定主機路由可使網絡管理人員能更方便地控制網絡和測試網絡,同時也可在需要考慮某種安全問題時采用這種特定主機路由。
默認路由(default route)
- 路由器還可采用默認路由以減少路由表所占用的空間和搜索路由表所用的時間。
- 這種轉發方式在一個網絡只有很少的對外連接時是很有用的。
- 默認路由在主機發送IP數據報時往往更能顯示出它的好處。
- 如果一個主機連接在一個小網絡上,而這個網絡只用一個路由器和互聯網連接,那么在這種情況下使用默認路由是非常合適的。
默認路由舉例
| 只要目的網絡不是??和??,就一律選擇默認路由, |
必須強調指出
- IP 數據報的首部中沒有地方可以用來指明“下一跳路由器的IP地址”。
- 當路由器收到待轉發的數據報,不是將下一跳路由器的IP地址填入IP數據報,而是送交下層的網絡接口軟件。
- 網絡接口軟件使用ARP負責將下一跳路由器的IP地址轉換成硬件地址,并將此硬件地址放在鏈路層的MAC幀的首部,然后根據這個硬件地址找到下一跳路由器。
路由器分組轉發算法
①從數據報的首部提取目的主機的IP地址D,得出目的網絡地址為N。
②若網絡N與此路由器直接相連,則把數據報直接交付目的主機D;否則是間接交付,執行③。
③若路由表中有目的地址為D的特定主機路由,則把數據報傳送給路由表中所指明的下一跳路由器;否則,執行④。
④若路由表中有到達網絡N的路由,則把數據報傳送給路由表指明的下一跳路由器;否則,執行⑤。
⑤若路由表中有一個默認路由,則把數據報傳送給路由表中所指明的默認路由器;否則,執行⑥。
⑥報告轉發分組出錯。
關于路由表
- 路由表沒有給分組指明到某個網絡的完整路徑。
- 路由表指出,到某個網絡應當先到某個路由器(即下一跳路由器)。
- 在到達下一跳路由器后,再繼續查找其路由表,知道再下一步應當到哪一個路由器。
- 這樣一步一步地查找下去,直到最后到達目的網絡。
3.劃分子網和構造超網
Ⅰ.劃分子網
①從兩級IP地址到三級IP地址
■? 在ARPANET的早期,IP地址的設計確實不夠合理:
IP地址空間的利用率有時很低。
給每一個物理網絡分配一個網絡號會使路由表變得太大因而使網絡性能變壞。
兩級的IP地址不夠靈活。
三級IP地址
- 從1985年起在IP地址中又增加了一個“子網號字段”,使兩級的IP地址變成為三級的IP地址。
- 這種做法叫做劃分子網(subnetting)?。
- 劃分子網已成為互聯網的正式標準協議。
劃分子網的基本思路
- 劃分子網純屬一個單位內部的事情。單位對外仍然表現為沒有劃分子網的網絡。
- 從主機號借用若干個位作為子網號?subnet-id,而主機號 host-id 也就相應減少了若干個位。
| IP地址 ::={ <網絡號>,<子網號>,<主機號>}? ? ? ? (4-2) |
- 凡是從其他網絡發送給本單位某個主機的IP數據報,仍然是根據IP數據報的目的網絡號net-id,先找到連接在本單位網絡上的路由器。
- 然后此路由器在收到IP數據報后,再按目的網絡號net-id 和子網號subnet-id找到目的子網。
- 最后就將IP數據報直接交付目的主機。
劃分為三個子網后對外仍是一個網絡
劃分子網后變成了三級結構
- 當沒有劃分子網時,IP地址是兩級結構。
- 劃分子網后IP地址就變成了三級結構。
- 劃分子網只是把IP地址的主機號host-id這部分進行再劃分,而不改變IP地址原來的網絡號net-id。
?
■??優點
- 減少了IP地址的浪費
- 使網絡的組織更加靈活
- 更便于維護和管理
■??劃分子網純屬一個單位內部的事情,對外部網絡透明,對外仍然表現為沒有劃分子網的一個網絡。
②子網掩碼
-
從一個IP數據報的首部并無法判斷源主機或目的主機所連接的網絡是否進行了子網劃分。
-
使用子網掩碼(subnet mask)可以找出IP地址中的子網部分。
規則:
- 子網掩碼長度=32位
- 某位=1:IP地址中的對應位為網絡號和子網號
- 某位=0:IP地址中的對應位為主機號
IP地址的各字段和子網掩碼
| ?(IP地址)AND(子網掩碼)=網絡地址 |
| A類地址 |
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 8個1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?24個0 | ||||||
| B類地址 |
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?16個1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 16個0 | ||||||
| C類地址 |
|
子網掩碼是一個重要屬性
- 子網掩碼是一個網絡或一個子網的重要屬性。
- 路由器在和相鄰路由器交換路由信息時,必須把自己所在網絡(或子網)的子網掩碼告訴相鄰路由器。
- 路由器的路由表中的每一個項目,除了要給出目的網絡地址外,還必須同時給出該網絡的子網掩碼。
- 若一個路由器連接在兩個子網上就擁有兩個網絡地址和兩個子網掩碼。
子網劃分方法
- 有固定長度子網和變長子網兩種子網劃分方法。
- 在采用固定長度子網時,所劃分的所有子網的子網掩碼都是相同的。
- 雖然根據已成為互聯網標準協議的 RFC 950文檔,子網號不能為全1或全0,但隨著無分類域間路由選擇CIDR的廣泛使用,現在全1和全0的子網號也可以使用了,但一定要謹慎使用,確認你的路由器所用的路由選擇軟件是否支持全 0 或全 1 的子網號這種較新的用法。
- 劃分子網增加了靈活性,但卻減少了能夠連接在網絡上的主機總數。
?
| 【例4-2】已知IP地址是141.14.72.24,子網掩碼是255.255.192.0 。試求網絡地址。 |
| 【例4-3】上例中,若子網掩碼改為255.255.224.0,試求網絡地址,討論所得結果。 |
Ⅱ.使用子網時分組的轉發
- 在不劃分子網的兩級IP地址下,從IP地址得出網絡地址是個很簡單的事。
- 但在劃分子網的情況下,從IP地址卻不能唯一地得出網絡地址來,這是因為網絡地址取決于那個網絡所采用的子網掩碼,但數據報的首部并沒有提供子網掩碼的信息。
- 因此分組轉發的算法也必須做相應的改動。
在劃分子網情況下路由器轉發分組的算法
①從收到的分組的首部提取目的IP地址D。
②先用各網絡的子網掩碼和D逐位相 “與”,看是否和相應的網絡地址匹配。若匹配,則將分組直接交付。否則就是間接交付,執行③ 。
③若路由表中有目的地址為D的特定主機路由,則將分組傳送給
指明的下一跳路由器;否則,執行④。
④對路由表中的每一行,將子網掩碼和D逐位相 “與”。若結果與該行的目的網絡地址匹配,則將分組傳送給該行指明的下一跳路由器;否則,執行⑤。
⑤若路由表中有一個默認路由,則將分組傳送給路由表中所指明的默認路由器;否則,執行⑥。
⑥報告轉發分組出錯。
| 【例4-4】已知互聯網和路由器??中的路由表。主機??向??發送分組。試討論??收到?向??發送的分組后查找路由表的過程。 |
| 主機??要發送分組給? |
| 要發送的分組的目的P地址:128.30.33.138 |
| 因此H首先檢查主機128.30.33.138是否連接在本網絡上 如果是,則直接交付; 否則,就送交路由器R,并逐項查找路由表。 |
| 主機??首先將 本子網的子網掩碼255.255.255.128 與分組的IP地址128.30.33.138 逐比特相“與”?(AND 操作) |
| 因此??必須把分組傳送到路由器??,然后逐項查找路由表 |
| 路由器??收到分組后就用路由表中第1個項目的子網掩碼和128.30.33.138逐比特AND操作 |
Ⅲ.無分類編址CIDR(構造超網)
?①網絡前綴
劃分子網在一定程度上緩解了互聯網在發展中遇到的困難。然而在1992年互聯網仍然面臨三個必須盡早解決的問題:
?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地址從三級編址(使用子網掩碼)又回到了兩級編址。
無分類的兩級編址
- 無分類的兩級編址的記法是:
- CIDR 使用 “斜線記法” (slash notation),它又稱為CIDR 記法,即在IP地址面加上一個斜線“P,然后寫上網絡前綴所占的位數(這個數值對應于三級編址中子網掩碼中1的個數)。例如:220.78.168.0/24
CIDR地址塊
■? CIDR 把網絡前綴都相同的連續的IP地址組成 “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的主機號地址一般不使用。
| 128.14.32.0/20表示的地址(個地址) |
路由聚合(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。此掩碼可表示為:
- 網絡前綴的后面加一個星號*的表示方法,如 00001010 00*,在星號*之前是網絡前綴,而星號*表示IP地址中的主機號,可以是任意值。
常用的 CIDR 地址塊
| /13 | 255.248.0.0 | 512K | 8個 B類 或 2048個C類 |
| /14 | 255.252.0.0 | 256K | 4個 B類 或 1024個C類 |
| /15 | 255.254.0.0 | 128K | 2個 B類 或 512個C類 |
| /16 | 255.255.0.0 | 64K | 1個 B類 或 256個C類 |
| /17 | 255.255.128.0 | 32K | 128個C類 |
| /18 | 255.255.192.0 | 16K | 64個C類 |
| /19 | 255.255.224.0 | 8K | 32個C類 |
| /20 | 255.255.240.0 | 4K | 16個C類 |
| /21 | 255.255.248.0 | 2K | 8個C類 |
| /22 | 255.255.252.0 | 1K | 4個C類 |
| /23 | 255.255.254.0 | 512 | 2個C類 |
| /24 | 255.255.255.0 | 256 | 1個C類 |
| /25 | 255.255.255.128 | 128 | 1/4個C類 |
| /26 | 255.255.255.192 | 64 | 1/4個C類 |
| /27 | 255.255.255.224 | 32 | 1/8個C類 |
構成超網
-
前綴長度不超過 23 位的 CIDR地址塊都包含了多個C類地址。
-
這些 C類地址合起來就構成了超網。
-
CIDR地址塊中的地址數一定是2的整數次冪。
-
網絡前綴越短,其地址塊所包含的地址數就越多。而在三級結構的IP地址中,劃分子網是使網絡前綴變長。
-
CIDR的一個好處是:可以更加有效地分配IPv4的地址空間,可根據客戶的需要分配適當大小的 CIDR地址塊。
CIDR地址塊劃分舉例
| 這個 ISP 共有64個 C類網絡。如果不采用CIDR技術,則在與該ISP的路由器交換路由信息的每一個路由器的路由表中,就需要有64個項目。但采用地址聚合后,只需用路由聚合后的1個項目 206.0.64.0/18就能找到該ISP。 |
②最長前綴匹配
- 使用CIDR時,路由表中的每個項目由 “網絡前綴” 和 “下一跳地址” 組成。在查找路由表時可能會得到不止一個匹配結果。
- 應當從匹配結果中選擇具有最長網絡前綴的路由:最長前綴匹配(longest-prefix matching)。
- 網絡前綴越長,其地址塊就越小,因而路由就越具體(more specific)?。
- 最長前綴匹配又稱為最長匹配或最佳匹配。
最長前綴匹配舉例
?
| 選擇兩個匹配的地址中更具體的一個,即選擇最長前綴的地址。 |
③使用二叉線索查找路由表
- 當路由表的項目數很大時,怎樣設法減小路由表的查找時間就成為一個非常重要的問題。
- 為了進行更加有效的查找,通常是將無分類編址的路由表存放在一種層次的數據結構中,然后自上而下地按層次進行查找。這里最常用的就是二叉線索(binary trie)。
- IP地址中從左到右的比特值決定了從根結點逐層向下層延伸的路徑,而二叉線索中的各個路徑就代表路由表中存放的各個地址。
- 為了提高二叉線索的查找速度,廣泛使用了各種壓縮技術。
用5個前綴構成的二叉線索
| 從二叉線索的根節點自頂向下的深度最多有32層,每一層對應于IP地址中的一位。一個IP地址存入二叉線索的規則很簡單。先檢查IP地址左邊的第一位,如為0,則第一層的節點就在根節點的左下方;如為1,則在右下方。然后再檢查地址的第二位,構造出第二層的節點。依此類推,直到唯一前綴的最后一位。 |
4.網際控制報文協議ICMP
- 為了更有效地轉發IP數據報和提高交付成功的機會,在網際層使用了網際控制報文協議ICMP (InternetControl Message Protocol)。
- ICMP是互聯網的標準協議。
- ICMP允許主機或路由器報告差錯情況和提供有關異常情況的報告。
- 但ICMP不是高層協議(看起來好像是高層協議,因為ICMP報文是裝在IP數據報中,作為其中的數據部分),而是IP層的協議。
ICMP 報文的格式
?
Ⅰ.ICMP 報文的種類
- ICMP報文的種類有兩種,即ICMP 差錯報告報文和ICMP詢問報文。
- ICMP報文的前4個字節是統一的格式,共有三個字段:即類型、代碼和檢驗和。接著的4個字節的內容與ICMP的類型有關。
①ICMP 差錯報告報文共有4種
- 終點不可達
- 時間超過
- 參數問題
- 改變路由(重定向)(Redirect)
ICMP差錯報告報文的數據字段的內容
不應發送ICMP差錯報告報文的幾種情況
- 對 ICMP 差錯報告報文不再發送 ICMP 差錯報告報文。
- 對第一個分片的數據報片的所有后續數據報片都不發送 ICMP 差錯報告報文。
- 對具有多播地址的數據報都不發送 ICMP 差錯報告報文。
- 對具有特殊地址(如127.0.0.0或0.0.0.0)的數據報不發送ICMP差錯報告報文。
②ICMP 詢問報文有兩種
- 回送請求和回答報文
- 時間戳請求和回答報文
????????下面的幾種ICMP報文不再使用:
- 信息請求與回答報文
- 掩碼地址請求和回答報文
- 路由器詢問和通告報文
- 源點抑制報文
Ⅱ.ICMP的應用舉例
PING (Packet InterNet Groper)
- PING用來測試兩個主機之間的連通性。
- PING使用了ICMP回送請求與回送回答報文。
- PING是應用層直接使用網絡層ICMP的例子,它沒有通過運輸層的TCP或UDP。
PING 的應用舉例
用PING測試主機的連通性
Traceroute的應用舉例
- 在 Windows操作系統中這個命令是tracert。
- 用來跟蹤一個分組從源點到終點的路徑。
- 它利用IP數據報中的TTL字段和 ICMP時間超過差錯報告報文實現對從源點到終點的路徑的跟蹤。
ICMP 的應用舉例
?用tracert命令獲得到目的主機的路由信息
5.互聯網的路由選擇協議
Ⅰ.有關路由選擇協議的幾個基本概念
①理想的路由算法
- 算法必須是正確的和完整的。
- 算法在計算上應簡單。
- 算法應能適應通信量和網絡拓撲的變化,這就是說,要有自適應性。
- 算法應具有穩定性。
- 算法應是公平的。
關于“最佳路由”
■ 不存在一種絕對的最佳路由算法。
■ 所謂“最佳”只能是相對于某一種特定要求下得出的較為合理的選擇而已。
■ 實際的路由選擇算法,應盡可能接近于理想的算法。
■ 路由選擇是個非常復雜的問題
- 它是網絡中的所有結點共同協調工作的結果。
- 路由選擇的環境往往是不斷變化的,而這種變化有時無法事先知道。
從路由算法的自適應性考慮
- 靜態路由選擇策略——即非自適應路由選擇,其特點是簡單和開銷較小,但不能及時適應網絡狀態的變化。
- 動態路由選擇策略——即自適應路由選擇,其特點是能較好地適應網絡狀態的變化,但實現起來較為復雜,開銷也比較大。
②分層次的路由選擇協議
互聯網采用分層次的路由選擇協議。這是因為:
自治系統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。
自治系統和內部網關協議、外部網關協議
| 自治系統之間的路由選擇也叫做?域間路由選擇(interdomain routing),在自治系統內部的路由選擇叫做 域內路由選擇(intradomain routing) 。 |
指出兩點
- 互聯網的早期RFC文檔中未使用 “路由器” 而是使用 “網關” 這一名詞。但是在新的 RFC文檔中又使用了 “路由器” 這一名詞。應當把這兩個術語當作同義詞。
- IGP 和 EGP是協議類別的名稱。但 RFC在使用EGP這個名詞時出現了一點混亂,因為最早的一個外部網關協議的協議名字正好也是EGP.因此在遇到名詞EGP時,應弄清它是指舊的協議EGP還是指外部網關協議EGP這個類別。
Ⅱ.內部網關協議RIP
①工作原理
- 路由信息協議 RIP(Routing Information Protocol)是內部網關協議 IGP 中最先得到廣泛使用的協議。
- RIP 是一種分布式的、基于距離向量的路由選擇協議。
- RIP 協議要求網絡中的每一個路由器都要維護從它自己到其他每一個目的網絡的距離記錄。
“距離”的定義
- 從一個路由器到直接連接的網絡的距離定義為 1。
- 從一個路由器到非直接連接的網絡的距離定義為所經過的路由器數加 1 。
- RIP協議中的 “距離” 也稱為 “跳數” (hopcount),因為每經過一個路由器,跳數就加1。
- 這里的 “距離” 實際上指的是 “最短距離”。
- RIP 認為一個好的路由就是它通過的路由器的數目少,即 “距離短”。
- RIP允許一條路徑最多只能包含15個路由器。
- “距離” 的最大值為16時即相當于不可達。可見RIP只適用于小型互聯網。RIP不能在兩個網絡之間同時使用多條路由。RIP選擇一個具有最少路由器的路由(即最短路由),哪怕還存在另一條高速(低時延)但路由器較多的路由。
RIP協議的三個特點
- 僅和相鄰路由器交換信息。
- 交換的信息是當前本路由器所知道的全部信息,即自己的路由表。
- 按固定的時間間隔交換路由信息,例如,每隔30秒。當網絡拓撲發生變化時,路由器也及時向相鄰路由器通告拓撲變化后的路由信息。
路由表的建立
- 路由器在剛剛開始工作時,只知道到直接連接的網絡的距離(此距離定義為1)。它的路由表是空的。
- 以后,每一個路由器也只和數目非常有限的相鄰路由器交換并更新路由信息。
- 經過若干次更新后,所有的路由器最終都會知道到達本自治系統中任何一個網絡的最短距離和下一跳路由器的地址。
- RIP協議的收斂(convergence)過程較快。“收斂” 就是在自治系統中所有的結點都得到正確的路由選擇信息的過程。
②距離向量算法
| 路由器收到相鄰路由器(其地址為X)的一個RIP報文:
????????????????????????????????????????否則,什么也不做。 (3)若3分鐘還沒有收到相鄰路由器的更新路由表,則把此相鄰路由器記為不可達路由器,即將距離置為16(表示不可達)。 (4)返回。 |
- 距離向量算法的基礎就是 Bellman-Ford算法(或 Ford-Fulkerson 算法)。
- 這種算法的要點是這樣的:設X是結點A到B的最短路徑上的一個結點。若把路徑A→B拆成兩段路徑A→X和X→B,則每一段路徑A→X和X一B也都分別是結點A到X和結點X到B的最短路徑。
路由器之間交換信息與路由表更新
- RIP 協議讓互聯網中的所有路由器都和自己的相鄰路由器不斷交換路由信息,并不斷更新其路由表,使得從每一個路由器到每一個目的網絡的路由都是最短的(即跳數最少)。
- 雖然所有的路由器最終都擁有了整個自治系統的全局路由信息,但由于每一個路由器的位置不同,它們的路由表當然也應當是不同的。
【例】路由表更新
?
③RIP2協議的報文格式
RIP2報文
- RIP2報文由首部和路由部分組成。
- RIP2報文中的路由部分由若干個路由信息組成。每個路由信息需要用20個字節。地址族標識符(又稱為地址類別)字段用來標志所使用的地址協議。
- 路由標記填入自治系統的號碼,這是考慮使RIP有可能收到本自治系統以外的路由選擇信息。
- 再后面指出某個網絡地址、該網絡的子網掩碼、下一跳路由器地址以及到此網絡的距離。
- 一個RIP報文最多可包括25個路由,因而RIP報文的最大長度是4+20×25= 504字節。如超過,必須再用一個RIP報文來傳送。
- RIP2具有簡單的鑒別功能。
■ 若使用鑒別功能,則將原來寫入第一個路由信息(20個字節)的位置用作鑒別。
? ?????■?在鑒別數據之后才寫入路由信息,但這時最多只能再放入24個路由信息。
好消息傳播得快,壞消息傳播得慢
- RIP協議特點:好消息傳播得快,壞消息傳播得慢。
- RIP存在的一個問題:當網絡出現故障時,要經過比較長的時間(例如數分鐘)才能將此信息傳送到所有的路由器。
RIP協議的優缺點
優點:
- 實現簡單,開銷較小。
缺點:
- RIP限制了網絡的規模,它能使用的最大距離為15(16表示不可達)。
- 路由器之間交換的路由信息 是路由器中的完整路由表,因而隨著網絡規模的擴大,開銷也就增加。
- “壞消息傳播得慢”,使更新過程的收斂時間過長。
Ⅲ.內部網關協議OSPF
- 開放最短路徑優先 OSPF(Open Shortest PathFirst)是為克服RIP的缺點在1989年開發出來的。
- OSPF的原理很簡單,但實現起來卻較復雜。
?
①OSPF協議的基本特點
- “開放” 表明OSPF協議不是受某一家廠商控制,而是公開發表的。
- “最短路徑優先” 是因為使用了Dijkstra 提出的最短路徑算法SPF
- 采用 分布式的鏈路狀態協議(link state protocol)。
- 注意: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分組
②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)的方法,使廣播的信息量大大減少。
-
指定的路由器代表該局域網上所有的鏈路向連接到該網絡上的各路由器發送狀態信息。
Ⅳ.外部網關協議BGP
- BGP是不同自治系統的路由器之間交換路由信息的協議。
- BGP較新版本是2006年1月發表的BGP-4(BGP 第4個版本),即RFC 4271 ~4278。
- 可以將BGP-4簡寫為BGP。
BGP使用環境不同
■? 互聯網的規模太大,使得自治系統之間路由選擇非常困難。對于自治系統之間的路由選擇,要尋找最佳路由是很不現實的。
- 當一條路徑通過幾個不同AS時,要想對這樣的路徑計算出有意義的代價是不太可能的。
- 比較合理的做法是在AS之間交換“可達性”信息。
■? 自治系統之間的路由選擇必須考慮有關策略。
■? 因此,邊界網關協議 BGP 只能是力求尋找一條能夠到達目的網絡且比較好的路由(不能兜圈子),而并非要尋找一條最佳路由。
BGP發言人
- 每一個自治系統的管理員要選擇至少一個路由器作為該自治系統的 “BGP發言人”(BGP speaker)。
- 一般說來,兩個BGP發言人都是通過一個共享網絡連接在一起的,而BGP發言人往往就是BGP邊界路由器,但也可以不是BGP邊界路由器。
BGP交換路由信息
- 一個BGP發言人與其他自治系統中的BGP發言人要交換路由信息,就要先建立TCP連接,然后在此連接上交換 BGP報文以建立BGP會話(session),利用BGP會話交換路由信息。
- 使用TCP連接能提供可靠的服務,也簡化了路由選擇協議。
- 使用TCP連接交換路由信息的兩個BGP發言人,彼此成為對方的鄰站(neighbor)或對等站(peer).
BGP發言人和自治系統AS的關系
AS的連通圖舉例
- BGP所交換的網絡可達性的信息就是要到達某個網絡所要經過的一系列AS。
- 當BGP發言人互相交換了網絡可達性的信息后,各BGP發言人就根據所采用的策略從收到的路由信息中找出到達各AS的較好路由。
BGP發言人交換路徑向量
BGP協議的特點
-
BGP協議交換路由信息的結點數量級是自治系統數的量級,這要比這些自治系統中的網絡數少很多。
-
每一個自治系統中BGP發言人(或邊界路由器)的數目是很少的。這樣就使得自治系統之間的路由選擇不致過分復雜。
-
BGP支持 CIDR,因此BGP的路由表也就應當包括目的網絡前綴、下一跳路由器,以及到達該目的網絡所要經過的各個自治系統序列。
-
在BGP剛剛運行時,BGP的鄰站是交換整個的BGP路由表。但以后只需要在發生變化時更新有變化的部分。這樣做對節省網絡帶寬和減少路由器的處理開銷都有好處。
BGP-4共使用四種報文
打開(OPEN)報文,用來與相鄰的另一個BGP發言人建立關系。
更新(UPDATE)報文,用來發送某一路由的信息,以及列出要撤消的多條路由。
?;?/span>(KEEPALIVE)報文,用來確認打開報文和周期性地證實鄰站關系。
通知(NOTIFICATION)報文,用來發送檢測到的差錯。
BGP報文具有通用首部
Ⅴ.路由器的構成
■? 路由器是一種典型的網絡層設備。
■? 路由器是互聯網中的關鍵設備。
■? 路由器的主要作用是:
- 連通不同的網絡。
- 選擇信息傳送的線路。選擇通暢快捷的近路,能大大提高通信速度,減輕網絡系統通信負荷,節約網絡系統資源,提高網絡系統暢通率,從而讓網絡系統發揮出更大的效益來。
①路由器的結構
- 路由器是一種具有多個輸入端口和多個輸出端口的專用計算機,其任務是轉發分組。也就是說,將路由器某個輸入端口收到的分組,按照分組要去的目的地(即目的網絡),把該分組從路由器的某個合適的輸出端口轉發給下一跳路由器。
- 下一跳路由器也按照這種方法處理分組,直到該分組到達終點為止。
- 路由器的轉發分組正是網絡層的主要工作。
?典型的路由器的結構
■? 整個的路由器結構可劃分為兩大部分:
- 路由選擇部分
- 分組轉發部分
■? 路由選擇部分
- 也叫做控制部分,其核心構件是路由選擇處理機。
- 路由選擇處理機的任務是根據所選定的路由選擇協議構造出路由表,同時經?;蚨ㄆ诘睾拖噜徛酚善鹘粨Q路由信息而不斷地更新和維護路由表。
分組轉發部分由三部分組成:
- 交換結構(switching fabric):又稱為交換組織,其作用是根據轉發表(forwarding table)對分組進行處理。
- 一組輸入端口
- 一組輸出端口
????????(請注意:這里的端口就是硬件接口)
“轉發”和“路由選擇”的區別
- “轉發”(forwarding)就是路由器根據轉發表將用戶的IP數據報從合適的端口轉發出去。
- “路由選擇”(routing)則是按照分布式算法,根據從各相鄰路由器得到的關于網絡拓撲的變化情況,動態地改變所選擇的路由。
- 路由表是根據路由選擇算法得出的。而轉發表是從路由表得出的。
- 在討論路由選擇的原理時,往往不去區分轉發表和路由表的區別。
輸入端口對線路上收到的分組的處理
-
路由器的輸入端口里面裝有物理層、數據鏈路層和網絡層的處理模塊。
-
數據鏈路層剝去幀首部和尾部后,將分組送到網絡層的隊列中排隊等待處理。這會產生一定的時延。
-
輸入端口中的查找和轉發功能在路由器的交換功能中是最重要的。
輸出端口將交換結構傳送來的分組發送到線路
- 輸出端口里面裝有物理層、數據鏈路層和網絡層的處理模塊。
- 輸出端口從交換結構接收分組,然后把它們發送到路由器外面的線路上。
- 在網絡層的處理模塊中設有一個緩沖區(隊列)。當交換結構傳送過來的分組的速率超過輸出鏈路的發送速率時,來不及發送的分組就必須暫時存放在這個隊列中。
- 數據鏈路層處理模塊將分組加上鏈路層的首部和尾部,交給物理層后發送到外部線路。
分組丟棄
- 若路由器處理分組的速率趕不上分組進入隊列的速率,則隊列的存儲空間最終必定減少到零,這就使后面再進入隊列的分組由于沒有存儲空間而只能被丟棄。
- 路由器中的輸入或輸出隊列產生溢出是造成分組丟失的重要原因。
②交換結構
■? 交換結構是路由器的關鍵構件。
■? 正是這個交換結構把分組從一個輸入端口轉移到某個合適的輸出端口。
■? 實現交換有多種方法。常用交換方法有三種:
|
|
|
6.IPv6
- IP是互聯網的核心協議。
- 互聯網經過幾十年的飛速發展,到2011年2月,IPv4的32位地址已經耗盡。
- ISP已經不能再申請到新的IP地址塊了。
- 我國在2014- 2015年也逐步停止了向新用戶和應用分配IPv4地址。
- 解決IP地址耗盡的根本措施就是采用具有更大地址空間的新版本的IP,即IPv6。
Ⅰ.lPv6的基本首部
■? IPv6仍支持無連接的傳送,但將協議數據單元PDU稱為分組。為方便起見,本書仍采用數據報這一名詞。
■? 所引進的主要變化如下:
- 更大的地址空間。IPv6將地址從IPv4的32位增大到了128位。
- 擴展的地址層次結構。
- 靈活的首部格式。IPv6定義了許多可選的擴展首部。
- 改進的選項。IPv6允許數據報包含有選項的控制信息,其選項放在有效載荷中。
- 允許協議繼續擴充。
- 支持即插即用(即自動配置)。因此IPv6不需要使用DHCP。
- 支持資源的預分配。IPv6支持實時視像等要求,保證一定的帶寬和時延的應用。
- lPv6首部改為8字節對齊。首部長度必須是8字節的整數倍。原來的IPv4首部是4字節對齊。
lPv6數據報的一般形式
lPv6數據報由兩大部分組成:
- 基本首部(base header)
- 有效載荷(payload)。有效載荷也稱為凈負荷。有效載荷允許有零個或多個擴展首部(extension header),再后面是數據部分。
lPv6數據報的基本首部
- IPv6將首部長度變為固定的40字節,稱為基本首部。
- 把首部中不必要的功能取消了,使得IPv6首部的字段數減少到只有8個。
IPv6對首部中的某些字段進行了如下的更改:
|
|
| 4位。它指明了協議的版本,對IPv6該字段總是6。 ? |
| 8位。這是為了區分不同的IPv6數據報的類別或優先級。目前正在進行不同的通信量類性能的實驗。 ? |
| 20位。“流”是互聯網絡上從特定源點到特定終點的一系列數據報,“流”所經過的路徑上的路由器都保證指明的服務質量。所有屬于同一個流的數據報都具有同樣的流標號。 ? |
| 16位。它指明IPv6數據報除基本首部以外的字節數(所有擴展首部都算在有效載荷之內),其最大值是64 KB。 ? |
| 8位。它相當于IPv4的協議字段或可選字段。 ? |
| 8位。源站在數據報發出時即設定跳數限制。路由器在轉發數據報時將跳數限制字段中的值減1。當跳數限制的值為零時,就要將此數據報丟棄。 ? |
| 128位。是數據報的發送站的IP地址。 ? |
| 128位。是數據報的接收站的IP地址。 ? |
lPv6的擴展首部
- IPv6把原來IPv4首部中選項的功能都放在擴展首部中,并將擴展首部留給路徑兩端的源站和目的站的主機來處理。
- 數據報途中經過的路由器都不處理這些擴展首部(只有一個首部例外,即逐跳選項擴展首部)。
- 這樣就大大提高了路由器的處理效率。
六種擴展首部
在RFC 2460中定義了六種擴展首部:
| 每一個擴展首部都由若干個字段組成,它們的長度也各不相同。但所有擴展首部的第一個字段都是8位的“下一個首部”字段。此字段的值指出了在該擴展首部后面的字段是什么。 |
Ⅱ.lPv6的地址
IPv6數據報的目的地址可以是以下三種基本類型地址之一:
結點與接口
■ IPv6將實現IPv6的主機和路由器均稱為結點。
■ 一個結點就可能有多個與鏈路相連的接口。
■ IPv6地址是分配給結點上面的接口的。
- 一個接口可以有多個單播地址。
- 其中的任何一個地址都可以當作到達該結點的目的地址。即一個結點接口的單播地址可用來唯一地標志該結點。
冒號十六進制記法
- 在IPv6中,每個地址占128位,地址空間大于?。
- 為了使地址再稍簡潔些,IPv6使用冒號十六進制記法(colon hexadecimal notation,簡寫為colon hex)。
- 每個16位的值用十六進制值表示,各值之間用冒號分隔。例如:
| 68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF |
- 在十六進制記法中,允許把數字前面的0省略。例如把0000中的前三個0省略,寫成1個0。
零壓縮
- 冒號十六進制記法可以允許零壓縮(zero compression),即一連串連續的零可以為一對冒號所取代。
| FF05:0:0:0:0:0:0:B3? 可壓縮為:FF05::B3 |
注意:在任一地址中只能使用一次零壓縮。
點分十進制記法的后綴
- 冒號十六進制記法可結合使用點分十進制記法的后綴,這種結合在IPv4向IPv6的轉換階段特別有用。
- 例如:0:0:0:0:0:0:128.10.2.1
- 再使用零壓縮即可得出:::128.10.2.1
- CIDR的斜線表示法仍然可用。
- 例如:60位的前綴 12AB00000000CD3可記為:12AB:0000:0000:CD30:0000:0000:0000:0000/60
或?12AB::CD30:0:0:0:0/60(零壓縮)
或?12AB:0:0:CD30::/60(零壓縮)
lPv6地址分類
| 未指明地址 | 00...0(128位),可記為::/128。 |
|
| 環回地址 | 00...1(128位),可記為::1/128。 |
|
| 多播地址 | 11111111(8),可記為FF00::/8。 |
|
| 本地鏈路單播地址 | 1111111010(10位),可記為FE80::/10。 |
|
| 全球單播地址 | (除上述四種外,所有其他的二進制前綴) |
|
Ⅲ.從IPv4向IPv6過渡
■?向IPv6過渡只能采用逐步演進的辦法,同時,還必須使新安裝的IPv6系統能夠向后兼容:
lPv6系統必須能夠接收和轉發IPv4分組,并且能夠為IPv4分組選擇路由。
■?兩種向IPv6過渡的策略:
- 使用雙協議棧
- 使用隧道技術
雙協議棧
- 雙協議棧(dual stack)是指在完全過渡到IPv6之前,使一部分主機(或路由器)裝有兩個協議棧,一個lPv4和一個IPv6。
- 雙協議棧的主機(或路由器)記為IPv6/IPv4,表明它同時具有兩種IP地址:一個IPv6地址和一個IPv4地址。
- 雙協議棧主機在和IPv6主機通信時是采用IPv6地址,而和IPv4主機通信時就采用IPv4地址。
- 根據DNS返回的地址類型可以確定使用IPv4地址還是lPv6地址。
隧道技術
- 在IPv6數據報要進入IPv4網絡時,把IPv6數據報封裝成為IPv4數據報,整個的IPv6數據報變成了IPv4數據報的數據部分。
- 當IPv4數據報離開IPv4網絡中的隧道時,再把數據部分(即原來的IPv6數據報)交給主機的IPv6協議棧。
Ⅳ.ICMPv6
- IPv6也不保證數據報的可靠交付,因為互聯網中的路由器可能會丟棄數據報。
- 因此IPv6也需要使用ICMP來反饋一些差錯信息。新的版本稱為ICMPv6。
- 地址解析協議ARP 和 網際組管理協議IGMP協議 的功能都已被合并到ICMPv6中。
ICMPv6報文的分類
- ICMPv6 是面向報文的協議,它利用報文來報告差錯,獲取信息,探測鄰站或管理多播通信。
- ICMPv6? 還增加了幾個定義報文的功能及含義的其他協議。
7.IP多播
Ⅰ.IP多播的基本概念
■ IP多播(multicast,以前曾譯為組播)已成為互聯網的一個熱門課題。
■ 目的:更好第支持一對多通信。
■ 一對多通信:一個源點發送到許多個終點。
- 例如,實時信息的交付(如新聞、股市行情等),軟件更新,交互式會議及其他多媒體通信。
多播可大大節約網絡資源
| 采用單播方式,向90臺主機傳送同樣的視頻節目需要發送90個單播 |
| 采用多播方式,只需發送一次到多播組。路由器復制分組。局域網具有硬件多播功能,不需要復制分組。 |
| 當多播組的主機數很大時(如成千上萬個),采用多播方式就可明顯地減輕網絡中各種資源的消耗。 |
IP多播
- 在互聯網上進行多播就叫做IP多播。
- 互聯網范圍的多播要靠路由器來實現。
- 能夠運行多播協議的路由器稱為多播路由器(multicast router)。當然它也可以轉發普通的單播lP數據報。
- 從1992年起,在互聯網上開始試驗虛擬的多播主干網MBONE(Multicast Backbone On theInterNEt)?,F在多播主干網已經有了相當大的規模。
多播IP地址
- IP多播所傳送的分組需要使用多播IP地址。
- 在多播數據報的目的地址寫入的是多播組的標識符。
- 多播組的標識符就是IP地址中的D類地址(多播地址)。
- 每一個D類地址標志一個多播組。
- 多播地址只能用于目的地址,不能用于源地址。
多播數據報
- 多播數據報和一般的IP數據報的區別就是它使用D類IP地址作為目的地址,并且首部中的協議字段值是2,表明使用網際組管理協議IGMP。
- 多播數據報也是“盡最大努力交付”,不保證一定能夠交付多播組內的所有成員。
- 對多播數據報不產生ICMP差錯報文。因此,若在PING命令后面鍵入多播地址,將永遠不會收到響應。
Ⅱ.在局域網上進行硬件多播
- 互聯網號碼指派管理局 IANA 擁有的以太網地址塊的高24位為00-00-5E。
- 因此TCP/IР協議使用的以太網多播地址塊的范圍是
從?00-00-5E-00-00-00
到? 00-00-5E-FF-FF-FF
- 不難看出,在每一個地址中,只有23位可用作多播。
- D類IP地址可供分配的有28位,在這28位中的前5位不能用來構成以太網硬件地址。
D類地址與以太網多播地址的映射關系
由于多播IP地址與以太網硬件地址的映射關系不是唯一的,因此收到多播數據報的主機,還要在IP層利用軟件進行過濾,把不是本主機要接收的數據報丟棄。
Ⅲ.網際組管理協議IGMP和多播路由選擇協議
①IP多播需要兩種協議
- 為了使路由器知道多播組成員的信息,需要利用網際組管理協議IGMP (Internet Group Management Protocol)。
- 連接在局域網上的多播路由器還必須和互聯網上的其他多播路由器協同工作,以便把多播數據報用最小代價傳送給所有的組成員。這就需要使用多播路由選擇協議。
IGMP使多播路由器 知道 多播組成員信息
IGMP 的使用范圍
-
IGMP并非在互聯網范圍內對所有多播組成員進行管理的協議。
-
IGMP不知道IP多播組包含的成員數,也不知道這些成員都分布在哪些網絡上。
-
IGMP協議是讓連接在本地局域網上的多播路由器知道本局域網上是否有主機(嚴格講,是主機上的某個進程)參加或退出了某個多播組。
| 多播路由選擇協議比單播路由選擇協議復雜得多。 |
多播路由選擇協議更為復雜
- 多播轉發必須動態地適應多播組成員的變化(這時網絡拓撲并未發生變化)。請注意,單播路由選擇通常是在網絡拓撲發生變化時才需要更新路由。
- 多播路由器在轉發多播數據報時,不能僅僅根據多播數據報中的目的地址,而是還要考慮這個多播數據報從什么地方來和要到什么地方去。
- 多播數據報可以由沒有加入多播組的主機發出,也可以通過沒有組成員接入的網絡。
②網際組管理協議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 采用的一些具體措施
- 在主機和多播路由器之間的所有通信都是使用IP多播。
- 多播路由器在探詢組成員關系時,只需要對所有的組發送一個請求信息的詢問報文,而不需要對每一個組發送一個詢問報文。默認的詢問速率是每125秒發送一次。
- 當同一個網絡上連接有幾個多播路由器時,它們能夠迅速和有效地選擇其中的一個來探詢主機的成員關系。
- 在IGMP的詢問報文中有一個數值N,它指明一個最長響應時間(默認值為10秒)。當收到詢問時,主機在0到N之間隨機選擇發送響應所需經過的時延。對應于最小時延的響應最先發送。
- 同一個組內的每一個主機都要監聽響應,只要有本組的其他主機先發送了響應,自己就可以不再發送響應了。
③多播路由選擇
- 多播路由選擇協議尚未標準化。
- 一個多播組中的成員是動態變化的,隨時會有主機加入或離開這個多播組。
- 多播路由選擇實際上就是要找出以源主機為根結點的多播轉發樹。
- 在多播轉發樹上的路由器不會收到重復的多播數據報。
- 對不同的多播組對應于不同的多播轉發樹。
- 同一個多播組,對不同的源點也會有不同的多播轉發樹。
多播路由選擇協議在轉發多播數據報時使用三種方法:
洪泛與剪除
隧道技術(tunneling)
基于核心的發現技術
反向路徑廣播RPB和剪除 | |
| |
|
幾種多播路由選擇協議
- 距離向量多播路由選擇協議 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)
8.虛擬專用網VPN和網絡地址轉換NAT
Ⅰ.虛擬專用網VPN
- 由于IP地址的緊缺,一個機構能夠申請到的IP地址數往往遠小于本機構所擁有的主機數。
- 考慮到互聯網并不很安全,一個機構內也并不需要把所有的主機接入到外部的互聯網。
- 假定在一個機構內部的計算機通信也是采用TCP/IP協議,那么從原則上講,對于這些僅在機構內部使用的計算機就可以由本機構自行分配其IP地址。
本地地址與全球地址
- 本地地址——僅在機構內部使用的IP地址,可以由本機構自行分配,而不需要向互聯網的管理機構申請。
- 全球地址——全球唯一的IP地址,必須向互聯網的管理機構申請。
- 問題:在內部使用的本地地址就有可能和互聯網中某個IP地址重合,這樣就會出現地址的二義性問題。
- 解決:RFC 1918指明了一些專用地址(private address)。專用地址只能用作本地地址而不能用作全球地址。在互聯網中的所有路由器,對目的地址是專用地址的數據報一律不進行轉發。
RFC 1918指明的專用P地址
三個專用IP地址塊:
(1) 10.0.0.0 到 10.255.255.255
A類,或記為10.0.0.0/8,它又稱為24位塊
(2) 172.16.0.0 到 172.31.255.255
B類,或記為172.16.0.0/12,它又稱為20位塊
(3) 192.168.0.0 到 192.168.255.255
C類,或記為192.168.0.0/16,它又稱為16位塊
專用網
- 采用這樣的專用IP地址的互連網絡稱為專用互聯網或本地互聯網,或更簡單些,就叫做專用網。
- 因為這些專用地址僅在本機構內部使用。專用IP地址也叫做可重用地址(reusable address)。
虛擬專用網VPN
- 利用公用的互聯網作為本機構各專用網之間的通信載體,這樣的專用網又稱為虛擬專用網?VPN (Virtual Private Network)。
- “專用網” 是因為這種網絡是為本機構的主機用于機構內部的通信,而不是用于和網絡外非本機構的主機通信。
- “虛擬”表示“好像是”,但實際上并不是,因為現在并沒有真正使用通信專線,而VPN只是在效果上和真正的專用網一樣。
虛擬專用網VPN構建
- 如果專用網不同網點之間的通信必須經過公用的互聯網,但又有保密的要求,那么所有通過互聯網傳送的數據都必須加密。
- 一個機構要構建自己的 VPN就必須為它的每一個場所購買專門的硬件和軟件,并進行配置,使每一個場所的VPN系統都知道其他場所的地址。
用隧道技術實現虛擬專用網
?
內聯網intranet和外聯網extranet
-
它們都是基于TCP/IP協議的。
-
由部門A和B的內部網絡所構成的虛擬專用網VPN又稱為內聯網(intranet),表示部門A和B都是在同一個機構的內部。
-
一個機構和某些外部機構共同建立的虛擬專用網VPN又稱為外聯網(extranet)。
遠程接入 VPN
- 遠程接入VPN(remote access VPN)可以滿足外部流動員工訪問公司網絡的需求。
- 在外地工作的員工撥號 接入互聯網,而駐留在員工PC機中的VPN軟件 可在員工的PC機和公司的主機之間 建立 VPN隧道,因而外地員工與公司通信的內容是保密的,員工們感到好像就是使用公司內部的本地網絡。
Ⅱ.網絡地址轉換NAT
■ 問題:在專用網上 使用專用地址的主機 如何與 互聯網上的主機 通信(并不需要加密)?
? ?解決:
■ 網絡地址轉換 NAT (Network AddressTranslation)方法于1994年提出。
■ 需要在專用網連接到互聯網的路由器上安裝NAT 軟件。裝有NAT 軟件的路由器叫做NAT路由器,它至少有一個有效的外部全球IP地址。
■ 所有使用本地地址的主機在和外界通信時,都要在NAT路由器上將其本地地址轉換成全球IP地址,才能和互聯網連接。
網絡地址轉換的過程
- 內部主機A用本地地址??和互聯網上主機B通信所發送的數據報必須經過NAT路由器。
- NAT路由器將數據報的源地址??轉換成全球地址?,并把轉換結果記錄到NAT地址轉換表中,目的地址??保持不變,然后發送到互聯網。
- NAT路由器收到主機B發回的數據報時,知道數據報中的源地址是?而目的地址是?。
- 根據NAT轉換表,NAT路由器將目的地址??轉換為?,轉發給最終的內部主機A。
- 可以看出,在內部主機與外部主機通信時,在NAT路由器上發生了兩次地址轉換:
離開專用網時:替換源地址,將內部地址替換為全球地址;
? ? 進入專用網時:替換目的地址,將全球地址替換為內部地址;
| 方向 | 字段 | 舊的IP地址 | 新的IP地址 |
| 出 | 源IP地址 | 192.168.0.3 | 172.38.1.5 |
| 入 | 目的IP地址 | 172.38.1.5 | 192.168.0.3 |
| 出 | 源IP地址 | 192.168.0.7 | 172.38.1.6 |
| 入 | 目的IP地址 | 172.38.1.6 | 192.168.0.7 |
網絡地址轉換NAT
-
當NAT路由器具有?n?個全球IP地址時,專用網內最多可以同時有?n?臺主機接入到互聯網。這樣就可以使專用網內較多數量的主機,輪流使用NAT路由器有限數量的全球IP地址。
-
通過NAT路由器的通信必須由專用網內的主機發起。專用網內部的主機不能充當服務器用,因為互聯網上的客戶無法請求專用網內的服務器提供服務。
網絡地址與端口號轉換NAPT
- 為了更加有效地利用NAT路由器上的全球IP地址,現在常用的NAT轉換表把運輸層的端口號也利用上。這樣,就可以使多個擁有本地地址的主機,共用一個NAT路由器上的全球IP地址,因而可以同時和互聯網上的不同主機進行通信。
- 使用端口號的NAT叫做網絡地址與端口號轉換NAPT(Network Address and Port Translation),而不使用端口號的NAT就叫做傳統的NAT(traditional NAT)。
NAPT地址轉換表
| 出 | 源IP地址:TCP源端口 | 192.168.0.3:30000 | 172.38.1.5:40001 |
| 出 | 源IP地址:TCP源端口 | 192.168.0.4:30000 | 172.38.1.5:40002 |
| 入 | 目的IP地址:TCP目的端口 | 172.38.1.5:40001 | 192.168.0.3:30000 |
| 入 | 目的IP地址:TCP目的端口 | 172.38.1.5:40002 | 192.168.0.4:30000 |
| NAPT把專用網內不同的源IP地址,都轉換為同樣的全球IP地址。 但對源主機所采用的TCP端口號(不管相同或不同),則轉換為不同的新的端口號。因此,當NAPT路由器收到從互聯網發來的應答時,就可以從IP數據報的數據部分找出運輸層的端口號,然后根據不同的目的端口號,從 NAPT轉換表中找到正確的目的主機。 |
9.多協議標記交換 MPLS
- IETF于1997年成立了MPLS工作組,開發出一種新的協議——多協議標記交換MPLS(MultiProtocol Label Switching)。
- “多協議” 表示在 MPLS的上層可以采用多種協議,例如:IP,IPX;可以使用多種數據鏈路層協議,例如:PPP,以太網,ATM等。
- “標記” 是指每個分組被打上一個標記,根據該標記對分組進行轉發。
| 為了實現交換,可以利用面向連接的概念,使每個分組攜帶一個叫做標記(label)的小整數。當分組到達交換機(即標記交換路由器)時,交換機讀取分組的標記,并用標記值來檢索分組轉發表。這樣就比查找路由表來轉發分組要快得多。 |
MPLS特點
■ MPLS并沒有取代IP,而是作為一種IP增強技術,被廣泛地應用在互聯網中。
■ MPLS具有以下三個方面的特點:
- (1)支持面向連接的服務質量;
- (2)支持流量工程,平衡網絡負載;
- (3)有效地支持虛擬專用網VPN。
Ⅰ.MPLS的工作原理
①基本工作過程
■ IР分組的轉發
- 在傳統的IP網絡中,分組每到達一個路由器后,都必須提取出其目的地址,按目的地址查找路由表,并按照“最長前綴匹配”的原則找到下一跳的IP地址(請注意,前綴的長度是不確定的)。
- 當網絡很大時,查找含有大量項目的路由表要花費很多的時間。
- 在出現突發性的通信量時,往往還會使緩存溢出,這就會引起分組丟失、傳輸時延增大和服務質量下降。
MPLS協議的基本原理
- 在MPLS域的入口處,給每一個IP數據報打上固定長度“標記”,然后對打上標記的IP數據報用硬件進行轉發。
- 采用硬件技術對打上標記的IP數據報進行轉發就稱為標記交換。
- “交換”也表示在轉發時不再上升到第三層查找轉發表,而是根據標記在第二層(鏈路層)用硬件進行轉發。
- MPLS域(MPLS domain)是指該域中有許多彼此相鄰的路由器,并且所有的路由器都是支持MPLS技術的標記交換路由器?LSR (Label Switching Router)。
- LSR同時具有標記交換和路由選擇這兩種功能,標記交換功能是為了快速轉發,但在這之前LSR需要使用路由選擇功能構造轉發表。
MPLS的基本工作過程
⑴ MPLS域中的各LSR使用專門的標記分配協議LDP交換報文,并找出標記交換路徑LSP。各LSR根據這些路徑構造出分組轉發表。
⑵ 分組進入到MPLS域時,MPLS 入口結點把分組打上標記,并按照轉發表將分組轉發給下一個LSR。給IP數據報打標記的過程叫做分類(classification)。
⑶ 一個標記僅僅在兩個標記交換路由器LSR之間才有意義。分組每經過一個LSR,LSR就要做兩件事:
| ①是轉發, |
| ②是更換新的標記,即把入標記更換成為出標記。這就叫做標記對換(label swapping)。 |
| 入接口 | 入標記 | 出接口 | 出標記 |
| 0 | 3 | 1 | 1 |
| 項目含義:從入接口0收到一個入標記為3的IP數據報,轉發時,應當把該IP數據報從出接口1轉發出去,同時把標記對換為1。 |
⑷ 當分組離開MPLS域時,MPLS 出口結點把分組的標記去除。再以后就按照一般分組的轉發方法進行轉發。
| 上述的這種“由入口LSR確定進入MPLS域以后的轉發路徑”稱為顯式路由選擇(explicit routing),它和互聯網中通常使用的“每一個路由器逐跳進行路由選擇”有著很大的區別。 |
②轉發等價類FEC(Forwarding Equivalence Class)
- MPLS有個很重要的概念就是轉發等價類FEC(Forwarding Equivalence Class)。
- “轉發等價類”就是路由器按照同樣方式對待的分組的集合。
| “按照同樣方式對待”?表示:從同樣接口轉發到同樣的下一跳地址,并且具有同樣服務類別和同樣丟棄優先級等。 |
- 劃分FEC的方法不受什么限制,這都由網絡管理員來控制,因此非常靈活。
- 入口結點并不是給每一個分組指派一個不同的標記,而是將屬于同樣FEC的分組都指派同樣的標記。
- FEC和標記是一一對應的關系。
?FEC用于負載平衡
流量工程
-
網絡管理員采用自定義的FEC就可以更好地管理網絡的資源。
-
這種均衡網絡負載的做法也稱為流量工程TE(Traffic Engineering)或通信量工程。
Ⅱ.MPLS首部的位置與格式?
- MPLS并不要求下層的網絡都使用面向連接的技術。
- 下層的網絡并不提供打標記的手段,而IPv4數據報首部也沒有多余的位置存放MPLS標記。
- 這就需要使用一種封裝技術:在把IP數據報封裝成以太網幀之前,先要插入一個MPLS首部。
- 從層次的角度看,MPLS首部就處在第二層和第三層之間。
MPLS首部的格式
| “給IP數據報打上標記”其實就是在 以太網的幀首部 和 IР數據報的首部 之間插入一個4字節的MPLS首部。 |
MPLS首部共包括以下四個字段:
?
總結
以上是生活随笔為你收集整理的计网PPT 第四章 网络层的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 互联网时代,学什么专业就业好?
- 下一篇: 小功能解决小麻烦,福昕PDF阅读器仿真放