定義
- 單播(unicast): 是指封包在計算機網絡的傳輸中,目的地址為單一目標的一種傳輸方式。它是現今網絡應用最為廣泛,通常所使用的網絡協議或服務大多采用單播傳輸,例如一切基於TCP的協議。
網絡節點之間的通信就好像是人們之間的對話一樣。如果一個人對另外一個人說話,那么用網絡技術的術語來描述就是“單播”,此時信息的接收和傳遞只在兩個節點之間進行。單播在網絡中得到了廣泛的應用,網絡上絕大部分的數據都是以單播的形式傳輸的,只是一般網絡用戶不知道而已。例如,你在收發電子郵件、瀏覽網頁時,必須與郵件服務器、Web服務器建立連接,此時使用的就是單播數據傳輸方式。但是通常使用“點對點通信”(Point to Point)代替“單播”,因為“單播”一般與“多播”和“廣播”相對應使用。簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。
- 組播(multicast): 也叫多播, 多點廣播或群播。 指把信息同時傳遞給一組目的地址。它使用策略是最高效的,因為消息在每條網絡鏈路上只需傳遞一次,而且只有在鏈路分叉的時候,消息才會被復制。
“多播”也可以稱為“組播”,在網絡技術的應用並不是很多,網上視頻會議、網上視頻點播特別適合采用多播方式。因為如果采用單播方式,逐個節點傳輸,有多少個目標節點,就會有多少次傳送過程,這種方式顯然效率極低,是不可取的;如果采用不區分目標、全部發送的廣播方式,雖然一次可以傳送完數據,但是顯然達不到區分特定數據接收對象的目的。采用多播方式,既可以實現一次傳送所有目標節點的數據,也可以達到只對特定對象傳送數據的目的。IP網絡的多播一般通過多播IP地址來實現。多播IP地址就是D類IP地址,即224.0.0.0至239.255.255.255之間的IP地址。Windows 2000中的DHCP管理器支持多播IP地址的自動分配。
- 廣播(broadcast):是指封包在計算機網絡中傳輸時,目的地址為網絡中所有設備的一種傳輸方式。實際上,這里所說的“所有設備”也是限定在一個范圍之中,稱為“廣播域”。
“廣播”在網絡中的應用較多,如客戶機通過DHCP自動獲得IP地址的過程就是通過廣播來實現的。但是同單播和多播相比,廣播幾乎占用了子網內網絡的所有帶寬。拿開會打一個比方吧,在會場上只能有一個人發言,想象一下如果所有的人同時都用麥克風發言,那會場上就會亂成一鍋粥。集線器由於其工作原理決定了不可能過濾廣播風暴,一般的交換機也沒有這一功能,不過現在有的網絡交換機(如全向的QS系列交換機)也有過濾廣播風暴功能了,路由器本身就有隔離廣播風暴的作用。廣播風暴不能完全杜絕,但是只能在同一子網內傳播,就好像喇叭的聲音只能在同一會場內傳播一樣,因此在由幾百台甚至上千台電腦構成的大中型局域網中,一般進行子網划分,就像將一個大廳用牆壁隔離成許多小廳一樣,以達到隔離廣播風暴的目的。在IP網絡中,廣播地址用IP地址“255.255.255.255”來表示,這個IP地址代表同一子網內所有的IP地址。
- 任播(anycast):是一種網絡尋址和路由的策略,使得資料可以根據路由拓朴來決定送到“最近”或“最好”的目的地。
具體說明
單播:
每次只有兩個實體相互通信,發送端和接收端都是唯一確定的。
在IPv4網絡中,0.0.0.0到223.255.255.255屬於單播地址。
你對小月月喊“小月月”,那么只有小月月回過頭來答應你。
主機之間一對一的通訊模式,網絡中的交換機和路由器對數據只進行轉發不進行復制。如果10個客戶機需要相同的數據,則服務器需要逐一傳送,重復10次相同的工作。但由於其能夠針對每個客戶的及時響應,所以現在的網頁瀏覽全部都是采用單播模式,具體的說就是IP單播協議。網絡中的路由器和交換機根據其目標地址選擇傳輸路徑,將IP單播數據傳送到其指定的目的地。
單播的優點:
1)服務器及時響應客戶機的請求
2)服務器針對每個客戶不通的請求發送不通的數據,容易實現個性化服務。
單播的缺點:
1)服務器針對每個客戶機發送數據流,服務器流量=客戶機數量×客戶機流量;在客戶數量大、每個客戶機流量大的流媒體應用中服務器不堪重負。
2)現有的網絡帶寬是金字塔結構,城際省際主干帶寬僅僅相當於其所有用戶帶寬之和的5%。如果全部使用單播協議,將造成網絡主干不堪重負。現在的P2P應用就已經使主干經常阻塞。而將主干擴展20倍幾乎是不可能。
組播:
“組播”這個詞通常用來指代IP組播。IP組播是一種通過使用一個組播地址將數據在同一時間以高效的方式發往處於TCP/IP網絡上的多個接收者的協議。此外,它還常用來與RTP等音視頻協議相結合。
互聯網架構師戴夫·克拉克是這樣描述IP組播的:“你把數據包從一頭放進去,網絡就會試圖將它們傳遞到想要得到它們的人那里。”
組播報文的目的地址使用D類IP地址, D類地址不能出現在IP報文的源IP地址字段。
你在大街上大喊一聲“美女”, 會有一群女性回頭看你。
主機之間一對一組的通訊模式,也就是加入了同一個組的主機可以接受到此組內的所有數據,網絡中的交換機和路由器只向有需求者復制並轉發其所需數據。主機可以向路由器請求加入或退出某個組,網絡中的路由器和交換機有選擇的復制並傳輸數據,即只將組內數據傳輸給那些加入組的主機。這樣既能一次將數據傳輸給多個有需要(加入組)的主機,又能保證不影響其他不需要(未加入組)的主機的其他通訊。
組播的優點:
1)需要相同數據流的客戶端加入相同的組共享一條數據流,節省了服務器的負載。具備廣播所具備的優點。
2)由於組播協議是根據接受者的需要對數據流進行復制轉發,所以服務端的服務總帶寬不受客戶接入端帶寬的限制。IP協議允許有2億6千多萬個組播,所以其提供的服務可以非常豐富。
3)此協議和單播協議一樣允許在Internet寬帶網上傳輸。
組播的缺點:
1)與單播協議相比沒有糾錯機制,發生丟包錯包后難以彌補,但可以通過一定的容錯機制和QOS加以彌補。
2)現行網絡雖然都支持組播的傳輸,但在客戶認證、QOS等方面還需要完善,這些缺點在理論上都有成熟的解決方案,只是需要逐步推廣應用到現存網絡當中。
廣播:
並非所有的計算機網絡都支持廣播,例如X.25網絡和幀中繼都不支持廣播,而且也沒有在“整個互聯網范圍中”的廣播。IPv6亦不支持廣播,廣播相應的功能由任播(anycast)代替。
通常,廣播都是限制在局域網中的,比如以太網或令牌環網絡。因為廣播在局域網中造成的影響遠比在廣域網中小得多。
以太網和IPv4網都用全1的地址表示廣播,分別是ff:ff:ff:ff:ff:ff和255.255.255.255。
令牌環網絡使用IEEE 802.2控制域中的一個特殊值來表示廣播。
你在公司大喊一聲“放假了”, 全部同事都會響應,大叫爽死了。
主機之間一對所有的通訊模式,網絡對其中每一台主機發出的信號都進行無條件復制並轉發,所有主機都可以接收到所有信息(不管你是否需要),由於其不用路徑選擇,所以其網絡成本可以很低廉。有線電視網就是典型的廣播型網絡,我們的電視機實際上是接受到所有頻道的信號,但只將一個頻道的信號還原成畫面。在數據網絡中也允許廣播的存在,但其被限制在二層交換機的局域網范圍內,禁止廣播數據穿過路由器,防止廣播數據影響大面積的主機。
廣播的優點:
1)網絡設備簡單,維護簡單,布網成本低廉
2)由於服務器不用向每個客戶機單獨發送數據,所以服務器流量負載極低。
廣播的缺點:
1)無法針對每個客戶的要求和時間及時提供個性化服務。
2)網絡允許服務器提供數據的帶寬有限,客戶端的最大帶寬=服務總帶寬。例如有線電視的客戶端的線路支持100個頻道(如果采用數字壓縮技術,理論上可以提供500個頻道),即使服務商有更大的財力配置更多的發送設備、改成光纖主干,也無法超過此極限。也就是說無法向眾多客戶提供更多樣化、更加個性化的服務。
3)廣播禁止允許在Internet寬帶網上傳輸。
任播:
任播是與單播、廣播和組播不同的方式。
在單播中,在網絡位址和網絡節點之間存在一一對應的關系。
在廣播和組播中,在網絡位址和網絡節點之間存在一對多的關系:每一個目的位址對應一群接收可以復制資訊的節點。
在任播中,在網絡位址和網絡節點之間存在一對多的關系:每一個位址對應一群接收節點,但在任何給定時間,只有其中之一可以接收到傳送端來的資訊。
在互聯網中,通常使用邊界網關協議來實現任播。
作為老板,你在公司大喊一聲“開發組的過來一個人”, 總會有一個人灰溜溜去響應, 挨批還是發錢啊?