Understanding the TCP header and its various flags