Just a quick post today. This is not necessarily a software issue, but I did come across it the other day whilst trying out the latest version of Backup Exec. Admittedly, it was my fault the restore window was freezing.
What I was doing was testing out various restores of backup jobs that had been done on two different types of devices – one device being a standard B2D (Backup to Disk) and one device being the newer Deduplication type device. I had previously removed the Deduplication device and deleted the Deduplication storage folder on the Backup Exec Media server, so every time I chose to restore from a backup set that was previously done on the deduplication storage the restore window would freeze, and I would have to kill the BE GUI.
After this happened a few times to me I realised that I was trying to reference a job done on deduplication storage, which I had previously deleted. Duh! So just in case you come across a hanging devices tab when trying to restore, check that it is not trying to reference a device that has previously been removed. Ideally, the software would have handled this problem and displayed an error to the effect of “Device not found” instead of freezing the entire GUI and leaving the CPU stuck on 100% utilisation each time it happened.
So today I was asked a question about TCP/IP. Specifically, about how a TCP connection is established. Networking is something I definitely do not spend enough time on (and have I have never really gone into the nitty gritty as to how it works either). I understand all the basics and what I need to get around for my job, as well as some more advanced or bespoke bits that I have learnt / done on the fly as and when required, but think that I do need to learn more about how the underlying technology works.
As a start to this, I am writing this quick post to answer this question. (See first line of this post). I did know that some kind of handshake needed to be done to establish the initial connection (that part is obvious), but the specific answer is quoted below (source: Wikipedia).
Question: How is a TCP connection first established?
To establish a connection, TCP uses a three-way handshake. Before a client attempts to connect with a server, the server must first bind to a port to open it up for connections: this is called a passive open. Once the passive open is established, a client may initiate an active open. To establish a connection, the three-way (or 3-step) handshake occurs:
The active open is performed by the client sending a SYN to the server. It sets the segment’s sequence number to a random value A.
In response, the server replies with a SYN-ACK. The acknowledgment number is set to one more than the received sequence number (A + 1), and the sequence number that the server chooses for the packet is another random number, B.
Finally, the client sends an ACK back to the server. The sequence number is set to the received acknowledgement value i.e. A + 1, and the acknowledgement number is set to one more than the received sequence number i.e. B + 1.
At this point, both the client and server have received an acknowledgment of the connection.
I have got a Cisco for beginners book sitting on the bookshelf here, so I think as soon as my current personal projects and VCP training are finished, I’ll get back to reading that! I also hope to post more on Networking in the future as I come to terms with the fundamentals.