0% found this document useful (0 votes)
14 views55 pages

3a-forwarding

Uploaded by

ronaldodutra777
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views55 pages

3a-forwarding

Uploaded by

ronaldodutra777
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

COMPSCI 311 – Computer Network Architecture

Forwarding
Recap
• Chapter 1 – Introduction
• Definitions and concepts
• Requirements on networks
• Efficient resource sharing
• Scalability
• Layered architecture
• Multiplexing, demultiplexing, encapsulation, decapsulation
• Network performance
• Latency
• Transmission time
• Propagation time
• Queuing time
• Bandwidth
• Latency vs bandwidth product
Recap
• Chapter 2 – Link Layer
• Transmitting data between nodes on a physical link
• Encoding
• NRZ, NRZI, Manchester, 4b/5b, encoding efficiency
• Framing
• Sentinel and count-based byte-oriented framing
• Bit-oriented framing with bit stuffing
• Clock-based framing
• Error detection
• Parity bits, checksums, CRC
• Reliable transmission
• Sliding window algorithm
• Retransmission strategies
Recap
• Chapter 2 – Link Layer
• Transmitting data between nodes on a physical link
• Encoding
• NRZ, NRZI, Manchester, 4b/5b, encoding efficiency
• Framing
• Sentinel and count-based byte-oriented framing
• Bit-oriented framing with bit stuffing
• Clock-based framing
• Error detection
• Parity bits, checksums, CRC
• Reliable transmission
• Sliding window algorithm Ethernet and Wi-Fi
• Retransmission strategies
Interconnecting networks
• A single network has scalability and range limitations
• Limit to the maximum number of connected hosts
• Many nodes increase the chance for collisions
• Ethernet goes up to 2500m
• Wi-Fi reaches up to approximately 100m
Interconnecting networks
• A single network has scalability and range limitations
• Limit to the maximum number of connected hosts
• Many nodes increase the chance for collisions
• Ethernet goes up to 2500m
• Wi-Fi reaches up to approximately 100m

• To build global networks like the Internet


we must interconnect many local networks
Interconnecting networks
• Three main tasks
• Interconnecting networks of the same type
• Switches (bridges)
• Interconnecting networks of different types
• IP, routers
• Computing routes between nodes
• Routing protocols
Network switches
• Network switches interconnect links of the same type
• Build a larger network
• Many ports
• A single switch leads to a star topology
Network switches
• Network switches interconnect links of the same type
• Build a larger network
• Many ports
• A single switch leads to a star topology
• We can connect a switch to other switches
• Fixed number of ports not a problem
• Can have long point-to-point links
• Connecting one node to the network does not impact other nodes
Forwarding
• Switches receive frames and forward them toward the destination
• Packet forwarding (without connections)
• Circuit forwarding (with connections)
Forwarding
• Switches receive frames and forward them toward the destination
• Packet forwarding (without connections)
• Circuit forwarding (with connections)

• Requirements
• Nodes have unique addresses
• We can identify the ports a switch has
• For example, by a port number
Frame/packet forwarding
• Each frame contains enough info to be forwarded to the destination
• Usually the full address of the destination, sometimes the whole path
• Switches keep a forwarding table
Destination Port
• Table maps destination to outgoing port
3e:a3:89:fc:09:c6 6
e6:db:21:6b:31:f5 3
00:15:5d:be:b0:80 3
Frame/packet forwarding
Switch 1
Dst Port
A 2
C 3
D 0
… 1
Frame/packet forwarding
Switch 1 Switch 3
Dst Port Dst Port
A 2 G 1
C 3 H 2
D 0 B 3
… 1 … 0
Frame/packet forwarding
Switch 1 Switch 3
Dst Port Dst Port
A 2 G 1
C 3 H 2
D 0 B 3
… 1 … 0

Switch 2
Dst Port
A 3
C 3
D 3
E 2
F 1
… 0
Circuit switching
• Circuits must be established to allow data exchange
• Frames carry the identifier of the (virtual) circuit
• Circuit identifier may change at each switch
• Circuit defines the path the frame will take
Circuit switching
• Circuits must be established to allow data exchange
• Frames carry the identifier of the (virtual) circuit
• Circuit identifier may change at each switch
• Circuit defines the path the frame will take
• Switches maintain a virtual circuit table
• Maps a pair (input port, input id) to a pair (output port, output id)

Input Port Input Circuit ID Output Port Output Circuit ID


1 1 2 2
1 2 3 3
2 1 3 2
Circuit switching
• Circuits must be established to allow data exchange
• Frames carry the identifier of the (virtual) circuit
• Circuit identifier may change at each switch
• Circuit defines the path the frame will take
• Switches maintain a virtual circuit table
• Maps a pair (input port, input id) to a pair (output port, output id)

Input Port Input Circuit ID Output Port Output Circuit ID


1 1 2 2 Circuit IDs can
1 2 3 3 be reused across
2 1 3 2 different ports.
Circuit switching

Pin Cin Pout Cout


Switch 1 2 5 1 11
Switch 2 3 11 2 7
Switch 3 0 7 1 8
Circuit switching
11

Pin Cin Pout Cout


Switch 1 2 5 1 11
Switch 2 3 11 2 7
Switch 3 0 7 1 8
Circuit switching
11

Pin Cin Pout Cout


Switch 1 2 5 1 11
Switch 2 3 11 2 7
Switch 3 0 7 1 8
Circuit switching

Pin Cin Pout Cout


Switch 1 2 5 1 11
Switch 2 3 11 2 7
Switch 3 0 7 1 8
Establishing virtual circuits
• Virtual circuits can be configured by the operator
• Does not scale to many hosts and connections
Establishing virtual circuits
• Virtual circuits can be configured by the operator
• Does not scale to many hosts and connections
• In practice, virtual circuits are established on demand
• Origin A sends a circuit establishment request
• Request contains the destination’s address
• Frame-based forwarding
Establishing virtual circuits
• Virtual circuits can be configured by the operator
• Does not scale to many hosts and connections
• In practice, virtual circuits are established on demand
• Origin A sends a circuit establishment request Circuit-based forwarding
• Request contains the destination’s address requires frame-based
forwarding!
• Frame-based forwarding
Establishing virtual circuits
• Virtual circuits can be configured by the operator
• Does not scale to many hosts and connections
• In practice, virtual circuits are established on demand
• Origin A sends a circuit establishment request Circuit-based forwarding
• Request contains the destination’s address requires frame-based
forwarding!
• Frame-based forwarding
• Switches forward the circuit establishment request
• Allocate circuit identifiers on input ports
• Create a temporary entry in the circuit table
• Wait for the next switch to choose the circuit identifier that will be used in the output
• The response contains the circuit IDs chosen at each switch
Example circuit establishment

new(dst=B)

Pin Cin Pout Cout


Switch 1 2
Switch 2
Switch 3
Example circuit establishment

new(dst=B)

Pin Cin Pout Cout


Switch 1 2 5
Switch 2
Switch 3
Example circuit establishment
new(dst=B)

Pin Cin Pout Cout


Switch 1 2 5 1 X
Switch 2
Switch 3
Example circuit establishment
new(dst=B)

Pin Cin Pout Cout


Switch 1 2 5 1 X
Switch 2 3
Switch 3
Example circuit establishment
new(dst=B)

Pin Cin Pout Cout


Switch 1 2 5 1 X
Switch 2 3 11
Switch 3
Example circuit establishment

new(dst=B)

Pin Cin Pout Cout


Switch 1 2 5 1 X
Switch 2 3 11 2 Y
Switch 3
Example circuit establishment

new(dst=B)

Pin Cin Pout Cout


Switch 1 2 5 1 X
Switch 2 3 11 2 Y
Switch 3 0
Example circuit establishment

new(dst=B)

Pin Cin Pout Cout


Switch 1 2 5 1 X
Switch 2 3 11 2 Y
Switch 3 0 7
Example circuit establishment

new(dst=B)

Pin Cin Pout Cout


Switch 1 2 5 1 X
Switch 2 3 11 2 Y
Switch 3 0 7 1 Z
Example circuit establishment

ack(id=8)

Pin Cin Pout Cout


Switch 1 2 5 1 X
Switch 2 3 11 2 Y
Switch 3 0 7 1 Z
Example circuit establishment

ack(id=8)

Pin Cin Pout Cout


Switch 1 2 5 1 X
Switch 2 3 11 2 Y
Switch 3 0 7 1 8
Example circuit establishment

ack(id=7)

Pin Cin Pout Cout


Switch 1 2 5 1 X
Switch 2 3 11 2 Y
Switch 3 0 7 1 8
Example circuit establishment

ack(id=7)

Pin Cin Pout Cout


Switch 1 2 5 1 X
Switch 2 3 11 2 7
Switch 3 0 7 1 8
Example circuit establishment
ack(id=11)

Pin Cin Pout Cout


Switch 1 2 5 1 X
Switch 2 3 11 2 7
Switch 3 0 7 1 8
Example circuit establishment
ack(id=11)

Pin Cin Pout Cout


Switch 1 2 5 1 11
Switch 2 3 11 2 7
Switch 3 0 7 1 8
Example circuit establishment

ack(id=5)

Pin Cin Pout Cout


Switch 1 2 5 1 11
Switch 2 3 11 2 7
Switch 3 0 7 1 8
Example circuit establishment

5 Data

Pin Cin Pout Cout


Switch 1 2 5 1 11
Switch 2 3 11 2 7
Switch 3 0 7 1 8
Comparison
Frame-based forwarding Circuit-based forwarding
• Can transmit at any time • Circuit establishment
• Immediate forwarding • At least one RTT
Comparison
Frame-based forwarding Circuit-based forwarding
• Can transmit at any time • Circuit establishment
• Immediate forwarding • At least one RTT
• Larger per-frame overhead • Lower per-frame overhead
• Full address of the destination • Smaller circuit identifier
Comparison
Frame-based forwarding Circuit-based forwarding
• Can transmit at any time • Circuit establishment
• Immediate forwarding • At least one RTT
• Larger per-frame overhead • Lower per-frame overhead
• Full address of the destination • Smaller circuit identifier
• No reachability information • Reachability is established
Comparison
Frame-based forwarding Circuit-based forwarding
• Can transmit at any time • Circuit establishment
• Immediate forwarding • At least one RTT
• Larger per-frame overhead • Lower per-frame overhead
• Full address of the destination • Smaller circuit identifier
• No reachability information • Reachability is established
• Independent forwarding • Fixed pre-established path (circuit)
• Frames may take different paths • Aa
Comparison
Frame-based forwarding Circuit-based forwarding
• Can transmit at any time • Circuit establishment
• Immediate forwarding • At least one RTT
• Larger per-frame overhead • Lower per-frame overhead
• Full address of the destination • Smaller circuit identifier
• No reachability information • Reachability is established
• Independent forwarding • Fixed pre-established path (circuit)
• Frames may take different paths • Aa
• Failures may have less impact • Failure requires recreating the circuit
• Alternate routes may be used • Aa
Comparison
Frame-based forwarding Circuit-based forwarding
• Can transmit at any time • Circuit establishment
• Immediate forwarding • At least one RTT
• Larger per-frame overhead • Lower per-frame overhead
• Full address of the destination • Smaller circuit identifier
• No reachability information • Reachability is established
• Independent forwarding • Fixed pre-established path (circuit)
• Frames may take different paths • Aa
• Failures may have less impact • Failure requires recreating the circuit
• Alternate routes may be used • Aa
• Possible congestion if load too high • Can guarantee Quality of Service
• Admission control
Source-based routing
• No forwarding tables and no circuits
• Forwarding information provided by origin
Source-based routing
• No forwarding tables and no circuits
• Forwarding information provided by origin
• Many different implementations
• Specify the output port in each switch along the path
• Specify the address of each intermediate switch
Source-based routing
• No forwarding tables and no circuits
• Forwarding information provided by origin
• Many different implementations
• Specify the output port in each switch along the path
• Specify the address of each intermediate switch
• Implications
• Origin requires a global view of the network
• Frame header size is undefined, grows with path length
Source-based routing uses
• Establishing virtual circuits
• Detouring around failures
• Falsify the origin of a packet and perpetrate attacks
• Mostly disabled in Internet routers
Source based routing example
• Source specifies the output port on each switch
• Intermediate switches
shift the array
Implementing source-based routing

Circular Linear Array Linear Array


Shifted with Removals with Pointer
Array

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy