120 likes | 273 Views
Protocol Layering. Myungchul Kim mckim@icu.ac.kr Tel: 042-866-6127. Protocols and protocol layering peer entities a protocol is a set of rules and formats that govern the communication between communicating peers.
E N D
Protocol Layering Myungchul Kim mckim@icu.ac.kr Tel: 042-866-6127
Protocols and protocol layering • peer entities • a protocol is a set of rules and formats that govern the communication between communicating peers. • layering: the lower layer provides a service used by the higher layer in its execution. • service access point (SAP): the interface between the lower and the upper layer • protocol data units (PDU) between peer entities in the same layer. • service data unit (SDU): handed to a layer by an upper layer. • protocol stack -> information hiding -> reduce system performance • The importance of layering • a complex problem into smaller, more manageable pieces • the implementation details of a layer are hidden (abstracted) from other layers. • many upper layers can share the services provided by a lower layer.
Problems with layering • layering is a form of information hiding • lead to poor performance • example of layers between transport and link: TCP over a lossy wireless link • ISO OSI reference model • open system: a system that implements open protocol standards • reference model: formally defines what is meant by a layer, a service, a service access point, name, etc. • service architecture: describes the services provided by each layer. • protocol architecture: the set of protocols that implement the service architecture.
The seven layers • physical layer • coding scheme, connector shape and size, bit-level synchronization
datalink layer • framing: insert markets in the bit stream • frame packets • medium access control (MAC): datalink-layer address and access to the medium • logical link control: link error control and flow control • Ethernet card: physical and datalink layers • network layer • concatenate logically a set of links to form the abstraction of an end-to-end link. • compute a route • segmentation and reassembly • unique network-wide addresses • in datagram network, routing and data forwarding • in connection-oriented network, the data plane and the control plane.
the beauty of IP is that we can layer it over practically any datalink layer technology, because it makes very few assumptions about the datalink layer. • type-of-service in the IP • transport layer • create the abstraction of an error-controlled, and flow-controlled, end-to-end link • flow control • multiplex multiple applications to the same end-to-end connection • port number • User Datagram Protocol (UDP): multiplexing, but not error recovery or flow control for audio, video, network file system. • Transmission Control Protocol (TCP): WWW, file transfer.
session layer • provides the abstraction of full-duplex service, expedited data delivery and session synchronization. • The Internet does not have a standard session layer protocol. • presentation layer • deals with data • encrypt data • The Internet does not support a standard presentation layer. • application layer • WWW: browser, server, navigation • file transfer using TCP • real-time audio and video retrieval using UDP
why seven layers ? • the case for the session and presentation layers appears to be weak. • error control can be placed at the application, transport, network, or datalink layers. • flow control can be at the network or transport layers. • why did the ISO OSI protocol stack fail? • standardization process was slow, cumbersome,… • it was specified before there was much experience. (the Internet philosophy is to standardize only after implementation) • a game of user numbers. • An Engineering Approaches to Computer Networking by S. Keshav, Addison-Wesley, 1997.
Limitations of the Layered Model • Some layers are not always cleanly separated. • Inter-layer dependencies in implementations for performance reasons • Some dependencies in the standards (header checksums) • Higher layers not always well defined. • Session, presentation, application layers • Lower layers have “sublayers”. • Sublayers well defined in the standards • Interfaces are not really standardized. • It would be hard to mix and match layers from independent implementations • Many cross-layer assumptions, e.g. buffer management