TWI388154B - 路由器處理組播報文的方法 - Google Patents
路由器處理組播報文的方法 Download PDFInfo
- Publication number
- TWI388154B TWI388154B TW098118861A TW98118861A TWI388154B TW I388154 B TWI388154 B TW I388154B TW 098118861 A TW098118861 A TW 098118861A TW 98118861 A TW98118861 A TW 98118861A TW I388154 B TWI388154 B TW I388154B
- Authority
- TW
- Taiwan
- Prior art keywords
- multicast
- message
- packet
- multicast packet
- address
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/60—Router architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
本發明涉及一種路由器,尤其涉及一種路由器處理組播報文的方法。
近年來,隨著資訊技術的迅猛發展,在網際網路上,多媒體業務諸如流媒體、視頻會議和視頻點播等網路應用大量增加,使得原來點對點傳輸的單播方式已經不能適應這類特殊業務,因為伺服器必須為每一個接收者提供一個相同的IP報文複製,這樣勢必會佔用大量的資源,因此,傳輸方式為單點對多點的組播技術就會越來越普及,而且發送者同時對多個接收者傳輸相同的報文時,只需複製一份相同報文,這樣提高了報文的傳輸效率。
為了能夠在路由器上轉發組播報文,在現有技術中常常採用網際網路群組管理協議監聽(Internet Group Management Protocol Snooping,IGMP Snooping )技術,傳統的IGMP Snooping是路由器接收到廣域網發送來的組播報文後,將該報文送往組播報文處理模組,處理完之後再將該報文送往區域網,此時IGMP Snooping才會起作用,最後發送到相應的用戶終端。由於此種方式中無論對發往有線用戶終端還是無線用戶終端的所有組播報文都要經過組播報文處理模組進行處理,並且該處理過程是由軟體處理,故其會佔用大量的處理器資源,導致組播性能不高。
有鑒於此,需提供一種路由器處理組播報文的方法,能極大的提升該路由器的組播性能。
本發明實施方式中的路由器藉由包含有複數埠的複數介面與複數有線用戶終端及複數無線用戶終端通訊,用於轉送組播報文到該等複數有線用戶終端及複數無線用戶終端,該路由器包括一交換專用積體電路、一組播報文處理模組、一媒體存取控制(Media Access Control ,MAC)位址表與一組播報文轉發表,該MAC位址表包括複數組播報文組及其對應之MAC位址與複數埠號,該組播報文轉發表包括複數組播報文組的網際網路協定(Internet Protocol,IP)位址、組播報文組及其對應之介面以及與該介面對應之複數埠號。本發明實施方式中的路由器處理組播報文的方法包括:存儲該媒體存取控制位址表與該組播報文轉發表分別於該交換專用積體電路及該組播報文處理模組中;接收新報文,該新報文包括目的MAC位址;根據該交換專用積體電路中存儲的該MAC位址表獲取該目的MAC位址所對應之複數埠號;確定該等埠號所對應之埠的類型;若該等埠號皆對應有線埠,則根據該埠號將該新報文發送給有線用戶終端;若該等埠號皆對應無線埠,則將該新報文的目的MAC位址轉換為目的IP位址;根據該目的IP位址判斷該新報文是否為組播報文;若該新報文為組播報文,則根據該組播報文處理模組中存儲的該組播報文轉發表獲取目的IP位址所對應之介面;及將該新報文轉發到與該介面相對應的無線用戶終端。
藉由以下對具體實施方式詳細的描述結合附圖,將可輕易的瞭解上述內容及此項發明之諸多優點。
請參閱圖1,係本發明一實施方式中路由器之應用環境與結構圖。路由器20的上行與組播伺服器10通訊,用於從組播伺服器中接收報文。該組播伺服器用於發送組播報文到路由器,組播報文包括目的MAC位址,用於標識需要接收該組播報文的組播報文組的位址,其中一個組播報文組對應一個介面,該介面與需要接收該組播報文的複數用戶終端對應,該等用戶終端可以全部為有線用戶終端,或者全部為無線用戶終端,還可以包括一部分有線用戶終端與一部分無線用戶終端。
在本實施方式中,該路由器20包括一MAC位址表2020與一組播報文轉發表2040,分別存儲於SWITCH ASIC 202及組播報文處理模組204中。路由器20的下行包括複數埠,與有線用戶30或無線用戶40進行通訊,用於轉送報文到需要接收該報文的用戶終端。該等埠的類型包括有線埠與無線埠,其中藉由有線埠與有線用戶終端通訊,藉由無線埠與無線用戶終端通訊。在本實施方式中,路由器20包括交換專用積體電路(Switch Application Specific Integrated Circuit,SWITCH ASIC)202、組播報文處理模組204、介面模組206及處理器208。
在本實施方式中,SWITCH ASIC 202係硬體電路。由於在實際應用中,路由器20在接收到發往無線用戶終端的
組播報文後,會將其直接送往組播報文處理模組204而不會直接送往無線區域網(Wireless Local Area Network,WLAN),即路由器20在接收到發往無線用戶終端的組播報文後需進行路由處理而不能藉由SWITCH ASIC直接轉發。組播報文處理模組204用於處理不能藉由SWITCH ASIC直接轉發的報文。
路由器20中存放有MAC位址表2020與組播報文轉發表2040。在本實施方式中,當用戶終端首次想要加入某一組播報文組時,首先會發送一個IGMP Report報文給相應路由器,其中該IGMP Report報文包含有用戶終端想要加入某一組播報文組的MAC位址。當SWITCH ASIC 202接收到一個報文時,它會讀取該報文中的目的MAC位址,並在MAC位址表2020中查找相應的埠,如果該MAC位址表2020中有與該報文的目的MAC位址對應的埠,則把該報文直接發送到該埠,如果在該MAC位址表2020中找不到相應的埠,則把該報文廣播到所有埠上。當目的主機對源主機有回應並且發送回應報文給源主機時,該路由器會紀錄下接收該回應報文的埠,這樣該MAC位址與該埠的對應關係就會存儲在MAC位址表2020中,下次再接收到該報文時就不再需要對所有埠進行廣播了。藉由這種方式就可以建立該MAC位址表2020。
請參閱圖2A,所示為根據MAC位址建立的組播報文組與相應埠之間的MAC位址表2020,其存儲於SWITCH ASIC 202中,其中該相應埠係與有線用戶終端通訊。該MAC位址表2020包括複數組播報文組及其MAC位址和處於該組播
報文組內的有線用戶終端所對應之埠號。圖2B所示為根據IP位址建立的組播報文組與相應介面之間的組播報文轉發表2040,其存儲於組播報文處理模組204中,該組播報文轉發表包括複數組播報文組的IP位址、組播報文組及其對應之介面以及與該介面對應之複數埠號。
請參閱圖3,係為本發明之路由器處理組播報文的方法流程圖。在本實施方式中,該方法係藉由圖1中所示路由器20中的各個模組所完成的。
首先,在步驟S300中,路由器20從網路上接收新報文,該新報文包括需要接收該報文的組播報文組的MAC位址(也即該報文的目的MAC位址),並同時將該新報文發往該路由器的SWITCH ASIC 202。
在步驟S302中,SWITCH ASIC 202根據該MAC位址表2020獲取該目的MAC位址所對應之複數埠號。在本實施方式中,該路由器20的SWITCH ASIC 202存儲有MAC位址表2020,該MAC位址表2020包括組播報文組的MAC位址與相應發送埠的對應關係。例如,在本實施方式中,當路由器20接收新報文的目的MAC位址為組播報文組1的MAC位址時,根據圖2A所示的MAC位址表查找到該組播報文組1包含有Port 1,Port 2和Port 3三個埠,並藉由該三個埠將該新報文直接發送到與該三個埠有線相連的用戶終端,不需要經過類似於組播報文處理模組204這樣的軟體來處理。由於本實施方式中SWITCH ASIC 202是硬體電路,在實際的應用中,硬體結構的處理速度遠遠大於軟體結構的處理速度,故本發明藉由SWITCH ASIC 202
對組播報文進行轉發,極大的提高了路由器的組播性能,減少了軟體的處理工作,從而降低了處理器208的負荷。
在步驟S304中,SWITCH ASIC 202確定該等埠號所對應之埠的類型。
若該等埠號皆對應有線埠,則在步驟S306中,SWITCH ASIC 202從該埠直接將該新報文發送給有線用戶終端30,從而極大的提高了路由器對只發往有線用戶終端30的組播報文的處理速度。
若該等埠號皆對應無線埠,在本實施方式中,由於對發往無線用戶終端的組播報文不能藉由SWITCH ASIC硬體電路直接轉發,它必須經過組播報文處理模組進行處理,則在步驟S308中,組播報文處理模組204將該新報文的目的MAC位址轉換為目的IP位址。組播報文組是用組播位址來標識的,每個組播位址對應唯一的組播報文組,在IPV4中是把範圍從224.0.0.0到239.255.255.255的位址分配給組播使用。由於MAC位址是網路第二層,即數據鏈路層的物理位址,它不能被第三層網路設備如路由器直接識別。故在本實施方式中,在判斷該報文是否為組播報文之前,需要藉由位址解析協定(Address Resolution Protocol,ARP)將該報文的目的MAC位址轉換成相應的目的IP位址來進行判斷。
若該等埠號既對應有線埠又對應無線埠,路由器20處理之方式將在圖4中詳細說明。
在步驟S310中,組播報文處理模組204根據該目的IP位址判斷該新報文是否為組播報文。如果該報文的目的IP位址不在上述組播位址的範圍之內,則在步驟S316,組播報文處理模組204判斷該新報文不是組播報文,並將該報文當作單播報文進行處理,即藉由ARP協定將該報文的目的MAC位址轉換成對應的目的IP位址,將該報文發往與該目的IP位址唯一相對應的用戶終端。
若該新報文為組播報文,則在步驟S312中,組播報文處理模組204根據該組播報文轉發表2040獲取目的IP位址所對應之介面。在本實施方式中,首先要根據該組播報文的目的IP位址查找相應組播報文組,再根據該組播報文組查找相應介面,最後將該報文發送到介面模組中的相應介面。如圖2B所示,該組播報文的目的IP位址存在於該組播報文轉發表2040中且是組播報文組3的IP位址時,則根據該組播報文轉發表2040查找與組播報文組3的IP位址相對應的組播報文組3是否存在,若存在則繼續查找與組播報文組3相對應的介面1是否存在。在本實施方式中,若沒有查找到組播報文組,則表明該組播報文組在該路由器20中並不存在,若沒有查找到相應介面則表明該組播報文無法轉發,為了減少軟體的處理工作,則將該組播報文直接丟棄,以提高路由器20的組播性能。
在步驟S314中,組播報文處理模組204將該新報文轉發到與該介面相對應的無線用戶終端40。
請參閱圖4,係為圖3中確定該等埠號既對應有線埠又對應無線埠之情形下,本發明之路由器20處理組播報文的
方法流程圖。
在步驟S400中,由於該等埠號既對應有線埠又對應無線埠,故,在本實施方式中,對於有線埠則藉由SWITCH ASIC 202將該新報文直接發往有線用戶終端30,對於無線埠則藉由組播報文處理模組204複製該新報文。
在步驟S402中,組播報文處理模組204將該複製報文的目的MAC位址轉換為目的IP位址。組播報文組是用組播位址來標識的,每個組播位址對應唯一的組播報文組,在IPV4中是把範圍從224.0.0.0到239.255.255.255的位址分配給組播使用。由於MAC位址是網路第二層,即數據鏈路層的物理位址,它不能被第三層網路設備如路由器直接識別。故在本實施方式中,在判斷該複製報文是否為組播報文之前,需要藉由位址解析協定(Address Resolution Protocol,ARP)將該報文的目的MAC位址轉換成相應的目的IP位址來進行判斷。
在步驟S404中,組播報文處理模組204根據該複製報文的目的IP位址判斷該複製報文是否為組播報文。如果該複製報文的目的IP位址不在上述組播位址的範圍之內,則在步驟S416,組播報文處理模組204判斷該複製報文不是組播報文,並將該複製報文當作單播報文進行處理,如步驟S416所示,即藉由ARP協定將該報文的目的MAC位址轉換成對應的目的IP位址,將該報文發往與該目的IP位址唯一相對應的用戶終端。
若該複製報文為組播報文,則在步驟S406中,組播報文
處理模組204根據該複製報文的目的IP位址在組播報文轉發表中查找相對應之介面。在本實施方式中,首先要根據該複製報文的目的IP位址查找相應組播報文組,再根據該組播報文組查找相應介面,最後將該複製報文發送到介面模組中的相應介面。如圖2B所示,當該複製報文的目的IP位址存在於組播報文轉發表2040表中且是組播報文組3的IP位址時,則根據該組播報文轉發表2040查找與組播報文組3的IP位址相對應的組播報文組3是否存在,若存在則繼續查找與組播報文組3相對應的介面1是否存在。在本實施方式中,若沒有查找到組播報文組,則表明該組播報文組在該路由器20中並不存在,若沒有查找到相應介面則表明該組播報文無法轉發,為了減少軟體的處理工作,則將該複製報文直接丟棄,以提高路由器20的組播性能。
在步驟S408中,組播報文處理模組204利用網際網路群組管理協議(Internet Group Management Protocol Snooping,IGMP Snooping)監聽組播報文組並查找相應埠。由於在路由器中一個介面往往包含有複數埠,故在轉發組播報文時需要知道發送組播報文給用戶終端的特定埠。在本實施方式中是利用IGMP Snooping技術,IGMP Snooping係藉由監聽用戶終端與路由器之間通信的IGMP報文來獲得組播報文組與發送埠的對應關係。當監聽到用戶終端發出的IGMP Report報文時,記錄下該用戶終端所想要加入的組播報文組和接收到該報文的埠。當該組播報文發送到該介面時,就可以根據組播報文
組查找到相應埠以轉發組播報文。
由於在實際應用中,一個組播報文組可能既包含有有線用戶又包含有無線用戶,也即該組播報文既要發送給有線用戶終端又要發給無線用戶終端。故,當該組播報文發送到該介面時,需要判斷該介面所包含的每一個相應埠的類型,如步驟S410所示。
在步驟S412中,若為有線埠時,由於在步驟S400中發送給有線用戶終端30的組播報文已經藉由SWITCH ASIC 202硬體電路直接轉發了,為了不影響該路由器的組播性能,則將該複製報文直接丟棄,以提高對組播報文的轉發速度。
在步驟S414中,若為無線(Wireless)埠時,則將該複製報文的MAC位址轉換後變成單播報文發送給無線用戶終端40。在本實施方式中,先藉由ARP協定將該組播報文的MAC位址轉換成與之相對應的IP位址,再以單播報文的形式將該報文發送給與該IP位址唯一相對應的無線用戶終端40。
本發明藉由在路由器20中的SWITCH ASIC 202中建立MAC位址表2020,根據硬體電路已經存儲的MAC位址表2020對接收到的組播報文進行查找並直接轉發,減少了軟體的處理工作,從而降低了處理器208的負荷,極大的提高了路由器的組播性能,尤其提高了發往有線用戶終端30的組播報文的速度。
綜上所述,本發明符合發明專利要件,爰依法提出專利
申請。惟,以上所述者僅為本發明之較佳實施例,舉凡熟悉本案技藝之人士,在爰依本案發明精神所作之等效修飾或變化,皆應包含於以下之申請專利範圍內。
10‧‧‧組播伺服器
20‧‧‧路由器
202‧‧‧SWITCH ASIC
2020‧‧‧媒體存取控制位址表
204‧‧‧組播報文處理模組
2040‧‧‧組播報文轉發表
206‧‧‧介面模組
208‧‧‧處理器
30‧‧‧有線用戶
40‧‧‧無線用戶
圖1係本發明一實施方式中帶SWITCH ASIC的路由器的應用環境與結構圖。
圖2A所示係一MAC位址表。
圖2B所示係一組播報文轉發表。
圖3係本發明一實施方式中路由器處理組播報文的流程圖。
圖4係本發明一實施方式中路由器處理組播報文的另一流程圖。
Claims (6)
- 一種路由器處理組播報文的方法,該路由器藉由包含有複數埠的複數介面與複數有線用戶終端及複數無線用戶終端通訊,用於轉送組播報文到該等複數有線用戶終端及複數無線用戶終端,該路由器包括一交換專用積體電路、一組播報文處理模組、一媒體存取控制位址表與一組播報文轉發表,該媒體存取控制位址表包括複數組播報文組及其對應之媒體存取控制位址與複數埠號,該組播報文轉發表包括複數組播報文組的網際網路協定位址、組播報文組及其對應之介面以及與該介面對應之複數埠號,該路由器處理組播報文的方法包括:存儲該媒體存取控制位址表與該組播報文轉發表分別於該交換專用積體電路及該組播報文處理模組中;接收新報文,該新報文包括目的媒體存取控制位址;根據該交換專用積體電路中存儲的該媒體存取控制位址表獲取該目的媒體存取控制位址所對應之複數埠號;確定該等埠號所對應之埠的類型;若該等埠號皆對應有線埠,則根據該埠號將該新報文發送給有線用戶終端;若該等埠號皆對應無線埠,則將該新報文的目的媒體存取控制位址轉換為目的網際網路協定位址;根據該目的網際網路協定位址判斷該新報文是否為組播報文;若該新報文為組播報文,則根據該組播報文處理模組中存儲的該組播報文轉發表獲取目的網際網路協定位址所對應 之介面;及將該新報文轉發到與該介面相對應的無線用戶終端。
- 如申請專利範圍第1項所述之方法,還包括若該新報文不是組播報文,則將該新報文按單播報文的處理方式處理。
- 如申請專利範圍第1項所述之方法,還包括:若該等埠號既對應有線埠又對應無線埠,則藉由該等有線埠將該新報文發送給有線用戶終端,並同時複製該新報文以發送給無線用戶終端。
- 如申請專利範圍第3項所述之方法,其中將該複製報文發送到無線用戶終端的步驟還包括:將該複製報文的目的媒體存取控制位址轉換為目的網際網路協定位址;根據該複製報文的目的網際網路協定位址判斷該複製報文是否為組播報文;若該複製報文為組播報文,則根據該組播報文轉發表查照相應介面,並根據網際網路群組管理協議監聽該組播報文組並找到相應埠;判斷每一個相應埠的類型;及若該相應埠對應無線埠,則將該複製報文發送給對應的無線用戶終端。
- 如申請專利範圍第4項所述之方法,還包括若該相應埠對應有線埠,則將該複製報文丟棄。
- 如申請專利範圍第4項所述之方法,還包括:若該複製報文不是組播報文,則將該複製報文按單播報文的處理方式處理。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098118861A TWI388154B (zh) | 2009-06-05 | 2009-06-05 | 路由器處理組播報文的方法 |
US12/723,677 US20100309914A1 (en) | 2009-06-05 | 2010-03-14 | Router and datagram multicasting method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098118861A TWI388154B (zh) | 2009-06-05 | 2009-06-05 | 路由器處理組播報文的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201044811A TW201044811A (en) | 2010-12-16 |
TWI388154B true TWI388154B (zh) | 2013-03-01 |
Family
ID=43300702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098118861A TWI388154B (zh) | 2009-06-05 | 2009-06-05 | 路由器處理組播報文的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100309914A1 (zh) |
TW (1) | TWI388154B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100421520C (zh) * | 2005-09-05 | 2008-09-24 | 华为技术有限公司 | 一种基于移动网络的ip组播系统和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6788658B1 (en) * | 2002-01-11 | 2004-09-07 | Airflow Networks | Wireless communication system architecture having split MAC layer |
US20050080901A1 (en) * | 2003-10-14 | 2005-04-14 | Reader Scot A. | Method and apparatus for controlling access to multicast data streams |
JP2006101471A (ja) * | 2004-09-06 | 2006-04-13 | Hitachi Communication Technologies Ltd | マルチキャスト冗長経路ルータ、マルチキャスト冗長化方式 |
JP2009033274A (ja) * | 2007-07-25 | 2009-02-12 | Nec Access Technica Ltd | 無線lan子機、無線lanネットワーク及びそれらに用いるmacアドレス再学習方法 |
-
2009
- 2009-06-05 TW TW098118861A patent/TWI388154B/zh not_active IP Right Cessation
-
2010
- 2010-03-14 US US12/723,677 patent/US20100309914A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20100309914A1 (en) | 2010-12-09 |
TW201044811A (en) | 2010-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8189584B2 (en) | Multicast traffic management in a network interface | |
US10764076B2 (en) | Bit indexed explicit replication for layer 2 networking | |
US7593402B2 (en) | Method of multicast source filtering | |
CN1988507B (zh) | 转发组播数据的方法、系统及路由器 | |
WO2011073391A1 (en) | Method and apparatus for filtering multicast packets | |
JP2001285357A (ja) | マルチキャスト通信方法 | |
WO2010017720A1 (zh) | 实现组播负载分担的方法及装置 | |
WO2011143880A1 (zh) | 一种无线组播数据的传输方法及系统 | |
JP2011525313A (ja) | マルチキャスト・グループ管理のための方法及び装置 | |
CN1859304A (zh) | 一种邻居发现的实现方法 | |
WO2014079190A1 (zh) | 组播报文转发的方法及设备 | |
WO2017185212A1 (zh) | 一种组播时延诊断方法及装置 | |
JP2001156835A (ja) | マルチキャストメッセージの宛先アドレスを圧縮する装置と方法 | |
WO2013083052A1 (zh) | 获取组播地址的方法、装置及系统 | |
JP2006074132A (ja) | マルチキャスト通信方法及びゲートウェイ装置 | |
WO2007054006A1 (fr) | Station de base de système d’accès sans fil large bande et système pour réaliser un service de diffusion de groupe | |
WO2018177353A1 (zh) | 组播数据的转发方法和装置 | |
WO2014169812A1 (zh) | 报文的转发处理方法及装置 | |
TWI388154B (zh) | 路由器處理組播報文的方法 | |
CN101924692B (zh) | 路由器处理组播报文的方法 | |
WO2015014197A1 (zh) | 组播负载场景下选路的方法和路由器 | |
WO2021189945A1 (zh) | 消息处理方法、装置、设备、存储介质及系统 | |
CN101039205A (zh) | 一种转发层代理pim的方法及路由设备 | |
Chmielewski et al. | Application of IP multicast in embedded systems with openWRT | |
EP2356782A2 (en) | A method and system for encapsulating multicast packets into unicast packets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |