Application Layer Protocol which can be used by 2 peer's to connect to each other and download or upload files from/to each other and support for messaging also using TCP or UDP Services