SEMESTER 1 Chapter 4
OSI Transport Layer

V 4.0

4.1.1 / What are the 4 primary responsibilities of the Transport Layer? / Tracking the individual communication between applications on the source and destination hosts
Segmenting data and managing each piece
Reassembling the segments into streams of application data
Identifying the different applications
4.1.1.3 / What does the Transport Layer header provide? / Identifies the segment of data and provides for identification of the Transport Layer Protocol to use
4.1.2 / Describe the process of segmentation and reassembly? / divides application data into blocks of data that are an appropriate size
reassembles the data before sending it to the destination application or service
How does the Transport Layer accomplish conversation multiplexing? / Each of these applications or services is assigned an address known as a port so that the Transport layer can determine with which application or service the data is identified.
What are the four additional duties the Transport Layer can provide? / Connection-oriented conversations
Reliable delivery
Ordered data reconstruction
Flow control
4.1.2.2 / What are the four processes that the Transport Layer uses to control conversations? / Establishing a Session
Reliable Delivery
Same Order Delivery
Flow Control
4.1.3 / What does reliability mean to a network? / ensuring that each piece of data that the source sends arrives at the destination.
What are the three basic operations of reliability at the transport layer? / tracking transmitted data
acknowledging received data
retransmitting any unacknowledged data
What trade-off is necessary to ensure reliability? / value of reliability and the burden it places on the network
How is a best-effort protocol different than a reliable protocol? / there is no acknowledgement that the data is received at the destination.
What is another term used to describe a best-effort protocol? / unreliable
List some examples of applications that require reliable transmission. / databases, web pages, and e-mail
Give an example of an application that can use unreliable transmission. / Streaming video
Know the information in the diagram that lists the differences between unreliable and reliable transmissions.
4.1.4 / What are the two most common protocols at the Transport Layer? / Transmission Control Protocol (TCP) and
User Datagram Protocol (UDP)
What is the advantage of using UDP? / Speed
What are the pieces of UDP information called? / Datagram
What are some applications that use UDP? / Applications that use UDP include:
Domain Name System (DNS)
Video Streaming
Voice over IP (VoIP)
What are the 3 additional functions that TCP offers? / same order delivery, reliable delivery, and flow control.
How much overhead is required to offer the 3 functions of TCP? / 20 bytes
What are the pieces of TCP information called? / segments
What are some applications that use TCP? / Applications that use TCP are:
Web Browsers
E-mail
File Transfers
4.1.5.1 / What are the unique identifiers that define the conversations called? / Port numbers
In the originating message what is the source port? / number for this communication associated with the originating application on the local host
In the originating message what is the destination port? / the number for this communication associated with the destination application on the remote host
How do server processes have port numbers assigned? / Statically
How do clients have port numbers assigned? / dynamically
What is another term sometimes used instead of port number? / Socket number
For this course, what does a socket pair describe? / the source and destination IP addresses and port numbers, is also unique and identifies the conversation between the two hosts
4.1.5.2 / What organization is responsible for assigning port numbers? / IANA Internet Assigned Numbers Authority
What is the range of Well Known Ports? / 0 to 1023
What are well known ports? / reserved for services and applications.
What is the range of Registered Ports? / 1024 to 49151
What are registered ports? / These port numbers are assigned to user processes or applications. These processes are primarily individual applications that a user has chosen to install rather than common applications that would receive a Well Known Port. When not used for a server resource, these ports may also be used dynamically selected by a client as its source port.
What is the range for Dynamic or PrivatePorts? / 49152 to 65535
What are dynamic or private ports? / Also known as Ephemeral Ports, these are usually assigned dynamically to client applications when initiating a connection. It is not very common for a client to connect to a service using a Dynamic or Private Port (although some peer-to-peer file sharing programs do).
Is it possible for a port number to be used by both TCP and UDP? / yes
4.1.5.3 / What is the utility that can be used to view open connections? / Netstat
4.1.6.1 / What are the two reasons data is divided into pieces before it is sent? / ensures that data is transmitted within the limits of the media and that data from different applications can be multiplexed on to the media.
What is provided in a UDP header? / Port Numbers
What is provided in a TCP header? / Port, sequence, acknowledgement, and flow control numbers
In which protocol do segments arrive in an unspecified order? / UDP
4.1.6.2 / Packet Tracer Activity.
Please pay close attention to Task 2 and examine the information about the packets- it will help on the test
4.2.1 / What makes TCP a reliable protocol? / connection-oriented sessions
What do acknowledgements do? / Let the sender know you received the data
What happens if the acknowledgment does not arrive in the predetermined time? / it retransmits that data to the destination
What is the additional overhead created in the hosts by using TCP? / the necessity to keep track of which segments are awaiting acknowledgement and by the retransmission process.
Make certain you roll over each piece of the diagram.
4.2.2 / Which device initiates the communication process? / Client
What can never happen in two server conversations? / two services assigned to the same port number within the same Transport layer services.
The diagram does a very good job at showing the process of port assignment
4.2.3 / Describe the steps in establishing a three way handshake. / Establishes that the destination device is present on the network
Verifies that the destination device has an active service and is accepting requests on the destination port number that the initiating client intends to use for the session
Informs the destination device that the source client intends to establish a communication session on that port number
What are the three steps in TCP connection establishment? / 1. The initiating client sends a segment containing an initial sequence value, which serves as a request to the server to begin a communications session.
2. The server responds with a segment containing an acknowledgement value equal to the received sequence value plus 1, plus its own synchronizing sequence value. The value is one greater than the sequence number because there is no data contained to be acknowledged. This acknowledgement value enables the client to tie the response back to the original segment that it sent to the server.
3. Initiating client responds with an acknowledgement value equal to the sequence value it received plus one. This completes the process of establishing the connection.
What are the six control bit fields possible and what do they mean? / URG - Urgent pointer field significant
ACK - Acknowledgement field significant
PSH - Push function
RST - Reset the connection
SYN - Synchronize sequence numbers
FIN- No more data from sender
4.2.4 / What is the Initial Sequence Number (ISN)? / The initial value for the sequence number is randomly chosen and is used to begin tracking the flow of data from the client to the server for this session
What happens to the ISN as packets are sent? / The ISN in the header of each segment is increased by one for each byte of data sent from the client to the server as the data conversation continues.
4.2.4.2 / What is sent back to the client in step 2? / the server sends a segment back to the client with the ACK flag set indicating that the Acknowledgment number is significant
What is the value of the acknowledgement number field? / equal to the client initial sequence number plus 1
Explain what is meant by 2 one-way sessions exist in TCP? / one from the client to the server, and the other from the server to the client
4.2.4.3 / What is the final step in the three-way hand shake? / The client responds with both the sequence and acknowledgement bit set and no data
What are 3 ways in which security can be added? / Denying the establishment of TCP sessions
Only allowing sessions to be established for specific services
Only allowing traffic as a part of already established sessions.
4.2.5 / What must be sent to close a TCP session? / FIN finish control flag
What are the 4 exchanges needed to close a TCP conversation? / 1. When the client has no more data to send in the stream, it sends a segment with the FIN flag set.
2. The server sends an ACK to acknowledge the receipt of the FIN to terminate the session from client to server.
3. The server sends a FIN to the client, to terminate the server to client session.
4. The client responds with an ACK to acknowledge the FIN from the server.
4.2.5.2 / Packet Tracer Lab to better understand the process of TCP
4.3.1 / How does TCP reassemble packets into the original data file? / Sequence numbers are assigned in the header of each packet to achieve this goal
How are sequence numbers incremented? / the sequence number is incremented by the number of bytes that have been transmitted
What does the receiving process do with the TCP segment? / The receiving TCP process places the data from a segment into a receiving buffer.
Where do the reassemble segments go? / To the Application Layer
What happens when all the segments do not arrive? / Any segments that arrive with noncontiguous sequence numbers are held for later processing.
4.3.2 / What is the relationship between sequence and acknowledgement numbers work? / The sequence number indicates the relative number of bytes that have been transmitted in this session including the bytes in the current segment. TCP uses the acknowledgement number in segments sent back to the source to indicate the next byte in this session that the receiver expects to receive
What is the process TCP uses with sequence and acknowledgement numbers called? / Expectational acknowledgement
What does TCP do to overcome the overhead of waiting for acknowledgements? / multiple segments of data can be sent before and acknowledged with a single TCP message in the opposite direction
What is the name for the amount of data that can be sent before an acknowledgement is received called? / Window size
4.3.3 / How does TCP handle missing segments? / When TCP at the source host has not received an acknowledgement after a predetermined amount of time, it will go back to the last acknowledgement number that it received and retransmit data from that point forward.
What do hosts implement today to improve the TCP process? / If both hosts support Selective Acknowledgements, it is possible for the destination to acknowledge bytes in discontinuous segments and the host would only need to retransmit the missing data.
4.3.4.1 / How does flow control assist the reliability of TCP transmissions? / by adjusting the effective rate of data flow between the two services in the session. When the source is informed that the specified amount of data in the segments is received, it can continue sending more data for this session.
What does window size specify? / the amount of data that can be transmitted before an acknowledgement must be received
How does TCP use window size to improve communication? / TCP feedback mechanism adjusts the effective rate of data transmission to the maximum flow that the network and destination device can support without loss. TCP attempts to manage the rate of transmission so that all data will be received and retransmissions will be minimized.
4.3.4.2 / What happens to window size when network resources are constrained? / TCP can reduce the window size to require that received segments be acknowledged more frequently
What happens after periods of transmission with no data losses or constrained resources? / the receiver will begin to increase the window field
What do you think occurs with window size on the school network when a major update occurs district wide? (smaller, larger) / The window size would get smaller
4.4.1 / According to the first 2 paragraphs, what is the major advantage of using UDP? / Lower overhead
What are the key Application layer protocols that use UDP includes? / Domain Name System (DNS)
Simple Network Management Protocol (SNMP)
Dynamic Host Configuration Protocol (DHCP)
Routing Information Protocol (RIP)
Trivial File Transfer Protocol (TFTP)
Online games
Why do the processes above use UDP? / The low overhead of UDP makes it very desirable for such applications
4.4.2 / What is UDP also referred to as? / Transaction based
How are segments put back in order if the application requires a specific order? / the application will have to identify the proper sequence of the data and determine how the data should be processed
4.4.3 / How are TCP and UDP similar? / They both use port numbers
4.4.4 / Note: This is essentially the same as TCP so it is very testable. Understand how port numbers are assigned.
What happens to port numbers in a response from the server? / the source and destination port numbers in the datagram header are reversed
4.4.2 / Packet Tracer Activity- look at each packet and gain an understanding of what UDP is sending and receiving.

* The 2 common transport layer protocols and their features?

–User Datagram Protocol (UDP)

–UDP is a connectionless protocol, described in RFC 768.

–It providing for low overhead data delivery.

–The pieces of communication in UDP are called datagrams.

–each UDP segment only has 8 bytes of overhead.

–These datagrams are sent as "best effort".

–Applications that use UDP include:

•Domain Name System (DNS)

•Video Streaming

•Voice over IP (VoIP)

–delays would be more detrimental to the application than small data losses.

–Transmission Control Protocol (TCP)

–TCP is a connection-oriented protocol, described in RFC 793.

–TCP incurs additional overhead to gain functions.

–Additional functions specified by TCP are the same order delivery, reliable delivery, and flow control.

–Each TCP segment has 20 bytes of overhead in the header encapsulating the Application layer data,

–Applications that use TCP are:

•Web Browsers

•E-mail

•File Transfers

–When services send data using TCP, segments may arrive at their destination out of order.

–For the original message to be understood by the recipient, and reassembled into the original order, sequence numbers are assigned in the header of each packet.

* What is the purpose of OSI transport layer?

–Segmentation and Reassembly

–Conversation Multiplexing

–Connection-oriented conversations

–Reliable delivery

–Ordered data reconstruction

–Flow control

* What can you tell from the following output? TCP? UDP? Application?

(Find an old picture of TCP vs. UDP)

* There are some fields are unique for TCP and some fields are unique for UDP. Therefore, you are expected to identify whether a segment is a TCP segment or a UDP segment?

–In TCP, each segment header contains a sequence number. This sequence number allows the Transport layer functions on the destination host to reassemble segments in the order in which they were transmitted.

–In UDP header, there is no sequence number. UDP is a simpler design and generates less overhead than TCP, resulting in a faster transfer of data.

–The reliability of TCP communication is performed using connection-oriented sessions. (3 way handshake)

–TCP also provides mechanisms for flow control.

–The TCP services on the destination host acknowledge the data that it has received to the source application.

* What are the fields that exist in both TCP and UDP segments?

  • In the header of each segment or datagram, there is a source and destination port.
  • The source port number is the number for this communication associated with the originating application on the local host.
  • The destination port number is the number for this communication associated with the destination application on the remote host.

* You need to memorize some of the popular port numbers and the application associated with those ports:

- Port 23

- Port 53

- Port 80

- Port 110

- Port 443

* You should know the interaction between the source port and destination port and the acknowledge number for out-going segment and the same fields of the returning segment.

- The source port becomes the destination port.

- The destination port becomes the source port.

- Acknowledge number increment by the size of bytes received by the destination.

* You are expected to know and memorize the number of 3 distinct of IANA assigned port number groups:

1. Well Known Ports (Numbers 0 to 1023)

  • These numbers are reserved for services and applications.

2. Registered Ports (Numbers 1024 to 49151)

  • When not used for a server resource, these ports may also be used dynamically selected by a client as its source port.

3. Dynamic or Private Ports (Numbers 49152 to 65535)