【電腦網路】廣播和多播

來源:互聯網
上載者:User

標籤:

   IP地址由三類:單播地址(目的端為單個主機),廣播位址(目的端為給定網路上的所有主機)以及多播地址(目的端為同一組內的所有主機)。

   廣播和多播僅應用於UDP,它們需要將報文同時傳往多個接收者的應用十分重要。TCP是一個連線導向的協議,它意味著分別運行於兩主機(由IP地址確定)內的兩進程(由連接埠號碼確定)間存在一條串連。  

  考慮包含多個主機的共用通道網路如乙太網路。每個乙太網路幀包含源主機和目的主機的乙太網路地址(48bit)。通常每個乙太網路幀僅發往單個目的主機,目的地址指明單個接收介面,因而稱為單播(unicast)。在這種方式下,任意兩個主機的通訊不會干擾網內的其他主機(可能引起爭奪共用通道的情況除外)。

  然而,有時一個主機要向網上的所有其他主機發送幀,這就是廣播。通過ARP和RARP可以看到這一過程。多播(multicast)處於單播和廣播之間:幀僅傳送給屬於多播組的多個主機。

  為了弄清廣播和多播,需要瞭解主機對由通道傳送過來的幀的過濾過程。說明了這一點。

  

                                                     協議棧各層對收到的幀的過濾過程

  首先,網卡查看由通道傳送過來的幀,確定是否接收該幀,若接收後就將它傳往裝置驅動程式。通常網卡僅接收那些目的地址為網卡物理地址或廣播位址的幀。另外,多數介面均被設為混雜模式,這種模式能接收每個幀的一個複製。

  目前,大多數的網卡經過配置都能接收目的地址為多播地址或某些子網多播地址的幀。對於乙太網路,當地址中以最高位元組的最低位設定為1時表示該地址是一個多播地址,用十六進位表示為01:00:00:00:00:00(乙太網路廣播位址 ff:ff:ff:ff:ff:ff可看作是乙太網路多播地址的特例)。

  如果網卡收到一個幀,這個幀將被傳送給裝置驅動程式(如果幀檢驗和錯誤,網卡就丟棄該幀)。裝置驅動程式將進行另外的幀過濾。首先,框架類型中必須制定要用的協議(IP、ARP等等)。其次,進行多播過濾來檢測該主機是否屬於多播地址說明的多播組)。

  裝置驅動程式隨後將該資料幀傳送給下一層,比如,當框架類型指定為IP資料報時,就傳往IP層。IP根據IP地址中的源地址和目的地址進行更多的過濾。如果正常,就將資料報傳送給下一層(如TCP或UDP)。

  每次UDP收到由IP傳來的資料報,就根據目的連接埠號碼,還有源連接埠號碼進行資料報過濾。如果當前沒有進程使用該目的連接埠號碼,就丟棄該資料報併產生一個ICMP不可達報文(TCP根據它的連接埠號碼做相似的過濾).如果UDP資料報存在檢驗和錯誤,將被丟棄。

  使用廣播的問題在於它增加了對廣播資料不感興趣主機的處理負荷拿一個使用UDP廣播報文應用作為例子。如果網內有50個主機,但僅僅有20個參與該應用,每次這20個主機中的一個發送UDP廣播資料時,其餘30個主機不得不處理這些廣播資料報。一直到UDP層,收到的UDP廣播資料報才會被丟棄。這30個主機丟棄UDP廣播資料報是因為這些主機沒有使用這個目的連接埠。

  多播的出現減少了對應用不感興趣主機的處理負荷。使用多播,主機可加入一個或多個多播組。這樣,網卡將獲悉該主機屬於哪個多播組,然後僅接收主機躲在多播組的多播幀。

 

廣播

  廣播有四種類型:受限的廣播,指向網路的廣播,指向子網的廣播,指向所有子網的廣播。

 

受限的廣播

  受限的廣播位址是255.255.255.255。該地址用於主機配置過程中IP資料報的目的地址,此時,主機可能還不知道它所在的網路的網路遮罩,甚至連它的IP地址也不知道。

  在任何情況下,路由器都不轉寄目的地址為受限的廣播位址的資料報,這樣的資料僅僅出現在本網中。這就是為什麼稱為受限的網路地址。這種廣播類型接收對象為區域網路中包括髮送主機在內的所有主機。

  一個未解的問題是:如果一個是多介面的,當一個進程向本網廣播位址發送資料報時,為實現廣播,是否應該將資料報發送到每個相連的介面上?如果是這樣,想對主機所有介面廣播的應用必須確定主機中支援廣播的所有介面,然後向每個介面發送一個資料報複製。

 

指向網路的廣播

  指向網路的廣播位址是主機號全1的地址。A類網路廣播位址為netid.255.255.255,其中netid為A類網路的網路號。

  一個路由器必須轉寄指向網路的廣播,但它也必須有一個不進行轉寄的選擇。

 

指向子網的廣播

  指向子網的廣播位址為主機號全1且有特定子網號的地址。作為子網直接廣播位址的IP地址需要瞭解子網的掩碼。例如,如果路由器接到發往128.1.2.255的資料報,當B類網路128.1的子網路遮罩為255.255.255.0時,該地址就是指向子網的廣播位址;但如果該子網的掩碼為255.255.254.0,該地址就不是指向子網的廣播位址。

 

指向所有子網的廣播

  指向所有子網的廣播也需要瞭解目的網路的子網路遮罩,以便與指向網路的廣播位址區分開。指向所有子網的廣播位址的子網號及主機號為全1.例如,如果目的子網路遮罩為255.255.255.0.那麼IP地址128.1.255.255是一個指向所有子網的廣播位址。然而,如果網路沒有劃分子網,這就是一個指向網路的廣播。

 

  

多播

  IP多播提供兩類服務:

  1)向多個目的地址傳送資料。有許多向多個接收者傳送資訊的應用:例如互動式會議系統向多個接收者分發郵件或新聞。如果不採用多播,目前這些應用大多採用TCP來完成(向每個目的地址傳送一個單獨的資料複製)。然而,即使使用多播,某些應用可能繼續採用TCP來保證它的可靠性。

  2) 客戶對伺服器的請求。例如,無盤工作站的需要確定的啟動引導伺服器。目前,這項服務是通過廣播提供的,但是使用多播可降低不提供這項服務的負擔。

 

多播組地址

  

  多播組地址包括為1110的最高4bit和多播組號。它們通常可表示為點分十進位數,範圍從224.0.0.0到239.255.255.255。

  能夠接收發往一個特定多播組地址資料的主機集合稱為主機群組(host group)。一個主機群組可跨越多個網路。主機群組中成員可隨時加入或離開主機群組。主機群組中對主機的數量沒有限制,同時不屬於某一主機群組的主機可以往該組發送資訊。

  一些多播組地址被IANA確定為知名地址。它們也被當作永久主機群組,這和TCP和UDP的熟知連接埠相似。同樣,這些知名多播地址在RFC最新分配數字中列出。注意這些多播地址所代表的組是永久組,而它們的群組成員卻不是永久的。

  

多播組地址到乙太網路地址的轉換

  IANA擁有一個乙太網路地址塊,即高位24bit為00:00:5e(十六進位表示),這意味著該地址快所擁有的位址範圍從00:00:5e:00:00:00到00:00:5e:ff:ff:ff。IANA將其中的一半分配為多播地址。為了指明一個多播地址,任何一個乙太網路地址的首位元組必須是01,這意味著與IP多播相對應得到乙太網路位址範圍從01:00:5e:00:00:00到01:00:5e:7f:ff:ff.

  這種地址分配將使乙太網路多播地址中的23bit與IP多播組號對應起來,通過將多播組號中的低位23bit映射到乙太網路中地址中的低位23bit實現,這個過程如所示

 

 

  單個物理網路的多播是簡單的。多播進程將目的IP地址指明為多播地址,裝置驅動程式將它轉換為響應的乙太網路地址,然後把資料發送出去。接收進程必須通知它們的IP層,它們想接收的發往給定多播地址的資料報,並且裝置驅動程式必須能夠接收這些多播幀。這個過程就是“加入一個多播組”(使用“接收進程”複數形式的原因在於對一確定的多播資訊,在同一主機或多個主機上存在多個接收者,這也是為什麼要首先使用多播的原因)。當一個主機接收到多播資料報時,它必須向屬於那個多播組的每個進程均傳送一個複製。這和單個進程收到單播UDP資料報的UDP不同。使用多播,一個主機上可能存在多個屬於同一多播組的進程。

  當把多播擴充到單個物理網路以外需要通過路由器轉寄多播資料報時,複雜性就增加了。需要有一個協議讓多播路由器瞭解確定網路中屬於確定多播組的任何一個主機。這個協議就是Internet組管理協議(IGMP)。

 

小結

  廣播是將資料報發送到網路中的所有主機(通常是本地相連的網路),而多播是將資料報發送到網路的一個主機群組。這兩個概念的基本點在於當收到送往上一個協議棧的資料幀時採用不同類型的過濾。這個協議層均可以因為不同的理由丟棄資料報。

  目前有四種類型的廣播位址:受限的廣播,指向網路的廣播,指向子網的廣播和指向所有子網的廣播。最常用的是指向子網的廣播。受限的廣播通常只在系統初始啟動時才會用到。

  試圖通過路由器進行廣播而發生的問題,常常是因為路由器不瞭解目的網路的子網路遮罩。結果與多種因素有關:廣播位址類型、配置參數等等。

  D類IP地址被稱為多播組地址。通過將其低23 bit映射到相應乙太網路地址中便可以實現多播組地址到乙太網路地址的轉換。由於地址映射是不唯一的,因此需要其他的協議實現額外的資料報過濾。

  

  

【電腦網路】廣播和多播

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.