Introduction to Networks - Chapter 7
Unreliable Delivery
*Elements of UDP* Any segments lost are not resent
No Ordered Data Reconstruction
*Elements of UDP* Data is reconstructed in the order that it is received (Lag in video games)
No Flow Control
*Elements of UDP* No congestion management
Connectionless
*Elements of UDP* No session established
Same Order Delivery
*Provisions of TCP* Ensures that the segment are reassembled into the proper order
Establishing a Session
*Provisions of TCP* Ensures the application is ready to receive the data
Flow Control
*Provisions of TCP* Manages data delivery is there is congestion on the host
Reliable Delivery
*Provisions of TCP* means lost segments are resent so the data is received complete
Randomly
*Source port* numbers are generated ______ by the sending device to ID a conversation b/w 2 devices. Allowing multiple conversations to occur simultaneously. (Ex. A device can send multiple HTTP service requests o a web server at the same time that it offers FTP connection establishment on port 21.)
ACK
*TCP Segment Header Fields* Acknowledgement Field Significant
FIN
*TCP Segment Header Fields* No More Data From Sender
PSH
*TCP Segment Header Fields* Push Function
RST
*TCP Segment Header Fields* Reset the Connection
SYN
*TCP Segment Header Fields* Synchronize Sequence Numbers
Types of Applications suited for UDP
-Apps that can tolerate some data loss but require little or no delay -Apps with simple request and reply transactions -Unidirectional communications, where reliability is not required or can be handled by the app
TCP Session Termination
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
Netstat Command Output
A - Protocol Used B - Source Port C - Address of Name of Remote Host D - Destination Port E - Connection State
Transmission Control Protocol (TCP)
A Layer 4 protocol of the TCP/IP model, TCP lets applications guarantee delivery of data across a network. 3 basic options of reliability: -Tracking transmitted data segments -Acknowledging received data -Re-transmitting any unacknowledged data
reliable
A characteristic of a protocol that uses mechanisms such as handshaking, timers, acknowledgement messages, and dynamic windowing to help ensure that data received is the same as the data received. Reliable protocols require additional overhead on the network in terms of much larger segment headers.
User Datagram Protocol (UDP)
A connectionless transport layer protocol in the TCP/IP protocol stack. UDP is a simple protocol that exchanges datagrams without acknowledgements or guaranteed delivery, requiring that error processing and retransmission be handled.
socket
A logical communications end point within a network device. A socket is typically represented by a Layer 3 address and Layer 4 port number.
multiplexing
A process where multiple digital data streams are combined into one signal.
session
A related set of communications transactions between two or more network devices.
excpectational acknowledgement
Acknowledgement used by TCP where the ACK number is sent back to the source to indicate the next byte that the receiver expects to receive.
window size
As filed in the TCP header that is set in a sent segment, signifies the maximum amount of unacknowledged data the host is willing to receive before the other sending host must wait for an acknowledgement. Used for flow control.
header
Control information added before data during the encapsulation for network transmission.
best-effort delivery
Describes a network system that does not use a sophisticated acknowledgement system to guarantee reliable delivery of information.
1. Default 2. Services 3. Transport
Each app process running on the server is configured to use a port number, either by _____ or manually. An individual server cannot have two ______ assigned to the same port number within the same ______ layer services.
Conversation
Each particular set of data flowing between a source application and a destination application.
port
In networking, this term is used in several ways. With Ethernet hub and switch hardware, port is simply another name for interface, which is a physical connector in switch into which a cable can be connected. With TCP and UDP, a port is a software function that uniquely identifies a software process on a computer that uses TCP and UDP. With PCs, a port can be a physical connector on the PC, like a parallel or USB port.
sequence number
Information placed in a data header to ensure correct sequencing of the arriving data.
Dynamic or Private Ports (49152-65535)
Known as ephemeral ports, these are usually assigned dynamically to client applications when the client initiates a connection to a service. The dynamic port is most often used to identify the client application during communication, whereas the client uses the well-known port to ID and connect to the service being requested on the server. Uncommon for client to connect to a service using a dynamic or private port. -sometimes used by peer-to-peer file sharing service
datagram
Logical grouping of information sent as a network layer unit over a transmission medium without prior establishment of a virtual circuit. IP datagrams are the primary information units in the Internet. The terms frame, message, packet, and segment are also called datagrams. See also Protocol Data Unit (PDU).
selective acknowledgement (SACK)
Optional TCP feature that makes it possible for the destination to acknowledge bytes in discontinuous segments. With SACK, the source host would only need to retransmit the specific unacknowledged data rather than retransmitting all data since the last acknowledged data.
initial sequence number (ISN)
Randomly chosen number and is used to begin tracking the flow of data from the client to the server for this session. 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.
Well known Ports (Numbers 0-1023)
Reserved for services and applications such as HTTP (Web Server), Internet Message Access Protocol, SMTP, and Telnet.
Role of the Transport Layer
Responsible for establishing a temporary communication session between two applications and delivering data between them. An *application* generates data that is sent from an appl on a source host to an app on a destination host, w/o regard to the destination host type, the media of travel, and path taken. -the link b.w the application layer and the lower layers that are responsible for network transmission -provides a method of delivering data across networks that ensures it can be put back together.
connection-oriented
Term used to describe data transfer that requires the establishment of a virtual circuit.
three-way handshake
The process used by TCP to establish a session.
Registered Ports (Numbers 1023-49151)
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 number
stateful
Tracking of actual conversations and their state of the communication session for a protocol, such as TCP.
Protocols at the Transport Layer
describe how the transport layer header information is used to reassemble the data pieces into streams to be passed to the application layer.
URG
*TCP Segment Header Fields* Urgent Pointer Field Significant
Key App Layer Protocols that use UDP
-Domain Name System (DNS) -Simple Network Management Protocol (SNMP) -Dynamic Host Configuration Protocol (DHCP) -Routing Information Protocol (RIP) -Trivial File Transfer Protocol (TFTP) -IP Telephony or Voice Over IP (VoIP) -Online Games
Transport Layer Functions (General)
-Enables multiple applications such as email and social networking to communicate over the network at the same time on a single device. -Ensures that, if required, all the data is received reliably and in order by the correct application. -Employs error-handling mechanisms
Key Apps that use TCP
-Hypertext Transfer Protocol (HTTP) -File Transfer Protocol (FTP) -Simple Mail Transfer Protocol (SMTP) -Telnet
Primary Responsibilities of the Transport Layer
-Tracking the individual communication b/w applications on the source and destination hosts -Segmenting data for manageability and reassembling segmented data into streams of application data at the destination. -Identifying the proper application for each communication stream -Managing reliability requirements of a conversation