2.2 Architecture Flashcards
What is the purpose of the transport layer?
it ensures data segments are reliably delivered within the context of client-server sessions
What are the key functionalities of the transport layer?
- Reliable and ordered delivery, 2. Multiplexing of conversations between hosts, and 3. flow/congestion control.
IP focuses on Network Controller Interfaces. What does TCP focus on?
Processes.
How do processes relate to ports?
Processes own ports, and initiate connection only in their ports.
Is a socket unique across the Internet? [T/F]
T.
Explain the concept of multiplexing.
When two hosts can have multiple simultaneous conversations.
Explain how ports allow for multiplexing.
TCP divides the communications a host can be involved with into ports. This allows two hosts to perform several simultaneous communications without getting data confused.
How is a port identified.
A port is identified by a number, used in each message between hosts. Port identities the communication the message belongs to.
What is a socket.
A socket is a combination of an IP address and a port.
Is the concept of a socket part of TCP specification? [T/F]
T.
Is the assignment of sockets to services part of TCP specification? [T/F]
F.
Give the name of the organisation that maintains the list of assigned ports.
Internet Assigned Numbers Authority (IANA).
Service names are assigned on a first-come, first-served process, as documented in rfc6335.
What is the mandatory size of a TCP segment header.
20 bytes.
What is the size of a port in the TCP segment header?
16 bits, 2 bytes. Value between 0-65535.
How does a TCP message header allow for unique identification of a session between two sockets.
TCP header includes the source and destination ports, while the source and destination host addresses can be found in the IP header.
What is a TCP session.
Before being able to send data, hosts need to establish a connection, referred to as TCP session, with a recipient host.
Can data be sent without an established session?
Data can only be sent during an established session.
What are the phases of establishing a session?
Session “set up” phase –> data transmission –> session “tear down” phase.
Do other protocols utilise the concept of sessions or is it only a TCP connection?
Yes. A TCP connection is one kind of session. Many other protocols utilise sessions.
Explain how a TCP session benefits communicating hosts.
Within a TCP session, communicating hosts will ensure reliability of delivery and will manage flow control.
Explain briefly the client/server model. What is a server? What is a client?
Server: A host that is ready to accept communication on one or more ports.
Client: A host that communicates with a server.
Two hosts can potentially be both client and server in two separate connections.
What does the TCP protocol define?
TCP protocol defines a finite state machine specifying the lifecycle of a session.
How many phases are involved in the TCP protocol?
Give the phases involved.
2 phases.
- Connection/session setup phase
- Connection/session tear-down phase.
The TCP session set up phase is initiated by the server. [T/F]
F.
The TCP session set up phase is initiated by the client. [T/F]
T.
Define the four steps that a TCP session set up phase consists of?
- Client Synchronise (SYN)
- Server acknowledges synchronise (SYN ACK)
- Client acknowledges acknowledgement (ACK)
- Connection is setup and can be used for transmitting data
Define the four steps that a TCP session tear down phase consists of?
- Client sends finalize (FIN)
- Server acknowledges finalise (FIN + ACK)
- Client acknowledges acknowledgement (ACK)
- Tear-down connection
The tear-down phase can be initated by the client or the server. [T/F]
T.
What do acknowledgement messages contain?
Acknowledgement messages contain a sequence number indicating the next byte the sender of the acknowledgement is ready to receive.
Why is there a requirement for the sender to increase its sequence number in their acknowledgment message?
Each message in a TCP communication expects an acknowledgement to be sent.
What is the sequence number for the sender?
For the sender, the sequence number indicates the first byte of the message being sent.