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