1 / 33

COP 5611 Operating Systems Spring 2010

COP 5611 Operating Systems Spring 2010. Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM. Lecture 12. Reading Assignment: Chapters 8 from the online textbook Homework 3 due on March 3 Midterm: Wednesday March 17, the first week after Spring Break Last time:

lynnea
Download Presentation

COP 5611 Operating Systems Spring 2010

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. COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM

  2. Lecture 12 Reading Assignment: Chapters 8 from the online textbook Homework 3 due on March 3 Midterm: Wednesday March 17, the first week after Spring Break Last time: More about layering and broadcast channels Network layer Today: End-to-end-layer Resource Management - Congestion Next time Faults, Failures and Fault-Tolerant Design Measures of Reliability and Failure Tolerance Tolerating active Faults 2 2 2 2 2

  3. Requirements for routing algorithms • Routing algorithms should be dynamic and deal with: • Topological changes: links go down and new links are added • Congestion • Run asynchronously • Converge rapidly • Avoid oscillatory behavior • Ensure that no packet bounces around forever: add a hop count in the network header

  4. Flat versus hierarchical addressing schemes • The scheme we discussed so far based on flat addresses have disadvantages: • Each attachment point must have a unique address and the number of attachment points is equal to the number of systems connected to the network • The number of path vectors increases linearly with the size of the network. • Hierarchical addressing: e.g., two levels • Region • Address of the station/node within the region

  5. Hierarchical addressing with two levels

  6. Advantages and disadvantages of hierarchical addressing • Reduces the number of path vectors; a router for one region needs only to advertize a single path vector. • Assignation of network addresses is manageable: • a central authority assigns region addresses • Station addresses are assigned by a regional authority. • The table lookup more complicated: (1) extract the region (2) forward to another region or forward within own region. • The path may no longer the shortest, the information provided by the path vector is less accurate. • The network addresses are location dependent. A mobile device must get a new address when it is connected in a different location.

  7. Physical and logical addresses • All devices have a physical address of the interface • Must obtain a logical address • ARP – address resolution protocol   is a protocol used by the Internet Protocol (IP), specifically IPv4, to map IP addresses to the hardware addresses used by a data link protocol. • ARP operates only across the local link that a host is connected to. • Types of ARP messages • ARP request • ARP response • RARP request • RARP response

  8. Dynamic IP address assignment –DHCP servers

  9. From Wide Area Networks (WAN) to Local Area Networks (LAN) – the Ethernet

  10. Ethernet frame

  11. Internet addresses • Internet provides a layered naming environment. • Internet address= Network number + host numbers • Most network numbers are global names. • Network 10 reserved for private networks

  12. Network address translation • Private networks • NAT (Network Address Translators)  map host’s private address to/from a temporarily assigned public address. • Problems • Communications may involve multiple parties with the addresses buried into application protocols • The router running NAT is a bottleneck • What if two private organizations merge?

  13. Network layer errors • Messages originate at the network level and are delivered to the end-to-end layer. • Router error codes • Packets are discarded – the router has depleted its buffer space • The buffers of a router are depleted rapidly – stop sending • The region identifier is invalid • The station identifier is invalid • The end type identifier is not valid • The packet is larger than the MTU • The packet hop has been exceeded • The network layer implements a best-effort policy. It would be too complicated to provide guarantees of service. There is no message regarding packets dropped. It would only increase congestion!!

  14. End-to-end layer • Applications are too diverse to have a unique end-to-end protocol • End-to end multiplexing is more complicate: • You can have multiple instances of the same application running • Ports – logical end points for an end-to end protocol • We need to identify individual segments by sequence numbers • Transport protocols  operate between two attachment points • TCP • UDP • Request-response protocol • RTP – Real-Time Transport protocol.

  15. 3-way handshake in TCP

  16. At once delivery protocols • Persistent sender • It requires the sender to maintain state in the form of a table including the sequence numbers of segments sent but not acknowledged yet • Provide the assurance that • if possible to get through messages will be delivered • If not possible to confirm delivery the application will know • Does not provide any assurance about duplicates • Round Trip Time • Timers could trigger retransmission • Static timers RTT • Adaptive timers • Exponentially weighted moving average using a decay factor

  17. At most once delivery protocols Requires both the sender and the receiver to maintain state. The receiver must maintain a table of previously seen nonces , segments that have been received and passed to the application layer The list of nonces may grow; it may never be possible to delete the last nonce Long messages need to be reassembled from out of order segments

  18. Reliable transport protocols • Data integrity assurance that the received message contains precisely the same information as the one sent. • Sender adds trailer containing a checksum; • Receiver computes the checksum and verifies that it is the same as the value in the trailer • Should send a NAK if they do not correspond? What if the address of the sender was damaged? • There is a check sum at the link layer but is this suffient? • Reliable transport protocols protocol with a persistent sender and with support for data integrity.

  19. Flow control • Ensure that the sender, the communication channel, and the receiver could work at the same pace. • The bottleneck could be any of them • Stop and wait protocols (lock step) • Overlapped transmission • Window based – send a range of frame. The protocol: • Sender – tell me how many frames I could send • Receiver – send 100 frames • Window based protocols • Fixed window size • Variable window size

  20. Lock-step-transmission (send segment and wait for acknowledgment)

  21. Overlapped transmission

  22. Flow control with a fixed window

  23. Sliding window and self-pacing Once a segment buffer is freed the receiver should send the permission to advance the window. Regardless of the bottleneck the solution is: Window size > = RTT x bottleneck data rate

  24. Managing shared resources • Congestion - • a complex phenomena • leads to wasting of resources  congestion collapse • Managing resources in a network rather complex • More than one resource • Congestion collapse occurs more easily • Limited options to reduce capacity • The means to reduce congestion are difficult to implement • Feedback path is long • Source of the traffic must be • able to reduce the load • willing to cooperate

  25. Cross-layer cooperation • Feedback • Source quench • Congested routers add a bit in the packet header indicating that congestion • Discard a packet • Control • Automatic rate adaptation  requires an estimation of the RTT

  26. Congestion control in TCP • Slow start • Duplicate acknowledgments • Equilibrium • Additive increase • Multiplicative decrease

More Related