交換機GMRP協(xié)議詳解
瀏覽次數:發(fā)布時(shí)間:2022-11-24
概述
GMRP(garp multicast registration protocol,garp 組播注冊協(xié)議)是基于 GARP(Generic Attribute Registration Protocol,通用屬性注冊協(xié)議)的一個(gè)組播注冊協(xié)議, 用于注冊和注銷(xiāo)組播屬性。
技術(shù)介紹
GMRP 協(xié)議是一個(gè)動(dòng)態(tài)二層組播注冊協(xié)議,所有支持 GMRP 的
交換機都能夠接收來(lái)自其他交換機的組播注冊信息,并動(dòng)態(tài)更新本地的組播注冊信息,同時(shí)也能將本地的組播注冊信息向其他交換機傳播。這種信息交換機制,確保了同一交換網(wǎng)內所有支持 GMRP 的設備維護的組播信息的一致性。
當一臺主機想要加入某個(gè)組播組時(shí),它將發(fā)出 GMRP 加入消息。交換機將接到 GMRP 加入消息的端口加入到該組播組中,并在接收端口所在的 VLAN 中廣播該 GMRP 加入消息,VLAN中的組播源就可以知曉組播成員的存在。當組播源向組播組發(fā)送組播報文時(shí),交換機就只把組播報文轉發(fā)給與該組播組成員相連的端口,從而實(shí)現了在 vlan 內的二層組播。
交換機會(huì )周期性發(fā)送 GMRP 查詢(xún),如果主機想留在組播組中,它就會(huì )響應 GMRP 查詢(xún), 在該情況下,交換機沒(méi)有任何操作;如果主機不想留在組播組中,它既可以發(fā)送一個(gè) leave 信息也可以不響應周期性 GMRP 查詢(xún)。一旦交換機在計時(shí)器(leave all timer)設定期間收到主機 leave 信息或沒(méi)有收到響應信息,它便從組播組中刪除該主機。
那么為什么需要二層組播協(xié)議呢?與 IGMP 協(xié)議一樣,如果我們在自己的局域網(wǎng)內成立一個(gè)組播組,可能我們的局域網(wǎng)包含了很多交換機。如果這些交換機沒(méi)有實(shí)現二層組播協(xié)議的話(huà),那么某個(gè)組員給其他組員發(fā)送數據包時(shí),交換機就會(huì )將該數據包向所有的端口廣播。因為交換機不知道哪個(gè)端口有人加入了該組播組,唯一的解決辦法就是管理員配置交換機,只有這樣才能將這種廣播轉發(fā)數據包的發(fā)送方式限制住。而組播本身是動(dòng)態(tài)的,所以通過(guò)這種靠管理員的配置來(lái)實(shí)現組播的方式是不現實(shí)的。因此,就需要有一個(gè)二層組播協(xié)議來(lái)動(dòng)態(tài)管理組員。
GMRP 消息類(lèi)型
1.Join 消息
當一個(gè) GMRP 應用實(shí)體希望其它設備注冊自己的屬性信息時(shí),它將對外發(fā)送 Join 消息; 當收到其它實(shí)體的 Join 消息或本設備靜態(tài)配置了某些屬性,需要其它 GMRP 應用實(shí)體進(jìn)行注冊時(shí),它也會(huì )向外發(fā)送 Join 消息。
2.Leave 消息
當一個(gè) GMRP 應用實(shí)體希望其它設備注銷(xiāo)自己的屬性信息時(shí),它將對外發(fā)送 Leave 消息; 當收到其它實(shí)體的 Leave 消息注銷(xiāo)某些屬性或靜態(tài)注銷(xiāo)了某些屬性后,它也會(huì )向外發(fā)送Leave 消息。
3.LeaveAll 消息
每個(gè)應用實(shí)體啟動(dòng)后,將同時(shí)啟動(dòng) LeaveAll 定時(shí)器,當該定時(shí)器超時(shí)后應用實(shí)體將對外發(fā)送 LeaveAll 消息。
LeaveAll 消息用來(lái)注銷(xiāo)所有的屬性,以使其它應用實(shí)體重新注冊本實(shí)體上所有的屬性信息,以此來(lái)周期性地清除網(wǎng)絡(luò )中的垃圾屬性(例如某個(gè)屬性已經(jīng)被刪除,但由于設備突然斷電,并沒(méi)有發(fā)送 Leave 消息來(lái)通知其他實(shí)體注銷(xiāo)此屬性)。
GMRP 定時(shí)器
1.Join 定時(shí)器
Join 定時(shí)器是用來(lái)控制 Join 消息的發(fā)送的。
為了保證 Join 消息能夠可靠的傳輸到其它應用實(shí)體,發(fā)送第一個(gè) Join 消息后將等待一個(gè) Join 定時(shí)器的時(shí)間間隔,如果在一個(gè) Join 定時(shí)器時(shí)間內收到 JoinIn 消息,則不發(fā)送第二個(gè) Join 消息;如果沒(méi)收到,則再發(fā)送一個(gè) Join 消息。
2.Hold 定時(shí)器
Hold 定時(shí)器是用來(lái)控制 Join 消息和 Leave 消息的發(fā)送的。
當在應用實(shí)體上配置屬性或應用實(shí)體接收到消息時(shí)不會(huì )立刻將該消息傳播到其它設備,而是在等待一個(gè) Hold 定時(shí)器后再發(fā)送消息,設備將此 Hold 定時(shí)器時(shí)間段內接收到的消息盡可能封裝成最少數量的報文,這樣可以減少報文的發(fā)送量。如果沒(méi)有 Hold 定時(shí)器的話(huà),每來(lái)一個(gè)消息就發(fā)送一個(gè),造成網(wǎng)絡(luò )上報文量太大,既不利于網(wǎng)絡(luò )的穩定,也不利于充分利用每個(gè)報文的數據容量。Hold 定時(shí)器的值要小于等于 Join 定時(shí)器值的一半。
3.Leave 定時(shí)器
Leave 定時(shí)器是用來(lái)控制屬性注銷(xiāo)的。
每個(gè)應用實(shí)體接收到 Leave 或 LeaveAll 消息后會(huì )啟動(dòng) Leave 定時(shí)器,如果在 Leave 定時(shí)器超時(shí)之前沒(méi)有接收到該屬性的 Join 消息,屬性才會(huì )被注銷(xiāo)。這是因為網(wǎng)絡(luò )中如果有一個(gè)實(shí)體因為不存在某個(gè)屬性而發(fā)送了 Leave 消息,并不代表所有的實(shí)體都不存在該屬性了, 因此不能立刻注銷(xiāo)屬性,而是要等待其他實(shí)體的消息。例如,某個(gè)屬性在網(wǎng)絡(luò )中有兩個(gè)源, 分別在應用實(shí)體 A 和 B 上,其他應用實(shí)體通過(guò)協(xié)議注冊了該屬性。當把此屬性從應用實(shí)體A 上刪除的時(shí)候,實(shí)體 A 發(fā)送 Leave 消息,由于實(shí)體 B 上還存在該屬性源,在接收到 Leave 消息之后,會(huì )發(fā)送 Join 消息,以表示它還有該屬性。其他應用實(shí)體如果收到了應用實(shí)體 B 發(fā)送的 Join 消息,則該屬性仍然被保留,不會(huì )被注銷(xiāo)。只有當其它應用實(shí)體等待兩個(gè) Join 定時(shí)器以上仍沒(méi)有收到該屬性的 Join 消息時(shí),才能認為網(wǎng)絡(luò )中確實(shí)沒(méi)有該屬性了,所以這就要求 Leave 定時(shí)器的值大于 2 倍 Join 定時(shí)器的值。
4.LeaveAll 定時(shí)器
每個(gè) GMRP 應用實(shí)體啟動(dòng)后,將同時(shí)啟動(dòng) LeaveAll 定時(shí)器,當該定時(shí)器超時(shí)后 GMRP 應用實(shí)體將對外發(fā)送 LeaveAll 消息,隨后再啟動(dòng) LeaveAll 定時(shí)器,開(kāi)始新的一輪循環(huán)。
接收到 LeaveAll 消息的實(shí)體將重新啟動(dòng)所有的定時(shí)器,包括 LeaveAll 定時(shí)器。在自己的 LeaveAll 定時(shí)器重新超時(shí)之后才會(huì )再次發(fā)送 LeaveAll 消息,這樣就避免了短時(shí)間內發(fā)送多個(gè) LeaveAll 消息。
一次 LeaveAll 事件相當于全網(wǎng)所有屬性的一次 Leave。由于 LeaveAll 影響范圍很廣, 所以建議 LeaveAll 定時(shí)器的值不能太小,至少應該大于 Leave 定時(shí)器的值。
每個(gè)設備只在全局維護一個(gè) LeaveAll 定時(shí)器。
GMRP 配置
全局設置
配置步驟
1.在導航欄中選擇[GMRP/GMRP 配置],進(jìn)入 GMRP 配置界面。
2.在[GMRP 全局設置]界面中可以查看 GMRP 的全局配置,如下圖所示。
3.如需修改 GMRP 的全局配置,在 GMRP 全局配置框中修改相應配置,然后單擊<應用>。
配置項說(shuō)明
[GMRP 全局設置]的相關(guān)界面的配置項說(shuō)明。
配置項 |
說(shuō)明 |
管理狀態(tài) |
GMRP全局使能開(kāi)關(guān)。
使能:使能GMRP功能;
禁止:關(guān)閉GMRP功能。注意:默認關(guān)閉。 |
Hold Time |
Hold 定時(shí)器周期,范圍為100-32760(ms),默認值為100ms;
注意 hold time*2 <= join time。 |
Join Time |
Join 定時(shí)器周期,范圍為100-32760(ms),默認值為200ms;
注意 join time*2<=leave time。 |
Leave Time |
Leave 定時(shí)器周期,范圍為100-32760(ms),默認值為600ms;
注意 leave time<=leaveall time |
Leaveall Time |
Leaveall 定時(shí)器周期,范圍為100-32760(ms),默認值為10000ms;
注意 leaveall time>=leave time |
GMRP 端口配置
配置步驟
1.在導航欄中選擇[GMRP/GMRP 配置],進(jìn)入 GMRP 配置界面。
2.在[GMRP 端口設置]界面中可以查看 GMRP 的端口配置,如下圖所示。
3.如需修改 GMRP 的端口配置,單擊指定端口后面的修改按鈕,進(jìn)入 GMRP 端口配置修改界面,如下圖所示,,配置好后,然后單擊<應用>。
配置項說(shuō)明
GMRP[端口配置]的相關(guān)界面的配置項說(shuō)明。
配置項 |
說(shuō)明 |
端口 |
端口名稱(chēng)信息。 |
VLAN 模式 |
端口的 GMRP 模式,默認為 Forbidden。 |
飛暢科技擁有超20年的研發(fā)生產(chǎn)售后服務(wù)經(jīng)驗,專(zhuān)業(yè)提供各類(lèi)
光端機、
電話(huà)光端機、
工業(yè)交換機、
光纖收發(fā)器,
協(xié)議轉換器,
串口服務(wù)器等,誠信為本!質(zhì)量保障!服務(wù)至上!是您選擇廠(chǎng)商的不二之選!咨詢(xún)熱線(xiàn):0571-8700-7140。