Study sets, textbooks, questions
Upgrade to remove ads
ECE407 Transport Layer Study Guide
Introduction to Computer Networking
Terms in this set (31)
Explain what are the services typically provided by the transport layer.
MULTIPLEXING - handle data from multiple sockets, add transport header(IP and port #s)
DEMULTIPLEXING - use transport header info to deliver messages to correct socket, host uses IP addresses and port numbers to direct segment to appropriate socket
RELIABLE DATA TRANSFER - complexity of rdt protocol relies of characteristics of the unreliable channel, multiple rdt protocols
CONGESTION CONTROL - too many sources sending too much data too fast for network to handle
Explain why the transport protocols typically runs only on the end systems.
transport is used for communication between processes and therefore the hosts do not need access to this information, text messages
List the two most common Internet transfer protocols.
UDP and TCP
Explain the services provided by TCP and UDP.
UDP - demultiplexing using destination port number only, connectionless
TCP - demultiplexing using 4-tuple: source/destination IP addresses and port numbers, connection oriented
Explain the role of the multiplexing/demultiplexing function of the transport protocols.
UDP - demultiplexing using destination port number only
TCP - demultiplexing using 4-tuple: source and destination IP addresses and port numbers
Explain how sockets are used for multiplexing/demultiplexing in the Internet.
The multiplexing and demultiplexing handles what sockets that the packets go into
Explain how multiplexing/demultiplexing is implemented for UDP.
When creating socket, must specify host-local port #, when creating the datagram to send into UDP socket you must specify destination IP and port #, receiving host checks destination port # and sends it to the socket with that port
Explain how multiplexing/demultiplexing is implemented for TCP.
TCP socket identified by 4-tuple, source/destination IP and port #s, demux uses all 4 values to direct segment into appropriate socket, server may support many simultaneous TCP sockets, each socket is identified by its own 4-tuple, each socket associated with a different connecting client(TCP destination port # is 80)
Given a diagram with a few hosts and TCP and/or UDP connections, label the packets with possible ports.
All TCP destination ports are port # 80
All UDP destination ports are port # 53
Explain the role of each field in the UDP header.
SOURCE PORT # - where the packet is coming from
DESTINATION PORT # - where the packet is going to
LENGTH - length in bytes of UDP segment, including header
CHECKSUM - detect errors (flipped bits) in transmitted segment
APPLICATION DATA(PAYLOAD) - information within the packet
Explain the role of the checksum field in UDP, how is computed, whether or not it can fail (if yes, how?).
checksum is used to detect errors (i.e., flipped bits) in transmitted signal
at the source, the value is the summed one's complement of the segment content, then that value and is checked with the summed one's complement of the segment content at the destination, if they are not equal there is error, if they are equal it might not have an error, there could be multiple error causing this sum to remain the same
Explain the service provided by a reliable data layer including each of the functions: rdt_send(), udt_send(), rdt_rcv(), deliver_data().
rdt channel is one way(sender to receiver), complexity of rdt protocol will depend (strongly) on characteristics of unreliable channel (lose, corrupt, reorder data)
rdt_send() - called from above(app), passed data to deliver to receiver
udt_send() - called by rdt to transfer packet over unreliable channel to receiver
rdt_rcv() - called when packet arrives on receiver side of channel
deliver_data() - called by rdt to deliver data to upper layer
Explain the elements used in the representations of the finite state machines (FSMs).
STATE - when in a state, next state is uniquely determined by next event
EVENT/ACTIONS - event causing state transitions/actions taken on state transition
FSM - used to specify sender, receiver
Given a protocol described in plain English, design a finite state machine corresponding to that protocol. Take a shot at buying a drive through meal at McDonald's and include time outs and mishaps (no money after order, not the right burger, etc.).
if no money after order, go to window and cancel, if wrong burger, go inside and fix or go back through drive through event/action determines next state
Explain why do you need separate FSMs for the sender and the receiver.
SENDER FSM - sends data into underlying channel
- wait for call from above, rdt_send(data) event / action packet = make_pkt(data) udt_send(packet)
RECEIVER FSM - reads data from underlying channel
- wait for call from below, rdt_rcv(packet) event / action extract (packet,data) deliver_data(data)
Explain how each of the FSMs for rdt 1.0, 2.0, 2.1, 2.2, and 3.0 works.
Transport Layer 1 PPT slides 43-61
Given a modified FSM for any of the protocols rdt 1.0, 2.0, 2.1, 2.2, and 3.0 find an error or a flaw of the protocol.
rdt2.0 - fatal flaw is ACk/NAK corrupted, sender doesnt know what happened at receiverm cant just retransmit possible duplicate, sequence number handles duplicates
Given a FSM for any of the protocols and a sequence of events, produce the timing diagrams.
rdt2.0 - uses stop and wait for receiver response
Explain how ACKs alone can be used instead of ACKs and NACKs.
rdt2.2 - receiver sends an ACK for last packet received, including sequence number of packet, duplicate ACK at sender results is same as NAK(retransmit current pkt)
Given an arbitrary FSM and sequence of events produce a timing diagram.
rdt 3.0 on slide 64 of Transport Layer 1
Given the relevant quantities, compute the efficiency of rdt 3.0.
utilization Usender = [length/rate] / [RTT + (length/rate)]
Explain how a pipelined protocol can improve the efficiency of rdt 3.0.
sender allows for multiple "in-flight" yet to be acknowledged packets, sequence number range must increase, buffering can occur at sender/receiver
Usender * pipelining packet amount = Utilization
Given the relevant data, compute the efficiency of go-back-n and selective repeat (assume no lost packets).
GO-BACK-N = min( N*TRANS / TRANS+ACK+2PROP , 1 )
SELECTIVE REPEAT = is the same as go-back-n efficiency
Explain how go-back-n and selective repeat work.
GO-BACK-N(sender) - have a window of size N consecutive unACKed pkts, uses cumulative ACK(n), so all packets in sequence through n are ACK, once ACK(n) is received, window slides forward to n+1, there is a timer for the oldest in flight pkt, if timeout(n), retransmit n and all higher sequence # packets in window
GO-BACK-N(receiver) - always send ACK for correctly received pkt so far, with highest in-order sequence #, may need to generate duplicate ACKs, need only remember rcv_base, on receipt of out-of-order pkt, can discard(no buffer) or buffer then re-ACK pkt with highest in-order sequence
SELECTIVE REPEAT - receiver individually ACKs all correctly received pkts, buffers pkts as needed for eventual in-order delivery to upper layer, sender times-out/retransmits individually for unACKed packets, sender maintains timer for each unACKed pkt, sender window has N consecutive seq #s
Contrast go-back-n and selective repeat in efficiency and required resources.
They are equivalent in efficiency without errors. If there is an error, selective repeat is more efficient because it only sends back the pkt that is missing where as go-back-n send the whole window.
Explain the FSMs for go-back-n and selective repeat.
GO-BACK-N: shift the window(size N) each time the first pkt in window is ACKed. If timeout, resend entire window of pkts
SELECTIVE REPEAT: ACK each pkt and then wait for resend with timeout of the unACKed packets
Given an initial state and a sequence of events for go-back-n, draw a timing diagram explaining the evolution of the protocol.
Transport Layer 1(slide 72), send window of packets, if one pkt times out, resend a new window starting with that one.
Given an initial state and a sequence of events for selective repeat, draw a timing diagram explaining the evolution of the protocol.
Transport Layer 1(slide 77), send each packet, when a timeout occurs, send that packet again
Explain the sequence number requirements for selective repeat.
If next available seq # in window is available, send pkt.
Given several network parameters (e.g. line length, packet size, ACK size, etc.), compute the efficiency of reliable transmission protocol in the absence of errors. Examples of such protocols can be stop-and-wait, go-back-n, selective repeat, etc.
selective repeat, and go-back-n are the same and in another slide
Given several network parameters, compute the minimum window of sliding window reliable data transfer protocol that results in 100% efficiency (assuming no errors).
selective repeat uses N consecutive seq #s, limits seq #s of sent, unACKed packets
Other sets by this creator
ECE407 Link Layer Study Guide
ECE407 Network Layer Study Guide
ECE407 TCP Study Guide
ECE407 Wireshark Study Guide
Other Quizlet sets
BIOL 1060 Final
Pharmacology Exam 4 Lecture Questions
PSYC 206 - EXAM 3