Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim 03.01.2010.

Similar presentations


Presentation on theme: "CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim 03.01.2010."— Presentation transcript:

1 CSEE W4140 Networking 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)  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 for various data link layers: Ethernet: 1500FDDI:4352 802.3:1492ATM AAL5: 9180 802.5: 4464PPP: 296

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: 1500FDDI:4352 802.3:1492ATM AAL5: 9180 802.5: 4464PPP: negotiated

4 IP Fragmentation MTUs: FDDI: 4352 Ethernet: 1500 Fragmentation: IP router splits the datagram into several datagram Fragments are reassembled at receiver  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?

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? Fragment offset Offset of the payload of the current fragment in the original datagram Total length Total length of the current fragment  The following fields in the IP header are involved:

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 2 16 -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  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 <= 2 32 -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 receive Example: 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 2 16 -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

25

26 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

27 Announcement  Midterm next week Prelabs 1 ~ 5 Lectures 1 ~ 6 Labs 1 ~ 4

28 Main Points of Lab 5 Parts 1~4  TCP and UDP Throughput IP Fragmentation  TCP Connection Management

29 Homework  No prelab due this Friday  Lab report 5 part 1 due by next week


Download ppt "CSEE W4140 Networking Laboratory Lecture 6: TCP and UDP Jong Yul Kim 03.01.2010."

Similar presentations


Ads by Google