1 / 26

ISO Layer Model

ISO Layer Model. Lecture 9 October 16, 2000. The Need for Protocols. Multiple hardware platforms need to have the ability to communicate. Writing communications code in this instance is non-portable (platform-dependent).

wylie
Download Presentation

ISO Layer Model

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ISO Layer Model Lecture 9 October 16, 2000

  2. The Need for Protocols • Multiple hardware platforms need to have the ability to communicate. • Writing communications code in this instance is non-portable (platform-dependent). • Protocols provide a high-level interface method to the communications medium. • The protocol itself is a set of rules by which the software and hardware must follow in order to communicate properly.

  3. Need for Protocols (cont.) • Multiple types of protocols exist. • RS-232 is form of a protocol in the sense that strict rules must be followed for communication to occur between devices. • Network protocols cover almost all communications between two or more computers. • Transferring an ASCII file • Point-to-point encryption

  4. Protocol Suites • A single, all-encompassing protocol is not only inefficient, but also wasteful on CPU, memory resources. • Programmers have created smaller suites which provide the rule sets for communication within that protocol. • The suites are also divided into smaller pieces, called layers.

  5. The ISO Layer Model

  6. Why the Layer Model? • It is simple to visualize how software interacts with hardware. • Topmost layer is closest to the user. • Bottom layer is the furthest away from the user.

  7. Layer Breakdown • Layer 1: Physical • The physical network hardware, medium. • Layer 2: Data Link • How data is organized into frames, and how to transmit those frames. Byte/bit stuffing, checksums. • Layer 3: Network • How addresses are assigned, and how packets are transmitted from one end of the network to the other.

  8. Layer Breakdown (cont.) • Layer 4: Transport • How to reliably transfer data. • Layer 5: Session • How to start sessions (connections) with remote devices, machines. (Sockets) • Layer 6: Presentation • How to represent data. Does int, char replacements. • Layer 7: Application • How one user-level program requests a connection to another machine, and how the machine responds.

  9. Protocol Stacks • The protocol is divided into modules. • Each module corresponds to a different level in the layer model. • All of the modules put together is the “stack.” • Theoretically, a given module can only communicate with the module above and below it.

  10. Stack Examples

  11. Communication With Stacks

  12. Stack Interaction • Because the stack dictates how computers communicate, machines utilizing one type of stack cannot communicate with a machine running another type of stack. • Netware v. TCP/IP • But machines can concurrently run more than one stack!

  13. Layering • At each level where the packet is processes, additional information beyond the actual data is added or removed. • At the Layer 2, a checksum is added before being sent to Layer 1. • When the Layer 2 of the receiving machine receives the packet, it strips off the header and the checksum footer.

  14. A Layered Frame

  15. Protocol Dependent Information • The previous picture is a general idea. • Some protocols specify that all additional information must be appended instead of prepended, etc.

  16. Layering Overhead • Because the sending computer adds information to the frame, the receiving machine must undo the changes before the frame is passed to the next layer. • Because layers must undo changes that the counterpart creates, code for the other layers can be independently created and updated without affecting the other layers!

  17. Data At Each Layer

  18. Protocol Optimization Techniques • Protocols utilize different methods depending on the focus and goal of the protocol. • Sequencing • To avoid out-of-order delivery • To avoid duplicate packets • Packet Retransmission • When a packet is received, an ACK is sent back. If the ACK isn’t received by the transmitter, packet is resent. (Bound by time.)

  19. Optimization Techniques (cont.) • Avoiding Excessive Delay • Each transmission is assigned an ID. Packets must contain a valid ID to be accepted for a given “conversation.” p. 213 • Flow Control to Avoid Overrun • Machines do no communicate at the same rate. • Sliding Window method.

  20. The Sliding Window • The sliding window concept greatly increases protocol throughput. • All packets in a given “window” are sent sequentially, without waiting for an immediate ACK. • Once all packets in a window have been sent, transmitter waits for all ACKs to be received before continuing on to next window.

  21. Network Congestion • If a single computer sends, no congestion on network link. • If more than one computer sends, packet queuing must occur, so some congestion exists.

  22. Network Congestion (cont.) • If congestion persists over time, packets fill the switch’s memory, and will begin to be discarded. • Retransmission can fix this problem, but if the congestion still exists when the retransmission occurs, those packets will also be discarded. • This scenario is called congestion collapse.

  23. Avoiding Congestion • If a switch is having congestion, send a message back to the sender informing them of the congestion. • Packet loss as an estimate of congestion. • Rate control • Temporary rate reduction • Sliding window size reduction

  24. Protocol Design • Flow control vs. congestion control • Flow control sends more packets to improve throughput • Congestion control reduces the number of packets • Sequence number • Too small, miscommunication, confusion • Too big, wasted bandwidth, overhead

More Related