Definitions Flashcards
TCP
TRANSMISSION Control Protocol.
–When an application invokes TCP as it’s transport protocol, it will receive connection oriented, reliable data transfer, and congestion-control services.
Connection-oriented service
- -TCP has the client and server exchange transport-layer information, before exchanging messages on the application layer. This is done via a “handshake” that make both alert and ready for the exchange of packets.
- -After the handshaking phase is complete, there is now a TCP connection between both sockets, of the two processes.
- -This connection is a FULL-DUPLEX connection, meaning that messages can be sent between the sockets SIMULTANEOUSLY.
- -When the application finishes sending messages, it will “tear down” the TCP connection.
Reliable data transfer service
- -This TCP service guarantees that all packets are sent with no error, and in the proper order.
- -When an application sends a stream of bytes into a socket, it can count of TCP to deliver that stream of bytes to the receiving socket with not lost or duplicate packets.
Congestion-control mechanism
- -This TCP mechanism throttles the client or server sending process, when the network is congested between the sender and receiver.
- -It was attempts to limit the bandwidth of TCP connections for fair share with the network.
- -This is primarily for the benefit of the entire internet, as opposed to the process invoking TCP.
UDP
User Datagram Protocol
- -UDP is a no-frills, lightweight protocol.
- -It is connectionless, so there is no handshake before the process start to communicate. – It offers unreliable data transfer, so packets may be lost, or arrive out of order.
- -There is no congestion control, so the application layer process can pump out bytes at any rate it wants, but they will still be affected by network congestion.
Keep-Alive
- -This means that the TCP connection is persistent, and multiple HTTP requests/responses (objects) can be sent/received on a single TCP connection, before the connection’s specified time-out time runs out.
- -To be persistent, the Keep-Alive header must be included: connection: keep-alive
Application Layer
This is the layer that network application and their network protocols reside.
- -The internet has many network protocols. Mainly HTTP (hypertext transfer protocol, web document request and transfer), SMTP (simple mail transfer protocol, transfer email messages), and FTP (file transfer protocol, transfer files between two end systems)
- -DNS (domain name system) is also an application layer protocol.
- -Application-layer protocols are used to exchange packets from one end system application, to another end system application.
- -Packets on the application layer are referred to as “messages”
Transport Layer
The Internet’s transport layer transports application-layer messages between application end points.
- -There are two transport protocols: TCP (TRANSMISSION control protocol) and UDP (user datagram protocol).
- -The transport layer receives a message (packet) from the application layer, and encapsulates it with a transport protocol. This is called a “segment”.
Network Layer
The internet’s network layer also known as the IP layer is responsible for moving network layer packets from one host to another.
–The Network layer receives a segment (packet) from the transport layer and encapsulates it with the IP (internet protocol) protocol, adding a destination IP address to the header, this is called a “datagram”.
Link Layer
Link layer services are used to move a datagram from one node (host or router) to the next node in the route.
- -At each node in the route, the link layer is removed so the datagram can be inspected for address etc.. and then re-encapsulated by the current node’s link layer, to be moved to the next node and so forth.
- -A datagram encapsulated by a link layer protocol is called a “frame”.
- -Different links employ different link layer protocols, such as Ethernet, WiFi and cable access network’s DOCSIS, so datagrams may be handle by multiple link layer protocols.
Physical Layer
The physical-layer is responsible for moving the individual bits within a link-layer frame.
- -This layer is link-type dependent, and further depends on the actual physical transmission medium of the link.
- -Ethernet has many physical-layer protocols, such as twisted-pair copper wire, coaxial cable, fiber-optic etc.
Multiplexing
Transport layer multiplexing gathers data from multiple sockets into segments and adds a transport header (used for demultiplexing).
-ex: One family member collects mail from all other family members and brings mail to a collection point.
Demultiplexing
Transport layer demultiplexing is when the receiver delivers segments to the correct sockets using header info.
-ex: A family member receives mail and distributes it to the correct family members.
TCP sequence numbers
The sequence number is the BYTE number for the next available byte able to be sent from the stream. “Usable, not yet sent”.
-The sequence number of a segment, is the byte-stream number of the FIRST byte in that segment.
TCP acknowledgement number
- Acknowledgement number, is the number of the next byte expected to be sent from other side.
- “I have received all previous bytes, and am ready to receive starting from byte X”
- TCP only acknowledges bytes up to the first missing byte in the stream. This is called cumulative acknowledgments.
- ex: Host A and Host B are connected by TCP (which is full duplex):
- -Host A and Host B will be sending and receiving data from each other simultaneously.
- -Each segment that arrives at Host A from Host B, has a sequence number.
- -The ACK number that Host A puts in it’s segment (to send back to Host B) is the sequence number of of the NEXT byte Host A is expecting from Host B.