Switching and Forwarding - PowerPoint PPT Presentation

About This Presentation
Title:

Switching and Forwarding

Description:

Switching and Forwarding 3.1 Switching and Forwarding 3.2 Bridges and LAN Switches 3.3 Cell Switching (ATM) 3.4 Implementation and Performance ... – PowerPoint PPT presentation

Number of Views:163
Avg rating:3.0/5.0
Slides: 72
Provided by: klp8
Category:

less

Transcript and Presenter's Notes

Title: Switching and Forwarding


1
Switching and Forwarding
  • 3.1 Switching and Forwarding
  • 3.2 Bridges and LAN Switches
  • 3.3 Cell Switching (ATM)
  • 3.4 Implementation and Performance

2
  • Two limitations on the directly connected
    networks
  • limit on how many hosts can be attached, examples
  • only two hosts can be attached to a
    point-to-point link
  • the Ethernet specification allows no more than
    1,024 hosts

3
  • limit on how large of a geographic area a single
    network can serve, examples
  • an Ethernet can span only 2,500 m
  • wireless networks are limited by the ranges of
    their radios
  • point-to-point links can be quite long

4
  • Goal
  • build networks that can be global in scale
  • Problem
  • how to enable communication between hosts that
    are not directly connected
  • Solution
  • computer networks use packet switches to enable
    packets to travel from one host to another, even
    when no direct connection exists between those
    hosts

5
  • Packet switch
  • a device with several inputs and outputs leading
    to and from the hosts that the switch
    interconnects
  • Core job of a switch
  • take packets that arrive on an input and forward
    (or switch) them to the right output so that they
    will reach their appropriate destination

6
  • A key problem that a switch must deal with is the
    finite bandwidth of its outputs
  • if packets destined for a certain output arrive
    at a switch and their arrival rate exceeds the
    capacity of that output, then we have a problem
    of contention
  • the switch queues (buffers) packets until the
    contention subsides, but if it lasts too long,
    the switch will run out of buffer space and be
    forced to discard packets
  • when packets are discarded too frequently, the
    switch is said to be congested

7
3.1 Switching and Forwarding
  • Switch
  • a multi-input, multi-output device, which
    transfers packets from an input to one or more
    outputs
  • star topology
  • switched networks are more scalable (i.e.,
    growing to large numbers of nodes) than
    shared-media networks because of the ability to
    support many hosts at full speed

8
A switch provides a star topology
9
Scalable Networks
  • The figure shows the protocol graph that would
    run on a switch that is connected to two T3 links
    and one STS-1 SONET link

Example protocol graph running on a switch
10
  • A switch forwards packets from input port to
    output port
  • Port selected based on address in packet header
  • Advantages
  • cover large geographic area (tolerate latency)
  • support large numbers of hosts (scalable
    bandwidth)

11
Example switch with three input and output ports
12
  • How does the switch decide on which output port
    to place each packets?
  • general answer
  • it looks at the header of the packet for an
    identifier that it uses to make the decision
  • three common approaches
  • datagram (or connectionless) approach
  • virtual circuit (or connection-oriented approach)
  • source routing

13
3.1.1 Datagram Switching
  • Sometimes called connectionless model
  • Analogy postal system
  • No connection setup phase
  • no round trip delay waiting for connection setup
  • a host can send data as soon as it is ready

14
  • Each packet is forwarded independently of
    previous packets that might have been sent to the
    same destination
  • two successive packets from host A to host B may
    follow completely different paths (perhaps
    because of a change in the forwarding table at
    some switch in the network)

15
  • A switch or link failure might not have any
    serious effect on communication if it is possible
    to find an alternate route around the failure and
    to update the forwarding table accordingly
  • Since every packet must carry the full address of
    the destination, the overhead per packet is
    higher than for the connection-oriented model

16
  • Source host has no way of knowing if the network
    is capable of delivering a packet or if the
    destination host is even up and running
  • Each switch maintains a forwarding (routing) table

17
  • Example
  • the hosts have addresses A, B, C, and so on
  • a switch consults a forwarding table (routing
    table) to decide how to forward a packet

18
Datagram forwarding an example network
19
  • The table shows the forwarding information that
    switch 2 needs to forward datagrams

Destination Port
A 3
B 0
C 3
D 3
E 2
F 1
G 0
H 0
20
3.1.2 Virtual Circuit Switching
  • Sometimes called connection-oriented model
  • Analogy phone call
  • Explicit connection setup (and tear-down) phase
  • it requires that a virtual connection from the
    source host to the destination host is set up
    before any data is sent
  • Typically wait full RTT (Round Trip Time) for
    connection setup before sending first data packet

21
  • If a switch or a link in a connection fails
  • the connection is broken and a new one needs to
    be established
  • Subsequence packets follow same circuit
  • Each switch maintains a Virtual Circuit (VC) table

22
  • Entry in the VC table on a single switch contains
  • a virtual circuit identifier (VCI)
  • uniquely identifies the connection at this switch
  • which will be carried inside the header of the
    packets that belong to this connection

23
  • an incoming interface
  • on which packets for this VC arrive at the switch
  • an outgoing interface
  • in which packets for this VC leave the switch
  • a potentially different VCI that will be used for
    outgoing packets

24
  • Two classes of approaches to establish connection
    state
  • Permanent Virtual Circuit (PVC)
  • Switched Virtual Circuit (SVC)

25
  • Permanent Virtual Circuit (PVC)
  • administrator configures the state, in which case
    the virtual circuit is permanent
  • administrator can also delete the state, so a
    permanent virtual circuit (PVC) might be thought
    of as a long-lived, or administratively
    configured VC

26
  • Switched Virtual Circuit (SVC)
  • a host may set up and delete a VC by sending
    messages without the involvement of a network
    administrator
  • this is referred to as signaling, and the
    resulting virtual circuits are said to be
    switched
  • an SVC should more accurately be called a
    signaled VC, since it uses signaling (not
    switching) to distinguish an SVC from a PVC

27
  • Example
  • assume that a network administrator wants to
    manually create a new virtual connection from
    host A to host B
  • two-stage process
  • connection setup
  • data transfer

28
(11)
(7)
(5)
(4)
An example of a virtual circuit network
29
  • The administrator picks a VCI value that is
    currently unused on each link for the connection
  • suppose
  • VCI 5, the link from host A to switch 1
  • VCI 11, the link from switch 1 to switch 2
  • VCI 7, the link from switch 2 to switch 3
  • VCI 4, the link from switch 3 to host B

30
Incoming Interface Incoming VCI Outgoing Interface Outgoing VCI
2 5 1 11
VC table entry at switch 1
Incoming Interface Incoming VCI Outgoing Interface Outgoing VCI
3 11 2 7
VC table entry at switch 2
Incoming Interface Incoming VCI Outgoing Interface Outgoing VCI
0 7 1 4
VC table entry at switch 3
31
A packet is sent into a virtual circuit network
32
A packet makes its way through a virtual circuit
network
33
  • Hop-by-hop flow control
  • each node is ensured of having the buffers it
    needs to queue the packets that arrive on that
    circuit
  • example, an X.25 network-a packet-switched
    network that uses the connection-oriented model

34
  • X.25 network employs the following three-part
    strategy
  • buffers are allocated to each virtual circuit
    when the circuit is initialized
  • the sliding window protocol is run between each
    pair of nodes along the virtual circuit, and this
    protocol is augmented with flow control to keep
    the sending node from overrunning the buffers
    allocated at the receiving node

35
  1. the circuit is rejected by a given node if not
    enough buffers are available at that node when
    the connection request message is processed

36
  • Examples of virtual circuit technologies
  • Asynchronous Transfer Mode (ATM)
  • Frame Relay, e.g., Virtual Private Network (VPN)
  • Frame Relay operates only at the physical and
    data link layers

37
3.1.3 Source Routing
  • Neither virtual circuits nor conventional
    datagrams
  • All the information about network topology that
    is required to switch a packet across the network
    is provided by the source host

38
  • Various ways to implement source routing
  • method1
  • put an ordered list of switch ports in the header
    and to rotate the list so that the next switch in
    the path is always at the front of the list
  • for each packet that arrives on an input, the
    switch would read the port number in the header
    and transmit the packet on that output

39
Source routing in a switched network (where the
switch reads the rightmost number)
40
  • method2
  • example, rather than rotate the header, each
    switch just strip the first element as it uses it
  • method3
  • have the header carry a pointer to the current
    next port entry, so that each switch just
    updates the pointer rather than rotating the
    header

41
Three ways to handle headers for source routing
(a) rotation, (b) stripping, and (c) pointer.
The labels are read right to left
42
3.2 Bridges and LAN Switches
  • LANs have physical limitations (e.g., 2500m)
  • Bridge (LAN switch)
  • connect two or more LANs
  • Extended LAN
  • a collection of LANs connected by one or more
    bridges
  • accept and forward strategy (accept all frames
    transmitted on either of the Ethernets, so it
    could forward them to the other)

43
3.2.1 Learning Bridges
  • Do not forward when unnecessary
  • whenever a frame from host A that is addressed to
    host B arrives on port 1, there is no need for
    the bridge to forward the frame out over port 2

44
Illustration of a learning bridge
45
Host Port
A 1
B 1
C 1
X 2
Y 2
Z 2
  • How does a bridge come to learn on which port the
    various hosts reside?
  • each bridge inspects the source address in all
    the frames it receives
  • when host A sends a frame to a host on either
    side of the bridge, the bridge receives this
    frame and records the fact that a frame from host
    A was just received on port 1
  • in this way, the bridge can build a table just
    like the following table

46
Host Port
A 1
B 1
C 1
X 2
Y 2
Z 2
47
3.2.2 Spanning Tree Algorithm
  • Problem extended LAN has a loop in it
  • frames potentially loop through the extended LAN
    forever
  • example
  • bridges B1, B4, and B6 form a loop

48
Extended LAN with loops
49
  • Solution bridges run a distributed spanning tree
    algorithm
  • spanning tree is a subgraph of a graph that
    covers (spans) all the vertices, but contains no
    cycles

50
Example of (a) a cyclic graph (b) a
corresponding spanning tree
51
  • Spanning tree algorithm (developed by Radia
    Perlman)
  • each bridge has a unique identifier (e.g., B1,
    B2, B3)
  • the algorithm first elects the bridge with the
    smallest ID as the root of the spanning tree
  • the root bridge always forwards frames out over
    all of its ports

52
  • each bridge computes the shortest path to the
    root and notes which of its ports is on this path
  • this port is selected as the bridges preferred
    path to the root

53
  • finally, all the bridges connected to a given LAN
    elect a single designated bridge that will be
    responsible for forwarding frames toward the root
    bridge
  • each LANs designated bridge is the one that is
    closest to the root, and if two or more bridges
    are equally close to the root, then the bridges
    identifiers with the smallest ID wins

54
Spanning tree with some ports not selected
55
  • Bridges have to exchange configuration messages
    with each other and then decide whether or not
    they are the root or a designated bridge based on
    these messages
  • configuration messages contain
  • the ID for the bridge that is sending the message
  • the ID for what the sending bridge believes to be
    the root bridge
  • the distance, measured in hops, from the sending
    bridge to the root bridge

56
  • each bridge records current best configuration
    message for each port
  • initially, each bridge believes it is the root
  • when learn not root, stop generating config
    messages
  • in steady state, only root generates
    configuration messages
  • when learn not designated bridge, stop forwarding
    config messages
  • in steady state, only designated bridges forward
    config messages

57
  • root continues to periodically send config
    messages
  • if any bridge does not receive config message
    after a period of time, it starts generating
    config messages claiming to be the root
  • upon receiving a config message over a particular
    port
  • the bridge checks to see if that new message is
    better than the current best configuration
    message recorded for that

58
  • the new configuration message is considered
    better than the currently recorded information
    if
  • it identifies a root with a smaller ID or
  • it identifies a root with an equal ID but with a
    shorter distance or
  • the root ID and distance are equal, but the
    sending bridge has a smaller ID

59
  • Sequence of events
  • assume all the bridges boot at about the same
    time and all the bridges would start off by
    claiming to be the root
  • (Y, d, X) denotes a configuration message from
    node X in which it claims to be distance d from
    root node Y

60
  • Sequence of events on the activity at node B3
  • B3 receives (B2, 0, B2)
  • since 2 lt 3, B3 accepts B2 as root (B2, 1, B3)
  • B3 adds one to the distance advertised by B2 (0)
    and thus sends (B2, 1, B3) toward B5 (B2, 1,
    B3), (B2, 2, B5)
  • meanwhile, B2 accepts B1 as root because it has
    the lower ID, and it sends (B1, 1, B2) toward
    B3(B1, 1, B2), (B1, 2, B3)

61
  1. B5 accepts B1 as root and sends (B1, 1, B5)
    toward B3 (B1, 1, B5), (B1, 2, B3)
  2. B3 accepts B1 as root, and it notes that both B2
    and B5 are closer to the root than it is (B1,
    2, B3), (B1, 1, B2), (B1, 1, B5)
  3. B3 stops forwarding messages on both its
    interfaces (this leaves B3 with both ports not
    selected)(B1, 1, B2), (B1, 1, B5)

62
Spanning tree with some ports not selected
63
3.2.3 Broadcast and Multicast
  • Since most LANs support both broadcast and
    multicast, then bridges must also support these
    two features
  • Broadcast
  • each bridge forwards a frame with a destination
    broadcast address out on each active (selected)
    port other than the one on which the frame was
    received
  • Multicast
  • implemented in exactly the same way, with each
    host deciding itself whether or not to accept she
    message

64
3.2.4 Limitations of Bridges
  • Do not scale
  • Do not accommodate heterogeneity

65
Do not Scale
  • It is not realistic to connect more than a few
    (tens of) LANs by means of bridges
  • the spanning tree algorithm scales linearly,
    i.e., there is no provision for imposing a
    hierarchy on the extended LAN
  • bridges forward all broadcast frames and
    broadcast does not scale

66
  • Virtual LAN (VLAN)
  • used to increase the scalability of extended LANs
  • allows a single extended LAN to be partitioned
    into several seemingly separate LANs
  • each virtual LAN is assigned an identifier
    (sometimes called a color), and packets can only
    travel from one segment to another if both
    segments have the same identifier
  • this limits the number of segments in an extended
    LAN that will receive any given broadcast packet

67
  • Example
  • four hosts (W, X, Y, Z) on four different LAN
    segments
  • in the absence of VLANs, any broadcast packet
    from any host will reach all the other hosts
  • suppose that we define the segments connected to
    hosts W and X as being in one LAN, VLAN 100
  • also define the segments that connect to hosts Y
    and Z as being in VLAN 200
  • to do his, we need to configure a VLAN ID on each
    port of bridges B1 and B2
  • the link between B1 and B2 is considered to be in
    both VLANs

68
Two virtual LANs share a common backbone
69
  • When a packet sent by host X arrives at bridge B2
  • the bridge observes that it came in a port that
    was configured as being in VLAN 100
  • it inserts a VLAN header between the Ethernet
    header and its payload
  • the bridge applies normal rules for forwarding to
    the packet, with the extra restriction that the
    packet may not be sent out an interface that is
    not part of VLAN 100
  • thus, even a broadcast packet cant be sent out
    the interface to host Z, which is in VLAN 200

70
  • An attractive feature of VLANs
  • it is possible to change the logical topology
    without moving any wires or changing any
    addresses
  • example
  • if we want to make the segment that connects to
    host Z be part of VLAN 100, and thus enable X, W
    and Z be on the same virtual LAN, we would just
    need to change one piece of configuration on
    bridge B2

71
Do not Accommodate Heterogeneity
  • Bridges are fairly limited in the kinds of
    networks they can interconnect
  • Bridges make use of the networks frame header and
    so can support only networks that have exactly
    the same format for addresses
  • Bridges can be used to connect Ethernets to
    Ethernets, 802.5 (Token Ring) to 802.5, and
    Ethernets to 802.5 rings, since both networks
    support the same 48-bit address format
  • Bridges do not readily generalize to other kinds
    of networks, such as ATM
Write a Comment
User Comments (0)
About PowerShow.com