Created by Julian Rottenberg
about 6 years ago
|
||
Network Layer: The Big Picture
Network Layer: The Big Picture
(Bild)
Key Network-Layer Functions
(Forwarding)
Key Network-Layer Functions
(Routing)
Forwarding
(How do you get a packet from one network to another?)
Forwarding: Example
Searching the Routing Table
Search the Routing Table
(How is the information stored in this routing / forwarding table obtained?)
Interplay Between Routing and Forwarding (Summary)
Connection Setup
(3rd important function in some network architectures)
Connection Setup
Connection Setup
(Network and transport layer connection service)
Network Service Model
(What service model for "channel" transporting datagrams from sender to receiver?)
(example services for individual datagrams)
Network Service Model
(What service model for "channel" transporting datagrams from sender to receiver?)
(Example services for a flow of datagrams)
Network Layer Service Models
Network Layer Connection and Connectionless Service
Virtual Circuits
VC Implementation
(A VC consists of)
VC Implementation
Forwarding Table
Virtual Circuits: Signaling Protocols
Virtual Circuits: Signaling Protocols
(Bild)
Datagram Networks
Datagram Networks
(Bild)
Forwarding Table
Longest Prefix Matching
Datagram or VC Network: Why?
(Internet)
Datagram or VC Network: Why?
(ATM)
Router Architecture Overview
(Key router functions)
Router Architecture Overview
(Bild)
Input Port Functions
Three Types of Switching Fabrics
Switching Via Memory
(First generation routers)
Switching Via Memory
(Bild)
Switching Via a Bus
Switching Via a Bus
(Bild)
Switching Via An Interconnection Network
Switching Via An Interconnection Network
(Bild)
Output Ports
(Buffering)
Output Ports
(Scheduling discipline)
Output Ports
(Bild)
Output Port Queueing
Output Port Queueing
(Bild)
Input Port Queueing
Input Port Queueing
(Bild)
The Internet Network Layer
(Host & router network layer functions)
IP Packet Format
(Bild)
IP Packet Format
(Version)
IP Packet Format
(IHL)
IP Packet Format
(Type of Service)
IP Packet Format
(Total Length)
IP Packet Format
(Identification)
IP Packet Format
(Flag)
IP Packet Format
(Fragment Offset)
IP Packet Format
(Time to Live)
IP Packet Format
(Protocol)
IP Packet Format
(Header Checksum)
IP Packet Format
(Source and Destination Addresses)
IP Packet Format
(Options)
IP Packet Format
(IP addresses)
IP Fragmentation & Reassembly
IP Fragmentation & Reassembly
(Bild)
IP Fragmentation and Reassembly
(Example)
Addressing - Failure of Simple Addresses
Addressing - Failure of Simple Addresses
(How did spanning tree algorithm for bridges work?)
Addressing and Hierarchical Routing
"Closeness"
"Closeness"
(Proximity)
"Closeness"
(Closeness)
Internet Names and Addresses
IP Address Classes
IP Address Classes
(Class A-E, Loopback, Broadcast)
IP Address Classes
(Address Hierarchy)
IP Addressing: Introduction
(IP address)
IP Addressing: Introducing
(Interface)
IP Addressing: Introduction
(Bild)
Subnets
(IP address)
Subnets
(What's a subnet?)
Subnets
(Bild)
Subnets
(Recipe)
Subnets
(Recipe - Bild)
Subnets
(How many?)
IP Addresses
(Class-full addressing - Bild)
IP Addresses
(Classful addressing)
IP Addresses
(CIDR: Classless InterDomain Routing)
IP Addresses
(CIDR: Classless InterDomain Routing - Bild)
CIDR: Classless Interdomain Routing
(Bild)
CIDR: Classless Interdomain Routing
(Example)
CIDR: Classless Interdomain Routing
(Details)
IP Addresses: How to Get One?
(How does host get IP address?)
IP Addresses: How to Get One?
(DHCP)
IP Addresses: How to Get One?
(How does network get subnet part of IP addr?)
IP Addresses: How to Get One?
(Bild)
Hierarchical Addressing: Route Aggregation
Hierarchical Addressing: MOre Specific Routes
IP Addressing: Allocation of Addresses
(How does an ISP get block of addresses?)
NAT: Network Address Translation
(Bild)
NAT: Network Address Translation
(Basic Idea)
NAT: Network Address Translation
(Further Advantages)
NAT: Network Address Translation
(Outgoing datagrams: replace...)
NAT: Network Address Translation
(Remember (in NAT translation table)...)
NAT: Network Address Translation
(Incoming datagrams: replace...)
NAT: Network Address Translation
NAT: Network Address Translation
(16-bit port-number filed)
NAT: Network Address Translation
(NAT is controversial)
Bridging the Final Addressing Gap: ARP
(What happens once a packet at its destination network/LAN?
- How to turn an IP address (which is all that is known about the destination) into a MAC address that corresponds to the MAC address?)
ARP Protocol: Same LAN (Network)
Routing to Another LAN
Routing to Another LAN
ICMP: Internet Control Message Protocol
ICMP: Internet Control Message Protocol
(Network-layer "above" IP)
ICMP: Internet Control Message Protocol
(ICMP message)
ICMP: Internet Control Message Protocol
(Bild)
Traceroute and ICMP
IP Version 6 (IPv6)
(motivations)
IP Version 6 (IPv6)
(IPv6 datagram format)
IPv6 Header
(Priority)
IPv6 Header
(Flow Label)
IPv6 Header
(Next header)
IPv6 Header
(Bild)
IPv6: Other Changes from IPv4
(Checksum)
IPv6: Other Changes from IPv4
(Options)
IPv6: Other Changes from IPv4
(ICMPv6)
Transition From IPv4 To IPv6
(Problems)
Transition From IPv4 To IPv6
(How will the network operate with mixed IPv4 and IPv6 routers?)
Tunnelling
(Bild)
Recall: Interplay Between Routing and Forwarding
(Bild)
Overview on Routing Algorithms
(What are routing algorithms for?)
Overview on Routing Algorithms
(connection-oriented service)
Overview on Routing Algorithms
(connectionless service)
Overview on Routing Algorithms
(Non-adaptive routing algorithms)
Overview on Routing Algorithms
(Adaptive routing algorithms)
Overview on Routing Algorithms
(Remark)
Flooding
(Basic strategy)
Flooding
(Reducing the number of duplicated packets - Solution 1)
Flooding
(Reducing the number of duplicated packets - Solution 2)
Flooding: Possible Applications
(Military applications)
Flooding: Possible Applications
(Distributed databases)
Flooding: Possible Applications
(Networks with frequent topology changes)
Adaptive Routing Algorithms
(Problems with non-adaptive algorithms)
Adaptive Routing Algorithms
( Centralized adaptive routing)
Adaptive Routing Algorithms
(Isolated adaptive routing)
Adaptive Routing Algorithms
(Distributed adaptive routing)
Centralized Adaptive Routing
(Basic strategy)
Centralized Adaptive Routing
(Problems)
Centralized Adaptive Routing
(Problems - Vulnerability)
Centralized Adaptive Routing
(Problems - Scalability)
Isolated Adaptive Routing Algorithms
(Basic idea)
Isolated Adaptive Routing Algorithms
(Examples)
Isolated Adaptive Routing Algorithms
(Hot potato routing)
Backward Learning Routing
(Basic idea)
Backward Learning Routing
(Algorithm)
Distributed Adaptive Routing
(Routing Protocol - Goal)
Distributed Adaptive Routing
(Graph abstraction for routing algorithms)
Distributed Adaptive Routing
(Graph abstraction for routing algorithms - "Good" path)
Distributed Adaptive Routing
(Bild)
Decentralized Adaptive Routing Algorithm Classification
(Decentralized Information)
Decentralized Adaptive Routing Algorithm Classification
(Global Information)
Decentralized Adaptive Routing Algorithm Classification
(Static)
Decentralized Adaptive Routing Algorithm Classification
(Dynamic)
Distance Vector Routing Algorithm
(Iterative)
Distance Vector Routing Algorithm
(Asynchronous)
Distance Vector Routing Algorithm
(Distributed)
Distance Vector Routing Algorithm
(Distance Table data structure)
Example for Distance Table
Constructing Routing Table for Distance Table
Distance Vector Routing: Overview
(Iterative, asynchronous)
Distance Vector Routing: Overview
(Distributed)
Distance Vector Routing: Overview
(Each node)
Distance Vector Algorithm: Initialization
Distance Vector Algorithm: Main Loop
Distance Vector Algorithm: Example (1)
Distance Vector Algorithm: Example (2)
Distance Vector: Reaction to Link Cost Changes
(Link cost changes)
Distance Vector: Reaction to Link Cost Changes (1)
(Bild)
Distance Vector: Reaction to Link Cost Changes (2)
(Bild)
Distance Vector: Poisoned Reverse
Distance Vector: Poisoned Reverse
(Bild)
Link-State Routing
(Linke state routing usually uses Dijkstra's algorithm)
(Network topology, link costs known to all nodes)
Link-State Routing
(Input)
Dijkstra's Algorithm to Compute Shortest Path
(Basic algorithm idea)
Dijkstra's Algorithm to Compute Shortest Path
(Basic algorithm idea - In each step)
Dijkstra's Algorithm to Compute Shortest Paths
Dijkstra's Algorithm to Compute Shortest Paths
(Some remarks)
Dijkstra's Algorithm to Compute Shortest Paths
(Estimate upgrade procedure)
Dijkstra's Algorithm to Compute Shortest Paths
(Intuition behind this procedure)
Dijkstra's Algorithm in Pseudocode
Example Run of Dijkstra's Algorithm
(1)
Example Run of Dijkstra's Algorithm
(2)
Example Run of Dijkstra's Algorithm
(3)
Example Run of Dijkstra's Algorithm
(4)
Example Run of Dijkstra's Algorithm
(5)
Example Run of Dijkstra's Algorithm
(6)
Further Discussion of Dijkstra's Algorithm
Link State Routing (with Dijkstra's Algorithm)
Comparison of LInk State and Distance Vector Algorithm
(Message complexity)
(LS)
Comparison of LInk State and Distance Vector Algorithm
(Message complexity)
(DV)
Comparison of LInk State and Distance Vector Algorithm
(Speed of Convergence)
(LS)
Comparison of Link State and Distance Vector Algorithm
(Speed of Convergence)
(DV)
Comparison of Link State and Distance Vector Algorithm
(Robustness)
(What happens if router malfunctions?)
(LS)