I understand that the blocks are transferred between various nodes using HDFS protocol. I believe, even the job classes are distributed as files using the same HDFS protocol.
Is this protocol written over TCP/IP from scratch or this is a protocol that works on top of some other protocol like HTTP, etc.?