






























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A set of lecture notes from a course on Network Programming Languages at Cornell University in Spring 2013. The notes cover topics such as IP Suite, Identifiers, DHCP, ARP, DNS, Transport Layers, and more. The document also includes announcements about reviews and projects. It is a useful resource for students studying computer science, networking, or related fields.
Typology: Lecture notes
1 / 38
This page cannot be seen from the preview
Don't miss anything!































http://www.flickr.com/photos/rofi/2097239111/!
Based on lecture notes by Jennifer Rexford and Michael Freedman
Announcements
Host-Network Division of Labor Network
Hosts
IP Suite: End Hosts vs. Routers HTTP TCP IP Ethernet interface HTTP TCP IP Ethernet interface IP IP Ethernet interface Ethernet interface SONET interface SONET interface host host router (^) router HTTP message TCP segment IP packet (^) IP packet IP packet
The “Narrow Waist” of the Internet UDP TCP Data Link Physical Applications
NET 1 NET 2 … NETn
The Role of the End Host Network discovery and bootstrapping
Interface to networked applications
Distributed resource sharing
Three Kinds of Identifiers Host Name IP Address MAC Address Example www.cs.cornell.edu 132.236.204.10 00-15-C5-49-04-A Size Hierarchical, human readable, variable length Hierarchical, machine readable, 32 bits Flat, machine readable, 48 bits Read by Humans, hosts IP routers Switches in LAN Allocation, top-level Domain, assigned by registrar (e.g., for .edu) Variable-length prefixes, assigned by ICANN, RIR, or ISP Fixed-sized blocks, assigned by IEEE to vendors (e.g., Dell) Allocation, low-level Host name, local administrator Interface, by admin or DHCP Interface, by vendor
Mapping Between Identifiers
§ Given a MAC address, assigns a unique IP address § … and gives host other information about the local network (e.g., gateway) § Automates the boot-strapping process
§ Given an IP address, provides the MAC address § Enables communication within the local network
§ Given a host name, provides the IP address § Given an IP address, provides the host name
Dynamic Host Configuration Protocol new client (^) DHCP server DHCP discover (broadcast) DHCP o ffer DHCP request DHCP ACK (broadcast) Host learns IP address, Subnet mask, Gateway address, DNS server(s), and a lease time.
Address Resolution Protocol (ARP)
§ (IP address, MAC address) pair
§ Map destination IP address to destination MAC address § Encapsulate and transmit the data packet
§ Sender broadcasts: “Who has IP address 1.2.3.156?” § Receiver responds: “MAC address 58-23-D7-FA-20-B0” § Sender caches the result in its ARP table
Questions
Two Basic Transport Features
Web server (port 80) Client host Server host 128.2.194. Echo server (port 7) Service request for 128.2.194.242: 80 (i.e., the Web server) Client OS IP payload detect corruption
Two Main Transport Layers
§ Just provides demultiplexing and error detection § Header fields: port numbers, checksum, and length § Low overhead, good for query/response and multimedia
§ Provides a “stream of bytes” abstraction § Retransmits lost or corrupted data § Puts out-of-order data back in order § Adapts the sending rate to alleviate congestion § Higher overhead, good for most stateful applications