TCP IP傳送方式有三種 單播,廣播,組播

2021-07-10 17:23:44 字數 2753 閱讀 2896

tcp/ip傳送方式有三種:單播,廣播,組播

2012-03-09 09:28:42

分類:

tcp/ip傳送方式

組播技術是tcp/ip傳送方式的一種。在我們討論組播技術之前先來看看

tcp/ip傳送方式。tcp/ip傳送方式有三種:單播,廣播,組播。

單播(unicast)傳輸:在傳送者和每一接收者之間需要單獨的資料通道。 如果一台主機同時給很少量的接收者傳輸資料,一般沒有什麼問題。但如果有大量主機希望獲得資料報的同乙份拷貝時卻很難實現。 這將導致傳送者負擔沉重、延遲長、網路擁塞;為保證一定的服務質量需增加硬體和頻寬。

組播(multicast)傳輸:它提高了資料傳送效率。減少了主幹網出現擁塞的可能性。組播組中的主機可以是在同乙個物理網路, 也可以來自不同的物理網路(如果有組播路由器的支援)。

廣播(broadcast)傳輸:是指在ip子網內廣播資料報,所有在子網內部的主機都將收到這些資料報。 廣播意味著網路向子網主機都投遞乙份資料報,不論這些主機是否樂於接收該資料報。然而廣播的使用範圍非常小, 只在本地子網內有效,因為路由器會封鎖廣播通訊。廣播傳輸增加非接收者的開銷。

二、組播技術

2.1、組播技術的原理

組播是一種允許乙個或多個傳送者(組播源)傳送單一的資料報到多個接收者(一次的,同時的)的網路技術。 組播源把資料報傳送到特定組播組,而只有屬於該組播組的位址才能接收到資料報。組播可以大大的節省網路頻寬, 因為無論有多少個目標位址,在整個網路的任何一條鏈路上只傳送單一的資料報。 它提高了資料傳送效率。減少了主幹網出現擁塞的可能性。組播組中的主機可以是在同乙個物理網路, 也可以來自不同的物理網路(如果有組播路由器的支援)。

其網路模型如下圖所示:

2.2、實現組播技術的前提條件

實現ip組播傳輸,則組播源和接收者以及兩者之間的下層網路都必須支援組播。這包括以下幾方面:

* 主機的tcp/ip實現支援傳送和接收ip組播;

* 主機的網路介面支援組播;

* 有一套用於加入、離開、查詢的組管理協議,即igmp(v1,v2);

* 有一套ip位址分配策略,並能將第三層ip組播位址對映到第二層mac位址;

* 支援ip組播的應用軟體;

* 所有介於組播源和接收者之間的路由器、集線器、交換機、tcp/ip棧、防火牆均需支援組播;

2.3、組播位址

, 主機應能同時接收單播和組播資料,這意味著主機需要多個ip和ethernet位址。 ip位址方案專門為組播劃出乙個位址範圍,在ipv4中為d類位址,範圍是224.0.0.0到239.255.255.255, 並將d類位址劃分為區域性鏈結組播位址、預留組播位址、管理許可權組播位址。

d類位址的最後28位元沒有結構化,即沒有網路id和主機id之分。響應某乙個ip多播位址的主機構成乙個主機組,主機組可跨越多個網路。主機組的成員 數是動態的,主機可以通過igmp協議加入或離開某個主機組。ip多播位址影射到乙太網位址的方法見下圖。因為ip多播位址的高5位未影射,因此,影射的 乙太網位址不是唯一的,共有32個ip多播位址影射到乙個乙太網位址。

2.4、組播協議:

組播協議主要包括組管理協議(igmp)和組播路由協議(密集模式協議(如dvmrp,pim-dm)、稀疏模式協議(如pim-sm,cbt) 和鏈路狀態協議(mospf))

* 組管理協議igmp

主機使用igmp通知子網組播路由器,希望加入組播組;路由器使用igmp查詢本地子網中是否有屬於某個組播組的主機。

* 加入組播組

當某個主機加入某乙個組播組時,它通過「成員資格報告」訊息通知它所在的ip子網的組播路由器,同時將自己的ip模組做相應的準備, 以便開始接收來自該組播組傳來的資料。如果這台主機是它所在的ip子網中第一台加入該組播組的主機, 通過路由資訊的交換,組播路由器加入組播分布樹。

* 退出組播組

在igmp v1中,當主機離開某乙個組播組時,它將自行退出。組播路由器定時(如120秒) 使用「成員資格查詢」 訊息向ip子網中的所有主機的組位址(224.0.0.1)查詢,如果某一組播組在ip子網中已經沒有任何成員, 那麼組播路由器在確認這一事件後, 將不再在子網中**該組播組的資料。與此同時,通過路由資訊交換, 從特定的組播組分布樹中刪除相應的組播路由器。 這種不通知任何人而悄悄離開的方法, 使得組播路由器知道ip子網中已經沒有任何成員的事件延時了一段時間,所以在igmp v2.0中,當每乙個主機離開某乙個組播組時, 需要通知子網組播路由器,組播路由器立即向ip子網中的所有組播組詢問,從而減少了系統處理停止組播的延時。

* 組播路由協議

要想在乙個實際網路中實現組播資料報的**,必須在各個互連裝置上執行可互操作的組播路由協議。 組播路由協議可分為三類:密集模式協議(如dvmrp,pim-dm)、稀疏模式協議(如pim-sm,cbt) 和鏈路狀態協議(mospf),下面分別介紹各個協議的工作原理。

* 距離向量組播路由協議(distance vector multicast routing protocol:dvmrp)

dvmrp由單播路由協議rip擴充套件而來,兩者都使用距離向量演算法得到網路的拓撲資訊,不同之處在於rip根據路由表前向**資料, 而dvmrp則是基於rpf。為了使新加入的組播成員能及時收到組播資料,dvmpr採用定時傳送資料報給所有的lan的方法, 然而這種方法導致大量路由控制資料報的擴散,這部分開銷限制了網路規模的擴大。另一方面,dvmrp使用跳數作為計量尺度, 其上限為32跳,這對網路規模也是乙個限制。目前提出了分層dvmrp,即對組播網路劃分區域, 在區域內的組播可以按照任何協議進行,而對於跨區域的組播則由邊界路由器在dvmrp協議下進行,這樣可大大減少路由開銷。

* 開放式組播最短路徑優先協議(multicast open shortest path first:mospf)

自動傳送郵件三種方式

一 sql觸發器傳送 二 winform程式後用任務計畫傳送 頁面 引用 using system.data.common using system.data.sqlclient using system.configuration using system.data using system.ne...

觸發事件有三種方式

整個協議棧中觸發事件有三種方式 1 通過設定乙個 軟體定時器 當其溢位時觸發事件。osal start timerex osaltimerupdate osal set event 2 通過呼叫系統訊息傳遞機制觸發事件。osal msg send osal set event 3 直接呼叫osal ...

Python 傳送 email 的三種方式

python傳送email的三種方式,分別為使用登入郵件伺服器 使用smtp服務 呼叫sendmail命令來傳送三種方法 python傳送email比較簡單,可以通過登入郵件服務來傳送,linux下也可以使用呼叫sendmail命令來傳送,還可以使用本地或者是遠端的smtp服務來傳送郵件,不管是單個...