Unformatted text preview:

CS419: Computer NetworksLecture 3, part 2: Feb 7, 2004IP (Internet Protocol)CS419More ICMP messages| These were added over time| RFC1191: Path MTU Discoveryz Added the size of the limiting MTU to the ICMP Packet Too Big message | RFC1256: Router Discoveryz Allows a host to dynamically discover a default routerz Router Advertisement, Router SolicitationCS419Path MTU discovery (PMTU)| Host tries some large MTU, sends packets with the DF (Don’t Fragment) bit set| If it gets an ICMP Packet Too Big, it tries the MTU in the ICMP (if there is one), or a lower MTU if not| There are various “well-known” MTUs it can try| Without PMTU, hosts default to 1500 for local Ethernet destinations, and 576 for non-local destinationsCS419Recall new functions required by IP architecture| 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 subnetsCS419Router discovery and address resolution| How do hosts discover routers over subnets| How do hosts and routers find each other’s subnet addresses?CS419But first, IP addresses| Now we are getting to one of the two “cores” of the Internetz The IP address spacez (The other is the DNS name space)| Can’t understand router discovery and address resolution without understanding the IP addressCS419The most basic basics| IP address is 32 bits long| They are written like this: 128.93.44.6z “dotted-decimal” notationz Each decimal number represents 8 bitsz (We’ll look at the “slash” notation later)| Each host or router interface is identified by an IP addressz The role of IP is to get packets to their corresponding interfaces, not to boxes per seCS419Structure of the IP addressCS419Host forwarding algorithm| Upon receiving a packet either from an interface or from the upper layerz Is the destination me?z If not, is the destination on my subnet?• If so, discover subnet address of destination and transmit packetz If not, send the packet to my default routerCS419This begs several questions| How does the host know its own IP address?| How does the host know the destination is on its own subnet?| How does the host know its default router?| How does the host discover the subnet address of another node?CS419In a nutshell . . .CS419Last-hop router forwarding algorithm| Upon receiving a packet either from an interface or from the upper layerz Is the destination me?z If not, is the destination on my subnet?• If so, discover subnet address of destination and transmit packetz If not, send the packet to my default the next hoprouterCS419Non-Last-hop router forwarding algorithm| Upon receiving a packet either from an interface or from the upper layerz Is the destination me?z If not, is the destination on my subnet?• If so, discover subnet address of destination and transmit packetz If not, send the packet to my default the next hoprouterCS419Other special IP addressesCS419Router discovery and address resolution| We saw how routers are discovered (through configuration)| Hosts on a subnet don’t have to be “discovered” per sez Because the IP address is obtained from packet reception| But the host subnet address needs to be discoveredz This is called address resolutionCS419Address resolution| Approach differs depending on whether subnet is broadcast capable or not| If broadcast capable:z An Address Resolution Protocol (ARP) query is broadcast to all nodes:• ARP_query(IP_addr)z The node with IP_addr responds:• ARP_reply(IP_addr, subnet_addr)z The querying node caches this for a whileCS419Address resolution| If not broadcast capable, two choices:| Embed subnet address inside IP address!z This was done with the Arpanetz But most subsequent non-broadcast subnets had addresses at least as big as IP’s (X.25, SMDS, ATM, …)z Can be done in IPv6 though| Configure address resolution tablesz In all nodes, or in a directory that nodes can queryCS419Address resolution| Large non-broadcast subnets to which hosts attach are essentially non-existent now---everything has “gone IP”z Though these still support routers (manually configured)CS419Where are we?| We’ve looked down from IP:z We’ve examined subnet structure of the Internet and of IP addressesz We’ve seen how to resolve IP addresses to subnet addressesz We’ll look inside large Ethernet networks later| Now lets look at the larger structure of the IP Internet itselfz From several vantage pointsCS419The firewalled Internet| The Internet consists of sitesinterconnected by ISPsz Site = enterprise network, campus network, your home!, corporate network, etc.z ISP = Internet Service Provider| The sites are protected by firewalls| The sites often use a private address space, or IP address realmCS419The firewalled InternetCS419Firewalls| Firewalls are a type of IP “router”| They protect the site from unwanted packets (to an extent)| Typically they allow “flows” to be initiated outgoing, but not incomingz Though they may prevent some types of outgoing flowsz And allow some incoming flows to some hostsCS419Address realms and NAT| Certain blocks of IP addresses have been designated “private addresses”z RFC 1918z 10/8, 172.16/12, and 192.168/16| These can be used in any sites, but are not “visible” in the “global” address spacez Like a one-way mirror: nodes in private networks can “see” the global internet, but nodes in the global internet cannot “see” hosts in private networksCS419What is this “slash” stuff?| The “slash” notation (10/8, 72.16/12, etc.) denotes an address range| P/B means a prefix P of length B bits| 10/8 = 10.0.0.0 – 10.255.255.255| 72.16/12 = 72.16.0.0 – 72.31.255.255CS419Address realms and NAT| Two hosts in the same site cannot have the same private address, but two hosts in different sites can and do| A private host can establish a flow with a public host (through a NAT box)| A public host cannot generally establish a flow with a public host| Two private hosts in different realms cannot generally establish flows with each otherz Though we now know how to do this with the help of a global hostCS419Address realms and NAT| When a private host talks to a public host, the NAT box translates its private address into a public addressz And remembers the private/public mapping| Why do we want private addresses?z This is a low-cost way to effectively increase the IP


View Full Document

CORNELL CS 419 - Study References

Download Study References
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 Study References 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 Study References 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?