lecture91 administrative things r return homework # 1 r review some problems in homework # 1 r...
TRANSCRIPT
![Page 1: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/1.jpg)
Lecture9 1
Administrative Things
Return homework #1 Review some problems in
homework #1 Questions about grading? Yona WebCT for CSE245 is working! Start your project ASAP! Midterm schedule
![Page 2: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/2.jpg)
Lecture9 2
Chapter 3: Transport LayerOur goals: understand
principles behind transport layer services: multiplexing/
demultiplexing reliable data
transfer flow control congestion control
learn about transport layer protocols in the Internet: UDP: connectionless
transport TCP: connection-oriented
transport TCP congestion control
![Page 3: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/3.jpg)
Lecture9 3
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
![Page 4: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/4.jpg)
Lecture9 4
Transport services and protocols provide logical
communication between app processes running on different hosts
transport protocols run in end systems send side: breaks app
messages into segments, passes to network layer
recv side: reassembles segments into messages, passes to app layer
Two transport protocols available to apps in Internet TCP and UDP
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
logical end-end transport
![Page 5: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/5.jpg)
Lecture9 5
Transport vs. network layer
network layer: logical communication between hosts
transport layer: logical communication between processes relies on, enhances,
network layer services
Household analogy:12 kids sending letters
to 12 kids processes = kids app messages =
letters in envelopes hosts = houses transport protocol =
Ann and Bill network-layer protocol
= postal service
![Page 6: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/6.jpg)
Lecture9 6
Internet transport-layer protocols reliable, in-order
delivery (TCP) congestion control flow control connection setup
unreliable, unordered delivery: UDP no-frills extension of
“best-effort” IP
services not available: delay guarantees bandwidth guarantees
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysicalnetwork
data linkphysical
logical end-end transport
![Page 7: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/7.jpg)
Lecture9 7
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
![Page 8: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/8.jpg)
Lecture9 8
Multiplexing/demultiplexing
application
transport
network
link
physical
P1 application
transport
network
link
physical
application
transport
network
link
physical
P2P3 P4P1
host 1 host 2 host 3
= process= socket
delivering received segmentsto correct socket
Demultiplexing at rcv host:gathering data from multiplesockets, enveloping data with header (later used for demultiplexing)
Multiplexing at send host:
![Page 9: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/9.jpg)
Lecture9 9
How demultiplexing works host receives IP datagrams
each datagram has source IP address, destination IP address
each datagram carries 1 transport-layer segment
each segment has source, destination port number (recall: well-known port numbers for specific applications, 0-1023,
from 0-65535 ) host uses IP addresses & port
numbers to direct segment to appropriate socket
source port # dest port #
32 bits
applicationdata
(message)
other header fields
TCP/UDP segment format
![Page 10: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/10.jpg)
Lecture9 10
Connectionless demultiplexing Create sockets with port
numbers:DatagramSocket mySocket1 = new
DatagramSocket(99111);
DatagramSocket mySocket2 = new DatagramSocket(99222);
UDP socket identified by two-tuple:
(dest IP address, dest port number)
When host receives UDP segment: checks destination port
number in segment directs UDP segment to
socket with that port number
IP datagrams with different source IP addresses and/or source port numbers directed to same socket
![Page 11: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/11.jpg)
Lecture9 11
Connectionless demux (cont)
DatagramSocket serverSocket = new DatagramSocket(6428);
ClientIP:B
P3
client IP: A
P1P1P3
serverIP: C
SP: 6428
DP: 9157
SP: 9157
DP: 6428
SP: 6428
DP: 5775
SP: 5775
DP: 6428
SP provides “return address”
![Page 12: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/12.jpg)
Lecture9 12
Connection-oriented demux
TCP socket identified by 4-tuple: source IP address source port number dest IP address dest port number
recv host uses all four values to direct segment to appropriate socket
Server host may support many simultaneous TCP sockets: each socket identified
by its own 4-tuple
Web servers have different sockets for each connecting client
![Page 13: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/13.jpg)
Lecture9 13
Connection-oriented demux (cont)
ClientIP:B
P3
client IP: A
P1P1P3
serverIP: C
SP: 80
DP: 9157
SP: 9157
DP: 80
SP: 80
DP: 5775
SP: 5775
DP: 80
P4
![Page 14: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/14.jpg)
Lecture9 14
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
![Page 15: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/15.jpg)
Lecture9 15
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
![Page 16: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/16.jpg)
Lecture9 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
Applicationdata
(message)
UDP segment format
length checksumLength, in
bytes of UDPsegment,including
header
![Page 17: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/17.jpg)
Lecture9 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.
More in Chapter 5
Goal: detect “errors” (e.g., flipped bits) in transmitted segment
![Page 18: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/18.jpg)
Lecture9 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
![Page 19: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/19.jpg)
Lecture9 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)
![Page 20: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/20.jpg)
Lecture9 20
Reliable data transfer: getting started
sendside
receiveside
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
![Page 21: Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!](https://reader036.vdocuments.site/reader036/viewer/2022062517/56649ee65503460f94bf7038/html5/thumbnails/21.jpg)
Lecture9 21
Reliable data transfer: getting startedWe’ll: incrementally develop sender, receiver
sides of reliable data transfer protocol (rdt) consider only unidirectional data transfer
but control info will flow on both directions!
use finite state machines (FSM) to specify sender, receiver
state1
state2
event causing state transitionactions taken on state transition
state: when in this “state” next state
uniquely determined by next event
eventactions