http://www.thegeekstuff.com/2012/03/ip-protocol-header/ http://www.thegeekstuff.com/2012/04/ip-routing-intro http://www.thegeekstuff.com/2012/05/docsis-introduction <- CM CMTS Protocol for Cable Modems Show full network path with "-T -p 80" - http://www.catonmat.net/blog/tcp-traceroute/ http://www.thegeekstuff.com/2013/03/dhcp-basics/ http://www.thegeekstuff.com/2013/10/tcp-sliding-window/ There can be racing condition between send() and close() due to the fact that kernal doesn't care about data at network card - http://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable http://www.cliffc.org/blog/2013/08/15/tcp-is-unreliable/ http://javarevisited.blogspot.hk/2014/07/9-difference-between-tcp-and-udp-protocol.html http://javarevisited.blogspot.com.au/2014/08/socket-programming-networking-interview-questions-answers-Java.html http://openmymind.net/How-Unreliable-Is-UDP/ <- Look like it is indeed pretty reliable, the problem is the ordering Interview of easydns founder - https://luxsci.com/blog/interview-with-mark-jeftovic-ceo-of-easydns.html Setup of keepalive TCP - http://stackoverflow.com/questions/1480236/does-a-tcp-socket-connection-have-a-keep-alive https://blog.cloudflare.com/http-3-from-root-to-tip/ https://www.inside.com.tw/article/16980-5G-definition Computer Networking Tutorial – How Network Applications Talk Over the Internet - https://www.freecodecamp.org/news/computer-networking-how-applications-talk-over-the-internet/