MODULE 9 - CERTIFICATION CYBER OPS ASSOCIATE Flashcards
Transport Layer Characteristics
Role of the Transport Layer Application layer programs generate data that must be exchanged between source and destination hosts.
The transport layer is responsible for logical communications between applications running on different hosts.
This may include services such as establishing a temporary session between two hosts and the reliable transmission of information for an application.
As shown in the figure, the transport layer is the link between the application layer and the lower layers that are responsible for network transmission.
https://snipboard.io/oIS7w5.jpg
The transport layer has no knowledge of the destination host type, the type of media over which the data must travel, the path taken by the data, the congestion on a link, or the size of the network.
The transport layer includes two protocols:
Transmission Control Protocol (TCP)
User Datagram Protocol (UDP)
Transport Layer Responsibilities
The transport layer has many responsibilities.
– Tracking Individual Conversations
– Segmenting Data and Reassembling Segments
– Add Header Information
– Identifying the Applications
– Conversation Multiplexing
Tracking Individual Conversations :
At the transport layer, each set of data flowing between a source application and a destination application is known as a conversation and is tracked separately.
It is the responsibility of the transport layer to maintain and track these multiple conversations. As illustrated in the figure, a host may have multiple applications that are communicating across the network simultaneously.
Most networks have a limitation on the amount of data that can be included in a single packet. Therefore, data must be divided into manageable pieces.
https://snipboard.io/UoPkXh.jpg
Transport Layer Responsibilities
The transport layer has many responsibilities.
– Tracking Individual Conversations
– Segmenting Data and Reassembling Segments
– Add Header Information
– Identifying the Applications
– Conversation Multiplexing
Segmenting Data and Reassembling Segments :
It is the transport layer responsibility to divide the application data into appropriately sized blocks.
Depending on the transport layer protocol used, the transport layer blocks are called either segments or datagrams.
The figure illustrates the transport layer using different blocks for each conversation.
The transport layer divides the data into smaller blocks (i.e., segments or datagrams) that are easier to manage and transport. https://snipboard.io/vfpiGc.jpg
Transport Layer Responsibilities
The transport layer has many responsibilities.
– Tracking Individual Conversations
– Segmenting Data and Reassembling Segments
– Add Header Information
– Identifying the Applications
– Conversation Multiplexing
Add Header Information :
The transport layer protocol also adds header information containing binary data organized into several fields to each block of data.
It is the values in these fields that enable various transport layer protocols to perform different functions in managing data communication.
For instance, the header information is used by the receiving host to reassemble the blocks of data into a complete data stream for the receiving application layer program.
The transport layer ensures that even with multiple application running on a device, all applications receive the correct data.
https://snipboard.io/Vl15si.jpg
Transport Layer Responsibilities
The transport layer has many responsibilities.
– Tracking Individual Conversations
– Segmenting Data and Reassembling Segments
– Add Header Information
– Identifying the Applications
– Conversation Multiplexing
Identifying the Applications :
The transport layer must be able to separate and manage multiple communications with different transport requirement needs.
To pass data streams to the proper applications, the transport layer identifies the target application using an identifier called a port number.
As illustrated in the figure, each software process that needs to access the network is assigned a port number unique to that host.
https://snipboard.io/9ypn8c.jpg
Transport Layer Responsibilities
The transport layer has many responsibilities.
– Tracking Individual Conversations
– Segmenting Data and Reassembling Segments
– Add Header Information
– Identifying the Applications
– Conversation Multiplexing
Conversation Multiplexing :
Sending some types of data (e.g., a streaming video) across a network, as one complete communication stream, can consume all the available bandwidth.
This would prevent other communication conversations from occurring at the same time. It would also make error recovery and retransmission of damaged data difficult.
As shown in the figure, the transport layer uses segmentation and multiplexing to enable different communication conversations to be interleaved on the same network.
Error checking can be performed on the data in the segment, to determine if the segment was altered during transmission.
https://snipboard.io/Gn1rsY.jpg
Transport Layer Protocols IP is concerned only with the structure, addressing, and routing of packets.
IP does not specify how the delivery or transportation of the packets takes place.
Transport layer protocols specify how to transfer messages between hosts, and are responsible for managing reliability requirements of a conversation.
The transport layer includes the TCP and UDP protocols.
Transport layer protocols specify how to transfer messages between hosts, and are responsible for managing reliability requirements of a conversation.
The transport layer includes the TCP and UDP protocols.
Different applications have different transport reliability requirements.
Therefore, TCP/IP provides two transport layer protocols, as shown in the figure.
https://snipboard.io/83OhiG.jpg
Transmission Control Protocol (TCP) IP is concerned only with the structure, addressing, and routing of packets, from original sender to final destination.
IP is not responsible for guaranteeing delivery or determining whether a connection between the sender and receiver needs to be established.
TCP is considered a reliable, full-featured transport layer protocol, which ensures that all of the data arrives at the destination.
TCP includes fields which ensure the delivery of the application data. These fields require additional processing by the sending and receiving hosts.
Note: TCP divides data into segments.
TCP transport is analogous to sending packages that are tracked from source to destination.
If a shipping order is broken up into several packages, a customer can check online to see the order of the delivery.
TCP provides reliability and flow control using these basic operations:
Number and track data segments transmitted to a specific host from a specific application
Acknowledge received data Retransmit any unacknowledged data after a certain amount of time
Sequence data that might arrive in wrong order
Send data at an efficient rate that is acceptable by the receiver
TCP provides reliability and flow control using these basic operations:
Number and track data segments transmitted to a specific host from a specific application
Acknowledge received data
Retransmit any unacknowledged data after a certain amount of time
Sequence data that might arrive in wrong order Send data at an efficient rate that is acceptable by the receiver
In order to maintain the state of a conversation and track the information, TCP must first establish a connection between the sender and the receiver.
This is why TCP is known as a connection-oriented protocol.
TCP Header TCP is a stateful protocol which means it keeps track of the state of the communication session.
To track the state of a session, TCP records which information it has sent and which information has been acknowledged.
The stateful session begins with the session establishment and ends with the session termination.
A TCP segment adds 20 bytes (i.e., 160 bits) of overhead when encapsulating the application layer data.
The figure shows the fields in a TCP header. :
https://snipboard.io/RsBGkn.jpg
TCP Header Fields :
The table identifies and describes the ten fields in a TCP header.
– Source Port
– Destination Port
– Sequence Number
– Acknowledgment Number
– Header Length
– Reserved
– Control bits
– Window size
– Checksum
– Urgent
Source Port :
A 16-bit field used to identify the source application by port number.
TCP Header Fields :
The table identifies and describes the ten fields in a TCP header.
– Source Port
– Destination Port
– Sequence Number
– Acknowledgment Number
– Header Length
– Reserved
– Control bits
– Window size
– Checksum
– Urgent
Destination Port :
A 16-bit field used to identify the destination application by port number.
TCP Header Fields :
The table identifies and describes the ten fields in a TCP header.
– Source Port
– Destination Port
– Sequence Number
– Acknowledgment Number
– Header Length
– Reserved
– Control bits
– Window size
– Checksum
– Urgent
Sequence Number :
A 32-bit field used for data reassembly purposes.
TCP Header Fields :
The table identifies and describes the ten fields in a TCP header.
– Source Port
– Destination Port
– Sequence Number
– Acknowledgment Number
– Header Length
– Reserved
– Control bits
– Window size
– Checksum
– Urgent
Acknowledgment Number :
A 32-bit field used to indicate that data has been received and the next byte expected from the source.
TCP Header Fields :
The table identifies and describes the ten fields in a TCP header.
– Source Port
– Destination Port
– Sequence Number
– Acknowledgment Number
– Header Length
– Reserved
– Control bits
– Window size
– Checksum
– Urgent
Header Length :
A 4-bit field known as ʺdata offsetʺ that indicates the length of the TCP segment header.
TCP Header Fields :
The table identifies and describes the ten fields in a TCP header.
– Source Port
– Destination Port
– Sequence Number
– Acknowledgment Number
– Header Length
– Reserved
– Control bits
– Window size
– Checksum
– Urgent
Reserved :
A 6-bit field that is reserved for future use.
TCP Header Fields :
The table identifies and describes the ten fields in a TCP header.
– Source Port
– Destination Port
– Sequence Number
– Acknowledgment Number
– Header Length
– Reserved
– Control bits
– Window size
– Checksum
– Urgent
Control bits :
A 6-bit field that includes bit codes, or flags, which indicate the purpose and function of the TCP segment.
TCP Header Fields :
The table identifies and describes the ten fields in a TCP header.
– Source Port
– Destination Port
– Sequence Number
– Acknowledgment Number
– Header Length
– Reserved
– Control bits
– Window size
– Checksum
– Urgent
Window size :
A 16-bit field used to indicate the number of bytes that can be accepted at one time.
TCP Header Fields :
The table identifies and describes the ten fields in a TCP header.
– Source Port
– Destination Port
– Sequence Number
– Acknowledgment Number
– Header Length
– Reserved
– Control bits
– Window size
– Checksum
– Urgent
Checksum :
A 16-bit field used for error checking of the segment header and data.
TCP Header Fields :
The table identifies and describes the ten fields in a TCP header.
– Source Port
– Destination Port
– Sequence Number
– Acknowledgment Number
– Header Length
– Reserved
– Control bits
– Window size
– Checksum
– Urgent
Urgent :
A 16-bit field used to indicate if the contained data is urgent.
User Datagram Protocol (UDP) UDP is a simpler transport layer protocol than TCP.
It does not provide reliability and flow control, which means it requires fewer header fields.
Because the sender and the receiver UDP processes do not have to manage reliability and flow control, this means UDP datagrams can be processed faster than TCP segments.
UDP provides the basic functions for delivering datagrams between the appropriate applications, with very little overhead and data checking.
Note: UDP divides data into datagrams that are also referred to as segments.
UDP is a connectionless protocol.
Because UDP does not provide reliability or flow control, it does not require an established connection.
Because UDP does not track information sent or received between the client and server, UDP is also known as a stateless protocol.
Note: UDP divides data into datagrams that are also referred to as segments.
UDP is a connectionless protocol.
Because UDP does not provide reliability or flow control, it does not require an established connection.
Because UDP does not track information sent or received between the client and server, UDP is also known as a stateless protocol.
UDP is also known as a best-effort delivery protocol because there is no acknowledgment that the data is received at the destination.
With UDP, there are no transport layer processes that inform the sender of a successful delivery.
UDP is like placing a regular, nonregistered, letter in the mail.
The sender of the letter is not aware of the availability of the receiver to receive the letter. Nor is the post office responsible for tracking the letter or informing the sender if the letter does not arrive at the final destination.
UDP Header UDP is a stateless protocol, meaning neither the client, nor the server, tracks the state of the communication session.
If reliability is required when using UDP as the transport protocol, it must be handled by the application.
One of the most important requirements for delivering live video and voice over the network is that the data continues to flow quickly.
Live video and voice applications can tolerate some data loss with minimal or no noticeable effect, and are perfectly suited to UDP.
One of the most important requirements for delivering live video and voice over the network is that the data continues to flow quickly.
Live video and voice applications can tolerate some data loss with minimal or no noticeable effect, and are perfectly suited to UDP.
The blocks of communication in UDP are called datagrams, or segments.
These datagrams are sent as best effort by the transport layer protocol.
The UDP header is far simpler than the TCP header because it only has four fields and requires 8 bytes (i.e., 64 bits).
The figure shows the fields in a UDP header.
https://snipboard.io/1Z4pc6.jpg
UDP Header Fields The table identifies and describes the four fields in a UDP header.
– Source Port
– Destination Port
– Length
– Checksum
Source Port :
A 16-bit field used to identify the source application by port number.