CMPE 150 Winter 2009 Lecture 16 March 3 2009 P E Mantey CMPE 150 Introduction to Computer Networks Instructor Patrick Mantey mantey soe ucsc edu http www soe ucsc edu mantey Office Engr 2 Room 595J Office hours Tues 3 5 PM Mon 5 6 PM TA Anselm Kia akia soe ucsc edu Web site http www soe ucsc edu classes cmpe150 Winter09 Text Tannenbaum Computer Networks 4th edition available in bookstore etc Syllabus Text Readings Today Chapter 6 Sections 6 2 3 6 6 4 UDP 6 5 TCP 6 6 TCP Performance Tuesday March 10 Chapter 7 1 DNS 7 2 3 Chapter 7 4 Multimedia Internet Layering Level 5 Application Layer rlogin ftp SMTP POP3 IMAP HTTP Level 4 Transport Layer a k a Host to Host TCP UDP Level 3 Network Layer a k a Internet IP ICMP ARP Level 2 Data Link Layer MAC sub layer a k a Network Interface or Network Access Layer Level 1 Physical Layer Transport Layer Connection Oriented Service Addressing Access Points Connection Request Establishment Delayed Duplicate Packet Problem Timer management Connection points Connection Release Connection Release Asymmetric release telephone system When one party hangs up connection breaks May cause data loss Symmetric release Treats connection as 2 separate unidirectional connections Requires each to be released separately Symmetric Release How to determine when all data has been sent and connection could be released 2 army problem Blue army 1 Blue army 2 White army larger than either blue armies White army Blue army together is larger If each blue army attacks it ll be defeated They win if attack together 2 Army Problem 1 To synchronize attack they must use messengers that need to cross valley unreliable Is there a protocol that allows blue army to win No Blue army 1 sends message to blue army 2 Blue army 2 sends ACK back Blue army 2 is not sure whether ACK was received 2 Army Problem 2 Use 2 way handshake Blue army 1 ACKs back but it ll never know if the ACK was received Applying to connection release Neither side is prepared to disconnect until convinced other side is prepared to disconnect In practice hosts are willing to take risks Connection Release Protocol Send DR start timer DR DR Release connection Send ACK DR disconnection request Send DR start timer ACK Release connection Connection Release Scenarios 1 Send DR start timer DR DR Release connection Send ACK DR disconnection request Send DR start timer ACK Timeout Release connection Connection Release Scenarios 2 Send DR start timer DR disconnection request DR DR Timeout send DR start timer Send DR start timer DR Send DR start timer DR ACK Release connection Transport Layer Assumes Network is unreliable Sender buffers all TPDUs until acknowledged Receiver may also buffer Difficult to decide buffer size as TPDUs Dynamic buffer allocation may be best strategy Buffer size negotiated by exchange of control packets Deadlock can occur if control packets get lost Solution is periodic sending of control TPDUs containing acknowledgements and buffer status Flow Control and Buffering Premise Network is unreliable Consequence Sender must buffer all TPDUs sent May need to retransmit Receiver needs to buffer Out of order TPDUs Flow control to application s maximize tranmission speed Sender TP layer also buffers to even flow from its application s smooth out bursts to match network Buffering negotiated between sender and receiver Hosts clients and servers may have each have many connections in contrast to link layer point to point Buffer pool Flow Control and Buffering a Chained fixed size buffers b Chained variable sized buffers c One large circular buffer per connection Multiplexing Upward Multiplexing One IP address shared by multiple Transport Layer processes ports Downward Multiplexing Use multiple virtual circuits to get more bandwidth e g join multiple ISND lines to get a higher bandwidth Multiplexing a Upward multiplexing multiplexing b Downward Crash Recovery Transport layer can handle crashes of network layer Transport expects errors in network Machine crash causes transport layer crash Recovery more challenging Related to database commit Cannot be managed at Transport Layer Crash Recovery Client States S0 no TPDUs outstanding S1 one TPDU outstanding End to end Ack Perfect end to end acknowledgement means 1 if you get it the ack the task was completed 2 if you do not get the ack the task was not completed Can t do both at the same time and guarantee either both or neither were done Example database update transaction commit Probably impossible Saltzer 1984 Recovery Principal Layer above with enough status information can recover from crash of the layer below Recovery from crash at layer N needs to be done at layer N 1 who must have necessary status info The Internet Transport Protocols UDP User Datagram Protocol Introduction to UDP Connectionless IP with a short header Carries source and destination ports Sends segments with 8 byte header Introduction to UDP The UDP header The Internet Transport Protocols UDP User Datagram Protocol Introduction to UDP Connectionless IP with a short header carries ports Sends segments with 8 byte header No flow control No error control No retransmission for bad segments The Internet Transport Protocols UDP User Datagram Protocol Introduction to UDP Connectionless IP with a short header carries ports Used with client server and realtime multimedia The Internet Transport Protocols UDP User Datagram Protocol Introduction to UDP Connectionless IP with a short header carries ports Used with client server and real time multimedia Remote Procedure Call The Real Time Transport Protocol Remote Procedure Call Steps in making a remote procedure call The stubs are shaded Client makes a local procedure call an alternative to sockets Real time Transport Protocol RTP Basic function support multiplexing of real time data streams into a single stream of UDP packets Header field specifies encoding May include timestamps give relative time for each packet for synchronization of audio and video and to help reduce jitter RTP numbers packets sequentially so receiver can determine if any missing No resend better for multimedia if receiver just interpolates to create missing packet The Real Time Transport Protocol a The position of RTP in the protocol stack b Packet nesting The Real Time Transport Protocol 2 The RTP header The Internet Transport Protocols TCP Introduction to TCP The TCP Service Model The TCP Protocol The TCP Segment Header TCP Connection Establishment TCP Connection Release TCP
View Full Document
Unlocking...