Download presentation
Presentation is loading. Please wait.
1
Ethernet switches and IP routers
Ethernet MAC address: Flat 6-byte addresses Full address match for forwarding If there is no match, forward on all interfaces as determined by state (set by spanning tree algorithm) IP address: Hierarchical 4-byte addresses Longest prefix match M. Veeraraghavan (originals by J. Liebeherr)
2
Transparent Bridges Three aspects of bridge operation:
(1) Forwarding of Frames (2) Learning of Addresses (3) Spanning Tree Algorithm M. Veeraraghavan (originals by J. Liebeherr)
3
Frame Forwarding Each bridge maintains a filtering database with entries < MAC address, port, age> MAC address: host name or group address port: port number of bridge age: aging time of entry with interpretation: a machine with MAC address lies in direction of the port number from the bridge. The entry is age time units old. M. Veeraraghavan (originals by J. Liebeherr)
4
Search if MAC address of destination is listed for ports A, B, or C.
Frame Forwarding 2 Assume a MAC frame arrives on port x. Search if MAC address of destination is listed for ports A, B, or C. Not found ? Found? Forward frame on corresponding port if different from the port on which the frame arrived and the port state allows it Flood the frame, i.e., send the frame on all ports except port x if port states allow it. M. Veeraraghavan (originals by J. Liebeherr)
5
Forwarding conditions
Forward a MAC frame if and only if The receiving port is in a forwarding state (will learn the meaning of this term in the routing lecture) The transmitting port is in a forwarding state Either the filtering database indicates the port number for the destination MAC address or no such entry is present (in which case all ports are eligible transmission ports) Do not transmit on port on which frame was received The maximum service data unit size supported by the LAN to which the transmitting port is connected is not exceeded. M. Veeraraghavan (originals by J. Liebeherr)
6
Address Learning In principle, the filtering database could be set statically (=static routing) In the bridge, the process is made automatic with a simple heuristic: The source address field of a frame that arrives on a port is used by the bridge to update its filtering database, which indicates the port through which each host is reachable. M. Veeraraghavan (originals by J. Liebeherr)
7
Address Learning 2 Algorithm:
For each frame received, the bridge stores the source address field in the filtering database together with the port on which the frame was received. All entries are deleted after some time (default is 300 seconds). M. Veeraraghavan (originals by J. Liebeherr)
8
Example Consider the following packets: <Src=A, Dest=F>, <Src=C, Dest=A>, <Src=E, Dest=C> What have the bridges learned? M. Veeraraghavan (originals by J. Liebeherr)
9
Forwarding MAC frames and learning
Relaying of MAC frames and observation of traffic Learning process writes Filtering DB Frame forwarding reads Filtering DB M. Veeraraghavan (originals by J. Liebeherr)
10
Internet Address Classes
IP distinguishes 5 classes of addresses. M. Veeraraghavan (originals by J. Liebeherr)
11
IP Addresses The end points of each range are not allowed because all zeros and all ones are disallowed for netid, subnetid and hostid (see pg. 42 of text and RFC791). M. Veeraraghavan (originals by J. Liebeherr)
12
Routing There are two parts to the routing problem:
1. How to pass a packet from an input interface to the output interface of a router (“packet forwar- ding”) ? 2. How to create routing tables? In this lecture, we only discuss the packet forwarding part. The other function is discussed in the routing protocols lecture. M. Veeraraghavan (originals by J. Liebeherr)
13
IP Forwarding A packet is typically forwarded to a large number of routers before reaching the destination host. IP forwarding is done on a hop-by-hop basis, i.e., no one knows the complete route. The goal of forwarding is to bring the IP datagram closer to the destination. M. Veeraraghavan (originals by J. Liebeherr)
14
IP Forwarding IP forwarding is performed by both hosts and routers.
The difference between IP forwarding in a host and in a router is that a host’s IP module does not forward packets received on an interface to another interface (if it does then it is behaving as a router). In a host, IP forwarding is from the higher layers to an interface or vice versa Both routers and hosts have a routing table. Routing table entries look like this and is looked up for each datagram: M. Veeraraghavan (originals by J. Liebeherr)
15
Forwarding Functions at Host
Forwarding an IP datagram at a host: DestIP = destination IP address If (destination is on the same network as host) Deliver datagram to destination directly; else Send datagram to default router; Reception of an IP datagram at a host: Datagram is received on an interface If (Destination IP address == (my IP address || broadcast address)) Deliver datagram to higher layer; Discard the datagram; M. Veeraraghavan (originals by J. Liebeherr)
16
Forwarding Functions at Router
Reception of an IP datagram at a router: Packet is received on an interface If (Destination IP address != my IP address) Perform datagram forwarding; Forwarding an IP datagram at a router: DestIP = destination IP address If (Part of DestIP matches Part of only one “Destination IP address” in routing table) Deliver datagram to the outgoing interface specified in the table; else if (it matches multiple entries) Use routing data of the “longest-prefix” that matches else deliver packet to default router; M. Veeraraghavan (originals by J. Liebeherr)
17
Need for Routing What do bridges do if some LANs are reachable only in multiple hops ? What do bridges do if the path between two LANs is not unique ? M. Veeraraghavan (originals by J. Liebeherr)
18
Danger of Loops Consider the two LANs that are connected by two bridges. Assume host n is transmitting a frame F with unknown destination. What is happening? Bridges A and B flood the frame to LAN 2. Bridge B sees F on LAN 2 (with unknown destination), and copies the frame back to LAN 1 Bridge A does the same. The copying continues Where’s the problem? What’s the solution ? M. Veeraraghavan (originals by J. Liebeherr)
19
Spanning Trees IEEE has an algorithm that builds and maintains a spanning tree in a dynamic environment. Bridges exchange messages to configure the bridge (Configuration Bridge Protocol Data Unit, Configuration BPDUs) to build the tree. M. Veeraraghavan (originals by J. Liebeherr)
20
Concept - Bridge ID Each bridge has a unique identifier (8 bytes):
Bridge ID = <priority level + MAC address> Priority level = 2 bytes; Note that a bridge has several MAC addresses (one for each port), but only one ID using the MAC address of the lowest numbered bridge port (port 1) Each port within a bridge has a unique identifier (port ID). 0:0:1:2:3:5 51:24:68:1f:3:4 Bridge 2 3 1 Priority: 0x12:41 fe:64:96:12:1:3 Example above: Bridge ID = 12:41:fe:64:96:12:1:3 M. Veeraraghavan (originals by J. Liebeherr)
21
Concept - Root bridge of a network
Root Bridge: The bridge with the lowest identifier is the root of the spanning tree. Bridge 3 with ID 0:1:34:1:21:56:19:87 1 LAN A Bridge 2 with ID= 6:4:55:4:21:56:19:87 1 LAN B 2 1 Root bridge is bridge 3 since it has the smallest ID Bridge 1 with ID= 4:1:21:1:21:56:19:87 M. Veeraraghavan (originals by J. Liebeherr)
22
Concept - For each bridge
Root Port: Each bridge has a root port which identifies the next hop from a bridge to the root. Root Path Cost: For each bridge, the cost of the min-cost path to the root Example on previous slide: What is the root port and root path cost of bridge 1: The root port is port 2 since it leads to the root bridge (bridge 3) The root path cost is 1 since bridge 1 is one hop away from the root bridge (I.e., bridge 3). Note: We assume that “cost” of a path is the number of “hops”. M. Veeraraghavan (originals by J. Liebeherr)
23
Concept - For each LAN Designated Bridge, Designated Port: Single bridge on a LAN that provides the minimal cost path to the root for this LAN, and the port on this minimal cost path if two bridges have the same cost, select the one with highest priority (lower bridge ID) if the min-cost bridge has two or more ports on the LAN, select the port with the lowest identifier Example on slide 25: for LAN A, the designated bridge is bridge 3 since it is the root bridge itself; port 1 is the designated port; for LAN B, the designated bridge is bridge 1 since this is closer to the root bridge than bridge 2. The designated port is port 1. M. Veeraraghavan (originals by J. Liebeherr)
24
Concept - Designated bridge/port
Even though each LAN is the entity that has a designated bridge/designated port, it is each bridge that determines whether or not it is the designated bridge for the LAN on each of its ports. Example: Bridge 1 in the example on slide 25 determines whether it is the designated bridge for LAN A (to which its port 2 is connected) and for LAN B (to which its port 1 is connected). Answer in this case is that bridge 1 is the designated bridge for LAN B, but it is not the designated bridge for LAN A M. Veeraraghavan (originals by J. Liebeherr)
25
Steps of Spanning Tree Algorithm
1. Determine the root bridge of the whole network 2. For all other bridges determine root ports 3. For all bridges, determine which of the bridge ports are designated ports for their corresponding LANs The spanning tree consists of all the root ports and the designated ports. These ports are all set to the “forwarding state,” while all other ports are in a “blocked state.” M. Veeraraghavan (originals by J. Liebeherr)
26
What we just did We just determined the spanning tree for a network of LANs and bridges in a “centralized manner.” We knew the bridge IDs of all the bridges and the port IDs of all the ports in all the bridges. We determined the root bridge (the bridge with the smallest ID.) For each bridge, we determined the shortest path to the root by counting hops and thus identified the root port. For each bridge, we determined which of its ports are designated ports for each of its LANs However, the network of bridges determines the spanning tree in a “distributed manner” - each with limited knowledge. This is done using messages called BPDUs. M. Veeraraghavan (originals by J. Liebeherr)
27
How do the bridges determine the spanning tree?
With the help of the BPDUs, bridges can: Elect a single bridge as the root bridge. Each bridge can determine: a root port, the port that gives the best path to the root. And the corresponding root path cost Each bridge determines whether it is a designated bridge, for the LANs connected to each of its ports. The designated bridge will forward packets towards the root bridge. Select ports to be included in the spanning tree. Root ports and designated ports M. Veeraraghavan (originals by J. Liebeherr)
28
Short form notation for BPDUs
Each bridge sends out BPDUs that contain the following information: root bridge (what the sender thinks it is) root path cost for sending bridge Identifies sending bridge Identifies port on which this BPDU is sent root ID cost bridge ID/port ID M. Veeraraghavan (originals by J. Liebeherr)
29
Ordering of Messages We can order BPDU messages with the following ordering relation ““: If (R1 < R2) M1 M2 elseif ((R1 == R2) and (C1 < C2)) elseif ((R1 == R2) and (C1 == C2) and (B1 < B2)) M1 M2 ID R1 C1 ID B1 ID R2 C2 ID B2 M. Veeraraghavan (originals by J. Liebeherr)
30
Determine the Root Bridge
Initially, all bridges assume they are the root bridge. Each bridge B sends BPDUs of this form on its LANs: Each bridge looks at the BPDUs received on all its ports and its own transmitted BPDUs. Root bridge is the smallest received root ID that has been received so far (Whenever a smaller ID arrives, the root is updated) B B M. Veeraraghavan (originals by J. Liebeherr)
31
Calculate the Root Path Cost Determine the Root Port
At this time: A bridge B has a belief of who the root is, say R. Bridge B determines the Root Path Cost (Cost) as follows: If B = R : Cost = 0. If B R: Cost = {Smallest Cost in any of BPDUs that were received from R} + 1 B’s root port is the port from which B received the lowest cost path to R (in terms of relation ““). Knowing R and Cost, B can generate its BPDU (but will not necessarily send it out): R Cost B M. Veeraraghavan (originals by J. Liebeherr)
32
Determine if the bridge is the designated bridge for any of the LANs connected to its ports
At this time: B has generated its BPDU B will send this BPDU on one of its ports, say port x, only if its BPDU is lower (via relation ““) than any BPDU that B received from port x. In this case, B also assumes that it is the designated bridge for the LAN to which the port connects. R Cost B M. Veeraraghavan (originals by J. Liebeherr)
33
Selecting the Ports for the Spanning Tree
At this time: Bridge B has calculated the root bridge for the network, its root port, root path cost, and whether it is the designated bridge for each of its LANs. Now B can decide which ports are in the spanning tree: B’s root port is part of the spanning tree All ports for which B is the designated bridge are part of the spanning tree. B’s ports that are in the spanning tree will forward packets (=forwarding state) B’s ports that are not in the spanning tree will block packets (=blocking state) M. Veeraraghavan (originals by J. Liebeherr)
34
Building the Spanning Tree
Consider the network on the right. Assume that the bridges have calculated the designated ports (D) and the root ports (R) as indicated. What is the spanning tree? M. Veeraraghavan (originals by J. Liebeherr)
35
Adapting to Changes Bridges continually exchange BPDU’s according to the rules we just discussed. This allows the bridges to adapt to changes to the topology. Whenever a BPDU arrives on a port, say port x, B bridge determines: Can B become the designated bridge for the LAN that port x is attached to? Can port x become the root port? M. Veeraraghavan (originals by J. Liebeherr)
36
Example 1 Assume a Bridge with ID 18 has received the following as the lowest messages on its 4 ports: Root is 12 85 +1 = 86 Port 2 For Ports 1,3, 4 What is the root? What is the Root Path Cost? What is the root port? What is 18’s configuration BPDU? For which LAN (port), if any, is B the designated bridge? M. Veeraraghavan (originals by J. Liebeherr)
37
Example 2 (Practice - Solution in Exercises)
Assume a Bridge with ID 3 is receiving the following as the lowest messages on its five ports: What is the root? What is the Root Path Cost? What is the root port ? What is 3’s configuration BPDU? For which LAN (port), if any, is B the designated bridge ? M. Veeraraghavan (originals by J. Liebeherr)
38
Network Example (Practice - Solution in Exercises)
The attached network shows 5 LANs that are interconnected by 5 bridges. The ID’s of the bridges are 1,2,3,4,5 and the port ID’s are as indicated in the figure. The bridges run the spanning tree algorithm. Assume that the root cost path is the number of hops. Assume an initial state. Show which messages are exchanged until the tree is built. M. Veeraraghavan (originals by J. Liebeherr)
39
Interesting cases If two min-cost BPDUs received at a bridge on two different ports are equal in the root ID, root path cost and sending bridge ID, and the root ID is the smallest of the root Ids on all previously received BPDUs, then the designated ports for the LANs corresponding to the two ports on which the two BPDUs are received are compared. The smaller one of these (which will have the higher priority) will be chosen. The port on the bridge receiving these BPDUs which is on the LAN of this selected designated port is the root port of the bridge. Ref: Section (page 53) of the IEEE 802.1D specification. M. Veeraraghavan (originals by J. Liebeherr)
40
Example Bridge 2 receives two BPDUs [1,0,1] on both its ports 3 and 4
The designated port for LAN A is port 1 on bridge 1 The designated port for LAN B is port 2 on bridge 1 Since port 1 is lower than port 2, it has higher priority. Hence port 4 is the root port. M. Veeraraghavan (originals by J. Liebeherr)
41
Another case Furthermore, section of IEEE 802.1D states that if even the designated ports of the LANs corresponding to the ports on which a bridge receives the same BPDUs are the same, then look at the port numbers on the bridge itself at which these BPDUs are received and select the lower one to be the root port. M. Veeraraghavan (originals by J. Liebeherr)
42
Example Ports 4 and 2 of bridge 2 are on LAN A. They will both receive BPDU [1,0,1] from bridge 1. The designated port for LAN A is port 1 on bridge 1. So even the designated ports are the same. Hence choose between ports 2 and 4 by selecting the lower one, which is port 2 as the root port. M. Veeraraghavan (originals by J. Liebeherr)
43
Priority Finally, see pg 102 of the spec, section It states that the ”Two bridge identifiers when compared numerically, the lesser number shall denote the bridge of the higher priority." M. Veeraraghavan (originals by J. Liebeherr)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.