1 / 29

CSEE W4140 Networking Laboratory

CSEE W4140 Networking Laboratory. Lecture 6: TCP and UDP Jong Yul Kim 03.01.2010. Maximum Transmission Unit. Maximum size of IP datagram is 65535, but the data link layer protocol generally imposes a limit that is much smaller For example:

keren
Download Presentation

CSEE W4140 Networking Laboratory

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. CSEE W4140Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim 03.01.2010

  2. Maximum Transmission Unit • Maximum size of IP datagram is 65535, but the data link layer protocol generally imposes a limit that is much smaller • For example: • Ethernet frames have a maximum payload of 1500 bytes IP datagrams encapsulated in Ethernet frame cannot be longer than 1500 bytes • The limit on the maximum IP datagram size, imposed by the data link protocol is called maximum transmission unit (MTU) • MTUs for various data link layers: Ethernet: 1500 FDDI: 4352 802.3: 1492 ATM AAL5: 9180 802.5: 4464 PPP: 296 • What if the size of an IP datagram exceeds the MTU? IP datagram is fragmented into smaller units. • What if the route contains networks with different MTUs?

  3. Maximum Transmission Unit • Maximum size of IP datagram is 65535, but the data link layer protocol generally imposes a limit that is much smaller • Example: • Ethernet frames have a maximum payload of 1500 bytes  IP datagrams encapsulated in Ethernet frame cannot be longer than 1500 bytes • The limit on the maximum IP datagram size, imposed by the data link protocol is called maximum transmission unit (MTU) • MTUs for various data link protocols: Ethernet: 1500 FDDI: 4352 802.3: 1492 ATM AAL5: 9180 802.5: 4464 PPP: negotiated

  4. IP Fragmentation • What if the size of an IP datagram exceeds the MTU? IP datagram is fragmented into smaller units. • What if the route contains networks with different MTUs? • MTUs:FDDI: 4352Ethernet: 1500 • Fragmentation: • IP router splits the datagram into several datagram • Fragments are reassembled at receiver

  5. Where is Fragmentation done? • Fragmentation can be done at the sender or at intermediate routers • The same datagram can be fragmented several times. • Reassembly of original datagram is only done at destination hosts !!

  6. What’s involved in Fragmentation? • The following fields in the IP header are involved: Identification When a datagram is fragmented, the identification is the same in all fragments Flags DF bit is set: Datagram cannot be fragmented and must be discarded if MTU is too small MF bit set: This datagram is part of a fragment and an additional fragment follows this one

  7. What’s involved in Fragmentation? • The following fields in the IP header are involved: Fragment offset Offset of the payload of the current fragment in the original datagram Total length Total length of the current fragment

  8. Example of Fragmentation • A datagram with size 2400 bytes must be fragmented according to an MTU limit of 1000 bytes

  9. Today’s topics • We move one layer up and look at the transport layer.

  10. UDP vs TCP

  11. UDP - User Datagram Protocol • UDP supports unreliable transmissions of datagrams • UDP merely extends the host-to-to-host delivery service of IP datagram to an application-to-application service • The only thing that UDP adds is multiplexing and demultiplexing

  12. UDP Format • Port numbers identify sending and receiving applications (processes). Maximum port number is 216-1= 65,535 • Message Length is at least 8 bytes (I.e., Data field can be empty) and at most 65,535 • Checksum is for header (of UDP and some of the IP header fields)

  13. Port Numbers • UDP (and TCP) use port numbers to identify applications • A globally unique address at the transport layer (for both UDP and TCP) is a tuple <IP address, port number> • There are 65,535 UDP ports per host.

  14. TCP - Transmission Control Protocol • Reliable and in-order byte-stream service • TCP format • Connection establishment • Flow control • Reaction to congestion Next Lecture

  15. TCP Format • TCP segments have a 20 byte header with >= 0 bytes of data.

  16. TCP header fields • Sequence Number (SeqNo): • Sequence number is 32 bits long. • So the range of SeqNo is 0 <= SeqNo <= 232 -1  4.3 Gbyte • Each sequence number identifies a byte in the byte stream • Initial Sequence Number (ISN) of a connection is set during connection establishment Q: What are possible requirements for ISN ?

  17. TCP header fields • Acknowledgement Number (AckNo): • The AckNo contains the next SeqNo that a hosts wants to receiveExample: The acknowledgement for a segment with sequence numbers 0-1500 is AckNo=1501 • A hosts uses the Acknowlegement Number field to send acknowledgements. (If a host sends an AckNo in a segment it sets the “ACK flag”) • Acknowledgements are piggybacked, i.e., a segment from A -> B can contain an acknowledgement for a data sent in the B -> A direction Q: Why is piggybacking good ?

  18. TCP header fields • Header Length ( 4bits): • Length of header in 32-bit words • Note that TCP header has variable length (with minimum 20 bytes)

  19. TCP header fields • Flag bits: • URG: Urgent pointer is valid • If the bit is set, the following bytes contain an urgent message in the range:SeqNo <= urgent message <= SeqNo+urgent pointer • ACK: Acknowledgement Number is valid • PSH: PUSH Flag • Notification from sender to the receiver that the receiver should pass all data that it has to the application. • Normally set by sender when the sender’s buffer is empty

  20. TCP header fields • Flag bits: • RST: Reset the connection • The flag causes the receiver to reset the connection • Receiver of a RST terminates the connection and indicates higher layer application about the reset • SYN: Synchronize sequence numbers • Sent in the first packet when initiating a connection • FIN: Sender is finished with sending • Used for closing a connection • Both sides of a connection must send a FIN

  21. TCP header fields • Window Size: • Each side of the connection advertises the window size • Window size is the maximum number of bytes that a receiver can accept. • Maximum window size is 216-1= 65535 bytes • TCP Checksum: • TCP checksum covers over both TCP header and TCP data (also covers some parts of the IP header) • 16-bit one’s complement • Urgent Pointer: • Only valid if URG flag is set

  22. Three-Way Handshake Why is two-way handshake not enough?

  23. TCP States in “Normal” Connection Lifetime

  24. Resetting Connections • Resetting connections is done by setting the RST flag • When is the RST flag set? • Connection request arrives and no server process is waiting on the destination port • Abort (Terminate) a connection Causes the receiver to throw away buffered data. Receiver does not acknowledge the RST segment

  25. Announcement • Midterm next week • Prelabs 1 ~ 5 • Lectures 1 ~ 6 • Labs 1 ~ 4

  26. Main Points of Lab 5 Parts 1~4 • TCP and UDP • Throughput • IP Fragmentation • TCP Connection Management

  27. Homework • No prelab due this Friday • Lab report 5 part 1 due by next week

More Related