throbber
(12) United States Patent
`Pearce et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,556,574 B1
`Apr. 29, 2003
`
`USOO6556574B1
`
`(54)
`
`DUPLICATE IGNORE DELAYTIMER FOR
`ARP LIKE PROTOCOLMESSAGES USING
`ARE PROTOCOL
`
`(75) Inventors: Bernie Paul Pearce, Cary, NC (US);
`Nitin Karkhanis, San Francisco, CA
`(US); Richard Livingston, Hollister,
`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 0 days.
`
`Notice:
`
`(21)
`(22)
`(51)
`(52)
`
`(58)
`
`(56)
`
`Appl. No.: 09/283,124
`Filed:
`Mar. 31, 1999
`Int. Cl." ............................. H04L 12/56; H04J 3/16
`U.S. Cl. ....................... 370/401; 370/403; 370/469;
`709/242
`Field of Search ................................. 370/231, 235,
`370/248, 351,386, 389, 392, 401, 402,
`403, 410, 469, 466, 467, 474; 709/242;
`379/221.01, 265.03
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,805,594 A * 9/1998 Kotchey et al. ............ 370/401
`5,844.902 A * 12/1998 Perlman ...........
`... 370/401
`6,272,112 B1
`8/2001 Orita .......................... 370/243
`OTHER PUBLICATIONS
`Perlman, Radia, Interconnections, Bridges and Routers,
`1992, pp. 1-8; 31-33; 99-125 and 149–164.
`Tanenbaum, Andrew, Computer Networks, Third Edition,
`Prentice Hall, 1996, pp. 28–34 and 420–242.
`
`Comer, Douglas E., Computer Networks and Internets,
`Prentice Hall, 1997, Chapter 18, pp. 239-249.
`Comer, Douglas E., Internetworking with TCP/IP, vol. 1,
`Third Edition, Prentice Hall, 1995, pp. 89-107.
`Comer, E and Stevens, David L., Internetworking with
`TCP/IP, vol. 2, Design Implementation, and Internal, Pren
`tice Hall, 1991, pp. 37-58.
`RFC 791.
`RFC 793.
`RFC-1122.
`Lewis, Chris, Cisco TCP/IP Routing Professional Refer
`ence, McGraw Hill, 1998, pp. 188–205.
`International Business Business Corporation, Token-Ring
`Network, MAC Frame Format, Chapter 2, pp. 2-1, 2-12.
`* cited by examiner
`Primary Examiner Huy D. Vu
`ASSistant Examiner-Duc Ho
`(74) Attorney, Agent, or Firm-Cesari and McKenna, LLP
`(57)
`ABSTRACT
`A router transmits an ARP Explorer request packet onto a
`subnetwork in order to learn the route (RIF information)
`from the router to an end Station. The end Station receives a
`plurality of ARP Explorer request packets from the router
`because of multiple paths in an SRB network, and the end
`Station transmits an ARP Explorer response packet in
`response to each ARP Explorer request packet received. The
`invention adopts the path of the first ARP Explorer response
`packet received by the router from the end station for the
`RIF information from the router to the end station, and uses
`a “duplicate ignore” timer in order to avoid freezing this
`route into the router tables. The timer begins running upon
`receipt of the first ARP Explorer response packet, and
`expires after an “update time interval”. No further ARP
`Explorer response packet is processed until after expiration
`of the update time interval.
`
`16 Claims, 12 Drawing Sheets
`
`
`
`
`
`
`
`
`
`106
`
`108
`
`802.5
`RING 12
`
`1 34
`
`
`
`2
`BRIDGE
`BR9
`
`802.5
`RING 13
`
`2
`BRIDGE
`BR 10
`
`802.5
`RING 14.
`
`L2
`BRIDGE
`BR5
`
`2
`BRIDGE
`BR8
`
`2
`BRIDGE
`BR11
`
`24 ROUTER
`L3
`
`802.5
`RING 11
`
`126
`
`132
`
`134
`
`136
`
`802.5
`RING 15
`
`
`
`2
`BRIDGE
`BR 12
`
`
`
`802.5
`RING 16
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 1 of 32
`
`

`

`US. Patent
`
`w,
`
`2
`
`6
`
`1B
`
`
`me$58mmmwmmmmmVNFsn:oz:mogmm2022mogmma022moemmm023wemwe28S38S2%E38mE;m._
`
`
`
`
`3mgNozE59%o023moemmm023mogmmv02E2:m28a28a28S38
`
`owvwmmNmmm«E
`
`DE
`
`r.o:EMNmmPmmmozEmogmmN02269%F02ENe38S38S28
`
`2:
`
`w:o:E3N:Eo:
`
`4nM,w0—“—
`
`$3:6,9%:mm9%mamme022mogmmEoza59%362$98%2023mogmma02mwe3%a£832%5£8a38
`
`CISCO SYSTEMS, INC. / Page 2 of 32
`
`EX.1008
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 2 of 32
`
`
`

`

`U.S. Patent
`
`Apr. 29, 2003
`
`Sheet 2 of 12
`
`US 6,556,574 B1
`
`20
`4
`
`202
`
`206
`
`254
`
`APPLICATION
`
`APPLICATION - 250
`
`
`
`252
`
`
`
`244
`
`234 -
`
`
`
`
`
`
`
`
`
`
`
`PRESENTATION
`AND SESSION
`
`TRANSPORT
`
`
`
`
`
`DATALINK
`(LEVEL2)
`MAC
`
`246 N
`PACKETS
`(RELIABLE
`COMMUNI
`236-CATION)
`NETWORK
`PACKETS
`(LEVEL3)
`(DATA-
`GRAMS)
`BEST EFFORT
`COMMUNICATION
`(UNRELIABLE)
`FRAMES
`
`INTERCONNECTION
`DEVICE
`
`
`
`240
`
`230
`210
`
`LEVEL3SWITCH
`(ROUTER)
`BASED ON
`IPADDRESS
`
`INTERNETIP
`(LEVEL3)
`
`
`
`DATA LINK
`(LEVEL2)
`MAC
`
`220
`
`LEVEL2 SWITCH
`(BRIDGE)
`PHYSICAL (MAC)
`ADDRESS
`
`219
`
`PHYSICAL
`
`PHYSICAL
`
`215
`
`OS, ORIEEE
`7 LEVEL
`COMMUNICATIONS
`MODEL
`
`INTERNET
`COMMUNICATIONS
`MODEL
`
`FIG. 2
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 3 of 32
`
`

`

`U.S. Patent
`
`Apr. 29, 2003
`
`Sheet 3 of 12
`
`US 6,556,574 B1
`
`302
`
`
`
`304
`
`306
`
`300
`308
`
`320
`
`322
`
`MAC
`LEADING se
`FIELDS
`
`e
`
`RF
`
`89.5
`
`MAC
`TRALING
`FIELDS
`
`RIBITSET 10
`IEEE 802.5: LEVEL 2 MAC FRAME FIELDS
`FIG. 3
`
`400
`
`402
`
`404
`
`406
`
`408
`
`DSAP SSAP CTRL DATA
`
`IEEE 802.2 LLC FELDS
`FIG. 4
`
`500
`
`502 504
`
`506
`
`508
`
`510
`
`512
`
`CTRL OU
`
`PROTOCOL
`(TYPE)
`
`DATA
`
`IEEE 802.2 LLC FELDS USING SNAP SAP OPTION
`FIG. 5
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 4 of 32
`
`

`

`U.S. Patent
`
`Apr. 29, 2003
`
`Sheet 4 of 12
`
`US 6,556,574 B1
`
`600
`
`604 TOKENRING MAC DESTINATION ADDRESS FIELD
`
`1st BYTE
`
`2nd BYTE 3rd BYTE 4th BYTE 5th BYTE 6th BYTE
`
`BITS
`|GU/LXXX XXX BITS O-7 BITS O-7 BITS O-7 BITS O-7 BITS O-7
`
`UNIVERSAL | LOCAL BIT-60
`INDIVIDUAL1 GROUP BIT-802
`FIG. 6A
`
`620
`
`
`
`624
`1st BYTE
`
`TOKENRING MAC SOURCE ADDRESS FIELD
`
`2nd BYTE 3rd BYTE 4th BYTE 5th BYTE 6th BYTE
`
`BITS
`RIU/LXXX XXX BITS O-7 BITS O-7 BITS O-7 BITS O-7 BITS O-7
`
`UNIVERSAL | LOCAL BIT-62s
`ROUTING INFORMATION, RLLBIT-22
`F.G. 6B
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 5 of 32
`
`

`

`U.S. Patent
`
`Apr. 29, 2003
`
`Sheet 5 of 12
`
`US 6,556,574 B1
`
`
`
`650
`ETHERNET MACADDRESSFIELD(DAORSA)
`1st OCTET N 2nd OCTET 3rd OCTET 4th OCTET 5th OCTET 6th OCTET
`BITS
`1-6, 1/0, 1/O
`
`BITS 1-8 BITS 1-8 BITS 1-8 BITS 1-8 BITS 1-8
`
`GROUPINDIVIDUAL BIT-658
`(MULTICAST BIT)
`GLOBALLOCAL BIT - 654
`F.G. 6C
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 6 of 32
`
`

`

`U.S. Patent
`
`Apr. 29, 2003
`
`Sheet 6 of 12
`
`US 6,556,574 B1
`
`702
`
`704
`
`700
`RIFFIELD
`
`706
`
`TYPE
`
`LENGTH
`
`DIRECTION
`
`708
`
`710
`
`LARGEST
`FRAME
`
`ROUTE
`
`FIG. 7
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 7 of 32
`
`

`

`U.S. Patent
`
`Apr. 29, 2003
`
`Sheet 7 of 12
`
`US 6,556,574 B1
`
`802-0
`
`
`
`04
`8
`
`4.
`
`806
`
`8
`
`808
`
`800
`
`16
`
`81
`O 24
`
`19
`
`31
`
`VERS HLEN SEE 5* TOTAL LENGTH
`822- IDENTIFICATION FLAGS 83 FRAGMENT OFFSET
`832
`TIME
`/
`TIVE
`PROTOCOL
`HEADER CHECKSUM
`SOURCE PADDRESS
`
`842
`
`1
`
`826
`836
`
`852
`862
`
`872
`
`DESTINATION PADDRESS
`IPOPTIONS (IF ANY)
`
`PADDING - 864
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 8 of 32
`
`

`

`U.S. Patent
`
`Apr. 29, 2003
`
`Sheet 8 of 12
`
`US 6,556,574 B1
`
`900
`ARP TABLE
`
`
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 9 of 32
`
`

`

`U.S. Patent
`
`Apr. 29, 2003
`
`Sheet 9 of 12
`
`US 6,556,574 B1
`
`10,000
`ARP TABLE
`
`902
`
`904
`
`906
`
`908
`
`910
`
`P
`RF
`MAC
`ADDRESS INFORMATION ADDRESS
`
`CREATION
`TIME
`
`OTHER
`INFORMATION
`
`
`
`
`
`
`
`ESP1,
`ROUTE
`ESP2,
`ROUTE
`ESP3,
`ROUTE
`
`ESPn,
`ROUTE
`
`10,002
`
`10,004
`
`10,006
`
`10,008
`
`10,010
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 10 of 32
`
`

`

`U.S. Patent
`
`Apr. 29, 2003
`
`Sheet 10 of 12
`
`US 6,556,574 B1
`
`11,000
`
`
`
`11,014
`
`11,062
`
`11,072
`
`11,075
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 11 of 32
`
`

`

`U.S. Patent
`
`Apr. 29, 2003
`
`Sheet 11 of 12
`
`US 6,556,574 B1
`
`
`
`
`
`CJELOEIBO | EXIOWd
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 12 of 32
`
`

`

`U.S. Patent
`
`Apr. 29, 2003
`
`Sheet 12 of 12
`
`US 6,556,574 B1
`
`13,004
`13,002
`
`13,006
`13,008
`
`13,000
`
`ROUTER
`
`13,010
`
`I/O PORT
`CIRCUITS
`
`
`
`13,012
`13,013
`
`PACKET FORMAT
`CIRCUITS
`
`BUFFERS
`
`
`
`CUT THROUGH
`LOGIC CIRCUITS
`FAST CACHE
`TABLE
`
`13,016
`13,017
`
`
`
`
`
`13,022
`
`13,014
`
`
`
`PROCESSOR E. 13,018
`
`ARP TABLE
`
`13,020
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 13 of 32
`
`

`

`1
`DUPLICATE IGNORE DELAYTIMER FOR
`ARP LIKE PROTOCOLMESSAGES USING
`ARE PROTOCOL
`
`This Patent Application is related to a patent application
`filed by Pearce, et al. titled “MAC Address Extension to
`Maintain Router Information in Source Routed Computer
`Networks', on even date with this patent application, and
`having Ser. No. 09/283,125.
`
`FIELD OF THE INVENTION
`This invention relates to operation of routers in computer
`networks, and more particularly to maintenance of tables of
`Route Information Field information (RIF information) used
`in Source Routing Bridge subnets (SRB Subnets).
`
`15
`
`BACKGROUND
`A computer network comprises, in the Simplest instance,
`a plurality of computers connected together by a communi
`cations media So that the computers can exchange messages.
`The computers are usually referred to as “stations'.
`In an exemplary embodiment, the communications media
`is arranged as a continuous ring and the Stations are attached
`to the ring. This embodiment is referred to as a “token ring”
`local area network. The Stations pass a Special control
`message referred to as a "token' around the ring from one
`Station to the next, and the Station which holds the token
`transmits its messages onto the ring. When it is finished, the
`Station transferS the token to the next Station on the ring.
`In an alternative exemplary embodiment, a local area
`network may implement the Ethernet protocol, or the closely
`related IEEE 802.3 Standard protocol. In an Ethernet system
`all terminals are connected to a common bus. Any Station
`can transmit when it determines that the bus is free, and if
`a collision of packets is detected on the bus, then the Stations
`quit transmitting and back off for a “backoff time interval”,
`and then try again. Other alternative network hardware
`technologies comprise FDDI token ring, ATM networks, etc.
`The present discussion will focus particularly on token
`ring local area networks and their interconnection into larger
`networks.
`A more complex token ring computer network comprises
`Several token rings connected together by Specialized Sta
`tions referred to as “bridges'. A message originating at a
`Source Station on one token ring can reach a destination
`Station on another token ring by passing through one or more
`bridges, where the Specialized job of the bridges is to
`forward messages from one token ring to another. In an
`exemplary embodiment, there may be a plurality of bridges
`between a first token ring and a Second token ring. And the
`path which the message takes from a Source Station on a
`Source token ring may pass through Several intermediate
`token rings, before reaching the destination Station on the
`destination token ring. Further, with a plurality of bridges
`between each pair of a plurality of token rings, there are
`many paths through token rings and bridges which the
`message can take from the Source Station and the destination
`Station.
`In an exemplary embodiment of computer networks,
`referred to as “source route bridge (SRB) networks”, the
`Source Station puts a Specification of the path into the
`message. The Specification is placed in the Route Informa
`tion Field, the RIF, of the message. The RIF determines the
`path that the message is to follow through the bridges and
`token rings as it travels from the Source Station to the
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,556,574 B1
`
`2
`destination station. The RIF is placed by the source station
`into a header of the message. The bridges read the header
`and forward the message in accordance with the RIF Speci
`fication.
`A router is another Specialized Station which enables
`joining many computer networks together. For example, a
`router can join Several computer networks formed from
`token rings and bridges. Also a router can join a token ring
`network to an Ethernet network, an FDDI network, etc., a
`telephone line or a telephone like line, etc. to form a Wide
`Area Network (WAN). The parts of a WAN may be widely
`Separated, and joined by the telephone like line.
`Routers are used to implement hierarchical addressing.
`Hierarchical addressing commonly uses a two level address
`ing method. A first level corresponds to Layer 2 of the OSI
`communications model, and a Second level corresponds to
`Layer 3 of the OSI communications model. Hierarchical
`addressing permits Layer 3 to be independent of the com
`munications media. The OSI model Layer 2 depends upon
`the communications media, the Layer 2 hardware technol
`ogy (Such as token ring, Ethernet, etc.), and other Layer 1
`and Layer 2 details. Accordingly, a programmer can write
`code to implement Layer 3 functions without having con
`cern for media dependent details which are handled by
`Layer 2 functions.
`Hierarchical addressing is important in the construction of
`large networks, for example networks having many thou
`Sands of Stations, by permitting a Single computer to main
`tain a table of network addresses without having to keep a
`table giving the physical address of each individual com
`puter on an entire network (for example, the Internet). A
`packet is sent to a router on the designated destination
`network, and that router keeps a table of the Layer 2 address
`of computers on the destination network. Without hierarchi
`cal addressing each router would have to keep tables of the
`Layer 2 addresses of all computers on the entire network,
`rather than Simply keeping a network address referring to the
`computers on that particular network, and there are many
`fewer networks than there are computers. Radia Perlman
`treats hierarchical addressing in her book Interconnections,
`Bridges and Routers, published by Addison Wesley Pub
`lishing Company, in 1992, all disclosures of which are
`incorporated herein by reference, particularly in Chapter 6,
`pages 149-164.
`Commonly used terminology refers to a Small local area
`network as a “Subnet'. For example, a plurality of token
`rings joined by bridges is a Subnet. Also an Ethernet with one
`bus, or with Several buSSes joined by bridges, is a Subnet. A
`“network' then refers to several Subnets joined by a router.
`Arouter or a bridge can be connected to a telephone type line
`and join Subnets in distant cities. For example, a bridge may
`forward frames using Data Link Switching to interconnect
`subnets in distant cities. A “wide area network” (WAN)
`refers to Subnets joined by routers or bridges, with the
`Subnets typically being widely separated, for example, in
`different cities.
`Each Station has a physical address, also referred to as the
`MAC address, and the physical address is the OSI model
`Layer 2 address. The Layer 2 address is also referred to as
`the "Link Address'. Also, each Station is assigned a Layer3
`address or network address. For example, in the TCP/IP
`protocol the Layer 3 (network) address is referred to as the
`Internet Protocol address, or IP address. The two levels of
`hierarchical addressing, the Layer 2 address and Layer 3
`address, are typically used in the OSI model to implement
`Subnets and networks.
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 14 of 32
`
`

`

`US 6,556,574 B1
`
`15
`
`25
`
`3
`The physical address is written into a Semi-permanent
`memory device when the Station is manufactured, and is
`referred to as the “burned in address. However, the physical
`address may be changed by the owner of the Station, by
`overriding the burned in address with a locally administered
`address, referred to as a LAA address.
`On a Subnet, a message is addressed to both the physical
`address and the Network address of the destination station.
`A bridge simply forwards the message. In the SRB network
`embodiment, where the message carries RIF information,
`the bridge obeys the instructions in the RIF of the message
`and forwards the message only along the path Specified by
`the RIF.
`However, when the Source Station and the destination
`Station are on different Subnets, the message is addressed to
`the physical address of a router and the Network address of
`the destination Station. The addressed router is a Station on
`the Subnet of the Source Station. The router recognizes its
`physical address in the message, reads the Network address
`of the destination Station from the header of the message,
`and then makes a decision as to how to route the message So
`that it goes to the destination Station. The router writes a new
`header into the packet message before forwarding it onto the
`next SRB Subnet The new header contains a new RIF. The
`new RIF directs the message through the token rings and
`bridges of the new SRB Subnet. Alternatively, the new
`Subnet may an Ethernet LAN, and in this case the router
`builds an Ethernet packet.
`In making its decision, the router uses tables which
`correlate a physical address with a Network address. Also,
`for SRB subnets, the physical address is correlated with RIF
`information using a RIF table. The router must first,
`however, execute a protocol in order to populate its tables.
`Also, stations on the SRB subnet must know the physical
`address, the Network address, and the RIF information for a
`destination Station. Thus each Station must also go through
`protocols in order to populate its address tables.
`There are a number of protocols used on computer
`networks for transferring messages from a Source Station,
`through intermediate bridges and routers, to a destination
`station. Names of various protocols comprise: TCP/IP,
`Apollo, Appletalk, CLNS, DECnet, IPX, Vines, XNS, SNA,
`and others. The TCP/IP protocol is often used to provide
`reliable message transport between Layer 3 entities. Under
`TCP/IP, commonly used protocols and messages for
`Stations, including routers, to populate their tables include an
`Address Resolution Protocol (ARP) message; and, an All
`Routes Explorer (ARE) message. These two concepts, ARP
`and ARE messages, will be explained Separately, although
`50
`they are often combined in one packet, referred to as an
`“ARP Explorer" packet. Protocols other than TCP/IP will be
`discussed hereinbelow.
`An ARP message is used by a first Station to learn the
`physical address needed to reach a Second Station where the
`fists station already knows the Network address of the
`Second station. Often, a source station will know the Net
`work address of an intended destination Station, but will not
`know the physical address needed to reach the destination
`Station. Also, the Source Station will not know, and does not
`need to know, the media over which a packet must travel to
`reach the intended destination Station.
`In the event that both the first and second stations are on
`the same Subnet, the needed physical address will be the
`physical address of the Second Station. However, in the event
`that the first and Second Stations are on different Subnets, the
`necessary physical address will be the physical address of a
`
`4
`router. Both the Subnet of the first station and the remote
`Second Station may be the same type of media, for example
`SRB Subnets, or for a further example both may be on
`Ethernets. Alternatively one subnet may be an SRB subnet
`and the other a different media technology, for example
`Ethernet. Once the first station learns both the Network
`address and the physical address to place in a message, it
`caches this information in a table referred to as the “ARP
`table'. Protocols other than TCP/IP use “ARP like tables to
`provide a binding between a Station's physical address and
`network address.
`The example in which both the source subnet and the
`destination Subnet are SRB Subnets, is next described. Once
`the Source Station learns the proper physical address to reach
`the Second Station, the Source Station uses ARE messages in
`order to learn a route. The Source Station places the Network
`address and physical address in the ARE message. The ARE
`message traverses all routes from the Source Station to the
`Second Station whose physical address is written into the
`message (either the intended destination Station or the physi
`cal address of a router).
`In a commonly used embodiment one packet, the “ARP
`Explorer packet”, is used with the ARP functionality in
`Layer3 fields of the packet, and the ARE functionality in the
`Layer 2 fields, as described in more detail hereinbelow. The
`ARP Explorer packet is referred to as a “packet” because it
`is a message between Layer 3 functions in a Source Station
`and in a destination Station.
`Both the ARP message and the ARE message are for
`warded by bridges. However, both the ARP message and the
`ARE message are confined to the Subnet of their Source
`station, and are not routed by a router. Also, the ARP
`Explorer packet is forwarded by bridges but is not routed by
`routers, and So is confined to the Subnet of its Source Station.
`The ARE message protocol gives a Source Station the
`route to use to reach the Station whose physical address
`(router or destination station) is needed to reach the desti
`nation Station. The route information is then Stored in the
`station in a RIF table. The RIF information must be updated
`frequently, as bridges may become congested, bridges may
`fail, telephone lines may be cut, etc.
`Hereinafter the TCP/IP terminology will be used, and the
`Network address will be referred to as the IP address. When
`the ARP and ARE protocols are combined in one packet,
`referred to as an ARP Explorer packet, then Layer 3 in the
`packet controls the ARP functionality and Layer 2 controls
`the ARE functionality. The ARP Explorer packet is trans
`mitted onto a SRB Subnet by a source station, and the source
`station may be either a router or an end station. The ARP
`Explorer packet is confined to the SRB Subnet as it is not
`routed by a router. The ARP Explorer packet is forwarded by
`all of the bridges in the SRB subnet because of the ARE
`functionality. A route is built up in the RIF field of the ARP
`Explorer packet as it is forwarded by various bridges onto
`various token rings. The ARP Explorer packet is examined
`by all end Stations receiving it by a Layer 3 function to
`determine if the IP address in the ARP inquiry field matches
`the receiving station's IP address. In the event that the
`receiving station finds a match between the IP address in the
`ARP inquiry field of the ARP Explorer packet and the
`receiving Station's IP address, the receiving Station transmits
`a response packet to the Source Station. The response packet
`is directed back to the Source Station along the route built up
`in the RIF field of the ARP Explorer packet, but in reverse
`order.
`Build up of the route in the RIF field of the ARP Explorer
`packet is next discussed in greater detail. The ARE function
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 15 of 32
`
`

`

`US 6,556,574 B1
`
`15
`
`25
`
`35
`
`40
`
`S
`in the ARP Explorer packet has the property that when it
`reaches a bridge on a first token ring, a copy of the ARP
`Explorer packet is both forwarded by the bridge to the next
`token ring, and a copy continues around the first token ring.
`AS it is forwarded by a bridge, the ring number of the ring
`it is going to, along with the bridge number of the forward
`ing bridge, is written into the RIF of the ARP Explorer
`packet. The RIF information is built up on a “bridge by
`bridge' basis as pairs of ring number and bridge number, as
`the ARP Explorer packet is forwarded throughout the Sub
`net. Further, if the copy of the ARP Explorer packet con
`tinuing around the first token ring is received by a Second
`bridge, again a copy is forwarded by the bridge to a token
`ring (either another token ring or the same “next token ring
`if more than one bridge joins the first token ring and the
`“next token ring), and also a copy continues around the first
`token ring. As a result, the destination Station receives a
`plurality of copies of the ARP Explorer packet. And each
`copy specifies, in the RIF of the ARP Explorer packet, the
`path taken by that copy through the Subnet.
`Upon receipt of each copy of the ARP Explorer packet,
`the destination station having the IP address which is in the
`IP inquiry field of the ARP Explorer packet then resets a
`“direction bit” in the ARP Explorer packet and re-transmits
`it onto the Subnet as an "ARP Explorer response' message.
`The “direction bit is an indicator in the header of the
`message which specifies whether the path of the RIF is to be
`traversed from left to right, which takes the message from
`the Source Station to the destination Station, or from right to
`left which takes the ARP Explorer response message back to
`the source station. Each copy of the ARP Explorer packet
`received by the destination station is thereby converted into
`an ARP Explorer response message which is received by the
`Source Station. Each ARP Explorer response message
`received by the Source Station Specifies a different path
`through the Subnet to the destination Station. The Source
`Station then chooses one of the routes to populate its RIF
`table. One method of choosing the route from the duplicates
`is to choose the route in the RIF field of the first received
`ARP Explorer response packet. The Source Station then uses
`the RIF value until an event occurs requiring updating of the
`RIF table: for example, the expiration of a time interval and
`the transmission of another ARP Explorer packet; or for
`example, when the Source Station is a router, the receipt of
`a packet to be routed to that destination Station.
`Traditionally, a router may update its ARP table and RIF
`table upon receipt of an ARP Explorer packet transmitted by
`an end Station. Upon receipt of the ARP Explorer packet, the
`router transmits an ARP Explorer response message to the
`end Station, just like any other Station. Also, the router reads
`the RIF information from the ARP Explorer packet and uses
`it to update its ARP table and RIF table entries.
`Another commonly used technique for updating RIF
`information is for a station to listen to message traffic, and
`to copy RIF information, physical address, and IP address
`combinations from all messages, and use this information to
`simply overwrite older entries in its ARP table and its RIF
`table. Particularly, Some routers have been designed to listen
`to message traffic, and to use REF information, physical
`address, and IP address combinations read from every
`message which the router routes, in order to update the entry
`in the router's ARP table and RIF table. Update is accom
`plished by overwriting the current entry in the table.
`In the event that a router receives a message having the
`physical address of the router and the IP address of a station
`which is not on the Subnet from which the message arrives,
`then the router makes decisions. First the router checks its
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`ARP table to learn if the IP address is in its ARP table by
`using the IP address as an index into the ARP table. If the IP
`address is indeed in the ARP table, the router now knows the
`proper Subnet to route the message to, and knows the proper
`physical address to put in the message (the proper physical
`address may again be either the destination Station or
`another router). Next, the router checks its RIF table, by
`using the Layer 2 address as an indeX into the table, in order
`to determine if the physical address is in the RIF table, and
`if it is, the router simply writes the RIF information into the
`RIF of the message and routes the message on its way.
`However, in the event that the needed information is not in
`either the ARP table or the RIF table, the router must
`transmit an ARP Explorer packet in order to build an entry
`in its ARP and RIF tables.
`In the related patent application mentioned above, a new
`and novel table which extends the physical address to
`include the RIF information for use in a router is disclosed.
`This extension of the physical address permits the ARP table
`to keep both the correlation between the physical address
`and the IP address, as well as the RIF information needed by
`the router to route a message to the destination Station. With
`this new extended ARP table the problem of receipt of
`multiple copies of the ARP Explorer response packet
`remains.
`There is needed a mechanism whereby a router can update
`its RIF entry for a destination Station on a token ring network
`using the new combined ARP and RIF table, use a protocol
`which gives a “best route (for example a fastest route), and
`update the RIF entry on a timely basis.
`SUMMARY OF THE INVENTION
`A router transmits an ARP Explorer request packet onto a
`Subnetwork in order to learn the route (RIF information)
`from the router to a destination end Station. The end Station
`receives a plurality of ARP Explorer request packets from
`the router because of multiple paths in an SRB network, and
`the end Station transmits an ARP Explorer response packet
`in response to each ARP Explorer request packet received.
`The invention adopts the path of the first ARP Explorer
`response packet received by the router from the end Station
`for the RIF information from the router to the end station,
`and uses a “duplicate ignore” timer in order to avoid freezing
`this route into the router tables. The timer begins running
`upon receipt of the first ARP Explorer response packet, and
`expires after an “update time interval”. No further ARP
`Explorer response packet is processed until after expiration
`of the update time interval. All duplicate ARP Explorer
`response packets are expected to arrive during the update
`time interval. Therefore the routing information is not
`updated by a Second ARP Explorer response packet until
`after all duplicate ARP Explorer response packets have been
`received and rejected. Use of the update time interval
`chooses the fastest path, as the first ARP Explorer response
`packet to be received by the router is probably generated by
`the first ARP Explorer request packet received by the
`intended destination end Station, and probably traveled
`along the fastest path from the router to the intended
`destination end Station. Expiration of the duplicate ignore
`timer allows later issued ARP Explorer request packets to
`dynamically update the RIF information as conditions on the
`network change, after expiration of the duplicate ignore
`timer. The RIF information will be updated after the router
`executes a Subsequent ARP Explorer request protocol, and
`receives the first of the duplicate ARP Explorer response
`packets, with the duplicate ignore timer permitting only the
`first received ARP Explorer response packet to update the
`RIF information in the router.
`
`Ex.1008
`CISCO SYSTEMS, INC. / Page 16 of 32
`
`

`

`7
`A router receives an ARP Explorer request packet trans
`mitted onto a subnetwork by an end station. The router
`receives a plurality of ARP Explorer request packets from
`the end station because of multiple paths in an SRB network.
`The invention adopts the path of the first ARP Explorer
`request packet received by the router from the end Station for
`the RIF information from the router to the end station, and
`uses a “duplicate ignore” timer in order to avoid freezing this
`route into the router tables
`Other and further aspects of the present invention will
`become apparent during the course of the following descrip
`tion and by reference to the accompanying drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`Referring now to the drawings, in which like numerals
`represent like parts in the Several views:
`FIG. 1 is a block diagram of a computer network in
`accordance with the invention.
`FIG. 2 is a block diagram of communications protocols
`and interconnecting devices.
`FIG. 3 is a block diagram of a MAC frame.
`FIG. 4 is a block diagram of IEEE 802.2 LLC fields.
`FIG. 5 is a block diagram of IEEE 802.2 LLC fields
`including SNAP SAP fields.
`FIG. 6A-FIG. 6C are block diagrams of a MAC address
`field.
`FIG. 7 is a block diagram of a RIF field.
`FIG. 8 is a block diagram of an IP Layer 3 header.
`FIG. 9 is a block diagram of an ARP table in a router in
`accordance with the invention.
`FIG. 10 is a detailed block diagram of an ARP table in a
`router in accordance with the invention.
`FIG. 11 is a block diagram of a SRB subnet.
`FIG. 12 is a timing diagram in accordance with the
`invention.
`FIG. 13 is a hardware functional block diagram of a
`rOuter.
`
`15
`
`25
`
`35
`
`40
`
`DETAILED DESCRIPTION
`
`FIRST EXEMPLARY EMBODIMENT
`The First Exemplary Embodiment describes the invention
`as used in a TCP/IP communications model. Further exem
`plary embodiments describe the invention as used in other
`communication protocols, for example in the protocols
`Apollo, Appletaak, CLNS, DECnet, IPX, Vines, XNS, SNA,
`and others.
`
`45
`
`50
`
`INTRODUCTION
`Operational functions of a computer network are com
`monly Separa

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