Multiplexing/demultiplexing: examples source port:x Web client host a dest. port: 23 server b host c ource port: dest. port: x I Source IP: C Source IP: C Dest ip: B Dest ip: B source port:y source port:x port use: simple telnet app dest. port: 80 dest. port: 80 Source IP:A Dest ip: B Web Web client source port:x server b host a dest port: 80 port use: Web server 3: Transport Le 3a-6
3: Transport Layer 3a-6 Multiplexing/demultiplexing: examples host A server B source port: x dest. port: 23 source port:23 dest. port: x port use: simple telnet app Web client host A Web server B Web client host C Source IP: C Dest IP: B source port: x dest. port: 80 Source IP: C Dest IP: B source port: y dest. port: 80 port use: Web server Source IP: A Dest IP: B source port: x dest. port: 80
UDP: User datagram Protocol [RFC 768 口“ no frills"" bare bones" Internet transport Why is there a UDP? protocol o no connection 0" best effort"service, UDP establishment(which can segments may be add delay o lost g simple: no connection state o delivered out of order at sender receiver to app 口sma| segment header g connectionless g no congestion control: UDP o no handshaking between can blast away as fast as UDP sender receiver desired o each UDP segment handled independently of others 3: Transport Layer 3a-7
3: Transport Layer 3a-7 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 Why is there a UDP? no connection establishment (which can add delay) simple: no connection state at sender, receiver small segment header no congestion control: UDP can blast away as fast as desired
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 (why? ) eader O DNS O SNMP Application g reliable transfer over UDP data add reliability at message applicaTion layer o application-specific UDP segment format error recover 3: Transport Layer 3a-8
3: Transport Layer 3a-8 UDP: more often used for streaming multimedia apps loss tolerant rate sensitive other UDP uses (why?): DNS SNMP reliable transfer over UDP: add reliability at application layer application-specific error recover! 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 口 checksum: addition(1s 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 nonethless? More later field 3: Transport Layer 3a-9
3: Transport Layer 3a-9 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 nonethless? More later …. Goal: detect “errors” (e.g., flipped bits) in transmitted segment
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 data reliable data transfer protocol transfer protocol (sending side) (receiving side uand0四[wxt- dt rcv( Unreliable channe (a) provided service (b) service implementation o characteristics of unreliable channel will determine complexity of reliable data transfer protocol (rdt 3: Transport Layer 3a-10
3: Transport Layer 3a-10 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)