1EE 122: Layering and the Internet ArchitectureKevin LaiSeptember 4, [email protected] 2Organizing Network FunctionalityMany kinds of networking functionality- e.g., encoding, framing, routing, addressing, reliability, etc. How should they be organized? How should they interact? Layering is one answer to these [email protected] 3LayeringA technique to organize a network system into a succession of logically distinct entities, such that the service provided by one entity is solely based on the service provided by the previous (lower level) entity- no layering violationsAdvantages- Abstraction – lower layers can be changed without affecting the upper layers- Modularity – protocols easier to manage and maintain- Reuse – upper layers can reuse the functionality provided by lower layers Disadvantages- Information hiding – inefficient implementations [email protected] 4No Layeringnew application has to interface to all existing media- adding new application requires O(m) work, m = number of medianew media requires all existing applications be modified- adding new media requires O(a) work, a = number of applicationstotal work in system O(ma) → eventually too much work to add apps/media SMTP SSH NFSPacketradioCoaxial cableFiberopticApplicationTransmissionMediaHTTP2laik@cs.berkeley.edu 53 LayersSolution: introduce an intermediate layer that provides a single abstraction for various network technologies- O(1) work to add app/media- variation on “add another level of indirection”SMTP SSH NFSPacketradioCoaxial cableFiberopticApplicationTransmissionMediaHTTPIntermediate [email protected] 6ISO OSI Reference ModelISO – International Standard OrganizationOSI – Open System InterconnectionStarted to 1978; first standard 1979- ARPANET started in 1969; TCP/IP protocols ready by 1974 Goal: a general open standard - allow vendors to enter the market by using their own implementation and protocols [email protected] 7ISO OSI Reference ModelSeven layers- Lower three layers are peer-to-peer- Next four layers are end-to-endApplicationPresentationSessionTransportNetworkDatalinkPhysicalApplicationPresentationSessionTransportNetworkDatalinkPhysicalNetworkDatalinkPhysicalPhysical [email protected] 8EncapsulationA layer can use only the service provided by the layer immediate below itEach layer may change and add a header to data packet- higher layer’s header is treated as payloaddatadatadatadatadatadatadatadatadatadatadatadatadatadata3laik@cs.berkeley.edu 9OSI Model ConceptsService – says what a layer does Interface – says how to access the service Protocol – says how is the service implemented- a set of rules and formats that govern the communication between two peers [email protected] 10Physical Layer (1)Service: move the information between two systems connected by a physical linkInterface: specifies how to send a bit Protocols: coding scheme used to represent a bit, voltage levels, duration of a bitExamples: coaxial cable, optical fiber links; transmitters, receivers [email protected] 11Datalink Layer (2)Service: - framing, i.e., attach frame separators - send data frames between peers- others:• arbitrate the access to common physical media• ensure reliable transmission• provide flow controlInterface: send a data unit (packet) to a machine connected to the same physical mediaProtocols: layer addresses, implement Medium Access Control (MAC) (e.g., CSMA/CD)… [email protected] 12Network Layer (3)Service: - deliver a packet to specified destination- perform segmentation/reassemble- others:• packet scheduling• buffer managementInterface: send a packet to a specified destination Protocols: define global unique addresses; construct routing [email protected] 13Transport Layer (4)Services: - provide an error-free and flow-controlled end-to-end connection- multiplex multiple transport connections to one network connection- split one transport connection in multiple network connections Interface: send a packet to specify destinationProtocols: implement reliability and flow controlExamples: TCP and [email protected] 14Session Layer (5)Service:- full-duplex- access management, e.g., token control- synchronization, e.g., provide check points for long transfers Interface: depends on serviceProtocols: token management; insert checkpoints, implement roll-back [email protected] 15Presentation Layer (6)Service: convert data between various representationsInterface: depends on serviceProtocol: define data formats, and rules to convert from one format to [email protected] 16Application Layer (7)Service: any service provided to the end userInterface: depends on the applicationProtocol: depends on the applicationExamples: Kazaa, SMTP, ssh, NFS, WWW [email protected] 17OSI vs. TCP/IPOSI: conceptually define services, interfaces, protocols- more layers →less efficientInternet: provide a successful implementation - don’t need so many layers in practiceApplicationPresentationSessionTransportNetworkDatalinkPhysicalInternetHost-to-networkTransportApplicationIPLANPacketradioTCP UDPSMTP SSH DNSOSI TCP/[email protected] 18Layer Violations and NotTypes of violations- Higher layer interacts with layer below previous layer• e.g., application has special behavior when running on wireless link• sometimes provides useful performance enhancement- Lower layer interacts with higher layer• e.g., router (network layer device) routes based on transport or application data in packet• usually a very bad idea (see end-to-end argument)Not violations- Reducing copying of [email protected] 19End-to-End ArgumentHow do you divide functionality across layers?- One answer: the end-to-end argument- Push as much functionality to higher layers as possible while still maintaining correctness and performance[J. H. Saltzer, D. P. Reed, D. D. Clark, “End-to-End Arguments in System Design”, ACM Transactions on Computer Systems, Vol. 2, No. 4, 1984, pp. 277-288][email protected] 20Example: Reliable File TransferProblem: transfer a file composed of blocksSolution 1: transfer each block and retry if necessary, and then concatenate them Solution 2: transfer the blocks, verify the entire file and retry the entire file if
View Full Document