Upload
javon-tibbles
View
213
Download
0
Tags:
Embed Size (px)
Citation preview
Joining LANs - Bridges
Connecting LANs Repeater
– Operates at the Physical layer• no decision making, processing• signal boosting only
Bridges– operates at the Data Link layer
• forwarding decisions based on addresses• no fragmentation/reassembly
Routers– operates at the Network Layer
• fragmentation/reassembly• routing to distant networks
Two types of Bridges
Transparent or Spanning Tree– Processing overhead is in the bridges– Host interface is simple
Source Routing – Processing overhead is in the host interface
Sample topology
Spanning Tree Bridge Behavior
If the destination address is found to be in the direction of the port on which it arrived, do nothing
ex. source on LAN E and destination on LAN A not forwarded by B1
Learning the topology
If the destination is not known– forward the frame– Problem if the topology contains a loop
A
B
B1 B2
A BB1 routing table is empty
B2 routing table is empty
Node A port 0 Node A port 0
00
1 1
B1 B B2 B
A
B
B1 B2
B1 routing table is empty
B2 routing table is empty
Node A port 0 Node A port 0
00
1 1
B2 B B1 B
A
B
B1 B2
B1 routing table is empty
B2 routing table is empty
Node A port 0
00
1 1
B2 B B1 BNode A port 0
Etc. The message goes back and forth because each bridge sees the other’s transmission and does not know it has forwarded this same message before.
Creating a Spanning Tree
Set of all nodes in a graph plus a subset of the links so that all nodes are connected but there is only one path between any pair of
nodes
Redundant bridges provide backup, but do not participate in routing
Creating a Spanning Tree
Spanning Tree Algorithm For a graph, G=(V,E), a spanning tree is a subgraph, T=(v,E) where T is a tree and v are selected from V. The spanning tree connects all the vertices of the graph.
The Dijkstra/Prim algorithm finds a minimum spanning tree by starting at an arbitrary vertex and branching out, picking up new vertices as it goes. Think of the vertices as partitioned into three sets: – Tree vertices: in the tree constructed so far
– Fringe vertices: not in the tree but adjacent to a vertex that is in the tree
– Unseen vertices: all others The Dijkstra/Prim algorithm constructs a minimum weight spanning
tree. In the algorithm used in Spanning Tree bridges, there is no concept of weight. The task is somewhat simpler.
The Spanning Tree Algorithm
Select an arbitrary vertex to start the tree (the bridge with the lowest serial number)
While there are fringe vertices do– select an edge between a tree vertex and a fringe vertex and
– add the selected edge and vertex to the tree
End We assume a connected graph. There cannot be a spanning
tree if the graph is not connected. Assuming a connected graph, the algorithm above will find a spanning tree.
Spanning Tree Implementation
In the implementation of the spanning tree, all the bridges participate.
The bridges send messages and receive replies to determine which bridge is the root. (Lowest serial number)
Once the root is identified, each bridge sends a message to the root from each port.
The root replies to each of these messages. Each bridge determines which of its ports is "closest" to the root. (whichever one gets its response first)
Bridge ProtocolCreate the Spanning Tree
– Bridge with lowest ID becomes the root– All others determine which port provides best access to
the root (root port)– For each LAN, determine the one bridge to be used to
access the root of the spanning tree.• Designated bridge for that LAN
– For each bridge, root port and designated bridge ports are placed in forwarding state
– Other ports are in blocking state
Try it
Assume passing over a LAN takes time =1 and passing through a bridge takes time =2
Sample topology with root ports and designated bridge ports identified
* = root port=== = designated bridge port
LAN A
*
Examples
LAN B ==> LAN F
LAN C ==> LAN D– path taken is not always optimal, because not
all bridge ports are available
One virtual LAN
All the LANs connected by the bridges – one virtual LAN– one address space
Each bridge learns how to forward to all nodes on all LANs
Forwarding behavior Destination goes to port of arrival
– no action by the bridge– LAN A ==> LAN A, not forwarded by B4– LAN E ==> LAN A, not forwarded by B1
Destination known to be other than arrival port– forward toward destination– not always toward the root– LAN A ==> LAN D, forwarded by B4 on port 3– LAN B ==> LAN C, forwarded by B3 on port 2
Destination not known– forward on all non-blocking ports except arrival port– LAN B==> unknown destination forwarded by B3 on ports 2
and 3
Port states
Each port is in one of five states– Blocking
– Listening
– Learning
– Forwarding
– Disabled
Ref: Cisco: http://www.cisco.com/univercd/cc/td/doc/product/rtrmgmt/ sw_ntman/cwsimain/cwsi2/cwsiug2/vlan2/stpapp.htm
Initialize to blocking
On initiatialization, a bridge moves into the blocking state– Discards frames received from the attached segment.
– Discards frames switched from another port for forwarding.
– Does not incorporate station location into its address database.
• (There is no learning at this point, so there is no address database
update.)
– Receives BPDUs and directs them to the system module.
– Does not transmit BPDUs received from the system module.
– Receives and responds to network management messages.
Blocking to listening
In the listening state, a bridge port– Discards frames received from the attached segment.
– Discards frames switched from another port for forwarding.
– Does not incorporate station location into its address database.
• (There is no learning at this point, so there is no address database
update.)
– Receives BPDUs and directs them to the system module.
– Processes BPDUs received from the system module.
– Receives and responds to network management messages.
From listening to learning
In the learning state– Discards frames received from the attached segment.
– Discards frames switched from another port for forwarding.
– Incorporates station location into its address database.
– Receives BPDUs and directs them to the system module.
– Receives, processes and transmits BPDUs received from the
system module..
– Receives and responds to network management messages.
The forwarding state
A port in the forwarding state
– Forwards frames received from the attached segment.
– Forwards frames switched from another port for
forwarding.
– Incorporates station location into its address database.
– Receives BPDUs and directs them to the system module.
– Processes BPDUs received from the system module..
– Receives and responds to network management
messages.
An abstraction of the spanning tree
Unique path from each source to each destination clearly visible
Two links with the same (E) label not desirable
= destination host
Better diagram
No longer have two links with the same label.Now have a node that represents two bridges, though. Call this a multibridge node.
Use of the diagram Calculate the length of the journey for a frame
traveling between any two LANs number of LANs traversed number of bridges that forward the frame
– Transfer between children of a multibridge node count one LAN traversed, two bridges used
– If there are more than two bridges represented by the multibridge node, there still are two bridges and one LAN used in the transfer.
Larger Example
Spanning tree for larger example
Examples
Source: G Destination: I Number of LANs: 1 (A) Number of Bridges (ids): 2 (B6, B8)
Another example
Source: H Destination: E Number of LANs: 1 (A) Number of Bridges: 2 (B7, B4)
One more example
Source: I Destination: E Number of LANs: 2 (A, E) Number of Bridges: 3 (B7, B4, B5)
Maximum path length between nodes Distance from the lowest leaf to the root plus distance from the root to the lowest
node that is not a descendent of the same multinode as the first leaf.
Example:
Maximum path is from any of {G, H, I, J} to the root plus the distance from the root to either of {B, C}
Source Routing Bridges
Source specifies which bridges are to forward the frame
Route is inserted in the frame header following the source address
Special use of a bit in the source address that would indicate a group address (group address not possible for source) to indicate that routing information follows.
Finding the route Send a probe
– Broadcast to all bridges– Each bridge forwards the probe
• on all its ports • unless it has seen it before
– The probe will reach the intended destination if it is possible• By the best possible route• By all possible routes
Destination node sends the probe back to the sender– Reverses the path in the header of the probe that arrived first
Workload
Network interface of the host must worry about route discovery and specification– Each network card has complexity to deal with– Complex may mean slower, more expensive
Bridge is very simple– Simple may mean fast
What is the best place to put the complexity?
Bridges summary
Two basic types: spanning tree and source routing
Spanning tree is easier to manage, but does not always give the optimal route
Source Routing always gives the optimal route, but involves more overhead.
Spanning tree is the standard, with source routing as an allowed option.