Title: LAN Interconnection
1SECTION 15
2Summary reading
- Repeaters, bridges, routers.
- Preventing routing loops by
- Source routing Spanning Trees
- IEEE Standards 802.x
- Interconnection level. Source routing.
- Read Chapter 13
3LAN Interconnect
- very modest objectives
- route the frame from S to D so we
- avoid routing loops
- dont forward to another LAN un-necessarily
- minimal attempt to find a Best Path
4LAN Interconnect
- Two approaches
- 1 Source Routing or
- 2 distributed routing
- with all routers and bridges along the path
participating in route selection
5Whats a Bridge??
LAN
LAN port
bridge
LAN
6How to build a LAN bridge??1
- wire pair, or
- wire pair plus analog amplifier for gain
- copies the analog waveform
- V ft
- to the other LAN, i.e.
- incorporates knowledge of Level 1, the Physical
Level, i.e. - knows about some of the Physical Level
7How to build a LAN bridge??2
- digital repeater dumb
- assumes that input waveforms represent binary 1
or 0 - knows the encodings of 1 and 0
- searches for
- makes decisions and outputs noise-free encodings
of 1 and 0 - understands more of the Physical Level
8How to build a LAN bridge??3
- digital repeater - less dumb
- recognizes a frame
- checks frame syntax
- corrects some errors
- understands part of Level 2, i.e.
- frame syntax including EDAC
- media access protocol Level 2A
9How to build a LAN bridge??4
- Vaguely Intelligent Bridge
- operates at Level 2 - Link Layer - MAC Sublayer
- hence no flow control
- does frame relay within MAC
- checks FCS
- discards bad frames
- does NOT modify S or D addresses
10How to build a LAN bridge??5
- Pretty Smart Transparent Bridge
- Bridge as defined above, plus
- frame is copied ONLY if destination D is on the
other side of the Bridge - called Bridge-based not Source Routing
11Bridge-based routing
- advantages
- greatly reduces useless traffic passed to
destination side - all routing done by bridges
- source need not
- be aware of topology
- participate in routing
- routing is done transparently for Source Destn
- disadvantages? problems?
12Bridge-based routing
- more bridge complexity!, e.g.
- how to know if the destination D is on the other
side??
13The Situation
frame f
S D
Incoming LAN for f
B
Outgoing LAN for f
Half of a Transparent Bridge B
14Problem
- How can B make the copy / no-copy decision? i.e.
- By watching the traffic go by, How to infer if D
is reachable from the Outgoing Lan?? - ideas?
15Ideas
- 1 ask the sysadmin to manually enter a table of
destinations - a kind of routing table
- pro easy to design
- con
16con
- tedious, expensive, error-prone
- must be changed whenever D moves
- what if D is a wireless palmtop device?
17Bridge forwarding table...
- 2 build the table automatically
- HOW??
18Bridge forwarding table...
- Idea
- allow for imperfect tables as follows
- when in doubt, COPY, I.E.
- COPY unless D is known to be on the INCOMING LAN
of this bridge - How to get clues about location of D??
19Where is D??
- Incoming-side or outgoing??
- Look at the Source Addresses of passing frames!
20 The Situation
frame f
S D
Incoming LAN for f
table for outgoing side
B
Outgoing LAN for f
Half of a Transparent Bridge B
21Learning algorithm for Tables
- If f appears on the Incoming Side
- Its Source Sf must ? live on the Incoming
Side, so - enter Sf into the Table for the Incoming side
- delete Sf from the table for the Outgoing Side
22And
- When in doubt, forward it
- i.e. if D is present in
- neither table or
- both tables
23Can a transparent bridge screw up?
- there can be multiple routes from S to D
1
2
A sends f with D unknown 1 2 both copy it ... 1
and 2 both see the copies 1 2 both re-copy
it... soon, 2n copies!
A
24What to do??
- find a single, unique path pS,D from S to D
- force all traffic S,D to follow p
- repeat for all S and for all D
25Graph theory to the rescue!
- Spanning Tree of G rooted at R
- a tree rooted on some node R of G
- every node of G appears in the Spanning Tree
- thus provides a unique path from any node to any
other node -- via the root R!
26We need
- distributed algorithm to calculate a spanning
tree - a way to map a LAN network into a graph with
bridges and LANs as nodes
27Mapping the LAN...
- assume
- all LANs have unique ids
- all bridges have unique ids
- one bridge R is selected as Root-node
- Rs id is broadcast to all other bridges
- each bridge B pings R both ways to find the
fastest direction from B to R - its root-link
- some entity on each LAN pings R all ways to
find the fastest direction bridge to R - its LAN-bridge link
28 LAN1
LAN2
B1
B2
LAN3
B7
B4
B5
B3
LAN6
LAN4
B6
LAN5
29 Root selected
LAN1
LAN2
B1
B2
LAN3
B7
B4
B5
B3
LAN6
LAN4
B6
LAN5
30broadcast B1, bridges ping B1. Ping results
1
LAN1
LAN2
B1
B2
2
1
LAN3
B7
1
1
2
2
B4
B5
B3
LAN6
2
2
2
3
This number is the ping time experienced by B6
pinging B1 on its downward port
LAN4
1
B6
2
LAN5
31(No Transcript)
32 LANs ping the root and select Lan-bridge
links NB - DIFFERENT DELAY VALUES NOW
1
2
1
LAN1
LAN2
B1
B2
2
1
3
LAN3
B7
3
3
3
2
B4
B5
B3
LAN6
2
2
2
2
LAN4
200
B6
3
LAN5
33 - the bridge pings are different numbers from the
lan-pings - bridge-pings simply says how long a ping to root
takes from this bridge in each direction - lan-pings how long a ping to root takes from
this lan over each link
34 Discard the black links
1
2
1
LAN1
LAN2
B1
B2
2
1
LAN3
B7
3
3
3
2
B4
B5
B3
LAN6
2
2
2
2
LAN4
200
B6
3
LAN5
35Graph theory observation
- a tree on n vertices has n-1 edges
- a loop or circuit on n vertices has n edges
- so picking one edge per node excluding the root
node - must yield a tree or set of trees not a loop
36For the graph-theoretic view
- collapse each LAN into a node
- collapse each bridge into a node
- leave the bridge and LAN links alone
37B1
LAN1
LAN2
?
?
?
B2
?
B7
?
LAN3
?
?
?
?
B3
B4
B5
?
LAN6
LAN4
?
B6
?
LAN5
?
38Observations
- often called the Spanning Tree Algorithm Steiner
Tree Algorithm - Perlman, Radia An algorithm for Distributed
Computation of a Spanning Tree... Comp. Comm.
Rev., Vol 15, Nr 4, Sept 1985/
39Observations
- root selection
- manual, or
- distributed election algorithm on serial number
- a LOT of traffic transits the root!
40Observations
- net with fast backbone
- choose links bridges on the backbone
- big net
- partition it
- spanning tree per subnet
- mark all frames table entries with tree number
- replaces ONE root with n rootlets
41Source Routing
- let the source node do it!
- Sunshine, Carl Interconnection of Computer
Networks, CNISDN, VOl1, Nr3, 1977
42Good news
- simple bridges
- all of the net can be used
- not just the spanning tree
- useful for interconnected LANs ethernets, token
rings or MANs SONET rings
43addresses
- LAN number, station address, Level 3 address
44Bridge routing table
- my_route_segment
- mylink_in, mybridge_id, mylink_out
- if above is a substring of routing field of a
frame, copy the frame to mylink_out - NO state information about the stream of frames
in the bridge/router - every frame must carry its entire route
45Or..
- get rid of need to carry entire route in all
frames? - easy - just store a pathid
- but ...
46 - now there is state in the router
- pathid, inlink, bridge_id, outlink and...
- it is now circuit switching!
- all frames of pathid must follow the same path...
47route discovery
- by some kind of broadcast
- all-routes bcast
- D gets a copy of f for every possible route
S,D - single-route bcast
- traverses every link of G exactly once
- D gets one copy of the frame
- bridge forwards a frame once per outlink or
- use a spanning tree
48route discovery proposal
- route discovery algorithm
- S sends a frame f to D using single-route bcast.
Minimum traffic. - D replies with all-routes bcast
- S examines the received frames with traces
picks one
49source routing vs Bridging
- larger frame header route trace
- end station must be aware of bridges
- bridge computation is simple
- bridge table is simple 2 link ids
- but . . .
50Bugs
- 28 rings in series with 3 bridges per connection
have 328 routes - all must be traced by route discovery
- O100 years so
- LAN nrs must be manually assigned at
configuration time?
51More Bugs
- Broadcast storm
- S1 bcasts f using address A1
- S2 RCVES f, cant recognize A1
- forwards f
- forwarding implies discovery implies another
broadcast
52More Bugs
- Meltdown
- S2 rcves a mis-addressed packet P from S1
- S2 returns an ICMP message E to S1
- E is mis-directed, triggering another bcast
- P is called a Chernobyl Packet
53Lessons
- DOnt bcast lightly
- Dont bcast across a LAN boundary
- Dont bcast at Level 2, use Level 3
- routers can terminate the call
- dont send error messages in ill-defined
situations - avoid synchronous actions attacks
- 10000 workstations reset clock at midnight