LN2

advertisement

CET 458/598 Fall 2000

Lecture Notes

Chapter 4 – Internetworking

Issues

Heterogeneity – different “types” of networks

Scale – lots of networks and lots of hosts

Goal get packets from the source to the destination.

Lowest layer that deals with end-to-end transmission

Usually has to know about the topology of the net to choose appropriate paths: to get the packets there and to avoid net overloading.

Routing – finding a loop-free path for packets to get to destination (efficient – one can hope)

Addressing – have to know where to get to the right place

Simple Internetworking (IP) internetwork (internet) – interconnection of networks

Internet – the biggy

Routers – connect network to network

IP (Internet Protocol) – infrastructure that runs on all nodes that permits them to interact

IP service model

Not in the book

Goals:

1. independence from network technology

2. hides number, type and topology of subnets/nets

3. network addressing (as viewed from higher layers) should be uniform regardless of underlying subnets

Connectionless arguments (ARPA Internet community mostly): network moves bits around & doesn't do anything else network is inherently unreliable

hosts (transport layer) should do error and flow control

=> network layer should be connectionless (datagram mode) with no error or flow control because transport layer does this

=> packets must contain full destination address

Connection-oriented arguments (carriers): the network is reliable & connection-oriented where connections are set up to destination transport layer have special connection identifier are explicitly released may require negotiation of connection parameters between transport entities have duplex, sequenced, error free delivery have automatic flow control

Essentially where do you put the complexity (network or transport layer)

Idea is to provide the minimal service necessary to accommodate delivery styles of the underlying networks’ delivery mechanisms

Best effort delivery (unreliable) is the result. So packets can

get lost,

arrive out of order,

be delayed a lot,

be delivered more than once,

be damaged.

LN2 1/9

CET 458/598 Fall 2000

Lecture Notes

Internal Organization of Network Layer – implications of datagrams

Routing done for every packet

Have more work to do during normal end-to-end communications

Is more robust because datagrams are routed independently and thus dead, dying or congested hops are more easily adapted to

Hosts/routers usually have to know which output line to use when forwarding a packet to a particular destination. However, full destination addresses add to the network overhead because network addresses are larger than virtual-circuit numbers in packets.

Packet Format

Align on 32-bit boundaries to simplify processing (h/w & s/w)

Fields of special interest: Hlen, Length, TTL, Protocol

Others to know: fragmentation stuff (see below), addresses, TOS, Checksum, Options

Max length 64KB (65,535 bytes), header length min 20 bytes

Fragmentation

Need? – different MTUs (maximum transmission units) on networks to deal with

Chop into pieces at transition points – routers

Only reassemble at destination – saves refragmenting and router overhead

Missing fragments arriving at the destination not recovered from on a per fragment basis but on a per packet basis (source must retransmit the whole thing) – destination sees a damaged packet not a damaged fragment

Ident field is a per packet identifier and offset is fragment id (sort of) (allows fragments to be fragmented without adding additional fields)

M bit in flags not set in last fragment of a packet

Offset granularity is 8 byte “chunk”

Addressing

Need to identify all hosts on the internet uniquely.

IP uses 32 bit address => 4G addresses (not many hosts from one view)

Given the scale need some structure to provide routing “clues”

You need to understand the class (A, B, C, D) structure of IP addresses, and dotted decimal format

Forwarding

Given an address where does a packet get sent

Idea

Look at network part of address if it is local to an interface send directly to destination

Else send to appropriate “next hop” router (this part may be table driven)

ARP – Address Resolution Protocol

The process/protocol used discover a MAC address given an IP address that is necessary on shared media networks (e.g., Ethernet).

Uses broadcast to ask, ”Where are you?” if the destination is local and unknown.

Each host keeps an IP-to-MAC address mapping table so that broadcasts don’t happen too frequently. Addresses in the table are periodically “timed-out” to accommodate possible changes in the physical mapping.

LN2 2/9

CET 458/598 Fall 2000

Lecture Notes

ATMARP

ATM connection oriented but not based on IP addressing so still need to do some kind of mapping. See Figure 4.8 in text

Process: provide an “ARP-server” with well-known ATM address. Hosts register their IP and ATM address with ARP-server when booting. When a host need to send to local host it queries ARP-server rather than broadcasting. ARP-server can give immediate “unknown host” rather than waiting for time-out in Ethernet ARP.

DHCP – Dynamic Host Configuration Protocol

See Figure 4.9 * 4.10 in text.

A way of allowing for a host to boot & participate on a network without local configuration information to be preloaded. RARP (Reverse ARP) also a possibility but only provides IP info. DHCP does a lot more: IP, subnet-mask, default router, integration with Dynamic DNS, other server info, etc.

Requires software on host that understands DHCP and a DHCP server. Possibly requires a DHCP relay agent per segment if DHCP service is centralized.

On boot a host broadcasts a DHCPDISCOVERY packet and receives (eventually) a response from the DHCP server (via relay agent if appropriate) with essential info.

ICMP - Internet Control Message Protocol

Error & other messages used to make IP work better.

Examples: host unreachable, reassembly failed, time-out, checksum failed, redirect, ping

Virtual Private Networks – VPN

Private network provided over shared network links usually by tunneling. Tunneling wrapping packets in another network layer packet inner packet thus tunneled through another network without exposing inner packet to outer network details.

If inner packet also encrypted provides not only simplicity but security.

Only “real” downside is performance hit.

Routing

Routing is the process by which forwarding tables are built. Depends on complicated distributed algorithms. Routing tables may contain significantly more information than forwarding tables.

Desirable properties of a routing algorithm: correct, simple, robust (in the face of h/w or s/w failures => also copes w/ changes in topology), stable (=>converges to equilibrium), fair, optimal (or as close as possible)

See Routing Addendum for additional terminology & methodology

Modern computer networks generally use as dynamic a routing protocol as can be achieved with existing technology given the inevitable delays due to physical distances, down time requirements for installation and customer equipment purchases. There are two broad categories in current use for intradomain routing: distance vector and link state routing.

LN2 3/9

CET 458/598 Fall 2000

Lecture Notes

Routing algorithms, in general, are most easily discussed by visualizing the network as a graph where graph nodes are routers and lines between are network links.

Typically, each link is characterized by have a cost metric relating the desirability of using that particular link. The goal is to find the lowest-cost, loop-free path from source to destination. The process may have some capability to deal with failures of intermediate links and nodes.

Distance-Vector

Uses a distributed routing approach in which each router maintains a table (the vector) relating the best-known route to all destinations and which output line to use to get packets there. Tables are updated after information tables are exchanged with its neighbors. Exchanges are periodic or triggered by events.

The table contains an entry for every router (table is indexed either directly or indirectly via a router designator) in the subnet where the entries have output line and distance metric

Routers are assumed to know (or can independently determine) the cost to each of its neighbors. It then periodically exchanges estimates of the costs from the table with its neighbors. (On initialization the table may have infinity or a known set of seed values for the metrics.) Each node constructs a new table of estimated costs after receiving neighbor updates.

It reacts rapidly to good news but leisurely to bad news (on average converges to correct solution slowly). Nodes farther away from a dead link/node retain erroneous data longer. News travels slowly because any node never has a cost greater than the minimum of (any of its neighbors plus the cost to that neighbor).

Infinity must be at least 1 greater than the diameter (longest shortest-path) of the routing domain.

Split horizon – updates are not sent back to the originating neighbor – attempt to improve stability and stabilization time. In split horizon with poison reverse, negative updates are sent back to the originating neighbor.

Link State

Also distributed routing but uses global knowledge (as opposed to local in dist-vec above) in constructing routes. Basically every node sends a table of-the-cost-toeach-of-its-neighbors (link state) to every other router in the subnet. Each router then computes its own routing table for lowest cost routes from it to all other routers using the shortest path algorithm.

Routers learn of their neighbors by broadcasting hello packet at startup

Routers measure delay (cost) by sending echo packets and using real-time averages as needed

Packets contain cost only to its neighbors but that packet (copies of it) has to get to all other routers reliably. Reliability is a partially a router-to-router only issue.

But reliability isn't the end of it. Packets arise from all parts of the subnet and propagate outward at net speeds (not instantaneous). The information changes as conditions change and the routers recompute their tables as needed. This can lead to

"inconsistencies, loops, unreachable machines, and other problems." Such as black holes and white holes and lost and delayed packets.

LN2 4/9

CET 458/598 Fall 2000

Lecture Notes

Basic idea for distributing link-state-packets is flooding. Link state packets have additional info to try to check the flood flow and fix the potential inconsistencies.

A sequence number and source node is used to eliminate duplicates. If it hasn't been seen before, it gets sent out on all interfaces but the one it came in on else is discarded. Also, a counter (highest sequence number seen) kept per node. If a packet comes in with lower number it is discarded.

Still may have some problems: sequence number wrap, router crashes, sequence number

(in packet) corruption. Solution is to add age of packet-to-packet, which is decremented by each router and every second when age hits zero the packet is discarded. Decremented after each router so that it doesn't bounce around the system too long.

Also link state packets aren't queued for flooding immediately but delayed for a short while. Duplicates are discarded older ones thrown out. Link-state packets are forwarded when the line goes idle.

Additionally, router-to-router link-state packets are always acknowledged.

In a net with N routers and (average) K neighbors per router the memory and computation time is order NK which can be large. But given modern technology

OSPF Add-ons and appropriate sub-setting (hierarchical arrangement for example) is manageable usually.

Authenticated routing messages (helps prevent black holes), routing areas (additional hierarchy), load balancing across routes

Read metrics

Mobile Hosts & Routing

Understand home address, home agent, foreign agent, care-of address, proxy-ARP, gratuitous-ARP and how the home agent tunnels packets to the roaming host over the internet.

Section 4.3 Global Internet

Standard IP hierarchical addressing mechanisms (e.g., partitioning addresses into net & host parts & making the net part a set of classes) are insufficient to provide tools for effective routing at the scale of today’s internet

Early internet structure was: hosts given service by end user networks which were given service by regional service providers which were interconnected by a backbone. All were autonomous administrative domains and potentially each used different routing protocols and metrics. => routing extremely difficult so that frequently cost metrics are not computable and the only criteria left for routing is loop-free reachability

There is a need to provide two things: 1) extra levels of structure to reduce routing info and reduce amount of computing and 2) mechanisms to increase address utilization because

32 bits just doesn’t seem to be enough with current practices. Subnetting and CIDR.

LN2 5/9

CET 458/598 Fall 2000

Lecture Notes

Subnetting

Because of limitations of the physical networks the granularity provided by standard IP addressing classes is too course for dense use of the address spaces. On the order of single digit percentages on average without subnetting. The idea is to partition a set of network address in a predictable way (e.g., providing n subnets of a class

X IP network).

This is done typically by having all hosts/routers agree to honor a subnet mask that permits more physical networks use the same network number (but each has a different subnet number). I.e., adds another level of hierarchy and simultaneously improves potential for improving address space utilization.

Subnet masks usually a contiguous set of bits – the other way confusing unless humans see just dotted quad versions.

Putting different subnets on a physical wire possible for security or for greater density on the wire.

CIDR – Classless interdomain routing

Needed to handle supernets – aggregation of several adjacent (numerically at one level and geographically on a spatial level) networks.

Useful both for routing simplification and for address space utilization improvement.

Approach is similar to subnetting with contiguous bits but in the network part not host part of an address. => reduces routing table and forwarding table size and routing complexity overall.

Leads to potential for forwarding table entries that overlap. Solution is longest match.

Interdomain Routing (BGPv4)

Border Gateway Protocol version 4 – exchanges reachability info.

Multiple backbones and redundant peering points have generally de-structured the

Internet.

Each Autonomous System has centralized routing (even though all traffic moves through

>1 border routers) decision-making. The BGP speaker(s) sets up sessions with other AS BGP speaker to exchange reachability info – complete paths of AS’s.

The speakers have to calculate loop free “best” paths. Allows for wide range of policies as to which AS’s maybe traversed.

Ipv6

128 bit addresses with complex address space subdivisions that enhance dynamic host configuration, multicasting, geographic addressing, link-local addressing, site local addressing, and addressing to facilitate the transition from v4 to v6. 128 bits leaves lots of room to provide structure for routing.

Packet format simplified. Fragmentation and options pushed to supplemental extension headers. Header checksum eliminated.

Read Multicast

Most important is mbone.

LN2 6/9

CET 458/598 Fall 2000

Lecture Notes

Routing Addendum – Routing Algorithms adaptive vs static routing static routing decisions done off-line adaptive routing decisions based on current traffic, topology, etc classes - global (centralized), isolated (only local info used), and distributed (uses a mixture of global & local info)

Optimal Routing optimality principle - if J is on the optimal path from I to K then the optimal path from J to K is on the same route the set of all optimal routes from all sources to a given destination form a sink tree the sink tree contains no cycles and hence packet delivery time using the tree for routing is bounded and finite

Shortest path routing widely used, simple & easy to understand network is considered as a graph with IMP's as nodes and communication lines as arcs of the graph to select a route between nodes A and B. find the shortest path between them shortest path in this case implies the path with the least cost associated with it. The cost can be in any of a number of metrics, e.g., number of hops, geographical distance, queuing or transmission delay, bandwidth, average traffic, real dollars, etc. requires global knowledge wherever done usable if topology and weighting metric relatively static

•It is correct, simple, fair, optimal, but robust and stable only when topology and weighting metric are relatively static (e.g., few line/node failures and traffic changes very little)

Multipath routing used when there are more than one (relatively) equally good paths advantage - traffic can be split across several paths and thus reduce load on some lines and increase overall network throughput can be used on both datagram and virtual circuit networks used mostly when weighting factors and topology are relatively static can also be used to send different classes of traffic over different routes or to improve reliability

• It is correct, simple, fair, optimal, but robust and stable only when topology and weighting metric are relatively static (e.g., few line/node failures and traffic changes very little)

Centralized Routing used when topology, traffic or whatever routing metric used varies on an irregular basis

(requires adapting to) idea is to send relevant status information to a central place (Routing Control Center) where routing tables are periodically computed and distributed to IMP's advantage - RCC can make "perfect" decisions, relieves IMP's of making decisions so can do more drawbacks

LN2 7/9

CET 458/598 Fall 2000

Lecture Notes

1. recalculation period may have to be very often depending on network size and weighting metric

2. RCC vulnerable (single point of failure), if using backups an arbitration protocol needed [ Biggest problem ]

3. variable delay in receipt of routing tables by IMP's can lead to routing inconsistencies which may lead to more inconsistencies

4. increased traffic (routing tables out bound and metric information in bound) near the

RCC

• It is correct, less simple, fair, optimal, stable and robust when topology doesn't change too rapidly (e.g., infrequent line/node failures)

Isolated Routing

IMP's don't exchange info but try to adapt to changes as best they can hot potato algorithm

IMP tries to get rid of an incoming packet as fast as possible by putting it on the shortest output queue can be used with static routing (mutipath version or if queue depth exceeds a certain threshold) backward learning algorithm determine routing info from where a packet has been put a hop count field in packet that is incremented at every hop and save hop count/source/incoming line info for all packets; eventually IMP's know shortest route to all other hosts problem: can't deal with negative topology changes => periodically forget routing info and relearn; this adds overhead (e.g., slows packet delivery) during learning periods

• It is correct, simple, somewhat fair, not optimal, but robustness and stability in question

Flooding extreme form of isolated routing incoming packets are sent out on every outgoing line except the one it came in on can generate an infinite number of packets if not damped: use hop counter - delete packet after n hops use IMP sequence number - IMP has table of other IMP with seq no list for each so can discard duplicate packets robust (can lose lots of IMP's simultaneously) useful as broadcast mechanism in a point-to-point net always uses shortest path selective flooding can be used if general topology known random walk (select an outgoing line at random) (robust and averages traffic over net)

• It is correct, robust and stable, but not simple or optimal

Distributed Routing

IMP's periodically exchange routing info with neighbors each IMP has a table of IMP/preferred output line/cost metric for all other IMP's when receiving an update from a neighbor the IMP sees if there is a better route to any other

IMP in the update it changes its own table eventually the best routes are known to all IMP's

LN2 8/9

CET 458/598 Fall 2000

Lecture Notes

• fair, robust and adaptable, somewhat simple, and eventually stabilizes at near if not exactly optimal

Flow Based Routing can be used if mean data flow is relatively constant to optimize routing given mean flow, and capacity of line then compute mean packet delay for that line using queueing theory; then given the net topology and a particular routing base calculate the mean packet delay for the whole network; iteratively check all possible routes and select the routing algorithm that produces the minimum average delay for the network

Hierarchical Routing networks grow and so do the routing tables and at some point it becomes impractical for all

IMP's to have a table entry for all other IMPs so divide the net into regions addresses usually include region somehow

IMPs in a particular region know how to route to IMPs in that region these IMPs include IMPs that communicate with an IMP in another region thus IMP routing tables must contain info for getting to the IMP in the local that is nearest another particular region reduces the size of routing tables but at the cost of (potentially) increased path length for some nodes

LN2 9/9

Download