IP組播基礎
IP組播簡介
作為IP傳輸三種方式之一,IP組播通訊指的是IP報文從一個源發出,被轉發到一組特定的接收者。相較於傳統的單播和廣播,IP組播可以有效地節約網路頻寬、降低網路負載,所以被廣泛應用於IPTV、實時資料傳送和多媒體會議等網路業務中。
目的:
傳統的IP通訊有兩種方式:單播(Unicast)和廣播(Broadcast)。
- 對於單播通訊,資訊源為每個需要資訊的主機都發送一份獨立的報文。
- 對於廣播通訊,資訊源將資訊傳送給該網段中的所有主機,而不管其是否需要該資訊。
如果要將資料從一臺主機發送給多個主機而非所有主機,可以採用廣播方式,也可以由源主機採用單播方式向網路中的多臺目標主機發送多份資料。
- 採用單播方式時,網路中傳輸的資訊量與需要該資訊的使用者量成正比。當需要該資訊的使用者數量較大時,資訊源需要將多份內容相同的資訊傳送給不同的使用者,這對資訊源以及網路頻寬都將造成巨大的壓力。因此,該傳輸方式不利於資訊的批量傳送,只適用於使用者稀少的網路。
- 採用廣播方式時,不需要接收資訊的主機也將收到該資訊,這樣不僅資訊的安全性得不到保障,而且會造成同一網段中資訊氾濫。因此,該傳輸方式不利於與特定物件進行資料互動,同時會浪費大量的頻寬。
由上述可見,傳統的單播和廣播通訊方式不能有效地解決單點發送、多點接收的問題。
組播(Multicast)可以很好的解決點到多點的資料傳輸,源只發送一份資料,網路中只有需要該資料的主機可以接收該資料,其他主機不能收到該資料。
組播相對單播和廣播有如下優勢:
- 相比單播,由於被傳遞的資訊在距資訊源儘可能遠的網路節點才開始被複制和分發,所以使用者的增加不會導致資訊源負載的加重以及網路資源消耗的顯著增加。
- 相比廣播,由於被傳遞的資訊只會傳送給需要該資訊的接收者,所以不會造成網路資源的浪費,並能提高資訊傳輸的安全性。
組播的優勢:
- 提高效率:降低網路流量、減輕硬體負荷
- 優化效能:減少冗餘流量、節約網路頻寬、降低網路負載。
- 分散式應用:使多點應用成為可能
組播適用於任何“點到多點”的資料釋出,主要包含以下幾方面:
- 多媒體、流媒體的應用。
- 培訓、聯合作業場合的通訊。
- 資料倉庫、金融應用(股票)。
IP組播技術在ISP提供的網際網路資訊服務中已經得到了應用。例如:線上直播、網路電視、遠端教育、遠端醫療、網路電臺和實時視/音訊會議等。
組播的劣勢:
組播技術有效地解決了單點發送多點接收的問題,實現了IP網路中點到多點的高效資料傳送。但由於組播技術是基於UDP的,所以同時也存在著不足之處:
盡力而為
報文不能依賴組播網路進行可靠性保證,必須針對組播網路的這個特點進行特別設計。“可靠組播”目前仍然處於研究階段。丟失是不可避免的。因此組播應用程式
沒有擁塞避免機制
缺少TCP視窗機制和慢啟動機制,組播可能會出現擁塞。如果可能的話,組播應用程式應該嘗試檢測避免擁塞。
報文重複
某些組播協議的特殊機制(如Assert機制和SPT切換機制)可能會造成偶爾的資料包的重複。組播應用程式應該容忍這種現象。
報文失序
同樣組播協議有的時候會造成報文到達的次序錯亂,組播應用程式必須自己採用某種手段進行糾正(比如緩衝池機制等)。
原理描述
組播基本概念:
組播傳輸的特點是單點發送,多點接收。
- 組播組:用IP組播地址進行標識的一個集合。任何使用者主機(或其他接收裝置),加入一個組播組,就成為了該組成員,可以識別並接收發往該組播組的組播資料。
- 組播源:資訊的傳送者稱為“組播源”,一個組播源可以同時向多個組播組傳送資料,多個組播源也可以同時向一個組播組傳送報文。組播源通常不需要加入組播組,由源端DR負責管理組播源的註冊和SPT(Shortest Path Tree)的建立。
- 組播組成員:所有加入某組播組的主機便成為該組播組的成員,組播組中的成員是動態的,主機可以在任何時刻加入或離開組播組。組播組成員可以廣泛地分佈在網路中的任何地方。
- 組播路由器:支援三層組播功能的路由器或交換機。組播路由器不僅能夠提供組播路由功能,也能夠在與使用者連線的末梢網段上提供組播組成員的管理功能。
組播服務模型:
組播服務模型的分類是針對接收者主機的,對組播源沒有區別。組播源發出的組播資料中總是以組播源自己的IP地址為報文的源地址,組播組地址為目的地址。而接收者主機接收資料時可以對源進行選擇,因此產生了ASM(Any-Source Multicast)和SSM(Source-Specific Multicast)兩種服務模型。這兩種服務模型預設使用不同的組播組地址範圍。
ASM模型:
- ASM模型僅針對組地址提供組播分發。一個組播組地址作為一個網路服務的集合,任何源釋出到該組地址的資料得到同樣的服務。接收者主機加入組播組以後可以接收到任意源傳送到該組的資料。
- 為了提高安全性,可以在路由器上配置針對組播源的過濾策略,允許或禁止來自某些組播源的報文通過。最終從接收者角度看,資料是經過篩選的。
- ASM模型要求組地址必須整個組播網路中唯一。“唯一”指的是同一時刻一個ASM地址只能被一種組播應用使用。如果有兩種不同的應用程式使用了同一個ASM組地址傳送資料,它們的接收者會同時收到來自兩個源的資料。這樣一方面會導致網路流量擁塞,另一方面也會給接收者主機造成困擾。
SSM模型:
- SSM模型針對特定源和組的繫結資料流提供服務,接收者主機在加入組播組時,可以指定只接收哪些源的資料或指定拒絕接收來自哪些源的資料。加入組播組以後,主機只會收到指定源傳送到該組的資料。
- SSM模型對組地址不再要求全網唯一,只需要每個組播源保持唯一。這裡的“唯一”指的是同一個源上不同的組播應用必須使用不同的SSM地址來區分。不同的源之間可以使用相同的組地址,因為SSM模型中針對每一個(源,組)資訊都會生成表項。這樣一方面節省了組播組地址,另一方面也不會造成網路擁塞。
組播地址:
為了使組播源和組播組成員進行通訊,需要提供網路層組播,使用IP組播地址。同時,為了在本地物理網路上實現組播資訊的正確傳輸,需要提供鏈路層組播,使用組播MAC地址。組播資料傳輸時,其目的地不是一個具體的接收者,而是一個成員不確定的組,所以需要一種技術將IP組播地址對映為組播MAC地址。
IPv4組播地址:
IANA(Internet Assigned Numbers Authority,網際網路編號分配委員會)將D類地址空間分配給IPv4組播使用。IPv4地址一共32位,D類地址最高4位為1110,因此地址範圍從224.0.0.0到239.255.255.255,具體分類及含義見下表:
地址範圍 | 含義 |
---|---|
224.0.0.0~224.0.0.255 | 永久組地址。IANA為路由協議預留的IP地址(也稱為保留組地址),用於標識一組特定的網路裝置,供路由協議、拓撲查詢等使用,不用於組播轉發。 |
224.0.1.0~231.255.255.255 233.0.0.0~238.255.255.255 | ASM組播地址,全網範圍內有效。說明: 其中,224.0.1.39和224.0.1.40是保留地址,不建議使用。 |
232.0.0.0~232.255.255.255 | 預設情況下的SSM組播地址,全網範圍內有效。 |
239.0.0.0~239.255.255.255 | 本地管理組地址,僅在本地管理域內有效。在不同的管理域內重複使用相同的本地管理組地址不會導致衝突。 |
常見的永久組地址列表:
永久組地址 | 含義 |
---|---|
224.0.0.0 | 不分配 |
224.0.0.1 | 網段內所有主機和路由器(等效於廣播地址) |
224.0.0.2 | 所有組播路由器 |
224.0.0.3 | 不分配 |
224.0.0.4 | DVMRP(Distance Vector Multicast Routing Protocol,距離向量組播路由協議)路由器 |
224.0.0.5 | OSPF(Open Shortest Path First,開放最短路徑優先)路由器 |
224.0.0.6 | OSPF DR(Designated Router,指定路由器) |
224.0.0.7 | ST(Shared Tree,共享樹)路由器 |
224.0.0.8 | ST主機 |
224.0.0.9 | RIP-2(Routing Information Protocol version 2,路由資訊協議版本2)路由器 |
224.0.0.11 | 移動代理(Mobile-Agents) |
224.0.0.12 | DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)伺服器/中繼代理 |
224.0.0.13 | 所有PIM(Protocol Independent Multicast,協議無關組播)路由器 |
224.0.0.14 | RSVP(Resource Reservation Protocol,資源預留協議)封裝 |
224.0.0.15 | 所有CBT(Core-Based Tree,有核樹)路由器 |
224.0.0.16 | 指定SBM(Subnetwork Bandwidth Management,子網頻寬管理) |
224.0.0.17 | 所有SBM |
224.0.0.18 | VRRP(Virtual Router Redundancy Protocol,虛擬路由器冗餘協議) |
224.0.0.22 | 所有使能IGMPv3(Internet Group Management Protocol, Version 3,因特網組管理協議)的路由器 |
224.0.0.19 ~ 224.0.0.21 224.0.0.23 ~ 224.0.0.255 | 未指定 |
IPv6組播地址:
和IPv4組播地址相比,IPv6組播地址有了明確的Group ID欄位用於標識組播組。
- FF:最高8位為11111111,標識此地址為組播地址。即IPv6組播地址總是以FF開頭。
- Flags欄位(4位),用來標識組播地址的狀態。其含義如下:
取值 含義 0 表示是IANA指定的常用組播地址,也叫保留組地址 1 表示是ASM範圍的組播地址 2 表示是ASM範圍的組播地址 3 表示是SSM範圍的組播地址 其他 未分配 Scope欄位(4位):用來標識組播組的應用範圍,例如是隻包含同一本地網路、同一站點、同一機構中的節點,還是包含全球地址空間內的任何節點。其含義如下:
取值 含義 0、3、F 保留 1 節點(或介面)本地範圍(node/interface-local scope) 2 鏈路本地範圍(link-local scope) 4 管理本地範圍(admin-local scope) 5 站點本地範圍(site-local scope) 8 機構本地範圍(organization-local scope) E 全球範圍(global scope) 其他 未分配 Group ID(112位):組播組標識號。用來在由Scope欄位所指定的範圍內唯一標識組播組,該標識可能是永久分配的或臨時的,這由Flags欄位的T位決定。
IPv6組播地址範圍及含義:
範圍 | 含義 |
---|---|
FF0x::/32 | 保留組地址。 |
FF1x::/32(x不能是1或者2)FF2x::/32(x不能是1或者2) | ASM組播地址,全網範圍內有效。 |
FF3x::/32(x不能是1或者2) | 預設的SSM組地址範圍,全網範圍內有效。 |
IPv4組播MAC地址:
乙太網傳輸IPv4單播報文的時候,目的MAC地址使用的是接收者的MAC地址。但是在傳輸組播資料時,其目的地不再是一個具體的接收者,而是一個成員不確定的組,所以要使用IPv4組播MAC地址,即IPv4組播地址對映到鏈路層中的地址。
IANA規定,IPv4組播MAC地址的高24位為0x01005e,第25位為0,低23位為IPv4組播地址的低23位,例如組播組地址224.0.1.1對應的組播MAC地址為01-00-5e-00-01-01。
IPv4組播地址的前4位是固定的1110,對應組播MAC地址的高25位,後28位中只有23位被對映到MAC地址,因此丟失了5位的地址資訊,直接結果是有32個IPv4組播地址對映到同一MAC地址上。
IPv6組播地址:
IPv6組播MAC地址的高16位為0x3333,低32位為IPv6組播地址的低32位。
組播的相關協議:
組播協議包括用於主機註冊的組播組管理協議,和用於組播選路轉發的組播路由協議。
- IGMP(InternetGroup Management Protocol)在接收者主機和組播路由器之間執行,該協議定義了主機與路由器之間建立和維護組播成員關係的機制。
組播路由器之間執行組播路由協議,組播路由協議用於建立和維護組播路由,並正確、高效地轉發組播資料包。
對於ASM模型,可以將組播路由分為域內和域間兩大類。
域內組播路由協議用來在自治系統AS(AutonomousSystem)內發現組播源並構建組播分發樹,將資訊傳遞到接收者。域內組播路由協議包括:DVRMP、MOSPF、PIM。
- DVRMP是距離向量組播路由協議(DistanceVector Multicast Routing Protocol)是一種密集模式協議。該協議有跳數限制,最大跳數32跳。
- MOSPF是OSPF路由協議的擴充套件協議。它通過定義新的LSA來支援組播。
- PIM(Protocol Independent Multicast為稀疏時,)是典型的域內組播路由協議,分為DM(DenseMode)和SM(SparseMode)兩種模型。當接收者在網路中的分佈較為密集時,適用DM;較適用SM。PIM必須和單播路由協議協同工作。
域間組播路由協議用來實現組播資訊在AS之間的傳遞。
- MSDP(MulticastSource Discovery Protocol)能夠跨越AS傳播組播源資訊。
- MPBGP(MultiProtocolBorder Gateway Protocol)的組播擴充套件MBGP(MulticastBGP)能夠跨越AS傳播組播路由。
對於SSM模型,沒有域內和域間的劃分。由於接收者預先知道組播源的具體位置,因此可以藉助PIMSM的部分功能直接建立組播傳輸路徑。
相關推薦
IP組播基礎
IP組播簡介 作為IP傳輸三種方式之一,IP組播通訊指的是IP報文從一個源發出,被轉發到一組特定的接收者。相較於傳統的單播和廣播,IP組播可以有效地節約網路頻寬、降低網路負載,所以被廣泛應用於IPTV、實時資料傳送和多媒體會議等網路業務中。 目的:
IP組播基礎及工作原理——3
PIM基礎及工作原理 PIM(協議無關組播)中的“協議無關”指的是與單播路由協議無關,即PIM不需要維護專門的單播路由資訊,而是直接利用單播路由表的路由資訊(注意:還有自己的組播路由表),對組播報文執行RPF(Reverse Path Forwarding,逆向路徑轉發)檢
組播基礎
表示 -o 接收 技術 一個 環路 網遊 cto 自己 ospf network是把接口網段宣告出去變成路由告訴別的路由器;網段的接口會加入一個組,224.0.0.5。收音機的是廣播,只是屏蔽某些人不需要的,有線電視也是如此。對於網絡直播電視來講,軟件全是單播的,不用組播,
音視訊技術 IP組播
在Internet上,多媒體業務諸如:流媒體,視訊會議和視訊點播等,正在成為資訊傳送的重要組成部分。點對點傳輸的單播方式不能適應這一類業務傳輸特性--單點發送多點接收,因為伺服器必須為每一個接收者提供一個相同內容的IP報文拷貝,同時網路上也重複地傳輸相同內容的報文,佔用了
IP組播和組播協議
在Internet上,多媒體業務諸如:流媒體,視訊會議和視訊點播等,正在成為資訊傳送的重要組成部分。點對點傳輸的單播方式不能適應這一類業務傳輸特 性--單點發送多點接收,因為伺服器必須為每一個接收者提供一個相同內容的IP報文拷貝,同時網路上也重複地傳輸相同內容
IP組播配置與管理——5
組播VLAN配置與管理組播VLAN(MulticastVLAN)一般部署於裝置的網路側來實現組播流匯聚,然後將組播報文在使用者VLAN內複製分發。華為S系列交換機支援基於使用者VLAN和基於介面兩種方式配置組播VLAN複製功能,可根據不同的應用場景來選擇對應方式配置組播VLA
WinSock2 IP組播(多播)示例
#include <winsock2.h>#include <ws2tcpip.h> #include <stdio.h>#include <stdlib.h> #pragma comment( lib, "ws2_32.lib" ) #define MCAST
組播IP轉換為組播MAC地址【轉載】
映射關系 映射 過程 clas 網段 使用 3層 ans spa 鏈接:https://www.zhihu.com/question/36730567/answer/83083851來源:知乎著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。 組播IP轉換
Linux環境下伺服器利用組播來獲取客戶端IP
單播是兩個主機之間端對端通訊(比如TCP、UDP通訊),而廣播用於一個主機對整個區域網中所有主機的通訊。單播和廣播是兩個極端,要麼對一個主機通訊,要麼對區域網內所有主機通訊。然而在實際情況下,比如要獲取區域網內獲取執行特殊任務主機IP,單播顯然不適用,因為單播必須首先要知道通
【TCP/IP】單播與組播
三種IP地址: 單播地址、廣播地址和組播地址廣播和多播僅應用於UDP。 TCP是一個面向連線的協議,TCP一定是點對點的,一點是兩個主機來建立連線的,TCP肯定是單播。只有UDP才會使用廣播和組播。 有時一個主機要向網上的所有其它主機發
TCP/IP詳解卷一之廣播和本地組播(IGMP和MLD)
1 引言 —廣播和組播為應用程式提供了兩種服務: · 資料分組交付至多個目的地; · 通過客戶端請求/發現伺服器,如DHCP。 —廣播比較簡單,但開銷更高;組播比較複雜,但效率更高。 —IPv4支援廣播和組播;IPv6只支援組播,不支援廣播。 —一般來說,只有使用UDP傳輸協議的使用者應用程
WIFI專案--【Java TCP/IP Socket】 — 單播、廣播、組播
在當前網路通訊中(TCP/IP也不例外)有三種通訊模式:單播、廣播、組播(又叫多播, 個人感覺叫多播描述的有點不恰當),其中多播出現的時間最晚,但同時具備單播和廣播的優點,最具有發展前景。 通訊方式分類: 1.單播:單臺主機與單臺主機之間的通訊;
組播IP地址的使用範圍規定
組播報文的目的地址使用 d 類 ip 地址, 範圍是從 224.0.0.0 到 239.255.255.255。d 類地址不能出現在 ip 報文的源 ip 地址欄位。 224.0.0.0~224.0.0.255 為預留的組播地址(永久組地址) 只能用於區域網中,路由器
一篇講組播MAC和各類IP地址的文章
MAC地址是乙太網二層使用的一個48bit(6位元組十六進位制數)的地址,用來標識裝置位置。MAC地址分成兩部分,前24位是組織唯一識別符號(OUI, Organizationally unique identifier),後24位由廠商自行分配。 MAC地址有單播、組播、廣播之分。單播地址(uni
組網基礎之深入解析二層組播
所謂二層組播,即資料幀的轉發是面向二層的,根據組播MAC地址來決定資料幀的轉發方向,而三層組播,即所謂的IP組播,則根據三層組播地址,即組播IP地址來進行資料幀的轉發。 二層組播相關協議包括IGMP 和GMRP協議。讓我們從分析組播MAC地址開始,逐步而深入的瞭解二層組播
組播MAC地址和各類IP地址
MAC地址是乙太網二層使用的一個48bit(6位元組十六進位制數)的地址,用來標識裝置位置。MAC地址分成兩部分,前24位是組織唯一識別符號(OUI, Organizationally unique identifier),後24位由廠商自行分配。 MAC地址有單
vxlan vs GRE(三層組播和二層組播如何對應起來)
由器 ams 之間 數據信息 控制 格式 tunnel network 處理 www.huawei.com/ilink/cnenterprise/download/HW_401028 http://feisky.xyz/sdn/basic/vxlan.html 華為的v
單播、廣播、組播、多播
交換機 電子 orm 數據流 優點 網上 size qos 電視機 組播=多播 單播、組播、廣播是網絡中結點的3種通訊方式。 1、單播 1)定義: 主機之間一對一的通訊模式。網絡中的交換機和路由器對數據只轉發,不復制。網絡中的路由器和交換機根據目標地址選擇傳輸路徑。
圖說單播,組播,廣播,選播和地域播
ecif nic 技術分享 packet add ast software protoc cti 在計算機網絡之路由選擇中,單播(unicast),組播(multicast)和廣播(broadcast)可謂家喻戶曉,婦孺皆知。但其實播(cast)有5種,列舉如下: Rou
MAC地址(單播、廣播、組播、數據收發)
制造商 局域網 對比 地址 方式 傳輸 eid type 但是 MAC地址 網絡設備的MAC地址是全球唯一的。MAC地址長度為48比特,通常用十六進制表示。MAC地址包含兩部分:前24比特是組織唯一標識符(OUI,OrganizationallyUniqueIdent