荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: casablanca (我的错?), 信区: Hacker
标  题: about igmp~
发信站: BBS 荔园晨风站 (Wed Dec 29 13:30:21 1999), 站内信件

发信人: Ken (至菜也千禧,努力不放低), 信区: Security
标  题: 关于IGMP
发信站: 西十八BBS (Sat Dec 11 21:27:57 1999), 转信

/*
IGMP是比较新的,目前还不是很成熟的协议,很多地方都找不到这方
面的资料,刚才偶然在一个台湾网站上看到了它的资料,顺便post出
来,想知道IGMP的就来看看咯,呵呵,算是为IGMP系列文章画上个句
号了...........
*/

Illustrate IGMP protocol

?簡介

    支援多點傳送之主機及路由器所採用的網際網路群組管理協定(IGMP),
它讓實體網路上的全部系統知道哪個主機目前隸屬於哪個多點傳送群。這
個資訊由多點傳送的路由器要求。所以它們知道哪個多點傳送資料報前送
到哪個介面。
    像 ICMP 一樣,IGMP 被想成是 IP 層的一部份,也如 ICMP,IGMP訊息
以資料報方式傳送。不像我們看到的其他通訊協定,IGMP 有個固定大小、無
選擇性資料的訊息封裝。《圖一》

 圖一》內含IP資料報的 IGMP 訊息封裝
?IGMP 訊息
     IGMP 的訊息是1,IGMP的型別1是一個經由多點傳送路由器傳送的查詢,
而2是一個由主機傳送的回應。而位元總和檢查的計算和 IGMP 的樣式一樣。?
秷D二》
    群組位址是一個 D級 IP 位址,在一個查詢中,群組位址被設為0,而在
一個記錄中它包含了被記錄的群組位址。

《圖二》IGMP 訊息的格式
?IGMP 協定
   ☆加入一個多點傳送群組
    多點傳送的基本概念是一個處理程序加入一台主機上給定的介面(我們使
用「處理程序」這個術語,表示一個程式正被作業系統執行)。指定介面上的
多點傳送群組成員是動態的,意即處理程序會隨時加入或離開群組。

    這裡暗示處理程序必須有方法去加入一個給定介面上的多點傳送群組。處
理程序也可以離開它先前加入的多點傳送群組。這些是支援多點傳送主機上任
意 API 的基本需求。我們使用「介面」這個限詞是因為群組中的成員是與介面
繫結在一起的。一個處理程序可以加入多個介面上相同的群組。

    這裡暗示主機是藉由群組位址和介面來辨識群組。一台主機必須保有一張
包含所有群組(至少一個處理程序屬於它)的表格,以及屬於該群組處理程序
的參考數量。
   ☆IGMP 報告與查詢
    IGMP 被訊息多點傳傳送器用來追蹤各路由器實際連接之網路上的群組成員,
以下的規則被使用: 當第一個處理程序加入群組時,主機傳送一個 IGMP 報告,
假如在主機上有數個處理程序要加入相同的群組,只送出一份報告,這個報告被
送到的介面與處理程序所加入的介面將會是相同。 當處理程序離開群組時,主機
並不會送出報告,即使連群組中最後一個處理程序都離開了。因為主機知道在給
定的群組中沒有成員,所以當接收下一個查詢時,並不會向該群組報告。 一個多
點傳送路由器在固定間隔內送出 IGMP 查詢,以查看是否有主機仍然有屬於群組
的處理程序,其中路由器必須送一個查詢到各個介面。因為路由器期望每個群組?
ㄔ谠撝鳈C上有一個或數個成員)之主機都有一個回應,所以查詢中的群組位址將
設為0。 主機藉著傳送一份 IGMP 報告給至少還留有一個處理程序的群組,以回
應 IGMP 查詢。
  為了使用這些查詢和報告,多點傳送路由器有一張記錄著多點傳送群組中擁有一
個或數個主機介面的表格。當路由器收到一個要前送(Forward)的多點傳送資料
報,它只將資料報前送到介面(使用相對應的多點鏈結層位址),該介面仍有主
機及屬於這個群組的處理程序。
    《圖三》顯示這兩個 IGMP 訊息,報告由主機傳送,而查詢由路由器傳送。
路由器詢問每台主機去辨識介面上的每個群組。

 《圖三》IGMP 報告與查詢
?實作的細節
   在 IGMP 中有許多實作的細節可以改善效率。首先,當一台主機傳送出一個初
始的 IGMP 報告時(當第一個處理程序加入一個群組),因為 IP 被用作傳送服務,
並不保證報告一定會被送達。而另一個報告在稍後的時間被送出。稍後多久由主機
隨機選取,範圍由0秒到10秒。

    接著,主機接收來自路由器的查詢,它沒有立即回應,但把回應排在稍後。因為
多台主機可以對同個群組傳送報告,所以每個排程回應也都採用隨機延遲。《圖三》
中報告的目的位址是群組位址,因此可以了解實體網路上的全部主機,接收到來自同
一群組其他主機的所有報告。這表示若一主機被排定要傳送一份報告,但卻從其他主
機收到一份相同的報告,則該回應可以被取消,主要是因為多點傳送路由器不在乎有
多少主機屬於該群組,只關心是否至少有一台主機屬於該群組。事實上多點傳送器甚
至不在乎哪台主機屬於哪個群組,它只要知道在指定的介面上至少有一台主機屬於某
個群組。
    在沒有任何多點傳送路由器的單一實體網路上;當主機加入新群組時,唯一的
IGMP 交通就是由支援 IP 多點傳送之主機所發出的報告。

?全主機(All - Hosts)群組
    《圖三》指出路由器的 IGMP 查詢被送到 IP 位址為 224.0.0.1
的目的地,這稱為「全機群組位址」,它是指實體網路上有能力多點傳送的全部主機
及路由器。當介面被初始化時,具備多點傳送能力的全部介面,其上的每台主機會自
動地加入這個多點傳送群組,該群組中的成員從不被報告。

?實例

    netstat 指令會報告各個介面的多點傳送群組成員。

    cyber [~:102] -turtile- netstat -nis

Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
de0 1500 <Link> 00.a0.cc.6a.5e.59   10601714  10285 8747062 0  79093
   1:0:5e:0:0:0 to 1:0:5e:7f:ff:ff

   1:0:5e:0:0:2
   1:0:5e:0:0:4
   1:0:5e:0:0:1
de0 1500 140.121.196/2 140.121.196.97 10601714 10285 8747062 0 79093
   224.0.0.2
   224.0.0.4
   224.0.0.1
lp0* 1500 <Link>  0 0 0 0 0
tun0* 1500 <Link>  0 0 0 0 0
sl0* 552 <Link>  0 0 0 0 0
ppp0* 1500 <Link>  0 0 0 0 0
lo0 16384 <Link>  30604 0 0 0 0
lo0 16384  127 127.0.0.1 30604 0 30604 0 0
   224.0.0.1

        -n 表示以數值格式印出 IP 位址(代替以名稱來列印),-i 表示印出介面
統計,-a 表示報告所有的組態介面。

  cyber [~:102] -turtile- netstat -rn
  Routing tables
  Internet:

Destination Gateway Flags Refs Use Netif Expire
default 140.121.196.254 UGSc 62 301754 de0
127.0.0.1 127.0.0.1 UH 0 3274 lo0
140.121.196.0 ff:ff:ff:ff:ff:ff    UHLWb 0 2 de0 =>
140.121.196/24 link#1 UC 0 0
140.121.196.20 0:0:e8:42:7d:a8 UHLW 0 17934 de0 1141
140.121.196.21 0:80:c8:3b:21:90 UHLW 0 118 de0 982
140.121.196.26 0:a0:cc:66:81:b9 UHLW 0 283 de0 657
140.121.196.28 0:a0:cc:6a:5e:1a UHLW 0 800 de0 1186
140.121.196.30 0:e0:98:4:dd:51 UHLW 1 45211 de0 720
140.121.196.50 8:0:20:4:25:a2 UHLW 0 56 de0 841
140.121.196.55 0:40:61:0:59:f9 UHLW 1 283 de0 125
140.121.196.80 link#1 UHLW 1 2
……………………………
140.121.196.254 0:10:79:6e:1:8 UHLW 61 25 de0 1087
140.121.196.255 ff:ff:ff:ff:ff:ff UHLWb 3 10261 de0

    多點傳送的項目是唯一的改變。
 --
为了那一刻的到来而努力准备着的菜鸟.........
                            Ken@daemon

※ 来源:.西十八BBS bbs.x18.scut.edu.cn.[FROM: 202.38.248.220]
--
※ 转寄:.西十八BBS bbs.x18.scut.edu.cn.[FROM: 210.39.3.50]



--
☆ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: bbs@192.168.28.28]
※ 修改:·casablanca 於 Dec 29 13:37:32 修改本文·[FROM: 192.168.28.28]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店