3a-forwarding
3a-forwarding
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
• 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)
new(dst=B)
new(dst=B)
new(dst=B)
new(dst=B)
new(dst=B)
new(dst=B)
ack(id=8)
ack(id=8)
ack(id=7)
ack(id=7)
ack(id=5)
5 Data