throbber
(12) United States Patent
`Borgione
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,586,895 B2
`Sep. 8, 2009
`
`US007586895B2
`
`(54) PERFORMING EXTENDED LOOKUPS ON
`MAC-BASED TABLES INCLUDINGLEVEL3
`MULTICAST GROUP DESTINATION
`ADDRESSES
`
`(*) Notice:
`
`(75) Inventor: Gaetano Borgione, San Jose, CA (US)
`(73) Assignee: Cisco Technology, Inc., San Jose, CA
`(US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 562 days.
`(21) Appl. No.: 11/096.738
`(22) Filed:
`Apr. 1, 2005
`
`(65)
`
`Prior Publication Data
`US 2006/022196.0 A1
`Oct. 5, 2006
`
`(51) Int. Cl.
`(2006.01)
`H04L 2/56
`(2006.01)
`H04L 2/28
`(2006.01)
`H04.3/16
`(2006.01)
`H043/24
`(52) U.S. Cl. ....................... 370/349; 370/389; 370/392;
`370/471; 370/474
`(58) Field of Classification Search ................. 370/349,
`370/389, 471, 474
`See application file for complete search history.
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`1/2000 Varghese et al. ............ 370,392
`6,011,795 A *
`1/2000 Turner et al. ................ 370,392
`6,018,524. A
`6,526,055 B1* 2/2003 Perlman et al. ............. 370,392
`6,563,823 B1* 5/2003 Przygienda et al. ......... 370,392
`6,697.363 B1
`2/2004 Carr ........................... 370,389
`6,697.380 B1* 2/2004 Egbert et al. ................ 370/469
`
`- - - - - - 707/6
`
`6,876,655 B1 * 4/2005 Afek et al. .................. 370,392
`5/2006 Singh et al. .......
`7,039,018 B2*
`... 370,255
`7,054,993 B1*
`... 711.108
`5/2006 Srinivasan et al.
`7,089,240 B2 * 8/2006 Basso et al. ....
`... 370,392
`7,116,663 B2 * 10/2006 Liao ..............
`... 370,392
`7,260,096 B2 * 8/2007 Basso et al. .......
`... 370,389
`2003/0235191 A1* 12/2003 Heggarty et al. ..
`2004/0013113 A1
`1/2004 Singh et al. ................. 370,389
`OTHER PUBLICATIONS
`S. Deering et al., “Host Extensions for IP Multicasting”. Aug. 1989,
`IETF Standard (RFC 1112), Internet Engineering Task Force.*
`S. Bhattacharyya et al., “An Overview of Source-Specific Multicast
`(SSM)”, Jul. 2003, IETF Standard (RFC 3569), Internet Engineering
`Task Force.
`
`
`
`(Continued)
`Primary Examiner Kwang BYao
`Assistant Examiner—Adam Duda
`(74) Attorney, Agent, or Firm—Campbell Stephenson LLP
`
`ABSTRACT
`(57)
`A method, system, and computer program product are pre
`sented to optimize OSI Level 2 switch forwarding of frames
`comprising IP addresses, 802.1 QinC VLAN identifiers,
`multi-protocol label switching labels, and any other usable
`information meaningful to derive an L2 forwarding result on
`frames. In one embodiment, a 16-bit key is included as a
`prefix to a 48-bit OSI Level 2 address entry, thereby allowing
`the inclusion of a 32-bit OSI Level 3 address in the lookup
`table (e.g., a complete IP version 4 address). Implementations
`of Such a solution are presented to resolve address aliasing
`issues experienced with multicast group destination
`addresses, including single source multicast. Solutions to
`optimizing forwarding of frames in an IEEE 802.1 QinC
`environment are also presented. A result of these implemen
`tations can be reduction of the amount of unnecessary net
`work traffic generated by a network Switch incorporating
`such an OSI Level 2 address lookup table.
`
`16 Claims, 12 Drawing Sheets
`
`O
`
`8
`
`16
`
`-1 500
`
`48
`
`fig Bit 510
`
`Key 520
`
`3 GDA
`530
`
`Ex.1017
`VERIZON / Page 1 of 22
`
`

`

`US 7,586.895 B2
`Page 2
`
`OTHER PUBLICATIONS
`The Cable Guy, “Overview of IP Multicast”, Feb. 2002, Microsoft
`TechNET, pp. 1-5.*
`Firewall.cx et al., “Introduction to Multicast”, Apr. 21, 2003,
`Firewall.cx, all pages.*
`International Search Report as mailed from the PCT on Dec. 7, 2006,
`for counterpart WO Application (PCT/US06/01 1607; Filed Mar. 29,
`2006), 5 pages.
`
`S. Deering, Network Working Group, RFC 1112, “Host Extensions
`for IP Multicasting.” IETF Standard, Internet Engineering Task
`Force, Aug. 1989, pp. 1-17.
`S. Bhattacharyya, Network Working Group, RFC 3569, "An Over
`view of Source-Specific Multicast (SSM).” IETF Standard, Internet
`Engineering Task Force, Jul. 2003, pp. 1-14.
`* cited by examiner
`
`Ex.1017
`VERIZON / Page 2 of 22
`
`

`

`U.S. Patent
`
`Sep. 8, 2009
`
`Sheet 1 of 12
`
`US 7,586.895 B2
`
`
`
`
`
`
`
`
`
`120(3,1)
`
`
`
`
`
`
`
`110(2)
`
`110(3)
`
`110(1)
`
`
`
`
`
`110(N)
`
`110(5)
`
`
`
`120(4,1)
`
`110(4)
`
`120(4,2)
`
`Figure 1
`
`Ex.1017
`VERIZON / Page 3 of 22
`
`

`

`U.S. Patent
`
`Sep. 8, 2009
`
`Sheet 2 of 12
`
`US 7,586.895 B2
`
`210
`
`-- Index
`
`220 ——
`
`MAC (L2) Address
`SMAC(120(1,1))
`SMAC(120(2,1))
`SMAC(120(22))
`SMAC(120(3,1))
`SMAC(120(N.1)
`Figure 2
`
`230 --
`
`Port
`110(1)
`110(2)
`110(2)
`110(3)
`110(N)
`
`410 --
`
`Index
`1
`2
`
`420 — —
`
`MAC (L2) Address
`SMAC(120(1,1))
`SMAC(120(2,1))
`
`430 -
`
`Port
`110(1)
`110(2)
`
`P
`P+1
`P-2
`
`SMAC(120(N,1))
`01:00:5e:7f:00:01
`01:00:5e:XX:XXXX
`
`110(N)
`110(1), 110(3)
`110(1),..., 110(N)
`
`440
`
`450
`
`465
`
`460
`
`Figure 4
`
`470
`
`Ex.1017
`VERIZON / Page 4 of 22
`
`

`

`U.S. Patent
`
`Sep. 8, 2009
`
`Sheet 3 of 12
`
`US 7,586.895 B2
`
`—128 bits—
`ff02:O:C::705f:OOO1 -"
`—32 bits—
`33:33.70:5f:00:01-1"
`-
`48 bits
`
`Figure 3
`
`Key 520
`
`Ex.1017
`VERIZON / Page 5 of 22
`
`

`

`U.S. Patent
`
`Sep. 8, 2009
`
`Sheet 4 of 12
`
`US 7,586.895 B2
`
`600 (-) 610
`
`650
`
`Figure 6
`
`Ex.1017
`VERIZON / Page 6 of 22
`
`

`

`U.S. Patent
`
`Sep. 8, 2009
`
`Sheet 5 of 12
`
`US 7,586.895 B2
`
`740
`
`750
`
`710
`
`Index
`
`2
`
`P
`P-1
`P-2
`PQ
`P+Q+1
`P+Q+1
`
`720
`
`MAC (L2) Address
`SMAC(120(1,1))
`SMAC(120(2,1))
`
`SMAC(120(N, 1))
`KEY1 GROUP(1)
`KEY1|GROUP(2)
`KEY1|GROUP(Q)
`KEY2(1)SOURCE(1,1)
`KEY2(1)SOURCE(1,2)
`
`760
`
`P+Q+R
`P+Q+R+1
`
`KEY2(1)SOURCE(1,R)
`KEY2(2)SOURCE(2,1)
`
`Figure 7
`
`Port
`110(1)
`1 10(2)
`
`110(N)
`List(1)
`List(2)
`List(Q)
`SList(1,1)
`SList(1,2)
`
`SList(1,R)
`SList(2,1)
`
`910
`
`920
`
`925
`
`Index
`1
`935
`P+1
`940
`950 ( P-M-1
`955 ( P-Mo-1
`
`MAC (L2) Address Bridge Domain
`SMAC(120(1,1))
`PE VLAN
`KEY1GROUP(1)
`PE VLAN
`KEY2CE VLAN
`KEY3CE VLAN
`
`PE VLAN
`
`Port
`110(1)
`List(1)
`List(2)
`List(3)
`
`Figure 9
`
`Ex.1017
`VERIZON / Page 7 of 22
`
`

`

`U.S. Patent
`
`Sep. 8, 2009
`
`Sheet 6 of 12
`
`US 7,586.895 B2
`
`CE VLAN(2,1)
`842
`
`CE VLAN(2.2)
`844
`
`CE VLAN(1,2)
`824
`
`CE VLAN(1,1)
`822
`
`
`
`CE VLAN (1,3)
`826
`
`C
`820
`
`CE VLAN(1,4)
`828
`
`PE VLAN.(2)
`
`PE VLAN(1)
`860
`
`CE VLAN(1,1)
`832
`
`CE VLAN(1,1)
`834
`
`C1
`830
`
`850
`
`CE. VLAN(2,1)
`852.
`
`CE. VLAN(2.2)
`854
`
`CE VAN(1.2)
`836
`
`Figure 8
`
`Ex.1017
`VERIZON / Page 8 of 22
`
`

`

`U.S. Patent
`
`Sep. 8, 2009
`
`Sheet 7 of 12
`
`US 7,586.895 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Receive Multicast
`Administration Message
`
`Read IP Multicast Group
`Destination Address
`(IP GDA)
`
`Form L2 GRP Address using
`a Key and IP GDA
`
`1005
`
`010
`
`105
`
`SL2 GRP in Table?
`
`Read P Multicast Source
`Address
`
`Perform Administration
`Operation Specified in Admin
`Message on 2 GRP Table
`Entry
`
`Add 2 GRP to New Entry in
`Table and Perform
`Administration Operation
`
`Form L2 SRC from 2GRP
`index and P Multicast
`Source Address
`
`ls Message an SSM
`Admin Message?
`
`is 2 SRC in Table?
`
`Add 2 SRC to New Entry in
`Table and Perform
`Administration Operation
`
`
`
`Perform Administration
`Operation Specified in Admin
`Message on L2 SRC Table
`Entry
`
`Figure 10
`
`Ex.1017
`VERIZON / Page 9 of 22
`
`

`

`U.S. Patent
`
`Sep. 8, 2009
`
`Sheet 8 of 12
`
`US 7,586.895 B2
`
`Receive Muticast Frame
`
`Read L3 Group Destination
`Address
`(L3 GDA)
`
`Fom L2 GRP using
`Key and L3 GDA
`
`1105
`
`1110
`
`1115
`
`1125
`
`
`
`
`
`1120
`
`Drop or Broadcast Frame
`
`No
`
`is 2 GRP in Table?
`
`Figure 11
`
`
`
`
`
`
`
`Yes
`
`Read 3 Source. Address
`from Frame (if Any)
`
`Form L2 SRC using 2GRP
`Index and L3 Source
`Address
`
`1130
`
`1140
`
`1150
`
`ls 2 SRC in Table?
`
`Yes
`
`Replicate Frame as Needed
`and Send to Ports
`Designated in L2 SRC Table
`Entry
`
`1160
`
`
`
`1155
`
`Drop or Replicate Frame as
`Needed and Send to Ports
`Designated in 2GRP table
`Entry
`
`Ex.1017
`VERIZON / Page 10 of 22
`
`

`

`U.S. Patent
`
`Sep. 8, 2009
`
`Sheet 9 of 12
`
`US 7,586.895 B2
`
`1205
`
`1210
`
`1215
`
`1220
`
`1225
`
`Receive Multicast Frame
`
`Read L3 Group Destination
`Address (L3 GDA) from
`Frame
`
`Derive or Read PE. VLAN
`Designation for Frame
`
`Read CE WAN Designation
`from Frame
`
`Form L2 GRP from Key1 and
`PGDA
`
`ls
`L2 GRP + PE VLAN
`in Table?
`
`Figure 1 2
`
`Form 2 CVAN. Address
`from L2 GRP + PE. VLAN
`Entry index and CE VLAN
`Designation
`
`1240
`
`No
`
`|
`
`
`
`
`
`ls 2 CVLAN in Table?
`
`Drop or Broadcast Frame
`
`1235
`
`1245
`
`1255
`
`Drop or Replicate Frame as
`Needed and Transmit to
`Ports Designated in L2 GRP
`Entry
`
`
`
`Replicate Frame as Needed
`and Transmit to Ports
`Designated in l2 CVLAN
`Entry
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Ex.1017
`VERIZON / Page 11 of 22
`
`

`

`U.S. Patent
`
`Sep. 8, 2009
`
`Sheet 10 of 12
`
`US 7,586.895 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Receive Unicast CinC Frate
`
`Read estination MAC
`(DMAC) from Frame
`
`Read or Derive PE VLAN
`Designation for Frame
`
`Read CE VLAN Designation
`from Frame
`
`1305
`
`1310
`
`1315
`
`1320
`
`
`
`
`
`
`
`is
`DMAC +PE VLAN
`in Table?
`
`Send Frame to Port
`Designated in Table
`
`1335
`
`
`
`1350
`
`
`
`
`
`
`
`Figure 1 3
`
`Form Qino Flood Address
`from KEY3+ CE VLAN
`Designation
`
`1340
`
`1345
`
`
`
`ls Qino Flood+
`PE VLAN in Table?
`
`Drop or Broadcast on
`PE VLAN
`
`
`
`Replicate Frame as Needed
`and Transmit to Ports
`Designated in Qino Flood
`Entry
`
`Ex.1017
`VERIZON / Page 12 of 22
`
`

`

`fig33m
`
`3am:$829:
`
`
`
`
`
`
`
`
`
`83.25{9225:380o\_roams.829688821@250
`
`U.S. Patent
`
`90028,
`
`n
`
`nf
`
`m
`
`Eggw
`
`S0?:92EU95in30.308:...
`
`%as?w,x.9.Ho”awx53323‘2:9".
`7965.20
`
`m«ES83adgm:5fig38m:8.23
`
`$3.aa'3:
`
`0I
`
`.388an:44IS;I8:mfi/.2m58inBE28ng882:885&5
`
`
`
`
`mINN:llmmm:lgm:lug:ma$3$3
`
`
`
`
`
`«Moomtmio_u=<$1$1momtmfi092on5:280Emogoxtomfitow56mg5&5
`
`EX.1017
`
`VERIZON / Page 13 of 22
`
`Ex.1017
`VERIZON / Page 13 of 22
`
`
`
`

`

`U.S. Patent
`
`Sep. 8, 2009
`
`Sheet 12 of 12
`
`US 7,586.895 B2
`
`0091 º
`
`Keluw
`069||
`
`
`
`G?, aun61-I
`
`
`
`
`
`
`
`
`
`Ex.1017
`VERIZON / Page 14 of 22
`
`

`

`US 7,586,895 B2
`
`1.
`PERFORMING EXTENDED LOOKUPS ON
`MAC-BASED TABLES INCLUDINGLEVEL3
`MULTICAST GROUP DESTINATION
`ADDRESSES
`
`FIELD OF THE INVENTION
`
`The field of this invention relates to information networks.
`Specifically, a method, system, and apparatus are presented to
`provide a representation of a 32-bit address in an OSI Level 2
`switch address table; thus, allowing for the inclusion of a full
`IPv4 Multicast Address in the OSI Level 2 switch address
`table, thereby eliminating address aliasing.
`
`BACKGROUND OF THE INVENTION
`
`10
`
`15
`
`2
`administrator or can be dynamically determined within the
`environment that the network node resides. In version four of
`the internet protocol (IPv4), L3 addresses are 32 bits in
`length, while in internet protocol version 6 (IPv6), L3
`addresses are 128 bits in length. When transmitted over a
`network, an OSI Level 3 packet will be encapsulated within
`an OSI Level 2 frame, therefore such frames can contain both
`L2 and L3 Source and destination addresses.
`FIG. 2 illustrates a L2 address table showing the node-port
`associations of switch 100. Each entry in the table has an
`associated index 210. The number of entries in the table can
`be equal to the number of nodes connected to switch 100 (e.g.,
`P). Each entry in the table contains a MAC address 220 that
`corresponds to a source MAC address found in frames trans
`mitted by each node (e.g., SMAC (120(1,1)) is the source
`MAC address for node 120(1,1)). Each L2 address table entry
`also includes a port 230 corresponding to the node, wherein
`the association is made by switch 100 when it receives a frame
`from the network node. Information linking a node address
`with a particular port is related to the hardware of the node
`(e.g., a network interface) and is typically static in a L2
`address table, unless a node is physically moved from one
`port to another port on the switch.
`An L2 address table cannot automatically be populated
`with multicast destinations as done with node-port designa
`tions. This is because a multicast GDA cannot be a source
`MAC address. Portions of L3 multicast GDAs are included in
`an L2 address table through the use of software protocols such
`as the internet group management protocol (IGMP). When a
`network node wishes to Subscribe to a multicast transmission,
`a special IGMP protocol frame is transmitted as a multicast
`“join” request. An IGMP-enabled switch will have a "snoop
`ing software running on the Switch to read Such a frame and
`build a corresponding entry for the L2 address table. Such an
`entry can relate a form of the multicast GDA (an L3 address)
`with ports that are connected to Subscribing nodes.
`An IGMP frame contains an L3 GDA along with other
`information pertinent to the operation requested in the IGMP
`frame. Such an L3 address requires manipulation to be
`included in an L2 address table.
`FIG. 3 illustrates a manipulation of IPv4 and IPv6 multi
`cast group destination addresses into a form acceptable for
`inclusion into entries of an L2 address table. An IPv4 GDA is
`32 bits in length and falls in the range of addresses 224.0.0.0-
`239.255.255.255. Such an IP address is illustrated at 310 in
`FIG. 3. As stated above, an L2 address is limited to 48 bits,
`which is split into two 24bit segments. The first three octets
`(the first 24bits) of an L2 MAC multicast address are set to
`01:00:5E (325). To create an L2 MAC multicast address for
`the L2 address table corresponding to an L3 GDA, the last 23
`bits of the L3 GDA are inserted into the last 23 bits of the
`MAC address 320. Since a portion of the 32 bit IPv4 address
`is being inserted into the 23 bit area of the MAC address, nine
`bits of information are lost from the IPv4 address. Five of the
`nine bits are significant, since the first four bits of any IPv4
`multicast address are always 1110. Such loss of information
`is referred to as address aliasing, since more than one L3 GDA
`can be represented by a single L2 MAC multicast address.
`(For example, an IPv4 GDA 239.255.0.1 will share an L2
`MAC multicast address with other IPv4 GDAs such as
`238.255.0.1 and 239.127.0.1.) The address aliasing problem
`is magnified with IPv6 GDAs as illustrated in 330 and 340. An
`IPv6 address 330 is 128 bits in length, and therefore 80
`significant bits are lost in the transition from an L3 IPv6 GDA
`to a L2 MAC address.
`Address aliasing of multicast addresses can result in an
`increase in network traffic due to frames being sent to a first IP
`
`25
`
`30
`
`35
`
`40
`
`Today's network links carry vast amounts of information.
`High bandwidth applications supported by these network
`links include, for example, streaming video, streaming audio,
`and large aggregations of voice traffic. In the future, network
`bandwidth demands will increase. Certain applications. Such
`as streaming audio and streaming video, can generate a large
`amount of network traffic due to sending such a transmission
`to multiple subscribers. In order to help decrease network
`traffic load due to Such applications, multicast extensions to
`network protocols have been developed.
`Multicast protocols enable multicast transmission (i.e.,
`one-to-many connections) by replicating a multicast network
`frame close to the destination of that frame, obviating the
`need for multiple unicast connections for the same purpose,
`saving network bandwidth and improving throughput. Upon
`receiving a multicast frame, a network node can examine a
`multicast group destination address (GDA) of the frame and
`determine whether subscribers to the multicast frame are
`connected to the network node. The network node can then
`duplicate the multicast frame as needed and transmit the
`multicast frame to any connected Subscribing nodes.
`FIG. 1 is a simplified block diagram of a network switch
`100. The switch provides ports 110(1)-(N), wherein a net
`work frame arriving at any port can be directed to any other
`port connected to the Switch as determined by an examination
`of the frame's destination address. Connected to each port are
`network nodes 120(1,1)-(NM). In a typical network environ
`ment, each node 120(1,1)-(NM) has a unique media access
`control (MAC) address. Switch 100 can learn the MAC
`45
`addresses of network nodes 120(1,1)-(NM) as those nodes
`transmit frames to each other via the switch. Each frame
`transmitted by a network node contains a source MAC
`address that switch 100 can read and associate with a port
`110(1)-(N). Such node-port information is stored in an
`address table. Such a table has been called an L2 Address
`table (referring to Level 2 of the Open System Interconnec
`tion networking framework for implementing protocols,
`which is also called the data link layer) or a MAC Address
`table.
`Within the OSI network model a network node, or utilities
`on a network node, can have a different representation of its
`network address at each level of the model. Switch 100 can
`operate at Level 2 (L2) (i.e., the data link layer of the OSI
`model). These L2, or MAC addresses, of a network node are
`unique to each network interface on a network and are typi
`cally hardware encoded in the network interface. MAC
`addresses are 48 bits in lengths, containing a 24 bit vendor
`code followed by a 24bit hardware address. A network node
`can also have an OSI Level 3 address, which can include
`addresses such as internet protocol (IP) addresses. IP
`addresses are software encoded and can be supplied by an
`
`50
`
`55
`
`60
`
`65
`
`Ex.1017
`VERIZON / Page 15 of 22
`
`

`

`US 7,586,895 B2
`
`3
`multicast group also being sent to other IP multicast groups
`that share the same low order 23 bits in the L3 multicast
`addresses. Further, overhead at receiving nodes can be
`increased due to unsubscribing nodes having to drop frames.
`Both the increase in traffic and the dropping of frames results
`in a waste of network bandwidth resources. It is therefore
`desirable to construct multicast entries in an L2 address table
`in such a way that the loss of L3 GDA information is elimi
`nated or reduced, thereby allowing more extensive lookups
`for multicast frames.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`4
`thereby eliminating address aliasing of IPv4 multicast GDAs.
`Using Such an L2 address table will also optimize forwarding
`issues that arise in source specific multicast (SSM) and
`802.1Q-in-Q (QinCR) scenarios, through the use of chained
`address lookups. Such an increased address space in a L2
`address table can also serve to reduce address aliasing that
`occurs with IPv6 L3 multicast GDAs.
`Address aliasing and an increase in transmission of multi
`cast frames due to address aliasing is caused by the necessity
`of truncating a 32 bit IPv4 multicast GDA into a 23 bit space
`in an L2 address table entry. If a full 32 bit IPv4 multicast
`GDA (IPv4 GDA) can be included in that L2 address table
`entry, then no address aliasing will occur, nor will there bean
`increase in network multicast traffic due to Such network
`aliasing.
`The least significant bit of the first octet of a multicast MAC
`address is the so-called I/Gbit (individual/group bit). An I/G
`bit set to a 1 indicates that the address is a multicast or
`broadcast address. An I/G bit set to a 0 indicates that the
`address is a unicast address. A broadcast destination address
`is distinguished from a multicast destination address if all
`destination MAC address bits are set to 1 (e.g., the destination
`MAC address is ffff:ffff:ffff). Thus, the only part of a MAC
`address that is needed in order to identify it as a multicast
`address is an I/Gbit being set to a one. As stated above, when
`a multicast address is included in a L2 address table entry, the
`first 24 bits contain octets 01:00:5e. Since this is a fixed
`pattern, it can be compressed using some sort of key that
`retains the I/G bit set to 1; thereby avoiding any interference
`with L2 unicast addresses stored in the L2 address table.
`FIG. 4 illustrates an L2 address table including traditional
`MAC multicast destination addresses. As with FIG. 2 the
`table contains an initial set of Pentries, each containing index
`410, address 420 and port 430. The first set of unicast
`addresses 440 is received into the table as discussed above. A
`set of multicast destination addresses 450 is illustrated as
`additional entries (P+1) and (P+2). As illustrated, a generic
`MAC multicast destination address 460 includes: the initial
`octets 01:00:5e, followed by a subsequent set of three octets
`into which bits from the IPv4 GDA are inserted. Each multi
`cast entry is associated with a group of one or more ports
`linked to subscribing network nodes 470.
`FIG. 5 illustrates a format of a modified L2 address table
`entry for a multicast group address (L2 GRP) in accord with
`one embodiment of the present invention. As stated above, the
`L2 GRP table entry must include an I/G bit equal to one,
`where the I/G bit is the least significant bit of the first octet of
`the address entry. Entry 500 includes such an I/Gbit 510, but
`incorporates it within a 16 bit key 520, rather than in 32 bits
`containing octets 01:00:5e. By limiting the key to a total of 16
`bits, 32bits are made available for the inclusion of an L3 GDA
`S30.
`Use of a 16 bit key 520 rather than octets 01:00:5e is not
`disruptive to the utilization of an L2 address table. The mul
`ticast L2 GRP entries of the L2 address table will not be
`referenced unless looking up an IPv4 multicast address. Fur
`ther, since L2 GRP addresses are dynamic and entered by
`Software, changes to the hardware need not be made to
`accommodate the L2 GRP entries in an L2 address table.
`In the event that a multicast frame (I/Gbit=1) containing a
`destination MAC address that includes a match to key 520
`arrives at a network device utilizing the above L2 address
`table, incorrect forwarding to multicast Subscriber ports can
`result. A Solution can be either to broadcast the incoming
`frame to all nodes on the corresponding broadcast domain
`(e.g., a VLAN) or to drop the frame, depending upon the
`specific implementation. Such a decision can be made prior to
`
`The present invention may be better understood, and its
`numerous objects, features and advantages made apparent to
`those skilled in the art by referencing the accompanying
`drawings.
`FIG. 1 illustrates a simplified block diagram of a network
`switch.
`FIG. 2 illustrates a L2 address table showing the node-port
`associations of a switch such as that illustrated in FIG. 1.
`FIG. 3 illustrates a manipulation of IPv4 and IPv6
`addresses into a form acceptable for inclusion into entries of
`an L2 address table.
`FIG. 4 illustrates an L2 address table including traditional
`MAC multicast destination addresses.
`FIG. 5 illustrates a format of a modified L2 address table
`entry for a multicast group address in accord with one
`embodiment of the present invention.
`FIG. 6 is a simplified block diagram illustrating the concept
`of source specific multicasting (SSM) as addressed by one
`embodiment of the present invention.
`FIG. 7 illustrates an example of an L2 address table incor
`porating entries modified in accord with one embodiment of
`the present invention for use in resolving Source specific
`multicast.
`FIG. 8 is a simplified block diagram illustrating the use of
`provider VLANs to transport customer VLANs.
`FIG. 9 illustrates an L2 address table incorporating ele
`ments to allow QinC address resolution in accord with one
`embodiment of the present invention.
`FIG. 10 is a simplified flow diagram illustrating steps that
`can be taken to populate an L2 address table with 32-bit L3
`GDA fields in accord with one embodiment of the present
`invention.
`FIG. 11 is a simplified flow diagram illustrating a L2
`address table lookup for multicast, including SSM, frames in
`accord with one embodiment of the present invention.
`FIG. 12 is a simplified flow diagram illustrating a method
`for table lookup to resolve multicast addressing in a QinC
`environment in accord with one embodiment of the present
`invention.
`FIG. 13 is a simplified flow diagram illustrating a method
`for table lookup to resolve unicast addressing in a QinC
`environment in accord with one embodiment of the present
`invention.
`FIG. 14 depicts a block diagram of a computer system
`Suitable for implementing the present invention.
`FIG. 15 is a block diagram depicting a network architecture
`Suitable for implementing the present invention.
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`DETAILED DESCRIPTION
`
`The present invention provides for the availability of at
`least 32 bits of addressing information in multicast entries of
`an L2 address table. This will permit the inclusion of a full
`IPv4 multicast GDA in the entries of the L2 address table,
`
`65
`
`Ex.1017
`VERIZON / Page 16 of 22
`
`

`

`5
`any L2 address table lookup. For example, a chosen key can
`have a hex value of 0x0101. If a non-IP multicast frame
`arrives with a destination MAC address of 0.101.e022.2222,
`such a MAC address can collide with an L2 GRP correspond
`ing to IPv4 GDA 224.34.34.34 and would be wrongly for
`warded to ports subscribing to that L2 GRP if an L2 address
`table lookup was performed.
`Applications for the above-described modified L2 address
`table entries go beyond solving the address aliasing problem
`present with IPv4 GDAs. Chaining of such 32 bit address
`table lookups can be performed to address issues presented by
`SSM and QinC applications. Further, the additional address
`space in the L2 address table reduces address aliasing issues
`presented by the longer addresses found in IPv6 multicast
`lookups and also allows the usage of different types of look
`ups (e.g., multi-protocol label switching (MPLS)).
`Source Specific Multicast
`FIG. 6 is a simplified block diagram illustrating the concept
`of source specific multicasting (SSM) as addressed by one
`embodiment of the present invention. Network 600 contains
`two multicast groups 610 and 650. Due to reasons such as
`geography or a desire to distribute server/network load over
`network 600 there are multiple multicast transmission
`sources for each group 610 and 650. A multicast subscriber
`node can specify not only a desire to join a particular group
`but also can Subscribe to the source of the transmission. As an
`example, group 610 is divided into three subgroups 610(1),
`610(2), and 610(3). Each subgroup is served by a source 620,
`630, and 640, respectively. Similarly, a second group of mul
`30
`ticast subscribers (e.g. subscribers to a different multicast
`transmission) is divided into two subgroups 650(1) and 650
`(2), which have as their sources 660 and 670, respectively.
`IGMPv3 provides the ability for a subscriber node to
`specify not only the multicast group the node wishes to join
`but also the source of the multicast. It can be seen, however,
`that if an L2 address table lookup was limited to only the
`group (as described above) then the source distinction would
`be lost. Further, if a group or source address was limited to
`only 23 bits, then there is a multiple address aliasing problem.
`Merely modifying L2 address table entries to include 32 bit
`address fields doesn’t solve this issue either since both group
`and source addresses are 32 bit IPv4 fields. A 64 bit set of
`addresses is too big for even the modified L2 address
`described above to containina single entry. Chaining lookups
`in a modified L2 address table can resolve this problem.
`FIG. 7 illustrates an example of an L2 address table incor
`porating entries modified in accord with one embodiment of
`the present invention for use in resolving Source specific
`multicast. As with FIGS. 2 and 4, the illustrated table includes
`entries including an address 720 and a set of designated ports
`corresponding to that address 730. Each table entry has an
`associated index 710. The set of entries 740 correspond to the
`unicast destination addresses 1 to P, as described in FIG. 2.
`The set of entries 750 beginning at index (P+1) and continu
`ing to index (P+Q) contain L2 GRP addresses with a first key
`(KEY1) and a 32 bit GDA (GROUP(1)-GROUP(Q)). L2
`GRP can be of a format as illustrated in FIG. S. Entries 750
`can also include a listing of each port corresponding to nodes
`that subscribe to L2 GRP (List(1)-List(Q)). As discussed
`above, KEY1 is a 16 bit field including an I/G bit equal to one.
`FIG. 7 includes another set of entries 760 that allow for
`specification of multicast source. For these entries a 32 bit
`source address (SOURCE (1,1)-SOURCE (Q.R) is associ
`ated with a second key (KEY2), together called L2 SRC.
`KEY2 corresponds to the index (e.g., index 710 of FIG. 7) of
`the group entry with which the source is associated. For
`
`50
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`US 7,586,895 B2
`
`10
`
`15
`
`25
`
`6
`example, referring to FIG. 6, a lookup of group 610 can result
`in a determination of a first index related to group 610's entry.
`One can then use that first index as a key that is associated
`with a 32bit address of one of source 620, 630, or 640, which
`is used in a lookup of an entry 760 to determine a list of
`Subscriber destination ports (e.g., SList(1)). In this manner,
`group destination address ports and Source destination ports
`can be presented and resolved in an L2 address table.
`For reasons similar to those presented in the previous sec
`tion, this modification of an L2 address table to allow for
`chained lookups to resolve SSM destination ports will not
`interfere with traditional L2 address table lookups. Entries
`corresponding to multicast sources will not be reached in a
`lookup without an appropriate key, and Such a key will not be
`had unless acquired through the initial group destination
`address lookup. Further, since a multicast frame contains both
`the L3 GDA as well as designation of L3 source address, no
`new information need be provided by the multicast frame.
`QinC
`QinC network protocols enable service providers to use a
`single virtual LAN (VLAN) to securely transport most or all
`of a single customer's VLANs across the service providers
`metropolitan area network (MAN) or wide-area network
`(WAN) backbone. The software that permits this adds an
`extra IEEE 802.1Q tag to customers’ traffic in a switch at the
`edge of the service provider's network. This tag assigns a
`unique customer VLAN ID number (PE VLAN) to each
`customer to keep each customer's traffic segregated and pri
`vate in the provider's network. All of a customer's VLANs
`(CE. VLAN) are combined at the edge switch for transport
`into the provider network. This allows for routing customer
`VLANs (or bridge domains) across a provider VLAN.
`FIG. 8 is a simplified block diagram illustrating the use of
`provider VLANs to transport customer VLANs. Provider net
`work 810 (a MAN or a WAN) provides network transport for
`two customers C1 and C2. Customer C1 transmits traffic
`between two sites on network 810, site 820 and site 830.
`Likewise, customer C2 transmits traffic between sites 840 and
`850. Local area networks for customers C1 and C2 are
`divided into local VLANs as a mechanism for localizing
`network traffic. At site 820, customer C1 supports CE VLAN
`(1,1) (822,826) and CE VLAN(1,2) (824.828). Customer C1
`supports at site 830: CE VLAN(1,1) (832.834) and CE V
`LAN(1,2) (836). Customer C2 supports CE VLAN(2.1)
`(842) and CE VLAN(2.2) (844) at site 840 and CE VLAN
`(2.1) (852) and CE VLAN(2.2) (854) at site 850. Through
`the use of QinC encoding, VLAN traffic at site 820, for
`example, can be transported across PE VLAN 860 to site 830
`and C2's traffic can be similarly transmitted across PE V
`LAN 870.
`A problem with the QinC method arises with both unicast
`and multicast addressing. The introduction of a PE VLAN
`identifier on the provider network will impede regular usage
`of initial CE VLAN information to optimize forwarding of
`L2 traffic among different remote sites for a specific cus
`tomer. Regular Switches are not capable of inspecting and
`using both PE VLAN and CE VLAN information to derive
`forwarding actions on customer frames.
`FIG. 9 illustrates an L2 address table incorporating ele
`ments to allow QinC address resolution in accord with one
`embodiment of the present invention. FIG. 9 illustrates an L2
`address table of a format similar to that shown in FIG. 7. The
`L2 address table contains a MAC address (920) that can be a
`source MAC address for network nodes connected to ports for
`unicast address resolution, and, for multicast, L2 GRP entries
`with a 16 bit key and a 32 bit L3 GDA. The L2 address table
`
`Ex.1017
`VERIZON / Page 17 of 22
`
`

`

`US 7,586,895 B2
`
`10
`
`15
`
`7
`further includes a listing of subscriber po

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket