EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 13 Wenbing Zhao [email protected].
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao [email protected] (Part of the slides are based...
-
date post
18-Dec-2015 -
Category
Documents
-
view
217 -
download
0
Transcript of EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao [email protected] (Part of the slides are based...
EEC-484/584EEC-484/584Computer NetworksComputer Networks
Lecture 12Lecture 12
Wenbing ZhaoWenbing Zhao
[email protected](Part of the slides are based on Drs. Kurose & (Part of the slides are based on Drs. Kurose &
RossRoss’’s slides for their s slides for their Computer Networking Computer Networking book)book)
22
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
OutlineOutline
• Reminder:– April 7 5pm: CSU IS&T data center tour
• Quiz#3 results• Introduction to transport layer• Multiplexing/demultiplexing• Reliable data transfer mechanisms• Sliding window protocols (part I)
33
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
EEC 584 Quiz#3 ResultsEEC 584 Quiz#3 Results• High: 100 (9 students!), low: 67, average: 93.4• Q1: 46.9/50, Q2: 17.6/20, Q3: 9.7/10, Q4: 19.2/20
44
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Transport LayerTransport 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
55
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Transport vs. Data Link LayerTransport vs. Data Link Layer
• Similarities: deal with error control, sequencing, flow control
• Difference: operating environments
Environment of the data link layer Environment of the transport layer
66
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Transport vs. Network LayerTransport vs. Network Layer
• Network layer: logical communication between hosts
• Transport layer: logical communication between processes – Relies on, enhances, network layer services
77
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Internet Transport-Layer ProtocolsInternet 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
88
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Multiplexing/DemultiplexingMultiplexing/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:
99
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
How Demultiplexing WorksHow 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
• 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
1010
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Reliable Data TransferReliable Data Transfer
characteristics of unreliable channel will determine complexity of reliable data transfer protocol (rdt)
1111
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Reliable Data TransferReliable Data Transfer
• Basic reliable data transfer mechanisms– Acknowledgement– Retransmission– Sequence numbers
1212
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Sliding Window ProtocolsSliding Window Protocols
• Full-duplex: Use same connection for data in both directions (AB and BA)
• Interleave data and ack packets– B piggybacks its ack for A’s packet onto B’s next packet– Savings of header in separate ack packet
• If B sends data infrequently, use timeout to determine when B should send ack in separate ack packet
• Each packet contains sequence number in ranges 0..2n-1 (for n-bit sequence numbers)
1313
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Sliding Window Protocols:Sliding Window Protocols:SendingSending
• Sending window– Start from 0 and grow to a maximum value– List of consecutive sequence numbers of outstanding packets
0 1 2 3 4 5 6 7
1st outstanding packet
Last packetsent
0 1 2 3 4 5 6 7
3ack
0 1 2 3 4 5 6 7
A new packet sent (if send window allows)
Sent window enlarges when more packet is sent
0 1 2 3 4 5 6 7
Sent window shrinks when the ack corresponding to the 1st outstanding packet Is received
1414
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Sliding Window Protocols:Sliding Window Protocols:SendingSending
• When new packet arrives from application layer, it is given next highest sequence number, and upper edge of window is incremented
• When ack arrives from receiver, lower edge of window is incremented
• Within sending window, packets sent but not acked– Sender must keep those packets for possible retransmission– If max window size = w, need w buffers
1515
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Sliding Window Protocols:Sliding Window Protocols:ReceivingReceiving
• Receiving window – list of consecutive sequence numbers of packets that receiver is permitted to accept
• When packet with (seq num = lower edge of window) arrives– Packet is passed to higher layer– Ack is generated– Window slid down by 1 (remains same size as was initially)
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
3
1616
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Reliable Data Transfer:Reliable Data Transfer:Sliding Window ProtocolsSliding Window Protocols
• A One-Bit Sliding Window Protocol• A Protocol Using Go Back n• A Protocol Using Selective Repeat
1717
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
One-Bit Sliding Window ProtocolOne-Bit Sliding Window ProtocolA sliding window of size 1, with a 3-bit sequence number
Initially After first packet sent
After first packet received
After first ack received
1818
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Sliding Window Protocols: PipeliningSliding Window Protocols: Pipelining
• Problem of one-bit sliding window protocol:– Sender blocks till receives acks
• Solution: pipelining– Allow sender to send up to w packets before blocking
• With pipelining, if packet in middle is lost or damaged, what to do with the packets following it ?
• Solution: two strategies– Go Back n - all the packets following it are discarded– Selective repeat – nack the lost/damaged packet and
retransmit that packet
1919
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Pipelining and Error RecoveryPipelining and Error Recovery
Go back n: Effective receiver window size is 1
Packets discarded
2020
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Pipelining and Error RecoveryPipelining and Error Recovery
Selective repeat
Can you think of an alternative to go-back-n and selective-repeat?
Packets buffered
2121
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Go Back Go Back nn
• Sender– Stores all packets in output buffer– Must get acks in order in which packets are sent
• Receiver– Discards all packets following lost or damaged one
• Works well – If transmission errors rare and few retransmissions– If lot of traffic in both directions
2222
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Selective RepeatSelective Repeat
• Receiver accepts and buffers packets following lost or damaged packets
• Both sender and receiver maintain windows– Sender’s window starts at 0, grows to MAX SEQ– Receiver’s window fixed at MAX SEQ
• Receiver has buffer reserved for each seq num in its window
0 1 2 3 4 5 6 7
2323
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Selective RepeatSelective Repeat• When packet arrives, receiver checks if seq num in
window• If so and if not already received, this packet is accepted
and stored• If all lower numbered packets delivered, this packet is
delivered as well
0 1 2 3 4 5 6 7
5
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
3
2424
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Non-Sequential Receive Problem Non-Sequential Receive Problem
• New range of valid sequence numbers for receiver can overlap old range
• Overlap can contain duplicates• Example: n = 3-bit seq num (8 possible
numbers, 0 through 7, back to 0)
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
2525
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Non-Sequential Receive ProblemNon-Sequential Receive Problem• Sender sends 0,1,2,3,4,5,6• Receiver
– Receives 0,1,2,3,4,5,6– Sends ack but ack gets lost– Expects to receive 7,0,1,2,3,4,5
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
0 1 2 3 4 5 6
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
2626
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Non-Sequential Receive ProblemNon-Sequential Receive Problem• Sender times out, retransmits 0,1,2,3,4,5,6• Receiver checks 0 is in new window, thinks new 0
because has sent ack for old 6, waits for 7
0 1 2 3 4 5 6
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
2727
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Non-Sequential Receive ProblemNon-Sequential Receive Problem
• Sender receives ack for 0-6, sends 7• Receiver receives 7, delivers 7 and
old 0 (as new 0 !)
7
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
2828
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Non-Sequential Receive ProblemNon-Sequential Receive Problem
• The problem is caused by the overlap of sequence number between the new receiving window and the old receiving window
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
0 1 2 3 4 5 6
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
Overlap Overlap
2929
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Non-Sequential Receive ProblemNon-Sequential Receive Problem
• Solution: – make sure no overlap when receiver advances its
window– Make window size w =1/2 range of seq numbers
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
0 1 2 3
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
No Overlap
3030
Spring Semester 2008Spring Semester 2008 EEC-484/584: Computer NetworksEEC-484/584: Computer Networks Wenbing ZhaoWenbing Zhao
Selective RepeatSelective Repeat
• If no reverse traffic before timer goes off, separate ack is sent
• When receiver suspects error, sends NAK back to sender (request for retransmission)
• Two circumstances that trigger NAK– Damaged packet arrives– Packet other than expected one arrives, suspect expected one is
lost
• Receiver sends only one NAK for packet expected