五、IP多播技術的應用
IP多播應用大致可以分為三類: 點對多點應用,多點對點應用和多點對多點應用。
1.點對多點應用
點對多點應用是指一個發送者,多個接收者的應用形式,這是最常見的多播應用形式。典型的應用包括:媒體廣播、媒體推送、信息緩存、事件通知和狀態監視。
媒體廣播:如演講、演示、會議等按日程進行的事件。其傳統媒體分發手段通常采用電視和廣播。這一類應用通常需要一個或多個恒定速率的數據流,當采用多個數據流(如語音和視頻)時,往往它們之間需要同步,并且相互之間有不同的優先級。它們往往要求較高的帶寬、較小的延時抖動,但是對絕對延時的要求不是很高。
媒體推送:如新聞標題、天氣變化、運動比分等一些非商業關鍵性的動態變化的信息。它們要求的帶寬較低、對延時也沒有什么要求。
信息緩存:如網站信息、執行代碼和其他基于文件的分布式復制或緩存更新。它們對帶寬的要求一般,對延時的要求也一般。
事件通知:如網絡時間、組播會話日程、隨機數字、密鑰、配置更新、有效范圍的網絡警報或其他有用信息。它們對帶寬的需求有所不同,但是一般都比較低,對延時的要求也一般。
狀態監視:如股票價格、傳感設備、安全系統、生產信息或其他實時信息。這類帶寬要求根據采樣周期和精度有所不同,可能會有恒定速率帶寬或突發帶寬要求,通常對帶寬和延時的要求一般。
2.多點對點的應用
多點對點應用是指多個發送者,一個接收者的應用形式。通常是雙向請求響應應用,任何一端(多點或點)都有可能發起請求。典型應用包括:資源查找、數據收集、網絡競拍、信息詢問和Juke Box
資源查找:如服務定位,它要求的帶寬較低,對時延的要求一般。
數據收集: 它是點對多點應用中狀態監視應用的反向過程。它可能由多個傳感設備把數據發回給一個數據收集主機。帶寬要求根據采樣周期和精度有所不同,可能會有恒定速率帶寬或突發帶寬要求,通常這類應用對帶寬和延時的要求一般。
網絡競拍:拍賣者拍賣產品,而多個競拍者把標價發回給拍賣者。
信息詢問:詢問者發送一個詢問,所有被詢問者返回應答。通常這對帶寬的要求較低,對延時不太敏感。
Juke Box:如支持準點播(Near-On-Demand)的音視頻倒放。通常接收者采用“帶外的”協議機制(如HTTP、RTSP、SMTP,也可以采用組播方式)發送倒放請求給一個調度隊列。它對帶寬的要求較高,對延時的要求一般。
3.多點對多點的應用
多點對多點應用是指多個發送者和多個接收者的應用形式。通常,每個接收者可以接收多個發送者發送的數據,同時,每個發送者可以把數據發送給多個接收者。典型應用包括:多點會議、資源同步、并行處理、協同處理、遠程學習、討論組、分布式交互模擬(DIS)、多人游戲和Jam Session等。
多點會議: 通常音/視頻和文本應用構成多點會議應用。在多點會議中,不同的數據流擁有不同的優先級。傳統的多點會議采用專門的多點控制單元來協調和分配它們,采用多播可以直接由任何一個發送者向所有接收者發送,多點控制單元用來控制當前發言權。這類應用對帶寬和延時要求都比較高。
資源同步:如日程、目錄、信息等分布數據庫的同步。它們對帶寬和延時的要求一般。
并行處理:如分布式并行處理。它對帶寬和延時的要求都比較高。
協同處理:如共享文檔的編輯。它對帶寬和延時的要求一般。
遠程學習:這實際上是媒體廣播應用加上對上行數據流(允許學生向老師提問)的支持。它對帶寬和延時的要求一般。
討論組:類似于基于文本的多點會議,還可以提供一些模擬的表達。
分布式交互模擬(DIS):它對帶寬和時延的要求較高。
多人游戲: 多人游戲是一種帶討論組能力的簡單分布式交互模擬。它對帶寬和時延的要求都比較高。
Jam Session:這是一種音頻編碼共享應用。它對帶寬和時延的要求都比較高。
IP多播帶入了許多新的應用并減少了網絡的擁塞和服務器的負擔。目前IP多播的應用范圍還不夠大,但它能夠降低占用帶寬,減輕服務器負荷,并能改善傳送數據的質量,尤其適用于需要大量帶寬的多媒體應用,如音頻、視頻等。這項新技術已成為當前網絡界的熱門話題,并將從根本上改變網絡的體系結構。
下面介紹一個多播靜態路由引起的循環解決方法:
一、問題:
在r3和r1之間使用了GRE通道,所有的路由器接口配置為sparse-mode,R4 ip為(1.1.4.4)但R1無法ping通多播源。
二、示意圖如下:
multicast source -----R5------R3-------R223----R1--e0
............................................|
............................................|
............................................R4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
三、原配置如下:
R1#mtrace 1.1.15.1 150.100.2.1 239.255.8.8
Type escape sequence to abort.
Mtrace from 1.1.15.1 to 150.100.2.1 via group 239.255.8.8
From source (?) to destination (?)
Querying full reverse path...
0 150.100.2.1
-1 1.1.12.5 PIM [default]
-2 1.1.12.3 PIM [default]
-3 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-4 1.1.16.3 PIM [default]
-5 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-6 1.1.16.3 PIM [default]
-7 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-8 1.1.16.3 PIM [default]
-9 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-10 1.1.16.3 PIM [default]
-11 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-12 1.1.16.3 PIM [default]
-13 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-14 1.1.16.3 PIM [default]
-15 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-16 1.1.16.3 PIM [default]
-17 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-18 1.1.16.3 PIM [default]
-19 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-20 1.1.16.3 PIM [default]
-21 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-22 1.1.16.3 PIM [default]
-23 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-24 1.1.16.3 PIM [default]
-25 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-26 1.1.16.3 PIM [default]
-27 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-28 1.1.16.3 PIM [default]
-29 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-30 1.1.16.3 PIM [default]
-31 1.1.16.4 PIM Reached RP/Core [1.1.15.0/24]
-32 1.1.16.3 PIM [default]
R1#
04:55:18: MRT: Update (*, 224.0.1.40), RPF Null, PC 0x354F1F4
R1#sh run
Building configuration...
Current configuration : 1546 bytes
!
version 12.1
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname R1
!
logging rate-limit console 10 except errors
!
ip subnet-zero
no ip finger
no ip domain-lookup
!
ip multicast-routing
cns event-service server
!
!
!
interface Loopback0
ip address 1.1.1.1 255.255.255.0
ip ospf network point-to-point
!
interface Tunnel0
ip address 1.1.103.1 255.255.255.252
ip pim sparse-mode
tunnel source Loopback0
tunnel destination 1.1.3.3
!
interface Ethernet0
ip address 1.1.15.1 255.255.255.0
ip pim sparse-mode
!
interface Ethernet1
ip address 1.1.11.1 255.255.255.0
!
interface Serial0
no ip address
encapsulation frame-relay
no frame-relay inverse-arp
frame-relay lmi-type cisco<BR>!
interface Serial0.1 point-to-point
ip address 1.1.8.1 255.255.255.252
frame-relay interface-dlci 106
!
interface Serial1
no ip address
shutdown
!
router ospf 64
router-id 1.1.1.1
log-adjacency-changes
area 0 authentication message-digest
area 11 virtual-link 1.1.3.3 message-digest-key 1 md5 cisco
passive-interface Tunnel0
network 1.1.1.1 0.0.0.0 area 11
network 1.1.8.1 0.0.0.0 area 11
network 1.1.11.1 0.0.0.0 area 11
network 1.1.15.1 0.0.0.0 area 10
!
ip kerberos source-interface any
ip classless
no ip http server
ip pim rp-address 1.1.4.4
ip mroute 150.100.2.0 255.255.255.0 Tunnel0
ip mroute 1.1.4.4 255.255.255.255 Tunnel0
!
!
!
line con 0
privilege level 15
logging synchronous
transport input none
line aux 0
line vty 0 4
login
!
end
```````````````````````````````````````````````````````````````
R1#sh ip pim interface
Address Interface Ver/ Nbr Query DR DR
Mode Count Intvl Prior
1.1.15.1 Ethernet0 v2/S 0 30 1 1.1.15.1
1.1.103.1 Tunnel0 v2/S 1 30 1 0.0.0.0
R1#sh ip pim nei
PIM Neighbor Table
Neighbor Interface Uptime/Expires Ver DR
Address Priority/Mode
1.1.103.2 Tunnel0 00:38:46/00:01:29 v2 1 / S
```````````````````````````````````````````````````````````````
R3#sh ip pim interface
Address Interface Ver/ Nbr Query DR DR
Mode Count Intvl Prior
1.1.16.3 Serial0/0 v2/S 1 30 1 1.1.16.4
1.1.12.3 Serial0/1.1 v2/S 1 30 1 1.1.12.5
1.1.103.2 Tunnel0 v2/S 1 30 1 0.0.0.0
R3#sh ip pim nei
R3#sh ip pim neighbor
PIM Neighbor Table
Neighbor Interface Uptime/Expires Ver DR
Address Prio/Mode
1.1.16.4 Serial0/0 04:21:08/00:01:26 v2 1 / DR S
1.1.12.5 Serial0/1.1 04:20:55/00:01:37 v2 1 / DR S
1.1.103.1 Tunnel0 00:40:26/00:01:20 v2 1 / S
R3#
R3#sh run
Building configuration...
Current configuration : 3174 bytes
!
! Last configuration change at 19:40:44 mgt Sun Feb 28 1993
!
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R3
!
!
username R5 password 0 cisco
clock timezone mgt -8
ip subnet-zero
!
!
no ip domain lookup
ip multicast-routing
!
isdn switch-type basic-net3
!
!
voice call carrier capacity active
!
!
!
!
!
!
!
!
!
mta receive maximum-recipients 0
!
!
!
!
interface Loopback0
ip address 1.1.3.3 255.255.255.0
ip ospf network point-to-point
!
interface Tunnel0
ip address 1.1.103.2 255.255.255.252
ip pim sparse-mode
tunnel source Loopback0
tunnel destination 1.1.1.1
!
interface FastEthernet0/0
ip address 1.1.9.3 255.255.255.0
duplex auto
speed auto
standby use-bia
standby ip 1.1.9.1
standby priority 105
standby preempt
standby track Serial0/0
!
interface BRI0/0
no ip address
encapsulation ppp
dialer pool-member 1
isdn switch-type basic-net3
!
interface Serial0/0
ip address 1.1.16.3 255.255.255.0
ip pim sparse-mode
encapsulation frame-relay
ip ospf network point-to-point
frame-relay map ip 1.1.16.4 314 broadcast
no frame-relay inverse-arp
frame-relay lmi-type cisco
!
interface FastEthernet0/1
ip address 1.1.10.3 255.255.255.0
duplex auto
speed auto
!
interface Serial0/1
no ip address
encapsulation frame-relay
no frame-relay inverse-arp
!
interface Serial0/1.1 multipoint
ip address 1.1.12.3 255.255.255.248
ip pim nbma-mode
ip pim sparse-mode
ip ospf message-digest-key 1 md5 cisco
ip ospf hello-interval 5
ip ospf priority 255
frame-relay map ip 1.1.12.2 302 broadcast
frame-relay map ip 1.1.12.5 305 broadcast
!
interface Dialer0
ip address 1.1.32.34 255.255.255.252
encapsulation ppp
ip ospf demand-circuit
load-interval 30
dialer pool 1
dialer string 34121735
dialer load-threshold 51 outbound
no peer neighbor-route
no cdp enable
ppp authentication chap
ppp multilink
!
router ospf 64
router-id 1.1.3.3
log-adjacency-changes
area 0 authentication message-digest
area 2 virtual-link 1.1.4.4 message-digest-key 1 md5 cisco
area 11 range 1.1.8.0 255.255.252.0
area 11 virtual-link 1.1.1.1 message-digest-key 1 md5 cisco
passive-interface Tunnel0
network 1.1.3.3 0.0.0.0 area 11
network 1.1.9.3 0.0.0.0 area 11
network 1.1.10.3 0.0.0.0 area 11
network 1.1.12.3 0.0.0.0 area 0
network 1.1.16.3 0.0.0.0 area 2
network 1.1.32.34 0.0.0.0 area 0
neighbor 1.1.12.5 poll-interval 6
neighbor 1.1.12.2 poll-interval 6
!
ip classless
ip http server
ip pim rp-address 1.1.4.4
!
!
logging history debugging
logging trap debugging
dialer-list 1 protocol ip permit
!
call rsvp-sync
!
!
mgcp profile default
!
dial-peer cor custom
!
!
!
!
!
line con 0
privilege level 15
logging synchronous
line aux 0
line vty 0 4
login
!
ntp authentication-key 1 md5 070C285F4D06 7
ntp authenticate
ntp source Loopback0
ntp master 2
!
end |
四、解決步驟:
在R3上改動配置,相關方面的配置如下,就可實現目標:
inter t0
ip unnumber lo0
tunnel source lo0
tunnel destination 1.1.1.1
ip pim dense-mode
exit
ip mroute 1.1.15.0 255.255.255.0 t0 |
(stub 端)R1上面的相關配置如下:
inter t0
ip unnumber lo0
tunnel source lo0
tunnel destination 1.1.3.3
ip pim dense-mode
exit
inter e0
ip addr 1.1.15.1 255.255.255.0
ip pim dense-mode
exit
ip mroute 150.100.2.0 255.255.255.0 t0
(或者使用ip mroute 0.0.0.0 0.0.0.0 t0) |
在任何一個方向部署multicast source都可以建立樹。
注:可以用dvmrp tunnel來和pim一起做來達到起到上述效果。