View
220
Download
0
Tags:
Embed Size (px)
Citation preview
Autumn 2000 John Kristoff 4
Motivation
Connect various link technologies to form a larger internetwork
Universal addressing scheme required General purpose use Hides underlying technologies from end user Facilitate communicate between autonomous
domains Able to move packets between any host on the
internetwork
Autumn 2000 John Kristoff 5
Connecting Heterogeneous Networks
Computer System used Special purpose Dedicated Works with LAN or WAN technologies Known as
router gateway
Autumn 2000 John Kristoff 6
Illustration of a Router
Cloud denotes an arbitrary network One interface per network
Autumn 2000 John Kristoff 7
Important Idea
A router can interconnect networks that use different technologies,
including different media and media access techniques, physical
addressing schemes or frame formats.
Autumn 2000 John Kristoff 9
Key Functions of the Network Layer
Global Addressing Fragmentation Routing
Well be primarily concerned with addressing and routing
Autumn 2000 John Kristoff 10
Example Network Layer: Internet Protocol (IP)
Standardized by IETF as RFC 791 Most popular Layer 3 protocol Core protocol used on the public Internet Connectionless protocol
datagrams contain identity of the destination each datagram sent/handled independently
Of utmost importance for this class!
Autumn 2000 John Kristoff 11
IP Addressing
Provides an abstraction Independent of hardware (MAC)
addressing Used by
higher layer protocols Applications
Good IP addressing tutorial: http://www.3com.com/nsc/501302.html
Autumn 2000 John Kristoff 12
IP Address
Virtual only understood by software
Used for all communication across an internetwork
32-bit integer Unique value for each host/interface
Autumn 2000 John Kristoff 13
IP Address Assignment
An IP address does not identify a specific computer. Instead, each IP
address identifies a connection between a computer and a network.
A computer with multiple network connections (e.g., a router) must be
assigned one IP address for each connection.
Autumn 2000 John Kristoff 14
IP Address Details
Divided into two parts prefix identifies the network suffix identifies the host/interface
Global authority assigns unique prefix for the network
Local administrator assigns unique suffix for the host/interface
Autumn 2000 John Kristoff 15
Class of IP Addresses (Historical)
Initial bits determined the class The class determines the boundary between prefix and suffix
Autumn 2000 John Kristoff 16
Dotted Decimal Notation
Shorthand for IP addresses Allows humans to avoid binary Represents each octet in decimal
separated by dots NOT the same as names like
www.depaul.edu
Autumn 2000 John Kristoff 17
Examples of Dotted Decimal Notation
Four decimal values per 32-bit address Each decimal number
represents eight bits is between 0 and 255 inclusive
Autumn 2000 John Kristoff 18
Class Hierarchy and Network Size (Historical)
Maximum size determined by class of address Class A large Class B medium Class C small
Autumn 2000 John Kristoff 20
Illustration of Router Addresses
Address prefix identifies the network Need one address per router connection
Autumn 2000 John Kristoff 21
Special Addresses
Network Address not used in packets Loopback addresses never leave the local computer
Autumn 2000 John Kristoff 22
Getting IP Addresses
IANA has global authority for allocation Regional registries: ARIN, RIPE, APNIC
RFC 1918 defines private address space NOT globally unique 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
End users obtain address space from their Internet Service Provider (ISP)
Autumn 2000 John Kristoff 23
IP Addressing: Problems with Classes
Internet growth Routing table size Exhaustion of addresses Administration overhead Misappropriation of addresses
Autumn 2000 John Kristoff 24
IP Addressing: Solutions
Subnetting Supernetting Classless InterDomain Routing
(CIDR) Variable Length Subnet Mask (VLSM)
Autumn 2000 John Kristoff 25
Subnetting
Split the suffix into a local network portion and a smaller host id portion
Autumn 2000 John Kristoff 26
Subnet Masks
Cannot determine prefix on first few bits Need a 'bit mask' that specifies
prefix/suffix Dotted decimal notation used, but... I told you binary was important! Examples:
Network: 140.192.9.0 Subnet mask: 255.255.255.0 Network: 140.192.9.0 Subnet mask: 255.255.255.128 Network and mask: 140.192.9.0/24
Autumn 2000 John Kristoff 27
More Subnet Examples
63.85.18.5/22 - What is the network? 32.152.6.1/26 - How many hosts
possible? 219.52.33.8/20 - What is the directed
broadcast address? How might you allocate a 10.5.0.0/16
block for an organization with 4 offices of 500 users each?
Autumn 2000 John Kristoff 28
Supernetting
Combine multiple smaller address classes into a larger block
Class B was too big Class C was too small Combine contiguous Class C
addresses e.g. 199.242.64.0 to
199.242.67.255
Autumn 2000 John Kristoff 29
Classless InterDomain Routing (CIDR)
Employ supernetting style information in IP routers
Advertise smaller CIDR blocks Decreases the routing table size
Advertise 199.242.64.0/22 instead of 199.242.64.0,199.242.65.0, 199.242.66.0 and 199.242.67.0
The CIDR Report: http://www.employees.org/~tbates/cidr-report.html
Autumn 2000 John Kristoff 30
Variable Length Subnet Masks (VLSM)
Ability to use multiple subnet sizes in a single autonomous system
Allows more efficient use of addresses Routers must support subnets masks
e.g. RIPv1 did not support this!
For example: May use /24 in most places, but may have a small office
with only 10 users! May want to use a /28 for that network.
Autumn 2000 John Kristoff 32
IP Datagrams
Can be delayed Duplicated Delivered out of order Lost Can change routes from packet to
packet Are connectionless
Autumn 2000 John Kristoff 33
Address Resolution Protocol (ARP)
Resolves IP address to Layer 2 (MAC) address Node sends MAC broadcast looking for another
node IP src: 140.192.23.1 MAC src: 0x00:80:05:1A:F0 IP dst: 140.192.23.23MAC dst: 0xFF:FF:FF:FF:FF
Node with that IP dst address replies with its MAC 140.192.23.23 replies with 0x00:60:0A:34:AA:3C
ARP Table: contains records of learned relationships.
Autumn 2000 John Kristoff 34
Dynamic Host Configuration Protocol (DHCP)
Standardized in RFC 1531 Allows hosts to obtain IP address
information upon startup from a server
Eliminates cumbersome manual configuration
Grants IP addresses based on a predefined "lease" period
Autumn 2000 John Kristoff 35
IP Routing
Performed by routers Table-driven Forwarding on a hop-by-hop basis Destination address used for route
determination
Autumn 2000 John Kristoff 37
Routing Table Size
Since each destination in a routing table corresponds to a network, the number
of entries in a routing table is proportional to the number of
networks in the internetwork. Caveat: you can use a "default" route to
forward to when route is unknown or when no route specific information is
available.
Autumn 2000 John Kristoff 38
Routing/Forwarding Overview
Given a datagram Extract destination address field, D Look up D in the routing table Find next hop address, N Send datagram to N
Autumn 2000 John Kristoff 39
Key Concept
The destination address in a datagram header always refers to the ultimate destination. When a router forwards the datagram to another router, the
address of the next hop does not appear in the datagram header.
Autumn 2000 John Kristoff 40
Routing/Forwarding Overview
Strip off layer 2 information Extract destination IP address field Look up IP address in the routing
table Find next hop address to forward to Send datagram to the next hop Add on necessary layer 2 information
Autumn 2000 John Kristoff 41
Routing Protocol Requirements
Efficient routing table size Efficient routing control messages Robustness and reliability
prevent loops avoid black holes reconvergence time is short
Autumn 2000 John Kristoff 42
Source of Route Table Information
Manual Table created by hand Useful in small networks Useful if routes never change
Automatic software creates/updates tables Needed in large networks Changes routes when failures occur
Autumn 2000 John Kristoff 43
Compute Shortest/Best Path
Possible metric geographic distance economic cost capacity
Autumn 2000 John Kristoff 44
Algorithms for Computing Shortest Path
Distance Vector Exchange routing tables with
neighboring routers e.g., RIP, RIPv2
Link State Routers exchange link status
information e.g., OSPF, IS-IS
Autumn 2000 John Kristoff 45
Distance Vector
Routers periodically advertise and learn about IP networks
Cost of the route is based on hops to the network (number of routers to pass)
Recalculation occurs when links fail
Autumn 2000 John Kristoff 46
Count to Infinity Problem
What happens when link 1<->5 goes down? Does 5 think it can get to 1 through 2?
Autumn 2000 John Kristoff 47
Solving the Count to Infinity Problem
Hold down Wait for a period of time before switching paths.
Advertise route cost as infinity. Based on timers.
Report the entire path Guarantees no loops, but expensive.
Split horizon Do not advertise routes to neighbors if the route was
received from that neighbor. Not foolproof.
Autumn 2000 John Kristoff 48
Other Distance Vector Improvements
Triggered updates Advertise changes as soon as you learn of them. May
help convergence time. May create routing instability for flapping routes.
Poison reverse Used with split horizon. Report infinity rather than
nothing at all.
Diffusing Update ALgorithm (DUAL) Somewhat like hold down, but routers are alerted of
broken paths. Complex. Not popular.
Autumn 2000 John Kristoff 49
Example Distance Vector Protocol: RIP
Standardized in RFC 1058 and 2453 An interior gateway protocol (IGP) Simple RIPv2 includes subnet mask in updates Hop count based (> 15 = unreachable) Widely used in small to medium sized
organizations
Autumn 2000 John Kristoff 50
Link State
Routers distribute link cost and topology information to all other routers in its area.
All routers have complete information about the network.
Each router computes its own optimal path to destinations.
Ensures loop free environments.
Autumn 2000 John Kristoff 51
Link State Procedure
Each router is responsible for meeting its neighbors and learning their names.
Each router advertises LSPs which contain costs to its neighbors.
Most current LSPs are stored by all routers.
Each router now computes routes.
Autumn 2000 John Kristoff 52
Dijkstra Algorithm: Databases
Link State Database contains latest LSPs from all other routers
PATH (permanent) Database Consists of ID, path cost and forwarding direction
TENT (tentative/temporary) Database Consists of ID, path cost and forwarding direction
Forwarding Database Contains ID and forwarding direction
Autumn 2000 John Kristoff 53
Dijkstra Algorithm: Procedure
1. Each router starts with itself as root of the tree by putting its ID and 0 cost and 0 forwarding direction in PATH
2. For each node placed in PATH, examine its LSP and place those neighbors in TENT if not already in PATH or TENT
3. If TENT is empty, terminate, otherwise find the ID in TENT with the lowest cost and move it to PATH
Autumn 2000 John Kristoff 54
Example Link State Protocol: Open Shortest Path First (OSPF) Standardized in RFC 2328 An interior gateway protocol (IGP) Used in medium to large organizations Supports internal/external routes Supports TOS based routing, but never
implemented in practice Two-tier hierarchy for scalability