IP地址分類:
- 單播地址
- 廣播地址
- 多播地址
單播:發給單個主機;
廣播:發給網上的所有主機;
多播:發給多個主機。
廣播和多播僅應用於UDP,因為TCP是面向連接的協議。
通常網卡僅接收那些目的地址為網卡物理地址或廣播地址的幀,大多數的網卡經過配置都能接收目的地址為多播地址或某些子網多播地址的幀。
廣播
廣播地址用於目的地址,一下是4種廣播地址:
- 255.255.255.255 受限的廣播地址。路由器不轉發目的地址為該地址的數據報。該地址用於主機配置過程中IP數據報的目的地址,此時,主機可能還不知道它所在網絡的網絡掩碼,甚至連它的I P地址也不知道。
- netId+主機號全1 指向網絡的廣播地址。一個路由器必須轉發指向網絡的廣播,但它也必須有一個不進行轉發的選擇。
- netId+subnetId+主機號全1 指向子網的廣播地址。 需要知道子網掩碼的地址,才能確定。
- netId+subnetId全1+主機號全1 指向所有子網的廣播地址。需要知道子網掩碼,當沒有划分子網時和指向網絡的廣播地址等價。
多播
使用廣播的問題在於它增加了對廣播數據不感興趣主機的處理負荷。多播的出現減少了對應用不感興趣主機的處理負荷。使用多播,主機可加入一個或多個多播組。這樣,網卡將獲悉該主機屬於哪個多播組,然后僅接收主機所在多播組的那些多播幀。
多播提供兩類服務:
- 向多個目標地址傳送數據;
- 客戶對服務器的請求, 為了降低不提供服務服務器的負載。
多播組地址包括為1110的最高4bit和多播組號。它們通常可表示為點分十進制數,范圍從224.0.0.0到239.255.255.255。能夠接收發往一個特定多播組地址數據的主機集合稱為主機組(host group)。一個主機組可跨越多個網絡。主機組中成員可隨時加入或離開主機組。主機組中對主機的數量沒有限制,同時不屬於某一主機組的主機可以向該組發送信息。
多播永久組:
多播組地址到以太網地址的轉換(局域網內)
IANA擁有一個以太網地址塊,即高位24 bit為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映射到以太網地址中的低位23bit實現。
既然地址映射是不唯一的,那么設備驅動程序或I P層(見圖1 2 - 1)就必須對數據報進行過濾。因為網卡可能接收到主機不想接收的多播數據幀。另外,如果網卡不提供足夠的多播數據幀過濾功能,設備驅動程序就必須接收所有多播數據幀,然后對它們進行過濾。
局域網網卡趨向兩種處理類型:一種是網卡根據對多播地址的散列值實行多播過濾,這意味仍會接收到不想接收的多播數據;另一種是網卡只接收一些固定數目的多播地址,這意味着當主機想接收超過網卡預先支持多播地址以外的多播地址時,必須將網卡設置為“多播混雜(multicast promiscuous)”模式。
即使網卡實現了完美的多播過濾(基於48 bit的硬件地址),由於從D類IP地址到48 bit的硬件地址的映射不是一對一的,過濾過程仍是必要的。盡管存在地址映射不完美和需要硬件過濾的不足,多播仍然比廣播好。當把多播擴展到單個物理網絡以外需要通過路由器轉發多播數據時,復雜性就增加了。需要有一個協議讓多播路由器了解確定網絡中屬於確定多播組的任何一個主機。這個協議就是Internet組管理協議(IGMP)。FDDI網絡使用相同的D類IP地址到48 bit FDDI地址的映射過程。令牌環網絡通常使用不同的地址映射方法,這是因為大多數令牌控制中的限制。