UDP: more o offen used for streaming multimedia apps 32 bits o loss tolerant Length source port dest port o rate sensitive bytes of UDP length checksum other UDP uses segment IncludIng O DNS eader O SNMP o reliable transfer over UDP Application add reliability at data application layer message o applicaTion-specifIC error recovery UDP segment format Transport layer 3-16
Transport Layer 3-16 UDP: more often used for streaming multimedia apps loss tolerant rate sensitive other UDP uses DNS SNMP reliable transfer over UDP: add reliability at application layer application-specific error recovery! source port # dest port # 32 bits Application data (message) UDP segment format length checksum Length, in bytes of UDP segment, including header
UDP checksum Goal: detect"errors"(e., flipped bits)in transmitted segment Sender Receiver o treat segment contents 口 compute checksum of as sequence of 16-bit received segment Integers o check if computed checksum o checksum: addition (1's equals checksum field value complement sum)of o NO-error detected segment contents O yES- no error detected 口 sender puts checksum But maybe errors value into uDp checksum nonetheless? More later field Transport layer 3-17
Transport Layer 3-17 UDP checksum Sender: treat segment contents as sequence of 16-bit integers checksum: addition (1’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
Chapter 3 outline 口31 Transport-ayer d3.5 Connection-oriented services transport: TCP 03.2 Multiplexing and o segment structure demultiplexing o reliable data transfer 03. 3 Connectionless flow control transport: UDP o connection management O 3.4 Principles of 口36 Principles of reliable data transfer congestion control 口3.7 TCP congestion contro Transport Layer 3-18
Transport Layer 3-18 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
Principles of reliable data transfer o important in app. transport, link layers o top-10 list of important networking topics COO sending recelver process process data data Reliable channel rat send()↓四 a ata deliver_data( reliable date reliable data transfer protocol transfer protocol (sending side) (receiving side udt send(I packet] packet frat rcv() Unreliable channe (a) provided service (b) service implementation o characteristics of unreliable channel will determine complexity of reliable data transfer protocol (rdt Transport Layer 3-19
Transport Layer 3-19 Principles of Reliable data transfer important in app., transport, link layers top-10 list of important networking topics! characteristics of unreliable channel will determine complexity of reliable data transfer protocol (rdt)
Reliable data transfer: getting started rdt send(: called from above deliver data(): called by (e.g, by app. ) Passed data to rdt to deliver data to upper deliver to receiver upper layer rdt send()Idata data Deliver data() send reliable data reliable data receive transfer protocol transfer protocol side (sending side 〔 receiving side) side udt send( packet packet rat rcv unreliable channel udt send(: called by rdt rdt rcv(): called when packet to transfer packet over arrives on rcv-side of channel unreliable channel to receiver Transport Layer 3-20
Transport Layer 3-20 Reliable data transfer: getting started send side receive side rdt_send(): called from above, (e.g., by app.). Passed data to deliver to receiver upper layer udt_send(): called by rdt, to transfer packet over unreliable channel to receiver rdt_rcv(): called when packet arrives on rcv-side of channel deliver_data(): called by rdt to deliver data to upper