L10: Protocols and Layering6.033 Spring 2007http://web.mit.edu/6.033Slides from many folksPlan for studying network systemsNATs7.FCongestion controlNetwork file system7.EEnd-to-end reliabilityInternet routing7.DRoutingEnd-to-end7.B+CLayeringEthernet7.ASharing and challengesLast lecture: challenges•Economical:•Universality•Topology, Sharing, Utilization•Organizational•Routing, Addressing, Packets, Delay•Best-effort contract•Physical•Errors, speed of light, wide-range of parametersNetwork DesignProblem•How do we organize design of a network?Solution•layering of protocolsLayering of protocols•Layering is a particular form of abstraction•The system is broken into a vertical hierarchy of protocols•The service provided by one layer is based solely on the service provided by layer belowLayering tools for nesting•Each layer adds/strips off its own header•Each layer may split up higher-level data•Each layer multiplexes multiple higher layers•Each layer is (mostly) transparent to higher layersdatadatadatadatadatadatadatadataLayering: The InternetNetworkLinkTransportThe 4-layer Internet modelApplicationHTTPIPTCPEthernetEnd-to-End LayerMultiplexing in the Internet•Many applications, transports, and link protocols•All use IP at the network layer InternetLinkTransportApplicationIPEthernetPacketradioTCP UDPHTTP SSH RTPWhere are these layers? •Link and network layers are implemented everywhere•The end-to-end layer (i.e., transport and application) is implemented only at hostsApplicationTransportNetworkDatalinkApplicationTransportNetworkDatalinkNetworkDatalinkPhysical mediumPeer-layer communicationRouterHostHostClever usages of layering•Nesting layers to the extreme: tunneling•Run link layer over TCP (Virtual Private Network)•Router uses TCP as transport for routing protocol (e.g., BGP)•…IPsshTCPHTTPTCP…Link LayerProblem: Deliver data from one end of the link to the otherNeed to address:•Bits Analog Bits•Framing•Errors•Medium Access Control (The Ethernet Paper)Manchester encoding•Each bit is a transition•Allows the receiver to sync to the sender’ s clockTime0 1 1 1 0Framing•Receiver needs to detect the beginning and the end of a frame•Use special bit-pattern to separate frames•E.g., pattern could be 1111111 (7 ones)•Bit stuffing is used to ensure that a special pattern does not occur in the data •If pattern is 1111111 Whenever the sender sees a sequence of 6 ones in the data, it inserts a zero (reverse this operation at receiver)Error Handling•Detection: •Use error detection codes, which add some redundancy to allow detecting errors•When errors are detected•Correction: •Some codes allow for correction•Retransmition: •Can have the link layer retransmit the frame (rare)•Discard: •Most link layers just discard the frame and rely on higher layers to retransmitThis Lecture•To cope with the complexity, the network architecture is organized into layers•The link layer delivers data between two machines that are directly connected using a
View Full Document