DOC PREVIEW
DREXEL ECES 490 - topic20

This preview shows page 1-2-19-20 out of 20 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 20 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

PowerPoint PresentationLayer 4: ReviewInternet Layer 4 ProtocolsTCP: Transmission Control ProtocolTCPImplementing TCPSlide 7Slide 8Slide 9Slide 10The TCP HeaderSlide 12Slide 13Slide 14Slide 15Congestion Control Tanenbaum pp 529-545Slide 17Slide 18Large delay-bandwidth-product linksA TCP “Conversation”Copyright 2002, S.D. Personick. All Rights Reserved. 1Telecommunications Networking IITopic 20Transmission Control Protocol (TCP)Ref: Tanenbaum pp:521-545Dr. Stewart D. PersonickDrexel UniversityCopyright 2002, S.D. Personick. All Rights Reserved. 2Layer 4: Review•The layer 4 (Transport Layer) protocol has responsibility to ensuring end-to-end (host-to-host) reliability of communication of packets. It is responsible for detecting lost packets, duplicate packets, and packets arriving out of their intended order•Some layer 4 protocols, by design, ensure none of the aboveCopyright 2002, S.D. Personick. All Rights Reserved. 3Internet Layer 4 Protocols•TCP (transmission control protocol): for reliable communication of packets across a network•UDP (user datagram protocol): for “best effort” delivery of packets…adds a checksum, but does not acknowledge receipt of packets at layer 4Copyright 2002, S.D. Personick. All Rights Reserved. 4TCP: Transmission Control Protocol•Each machine (e.g., host) which supports TCP has a (typically) software-defined “process” (transport entity) which -accepts data from other local processes-breaks the data up into “pieces” not exceeding ~64 Kbytes each [(2**16) - 40 = 65,496]-places these “pieces” into IP datagrams-delivers these datagrams to the IP layerCopyright 2002, S.D. Personick. All Rights Reserved. 5TCP•TCP-Transport Entity: a piece of software that implements/executes the TCP protocol•TCP-Protocol: the set of “rules” defined in RFC 793, RFC 1122, and RFC 1323Copyright 2002, S.D. Personick. All Rights Reserved. 6Implementing TCP•The sender and the receiver (hosts) create “sockets” (abstract I/O entities) that consist of an IP address and local 16 bit por t number. Sockets must be explicitly established on the sending and receiving machines•Sockets may be used for multiple connections at the same timeCopyright 2002, S.D. Personick. All Rights Reserved. 7•Certain port numbers below 1024 are reserved for “well known services” :e.g., port 21 is used for FTP (file transfer protocol); port 25 is used for SMTP (simple mail transfer protocol); port 80 is used by servers for incoming WWW connections from clients•TCP connections are full-duplex and point-to-point (no multicasting)Implementing TCPCopyright 2002, S.D. Personick. All Rights Reserved. 8•TCP entities exchange data in the form of segments•A segment consists of a 20-byte TCP header, plus zero or more data bytes•Each segment, must fit into a 65,536 byte IP datagram, but segments are typically much smallerImplementing TCPCopyright 2002, S.D. Personick. All Rights Reserved. 9•Each transmitted byte is given a sequence number by its sender. The sequence numbers are modulo 2**32. Segments are numbered according to the sequence number of the last byte in the segment •The receiving entity acknowledges received segments by their sequence numbers(it can piggyback acknowledgements with data going the other way)Implementing TCPCopyright 2002, S.D. Personick. All Rights Reserved. 10•An destination-specified “window size” determines the maximum number of unacknowledged bytes that can be sent•Segments must be acknowledged in order (of their sequence numbers)•Timers determine whether unacknowledged packets will be resent by their senders•As usual, simple as this sounds: “the devil is in the details”Implementing TCPCopyright 2002, S.D. Personick. All Rights Reserved. 11The TCP HeaderSource portDestination portSequence numberAcknowledgementWindow sizeH.L.ChecksumUrgent pointerOptions: 0 or more 4-byte wordsData (optional)Not usedCopyright 2002, S.D. Personick. All Rights Reserved. 12The TCP Header•Source and Destination Port numbers•Sequence number (# of last byte in segment)•Acknowledgement number (# of next byte expected)•H.L. : TCP Header length in 4-byte words•Unused bits (6)Copyright 2002, S.D. Personick. All Rights Reserved. 13•URG (1) set to “1” if the urgent pointer is in use (see below)•ACK(1) set to “1” if the acknowledgement sequence number is being used in this segment•PSH (1) set to “1” if the receiver is requested to deliver the data to the application upon arrival, and not buffer it while waiting for a buffer to fillThe TCP HeaderCopyright 2002, S.D. Personick. All Rights Reserved. 14•RST (1) : reset connection•SYN (1) : used to establish connections•FIN (1) : used to release connections•Window Size : used for flow control; determines the maximum number of bytes that can be sent, starting with the last byte acknowledged by the destination•Checksum: checks for errors, and includes a measure of the segment length in bytesThe TCP HeaderCopyright 2002, S.D. Personick. All Rights Reserved. 15•Urgent pointer : indicates the byte offset, from the current sequence number at which urgent data can be found (used to deliver time-critical data)•Options: as the name implies…example- used during connection establishment to specify the maximum datagram size that a host can acceptThe TCP HeaderCopyright 2002, S.D. Personick. All Rights Reserved. 16Congestion Control Tanenbaum pp 529-545•Senders retransmit segments when their timers “timeout”•Lack of acknowledgement of a transmitted (sent) segment can be due to network congestion or damage to the segment on a link•Various algorithms are used to throttle back the sending of segments when multiple timeouts occurCopyright 2002, S.D. Personick. All Rights Reserved. 17Congestion Control Tanenbaum pp 529-545•Generic approach:If several timeouts occur, the sender dramatically reduces its congestion control window size (the number of unacknowledged segments that can be transmitted for this connection); and subsequently increases this congestion control window size as newly sent segments are acknowledged. [E.g., reduce the window size to 1 segment. Then increase the window size by one segment, for each segment that is acknowledged.]Copyright 2002, S.D. Personick. All Rights Reserved. 18Congestion Control Tanenbaum pp 529-545•Generic approach:If several timeouts occur, the sender dramatically reduces its congestion control


View Full Document

DREXEL ECES 490 - topic20

Download topic20
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view topic20 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view topic20 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?