用Visual C++實現區域網路IP多播

來源:互聯網
上載者:User

在區域網路中,管理員常常需要將某條資訊發送給一組使用者。如果使用一對一的發送方法, 雖然是可行的,但是過於麻煩,也常會出現漏發、錯發。為了更有效解決這種組通訊問題 ,出現了一種多播技術(也常稱為組播通訊),它是基於IP層的通訊技術。為了協助讀者理 解,下面將簡要的介紹一下多播的概念。

眾所周知,普通IP通訊是在一個寄件者和一 個接收者之間進行的,我們常把它稱為點對點的通訊,但對於有些應用,這種點對點的通訊 模式不能有效地滿足實際應用的需求。例如:一個數字電話會議系統由多個會場組成,當在 其中一個會場的參會人發言時,要求其它會場都能即時的得到此發言的內容,這是一個典型 的一對多的通訊應用,通常把這種一對多的通訊稱為多播通訊。採用多播通訊技術,不僅可 以實現一個寄件者和多個接收者之間進行通訊的功能,而且可以有效減輕網路通訊的負擔, 避免資源的無謂浪費。

廣播也是一種實現一對多資料通訊的模式,但廣播與多播在實 現方式上有所不同。廣播是將資料從一個工作站發出,區域網路內的其他所有工作站都能收到 它。這一特徵適用於無連線協定,因為LAN上的所有機器都可獲得並處理廣播訊息。使用廣播 訊息的不利之處是每台機器都必須對該訊息進行處理。多播通訊則不同,資料從一個工作站 發出後,如果在其它LAN上的機器上面啟動並執行進程表示對這些資料"有興趣",多播 資料才會制給它們。

本執行個體由Sender和Receiver兩個程式組成,Sender使用者從控制台 上輸入多播發送資料,Receiver端都要求加入同一個多播組,完成接收Sender發送的多播數 據。

一、實現方法

1、 協議支援

並不是所有的協議都支援多播通訊, 對Win32平台而言,僅兩種可從WinSock內訪問的協議(IP/ATM)才提供了對多播通訊的支援 。因通常通訊應用都建立在TCP/IP協議之上的,所以本文只針對IP協議來探討多播通訊技術 。

支援多播通訊的平台包括Windows CE 2.1、Windows 95、Windows 98、Windows NT 4、Windows 2000和WindowsXP。自2.1版開始,Windows CE才開始實現對IP多播的支援。本文 執行個體建立在WindowsXP專業版平台上。

2、多播地址

IP採用D類地址來支援多播 。每個D類地址代表一組主機。共有28位可用來標識小組。所以可以同時有多達25億個小組。 當一個進程向一個D類地址發送分組時,會盡最大的努力將它送給小組的所有成員,但不能保 證全部送到。有些成員可能收不到這個分組。舉個例子來說,假定五個節點都想通過I P多播 ,實現彼此間的通訊,它們便可加入同一個組地址。全部加入之後,由一個節點發出的任何 資料均會一模一樣地複製一份,發給組內的每個成員,甚至包括始發資料的那個節點。D類I P位址範圍在244.0.0.0到239.255.255.255之間。它分為兩類:永久地址和臨時地址。永久地 址是為特殊用途而保留的。比如,244.0.0.0根本沒有使用(也不能使用),244.0.0.1代表 子網內的所有系統(主機),而244.0.0.2代表子網內的所有路由器。在RFC 1700檔案中,提 供了所有保留地址的一個詳細清單。該檔案是為特殊用途保留的所有資源的一個列表,大家 可以找來作為參考。"Internet分配數字專家組"(I A N A)負責著這個列表的維 護。在表1中,我們總結了目前標定為"保留"的一些地址。臨時組地址在使用前必 須先建立,一個進程可以要求其主機加入特定的組,它也能要求其主機脫離該組。當主機上 的最後一個進程脫離某個組後,該組地址就不再在這台主機中出現。每個主機都要記錄它的 進程當前屬於哪個組。 表1 部分永久地址說明

地 址 說 明

244.0.0.1 基本 地址(保留)

244.0.0.1 子網上的所有系統

244.0.0.2 子網上的所有路由器

244.0.0.5 子網上所有OSPF路由器

244.0.0.6 子網上所有指定的OSPF路由器

244.0.0.9 RIP第2版本組地址

244.0.1.1 網路時間協議

244.0.1.24 WINS伺服器組地址

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.