320 likes | 368 Views
Protocol Layering. Chapter 10. Looked at: Architectural foundations of internetworking Forwarding of datagrams Mapping IP addresses to physical addresses This chapter: Considers host and router software structure Presents principle of layering
E N D
Protocol Layering Chapter 10
Looked at: • Architectural foundations of internetworking • Forwarding of datagrams • Mapping IP addresses to physical addresses • This chapter: • Considers host and router software structure • Presents principle of layering • Shows layering makes IP software easier to understand and build • Traces path of datagrams thru protocol software
Need for Multiple Protocols • Protocols Computer communication Programming languages Computation • Lower level interact with physical • Higher level specify higher-level abstraction • Need protocol family or protocol suite to perform complex data communication tasks
Possible problems: • Hardware failure • Network congestion • Packet delay or loss • Data corruption • Data duplication or inverted arrival • Together, problems are overwhelming • Partitioning into subproblems allows us to conquer the complexity
Conceptual Layers • Modules of protocol SW stacked as layers • Each layer handles a part of the problem • Sending message between applications • Transfer down layers on sending machine • Forward across network • Transfer up layers on receiving machine • More complex than simple layering model suggests
Functionality of the Layers • What functionality goes in each layer? • Two main models dominate the field • ISO 7-layer reference model • By International Organization for Standardization • TCP/IP 5-layer reference model • Did not come from standards committee • Resulted from research that led to TCP/IP protocol suite
X.25 and ISO Model • ISO has been basis for several protocol implementations • One is X.25 protocol suite • Has been adopted by public data networks • Especially popular in Europe • X.25 view: • Network much like telephone system • Net has complex packet switches with smarts to route
Physical layer • Specifies standard for physical interconnection • Procedures for transferring packets • Electrical characteristics of voltage and current • Data link layer • How data travels between host and packet switch • Uses frame as unit of data that is passed • Also specifies checksum and acknowledgements • One protocol: High Level Data Link Comm. (HDLC) • Network layer • Defines basic unit of transfer across network • Packets here may be larger than frames • Responds to congestion problems
Transport layer • Provides end-to-end reliability • Double checks lower level checks • Session layer • Handles remote terminal access • Special computer: PAD with dial-up access • Presentation layer • Includes functions application programs need • Text compression; graphics conversion • Application layer • Applications that use the network • Email; file transfer
TCP/IP 5-Layer Model • TCP/IP software organized into five conceptual layers • Four software layers • Built on fifth layer of hardware
Layers and objects passed Application Messages or Streams Transport Transport Protocol Packets Internet IP Datagrams Network Interface Network-specific Frames Hardware
Application layer • Users invoke application programs that access services available across a TCP/IP internet • Applications choose style of transport needed • Sequence of individual messages • Continuous stream of bytes • Transport layer • Provide end-to-end communication • Communication from one application to another • Provides the reliability • Divides data into packets to be passed down
Internet layer • Handles communication from one machine to another • Encapsulates packet in IP datagram • Uses routing algorithm to route datagram • Handles incoming datagrams • Checks validity; routing functions • For local machine, deletes header and passes up using appropriate transport protocol • Sends and receives ICMP error & control messages • Network interface layer • Accepts IP datagrams and transmits over a specific network • Can be a device driver or a complex subsystem that uses own data link protocol
Locus of Intelligence • ISO • Network is complex, independent system • Relatively simple hosts attach • TCP/IP • Hosts participate in most all network protocols • Implements end-to-end error detection and recovery • Choose routers • Handle ICMP control messages • Simple packet delivery with intelligent hosts attached
Protocol Layering Principle • Layering Principle • Layered protocols are designed so that layer n at the destination receives exactly the same object sent my layer n at the source • Design one layer at a time • Figure other layers will perform their functions
TCP/IP layering • Two types of transfers • From source to ultimate destination • Across multiple networks • Higher layers • Layering principle applies across end-to-end transfers • Lowest layer • Applies to single machine transfers • Internet layer (?) • Since some things change (TTL counter), layering principle only applies to single machine transfers
Layering in The Presence of Network Substructure (10.8) • Skip….
Boundaries in the TCP/IP Model • Two boundaries that may not be obvious • Protocol address boundary • Separates high-level and low-level addressing • Operating systems boundary • Separates the system from application programs
Protocol Address Boundary • Application programs and all protocol software • From Internet layer upward use only IP addresses • Network interface layer handles physical addresses • Operating System Boundary • Software at the application layer is not part of the operating system • Software at other layers generally is
Disadvantage of Layering • Strict layering can produce inefficient SW • Transport layer divides stream into packets • Can optimize transfer if knows largest packet size that will fit in one frame • If strict layering is used, transport layer will not know the datagram or frame formats, or number of header octets • Most implementation relax strict layering • Allow info like route selection, MTU, etc. to propagate upward
Multiplexing & Demultiplexing • Occurs throughout the layered hierarchy • Multiplexing: • When sending message, extra bits included that encode message type, originating program, protocols used • Demultiplexing: • At destination, extra information is used to guide processing
RARP Module IP Module ARP Module Demultiplexing Based on Frame Type Frame Arrives
ICMP Protocol UDP Protocol TCP Protocol IP Module Datagram Arrives
Summary • Protocols specify: • Data is represented when transferred • How the transfer occurs • How error are detected • How acknowledgements are passed • Each protocol solves one of the communications subproblems
Layering provides a conceptual frame-work for protocol design • Each layer handles a part of the problem • Layering Principle: • Software implementing a layer at destination machine receives exactly what the software implementing that layer on the source machine sends • X.25 protocols • Follow ISO reference model • Example of reliable communications service • TCP/IP protocols use different layering scheme • Multiplexing/demultiplexing are used to distinguish among multiple protocols at a layer