1. calculate the checksum using 1’s complement addition for the following stream of bits. Use a 4-bit grouping instead of the standard 16-bit grouping, i.e., add the following 4-bit quantities using 1’s complement:
Bit-stream in binary: 0101 0011 0101 1010 0110
2.Describe at a high-level how TCP implements flow control between the sender and receiver. That is, what is used to keep the data flowing at a rate that both the sender and receive can manage?
3.4500 bytes of data are being transferred over a TCP connection. The first byte is numbered 7400. What are the sequence numbers for each segment if data is sent in 4 segments with the first 3 segments carrying 1200 bytes and the last segment carrying 900 bytes – to answer this you may fill out the following table?
1010 1100 1010 0101 1001
- TCP is the protocol that guarantees we can have a reliable communication channel over an unreliable network. When we send data from a node to another, packets can be lost, they can arrive out of order, the network can be congested or the receiver node can be overloaded. When we are writing an application, though, we usually don’t need to deal with this complexity, we just write some data to a socket and TCP makes sure the packets are delivered correctly to the receiver node. Another important service that TCP provides is what is called Flow Control.
- Flow Control basically means that TCP will ensure that a sender is not overwhelming a receiver by sending packets faster than it can consume. It’s pretty similar to what’s normally called Back pressure in the Distributed Systems literature. The idea is that a node receiving data will send some kind of feedback to the node sending the data to let it know about its current condition.
- It’s important to understand that this is not the same as Congestion Control. Although there’s some overlap between the mechanisms TCP uses to provide both services, they are distinct features. Congestion control is about preventing a node from overwhelming the network (i.e. the links between two nodes), while Flow Control is about the end-node.
- The sender application writes data to a socket, the transport layer (in our case, TCP) will wrap this data in a segment and hand it to the network layer (e.g. IP), that will somehow route this packet to the receiving node.
- On the other side of this communication, the network layer will deliver this piece of data to TCP, that will make it available to the receiver application as an exact copy of the data sent, meaning if will not deliver packets out of order, and will wait for a retransmission in case it notices a gap in the byte stream.
Segment # Sequence Number Byte-Range
Segment 1 (1200) ➔ ____7400 ( __7400 to _8599_______ )
Segment 2 (1200) ➔ _______8600__ ( ______8600__ to ____9799____ )
Segment 3 (1200) ➔ ________9800_ ( _______9800_ to __10999______ )
Segment 4 (900) ➔ _____11000____ ( ____11000____ to _11900_______ )
Looking for Computer Science Assignment Help. Whatsapp us at +16469488918 or chat with our chat representative showing on lower right corner or order from here. You can also take help from our Live Assignment helper for any exam or live assignment related assistance.