Save
Upgrade to remove ads
Busy. Please wait.
Log in with Clever
or

show password
Forgot Password?

Don't have an account?  Sign up 
Sign up using Clever
or

Username is available taken
show password


Make sure to remember your password. If you forget it there is no way for StudyStack to send you a reset link. You would need to create a new account.
Your email address is only used to allow you to reset your password. See our Privacy Policy and Terms of Service.


Already a StudyStack user? Log In

Reset Password
Enter the associated with your account, and we'll email you a link to reset your password.
focusNode
Didn't know it?
click below
 
Knew it?
click below
Don't Know
Remaining cards (0)
Know
0:00
Embed Code - If you would like this activity on your web page, copy the script below and paste it into your web page.

  Normal Size     Small Size show me how

3 Transport Layer

CSC311 Computer Networking - Chapter 3: Transport Layer

QuestionAnswer
What does a transport-layer protocol provide? provides logical communication between application processes running on different hosts
Transport-layer protocols are implemented in end systems. Explain what happens on the sending side and the receiving side respectively. - sender: breaks application messages into segments, passes to network layer - receiver: reassembles segments into messages, passes to application layer
Name the 2 transport layer protocols that are available to internet applications. - TCP (Transmission Control Protocol) - UDP (User Datagram Protocol)
What is the main difference between the transport-layer and the network layer in terms of communication? - transport layer provides logical communication between PROCESS - network layer provides logical communication between HOSTS
Use this analogy to explain the relation between the transport layer and the network layer: - 12 kids in Ann’s house sending letters to 12 kids in Bill’s house: Who/what are the application messages, processes, hosts, transport layer & network layer? - application messages = letters in envelopes - processes = kids - hosts (also called end systems) = houses - transport-layer protocol = Ann and Bill - network-layer protocol = postal service (including mail carriers)
What is the role of the sender in the transport layer action? Sender: - is passed an application-layer message - determines segment header fields values - creates segment - passes segment to IP
What is the role of the receiver in the transport layer action? Receiver: - receives segment from IP - checks header values - extracts application-layer message - demultiplexes message up to application via socket
The two principal Internet transport protocols are TCP and UDP. What do these protocols provide respectively? TCP: -reliable; delivers info in order -congestion control -flow control -connection setup UDP: -unreliable, unordered delivery -no-frills extension of “best-effort” IP
Multiplexing and demultiplexing is a service needed for all computer networks. How do each pf these services work? multiplexing at sender: - handle data from multiple sockets, add transport header (later used for demultiplexing) demultiplexing at receiver: - use header info to deliver received segments to correct socket
How does multiplexing work in a host? 1 host receives IP datagrams -each datagram has source & destination IP addr. -each datagram carries 1 transport-layer segment -each segment has source, destination port number 2 host uses IP addr. & port numbers to direct segment to correct socket
Connectionless Demultiplexing: what must one do when creating a socket? must specify host-local port #: DatagramSocket mySocket1 = new DatagramSocket(12534);
Connectionless Demultiplexing: what must one specify when creating a datagram to send into the UDP socket? must specify - destination IP address - destination port #
Connectionless Demultiplexing: what happens when the receiving host receives UDP segment? - checks destination port # in segment - directs UDP segment to socket with that port # IP/UDP datagrams with SAME DESTINATION PORT #, but different source IP addresses and/or source port numbers will be directed to SAME SOCKET at receiving host.
Connection-Oriented Demultiplexing: What is the 4-tuple that a TCP socket is identified by? - source IP address - source port number - destination IP address - destination port number
What happens when when a TCP segment arrives from the network to a host? the host uses all four values to direct (demultiplex) the segment to the appropriate socket
The server host may support many simultaneous TCP connection sockets. How is this done? - each socket is identified by its own 4-tuple - each socket is associated with a different connecting client
What does demultiplexing use in a UDP connection? demultiplexing using destination port number (only)
What does demultiplexing use in a TCP connection? demultiplexing using 4-tuple: - source IP address - source port number - destination IP address - destination port number
At which layers does multiplexing/demultiplexing take place? Multiplexing/demultiplexing happens at all layers
Why can UDP be referred to as a "no frills" transport protocol? - segments may be lost, delivered out of order to application - best effort service: “send and hope for the best”
Why is UDP said to be connectionless? - there's no setup/ handshaking needed between UDP sender and receiver (no RTT included) - each UDP segment is handled independently of others
Why are some applications better suited for UDP? 1) no connection establishment (which can add RTT delay) 2) simple: no connection state at sender or receiver 3) small header size 4) no congestion control - UDP can blast away as fast as desired! - can function in the face of congestion
Which application-layer protocols use UDP? - streaming multimedia apps (loss tolerant, rate sensitive) - DNS - SNMP - HTTP/3
What should one do if reliable transfer is needed over UDP (like in the case of HTTP/3)? - add needed reliability at application layer - add congestion control at application layer
What are the UDP sender actions? - is passed an application-layer message - determines UDP segment header fields values - creates UDP segment - passes segment to IP
What are the UDP receiver actions? - receives segment from IP - checks header values - extracts application-layer message - demultiplexes message up to application via socket
What is the goal of the UDP checksum? detect if errors (i.e., flipped bits) have been introduced into the segment
Name 2 services that are not available at the transport layer. Services not available: -delay guarantees (there's no guarantee of delays) -bandwidth guarantees
What happens at the sender side of a UDP checksum? - treat contents of UDP segment (including UDP header fields and IP addresses) as sequence of 16-bit integers - CHECKSUM: addition (one’s complement sum) of segment content - checksum value put into UDP checksum field
What happens at the receiver side of a UDP checksum? - compute checksum of received segment - check if computed checksum equals checksum field value: --> not equal - error detected --> equal - no error detected
Name 3 advantages of UDP. - no setup/handshaking needed (no RTT incurred) - can function when network service is compromised - helps with reliability (checksum)
What is an unreliable channel? - data loss during transport - data received with errors - corrupted data during transport - unordered data at the reception - duplicated data
When is reliable data transfer implemented? its to the sender and receiver side protocol that IMPLEMENTS reliable data transfer
Explain the 2-way communication over an unreliable channel. Communication over unreliable channel is TWO-way: sender and receiver will exchange messages back and forth to IMPLEMENT one-way reliable data transfer
There's a sender and a receiver side in an unreliable channel. What does the amount of work to be done depend on? How much work they’ll have to do depends on the IMPAIRMENTS introduced by channel – if the channel is perfect – no problem!
What does the complexity of reliable data transfer protocol depend on? will depend (strongly) on characteristics of unreliable channel (lose, corrupt, reorder data?)
Does the sender and receiver in reliable service implementation know about the state? Sender, receiver do not know the “state” of each other, e.g., was a message received? - unless communicated via a message
List the interfaces in a data transfer protocol., needed to make an unreliable channel reliable. - rtd_send() - rdt_rcv() - udt_send() - deliver_data()
What does rdt_send() do? - called from the application layer - passes data that has been received up to the application layer
What does udt_send() do? - called by rdt to transfer packet over the unreliable channel to the receiver - this interface is in charge of sending the data that was received from the application layer into the channel itself
What does rdt_rcv() do? - called when the packet arrives on the receiving side of the channel
What does deliver_data() do? - called by rdt protocol to deliver data to the application layer
What is the direction of communication over an unreliable channel? bidirectional
Name 4 problems an unreliable communication channel can experience + solutions for it. 1Bit transm errors -checksum 2Packets received with errors -ACKs -NACKs -retrans for errored packets 3Packet loss during transm -timeout used to retransmit packet if no ACK receivd 4Packet duplication -seq no. to avoid duplicates after retrans
What implications do stop-and-wait models have on performance? stop-and-wait models lead to performance degradation
Explain pipelining in a pipelined protocols operation. sender allows multiple "in-flight”, yet-to-be-acknowledged packets - range of sequence numbers must be increased - buffering at sender and/or receiver
Why do we buffer at the sending side when we deliver a packet n pipelining? We need to know which packets have been acknowledged and which have not.
Why do we buffer at the receiving side when we deliver a packet in pipelining? We buffer to know which packets have been received and which have not.
What are the 2 mechanisms that are implemented in a pipelining operation? - go-back-n - selective repeat
Why is pipelining sometimes better? - it provides better performance of your channel (utilization) than the stop-and-wait model - TCP uses a pipelining model with go-back-n protocol
In the Go-Back-N protocol, what is the sender's constraints on transmitting packets? the protocol is constrained to have only up to N consecutively transmitted but unacknowledged packets in the pipeline. - k-bit sequence number is maintained in packet header
Created by: lvnn_s
 

 



Voices

Use these flashcards to help memorize information. Look at the large card and try to recall what is on the other side. Then click the card to flip it. If you knew the answer, click the green Know box. Otherwise, click the red Don't know box.

When you've placed seven or more cards in the Don't know box, click "retry" to try those cards again.

If you've accidentally put the card in the wrong box, just click on the card to take it out of the box.

You can also use your keyboard to move the cards as follows:

If you are logged in to your account, this website will remember which cards you know and don't know so that they are in the same box the next time you log in.

When you need a break, try one of the other activities listed below the flashcards like Matching, Snowman, or Hungry Bug. Although it may feel like you're playing a game, your brain is still making more connections with the information to help you out.

To see how well you know the information, try the Quiz or Test activity.

Pass complete!
"Know" box contains:
Time elapsed:
Retries:
restart all cards