UDP:User Datagram Protocol [RFC 768] ·“no frills,,”“bare bones'” ■UDP use: Internet transport streaming multimedia protocol apps(loss tolerant,rate ■“best effort'”service,UDP sensitive) segments may be: ·DNS ·lost SNMP delivered out-of-order reliable transfer over to app UDP: ■connectionless.. ■add reliability at ·no handshaking between UDP sender, application layer receiver application-specific error ·each UDP segment recovery! handled independently of others Transport Layer3-16
Transport Layer3-16 UDP: User Datagram Protocol [RFC 768] ▪ “no frills,” “bare bones” Internet transport protocol ▪ “best effort” service, UDP segments may be: • lost • delivered out-of-order to app ▪ connectionless: • no handshaking between UDP sender, receiver • each UDP segment handled independently of others ▪ UDP use: ▪ streaming multimedia apps (loss tolerant, rate sensitive) ▪ DNS ▪ SNMP ▪ reliable transfer over UDP: ▪ add reliability at application layer ▪ application-specific error recovery!
UDP:segment header length,in bytes of 32 bits UDP segment, source port dest port including header length checksum 、 why is there a UDP? no connection application establishment (which can data add delay) (payload) simple:no connection state at sender,receiver ■small header size UDP segment format no congestion control: UDP can blast away as fast as desired Transport Layer3-17
Transport Layer3-17 UDP: segment header source port # dest port # 32 bits application data (payload) UDP segment format length checksum length, in bytes of UDP segment, including header ▪ no connection establishment (which can add delay) ▪ simple: no connection state at sender, receiver ▪ small header size ▪ no congestion control: UDP can blast away as fast as desired why is there a UDP?
UDP checksum Goal:detect "errors"(e.g.,flipped bits)in transmitted segment sender: receiver: treat segment contents, compute checksum of including header fields, received segment as sequence of 16-bit integers check if computed checksum equals checksum field value: ■checksum:addition (one's complement sum) ·NO-error detected of segment contents YES-no error detected. sender puts checksum But maybe errors value into UDP checksum nonetheless?More later field Transport Layer3-18
Transport Layer3-18 UDP checksum sender: ▪ treat segment contents, including header fields, as sequence of 16-bit integers ▪ checksum: addition (one’s complement sum) of segment contents ▪ sender puts checksum value into UDP checksum field receiver: ▪ compute checksum of received segment ▪ check if computed checksum equals checksum field value: • NO - error detected • YES - no error detected. But maybe errors nonetheless? More later …. Goal: detect “ errors ” (e.g., flipped bits) in transmitted segment
Internet checksum:example example:add two 16-bit integers 1110011001100110 1101010101010101 wraparound ①1011101110111011 sum 1011101110111100 checksum 0100010001000011 Note:when adding numbers,a carryout from the most significant bit needs to be added to the result Check out the online interactive exercises formore examples:http://gaia.cs.umass.edu/kurose_ross/interactive/ Transport Layer3-19
Transport Layer3-19 Internet checksum: example example: add two 16-bit integers 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 wraparound sum checksum Note: when adding numbers, a carryout from the most significant bit needs to be added to the result * Check out the online interactive exercises for more examples: http://gaia.cs.umass.edu/kurose_ross/interactive/
Chapter 3 outline 3.I transport-layer services 3.5 connection-oriented 3.2 multiplexing and transport:TCP demultiplexing ·segment structure 3.3 connectionless transport: reliable data transfer UDP ·flow control 3.4 principles of reliable data connection management transter 3.6 principles of congestion control 3.7 TCP congestion control Transport Layer3-20
Transport Layer3-20 Chapter 3 outline 3.1 transport-layer services 3.2 multiplexing and demultiplexing 3.3 connectionless transport: UDP 3.4 principles of reliable data transfer 3.5 connection-oriented transport: TCP • segment structure • reliable data transfer • flow control • connection management 3.6 principles of congestion control 3.7 TCP congestion control