3: Transport Layer Flashcards
What is the transport layer?
The layer in the layered model responsible for providing an abstraction over end-end communications between applications running on different hosts.
What are logical communications?
Communications abstracted over between two hosts that are not physically connected that can be carried out as if they were physically connected.
What are message segments?
The discrete units that messages are split into before they are passed to the network layer, which provides logical communication between hosts (but not applications on hosts - that is the job of the transport layer).
What is the difference between the network and transport layers?
The network layer provides logical communication between hosts, whereas the transport layer provides logical communication between applications on hosts.
What is the differnece between TCP and UDP?
TCP provides reliable transport, flow control, and congestion control, and is connection-oriented. UDP does not provide any of these features. Neither provides security, timing, or a guarantee of a minimum throughput.
What is multiplexing?
Methods of splitting analogue or digital signals into distinguishable channels that allow for multiple signals to be sent as one over a single shared physical medium.
What is demultiplexing?
When you reverse multiplexing: splitting a single signal combining multiple other signals into the multiple original signals that combined to form it.
What are IP datagrams?
Individual data units sent as part of the IP protocol, that are of a set format of header and payload.
How are message segments directed in TCP?
With IP addresses and port numbers.
What is connectionless demultiplexing?
With UDP, no connection in sockets so you may have multiple sockets at the same IP and port number when you demultiplex an Internet signal at a host.
What is connection-oriented demultiplexing?
With TCP, there are connections in sockets so you have a dedicated pipe between two IP addresses and port numbers. You therefore only get datagrams from one other socket to a socket on a host when demultiplexing TCP signals.
How are TCP sockets uniquely identified?
IP address and port.
What does it mean for UDP to be connectionless?
There is no handshake between the sender and receiver nodes in UDP, and no guarantee of data delivery. The absence of a guaranteed connection means each UDP segment or datagram is handled by itself, independently of all the others.
Why is UDP used?
It removes the overhead from TCP that provides reliability so can be faster for some uses.
What are UDP checksums used for?
To detect errors in transmitted data to ensure its integrity.
What is reliable data transfer?
The concept of providing integrity and certain delivery to data transmission.
How can you implement reliable data transfer over an unreliable channel?
Using handshakes, acknowledgements, sequence numbers, handshakes and ECCs.
How can you recover from channels with bit errors?
Use ECCs to correct them or detect with parity bets and checksums, and request retransmissions with negative acknowledgements.
What are acknowledgements?
Specialised messages specifying that certain other messages and packets were received successfully.
What are negative acknowledgements?
Specialised messages specifying that certain other messages and packets were received unsuccessfully, with errors.
How is reliable data transfer specified with FSMs?
One state waits for a call from elsewhere for data transfer; in the receiver, then just wait for data, then verify with a checksum and send ack/negative ack accordingly. The sender will send the next sequence after the last it gets a positive acknowledgement for, or else backtrack if a negative acknowledgement exists, resending the packet that wasn’t correctly received.
What is rdt?
A specification of how communications protocols can facilitate reliable data control over unreliable links and channels.
What is the flaw of rdt2.0?
It can’t handle corrupted acknowledgements (positive or negative), so sender discards since can’t assume negative: may cause duplicate transmissions. So synchronisation may be lost.
What is the concept of stop and wait?
Sender sending one packet at a time to the receiver, only sending the next one once the receiver responds with an acknowledgement.
How can you handle duplicate transmissions?
Use sequence numbers to ensure you don’t mistakenly process/use the same data twice.
What are sequence numbers?
Unique identifiers added to packets being sent which allow them to be distinguished, facilitating order preservation.