Unformatted text preview:

CS419: Computer NetworksLecture 3: Feb 2, 2005IP (Internet Protocol)CS419A hypothetical service| You want a mail delivery service| You have two choices:z Acme Guaranteed Mail Delivery Service• “We never fail”z Rocko’s Mail Delivery and Hubcap• “We’ll get it there if we feel like it”| Which do you choose???CS419Some selection criteria???CS419Some selection criteria| What is the price?z Rocko: $1, Acme: $2| How often do they fail?z Rocko: 5%, Acme: Never| How important is the mail?z Important: Worth $100,000!!!| Which do you choose???CS419A selection analysis| Rocko’s service costs $5001/mail on averagez Because 1/20 mails are lost at a cost of $100000!!!| Acme’s service costs $2/mail | Acme appears to be the best choice…CS419But….more selection criteria| What is being delivered (copy or original)?z Copy| How long does it take?z Acme and Rocko, both one day max| How soon do we need delivery?z Within a week| Now which do we choose???CS419More selection analysis| Assume that the recipient calls to report delivery. If no call, make another copy and send mail againz Rocko gets 7 tries at .05 failure per try means .057= .00000000078 failure prob| Now Rocko costs ~$1/mail, Acme costs $2/mail???z Ah, but assume phone call costs $2| Rocko costs ~$3/mail, Acme costs $2/mail| Still appears that Acme is the best choice…CS419A couple of network layer service models| Datagram (IP)z “Best Effort” (packets may not arrive, they may be out of order, they may be duplicated)z Send packet anytime| Virtual Circuit (X.25)z Guaranteed (no loss, in order, no duplicate)z Send packet only if VC established• Can try to establish a VC anytime z Send packet only if network is ready to receiveCS419This was the choice about 20 years ago| Many people did an analysis and concluded that virtual circuit (VC) services made more sensez In fact, the whole idea of an unreliable network service seemed absurd!| In part: VC services implied simple end devices, complex switchesz But far more end devices than switches, and switches easier to access (for management and repair)CS419This was the choice about 20 years ago| But datagram service won in the marketplace| Why????CS419One reason (of many): The end-to-end argument| This may be the single most important concept in network design….CS419Mail selection criteria again:Something fishy???| What is the price?z Rocko: $1, Acme: $2| How often do they fail?z Rocko: 1%, Acme: Never| How important is the mail?z Important: Worth $100,000!!!| Which do you choose???CS419Mail selection criteria again:Something fishy???| You would definitely make a $2 phone call to make sure a $100,000 document was received!!!z End-to-end verification| Turns out that a “reliable” network fails enough that you want end-to-end verificationz End systems no simpler after allCS419End-to-end argument| Ultimately the end system must be responsible for insuring reliabilityz The network can’t fully be trusted| If the end system has to insure reliability, no reason to do it in the middle!| Keep the middle simple!| This is the design principle behind IPCS419IP Problem Statement| Design a network protocol that can operate over and bridge multiple different kinds of packet networks| Why this problem statement?z Because at the time, DARPA had multiple networks and wanted to make them interworkCS419IP Problem StatementCS419IP Problem StatementCS419Two basic approaches were considered| Build a translation gateway for every pair of network protocolsz N2types of gatewaysz Every host has an address on every networkz Gateways know how to map from an address in one network address space to an address in another network space| Create a new protocol layer that runs above the existing network protocolsz This of course is IPCS419Translation versus new layerCS419Contrast with previous protocol stack pictureCS419This is a more accurate stack pictureCS419Advantage of translation gateway approach| No changes to existing hosts requiredz Each host thinks the remote host is on the same network| This was a nice advantage (and is an approach often used today), but . . .CS419Main problems with translation gateway approach| Service mismatchz Networks may offer different services• Reliability or not, resource reservation or not, congestion control or notz A host on one network “thinks” the remote host is on the same network, and so has the same services| Lack of address spacez Most networks built with only enough address space for themselvesz Can’t accommodate hosts on other networksCS419New Protocol Layer| Can make the address space as big as neededz This solves the “lack of address space” problem| But what service should the new protocol layer provide?CS419New Protocol Layer Services| Reliability (sequencing):z This can be provided by the end hostsz Don’t need it from the networks| Resource reservation:z This is hard to provide unless every network in the middle participatesz Can’t get it from the networks| Congestion control:z This is useful even if not all networks provide itz Provide this service (even though different networks may signal this differently and require different responses)!CS419New functions required by the new protocol layer| Address resolutionz How to determine the subnet address of the next hop (router or host)z A hard problem in the general case| Fragmentation and reassemblyz How to accommodate different MTUs (Maximum Transmission Unit) in different subnetsCS419Maximum Transmission Unit (MTU)| Every subnet/link has a maximum packet size it can handlez This fixes design of incoming buffers, etc., in hardware| This is called the MTU| With multiple subnets, an IP packet may be larger than some MTUs in the path| The smallest MTU in the path is known as the Minimum MTUCS419Minimum MTU ExampleCS419Three basic approaches1. Use a routing protocol that conveys Minimum MTU of the pathz Host picks the right MTU size from the start2. Router drops packet and sends an error message to the Host3. Router fragments packet into smaller packets| IP uses a combination of 2 and 3CS419Fragmentation and reassemblyCS419Why doesn’t Rb reassemble the packet?CS419IP Header (RFC 791)0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Version| IHL |Type of Service| Total Length


View Full Document

CORNELL CS 419 - Computer Networks

Download Computer Networks
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Computer Networks and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Computer Networks 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?